/** * * SmartEarth WebSDK - https://websdk.terra-it.cn * Version 3.2.5-2-Alpha * **/ var yat=Object.create;var Aoe=Object.defineProperty;var vat=Object.getOwnPropertyDescriptor;var _at=Object.getOwnPropertyNames;var Bat=Object.getPrototypeOf,wat=Object.prototype.hasOwnProperty;var Ey=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(A,f)=>(typeof require<"u"?require:A)[f]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+o+'" is not supported')});var bat=(o,A)=>()=>(A||o((A={exports:{}}).exports,A),A.exports),QSe=(o,A)=>{for(var f in A)Aoe(o,f,{get:A[f],enumerable:!0})},Qat=(o,A,f,m)=>{if(A&&typeof A=="object"||typeof A=="function")for(let C of _at(A))!wat.call(o,C)&&C!==f&&Aoe(o,C,{get:()=>A[C],enumerable:!(m=vat(A,C))||m.enumerable});return o};var Sat=(o,A,f)=>(f=o!=null?yat(Bat(o)):{},Qat(A||!o||!o.__esModule?Aoe(f,"default",{value:o,enumerable:!0}):f,o));var xet=bat((Iet,are)=>{(function(o,A,f){typeof are<"u"&&are.exports?are.exports=f():typeof define=="function"&&define.amd?define(f):A[o]=f()})("h337",Iet,function(){var o={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},A=function(){var y=function(Q){this._coordinator={},this._data=[],this._radi=[],this._min=10,this._max=1,this._xField=Q.xField||Q.defaultXField,this._yField=Q.yField||Q.defaultYField,this._valueField=Q.valueField||Q.defaultValueField,Q.radius&&(this._cfgRadius=Q.radius)},v=o.defaultRadius;return y.prototype={_organiseData:function(w,Q){var M=w[this._xField],B=w[this._yField],D=this._radi,S=this._data,P=this._max,R=this._min,T=w[this._valueField]||1,L=w.radius||this._cfgRadius||v;S[M]||(S[M]=[],D[M]=[]),S[M][B]?S[M][B]+=T:(S[M][B]=T,D[M][B]=L);var F=S[M][B];return F>P?(Q?this.setDataMax(F):this._max=F,!1):F0)for(var w=arguments[0],Q=w.length;Q--;)this.addData.call(this,w[Q]);else{var M=this._organiseData(arguments[0],!0);M&&(this._data.length===0&&(this._min=this._max=M.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[M]}))}return this},setData:function(w){var Q=w.data,M=Q.length;this._data=[],this._radi=[];for(var B=0;B0&&(this._drawAlpha(M),this._colorize())},renderAll:function(M){this._clear(),M.data.length>0&&(this._drawAlpha(w(M)),this._colorize())},_updateGradient:function(M){this._palette=y(M)},updateConfig:function(M){M.gradient&&this._updateGradient(M),this._setStyles(M)},setDimensions:function(M,B){this._width=M,this._height=B,this.canvas.width=this.shadowCanvas.width=M,this.canvas.height=this.shadowCanvas.height=B},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(M){this._blur=M.blur==0?0:M.blur||M.defaultBlur,M.backgroundColor&&(this.canvas.style.backgroundColor=M.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=M.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=M.height||this._height,this._opacity=(M.opacity||0)*255,this._maxOpacity=(M.maxOpacity||M.defaultMaxOpacity)*255,this._minOpacity=(M.minOpacity||M.defaultMinOpacity)*255,this._useGradientOpacity=!!M.useGradientOpacity},_drawAlpha:function(S){for(var B=this._min=S.min,D=this._max=S.max,S=S.data||[],P=S.length,R=1-this._blur;P--;){var T=S[P],L=T.x,F=T.y,U=T.radius,N=Math.min(T.value,D),H=L-U,J=F-U,K=this.shadowCtx,X;this._templates[U]?X=this._templates[U]:this._templates[U]=X=v(U,R);var j=(N-B)/(D-B);K.globalAlpha=j<.01?.01:j,K.drawImage(X,H,J),Hthis._renderBoundaries[2]&&(this._renderBoundaries[2]=H+2*U),J+2*U>this._renderBoundaries[3]&&(this._renderBoundaries[3]=J+2*U)}},_colorize:function(){var M=this._renderBoundaries[0],B=this._renderBoundaries[1],D=this._renderBoundaries[2]-M,S=this._renderBoundaries[3]-B,P=this._width,R=this._height,T=this._opacity,L=this._maxOpacity,F=this._minOpacity,U=this._useGradientOpacity;M<0&&(M=0),B<0&&(B=0),M+D>P&&(D=P-M),B+S>R&&(S=R-B);for(var N=this.shadowCtx.getImageData(M,B,D,S),H=N.data,J=H.length,K=this._palette,X=3;X0?ie=T:j>0,B},getDataURL:function(){return this.canvas.toDataURL()}},Q}(),m=function(){var y=!1;return o.defaultRenderer==="canvas2d"&&(y=f),y}(),C={merge:function(){for(var x={},y=arguments.length,v=0;v{let o=` %c${Dat} %c \u7248 \u672C \u53F7\uFF1A${SSe} ${DSe} \u7F16\u8BD1\u65F6\u95F4\uFF1A${MSe} `;setTimeout(console.log.bind(console,o,"color:#018aff;font-size:30px;font-wight:bold;font-family:\u5FAE\u8F6F\u96C5\u9ED1","color:#018aff;font-size:13px;font-family:\u5FAE\u8F6F\u96C5\u9ED1"),0)};var Pat=Mat;var _Ze={};QSe(_Ze,{AlphaMode:()=>YU,AlphaPipelineStage:()=>ECe,Animation:()=>cBe,AnimationViewModel:()=>hBe,Appearance:()=>$c,ApproximateTerrainHeights:()=>Tu,ArcGISTiledElevationTerrainProvider:()=>Jqe,ArcGisBaseMapType:()=>c2,ArcGisMapServerImageryProvider:()=>Zy,ArcGisMapService:()=>R_,ArcType:()=>aa,ArticulationStageType:()=>ex,AssociativeArray:()=>mo,AttributeCompression:()=>Yl,AttributeType:()=>Ka,AutoExposure:()=>Yye,AutomaticUniforms:()=>q5,Axis:()=>ud,AxisAlignedBoundingBox:()=>iz,B3dmLoader:()=>Qme,B3dmParser:()=>bme,Base64Encoder:()=>dj,BaseLayerPicker:()=>CBe,BaseLayerPickerViewModel:()=>mBe,BatchTable:()=>n$,BatchTableHierarchy:()=>j$,BatchTexture:()=>ky,BatchTexturePipelineStage:()=>ICe,Billboard:()=>wc,BillboardCollection:()=>nI,BillboardGraphics:()=>qS,BillboardVisualizer:()=>DIe,BingMapsGeocoderService:()=>Wqe,BingMapsImageryProvider:()=>fte,BingMapsStyle:()=>dte,BlendEquation:()=>dm,BlendFunction:()=>Su,BlendOption:()=>gh,BlendTexture:()=>TO,BlendingState:()=>Sl,BoundingRectangle:()=>_r,BoundingSphere:()=>si,BoundingSphereState:()=>Vn,BoxEmitter:()=>kje,BoxGeometry:()=>RS,BoxGeometryUpdater:()=>MIe,BoxGraphics:()=>s$,BoxOutlineGeometry:()=>j1,BrdfLutGenerator:()=>oye,Buffer:()=>jn,BufferLoader:()=>Qz,BufferUsage:()=>Fr,CPUStylingPipelineStage:()=>_Ce,CallbackProperty:()=>Kr,Camera:()=>Ms,CameraEventAggregator:()=>nve,CameraEventType:()=>wA,CameraFlightPath:()=>Cpe,Cartesian2:()=>tt,Cartesian3:()=>Z,Cartesian4:()=>kt,Cartographic:()=>Lt,CartographicGeocoderService:()=>r_e,CatmullRomSpline:()=>qqe,Cesium3DContentGroup:()=>q$,Cesium3DTile:()=>cI,Cesium3DTileBatchTable:()=>Bz,Cesium3DTileColorBlendMode:()=>f1,Cesium3DTileContent:()=>Uje,Cesium3DTileContentFactory:()=>Pee,Cesium3DTileContentState:()=>oc,Cesium3DTileContentType:()=>mm,Cesium3DTileFeature:()=>Ga,Cesium3DTileFeatureTable:()=>l4,Cesium3DTileOptimizationHint:()=>zT,Cesium3DTileOptimizations:()=>UEe,Cesium3DTilePass:()=>kd,Cesium3DTilePassState:()=>CD,Cesium3DTilePointFeature:()=>KL,Cesium3DTileRefine:()=>If,Cesium3DTileStyle:()=>Y1,Cesium3DTileStyleEngine:()=>HEe,Cesium3DTilesInspector:()=>gBe,Cesium3DTilesInspectorViewModel:()=>dBe,Cesium3DTilesVoxelProvider:()=>qje,Cesium3DTileset:()=>B0,Cesium3DTilesetBaseTraversal:()=>zEe,Cesium3DTilesetCache:()=>OEe,Cesium3DTilesetGraphics:()=>h$,Cesium3DTilesetHeatmap:()=>GEe,Cesium3DTilesetMetadata:()=>jz,Cesium3DTilesetMostDetailedTraversal:()=>VEe,Cesium3DTilesetSkipTraversal:()=>YEe,Cesium3DTilesetStatistics:()=>AF,Cesium3DTilesetTraversal:()=>NC,Cesium3DTilesetVisualizer:()=>TIe,CesiumInspector:()=>pBe,CesiumInspectorViewModel:()=>fBe,CesiumNavigation:()=>Mve,CesiumRenderPass:()=>Tve,CesiumTerrainProvider:()=>GF,CesiumWidget:()=>MY,Check:()=>Du,CheckerboardMaterialProperty:()=>pX,CircleEmitter:()=>U_e,CircleGeometry:()=>tje,CircleOutlineGeometry:()=>ije,CircleWaveMaterialProperty:()=>PO,ClassificationModelDrawCommand:()=>Kme,ClassificationPipelineStage:()=>xCe,ClassificationPrimitive:()=>HO,ClassificationType:()=>nA,ClearCommand:()=>QA,ClippingPlane:()=>PS,ClippingPlaneCollection:()=>AI,Clock:()=>WO,ClockRange:()=>u0,ClockStep:()=>vc,ClockViewModel:()=>uBe,CloudCollection:()=>iXe,CloudType:()=>ZX,CollectionSource:()=>e6e,Color:()=>qe,ColorBlendMode:()=>Q1,ColorGeometryInstanceAttribute:()=>vo,ColorMaterialProperty:()=>sa,Command:()=>$Xe,ComponentDatatype:()=>Mt,Composite3DTileContent:()=>kpe,CompositeEntityCollection:()=>EJe,CompositeMaterialProperty:()=>CX,CompositePositionProperty:()=>dx,CompositeProperty:()=>zy,CompressedTextureBuffer:()=>O9,ComputeCommand:()=>QF,ComputeEngine:()=>jEe,ComputeRegionBox:()=>sJe,ConditionsExpression:()=>a0e,ConeEmitter:()=>n6,ConicArcSensor:()=>oZ,ConicArcSensorCollection:()=>KXe,ConicArcSensorGeometry:()=>sZ,ConicArcSensorGraphics:()=>nZ,ConicArcSensorOutlineGeometry:()=>lZ,ConstantPositionProperty:()=>d1,ConstantProperty:()=>bA,ConstantSpline:()=>Rme,ConstructionWorker:()=>i6e,ContentMetadata:()=>SEe,ContentState:()=>l1,Context:()=>nIe,ContextLimits:()=>On,CoplanarPolygonGeometry:()=>nxe,CoplanarPolygonGeometryLibrary:()=>aU,CoplanarPolygonOutlineGeometry:()=>qQ,CornerType:()=>zu,CorridorGeometry:()=>rY,CorridorGeometryLibrary:()=>OA,CorridorGeometryUpdater:()=>LIe,CorridorGraphics:()=>l$,CorridorOutlineGeometry:()=>RIe,Credit:()=>la,CreditDisplay:()=>aye,CubeMap:()=>dB,CubeMapFace:()=>vT,CubicRealPolynomial:()=>tz,CullFace:()=>tu,CullingVolume:()=>qg,CumulusCloud:()=>FB,CustomDataSource:()=>f$,CustomHeightmapTerrainProvider:()=>nje,CustomMercatorProjection:()=>FO,CustomShader:()=>pB,CustomShaderManagerEx:()=>$Z,CustomShaderMode:()=>j9,CustomShaderPipelineStage:()=>MCe,CustomShaderTranslucencyMode:()=>I2,CustomTilingScheme:()=>N6e,CylinderGeometry:()=>FIe,CylinderGeometryLibrary:()=>Zee,CylinderGeometryUpdater:()=>kIe,CylinderGraphics:()=>A$,CylinderOutlineGeometry:()=>NIe,CzmlDataSource:()=>oY,DDSTexture:()=>Rve,DataSource:()=>sp,DataSourceClock:()=>yF,DataSourceCollection:()=>KIe,DataSourceDisplay:()=>cY,DebugAppearance:()=>uXe,DebugCameraPrimitive:()=>hd,DebugInspector:()=>gve,DebugModelMatrixPrimitive:()=>z_e,DefaultProxy:()=>aje,DepthFunction:()=>aI,DepthPlane:()=>sye,DequantizationPipelineStage:()=>TCe,DerivedCommand:()=>xm,DeveloperError:()=>ni,DeviceOrientationCameraController:()=>lye,DirectionalLight:()=>rie,DiscardEmptyTileImagePolicy:()=>gte,DiscardMissingTileImagePolicy:()=>Uxe,DistanceDisplayCondition:()=>wo,DistanceDisplayConditionGeometryInstanceAttribute:()=>Eu,DistanceLegendViewModel:()=>yve,DoubleEndedPriorityQueue:()=>qte,DoublyLinkedList:()=>Nee,DracoLoader:()=>Sz,DrawCommand:()=>cn,DynamicGeometryBatch:()=>ote,DynamicGeometryUpdater:()=>xu,ECharts:()=>Z9,EarthOrientationParameters:()=>sde,EarthOrientationParametersSample:()=>H9,EasingFunction:()=>Qm,EllipseGeometry:()=>lv,EllipseGeometryLibrary:()=>Rx,EllipseGeometryUpdater:()=>qIe,EllipseGraphics:()=>u$,EllipseOutlineGeometry:()=>M1,Ellipsoid:()=>gi,EllipsoidGeodesic:()=>Ig,EllipsoidGeometry:()=>I0,EllipsoidGeometryUpdater:()=>$Ie,EllipsoidGraphics:()=>zO,EllipsoidOutlineGeometry:()=>av,EllipsoidPrimitive:()=>iye,EllipsoidRhumbLine:()=>qy,EllipsoidSurfaceAppearance:()=>fz,EllipsoidTangentPlane:()=>iB,EllipsoidTerrainProvider:()=>pD,EllipsoidalOccluder:()=>nN,Empty3DTileContent:()=>WV,EncodedCartesian3:()=>Jl,Entity:()=>Fu,EntityCluster:()=>rP,EntityCollection:()=>Ev,EntityView:()=>bxe,Event:()=>ir,EventHelper:()=>Lm,ExpandBySmartEarth:()=>kE,ExpandByTerra:()=>k6e,Expression:()=>x2,ExpressionNodeType:()=>Bn,ExternalParameter:()=>DC,ExtrapolationType:()=>a1,FeatureDataProvider:()=>S$,FeatureDetection:()=>co,FeatureIdPipelineStage:()=>Jz,FeatureJsonData:()=>XO,FisheyeProjectionMap:()=>Iz,FisheyeProjectionMapShader:()=>FH,FlattenVS:()=>$me,FlowEcharts:()=>qee,Fog:()=>Aye,ForEach:()=>xr,FrameRateMonitor:()=>Y_e,FrameState:()=>uye,Framebuffer:()=>Gd,FramebufferManager:()=>_c,FrustumCommands:()=>fye,FrustumGeometry:()=>ZO,FrustumOutlineGeometry:()=>Ez,Fullscreen:()=>zg,FullscreenButton:()=>yBe,FullscreenButtonViewModel:()=>xBe,GWBaiduImageryProvider:()=>F$,GeoJsonDataSource:()=>NV,GeoJsonLoader:()=>Mme,GeocodeType:()=>NY,Geocoder:()=>wBe,GeocoderService:()=>Xte,GeocoderViewModel:()=>BBe,GeographicProjection:()=>md,GeographicTilingScheme:()=>ph,Geometry:()=>Bo,Geometry3DTileContent:()=>Upe,GeometryAttribute:()=>Br,GeometryAttributes:()=>vA,GeometryFactory:()=>uje,GeometryInstance:()=>Un,GeometryInstanceAttribute:()=>cx,GeometryOffsetAttribute:()=>vs,GeometryPipeline:()=>gA,GeometryPipelineStage:()=>LCe,GeometryType:()=>RT,GeometryUpdater:()=>qu,GeometryVisualizer:()=>Exe,GetFeatureInfoFormat:()=>qH,GifImageProperty:()=>XHe,Globe:()=>Zxe,GlobeDepth:()=>pye,GlobeSurfaceShaderSet:()=>Nxe,GlobeSurfaceTile:()=>US,GlobeSurfaceTileProvider:()=>jxe,GlobeTranslucency:()=>mY,GlobeTranslucencyFramebuffer:()=>mye,GlobeTranslucencyState:()=>hye,GltfBufferViewLoader:()=>$$,GltfDracoLoader:()=>eee,GltfImageLoader:()=>iee,GltfIndexBufferLoader:()=>ree,GltfJsonLoader:()=>aee,GltfLoader:()=>n4,GltfLoaderUtil:()=>TS,GltfStructuralMetadataLoader:()=>yme,GltfTextureLoader:()=>lee,GltfVertexBufferLoader:()=>Aee,GoogleEarthEnterpriseImageryProvider:()=>cXe,GoogleEarthEnterpriseMapsProvider:()=>Ete,GoogleEarthEnterpriseMetadata:()=>_P,GoogleEarthEnterpriseTerrainData:()=>jX,GoogleEarthEnterpriseTerrainProvider:()=>pje,GoogleEarthEnterpriseTileInformation:()=>A_e,GoogleMaps:()=>tV,GpxDataSource:()=>Lxe,GregorianDate:()=>RO,GridImageryProvider:()=>hXe,GridMaterialProperty:()=>yX,GroundGeometryUpdater:()=>cl,GroundPolylineGeometry:()=>t$,GroundPolylinePrimitive:()=>GO,GroundPrimitive:()=>sP,GroupMetadata:()=>aX,GwBufferAnalysis:()=>N$,HeadingPitchRange:()=>sI,HeadingPitchRoll:()=>Wl,Heap:()=>_he,HeightReference:()=>tn,HeightmapEncoding:()=>H2,HeightmapTerrainData:()=>DB,HeightmapTessellator:()=>hte,HermitePolynomialApproximation:()=>OIe,HermiteSpline:()=>YV,HilbertOrder:()=>Yj,HomeButton:()=>QBe,HomeButtonViewModel:()=>bBe,HorizontalOrigin:()=>iu,HugeAdapter:()=>g4,I3SDataProvider:()=>nie,I3SFeature:()=>q_e,I3SField:()=>j_e,I3SGeometry:()=>$X,I3SLayer:()=>EO,I3SNode:()=>eZ,I3dmLoader:()=>Pme,I3dmParser:()=>Tme,Iau2000Orientation:()=>eye,Iau2006XysData:()=>Ade,Iau2006XysSample:()=>HZ,IauOrientationAxes:()=>tye,IauOrientationParameters:()=>$xe,ImageBasedLighting:()=>K$,ImageBasedLightingPipelineStage:()=>rCe,ImageCombine:()=>jZ,ImageMaterialProperty:()=>p0,Imagery:()=>yte,ImageryLayer:()=>ux,ImageryLayerCollection:()=>Xxe,ImageryLayerFeatureInfo:()=>IP,ImageryProvider:()=>$1,ImageryState:()=>mA,Implicit3DTileContent:()=>$j,ImplicitAvailabilityBitstream:()=>Kj,ImplicitMetadataView:()=>Z$,ImplicitSubdivisionScheme:()=>d0,ImplicitSubtree:()=>hee,ImplicitSubtreeCache:()=>L_e,ImplicitSubtreeMetadata:()=>Vpe,ImplicitTileCoordinates:()=>Oee,ImplicitTileset:()=>$z,IndexDatatype:()=>fn,InfoBox:()=>MBe,InfoBoxViewModel:()=>DBe,InspectorShared:()=>mx,InstanceAttributeSemantic:()=>A0,InstancingPipelineStage:()=>gCe,InterpolationAlgorithm:()=>Cje,InterpolationType:()=>r2,Intersect:()=>Wo,IntersectionTests:()=>mh,Intersections2D:()=>t6,Interval:()=>r1,InvertClassification:()=>Ste,Ion:()=>jT,IonGeocoderService:()=>g_e,IonImageryProvider:()=>h2,IonResource:()=>jy,IonWorldImageryStyle:()=>cF,Iso8601:()=>Zr,JobScheduler:()=>dye,JobType:()=>VE,JsonMetadataTable:()=>Nz,JulianDate:()=>jt,KTX2Transcoder:()=>whe,KeyboardEventModifier:()=>iI,KeyframeNode:()=>du,KmlCamera:()=>U0e,KmlDataSource:()=>Q$,KmlLookAt:()=>O0e,KmlTour:()=>G0e,KmlTourFlyTo:()=>H0e,KmlTourWait:()=>z0e,Label:()=>cV,LabelCollection:()=>iP,LabelGraphics:()=>YO,LabelStyle:()=>fu,LabelVisualizer:()=>Ixe,LagrangePolynomialApproximation:()=>HIe,LeapSecond:()=>eu,Light:()=>fXe,LightingModel:()=>oI,LightingPipelineStage:()=>NCe,LinearApproximation:()=>v$,LinearSampler:()=>eb,LinearSpline:()=>Yz,ManagedArray:()=>b1,MapMode2D:()=>oB,MapProjection:()=>Ije,MapboxImageryProvider:()=>O4,MapboxStyleImageryProvider:()=>mXe,Material:()=>fa,MaterialAppearance:()=>cd,MaterialPass:()=>Fve,MaterialPipelineStage:()=>UCe,MaterialProperty:()=>h0,Math:()=>De,Matrix2:()=>Ud,Matrix3:()=>Nt,Matrix4:()=>Re,Megatexture:()=>aie,MetadataClass:()=>r4,MetadataClassProperty:()=>wz,MetadataComponentType:()=>na,MetadataEntity:()=>ml,MetadataEnum:()=>hme,MetadataEnumValue:()=>cme,MetadataPipelineStage:()=>fS,MetadataSchema:()=>xN,MetadataSchemaLoader:()=>uee,MetadataSemantic:()=>dee,MetadataTable:()=>hP,MetadataTableProperty:()=>Ype,MetadataType:()=>Po,MipmapHint:()=>MO,Model:()=>yv,Model3DTileContent:()=>QT,ModelAlphaOptions:()=>rEe,ModelAnimation:()=>Ome,ModelAnimationChannel:()=>kme,ModelAnimationCollection:()=>Gme,ModelAnimationLoop:()=>rS,ModelAnimationState:()=>PT,ModelArticulation:()=>aCe,ModelArticulationStage:()=>oCe,ModelClippingPlanesPipelineStage:()=>ACe,ModelColorPipelineStage:()=>JV,ModelComponents:()=>So,ModelDrawCommand:()=>Wme,ModelFeature:()=>Hme,ModelFeatureTable:()=>Vme,ModelGraphics:()=>nz,ModelLightingOptions:()=>fEe,ModelMatrixUpdateStage:()=>pCe,ModelNode:()=>uCe,ModelRenderResources:()=>lEe,ModelRuntimeNode:()=>CCe,ModelRuntimePrimitive:()=>eEe,ModelSceneGraph:()=>mEe,ModelSilhouettePipelineStage:()=>cEe,ModelSkin:()=>iEe,ModelSplitterPipelineStage:()=>dEe,ModelStatistics:()=>CEe,ModelType:()=>zd,ModelUtility:()=>Ts,ModelVisualizer:()=>xxe,Moon:()=>rye,MorphTargetsPipelineStage:()=>GCe,MorphWeightSpline:()=>xje,MortonOrder:()=>qU,MultiResourceImageryProvider:()=>k$,MultiResourceTerrainProvider:()=>U$,Multiple3DTileContent:()=>REe,MultisampleFramebuffer:()=>Bme,NavigationControl:()=>W4,NavigationHelpButton:()=>PBe,NavigationHelpButtonViewModel:()=>TBe,NavigationUtils:()=>q4,NavigationViewModel:()=>$H,NearFarScalar:()=>no,NeverTileDiscardPolicy:()=>CXe,NodeRenderResources:()=>gEe,NodeStatisticsPipelineStage:()=>mCe,NodeTransformationProperty:()=>c$,OIT:()=>Iye,Occluder:()=>nye,OctahedralProjectedCubeMap:()=>DF,OffsetGeometryInstanceAttribute:()=>Hd,OlMVTImageryProvider:()=>O$,OpenCageGeocoderService:()=>yje,OpenStreetMapImageryProvider:()=>rV,OrderedGroundPrimitiveCollection:()=>WIe,OrientedBoundingBox:()=>MA,OrthographicFrustum:()=>$a,OrthographicOffCenterFrustum:()=>Eg,Packable:()=>vje,PackableForInterpolation:()=>_je,Particle:()=>sie,ParticleBurst:()=>s6,ParticleEmitter:()=>xXe,ParticleSystem:()=>mb,Pass:()=>zi,PassState:()=>Qf,PathGraphics:()=>oz,PathVisualizer:()=>yxe,PeliasGeocoderService:()=>h_e,PerInstanceColorAppearance:()=>ma,PerformanceDisplay:()=>yY,PerformanceWatchdog:()=>FBe,PerformanceWatchdogViewModel:()=>LBe,PerspectiveFrustum:()=>lA,PerspectiveOffCenterFrustum:()=>X1,PerspectiveProjectionMap:()=>xz,PerspectiveProjectionMapShader:()=>NH,PerspectiveProjectionMapWithDepth:()=>yz,PerspectiveProjectionMapWithDepthShader:()=>qT,PickDepth:()=>gye,PickDepthFramebuffer:()=>xye,PickFramebuffer:()=>yye,Picking:()=>bye,PickingPipelineStage:()=>HCe,PinBuilder:()=>Az,PixelDatatype:()=>Gr,PixelFormat:()=>Jr,Plane:()=>va,PlaneGeometry:()=>exe,PlaneGeometryUpdater:()=>rxe,PlaneGraphics:()=>Q0e,PlaneOutlineGeometry:()=>txe,PntsLoader:()=>Dee,PntsParser:()=>See,PointCloud:()=>$_e,PointCloudEyeDomeLighting:()=>Gz,PointCloudShading:()=>s4,PointCloudStylingPipelineStage:()=>zCe,PointGraphics:()=>d$,PointPrimitive:()=>Rm,PointPrimitiveCollection:()=>z9,PointVisualizer:()=>vxe,PolygonDepth:()=>KU,PolygonDepthFS:()=>vee,PolygonDepthVS:()=>_ee,PolygonGeometry:()=>bc,PolygonGeometryLibrary:()=>ul,PolygonGeometryUpdater:()=>axe,PolygonGraphics:()=>Bs,PolygonHierarchy:()=>In,PolygonOutlineGeometry:()=>oxe,PolygonPipeline:()=>pu,Polyline:()=>W1,PolylineArrowMaterialProperty:()=>R2,PolylineCollection:()=>AP,PolylineColorAppearance:()=>op,PolylineDashMaterialProperty:()=>Gs,PolylineGeometry:()=>AS,PolylineGeometryUpdater:()=>_xe,PolylineGlowMaterialProperty:()=>vX,PolylineGraphics:()=>_1,PolylineMaterialAppearance:()=>vC,PolylineOutlineMaterialProperty:()=>DS,PolylinePipeline:()=>Vu,PolylineTrailLinkMaterialProperty:()=>uVe,PolylineVisualizer:()=>wxe,PolylineVolumeGeometry:()=>sxe,PolylineVolumeGeometryLibrary:()=>RF,PolylineVolumeGeometryUpdater:()=>Axe,PolylineVolumeGraphics:()=>g$,PolylineVolumeOutlineGeometry:()=>lxe,PositionProperty:()=>rz,PositionPropertyArray:()=>kU,PostProcessStage:()=>Jo,PostProcessStageCollection:()=>Xye,PostProcessStageComposite:()=>x0,PostProcessStageLibrary:()=>BC,PostProcessStageSampleMode:()=>QC,PostProcessStageTextureCache:()=>Fte,Primitive:()=>pa,PrimitiveCollection:()=>I1,PrimitiveLoadPlan:()=>Oz,PrimitiveOutlineGenerator:()=>mee,PrimitiveOutlinePipelineStage:()=>KCe,PrimitivePipeline:()=>CF,PrimitiveRenderResources:()=>pEe,PrimitiveState:()=>Ld,PrimitiveStatisticsPipelineStage:()=>WCe,PrimitiveType:()=>$r,ProjectionPicker:()=>kBe,ProjectionPickerViewModel:()=>NBe,Property:()=>Ct,PropertyArray:()=>tte,PropertyAttribute:()=>fee,PropertyAttributeProperty:()=>Cme,PropertyBag:()=>v1,PropertyTable:()=>fP,PropertyTexture:()=>gee,PropertyTextureProperty:()=>pme,ProviderViewModel:()=>Ug,Proxy:()=>bje,QuadraticRealPolynomial:()=>z_,QuadtreeOccluders:()=>V$,QuadtreePrimitive:()=>mD,QuadtreePrimitivezh:()=>pVe,QuadtreeTile:()=>z$,QuadtreeTileLoadState:()=>m0,QuadtreeTileProvider:()=>_Xe,QuantizedMeshTerrainData:()=>Jte,QuarticRealPolynomial:()=>c0e,Quaternion:()=>yr,QuaternionSpline:()=>Fme,Queue:()=>_F,RasterizeHtml:()=>e4,Ray:()=>Oa,Rectangle:()=>hi,RectangleCollisionChecker:()=>lte,RectangleGeometry:()=>aY,RectangleGeometryLibrary:()=>ap,RectangleGeometryUpdater:()=>gxe,RectangleGraphics:()=>JO,RectangleOutlineGeometry:()=>Fee,RectangularSensor:()=>d9,RectangularSensorFS:()=>JX,RectangularSensorGraphics:()=>WXe,RectangularSensorPrimitive:()=>jve,RectangularSensorScanPlaneFS:()=>qve,RectangularSensorVS:()=>zte,RectangularSensorVisualizer:()=>Xve,ReferenceFrame:()=>Vd,ReferenceProperty:()=>dz,RenderEntity:()=>LY,RenderObjectFactory:()=>zA,RenderState:()=>Hr,Renderbuffer:()=>gx,RenderbufferFormat:()=>XE,Request:()=>g0,RequestErrorEvent:()=>fF,RequestScheduler:()=>iv,RequestState:()=>SA,RequestType:()=>kx,ResetViewNavigationControl:()=>Bve,Resource:()=>fr,ResourceCache:()=>Ju,ResourceCacheKey:()=>xv,ResourceCacheStatistics:()=>gme,ResourceLoader:()=>cp,ResourceLoaderState:()=>oo,Rotation:()=>S1,RuntimeError:()=>Ti,S2Cell:()=>oU,S3MCacheFileRenderEntity:()=>YX,S3MCompressType:()=>zXe,S3MContentFactory:()=>Vve,S3MContentParser:()=>zve,S3MCreateIndexJob:()=>Hve,S3MCreateVertexJob:()=>Ove,S3MDataSource:()=>OYe,S3MLayerCache:()=>Yve,S3MLayerScheduler:()=>Jve,S3MPixelFormat:()=>YXe,S3MTile:()=>Wve,S3MTilesFS:()=>kve,S3MTilesLayer:()=>Vte,S3MTilesVS:()=>Nve,S3ModelParser:()=>Kve,SDFSettings:()=>wC,SampledPositionProperty:()=>Yy,SampledProperty:()=>tS,Sampler:()=>Ra,ScaledPositionProperty:()=>qO,Scene:()=>Cve,SceneFramebuffer:()=>Mte,SceneMode:()=>ii,SceneMode2DPipelineStage:()=>qCe,SceneModePicker:()=>OBe,SceneModePickerViewModel:()=>UBe,SceneTransforms:()=>ms,SceneTransitioner:()=>rve,ScreenSpaceCameraController:()=>uve,ScreenSpaceEventHandler:()=>pr,ScreenSpaceEventType:()=>_i,SelectedFeatureIdPipelineStage:()=>KV,SelectionIndicator:()=>HBe,SelectionIndicatorViewModel:()=>GBe,Sensor:()=>Vqe,ShaderBuilder:()=>bee,ShaderCache:()=>ZEe,ShaderDestination:()=>Gi,ShaderFunction:()=>sEe,ShaderProgram:()=>Wa,ShaderSource:()=>hr,ShaderStruct:()=>oEe,ShadowMap:()=>yB,ShadowMapShader:()=>s2,ShadowMode:()=>_s,ShadowVolumeAppearance:()=>lS,ShowGeometryInstanceAttribute:()=>kl,Simon1994PlanetaryPositions:()=>qV,SimplePolylineGeometry:()=>Qje,SingleTileImageryProvider:()=>Bv,SkinningPipelineStage:()=>XCe,SkyAtmosphere:()=>SY,SkyBox:()=>HN,SpatialNode:()=>eBe,SphereEmitter:()=>l6,SphereGeometry:()=>Sje,SphereOutlineGeometry:()=>jS,Spherical:()=>VIe,Spline:()=>Ih,SplitDirection:()=>fI,Splitter:()=>lie,SpotLight:()=>HYe,StaticGeometryColorBatch:()=>nS,StaticGeometryPerMaterialBatch:()=>oS,StaticGroundGeometryColorBatch:()=>SX,StaticGroundGeometryPerMaterialBatch:()=>fxe,StaticGroundPolylinePerMaterialBatch:()=>Bxe,StaticOutlineGeometryBatch:()=>DX,StencilConstants:()=>No,StencilFunction:()=>sA,StencilOperation:()=>kn,SteppedSpline:()=>Lme,StripeMaterialProperty:()=>_X,StripeOrientation:()=>F2,StructuralMetadata:()=>rD,StyleCommandsNeeded:()=>MF,StyleExpression:()=>BXe,Sun:()=>Eve,SunLight:()=>B4,SunPostProcess:()=>dve,SupportedImageFormats:()=>vme,SvgPathBindingHandler:()=>ABe,TaskProcessor:()=>Yh,Terrain:()=>iBe,TerrainData:()=>MN,TerrainEncoding:()=>NS,TerrainExaggeration:()=>h1,TerrainFillMesh:()=>Bte,TerrainFlatten:()=>K4,TerrainFlattenPolygonTexture:()=>Ive,TerrainMesh:()=>TN,TerrainOffsetProperty:()=>jee,TerrainProvider:()=>_m,TerrainQuantization:()=>PC,TerrainState:()=>nc,Texture:()=>Rn,Texture3D:()=>aIe,TextureAtlas:()=>uV,TextureCache:()=>$Ee,TextureMagnificationFilter:()=>mu,TextureManager:()=>n0e,TextureMinificationFilter:()=>ya,TextureUniform:()=>i0e,TextureWrap:()=>oa,TileAvailability:()=>g2,TileBoundingRegion:()=>TF,TileBoundingS2Cell:()=>FEe,TileBoundingSphere:()=>cD,TileBoundingVolume:()=>wXe,TileCoordinatesImageryProvider:()=>rBe,TileDiscardPolicy:()=>bXe,TileEdge:()=>ga,TileImagery:()=>vte,TileMapServiceImageryProvider:()=>MB,TileMetadata:()=>MEe,TileOrientedBoundingBox:()=>S2,TileProviderError:()=>Wc,TileReplacementQueue:()=>J$,TileSelectionResult:()=>To,TileState:()=>QXe,Tileset3DTileContent:()=>EEe,TilesetMetadata:()=>kEe,TilesetPipelineStage:()=>tCe,TilingScheme:()=>Dje,TimeConstants:()=>rA,TimeDynamicImagery:()=>xte,TimeDynamicPointCloud:()=>Aie,TimeInterval:()=>cs,TimeIntervalCollection:()=>vm,TimeIntervalCollectionPositionProperty:()=>aO,TimeIntervalCollectionProperty:()=>UU,TimeStandard:()=>gl,Timeline:()=>YBe,TimelineHighlightRange:()=>VBe,TimelineTrack:()=>zBe,Tipsify:()=>x0e,ToggleButtonViewModel:()=>J5,Tonemapper:()=>vU,Transforms:()=>Vr,TranslationRotationScale:()=>Ux,TranslucentTileClassification:()=>vye,TridiagonalSystemSolver:()=>Eee,TrustedServers:()=>FZ,TweenCollection:()=>Ute,UniformState:()=>tIe,UniformType:()=>Yo,UrlTemplateGeojsonProvider:()=>YYe,UrlTemplateImageryProvider:()=>pI,UserInterfaceControl:()=>Hte,Utils:()=>EB,VERSION:()=>vZe,VRButton:()=>KBe,VRButtonViewModel:()=>JBe,VRTheWorldTerrainProvider:()=>Rje,VaryingType:()=>wm,Vector3DTileBatch:()=>zU,Vector3DTileClampedPolylines:()=>BEe,Vector3DTileContent:()=>QEe,Vector3DTileGeometry:()=>NL,Vector3DTilePoints:()=>IEe,Vector3DTilePolygons:()=>xEe,Vector3DTilePolylines:()=>Tee,Vector3DTilePrimitive:()=>X$,VelocityOrientationProperty:()=>zIe,VelocityVectorProperty:()=>ite,VertexArray:()=>VA,VertexArrayFacade:()=>V9,VertexAttributeSemantic:()=>uo,VertexCompressOption:()=>Ry,VertexFormat:()=>wr,VerticalOrigin:()=>on,VideoSynchronizer:()=>Mje,View:()=>Pte,ViewShed:()=>Aze,ViewShedMap:()=>_4,ViewShedMapShader:()=>u2,Viewer:()=>Die,ViewportQuad:()=>TXe,Visibility:()=>ld,Visualizer:()=>f7e,VolumeCloud:()=>Nje,VoxelBoxShape:()=>VF,VoxelContent:()=>F_e,VoxelCylinderShape:()=>zF,VoxelEllipsoidShape:()=>GY,VoxelInspector:()=>qBe,VoxelInspectorViewModel:()=>WBe,VoxelPrimitive:()=>cie,VoxelProvider:()=>NXe,VoxelRenderResources:()=>T_e,VoxelShape:()=>kXe,VoxelShapeType:()=>Bu,VoxelTraversal:()=>rZ,VulkanConstants:()=>Lje,WallGeometry:()=>pxe,WallGeometryLibrary:()=>Ate,WallGeometryUpdater:()=>Cxe,WallGraphics:()=>az,WallOutlineGeometry:()=>mxe,WaterFS:()=>pz,WaterMaterialProperty:()=>ZYe,WebGLConstants:()=>ri,WebMapServiceImageryProvider:()=>G4,WebMapTileServiceImageryProvider:()=>RN,WebMercatorProjection:()=>Pu,WebMercatorTilingScheme:()=>Sf,WindingOrder:()=>Sx,WireframeIndexGenerator:()=>wee,WireframePipelineStage:()=>$Ce,ZoomNavigationControl:()=>HX,_shadersAcesTonemappingStage:()=>Qye,_shadersAdditiveBlend:()=>cve,_shadersAdjustTranslucentFS:()=>cX,_shadersAllMaterialAppearanceFS:()=>ope,_shadersAllMaterialAppearanceVS:()=>ape,_shadersAmbientOcclusionGenerate:()=>Sye,_shadersAmbientOcclusionModulate:()=>Dye,_shadersAspectRampMaterial:()=>Qhe,_shadersAtmosphereCommon:()=>ZU,_shadersBasicMaterialAppearanceFS:()=>spe,_shadersBasicMaterialAppearanceVS:()=>lpe,_shadersBillboardCollectionFS:()=>Ofe,_shadersBillboardCollectionVS:()=>Gfe,_shadersBlackAndWhite:()=>Mye,_shadersBloomComposite:()=>Tye,_shadersBrdfLutGeneratorFS:()=>sIe,_shadersBrightPass:()=>hve,_shadersBrightness:()=>Pye,_shadersBumpMapMaterial:()=>She,_shadersCPUStylingStageFS:()=>vCe,_shadersCPUStylingStageVS:()=>yCe,_shadersCheckFloatTexturePrecisionFS:()=>oJe,_shadersCheckerboardMaterial:()=>Dhe,_shadersCloudCollectionFS:()=>lIe,_shadersCloudCollectionVS:()=>AIe,_shadersCloudNoiseFS:()=>uIe,_shadersCloudNoiseVS:()=>cIe,_shadersCompareAndPackTranslucentDepth:()=>hIe,_shadersCompositeOITFS:()=>dIe,_shadersCompositeTranslucentClassification:()=>jH,_shadersContrastBias:()=>Rye,_shadersCustomShaderStageFS:()=>wCe,_shadersCustomShaderStageVS:()=>BCe,_shadersCzmBuiltins:()=>BH,_shadersDepthOfField:()=>Lye,_shadersDepthPlaneFS:()=>gIe,_shadersDepthPlaneVS:()=>fIe,_shadersDepthView:()=>Fye,_shadersDepthViewPacked:()=>UXe,_shadersDotMaterial:()=>Mhe,_shadersEdgeDetection:()=>Nye,_shadersElevationBandMaterial:()=>The,_shadersElevationContourMaterial:()=>Phe,_shadersElevationRampMaterial:()=>Rhe,_shadersEllipsoidFS:()=>hX,_shadersEllipsoidSurfaceAppearanceFS:()=>cpe,_shadersEllipsoidSurfaceAppearanceVS:()=>hpe,_shadersEllipsoidVS:()=>dX,_shadersFXAA:()=>Uye,_shadersFXAA3_11:()=>pIe,_shadersFadeMaterial:()=>Lhe,_shadersFeatureIdStageFS:()=>bCe,_shadersFeatureIdStageVS:()=>QCe,_shadersFilmicTonemapping:()=>kye,_shadersGaussianBlur1D:()=>u9,_shadersGaussianBlur1DSun:()=>Kye,_shadersGeometryStageFS:()=>PCe,_shadersGeometryStageVS:()=>RCe,_shadersGlobeFS:()=>mIe,_shadersGlobeVS:()=>CIe,_shadersGridMaterial:()=>Fhe,_shadersGroundAtmosphere:()=>gX,_shadersHSBToRGB:()=>Nge,_shadersHSLToRGB:()=>kge,_shadersImageBasedLightingStageFS:()=>iCe,_shadersInstancingStageCommon:()=>cCe,_shadersInstancingStageVS:()=>hCe,_shadersIntersectBox:()=>__e,_shadersIntersectClippingPlanes:()=>v_e,_shadersIntersectCylinder:()=>B_e,_shadersIntersectDepth:()=>y_e,_shadersIntersectEllipsoid:()=>w_e,_shadersIntersection:()=>iV,_shadersIntersectionUtils:()=>x_e,_shadersLegacyInstancingStageVS:()=>dCe,_shadersLensFlare:()=>Oye,_shadersLightingStageFS:()=>FCe,_shadersMaterialStageFS:()=>kCe,_shadersMegatexture:()=>M_e,_shadersMetadataStageFS:()=>SCe,_shadersMetadataStageVS:()=>DCe,_shadersModelClippingPlanesStageFS:()=>lCe,_shadersModelColorStageFS:()=>sCe,_shadersModelFS:()=>zme,_shadersModelSilhouetteStageFS:()=>AEe,_shadersModelSilhouetteStageVS:()=>uEe,_shadersModelSplitterStageFS:()=>hEe,_shadersModelVS:()=>Yme,_shadersModifiedReinhardTonemapping:()=>Gye,_shadersMorphTargetsStageVS:()=>OCe,_shadersNightVision:()=>Hye,_shadersNormalMapMaterial:()=>Nhe,_shadersOctahedralProjectionAtlasFS:()=>Lpe,_shadersOctahedralProjectionFS:()=>Fpe,_shadersOctahedralProjectionVS:()=>Npe,_shadersOctree:()=>D_e,_shadersPassThrough:()=>OS,_shadersPassThroughDepth:()=>A9,_shadersPerInstanceColorAppearanceFS:()=>B0e,_shadersPerInstanceColorAppearanceVS:()=>w0e,_shadersPerInstanceFlatColorAppearanceFS:()=>i$,_shadersPerInstanceFlatColorAppearanceVS:()=>b0e,_shadersPointCloudEyeDomeLighting:()=>wme,_shadersPointCloudStylingStageVS:()=>VCe,_shadersPointPrimitiveCollectionFS:()=>L5,_shadersPointPrimitiveCollectionVS:()=>zfe,_shadersPolylineArrowMaterial:()=>khe,_shadersPolylineColorAppearanceVS:()=>m0e,_shadersPolylineCommon:()=>AN,_shadersPolylineDashMaterial:()=>Uhe,_shadersPolylineFS:()=>r$,_shadersPolylineGlowMaterial:()=>Ohe,_shadersPolylineMaterialAppearanceVS:()=>C0e,_shadersPolylineOutlineMaterial:()=>Ghe,_shadersPolylineShadowVolumeFS:()=>d0e,_shadersPolylineShadowVolumeMorphFS:()=>g0e,_shadersPolylineShadowVolumeMorphVS:()=>f0e,_shadersPolylineShadowVolumeVS:()=>p0e,_shadersPolylineVS:()=>dpe,_shadersPostProcessRain:()=>OXe,_shadersPostProcessSnow:()=>GXe,_shadersPrimitiveOutlineStageFS:()=>JCe,_shadersPrimitiveOutlineStageVS:()=>YCe,_shadersRGBToHSB:()=>ufe,_shadersRGBToHSL:()=>cfe,_shadersRGBToXYZ:()=>hfe,_shadersReinhardTonemapping:()=>Vye,_shadersReprojectWebMercatorFS:()=>EIe,_shadersReprojectWebMercatorVS:()=>IIe,_shadersRimLightingMaterial:()=>Hhe,_shadersSelectedFeatureIdStageCommon:()=>rX,_shadersShadowVolumeAppearanceFS:()=>a$,_shadersShadowVolumeAppearanceVS:()=>_0e,_shadersShadowVolumeFS:()=>CV,_shadersSilhouette:()=>zye,_shadersSkinningStageVS:()=>jCe,_shadersSkyAtmosphereCommon:()=>fX,_shadersSkyAtmosphereFS:()=>xIe,_shadersSkyAtmosphereVS:()=>yIe,_shadersSkyBoxFS:()=>vIe,_shadersSkyBoxVS:()=>_Ie,_shadersSlopeRampMaterial:()=>Vhe,_shadersStripeMaterial:()=>zhe,_shadersSunFS:()=>BIe,_shadersSunShaft:()=>HXe,_shadersSunShaftHdr:()=>VXe,_shadersSunShaftModulate:()=>Jye,_shadersSunTextureFS:()=>wIe,_shadersSunTextureFS_v2:()=>aJe,_shadersSunVS:()=>QIe,_shadersSunVisibleFS:()=>bIe,_shadersSunVisibleShaft:()=>Wye,_shadersSunVisibleVS:()=>Zme,_shadersTexturedMaterialAppearanceFS:()=>Ape,_shadersTexturedMaterialAppearanceVS:()=>upe,_shadersVector3DTileClampedPolylinesFS:()=>_Ee,_shadersVector3DTileClampedPolylinesVS:()=>vEe,_shadersVector3DTilePolylinesVS:()=>yEe,_shadersVectorTileVS:()=>zj,_shadersViewportQuadFS:()=>SIe,_shadersViewportQuadVS:()=>Kee,_shadersVoxelFS:()=>E_e,_shadersVoxelVS:()=>I_e,_shadersWater:()=>Yhe,_shadersXYZToRGB:()=>Ffe,_shadersacesTonemapping:()=>sge,_shadersalphaWeight:()=>lge,_shadersantialias:()=>Age,_shadersapproximateSphericalCoordinates:()=>uge,_shadersbackFacing:()=>cge,_shadersbranchFreeTernary:()=>hge,_shaderscascadeColor:()=>dge,_shaderscascadeDistance:()=>gge,_shaderscascadeMatrix:()=>fge,_shaderscascadeWeights:()=>pge,_shaderscolumbusViewMorph:()=>mge,_shaderscomputePosition:()=>Cge,_shadersconvertUvToBox:()=>b_e,_shadersconvertUvToCylinder:()=>Q_e,_shadersconvertUvToEllipsoid:()=>S_e,_shaderscosineAndSine:()=>Ege,_shadersdecompressTextureCoordinates:()=>Ige,_shadersdefaultPbrMaterial:()=>xge,_shadersdegreesPerRadian:()=>gde,_shadersdepthClamp:()=>yge,_shadersdepthRange:()=>fde,_shadersdepthRangeStruct:()=>Zde,_shaderseastNorthUpToEyeCoordinates:()=>vge,_shadersellipsoidContainsPoint:()=>_ge,_shadersellipsoidWgs84TextureCoordinates:()=>Bge,_shadersepsilon1:()=>pde,_shadersepsilon2:()=>mde,_shadersepsilon3:()=>Cde,_shadersepsilon4:()=>Ede,_shadersepsilon5:()=>Ide,_shadersepsilon6:()=>xde,_shadersepsilon7:()=>yde,_shadersequalsEpsilon:()=>wge,_shaderseyeOffset:()=>bge,_shaderseyeToWindowCoordinates:()=>Qge,_shadersfastApproximateAtan:()=>Sge,_shadersfog:()=>Dge,_shadersgammaCorrect:()=>Mge,_shadersgeodeticSurfaceNormal:()=>Tge,_shadersgetDefaultMaterial:()=>Pge,_shadersgetLambertDiffuse:()=>Rge,_shadersgetSpecular:()=>Lge,_shadersgetWaterNoise:()=>Fge,_shadershue:()=>Uge,_shadersinfinity:()=>vde,_shadersinverseGamma:()=>Oge,_shadersisEmpty:()=>Gge,_shadersisFull:()=>Hge,_shaderslatitudeToWebMercatorFraction:()=>Vge,_shaderslineDistance:()=>Yge,_shaderslinearToSrgb:()=>zge,_shadersluminance:()=>Jge,_shadersmaterial:()=>$de,_shadersmaterialInput:()=>ege,_shadersmetersPerPixel:()=>Kge,_shadersmodelMaterial:()=>tge,_shadersmodelToWindowCoordinates:()=>Wge,_shadersmodelVertexOutput:()=>ige,_shadersmultiplyWithColorBalance:()=>qge,_shadersnearFarScalar:()=>jge,_shadersoctDecode:()=>Xge,_shadersoneOverPi:()=>_de,_shadersoneOverTwoPi:()=>Bde,_shaderspackDepth:()=>Zge,_shaderspassCesium3DTile:()=>wde,_shaderspassCesium3DTileClassification:()=>bde,_shaderspassCesium3DTileClassificationIgnoreShow:()=>Qde,_shaderspassClassification:()=>Sde,_shaderspassCompute:()=>Dde,_shaderspassEnvironment:()=>Mde,_shaderspassGlobe:()=>Tde,_shaderspassOpaque:()=>Pde,_shaderspassOverlay:()=>Rde,_shaderspassTerrainClassification:()=>Lde,_shaderspassTranslucent:()=>Fde,_shaderspassVoxels:()=>Nde,_shaderspbrLighting:()=>$ge,_shaderspbrMetallicRoughnessMaterial:()=>efe,_shaderspbrParameters:()=>rge,_shaderspbrSpecularGlossinessMaterial:()=>tfe,_shadersphong:()=>ife,_shaderspi:()=>kde,_shaderspiOverFour:()=>Ude,_shaderspiOverSix:()=>Ode,_shaderspiOverThree:()=>Gde,_shaderspiOverTwo:()=>Hde,_shadersplaneDistance:()=>rfe,_shaderspointAlongRay:()=>nfe,_shadersradiansPerDegree:()=>Vde,_shadersray:()=>nge,_shadersrayEllipsoidIntersectionInterval:()=>ofe,_shadersraySegment:()=>oge,_shadersraySphereIntersectionInterval:()=>afe,_shadersreadDepth:()=>sfe,_shadersreadNonPerspective:()=>lfe,_shadersreverseLogDepth:()=>Afe,_shadersround:()=>dfe,_shaderssampleOctahedralProjection:()=>gfe,_shaderssaturation:()=>ffe,_shaderssceneMode2D:()=>zde,_shaderssceneMode3D:()=>Yde,_shaderssceneModeColumbusView:()=>Jde,_shaderssceneModeMorphing:()=>Kde,_shadersshadowDepthCompare:()=>pfe,_shadersshadowParameters:()=>age,_shadersshadowVisibility:()=>mfe,_shaderssignNotZero:()=>Cfe,_shaderssolarRadius:()=>Wde,_shaderssphericalHarmonics:()=>Efe,_shaderssrgbToLinear:()=>Ife,_shaderstangentToEyeSpaceMatrix:()=>xfe,_shaderstextureCube:()=>yfe,_shadersthreePiOver2:()=>qde,_shaderstransformPlane:()=>vfe,_shaderstranslateRelativeToEye:()=>_fe,_shaderstranslucentPhong:()=>Bfe,_shaderstranspose:()=>wfe,_shaderstwoPi:()=>jde,_shadersunpackDepth:()=>bfe,_shadersunpackFloat:()=>Qfe,_shadersunpackUint:()=>Sfe,_shadersvalueTransform:()=>Dfe,_shadersvertexLogDepth:()=>Mfe,_shaderswebMercatorMaxLatitude:()=>Xde,_shaderswindowToEyeCoordinates:()=>Tfe,_shaderswriteDepthClamp:()=>Pfe,_shaderswriteLogDepth:()=>Rfe,_shaderswriteNonPerspective:()=>Lfe,addBuffer:()=>ime,addDefaults:()=>Wpe,addExtensionsRequired:()=>$pe,addExtensionsUsed:()=>IN,addPipelineExtras:()=>Dz,addToArray:()=>fx,appendForwardSlash:()=>Ehe,arrayRemoveDuplicates:()=>f0,barycentricCoordinates:()=>o$,binarySearch:()=>yf,buildDrawCommand:()=>eCe,buildModuleUrl:()=>Ja,buildVoxelDrawCommands:()=>R_e,clone:()=>En,combine:()=>yo,computeFlyToLocationForRectangle:()=>tie,createBillboardPointCallback:()=>Mee,createBlurStage:()=>zX,createCommand:()=>Os,createDefaultImageryProviderViewModels:()=>EBe,createDefaultTerrainProviderViewModels:()=>IBe,createEdgeStage:()=>j4,createElevationBandMaterial:()=>nXe,createFragmentFromTemplate:()=>xve,createGooglePhotorealistic3DTileset:()=>oXe,createGuid:()=>Kl,createMaterialPropertyDescriptor:()=>lp,createOsmBuildings:()=>aXe,createOsmBuildingsAsync:()=>sXe,createPropertyDescriptor:()=>ai,createRawPropertyDescriptor:()=>ox,createTangentSpaceDebugPrimitive:()=>lXe,createTaskProcessorWorker:()=>qXe,createUniform:()=>cde,createUniformArray:()=>dde,createWorldImagery:()=>AXe,createWorldImageryAsync:()=>xU,createWorldTerrain:()=>rje,createWorldTerrainAsync:()=>Wte,decodeGoogleEarthEnterpriseData:()=>s_e,decodeVectorPolylinePositions:()=>wEe,defaultValue:()=>ae,defer:()=>Nu,defined:()=>k,demodernizeShader:()=>Nfe,deprecationWarning:()=>$t,destroyObject:()=>ar,exportKml:()=>A7e,findAccessorMinMax:()=>Tz,findContentMetadata:()=>Ree,findGroupMetadata:()=>Lee,findTileMetadata:()=>PEe,forEachTextureInMaterial:()=>oee,formatError:()=>dO,fragment:()=>lze,freezeRenderState:()=>EOe,getAbsoluteUri:()=>N9,getAccessorByteStride:()=>gP,getBaseUri:()=>xhe,getBinaryAccessor:()=>uS,getClipAndStyleCode:()=>J_e,getClippingFunction:()=>dY,getComponentReader:()=>Mz,getElement:()=>Ru,getExtensionFromUri:()=>DZ,getFilenameFromUri:()=>lz,getImageFromTypedArray:()=>r0e,getImagePixels:()=>gF,getJsonFromTypedArray:()=>Ap,getMagic:()=>i4,getStringFromTypedArray:()=>ab,getTimestamp:()=>HA,hasExtension:()=>Lu,heightReferenceOnEntityPropertyChanged:()=>iY,isBitSet:()=>bx,isBlobUri:()=>MZ,isCrossOriginUrl:()=>TZ,isDataUri:()=>k9,isLeapYear:()=>QU,knockout:()=>Vi,knockout_3_5_1:()=>_D,knockout_es5:()=>lBe,libgif:()=>Bpe,loadAndExecuteScript:()=>PZ,loadCRN:()=>Eje,loadCubeMap:()=>oIe,loadDDS:()=>NZ,loadImageFromTypedArray:()=>tee,loadKTX2:()=>$2,loadView:()=>Gte,mergeSort:()=>V4,moveTechniqueRenderStates:()=>Zpe,moveTechniquesToExtension:()=>eme,numberOfComponentsForType:()=>EN,objectToQuery:()=>RZ,oneTimeWarning:()=>Ro,packer:()=>s0e,parseBatchTable:()=>zz,parseBoundingVolumeSemantics:()=>fme,parseDefines:()=>Pve,parseFeatureMetadataLegacy:()=>xme,parseGlb:()=>jpe,parseResponseHeaders:()=>yhe,parseStructuralMetadata:()=>Ime,pointInsideTriangle:()=>Bje,preprocess3DTileContent:()=>C4,processVoxelProperties:()=>P_e,queryToObject:()=>A1,rasterizeHTML_allinone:()=>Rpe,readAccessorPacked:()=>rme,removeExtension:()=>VV,removeExtensionsRequired:()=>qpe,removeExtensionsUsed:()=>nee,removePipelineExtras:()=>Xpe,removeUnusedElements:()=>tme,remove_primitive:()=>h9,resizeImageToNextPowerOfTwo:()=>pV,sampleTerrain:()=>lY,sampleTerrainMostDetailed:()=>bB,scaleToGeodeticSurface:()=>UZ,subdivideArray:()=>E0e,subscribeAndEvaluate:()=>jE,svgCompassGyro:()=>bve,svgCompassOuterRing:()=>wve,svgCompassRotationMarker:()=>Qve,svgReset:()=>vve,turf:()=>ws,updateAccessorComponentTypes:()=>nme,updateVersion:()=>ome,usesExtension:()=>Wg,vertex:()=>sze,viewerCesium3DTilesInspectorMixin:()=>mZe,viewerCesiumInspectorMixin:()=>CZe,viewerCesiumNavigationMixin:()=>Dqe,viewerDragDropMixin:()=>EZe,viewerPerformanceWatchdogMixin:()=>IZe,viewerVoxelInspectorMixin:()=>yZe,webGLConstantToGlslType:()=>Fje,wrapFunction:()=>m_e,writeTextToCanvas:()=>aN});var Rat=Object.create,kke=Object.defineProperty,Lat=Object.getOwnPropertyDescriptor,Fat=Object.getOwnPropertyNames,Nat=Object.getPrototypeOf,kat=Object.prototype.hasOwnProperty,VL=(o=>typeof Ey<"u"?Ey:typeof Proxy<"u"?new Proxy(o,{get:(A,f)=>(typeof Ey<"u"?Ey:A)[f]}):o)(function(o){if(typeof Ey<"u")return Ey.apply(this,arguments);throw new Error('Dynamic require of "'+o+'" is not supported')}),Et=(o,A)=>()=>(A||o((A={exports:{}}).exports,A),A.exports),Uat=(o,A,f,m)=>{if(A&&typeof A=="object"||typeof A=="function")for(let C of Fat(A))!kat.call(o,C)&&C!==f&&kke(o,C,{get:()=>A[C],enumerable:!(m=Lat(A,C))||m.enumerable});return o},Ku=(o,A,f)=>(f=o!=null?Rat(Nat(o)):{},Uat(A||!o||!o.__esModule?kke(f,"default",{value:o,enumerable:!0}):f,o)),Lce=Et((o,A)=>{var f=function(m){m==null&&(m=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,m.constructor==Array?this.init_by_array(m,m.length):this.init_seed(m)};f.prototype.init_seed=function(m){for(this.mt[0]=m>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(((m&4294901760)>>>16)*1812433253<<16)+(m&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}},f.prototype.init_by_array=function(m,C){var E,I,x;for(this.init_seed(19650218),E=1,I=0,x=this.N>C?this.N:C;x;x--){var y=this.mt[E-1]^this.mt[E-1]>>>30;this.mt[E]=(this.mt[E]^(((y&4294901760)>>>16)*1664525<<16)+(y&65535)*1664525)+m[I]+I,this.mt[E]>>>=0,E++,I++,E>=this.N&&(this.mt[0]=this.mt[this.N-1],E=1),I>=C&&(I=0)}for(x=this.N-1;x;x--){var y=this.mt[E-1]^this.mt[E-1]>>>30;this.mt[E]=(this.mt[E]^(((y&4294901760)>>>16)*1566083941<<16)+(y&65535)*1566083941)-E,this.mt[E]>>>=0,E++,E>=this.N&&(this.mt[0]=this.mt[this.N-1],E=1)}this.mt[0]=2147483648},f.prototype.random_int=function(){var m,C=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var E;for(this.mti==this.N+1&&this.init_seed(5489),E=0;E>>1^C[m&1];for(;E>>1^C[m&1];m=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^m>>>1^C[m&1],this.mti=0}return m=this.mt[this.mti++],m^=m>>>11,m^=m<<7&2636928640,m^=m<<15&4022730752,m^=m>>>18,m>>>0},f.prototype.random_int31=function(){return this.random_int()>>>1},f.prototype.random_incl=function(){return this.random_int()*(1/4294967295)},f.prototype.random=function(){return this.random_int()*(1/4294967296)},f.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)},f.prototype.random_long=function(){var m=this.random_int()>>>5,C=this.random_int()>>>6;return(m*67108864+C)*(1/9007199254740992)},A.exports=f}),Oat=Et((o,A)=>{/*! https://mths.be/punycode v1.4.0 by @mathias */(function(f){var m=typeof o=="object"&&o&&!o.nodeType&&o,C=typeof A=="object"&&A&&!A.nodeType&&A,E=typeof global=="object"&&global;(E.global===E||E.window===E||E.self===E)&&(f=E);var I,x=2147483647,y=36,v=1,w=26,Q=38,M=700,B=72,D=128,S="-",P=/^xn--/,R=/[^\x20-\x7E]/,T=/[\x2E\u3002\uFF0E\uFF61]/g,L={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},F=y-v,U=Math.floor,N=String.fromCharCode,H;function J(de){throw new RangeError(L[de])}function K(de,fe){for(var G=de.length,Y=[];G--;)Y[G]=fe(de[G]);return Y}function X(de,fe){var G=de.split("@"),Y="";G.length>1&&(Y=G[0]+"@",de=G[1]),de=de.replace(T,".");var W=de.split("."),O=K(W,fe).join(".");return Y+O}function j(de){for(var fe=[],G=0,Y=de.length,W,O;G=55296&&W<=56319&&G65535&&(fe-=65536,G+=N(fe>>>10&1023|55296),fe=56320|fe&1023),G+=N(fe),G}).join("")}function ie(de){return de-48<10?de-22:de-65<26?de-65:de-97<26?de-97:y}function z(de,fe){return de+22+75*(de<26)-((fe!=0)<<5)}function oe(de,fe,G){var Y=0;for(de=G?U(de/M):de>>1,de+=U(de/fe);de>F*w>>1;Y+=y)de=U(de/F);return U(Y+(F+1)*de/(de+Q))}function le(de){var fe=[],G=de.length,Y,W=0,O=D,re=B,se,ce,me,Ce,ye,Be,Me,He,ke;for(se=de.lastIndexOf(S),se<0&&(se=0),ce=0;ce=128&&J("not-basic"),fe.push(de.charCodeAt(ce));for(me=se>0?se+1:0;me=G&&J("invalid-input"),Me=ie(de.charCodeAt(me++)),(Me>=y||Me>U((x-W)/ye))&&J("overflow"),W+=Me*ye,He=Be<=re?v:Be>=re+w?w:Be-re,!(MeU(x/ke)&&J("overflow"),ye*=ke;Y=fe.length+1,re=oe(W-Ce,Y,Ce==0),U(W/Y)>x-O&&J("overflow"),O+=U(W/Y),W%=Y,fe.splice(W++,0,O)}return ee(fe)}function Ae(de){var fe,G,Y,W,O,re,se,ce,me,Ce,ye,Be=[],Me,He,ke,Ne;for(de=j(de),Me=de.length,fe=D,G=0,O=B,re=0;re=fe&&yeU((x-G)/He)&&J("overflow"),G+=(se-fe)*He,fe=se,re=0;rex&&J("overflow"),ye==fe){for(ce=G,me=y;Ce=me<=O?v:me>=O+w?w:me-O,!(ce{/*! * URI.js - Mutating URLs * IPv6 Support * * Version: 1.19.11 * * Author: Rodney Rehm * Web: http://medialize.github.io/URI.js/ * * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * */(function(f,m){"use strict";typeof A=="object"&&A.exports?A.exports=m():typeof define=="function"&&define.amd?define(m):f.IPv6=m(f)})(o,function(f){"use strict";var m=f&&f.IPv6;function C(I){var x=I.toLowerCase(),y=x.split(":"),v=y.length,w=8;y[0]===""&&y[1]===""&&y[2]===""?(y.shift(),y.shift()):y[0]===""&&y[1]===""?y.shift():y[v-1]===""&&y[v-2]===""&&y.pop(),v=y.length,y[v-1].indexOf(".")!==-1&&(w=7);var Q;for(Q=0;Q1;D++)M.splice(0,1);y[B]=M.join("")}var S=-1,P=0,R=0,T=-1,L=!1;for(B=0;BP&&(S=T,P=R)):y[B]==="0"&&(L=!0,T=B,R=1);R>P&&(S=T,P=R),P>1&&y.splice(S,P,""),v=y.length;var F="";for(y[0]===""&&(F=":"),B=0;B{/*! * URI.js - Mutating URLs * Second Level Domain (SLD) Support * * Version: 1.19.11 * * Author: Rodney Rehm * Web: http://medialize.github.io/URI.js/ * * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * */(function(f,m){"use strict";typeof A=="object"&&A.exports?A.exports=m():typeof define=="function"&&define.amd?define(m):f.SecondLevelDomains=m(f)})(o,function(f){"use strict";var m=f&&f.SecondLevelDomains,C={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(E){var I=E.lastIndexOf(".");if(I<=0||I>=E.length-1)return!1;var x=E.lastIndexOf(".",I-1);if(x<=0||x>=I-1)return!1;var y=C.list[E.slice(I+1)];return y?y.indexOf(" "+E.slice(x+1,I)+" ")>=0:!1},is:function(E){var I=E.lastIndexOf(".");if(I<=0||I>=E.length-1)return!1;var x=E.lastIndexOf(".",I-1);if(x>=0)return!1;var y=C.list[E.slice(I+1)];return y?y.indexOf(" "+E.slice(0,I)+" ")>=0:!1},get:function(E){var I=E.lastIndexOf(".");if(I<=0||I>=E.length-1)return null;var x=E.lastIndexOf(".",I-1);if(x<=0||x>=I-1)return null;var y=C.list[E.slice(I+1)];return!y||y.indexOf(" "+E.slice(x+1,I)+" ")<0?null:E.slice(x+1)},noConflict:function(){return f.SecondLevelDomains===this&&(f.SecondLevelDomains=m),this}};return C})}),dv=Et((o,A)=>{/*! * URI.js - Mutating URLs * * Version: 1.19.11 * * Author: Rodney Rehm * Web: http://medialize.github.io/URI.js/ * * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * */(function(f,m){"use strict";typeof A=="object"&&A.exports?A.exports=m(Oat(),Gat(),Hat()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],m):f.URI=m(f.punycode,f.IPv6,f.SecondLevelDomains,f)})(o,function(f,m,C,E){"use strict";var I=E&&E.URI;function x(z,oe){var le=arguments.length>=1,Ae=arguments.length>=2;if(!(this instanceof x))return le?Ae?new x(z,oe):new x(z):new x;if(z===void 0){if(le)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?z=location.href+"":z=""}if(z===null&&le)throw new TypeError("null is not a valid argument for URI");return this.href(z),oe!==void 0?this.absoluteTo(oe):this}function y(z){return/^[0-9]+$/.test(z)}x.version="1.19.11";var v=x.prototype,w=Object.prototype.hasOwnProperty;function Q(z){return z.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function M(z){return z===void 0?"Undefined":String(Object.prototype.toString.call(z)).slice(8,-1)}function B(z){return M(z)==="Array"}function D(z,oe){var le={},Ae,he;if(M(oe)==="RegExp")le=null;else if(B(oe))for(Ae=0,he=oe.length;Ae]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,x.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},x.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,x.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,x.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},x.hostProtocols=["http","https"],x.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,x.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},x.getDomAttribute=function(z){if(!(!z||!z.nodeName)){var oe=z.nodeName.toLowerCase();if(!(oe==="input"&&z.type!=="image"))return x.domAttributes[oe]}};function T(z){return escape(z)}function L(z){return encodeURIComponent(z).replace(/[!'()*]/g,T).replace(/\*/g,"%2A")}x.encode=L,x.decode=decodeURIComponent,x.iso8859=function(){x.encode=escape,x.decode=unescape},x.unicode=function(){x.encode=L,x.decode=decodeURIComponent},x.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},x.encodeQuery=function(z,oe){var le=x.encode(z+"");return oe===void 0&&(oe=x.escapeQuerySpace),oe?le.replace(/%20/g,"+"):le},x.decodeQuery=function(z,oe){z+="",oe===void 0&&(oe=x.escapeQuerySpace);try{return x.decode(oe?z.replace(/\+/g,"%20"):z)}catch{return z}};var F={encode:"encode",decode:"decode"},U,N=function(z,oe){return function(le){try{return x[oe](le+"").replace(x.characters[z][oe].expression,function(Ae){return x.characters[z][oe].map[Ae]})}catch{return le}}};for(U in F)x[U+"PathSegment"]=N("pathname",F[U]),x[U+"UrnPathSegment"]=N("urnpath",F[U]);var H=function(z,oe,le){return function(Ae){var he;le?he=function(G){return x[oe](x[le](G))}:he=x[oe];for(var ge=(Ae+"").split(z),de=0,fe=ge.length;de-1&&(oe.fragment=z.substring(le+1)||null,z=z.substring(0,le)),le=z.indexOf("?"),le>-1&&(oe.query=z.substring(le+1)||null,z=z.substring(0,le)),z=z.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),z=z.replace(/^[/\\]{2,}/i,"//"),z.substring(0,2)==="//"?(oe.protocol=null,z=z.substring(2),z=x.parseAuthority(z,oe)):(le=z.indexOf(":"),le>-1&&(oe.protocol=z.substring(0,le)||null,oe.protocol&&!oe.protocol.match(x.protocol_expression)?oe.protocol=void 0:z.substring(le+1,le+3).replace(/\\/g,"/")==="//"?(z=z.substring(le+3),z=x.parseAuthority(z,oe)):(z=z.substring(le+1),oe.urn=!0))),oe.path=z,oe},x.parseHost=function(z,oe){z||(z=""),z=z.replace(/\\/g,"/");var le=z.indexOf("/"),Ae,he;if(le===-1&&(le=z.length),z.charAt(0)==="[")Ae=z.indexOf("]"),oe.hostname=z.substring(1,Ae)||null,oe.port=z.substring(Ae+2,le)||null,oe.port==="/"&&(oe.port=null);else{var ge=z.indexOf(":"),de=z.indexOf("/"),fe=z.indexOf(":",ge+1);fe!==-1&&(de===-1||fe-1?he:z.length-1),de;return ge>-1&&(he===-1||ge-1?re=re.slice(0,se)+re.slice(se).replace(ge,""):re=re.replace(ge,""),!(re.length<=G[0].length)&&!(le.ignore&&le.ignore.test(re))){O=Y+re.length;var Ce=oe(re,Y,O,z);if(Ce===void 0){Ae.lastIndex=O;continue}Ce=String(Ce),z=z.slice(0,Y)+Ce+z.slice(O),Ae.lastIndex=Y+Ce.length}}return Ae.lastIndex=0,z},x.ensureValidHostname=function(z,oe){var le=!!z,Ae=!!oe,he=!1;if(Ae&&(he=S(x.hostProtocols,oe)),he&&!le)throw new TypeError("Hostname cannot be empty, if protocol is "+oe);if(z&&z.match(x.invalid_hostname_characters)){if(!f)throw new TypeError('Hostname "'+z+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(f.toASCII(z).match(x.invalid_hostname_characters))throw new TypeError('Hostname "'+z+'" contains characters other than [A-Z0-9.-:_]')}},x.ensureValidPort=function(z){if(z){var oe=Number(z);if(!(y(oe)&&oe>0&&oe<65536))throw new TypeError('Port "'+z+'" is not a valid port')}},x.noConflict=function(z){if(z){var oe={URI:this.noConflict()};return E.URITemplate&&typeof E.URITemplate.noConflict=="function"&&(oe.URITemplate=E.URITemplate.noConflict()),E.IPv6&&typeof E.IPv6.noConflict=="function"&&(oe.IPv6=E.IPv6.noConflict()),E.SecondLevelDomains&&typeof E.SecondLevelDomains.noConflict=="function"&&(oe.SecondLevelDomains=E.SecondLevelDomains.noConflict()),oe}else E.URI===this&&(E.URI=I);return this},v.build=function(z){return z===!0?this._deferred_build=!0:(z===void 0||this._deferred_build)&&(this._string=x.build(this._parts),this._deferred_build=!1),this},v.clone=function(){return new x(this)},v.valueOf=v.toString=function(){return this.build(!1)._string};function J(z){return function(oe,le){return oe===void 0?this._parts[z]||"":(this._parts[z]=oe||null,this.build(!le),this)}}function K(z,oe){return function(le,Ae){return le===void 0?this._parts[z]||"":(le!==null&&(le=le+"",le.charAt(0)===oe&&(le=le.substring(1))),this._parts[z]=le,this.build(!Ae),this)}}v.protocol=J("protocol"),v.username=J("username"),v.password=J("password"),v.hostname=J("hostname"),v.port=J("port"),v.query=K("query","?"),v.fragment=K("fragment","#"),v.search=function(z,oe){var le=this.query(z,oe);return typeof le=="string"&&le.length?"?"+le:le},v.hash=function(z,oe){var le=this.fragment(z,oe);return typeof le=="string"&&le.length?"#"+le:le},v.pathname=function(z,oe){if(z===void 0||z===!0){var le=this._parts.path||(this._parts.hostname?"/":"");return z?(this._parts.urn?x.decodeUrnPath:x.decodePath)(le):le}else return this._parts.urn?this._parts.path=z?x.recodeUrnPath(z):"":this._parts.path=z?x.recodePath(z):"/",this.build(!oe),this},v.path=v.pathname,v.href=function(z,oe){var le;if(z===void 0)return this.toString();this._string="",this._parts=x._parts();var Ae=z instanceof x,he=typeof z=="object"&&(z.hostname||z.path||z.pathname);if(z.nodeName){var ge=x.getDomAttribute(z);z=z[ge]||"",he=!1}if(!Ae&&he&&z.pathname!==void 0&&(z=z.toString()),typeof z=="string"||z instanceof String)this._parts=x.parse(String(z),this._parts);else if(Ae||he){var de=Ae?z._parts:z;for(le in de)le!=="query"&&w.call(this._parts,le)&&(this._parts[le]=de[le]);de.query&&this.query(de.query,!1)}else throw new TypeError("invalid input");return this.build(!oe),this},v.is=function(z){var oe=!1,le=!1,Ae=!1,he=!1,ge=!1,de=!1,fe=!1,G=!this._parts.urn;switch(this._parts.hostname&&(G=!1,le=x.ip4_expression.test(this._parts.hostname),Ae=x.ip6_expression.test(this._parts.hostname),oe=le||Ae,he=!oe,ge=he&&C&&C.has(this._parts.hostname),de=he&&x.idn_expression.test(this._parts.hostname),fe=he&&x.punycode_expression.test(this._parts.hostname)),z.toLowerCase()){case"relative":return G;case"absolute":return!G;case"domain":case"name":return he;case"sld":return ge;case"ip":return oe;case"ip4":case"ipv4":case"inet4":return le;case"ip6":case"ipv6":case"inet6":return Ae;case"idn":return de;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return fe}return null};var X=v.protocol,j=v.port,ee=v.hostname;v.protocol=function(z,oe){if(z&&(z=z.replace(/:(\/\/)?$/,""),!z.match(x.protocol_expression)))throw new TypeError('Protocol "'+z+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return X.call(this,z,oe)},v.scheme=v.protocol,v.port=function(z,oe){return this._parts.urn?z===void 0?"":this:(z!==void 0&&(z===0&&(z=null),z&&(z+="",z.charAt(0)===":"&&(z=z.substring(1)),x.ensureValidPort(z))),j.call(this,z,oe))},v.hostname=function(z,oe){if(this._parts.urn)return z===void 0?"":this;if(z!==void 0){var le={preventInvalidHostname:this._parts.preventInvalidHostname},Ae=x.parseHost(z,le);if(Ae!=="/")throw new TypeError('Hostname "'+z+'" contains characters other than [A-Z0-9.-]');z=le.hostname,this._parts.preventInvalidHostname&&x.ensureValidHostname(z,this._parts.protocol)}return ee.call(this,z,oe)},v.origin=function(z,oe){if(this._parts.urn)return z===void 0?"":this;if(z===void 0){var le=this.protocol(),Ae=this.authority();return Ae?(le?le+"://":"")+this.authority():""}else{var he=x(z);return this.protocol(he.protocol()).authority(he.authority()).build(!oe),this}},v.host=function(z,oe){if(this._parts.urn)return z===void 0?"":this;if(z===void 0)return this._parts.hostname?x.buildHost(this._parts):"";var le=x.parseHost(z,this._parts);if(le!=="/")throw new TypeError('Hostname "'+z+'" contains characters other than [A-Z0-9.-]');return this.build(!oe),this},v.authority=function(z,oe){if(this._parts.urn)return z===void 0?"":this;if(z===void 0)return this._parts.hostname?x.buildAuthority(this._parts):"";var le=x.parseAuthority(z,this._parts);if(le!=="/")throw new TypeError('Hostname "'+z+'" contains characters other than [A-Z0-9.-]');return this.build(!oe),this},v.userinfo=function(z,oe){if(this._parts.urn)return z===void 0?"":this;if(z===void 0){var le=x.buildUserinfo(this._parts);return le&&le.substring(0,le.length-1)}else return z[z.length-1]!=="@"&&(z+="@"),x.parseUserinfo(z,this._parts),this.build(!oe),this},v.resource=function(z,oe){var le;return z===void 0?this.path()+this.search()+this.hash():(le=x.parse(z),this._parts.path=le.path,this._parts.query=le.query,this._parts.fragment=le.fragment,this.build(!oe),this)},v.subdomain=function(z,oe){if(this._parts.urn)return z===void 0?"":this;if(z===void 0){if(!this._parts.hostname||this.is("IP"))return"";var le=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,le)||""}else{var Ae=this._parts.hostname.length-this.domain().length,he=this._parts.hostname.substring(0,Ae),ge=new RegExp("^"+Q(he));if(z&&z.charAt(z.length-1)!=="."&&(z+="."),z.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return z&&x.ensureValidHostname(z,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(ge,z),this.build(!oe),this}},v.domain=function(z,oe){if(this._parts.urn)return z===void 0?"":this;if(typeof z=="boolean"&&(oe=z,z=void 0),z===void 0){if(!this._parts.hostname||this.is("IP"))return"";var le=this._parts.hostname.match(/\./g);if(le&&le.length<2)return this._parts.hostname;var Ae=this._parts.hostname.length-this.tld(oe).length-1;return Ae=this._parts.hostname.lastIndexOf(".",Ae-1)+1,this._parts.hostname.substring(Ae)||""}else{if(!z)throw new TypeError("cannot set domain empty");if(z.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(x.ensureValidHostname(z,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=z;else{var he=new RegExp(Q(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(he,z)}return this.build(!oe),this}},v.tld=function(z,oe){if(this._parts.urn)return z===void 0?"":this;if(typeof z=="boolean"&&(oe=z,z=void 0),z===void 0){if(!this._parts.hostname||this.is("IP"))return"";var le=this._parts.hostname.lastIndexOf("."),Ae=this._parts.hostname.substring(le+1);return oe!==!0&&C&&C.list[Ae.toLowerCase()]&&C.get(this._parts.hostname)||Ae}else{var he;if(z)if(z.match(/[^a-zA-Z0-9-]/))if(C&&C.is(z))he=new RegExp(Q(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(he,z);else throw new TypeError('TLD "'+z+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");he=new RegExp(Q(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(he,z)}else throw new TypeError("cannot set TLD empty");return this.build(!oe),this}},v.directory=function(z,oe){if(this._parts.urn)return z===void 0?"":this;if(z===void 0||z===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var le=this._parts.path.length-this.filename().length-1,Ae=this._parts.path.substring(0,le)||(this._parts.hostname?"/":"");return z?x.decodePath(Ae):Ae}else{var he=this._parts.path.length-this.filename().length,ge=this._parts.path.substring(0,he),de=new RegExp("^"+Q(ge));return this.is("relative")||(z||(z="/"),z.charAt(0)!=="/"&&(z="/"+z)),z&&z.charAt(z.length-1)!=="/"&&(z+="/"),z=x.recodePath(z),this._parts.path=this._parts.path.replace(de,z),this.build(!oe),this}},v.filename=function(z,oe){if(this._parts.urn)return z===void 0?"":this;if(typeof z!="string"){if(!this._parts.path||this._parts.path==="/")return"";var le=this._parts.path.lastIndexOf("/"),Ae=this._parts.path.substring(le+1);return z?x.decodePathSegment(Ae):Ae}else{var he=!1;z.charAt(0)==="/"&&(z=z.substring(1)),z.match(/\.?\//)&&(he=!0);var ge=new RegExp(Q(this.filename())+"$");return z=x.recodePath(z),this._parts.path=this._parts.path.replace(ge,z),he?this.normalizePath(oe):this.build(!oe),this}},v.suffix=function(z,oe){if(this._parts.urn)return z===void 0?"":this;if(z===void 0||z===!0){if(!this._parts.path||this._parts.path==="/")return"";var le=this.filename(),Ae=le.lastIndexOf("."),he,ge;return Ae===-1?"":(he=le.substring(Ae+1),ge=/^[a-z0-9%]+$/i.test(he)?he:"",z?x.decodePathSegment(ge):ge)}else{z.charAt(0)==="."&&(z=z.substring(1));var de=this.suffix(),fe;if(de)z?fe=new RegExp(Q(de)+"$"):fe=new RegExp(Q("."+de)+"$");else{if(!z)return this;this._parts.path+="."+x.recodePath(z)}return fe&&(z=x.recodePath(z),this._parts.path=this._parts.path.replace(fe,z)),this.build(!oe),this}},v.segment=function(z,oe,le){var Ae=this._parts.urn?":":"/",he=this.path(),ge=he.substring(0,1)==="/",de=he.split(Ae);if(z!==void 0&&typeof z!="number"&&(le=oe,oe=z,z=void 0),z!==void 0&&typeof z!="number")throw new Error('Bad segment "'+z+'", must be 0-based integer');if(ge&&de.shift(),z<0&&(z=Math.max(de.length+z,0)),oe===void 0)return z===void 0?de:de[z];if(z===null||de[z]===void 0)if(B(oe)){de=[];for(var fe=0,G=oe.length;fe{"use strict";A.exports=m;var f=1e20;function m(I,x){x||(x={});var y=x.cutoff==null?.25:x.cutoff,v=x.radius==null?8:x.radius,w=x.channel||0,Q,M,B,D,S,P,R,T,L,F,U;if(ArrayBuffer.isView(I)||Array.isArray(I)){if(!x.width||!x.height)throw Error("For raw data width and height should be provided by options");Q=x.width,M=x.height,D=I,x.stride?P=x.stride:P=Math.floor(I.length/Q/M)}else window.HTMLCanvasElement&&I instanceof window.HTMLCanvasElement?(T=I,R=T.getContext("2d"),Q=T.width,M=T.height,L=R.getImageData(0,0,Q,M),D=L.data,P=4):window.CanvasRenderingContext2D&&I instanceof window.CanvasRenderingContext2D?(T=I.canvas,R=I,Q=T.width,M=T.height,L=R.getImageData(0,0,Q,M),D=L.data,P=4):window.ImageData&&I instanceof window.ImageData&&(L=I,Q=I.width,M=I.height,D=L.data,P=4);if(B=Math.max(Q,M),window.Uint8ClampedArray&&D instanceof window.Uint8ClampedArray||window.Uint8Array&&D instanceof window.Uint8Array)for(S=D,D=Array(Q*M),F=0,U=Math.floor(S.length/P);F{function f(){var m=0,C=1,E=2,I=3,x=4,y=5,v=6,w=7,Q=8,M=9,B=10,D=11,S=12,P=13,R=14,T=15,L=16,F=17,U=0,N=1,H=2,J=3,K=4;function X(z,oe){return 55296<=z.charCodeAt(oe)&&z.charCodeAt(oe)<=56319&&56320<=z.charCodeAt(oe+1)&&z.charCodeAt(oe+1)<=57343}function j(z,oe){oe===void 0&&(oe=0);var le=z.charCodeAt(oe);if(55296<=le&&le<=56319&&oe=1){var Ae=z.charCodeAt(oe-1),he=le;return 55296<=Ae&&Ae<=56319?(Ae-55296)*1024+(he-56320)+65536:he}return le}function ee(z,oe,le){var Ae=[z].concat(oe).concat([le]),he=Ae[Ae.length-2],ge=le,de=Ae.lastIndexOf(R);if(de>1&&Ae.slice(1,de).every(function(Y){return Y==I})&&[I,P,F].indexOf(z)==-1)return H;var fe=Ae.lastIndexOf(x);if(fe>0&&Ae.slice(1,fe).every(function(Y){return Y==x})&&[S,x].indexOf(he)==-1)return Ae.filter(function(Y){return Y==x}).length%2==1?J:K;if(he==m&&ge==C)return U;if(he==E||he==m||he==C)return ge==R&&oe.every(function(Y){return Y==I})?H:N;if(ge==E||ge==m||ge==C)return N;if(he==v&&(ge==v||ge==w||ge==M||ge==B)||(he==M||he==w)&&(ge==w||ge==Q)||(he==B||he==Q)&&ge==Q||ge==I||ge==T||ge==y||he==S)return U;var G=Ae.indexOf(I)!=-1?Ae.lastIndexOf(I)-1:Ae.length-2;return[P,F].indexOf(Ae[G])!=-1&&Ae.slice(G+1,-1).every(function(Y){return Y==I})&&ge==R||he==T&&[L,F].indexOf(ge)!=-1?U:oe.indexOf(x)!=-1?H:he==x&&ge==x?U:N}this.nextBreak=function(z,oe){if(oe===void 0&&(oe=0),oe<0)return 0;if(oe>=z.length-1)return z.length;for(var le=ie(j(z,oe)),Ae=[],he=oe+1;he{var A;typeof window<"u"?A=window.__DEV__:typeof global<"u"&&(A=global.__DEV__),typeof A>"u"&&(A=!0);var f=A;o.__DEV__=f}),Uke=Et((o,A)=>{var f=2311;function m(){return f++}A.exports=m}),mg=Et((o,A)=>{var f={};typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?f={browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:typeof document>"u"&&typeof self<"u"?f={browser:{},os:{},node:!1,worker:!0,canvasSupported:!0,domSupported:!1}:typeof navigator>"u"?f={browser:{},os:{},node:!0,worker:!1,canvasSupported:!0,svgSupported:!0,domSupported:!1}:f=C(navigator.userAgent);var m=f;function C(E){var I={},x={},y=E.match(/Firefox\/([\d.]+)/),v=E.match(/MSIE\s([\d.]+)/)||E.match(/Trident\/.+?rv:(([\d.]+))/),w=E.match(/Edge\/([\d.]+)/),Q=/micromessenger/i.test(E);return y&&(x.firefox=!0,x.version=y[1]),v&&(x.ie=!0,x.version=v[1]),w&&(x.edge=!0,x.version=w[1]),Q&&(x.weChat=!0),{browser:x,os:I,node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:typeof SVGRect<"u",touchEventsSupported:"ontouchstart"in window&&!x.ie&&!x.edge,pointerEventsSupported:"onpointerdown"in window&&(x.edge||x.ie&&x.version>=11),domSupported:typeof document<"u"}}A.exports=m}),mi=Et(o=>{var A={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},f={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},m=Object.prototype.toString,C=Array.prototype,E=C.forEach,I=C.filter,x=C.slice,y=C.map,v=C.reduce,w={};function Q(Pe,we){Pe==="createCanvas"&&(T=null),w[Pe]=we}function M(Pe){if(Pe==null||typeof Pe!="object")return Pe;var we=Pe,Fe=m.call(Pe);if(Fe==="[object Array]"){if(!Be(Pe)){we=[];for(var Ue=0,ze=Pe.length;Ue{var A=typeof Float32Array>"u"?Array:Float32Array;function f(j,ee){var ie=new A(2);return j==null&&(j=0),ee==null&&(ee=0),ie[0]=j,ie[1]=ee,ie}function m(j,ee){return j[0]=ee[0],j[1]=ee[1],j}function C(j){var ee=new A(2);return ee[0]=j[0],ee[1]=j[1],ee}function E(j,ee,ie){return j[0]=ee,j[1]=ie,j}function I(j,ee,ie){return j[0]=ee[0]+ie[0],j[1]=ee[1]+ie[1],j}function x(j,ee,ie,z){return j[0]=ee[0]+ie[0]*z,j[1]=ee[1]+ie[1]*z,j}function y(j,ee,ie){return j[0]=ee[0]-ie[0],j[1]=ee[1]-ie[1],j}function v(j){return Math.sqrt(Q(j))}var w=v;function Q(j){return j[0]*j[0]+j[1]*j[1]}var M=Q;function B(j,ee,ie){return j[0]=ee[0]*ie[0],j[1]=ee[1]*ie[1],j}function D(j,ee,ie){return j[0]=ee[0]/ie[0],j[1]=ee[1]/ie[1],j}function S(j,ee){return j[0]*ee[0]+j[1]*ee[1]}function P(j,ee,ie){return j[0]=ee[0]*ie,j[1]=ee[1]*ie,j}function R(j,ee){var ie=v(ee);return ie===0?(j[0]=0,j[1]=0):(j[0]=ee[0]/ie,j[1]=ee[1]/ie),j}function T(j,ee){return Math.sqrt((j[0]-ee[0])*(j[0]-ee[0])+(j[1]-ee[1])*(j[1]-ee[1]))}var L=T;function F(j,ee){return(j[0]-ee[0])*(j[0]-ee[0])+(j[1]-ee[1])*(j[1]-ee[1])}var U=F;function N(j,ee){return j[0]=-ee[0],j[1]=-ee[1],j}function H(j,ee,ie,z){return j[0]=ee[0]+z*(ie[0]-ee[0]),j[1]=ee[1]+z*(ie[1]-ee[1]),j}function J(j,ee,ie){var z=ee[0],oe=ee[1];return j[0]=ie[0]*z+ie[2]*oe+ie[4],j[1]=ie[1]*z+ie[3]*oe+ie[5],j}function K(j,ee,ie){return j[0]=Math.min(ee[0],ie[0]),j[1]=Math.min(ee[1],ie[1]),j}function X(j,ee,ie){return j[0]=Math.max(ee[0],ie[0]),j[1]=Math.max(ee[1],ie[1]),j}o.create=f,o.copy=m,o.clone=C,o.set=E,o.add=I,o.scaleAndAdd=x,o.sub=y,o.len=v,o.length=w,o.lenSquare=Q,o.lengthSquare=M,o.mul=B,o.div=D,o.dot=S,o.scale=P,o.normalize=R,o.distance=T,o.dist=L,o.distanceSquare=F,o.distSquare=U,o.negate=N,o.lerp=H,o.applyTransform=J,o.min=K,o.max=X}),Yat=Et((o,A)=>{function f(){this.on("mousedown",this._dragStart,this),this.on("mousemove",this._drag,this),this.on("mouseup",this._dragEnd,this)}f.prototype={constructor:f,_dragStart:function(E){for(var I=E.target;I&&!I.draggable;)I=I.parent;I&&(this._draggingTarget=I,I.dragging=!0,this._x=E.offsetX,this._y=E.offsetY,this.dispatchToElement(m(I,E),"dragstart",E.event))},_drag:function(E){var I=this._draggingTarget;if(I){var x=E.offsetX,y=E.offsetY,v=x-this._x,w=y-this._y;this._x=x,this._y=y,I.drift(v,w,E),this.dispatchToElement(m(I,E),"drag",E.event);var Q=this.findHover(x,y,I).target,M=this._dropTarget;this._dropTarget=Q,I!==Q&&(M&&Q!==M&&this.dispatchToElement(m(M,E),"dragleave",E.event),Q&&Q!==M&&this.dispatchToElement(m(Q,E),"dragenter",E.event))}},_dragEnd:function(E){var I=this._draggingTarget;I&&(I.dragging=!1),this.dispatchToElement(m(I,E),"dragend",E.event),this._dropTarget&&this.dispatchToElement(m(this._dropTarget,E),"drop",E.event),this._draggingTarget=null,this._dropTarget=null}};function m(E,I){return{target:E,topTarget:I&&I.topTarget}}var C=f;A.exports=C}),KF=Et((o,A)=>{var f=Array.prototype.slice,m=function(x){this._$handlers={},this._$eventProcessor=x};m.prototype={constructor:m,one:function(x,y,v,w){return E(this,x,y,v,w,!0)},on:function(x,y,v,w){return E(this,x,y,v,w,!1)},isSilent:function(x){var y=this._$handlers;return!y[x]||!y[x].length},off:function(x,y){var v=this._$handlers;if(!x)return this._$handlers={},this;if(y){if(v[x]){for(var w=[],Q=0,M=v[x].length;Q3&&(w=f.call(w,1));for(var M=y.length,B=0;B4&&(w=f.call(w,1,w.length-1));for(var M=w[w.length-1],B=y.length,D=0;D{var A=Math.log(2);function f(C,E,I,x,y,v){var w=x+"-"+y,Q=C.length;if(v.hasOwnProperty(w))return v[w];if(E===1){var M=Math.round(Math.log((1<{var A=mg(),f=Jat(),m=f.buildTransformer,C="___zrEVENTSAVED",E=[];function I(Q,M,B,D,S){return x(E,M,D,S,!0)&&x(Q,B,E[0],E[1])}function x(Q,M,B,D,S){if(M.getBoundingClientRect&&A.domSupported&&!w(M)){var P=M[C]||(M[C]={}),R=y(M,P),T=v(R,P,S);if(T)return T(Q,B,D),!0}return!1}function y(Q,M){var B=M.markers;if(B)return B;B=M.markers=[];for(var D=["left","right"],S=["top","bottom"],P=0;P<4;P++){var R=document.createElement("div"),T=R.style,L=P%2,F=(P>>1)%2;T.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",D[L]+":0",S[F]+":0",D[1-L]+":auto",S[1-F]+":auto",""].join("!important;"),Q.appendChild(R),B.push(R)}return B}function v(Q,M,B){for(var D=B?"invTrans":"trans",S=M[D],P=M.srcCoords,R=!0,T=[],L=[],F=0;F<4;F++){var U=Q[F].getBoundingClientRect(),N=2*F,H=U.left,J=U.top;T.push(H,J),R=R&&P&&H===P[N]&&J===P[N+1],L.push(Q[F].offsetLeft,Q[F].offsetTop)}return R&&S?S:(M.srcCoords=T,M[D]=B?m(L,T):m(T,L))}function w(Q){return Q.nodeName.toUpperCase()==="CANVAS"}o.transformLocalCoord=I,o.transformCoordWithViewport=x,o.isCanvasEl=w}),U1=Et(o=>{var A=KF();o.Dispatcher=A;var f=mg(),m=Oke(),C=m.isCanvasEl,E=m.transformCoordWithViewport,I=typeof window<"u"&&!!window.addEventListener,x=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,y=[];function v(T,L,F,U){return F=F||{},U||!f.canvasSupported?w(T,L,F):f.browser.firefox&&L.layerX!=null&&L.layerX!==L.offsetX?(F.zrX=L.layerX,F.zrY=L.layerY):L.offsetX!=null?(F.zrX=L.offsetX,F.zrY=L.offsetY):w(T,L,F),F}function w(T,L,F){if(f.domSupported&&T.getBoundingClientRect){var U=L.clientX,N=L.clientY;if(C(T)){var H=T.getBoundingClientRect();F.zrX=U-H.left,F.zrY=N-H.top;return}else if(E(y,T,U,N)){F.zrX=y[0],F.zrY=y[1];return}}F.zrX=F.zrY=0}function Q(T){return T||window.event}function M(T,L,F){if(L=Q(L),L.zrX!=null)return L;var U=L.type,N=U&&U.indexOf("touch")>=0;if(!N)v(T,L,L,F),L.zrDelta=L.wheelDelta?L.wheelDelta/120:-(L.detail||0)/3;else{var H=U!=="touchend"?L.targetTouches[0]:L.changedTouches[0];H&&v(T,H,L,F)}var J=L.button;return L.which==null&&J!==void 0&&x.test(L.type)&&(L.which=J&1?1:J&2?3:J&4?2:0),L}function B(T,L,F,U){I?T.addEventListener(L,F,U):T.attachEvent("on"+L,F)}function D(T,L,F,U){I?T.removeEventListener(L,F,U):T.detachEvent("on"+L,F)}var S=I?function(T){T.preventDefault(),T.stopPropagation(),T.cancelBubble=!0}:function(T){T.returnValue=!1,T.cancelBubble=!0};function P(T){return T.which===2||T.which===3}function R(T){return T.which>1}o.clientToLocal=v,o.getNativeEvent=Q,o.normalizeEvent=M,o.addEventListener=B,o.removeEventListener=D,o.stop=S,o.isMiddleOrRightButtonOnMouseUpDown=P,o.notLeftMouse=R}),Kat=Et((o,A)=>{var f=U1(),m=function(){this._track=[]};m.prototype={constructor:m,recognize:function(y,v,w){return this._doTrack(y,v,w),this._recognize(y)},clear:function(){return this._track.length=0,this},_doTrack:function(y,v,w){var Q=y.touches;if(Q){for(var M={points:[],touches:[],target:v,event:y},B=0,D=Q.length;B1&&Q&&Q.length>1){var B=C(Q)/C(M);!isFinite(B)&&(B=1),v.pinchScale=B;var D=E(Q);return v.pinchX=D[0],v.pinchY=D[1],{type:"pinch",target:y[0].target,event:v}}}}},x=m;A.exports=x}),Wat=Et((o,A)=>{var f=mi(),m=Zc(),C=Yat(),E=KF(),I=U1(),x=Kat(),y="silent";function v(R,T,L){return{type:R,event:L,target:T.target,topTarget:T.topTarget,cancelBubble:!1,offsetX:L.zrX,offsetY:L.zrY,gestureEvent:L.gestureEvent,pinchX:L.pinchX,pinchY:L.pinchY,pinchScale:L.pinchScale,wheelDelta:L.zrDelta,zrByTouch:L.zrByTouch,which:L.which,stop:w}}function w(){I.stop(this.event)}function Q(){}Q.prototype.dispose=function(){};var M=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],B=function(R,T,L,F){E.call(this),this.storage=R,this.painter=T,this.painterRoot=F,L=L||new Q,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,C.call(this),this.setHandlerProxy(L)};B.prototype={constructor:B,setHandlerProxy:function(R){this.proxy&&this.proxy.dispose(),R&&(f.each(M,function(T){R.on&&R.on(T,this[T],this)},this),R.handler=this),this.proxy=R},mousemove:function(R){var T=R.zrX,L=R.zrY,F=S(this,T,L),U=this._hovered,N=U.target;N&&!N.__zr&&(U=this.findHover(U.x,U.y),N=U.target);var H=this._hovered=F?{x:T,y:L}:this.findHover(T,L),J=H.target,K=this.proxy;K.setCursor&&K.setCursor(J?J.cursor:"default"),N&&J!==N&&this.dispatchToElement(U,"mouseout",R),this.dispatchToElement(H,"mousemove",R),J&&J!==N&&this.dispatchToElement(H,"mouseover",R)},mouseout:function(R){var T=R.zrEventControl,L=R.zrIsToLocalDOM;T!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",R),T!=="no_globalout"&&!L&&this.trigger("globalout",{type:"globalout",event:R})},resize:function(R){this._hovered={}},dispatch:function(R,T){var L=this[R];L&&L.call(this,T)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(R){var T=this.proxy;T.setCursor&&T.setCursor(R)},dispatchToElement:function(R,T,L){R=R||{};var F=R.target;if(!(F&&F.silent)){for(var U="on"+T,N=v(T,R,L);F&&(F[U]&&(N.cancelBubble=F[U].call(F,N)),F.trigger(T,N),F=F.parent,!N.cancelBubble););N.cancelBubble||(this.trigger(T,N),this.painter&&this.painter.eachOtherLayer(function(H){typeof H[U]=="function"&&H[U].call(H,N),H.trigger&&H.trigger(T,N)}))}},findHover:function(R,T,L){for(var F=this.storage.getDisplayList(),U={x:R,y:T},N=F.length-1;N>=0;N--){var H;if(F[N]!==L&&!F[N].ignore&&(H=D(F[N],R,T))&&(!U.topTarget&&(U.topTarget=F[N]),H!==y)){U.target=F[N];break}}return U},processGesture:function(R,T){this._gestureMgr||(this._gestureMgr=new x);var L=this._gestureMgr;T==="start"&&L.clear();var F=L.recognize(R,this.findHover(R.zrX,R.zrY,null).target,this.proxy.dom);if(T==="end"&&L.clear(),F){var U=F.type;R.gestureEvent=U,this.dispatchToElement({target:F.target},U,F.event)}}},f.each(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(R){B.prototype[R]=function(T){var L=T.zrX,F=T.zrY,U=S(this,L,F),N,H;if((R!=="mouseup"||!U)&&(N=this.findHover(L,F),H=N.target),R==="mousedown")this._downEl=H,this._downPoint=[T.zrX,T.zrY],this._upEl=H;else if(R==="mouseup")this._upEl=H;else if(R==="click"){if(this._downEl!==this._upEl||!this._downPoint||m.dist(this._downPoint,[T.zrX,T.zrY])>4)return;this._downPoint=null}this.dispatchToElement(N,R,T)}});function D(R,T,L){if(R[R.rectHover?"rectContain":"contain"](T,L)){for(var F=R,U;F;){if(F.clipPath&&!F.clipPath.contain(T,L))return!1;F.silent&&(U=!0),F=F.parent}return U?y:!0}return!1}function S(R,T,L){var F=R.painter;return T<0||T>F.getWidth()||L<0||L>F.getHeight()}f.mixin(B,E),f.mixin(B,C);var P=B;A.exports=P}),UC=Et(o=>{var A=typeof Float32Array>"u"?Array:Float32Array;function f(){var Q=new A(6);return m(Q),Q}function m(Q){return Q[0]=1,Q[1]=0,Q[2]=0,Q[3]=1,Q[4]=0,Q[5]=0,Q}function C(Q,M){return Q[0]=M[0],Q[1]=M[1],Q[2]=M[2],Q[3]=M[3],Q[4]=M[4],Q[5]=M[5],Q}function E(Q,M,B){var D=M[0]*B[0]+M[2]*B[1],S=M[1]*B[0]+M[3]*B[1],P=M[0]*B[2]+M[2]*B[3],R=M[1]*B[2]+M[3]*B[3],T=M[0]*B[4]+M[2]*B[5]+M[4],L=M[1]*B[4]+M[3]*B[5]+M[5];return Q[0]=D,Q[1]=S,Q[2]=P,Q[3]=R,Q[4]=T,Q[5]=L,Q}function I(Q,M,B){return Q[0]=M[0],Q[1]=M[1],Q[2]=M[2],Q[3]=M[3],Q[4]=M[4]+B[0],Q[5]=M[5]+B[1],Q}function x(Q,M,B){var D=M[0],S=M[2],P=M[4],R=M[1],T=M[3],L=M[5],F=Math.sin(B),U=Math.cos(B);return Q[0]=D*U+R*F,Q[1]=-D*F+R*U,Q[2]=S*U+T*F,Q[3]=-S*F+U*T,Q[4]=U*P+F*L,Q[5]=U*L-F*P,Q}function y(Q,M,B){var D=B[0],S=B[1];return Q[0]=M[0]*D,Q[1]=M[1]*S,Q[2]=M[2]*D,Q[3]=M[3]*S,Q[4]=M[4]*D,Q[5]=M[5]*S,Q}function v(Q,M){var B=M[0],D=M[2],S=M[4],P=M[1],R=M[3],T=M[5],L=B*R-P*D;return L?(L=1/L,Q[0]=R*L,Q[1]=-P*L,Q[2]=-D*L,Q[3]=B*L,Q[4]=(D*T-R*S)*L,Q[5]=(P*S-B*T)*L,Q):null}function w(Q){var M=f();return C(M,Q),M}o.create=f,o.identity=m,o.copy=C,o.mul=E,o.translate=I,o.rotate=x,o.scale=y,o.invert=v,o.clone=w}),cZ=Et((o,A)=>{var f=UC(),m=Zc(),C=f.identity,E=5e-5;function I(B){return B>E||B<-E}var x=function(B){B=B||{},B.position||(this.position=[0,0]),B.rotation==null&&(this.rotation=0),B.scale||(this.scale=[1,1]),this.origin=this.origin||null},y=x.prototype;y.transform=null,y.needLocalTransform=function(){return I(this.rotation)||I(this.position[0])||I(this.position[1])||I(this.scale[0]-1)||I(this.scale[1]-1)};var v=[];y.updateTransform=function(){var B=this.parent,D=B&&B.transform,S=this.needLocalTransform(),P=this.transform;if(!(S||D)){P&&C(P);return}P=P||f.create(),S?this.getLocalTransform(P):C(P),D&&(S?f.mul(P,B.transform,P):f.copy(P,B.transform)),this.transform=P;var R=this.globalScaleRatio;if(R!=null&&R!==1){this.getGlobalScale(v);var T=v[0]<0?-1:1,L=v[1]<0?-1:1,F=((v[0]-T)*R+T)/v[0]||0,U=((v[1]-L)*R+L)/v[1]||0;P[0]*=F,P[1]*=F,P[2]*=U,P[3]*=U}this.invTransform=this.invTransform||f.create(),f.invert(this.invTransform,P)},y.getLocalTransform=function(B){return x.getLocalTransform(this,B)},y.setTransform=function(B){var D=this.transform,S=B.dpr||1;D?B.setTransform(S*D[0],S*D[1],S*D[2],S*D[3],S*D[4],S*D[5]):B.setTransform(S,0,0,S,0,0)},y.restoreTransform=function(B){var D=B.dpr||1;B.setTransform(D,0,0,D,0,0)};var w=[],Q=f.create();y.setLocalTransform=function(B){if(B){var D=B[0]*B[0]+B[1]*B[1],S=B[2]*B[2]+B[3]*B[3],P=this.position,R=this.scale;I(D-1)&&(D=Math.sqrt(D)),I(S-1)&&(S=Math.sqrt(S)),B[0]<0&&(D=-D),B[3]<0&&(S=-S),P[0]=B[4],P[1]=B[5],R[0]=D,R[1]=S,this.rotation=Math.atan2(-B[1]/S,B[0]/D)}},y.decomposeTransform=function(){if(this.transform){var B=this.parent,D=this.transform;B&&B.transform&&(f.mul(w,B.invTransform,D),D=w);var S=this.origin;S&&(S[0]||S[1])&&(Q[4]=S[0],Q[5]=S[1],f.mul(w,D,Q),w[4]-=S[0],w[5]-=S[1],D=w),this.setLocalTransform(D)}},y.getGlobalScale=function(B){var D=this.transform;return B=B||[],D?(B[0]=Math.sqrt(D[0]*D[0]+D[1]*D[1]),B[1]=Math.sqrt(D[2]*D[2]+D[3]*D[3]),D[0]<0&&(B[0]=-B[0]),D[3]<0&&(B[1]=-B[1]),B):(B[0]=1,B[1]=1,B)},y.transformCoordToLocal=function(B,D){var S=[B,D],P=this.invTransform;return P&&m.applyTransform(S,S,P),S},y.transformCoordToGlobal=function(B,D){var S=[B,D],P=this.transform;return P&&m.applyTransform(S,S,P),S},x.getLocalTransform=function(B,D){D=D||[],C(D);var S=B.origin,P=B.scale||[1,1],R=B.rotation||0,T=B.position||[0,0];return S&&(D[4]-=S[0],D[5]-=S[1]),f.scale(D,D,P),R&&f.rotate(D,D,R),S&&(D[4]+=S[0],D[5]+=S[1]),D[4]+=T[0],D[5]+=T[1],D};var M=x;A.exports=M}),qat=Et((o,A)=>{var f={linear:function(C){return C},quadraticIn:function(C){return C*C},quadraticOut:function(C){return C*(2-C)},quadraticInOut:function(C){return(C*=2)<1?.5*C*C:-.5*(--C*(C-2)-1)},cubicIn:function(C){return C*C*C},cubicOut:function(C){return--C*C*C+1},cubicInOut:function(C){return(C*=2)<1?.5*C*C*C:.5*((C-=2)*C*C+2)},quarticIn:function(C){return C*C*C*C},quarticOut:function(C){return 1- --C*C*C*C},quarticInOut:function(C){return(C*=2)<1?.5*C*C*C*C:-.5*((C-=2)*C*C*C-2)},quinticIn:function(C){return C*C*C*C*C},quinticOut:function(C){return--C*C*C*C*C+1},quinticInOut:function(C){return(C*=2)<1?.5*C*C*C*C*C:.5*((C-=2)*C*C*C*C+2)},sinusoidalIn:function(C){return 1-Math.cos(C*Math.PI/2)},sinusoidalOut:function(C){return Math.sin(C*Math.PI/2)},sinusoidalInOut:function(C){return .5*(1-Math.cos(Math.PI*C))},exponentialIn:function(C){return C===0?0:Math.pow(1024,C-1)},exponentialOut:function(C){return C===1?1:1-Math.pow(2,-10*C)},exponentialInOut:function(C){return C===0?0:C===1?1:(C*=2)<1?.5*Math.pow(1024,C-1):.5*(-Math.pow(2,-10*(C-1))+2)},circularIn:function(C){return 1-Math.sqrt(1-C*C)},circularOut:function(C){return Math.sqrt(1- --C*C)},circularInOut:function(C){return(C*=2)<1?-.5*(Math.sqrt(1-C*C)-1):.5*(Math.sqrt(1-(C-=2)*C)+1)},elasticIn:function(C){var E,I=.1,x=.4;return C===0?0:C===1?1:(!I||I<1?(I=1,E=x/4):E=x*Math.asin(1/I)/(2*Math.PI),-(I*Math.pow(2,10*(C-=1))*Math.sin((C-E)*(2*Math.PI)/x)))},elasticOut:function(C){var E,I=.1,x=.4;return C===0?0:C===1?1:(!I||I<1?(I=1,E=x/4):E=x*Math.asin(1/I)/(2*Math.PI),I*Math.pow(2,-10*C)*Math.sin((C-E)*(2*Math.PI)/x)+1)},elasticInOut:function(C){var E,I=.1,x=.4;return C===0?0:C===1?1:(!I||I<1?(I=1,E=x/4):E=x*Math.asin(1/I)/(2*Math.PI),(C*=2)<1?-.5*(I*Math.pow(2,10*(C-=1))*Math.sin((C-E)*(2*Math.PI)/x)):I*Math.pow(2,-10*(C-=1))*Math.sin((C-E)*(2*Math.PI)/x)*.5+1)},backIn:function(C){var E=1.70158;return C*C*((E+1)*C-E)},backOut:function(C){var E=1.70158;return--C*C*((E+1)*C+E)+1},backInOut:function(C){var E=2.5949095;return(C*=2)<1?.5*(C*C*((E+1)*C-E)):.5*((C-=2)*C*((E+1)*C+E)+2)},bounceIn:function(C){return 1-f.bounceOut(1-C)},bounceOut:function(C){return C<.36363636363636365?7.5625*C*C:C<.7272727272727273?7.5625*(C-=.5454545454545454)*C+.75:C<.9090909090909091?7.5625*(C-=.8181818181818182)*C+.9375:7.5625*(C-=.9545454545454546)*C+.984375},bounceInOut:function(C){return C<.5?f.bounceIn(C*2)*.5:f.bounceOut(C*2-1)*.5+.5}},m=f;A.exports=m}),jat=Et((o,A)=>{var f=qat();function m(E){this._target=E.target,this._life=E.life||1e3,this._delay=E.delay||0,this._initialized=!1,this.loop=E.loop==null?!1:E.loop,this.gap=E.gap||0,this.easing=E.easing||"Linear",this.onframe=E.onframe,this.ondestroy=E.ondestroy,this.onrestart=E.onrestart,this._pausedTime=0,this._paused=!1}m.prototype={constructor:m,step:function(E,I){if(this._initialized||(this._startTime=E+this._delay,this._initialized=!0),this._paused){this._pausedTime+=I;return}var x=(E-this._startTime-this._pausedTime)/this._life;if(!(x<0)){x=Math.min(x,1);var y=this.easing,v=typeof y=="string"?f[y]:y,w=typeof v=="function"?v(x):x;return this.fire("frame",w),x===1?this.loop?(this.restart(E),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(E){var I=(E-this._startTime-this._pausedTime)%this._life;this._startTime=E-I+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(E,I){E="on"+E,this[E]&&this[E](this._target,I)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var C=m;A.exports=C}),Gke=Et((o,A)=>{var f=function(){this.head=null,this.tail=null,this._len=0},m=f.prototype;m.insert=function(y){var v=new C(y);return this.insertEntry(v),v},m.insertEntry=function(y){this.head?(this.tail.next=y,y.prev=this.tail,y.next=null,this.tail=y):this.head=this.tail=y,this._len++},m.remove=function(y){var v=y.prev,w=y.next;v?v.next=w:this.head=w,w?w.prev=v:this.tail=v,y.next=y.prev=null,this._len--},m.len=function(){return this._len},m.clear=function(){this.head=this.tail=null,this._len=0};var C=function(y){this.value=y,this.next,this.prev},E=function(y){this._list=new f,this._map={},this._maxSize=y||10,this._lastRemovedEntry=null},I=E.prototype;I.put=function(y,v){var w=this._list,Q=this._map,M=null;if(Q[y]==null){var B=w.len(),D=this._lastRemovedEntry;if(B>=this._maxSize&&B>0){var S=w.head;w.remove(S),delete Q[S.key],M=S.value,this._lastRemovedEntry=S}D?D.value=v:D=new C(v),D.key=y,w.insertEntry(D),Q[y]=D}return M},I.get=function(y){var v=this._map[y],w=this._list;if(v!=null)return v!==w.tail&&(w.remove(v),w.insertEntry(v)),v.value},I.clear=function(){this._list.clear(),this._map={}};var x=E;A.exports=x}),O1=Et(o=>{var A=Gke(),f={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function m(j){return j=Math.round(j),j<0?0:j>255?255:j}function C(j){return j=Math.round(j),j<0?0:j>360?360:j}function E(j){return j<0?0:j>1?1:j}function I(j){return j.length&&j.charAt(j.length-1)==="%"?m(parseFloat(j)/100*255):m(parseInt(j,10))}function x(j){return j.length&&j.charAt(j.length-1)==="%"?E(parseFloat(j)/100):E(parseFloat(j))}function y(j,ee,ie){return ie<0?ie+=1:ie>1&&(ie-=1),ie*6<1?j+(ee-j)*ie*6:ie*2<1?ee:ie*3<2?j+(ee-j)*(2/3-ie)*6:j}function v(j,ee,ie){return j+(ee-j)*ie}function w(j,ee,ie,z,oe){return j[0]=ee,j[1]=ie,j[2]=z,j[3]=oe,j}function Q(j,ee){return j[0]=ee[0],j[1]=ee[1],j[2]=ee[2],j[3]=ee[3],j}var M=new A(20),B=null;function D(j,ee){B&&Q(B,ee),B=M.put(j,B||ee.slice())}function S(j,ee){if(j){ee=ee||[];var ie=M.get(j);if(ie)return Q(ee,ie);j=j+"";var z=j.replace(/ /g,"").toLowerCase();if(z in f)return Q(ee,f[z]),D(j,ee),ee;if(z.charAt(0)==="#"){if(z.length===4){var oe=parseInt(z.substr(1),16);if(!(oe>=0&&oe<=4095)){w(ee,0,0,0,1);return}return w(ee,(oe&3840)>>4|(oe&3840)>>8,oe&240|(oe&240)>>4,oe&15|(oe&15)<<4,1),D(j,ee),ee}else if(z.length===7){var oe=parseInt(z.substr(1),16);if(!(oe>=0&&oe<=16777215)){w(ee,0,0,0,1);return}return w(ee,(oe&16711680)>>16,(oe&65280)>>8,oe&255,1),D(j,ee),ee}return}var le=z.indexOf("("),Ae=z.indexOf(")");if(le!==-1&&Ae+1===z.length){var he=z.substr(0,le),ge=z.substr(le+1,Ae-(le+1)).split(","),de=1;switch(he){case"rgba":if(ge.length!==4){w(ee,0,0,0,1);return}de=x(ge.pop());case"rgb":if(ge.length!==3){w(ee,0,0,0,1);return}return w(ee,I(ge[0]),I(ge[1]),I(ge[2]),de),D(j,ee),ee;case"hsla":if(ge.length!==4){w(ee,0,0,0,1);return}return ge[3]=x(ge[3]),P(ge,ee),D(j,ee),ee;case"hsl":if(ge.length!==3){w(ee,0,0,0,1);return}return P(ge,ee),D(j,ee),ee;default:return}}w(ee,0,0,0,1)}}function P(j,ee){var ie=(parseFloat(j[0])%360+360)%360/360,z=x(j[1]),oe=x(j[2]),le=oe<=.5?oe*(z+1):oe+z-oe*z,Ae=oe*2-le;return ee=ee||[],w(ee,m(y(Ae,le,ie+1/3)*255),m(y(Ae,le,ie)*255),m(y(Ae,le,ie-1/3)*255),1),j.length===4&&(ee[3]=j[3]),ee}function R(j){if(j){var ee=j[0]/255,ie=j[1]/255,z=j[2]/255,oe=Math.min(ee,ie,z),le=Math.max(ee,ie,z),Ae=le-oe,he=(le+oe)/2,ge,de;if(Ae===0)ge=0,de=0;else{he<.5?de=Ae/(le+oe):de=Ae/(2-le-oe);var fe=((le-ee)/6+Ae/2)/Ae,G=((le-ie)/6+Ae/2)/Ae,Y=((le-z)/6+Ae/2)/Ae;ee===le?ge=Y-G:ie===le?ge=1/3+fe-Y:z===le&&(ge=2/3+G-fe),ge<0&&(ge+=1),ge>1&&(ge-=1)}var W=[ge*360,de,he];return j[3]!=null&&W.push(j[3]),W}}function T(j,ee){var ie=S(j);if(ie){for(var z=0;z<3;z++)ee<0?ie[z]=ie[z]*(1-ee)|0:ie[z]=(255-ie[z])*ee+ie[z]|0,ie[z]>255?ie[z]=255:j[z]<0&&(ie[z]=0);return X(ie,ie.length===4?"rgba":"rgb")}}function L(j){var ee=S(j);if(ee)return((1<<24)+(ee[0]<<16)+(ee[1]<<8)+ +ee[2]).toString(16).slice(1)}function F(j,ee,ie){if(!(!(ee&&ee.length)||!(j>=0&&j<=1))){ie=ie||[];var z=j*(ee.length-1),oe=Math.floor(z),le=Math.ceil(z),Ae=ee[oe],he=ee[le],ge=z-oe;return ie[0]=m(v(Ae[0],he[0],ge)),ie[1]=m(v(Ae[1],he[1],ge)),ie[2]=m(v(Ae[2],he[2],ge)),ie[3]=E(v(Ae[3],he[3],ge)),ie}}var U=F;function N(j,ee,ie){if(!(!(ee&&ee.length)||!(j>=0&&j<=1))){var z=j*(ee.length-1),oe=Math.floor(z),le=Math.ceil(z),Ae=S(ee[oe]),he=S(ee[le]),ge=z-oe,de=X([m(v(Ae[0],he[0],ge)),m(v(Ae[1],he[1],ge)),m(v(Ae[2],he[2],ge)),E(v(Ae[3],he[3],ge))],"rgba");return ie?{color:de,leftIndex:oe,rightIndex:le,value:z}:de}}var H=N;function J(j,ee,ie,z){if(j=S(j),j)return j=R(j),ee!=null&&(j[0]=C(ee)),ie!=null&&(j[1]=x(ie)),z!=null&&(j[2]=x(z)),X(P(j),"rgba")}function K(j,ee){if(j=S(j),j&&ee!=null)return j[3]=E(ee),X(j,"rgba")}function X(j,ee){if(!(!j||!j.length)){var ie=j[0]+","+j[1]+","+j[2];return(ee==="rgba"||ee==="hsva"||ee==="hsla")&&(ie+=","+j[3]),ee+"("+ie+")"}}o.parse=S,o.lift=T,o.toHex=L,o.fastLerp=F,o.fastMapToColor=U,o.lerp=N,o.mapToColor=H,o.modifyHSL=J,o.modifyAlpha=K,o.stringify=X}),Hke=Et((o,A)=>{var f=jat(),m=O1(),C=mi(),E=C.isArrayLike,I=Array.prototype.slice;function x(N,H){return N[H]}function y(N,H,J){N[H]=J}function v(N,H,J){return(H-N)*J+N}function w(N,H,J){return J>.5?H:N}function Q(N,H,J,K,X){var j=N.length;if(X===1)for(var ee=0;eeX;if(j)N.length=X;else for(var ee=K;ee=0&&!(G[je]<=Je);je--);je=Math.min(je,oe-2)}else{for(je=Ce;jeJe);je++);je=Math.min(je-1,oe-2)}Ce=je,ye=Je;var Ze=G[je+1]-G[je];if(Ze!==0)if(Me=(Je-G[je])/Ze,z)if(ke=Y[je],He=Y[je===0?je:je-1],Ne=Y[je>oe-2?oe-1:je+1],Pe=Y[je>oe-3?oe-1:je+2],Ae)D(He,ke,Ne,Pe,Me,Me*Me,Me*Me*Me,ee(ze,X),de);else{var rt;if(he)rt=D(He,ke,Ne,Pe,Me,Me*Me,Me*Me*Me,we,1),rt=R(we);else{if(ge)return w(ke,Ne,Me);rt=S(He,ke,Ne,Pe,Me,Me*Me,Me*Me*Me)}ie(ze,X,rt)}else if(Ae)Q(Y[je],Y[je+1],Me,ee(ze,X),de);else{var rt;if(he)Q(Y[je],Y[je+1],Me,we,1),rt=R(we);else{if(ge)return w(Y[je],Y[je+1],Me);rt=v(Y[je],Y[je+1],Me)}ie(ze,X,rt)}},Ue=new f({target:N._target,life:fe,loop:N._loop,delay:N._delay,onframe:Fe,ondestroy:J});return H&&H!=="spline"&&(Ue.easing=H),Ue}}}var F=function(N,H,J,K){this._tracks={},this._target=N,this._loop=H||!1,this._getter=J||x,this._setter=K||y,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};F.prototype={when:function(N,H){var J=this._tracks;for(var K in H)if(H.hasOwnProperty(K)){if(!J[K]){J[K]=[];var X=this._getter(this._target,K);if(X==null)continue;N!==0&&J[K].push({time:0,value:P(X)})}J[K].push({time:N,value:H[K]})}return this},during:function(N){return this._onframeList.push(N),this},pause:function(){for(var N=0;N{var A=1;typeof window<"u"&&(A=Math.max(window.devicePixelRatio||1,1));var f=0,m=A;o.debugMode=f,o.devicePixelRatio=m}),x9=Et((o,A)=>{var f=hZ(),m=f.debugMode,C=function(){};m===1&&(C=console.error);var E=C;A.exports=E}),Xat=Et((o,A)=>{var f=Hke(),m=x9(),C=mi(),E=C.isString,I=C.isFunction,x=C.isObject,y=C.isArrayLike,v=C.indexOf,w=function(){this.animators=[]};w.prototype={constructor:w,animate:function(S,P){var R,T=!1,L=this,F=this.__zr;if(S){var U=S.split("."),N=L;T=U[0]==="shape";for(var H=0,J=U.length;H0&&S.animate(P,!1).when(L??500,N).delay(F||0)}function B(S,P,R,T){if(!P)S.attr(R,T);else{var L={};L[P]={},L[P][R]=T,S.attr(L)}}var D=w;A.exports=D}),Vke=Et((o,A)=>{var f=Uke(),m=KF(),C=cZ(),E=Xat(),I=mi(),x=function(v){C.call(this,v),m.call(this,v),E.call(this,v),this.id=v.id||f()};x.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(v,w){switch(this.draggable){case"horizontal":w=0;break;case"vertical":v=0;break}var Q=this.transform;Q||(Q=this.transform=[1,0,0,1,0,0]),Q[4]+=v,Q[5]+=w,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(v,w){},attrKV:function(v,w){if(v==="position"||v==="scale"||v==="origin"){if(w){var Q=this[v];Q||(Q=this[v]=[]),Q[0]=w[0],Q[1]=w[1]}}else this[v]=w},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(v,w){if(typeof v=="string")this.attrKV(v,w);else if(I.isObject(v))for(var Q in v)v.hasOwnProperty(Q)&&this.attrKV(Q,v[Q]);return this.dirty(!1),this},setClipPath:function(v){var w=this.__zr;w&&v.addSelfToZr(w),this.clipPath&&this.clipPath!==v&&this.removeClipPath(),this.clipPath=v,v.__zr=w,v.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var v=this.clipPath;v&&(v.__zr&&v.removeSelfFromZr(v.__zr),v.__zr=null,v.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(v){this.__zr=v;var w=this.animators;if(w)for(var Q=0;Q{var f=Zc(),m=UC(),C=f.applyTransform,E=Math.min,I=Math.max;function x(v,w,Q,M){Q<0&&(v=v+Q,Q=-Q),M<0&&(w=w+M,M=-M),this.x=v,this.y=w,this.width=Q,this.height=M}x.prototype={constructor:x,union:function(v){var w=E(v.x,this.x),Q=E(v.y,this.y);this.width=I(v.x+v.width,this.x+this.width)-w,this.height=I(v.y+v.height,this.y+this.height)-Q,this.x=w,this.y=Q},applyTransform:function(){var v=[],w=[],Q=[],M=[];return function(B){if(B){v[0]=Q[0]=this.x,v[1]=M[1]=this.y,w[0]=M[0]=this.x+this.width,w[1]=Q[1]=this.y+this.height,C(v,v,B),C(w,w,B),C(Q,Q,B),C(M,M,B),this.x=E(v[0],w[0],Q[0],M[0]),this.y=E(v[1],w[1],Q[1],M[1]);var D=I(v[0],w[0],Q[0],M[0]),S=I(v[1],w[1],Q[1],M[1]);this.width=D-this.x,this.height=S-this.y}}}(),calculateTransform:function(v){var w=this,Q=v.width/w.width,M=v.height/w.height,B=m.create();return m.translate(B,B,[-w.x,-w.y]),m.scale(B,B,[Q,M]),m.translate(B,B,[v.x,v.y]),B},intersect:function(v){if(!v)return!1;v instanceof x||(v=x.create(v));var w=this,Q=w.x,M=w.x+w.width,B=w.y,D=w.y+w.height,S=v.x,P=v.x+v.width,R=v.y,T=v.y+v.height;return!(M=Q.x&&v<=Q.x+Q.width&&w>=Q.y&&w<=Q.y+Q.height},clone:function(){return new x(this.x,this.y,this.width,this.height)},copy:function(v){this.x=v.x,this.y=v.y,this.width=v.width,this.height=v.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},x.create=function(v){return new x(v.x,v.y,v.width,v.height)};var y=x;A.exports=y}),WF=Et((o,A)=>{var f=mi(),m=Vke(),C=Eh(),E=function(x){x=x||{},m.call(this,x);for(var y in x)x.hasOwnProperty(y)&&(this[y]=x[y]);this._children=[],this.__storage=null,this.__dirty=!0};E.prototype={constructor:E,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(x){return this._children[x]},childOfName:function(x){for(var y=this._children,v=0;v=0&&(v.splice(w,0,x),this._doAdd(x))}return this},_doAdd:function(x){x.parent&&x.parent.remove(x),x.parent=this;var y=this.__storage,v=this.__zr;y&&y!==x.__storage&&(y.addToStorage(x),x instanceof E&&x.addChildrenToStorage(y)),v&&v.refresh()},remove:function(x){var y=this.__zr,v=this.__storage,w=this._children,Q=f.indexOf(w,x);return Q<0?this:(w.splice(Q,1),x.parent=null,v&&(v.delFromStorage(x),x instanceof E&&x.delChildrenFromStorage(v)),y&&y.refresh(),this)},removeAll:function(){var x=this._children,y=this.__storage,v,w;for(w=0;w{var f=32,m=7,C=256;function E(B){for(var D=0;B>=f;)D|=B&1,B>>=1;return B+D}function I(B,D,S,P){var R=D+1;if(R===S)return 1;if(P(B[R++],B[D])<0){for(;R=0;)R++;return R-D}function x(B,D,S){for(S--;D>>1,R(T,B[U])<0?F=U:L=U+1;var N=P-L;switch(N){case 3:B[L+3]=B[L+2];case 2:B[L+2]=B[L+1];case 1:B[L+1]=B[L];break;default:for(;N>0;)B[L+N]=B[L+N-1],N--}B[L]=T}}function v(B,D,S,P,R,T){var L=0,F=0,U=1;if(T(B,D[S+R])>0){for(F=P-R;U0;)L=U,U=(U<<1)+1,U<=0&&(U=F);U>F&&(U=F),L+=R,U+=R}else{for(F=R+1;UF&&(U=F);var N=L;L=R-U,U=R-N}for(L++;L>>1);T(B,D[S+H])>0?L=H+1:U=H}return U}function w(B,D,S,P,R,T){var L=0,F=0,U=1;if(T(B,D[S+R])<0){for(F=R+1;UF&&(U=F);var N=L;L=R-U,U=R-N}else{for(F=P-R;U=0;)L=U,U=(U<<1)+1,U<=0&&(U=F);U>F&&(U=F),L+=R,U+=R}for(L++;L>>1);T(B,D[S+H])<0?U=H:L=H+1}return U}function Q(B,D){var S=m,P=0,R=C,T=0,L,F,U=0;P=B.length,P<2*C&&(R=P>>>1);var N=[];T=P<120?5:P<1542?10:P<119151?19:40,L=[],F=[];function H(ie,z){L[U]=ie,F[U]=z,U+=1}function J(){for(;U>1;){var ie=U-2;if(ie>=1&&F[ie-1]<=F[ie]+F[ie+1]||ie>=2&&F[ie-2]<=F[ie]+F[ie-1])F[ie-1]F[ie+1])break;X(ie)}}function K(){for(;U>1;){var ie=U-2;ie>0&&F[ie-1]=m||Y>=m);if(W)break;fe<0&&(fe=0),fe+=2}if(S=fe,S<1&&(S=1),z===1){for(Ae=0;Ae=0;Ae--)B[G+Ae]=B[fe+Ae];B[de]=N[ge];return}for(var Y=S;;){var W=0,O=0,re=!1;do if(D(N[ge],B[he])<0){if(B[de--]=B[he--],W++,O=0,--z===0){re=!0;break}}else if(B[de--]=N[ge--],O++,W=0,--le===1){re=!0;break}while((W|O)=0;Ae--)B[G+Ae]=B[fe+Ae];if(z===0){re=!0;break}}if(B[de--]=N[ge--],--le===1){re=!0;break}if(O=le-v(B[he],N,0,le,le-1,D),O!==0){for(de-=O,ge-=O,le-=O,G=de+1,fe=ge+1,Ae=0;Ae=m||O>=m);if(re)break;Y<0&&(Y=0),Y+=2}if(S=Y,S<1&&(S=1),le===1){for(de-=z,he-=z,G=de+1,fe=he+1,Ae=z-1;Ae>=0;Ae--)B[G+Ae]=B[fe+Ae];B[de]=N[ge]}else{if(le===0)throw new Error;for(fe=de-(le-1),Ae=0;AeF&&(U=F),y(B,S,S+U,S+T,D),T=U}L.pushRun(S,T),L.mergeRuns(),R-=T,S+=T}while(R!==0);L.forceMergeRuns()}}A.exports=M}),Zat=Et((o,A)=>{var f=mi(),m=mg(),C=WF(),E=Fce();function I(v,w){return v.zlevel===w.zlevel?v.z===w.z?v.z2-w.z2:v.z-w.z:v.zlevel-w.zlevel}var x=function(){this._roots=[],this._displayList=[],this._displayListLen=0};x.prototype={constructor:x,traverse:function(v,w){for(var Q=0;Q=0&&(this.delFromStorage(v),this._roots.splice(B,1),v instanceof C&&v.delChildrenFromStorage(this))},addToStorage:function(v){return v&&(v.__storage=this,v.dirty(!1)),this},delFromStorage:function(v){return v&&(v.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:I};var y=x;A.exports=y}),zke=Et((o,A)=>{var f={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1};function m(C,E,I){return f.hasOwnProperty(E)?I*=C.dpr:I}A.exports=m}),dZ=Et(o=>{var A={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},f=9;o.ContextCachedBy=A,o.WILL_BE_RESTORED=f}),Nce=Et((o,A)=>{var f=zke(),m=dZ(),C=m.ContextCachedBy,E=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],I=function(B){this.extendFrom(B,!1)};function x(B,D,S){var P=D.x==null?0:D.x,R=D.x2==null?1:D.x2,T=D.y==null?0:D.y,L=D.y2==null?0:D.y2;D.global||(P=P*S.width+S.x,R=R*S.width+S.x,T=T*S.height+S.y,L=L*S.height+S.y),P=isNaN(P)?0:P,R=isNaN(R)?1:R,T=isNaN(T)?0:T,L=isNaN(L)?0:L;var F=B.createLinearGradient(P,T,R,L);return F}function y(B,D,S){var P=S.width,R=S.height,T=Math.min(P,R),L=D.x==null?.5:D.x,F=D.y==null?.5:D.y,U=D.r==null?.5:D.r;D.global||(L=L*P+S.x,F=F*R+S.y,U=U*T);var N=B.createRadialGradient(L,F,0,L,F,U);return N}I.prototype={constructor:I,fill:"#000",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(B,D,S){var P=this,R=S&&S.style,T=!R||B.__attrCachedBy!==C.STYLE_BIND;B.__attrCachedBy=C.STYLE_BIND;for(var L=0;L0},extendFrom:function(B,D){if(B)for(var S in B)B.hasOwnProperty(S)&&(D===!0||(D===!1?!this.hasOwnProperty(S):B[S]!=null))&&(this[S]=B[S])},set:function(B,D){typeof B=="string"?this[B]=D:this.extendFrom(B,!0)},clone:function(){var B=new this.constructor;return B.extendFrom(this,!0),B},getGradient:function(B,D,S){for(var P=D.type==="radial"?y:x,R=P(B,D,S),T=D.colorStops,L=0;L{var f=function(C,E){this.image=C,this.repeat=E,this.type="pattern"};f.prototype.getCanvasPattern=function(C){return C.createPattern(this.image,this.repeat||"repeat")};var m=f;A.exports=m}),$at=Et((o,A)=>{var f=mi(),m=hZ(),C=m.devicePixelRatio,E=Nce(),I=Yke();function x(){return!1}function y(Q,M,B){var D=f.createCanvas(),S=M.getWidth(),P=M.getHeight(),R=D.style;return R&&(R.position="absolute",R.left=0,R.top=0,R.width=S+"px",R.height=P+"px",D.setAttribute("data-zr-dom-id",Q)),D.width=S*B,D.height=P*B,D}var v=function(Q,M,B){var D;B=B||C,typeof Q=="string"?D=y(Q,M,B):f.isObject(Q)&&(D=Q,Q=D.id),this.id=Q,this.dom=D;var S=D.style;S&&(D.onselectstart=x,S["-webkit-user-select"]="none",S["user-select"]="none",S["-webkit-touch-callout"]="none",S["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",S.padding=0,S.margin=0,S["border-width"]=0),this.domBack=null,this.ctxBack=null,this.painter=M,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=B};v.prototype={constructor:v,__dirty:!0,__used:!1,__drawIndex:0,__startIndex:0,__endIndex:0,incremental:!1,getElementCount:function(){return this.__endIndex-this.__startIndex},initContext:function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},createBackBuffer:function(){var Q=this.dpr;this.domBack=y("back-"+this.id,this.painter,Q),this.ctxBack=this.domBack.getContext("2d"),Q!==1&&this.ctxBack.scale(Q,Q)},resize:function(Q,M){var B=this.dpr,D=this.dom,S=D.style,P=this.domBack;S&&(S.width=Q+"px",S.height=M+"px"),D.width=Q*B,D.height=M*B,P&&(P.width=Q*B,P.height=M*B,B!==1&&this.ctxBack.scale(B,B))},clear:function(Q,R){var B=this.dom,D=this.ctx,S=B.width,P=B.height,R=R||this.clearColor,T=this.motionBlur&&!Q,L=this.lastFrameAlpha,F=this.dpr;if(T&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(B,0,0,S/F,P/F)),D.clearRect(0,0,S,P),R&&R!=="transparent"){var U;R.colorStops?(U=R.__canvasGradient||E.getGradient(D,R,{x:0,y:0,width:S,height:P}),R.__canvasGradient=U):R.image&&(U=I.prototype.getCanvasPattern.call(R,D)),D.save(),D.fillStyle=U||R,D.fillRect(0,0,S,P),D.restore()}if(T){var N=this.domBack;D.save(),D.globalAlpha=L,D.drawImage(N,0,0,S,P),D.restore()}}};var w=v;A.exports=w}),Jke=Et((o,A)=>{var f=typeof window<"u"&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(m){setTimeout(m,16)};A.exports=f}),kce=Et(o=>{var A=Gke(),f=new A(50);function m(x){if(typeof x=="string"){var y=f.get(x);return y&&y.image}else return x}function C(x,y,v,w,Q){if(x)if(typeof x=="string"){if(y&&y.__zrImageSrc===x||!v)return y;var M=f.get(x),B={hostEl:v,cb:w,cbPayload:Q};return M?(y=M.image,!I(y)&&M.pending.push(B)):(y=new Image,y.onload=y.onerror=E,f.put(x,y.__cachedImgObj={image:y,pending:[B]}),y.src=y.__zrImageSrc=x),y}else return x;else return y}function E(){var x=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var y=0;y{var A=Eh(),f=kce(),m=mi(),C=m.getContext,E=m.extend,I=m.retrieve2,x=m.retrieve3,y=m.trim,v={},w=0,Q=5e3,M=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,B="12px sans-serif",D={};function S(he,ge){D[he]=ge}function P(he,ge){ge=ge||B;var de=he+":"+ge;if(v[de])return v[de];for(var fe=(he+"").split(` `),G=0,Y=0,W=fe.length;YQ&&(w=0,v={}),w++,v[de]=G,G}function R(he,ge,de,fe,G,Y,W,O){return W?L(he,ge,de,fe,G,Y,W,O):T(he,ge,de,fe,G,Y,O)}function T(he,ge,de,fe,G,Y,W){var O=z(he,ge,G,Y,W),re=P(he,ge);G&&(re+=G[1]+G[3]);var se=O.outerHeight,ce=F(0,re,de),me=U(0,se,fe),Ce=new A(ce,me,re,se);return Ce.lineHeight=O.lineHeight,Ce}function L(he,ge,de,fe,G,Y,W,O){var re=oe(he,{rich:W,truncate:O,font:ge,textAlign:de,textPadding:G,textLineHeight:Y}),se=re.outerWidth,ce=re.outerHeight,me=F(0,se,de),Ce=U(0,ce,fe);return new A(me,Ce,se,ce)}function F(he,ge,de){return de==="right"?he-=ge:de==="center"&&(he-=ge/2),he}function U(he,ge,de){return de==="middle"?he-=ge/2:de==="bottom"&&(he-=ge),he}function N(he,ge,de){var fe=ge.textPosition,G=ge.textDistance,Y=de.x,W=de.y;G=G||0;var O=de.height,re=de.width,se=O/2,ce="left",me="top";switch(fe){case"left":Y-=G,W+=se,ce="right",me="middle";break;case"right":Y+=G+re,W+=se,me="middle";break;case"top":Y+=re/2,W-=G,ce="center",me="bottom";break;case"bottom":Y+=re/2,W+=O+G,ce="center";break;case"inside":Y+=re/2,W+=se,ce="center",me="middle";break;case"insideLeft":Y+=G,W+=se,me="middle";break;case"insideRight":Y+=re-G,W+=se,ce="right",me="middle";break;case"insideTop":Y+=re/2,W+=G,ce="center";break;case"insideBottom":Y+=re/2,W+=O-G,ce="center",me="bottom";break;case"insideTopLeft":Y+=G,W+=G;break;case"insideTopRight":Y+=re-G,W+=G,ce="right";break;case"insideBottomLeft":Y+=G,W+=O-G,me="bottom";break;case"insideBottomRight":Y+=re-G,W+=O-G,ce="right",me="bottom";break}return he=he||{},he.x=Y,he.y=W,he.textAlign=ce,he.textVerticalAlign=me,he}function H(he,ge,de){var fe={textPosition:he,textDistance:de};return N({},fe,ge)}function J(he,ge,de,fe,G){if(!ge)return"";var Y=(he+"").split(` `);G=K(ge,de,fe,G);for(var W=0,O=Y.length;W=W;re++)O-=W;var se=P(G,ge);return se>O&&(G="",se=0),O=he-se,fe.ellipsis=G,fe.ellipsisWidth=se,fe.contentWidth=O,fe.containerWidth=he,fe}function X(he,ge){var de=ge.containerWidth,fe=ge.font,G=ge.contentWidth;if(!de)return"";var Y=P(he,fe);if(Y<=de)return he;for(var W=0;;W++){if(Y<=G||W>=ge.maxIterations){he+=ge.ellipsis;break}var O=W===0?j(he,G,ge.ascCharWidth,ge.cnCharWidth):Y>0?Math.floor(he.length*G/Y):0;he=he.substr(0,O),Y=P(he,fe)}return he===""&&(he=ge.placeholder),he}function j(he,ge,de,fe){for(var G=0,Y=0,W=he.length;Yce)he="",W=[];else if(me!=null)for(var Ce=K(me-(de?de[1]+de[3]:0),ge,G.ellipsis,{minChar:G.minChar,placeholder:G.placeholder}),ye=0,Be=W.length;yefe&&le(de,he.substring(fe,Y)),le(de,G[2],G[1]),fe=M.lastIndex}feye)return{lines:[],width:0,height:0};Pe.textWidth=P(Pe.text,Ue);var Je=we.textWidth,je=Je==null||Je==="auto";if(typeof Je=="string"&&Je.charAt(Je.length-1)==="%")Pe.percentWidth=Je,se.push(Pe),Je=0;else{if(je){Je=Pe.textWidth;var Ze=we.textBackgroundColor,rt=Ze&&Ze.image;rt&&(rt=f.findExistImage(rt),f.isImageReady(rt)&&(Je=Math.max(Je,rt.width*ze/rt.height)))}var At=Fe?Fe[1]+Fe[3]:0;Je+=At;var yt=Ce!=null?Ce-ke:null;yt!=null&&yt{function A(f,m){var C=m.x,E=m.y,I=m.width,x=m.height,y=m.r,v,w,Q,M;I<0&&(C=C+I,I=-I),x<0&&(E=E+x,x=-x),typeof y=="number"?v=w=Q=M=y:y instanceof Array?y.length===1?v=w=Q=M=y[0]:y.length===2?(v=Q=y[0],w=M=y[1]):y.length===3?(v=y[0],w=M=y[1],Q=y[2]):(v=y[0],w=y[1],Q=y[2],M=y[3]):v=w=Q=M=0;var B;v+w>I&&(B=v+w,v*=I/B,w*=I/B),Q+M>I&&(B=Q+M,Q*=I/B,M*=I/B),w+Q>x&&(B=w+Q,w*=x/B,Q*=x/B),v+M>x&&(B=v+M,v*=x/B,M*=x/B),f.moveTo(C+v,E),f.lineTo(C+I-w,E),w!==0&&f.arc(C+I-w,E+w,w,-Math.PI/2,0),f.lineTo(C+I,E+x-Q),Q!==0&&f.arc(C+I-Q,E+x-Q,Q,0,Math.PI/2),f.lineTo(C+M,E+x),M!==0&&f.arc(C+M,E+x-M,M,Math.PI/2,Math.PI),f.lineTo(C,E+v),v!==0&&f.arc(C+v,E+v,v,Math.PI,Math.PI*1.5)}o.buildPath=A}),gZ=Et(o=>{var A=mi(),f=A.retrieve2,m=A.retrieve3,C=A.each,E=A.normalizeCssArray,I=A.isString,x=A.isObject,y=Nx(),v=Kke(),w=kce(),Q=zke(),M=dZ(),B=M.ContextCachedBy,D=M.WILL_BE_RESTORED,S=y.DEFAULT_FONT,P={left:1,right:1,center:1},R={top:1,bottom:1,middle:1},T=[["textShadowBlur","shadowBlur",0],["textShadowOffsetX","shadowOffsetX",0],["textShadowOffsetY","shadowOffsetY",0],["textShadowColor","shadowColor","transparent"]],L={},F={};function U(Y){return N(Y),C(Y.rich,N),Y}function N(Y){if(Y){Y.font=y.makeFont(Y);var W=Y.textAlign;W==="middle"&&(W="center"),Y.textAlign=W==null||P[W]?W:"left";var O=Y.textVerticalAlign||Y.textBaseline;O==="center"&&(O="middle"),Y.textVerticalAlign=O==null||R[O]?O:"top";var re=Y.textPadding;re&&(Y.textPadding=E(Y.textPadding))}}function H(Y,W,O,re,se,ce){re.rich?K(Y,W,O,re,se,ce):J(Y,W,O,re,se,ce)}function J(Y,W,O,re,se,ce){"use strict";var me=ie(re),Ce,ye=!1,Be=W.__attrCachedBy===B.PLAIN_TEXT;ce!==D?(ce&&(Ce=ce.style,ye=!me&&Be&&Ce),W.__attrCachedBy=me?B.NONE:B.PLAIN_TEXT):Be&&(W.__attrCachedBy=B.NONE);var Me=re.font||S;(!ye||Me!==(Ce.font||S))&&(W.font=Me);var He=Y.__computedFont;Y.__styleFont!==Me&&(Y.__styleFont=Me,He=Y.__computedFont=W.font);var ke=re.textPadding,Ne=re.textLineHeight,Pe=Y.__textCotentBlock;(!Pe||Y.__dirtyText)&&(Pe=Y.__textCotentBlock=y.parsePlainText(O,He,ke,Ne,re.truncate));var we=Pe.outerHeight,Fe=Pe.lines,Ue=Pe.lineHeight,ze=le(F,Y,re,se),Je=ze.baseX,je=ze.baseY,Ze=ze.textAlign||"left",rt=ze.textVerticalAlign;j(W,re,se,Je,je);var At=y.adjustTextY(je,we,rt),yt=Je,at=At;if(me||ke){var ft=y.getWidth(O,He),_t=ft;ke&&(_t+=ke[1]+ke[3]);var et=y.adjustTextX(Je,_t,Ze);me&&z(Y,W,re,et,At,_t,we),ke&&(yt=fe(Je,Ze,ke),at+=ke[0])}W.textAlign=Ze,W.textBaseline="middle",W.globalAlpha=re.opacity||1;for(var pt=0;pt=0&&(pt=Ze[et],pt.textAlign==="right");)ee(Y,W,pt,re,At,Ue,_t,"right"),yt-=pt.width,_t-=pt.width,et--;for(ft+=(ce-(ft-Fe)-(ze-_t)-yt)/2;at<=et;)pt=Ze[at],ee(Y,W,pt,re,At,Ue,ft+pt.width/2,"center"),ft+=pt.width,at++;Ue+=At}}function j(Y,W,O,re,se){if(O&&W.textRotation){var ce=W.textOrigin;ce==="center"?(re=O.width/2+O.x,se=O.height/2+O.y):ce&&(re=ce[0]+O.x,se=ce[1]+O.y),Y.translate(re,se),Y.rotate(-W.textRotation),Y.translate(-re,-se)}}function ee(Y,W,O,re,se,ce,me,Ce){var ye=re.rich[O.styleName]||{};ye.text=O.text;var Be=O.textVerticalAlign,Me=ce+se/2;Be==="top"?Me=ce+O.height/2:Be==="bottom"&&(Me=ce+se-O.height/2),!O.isLineHolder&&ie(ye)&&z(Y,W,ye,Ce==="right"?me-O.width:Ce==="center"?me-O.width/2:me,Me-O.height/2,O.width,O.height);var He=O.textPadding;He&&(me=fe(me,Ce,He),Me-=O.height/2-He[2]-O.textHeight/2),Ae(W,"shadowBlur",m(ye.textShadowBlur,re.textShadowBlur,0)),Ae(W,"shadowColor",ye.textShadowColor||re.textShadowColor||"transparent"),Ae(W,"shadowOffsetX",m(ye.textShadowOffsetX,re.textShadowOffsetX,0)),Ae(W,"shadowOffsetY",m(ye.textShadowOffsetY,re.textShadowOffsetY,0)),Ae(W,"textAlign",Ce),Ae(W,"textBaseline","middle"),Ae(W,"font",O.font||S);var ke=he(ye.textStroke||re.textStroke,Pe),Ne=ge(ye.textFill||re.textFill),Pe=f(ye.textStrokeWidth,re.textStrokeWidth);ke&&(Ae(W,"lineWidth",Pe),Ae(W,"strokeStyle",ke),W.strokeText(O.text,me,Me)),Ne&&(Ae(W,"fillStyle",Ne),W.fillText(O.text,me,Me))}function ie(Y){return!!(Y.textBackgroundColor||Y.textBorderWidth&&Y.textBorderColor)}function z(Y,W,O,re,se,ce,me){var Ce=O.textBackgroundColor,ye=O.textBorderWidth,Be=O.textBorderColor,Me=I(Ce);if(Ae(W,"shadowBlur",O.textBoxShadowBlur||0),Ae(W,"shadowColor",O.textBoxShadowColor||"transparent"),Ae(W,"shadowOffsetX",O.textBoxShadowOffsetX||0),Ae(W,"shadowOffsetY",O.textBoxShadowOffsetY||0),Me||ye&&Be){W.beginPath();var He=O.textBorderRadius;He?v.buildPath(W,{x:re,y:se,width:ce,height:me,r:He}):W.rect(re,se,ce,me),W.closePath()}if(Me)if(Ae(W,"fillStyle",Ce),O.fillOpacity!=null){var ke=W.globalAlpha;W.globalAlpha=O.fillOpacity*O.opacity,W.fill(),W.globalAlpha=ke}else W.fill();else if(x(Ce)){var Ne=Ce.image;Ne=w.createOrUpdateImage(Ne,null,Y,oe,Ce),Ne&&w.isImageReady(Ne)&&W.drawImage(Ne,re,se,ce,me)}if(ye&&Be)if(Ae(W,"lineWidth",ye),Ae(W,"strokeStyle",Be),O.strokeOpacity!=null){var ke=W.globalAlpha;W.globalAlpha=O.strokeOpacity*O.opacity,W.stroke(),W.globalAlpha=ke}else W.stroke()}function oe(Y,W){W.image=Y}function le(Y,W,O,re){var se=O.x||0,ce=O.y||0,me=O.textAlign,Ce=O.textVerticalAlign;if(re){var ye=O.textPosition;if(ye instanceof Array)se=re.x+de(ye[0],re.width),ce=re.y+de(ye[1],re.height);else{var Be=W&&W.calculateTextPosition?W.calculateTextPosition(L,O,re):y.calculateTextPosition(L,O,re);se=Be.x,ce=Be.y,me=me||Be.textAlign,Ce=Ce||Be.textVerticalAlign}var Me=O.textOffset;Me&&(se+=Me[0],ce+=Me[1])}return Y=Y||{},Y.baseX=se,Y.baseY=ce,Y.textAlign=me,Y.textVerticalAlign=Ce,Y}function Ae(Y,W,O){return Y[W]=Q(Y,W,O),Y[W]}function he(Y,W){return Y==null||W<=0||Y==="transparent"||Y==="none"?null:Y.image||Y.colorStops?"#000":Y}function ge(Y){return Y==null||Y==="none"?null:Y.image||Y.colorStops?"#000":Y}function de(Y,W){return typeof Y=="string"?Y.lastIndexOf("%")>=0?parseFloat(Y)/100*W:parseFloat(Y):Y}function fe(Y,W,O){return W==="right"?Y-O[1]:W==="center"?Y+O[3]/2-O[1]/2:Y+O[3]}function G(Y,W){return Y!=null&&(Y||W.textBackgroundColor||W.textBorderWidth&&W.textBorderColor||W.textPadding)}o.normalizeTextStyle=U,o.renderText=H,o.getBoxPosition=le,o.getStroke=he,o.getFill=ge,o.parsePercent=de,o.needDrawText=G}),Wke=Et((o,A)=>{var f=gZ(),m=Eh(),C=dZ(),E=C.WILL_BE_RESTORED,I=new m,x=function(){};x.prototype={constructor:x,drawRectText:function(v,w){var Q=this.style;w=Q.textRect||w,this.__dirty&&f.normalizeTextStyle(Q,!0);var M=Q.text;if(M!=null&&(M+=""),!!f.needDrawText(M,Q)){v.save();var B=this.transform;Q.transformText?this.setTransform(v):B&&(I.copy(w),I.applyTransform(B),w=I),f.renderText(this,v,M,Q,w,E),v.restore()}}};var y=x;A.exports=y}),y9=Et((o,A)=>{var f=mi(),m=Nce(),C=Vke(),E=Wke();function I(y){y=y||{},C.call(this,y);for(var v in y)y.hasOwnProperty(v)&&v!=="style"&&(this[v]=y[v]);this.style=new m(y.style,this),this._rect=null,this.__clipPaths=null}I.prototype={constructor:I,type:"displayable",__dirty:!0,invisible:!1,z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:"pointer",rectHover:!1,progressive:!1,incremental:!1,globalScaleRatio:1,beforeBrush:function(y){},afterBrush:function(y){},brush:function(y,v){},getBoundingRect:function(){},contain:function(y,v){return this.rectContain(y,v)},traverse:function(y,v){y.call(v,this)},rectContain:function(y,v){var w=this.transformCoordToLocal(y,v),Q=this.getBoundingRect();return Q.contain(w[0],w[1])},dirty:function(){this.__dirty=this.__dirtyText=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(y){return this.animate("style",y)},attrKV:function(y,v){y!=="style"?C.prototype.attrKV.call(this,y,v):this.style.set(v)},setStyle:function(y,v){return this.style.set(y,v),this.dirty(!1),this},useStyle:function(y){return this.style=new m(y,this),this.dirty(!1),this},calculateTextPosition:null},f.inherits(I,C),f.mixin(I,E);var x=I;A.exports=x}),IO=Et((o,A)=>{var f=y9(),m=Eh(),C=mi(),E=kce();function I(y){f.call(this,y)}I.prototype={constructor:I,type:"image",brush:function(y,v){var w=this.style,Q=w.image;w.bind(y,this,v);var M=this._image=E.createOrUpdateImage(Q,this._image,this,this.onload);if(!(!M||!E.isImageReady(M))){var B=w.x||0,D=w.y||0,S=w.width,P=w.height,R=M.width/M.height;if(S==null&&P!=null?S=P*R:P==null&&S!=null?P=S/R:S==null&&P==null&&(S=M.width,P=M.height),this.setTransform(y),w.sWidth&&w.sHeight){var T=w.sx||0,L=w.sy||0;y.drawImage(M,T,L,w.sWidth,w.sHeight,B,D,S,P)}else if(w.sx&&w.sy){var T=w.sx,L=w.sy,F=S-T,U=P-L;y.drawImage(M,T,L,F,U,B,D,S,P)}else y.drawImage(M,B,D,S,P);w.text!=null&&(this.restoreTransform(y),this.drawRectText(y,this.getBoundingRect()))}},getBoundingRect:function(){var y=this.style;return this._rect||(this._rect=new m(y.x||0,y.y||0,y.width||0,y.height||0)),this._rect}},C.inherits(I,f);var x=I;A.exports=x}),est=Et((o,A)=>{var f=hZ(),m=f.devicePixelRatio,C=mi(),E=x9(),I=Eh(),x=Fce(),y=$at(),v=Jke(),w=IO(),Q=mg(),M=1e5,B=314159,D=.01,S=.001;function P(X){return parseInt(X,10)}function R(X){return X?X.__builtin__?!0:!(typeof X.resize!="function"||typeof X.refresh!="function"):!1}var T=new I(0,0,0,0),L=new I(0,0,0,0);function F(X,j,ee){return T.copy(X.getBoundingRect()),X.transform&&T.applyTransform(X.transform),L.width=j,L.height=ee,!T.intersect(L)}function U(X,j){if(X===j)return!1;if(!X||!j||X.length!==j.length)return!0;for(var ee=0;ee=0&&ee.splice(ie,1),X.__hoverMir=null},clearHover:function(X){for(var j=this._hoverElements,ee=0;ee15)break}}oe.__drawIndex=O,oe.__drawIndex0&&X>ie[0]){for(le=0;leX);le++);oe=ee[ie[le]]}if(ie.splice(le+1,0,X),ee[X]=j,!j.virtual)if(oe){var he=oe.dom;he.nextSibling?Ae.insertBefore(j.dom,he.nextSibling):Ae.appendChild(j.dom)}else Ae.firstChild?Ae.insertBefore(j.dom,Ae.firstChild):Ae.appendChild(j.dom)},eachLayer:function(X,j){var ee=this._zlevelList,ie,z;for(z=0;z0?D:0),this._needsManuallyCompositing),he.__builtin__||E("ZLevel "+Ae+" has been used by unkown layer "+he.id),he!==z&&(he.__used=!0,he.__startIndex!==ee&&(he.__dirty=!0),he.__startIndex=ee,he.incremental?he.__drawIndex=-1:he.__drawIndex=ee,j(ee),z=he),ie.__dirty&&(he.__dirty=!0,he.incremental&&he.__drawIndex<0&&(he.__drawIndex=ee))}j(ee),this.eachBuiltinLayer(function(ge,de){!ge.__used&&ge.getElementCount()>0&&(ge.__dirty=!0,ge.__startIndex=ge.__endIndex=ge.__drawIndex=0),ge.__dirty&&ge.__drawIndex<0&&(ge.__drawIndex=ge.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(X){X.clear()},setBackgroundColor:function(X){this._backgroundColor=X},configLayer:function(X,j){if(j){var ee=this._layerConfig;ee[X]?C.merge(ee[X],j,!0):ee[X]=j;for(var ie=0;ie{var f=mi(),m=U1(),C=m.Dispatcher,E=Jke(),I=Hke(),x=function(v){v=v||{},this.stage=v.stage||{},this.onframe=v.onframe||function(){},this._clips=[],this._running=!1,this._time,this._pausedTime,this._pauseStart,this._paused=!1,C.call(this)};x.prototype={constructor:x,addClip:function(v){this._clips.push(v)},addAnimator:function(v){v.animation=this;for(var w=v.getClips(),Q=0;Q=0&&this._clips.splice(w,1)},removeAnimator:function(v){for(var w=v.getClips(),Q=0;Q{var f=U1(),m=f.addEventListener,C=f.removeEventListener,E=f.normalizeEvent,I=f.getNativeEvent,x=mi(),y=KF(),v=mg(),w=300,Q=v.domSupported,M=function(){var Ae=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],he=["touchstart","touchend","touchmove"],ge={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},de=x.map(Ae,function(fe){var G=fe.replace("mouse","pointer");return ge.hasOwnProperty(G)?G:fe});return{mouse:Ae,touch:he,pointer:de}}(),B={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]};function D(Ae){return Ae==="mousewheel"&&v.browser.firefox?"DOMMouseScroll":Ae}function S(Ae){var he=Ae.pointerType;return he==="pen"||he==="touch"}function P(Ae){Ae.touching=!0,Ae.touchTimer!=null&&(clearTimeout(Ae.touchTimer),Ae.touchTimer=null),Ae.touchTimer=setTimeout(function(){Ae.touching=!1,Ae.touchTimer=null},700)}function R(Ae){Ae&&(Ae.zrByTouch=!0)}function T(Ae,he){return E(Ae.dom,new F(Ae,he),!0)}function L(Ae,he){for(var ge=he,de=!1;ge&&ge.nodeType!==9&&!(de=ge.domBelongToZr||ge!==he&&ge===Ae.painterRoot);)ge=ge.parentNode;return de}function F(Ae,he){this.type=he.type,this.target=this.currentTarget=Ae.dom,this.pointerType=he.pointerType,this.clientX=he.clientX,this.clientY=he.clientY}var U=F.prototype;U.stopPropagation=U.stopImmediatePropagation=U.preventDefault=x.noop;var N={mousedown:function(Ae){Ae=E(this.dom,Ae),this._mayPointerCapture=[Ae.zrX,Ae.zrY],this.trigger("mousedown",Ae)},mousemove:function(Ae){Ae=E(this.dom,Ae);var he=this._mayPointerCapture;he&&(Ae.zrX!==he[0]||Ae.zrY!==he[1])&&ee(this,!0),this.trigger("mousemove",Ae)},mouseup:function(Ae){Ae=E(this.dom,Ae),ee(this,!1),this.trigger("mouseup",Ae)},mouseout:function(Ae){Ae=E(this.dom,Ae),this._pointerCapturing&&(Ae.zrEventControl="no_globalout");var he=Ae.toElement||Ae.relatedTarget;Ae.zrIsToLocalDOM=L(this,he),this.trigger("mouseout",Ae)},touchstart:function(Ae){Ae=E(this.dom,Ae),R(Ae),this._lastTouchMoment=new Date,this.handler.processGesture(Ae,"start"),N.mousemove.call(this,Ae),N.mousedown.call(this,Ae)},touchmove:function(Ae){Ae=E(this.dom,Ae),R(Ae),this.handler.processGesture(Ae,"change"),N.mousemove.call(this,Ae)},touchend:function(Ae){Ae=E(this.dom,Ae),R(Ae),this.handler.processGesture(Ae,"end"),N.mouseup.call(this,Ae),+new Date-this._lastTouchMoment{var A=Uke(),f=mg(),m=mi(),C=Wat(),E=Zat(),I=est(),x=tst(),y=ist();/*! * ZRender, a high performance 2d drawing library. * * Copyright (c) 2013, Baidu Inc. * All rights reserved. * * LICENSE * https://github.com/ecomfe/zrender/blob/master/LICENSE.txt */var v=!f.canvasSupported,w={canvas:I},Q={},M="4.3.1";function B(L,F){var U=new T(A(),L,F);return Q[U.id]=U,U}function D(L){if(L)L.dispose();else{for(var F in Q)Q.hasOwnProperty(F)&&Q[F].dispose();Q={}}return this}function S(L){return Q[L]}function P(L,F){w[L]=F}function R(L){delete Q[L]}var T=function(L,F,U){U=U||{},this.dom=F,this.id=L;var N=this,H=new E,J=U.renderer;if(v){if(!w.vml)throw new Error("You need to require 'zrender/vml/vml' to support IE8");J="vml"}else(!J||!w[J])&&(J="canvas");var K=new w[J](F,H,U,L);this.storage=H,this.painter=K;var X=!f.node&&!f.worker?new y(K.getViewportRoot(),K.root):null;this.handler=new C(H,K,X,K.root),this.animation=new x({stage:{update:m.bind(this.flush,this)}}),this.animation.start(),this._needsRefresh;var j=H.delFromStorage,ee=H.addToStorage;H.delFromStorage=function(ie){j.call(H,ie),ie&&ie.removeSelfFromZr(N)},H.addToStorage=function(ie){ee.call(H,ie),ie.addSelfToZr(N)}};T.prototype={constructor:T,getId:function(){return this.id},add:function(L){this.storage.addRoot(L),this._needsRefresh=!0},remove:function(L){this.storage.delRoot(L),this._needsRefresh=!0},configLayer:function(L,F){this.painter.configLayer&&this.painter.configLayer(L,F),this._needsRefresh=!0},setBackgroundColor:function(L){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(L),this._needsRefresh=!0},refreshImmediately:function(){this._needsRefresh=this._needsRefreshHover=!1,this.painter.refresh(),this._needsRefresh=this._needsRefreshHover=!1},refresh:function(){this._needsRefresh=!0},flush:function(){var L;this._needsRefresh&&(L=!0,this.refreshImmediately()),this._needsRefreshHover&&(L=!0,this.refreshHoverImmediately()),L&&this.trigger("rendered")},addHover:function(L,F){if(this.painter.addHover){var U=this.painter.addHover(L,F);return this.refreshHover(),U}},removeHover:function(L){this.painter.removeHover&&(this.painter.removeHover(L),this.refreshHover())},clearHover:function(){this.painter.clearHover&&(this.painter.clearHover(),this.refreshHover())},refreshHover:function(){this._needsRefreshHover=!0},refreshHoverImmediately:function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.refreshHover()},resize:function(L){L=L||{},this.painter.resize(L.width,L.height),this.handler.resize()},clearAnimation:function(){this.animation.clear()},getWidth:function(){return this.painter.getWidth()},getHeight:function(){return this.painter.getHeight()},pathToImage:function(L,F){return this.painter.pathToImage(L,F)},setCursorStyle:function(L){this.handler.setCursorStyle(L)},findHover:function(L,F){return this.handler.findHover(L,F)},on:function(L,F,U){this.handler.on(L,F,U)},off:function(L,F){this.handler.off(L,F)},trigger:function(L,F){this.handler.trigger(L,F)},clear:function(){this.storage.delRoot(),this.painter.clear()},dispose:function(){this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,R(this.id)}},o.version=M,o.init=B,o.dispose=D,o.getInstance=S,o.registerPainter=P}),pl=Et(o=>{var A=mi(),f=mg(),m=A.each,C=A.isObject,E=A.isArray,I="series\0";function x(X){return X instanceof Array?X:X==null?[]:[X]}function y(X,j,ee){if(X){X[j]=X[j]||{},X.emphasis=X.emphasis||{},X.emphasis[j]=X.emphasis[j]||{};for(var ie=0,z=ee.length;ie=ee.length&&ee.push({option:ie})}}),ee}function B(X){var j=A.createHashMap();m(X,function(ee,ie){var z=ee.exist;z&&j.set(z.id,ee)}),m(X,function(ee,ie){var z=ee.option;A.assert(!z||z.id==null||!j.get(z.id)||j.get(z.id)===ee,"id duplicates: "+(z&&z.id)),z&&z.id!=null&&j.set(z.id,ee),!ee.keyInfo&&(ee.keyInfo={})}),m(X,function(ee,ie){var z=ee.exist,oe=ee.option,le=ee.keyInfo;if(C(oe)){if(le.name=oe.name!=null?oe.name+"":z?z.name:I+ie,z)le.id=z.id;else if(oe.id!=null)le.id=oe.id+"";else{var Ae=0;do le.id="\0"+le.name+"\0"+Ae++;while(j.get(le.id))}j.set(le.id,ee)}})}function D(X){var j=X.name;return!!(j&&j.indexOf(I))}function S(X){return C(X)&&X.id&&(X.id+"").indexOf("\0_ec_\0")===0}function P(X,j){var ee={},ie={};return z(X||[],ee),z(j||[],ie,ee),[oe(ee),oe(ie)];function z(le,Ae,he){for(var ge=0,de=le.length;ge{var A=EA(),f=A.__DEV__,m=mi(),C=".",E="___EC__COMPONENT__CONTAINER___";function I(S){var P={main:"",sub:""};return S&&(S=S.split(C),P.main=S[0]||"",P.sub=S[1]||""),P}function x(S){m.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(S),'componentType "'+S+'" illegal')}function y(S,P){S.$constructor=S,S.extend=function(R){var T=this,L=function(){R.$constructor?R.$constructor.apply(this,arguments):T.apply(this,arguments)};return m.extend(L.prototype,R),L.extend=this.extend,L.superCall=Q,L.superApply=M,m.inherits(L,this),L.superClass=T,L}}var v=0;function w(S){var P=["__\0is_clz",v++,Math.random().toFixed(3)].join("_");S.prototype[P]=!0,S.isInstance=function(R){return!!(R&&R[P])}}function Q(S,P){var R=m.slice(arguments,2);return this.superClass.prototype[P].apply(S,R)}function M(S,P,R){return this.superClass.prototype[P].apply(S,R)}function B(S,P){P=P||{};var R={};S.registerClass=function(F,U){if(U){if(x(U),U=I(U),!U.sub)R[U.main]=F;else if(U.sub!==E){var N=T(U);N[U.sub]=F}}return F},S.getClass=function(F,U,N){var H=R[F];if(H&&H[E]&&(H=U?H[U]:null),N&&!H)throw new Error(U?"Component "+F+"."+(U||"")+" not exists. Load it first.":F+".type should be specified.");return H},S.getClassesByMainType=function(F){F=I(F);var U=[],N=R[F.main];return N&&N[E]?m.each(N,function(H,J){J!==E&&U.push(H)}):U.push(N),U},S.hasClass=function(F){return F=I(F),!!R[F.main]},S.getAllClassMainTypes=function(){var F=[];return m.each(R,function(U,N){F.push(N)}),F},S.hasSubTypes=function(F){F=I(F);var U=R[F.main];return U&&U[E]},S.parseClassType=I;function T(F){var U=R[F.main];return(!U||!U[E])&&(U=R[F.main]={},U[E]=!0),U}if(P.registerWhenExtend){var L=S.extend;L&&(S.extend=function(F){var U=L.call(this,F);return S.registerClass(U,F.type)})}return S}function D(S,P){}o.parseClassType=I,o.enableClassExtend=y,o.enableClassCheck=w,o.enableClassManagement=B,o.setReadOnly=D}),xO=Et((o,A)=>{var f=mi();function m(C){for(var E=0;E=0||y&&f.indexOf(y,Q)<0)){var M=I.getShallow(Q);M!=null&&(v[C[w][0]]=M)}}return v}}A.exports=m}),rst=Et((o,A)=>{var f=xO(),m=f([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),C={getLineStyle:function(E){var I=m(this,E);return I.lineDash=this.getLineDash(I.lineWidth),I},getLineDash:function(E){E==null&&(E=1);var I=this.get("type"),x=Math.max(E,2),y=E*4;return I==="solid"||I==null?!1:I==="dashed"?[y,y]:[x,x]}};A.exports=C}),nst=Et((o,A)=>{var f=xO(),m=f([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),C={getAreaStyle:function(E,I){return m(this,E,I)}};A.exports=C}),K2=Et(o=>{var A=Zc(),f=A.create,m=A.distSquare,C=Math.pow,E=Math.sqrt,I=1e-8,x=1e-4,y=E(3),v=1/3,w=f(),Q=f(),M=f();function B(j){return j>-I&&jI||j<-I}function S(j,ee,ie,z,oe){var le=1-oe;return le*le*(le*j+3*oe*ee)+oe*oe*(oe*z+3*le*ie)}function P(j,ee,ie,z,oe){var le=1-oe;return 3*(((ee-j)*le+2*(ie-ee)*oe)*le+(z-ie)*oe*oe)}function R(j,ee,ie,z,oe,le){var Ae=z+3*(ee-ie)-j,he=3*(ie-ee*2+j),ge=3*(ee-j),de=j-oe,fe=he*he-3*Ae*ge,G=he*ge-9*Ae*de,Y=ge*ge-3*he*de,W=0;if(B(fe)&&B(G))if(B(he))le[0]=0;else{var O=-ge/he;O>=0&&O<=1&&(le[W++]=O)}else{var re=G*G-4*fe*Y;if(B(re)){var se=G/fe,O=-he/Ae+se,ce=-se/2;O>=0&&O<=1&&(le[W++]=O),ce>=0&&ce<=1&&(le[W++]=ce)}else if(re>0){var me=E(re),Ce=fe*he+1.5*Ae*(-G+me),ye=fe*he+1.5*Ae*(-G-me);Ce<0?Ce=-C(-Ce,v):Ce=C(Ce,v),ye<0?ye=-C(-ye,v):ye=C(ye,v);var O=(-he-(Ce+ye))/(3*Ae);O>=0&&O<=1&&(le[W++]=O)}else{var Be=(2*fe*he-3*Ae*G)/(2*E(fe*fe*fe)),Me=Math.acos(Be)/3,He=E(fe),ke=Math.cos(Me),O=(-he-2*He*ke)/(3*Ae),ce=(-he+He*(ke+y*Math.sin(Me)))/(3*Ae),Ne=(-he+He*(ke-y*Math.sin(Me)))/(3*Ae);O>=0&&O<=1&&(le[W++]=O),ce>=0&&ce<=1&&(le[W++]=ce),Ne>=0&&Ne<=1&&(le[W++]=Ne)}}return W}function T(j,ee,ie,z,oe){var le=6*ie-12*ee+6*j,Ae=9*ee+3*z-3*j-9*ie,he=3*ee-3*j,ge=0;if(B(Ae)){if(D(le)){var de=-he/le;de>=0&&de<=1&&(oe[ge++]=de)}}else{var fe=le*le-4*Ae*he;if(B(fe))oe[0]=-le/(2*Ae);else if(fe>0){var G=E(fe),de=(-le+G)/(2*Ae),Y=(-le-G)/(2*Ae);de>=0&&de<=1&&(oe[ge++]=de),Y>=0&&Y<=1&&(oe[ge++]=Y)}}return ge}function L(j,ee,ie,z,oe,le){var Ae=(ee-j)*oe+j,he=(ie-ee)*oe+ee,ge=(z-ie)*oe+ie,de=(he-Ae)*oe+Ae,fe=(ge-he)*oe+he,G=(fe-de)*oe+de;le[0]=j,le[1]=Ae,le[2]=de,le[3]=G,le[4]=G,le[5]=fe,le[6]=ge,le[7]=z}function F(j,ee,ie,z,oe,le,Ae,he,ge,de,fe){var G,Y=.005,W=1/0,O,re,se,ce;w[0]=ge,w[1]=de;for(var me=0;me<1;me+=.05)Q[0]=S(j,ie,oe,Ae,me),Q[1]=S(ee,z,le,he,me),se=m(w,Q),se=0&&se=0&&de<=1&&(oe[ge++]=de)}}else{var fe=Ae*Ae-4*le*he;if(B(fe)){var de=-Ae/(2*le);de>=0&&de<=1&&(oe[ge++]=de)}else if(fe>0){var G=E(fe),de=(-Ae+G)/(2*le),Y=(-Ae-G)/(2*le);de>=0&&de<=1&&(oe[ge++]=de),Y>=0&&Y<=1&&(oe[ge++]=Y)}}return ge}function J(j,ee,ie){var z=j+ie-2*ee;return z===0?.5:(j-ee)/z}function K(j,ee,ie,z,oe){var le=(ee-j)*z+j,Ae=(ie-ee)*z+ee,he=(Ae-le)*z+le;oe[0]=j,oe[1]=le,oe[2]=he,oe[3]=he,oe[4]=Ae,oe[5]=ie}function X(j,ee,ie,z,oe,le,Ae,he,ge){var de,fe=.005,G=1/0;w[0]=Ae,w[1]=he;for(var Y=0;Y<1;Y+=.05){Q[0]=U(j,ie,oe,Y),Q[1]=U(ee,z,le,Y);var W=m(w,Q);W=0&&W{var A=Zc(),f=K2(),m=Math.min,C=Math.max,E=Math.sin,I=Math.cos,x=Math.PI*2,y=A.create(),v=A.create(),w=A.create();function Q(T,L,F){if(T.length!==0){var U=T[0],N=U[0],H=U[0],J=U[1],K=U[1],X;for(X=1;X1e-4){K[0]=T-F,K[1]=L-U,X[0]=T+F,X[1]=L+U;return}if(y[0]=I(N)*F+T,y[1]=E(N)*U+L,v[0]=I(H)*F+T,v[1]=E(H)*U+L,j(K,y,v),ee(X,y,v),N=N%x,N<0&&(N=N+x),H=H%x,H<0&&(H=H+x),N>H&&!J?H+=x:NN&&(w[0]=I(oe)*F+T,w[1]=E(oe)*U+L,j(K,w,K),ee(X,w,X))}o.fromPoints=Q,o.fromLine=M,o.fromCubic=S,o.fromQuadratic=P,o.fromArc=R}),yO=Et((o,A)=>{var f=K2(),m=Zc(),C=v9(),E=Eh(),I=hZ(),x=I.devicePixelRatio,y={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},v=[],w=[],Q=[],M=[],B=Math.min,D=Math.max,S=Math.cos,P=Math.sin,R=Math.sqrt,T=Math.abs,L=typeof Float32Array<"u",F=function(N){this._saveData=!N,this._saveData&&(this.data=[]),this._ctx=null};F.prototype={constructor:F,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(N,H,J){J=J||0,this._ux=T(J/x/N)||0,this._uy=T(J/x/H)||0},getContext:function(){return this._ctx},beginPath:function(N){return this._ctx=N,N&&N.beginPath(),N&&(this.dpr=N.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(N,H){return this.addData(y.M,N,H),this._ctx&&this._ctx.moveTo(N,H),this._x0=N,this._y0=H,this._xi=N,this._yi=H,this},lineTo:function(N,H){var J=T(N-this._xi)>this._ux||T(H-this._yi)>this._uy||this._len<5;return this.addData(y.L,N,H),this._ctx&&J&&(this._needsDash()?this._dashedLineTo(N,H):this._ctx.lineTo(N,H)),J&&(this._xi=N,this._yi=H),this},bezierCurveTo:function(N,H,J,K,X,j){return this.addData(y.C,N,H,J,K,X,j),this._ctx&&(this._needsDash()?this._dashedBezierTo(N,H,J,K,X,j):this._ctx.bezierCurveTo(N,H,J,K,X,j)),this._xi=X,this._yi=j,this},quadraticCurveTo:function(N,H,J,K){return this.addData(y.Q,N,H,J,K),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(N,H,J,K):this._ctx.quadraticCurveTo(N,H,J,K)),this._xi=J,this._yi=K,this},arc:function(N,H,J,K,X,j){return this.addData(y.A,N,H,J,J,K,X-K,0,j?0:1),this._ctx&&this._ctx.arc(N,H,J,K,X,j),this._xi=S(X)*J+N,this._yi=P(X)*J+H,this},arcTo:function(N,H,J,K,X){return this._ctx&&this._ctx.arcTo(N,H,J,K,X),this},rect:function(N,H,J,K){return this._ctx&&this._ctx.rect(N,H,J,K),this.addData(y.R,N,H,J,K),this},closePath:function(){this.addData(y.Z);var N=this._ctx,H=this._x0,J=this._y0;return N&&(this._needsDash()&&this._dashedLineTo(H,J),N.closePath()),this._xi=H,this._yi=J,this},fill:function(N){N&&N.fill(),this.toStatic()},stroke:function(N){N&&N.stroke(),this.toStatic()},setLineDash:function(N){if(N instanceof Array){this._lineDash=N,this._dashIdx=0;for(var H=0,J=0;JH.length&&(this._expandData(),H=this.data);for(var J=0;J0&&Ae<=N||z<0&&Ae>=N||z===0&&(oe>0&&he<=H||oe<0&&he>=H);)fe=this._dashIdx,ge=X[fe],Ae+=z*ge,he+=oe*ge,this._dashIdx=(fe+1)%de,!(z>0&&Aeee||oe>0&&heie)&&j[fe%2?"moveTo":"lineTo"](z>=0?B(Ae,N):D(Ae,N),oe>=0?B(he,H):D(he,H));z=Ae-N,oe=he-H,this._dashOffset=-R(z*z+oe*oe)},_dashedBezierTo:function(N,H,J,K,X,j){var ee=this._dashSum,ie=this._dashOffset,z=this._lineDash,oe=this._ctx,le=this._xi,Ae=this._yi,he,ge,de,fe=f.cubicAt,G=0,Y=this._dashIdx,W=z.length,O,re,se=0;for(ie<0&&(ie=ee+ie),ie%=ee,he=0;he<1;he+=.1)ge=fe(le,N,J,X,he+.1)-fe(le,N,J,X,he),de=fe(Ae,H,K,j,he+.1)-fe(Ae,H,K,j,he),G+=R(ge*ge+de*de);for(;Yie));Y++);for(he=(se-ie)/G;he<=1;)O=fe(le,N,J,X,he),re=fe(Ae,H,K,j,he),Y%2?oe.moveTo(O,re):oe.lineTo(O,re),he+=z[Y]/G,Y=(Y+1)%W;Y%2!==0&&oe.lineTo(X,j),ge=X-O,de=j-re,this._dashOffset=-R(ge*ge+de*de)},_dashedQuadraticTo:function(N,H,J,K){var X=J,j=K;J=(J+2*N)/3,K=(K+2*H)/3,N=(this._xi+2*N)/3,H=(this._yi+2*H)/3,this._dashedBezierTo(N,H,J,K,X,j)},toStatic:function(){var N=this.data;N instanceof Array&&(N.length=this._len,L&&(this.data=new Float32Array(N)))},getBoundingRect:function(){v[0]=v[1]=Q[0]=Q[1]=Number.MAX_VALUE,w[0]=w[1]=M[0]=M[1]=-Number.MAX_VALUE;for(var N=this.data,H=0,J=0,K=0,X=0,j=0;jz||T(ie-j)>oe||Ae===le-1)&&(N.lineTo(ee,ie),X=ee,j=ie);break;case y.C:N.bezierCurveTo(H[Ae++],H[Ae++],H[Ae++],H[Ae++],H[Ae++],H[Ae++]),X=H[Ae-2],j=H[Ae-1];break;case y.Q:N.quadraticCurveTo(H[Ae++],H[Ae++],H[Ae++],H[Ae++]),X=H[Ae-2],j=H[Ae-1];break;case y.A:var ge=H[Ae++],de=H[Ae++],fe=H[Ae++],G=H[Ae++],Y=H[Ae++],W=H[Ae++],O=H[Ae++],re=H[Ae++],se=fe>G?fe:G,ce=fe>G?1:fe/G,me=fe>G?G/fe:1,Ce=Math.abs(fe-G)>.001,ye=Y+W;Ce?(N.translate(ge,de),N.rotate(O),N.scale(ce,me),N.arc(0,0,se,Y,ye,1-re),N.scale(1/ce,1/me),N.rotate(-O),N.translate(-ge,-de)):N.arc(ge,de,se,Y,ye,1-re),Ae===1&&(J=S(Y)*fe+ge,K=P(Y)*G+de),X=S(ye)*fe+ge,j=P(ye)*G+de;break;case y.R:J=X=H[Ae],K=j=H[Ae+1],N.rect(H[Ae++],H[Ae++],H[Ae++],H[Ae++]);break;case y.Z:N.closePath(),X=J,j=K}}}},F.CMD=y;var U=F;A.exports=U}),qke=Et(o=>{function A(f,m,C,E,I,x,y){if(I===0)return!1;var v=I,w=0,Q=f;if(y>m+v&&y>E+v||yf+v&&x>C+v||x{var A=K2();function f(m,C,E,I,x,y,v,w,Q,M,B){if(Q===0)return!1;var D=Q;if(B>C+D&&B>I+D&&B>y+D&&B>w+D||Bm+D&&M>E+D&&M>x+D&&M>v+D||M{var A=K2(),f=A.quadraticProjectPoint;function m(C,E,I,x,y,v,w,Q,M){if(w===0)return!1;var B=w;if(M>E+B&&M>x+B&&M>v+B||MC+B&&Q>I+B&&Q>y+B||Q{var A=Math.PI*2;function f(m){return m%=A,m<0&&(m+=A),m}o.normalizeRadian=f}),ast=Et(o=>{var A=Xke(),f=A.normalizeRadian,m=Math.PI*2;function C(E,I,x,y,v,w,Q,M,B){if(Q===0)return!1;var D=Q;M-=E,B-=I;var S=Math.sqrt(M*M+B*B);if(S-D>x||S+Dv&&(v+=m);var R=Math.atan2(B,M);return R<0&&(R+=m),R>=y&&R<=v||R+m>=y&&R+m<=v}o.containStroke=C}),Zke=Et((o,A)=>{function f(m,C,E,I,x,y){if(y>C&&y>I||yx?v:0}A.exports=f}),sst=Et(o=>{var A=yO(),f=qke(),m=ost(),C=jke(),E=ast(),I=Xke(),x=I.normalizeRadian,y=K2(),v=Zke(),w=A.CMD,Q=Math.PI*2,M=1e-4;function B(H,J){return Math.abs(H-J)J&&le>X&&le>ee&&le>z||le1&&P(),de=y.cubicAt(J,X,ee,z,S[0]),ge>1&&(fe=y.cubicAt(J,X,ee,z,S[1]))),ge===2?YJ&&z>X&&z>ee||z=0&&le<=1){for(var Ae=0,he=y.quadraticAt(J,X,ee,le),ge=0;geK||z<-K)return 0;var oe=Math.sqrt(K*K-z*z);D[0]=-oe,D[1]=oe;var le=Math.abs(X-j);if(le<1e-4)return 0;if(le%Q<1e-4){X=0,j=Q;var Ae=ee?1:-1;return ie>=D[0]+H&&ie<=D[1]+H?Ae:0}if(ee){var oe=X;X=x(j),j=x(oe)}else X=x(X),j=x(j);X>j&&(j+=Q);for(var he=0,ge=0;ge<2;ge++){var de=D[ge];if(de+H>ie){var fe=Math.atan2(z,de),Ae=ee?1:-1;fe<0&&(fe=Q+fe),(fe>=X&&fe<=j||fe+Q>=X&&fe+Q<=j)&&(fe>Math.PI/2&&fe1&&(K||(ee+=v(ie,z,oe,le,X,j))),Ae===1&&(ie=H[Ae],z=H[Ae+1],oe=ie,le=z),he){case w.M:oe=H[Ae++],le=H[Ae++],ie=oe,z=le;break;case w.L:if(K){if(f.containStroke(ie,z,H[Ae],H[Ae+1],J,X,j))return!0}else ee+=v(ie,z,H[Ae],H[Ae+1],X,j)||0;ie=H[Ae++],z=H[Ae++];break;case w.C:if(K){if(m.containStroke(ie,z,H[Ae++],H[Ae++],H[Ae++],H[Ae++],H[Ae],H[Ae+1],J,X,j))return!0}else ee+=R(ie,z,H[Ae++],H[Ae++],H[Ae++],H[Ae++],H[Ae],H[Ae+1],X,j)||0;ie=H[Ae++],z=H[Ae++];break;case w.Q:if(K){if(C.containStroke(ie,z,H[Ae++],H[Ae++],H[Ae],H[Ae+1],J,X,j))return!0}else ee+=T(ie,z,H[Ae++],H[Ae++],H[Ae],H[Ae+1],X,j)||0;ie=H[Ae++],z=H[Ae++];break;case w.A:var ge=H[Ae++],de=H[Ae++],fe=H[Ae++],G=H[Ae++],Y=H[Ae++],W=H[Ae++];Ae+=1;var O=1-H[Ae++],me=Math.cos(Y)*fe+ge,Ce=Math.sin(Y)*G+de;Ae>1?ee+=v(ie,z,me,Ce,X,j):(oe=me,le=Ce);var re=(X-ge)*G/fe+ge;if(K){if(E.containStroke(ge,de,G,Y,Y+W,O,J,re,j))return!0}else ee+=L(ge,de,G,Y,Y+W,O,re,j);ie=Math.cos(Y+W)*fe+ge,z=Math.sin(Y+W)*G+de;break;case w.R:oe=ie=H[Ae++],le=z=H[Ae++];var se=H[Ae++],ce=H[Ae++],me=oe+se,Ce=le+ce;if(K){if(f.containStroke(oe,le,me,le,J,X,j)||f.containStroke(me,le,me,Ce,J,X,j)||f.containStroke(me,Ce,oe,Ce,J,X,j)||f.containStroke(oe,Ce,oe,le,J,X,j))return!0}else ee+=v(me,le,me,Ce,X,j),ee+=v(oe,Ce,oe,le,X,j);break;case w.Z:if(K){if(f.containStroke(ie,z,oe,le,J,X,j))return!0}else ee+=v(ie,z,oe,le,X,j);ie=oe,z=le;break}}return!K&&!B(z,le)&&(ee+=v(ie,z,oe,le,X,j)||0),ee!==0}function U(H,J,K){return F(H,0,!1,J,K)}function N(H,J,K,X){return F(H,J,!0,K,X)}o.contain=U,o.containStroke=N}),Yd=Et((o,A)=>{var f=y9(),m=mi(),C=yO(),E=sst(),I=Yke(),x=I.prototype.getCanvasPattern,y=Math.abs,v=new C(!0);function w(M){f.call(this,M),this.path=null}w.prototype={constructor:w,type:"path",__dirtyPath:!0,strokeContainThreshold:5,segmentIgnoreThreshold:0,subPixelOptimize:!1,brush:function(M,B){var D=this.style,S=this.path||v,P=D.hasStroke(),R=D.hasFill(),T=D.fill,L=D.stroke,F=R&&!!T.colorStops,U=P&&!!L.colorStops,N=R&&!!T.image,H=P&&!!L.image;if(D.bind(M,this,B),this.setTransform(M),this.__dirty){var J;F&&(J=J||this.getBoundingRect(),this._fillGradient=D.getGradient(M,T,J)),U&&(J=J||this.getBoundingRect(),this._strokeGradient=D.getGradient(M,L,J))}F?M.fillStyle=this._fillGradient:N&&(M.fillStyle=x.call(T,M)),U?M.strokeStyle=this._strokeGradient:H&&(M.strokeStyle=x.call(L,M));var K=D.lineDash,X=D.lineDashOffset,j=!!M.setLineDash,ee=this.getGlobalScale();if(S.setScale(ee[0],ee[1],this.segmentIgnoreThreshold),this.__dirtyPath||K&&!j&&P?(S.beginPath(M),K&&!j&&(S.setLineDash(K),S.setLineDashOffset(X)),this.buildPath(S,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(M.beginPath(),this.path.rebuildPath(M)),R)if(D.fillOpacity!=null){var ie=M.globalAlpha;M.globalAlpha=D.fillOpacity*D.opacity,S.fill(M),M.globalAlpha=ie}else S.fill(M);if(K&&j&&(M.setLineDash(K),M.lineDashOffset=X),P)if(D.strokeOpacity!=null){var ie=M.globalAlpha;M.globalAlpha=D.strokeOpacity*D.opacity,S.stroke(M),M.globalAlpha=ie}else S.stroke(M);K&&j&&M.setLineDash([]),D.text!=null&&(this.restoreTransform(M),this.drawRectText(M,this.getBoundingRect()))},buildPath:function(M,B,D){},createPathProxy:function(){this.path=new C},getBoundingRect:function(){var M=this._rect,B=this.style,D=!M;if(D){var S=this.path;S||(S=this.path=new C),this.__dirtyPath&&(S.beginPath(),this.buildPath(S,this.shape,!1)),M=S.getBoundingRect()}if(this._rect=M,B.hasStroke()){var P=this._rectWithStroke||(this._rectWithStroke=M.clone());if(this.__dirty||D){P.copy(M);var R=B.lineWidth,T=B.strokeNoScale?this.getLineScale():1;B.hasFill()||(R=Math.max(R,this.strokeContainThreshold||4)),T>1e-10&&(P.width+=R/T,P.height+=R/T,P.x-=R/T/2,P.y-=R/T/2)}return P}return M},contain:function(M,B){var D=this.transformCoordToLocal(M,B),S=this.getBoundingRect(),P=this.style;if(M=D[0],B=D[1],S.contain(M,B)){var R=this.path.data;if(P.hasStroke()){var T=P.lineWidth,L=P.strokeNoScale?this.getLineScale():1;if(L>1e-10&&(P.hasFill()||(T=Math.max(T,this.strokeContainThreshold)),E.containStroke(R,T/L,M,B)))return!0}if(P.hasFill())return E.contain(R,M,B)}return!1},dirty:function(M){M==null&&(M=!0),M&&(this.__dirtyPath=M,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(M){return this.animate("shape",M)},attrKV:function(M,B){M==="shape"?(this.setShape(B),this.__dirtyPath=!0,this._rect=null):f.prototype.attrKV.call(this,M,B)},setShape:function(M,B){var D=this.shape;if(D){if(m.isObject(M))for(var S in M)M.hasOwnProperty(S)&&(D[S]=M[S]);else D[M]=B;this.dirty(!0)}return this},getLineScale:function(){var M=this.transform;return M&&y(M[0]-1)>1e-10&&y(M[3]-1)>1e-10?Math.sqrt(y(M[0]*M[3]-M[2]*M[1])):1}},w.extend=function(M){var B=function(S){w.call(this,S),M.style&&this.style.extendFrom(M.style,!1);var P=M.shape;if(P){this.shape=this.shape||{};var R=this.shape;for(var T in P)!R.hasOwnProperty(T)&&P.hasOwnProperty(T)&&(R[T]=P[T])}M.init&&M.init.call(this,S)};m.inherits(B,w);for(var D in M)D!=="style"&&D!=="shape"&&(B.prototype[D]=M[D]);return B},m.inherits(w,f);var Q=w;A.exports=Q}),lst=Et((o,A)=>{var f=yO(),m=Zc(),C=m.applyTransform,E=f.CMD,I=[[],[],[]],x=Math.sqrt,y=Math.atan2;function v(w,Q){var M=w.data,B,D,S,P,R,T,L=E.M,F=E.C,U=E.L,N=E.R,H=E.A,J=E.Q;for(S=0,P=0;S{var A=Yd(),f=yO(),m=lst(),C=Math.sqrt,E=Math.sin,I=Math.cos,x=Math.PI,y=function(L){return Math.sqrt(L[0]*L[0]+L[1]*L[1])},v=function(L,F){return(L[0]*F[0]+L[1]*F[1])/(y(L)*y(F))},w=function(L,F){return(L[0]*F[1]1&&(K*=C(Ae),X*=C(Ae));var he=(H===J?-1:1)*C((K*K*(X*X)-K*K*(le*le)-X*X*(oe*oe))/(K*K*(le*le)+X*X*(oe*oe)))||0,ge=he*K*le/X,de=he*-X*oe/K,fe=(L+U)/2+I(z)*ge-E(z)*de,G=(F+N)/2+E(z)*ge+I(z)*de,Y=w([1,0],[(oe-ge)/K,(le-de)/X]),W=[(oe-ge)/K,(le-de)/X],O=[(-1*oe-ge)/K,(-1*le-de)/X],re=w(W,O);v(W,O)<=-1&&(re=x),v(W,O)>=1&&(re=0),J===0&&re>0&&(re=re-2*x),J===1&&re<0&&(re=re+2*x),ie.addData(ee,fe,G,K,X,Y,re,z,J)}var M=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,B=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function D(L){if(!L)return new f;for(var F=0,U=0,N=F,H=U,J,K=new f,X=f.CMD,j=L.match(M),ee=0;ee{var f=y9(),m=mi(),C=Nx(),E=gZ(),I=dZ(),x=I.ContextCachedBy,y=function(w){f.call(this,w)};y.prototype={constructor:y,type:"text",brush:function(w,Q){var M=this.style;this.__dirty&&E.normalizeTextStyle(M,!0),M.fill=M.stroke=M.shadowBlur=M.shadowColor=M.shadowOffsetX=M.shadowOffsetY=null;var B=M.text;if(B!=null&&(B+=""),!E.needDrawText(B,M)){w.__attrCachedBy=x.NONE;return}this.setTransform(w),E.renderText(this,w,B,M,null,Q),this.restoreTransform(w)},getBoundingRect:function(){var w=this.style;if(this.__dirty&&E.normalizeTextStyle(w,!0),!this._rect){var Q=w.text;Q!=null?Q+="":Q="";var M=C.getBoundingRect(w.text+"",w.font,w.textAlign,w.textVerticalAlign,w.textPadding,w.textLineHeight,w.rich);if(M.x+=w.x||0,M.y+=w.y||0,E.getStroke(w.textStroke,w.textStrokeWidth)){var B=w.textStrokeWidth;M.x-=B/2,M.y-=B/2,M.width+=B,M.height+=B}this._rect=M}return this._rect}},m.inherits(y,f);var v=y;A.exports=v}),e5e=Et((o,A)=>{var f=Yd(),m=f.extend({type:"circle",shape:{cx:0,cy:0,r:0},buildPath:function(C,E,I){I&&C.moveTo(E.cx+E.r,E.cy),C.arc(E.cx,E.cy,E.r,0,Math.PI*2,!0)}});A.exports=m}),t5e=Et((o,A)=>{var f=mg(),m=[["shadowBlur",0],["shadowColor","#000"],["shadowOffsetX",0],["shadowOffsetY",0]];function C(E){return f.browser.ie&&f.browser.version>=11?function(){var I=this.__clipPaths,x=this.style,y;if(I)for(var v=0;v{var f=Yd(),m=t5e(),C=f.extend({type:"sector",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:Math.PI*2,clockwise:!0},brush:m(f.prototype.brush),buildPath:function(E,I){var x=I.cx,y=I.cy,v=Math.max(I.r0||0,0),w=Math.max(I.r,0),Q=I.startAngle,M=I.endAngle,B=I.clockwise,D=Math.cos(Q),S=Math.sin(Q);E.moveTo(D*v+x,S*v+y),E.lineTo(D*w+x,S*w+y),E.arc(x,y,w,Q,M,!B),E.lineTo(Math.cos(M)*v+x,Math.sin(M)*v+y),v!==0&&E.arc(x,y,v,M,Q,B),E.closePath()}});A.exports=C}),ust=Et((o,A)=>{var f=Yd(),m=f.extend({type:"ring",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(C,E){var I=E.cx,x=E.cy,y=Math.PI*2;C.moveTo(I+E.r,x),C.arc(I,x,E.r,0,y,!1),C.moveTo(I+E.r0,x),C.arc(I,x,E.r0,0,y,!0)}});A.exports=m}),cst=Et((o,A)=>{var f=Zc(),m=f.distance;function C(I,x,y,v,w,Q,M){var B=(y-I)*.5,D=(v-x)*.5;return(2*(x-y)+B+D)*M+(-3*(x-y)-2*B-D)*Q+B*w+x}function E(I,x){for(var y=I.length,v=[],w=0,Q=1;Qy-2?y-1:D+1],L=I[D>y-3?y-1:D+2]);var F=S*S,U=S*F;v.push([C(P[0],R[0],T[0],L[0],S,F,U),C(P[1],R[1],T[1],L[1],S,F,U)])}return v}A.exports=E}),hst=Et((o,A)=>{var f=Zc(),m=f.min,C=f.max,E=f.scale,I=f.distance,x=f.add,y=f.clone,v=f.sub;function w(Q,M,B,D){var S=[],P=[],R=[],T=[],L,F,U,N;if(D){U=[1/0,1/0],N=[-1/0,-1/0];for(var H=0,J=Q.length;H{var A=cst(),f=hst();function m(C,E,I){var x=E.points,y=E.smooth;if(x&&x.length>=2){if(y&&y!=="spline"){var v=f(x,y,I,E.smoothConstraint);C.moveTo(x[0][0],x[0][1]);for(var w=x.length,Q=0;Q<(I?w:w-1);Q++){var M=v[Q*2],B=v[Q*2+1],D=x[(Q+1)%w];C.bezierCurveTo(M[0],M[1],B[0],B[1],D[0],D[1])}}else{y==="spline"&&(x=A(x,I)),C.moveTo(x[0][0],x[0][1]);for(var Q=1,S=x.length;Q{var f=Yd(),m=i5e(),C=f.extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(E,I){m.buildPath(E,I,!0)}});A.exports=C}),n5e=Et((o,A)=>{var f=Yd(),m=i5e(),C=f.extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(E,I){m.buildPath(E,I,!1)}});A.exports=C}),Uce=Et(o=>{var A=Math.round;function f(E,I,x){if(I){var y=I.x1,v=I.x2,w=I.y1,Q=I.y2;E.x1=y,E.x2=v,E.y1=w,E.y2=Q;var M=x&&x.lineWidth;M&&(A(y*2)===A(v*2)&&(E.x1=E.x2=C(y,M,!0)),A(w*2)===A(Q*2)&&(E.y1=E.y2=C(w,M,!0)))}}function m(E,I,x){if(I){var y=I.x,v=I.y,w=I.width,Q=I.height;E.x=y,E.y=v,E.width=w,E.height=Q;var M=x&&x.lineWidth;M&&(E.x=C(y,M,!0),E.y=C(v,M,!0),E.width=Math.max(C(y+w,M,!1)-E.x,w===0?0:1),E.height=Math.max(C(v+Q,M,!1)-E.y,Q===0?0:1))}}function C(E,I,x){if(!I)return E;var y=A(E*2);return(y+A(I))%2===0?y/2:(y+(x?1:-1))/2}o.subPixelOptimizeLine=f,o.subPixelOptimizeRect=m,o.subPixelOptimize=C}),Oce=Et((o,A)=>{var f=Yd(),m=Kke(),C=Uce(),E=C.subPixelOptimizeRect,I={},x=f.extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(y,v){var w,Q,M,B;this.subPixelOptimize?(E(I,v,this.style),w=I.x,Q=I.y,M=I.width,B=I.height,I.r=v.r,v=I):(w=v.x,Q=v.y,M=v.width,B=v.height),v.r?m.buildPath(y,v):y.rect(w,Q,M,B),y.closePath()}});A.exports=x}),o5e=Et((o,A)=>{var f=Yd(),m=Uce(),C=m.subPixelOptimizeLine,E={},I=f.extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(x,y){var v,w,Q,M;this.subPixelOptimize?(C(E,y,this.style),v=E.x1,w=E.y1,Q=E.x2,M=E.y2):(v=y.x1,w=y.y1,Q=y.x2,M=y.y2);var B=y.percent;B!==0&&(x.moveTo(v,w),B<1&&(Q=v*(1-B)+Q*B,M=w*(1-B)+M*B),x.lineTo(Q,M))},pointAt:function(x){var y=this.shape;return[y.x1*(1-x)+y.x2*x,y.y1*(1-x)+y.y2*x]}});A.exports=I}),dst=Et((o,A)=>{var f=Yd(),m=Zc(),C=K2(),E=C.quadraticSubdivide,I=C.cubicSubdivide,x=C.quadraticAt,y=C.cubicAt,v=C.quadraticDerivativeAt,w=C.cubicDerivativeAt,Q=[];function M(D,S,P){var R=D.cpx2,T=D.cpy2;return R===null||T===null?[(P?w:y)(D.x1,D.cpx1,D.cpx2,D.x2,S),(P?w:y)(D.y1,D.cpy1,D.cpy2,D.y2,S)]:[(P?v:x)(D.x1,D.cpx1,D.x2,S),(P?v:x)(D.y1,D.cpy1,D.y2,S)]}var B=f.extend({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(D,S){var P=S.x1,R=S.y1,T=S.x2,L=S.y2,F=S.cpx1,U=S.cpy1,N=S.cpx2,H=S.cpy2,J=S.percent;J!==0&&(D.moveTo(P,R),N==null||H==null?(J<1&&(E(P,F,T,J,Q),F=Q[1],T=Q[2],E(R,U,L,J,Q),U=Q[1],L=Q[2]),D.quadraticCurveTo(F,U,T,L)):(J<1&&(I(P,F,N,T,J,Q),F=Q[1],N=Q[2],T=Q[3],I(R,U,H,L,J,Q),U=Q[1],H=Q[2],L=Q[3]),D.bezierCurveTo(F,U,N,H,T,L)))},pointAt:function(D){return M(this.shape,D,!1)},tangentAt:function(D){var S=M(this.shape,D,!0);return m.normalize(S,S)}});A.exports=B}),gst=Et((o,A)=>{var f=Yd(),m=f.extend({type:"arc",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:Math.PI*2,clockwise:!0},style:{stroke:"#000",fill:null},buildPath:function(C,E){var I=E.cx,x=E.cy,y=Math.max(E.r,0),v=E.startAngle,w=E.endAngle,Q=E.clockwise,M=Math.cos(v),B=Math.sin(v);C.moveTo(M*y+I,B*y+x),C.arc(I,x,y,v,w,!Q)}});A.exports=m}),fst=Et((o,A)=>{var f=Yd(),m=f.extend({type:"compound",shape:{paths:null},_updatePathDirty:function(){for(var C=this.__dirtyPath,E=this.shape.paths,I=0;I{var f=function(C){this.colorStops=C||[]};f.prototype={constructor:f,addColorStop:function(C,E){this.colorStops.push({offset:C,color:E})}};var m=f;A.exports=m}),Gce=Et((o,A)=>{var f=mi(),m=pZ(),C=function(I,x,y,v,w,Q){this.x=I??0,this.y=x??0,this.x2=y??1,this.y2=v??0,this.type="linear",this.global=Q||!1,m.call(this,w)};C.prototype={constructor:C},f.inherits(C,m);var E=C;A.exports=E}),pst=Et((o,A)=>{var f=mi(),m=pZ(),C=function(I,x,y,v,w){this.x=I??.5,this.y=x??.5,this.r=y??.5,this.type="radial",this.global=w||!1,m.call(this,v)};C.prototype={constructor:C},f.inherits(C,m);var E=C;A.exports=E}),Hce=Et((o,A)=>{var f=mi(),m=f.inherits,C=y9(),E=Eh();function I(v){C.call(this,v),this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.notClear=!0}I.prototype.incremental=!0,I.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.dirty(),this.notClear=!1},I.prototype.addDisplayable=function(v,w){w?this._temporaryDisplayables.push(v):this._displayables.push(v),this.dirty()},I.prototype.addDisplayables=function(v,w){w=w||!1;for(var Q=0;Q{var A=mi(),f=$ke(),m=O1(),C=UC(),E=Zc(),I=Yd(),x=cZ(),y=IO();o.Image=y;var v=WF();o.Group=v;var w=qF();o.Text=w;var Q=e5e();o.Circle=Q;var M=Ast();o.Sector=M;var B=ust();o.Ring=B;var D=r5e();o.Polygon=D;var S=n5e();o.Polyline=S;var P=Oce();o.Rect=P;var R=o5e();o.Line=R;var T=dst();o.BezierCurve=T;var L=gst();o.Arc=L;var F=fst();o.CompoundPath=F;var U=Gce();o.LinearGradient=U;var N=pst();o.RadialGradient=N;var H=Eh();o.BoundingRect=H;var J=Hce();o.IncrementalDisplayable=J;var K=Uce(),X=Math.max,j=Math.min,ee={},ie=1,z={color:"textFill",textBorderColor:"textStroke",textBorderWidth:"textStrokeWidth"},oe="emphasis",le="normal",Ae=1,he={},ge={};function de(gt){return I.extend(gt)}function fe(gt,bt){return f.extendFromString(gt,bt)}function G(gt,bt){ge[gt]=bt}function Y(gt){if(ge.hasOwnProperty(gt))return ge[gt]}function W(gt,bt,Ot,Wt){var Oi=f.createFromString(gt,bt);return Ot&&(Wt==="center"&&(Ot=re(Ot,Oi.getBoundingRect())),ce(Oi,Ot)),Oi}function O(gt,bt,Ot){var Wt=new y({style:{image:gt,x:bt.x,y:bt.y,width:bt.width,height:bt.height},onload:function(Oi){if(Ot==="center"){var Ci={width:Oi.width,height:Oi.height};Wt.setStyle(re(bt,Ci))}}});return Wt}function re(gt,bt){var Ot=bt.width/bt.height,Wt=gt.height*Ot,Oi;Wt<=gt.width?Oi=gt.height:(Wt=gt.width,Oi=Wt/Ot);var Ci=gt.x+gt.width/2,so=gt.y+gt.height/2;return{x:Ci-Wt/2,y:so-Oi/2,width:Wt,height:Oi}}var se=f.mergePath;function ce(gt,bt){if(gt.applyTransform){var Ot=gt.getBoundingRect(),Wt=Ot.calculateTransform(bt);gt.applyTransform(Wt)}}function me(gt){return K.subPixelOptimizeLine(gt.shape,gt.shape,gt.style),gt}function Ce(gt){return K.subPixelOptimizeRect(gt.shape,gt.shape,gt.style),gt}var ye=K.subPixelOptimize;function Be(gt){return gt!=null&>!=="none"}var Me=A.createHashMap(),He=0;function ke(gt){if(typeof gt!="string")return gt;var bt=Me.get(gt);return bt||(bt=m.lift(gt,-.1),He<1e4&&(Me.set(gt,bt),He++)),bt}function Ne(gt){if(gt.__hoverStlDirty){gt.__hoverStlDirty=!1;var bt=gt.__hoverStl;if(!bt){gt.__cachedNormalStl=gt.__cachedNormalZ2=null;return}var Ot=gt.__cachedNormalStl={};gt.__cachedNormalZ2=gt.z2;var Wt=gt.style;for(var Oi in bt)bt[Oi]!=null&&(Ot[Oi]=Wt[Oi]);Ot.fill=Wt.fill,Ot.stroke=Wt.stroke}}function Pe(gt){var bt=gt.__hoverStl;if(!(!bt||gt.__highlighted)){var Ot=gt.__zr,Wt=gt.useHoverLayer&&Ot&&Ot.painter.type==="canvas";if(gt.__highlighted=Wt?"layer":"plain",!(gt.isGroup||!Ot&>.useHoverLayer)){var Oi=gt,Ci=gt.style;Wt&&(Oi=Ot.addHover(gt),Ci=Oi.style),Oe(Ci),Wt||Ne(Oi),Ci.extendFrom(bt),we(Ci,bt,"fill"),we(Ci,bt,"stroke"),_e(Ci),Wt||(gt.dirty(!1),gt.z2+=ie)}}}function we(gt,bt,Ot){!Be(bt[Ot])&&Be(gt[Ot])&&(gt[Ot]=ke(gt[Ot]))}function Fe(gt){var bt=gt.__highlighted;if(bt&&(gt.__highlighted=!1,!gt.isGroup))if(bt==="layer")gt.__zr&>.__zr.removeHover(gt);else{var Ot=gt.style,Wt=gt.__cachedNormalStl;Wt&&(Oe(Ot),gt.setStyle(Wt),_e(Ot));var Oi=gt.__cachedNormalZ2;Oi!=null&>.z2-Oi===ie&&(gt.z2=Oi)}}function Ue(gt,bt,Ot){var Wt=le,Oi=le,Ci;gt.__highlighted&&(Wt=oe,Ci=!0),bt(gt,Ot),gt.__highlighted&&(Oi=oe,Ci=!0),gt.isGroup&>.traverse(function(so){!so.isGroup&&bt(so,Ot)}),Ci&>.__highDownOnUpdate&>.__highDownOnUpdate(Wt,Oi)}function ze(gt,bt){bt=gt.__hoverStl=bt!==!1&&(gt.hoverStyle||bt||{}),gt.__hoverStlDirty=!0,gt.__highlighted&&(gt.__cachedNormalStl=null,Fe(gt),Pe(gt))}function Je(gt){!At(this,gt)&&!this.__highByOuter&&Ue(this,Pe)}function je(gt){!At(this,gt)&&!this.__highByOuter&&Ue(this,Fe)}function Ze(gt){this.__highByOuter|=1<<(gt||0),Ue(this,Pe)}function rt(gt){!(this.__highByOuter&=~(1<<(gt||0)))&&Ue(this,Fe)}function At(gt,bt){return gt.__highDownSilentOnTouch&&bt.zrByTouch}function yt(gt,bt){at(gt,!0),Ue(gt,ze,bt)}function at(gt,bt){var Ot=bt===!1;if(gt.__highDownSilentOnTouch=gt.highDownSilentOnTouch,gt.__highDownOnUpdate=gt.highDownOnUpdate,!Ot||gt.__highDownDispatcher){var Wt=Ot?"off":"on";gt[Wt]("mouseover",Je)[Wt]("mouseout",je),gt[Wt]("emphasis",Ze)[Wt]("normal",rt),gt.__highByOuter=gt.__highByOuter||0,gt.__highDownDispatcher=!Ot}}function ft(gt){return!!(gt&>.__highDownDispatcher)}function _t(gt){var bt=he[gt];return bt==null&&Ae<=32&&(bt=he[gt]=Ae++),bt}function et(gt,bt,Ot,Wt,Oi,Ci,so){Oi=Oi||ee;var Mn=Oi.labelFetcher,Gn=Oi.labelDataIndex,Da=Oi.labelDimIndex,_a=Oi.labelProp,Ho=Ot.getShallow("show"),Ol=Wt.getShallow("show"),au;(Ho||Ol)&&(Mn&&(au=Mn.getFormattedLabel(Gn,"normal",null,Da,_a)),au==null&&(au=A.isFunction(Oi.defaultText)?Oi.defaultText(Gn,Oi):Oi.defaultText));var oh=Ho?au:null,su=Ol?A.retrieve2(Mn?Mn.getFormattedLabel(Gn,"emphasis",null,Da,_a):null,au):null;(oh!=null||su!=null)&&(zt(gt,Ot,Ci,Oi),zt(bt,Wt,so,Oi,!0)),gt.text=oh,bt.text=su}function pt(gt,bt,Ot){var Wt=gt.style;bt&&(Oe(Wt),gt.setStyle(bt),_e(Wt)),Wt=gt.__hoverStl,Ot&&Wt&&(Oe(Wt),A.extend(Wt,Ot),_e(Wt))}function zt(gt,bt,Ot,Wt,Oi){return Pt(gt,bt,Wt,Oi),Ot&&A.extend(gt,Ot),gt}function It(gt,bt,Ot){var Wt={isRectText:!0},Oi;Ot===!1?Oi=!0:Wt.autoColor=Ot,Pt(gt,bt,Wt,Oi)}function Pt(gt,bt,Ot,Wt){if(Ot=Ot||ee,Ot.isRectText){var Oi;Ot.getTextPosition?Oi=Ot.getTextPosition(bt,Wt):(Oi=bt.getShallow("position")||(Wt?null:"inside"),Oi==="outside"&&(Oi="top")),gt.textPosition=Oi,gt.textOffset=bt.getShallow("offset");var Ci=bt.getShallow("rotate");Ci!=null&&(Ci*=Math.PI/180),gt.textRotation=Ci,gt.textDistance=A.retrieve2(bt.getShallow("distance"),Wt?null:5)}var so=bt.ecModel,Mn=so&&so.option.textStyle,Gn=St(bt),Da;if(Gn){Da={};for(var _a in Gn)if(Gn.hasOwnProperty(_a)){var Ho=bt.getModel(["rich",_a]);dt(Da[_a]={},Ho,Mn,Ot,Wt)}}return gt.rich=Da,dt(gt,bt,Mn,Ot,Wt,!0),Ot.forceRich&&!Ot.textStyle&&(Ot.textStyle={}),gt}function St(gt){for(var bt;gt&>!==gt.ecModel;){var Ot=(gt.option||ee).rich;if(Ot){bt=bt||{};for(var Wt in Ot)Ot.hasOwnProperty(Wt)&&(bt[Wt]=1)}gt=gt.parentModel}return bt}function dt(gt,bt,Ot,Wt,Oi,Ci){Ot=!Oi&&Ot||ee,gt.textFill=Le(bt.getShallow("color"),Wt)||Ot.color,gt.textStroke=Le(bt.getShallow("textBorderColor"),Wt)||Ot.textBorderColor,gt.textStrokeWidth=A.retrieve2(bt.getShallow("textBorderWidth"),Ot.textBorderWidth),Oi||(Ci&&(gt.insideRollbackOpt=Wt,_e(gt)),gt.textFill==null&&(gt.textFill=Wt.autoColor)),gt.fontStyle=bt.getShallow("fontStyle")||Ot.fontStyle,gt.fontWeight=bt.getShallow("fontWeight")||Ot.fontWeight,gt.fontSize=bt.getShallow("fontSize")||Ot.fontSize,gt.fontFamily=bt.getShallow("fontFamily")||Ot.fontFamily,gt.textAlign=bt.getShallow("align"),gt.textVerticalAlign=bt.getShallow("verticalAlign")||bt.getShallow("baseline"),gt.textLineHeight=bt.getShallow("lineHeight"),gt.textWidth=bt.getShallow("width"),gt.textHeight=bt.getShallow("height"),gt.textTag=bt.getShallow("tag"),(!Ci||!Wt.disableBox)&&(gt.textBackgroundColor=Le(bt.getShallow("backgroundColor"),Wt),gt.textPadding=bt.getShallow("padding"),gt.textBorderColor=Le(bt.getShallow("borderColor"),Wt),gt.textBorderWidth=bt.getShallow("borderWidth"),gt.textBorderRadius=bt.getShallow("borderRadius"),gt.textBoxShadowColor=bt.getShallow("shadowColor"),gt.textBoxShadowBlur=bt.getShallow("shadowBlur"),gt.textBoxShadowOffsetX=bt.getShallow("shadowOffsetX"),gt.textBoxShadowOffsetY=bt.getShallow("shadowOffsetY")),gt.textShadowColor=bt.getShallow("textShadowColor")||Ot.textShadowColor,gt.textShadowBlur=bt.getShallow("textShadowBlur")||Ot.textShadowBlur,gt.textShadowOffsetX=bt.getShallow("textShadowOffsetX")||Ot.textShadowOffsetX,gt.textShadowOffsetY=bt.getShallow("textShadowOffsetY")||Ot.textShadowOffsetY}function Le(gt,bt){return gt!=="auto"?gt:bt&&bt.autoColor?bt.autoColor:null}function _e(gt){var bt=gt.textPosition,Ot=gt.insideRollbackOpt,Wt;if(Ot&>.textFill==null){var Oi=Ot.autoColor,Ci=Ot.isRectText,so=Ot.useInsideStyle,Mn=so!==!1&&(so===!0||Ci&&bt&&typeof bt=="string"&&bt.indexOf("inside")>=0),Gn=!Mn&&Oi!=null;(Mn||Gn)&&(Wt={textFill:gt.textFill,textStroke:gt.textStroke,textStrokeWidth:gt.textStrokeWidth}),Mn&&(gt.textFill="#fff",gt.textStroke==null&&(gt.textStroke=Oi,gt.textStrokeWidth==null&&(gt.textStrokeWidth=2))),Gn&&(gt.textFill=Oi)}gt.insideRollback=Wt}function Oe(gt){var bt=gt.insideRollback;bt&&(gt.textFill=bt.textFill,gt.textStroke=bt.textStroke,gt.textStrokeWidth=bt.textStrokeWidth,gt.insideRollback=null)}function vt(gt,bt){var Ot=bt&&bt.getModel("textStyle");return A.trim([gt.fontStyle||Ot&&Ot.getShallow("fontStyle")||"",gt.fontWeight||Ot&&Ot.getShallow("fontWeight")||"",(gt.fontSize||Ot&&Ot.getShallow("fontSize")||12)+"px",gt.fontFamily||Ot&&Ot.getShallow("fontFamily")||"sans-serif"].join(" "))}function wt(gt,bt,Ot,Wt,Oi,Ci){typeof Oi=="function"&&(Ci=Oi,Oi=null);var so=Wt&&Wt.isAnimationEnabled();if(so){var Mn=gt?"Update":"",Gn=Wt.getShallow("animationDuration"+Mn),Da=Wt.getShallow("animationEasing"+Mn),_a=Wt.getShallow("animationDelay"+Mn);typeof _a=="function"&&(_a=_a(Oi,Wt.getAnimationDelayParams?Wt.getAnimationDelayParams(bt,Oi):null)),typeof Gn=="function"&&(Gn=Gn(Oi)),Gn>0?bt.animateTo(Ot,Gn,_a||0,Da,Ci,!!Ci):(bt.stopAnimation(),bt.attr(Ot),Ci&&Ci())}else bt.stopAnimation(),bt.attr(Ot),Ci&&Ci()}function Bt(gt,bt,Ot,Wt,Oi){wt(!0,gt,bt,Ot,Wt,Oi)}function bi(gt,bt,Ot,Wt,Oi){wt(!1,gt,bt,Ot,Wt,Oi)}function nr(gt,bt){for(var Ot=C.identity([]);gt&>!==bt;)C.mul(Ot,gt.getLocalTransform(),Ot),gt=gt.parent;return Ot}function Ai(gt,bt,Ot){return bt&&!A.isArrayLike(bt)&&(bt=x.getLocalTransform(bt)),Ot&&(bt=C.invert([],bt)),E.applyTransform([],gt,bt)}function xi(gt,bt,Ot){var Wt=bt[4]===0||bt[5]===0||bt[0]===0?1:Math.abs(2*bt[4]/bt[0]),Oi=bt[4]===0||bt[5]===0||bt[2]===0?1:Math.abs(2*bt[4]/bt[2]),Ci=[gt==="left"?-Wt:gt==="right"?Wt:0,gt==="top"?-Oi:gt==="bottom"?Oi:0];return Ci=Ai(Ci,bt,Ot),Math.abs(Ci[0])>Math.abs(Ci[1])?Ci[0]>0?"right":"left":Ci[1]>0?"bottom":"top"}function Fi(gt,bt,Ot,Wt){if(!gt||!bt)return;function Oi(Mn){var Gn={};return Mn.traverse(function(Da){!Da.isGroup&&Da.anid&&(Gn[Da.anid]=Da)}),Gn}function Ci(Mn){var Gn={position:E.clone(Mn.position),rotation:Mn.rotation};return Mn.shape&&(Gn.shape=A.extend({},Mn.shape)),Gn}var so=Oi(gt);bt.traverse(function(Mn){if(!Mn.isGroup&&Mn.anid){var Gn=so[Mn.anid];if(Gn){var Da=Ci(Mn);Mn.attr(Ci(Gn)),Bt(Mn,Da,Ot,Mn.dataIndex)}}})}function pi(gt,bt){return A.map(gt,function(Ot){var Wt=Ot[0];Wt=X(Wt,bt.x),Wt=j(Wt,bt.x+bt.width);var Oi=Ot[1];return Oi=X(Oi,bt.y),Oi=j(Oi,bt.y+bt.height),[Wt,Oi]})}function Vt(gt,bt){var Ot=X(gt.x,bt.x),Wt=j(gt.x+gt.width,bt.x+bt.width),Oi=X(gt.y,bt.y),Ci=j(gt.y+gt.height,bt.y+bt.height);if(Wt>=Ot&&Ci>=Oi)return{x:Ot,y:Oi,width:Wt-Ot,height:Ci-Oi}}function Kt(gt,bt,Ot){bt=A.extend({rectHover:!0},bt);var Wt=bt.style={strokeNoScale:!0};if(Ot=Ot||{x:-1,y:-1,width:2,height:2},gt)return gt.indexOf("image://")===0?(Wt.image=gt.slice(8),A.defaults(Wt,Ot),new y(bt)):W(gt.replace("path://",""),bt,Ot,"center")}function di(gt,bt,Ot,Wt,Oi){for(var Ci=0,so=Oi[Oi.length-1];Ci1)return!1;var Bg=Ht(au,oh,_a,Ho)/Ol;return!(Bg<0||Bg>1)}function Ht(gt,bt,Ot,Wt){return gt*Wt-Ot*bt}function Ei(gt){return gt<=1e-6&>>=-1e-6}G("circle",Q),G("sector",M),G("ring",B),G("polygon",D),G("polyline",S),G("rect",P),G("line",R),G("bezierCurve",T),G("arc",L),o.Z2_EMPHASIS_LIFT=ie,o.CACHED_LABEL_STYLE_PROPERTIES=z,o.extendShape=de,o.extendPath=fe,o.registerShape=G,o.getShapeClass=Y,o.makePath=W,o.makeImage=O,o.mergePath=se,o.resizePath=ce,o.subPixelOptimizeLine=me,o.subPixelOptimizeRect=Ce,o.subPixelOptimize=ye,o.setElementHoverStyle=ze,o.setHoverStyle=yt,o.setAsHighDownDispatcher=at,o.isHighDownDispatcher=ft,o.getHighlightDigit=_t,o.setLabelStyle=et,o.modifyLabelStyle=pt,o.setTextStyle=zt,o.setText=It,o.getFont=vt,o.updateProps=Bt,o.initProps=bi,o.getTransform=nr,o.applyTransform=Ai,o.transformDirection=xi,o.groupTransition=Fi,o.clipPointsByRect=pi,o.clipRectByRect=Vt,o.createIcon=Kt,o.linePolygonIntersect=di,o.lineLineIntersect=ui}),mst=Et((o,A)=>{var f=Nx(),m=po(),C=["textStyle","color"],E={getTextColor:function(I){var x=this.ecModel;return this.getShallow("color")||(!I&&x?x.get(C):null)},getFont:function(){return m.getFont({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(I){return f.getBoundingRect(I,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("lineHeight"),this.getShallow("rich"),this.getShallow("truncateText"))}};A.exports=E}),Cst=Et((o,A)=>{var f=xO(),m=f([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),C={getItemStyle:function(E,I){var x=m(this,E,I),y=this.getBorderLineDash();return y&&(x.lineDash=y),x},getBorderLineDash:function(){var E=this.get("borderType");return E==="solid"||E==null?null:E==="dashed"?[5,5]:[1,1]}};A.exports=C}),Cg=Et((o,A)=>{var f=mi(),m=mg(),C=pl(),E=C.makeInner,I=VS(),x=I.enableClassExtend,y=I.enableClassCheck,v=rst(),w=nst(),Q=mst(),M=Cst(),B=f.mixin,D=E();function S(L,F,U){this.parentModel=F,this.ecModel=U,this.option=L}S.prototype={constructor:S,init:null,mergeOption:function(L){f.merge(this.option,L,!0)},get:function(L,F){return L==null?this.option:P(this.option,this.parsePath(L),!F&&R(this,L))},getShallow:function(L,F){var U=this.option,N=U==null?U:U[L],H=!F&&R(this,L);return N==null&&H&&(N=H.getShallow(L)),N},getModel:function(L,F){var U=L==null?this.option:P(this.option,L=this.parsePath(L)),N;return F=F||(N=R(this,L))&&N.getModel(L),new S(U,F,this.ecModel)},isEmpty:function(){return this.option==null},restoreData:function(){},clone:function(){var L=this.constructor;return new L(f.clone(this.option))},setReadOnly:function(L){},parsePath:function(L){return typeof L=="string"&&(L=L.split(".")),L},customizeGetParent:function(L){D(this).getParent=L},isAnimationEnabled:function(){if(!m.node){if(this.option.animation!=null)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}};function P(L,F,U){for(var N=0;N{var A=mi(),f=VS(),m=f.parseClassType,C=0;function E(y){return[y||"",C++,Math.random().toFixed(5)].join("_")}function I(y){var v={};return y.registerSubTypeDefaulter=function(w,Q){w=m(w),v[w.main]=Q},y.determineSubType=function(w,Q){var M=Q.type;if(!M){var B=m(w).main;y.hasSubTypes(w)&&v[B]&&(M=v[B](Q))}return M},y}function x(y,v){y.topologicalTravel=function(B,D,S,P){if(!B.length)return;var R=w(D),T=R.graph,L=R.noEntryList,F={};for(A.each(B,function(X){F[X]=!0});L.length;){var U=L.pop(),N=T[U],H=!!F[U];H&&(S.call(P,U,N.originalDeps.slice()),delete F[U]),A.each(N.successor,H?K:J)}A.each(F,function(){throw new Error("Circle dependency may exists")});function J(X){T[X].entryCount--,T[X].entryCount===0&&L.push(X)}function K(X){F[X]=!0,J(X)}};function w(B){var D={},S=[];return A.each(B,function(P){var R=Q(D,P),T=R.originalDeps=v(P),L=M(T,B);R.entryCount=L.length,R.entryCount===0&&S.push(P),A.each(L,function(F){A.indexOf(R.predecessor,F)<0&&R.predecessor.push(F);var U=Q(D,F);A.indexOf(U.successor,F)<0&&U.successor.push(P)})}),{graph:D,noEntryList:S}}function Q(B,D){return B[D]||(B[D]={predecessor:[],successor:[]}),B[D]}function M(B,D){var S=[];return A.each(B,function(P){A.indexOf(D,P)>=0&&S.push(P)}),S}}o.getUID=E,o.enableSubTypeDefaulter=I,o.enableTopologicalTravel=x}),ja=Et(o=>{var A=mi(),f=1e-4;function m(H){return H.replace(/^\s+|\s+$/g,"")}function C(H,J,K,X){var j=J[1]-J[0],ee=K[1]-K[0];if(j===0)return ee===0?K[0]:(K[0]+K[1])/2;if(X)if(j>0){if(H<=J[0])return K[0];if(H>=J[1])return K[1]}else{if(H>=J[0])return K[0];if(H<=J[1])return K[1]}else{if(H===J[0])return K[0];if(H===J[1])return K[1]}return(H-J[0])/j*ee+K[0]}function E(H,J){switch(H){case"center":case"middle":H="50%";break;case"left":case"top":H="0%";break;case"right":case"bottom":H="100%";break}return typeof H=="string"?m(H).match(/%$/)?parseFloat(H)/100*J:parseFloat(H):H==null?NaN:+H}function I(H,J,K){return J==null&&(J=10),J=Math.min(Math.max(0,J),20),H=(+H).toFixed(J),K?H:+H}function x(H){return H.sort(function(J,K){return J-K}),H}function y(H){if(H=+H,isNaN(H))return 0;for(var J=1,K=0;Math.round(H*J)/J!==H;)J*=10,K++;return K}function v(H){var J=H.toString(),K=J.indexOf("e");if(K>0){var X=+J.slice(K+1);return X<0?-X:0}else{var j=J.indexOf(".");return j<0?0:J.length-1-j}}function w(H,J){var K=Math.log,X=Math.LN10,j=Math.floor(K(H[1]-H[0])/X),ee=Math.round(K(Math.abs(J[1]-J[0]))/X),ie=Math.min(Math.max(-j+ee,0),20);return isFinite(ie)?ie:20}function Q(H,J,K){if(!H[J])return 0;var X=A.reduce(H,function(fe,G){return fe+(isNaN(G)?0:G)},0);if(X===0)return 0;for(var j=Math.pow(10,K),ee=A.map(H,function(fe){return(isNaN(fe)?0:fe)/X*j*100}),ie=j*100,z=A.map(ee,function(fe){return Math.floor(fe)}),oe=A.reduce(z,function(fe,G){return fe+G},0),le=A.map(ee,function(fe,G){return fe-z[G]});oeAe&&(Ae=le[ge],he=ge);++z[he],le[he]=0,++oe}return z[J]/j}var M=9007199254740991;function B(H){var J=Math.PI*2;return(H%J+J)%J}function D(H){return H>-f&&H=10&&J++,J}function L(H,J){var K=T(H),X=Math.pow(10,K),j=H/X,ee;return J?j<1.5?ee=1:j<2.5?ee=2:j<4?ee=3:j<7?ee=5:ee=10:j<1?ee=1:j<2?ee=2:j<3?ee=3:j<5?ee=5:ee=10,H=ee*X,K>=-20?+H.toFixed(K<0?-K:0):H}function F(H,J){var K=(H.length-1)*J+1,X=Math.floor(K),j=+H[X-1],ee=K-X;return ee?j+ee*(H[X]-j):j}function U(H){H.sort(function(oe,le){return z(oe,le,0)?-1:1});for(var J=-1/0,K=1,X=0;X=0}o.linearMap=C,o.parsePercent=E,o.round=I,o.asc=x,o.getPrecision=y,o.getPrecisionSafe=v,o.getPixelPrecision=w,o.getPercentWithPrecision=Q,o.MAX_SAFE_INTEGER=M,o.remRadian=B,o.isRadianAroundZero=D,o.parseDate=P,o.quantity=R,o.quantityExponent=T,o.nice=L,o.quantile=F,o.reformIntervals=U,o.isNumeric=N}),sc=Et(o=>{var A=mi(),f=Nx(),m=ja();function C(N){return isNaN(N)?"-":(N=(N+"").split("."),N[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(N.length>1?"."+N[1]:""))}function E(N,H){return N=(N||"").toLowerCase().replace(/-(.)/g,function(J,K){return K.toUpperCase()}),H&&N&&(N=N.charAt(0).toUpperCase()+N.slice(1)),N}var I=A.normalizeCssArray,x=/([&<>"'])/g,y={"&":"&","<":"<",">":">",'"':""","'":"'"};function v(N){return N==null?"":(N+"").replace(x,function(H,J){return y[J]})}var w=["a","b","c","d","e","f","g"],Q=function(N,H){return"{"+N+(H??"")+"}"};function M(N,H,J){A.isArray(H)||(H=[H]);var K=H.length;if(!K)return"";for(var X=H[0].$vars||[],j=0;j':'':{renderMode:j,content:"{marker"+ee+"|} ",style:{color:J}}:""}function S(N,H){return N+="","0000".substr(0,H-N.length)+N}function P(N,H,J){(N==="week"||N==="month"||N==="quarter"||N==="half-year"||N==="year")&&(N=`MM-dd yyyy`);var K=m.parseDate(H),X=J?"UTC":"",j=K["get"+X+"FullYear"](),ee=K["get"+X+"Month"]()+1,ie=K["get"+X+"Date"](),z=K["get"+X+"Hours"](),oe=K["get"+X+"Minutes"](),le=K["get"+X+"Seconds"](),Ae=K["get"+X+"Milliseconds"]();return N=N.replace("MM",S(ee,2)).replace("M",ee).replace("yyyy",j).replace("yy",j%100).replace("dd",S(ie,2)).replace("d",ie).replace("hh",S(z,2)).replace("h",z).replace("mm",S(oe,2)).replace("m",oe).replace("ss",S(le,2)).replace("s",le).replace("SSS",S(Ae,3)),N}function R(N){return N&&N.charAt(0).toUpperCase()+N.substr(1)}var T=f.truncateText;function L(N){return f.getBoundingRect(N.text,N.font,N.textAlign,N.textVerticalAlign,N.textPadding,N.textLineHeight,N.rich,N.truncate)}function F(N,H,J,K,X,j,ee,ie){return f.getBoundingRect(N,H,J,K,X,ie,j,ee)}function U(N,H){if(H==="_blank"||H==="blank"){var J=window.open();J.opener=null,J.location=N}else window.open(N,H)}o.addCommas=C,o.toCamelCase=E,o.normalizeCssArray=I,o.encodeHTML=v,o.formatTpl=M,o.formatTplSimple=B,o.getTooltipMarker=D,o.formatTime=P,o.capitalFirst=R,o.truncateText=T,o.getTextBoundingRect=L,o.getTextRect=F,o.windowOpen=U}),Wu=Et(o=>{var A=mi(),f=Eh(),m=ja(),C=m.parsePercent,E=sc(),I=A.each,x=["left","right","top","bottom","width","height"],y=[["width","left","right"],["height","top","bottom"]];function v(F,U,N,H,J){var K=0,X=0;H==null&&(H=1/0),J==null&&(J=1/0);var j=0;U.eachChild(function(ee,ie){var z=ee.position,oe=ee.getBoundingRect(),le=U.childAt(ie+1),Ae=le&&le.getBoundingRect(),he,ge;if(F==="horizontal"){var de=oe.width+(Ae?-Ae.x+oe.x:0);he=K+de,he>H||ee.newline?(K=0,he=de,X+=j+N,j=oe.height):j=Math.max(j,oe.height)}else{var fe=oe.height+(Ae?-Ae.y+oe.y:0);ge=X+fe,ge>J||ee.newline?(K+=j+N,X=0,ge=fe,j=oe.width):j=Math.max(j,oe.width)}ee.newline||(z[0]=K,z[1]=X,F==="horizontal"?K=he+N:X=ge+N)})}var w=v,Q=A.curry(v,"vertical"),M=A.curry(v,"horizontal");function B(F,U,N){var H=U.width,J=U.height,K=C(F.x,H),X=C(F.y,J),j=C(F.x2,H),ee=C(F.y2,J);return(isNaN(K)||isNaN(parseFloat(F.x)))&&(K=0),(isNaN(j)||isNaN(parseFloat(F.x2)))&&(j=H),(isNaN(X)||isNaN(parseFloat(F.y)))&&(X=0),(isNaN(ee)||isNaN(parseFloat(F.y2)))&&(ee=J),N=E.normalizeCssArray(N||0),{width:Math.max(j-K-N[1]-N[3],0),height:Math.max(ee-X-N[0]-N[2],0)}}function D(F,U,N){N=E.normalizeCssArray(N||0);var H=U.width,J=U.height,K=C(F.left,H),X=C(F.top,J),j=C(F.right,H),ee=C(F.bottom,J),ie=C(F.width,H),z=C(F.height,J),oe=N[2]+N[0],le=N[1]+N[3],Ae=F.aspect;switch(isNaN(ie)&&(ie=H-j-le-K),isNaN(z)&&(z=J-ee-oe-X),Ae!=null&&(isNaN(ie)&&isNaN(z)&&(Ae>H/J?ie=H*.8:z=J*.8),isNaN(ie)&&(ie=Ae*z),isNaN(z)&&(z=ie/Ae)),isNaN(K)&&(K=H-j-ie-le),isNaN(X)&&(X=J-ee-z-oe),F.left||F.right){case"center":K=H/2-ie/2-N[3];break;case"right":K=H-ie-le;break}switch(F.top||F.bottom){case"middle":case"center":X=J/2-z/2-N[0];break;case"bottom":X=J-z-oe;break}K=K||0,X=X||0,isNaN(ie)&&(ie=H-le-K-(j||0)),isNaN(z)&&(z=J-oe-X-(ee||0));var he=new f(K+N[3],X+N[0],ie,z);return he.margin=N,he}function S(F,U,N,H,J){var K=!J||!J.hv||J.hv[0],X=!J||!J.hv||J.hv[1],j=J&&J.boundingMode||"all";if(!(!K&&!X)){var ee;if(j==="raw")ee=F.type==="group"?new f(0,0,+U.width||0,+U.height||0):F.getBoundingRect();else if(ee=F.getBoundingRect(),F.needLocalTransform()){var ie=F.getLocalTransform();ee=ee.clone(),ee.applyTransform(ie)}U=D(A.defaults({width:ee.width,height:ee.height},U),N,H);var z=F.position,oe=K?U.x-ee.x:0,le=X?U.y-ee.y:0;F.attr("position",j==="raw"?[oe,le]:[z[0]+oe,z[1]+le])}}function P(F,U){return F[y[U][0]]!=null||F[y[U][1]]!=null&&F[y[U][2]]!=null}function R(F,U,N){!A.isObject(N)&&(N={});var H=N.ignoreSize;!A.isArray(H)&&(H=[H,H]);var J=X(y[0],0),K=X(y[1],1);ie(y[0],F,J),ie(y[1],F,K);function X(z,oe){var le={},Ae=0,he={},ge=0,de=2;if(I(z,function(Y){he[Y]=F[Y]}),I(z,function(Y){j(U,Y)&&(le[Y]=he[Y]=U[Y]),ee(le,Y)&&Ae++,ee(he,Y)&&ge++}),H[oe])return ee(U,z[1])?he[z[2]]=null:ee(U,z[2])&&(he[z[1]]=null),he;if(ge===de||!Ae)return he;if(Ae>=de)return le;for(var fe=0;fe{var f={getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}};A.exports=f}),wf=Et((o,A)=>{var f=mi(),m=Cg(),C=_9(),E=VS(),I=E.enableClassManagement,x=E.parseClassType,y=pl(),v=y.makeInner,w=Wu(),Q=Est(),M=v(),B=m.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(P,R,T,L){m.call(this,P,R,T,L),this.uid=C.getUID("ec_cpt_model")},init:function(P,R,T,L){this.mergeDefaultAndTheme(P,T)},mergeDefaultAndTheme:function(P,R){var T=this.layoutMode,L=T?w.getLayoutParams(P):{},F=R.getTheme();f.merge(P,F.get(this.mainType)),f.merge(P,this.getDefaultOption()),T&&w.mergeLayoutParam(P,L,T)},mergeOption:function(P,R){f.merge(this.option,P,!0);var T=this.layoutMode;T&&w.mergeLayoutParam(this.option,P,T)},optionUpdated:function(P,R){},getDefaultOption:function(){var P=M(this);if(!P.defaultOption){for(var R=[],T=this.constructor;T;){var L=T.prototype.defaultOption;L&&R.push(L),T=T.superClass}for(var F={},U=R.length-1;U>=0;U--)F=f.merge(F,R[U],!0);P.defaultOption=F}return P.defaultOption},getReferringComponents:function(P){return this.ecModel.queryComponents({mainType:P,index:this.get(P+"Index",!0),id:this.get(P+"Id",!0)})}});I(B,{registerWhenExtend:!0}),C.enableSubTypeDefaulter(B),C.enableTopologicalTravel(B,D);function D(P){var R=[];return f.each(B.getClassesByMainType(P),function(T){R=R.concat(T.prototype.dependencies||[])}),R=f.map(R,function(T){return x(T).main}),P!=="dataset"&&f.indexOf(R,"dataset")<=0&&R.unshift("dataset"),R}f.mixin(B,Q);var S=B;A.exports=S}),Ist=Et((o,A)=>{var f="";typeof navigator<"u"&&(f=navigator.platform||"");var m={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:f.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1};A.exports=m}),a5e=Et((o,A)=>{var f=pl(),m=f.makeInner,C=f.normalizeToArray,E=m();function I(y,v){for(var w=y.length,Q=0;Qv)return y[Q];return y[w-1]}var x={clearColorPalette:function(){E(this).colorIdx=0,E(this).colorNameMap={}},getColorFromPalette:function(y,v,w){v=v||this;var Q=E(v),M=Q.colorIdx||0,B=Q.colorNameMap=Q.colorNameMap||{};if(B.hasOwnProperty(y))return B[y];var D=C(this.get("color",!0)),S=this.get("colorLayer",!0),P=w==null||!S?D:I(S,w);if(P=P||D,!(!P||!P.length)){var R=P[M];return y&&(B[y]=R),Q.colorIdx=(M+1)%P.length,R}}};A.exports=x}),B9=Et(o=>{var A="original",f="arrayRows",m="objectRows",C="keyedColumns",E="unknown",I="typedArray",x="column",y="row";o.SOURCE_FORMAT_ORIGINAL=A,o.SOURCE_FORMAT_ARRAY_ROWS=f,o.SOURCE_FORMAT_OBJECT_ROWS=m,o.SOURCE_FORMAT_KEYED_COLUMNS=C,o.SOURCE_FORMAT_UNKNOWN=E,o.SOURCE_FORMAT_TYPED_ARRAY=I,o.SERIES_LAYOUT_BY_COLUMN=x,o.SERIES_LAYOUT_BY_ROW=y}),w9=Et((o,A)=>{var f=mi(),m=f.createHashMap,C=f.isTypedArray,E=VS(),I=E.enableClassCheck,x=B9(),y=x.SOURCE_FORMAT_ORIGINAL,v=x.SERIES_LAYOUT_BY_COLUMN,w=x.SOURCE_FORMAT_UNKNOWN,Q=x.SOURCE_FORMAT_TYPED_ARRAY,M=x.SOURCE_FORMAT_KEYED_COLUMNS;function B(S){this.fromDataset=S.fromDataset,this.data=S.data||(S.sourceFormat===M?{}:[]),this.sourceFormat=S.sourceFormat||w,this.seriesLayoutBy=S.seriesLayoutBy||v,this.dimensionsDefine=S.dimensionsDefine,this.encodeDefine=S.encodeDefine&&m(S.encodeDefine),this.startIndex=S.startIndex||0,this.dimensionsDetectCount=S.dimensionsDetectCount}B.seriesDataToSource=function(S){return new B({data:S,sourceFormat:C(S)?Q:y,fromDataset:!1})},I(B);var D=B;A.exports=D}),zS=Et(o=>{var A=EA(),f=A.__DEV__,m=pl(),C=m.makeInner,E=m.getDataItemValue,I=mi(),x=I.createHashMap,y=I.each,v=I.map,w=I.isArray,Q=I.isString,M=I.isObject,B=I.isTypedArray,D=I.isArrayLike,S=I.extend,P=I.assert,R=w9(),T=B9(),L=T.SOURCE_FORMAT_ORIGINAL,F=T.SOURCE_FORMAT_ARRAY_ROWS,U=T.SOURCE_FORMAT_OBJECT_ROWS,N=T.SOURCE_FORMAT_KEYED_COLUMNS,H=T.SOURCE_FORMAT_UNKNOWN,J=T.SOURCE_FORMAT_TYPED_ARRAY,K=T.SERIES_LAYOUT_BY_ROW,X={Must:1,Might:2,Not:3},j=C();function ee(O){var re=O.option.source,se=H;if(B(re))se=J;else if(w(re)){re.length===0&&(se=F);for(var ce=0,me=re.length;ce{var f=EA(),m=f.__DEV__,C=mi(),E=C.each,I=C.filter,x=C.map,y=C.isArray,v=C.indexOf,w=C.isObject,Q=C.isString,M=C.createHashMap,B=C.assert,D=C.clone,S=C.merge,P=C.extend,R=C.mixin,T=pl(),L=Cg(),F=wf(),U=Ist(),N=a5e(),H=zS(),J=H.resetSourceDefaulter,K="\0_ec_inner",X=L.extend({init:function(ge,de,fe,G){fe=fe||{},this.option=null,this._theme=new L(fe),this._optionManager=G},setOption:function(ge,de){B(!(K in ge),"please use chart.getOption()"),this._optionManager.setOption(ge,de),this.resetOption(null)},resetOption:function(ge){var de=!1,fe=this._optionManager;if(!ge||ge==="recreate"){var G=fe.mountOption(ge==="recreate");!this.option||ge==="recreate"?ie.call(this,G):(this.restoreData(),this.mergeOption(G)),de=!0}if((ge==="timeline"||ge==="media")&&this.restoreData(),!ge||ge==="recreate"||ge==="timeline"){var Y=fe.getTimelineOption(this);Y&&(this.mergeOption(Y),de=!0)}if(!ge||ge==="recreate"||ge==="media"){var W=fe.getMediaOption(this,this._api);W.length&&E(W,function(O){this.mergeOption(O,de=!0)},this)}return de},mergeOption:function(ge){var de=this.option,fe=this._componentsMap,G=[];J(this),E(ge,function(W,O){W!=null&&(F.hasClass(O)?O&&G.push(O):de[O]=de[O]==null?D(W):S(de[O],W,!0))}),F.topologicalTravel(G,F.getAllClassMainTypes(),Y,this);function Y(W,O){var re=T.normalizeToArray(ge[W]),se=T.mappingToExists(fe.get(W),re);T.makeIdAndName(se),E(se,function(me,Ce){var ye=me.option;w(ye)&&(me.keyInfo.mainType=W,me.keyInfo.subType=oe(W,ye,me.exist))});var ce=z(fe,O);de[W]=[],fe.set(W,[]),E(se,function(me,Ce){var ye=me.exist,Be=me.option;if(B(w(Be)||ye,"Empty component definition"),!Be)ye.mergeOption({},this),ye.optionUpdated({},!1);else{var Me=F.getClass(W,me.keyInfo.subType,!0);if(ye&&ye.constructor===Me)ye.name=me.keyInfo.name,ye.mergeOption(Be,this),ye.optionUpdated(Be,!1);else{var He=P({dependentModels:ce,componentIndex:Ce},me.keyInfo);ye=new Me(Be,this,this,He),P(ye,He),ye.init(Be,this,this,He),ye.optionUpdated(null,!0)}}fe.get(W)[Ce]=ye,de[W][Ce]=ye.option},this),W==="series"&&le(this,fe.get("series"))}this._seriesIndicesMap=M(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var ge=D(this.option);return E(ge,function(de,fe){if(F.hasClass(fe)){for(var de=T.normalizeToArray(de),G=de.length-1;G>=0;G--)T.isIdInner(de[G])&&de.splice(G,1);ge[fe]=de}}),delete ge[K],ge},getTheme:function(){return this._theme},getComponent:function(ge,de){var fe=this._componentsMap.get(ge);if(fe)return fe[de||0]},queryComponents:function(ge){var de=ge.mainType;if(!de)return[];var fe=ge.index,G=ge.id,Y=ge.name,W=this._componentsMap.get(de);if(!W||!W.length)return[];var O;if(fe!=null)y(fe)||(fe=[fe]),O=I(x(fe,function(ce){return W[ce]}),function(ce){return!!ce});else if(G!=null){var re=y(G);O=I(W,function(ce){return re&&v(G,ce.id)>=0||!re&&ce.id===G})}else if(Y!=null){var se=y(Y);O=I(W,function(ce){return se&&v(Y,ce.name)>=0||!se&&ce.name===Y})}else O=W.slice();return Ae(O,ge)},findComponents:function(ge){var de=ge.query,fe=ge.mainType,G=W(de),Y=G?this.queryComponents(G):this._componentsMap.get(fe);return O(Ae(Y,ge));function W(re){var se=fe+"Index",ce=fe+"Id",me=fe+"Name";return re&&(re[se]!=null||re[ce]!=null||re[me]!=null)?{mainType:fe,index:re[se],id:re[ce],name:re[me]}:null}function O(re){return ge.filter?I(re,ge.filter):re}},eachComponent:function(ge,de,fe){var G=this._componentsMap;if(typeof ge=="function")fe=de,de=ge,G.each(function(W,O){E(W,function(re,se){de.call(fe,O,re,se)})});else if(Q(ge))E(G.get(ge),de,fe);else if(w(ge)){var Y=this.findComponents(ge);E(Y,de,fe)}},getSeriesByName:function(ge){var de=this._componentsMap.get("series");return I(de,function(fe){return fe.name===ge})},getSeriesByIndex:function(ge){return this._componentsMap.get("series")[ge]},getSeriesByType:function(ge){var de=this._componentsMap.get("series");return I(de,function(fe){return fe.subType===ge})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(ge,de){E(this._seriesIndices,function(fe){var G=this._componentsMap.get("series")[fe];ge.call(de,G,fe)},this)},eachRawSeries:function(ge,de){E(this._componentsMap.get("series"),ge,de)},eachSeriesByType:function(ge,de,fe){E(this._seriesIndices,function(G){var Y=this._componentsMap.get("series")[G];Y.subType===ge&&de.call(fe,Y,G)},this)},eachRawSeriesByType:function(ge,de,fe){return E(this.getSeriesByType(ge),de,fe)},isSeriesFiltered:function(ge){return this._seriesIndicesMap.get(ge.componentIndex)==null},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(ge,de){var fe=I(this._componentsMap.get("series"),ge,de);le(this,fe)},restoreData:function(ge){var de=this._componentsMap;le(this,de.get("series"));var fe=[];de.each(function(G,Y){fe.push(Y)}),F.topologicalTravel(fe,F.getAllClassMainTypes(),function(G,Y){E(de.get(G),function(W){(G!=="series"||!j(W,ge))&&W.restoreData()})})}});function j(ge,de){if(de){var fe=de.seiresIndex,G=de.seriesId,Y=de.seriesName;return fe!=null&&ge.componentIndex!==fe||G!=null&&ge.id!==G||Y!=null&&ge.name!==Y}}function ee(ge,de){var fe=ge.color&&!ge.colorLayer;E(de,function(G,Y){Y==="colorLayer"&&fe||F.hasClass(Y)||(typeof G=="object"?ge[Y]=ge[Y]?S(ge[Y],G,!1):D(G):ge[Y]==null&&(ge[Y]=G))})}function ie(ge){ge=ge,this.option={},this.option[K]=1,this._componentsMap=M({series:[]}),this._seriesIndices,this._seriesIndicesMap,ee(ge,this._theme.option),S(ge,U,!1),this.mergeOption(ge)}function z(ge,de){y(de)||(de=de?[de]:[]);var fe={};return E(de,function(G){fe[G]=(ge.get(G)||[]).slice()}),fe}function oe(ge,de,fe){var G=de.type?de.type:fe?fe.subType:F.determineSubType(ge,de);return G}function le(ge,de){ge._seriesIndicesMap=M(ge._seriesIndices=x(de,function(fe){return fe.componentIndex})||[])}function Ae(ge,de){return de.hasOwnProperty("subType")?I(ge,function(fe){return fe.subType===de.subType}):ge}R(X,N);var he=X;A.exports=he}),l5e=Et((o,A)=>{var f=mi(),m=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"];function C(I){f.each(m,function(x){this[x]=f.bind(I[x],I)},this)}var E=C;A.exports=E}),cB=Et((o,A)=>{var f=mi(),m={};function C(){this._coordinateSystems=[]}C.prototype={constructor:C,create:function(I,x){var y=[];f.each(m,function(v,w){var Q=v.create(I,x);y=y.concat(Q||[])}),this._coordinateSystems=y},update:function(I,x){f.each(this._coordinateSystems,function(y){y.update&&y.update(I,x)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},C.register=function(I,x){m[I]=x},C.get=function(I){return m[I]};var E=C;A.exports=E}),xst=Et((o,A)=>{var f=mi(),m=pl(),C=wf(),E=f.each,I=f.clone,x=f.map,y=f.merge,v=/^(min|max)?(.+)$/;function w(R){this._api=R,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}w.prototype={constructor:w,setOption:function(R,T){R&&f.each(m.normalizeToArray(R.series),function(U){U&&U.data&&f.isTypedArray(U.data)&&f.setAsPrimitive(U.data)}),R=I(R);var L=this._optionBackup,F=Q.call(this,R,T,!L);this._newBaseOption=F.baseOption,L?(S(L.baseOption,F.baseOption),F.timelineOptions.length&&(L.timelineOptions=F.timelineOptions),F.mediaList.length&&(L.mediaList=F.mediaList),F.mediaDefault&&(L.mediaDefault=F.mediaDefault)):this._optionBackup=F},mountOption:function(R){var T=this._optionBackup;return this._timelineOptions=x(T.timelineOptions,I),this._mediaList=x(T.mediaList,I),this._mediaDefault=I(T.mediaDefault),this._currentMediaIndices=[],I(R?T.baseOption:this._newBaseOption)},getTimelineOption:function(R){var T,L=this._timelineOptions;if(L.length){var F=R.getComponent("timeline");F&&(T=I(L[F.getCurrentIndex()],!0))}return T},getMediaOption:function(R){var T=this._api.getWidth(),L=this._api.getHeight(),F=this._mediaList,U=this._mediaDefault,N=[],H=[];if(!F.length&&!U)return H;for(var J=0,K=F.length;J=T:L==="max"?R<=T:R===T}function D(R,T){return R.join(",")===T.join(",")}function S(R,T){T=T||{},E(T,function(L,F){if(L!=null){var U=R[F];if(!C.hasClass(F))R[F]=y(U,L,!0);else{L=m.normalizeToArray(L),U=m.normalizeToArray(U);var N=m.mappingToExists(U,L);R[F]=x(N,function(H){return H.option&&H.exist?y(H.exist,H.option,!0):H.exist||H.option})}}})}var P=w;A.exports=P}),yst=Et((o,A)=>{var f=mi(),m=pl(),C=f.each,E=f.isObject,I=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function x(P){var R=P&&P.itemStyle;if(R)for(var T=0,L=I.length;T{var f=mi(),m=f.each,C=f.isArray,E=f.isObject,I=yst(),x=pl(),y=x.normalizeToArray;function v(S,P){P=P.split(",");for(var R=S,T=0;T{var f=mi(),m=f.createHashMap,C=f.each;function E(x){var y=m();x.eachSeries(function(v){var w=v.get("stack");if(w){var Q=y.get(w)||y.set(w,[]),M=v.getData(),B={stackResultDimension:M.getCalculationInfo("stackResultDimension"),stackedOverDimension:M.getCalculationInfo("stackedOverDimension"),stackedDimension:M.getCalculationInfo("stackedDimension"),stackedByDimension:M.getCalculationInfo("stackedByDimension"),isStackedByIndex:M.getCalculationInfo("isStackedByIndex"),data:M,seriesModel:v};if(!B.stackedDimension||!(B.isStackedByIndex||B.stackedByDimension))return;Q.length&&M.setCalculationInfo("stackedOnSeries",Q[Q.length-1].seriesModel),Q.push(B)}}),y.each(I)}function I(x){C(x,function(y,v){var w=[],Q=[NaN,NaN],M=[y.stackResultDimension,y.stackedOverDimension],B=y.data,D=y.isStackedByIndex,S=B.map(M,function(P,R,T){var L=B.get(y.stackedDimension,T);if(isNaN(L))return Q;var F,U;D?U=B.getRawIndex(T):F=B.get(y.stackedByDimension,T);for(var N=NaN,H=v-1;H>=0;H--){var J=x[H];if(D||(U=J.data.rawIndexOf(J.stackedByDimension,F)),U>=0){var K=J.data.getByRawIndex(J.stackResultDimension,U);if(L>=0&&K>0||L<=0&&K<0){L+=K,N=K;break}}}return w[0]=L,w[1]=N,w});B.hostModel.setData(S),y.data=S})}A.exports=E}),jF=Et(o=>{var A=EA(),f=A.__DEV__,m=mi(),C=m.isTypedArray,E=m.extend,I=m.assert,x=m.each,y=m.isObject,v=pl(),w=v.getDataItemValue,Q=v.isDataItemOption,M=ja(),B=M.parseDate,D=w9(),S=B9(),P=S.SOURCE_FORMAT_TYPED_ARRAY,R=S.SOURCE_FORMAT_ARRAY_ROWS,T=S.SOURCE_FORMAT_ORIGINAL,L=S.SOURCE_FORMAT_OBJECT_ROWS;function F(Ae,he){D.isInstance(Ae)||(Ae=D.seriesDataToSource(Ae)),this._source=Ae;var ge=this._data=Ae.data,de=Ae.sourceFormat;de===P&&(this._offset=0,this._dimSize=he,this._data=ge);var fe=N[de===R?de+"_"+Ae.seriesLayoutBy:de];E(this,fe)}var U=F.prototype;U.pure=!1,U.persistent=!0,U.getSource=function(){return this._source};var N={arrayRows_column:{pure:!0,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(Ae){return this._data[Ae+this._source.startIndex]},appendData:K},arrayRows_row:{pure:!0,count:function(){var Ae=this._data[0];return Ae?Math.max(0,Ae.length-this._source.startIndex):0},getItem:function(Ae){Ae+=this._source.startIndex;for(var he=[],ge=this._data,de=0;de{var f=jF(),m=f.retrieveRawValue,C=sc(),E=C.getTooltipMarker,I=C.formatTpl,x=pl(),y=x.getTooltipRenderMode,v=/\{@(.+?)\}/g,w={getDataParams:function(Q,M){var B=this.getData(M),D=this.getRawValue(Q,M),S=B.getRawIndex(Q),P=B.getName(Q),R=B.getRawDataItem(Q),T=B.getItemVisual(Q,"color"),L=B.getItemVisual(Q,"borderColor"),F=this.ecModel.getComponent("tooltip"),U=F&&F.get("renderMode"),N=y(U),H=this.mainType,J=H==="series",K=B.userOutput;return{componentType:H,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:J?this.subType:null,seriesIndex:this.seriesIndex,seriesId:J?this.id:null,seriesName:J?this.name:null,name:P,dataIndex:S,data:R,dataType:M,value:D,color:T,borderColor:L,dimensionNames:K?K.dimensionNames:null,encode:K?K.encode:null,marker:E({color:T,renderMode:N}),$vars:["seriesName","name","value"]}},getFormattedLabel:function(Q,M,B,D,S){M=M||"normal";var P=this.getData(B),R=P.getItemModel(Q),T=this.getDataParams(Q,B);D!=null&&T.value instanceof Array&&(T.value=T.value[D]);var L=R.get(M==="normal"?[S||"label","formatter"]:[M,S||"label","formatter"]);if(typeof L=="function")return T.status=M,T.dimensionIndex=D,L(T);if(typeof L=="string"){var F=I(L,T);return F.replace(v,function(U,N){var H=N.length;return N.charAt(0)==="["&&N.charAt(H-1)==="]"&&(N=+N.slice(1,H-1)),m(P,Q,N)})}},getRawValue:function(Q,M){return m(this.getData(M),Q)},formatTooltip:function(){}};A.exports=w}),zce=Et(o=>{var A=mi(),f=A.assert,m=A.isArray,C=EA(),E=C.__DEV__;function I(M){return new x(M)}function x(M){M=M||{},this._reset=M.reset,this._plan=M.plan,this._count=M.count,this._onDirty=M.onDirty,this._dirty=!0,this.context}var y=x.prototype;y.perform=function(M){var B=this._upstream,D=M&&M.skip;if(this._dirty&&B){var S=this.context;S.data=S.outputData=B.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var P;this._plan&&!D&&(P=this._plan(this.context));var R=U(this._modBy),T=this._modDataCount||0,L=U(M&&M.modBy),F=M&&M.modDataCount||0;(R!==L||T!==F)&&(P="reset");function U(ie){return!(ie>=1)&&(ie=1),ie}var N;(this._dirty||P==="reset")&&(this._dirty=!1,N=Q(this,D)),this._modBy=L,this._modDataCount=F;var H=M&&M.step;if(B?this._dueEnd=B._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var J=this._dueIndex,K=Math.min(H!=null?this._dueIndex+H:1/0,this._dueEnd);if(!D&&(N||J1&&S>0?L:T}};return R;function T(){return B=M?null:F{var f=EA(),m=f.__DEV__,C=mi(),E=mg(),I=sc(),x=I.formatTime,y=I.encodeHTML,v=I.addCommas,w=I.getTooltipMarker,Q=pl(),M=wf(),B=a5e(),D=Vce(),S=Wu(),P=S.getLayoutParams,R=S.mergeLayoutParam,T=zce(),L=T.createTask,F=zS(),U=F.prepareSource,N=F.getSource,H=jF(),J=H.retrieveRawValue,K=Q.makeInner(),X=M.extend({type:"series.__base__",seriesIndex:0,coordinateSystem:null,defaultOption:null,legendVisualProvider:null,visualColorAccessPath:"itemStyle.color",visualBorderColorAccessPath:"itemStyle.borderColor",layoutMode:null,init:function(de,fe,G,Y){this.seriesIndex=this.componentIndex,this.dataTask=L({count:ie,reset:z}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(de,G),U(this);var W=this.getInitialData(de,G);le(W,this),this.dataTask.context.data=W,K(this).dataBeforeProcessed=W,j(this)},mergeDefaultAndTheme:function(de,fe){var G=this.layoutMode,Y=G?P(de):{},W=this.subType;M.hasClass(W)&&(W+="Series"),C.merge(de,fe.getTheme().get(this.subType)),C.merge(de,this.getDefaultOption()),Q.defaultEmphasis(de,"label",["show"]),this.fillDataTextStyle(de.data),G&&R(de,Y,G)},mergeOption:function(de,fe){de=C.merge(this.option,de,!0),this.fillDataTextStyle(de.data);var G=this.layoutMode;G&&R(this.option,de,G),U(this);var Y=this.getInitialData(de,fe);le(Y,this),this.dataTask.dirty(),this.dataTask.context.data=Y,K(this).dataBeforeProcessed=Y,j(this)},fillDataTextStyle:function(de){if(de&&!C.isTypedArray(de))for(var fe=["show"],G=0;G":` `,re=Y==="richText",se={},ce=0;function me(rt){var At=C.reduce(rt,function(et,pt,zt){var It=ye.getDimensionInfo(zt);return et|=It&&It.tooltip!==!1&&It.displayName!=null},0),yt=[];Be.length?C.each(Be,function(et){at(J(ye,de,et),et)}):C.each(rt,at);function at(et,pt){var zt=ye.getDimensionInfo(pt);if(!(!zt||zt.otherDims.tooltip===!1)){var It=zt.type,Pt="sub"+W.seriesIndex+"at"+ce,St=w({color:Ne,type:"subItem",renderMode:Y,markerId:Pt}),dt=typeof St=="string"?St:St.content,Le=(At?dt+y(zt.displayName||"-")+": ":"")+y(It==="ordinal"?et+"":It==="time"?fe?"":x("yyyy/MM/dd hh:mm:ss",et):v(et));Le&&yt.push(Le),re&&(se[Pt]=Ne,++ce)}}var ft=At?re?` `:"
":"",_t=ft+yt.join(ft||", ");return{renderMode:Y,content:_t,style:se}}function Ce(rt){return{renderMode:Y,content:y(v(rt)),style:se}}var ye=this.getData(),Be=ye.mapDimension("defaultedTooltip",!0),Me=Be.length,He=this.getRawValue(de),ke=C.isArray(He),Ne=ye.getItemVisual(de,"color");C.isObject(Ne)&&Ne.colorStops&&(Ne=(Ne.colorStops[0]||{}).color),Ne=Ne||"transparent";var Pe=Me>1||ke&&!Me?me(He):Ce(Me?J(ye,de,Be[0]):ke?He[0]:He),we=Pe.content,Fe=W.seriesIndex+"at"+ce,Ue=w({color:Ne,type:"item",renderMode:Y,markerId:Fe});se[Fe]=Ne,++ce;var ze=ye.getName(de),Je=this.name;Q.isNameSpecified(this)||(Je=""),Je=Je?y(Je)+(fe?": ":O):"";var je=typeof Ue=="string"?Ue:Ue.content,Ze=fe?je+Je+we:Je+je+(ze?y(ze)+": "+we:we);return{html:Ze,markers:se}},isAnimationEnabled:function(){if(E.node)return!1;var de=this.getShallow("animation");return de&&this.getData().count()>this.getShallow("animationThreshold")&&(de=!1),de},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(de,fe,G){var Y=this.ecModel,W=B.getColorFromPalette.call(this,de,fe,G);return W||(W=Y.getColorFromPalette(de,fe,G)),W},coordDimToDataDim:function(de){return this.getRawData().mapDimension(de,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});C.mixin(X,D),C.mixin(X,B);function j(de){var fe=de.name;Q.isNameSpecified(de)||(de.name=ee(de)||fe)}function ee(de){var fe=de.getRawData(),G=fe.mapDimension("seriesName",!0),Y=[];return C.each(G,function(W){var O=fe.getDimensionInfo(W);O.displayName&&Y.push(O.displayName)}),Y.join(" ")}function ie(de){return de.model.getRawData().count()}function z(de){var fe=de.model;return fe.setData(fe.getRawData().cloneShallow()),oe}function oe(de,fe){fe.outputData&&de.end>fe.outputData.count()&&fe.model.getRawData().cloneShallow(fe.outputData)}function le(de,fe){C.each(de.CHANGABLE_METHODS,function(G){de.wrapMethod(G,C.curry(Ae,fe))})}function Ae(de){var fe=he(de);fe&&fe.setOutputEnd(this.count())}function he(de){var fe=(de.ecModel||{}).scheduler,G=fe&&fe.getPipeline(de.uid);if(G){var Y=G.currentTask;if(Y){var W=Y.agentStubMap;W&&(Y=W.get(de.uid))}return Y}}var ge=X;A.exports=ge}),mZ=Et((o,A)=>{var f=WF(),m=_9(),C=VS(),E=function(){this.group=new f,this.uid=m.getUID("viewComponent")};E.prototype={constructor:E,init:function(y,v){},render:function(y,v,w,Q){},dispose:function(){},filterForExposedEvent:null};var I=E.prototype;I.updateView=I.updateLayout=I.updateVisual=function(y,v,w,Q){},C.enableClassExtend(E),C.enableClassManagement(E,{registerWhenExtend:!0});var x=E;A.exports=x}),vO=Et((o,A)=>{var f=pl(),m=f.makeInner;function C(){var E=m();return function(I){var x=E(I),y=I.pipelineContext,v=x.large,w=x.progressiveRender,Q=x.large=y&&y.large,M=x.progressiveRender=y&&y.progressiveRender;return!!(v^Q||w^M)&&"reset"}}A.exports=C}),G1=Et((o,A)=>{var f=mi(),m=f.each,C=WF(),E=_9(),I=VS(),x=pl(),y=po(),v=zce(),w=v.createTask,Q=vO(),M=x.makeInner(),B=Q();function D(){this.group=new C,this.uid=E.getUID("viewChart"),this.renderTask=w({plan:T,reset:L}),this.renderTask.context={view:this}}D.prototype={type:"chart",init:function(N,H){},render:function(N,H,J,K){},highlight:function(N,H,J,K){R(N.getData(),K,"emphasis")},downplay:function(N,H,J,K){R(N.getData(),K,"normal")},remove:function(N,H){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var S=D.prototype;S.updateView=S.updateLayout=S.updateVisual=function(N,H,J,K){this.render(N,H,J,K)};function P(N,H,J){if(N&&(N.trigger(H,J),N.isGroup&&!y.isHighDownDispatcher(N)))for(var K=0,X=N.childCount();K{var A="\0__throttleOriginMethod",f="\0__throttleRate",m="\0__throttleType";function C(x,y,v){var w,Q=0,M=0,B=null,D,S,P,R;y=y||0;function T(){M=new Date().getTime(),B=null,x.apply(S,P||[])}var L=function(){w=new Date().getTime(),S=this,P=arguments;var F=R||y,U=R||v;R=null,D=w-(U?Q:M)-F,clearTimeout(B),U?B=setTimeout(T,F):D>=0?T():B=setTimeout(T,-D),Q=w};return L.clear=function(){B&&(clearTimeout(B),B=null)},L.debounceNextCall=function(F){R=F},L}function E(x,y,v,w){var Q=x[y];if(Q){var M=Q[A]||Q,B=Q[m],D=Q[f];if(D!==v||B!==w){if(v==null||!w)return x[y]=M;Q=x[y]=C(M,v,w==="debounce"),Q[A]=M,Q[m]=w,Q[f]=v}return Q}}function I(x,y){var v=x[y];v&&v[A]&&(x[y]=v[A])}o.throttle=C,o.createOrUpdate=E,o.clear=I}),Bst=Et((o,A)=>{var f=pZ(),m=mi(),C=m.isFunction,E={createOnAllSeries:!0,performRawSeries:!0,reset:function(I,x){var y=I.getData(),v=(I.visualColorAccessPath||"itemStyle.color").split("."),w=I.get(v),Q=C(w)&&!(w instanceof f)?w:null;(!w||Q)&&(w=I.getColorFromPalette(I.name,null,x.getSeriesCount())),y.setVisual("color",w);var M=(I.visualBorderColorAccessPath||"itemStyle.borderColor").split("."),B=I.get(M);if(y.setVisual("borderColor",B),!x.isSeriesFiltered(I)){Q&&y.each(function(S){y.setItemVisual(S,"color",Q(I.getDataParams(S)))});var D=function(S,P){var R=S.getItemModel(P),T=R.get(v,!0),L=R.get(M,!0);T!=null&&S.setItemVisual(P,"color",T),L!=null&&S.setItemVisual(P,"borderColor",L)};return{dataEach:y.hasItemOption?D:null}}}};A.exports=E}),q2=Et((o,A)=>{var f={legend:{selector:{all:"\u5168\u9009",inverse:"\u53CD\u9009"}},toolbox:{brush:{title:{rect:"\u77E9\u5F62\u9009\u62E9",polygon:"\u5708\u9009",lineX:"\u6A2A\u5411\u9009\u62E9",lineY:"\u7EB5\u5411\u9009\u62E9",keep:"\u4FDD\u6301\u9009\u62E9",clear:"\u6E05\u9664\u9009\u62E9"}},dataView:{title:"\u6570\u636E\u89C6\u56FE",lang:["\u6570\u636E\u89C6\u56FE","\u5173\u95ED","\u5237\u65B0"]},dataZoom:{title:{zoom:"\u533A\u57DF\u7F29\u653E",back:"\u533A\u57DF\u7F29\u653E\u8FD8\u539F"}},magicType:{title:{line:"\u5207\u6362\u4E3A\u6298\u7EBF\u56FE",bar:"\u5207\u6362\u4E3A\u67F1\u72B6\u56FE",stack:"\u5207\u6362\u4E3A\u5806\u53E0",tiled:"\u5207\u6362\u4E3A\u5E73\u94FA"}},restore:{title:"\u8FD8\u539F"},saveAsImage:{title:"\u4FDD\u5B58\u4E3A\u56FE\u7247",lang:["\u53F3\u952E\u53E6\u5B58\u4E3A\u56FE\u7247"]}},series:{typeNames:{pie:"\u997C\u56FE",bar:"\u67F1\u72B6\u56FE",line:"\u6298\u7EBF\u56FE",scatter:"\u6563\u70B9\u56FE",effectScatter:"\u6D9F\u6F2A\u6563\u70B9\u56FE",radar:"\u96F7\u8FBE\u56FE",tree:"\u6811\u56FE",treemap:"\u77E9\u5F62\u6811\u56FE",boxplot:"\u7BB1\u578B\u56FE",candlestick:"K\u7EBF\u56FE",k:"K\u7EBF\u56FE",heatmap:"\u70ED\u529B\u56FE",map:"\u5730\u56FE",parallel:"\u5E73\u884C\u5750\u6807\u56FE",lines:"\u7EBF\u56FE",graph:"\u5173\u7CFB\u56FE",sankey:"\u6851\u57FA\u56FE",funnel:"\u6F0F\u6597\u56FE",gauge:"\u4EEA\u8868\u76D8\u56FE",pictorialBar:"\u8C61\u5F62\u67F1\u56FE",themeRiver:"\u4E3B\u9898\u6CB3\u6D41\u56FE",sunburst:"\u65ED\u65E5\u56FE"}},aria:{general:{withTitle:"\u8FD9\u662F\u4E00\u4E2A\u5173\u4E8E\u201C{title}\u201D\u7684\u56FE\u8868\u3002",withoutTitle:"\u8FD9\u662F\u4E00\u4E2A\u56FE\u8868\uFF0C"},series:{single:{prefix:"",withName:"\u56FE\u8868\u7C7B\u578B\u662F{seriesType}\uFF0C\u8868\u793A{seriesName}\u3002",withoutName:"\u56FE\u8868\u7C7B\u578B\u662F{seriesType}\u3002"},multiple:{prefix:"\u5B83\u7531{seriesCount}\u4E2A\u56FE\u8868\u7CFB\u5217\u7EC4\u6210\u3002",withName:"\u7B2C{seriesId}\u4E2A\u7CFB\u5217\u662F\u4E00\u4E2A\u8868\u793A{seriesName}\u7684{seriesType}\uFF0C",withoutName:"\u7B2C{seriesId}\u4E2A\u7CFB\u5217\u662F\u4E00\u4E2A{seriesType}\uFF0C",separator:{middle:"\uFF1B",end:"\u3002"}}},data:{allData:"\u5176\u6570\u636E\u662F\u2014\u2014",partialData:"\u5176\u4E2D\uFF0C\u524D{displayCnt}\u9879\u662F\u2014\u2014",withName:"{name}\u7684\u6570\u636E\u662F{value}",withoutName:"{value}",separator:{middle:"\uFF0C",end:""}}}};A.exports=f}),wst=Et((o,A)=>{var f=mi(),m=q2(),C=jF(),E=C.retrieveRawValue;function I(x,y){var v=y.getModel("aria");if(v.get("show")){if(v.get("description")){x.setAttribute("aria-label",v.get("description"));return}}else return;var w=0;y.eachSeries(function(N,H){++w},this);var Q=v.get("data.maxCount")||10,M=v.get("series.maxCount")||10,B=Math.min(w,M),D;if(w<1)return;var S=F();S?D=T(L("general.withTitle"),{title:S}):D=L("general.withoutTitle");var P=[],R=w>1?"series.multiple.prefix":"series.single.prefix";D+=T(L(R),{seriesCount:w}),y.eachSeries(function(N,H){if(H1?"multiple":"single")+".";J=L(K?X+"withName":X+"withoutName"),J=T(J,{seriesId:N.seriesIndex,seriesName:N.get("name"),seriesType:U(N.subType)});var j=N.getData();window.data=j,j.count()>Q?J+=T(L("data.partialData"),{displayCnt:Q}):J+=L("data.allData");for(var ee=[],ie=0;ie{var f=mi(),m=po(),C=Nx(),E=Math.PI;function I(x,y){y=y||{},f.defaults(y,{text:"loading",textColor:"#000",fontSize:"12px",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#c23531",spinnerRadius:10,lineWidth:5,zlevel:0});var v=new m.Group,w=new m.Rect({style:{fill:y.maskColor},zlevel:y.zlevel,z:1e4});v.add(w);var Q=y.fontSize+" sans-serif",M=new m.Rect({style:{fill:"none",text:y.text,font:Q,textPosition:"right",textDistance:10,textFill:y.textColor},zlevel:y.zlevel,z:10001});if(v.add(M),y.showSpinner){var B=new m.Arc({shape:{startAngle:-E/2,endAngle:-E/2+.1,r:y.spinnerRadius},style:{stroke:y.color,lineCap:"round",lineWidth:y.lineWidth},zlevel:y.zlevel,z:10001});B.animateShape(!0).when(1e3,{endAngle:E*3/2}).start("circularInOut"),B.animateShape(!0).when(1e3,{startAngle:E*3/2}).delay(300).start("circularInOut"),v.add(B)}return v.resize=function(){var D=C.getWidth(y.text,Q),S=y.showSpinner?y.spinnerRadius:0,P=(x.getWidth()-S*2-(y.showSpinner&&D?10:0)-D)/2-(y.showSpinner?0:D/2),R=x.getHeight()/2;y.showSpinner&&B.setShape({cx:P,cy:R}),M.setShape({x:P-S,y:R-S,width:S*2,height:S*2}),w.setShape({x:0,y:0,width:x.getWidth(),height:x.getHeight()})},v.resize(),v}A.exports=I}),Qst=Et((o,A)=>{var f=mi(),m=f.each,C=f.map,E=f.isFunction,I=f.createHashMap,x=f.noop,y=zce(),v=y.createTask,w=_9(),Q=w.getUID,M=s5e(),B=l5e(),D=pl(),S=D.normalizeToArray;function P(G,Y,re,se){this.ecInstance=G,this.api=Y,this.unfinished;var re=this._dataProcessorHandlers=re.slice(),se=this._visualHandlers=se.slice();this._allHandlers=re.concat(se),this._stageTaskMap=I()}var R=P.prototype;R.restoreData=function(G,Y){G.restoreData(Y),this._stageTaskMap.each(function(W){var O=W.overallTask;O&&O.dirty()})},R.getPerformArgs=function(G,Y){if(G.__pipeline){var W=this._pipelineMap.get(G.__pipeline.id),O=W.context,re=!Y&&W.progressiveEnabled&&(!O||O.progressiveRender)&&G.__idxInPipeline>W.blockIndex,se=re?W.step:null,ce=O&&O.modDataCount,me=ce!=null?Math.ceil(ce/se):null;return{step:se,modBy:me,modDataCount:ce}}},R.getPipeline=function(G){return this._pipelineMap.get(G)},R.updateStreamModes=function(G,Y){var W=this._pipelineMap.get(G.uid),O=G.getData(),re=O.count(),se=W.progressiveEnabled&&Y.incrementalPrepareRender&&re>=W.threshold,ce=G.get("large")&&re>=G.get("largeThreshold"),me=G.get("progressiveChunkMode")==="mod"?re:null;G.pipelineContext=W.context={progressiveRender:se,modDataCount:me,large:ce}},R.restorePipelines=function(G){var Y=this,W=Y._pipelineMap=I();G.eachSeries(function(O){var re=O.getProgressive(),se=O.uid;W.set(se,{id:se,head:null,tail:null,threshold:O.getProgressiveThreshold(),progressiveEnabled:re&&!(O.preventIncremental&&O.preventIncremental()),blockIndex:-1,step:Math.round(re||700),count:0}),oe(Y,O,O.dataTask)})},R.prepareStageTasks=function(){var G=this._stageTaskMap,Y=this.ecInstance.getModel(),W=this.api;m(this._allHandlers,function(O){var re=G.get(O.uid)||G.set(O.uid,[]);O.reset&&F(this,O,re,Y,W),O.overallReset&&U(this,O,re,Y,W)},this)},R.prepareView=function(G,Y,W,O){var re=G.renderTask,se=re.context;se.model=Y,se.ecModel=W,se.api=O,re.__block=!G.incrementalPrepareRender,oe(this,Y,re)},R.performDataProcessorTasks=function(G,Y){T(this,this._dataProcessorHandlers,G,Y,{block:!0})},R.performVisualTasks=function(G,Y,W){T(this,this._visualHandlers,G,Y,W)};function T(G,Y,W,O,re){re=re||{};var se;m(Y,function(me,Ce){if(!(re.visualType&&re.visualType!==me.visualType)){var ye=G._stageTaskMap.get(me.uid),Be=ye.seriesTaskMap,Me=ye.overallTask;if(Me){var He,ke=Me.agentStubMap;ke.each(function(Pe){ce(re,Pe)&&(Pe.dirty(),He=!0)}),He&&Me.dirty(),L(Me,O);var Ne=G.getPerformArgs(Me,re.block);ke.each(function(Pe){Pe.perform(Ne)}),se|=Me.perform(Ne)}else Be&&Be.each(function(Pe,we){ce(re,Pe)&&Pe.dirty();var Fe=G.getPerformArgs(Pe,re.block);Fe.skip=!me.performRawSeries&&W.isSeriesFiltered(Pe.context.model),L(Pe,O),se|=Pe.perform(Fe)})}});function ce(me,Ce){return me.setDirty&&(!me.dirtyMap||me.dirtyMap.get(Ce.__pipeline.id))}G.unfinished|=se}R.performSeriesTasks=function(G){var Y;G.eachSeries(function(W){Y|=W.dataTask.perform()}),this.unfinished|=Y},R.plan=function(){this._pipelineMap.each(function(G){var Y=G.tail;do{if(Y.__block){G.blockIndex=Y.__idxInPipeline;break}Y=Y.getUpstream()}while(Y)})};var L=R.updatePayload=function(G,Y){Y!=="remain"&&(G.context.payload=Y)};function F(G,Y,W,O,re){var se=W.seriesTaskMap||(W.seriesTaskMap=I()),ce=Y.seriesType,me=Y.getTargetSeries;Y.createOnAllSeries?O.eachRawSeries(Ce):ce?O.eachRawSeriesByType(ce,Ce):me&&me(O,re).each(Ce);function Ce(Be){var Me=Be.uid,He=se.get(Me)||se.set(Me,v({plan:X,reset:j,count:z}));He.context={model:Be,ecModel:O,api:re,useClearVisual:Y.isVisual&&!Y.isLayout,plan:Y.plan,reset:Y.reset,scheduler:G},oe(G,Be,He)}var ye=G._pipelineMap;se.each(function(Be,Me){ye.get(Me)||(Be.dispose(),se.removeKey(Me))})}function U(G,Y,W,O,re){var se=W.overallTask=W.overallTask||v({reset:N});se.context={ecModel:O,api:re,overallReset:Y.overallReset,scheduler:G};var ce=se.agentStubMap=se.agentStubMap||I(),me=Y.seriesType,Ce=Y.getTargetSeries,ye=!0,Be=Y.modifyOutputEnd;me?O.eachRawSeriesByType(me,Me):Ce?Ce(O,re).each(Me):(ye=!1,m(O.getSeries(),Me));function Me(ke){var Ne=ke.uid,Pe=ce.get(Ne);Pe||(Pe=ce.set(Ne,v({reset:H,onDirty:K})),se.dirty()),Pe.context={model:ke,overallProgress:ye,modifyOutputEnd:Be},Pe.agent=se,Pe.__block=ye,oe(G,ke,Pe)}var He=G._pipelineMap;ce.each(function(ke,Ne){He.get(Ne)||(ke.dispose(),se.dirty(),ce.removeKey(Ne))})}function N(G){G.overallReset(G.ecModel,G.api,G.payload)}function H(G,Y){return G.overallProgress&&J}function J(){this.agent.dirty(),this.getDownstream().dirty()}function K(){this.agent&&this.agent.dirty()}function X(G){return G.plan&&G.plan(G.model,G.ecModel,G.api,G.payload)}function j(G){G.useClearVisual&&G.data.clearAllVisual();var Y=G.resetDefines=S(G.reset(G.model,G.ecModel,G.api,G.payload));return Y.length>1?C(Y,function(W,O){return ie(O)}):ee}var ee=ie(0);function ie(G){return function(Y,W){var O=W.data,re=W.resetDefines[G];if(re&&re.dataEach)for(var se=Y.start;se{var f=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],m={color:f,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],f]};A.exports=m}),Dst=Et((o,A)=>{var f="#eee",m=function(){return{axisLine:{lineStyle:{color:f}},axisTick:{lineStyle:{color:f}},axisLabel:{textStyle:{color:f}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:f}}}},C=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],E={color:C,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:f},crossStyle:{color:f},label:{color:"#000"}}},legend:{textStyle:{color:f}},textStyle:{color:f},title:{textStyle:{color:f}},toolbox:{iconStyle:{normal:{borderColor:f}}},dataZoom:{textStyle:{color:f}},visualMap:{textStyle:{color:f}},timeline:{lineStyle:{color:f},itemStyle:{normal:{color:C[1]}},label:{normal:{textStyle:{color:f}}},controlStyle:{normal:{color:f,borderColor:f}}},timeAxis:m(),logAxis:m(),valueAxis:m(),categoryAxis:m(),line:{symbol:"circle"},graph:{color:C},gauge:{title:{textStyle:{color:f}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};E.categoryAxis.splitLine.show=!1;var I=E;A.exports=I}),A5e=Et(()=>{var o=wf(),A=mZ(),f=zS(),m=f.detectSourceFormat,C=B9(),E=C.SERIES_LAYOUT_BY_COLUMN;o.extend({type:"dataset",defaultOption:{seriesLayoutBy:E,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){m(this)}}),A.extend({type:"dataset"})}),Mst=Et((o,A)=>{var f=Yd(),m=f.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(C,E){var I=.5522848,x=E.cx,y=E.cy,v=E.rx,w=E.ry,Q=v*I,M=w*I;C.moveTo(x-v,y),C.bezierCurveTo(x-v,y-M,x-Q,y-w,x,y-w),C.bezierCurveTo(x+Q,y-w,x+v,y-M,x+v,y),C.bezierCurveTo(x+v,y+M,x+Q,y+w,x,y+w),C.bezierCurveTo(x-Q,y+w,x-v,y+M,x-v,y),C.closePath()}});A.exports=m}),u5e=Et(o=>{var A=WF(),f=IO(),m=qF(),C=e5e(),E=Oce(),I=Mst(),x=o5e(),y=Yd(),v=r5e(),w=n5e(),Q=Gce(),M=Nce(),B=UC(),D=$ke(),S=D.createFromString,P=mi(),R=P.isString,T=P.extend,L=P.defaults,F=P.trim,U=P.each,N=/[\s,]+/;function H(W){if(R(W)){var O=new DOMParser;W=O.parseFromString(W,"text/xml")}for(W.nodeType===9&&(W=W.firstChild);W.nodeName.toLowerCase()!=="svg"||W.nodeType!==1;)W=W.nextSibling;return W}function J(){this._defs={},this._root=null,this._isDefine=!1,this._isText=!1}J.prototype.parse=function(W,O){O=O||{};var re=H(W);if(!re)throw new Error("Illegal svg");var se=new A;this._root=se;var ce=re.getAttribute("viewBox")||"",me=parseFloat(re.getAttribute("width")||O.width),Ce=parseFloat(re.getAttribute("height")||O.height);isNaN(me)&&(me=null),isNaN(Ce)&&(Ce=null),oe(re,se,null,!0);for(var ye=re.firstChild;ye;)this._parseNode(ye,se),ye=ye.nextSibling;var Be,Me;if(ce){var He=F(ce).split(N);He.length>=4&&(Be={x:parseFloat(He[0]||0),y:parseFloat(He[1]||0),width:parseFloat(He[2]),height:parseFloat(He[3])})}if(Be&&me!=null&&Ce!=null&&(Me=G(Be,me,Ce),!O.ignoreViewBox)){var ke=se;se=new A,se.add(ke),ke.scale=Me.scale.slice(),ke.position=Me.position.slice()}return!O.ignoreRootClip&&me!=null&&Ce!=null&&se.setClipPath(new E({shape:{x:0,y:0,width:me,height:Ce}})),{root:se,width:me,height:Ce,viewBoxRect:Be,viewBoxTransform:Me}},J.prototype._parseNode=function(W,O){var re=W.nodeName.toLowerCase();re==="defs"?this._isDefine=!0:re==="text"&&(this._isText=!0);var se;if(this._isDefine){var ce=X[re];if(ce){var me=ce.call(this,W),Ce=W.getAttribute("id");Ce&&(this._defs[Ce]=me)}}else{var ce=K[re];ce&&(se=ce.call(this,W,O),O.add(se))}for(var ye=W.firstChild;ye;)ye.nodeType===1&&this._parseNode(ye,se),ye.nodeType===3&&this._isText&&this._parseText(ye,se),ye=ye.nextSibling;re==="defs"?this._isDefine=!1:re==="text"&&(this._isText=!1)},J.prototype._parseText=function(W,O){if(W.nodeType===1){var re=W.getAttribute("dx")||0,se=W.getAttribute("dy")||0;this._textX+=parseFloat(re),this._textY+=parseFloat(se)}var ce=new m({style:{text:W.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});ee(O,ce),oe(W,ce,this._defs);var me=ce.style.fontSize;me&&me<9&&(ce.style.fontSize=9,ce.scale=ce.scale||[1,1],ce.scale[0]*=me/9,ce.scale[1]*=me/9);var Ce=ce.getBoundingRect();return this._textX+=Ce.width,O.add(ce),ce};var K={g:function(W,O){var re=new A;return ee(O,re),oe(W,re,this._defs),re},rect:function(W,O){var re=new E;return ee(O,re),oe(W,re,this._defs),re.setShape({x:parseFloat(W.getAttribute("x")||0),y:parseFloat(W.getAttribute("y")||0),width:parseFloat(W.getAttribute("width")||0),height:parseFloat(W.getAttribute("height")||0)}),re},circle:function(W,O){var re=new C;return ee(O,re),oe(W,re,this._defs),re.setShape({cx:parseFloat(W.getAttribute("cx")||0),cy:parseFloat(W.getAttribute("cy")||0),r:parseFloat(W.getAttribute("r")||0)}),re},line:function(W,O){var re=new x;return ee(O,re),oe(W,re,this._defs),re.setShape({x1:parseFloat(W.getAttribute("x1")||0),y1:parseFloat(W.getAttribute("y1")||0),x2:parseFloat(W.getAttribute("x2")||0),y2:parseFloat(W.getAttribute("y2")||0)}),re},ellipse:function(W,O){var re=new I;return ee(O,re),oe(W,re,this._defs),re.setShape({cx:parseFloat(W.getAttribute("cx")||0),cy:parseFloat(W.getAttribute("cy")||0),rx:parseFloat(W.getAttribute("rx")||0),ry:parseFloat(W.getAttribute("ry")||0)}),re},polygon:function(W,O){var re=W.getAttribute("points");re&&(re=ie(re));var se=new v({shape:{points:re||[]}});return ee(O,se),oe(W,se,this._defs),se},polyline:function(W,O){var re=new y;ee(O,re),oe(W,re,this._defs);var se=W.getAttribute("points");se&&(se=ie(se));var ce=new w({shape:{points:se||[]}});return ce},image:function(W,O){var re=new f;return ee(O,re),oe(W,re,this._defs),re.setStyle({image:W.getAttribute("xlink:href"),x:W.getAttribute("x"),y:W.getAttribute("y"),width:W.getAttribute("width"),height:W.getAttribute("height")}),re},text:function(W,O){var re=W.getAttribute("x")||0,se=W.getAttribute("y")||0,ce=W.getAttribute("dx")||0,me=W.getAttribute("dy")||0;this._textX=parseFloat(re)+parseFloat(ce),this._textY=parseFloat(se)+parseFloat(me);var Ce=new A;return ee(O,Ce),oe(W,Ce,this._defs),Ce},tspan:function(W,O){var re=W.getAttribute("x"),se=W.getAttribute("y");re!=null&&(this._textX=parseFloat(re)),se!=null&&(this._textY=parseFloat(se));var ce=W.getAttribute("dx")||0,me=W.getAttribute("dy")||0,Ce=new A;return ee(O,Ce),oe(W,Ce,this._defs),this._textX+=ce,this._textY+=me,Ce},path:function(W,O){var re=W.getAttribute("d")||"",se=S(re);return ee(O,se),oe(W,se,this._defs),se}},X={lineargradient:function(W){var O=parseInt(W.getAttribute("x1")||0,10),re=parseInt(W.getAttribute("y1")||0,10),se=parseInt(W.getAttribute("x2")||10,10),ce=parseInt(W.getAttribute("y2")||0,10),me=new Q(O,re,se,ce);return j(W,me),me},radialgradient:function(W){}};function j(W,O){for(var re=W.firstChild;re;){if(re.nodeType===1){var se=re.getAttribute("offset");se.indexOf("%")>0?se=parseInt(se,10)/100:se?se=parseFloat(se):se=0;var ce=re.getAttribute("stop-color")||"#000000";O.addColorStop(se,ce)}re=re.nextSibling}}function ee(W,O){W&&W.__inheritedStyle&&(O.__inheritedStyle||(O.__inheritedStyle={}),L(O.__inheritedStyle,W.__inheritedStyle))}function ie(W){for(var O=F(W).split(N),re=[],se=0;se0;me-=2){var Ce=ce[me],ye=ce[me-1];switch(se=se||B.create(),ye){case"translate":Ce=F(Ce).split(N),B.translate(se,se,[parseFloat(Ce[0]),parseFloat(Ce[1]||0)]);break;case"scale":Ce=F(Ce).split(N),B.scale(se,se,[parseFloat(Ce[0]),parseFloat(Ce[1]||Ce[0])]);break;case"rotate":Ce=F(Ce).split(N),B.rotate(se,se,parseFloat(Ce[0]));break;case"skew":Ce=F(Ce).split(N),console.warn("Skew transform is not supported yet");break;case"matrix":var Ce=F(Ce).split(N);se[0]=parseFloat(Ce[0]),se[1]=parseFloat(Ce[1]),se[2]=parseFloat(Ce[2]),se[3]=parseFloat(Ce[3]),se[4]=parseFloat(Ce[4]),se[5]=parseFloat(Ce[5]);break}}O.setLocalTransform(se)}}var de=/([^\s:;]+)\s*:\s*([^:;]+)/g;function fe(W){var O=W.getAttribute("style"),re={};if(!O)return re;var se={};de.lastIndex=0;for(var ce;(ce=de.exec(O))!=null;)se[ce[1]]=ce[2];for(var me in z)z.hasOwnProperty(me)&&se[me]!=null&&(re[z[me]]=se[me]);return re}function G(W,O,re){var se=O/W.width,ce=re/W.height,me=Math.min(se,ce),Ce=[me,me],ye=[-(W.x+W.width/2)*me+O/2,-(W.y+W.height/2)*me+re/2];return{scale:Ce,position:ye}}function Y(W,O){var re=new J;return re.parse(W,O)}o.parseXML=H,o.makeViewBoxTransform=G,o.parseSVG=Y}),Yce=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=mi(),E=C.createHashMap,I=C.isString,x=C.isArray,y=C.each,v=C.assert,w=u5e(),Q=w.parseXML,M=E(),B={registerMap:function(S,P,R){var T;return x(P)?T=P:P.svg?T=[{type:"svg",source:P.svg,specialAreas:P.specialAreas}]:(P.geoJson&&!P.features&&(R=P.specialAreas,P=P.geoJson),T=[{type:"geoJSON",source:P,specialAreas:R}]),y(T,function(L){var F=L.type;F==="geoJson"&&(F=L.type="geoJSON");var U=D[F];U(L)}),M.set(S,T)},retrieveMap:function(S){return M.get(S)}},D={geoJSON:function(S){var P=S.source;S.geoJSON=I(P)?typeof JSON<"u"&&JSON.parse?JSON.parse(P):new Function("return ("+P+");")():P},svg:function(S){S.svgXML=Q(S.source)}};A.exports=B}),XF=Et((o,A)=>{function f(I){return I}function m(I,x,y,v,w){this._old=I,this._new=x,this._oldKeyGetter=y||f,this._newKeyGetter=v||f,this.context=w}m.prototype={constructor:m,add:function(I){return this._add=I,this},update:function(I){return this._update=I,this},remove:function(I){return this._remove=I,this},execute:function(){var I=this._old,x=this._new,y={},v={},w=[],Q=[],M;for(C(I,y,w,"_oldKeyGetter",this),C(x,v,Q,"_newKeyGetter",this),M=0;M{var A=mi(),f=A.each,m=A.createHashMap,C=A.assert,E=EA(),I=E.__DEV__,x=m(["tooltip","label","itemName","itemId","seriesName"]);function y(M){var B={},D=B.encode={},S=m(),P=[],R=[],T=B.userOutput={dimensionNames:M.dimensions.slice(),encode:{}};f(M.dimensions,function(H){var J=M.getDimensionInfo(H),K=J.coordDim;if(K){var X=J.coordDimIndex;v(D,K)[X]=H,J.isExtraCoord||(S.set(K,1),Q(J.type)&&(P[0]=H),v(T.encode,K)[X]=J.index),J.defaultTooltip&&R.push(H)}x.each(function(j,ee){var ie=v(D,ee),z=J.otherDims[ee];z!=null&&z!==!1&&(ie[z]=J.name)})});var L=[],F={};S.each(function(H,J){var K=D[J];F[J]=K[0],L=L.concat(K)}),B.dataDimsOnCoord=L,B.encodeFirstDimNotExtra=F;var U=D.label;U&&U.length&&(P=U.slice());var N=D.tooltip;return N&&N.length?R=N.slice():R.length||(R=P.slice()),D.defaultedLabel=P,D.defaultedTooltip=R,B}function v(M,B){return M.hasOwnProperty(B)||(M[B]=[]),M[B]}function w(M){return M==="category"?"ordinal":M==="time"?"time":"float"}function Q(M){return!(M==="ordinal"||M==="time")}o.OTHER_DIMENSIONS=x,o.summarizeDimensions=y,o.getDimensionTypeByAxis=w}),c5e=Et((o,A)=>{var f=mi();function m(E){E!=null&&f.extend(this,E),this.otherDims={}}var C=m;A.exports=C}),gv=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=mi(),E=Cg(),I=XF(),x=w9(),y=jF(),v=y.defaultDimValueGetters,w=y.DefaultDataProvider,Q=b9(),M=Q.summarizeDimensions,B=c5e(),D=C.isObject,S="undefined",P=-1,R="e\0\0",T={float:typeof Float64Array===S?Array:Float64Array,int:typeof Int32Array===S?Array:Int32Array,ordinal:Array,number:Array,time:Array},L=typeof Uint32Array===S?Array:Uint32Array,F=typeof Int32Array===S?Array:Int32Array,U=typeof Uint16Array===S?Array:Uint16Array;function N(O){return O._rawCount>65535?L:U}function H(O){var re=O.constructor;return re===Array?O.slice():new re(O)}var J=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_rawData","_chunkSize","_chunkCount","_dimValueGetter","_count","_rawCount","_nameDimIdx","_idDimIdx"],K=["_extent","_approximateExtent","_rawExtent"];function X(O,re){C.each(J.concat(re.__wrappedMethods||[]),function(se){re.hasOwnProperty(se)&&(O[se]=re[se])}),O.__wrappedMethods=re.__wrappedMethods,C.each(K,function(se){O[se]=C.clone(re[se])}),O._calculationInfo=C.extend(re._calculationInfo)}var j=function(O,re){O=O||["x","y"];for(var se={},ce=[],me={},Ce=0;CeZe[1]&&(Ze[1]=je)}re&&(this._nameList[we]=re[Fe])}this._rawCount=this._count=Me,this._extent={},z(this)},ee._initDataFromProvider=function(O,re){if(!(O>=re)){for(var se=this._chunkSize,ce=this._rawData,me=this._storage,Ce=this.dimensions,ye=Ce.length,Be=this._dimensionInfos,Me=this._nameList,He=this._idList,ke=this._rawExtent,Ne=this._nameRepeatCount={},Pe,we=this._chunkCount,Fe=0;Feft[1]&&(ft[1]=at)}if(!ce.pure){var _t=Me[je];if(Je&&_t==null){if(Je.name!=null)Me[je]=_t=Je.name;else if(Pe!=null){var et=Ce[Pe],pt=me[et][Ze];if(pt){_t=pt[rt];var zt=Be[et].ordinalMeta;zt&&zt.categories.length&&(_t=zt.categories[_t])}}}var It=Je==null?null:Je.id;It==null&&_t!=null&&(Ne[_t]=Ne[_t]||0,It=_t,Ne[_t]>0&&(It+="__ec__"+Ne[_t]),Ne[_t]++),It!=null&&(He[je]=It)}}!ce.persistent&&ce.clean&&ce.clean(),this._rawCount=this._count=re,this._extent={},z(this)}};function ie(O,re,se,ce,me){var Ce=T[re.type],ye=ce-1,Be=re.name,Me=O[Be][ye];if(Me&&Me.length=0&&re=0&&reBe&&(Be=He)}return Ce=[ye,Be],this._extent[O]=Ce,Ce},ee.getApproximateExtent=function(O){return O=this.getDimension(O),this._approximateExtent[O]||this.getDataExtent(O)},ee.setApproximateExtent=function(O,re){re=this.getDimension(re),this._approximateExtent[re]=O.slice()},ee.getCalculationInfo=function(O){return this._calculationInfo[O]},ee.setCalculationInfo=function(O,re){D(O)?C.extend(this._calculationInfo,O):this._calculationInfo[O]=re},ee.getSum=function(O){var re=this._storage[O],se=0;if(re)for(var ce=0,me=this.count();ce=this._rawCount||O<0)return-1;if(!this._indices)return O;var re=this._indices,se=re[O];if(se!=null&&seO)me=Ce-1;else return Ce}return-1},ee.indicesOfNearest=function(O,re,se){var ce=this._storage,me=ce[O],Ce=[];if(!me)return Ce;se==null&&(se=1/0);for(var ye=1/0,Be=-1,Me=0,He=0,ke=this.count();He=0&&Be<0)&&(ye=Pe,Be=Ne,Me=0),Ne===Be&&(Ce[Me++]=He))}return Ce.length=Me,Ce},ee.getRawIndex=le;function le(O){return O}function Ae(O){return O=0?this._indices[O]:-1}ee.getRawDataItem=function(O){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(O));for(var re=[],se=0;se=He&&je<=ke||isNaN(je))&&(ye[Be++]=Pe),Pe++}Ne=!0}else if(ce===2){for(var we=this._storage[Me],Ze=this._storage[re[1]],rt=O[re[1]][0],At=O[re[1]][1],Fe=0;Fe=He&&je<=ke||isNaN(je))&&(at>=rt&&at<=At||isNaN(at))&&(ye[Be++]=Pe),Pe++}Ne=!0}}if(!Ne)if(ce===1)for(var Je=0;Je=He&&je<=ke||isNaN(je))&&(ye[Be++]=ft)}else for(var Je=0;JeO[et][1])&&(_t=!1)}_t&&(ye[Be++]=this.getRawIndex(Je))}return Be=0?(me[Be]=fe(Ce[Be]),ce._rawExtent[Be]=G(),ce._extent[Be]=null):me[Be]=Ce[Be])}return ce}function fe(O){for(var re=new Array(O.length),se=0;seAt[1]&&(At[1]=rt)}}}return me},ee.downSample=function(O,re,se,ce){for(var me=de(this,[O]),Ce=me._storage,ye=[],Be=Math.floor(1/re),Me=Ce[O],He=this.count(),ke=this._chunkSize,Ne=me._rawExtent[O],Pe=new(N(this))(He),we=0,Fe=0;FeHe-Fe&&(Be=He-Fe,ye.length=Be);for(var Ue=0;UeNe[1]&&(Ne[1]=Ze),Pe[we++]=rt}return me._count=we,me._indices=Pe,me.getRawIndex=Ae,me},ee.getItemModel=function(O){var re=this.hostModel;return new E(this.getRawDataItem(O),re,re&&re.ecModel)},ee.diff=function(O){var re=this;return new I(O?O.getIndices():[],this.getIndices(),function(se){return he(O,se)},function(se){return he(re,se)})},ee.getVisual=function(O){var re=this._visual;return re&&re[O]},ee.setVisual=function(O,re){if(D(O)){for(var se in O)O.hasOwnProperty(se)&&this.setVisual(se,O[se]);return}this._visual=this._visual||{},this._visual[O]=re},ee.setLayout=function(O,re){if(D(O)){for(var se in O)O.hasOwnProperty(se)&&this.setLayout(se,O[se]);return}this._layout[O]=re},ee.getLayout=function(O){return this._layout[O]},ee.getItemLayout=function(O){return this._itemLayouts[O]},ee.setItemLayout=function(O,re,se){this._itemLayouts[O]=se?C.extend(this._itemLayouts[O]||{},re):re},ee.clearItemLayouts=function(){this._itemLayouts.length=0},ee.getItemVisual=function(O,re,se){var ce=this._itemVisuals[O],me=ce&&ce[re];return me==null&&!se?this.getVisual(re):me},ee.setItemVisual=function(O,re,se){var ce=this._itemVisuals[O]||{},me=this.hasItemVisual;if(this._itemVisuals[O]=ce,D(re)){for(var Ce in re)re.hasOwnProperty(Ce)&&(ce[Ce]=re[Ce],me[Ce]=!0);return}ce[re]=se,me[re]=!0},ee.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var Y=function(O){O.seriesIndex=this.seriesIndex,O.dataIndex=this.dataIndex,O.dataType=this.dataType};ee.setItemGraphicEl=function(O,re){var se=this.hostModel;re&&(re.dataIndex=O,re.dataType=this.dataType,re.seriesIndex=se&&se.seriesIndex,re.type==="group"&&re.traverse(Y,re)),this._graphicEls[O]=re},ee.getItemGraphicEl=function(O){return this._graphicEls[O]},ee.eachItemGraphicEl=function(O,re){C.each(this._graphicEls,function(se,ce){se&&O&&O.call(re,se,ce)})},ee.cloneShallow=function(O){if(!O){var re=C.map(this.dimensions,this.getDimensionInfo,this);O=new j(re,this.hostModel)}if(O._storage=this._storage,X(O,this),this._indices){var se=this._indices.constructor;O._indices=new se(this._indices)}else O._indices=null;return O.getRawIndex=O._indices?Ae:le,O},ee.wrapMethod=function(O,re){var se=this[O];typeof se=="function"&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(O),this[O]=function(){var ce=se.apply(this,arguments);return re.apply(this,[ce].concat(C.slice(arguments)))})},ee.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],ee.CHANGABLE_METHODS=["filterSelf","selectRange"];var W=j;A.exports=W}),h5e=Et((o,A)=>{var f=mi(),m=f.createHashMap,C=f.each,E=f.isString,I=f.defaults,x=f.extend,y=f.isObject,v=f.clone,w=pl(),Q=w.normalizeToArray,M=zS(),B=M.guessOrdinal,D=M.BE_ORDINAL,S=w9(),P=b9(),R=P.OTHER_DIMENSIONS,T=c5e();function L(H,J,K){S.isInstance(J)||(J=S.seriesDataToSource(J)),K=K||{},H=(H||[]).slice();for(var X=(K.dimsDef||[]).slice(),j=m(),ee=m(),ie=[],z=F(J,H,X,K.dimCount),oe=0;oe{var f=h5e();function m(C,E){return E=E||{},f(E.coordDimensions||[],C,{dimsDef:E.dimensionsDefine||C.dimensionsDefine,encodeDef:E.encodeDefine||C.encodeDefine,dimCount:E.dimensionsCount,encodeDefaulter:E.encodeDefaulter,generateCoord:E.generateCoord,generateCoordCount:E.generateCoordCount})}A.exports=m}),Tst=Et(o=>{var A=EA(),f=A.__DEV__,m=mi(),C=m.createHashMap,E=m.retrieve,I=m.each;function x(Q){this.coordSysName=Q,this.coordSysDims=[],this.axisMap=C(),this.categoryAxisMap=C(),this.firstCategoryDimIndex=null}function y(Q){var M=Q.get("coordinateSystem"),B=new x(M),D=v[M];if(D)return D(Q,B,B.axisMap,B.categoryAxisMap),B}var v={cartesian2d:function(Q,M,B,D){var S=Q.getReferringComponents("xAxis")[0],P=Q.getReferringComponents("yAxis")[0];M.coordSysDims=["x","y"],B.set("x",S),B.set("y",P),w(S)&&(D.set("x",S),M.firstCategoryDimIndex=0),w(P)&&(D.set("y",P),M.firstCategoryDimIndex==null&(M.firstCategoryDimIndex=1))},singleAxis:function(Q,M,B,D){var S=Q.getReferringComponents("singleAxis")[0];M.coordSysDims=["single"],B.set("single",S),w(S)&&(D.set("single",S),M.firstCategoryDimIndex=0)},polar:function(Q,M,B,D){var S=Q.getReferringComponents("polar")[0],P=S.findAxisModel("radiusAxis"),R=S.findAxisModel("angleAxis");M.coordSysDims=["radius","angle"],B.set("radius",P),B.set("angle",R),w(P)&&(D.set("radius",P),M.firstCategoryDimIndex=0),w(R)&&(D.set("angle",R),M.firstCategoryDimIndex==null&&(M.firstCategoryDimIndex=1))},geo:function(Q,M,B,D){M.coordSysDims=["lng","lat"]},parallel:function(Q,M,B,D){var S=Q.ecModel,P=S.getComponent("parallel",Q.get("parallelIndex")),R=M.coordSysDims=P.dimensions.slice();I(P.parallelAxisIndex,function(T,L){var F=S.getComponent("parallelAxis",T),U=R[L];B.set(U,F),w(F)&&M.firstCategoryDimIndex==null&&(D.set(U,F),M.firstCategoryDimIndex=L)})}};function w(Q){return Q.get("type")==="category"}o.getCoordSysInfoBySeries=y}),H1=Et(o=>{var A=mi(),f=A.each,m=A.isString;function C(x,y,v){v=v||{};var w=v.byIndex,Q=v.stackedCoordDimension,M=!!(x&&x.get("stack")),B,D,S,P;if(f(y,function(F,U){m(F)&&(y[U]=F={name:F}),M&&!F.isExtraCoord&&(!w&&!B&&F.ordinalMeta&&(B=F),!D&&F.type!=="ordinal"&&F.type!=="time"&&(!Q||Q===F.coordDim)&&(D=F))}),D&&!w&&!B&&(w=!0),D){S="__\0ecstackresult",P="__\0ecstackedover",B&&(B.createInvertedIndices=!0);var R=D.coordDim,T=D.type,L=0;f(y,function(F){F.coordDim===R&&L++}),y.push({name:S,coordDim:R,coordDimIndex:L,type:T,isExtraCoord:!0,isCalculationCoord:!0}),L++,y.push({name:P,coordDim:P,coordDimIndex:L,type:T,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:D&&D.name,stackedByDimension:B&&B.name,isStackedByIndex:w,stackedOverDimension:P,stackResultDimension:S}}function E(x,y){return!!y&&y===x.getCalculationInfo("stackedDimension")}function I(x,y){return E(x,y)?x.getCalculationInfo("stackResultDimension"):y}o.enableDataStack=C,o.isDimensionStacked=E,o.getStackedDimension=I}),YS=Et((o,A)=>{var f=mi(),m=gv(),C=_O(),E=B9(),I=E.SOURCE_FORMAT_ORIGINAL,x=b9(),y=x.getDimensionTypeByAxis,v=pl(),w=v.getDataItemValue,Q=cB(),M=Tst(),B=M.getCoordSysInfoBySeries,D=w9(),S=H1(),P=S.enableDataStack,R=zS(),T=R.makeSeriesEncodeForAxisCoordSys;function L(H,J,K){K=K||{},D.isInstance(H)||(H=D.seriesDataToSource(H));var X=J.get("coordinateSystem"),j=Q.get(X),ee=B(J),ie;ee&&(ie=f.map(ee.coordSysDims,function(de){var fe={name:de},G=ee.axisMap.get(de);if(G){var Y=G.get("type");fe.type=y(Y)}return fe})),ie||(ie=j&&(j.getDimensionsInfo?j.getDimensionsInfo():j.dimensions.slice())||["x","y"]);var z=C(H,{coordDimensions:ie,generateCoord:K.generateCoord,encodeDefaulter:K.useEncodeDefaulter?f.curry(T,ie,J):null}),oe,le;ee&&f.each(z,function(de,fe){var G=de.coordDim,Y=ee.categoryAxisMap.get(G);Y&&(oe==null&&(oe=fe),de.ordinalMeta=Y.getOrdinalMeta()),de.otherDims.itemName!=null&&(le=!0)}),!le&&oe!=null&&(z[oe].otherDims.itemName=0);var Ae=P(J,z),he=new m(z,J);he.setCalculationInfo(Ae);var ge=oe!=null&&F(H)?function(de,fe,G,Y){return Y===oe?G:this.defaultDimValueGetter(de,fe,G,Y)}:null;return he.hasItemOption=!1,he.initData(H,null,ge),he}function F(H){if(H.sourceFormat===I){var J=U(H.data||[]);return J!=null&&!f.isArray(w(J))}}function U(H){for(var J=0;J{var f=VS();function m(E){this._setting=E||{},this._extent=[1/0,-1/0],this._interval=0,this.init&&this.init.apply(this,arguments)}m.prototype.parse=function(E){return E},m.prototype.getSetting=function(E){return this._setting[E]},m.prototype.contain=function(E){var I=this._extent;return E>=I[0]&&E<=I[1]},m.prototype.normalize=function(E){var I=this._extent;return I[1]===I[0]?.5:(E-I[0])/(I[1]-I[0])},m.prototype.scale=function(E){var I=this._extent;return E*(I[1]-I[0])+I[0]},m.prototype.unionExtent=function(E){var I=this._extent;E[0]I[1]&&(I[1]=E[1])},m.prototype.unionExtentFromData=function(E,I){this.unionExtent(E.getApproximateExtent(I))},m.prototype.getExtent=function(){return this._extent.slice()},m.prototype.setExtent=function(E,I){var x=this._extent;isNaN(E)||(x[0]=E),isNaN(I)||(x[1]=I)},m.prototype.isBlank=function(){return this._isBlank},m.prototype.setBlank=function(E){this._isBlank=E},m.prototype.getLabel=null,f.enableClassExtend(m),f.enableClassManagement(m,{registerWhenExtend:!0});var C=m;A.exports=C}),d5e=Et((o,A)=>{var f=mi(),m=f.createHashMap,C=f.isObject,E=f.map;function I(Q){this.categories=Q.categories||[],this._needCollect=Q.needCollect,this._deduplication=Q.deduplication,this._map}I.createByAxisModel=function(Q){var M=Q.option,B=M.data,D=B&&E(B,v);return new I({categories:D,needCollect:!D,deduplication:M.dedplication!==!1})};var x=I.prototype;x.getOrdinal=function(Q){return y(this).get(Q)},x.parseAndCollect=function(Q){var M,B=this._needCollect;if(typeof Q!="string"&&!B)return Q;if(B&&!this._deduplication)return M=this.categories.length,this.categories[M]=Q,M;var D=y(this);return M=D.get(Q),M==null&&(B?(M=this.categories.length,this.categories[M]=Q,D.set(Q,M)):M=NaN),M};function y(Q){return Q._map||(Q._map=m(Q.categories))}function v(Q){return C(Q)&&Q.value!=null?Q.value:Q+""}var w=I;A.exports=w}),Pst=Et((o,A)=>{var f=mi(),m=CZ(),C=d5e(),E=m.prototype,I=m.extend({type:"ordinal",init:function(y,v){(!y||f.isArray(y))&&(y=new C({categories:y})),this._ordinalMeta=y,this._extent=v||[0,y.categories.length-1]},parse:function(y){return typeof y=="string"?this._ordinalMeta.getOrdinal(y):Math.round(y)},contain:function(y){return y=this.parse(y),E.contain.call(this,y)&&this._ordinalMeta.categories[y]!=null},normalize:function(y){return E.normalize.call(this,this.parse(y))},scale:function(y){return Math.round(E.scale.call(this,y))},getTicks:function(){for(var y=[],v=this._extent,w=v[0];w<=v[1];)y.push(w),w++;return y},getLabel:function(y){if(!this.isBlank())return this._ordinalMeta.categories[y]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(y,v){this.unionExtent(y.getApproximateExtent(v))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:f.noop,niceExtent:f.noop});I.create=function(){return new I};var x=I;A.exports=x}),g5e=Et(o=>{var A=ja(),f=A.round;function m(x,y,v,w){var Q={},M=x[1]-x[0],B=Q.interval=A.nice(M/y,!0);v!=null&&Bw&&(B=Q.interval=w);var D=Q.intervalPrecision=C(B),S=Q.niceTickExtent=[f(Math.ceil(x[0]/B)*B,D),f(Math.floor(x[1]/B)*B,D)];return I(S,x),Q}function C(x){return A.getPrecisionSafe(x)+2}function E(x,y,v){x[y]=Math.max(Math.min(x[y],v[1]),v[0])}function I(x,y){!isFinite(x[0])&&(x[0]=y[0]),!isFinite(x[1])&&(x[1]=y[1]),E(x,0,y),E(x,1,y),x[0]>x[1]&&(x[0]=x[1])}o.intervalScaleNiceTicks=m,o.getIntervalPrecision=C,o.fixExtent=I}),EZ=Et((o,A)=>{var f=ja(),m=sc(),C=CZ(),E=g5e(),I=f.round,x=C.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(v,w){var Q=this._extent;isNaN(v)||(Q[0]=parseFloat(v)),isNaN(w)||(Q[1]=parseFloat(w))},unionExtent:function(v){var w=this._extent;v[0]w[1]&&(w[1]=v[1]),x.prototype.setExtent.call(this,w[0],w[1])},getInterval:function(){return this._interval},setInterval:function(v){this._interval=v,this._niceExtent=this._extent.slice(),this._intervalPrecision=E.getIntervalPrecision(v)},getTicks:function(v){var w=this._interval,Q=this._extent,M=this._niceExtent,B=this._intervalPrecision,D=[];if(!w)return D;var S=1e4;Q[0]S)return[];var R=D.length?D[D.length-1]:M[1];return Q[1]>R&&(v?D.push(I(R+w,B)):D.push(Q[1])),D},getMinorTicks:function(v){for(var w=this.getTicks(!0),Q=[],M=this.getExtent(),B=1;BM[0]&&F{var A=mi(),f=ja(),m=f.parsePercent,C=H1(),E=C.isDimensionStacked,I=vO(),x="__ec_stack_",y=.5,v=typeof Float32Array<"u"?Float32Array:Array;function w(H){return H.get("stack")||x+H.seriesIndex}function Q(H){return H.dim+H.index}function M(H){var J=[],K=H.axis,X="axis0";if(K.type==="category"){for(var j=K.getBandWidth(),ee=0;ee0&&(ee=ee===null?z:Math.min(ee,z))}K[X]=ee}}return K}function S(H){var J=D(H),K=[];return A.each(H,function(X){var j=X.coordinateSystem,ee=j.getBaseAxis(),ie=ee.getExtent(),z;if(ee.type==="category")z=ee.getBandWidth();else if(ee.type==="value"||ee.type==="time"){var oe=ee.dim+"_"+ee.index,le=J[oe],Ae=Math.abs(ie[1]-ie[0]),he=ee.scale.getExtent(),ge=Math.abs(he[1]-he[0]);z=le?Ae/ge*le:Ae}else{var de=X.getData();z=Math.abs(ie[1]-ie[0])/de.count()}var fe=m(X.get("barWidth"),z),G=m(X.get("barMaxWidth"),z),Y=m(X.get("barMinWidth")||1,z),W=X.get("barGap"),O=X.get("barCategoryGap");K.push({bandWidth:z,barWidth:fe,barMaxWidth:G,barMinWidth:Y,barGap:W,barCategoryGap:O,axisKey:Q(ee),stackId:w(X)})}),P(K)}function P(H){var J={};A.each(H,function(X,j){var ee=X.axisKey,ie=X.bandWidth,z=J[ee]||{bandWidth:ie,remainedWidth:ie,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},oe=z.stacks;J[ee]=z;var le=X.stackId;oe[le]||z.autoWidthCount++,oe[le]=oe[le]||{width:0,maxWidth:0};var Ae=X.barWidth;Ae&&!oe[le].width&&(oe[le].width=Ae,Ae=Math.min(z.remainedWidth,Ae),z.remainedWidth-=Ae);var he=X.barMaxWidth;he&&(oe[le].maxWidth=he);var ge=X.barMinWidth;ge&&(oe[le].minWidth=ge);var de=X.barGap;de!=null&&(z.gap=de);var fe=X.barCategoryGap;fe!=null&&(z.categoryGap=fe)});var K={};return A.each(J,function(X,j){K[j]={};var ee=X.stacks,ie=X.bandWidth,z=m(X.categoryGap,ie),oe=m(X.gap,1),le=X.remainedWidth,Ae=X.autoWidthCount,he=(le-z)/(Ae+(Ae-1)*oe);he=Math.max(he,0),A.each(ee,function(G){var Y=G.maxWidth,W=G.minWidth;if(G.width){var O=G.width;Y&&(O=Math.min(O,Y)),W&&(O=Math.max(O,W)),G.width=O,le-=O+oe*O,Ae--}else{var O=he;Y&&YO&&(O=W),O!==he&&(G.width=O,le-=O+oe*O,Ae--)}}),he=(le-z)/(Ae+(Ae-1)*oe),he=Math.max(he,0);var ge=0,de;A.each(ee,function(G,Y){G.width||(G.width=he),de=G,ge+=G.width*(1+oe)}),de&&(ge-=de.width*oe);var fe=-ge/2;A.each(ee,function(G,Y){K[j][Y]=K[j][Y]||{bandWidth:ie,offset:fe,width:G.width},fe+=G.width*(1+oe)})}),K}function R(H,J,K){if(H&&J){var X=H[Q(J)];return X!=null&&K!=null&&(X=X[w(K)]),X}}function T(H,J){var K=B(H,J),X=S(K),j={},ee={};A.each(K,function(ie){var z=ie.getData(),oe=ie.coordinateSystem,le=oe.getBaseAxis(),Ae=w(ie),he=X[Q(le)][Ae],ge=he.offset,de=he.width,fe=oe.getOtherAxis(le),G=ie.get("barMinHeight")||0;j[Ae]=j[Ae]||[],ee[Ae]=ee[Ae]||[],z.setLayout({bandWidth:he.bandWidth,offset:ge,size:de});for(var Y=z.mapDimension(fe.dim),W=z.mapDimension(le.dim),O=E(z,Y),re=fe.isHorizontal(),se=N(le,fe,O),ce=0,me=z.count();ce=0?"p":"n",Me=se;O&&(j[Ae][ye]||(j[Ae][ye]={p:se,n:se}),Me=j[Ae][ye][Be]);var He,ke,Ne,Pe;if(re){var we=oe.dataToPoint([Ce,ye]);He=Me,ke=we[1]+ge,Ne=we[0]-se,Pe=de,Math.abs(Ne)y||(Ae=y),{progress:he};function he(ge,de){for(var fe=ge.count,G=new v(fe*2),Y=new v(fe*2),W=new v(fe),O,re=[],se=[],ce=0,me=0;(O=ge.next())!=null;)se[le]=de.get(ie,O),se[1-le]=de.get(z,O),re=K.dataToPoint(se,null,re),Y[ce]=oe?X.x+X.width:re[0],G[ce++]=re[0],Y[ce]=oe?re[1]:X.y+X.height,G[ce++]=re[1],W[me++]=O;de.setLayout({largePoints:G,largeDataIndices:W,largeBackgroundPoints:Y,barWidth:Ae,valueAxisStart:N(j,ee,!1),backgroundStart:oe?X.x:X.y,valueAxisHorizontal:oe})}}};function F(H){return H.coordinateSystem&&H.coordinateSystem.type==="cartesian2d"}function U(H){return H.pipelineContext&&H.pipelineContext.large}function N(H,J,K){return J.toGlobalCoord(J.dataToCoord(J.type==="log"?1:0))}o.getLayoutOnAxis=M,o.prepareLayoutBarSeries=B,o.makeColumnLayout=S,o.retrieveColumnLayout=R,o.layout=T,o.largeLayout=L}),Rst=Et((o,A)=>{var f=mi(),m=ja(),C=sc(),E=g5e(),I=EZ(),x=I.prototype,y=Math.ceil,v=Math.floor,w=1e3,Q=w*60,M=Q*60,B=M*24,D=function(T,L,F,U){for(;F>>1;T[N][1]F&&(H=F);var J=P.length,K=D(P,H,0,J),X=P[Math.min(K,J-1)],j=X[1];if(X[0]==="year"){var ee=N/j,ie=m.nice(ee/T,!0);j*=ie}var z=this.getSetting("useUTC")?0:new Date(+U[0]||+U[1]).getTimezoneOffset()*60*1e3,oe=[Math.round(y((U[0]-z)/j)*j+z),Math.round(v((U[1]-z)/j)*j+z)];E.fixExtent(oe,U),this._stepLvl=X,this._interval=j,this._niceExtent=oe},parse:function(T){return+m.parseDate(T)}});f.each(["contain","normalize"],function(T){S.prototype[T]=function(L){return x[T].call(this,this.parse(L))}});var P=[["hh:mm:ss",w],["hh:mm:ss",w*5],["hh:mm:ss",w*10],["hh:mm:ss",w*15],["hh:mm:ss",w*30],[`hh:mm MM-dd`,Q],[`hh:mm MM-dd`,Q*5],[`hh:mm MM-dd`,Q*10],[`hh:mm MM-dd`,Q*15],[`hh:mm MM-dd`,Q*30],[`hh:mm MM-dd`,M],[`hh:mm MM-dd`,M*2],[`hh:mm MM-dd`,M*6],[`hh:mm MM-dd`,M*12],[`MM-dd yyyy`,B],[`MM-dd yyyy`,B*2],[`MM-dd yyyy`,B*3],[`MM-dd yyyy`,B*4],[`MM-dd yyyy`,B*5],[`MM-dd yyyy`,B*6],["week",B*7],[`MM-dd yyyy`,B*10],["week",B*14],["week",B*21],["month",B*31],["week",B*42],["month",B*62],["week",B*70],["quarter",B*95],["month",B*31*4],["month",B*31*5],["half-year",B*380/2],["month",B*31*8],["month",B*31*10],["year",B*380]];S.create=function(T){return new S({useUTC:T.ecModel.get("useUTC")})};var R=S;A.exports=R}),f5e=Et((o,A)=>{var f=mi(),m=CZ(),C=ja(),E=EZ(),I=m.prototype,x=E.prototype,y=C.getPrecisionSafe,v=C.round,w=Math.floor,Q=Math.ceil,M=Math.pow,B=Math.log,D=m.extend({type:"log",base:10,$constructor:function(){m.apply(this,arguments),this._originalScale=new E},getTicks:function(R){var T=this._originalScale,L=this._extent,F=T.getExtent();return f.map(x.getTicks.call(this,R),function(U){var N=C.round(M(this.base,U));return N=U===L[0]&&T.__fixMin?S(N,F[0]):N,N=U===L[1]&&T.__fixMax?S(N,F[1]):N,N},this)},getMinorTicks:x.getMinorTicks,getLabel:x.getLabel,scale:function(R){return R=I.scale.call(this,R),M(this.base,R)},setExtent:function(R,T){var L=this.base;R=B(R)/B(L),T=B(T)/B(L),x.setExtent.call(this,R,T)},getExtent:function(){var R=this.base,T=I.getExtent.call(this);T[0]=M(R,T[0]),T[1]=M(R,T[1]);var L=this._originalScale,F=L.getExtent();return L.__fixMin&&(T[0]=S(T[0],F[0])),L.__fixMax&&(T[1]=S(T[1],F[1])),T},unionExtent:function(R){this._originalScale.unionExtent(R);var T=this.base;R[0]=B(R[0])/B(T),R[1]=B(R[1])/B(T),I.unionExtent.call(this,R)},unionExtentFromData:function(R,T){this.unionExtent(R.getApproximateExtent(T))},niceTicks:function(R){R=R||10;var T=this._extent,L=T[1]-T[0];if(!(L===1/0||L<=0)){var F=C.quantity(L),U=R/L*F;for(U<=.5&&(F*=10);!isNaN(F)&&Math.abs(F)<1&&Math.abs(F)>0;)F*=10;var N=[C.round(Q(T[0]/F)*F),C.round(w(T[1]/F)*F)];this._interval=F,this._niceExtent=N}},niceExtent:function(R){x.niceExtent.call(this,R);var T=this._originalScale;T.__fixMin=R.fixMin,T.__fixMax=R.fixMax}});f.each(["contain","normalize"],function(R){D.prototype[R]=function(T){return T=B(T)/B(this.base),I[R].call(this,T)}}),D.create=function(){return new D};function S(R,T){return v(R,y(T))}var P=D;A.exports=P}),hB=Et(o=>{var A=EA(),f=A.__DEV__,m=mi(),C=Pst(),E=EZ(),I=CZ(),x=ja(),y=IZ(),v=y.prepareLayoutBarSeries,w=y.makeColumnLayout,Q=y.retrieveColumnLayout,M=Eh();Rst(),f5e();function B(J,K){var X=J.type,j=K.getMin(),ee=K.getMax(),ie=J.getExtent(),z,oe,le;X==="ordinal"?z=K.getCategories().length:(oe=K.get("boundaryGap"),m.isArray(oe)||(oe=[oe||0,oe||0]),typeof oe[0]=="boolean"&&(oe=[0,0]),oe[0]=x.parsePercent(oe[0],1),oe[1]=x.parsePercent(oe[1],1),le=ie[1]-ie[0]||Math.abs(ie[0])),j==="dataMin"?j=ie[0]:typeof j=="function"&&(j=j({min:ie[0],max:ie[1]})),ee==="dataMax"?ee=ie[1]:typeof ee=="function"&&(ee=ee({min:ie[0],max:ie[1]}));var Ae=j!=null,he=ee!=null;j==null&&(j=X==="ordinal"?z?0:NaN:ie[0]-oe[0]*le),ee==null&&(ee=X==="ordinal"?z?z-1:NaN:ie[1]+oe[1]*le),(j==null||!isFinite(j))&&(j=NaN),(ee==null||!isFinite(ee))&&(ee=NaN),J.setBlank(m.eqNaN(j)||m.eqNaN(ee)||X==="ordinal"&&!J.getOrdinalMeta().categories.length),K.getNeedCrossZero()&&(j>0&&ee>0&&!Ae&&(j=0),j<0&&ee<0&&!he&&(ee=0));var ge=K.ecModel;if(ge&&X==="time"){var de=v("bar",ge),fe;if(m.each(de,function(W){fe|=W.getBaseAxis()===K.axis}),fe){var G=w(de),Y=D(j,ee,K,G);j=Y.min,ee=Y.max}}return{extent:[j,ee],fixMin:Ae,fixMax:he}}function D(J,K,X,j){var ee=X.axis.getExtent(),ie=ee[1]-ee[0],z=Q(j,X.axis);if(z===void 0)return{min:J,max:K};var oe=1/0;m.each(z,function(fe){oe=Math.min(fe.offset,oe)});var le=-1/0;m.each(z,function(fe){le=Math.max(fe.offset+fe.width,le)}),oe=Math.abs(oe),le=Math.abs(le);var Ae=oe+le,he=K-J,ge=1-(oe+le)/ie,de=he/ge-he;return K+=de*(le/Ae),J-=de*(oe/Ae),{min:J,max:K}}function S(J,K){var X=B(J,K),j=X.extent,ee=K.get("splitNumber");J.type==="log"&&(J.base=K.get("logBase"));var ie=J.type;J.setExtent(j[0],j[1]),J.niceExtent({splitNumber:ee,fixMin:X.fixMin,fixMax:X.fixMax,minInterval:ie==="interval"||ie==="time"?K.get("minInterval"):null,maxInterval:ie==="interval"||ie==="time"?K.get("maxInterval"):null});var z=K.get("interval");z!=null&&J.setInterval&&J.setInterval(z)}function P(J,K){if(K=K||J.get("type"),K)switch(K){case"category":return new C(J.getOrdinalMeta?J.getOrdinalMeta():J.getCategories(),[1/0,-1/0]);case"value":return new E;default:return(I.getClass(K)||E).create(J)}}function R(J){var K=J.scale.getExtent(),X=K[0],j=K[1];return!(X>0&&j>0||X<0&&j<0)}function T(J){var K=J.getLabelModel().get("formatter"),X=J.type==="category"?J.scale.getExtent()[0]:null;return typeof K=="string"?(K=function(j){return function(ee){return ee=J.scale.getLabel(ee),j.replace("{value}",ee??"")}}(K),K):typeof K=="function"?function(j,ee){return X!=null&&(ee=j-X),K(L(J,j),ee)}:function(j){return J.scale.getLabel(j)}}function L(J,K){return J.type==="category"?J.scale.getLabel(K):K}function F(J){var K=J.model,X=J.scale;if(!(!K.get("axisLabel.show")||X.isBlank())){var j=J.type==="category",ee,ie,z=X.getExtent();j?ie=X.count():(ee=X.getTicks(),ie=ee.length);var oe=J.getLabelModel(),le=T(J),Ae,he=1;ie>40&&(he=Math.ceil(ie/40));for(var ge=0;ge{var f=mi(),m={getMin:function(C){var E=this.option,I=!C&&E.rangeStart!=null?E.rangeStart:E.min;return this.axis&&I!=null&&I!=="dataMin"&&typeof I!="function"&&!f.eqNaN(I)&&(I=this.axis.scale.parse(I)),I},getMax:function(C){var E=this.option,I=!C&&E.rangeEnd!=null?E.rangeEnd:E.max;return this.axis&&I!=null&&I!=="dataMax"&&typeof I!="function"&&!f.eqNaN(I)&&(I=this.axis.scale.parse(I)),I},getNeedCrossZero:function(){var C=this.option;return C.rangeStart!=null||C.rangeEnd!=null?!1:!C.scale},getCoordSysModel:f.noop,setRange:function(C,E){this.option.rangeStart=C,this.option.rangeEnd=E},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}};A.exports=m}),fv=Et(o=>{var A=mi(),f=po(),m=Eh(),C=Nx(),E=C.calculateTextPosition,I=f.extendShape({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(P,R){var T=R.cx,L=R.cy,F=R.width/2,U=R.height/2;P.moveTo(T,L-U),P.lineTo(T+F,L+U),P.lineTo(T-F,L+U),P.closePath()}}),x=f.extendShape({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(P,R){var T=R.cx,L=R.cy,F=R.width/2,U=R.height/2;P.moveTo(T,L-U),P.lineTo(T+F,L),P.lineTo(T,L+U),P.lineTo(T-F,L),P.closePath()}}),y=f.extendShape({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(P,R){var T=R.x,L=R.y,F=R.width/5*3,U=Math.max(F,R.height),N=F/2,H=N*N/(U-N),J=L-U+N+H,K=Math.asin(H/N),X=Math.cos(K)*N,j=Math.sin(K),ee=Math.cos(K),ie=N*.6,z=N*.7;P.moveTo(T-X,J+H),P.arc(T,J,N,Math.PI-K,Math.PI*2+K),P.bezierCurveTo(T+X-j*ie,J+H+ee*ie,T,L-z,T,L),P.bezierCurveTo(T,L-z,T-X+j*ie,J+H+ee*ie,T-X,J+H),P.closePath()}}),v=f.extendShape({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(P,R){var T=R.height,L=R.width,F=R.x,U=R.y,N=L/3*2;P.moveTo(F,U),P.lineTo(F+N,U+T),P.lineTo(F,U+T/4*3),P.lineTo(F-N,U+T),P.lineTo(F,U),P.closePath()}}),w={line:f.Line,rect:f.Rect,roundRect:f.Rect,square:f.Rect,circle:f.Circle,diamond:x,pin:y,arrow:v,triangle:I},Q={line:function(P,R,T,L,F){F.x1=P,F.y1=R+L/2,F.x2=P+T,F.y2=R+L/2},rect:function(P,R,T,L,F){F.x=P,F.y=R,F.width=T,F.height=L},roundRect:function(P,R,T,L,F){F.x=P,F.y=R,F.width=T,F.height=L,F.r=Math.min(T,L)/4},square:function(P,R,T,L,F){var U=Math.min(T,L);F.x=P,F.y=R,F.width=U,F.height=U},circle:function(P,R,T,L,F){F.cx=P+T/2,F.cy=R+L/2,F.r=Math.min(T,L)/2},diamond:function(P,R,T,L,F){F.cx=P+T/2,F.cy=R+L/2,F.width=T,F.height=L},pin:function(P,R,T,L,F){F.x=P+T/2,F.y=R+L/2,F.width=T,F.height=L},arrow:function(P,R,T,L,F){F.x=P+T/2,F.y=R+L/2,F.width=T,F.height=L},triangle:function(P,R,T,L,F){F.cx=P+T/2,F.cy=R+L/2,F.width=T,F.height=L}},M={};A.each(w,function(P,R){M[R]=new P});var B=f.extendShape({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},calculateTextPosition:function(P,R,T){var L=E(P,R,T),F=this.shape;return F&&F.symbolType==="pin"&&R.textPosition==="inside"&&(L.y=T.y+T.height*.4),L},buildPath:function(P,R,T){var L=R.symbolType;if(L!=="none"){var F=M[L];F||(L="rect",F=M[L]),Q[L](R.x,R.y,R.width,R.height,F.shape),F.buildPath(P,F.shape,T)}}});function D(P,R){if(this.type!=="image"){var T=this.style,L=this.shape;L&&L.symbolType==="line"?T.stroke=P:this.__isEmptyBrush?(T.stroke=P,T.fill=R||"#fff"):(T.fill&&(T.fill=P),T.stroke&&(T.stroke=P)),this.dirty(!1)}}function S(P,R,T,L,F,U,N){var H=P.indexOf("empty")===0;H&&(P=P.substr(5,1).toLowerCase()+P.substr(6));var J;return P.indexOf("image://")===0?J=f.makeImage(P.slice(8),new m(R,T,L,F),N?"center":"cover"):P.indexOf("path://")===0?J=f.makePath(P.slice(7),{},new m(R,T,L,F),N?"center":"cover"):J=new B({shape:{symbolType:P,x:R,y:T,width:L,height:F}}),J.__isEmptyBrush=H,J.setColor=D,J.setColor(U),J}o.createSymbol=S}),Lst=Et(o=>{var A=mi(),f=YS(),m=hB(),C=BO(),E=Cg(),I=Wu(),x=I.getLayoutRect;o.getLayoutRect=I.getLayoutRect;var y=H1(),v=y.enableDataStack,w=y.isDimensionStacked,Q=y.getStackedDimension,M=h5e();o.completeDimensions=M;var B=_O();o.createDimensions=B;var D=fv();o.createSymbol=D.createSymbol;function S(L){return f(L.getSource(),L)}var P={isDimensionStacked:w,enableDataStack:v,getStackedDimension:Q};function R(L,F){var U=F;E.isInstance(F)||(U=new E(F),A.mixin(U,C));var N=m.createScaleByModel(U);return N.setExtent(L[0],L[1]),m.niceScaleExtent(N,U),N}function T(L){A.mixin(L,C)}o.createList=S,o.dataStack=P,o.createScale=R,o.mixinAxisModelCommonMethods=T}),p5e=Et(o=>{var A=Zke(),f=1e-8;function m(E,I){return Math.abs(E-I){var f=Eh(),m=v9(),C=Zc(),E=p5e();function I(y,v,w){if(this.name=y,this.geometries=v,w)w=[w[0],w[1]];else{var Q=this.getBoundingRect();w=[Q.x+Q.width/2,Q.y+Q.height/2]}this.center=w}I.prototype={constructor:I,properties:null,getBoundingRect:function(){var y=this._rect;if(y)return y;for(var v=Number.MAX_VALUE,w=[v,v],Q=[-v,-v],M=[],B=[],D=this.geometries,S=0;S{var f=mi(),m=m5e();function C(x){if(!x.UTF8Encoding)return x;var y=x.UTF8Scale;y==null&&(y=1024);for(var v=x.features,w=0;w>1^-(D&1),S=S>>1^-(S&1),D+=Q,S+=M,Q=D,M=S,w.push([D/v,S/v])}return w}function I(x,y){return C(x),f.map(f.filter(x.features,function(v){return v.geometry&&v.properties&&v.geometry.coordinates.length>0}),function(v){var w=v.properties,Q=v.geometry,M=Q.coordinates,B=[];Q.type==="Polygon"&&B.push({type:"polygon",exterior:M[0],interiors:M.slice(1)}),Q.type==="MultiPolygon"&&f.each(M,function(S){S[0]&&B.push({type:"polygon",exterior:S[0],interiors:S.slice(1)})});var D=new m(w[y||"name"],B,w.cp);return D.properties=w,D})}A.exports=I}),Fst=Et(o=>{var A=mi(),f=Nx(),m=pl(),C=m.makeInner,E=hB(),I=E.makeLabelFormatter,x=E.getOptionCategoryInterval,y=E.shouldShowAllLabels,v=C();function w(J){return J.type==="category"?M(J):S(J)}function Q(J,K){return J.type==="category"?D(J,K):{ticks:J.scale.getTicks()}}function M(J){var K=J.getLabelModel(),X=B(J,K);return!K.get("show")||J.scale.isBlank()?{labels:[],labelCategoryInterval:X.labelCategoryInterval}:X}function B(J,K){var X=P(J,"labels"),j=x(K),ee=R(X,j);if(ee)return ee;var ie,z;return A.isFunction(j)?ie=H(J,j):(z=j==="auto"?L(J):j,ie=N(J,z)),T(X,j,{labels:ie,labelCategoryInterval:z})}function D(J,K){var X=P(J,"ticks"),j=x(K),ee=R(X,j);if(ee)return ee;var ie,z;if((!K.get("show")||J.scale.isBlank())&&(ie=[]),A.isFunction(j))ie=H(J,j,!0);else if(j==="auto"){var oe=B(J,J.getLabelModel());z=oe.labelCategoryInterval,ie=A.map(oe.labels,function(le){return le.tickValue})}else z=j,ie=N(J,z,!0);return T(X,j,{ticks:ie,tickCategoryInterval:z})}function S(J){var K=J.scale.getTicks(),X=I(J);return{labels:A.map(K,function(j,ee){return{formattedLabel:X(j,ee),rawLabel:J.scale.getLabel(j),tickValue:j}})}}function P(J,K){return v(J)[K]||(v(J)[K]=[])}function R(J,K){for(var X=0;X40&&(oe=Math.max(1,Math.floor(z/40)));for(var le=ie[0],Ae=J.dataToCoord(le+1)-J.dataToCoord(le),he=Math.abs(Ae*Math.cos(j)),ge=Math.abs(Ae*Math.sin(j)),de=0,fe=0;le<=ie[1];le+=oe){var G=0,Y=0,W=f.getBoundingRect(X(le),K.font,"center","top");G=W.width*1.3,Y=W.height*1.3,de=Math.max(de,G,7),fe=Math.max(fe,Y,7)}var O=de/he,re=fe/ge;isNaN(O)&&(O=1/0),isNaN(re)&&(re=1/0);var se=Math.max(0,Math.floor(Math.min(O,re))),ce=v(J.model),me=J.getExtent(),Ce=ce.lastAutoInterval,ye=ce.lastTickCount;return Ce!=null&&ye!=null&&Math.abs(Ce-se)<=1&&Math.abs(ye-z)<=1&&Ce>se&&ce.axisExtend0===me[0]&&ce.axisExtend1===me[1]?se=Ce:(ce.lastTickCount=z,ce.lastAutoInterval=se,ce.axisExtend0=me[0],ce.axisExtend1=me[1]),se}function U(J){var K=J.getLabelModel();return{axisRotate:J.getRotate?J.getRotate():J.isHorizontal&&!J.isHorizontal()?90:0,labelRotate:K.get("rotate")||0,font:K.getFont()}}function N(J,K,X){var j=I(J),ee=J.scale,ie=ee.getExtent(),z=J.getLabelModel(),oe=[],le=Math.max((K||0)+1,1),Ae=ie[0],he=ee.count();Ae!==0&&le>1&&he/le>2&&(Ae=Math.round(Math.ceil(Ae/le)*le));var ge=y(J),de=z.get("showMinLabel")||ge,fe=z.get("showMaxLabel")||ge;de&&Ae!==ie[0]&&Y(ie[0]);for(var G=Ae;G<=ie[1];G+=le)Y(G);fe&&G-le!==ie[1]&&Y(ie[1]);function Y(W){oe.push(X?W:{formattedLabel:j(W),rawLabel:ee.getLabel(W),tickValue:W})}return oe}function H(J,K,X){var j=J.scale,ee=I(J),ie=[];return A.each(j.getTicks(),function(z){var oe=j.getLabel(z);K(z,oe)&&ie.push(X?z:{formattedLabel:ee(z),rawLabel:oe,tickValue:z})}),ie}o.createAxisLabels=w,o.createAxisTicks=Q,o.calculateCategoryInterval=F}),j2=Et((o,A)=>{var f=mi(),m=f.each,C=f.map,E=ja(),I=E.linearMap,x=E.getPixelPrecision,y=E.round,v=Fst(),w=v.createAxisTicks,Q=v.createAxisLabels,M=v.calculateCategoryInterval,B=[0,1],D=function(T,L,F){this.dim=T,this.scale=L,this._extent=F||[0,0],this.inverse=!1,this.onBand=!1};D.prototype={constructor:D,contain:function(T){var L=this._extent,F=Math.min(L[0],L[1]),U=Math.max(L[0],L[1]);return T>=F&&T<=U},containData:function(T){return this.scale.contain(T)},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(T){return x(T||this.scale.getExtent(),this._extent)},setExtent:function(T,L){var F=this._extent;F[0]=T,F[1]=L},dataToCoord:function(T,L){var F=this._extent,U=this.scale;return T=U.normalize(T),this.onBand&&U.type==="ordinal"&&(F=F.slice(),S(F,U.count())),I(T,B,F,L)},coordToData:function(T,L){var F=this._extent,U=this.scale;this.onBand&&U.type==="ordinal"&&(F=F.slice(),S(F,U.count()));var N=I(T,F,B,L);return this.scale.scale(N)},pointToData:function(T,L){},getTicksCoords:function(T){T=T||{};var L=T.tickModel||this.getTickModel(),F=w(this,L),U=F.ticks,N=C(U,function(J){return{coord:this.dataToCoord(J),tickValue:J}},this),H=L.get("alignWithLabel");return P(this,N,H,T.clamp),N},getMinorTicksCoords:function(){if(this.scale.type==="ordinal")return[];var T=this.model.getModel("minorTick"),L=T.get("splitNumber");L>0&&L<100||(L=5);var F=this.scale.getMinorTicks(L),U=C(F,function(N){return C(N,function(H){return{coord:this.dataToCoord(H),tickValue:H}},this)},this);return U},getViewLabels:function(){return Q(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var T=this._extent,L=this.scale.getExtent(),F=L[1]-L[0]+(this.onBand?1:0);F===0&&(F=1);var U=Math.abs(T[1]-T[0]);return Math.abs(U)/F},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return M(this)}};function S(T,L){var F=T[1]-T[0],U=L,N=F/U/2;T[0]+=N,T[1]-=N}function P(T,L,F,U){var N=L.length;if(!T.onBand||F||!N)return;var H=T.getExtent(),J,K;if(N===1)L[0].coord=H[0],J=L[1]={coord:H[0]};else{var X=L[N-1].tickValue-L[0].tickValue,j=(L[N-1].coord-L[0].coord)/X;m(L,function(oe){oe.coord-=j/2});var ee=T.scale.getExtent();K=1+ee[1]-L[N-1].tickValue,J={coord:L[N-1].coord+j*K},L.push(J)}var ie=H[0]>H[1];z(L[0].coord,H[0])&&(U?L[0].coord=H[0]:L.shift()),U&&z(H[0],L[0].coord)&&L.unshift({coord:H[0]}),z(H[1],J.coord)&&(U?J.coord=H[1]:L.pop()),U&&z(J.coord,H[1])&&L.push({coord:H[1]});function z(oe,le){return oe=y(oe),le=y(le),ie?oe>le:oe{var A=fZ();o.zrender=A;var f=UC();o.matrix=f;var m=Zc();o.vector=m;var C=mi(),E=O1();o.color=E;var I=po(),x=ja();o.number=x;var y=sc();o.format=y;var v=W2(),w=v.throttle;o.throttle=v.throttle;var Q=Lst();o.helper=Q;var M=C5e();o.parseGeoJSON=M;var B=gv();o.List=B;var D=Cg();o.Model=D;var S=j2();o.Axis=S;var P=mg();o.env=P;var R=M,T={};C.each(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(F){T[F]=C[F]});var L={};C.each(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","registerShape","getShapeClass","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(F){L[F]=I[F]}),o.parseGeoJson=R,o.util=T,o.graphic=L}),xn=Et(o=>{var A=EA(),f=A.__DEV__,m=fZ(),C=mi(),E=O1(),I=mg(),x=Fce(),y=KF(),v=s5e(),w=l5e(),Q=cB(),M=xst(),B=vst(),D=_st(),S=wf(),P=bf(),R=mZ(),T=G1(),L=po(),F=pl(),U=W2(),N=U.throttle,H=Bst(),J=wst(),K=bst(),X=Qst(),j=Sst(),ee=Dst();A5e();var ie=Yce(),z=C.assert,oe=C.each,le=C.isFunction,Ae=C.isObject,he=S.parseClassType,ge="4.8.0",de={zrender:"4.3.1"},fe=1,G=1e3,Y=800,W=900,O=5e3,re=1e3,se=1100,ce=2e3,me=3e3,Ce=3500,ye=4e3,Be=5e3,Me={PROCESSOR:{FILTER:G,SERIES_FILTER:Y,STATISTIC:O},VISUAL:{LAYOUT:re,PROGRESSIVE_LAYOUT:se,GLOBAL:ce,CHART:me,POST_CHART_LAYOUT:Ce,COMPONENT:ye,BRUSH:Be}},He="__flagInMainProcess",ke="__optionUpdated",Ne=/^[a-zA-Z0-9_]+$/;function Pe(ci,ki){return function(mr,zr,en){if(!ki&&this._disposed){this.id;return}mr=mr&&mr.toLowerCase(),y.prototype[ci].call(this,mr,zr,en)}}function we(){y.call(this)}we.prototype.on=Pe("on",!0),we.prototype.off=Pe("off",!0),we.prototype.one=Pe("one",!0),C.mixin(we,y);function Fe(ci,Mr,mr){mr=mr||{},typeof Mr=="string"&&(Mr=Fi[Mr]),this.id,this.group,this._dom=ci;var zr="canvas",en=this._zr=m.init(ci,{renderer:mr.renderer||zr,devicePixelRatio:mr.devicePixelRatio,width:mr.width,height:mr.height});this._throttledZrFlush=N(C.bind(en.flush,en),17);var Mr=C.clone(Mr);Mr&&B(Mr,!0),this._theme=Mr,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new Q;var pn=this._api=Oe(this);function Sn(jr,to){return jr.__prio-to.__prio}x(xi,Sn),x(bi,Sn),this._scheduler=new X(this,pn,bi,xi),y.call(this,this._ecEventProcessor=new vt),this._messageCenter=new we,this._initEvents(),this.resize=C.bind(this.resize,this),this._pendingActions=[],en.animation.on("frame",this._onframe,this),ft(en,this),C.setAsPrimitive(this)}var Ue=Fe.prototype;Ue._onframe=function(){if(!this._disposed){var ci=this._scheduler;if(this[ke]){var ki=this[ke].silent;this[He]=!0,je(this),Je.update.call(this),this[He]=!1,this[ke]=!1,yt.call(this,ki),at.call(this,ki)}else if(ci.unfinished){var mr=fe,zr=this._model,en=this._api;ci.unfinished=!1;do{var Mr=+new Date;ci.performSeriesTasks(zr),ci.performDataProcessorTasks(zr),rt(this,zr),ci.performVisualTasks(zr),It(this,this._model,en,"remain"),mr-=+new Date-Mr}while(mr>0&&ci.unfinished);ci.unfinished||this._zr.flush()}}},Ue.getDom=function(){return this._dom},Ue.getZr=function(){return this._zr},Ue.setOption=function(ci,ki,mr){if(this._disposed){this.id;return}var zr;if(Ae(ki)&&(mr=ki.lazyUpdate,zr=ki.silent,ki=ki.notMerge),this[He]=!0,!this._model||ki){var en=new M(this._api),Mr=this._theme,pn=this._model=new v;pn.scheduler=this._scheduler,pn.init(null,null,Mr,en)}this._model.setOption(ci,nr),mr?(this[ke]={silent:zr},this[He]=!1):(je(this),Je.update.call(this),this._zr.flush(),this[ke]=!1,this[He]=!1,yt.call(this,zr),at.call(this,zr))},Ue.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},Ue.getModel=function(){return this._model},Ue.getOption=function(){return this._model&&this._model.getOption()},Ue.getWidth=function(){return this._zr.getWidth()},Ue.getHeight=function(){return this._zr.getHeight()},Ue.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},Ue.getRenderedCanvas=function(ci){if(I.canvasSupported){ci=ci||{},ci.pixelRatio=ci.pixelRatio||1,ci.backgroundColor=ci.backgroundColor||this._model.get("backgroundColor");var ki=this._zr;return ki.painter.getRenderedCanvas(ci)}},Ue.getSvgDataURL=function(){if(I.svgSupported){var ci=this._zr,ki=ci.storage.getDisplayList();return C.each(ki,function(mr){mr.stopAnimation(!0)}),ci.painter.toDataURL()}},Ue.getDataURL=function(ci){if(this._disposed){this.id;return}ci=ci||{};var ki=ci.excludeComponents,mr=this._model,zr=[],en=this;oe(ki,function(pn){mr.eachComponent({mainType:pn},function(Sn){var jr=en._componentsMap[Sn.__viewId];jr.group.ignore||(zr.push(jr),jr.group.ignore=!0)})});var Mr=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.getRenderedCanvas(ci).toDataURL("image/"+(ci&&ci.type||"png"));return oe(zr,function(pn){pn.group.ignore=!1}),Mr},Ue.getConnectedDataURL=function(ci){if(this._disposed){this.id;return}if(I.canvasSupported){var ki=ci.type==="svg",mr=this.group,zr=Math.min,en=Math.max,Mr=1/0;if(Kt[mr]){var pn=Mr,Sn=Mr,jr=-Mr,to=-Mr,Eo=[],La=ci&&ci.pixelRatio||1;C.each(Vt,function(Uu,rf){if(Uu.group===mr){var Qh=ki?Uu.getZr().painter.getSvgDom().innerHTML:Uu.getRenderedCanvas(C.clone(ci)),Lc=Uu.getDom().getBoundingClientRect();pn=zr(Lc.left,pn),Sn=zr(Lc.top,Sn),jr=en(Lc.right,jr),to=en(Lc.bottom,to),Eo.push({dom:Qh,left:Lc.left,top:Lc.top})}}),pn*=La,Sn*=La,jr*=La,to*=La;var Gl=jr-pn,Uo=to-Sn,IA=C.createCanvas(),ss=m.init(IA,{renderer:ki?"svg":"canvas"});if(ss.resize({width:Gl,height:Uo}),ki){var yd="";return oe(Eo,function(Uu){var rf=Uu.left-pn,Qh=Uu.top-Sn;yd+=''+Uu.dom+""}),ss.painter.getSvgRoot().innerHTML=yd,ci.connectedBackgroundColor&&ss.painter.setBackgroundColor(ci.connectedBackgroundColor),ss.refreshImmediately(),ss.painter.toDataURL()}else return ci.connectedBackgroundColor&&ss.add(new L.Rect({shape:{x:0,y:0,width:Gl,height:Uo},style:{fill:ci.connectedBackgroundColor}})),oe(Eo,function(Uu){var rf=new L.Image({style:{x:Uu.left*La-pn,y:Uu.top*La-Sn,image:Uu.dom}});ss.add(rf)}),ss.refreshImmediately(),IA.toDataURL("image/"+(ci&&ci.type||"png"))}else return this.getDataURL(ci)}},Ue.convertToPixel=C.curry(ze,"convertToPixel"),Ue.convertFromPixel=C.curry(ze,"convertFromPixel");function ze(ci,ki,mr){if(this._disposed){this.id;return}var zr=this._model,en=this._coordSysMgr.getCoordinateSystems(),Mr;ki=F.parseFinder(zr,ki);for(var pn=0;pn=0&&C.each(en,function(pn){var Sn=pn.coordinateSystem;if(Sn&&Sn.containPoint)zr|=!!Sn.containPoint(ki);else if(Mr==="seriesModels"){var jr=this._chartsMap[pn.__viewId];jr&&jr.containPoint&&(zr|=jr.containPoint(ki,pn))}},this)},this),!!zr},Ue.getVisual=function(ci,ki){var mr=this._model;ci=F.parseFinder(mr,ci,{defaultMainType:"series"});var zr=ci.seriesModel,en=zr.getData(),Mr=ci.hasOwnProperty("dataIndexInside")?ci.dataIndexInside:ci.hasOwnProperty("dataIndex")?en.indexOfRawIndex(ci.dataIndex):null;return Mr!=null?en.getItemVisual(Mr,ki):en.getVisual(ki)},Ue.getViewOfComponentModel=function(ci){return this._componentsMap[ci.__viewId]},Ue.getViewOfSeriesModel=function(ci){return this._chartsMap[ci.__viewId]};var Je={prepareAndUpdate:function(ci){je(this),Je.update.call(this,ci)},update:function(ci){var ki=this._model,mr=this._api,zr=this._zr,en=this._coordSysMgr,Mr=this._scheduler;if(ki){Mr.restoreData(ki,ci),Mr.performSeriesTasks(ki),en.create(ki,mr),Mr.performDataProcessorTasks(ki,ci),rt(this,ki),en.update(ki,mr),et(ki),Mr.performVisualTasks(ki,ci),pt(this,ki,mr,ci);var pn=ki.get("backgroundColor")||"transparent";if(I.canvasSupported)zr.setBackgroundColor(pn);else{var Sn=E.parse(pn);pn=E.stringify(Sn,"rgb"),Sn[3]===0&&(pn="transparent")}Pt(ki,mr)}},updateTransform:function(ci){var ki=this._model,mr=this,zr=this._api;if(ki){var en=[];ki.eachComponent(function(pn,Sn){var jr=mr.getViewOfComponentModel(Sn);if(jr&&jr.__alive)if(jr.updateTransform){var to=jr.updateTransform(Sn,ki,zr,ci);to&&to.update&&en.push(jr)}else en.push(jr)});var Mr=C.createHashMap();ki.eachSeries(function(pn){var Sn=mr._chartsMap[pn.__viewId];if(Sn.updateTransform){var jr=Sn.updateTransform(pn,ki,zr,ci);jr&&jr.update&&Mr.set(pn.uid,1)}else Mr.set(pn.uid,1)}),et(ki),this._scheduler.performVisualTasks(ki,ci,{setDirty:!0,dirtyMap:Mr}),It(mr,ki,zr,ci,Mr),Pt(ki,this._api)}},updateView:function(ci){var ki=this._model;ki&&(T.markUpdateMethod(ci,"updateView"),et(ki),this._scheduler.performVisualTasks(ki,ci,{setDirty:!0}),pt(this,this._model,this._api,ci),Pt(ki,this._api))},updateVisual:function(ci){Je.update.call(this,ci)},updateLayout:function(ci){Je.update.call(this,ci)}};function je(ci){var ki=ci._model,mr=ci._scheduler;mr.restorePipelines(ki),mr.prepareStageTasks(),_t(ci,"component",ki,mr),_t(ci,"chart",ki,mr),mr.plan()}function Ze(ci,ki,mr,zr,en){var Mr=ci._model;if(!zr){oe(ci._componentsViews.concat(ci._chartsViews),to);return}var pn={};pn[zr+"Id"]=mr[zr+"Id"],pn[zr+"Index"]=mr[zr+"Index"],pn[zr+"Name"]=mr[zr+"Name"];var Sn={mainType:zr,query:pn};en&&(Sn.subType=en);var jr=mr.excludeSeriesId;jr!=null&&(jr=C.createHashMap(F.normalizeToArray(jr))),Mr&&Mr.eachComponent(Sn,function(Eo){(!jr||jr.get(Eo.id)==null)&&to(ci[zr==="series"?"_chartsMap":"_componentsMap"][Eo.__viewId])},ci);function to(Eo){Eo&&Eo.__alive&&Eo[ki]&&Eo[ki](Eo.__model,Mr,ci._api,mr)}}Ue.resize=function(ci){if(this._disposed){this.id;return}this._zr.resize(ci);var ki=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!ki){var mr=ki.resetOption("media"),zr=ci&&ci.silent;this[He]=!0,mr&&je(this),Je.update.call(this),this[He]=!1,yt.call(this,zr),at.call(this,zr)}};function rt(ci,ki){var mr=ci._chartsMap,zr=ci._scheduler;ki.eachSeries(function(en){zr.updateStreamModes(en,mr[en.__viewId])})}Ue.showLoading=function(ci,ki){if(this._disposed){this.id;return}if(Ae(ci)&&(ki=ci,ci=""),ci=ci||"default",this.hideLoading(),!!pi[ci]){var mr=pi[ci](this._api,ki),zr=this._zr;this._loadingFX=mr,zr.add(mr)}},Ue.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},Ue.makeActionFromEvent=function(ci){var ki=C.extend({},ci);return ki.type=Bt[ci.type],ki},Ue.dispatchAction=function(ci,ki){if(this._disposed){this.id;return}if(Ae(ki)||(ki={silent:!!ki}),!!wt[ci.type]&&this._model){if(this[He]){this._pendingActions.push(ci);return}At.call(this,ci,ki.silent),ki.flush?this._zr.flush(!0):ki.flush!==!1&&I.browser.weChat&&this._throttledZrFlush(),yt.call(this,ki.silent),at.call(this,ki.silent)}};function At(ci,ki){var mr=ci.type,zr=ci.escapeConnect,en=wt[mr],Mr=en.actionInfo,pn=(Mr.update||"update").split(":"),Sn=pn.pop();pn=pn[0]!=null&&he(pn[0]),this[He]=!0;var jr=[ci],to=!1;ci.batch&&(to=!0,jr=C.map(ci.batch,function(Uo){return Uo=C.defaults(C.extend({},Uo),ci),Uo.batch=null,Uo}));var Eo=[],La,Gl=mr==="highlight"||mr==="downplay";oe(jr,function(Uo){La=en.action(Uo,this._model,this._api),La=La||C.extend({},Uo),La.type=Mr.event||La.type,Eo.push(La),Gl?Ze(this,Sn,Uo,"series"):pn&&Ze(this,Sn,Uo,pn.main,pn.sub)},this),Sn!=="none"&&!Gl&&!pn&&(this[ke]?(je(this),Je.update.call(this,ci),this[ke]=!1):Je[Sn].call(this,ci)),to?La={type:Mr.event||mr,escapeConnect:zr,batch:Eo}:La=Eo[0],this[He]=!1,!ki&&this._messageCenter.trigger(La.type,La)}function yt(ci){for(var ki=this._pendingActions;ki.length;){var mr=ki.shift();At.call(this,mr,ci)}}function at(ci){!ci&&this.trigger("updated")}function ft(ci,ki){ci.on("rendered",function(){ki.trigger("rendered"),ci.animation.isFinished()&&!ki[ke]&&!ki._scheduler.unfinished&&!ki._pendingActions.length&&ki.trigger("finished")})}Ue.appendData=function(ci){if(this._disposed){this.id;return}var ki=ci.seriesIndex,mr=this.getModel(),zr=mr.getSeriesByIndex(ki);zr.appendData(ci),this._scheduler.unfinished=!0},Ue.on=Pe("on",!1),Ue.off=Pe("off",!1),Ue.one=Pe("one",!1);function _t(ci,ki,mr,zr){for(var en=ki==="component",Mr=en?ci._componentsViews:ci._chartsViews,pn=en?ci._componentsMap:ci._chartsMap,Sn=ci._zr,jr=ci._api,to=0;toki.get("hoverLayerThreshold")&&!I.node&&ki.eachSeries(function(Mr){if(!Mr.preventUsingHoverLayer){var pn=ci._chartsMap[Mr.__viewId];pn.__alive&&pn.group.traverse(function(Sn){Sn.useHoverLayer=!0})}})}function Le(ci,ki){var mr=ci.get("blendMode")||null;ki.group.traverse(function(zr){zr.isGroup||zr.style.blend!==mr&&zr.setStyle("blend",mr),zr.eachPendingDisplayable&&zr.eachPendingDisplayable(function(en){en.setStyle("blend",mr)})})}function _e(ci,ki){var mr=ci.get("z"),zr=ci.get("zlevel");ki.group.traverse(function(en){en.type!=="group"&&(mr!=null&&(en.z=mr),zr!=null&&(en.zlevel=zr))})}function Oe(ci){var ki=ci._coordSysMgr;return C.extend(new w(ci),{getCoordinateSystems:C.bind(ki.getCoordinateSystems,ki),getComponentByElement:function(mr){for(;mr;){var zr=mr.__ecComponentInfo;if(zr!=null)return ci._model.getComponent(zr.mainType,zr.index);mr=mr.parent}}})}function vt(){this.eventInfo}vt.prototype={constructor:vt,normalizeQuery:function(ci){var ki={},mr={},zr={};if(C.isString(ci)){var en=he(ci);ki.mainType=en.main||null,ki.subType=en.sub||null}else{var Mr=["Index","Name","Id"],pn={name:1,dataIndex:1,dataType:1};C.each(ci,function(Sn,jr){for(var to=!1,Eo=0;Eo0&&Gl===jr.length-La.length){var Uo=jr.slice(0,Gl);Uo!=="data"&&(ki.mainType=Uo,ki[La.toLowerCase()]=Sn,to=!0)}}pn.hasOwnProperty(jr)&&(mr[jr]=Sn,to=!0),to||(zr[jr]=Sn)})}return{cptQuery:ki,dataQuery:mr,otherQuery:zr}},filter:function(ci,ki,mr){var zr=this.eventInfo;if(!zr)return!0;var en=zr.targetEl,Mr=zr.packedEvent,pn=zr.model,Sn=zr.view;if(!pn||!Sn)return!0;var jr=ki.cptQuery,to=ki.dataQuery;return Eo(jr,pn,"mainType")&&Eo(jr,pn,"subType")&&Eo(jr,pn,"index","componentIndex")&&Eo(jr,pn,"name")&&Eo(jr,pn,"id")&&Eo(to,Mr,"name")&&Eo(to,Mr,"dataIndex")&&Eo(to,Mr,"dataType")&&(!Sn.filterForExposedEvent||Sn.filterForExposedEvent(ci,ki.otherQuery,en,Mr));function Eo(La,Gl,Uo,IA){return La[Uo]==null||Gl[IA||Uo]===La[Uo]}},afterTrigger:function(){this.eventInfo=null}};var wt={},Bt={},bi=[],nr=[],Ai=[],xi=[],Fi={},pi={},Vt={},Kt={},di=new Date-0,ui=new Date-0,Ht="_echarts_instance_";function Ei(ci){var ki=0,mr=1,zr=2,en="__connectUpdateStatus";function Mr(pn,Sn){for(var jr=0;jr{var f=EA(),m=f.__DEV__,C=YS(),E=bf(),I=E.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(x,y){return C(this.getSource(),this,{useEncodeDefaulter:!0})},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clip:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});A.exports=I}),Jce=Et(o=>{var A=jF(),f=A.retrieveRawValue;function m(C,E){var I=C.mapDimension("defaultedLabel",!0),x=I.length;if(x===1)return f(C,E,I[0]);if(x){for(var y=[],v=0;v{var f=mi(),m=fv(),C=m.createSymbol,E=po(),I=ja(),x=I.parsePercent,y=Jce(),v=y.getDefaultLabel;function w(U,N,H){E.Group.call(this),this.updateData(U,N,H)}var Q=w.prototype,M=w.getSymbolSize=function(U,N){var H=U.getItemVisual(N,"symbolSize");return H instanceof Array?H.slice():[+H,+H]};function B(U){return[U[0]/2,U[1]/2]}function D(U,N){this.parent.drift(U,N)}Q._createSymbol=function(U,N,H,J,K){this.removeAll();var X=N.getItemVisual(H,"color"),j=C(U,-1,-1,2,2,X,K);j.attr({z2:100,culling:!0,scale:B(J)}),j.drift=D,this._symbolType=U,this.add(j)},Q.stopSymbolAnimation=function(U){this.childAt(0).stopAnimation(U)},Q.getSymbolPath=function(){return this.childAt(0)},Q.getScale=function(){return this.childAt(0).scale},Q.highlight=function(){this.childAt(0).trigger("emphasis")},Q.downplay=function(){this.childAt(0).trigger("normal")},Q.setZ=function(U,N){var H=this.childAt(0);H.zlevel=U,H.z=N},Q.setDraggable=function(U){var N=this.childAt(0);N.draggable=U,N.cursor=U?"move":N.cursor},Q.updateData=function(U,N,H){this.silent=!1;var J=U.getItemVisual(N,"symbol")||"circle",K=U.hostModel,X=M(U,N),j=J!==this._symbolType;if(j){var ee=U.getItemVisual(N,"symbolKeepAspect");this._createSymbol(J,U,N,X,ee)}else{var ie=this.childAt(0);ie.silent=!1,E.updateProps(ie,{scale:B(X)},K,N)}if(this._updateCommon(U,N,X,H),j){var ie=this.childAt(0),z=H&&H.fadeIn,oe={scale:ie.scale.slice()};z&&(oe.style={opacity:ie.style.opacity}),ie.scale=[0,0],z&&(ie.style.opacity=0),E.initProps(ie,oe,K,N)}this._seriesModel=K};var S=["itemStyle"],P=["emphasis","itemStyle"],R=["label"],T=["emphasis","label"];Q._updateCommon=function(U,N,H,J){var K=this.childAt(0),X=U.hostModel,j=U.getItemVisual(N,"color");K.type!=="image"?K.useStyle({strokeNoScale:!0}):K.setStyle({opacity:null,shadowBlur:null,shadowOffsetX:null,shadowOffsetY:null,shadowColor:null});var ee=J&&J.itemStyle,ie=J&&J.hoverItemStyle,z=J&&J.symbolOffset,oe=J&&J.labelModel,le=J&&J.hoverLabelModel,Ae=J&&J.hoverAnimation,he=J&&J.cursorStyle;if(!J||U.hasItemOption){var ge=J&&J.itemModel?J.itemModel:U.getItemModel(N);ee=ge.getModel(S).getItemStyle(["color"]),ie=ge.getModel(P).getItemStyle(),z=ge.getShallow("symbolOffset"),oe=ge.getModel(R),le=ge.getModel(T),Ae=ge.getShallow("hoverAnimation"),he=ge.getShallow("cursor")}else ie=f.extend({},ie);var de=K.style,fe=U.getItemVisual(N,"symbolRotate");K.attr("rotation",(fe||0)*Math.PI/180||0),z&&K.attr("position",[x(z[0],H[0]),x(z[1],H[1])]),he&&K.attr("cursor",he),K.setColor(j,J&&J.symbolInnerColor),K.setStyle(ee);var G=U.getItemVisual(N,"opacity");G!=null&&(de.opacity=G);var Y=U.getItemVisual(N,"liftZ"),W=K.__z2Origin;Y!=null?W==null&&(K.__z2Origin=K.z2,K.z2+=Y):W!=null&&(K.z2=W,K.__z2Origin=null);var O=J&&J.useNameLabel;E.setLabelStyle(de,ie,oe,le,{labelFetcher:X,labelDataIndex:N,defaultText:re,isRectText:!0,autoColor:j});function re(se,ce){return O?U.getName(se):v(U,se)}K.__symbolOriginalScale=B(H),K.hoverStyle=ie,K.highDownOnUpdate=Ae&&X.isAnimationEnabled()?L:null,E.setHoverStyle(K)};function L(U,N){if(!(this.incremental||this.useHoverLayer))if(N==="emphasis"){var H=this.__symbolOriginalScale,J=H[1]/H[0],K={scale:[Math.max(H[0]*1.1,H[0]+3),Math.max(H[1]*1.1,H[1]+3*J)]};this.animateTo(K,400,"elasticOut")}else N==="normal"&&this.animateTo({scale:this.__symbolOriginalScale},400,"elasticOut")}Q.fadeOut=function(U,N){var H=this.childAt(0);this.silent=H.silent=!0,!(N&&N.keepLabel)&&(H.style.text=null),E.updateProps(H,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,U)},f.inherits(w,E.Group);var F=w;A.exports=F}),Q9=Et((o,A)=>{var f=po(),m=xZ(),C=mi(),E=C.isObject;function I(M){this.group=new f.Group,this._symbolCtor=M||m}var x=I.prototype;function y(M,B,D,S){return B&&!isNaN(B[0])&&!isNaN(B[1])&&!(S.isIgnore&&S.isIgnore(D))&&!(S.clipShape&&!S.clipShape.contain(B[0],B[1]))&&M.getItemVisual(D,"symbol")!=="none"}x.updateData=function(M,B){B=v(B);var D=this.group,S=M.hostModel,P=this._data,R=this._symbolCtor,T=w(M);P||D.removeAll(),M.diff(P).add(function(L){var F=M.getItemLayout(L);if(y(M,F,L,B)){var U=new R(M,L,T);U.attr("position",F),M.setItemGraphicEl(L,U),D.add(U)}}).update(function(L,F){var U=P.getItemGraphicEl(F),N=M.getItemLayout(L);if(!y(M,N,L,B)){D.remove(U);return}U?(U.updateData(M,L,T),f.updateProps(U,{position:N},S)):(U=new R(M,L),U.attr("position",N)),D.add(U),M.setItemGraphicEl(L,U)}).remove(function(L){var F=P.getItemGraphicEl(L);F&&F.fadeOut(function(){D.remove(F)})}).execute(),this._data=M},x.isPersistent=function(){return!0},x.updateLayout=function(){var M=this._data;M&&M.eachItemGraphicEl(function(B,D){var S=M.getItemLayout(D);B.attr("position",S)})},x.incrementalPrepareUpdate=function(M){this._seriesScope=w(M),this._data=null,this.group.removeAll()},x.incrementalUpdate=function(M,B,D){D=v(D);function S(L){L.isGroup||(L.incremental=L.useHoverLayer=!0)}for(var P=M.start;P{var A=H1(),f=A.isDimensionStacked,m=mi(),C=m.map;function E(y,v,w){var Q=y.getBaseAxis(),M=y.getOtherAxis(Q),B=I(M,w),D=Q.dim,S=M.dim,P=v.mapDimension(S),R=v.mapDimension(D),T=S==="x"||S==="radius"?1:0,L=C(y.dimensions,function(N){return v.mapDimension(N)}),F,U=v.getCalculationInfo("stackResultDimension");return(F|=f(v,L[0]))&&(L[0]=U),(F|=f(v,L[1]))&&(L[1]=U),{dataDimsForPoint:L,valueStart:B,valueAxisDim:S,baseAxisDim:D,stacked:!!F,valueDim:P,baseDim:R,baseDataOffset:T,stackedOverDimension:v.getCalculationInfo("stackedOverDimension")}}function I(y,v){var w=0,Q=y.scale.getExtent();return v==="start"?w=Q[0]:v==="end"?w=Q[1]:Q[0]>0?w=Q[0]:Q[1]<0&&(w=Q[1]),w}function x(y,v,w,Q){var M=NaN;y.stacked&&(M=w.get(w.getCalculationInfo("stackedOverDimension"),Q)),isNaN(M)&&(M=y.valueStart);var B=y.baseDataOffset,D=[];return D[B]=w.get(y.baseDim,Q),D[1-B]=M,v.dataToPoint(D)}o.prepareDataCoordInfo=E,o.getStackedOnPoint=x}),kst=Et((o,A)=>{var f=I5e(),m=f.prepareDataCoordInfo,C=f.getStackedOnPoint;function E(x,y){var v=[];return y.diff(x).add(function(w){v.push({cmd:"+",idx:w})}).update(function(w,Q){v.push({cmd:"=",idx:Q,idx1:w})}).remove(function(w){v.push({cmd:"-",idx:w})}).execute(),v}function I(x,y,v,w,Q,M,B,D){for(var S=E(x,y),P=[],R=[],T=[],L=[],F=[],U=[],N=[],H=m(Q,y,B),J=m(M,x,D),K=0;K{var A=Yd(),f=Zc(),m=t5e(),C=f.min,E=f.max,I=f.scaleAndAdd,x=f.copy,y=[],v=[],w=[];function Q(T){return isNaN(T[0])||isNaN(T[1])}function M(T,L,F,U,N,H,J,K,X,j,ee){return j==="none"||!j?D.apply(this,arguments):B.apply(this,arguments)}function B(T,L,F,U,N,H,J,K,X,j,ee){for(var ie=0,z=F,oe=0;oe=N||z<0)break;if(Q(le)){if(ee){z+=H;continue}break}if(z===F)T[H>0?"moveTo":"lineTo"](le[0],le[1]);else if(X>0){var Ae=L[ie],he=j==="y"?1:0,ge=(le[he]-Ae[he])*X;x(v,Ae),v[he]=Ae[he]+ge,x(w,le),w[he]=le[he]-ge,T.bezierCurveTo(v[0],v[1],w[0],w[1],le[0],le[1])}else T.lineTo(le[0],le[1]);ie=z,z+=H}return oe}function D(T,L,F,U,N,H,J,K,X,j,ee){for(var ie=0,z=F,oe=0;oe=N||z<0)break;if(Q(le)){if(ee){z+=H;continue}break}if(z===F)T[H>0?"moveTo":"lineTo"](le[0],le[1]),x(v,le);else if(X>0){var Ae=z+H,de=L[Ae];if(ee)for(;de&&Q(L[Ae]);)Ae+=H,de=L[Ae];var he=.5,ge=L[ie],de=L[Ae];if(!de||Q(de))x(w,le);else{Q(de)&&!ee&&(de=le),f.sub(y,de,ge);var fe,G;if(j==="x"||j==="y"){var Y=j==="x"?0:1;fe=Math.abs(le[Y]-ge[Y]),G=Math.abs(le[Y]-de[Y])}else fe=f.dist(le,ge),G=f.dist(le,de);he=G/(G+fe),I(w,le,y,-X*(1-he))}C(v,v,K),E(v,v,J),C(w,w,K),E(w,w,J),T.bezierCurveTo(v[0],v[1],w[0],w[1],le[0],le[1]),I(v,le,y,X*he)}else T.lineTo(le[0],le[1]);ie=z,z+=H}return oe}function S(T,L){var F=[1/0,1/0],U=[-1/0,-1/0];if(L)for(var N=0;NU[0]&&(U[0]=H[0]),H[1]>U[1]&&(U[1]=H[1])}return{min:L?F:U,max:L?U:F}}var P=A.extend({type:"ec-polyline",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:"#000"},brush:m(A.prototype.brush),buildPath:function(T,L){var F=L.points,U=0,N=F.length,H=S(F,L.smoothConstraint);if(L.connectNulls){for(;N>0&&Q(F[N-1]);N--);for(;U0&&Q(F[H-1]);H--);for(;N{var A=po(),f=ja(),m=f.round;function C(x,y,v){var w=x.getArea(),Q=x.getBaseAxis().isHorizontal(),M=w.x,B=w.y,D=w.width,S=w.height,P=v.get("lineStyle.width")||2;M-=P/2,B-=P/2,D+=P,S+=P,M=Math.floor(M),D=Math.round(D);var R=new A.Rect({shape:{x:M,y:B,width:D,height:S}});return y&&(R.shape[Q?"width":"height"]=0,A.initProps(R,{shape:{width:D,height:S}},v)),R}function E(x,y,v){var w=x.getArea(),Q=new A.Sector({shape:{cx:m(x.cx,1),cy:m(x.cy,1),r0:m(w.r0,1),r:m(w.r,1),startAngle:w.startAngle,endAngle:w.endAngle,clockwise:w.clockwise}});return y&&(Q.shape.endAngle=w.startAngle,A.initProps(Q,{shape:{endAngle:w.endAngle}},v)),Q}function I(x,y,v){if(x){if(x.type==="polar")return E(x,y,v);if(x.type==="cartesian2d")return C(x,y,v)}else return null;return null}o.createGridClipPath=C,o.createPolarClipPath=E,o.createClipPath=I}),Ust=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=mi(),E=v9(),I=E.fromPoints,x=Q9(),y=xZ(),v=kst(),w=po(),Q=pl(),M=x5e(),B=M.Polyline,D=M.Polygon,S=G1(),P=I5e(),R=P.prepareDataCoordInfo,T=P.getStackedOnPoint,L=S9(),F=L.createGridClipPath,U=L.createPolarClipPath;function N(le,Ae){if(le.length===Ae.length){for(var he=0;he=0;fe--){var G=he[fe].dimension,Y=le.dimensions[G],W=le.getDimensionInfo(Y);if(ge=W&&W.coordDim,ge==="x"||ge==="y"){de=he[fe];break}}if(de){var O=Ae.getAxis(ge),re=C.map(de.stops,function(He){return{coord:O.toGlobalCoord(O.dataToCoord(He.value)),color:He.color}}),se=re.length,ce=de.outerColors.slice();se&&re[0].coord>re[se-1].coord&&(re.reverse(),ce.reverse());var me=10,Ce=re[0].coord-me,ye=re[se-1].coord+me,Be=ye-Ce;if(Be<.001)return"transparent";C.each(re,function(He){He.offset=(He.coord-Ce)/Be}),re.push({offset:se?re[se-1].offset:.5,color:ce[1]||"transparent"}),re.unshift({offset:se?re[0].offset:.5,color:ce[0]||"transparent"});var Me=new w.LinearGradient(0,0,0,0,re,!0);return Me[ge]=Ce,Me[ge+"2"]=ye,Me}}}function ee(le,Ae,he){var ge=le.get("showAllSymbol"),de=ge==="auto";if(!(ge&&!de)){var fe=he.getAxesByScale("ordinal")[0];if(fe&&!(de&&ie(fe,Ae))){var G=Ae.mapDimension(fe.dim),Y={};return C.each(fe.getViewLabels(),function(W){Y[W.tickValue]=1}),function(W){return!Y.hasOwnProperty(Ae.get(G,W))}}}}function ie(le,Ae){var he=le.getExtent(),ge=Math.abs(he[1]-he[0])/le.scale.count();isNaN(ge)&&(ge=0);for(var de=Ae.count(),fe=Math.max(1,Math.round(de/5)),G=0;Gge)return!1;return!0}function z(le,Ae,he){if(le.type==="cartesian2d"){var ge=le.getBaseAxis().isHorizontal(),de=F(le,Ae,he);if(!he.get("clip",!0)){var fe=de.shape,G=Math.max(fe.width,fe.height);ge?(fe.y-=G,fe.height+=G*2):(fe.x-=G,fe.width+=G*2)}return de}else return U(le,Ae,he)}var oe=S.extend({type:"line",init:function(){var le=new w.Group,Ae=new x;this.group.add(Ae.group),this._symbolDraw=Ae,this._lineGroup=le},render:function(le,Ae,he){var ge=le.coordinateSystem,de=this.group,fe=le.getData(),G=le.getModel("lineStyle"),Y=le.getModel("areaStyle"),W=fe.mapArray(fe.getItemLayout),O=ge.type==="polar",re=this._coordSys,se=this._symbolDraw,ce=this._polyline,me=this._polygon,Ce=this._lineGroup,ye=le.get("animation"),Be=!Y.isEmpty(),Me=Y.get("origin"),He=R(ge,fe,Me),ke=K(ge,fe,He),Ne=le.get("showSymbol"),Pe=Ne&&!O&&ee(le,fe,ge),we=this._data;we&&we.eachItemGraphicEl(function(rt,At){rt.__temp&&(de.remove(rt),we.setItemGraphicEl(At,null))}),Ne||se.remove(),de.add(Ce);var Fe=!O&&le.get("step"),Ue;ge&&ge.getArea&&le.get("clip",!0)&&(Ue=ge.getArea(),Ue.width!=null?(Ue.x-=.1,Ue.y-=.1,Ue.width+=.2,Ue.height+=.2):Ue.r0&&(Ue.r0-=.5,Ue.r1+=.5)),this._clipShapeForSymbol=Ue,ce&&re.type===ge.type&&Fe===this._step?(Be&&!me?me=this._newPolygon(W,ke,ge,ye):me&&!Be&&(Ce.remove(me),me=this._polygon=null),Ce.setClipPath(z(ge,!1,le)),Ne&&se.updateData(fe,{isIgnore:Pe,clipShape:Ue}),fe.eachItemGraphicEl(function(rt){rt.stopAnimation(!0)}),(!N(this._stackedOnPoints,ke)||!N(this._points,W))&&(ye?this._updateAnimation(fe,ke,ge,he,Fe,Me):(Fe&&(W=X(W,ge,Fe),ke=X(ke,ge,Fe)),ce.setShape({points:W}),me&&me.setShape({points:W,stackedOnPoints:ke})))):(Ne&&se.updateData(fe,{isIgnore:Pe,clipShape:Ue}),Fe&&(W=X(W,ge,Fe),ke=X(ke,ge,Fe)),ce=this._newPolyline(W,ge,ye),Be&&(me=this._newPolygon(W,ke,ge,ye)),Ce.setClipPath(z(ge,!0,le)));var ze=j(fe,ge)||fe.getVisual("color");ce.useStyle(C.defaults(G.getLineStyle(),{fill:"none",stroke:ze,lineJoin:"bevel"}));var Je=le.get("smooth");if(Je=J(le.get("smooth")),ce.setShape({smooth:Je,smoothMonotone:le.get("smoothMonotone"),connectNulls:le.get("connectNulls")}),me){var je=fe.getCalculationInfo("stackedOnSeries"),Ze=0;me.useStyle(C.defaults(Y.getAreaStyle(),{fill:ze,opacity:.7,lineJoin:"bevel"})),je&&(Ze=J(je.get("smooth"))),me.setShape({smooth:Je,stackedOnSmooth:Ze,smoothMonotone:le.get("smoothMonotone"),connectNulls:le.get("connectNulls")})}this._data=fe,this._coordSys=ge,this._stackedOnPoints=ke,this._points=W,this._step=Fe,this._valueOrigin=Me},dispose:function(){},highlight:function(le,Ae,he,ge){var de=le.getData(),fe=Q.queryDataIndex(de,ge);if(!(fe instanceof Array)&&fe!=null&&fe>=0){var G=de.getItemGraphicEl(fe);if(!G){var Y=de.getItemLayout(fe);if(!Y||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(Y[0],Y[1]))return;G=new y(de,fe),G.position=Y,G.setZ(le.get("zlevel"),le.get("z")),G.ignore=isNaN(Y[0])||isNaN(Y[1]),G.__temp=!0,de.setItemGraphicEl(fe,G),G.stopSymbolAnimation(!0),this.group.add(G)}G.highlight()}else S.prototype.highlight.call(this,le,Ae,he,ge)},downplay:function(le,Ae,he,ge){var de=le.getData(),fe=Q.queryDataIndex(de,ge);if(fe!=null&&fe>=0){var G=de.getItemGraphicEl(fe);G&&(G.__temp?(de.setItemGraphicEl(fe,null),this.group.remove(G)):G.downplay())}else S.prototype.downplay.call(this,le,Ae,he,ge)},_newPolyline:function(le){var Ae=this._polyline;return Ae&&this._lineGroup.remove(Ae),Ae=new B({shape:{points:le},silent:!0,z2:10}),this._lineGroup.add(Ae),this._polyline=Ae,Ae},_newPolygon:function(le,Ae){var he=this._polygon;return he&&this._lineGroup.remove(he),he=new D({shape:{points:le,stackedOnPoints:Ae},silent:!0}),this._lineGroup.add(he),this._polygon=he,he},_updateAnimation:function(le,Ae,he,ge,de,fe){var G=this._polyline,Y=this._polygon,W=le.hostModel,O=v(this._data,le,this._stackedOnPoints,Ae,this._coordSys,he,this._valueOrigin,fe),re=O.current,se=O.stackedOnCurrent,ce=O.next,me=O.stackedOnNext;if(de&&(re=X(O.current,he,de),se=X(O.stackedOnCurrent,he,de),ce=X(O.next,he,de),me=X(O.stackedOnNext,he,de)),H(re,ce)>3e3||Y&&H(se,me)>3e3){G.setShape({points:ce}),Y&&Y.setShape({points:ce,stackedOnPoints:me});return}G.shape.__points=O.current,G.shape.points=re,w.updateProps(G,{shape:{points:ce}},W),Y&&(Y.setShape({points:re,stackedOnPoints:se}),w.updateProps(Y,{shape:{points:ce,stackedOnPoints:me}},W));for(var Ce=[],ye=O.status,Be=0;Be{var f=mi(),m=f.isFunction;function C(E,I,x){return{seriesType:E,performRawSeries:!0,reset:function(y,v,w){var Q=y.getData(),M=y.get("symbol"),B=y.get("symbolSize"),D=y.get("symbolKeepAspect"),S=y.get("symbolRotate"),P=m(M),R=m(B),T=m(S),L=P||R||T,F=!P&&M?M:I,U=R?null:B,N=T?null:N;if(Q.setVisual({legendSymbol:x||F,symbol:F,symbolSize:U,symbolKeepAspect:D,symbolRotate:S}),v.isSeriesFiltered(y))return;function H(J,K){if(L){var X=y.getRawValue(K),j=y.getDataParams(K);P&&J.setItemVisual(K,"symbol",M(X,j)),R&&J.setItemVisual(K,"symbolSize",B(X,j)),T&&J.setItemVisual(K,"symbolRotate",S(X,j))}if(J.hasItemOption){var ee=J.getItemModel(K),ie=ee.getShallow("symbol",!0),z=ee.getShallow("symbolSize",!0),oe=ee.getShallow("symbolRotate",!0),le=ee.getShallow("symbolKeepAspect",!0);ie!=null&&J.setItemVisual(K,"symbol",ie),z!=null&&J.setItemVisual(K,"symbolSize",z),oe!=null&&J.setItemVisual(K,"symbolRotate",oe),le!=null&&J.setItemVisual(K,"symbolKeepAspect",le)}}return{dataEach:Q.hasItemOption||L?H:null}}}}A.exports=C}),D9=Et((o,A)=>{var f=mi(),m=f.map,C=vO(),E=H1(),I=E.isDimensionStacked;function x(y){return{seriesType:y,plan:C(),reset:function(v){var w=v.getData(),Q=v.coordinateSystem,M=v.pipelineContext,B=M.large;if(!Q)return;var D=m(Q.dimensions,function(T){return w.mapDimension(T)}).slice(0,2),S=D.length,P=w.getCalculationInfo("stackResultDimension");I(w,D[0])&&(D[0]=P),I(w,D[1])&&(D[1]=P);function R(T,L){for(var F=T.end-T.start,U=B&&new Float32Array(F*S),N=T.start,H=0,J=[],K=[];N{var f={average:function(E){for(var I=0,x=0,y=0;yI&&(I=E[x]);return isFinite(I)?I:NaN},min:function(E){for(var I=1/0,x=0;x1){var R;typeof w=="string"?R=f[w]:typeof w=="function"&&(R=w),R&&I.setData(v.downSample(v.mapDimension(B.dim),1/P,R,m))}}}}}A.exports=C}),Gst=Et((o,A)=>{var f=mi();function m(I){return this._axes[I]}var C=function(I){this._axes={},this._dimList=[],this.name=I||""};C.prototype={constructor:C,type:"cartesian",getAxis:function(I){return this._axes[I]},getAxes:function(){return f.map(this._dimList,m,this)},getAxesByScale:function(I){return I=I.toLowerCase(),f.filter(this.getAxes(),function(x){return x.scale.type===I})},addAxis:function(I){var x=I.dim;this._axes[x]=I,this._dimList.push(x)},dataToCoord:function(I){return this._dataCoordConvert(I,"dataToCoord")},coordToData:function(I){return this._dataCoordConvert(I,"coordToData")},_dataCoordConvert:function(I,x){for(var y=this._dimList,v=I instanceof Array?[]:{},w=0;w{var f=mi(),m=Eh(),C=Gst();function E(x){C.call(this,x)}E.prototype={constructor:E,type:"cartesian2d",dimensions:["x","y"],getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},containPoint:function(x){var y=this.getAxis("x"),v=this.getAxis("y");return y.contain(y.toLocalCoord(x[0]))&&v.contain(v.toLocalCoord(x[1]))},containData:function(x){return this.getAxis("x").containData(x[0])&&this.getAxis("y").containData(x[1])},dataToPoint:function(x,y,v){var w=this.getAxis("x"),Q=this.getAxis("y");return v=v||[],v[0]=w.toGlobalCoord(w.dataToCoord(x[0])),v[1]=Q.toGlobalCoord(Q.dataToCoord(x[1])),v},clampData:function(x,y){var v=this.getAxis("x").scale,w=this.getAxis("y").scale,Q=v.getExtent(),M=w.getExtent(),B=v.parse(x[0]),D=w.parse(x[1]);return y=y||[],y[0]=Math.min(Math.max(Math.min(Q[0],Q[1]),B),Math.max(Q[0],Q[1])),y[1]=Math.min(Math.max(Math.min(M[0],M[1]),D),Math.max(M[0],M[1])),y},pointToData:function(x,y){var v=this.getAxis("x"),w=this.getAxis("y");return y=y||[],y[0]=v.coordToData(v.toLocalCoord(x[0])),y[1]=w.coordToData(w.toLocalCoord(x[1])),y},getOtherAxis:function(x){return this.getAxis(x.dim==="x"?"y":"x")},getArea:function(){var x=this.getAxis("x").getGlobalExtent(),y=this.getAxis("y").getGlobalExtent(),v=Math.min(x[0],x[1]),w=Math.min(y[0],y[1]),Q=Math.max(x[0],x[1])-v,M=Math.max(y[0],y[1])-w,B=new m(v,w,Q,M);return B}},f.inherits(E,C);var I=E;A.exports=I}),Vst=Et((o,A)=>{var f=mi(),m=j2(),C=function(I,x,y,v,w){m.call(this,I,x,y),this.type=v||"value",this.position=w||"bottom"};C.prototype={constructor:C,index:0,getAxesOnZeroOf:null,model:null,isHorizontal:function(){var I=this.position;return I==="top"||I==="bottom"},getGlobalExtent:function(I){var x=this.getExtent();return x[0]=this.toGlobalCoord(x[0]),x[1]=this.toGlobalCoord(x[1]),I&&x[0]>x[1]&&x.reverse(),x},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(I,x){return this.coordToData(this.toLocalCoord(I[this.dim==="x"?0:1]),x)},toLocalCoord:null,toGlobalCoord:null},f.inherits(C,m);var E=C;A.exports=E}),y5e=Et((o,A)=>{var f=mi(),m={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},C={};C.categoryAxis=f.merge({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},m),C.valueAxis=f.merge({boundaryGap:[0,0],splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#eee",width:1}}},m),C.timeAxis=f.defaults({scale:!0,min:"dataMin",max:"dataMax"},C.valueAxis),C.logAxis=f.defaults({scale:!0,logBase:10},C.valueAxis);var E=C;A.exports=E}),yZ=Et((o,A)=>{var f=mi(),m=y5e(),C=wf(),E=Wu(),I=E.getLayoutParams,x=E.mergeLayoutParam,y=d5e(),v=["value","category","time","log"];function w(Q,M,B,D){f.each(v,function(S){M.extend({type:Q+"Axis."+S,mergeDefaultAndTheme:function(P,R){var T=this.layoutMode,L=T?I(P):{},F=R.getTheme();f.merge(P,F.get(S+"Axis")),f.merge(P,this.getDefaultOption()),P.type=B(Q,P),T&&x(P,L,T)},optionUpdated:function(){var P=this.option;P.type==="category"&&(this.__ordinalMeta=y.createByAxisModel(this))},getCategories:function(P){var R=this.option;if(R.type==="category")return P?R.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:f.mergeAll([{},m[S+"Axis"],D],!0)})}),C.registerSubTypeDefaulter(Q+"Axis",f.curry(B,Q))}A.exports=w}),v5e=Et((o,A)=>{var f=mi(),m=wf(),C=yZ(),E=BO(),I=m.extend({type:"cartesian2dAxis",axis:null,init:function(){I.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){I.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){I.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});function x(w,Q){return Q.type||(Q.data?"category":"value")}f.merge(I.prototype,E);var y={offset:0};C("x",I,x,y),C("y",I,x,y);var v=I;A.exports=v}),zst=Et((o,A)=>{v5e();var f=wf(),m=f.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});A.exports=m}),Kce=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=mi(),E=C.isObject,I=C.each,x=C.map,y=C.indexOf,v=C.retrieve,w=Wu(),Q=w.getLayoutRect,M=hB(),B=M.createScaleByModel,D=M.ifAxisCrossZero,S=M.niceScaleExtent,P=M.estimateLabelUnionRect,R=Hst(),T=Vst(),L=cB(),F=H1(),U=F.getStackedDimension;zst();function N(le,Ae,he){return le.getCoordSysModel()===Ae}function H(le,Ae,he){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(le,Ae,he),this.model=le}var J=H.prototype;J.type="grid",J.axisPointerEnabled=!0,J.getRect=function(){return this._rect},J.update=function(le,Ae){var he=this._axesMap;this._updateScale(le,this.model),I(he.x,function(de){S(de.scale,de.model)}),I(he.y,function(de){S(de.scale,de.model)});var ge={};I(he.x,function(de){K(he,"y",de,ge)}),I(he.y,function(de){K(he,"x",de,ge)}),this.resize(this.model,Ae)};function K(le,Ae,he,ge){he.getAxesOnZeroOf=function(){return fe?[fe]:[]};var de=le[Ae],fe,G=he.model,Y=G.get("axisLine.onZero"),W=G.get("axisLine.onZeroAxisIndex");if(!Y)return;if(W!=null)X(de[W])&&(fe=de[W]);else for(var O in de)if(de.hasOwnProperty(O)&&X(de[O])&&!ge[re(de[O])]){fe=de[O];break}fe&&(ge[re(fe)]=!0);function re(se){return se.dim+"_"+se.index}}function X(le){return le&&le.type!=="category"&&le.type!=="time"&&D(le)}J.resize=function(le,Ae,he){var ge=Q(le.getBoxLayoutParams(),{width:Ae.getWidth(),height:Ae.getHeight()});this._rect=ge;var de=this._axesList;fe(),!he&&le.get("containLabel")&&(I(de,function(G){if(!G.model.get("axisLabel.inside")){var Y=P(G);if(Y){var W=G.isHorizontal()?"height":"width",O=G.model.get("axisLabel.margin");ge[W]-=Y[W]+O,G.position==="top"?ge.y+=Y.height+O:G.position==="left"&&(ge.x+=Y.width+O)}}}),fe());function fe(){I(de,function(G){var Y=G.isHorizontal(),W=Y?[0,ge.width]:[0,ge.height],O=G.inverse?1:0;G.setExtent(W[O],W[1-O]),j(G,Y?ge.x:ge.y)})}},J.getAxis=function(le,Ae){var he=this._axesMap[le];if(he!=null){if(Ae==null){for(var ge in he)if(he.hasOwnProperty(ge))return he[ge]}return he[Ae]}},J.getAxes=function(){return this._axesList.slice()},J.getCartesian=function(le,Ae){if(le!=null&&Ae!=null){var he="x"+le+"y"+Ae;return this._coordsMap[he]}E(le)&&(Ae=le.yAxisIndex,le=le.xAxisIndex);for(var ge=0,de=this._coordsList;ge{var f=mi(),m=f.retrieve,C=f.defaults,E=f.extend,I=f.each,x=sc(),y=po(),v=Cg(),w=ja(),Q=w.isRadianAroundZero,M=w.remRadian,B=fv(),D=B.createSymbol,S=UC(),P=Zc(),R=P.applyTransform,T=hB(),L=T.shouldShowAllLabels,F=Math.PI,U=function(de,fe){this.opt=fe,this.axisModel=de,C(fe,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new y.Group;var G=new y.Group({position:fe.position.slice(),rotation:fe.rotation});G.updateTransform(),this._transform=G.transform,this._dumbGroup=G};U.prototype={constructor:U,hasBuilder:function(de){return!!N[de]},add:function(de){N[de].call(this)},getGroup:function(){return this.group}};var N={axisLine:function(){var de=this.opt,fe=this.axisModel;if(fe.get("axisLine.show")){var G=this.axisModel.axis.getExtent(),Y=this._transform,W=[G[0],0],O=[G[1],0];Y&&(R(W,W,Y),R(O,O,Y));var re=E({lineCap:"round"},fe.getModel("axisLine.lineStyle").getLineStyle());this.group.add(new y.Line({anid:"line",subPixelOptimize:!0,shape:{x1:W[0],y1:W[1],x2:O[0],y2:O[1]},style:re,strokeContainThreshold:de.strokeContainThreshold||5,silent:!0,z2:1}));var se=fe.get("axisLine.symbol"),ce=fe.get("axisLine.symbolSize"),me=fe.get("axisLine.symbolOffset")||0;if(typeof me=="number"&&(me=[me,me]),se!=null){typeof se=="string"&&(se=[se,se]),(typeof ce=="string"||typeof ce=="number")&&(ce=[ce,ce]);var Ce=ce[0],ye=ce[1];I([{rotate:de.rotation+Math.PI/2,offset:me[0],r:0},{rotate:de.rotation-Math.PI/2,offset:me[1],r:Math.sqrt((W[0]-O[0])*(W[0]-O[0])+(W[1]-O[1])*(W[1]-O[1]))}],function(Be,Me){if(se[Me]!=="none"&&se[Me]!=null){var He=D(se[Me],-Ce/2,-ye/2,Ce,ye,re.stroke,!0),ke=Be.r+Be.offset,Ne=[W[0]+ke*Math.cos(de.rotation),W[1]-ke*Math.sin(de.rotation)];He.attr({rotation:Be.rotate,position:Ne,silent:!0,z2:11}),this.group.add(He)}},this)}}},axisTickLabel:function(){var de=this.axisModel,fe=this.opt,G=le(this,de,fe),Y=he(this,de,fe);j(de,Y,G),Ae(this,de,fe)},axisName:function(){var de=this.opt,fe=this.axisModel,G=m(de.axisName,fe.get("name"));if(G){var Y=fe.get("nameLocation"),W=de.nameDirection,O=fe.getModel("nameTextStyle"),re=fe.get("nameGap")||0,se=this.axisModel.axis.getExtent(),ce=se[0]>se[1]?-1:1,me=[Y==="start"?se[0]-ce*re:Y==="end"?se[1]+ce*re:(se[0]+se[1])/2,z(Y)?de.labelOffset+W*re:0],Ce,ye=fe.get("nameRotate");ye!=null&&(ye=ye*F/180);var Be;z(Y)?Ce=J(de.rotation,ye??de.rotation,W):(Ce=K(de,Y,ye||0,se),Be=de.axisNameAvailableWidth,Be!=null&&(Be=Math.abs(Be/Math.sin(Ce.rotation)),!isFinite(Be)&&(Be=null)));var Me=O.getFont(),He=fe.get("nameTruncate",!0)||{},ke=He.ellipsis,Ne=m(de.nameTruncateMaxWidth,He.maxWidth,Be),Pe=ke!=null&&Ne!=null?x.truncateText(G,Ne,Me,ke,{minChar:2,placeholder:He.placeholder}):G,we=fe.get("tooltip",!0),Fe=fe.mainType,Ue={componentType:Fe,name:G,$vars:["name"]};Ue[Fe+"Index"]=fe.componentIndex;var ze=new y.Text({anid:"name",__fullText:G,__truncatedText:Pe,position:me,rotation:Ce.rotation,silent:X(fe),z2:1,tooltip:we&&we.show?E({content:G,formatter:function(){return G},formatterParams:Ue},we):null});y.setTextStyle(ze.style,O,{text:Pe,textFont:Me,textFill:O.getTextColor()||fe.get("axisLine.lineStyle.color"),textAlign:O.get("align")||Ce.textAlign,textVerticalAlign:O.get("verticalAlign")||Ce.textVerticalAlign}),fe.get("triggerEvent")&&(ze.eventData=H(fe),ze.eventData.targetType="axisName",ze.eventData.name=G),this._dumbGroup.add(ze),ze.updateTransform(),this.group.add(ze),ze.decomposeTransform()}}},H=U.makeAxisEventDataBase=function(de){var fe={componentType:de.mainType,componentIndex:de.componentIndex};return fe[de.mainType+"Index"]=de.componentIndex,fe},J=U.innerTextLayout=function(de,fe,G){var Y=M(fe-de),W,O;return Q(Y)?(O=G>0?"top":"bottom",W="center"):Q(Y-F)?(O=G>0?"bottom":"top",W="center"):(O="middle",Y>0&&Y0?"right":"left":W=G>0?"left":"right"),{rotation:Y,textAlign:W,textVerticalAlign:O}};function K(de,fe,G,Y){var W=M(G-de.rotation),O,re,se=Y[0]>Y[1],ce=fe==="start"&&!se||fe!=="start"&&se;return Q(W-F/2)?(re=ce?"bottom":"top",O="center"):Q(W-F*1.5)?(re=ce?"top":"bottom",O="center"):(re="middle",WF/2?O=ce?"left":"right":O=ce?"right":"left"),{rotation:W,textAlign:O,textVerticalAlign:re}}var X=U.isLabelSilent=function(de){var fe=de.get("tooltip");return de.get("silent")||!(de.get("triggerEvent")||fe&&fe.show)};function j(de,fe,G){if(!L(de.axis)){var Y=de.get("axisLabel.showMinLabel"),W=de.get("axisLabel.showMaxLabel");fe=fe||[],G=G||[];var O=fe[0],re=fe[1],se=fe[fe.length-1],ce=fe[fe.length-2],me=G[0],Ce=G[1],ye=G[G.length-1],Be=G[G.length-2];Y===!1?(ee(O),ee(me)):ie(O,re)&&(Y?(ee(re),ee(Ce)):(ee(O),ee(me))),W===!1?(ee(se),ee(ye)):ie(ce,se)&&(W?(ee(ce),ee(Be)):(ee(se),ee(ye)))}}function ee(de){de&&(de.ignore=!0)}function ie(de,fe,G){var Y=de&&de.getBoundingRect().clone(),W=fe&&fe.getBoundingRect().clone();if(!(!Y||!W)){var O=S.identity([]);return S.rotate(O,O,-de.rotation),Y.applyTransform(S.mul([],O,de.getLocalTransform())),W.applyTransform(S.mul([],O,fe.getLocalTransform())),Y.intersect(W)}}function z(de){return de==="middle"||de==="center"}function oe(de,fe,G,Y,W){for(var O=[],re=[],se=[],ce=0;ce{var A=mi(),f=Cg(),m=A.each,C=A.curry;function E(P,R){var T={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return I(T,P,R),T.seriesInvolved&&y(T,P),T}function I(P,R,T){var L=R.getComponent("tooltip"),F=R.getComponent("axisPointer"),U=F.get("link",!0)||[],N=[];m(T.getCoordinateSystems(),function(H){if(!H.axisPointerEnabled)return;var J=S(H.model),K=P.coordSysAxesInfo[J]={};P.coordSysMap[J]=H;var X=H.model,j=X.getModel("tooltip",L);if(m(H.getAxes(),C(oe,!1,null)),H.getTooltipAxes&&L&&j.get("show")){var ee=j.get("trigger")==="axis",ie=j.get("axisPointer.type")==="cross",z=H.getTooltipAxes(j.get("axisPointer.axis"));(ee||ie)&&m(z.baseAxes,C(oe,ie?"cross":!0,ee)),ie&&m(z.otherAxes,C(oe,"cross",!1))}function oe(le,Ae,he){var ge=he.model.getModel("axisPointer",F),de=ge.get("show");if(!(!de||de==="auto"&&!le&&!D(ge))){Ae==null&&(Ae=ge.get("triggerTooltip")),ge=le?x(he,j,F,R,le,Ae):ge;var fe=ge.get("snap"),G=S(he.model),Y=Ae||fe||he.type==="category",W=P.axesInfo[G]={key:G,axis:he,coordSys:H,axisPointerModel:ge,triggerTooltip:Ae,involveSeries:Y,snap:fe,useHandle:D(ge),seriesModels:[]};K[G]=W,P.seriesInvolved|=Y;var O=v(U,he);if(O!=null){var re=N[O]||(N[O]={axesInfo:{}});re.axesInfo[G]=W,re.mapper=U[O].mapper,W.linkGroup=re}}}})}function x(P,R,T,L,F,U){var N=R.getModel("axisPointer"),H={};m(["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],function(j){H[j]=A.clone(N.get(j))}),H.snap=P.type!=="category"&&!!U,N.get("type")==="cross"&&(H.type="line");var J=H.label||(H.label={});if(J.show==null&&(J.show=!1),F==="cross"){var K=N.get("label.show");if(J.show=K??!0,!U){var X=H.lineStyle=N.get("crossStyle");X&&A.defaults(J,X.textStyle)}}return P.model.getModel("axisPointer",new f(H,T,L))}function y(P,R){R.eachSeries(function(T){var L=T.coordinateSystem,F=T.get("tooltip.trigger",!0),U=T.get("tooltip.show",!0);!L||F==="none"||F===!1||F==="item"||U===!1||T.get("axisPointer.show",!0)===!1||m(P.coordSysAxesInfo[S(L.model)],function(N){var H=N.axis;L.getAxis(H.dim)===H&&(N.seriesModels.push(T),N.seriesDataCount==null&&(N.seriesDataCount=0),N.seriesDataCount+=T.getData().count())})},this)}function v(P,R){for(var T=R.model,L=R.dim,F=0;F=0||P===R}function Q(P){var R=M(P);if(R){var T=R.axisPointerModel,L=R.axis.scale,F=T.option,U=T.get("status"),N=T.get("value");N!=null&&(N=L.parse(N));var H=D(T);U==null&&(F.status=H?"show":"hide");var J=L.getExtent().slice();J[0]>J[1]&&J.reverse(),(N==null||N>J[1])&&(N=J[1]),N{var f=EA(),m=f.__DEV__,C=xn(),E=vZ(),I=C.extendComponentView({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(Q,M,B,D){this.axisPointerClass&&E.fixValue(Q),I.superApply(this,"render",arguments),x(this,Q,M,B,D,!0)},updateAxisPointer:function(Q,M,B,D,S){x(this,Q,M,B,D,!1)},remove:function(Q,M){var B=this._axisPointer;B&&B.remove(M),I.superApply(this,"remove",arguments)},dispose:function(Q,M){y(this,M),I.superApply(this,"dispose",arguments)}});function x(Q,M,B,D,S,P){var R=I.getAxisPointerClass(Q.axisPointerClass);if(R){var T=E.getAxisPointerModel(M);T?(Q._axisPointer||(Q._axisPointer=new R)).render(M,T,D,P):y(Q,D)}}function y(Q,M,B){var D=Q._axisPointer;D&&D.dispose(M,B),Q._axisPointer=null}var v=[];I.registerAxisPointerClass=function(Q,M){v[Q]=M},I.getAxisPointerClass=function(Q){return Q&&v[Q]};var w=I;A.exports=w}),_5e=Et(o=>{var A=mi();function f(m,C,E){E=E||{};var I=m.coordinateSystem,x=C.axis,y={},v=x.getAxesOnZeroOf()[0],w=x.position,Q=v?"onZero":w,M=x.dim,B=I.getRect(),D=[B.x,B.x+B.width,B.y,B.y+B.height],S={left:0,right:1,top:0,bottom:1,onZero:2},P=C.get("offset")||0,R=M==="x"?[D[2]-P,D[3]+P]:[D[0]-P,D[1]+P];if(v){var T=v.toGlobalCoord(v.dataToCoord(0));R[S.onZero]=Math.max(Math.min(T,R[1]),R[0])}y.position=[M==="y"?R[S[Q]]:D[0],M==="x"?R[S[Q]]:D[3]],y.rotation=Math.PI/2*(M==="x"?0:1);var L={top:-1,bottom:1,left:-1,right:1};y.labelDirection=y.tickDirection=y.nameDirection=L[w],y.labelOffset=v?R[S[w]]-R[S.onZero]:0,C.get("axisTick.inside")&&(y.tickDirection=-y.tickDirection),A.retrieve(E.labelInside,C.get("axisLabel.inside"))&&(y.labelDirection=-y.labelDirection);var F=C.get("axisLabel.rotate");return y.labelRotate=Q==="top"?-F:F,y.z2=1,y}o.layout=f}),B5e=Et(o=>{var A=mi(),f=po();function m(E,I,x,y){var v=x.axis;if(!v.scale.isBlank()){var w=x.getModel("splitArea"),Q=w.getModel("areaStyle"),M=Q.get("color"),B=y.coordinateSystem.getRect(),D=v.getTicksCoords({tickModel:w,clamp:!0});if(D.length){var S=M.length,P=E.__splitAreaColors,R=A.createHashMap(),T=0;if(P)for(var L=0;L{var o=mi(),A=po(),f=X2(),m=$F(),C=_5e(),E=B5e(),I=E.rectCoordAxisBuildSplitArea,x=E.rectCoordAxisHandleRemove,y=["axisLine","axisTickLabel","axisName"],v=["splitArea","splitLine","minorSplitLine"],w=m.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(Q,M,B,D){this.group.removeAll();var S=this._axisGroup;if(this._axisGroup=new A.Group,this.group.add(this._axisGroup),!!Q.get("show")){var P=Q.getCoordSysModel(),R=C.layout(P,Q),T=new f(Q,R);o.each(y,T.add,T),this._axisGroup.add(T.getGroup()),o.each(v,function(L){Q.get(L+".show")&&this["_"+L](Q,P)},this),A.groupTransition(S,this._axisGroup,Q),w.superCall(this,"render",Q,M,B,D)}},remove:function(){x(this)},_splitLine:function(Q,M){var B=Q.axis;if(!B.scale.isBlank()){var D=Q.getModel("splitLine"),S=D.getModel("lineStyle"),P=S.get("color");P=o.isArray(P)?P:[P];for(var R=M.coordinateSystem.getRect(),T=B.isHorizontal(),L=0,F=B.getTicksCoords({tickModel:D}),U=[],N=[],H=S.getLineStyle(),J=0;J{v5e(),Yst()}),M9=Et(()=>{var o=xn(),A=mi(),f=po();Kce(),Jst(),o.extendComponentView({type:"grid",render:function(m,C){this.group.removeAll(),m.get("show")&&this.group.add(new f.Rect({shape:m.coordinateSystem.getRect(),style:A.defaults({fill:m.get("backgroundColor")},m.getItemStyle()),silent:!0,z2:-1}))}}),o.registerPreprocessor(function(m){m.xAxis&&m.yAxis&&!m.grid&&(m.grid={})})}),Kst=Et(()=>{var o=xn();Nst(),Ust();var A=ZF(),f=D9(),m=Ost();M9(),o.registerVisual(A("line","circle","line")),o.registerLayout(f("line")),o.registerProcessor(o.PRIORITY.PROCESSOR.STATISTIC,m("line"))}),w5e=Et((o,A)=>{var f=bf(),m=YS(),C=f.extend({type:"series.__base_bar__",getInitialData:function(E,I){return m(this.getSource(),this,{useEncodeDefaulter:!0})},getMarkerPosition:function(E){var I=this.coordinateSystem;if(I){var x=I.dataToPoint(I.clampData(E)),y=this.getData(),v=y.getLayout("offset"),w=y.getLayout("size"),Q=I.getBaseAxis().isHorizontal()?0:1;return x[Q]+=v+w/2,x}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}});A.exports=C}),Wst=Et((o,A)=>{var f=w5e(),m=f.extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return this.get("large")?this.get("progressive"):!1},getProgressiveThreshold:function(){var C=this.get("progressiveThreshold"),E=this.get("largeThreshold");return E>C&&(C=E),C},defaultOption:{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1}}});A.exports=m}),b5e=Et(o=>{var A=po(),f=Jce(),m=f.getDefaultLabel;function C(I,x,y,v,w,Q,M){var B=y.getModel("label"),D=y.getModel("emphasis.label");A.setLabelStyle(I,x,B,D,{labelFetcher:w,labelDataIndex:Q,defaultText:m(w.getData(),Q),isRectText:!0,autoColor:v}),E(I),E(x)}function E(I,x){I.textPosition==="outside"&&(I.textPosition=x)}o.setLabel=C}),qst=Et((o,A)=>{var f=xO(),m=f([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),C={getBarItemStyle:function(E){var I=m(this,E);if(this.getBorderLineDash){var x=this.getBorderLineDash();x&&(I.lineDash=x)}return I}};A.exports=C}),jst=Et((o,A)=>{var f=po(),m=f.extendShape,C=m({type:"sausage",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:Math.PI*2,clockwise:!0},buildPath:function(E,I){var x=I.cx,y=I.cy,v=Math.max(I.r0||0,0),w=Math.max(I.r,0),Q=(w-v)*.5,M=v+Q,B=I.startAngle,D=I.endAngle,S=I.clockwise,P=Math.cos(B),R=Math.sin(B),T=Math.cos(D),L=Math.sin(D),F=S?D-B{var f=EA(),m=f.__DEV__,C=xn(),E=mi(),I=po(),x=b5e(),y=x.setLabel,v=Cg(),w=qst(),Q=Yd(),M=WF(),B=W2(),D=B.throttle,S=S9(),P=S.createClipPath,R=jst(),T=["itemStyle","barBorderWidth"],L=[0,0];E.extend(v.prototype,w);function F(W,O){var re=W.getArea&&W.getArea();if(W.type==="cartesian2d"){var se=W.getBaseAxis();if(se.type!=="category"||!se.onBand){var ce=O.getLayout("bandWidth");se.isHorizontal()?(re.x-=ce,re.width+=ce*2):(re.y-=ce,re.height+=ce*2)}}return re}var U=C.extendChartView({type:"bar",render:function(W,O,re){this._updateDrawMode(W);var se=W.get("coordinateSystem");return(se==="cartesian2d"||se==="polar")&&(this._isLargeDraw?this._renderLarge(W,O,re):this._renderNormal(W,O,re)),this.group},incrementalPrepareRender:function(W,O,re){this._clear(),this._updateDrawMode(W)},incrementalRender:function(W,O,re,se){this._incrementalRenderLarge(W,O)},_updateDrawMode:function(W){var O=W.pipelineContext.large;(this._isLargeDraw==null||O^this._isLargeDraw)&&(this._isLargeDraw=O,this._clear())},_renderNormal:function(W,O,re){var se=this.group,ce=W.getData(),me=this._data,Ce=W.coordinateSystem,ye=Ce.getBaseAxis(),Be;Ce.type==="cartesian2d"?Be=ye.isHorizontal():Ce.type==="polar"&&(Be=ye.dim==="angle");var Me=W.isAnimationEnabled()?W:null,He=W.get("clip",!0),ke=F(Ce,ce);se.removeClipPath();var Ne=W.get("roundCap",!0),Pe=W.get("showBackground",!0),we=W.getModel("backgroundStyle"),Fe=we.get("barBorderRadius")||0,Ue=[],ze=this._backgroundEls||[];ce.diff(me).add(function(Ze){var rt=ce.getItemModel(Ze),At=ee[Ce.type](ce,Ze,rt);if(Pe){var yt=ee[Ce.type](ce,Ze),at=Y(Ce,Be,yt);at.useStyle(we.getBarItemStyle()),Ce.type==="cartesian2d"&&at.setShape("r",Fe),Ue[Ze]=at}if(ce.hasValue(Ze)){if(He){var ft=J[Ce.type](ke,At);if(ft){se.remove(_t);return}}var _t=K[Ce.type](Ze,At,Be,Me,!1,Ne);ce.setItemGraphicEl(Ze,_t),se.add(_t),z(_t,ce,Ze,rt,At,W,Be,Ce.type==="polar")}}).update(function(Ze,rt){var At=ce.getItemModel(Ze),yt=ee[Ce.type](ce,Ze,At);if(Pe){var at=ze[rt];at.useStyle(we.getBarItemStyle()),Ce.type==="cartesian2d"&&at.setShape("r",Fe),Ue[Ze]=at;var ft=ee[Ce.type](ce,Ze),_t=G(Be,ft,Ce);I.updateProps(at,{shape:_t},Me,Ze)}var et=me.getItemGraphicEl(rt);if(!ce.hasValue(Ze)){se.remove(et);return}if(He){var pt=J[Ce.type](ke,yt);if(pt){se.remove(et);return}}et?I.updateProps(et,{shape:yt},Me,Ze):et=K[Ce.type](Ze,yt,Be,Me,!0,Ne),ce.setItemGraphicEl(Ze,et),se.add(et),z(et,ce,Ze,At,yt,W,Be,Ce.type==="polar")}).remove(function(Ze){var rt=me.getItemGraphicEl(Ze);Ce.type==="cartesian2d"?rt&&X(Ze,Me,rt):rt&&j(Ze,Me,rt)}).execute();var Je=this._backgroundGroup||(this._backgroundGroup=new M);Je.removeAll();for(var je=0;je0?1:-1,Ce=se.height>0?1:-1;return{x:se.x+me*ce/2,y:se.y+Ce*ce/2,width:se.width-me*ce,height:se.height-Ce*ce}},polar:function(W,O,re){var se=W.getItemLayout(O);return{cx:se.cx,cy:se.cy,r0:se.r0,r:se.r,startAngle:se.startAngle,endAngle:se.endAngle}}};function ie(W){return W.startAngle!=null&&W.endAngle!=null&&W.startAngle===W.endAngle}function z(W,O,re,se,ce,me,Ce,ye){var Be=O.getItemVisual(re,"color"),Me=O.getItemVisual(re,"opacity"),He=O.getVisual("borderColor"),ke=se.getModel("itemStyle"),Ne=se.getModel("emphasis.itemStyle").getBarItemStyle();ye||W.setShape("r",ke.get("barBorderRadius")||0),W.useStyle(E.defaults({stroke:ie(ce)?"none":He,fill:ie(ce)?"none":Be,opacity:Me},ke.getBarItemStyle()));var Pe=se.getShallow("cursor");Pe&&W.attr("cursor",Pe);var we=Ce?ce.height>0?"bottom":"top":ce.width>0?"left":"right";ye||y(W.style,Ne,se,Be,me,re,we),ie(ce)&&(Ne.fill=Ne.stroke="none"),I.setHoverStyle(W,Ne)}function oe(W,O){var re=W.get(T)||0,se=isNaN(O.width)?Number.MAX_VALUE:Math.abs(O.width),ce=isNaN(O.height)?Number.MAX_VALUE:Math.abs(O.height);return Math.min(re,se,ce)}var le=Q.extend({type:"largeBar",shape:{points:[]},buildPath:function(W,O){for(var re=O.points,se=this.__startPoint,ce=this.__baseDimIdx,me=0;me=0?re:null},30,!1);function ge(W,O,re){var se=W.__baseDimIdx,ce=1-se,me=W.shape.points,Ce=W.__largeDataIndices,ye=Math.abs(W.__barWidth/2),Be=W.__startPoint[ce];L[0]=O,L[1]=re;for(var Me=L[se],He=L[1-se],ke=Me-ye,Ne=Me+ye,Pe=0,we=me.length/2;Pe=ke&&Ue<=Ne&&(Be<=ze?He>=Be&&He<=ze:He>=ze&&He<=Be))return Ce[Pe]}return-1}function de(W,O,re){var se=re.getVisual("borderColor")||re.getVisual("color"),ce=O.getModel("itemStyle").getItemStyle(["color","borderColor"]);W.useStyle(ce),W.style.fill=null,W.style.stroke=se,W.style.lineWidth=re.getLayout("barWidth")}function fe(W,O,re){var se=O.get("borderColor")||O.get("color"),ce=O.getItemStyle(["color","borderColor"]);W.useStyle(ce),W.style.fill=null,W.style.stroke=se,W.style.lineWidth=re.getLayout("barWidth")}function G(W,O,re){var se,ce=re.type==="polar";return ce?se=re.getArea():se=re.grid.getRect(),ce?{cx:se.cx,cy:se.cy,r0:W?se.r0:O.r0,r:W?se.r:O.r,startAngle:W?O.startAngle:0,endAngle:W?O.endAngle:Math.PI*2}:{x:W?O.x:se.x,y:W?se.y:O.y,width:W?O.width:se.width,height:W?se.height:O.height}}function Y(W,O,re){var se=W.type==="polar"?I.Sector:I.Rect;return new se({shape:G(O,re,W),silent:!0,z2:0})}A.exports=U}),Zst=Et(()=>{var o=xn(),A=mi(),f=IZ(),m=f.layout,C=f.largeLayout;Kce(),Wst(),Xst(),M9(),o.registerLayout(o.PRIORITY.VISUAL.LAYOUT,A.curry(m,"bar")),o.registerLayout(o.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,C),o.registerVisual({seriesType:"bar",reset:function(E){E.getData().setVisual("legendSymbol","roundRect")}})}),wO=Et((o,A)=>{var f=_O(),m=gv(),C=mi(),E=C.extend,I=C.isArray;function x(y,v,w){v=I(v)&&{coordDimensions:v}||E({},v);var Q=y.getSource(),M=f(Q,v),B=new m(M,y);return B.initData(Q,w),B}A.exports=x}),Wce=Et((o,A)=>{var f=mi(),m={updateSelectedMap:function(C){this._targetList=f.isArray(C)?C.slice():[],this._selectTargetMap=f.reduce(C||[],function(E,I){return E.set(I.name,I),E},f.createHashMap())},select:function(C,E){var I=E!=null?this._targetList[E]:this._selectTargetMap.get(C),x=this.get("selectedMode");x==="single"&&this._selectTargetMap.each(function(y){y.selected=!1}),I&&(I.selected=!0)},unSelect:function(C,E){var I=E!=null?this._targetList[E]:this._selectTargetMap.get(C);I&&(I.selected=!1)},toggleSelected:function(C,E){var I=E!=null?this._targetList[E]:this._selectTargetMap.get(C);if(I!=null)return this[I.selected?"unSelect":"select"](C,E),I.selected},isSelected:function(C,E){var I=E!=null?this._targetList[E]:this._selectTargetMap.get(C);return I&&I.selected}};A.exports=m}),T9=Et((o,A)=>{function f(C,E){this.getAllNames=function(){var I=E();return I.mapArray(I.getName)},this.containName=function(I){var x=E();return x.indexOfName(I)>=0},this.indexOfName=function(I){var x=C();return x.indexOfName(I)},this.getItemVisual=function(I,x){var y=C();return y.getItemVisual(I,x)}}var m=f;A.exports=m}),$st=Et((o,A)=>{var f=xn(),m=wO(),C=mi(),E=pl(),I=ja(),x=I.getPercentWithPrecision,y=Wce(),v=jF(),w=v.retrieveRawAttr,Q=zS(),M=Q.makeSeriesEncodeForNameBased,B=T9(),D=f.extendSeriesModel({type:"series.pie",init:function(P){D.superApply(this,"init",arguments),this.legendVisualProvider=new B(C.bind(this.getData,this),C.bind(this.getRawData,this)),this.updateSelectedMap(this._createSelectableList()),this._defaultLabelLine(P)},mergeOption:function(P){D.superCall(this,"mergeOption",P),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(P,R){return m(this,{coordDimensions:["value"],encodeDefaulter:C.curry(M,this)})},_createSelectableList:function(){for(var P=this.getRawData(),R=P.mapDimension("value"),T=[],L=0,F=P.count();L{var f=mi(),m=po(),C=G1();function E(Q,M,B,D){var S=M.getData(),P=this.dataIndex,R=S.getName(P),T=M.get("selectedOffset");D.dispatchAction({type:"pieToggleSelect",from:Q,name:R,seriesId:M.id}),S.each(function(L){I(S.getItemGraphicEl(L),S.getItemLayout(L),M.isSelected(S.getName(L)),T,B)})}function I(Q,M,B,D,S){var P=(M.startAngle+M.endAngle)/2,R=Math.cos(P),T=Math.sin(P),L=B?D:0,F=[R*L,T*L];S?Q.animate().when(200,{position:F}).start("bounceOut"):Q.attr("position",F)}function x(Q,M){m.Group.call(this);var B=new m.Sector({z2:2}),D=new m.Polyline,S=new m.Text;this.add(B),this.add(D),this.add(S),this.updateData(Q,M,!0)}var y=x.prototype;y.updateData=function(Q,M,B){var D=this.childAt(0),S=this.childAt(1),P=this.childAt(2),R=Q.hostModel,T=Q.getItemModel(M),L=Q.getItemLayout(M),F=f.extend({},L);F.label=null;var U=R.getShallow("animationTypeUpdate");if(B){D.setShape(F);var N=R.getShallow("animationType");N==="scale"?(D.shape.r=L.r0,m.initProps(D,{shape:{r:L.r}},R,M)):(D.shape.endAngle=L.startAngle,m.updateProps(D,{shape:{endAngle:L.endAngle}},R,M))}else U==="expansion"?D.setShape(F):m.updateProps(D,{shape:F},R,M);var H=Q.getItemVisual(M,"color");D.useStyle(f.defaults({lineJoin:"bevel",fill:H},T.getModel("itemStyle").getItemStyle())),D.hoverStyle=T.getModel("emphasis.itemStyle").getItemStyle();var J=T.getShallow("cursor");J&&D.attr("cursor",J),I(this,Q.getItemLayout(M),R.isSelected(Q.getName(M)),R.get("selectedOffset"),R.get("animation"));var K=!B&&U==="transition";this._updateLabel(Q,M,K),this.highDownOnUpdate=R.get("silent")?null:function(X,j){var ee=R.isAnimationEnabled()&&T.get("hoverAnimation");j==="emphasis"?(S.ignore=S.hoverIgnore,P.ignore=P.hoverIgnore,ee&&(D.stopAnimation(!0),D.animateTo({shape:{r:L.r+R.get("hoverOffset")}},300,"elasticOut"))):(S.ignore=S.normalIgnore,P.ignore=P.normalIgnore,ee&&(D.stopAnimation(!0),D.animateTo({shape:{r:L.r}},300,"elasticOut")))},m.setHoverStyle(this)},y._updateLabel=function(Q,M,B){var D=this.childAt(1),S=this.childAt(2),P=Q.hostModel,R=Q.getItemModel(M),T=Q.getItemLayout(M),L=T.label,X=Q.getItemVisual(M,"color");if(!L||isNaN(L.x)||isNaN(L.y)){S.ignore=S.normalIgnore=S.hoverIgnore=D.ignore=D.normalIgnore=D.hoverIgnore=!0;return}var F={points:L.linePoints||[[L.x,L.y],[L.x,L.y],[L.x,L.y]]},U={x:L.x,y:L.y};B?(m.updateProps(D,{shape:F},P,M),m.updateProps(S,{style:U},P,M)):(D.attr({shape:F}),S.attr({style:U})),S.attr({rotation:L.rotation,origin:[L.x,L.y],z2:10});var N=R.getModel("label"),H=R.getModel("emphasis.label"),J=R.getModel("labelLine"),K=R.getModel("emphasis.labelLine"),X=Q.getItemVisual(M,"color");m.setLabelStyle(S.style,S.hoverStyle={},N,H,{labelFetcher:Q.hostModel,labelDataIndex:M,defaultText:L.text,autoColor:X,useInsideStyle:!!L.inside},{textAlign:L.textAlign,textVerticalAlign:L.verticalAlign,opacity:Q.getItemVisual(M,"opacity")}),S.ignore=S.normalIgnore=!N.get("show"),S.hoverIgnore=!H.get("show"),D.ignore=D.normalIgnore=!J.get("show"),D.hoverIgnore=!K.get("show"),D.setStyle({stroke:X,opacity:Q.getItemVisual(M,"opacity")}),D.setStyle(J.getModel("lineStyle").getLineStyle()),D.hoverStyle=K.getModel("lineStyle").getLineStyle();var j=J.get("smooth");j&&j===!0&&(j=.4),D.setShape({smooth:j})},f.inherits(x,m.Group);var v=C.extend({type:"pie",init:function(){var Q=new m.Group;this._sectorGroup=Q},render:function(Q,M,B,D){if(!(D&&D.from===this.uid)){var S=Q.getData(),P=this._data,R=this.group,T=M.get("animation"),L=!P,F=Q.get("animationType"),U=Q.get("animationTypeUpdate"),N=f.curry(E,this.uid,Q,T,B),H=Q.get("selectedMode");if(S.diff(P).add(function(ee){var ie=new x(S,ee);L&&F!=="scale"&&ie.eachChild(function(z){z.stopAnimation(!0)}),H&&ie.on("click",N),S.setItemGraphicEl(ee,ie),R.add(ie)}).update(function(ee,ie){var z=P.getItemGraphicEl(ie);!L&&U!=="transition"&&z.eachChild(function(oe){oe.stopAnimation(!0)}),z.updateData(S,ee),z.off("click"),H&&z.on("click",N),R.add(z),S.setItemGraphicEl(ee,z)}).remove(function(ee){var ie=P.getItemGraphicEl(ee);R.remove(ie)}).execute(),T&&S.count()>0&&(L?F!=="scale":U!=="transition")){for(var J=S.getItemLayout(0),K=1;isNaN(J.startAngle)&&K=D.r0}}}),w=v;A.exports=w}),Q5e=Et((o,A)=>{var f=xn(),m=mi();function C(E,I){m.each(I,function(x){x.update="updateView",f.registerAction(x,function(y,v){var w={};return v.eachComponent({mainType:"series",subType:E,query:y},function(Q){Q[x.method]&&Q[x.method](y.name,y.dataIndex);var M=Q.getData();M.each(function(B){var D=M.getName(B);w[D]=Q.isSelected(D)||!1})}),{name:y.name,selected:w,seriesId:y.seriesId}})})}A.exports=C}),_Z=Et((o,A)=>{var f=mi(),m=f.createHashMap;function C(E){return{getTargetSeries:function(I){var x={},y=m();return I.eachSeriesByType(E,function(v){v.__paletteScope=x,y.set(v.uid,v)}),y},reset:function(I,x){var y=I.getRawData(),v={},w=I.getData();w.each(function(Q){var M=w.getRawIndex(Q);v[M]=Q}),y.each(function(Q){var M=v[Q],B=M!=null&&w.getItemVisual(M,"color",!0),D=M!=null&&w.getItemVisual(M,"borderColor",!0),S;if((!B||!D)&&(S=y.getItemModel(Q)),!B){var P=S.get("itemStyle.color")||I.getColorFromPalette(y.getName(Q)||Q+"",I.__paletteScope,y.count());M!=null&&w.setItemVisual(M,"color",P)}if(!D){var R=S.get("itemStyle.borderColor");M!=null&&w.setItemVisual(M,"borderColor",R)}})}}}A.exports=C}),tlt=Et((o,A)=>{var f=Nx(),m=ja(),C=m.parsePercent,E=Math.PI/180;function I(w,Q,M,B,D,S,P,R,T,L){w.sort(function(z,oe){return z.y-oe.y});function F(z,oe,le,Ae){for(var he=z;heT+P);he++)if(w[he].y+=le,he>z&&he+1w[he].y+w[he].height){U(he,le/2);return}U(oe-1,le/2)}function U(z,oe){for(var le=z;le>=0&&!(w[le].y-oe0&&w[le].y>w[le-1].y+w[le-1].height));le--);}function N(z,oe,le,Ae,he,ge){for(var de=(ge>0,oe?Number.MAX_VALUE:0),fe=0,G=z.length;fe=de&&(re=de-10),!oe&&re<=de&&(re=de+10),z[fe].x=le+re*ge,de=re}}for(var H=0,J,K=w.length,X=[],j=[],ee=0;ee=M?j.push(w[ee]):X.push(w[ee]);N(X,!1,Q,M,B,D),N(j,!0,Q,M,B,D)}function x(w,Q,M,B,D,S,P,R){for(var T=[],L=[],F=Number.MAX_VALUE,U=-Number.MAX_VALUE,N=0;N0?"right":"left":de>0?"left":"right"}var ke,Ne=K.get("rotate");typeof Ne=="number"?ke=Ne*(Math.PI/180):ke=Ne?de<0?-ge+Math.PI:-ge:0,F=!!ke,H.label={x:G,y:Y,position:X,height:se.height,len:Ae,len2:he,linePoints:W,textAlign:O,verticalAlign:"middle",rotation:ke,inside:ce,labelDistance:j,labelAlignTo:ee,labelMargin:ie,bleedMargin:z,textRect:se,text:re,font:oe},ce||R.push(H.label)}}),!F&&w.get("avoidLabelOverlap")&&x(R,T,L,Q,M,B,D,S)}A.exports=v}),ilt=Et((o,A)=>{var f=ja(),m=f.parsePercent,C=f.linearMap,E=Wu(),I=tlt(),x=mi(),y=Math.PI*2,v=Math.PI/180;function w(M,B){return E.getLayoutRect(M.getBoxLayoutParams(),{width:B.getWidth(),height:B.getHeight()})}function Q(M,B,D,S){B.eachSeriesByType(M,function(P){var R=P.getData(),T=R.mapDimension("value"),L=w(P,D),F=P.get("center"),U=P.get("radius");x.isArray(U)||(U=[0,U]),x.isArray(F)||(F=[F,F]);var N=m(L.width,D.getWidth()),H=m(L.height,D.getHeight()),J=Math.min(N,H),K=m(F[0],N)+L.x,X=m(F[1],H)+L.y,j=m(U[0],J/2),ee=m(U[1],J/2),ie=-P.get("startAngle")*v,z=P.get("minAngle")*v,oe=0;R.each(T,function(se){!isNaN(se)&&oe++});var le=R.getSum(T),Ae=Math.PI/(le||oe)*2,he=P.get("clockwise"),ge=P.get("roseType"),de=P.get("stillShowZeroSum"),fe=R.getDataExtent(T);fe[0]=0;var G=y,Y=0,W=ie,O=he?1:-1;if(R.each(T,function(se,ce){var me;if(isNaN(se)){R.setItemLayout(ce,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:he,cx:K,cy:X,r0:j,r:ge?NaN:ee,viewRect:L});return}ge!=="area"?me=le===0&&de?Ae:se*Ae:me=y/oe,me{function f(m){return{seriesType:m,reset:function(C,E){var I=E.findComponents({mainType:"legend"});if(!(!I||!I.length)){var x=C.getData();x.filterSelf(function(y){for(var v=x.getName(y),w=0;w{var o=xn(),A=mi();$st(),elt();var f=Q5e(),m=_Z(),C=ilt(),E=P9();f("pie",[{type:"pieToggleSelect",event:"pieselectchanged",method:"toggleSelected"},{type:"pieSelect",event:"pieselected",method:"select"},{type:"pieUnSelect",event:"pieunselected",method:"unSelect"}]),o.registerVisual(m("pie")),o.registerLayout(A.curry(C,"pie")),o.registerProcessor(E("pie"))}),nlt=Et((o,A)=>{var f=YS(),m=bf(),C=m.extend({type:"series.scatter",dependencies:["grid","polar","geo","singleAxis","calendar"],getInitialData:function(E,I){return f(this.getSource(),this,{useEncodeDefaulter:!0})},brushSelector:"point",getProgressive:function(){var E=this.option.progressive;return E??(this.option.large?5e3:this.get("progressive"))},getProgressiveThreshold:function(){var E=this.option.progressiveThreshold;return E??(this.option.large?1e4:this.get("progressiveThreshold"))},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},clip:!0}});A.exports=C}),olt=Et((o,A)=>{var f=po(),m=fv(),C=m.createSymbol,E=Hce(),I=4,x=f.extendShape({shape:{points:null},symbolProxy:null,softClipShape:null,buildPath:function(Q,M){var B=M.points,D=M.size,S=this.symbolProxy,P=S.shape,R=Q.getContext?Q.getContext():Q,T=R&&D[0]=0;T--){var L=T*2,F=D[L]-P/2,U=D[L+1]-R/2;if(Q>=F&&M>=U&&Q<=F+P&&M<=U+R)return T}return-1}});function y(){this.group=new f.Group}var v=y.prototype;v.isPersistent=function(){return!this._incremental},v.updateData=function(Q,M){this.group.removeAll();var B=new x({rectHover:!0,cursor:"default"});B.setShape({points:Q.getLayout("symbolPoints")}),this._setCommon(B,Q,!1,M),this.group.add(B),this._incremental=null},v.updateLayout=function(Q){if(!this._incremental){var M=Q.getLayout("symbolPoints");this.group.eachChild(function(B){if(B.startIndex!=null){var D=(B.endIndex-B.startIndex)*2,S=B.startIndex*4*2;M=new Float32Array(M.buffer,S,D)}B.setShape("points",M)})}},v.incrementalPrepareUpdate=function(Q){this.group.removeAll(),this._clearIncremental(),Q.count()>2e6?(this._incremental||(this._incremental=new E({silent:!0})),this.group.add(this._incremental)):this._incremental=null},v.incrementalUpdate=function(Q,M,B){var D;this._incremental?(D=new x,this._incremental.addDisplayable(D,!0)):(D=new x({rectHover:!0,cursor:"default",startIndex:Q.start,endIndex:Q.end}),D.incremental=!0,this.group.add(D)),D.setShape({points:M.getLayout("symbolPoints")}),this._setCommon(D,M,!!this._incremental,B)},v._setCommon=function(Q,M,B,D){var S=M.hostModel;D=D||{};var P=M.getVisual("symbolSize");Q.setShape("size",P instanceof Array?P:[P,P]),Q.softClipShape=D.clipShape||null,Q.symbolProxy=C(M.getVisual("symbol"),0,0,0,0),Q.setColor=Q.symbolProxy.setColor;var R=Q.shape.size[0]=0&&(Q.dataIndex=F+(Q.startIndex||0))}))},v.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},v._clearIncremental=function(){var Q=this._incremental;Q&&Q.clearDisplaybles()};var w=y;A.exports=w}),alt=Et(()=>{var o=xn(),A=Q9(),f=olt(),m=D9();o.extendChartView({type:"scatter",render:function(C,E,I){var x=C.getData(),y=this._updateSymbolDraw(x,C);y.updateData(x,{clipShape:this._getClipShape(C)}),this._finished=!0},incrementalPrepareRender:function(C,E,I){var x=C.getData(),y=this._updateSymbolDraw(x,C);y.incrementalPrepareUpdate(x),this._finished=!1},incrementalRender:function(C,E,I){this._symbolDraw.incrementalUpdate(C,E.getData(),{clipShape:this._getClipShape(E)}),this._finished=C.end===E.getData().count()},updateTransform:function(C,E,I){var x=C.getData();if(this.group.dirty(),!this._finished||x.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var y=m().reset(C);y.progress&&y.progress({start:0,end:x.count()},x),this._symbolDraw.updateLayout(x)},_getClipShape:function(C){var E=C.coordinateSystem,I=E&&E.getArea&&E.getArea();return C.get("clip",!0)?I:null},_updateSymbolDraw:function(C,E){var I=this._symbolDraw,x=E.pipelineContext,y=x.large;return(!I||y!==this._isLargeDraw)&&(I&&I.remove(),I=this._symbolDraw=y?new f:new A,this._isLargeDraw=y,this.group.removeAll()),this.group.add(I.group),I},remove:function(C,E){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}})}),slt=Et(()=>{var o=xn();nlt(),alt();var A=ZF(),f=D9();M9(),o.registerVisual(A("scatter","circle")),o.registerLayout(f("scatter"))}),llt=Et((o,A)=>{var f=mi(),m=j2();function C(I,x,y){m.call(this,I,x,y),this.type="value",this.angle=0,this.name="",this.model}f.inherits(C,m);var E=C;A.exports=E}),Alt=Et((o,A)=>{var f=mi(),m=llt(),C=EZ(),E=ja(),I=hB(),x=I.getScaleExtent,y=I.niceScaleExtent,v=cB(),w=f5e();function Q(B,D,S){this._model=B,this.dimensions=[],this._indicatorAxes=f.map(B.getIndicatorModels(),function(P,R){var T="indicator_"+R,L=new m(T,P.get("axisType")==="log"?new w:new C);return L.name=P.get("name"),L.model=P,P.axis=L,this.dimensions.push(T),L},this),this.resize(B,S),this.cx,this.cy,this.r,this.r0,this.startAngle}Q.prototype.getIndicatorAxes=function(){return this._indicatorAxes},Q.prototype.dataToPoint=function(B,D){var S=this._indicatorAxes[D];return this.coordToPoint(S.dataToCoord(B),D)},Q.prototype.coordToPoint=function(B,D){var S=this._indicatorAxes[D],P=S.angle,R=this.cx+B*Math.cos(P),T=this.cy-B*Math.sin(P);return[R,T]},Q.prototype.pointToData=function(B){var D=B[0]-this.cx,S=B[1]-this.cy,P=Math.sqrt(D*D+S*S);D/=P,S/=P;for(var R=Math.atan2(-S,D),T=1/0,L,F=-1,U=0;UU[0]&&isFinite(ee)&&isFinite(U[0]))}else{var ie=H.getTicks().length-1;ie>R&&(X=T(X));var j=Math.ceil(U[1]/X)*X,ee=E.round(j-X*R);H.setExtent(ee,j),H.setInterval(X)}})},Q.dimensions=[],Q.create=function(B,D){var S=[];return B.eachComponent("radar",function(P){var R=new Q(P,B,D);S.push(R),P.coordinateSystem=R}),B.eachSeriesByType("radar",function(P){P.get("coordinateSystem")==="radar"&&(P.coordinateSystem=S[P.get("radarIndex")||0])}),S},v.register("radar",Q);var M=Q;A.exports=M}),ult=Et((o,A)=>{var f=xn(),m=mi(),C=y5e(),E=Cg(),I=BO(),x=C.valueAxis;function y(Q,M){return m.defaults({show:M},Q)}var v=f.extendComponentModel({type:"radar",optionUpdated:function(){var Q=this.get("boundaryGap"),M=this.get("splitNumber"),B=this.get("scale"),D=this.get("axisLine"),S=this.get("axisTick"),P=this.get("axisType"),R=this.get("axisLabel"),T=this.get("name"),L=this.get("name.show"),F=this.get("name.formatter"),U=this.get("nameGap"),N=this.get("triggerEvent"),H=m.map(this.get("indicator")||[],function(J){J.max!=null&&J.max>0&&!J.min?J.min=0:J.min!=null&&J.min<0&&!J.max&&(J.max=0);var K=T;if(J.color!=null&&(K=m.defaults({color:J.color},T)),J=m.merge(m.clone(J),{boundaryGap:Q,splitNumber:M,scale:B,axisLine:D,axisTick:S,axisType:P,axisLabel:R,name:J.text,nameLocation:"end",nameGap:U,nameTextStyle:K,triggerEvent:N},!1),L||(J.name=""),typeof F=="string"){var X=J.name;J.name=F.replace("{value}",X??"")}else typeof F=="function"&&(J.name=F(J.name,J));var j=m.extend(new E(J,null,this.ecModel),I);return j.mainType="radar",j.componentIndex=this.componentIndex,j},this);this.getIndicatorModels=function(){return H}},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:"polygon",axisLine:m.merge({lineStyle:{color:"#bbb"}},x.axisLine),axisLabel:y(x.axisLabel,!1),axisTick:y(x.axisTick,!1),axisType:"interval",splitLine:y(x.splitLine,!0),splitArea:y(x.splitArea,!0),indicator:[]}}),w=v;A.exports=w}),clt=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=xn(),E=mi(),I=X2(),x=po(),y=["axisLine","axisTickLabel","axisName"],v=C.extendComponentView({type:"radar",render:function(w,Q,M){var B=this.group;B.removeAll(),this._buildAxes(w),this._buildSplitLineAndArea(w)},_buildAxes:function(w){var Q=w.coordinateSystem,M=Q.getIndicatorAxes(),B=E.map(M,function(D){var S=new I(D.model,{position:[Q.cx,Q.cy],rotation:D.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return S});E.each(B,function(D){E.each(y,D.add,D),this.group.add(D.getGroup())},this)},_buildSplitLineAndArea:function(w){var Q=w.coordinateSystem,M=Q.getIndicatorAxes();if(!M.length)return;var B=w.get("shape"),D=w.getModel("splitLine"),S=w.getModel("splitArea"),P=D.getModel("lineStyle"),R=S.getModel("areaStyle"),T=D.get("show"),L=S.get("show"),F=P.get("color"),U=R.get("color");F=E.isArray(F)?F:[F],U=E.isArray(U)?U:[U];var N=[],H=[];function J(fe,G,Y){var W=Y%G.length;return fe[W]=fe[W]||[],W}if(B==="circle")for(var K=M[0].getTicksCoords(),X=Q.cx,j=Q.cy,ee=0;ee{Alt(),ult(),clt()}),dlt=Et((o,A)=>{var f=bf(),m=wO(),C=mi(),E=sc(),I=E.encodeHTML,x=T9(),y=f.extend({type:"series.radar",dependencies:["radar"],init:function(w){y.superApply(this,"init",arguments),this.legendVisualProvider=new x(C.bind(this.getData,this),C.bind(this.getRawData,this))},getInitialData:function(w,Q){return m(this,{generateCoord:"indicator_",generateCoordCount:1/0})},formatTooltip:function(w){var Q=this.getData(),M=this.coordinateSystem,B=M.getIndicatorAxes(),D=this.getData().getName(w);return I(D===""?this.name:D)+"
"+C.map(B,function(S,P){var R=Q.get(Q.mapDimension(S.dim),w);return I(S.name+" : "+R)}).join("
")},getTooltipPosition:function(w){if(w!=null){for(var Q=this.getData(),M=this.coordinateSystem,B=Q.getValues(C.map(M.dimensions,function(R){return Q.mapDimension(R)}),w,!0),D=0,S=B.length;D{var f=xn(),m=po(),C=mi(),E=fv();function I(y){return C.isArray(y)||(y=[+y,+y]),y}var x=f.extendChartView({type:"radar",render:function(y,v,w){var Q=y.coordinateSystem,M=this.group,B=y.getData(),D=this._data;function S(T,L){var F=T.getItemVisual(L,"symbol")||"circle",U=T.getItemVisual(L,"color");if(F!=="none"){var N=I(T.getItemVisual(L,"symbolSize")),H=E.createSymbol(F,-1,-1,2,2,U);return H.attr({style:{strokeNoScale:!0},z2:100,scale:[N[0]/2,N[1]/2]}),H}}function P(T,L,F,U,N,H){F.removeAll();for(var J=0;J{var f=mi();function m(I){I.eachSeriesByType("radar",function(x){var y=x.getData(),v=[],w=x.coordinateSystem;if(w){var Q=w.getIndicatorAxes();f.each(Q,function(M,B){y.each(y.mapDimension(Q[B].dim),function(D,S){v[S]=v[S]||[];var P=w.dataToPoint(D,B);v[S][B]=C(P)?P:E(w)})}),y.each(function(M){var B=f.find(v[M],function(D){return C(D)})||E(w);v[M].push(B.slice()),y.setItemLayout(M,v[M])})}})}function C(I){return!isNaN(I[0])&&!isNaN(I[1])}function E(I){return[I.cx,I.cy]}A.exports=m}),plt=Et((o,A)=>{var f=mi();function m(C){var E=C.polar;if(E){f.isArray(E)||(E=[E]);var I=[];f.each(E,function(x,y){x.indicator?(x.type&&!x.shape&&(x.shape=x.type),C.radar=C.radar||[],f.isArray(C.radar)||(C.radar=[C.radar]),C.radar.push(x)):I.push(x)}),C.polar=I}f.each(C.series,function(x){x&&x.type==="radar"&&x.polarIndex&&(x.radarIndex=x.polarIndex)})}A.exports=m}),mlt=Et(()=>{var o=xn();hlt(),dlt(),glt();var A=_Z(),f=ZF(),m=flt(),C=P9(),E=plt();o.registerVisual(A("radar")),o.registerVisual(f("radar","circle")),o.registerLayout(m),o.registerProcessor(C("radar")),o.registerPreprocessor(E)}),Clt=Et((o,A)=>{var f=mi(),m=m5e(),C=[126,25],E=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]];for(x=0;x{var f={\u5357\u6D77\u8BF8\u5C9B:[32,80],\u5E7F\u4E1C:[0,-10],\u9999\u6E2F:[10,5],\u6FB3\u95E8:[-10,10],\u5929\u6D25:[5,5]};function m(C,E){if(C==="china"){var I=f[E.name];if(I){var x=E.center;x[0]+=I[0]/10.5,x[1]+=-I[1]/(10.5/.75)}}}A.exports=m}),Ilt=Et((o,A)=>{var f={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]};function m(C,E){if(C==="world"){var I=f[E.name];if(I){var x=E.center;x[0]=I[0],x[1]=I[1]}}}A.exports=m}),xlt=Et((o,A)=>{var f=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]];function m(C,E){C==="china"&&E.name==="\u53F0\u6E7E"&&E.geometries.push({type:"polygon",exterior:f[0]})}A.exports=m}),ylt=Et((o,A)=>{var f=mi(),m=f.each,C=C5e(),E=pl(),I=E.makeInner,x=Clt(),y=Elt(),v=Ilt(),w=xlt(),Q=I(),M={load:function(D,S,P){var R=Q(S).parsed;if(R)return R;var T=S.specialAreas||{},L=S.geoJSON,F;try{F=L?C(L,P):[]}catch(U){throw new Error(`Invalid geoJson format `+U.message)}return x(D,F),m(F,function(U){var N=U.name;y(D,U),v(D,U),w(D,U);var H=T[N];H&&U.transformTo(H.left,H.top,H.width,H.height)}),Q(S).parsed={regions:F,boundingRect:B(F)}}};function B(D){for(var S,P=0;P{var f=u5e(),m=f.parseSVG,C=f.makeViewBoxTransform,E=WF(),I=Oce(),x=mi(),y=x.assert,v=x.createHashMap,w=Eh(),Q=pl(),M=Q.makeInner,B=M(),D={load:function(P,R){var T=B(R).originRoot;if(T)return{root:T,boundingRect:B(R).boundingRect};var L=S(R);return B(R).originRoot=L.root,B(R).boundingRect=L.boundingRect,L},makeGraphic:function(P,R,T){var L=B(R),F=L.rootMap||(L.rootMap=v()),U=F.get(T);if(U)return U;var N=L.originRoot,H=L.boundingRect;return L.originRootHostKey?U=S(R,H).root:(L.originRootHostKey=T,U=N),F.set(T,U)},removeGraphic:function(P,R,T){var L=B(R),F=L.rootMap;F&&F.removeKey(T),T===L.originRootHostKey&&(L.originRootHostKey=null)}};function S(P,R){var T=P.svgXML,L,F;try{L=T&&m(T,{ignoreViewBox:!0,ignoreRootClip:!0})||{},F=L.root,y(F!=null)}catch(X){throw new Error(`Invalid svg format `+X.message)}var U=L.width,N=L.height,H=L.viewBoxRect;if(R||(R=U==null||N==null?F.getBoundingRect():new w(0,0,0,0),U!=null&&(R.width=U),N!=null&&(R.height=N)),H){var J=C(H,R.width,R.height),K=F;F=new E,F.add(K),K.scale=J.scale,K.position=J.position}return F.setClipPath(new I({shape:R.plain()})),{root:F,boundingRect:R}}A.exports=D}),BZ=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=mi(),E=C.each,I=C.createHashMap,x=Yce(),y=ylt(),v=vlt(),w=Eh(),Q={geoJSON:y,svg:v},M={load:function(S,P,R){var T=[],L=I(),F=I(),U,N=D(S);return E(N,function(H){var J=Q[H.type].load(S,H,R);E(J.regions,function(X){var j=X.name;P&&P.hasOwnProperty(j)&&(X=X.cloneShallow(j=P[j])),T.push(X),L.set(j,X),F.set(j,X.center)});var K=J.boundingRect;K&&(U?U.union(K):U=K.clone())}),{regions:T,regionsMap:L,nameCoordMap:F,boundingRect:U||new w(0,0,0,0)}},makeGraphic:B("makeGraphic"),removeGraphic:B("removeGraphic")};function B(S){return function(P,R){var T=D(P),L=[];return E(T,function(F){var U=Q[F.type][S];U&&L.push(U(P,F,R))}),L}}function D(S){var P=x.retrieveMap(S)||[];return P}A.exports=M}),_lt=Et((o,A)=>{var f=mi(),m=wO(),C=bf(),E=sc(),I=E.encodeHTML,x=E.addCommas,y=Wce(),v=jF(),w=v.retrieveRawAttr,Q=BZ(),M=zS(),B=M.makeSeriesEncodeForNameBased,D=C.extend({type:"series.map",dependencies:["geo"],layoutMode:"box",needsDrawMap:!1,seriesGroup:[],getInitialData:function(P){for(var R=m(this,{coordDimensions:["value"],encodeDefaulter:f.curry(B,this)}),T=R.mapDimension("value"),L=f.createHashMap(),F=[],U=[],N=0,H=R.count();N"+I(L+" : "+T)},getTooltipPosition:function(P){if(P!=null){var R=this.getData().getName(P),T=this.coordinateSystem,L=T.getRegion(R);return L&&T.dataToPoint(L.center)}},setZoom:function(P){this.option.zoom=P},setCenter:function(P){this.option.center=P},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},nameProperty:"name"}});f.mixin(D,y);var S=D;A.exports=S}),S5e=Et(o=>{var A=xn(),f="\0_ec_interaction_mutex";function m(x,y,v){var w=I(x);w[y]=v}function C(x,y,v){var w=I(x),Q=w[y];Q===v&&(w[y]=null)}function E(x,y){return!!I(x)[y]}function I(x){return x[f]||(x[f]={})}A.registerAction({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),o.take=m,o.release=C,o.isTaken=E}),R9=Et((o,A)=>{var f=mi(),m=KF(),C=U1(),E=S5e();function I(P){this.pointerChecker,this._zr=P,this._opt={};var R=f.bind,T=R(x,this),L=R(y,this),F=R(v,this),U=R(w,this),N=R(Q,this);m.call(this),this.setPointerChecker=function(H){this.pointerChecker=H},this.enable=function(H,J){this.disable(),this._opt=f.defaults(f.clone(J)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),H==null&&(H=!0),(H===!0||H==="move"||H==="pan")&&(P.on("mousedown",T),P.on("mousemove",L),P.on("mouseup",F)),(H===!0||H==="scale"||H==="zoom")&&(P.on("mousewheel",U),P.on("pinch",N))},this.disable=function(){P.off("mousedown",T),P.off("mousemove",L),P.off("mouseup",F),P.off("mousewheel",U),P.off("pinch",N)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}f.mixin(I,m);function x(P){if(!(C.isMiddleOrRightButtonOnMouseUpDown(P)||P.target&&P.target.draggable)){var R=P.offsetX,T=P.offsetY;this.pointerChecker&&this.pointerChecker(P,R,T)&&(this._x=R,this._y=T,this._dragging=!0)}}function y(P){if(!(!this._dragging||!D("moveOnMouseMove",P,this._opt)||P.gestureEvent==="pinch"||E.isTaken(this._zr,"globalPan"))){var R=P.offsetX,T=P.offsetY,L=this._x,F=this._y,U=R-L,N=T-F;this._x=R,this._y=T,this._opt.preventDefaultMouseMove&&C.stop(P.event),B(this,"pan","moveOnMouseMove",P,{dx:U,dy:N,oldX:L,oldY:F,newX:R,newY:T})}}function v(P){C.isMiddleOrRightButtonOnMouseUpDown(P)||(this._dragging=!1)}function w(P){var R=D("zoomOnMouseWheel",P,this._opt),T=D("moveOnMouseWheel",P,this._opt),L=P.wheelDelta,F=Math.abs(L),U=P.offsetX,N=P.offsetY;if(!(L===0||!R&&!T)){if(R){var H=F>3?1.4:F>1?1.2:1.1,J=L>0?H:1/H;M(this,"zoom","zoomOnMouseWheel",P,{scale:J,originX:U,originY:N})}if(T){var K=Math.abs(L),X=(L>0?1:-1)*(K>3?.4:K>1?.15:.05);M(this,"scrollMove","moveOnMouseWheel",P,{scrollDelta:X,originX:U,originY:N})}}}function Q(P){if(!E.isTaken(this._zr,"globalPan")){var R=P.pinchScale>1?1.1:.9090909090909091;M(this,"zoom",null,P,{scale:R,originX:P.pinchX,originY:P.pinchY})}}function M(P,R,T,L,F){P.pointerChecker&&P.pointerChecker(L,F.originX,F.originY)&&(C.stop(L.event),B(P,R,T,L,F))}function B(P,R,T,L,F){F.isAvailableBehavior=f.bind(D,null,T,L),P.trigger(R,F)}function D(P,R,T){var L=T[P];return!P||L&&(!f.isString(L)||R.event[L+"Key"])}var S=I;A.exports=S}),qce=Et(o=>{function A(m,C,E){var I=m.target,x=I.position;x[0]+=C,x[1]+=E,I.dirty()}function f(m,C,E,I){var x=m.target,y=m.zoomLimit,v=x.position,w=x.scale,Q=m.zoom=m.zoom||1;if(Q*=C,y){var M=y.min||0,B=y.max||1/0;Q=Math.max(Math.min(B,Q),M)}var D=Q/m.zoom;m.zoom=Q,v[0]-=(E-v[0])*(D-1),v[1]-=(I-v[1])*(D-1),w[0]*=D,w[1]*=D,x.dirty()}o.updateViewOnPan=A,o.updateViewOnZoom=f}),wZ=Et(o=>{var A={axisPointer:1,tooltip:1,brush:1};function f(m,C,E){var I=C.getComponentByElement(m.topTarget),x=I&&I.coordinateSystem;return I&&I!==E&&!A[I.mainType]&&x&&x.model!==E}o.onIrrelevantElement=f}),D5e=Et((o,A)=>{var f=mi(),m=R9(),C=qce(),E=wZ(),I=E.onIrrelevantElement,x=po(),y=BZ(),v=_9(),w=v.getUID,Q=cZ();function M(R){var T=R.getItemStyle(),L=R.get("areaColor");return L!=null&&(T.fill=L),T}function B(R,T,L,F,U){L.off("click"),L.off("mousedown"),T.get("selectedMode")&&(L.on("mousedown",function(){R._mouseDownFlag=!0}),L.on("click",function(N){if(R._mouseDownFlag){R._mouseDownFlag=!1;for(var H=N.target;!H.__regions;)H=H.parent;if(H){var J={type:(T.mainType==="geo"?"geo":"map")+"ToggleSelect",batch:f.map(H.__regions,function(K){return{name:K.name,from:U.uid}})};J[T.mainType+"Id"]=T.id,F.dispatchAction(J),D(T,L)}}}))}function D(R,T){T.eachChild(function(L){f.each(L.__regions,function(F){L.trigger(R.isSelected(F.name)?"emphasis":"normal")})})}function S(R,T){var L=new x.Group;this.uid=w("ec_map_draw"),this._controller=new m(R.getZr()),this._controllerHost={target:T?L:null},this.group=L,this._updateGroup=T,this._mouseDownFlag,this._mapName,this._initialized,L.add(this._regionsGroup=new x.Group),L.add(this._backgroundGroup=new x.Group)}S.prototype={constructor:S,draw:function(R,T,L,F,U){var N=R.mainType==="geo",H=R.getData&&R.getData();N&&T.eachComponent({mainType:"series",subType:"map"},function(Y){!H&&Y.getHostGeoModel()===R&&(H=Y.getData())});var J=R.coordinateSystem;this._updateBackground(J);var K=this._regionsGroup,X=this.group,j=J.getTransformInfo(),ee=!K.childAt(0)||U,ie;if(ee)X.transform=j.roamTransform,X.decomposeTransform(),X.dirty();else{var z=new Q;z.transform=j.roamTransform,z.decomposeTransform();var oe={scale:z.scale,position:z.position};ie=z.scale,x.updateProps(X,oe,R)}var le=j.rawScale,Ae=j.rawPosition;K.removeAll();var he=["itemStyle"],ge=["emphasis","itemStyle"],de=["label"],fe=["emphasis","label"],G=f.createHashMap();f.each(J.regions,function(Y){var W=G.get(Y.name)||G.set(Y.name,new x.Group),O=new x.CompoundPath({segmentIgnoreThreshold:1,shape:{paths:[]}});W.add(O);var re=R.getRegionModel(Y.name)||R,se=re.getModel(he),ce=re.getModel(ge),me=M(se),Ce=M(ce),ye=re.getModel(de),Be=re.getModel(fe),Me;if(H){Me=H.indexOfName(Y.name);var He=H.getItemVisual(Me,"color",!0);He&&(me.fill=He)}var ke=function(rt){return[rt[0]*le[0]+Ae[0],rt[1]*le[1]+Ae[1]]};f.each(Y.geometries,function(rt){if(rt.type==="polygon"){for(var At=[],yt=0;yt=0)&&(ze=R);var Je=new x.Text({position:ke(Y.center.slice()),scale:[1/X.scale[0],1/X.scale[1]],z2:10,silent:!0});if(x.setLabelStyle(Je.style,Je.hoverStyle={},ye,Be,{labelFetcher:ze,labelDataIndex:Ue,defaultText:Y.name,useInsideStyle:!1},{textAlign:"center",textVerticalAlign:"middle"}),!ee){var je=[1/ie[0],1/ie[1]];x.updateProps(Je,{scale:je},R)}W.add(Je)}if(H)H.setItemGraphicEl(Me,W);else{var re=R.getRegionModel(Y.name);O.eventData={componentType:"geo",componentIndex:R.componentIndex,geoIndex:R.componentIndex,name:Y.name,region:re&&re.option||{}}}var Ze=W.__regions||(W.__regions=[]);Ze.push(Y),W.highDownSilentOnTouch=!!R.get("selectedMode"),x.setHoverStyle(W,Ce),K.add(W)}),this._updateController(R,T,L),B(this,R,K,L,F),D(R,K)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&y.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(R){var T=R.map;this._mapName!==T&&f.each(y.makeGraphic(T,this.uid),function(L){this._backgroundGroup.add(L)},this),this._mapName=T},_updateController:function(R,T,L){var F=R.coordinateSystem,U=this._controller,N=this._controllerHost;N.zoomLimit=R.get("scaleLimit"),N.zoom=F.getZoom(),U.enable(R.get("roam")||!1);var H=R.mainType;function J(){var K={type:"geoRoam",componentType:H};return K[H+"Id"]=R.id,K}U.off("pan").on("pan",function(K){this._mouseDownFlag=!1,C.updateViewOnPan(N,K.dx,K.dy),L.dispatchAction(f.extend(J(),{dx:K.dx,dy:K.dy}))},this),U.off("zoom").on("zoom",function(K){if(this._mouseDownFlag=!1,C.updateViewOnZoom(N,K.scale,K.originX,K.originY),L.dispatchAction(f.extend(J(),{zoom:K.scale,originX:K.originX,originY:K.originY})),this._updateGroup){var X=this.group.scale;this._regionsGroup.traverse(function(j){j.type==="text"&&j.attr("scale",[1/X[0],1/X[1]])})}},this),U.setPointerChecker(function(K,X,j){return F.getViewRectAfterRoam().contain(X,j)&&!I(K,L,R)})}};var P=S;A.exports=P}),Blt=Et((o,A)=>{var f=xn(),m=mi(),C=po(),E=D5e(),I="__seriesMapHighDown",x="__seriesMapCallKey",y=f.extendChartView({type:"map",render:function(Q,M,B,D){if(!(D&&D.type==="mapToggleSelect"&&D.from===this.uid)){var S=this.group;if(S.removeAll(),!Q.getHostGeoModel()){if(D&&D.type==="geoRoam"&&D.componentType==="series"&&D.seriesId===Q.id){var P=this._mapDraw;P&&S.add(P.group)}else if(Q.needsDrawMap){var P=this._mapDraw||new E(B,!0);S.add(P.group),P.draw(Q,M,B,this,D),this._mapDraw=P}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;Q.get("showLegendSymbol")&&M.getComponent("legend")&&this._renderSymbols(Q,M,B)}}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},_renderSymbols:function(Q,M,B){var D=Q.originalData,S=this.group;D.each(D.mapDimension("value"),function(P,R){if(!isNaN(P)){var T=D.getItemLayout(R);if(!(!T||!T.point)){var L=T.point,F=T.offset,U=new C.Circle({style:{fill:Q.getData().getVisual("color")},shape:{cx:L[0]+F*9,cy:L[1],r:3},silent:!0,z2:8+(F?0:C.Z2_EMPHASIS_LIFT+1)});if(!F){var N=Q.mainSeries.getData(),H=D.getName(R),J=N.indexOfName(H),K=D.getItemModel(R),X=K.getModel("label"),j=K.getModel("emphasis.label"),ee=N.getItemGraphicEl(J),ie=m.retrieve2(Q.getFormattedLabel(J,"normal"),H),z=m.retrieve2(Q.getFormattedLabel(J,"emphasis"),ie),oe=ee[I],le=Math.random();if(!oe){oe=ee[I]={};var Ae=m.curry(v,!0),he=m.curry(v,!1);ee.on("mouseover",Ae).on("mouseout",he).on("emphasis",Ae).on("normal",he)}ee[x]=le,m.extend(oe,{recordVersion:le,circle:U,labelModel:X,hoverLabelModel:j,emphasisText:z,normalText:ie}),w(oe,!1)}S.add(U)}}})}});function v(Q){var M=this[I];M&&M.recordVersion===this[x]&&w(M,Q)}function w(Q,M){var B=Q.circle,D=Q.labelModel,S=Q.hoverLabelModel,P=Q.emphasisText,R=Q.normalText;M?(B.style.extendFrom(C.setTextStyle({},S,{text:S.get("show")?P:null},{isRectText:!0,useInsideStyle:!1},!0)),B.__mapOriginalZ2=B.z2,B.z2+=C.Z2_EMPHASIS_LIFT):(C.setTextStyle(B.style,D,{text:D.get("show")?R:null,textPosition:D.getShallow("position")||"bottom"},{isRectText:!0,useInsideStyle:!1}),B.dirty(!1),B.__mapOriginalZ2!=null&&(B.z2=B.__mapOriginalZ2,B.__mapOriginalZ2=null))}A.exports=y}),jce=Et(o=>{function A(f,m,C){var E=f.getZoom(),I=f.getCenter(),x=m.zoom,y=f.dataToPoint(I);if(m.dx!=null&&m.dy!=null){y[0]-=m.dx,y[1]-=m.dy;var I=f.pointToData(y);f.setCenter(I)}if(x!=null){if(C){var v=C.min||0,w=C.max||1/0;x=Math.max(Math.min(E*x,w),v)/E}f.scale[0]*=x,f.scale[1]*=x;var Q=f.position,M=(m.originX-Q[0])*(x-1),B=(m.originY-Q[1])*(x-1);Q[0]-=M,Q[1]-=B,f.updateTransform();var I=f.pointToData(y);f.setCenter(I),f.setZoom(x*E)}return{center:f.getCenter(),zoom:f.getZoom()}}o.updateCenterAndZoom=A}),M5e=Et(()=>{var o=xn(),A=mi(),f=jce(),m=f.updateCenterAndZoom;o.registerAction({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(C,E){var I=C.componentType||"series";E.eachComponent({mainType:I,query:C},function(x){var y=x.coordinateSystem;if(y.type==="geo"){var v=m(y,C,x.get("scaleLimit"));x.setCenter&&x.setCenter(v.center),x.setZoom&&x.setZoom(v.zoom),I==="series"&&A.each(x.seriesGroup,function(w){w.setCenter(v.center),w.setZoom(v.zoom)})}})})}),Xce=Et((o,A)=>{var f=mi(),m=Zc(),C=UC(),E=Eh(),I=cZ(),x=m.applyTransform;function y(){I.call(this)}f.mixin(y,I);function v(M){this.name=M,this.zoomLimit,I.call(this),this._roamTransformable=new y,this._rawTransformable=new y,this._center,this._zoom}v.prototype={constructor:v,type:"view",dimensions:["x","y"],setBoundingRect:function(M,B,D,S){return this._rect=new E(M,B,D,S),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(M,B,D,S){this.transformTo(M,B,D,S),this._viewRect=new E(M,B,D,S)},transformTo:function(M,B,D,S){var P=this.getBoundingRect(),R=this._rawTransformable;R.transform=P.calculateTransform(new E(M,B,D,S)),R.decomposeTransform(),this._updateTransform()},setCenter:function(M){M&&(this._center=M,this._updateCenterAndZoom())},setZoom:function(M){M=M||1;var B=this.zoomLimit;B&&(B.max!=null&&(M=Math.min(B.max,M)),B.min!=null&&(M=Math.max(B.min,M))),this._zoom=M,this._updateCenterAndZoom()},getDefaultCenter:function(){var M=this.getBoundingRect(),B=M.x+M.width/2,D=M.y+M.height/2;return[B,D]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var M=this._rawTransformable.getLocalTransform(),B=this._roamTransformable,D=this.getDefaultCenter(),S=this.getCenter(),P=this.getZoom();S=m.applyTransform([],S,M),D=m.applyTransform([],D,M),B.origin=S,B.position=[D[0]-S[0],D[1]-S[1]],B.scale=[P,P],this._updateTransform()},_updateTransform:function(){var M=this._roamTransformable,B=this._rawTransformable;B.parent=M,M.updateTransform(),B.updateTransform(),C.copy(this.transform||(this.transform=[]),B.transform||C.create()),this._rawTransform=B.getLocalTransform(),this.invTransform=this.invTransform||[],C.invert(this.invTransform,this.transform),this.decomposeTransform()},getTransformInfo:function(){var M=this._roamTransformable.transform,B=this._rawTransformable;return{roamTransform:M?f.slice(M):C.create(),rawScale:f.slice(B.scale),rawPosition:f.slice(B.position)}},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var M=this.getBoundingRect().clone();return M.applyTransform(this.transform),M},dataToPoint:function(M,B,D){var S=B?this._rawTransform:this.transform;return D=D||[],S?x(D,M,S):m.copy(D,M)},pointToData:function(M){var B=this.invTransform;return B?x([],M,B):[M[0],M[1]]},convertToPixel:f.curry(w,"dataToPoint"),convertFromPixel:f.curry(w,"pointToData"),containPoint:function(M){return this.getViewRectAfterRoam().contain(M[0],M[1])}},f.mixin(v,I);function w(M,B,D,S){var P=D.seriesModel,R=P?P.coordinateSystem:null;return R===this?R[M](S):null}var Q=v;A.exports=Q}),wlt=Et((o,A)=>{var f=mi(),m=Eh(),C=Xce(),E=BZ();function I(v,w,Q,M){C.call(this,v),this.map=w;var B=E.load(w,Q);this._nameCoordMap=B.nameCoordMap,this._regionsMap=B.regionsMap,this._invertLongitute=M??!0,this.regions=B.regions,this._rect=B.boundingRect}I.prototype={constructor:I,type:"geo",dimensions:["lng","lat"],containCoord:function(v){for(var w=this.regions,Q=0;Q{var f=EA(),m=f.__DEV__,C=xn(),E=mi(),I=wlt(),x=Wu(),y=ja(),v=BZ(),w=Yce();function Q(S,P){var R=S.get("boundingCoords");if(R!=null){var T=R[0],L=R[1];isNaN(T[0])||isNaN(T[1])||isNaN(L[0])||isNaN(L[1])||this.setBoundingRect(T[0],T[1],L[0]-T[0],L[1]-T[1])}var F=this.getBoundingRect(),U,N=S.get("layoutCenter"),H=S.get("layoutSize"),J=P.getWidth(),K=P.getHeight(),X=F.width/F.height*this.aspectScale,j=!1;N&&H&&(N=[y.parsePercent(N[0],J),y.parsePercent(N[1],K)],H=y.parsePercent(H,Math.min(J,K)),!isNaN(N[0])&&!isNaN(N[1])&&!isNaN(H)&&(j=!0));var ee;if(j){var ee={};X>1?(ee.width=H,ee.height=H/X):(ee.height=H,ee.width=H*X),ee.y=N[1]-ee.height/2,ee.x=N[0]-ee.width/2}else U=S.getBoxLayoutParams(),U.aspect=X,ee=x.getLayoutRect(U,{width:J,height:K});this.setViewRect(ee.x,ee.y,ee.width,ee.height),this.setCenter(S.get("center")),this.setZoom(S.get("zoom"))}function M(S,P){E.each(P.get("geoCoord"),function(R,T){S.addGeoCoord(T,R)})}var B={dimensions:I.prototype.dimensions,create:function(S,P){var R=[];S.eachComponent("geo",function(L,F){var U=L.get("map"),N=L.get("aspectScale"),H=!0,J=w.retrieveMap(U);J&&J[0]&&J[0].type==="svg"?(N==null&&(N=1),H=!1):N==null&&(N=.75);var K=new I(U+F,U,L.get("nameMap"),H);K.aspectScale=N,K.zoomLimit=L.get("scaleLimit"),R.push(K),M(K,L),L.coordinateSystem=K,K.model=L,K.resize=Q,K.resize(L,P)}),S.eachSeries(function(L){var F=L.get("coordinateSystem");if(F==="geo"){var U=L.get("geoIndex")||0;L.coordinateSystem=R[U]}});var T={};return S.eachSeriesByType("map",function(L){if(!L.getHostGeoModel()){var F=L.getMapType();T[F]=T[F]||[],T[F].push(L)}}),E.each(T,function(L,F){var U=E.map(L,function(H){return H.get("nameMap")}),N=new I(F,F,E.mergeAll(U));N.zoomLimit=E.retrieve.apply(null,E.map(L,function(H){return H.get("scaleLimit")})),R.push(N),N.resize=Q,N.aspectScale=L[0].get("aspectScale"),N.resize(L[0],P),E.each(L,function(H){H.coordinateSystem=N,M(N,H)})}),R},getFilledRegions:function(S,P,R){for(var T=(S||[]).slice(),L=E.createHashMap(),F=0;F{var f=mi();function m(C){var E={};C.eachSeriesByType("map",function(I){var x=I.getMapType();if(!(I.getHostGeoModel()||E[x])){var y={};f.each(I.seriesGroup,function(w){var Q=w.coordinateSystem,M=w.originalData;w.get("showLegendSymbol")&&C.getComponent("legend")&&M.each(M.mapDimension("value"),function(B,D){var S=M.getName(D),P=Q.getRegion(S);if(!(!P||isNaN(B))){var R=y[S]||0,T=Q.dataToPoint(P.center);y[S]=R+1,M.setItemLayout(D,{point:T,offset:R})}})});var v=I.getData();v.each(function(w){var Q=v.getName(w),M=v.getItemLayout(w)||{};M.showLabel=!y[Q],v.setItemLayout(w,M)}),E[x]=!0}})}A.exports=m}),Qlt=Et((o,A)=>{function f(m){m.eachSeriesByType("map",function(C){var E=C.get("color"),I=C.getModel("itemStyle"),x=I.get("areaColor"),y=I.get("color")||E[C.seriesIndex%E.length];C.getData().setVisual({areaColor:x,color:y})})}A.exports=f}),Slt=Et((o,A)=>{var f=mi();function m(E,I){var x={};return f.each(E,function(y){y.each(y.mapDimension("value"),function(v,w){var Q="ec-"+y.getName(w);x[Q]=x[Q]||[],isNaN(v)||x[Q].push(v)})}),E[0].map(E[0].mapDimension("value"),function(y,v){for(var w="ec-"+E[0].getName(v),Q=0,M=1/0,B=-1/0,D=x[w].length,S=0;S{var f=mi();function m(C){var E=[];f.each(C.series,function(I){I&&I.type==="map"&&(E.push(I),I.map=I.map||I.mapType,f.defaults(I,I.mapLocation))})}A.exports=m}),Mlt=Et(()=>{var o=xn();_lt(),Blt(),M5e(),Zce();var A=blt(),f=Qlt(),m=Slt(),C=Dlt(),E=Q5e();o.registerLayout(A),o.registerVisual(f),o.registerProcessor(o.PRIORITY.PROCESSOR.STATISTIC,m),o.registerPreprocessor(C),E("map",[{type:"mapToggleSelect",event:"mapselectchanged",method:"toggleSelected"},{type:"mapSelect",event:"mapselected",method:"select"},{type:"mapUnSelect",event:"mapunselected",method:"unSelect"}])}),T5e=Et((o,A)=>{var f=mi(),m=f.each,C="\0__link_datas",E="\0__link_mainData";function I(S){var P=S.mainData,R=S.datas;R||(R={main:P},S.datasAttr={main:"data"}),S.datas=S.mainData=null,M(P,R,S),m(R,function(T){m(P.TRANSFERABLE_METHODS,function(L){T.wrapMethod(L,f.curry(x,S))})}),P.wrapMethod("cloneShallow",f.curry(v,S)),m(P.CHANGABLE_METHODS,function(T){P.wrapMethod(T,f.curry(y,S))}),f.assert(R[P.dataType]===P)}function x(S,P){if(Q(this)){var R=f.extend({},this[C]);R[this.dataType]=P,M(P,R,S)}else B(P,this.dataType,this[E],S);return P}function y(S,P){return S.struct&&S.struct.update(this),P}function v(S,P){return m(P[C],function(R,T){R!==P&&B(R.cloneShallow(),T,P,S)}),P}function w(S){var P=this[E];return S==null||P==null?P:P[C][S]}function Q(S){return S[E]===S}function M(S,P,R){S[C]={},m(P,function(T,L){B(T,L,S,R)})}function B(S,P,R,T){R[C][P]=S,S[E]=R,S.dataType=P,T.struct&&(S[T.structAttr]=T.struct,T.struct[T.datasAttr[P]]=S),S.getLinkedData=w}var D=I;A.exports=D}),$ce=Et((o,A)=>{var f=mi(),m=Cg(),C=T5e(),E=gv(),I=_O(),x=function(Q,M){this.name=Q||"",this.depth=0,this.height=0,this.parentNode=null,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.hostTree=M};x.prototype={constructor:x,isRemoved:function(){return this.dataIndex<0},eachNode:function(Q,M,B){typeof Q=="function"&&(B=M,M=Q,Q=null),Q=Q||{},f.isString(Q)&&(Q={order:Q});var D=Q.order||"preorder",S=this[Q.attr||"children"],P;D==="preorder"&&(P=M.call(B,this));for(var R=0;!P&&RM&&(M=D.height)}this.height=M+1},getNodeById:function(Q){if(this.getId()===Q)return this;for(var M=0,B=this.children,D=B.length;M=0&&this.hostTree.data.setItemLayout(this.dataIndex,Q,M)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(Q){if(!(this.dataIndex<0)){var M=this.hostTree,B=M.data.getItemModel(this.dataIndex),D=this.getLevelModel();return D?B.getModel(Q,D.getModel(Q)):B.getModel(Q)}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},setVisual:function(Q,M){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,Q,M)},getVisual:function(Q,M){return this.hostTree.data.getItemVisual(this.dataIndex,Q,M)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(Q){for(var M=Q.parentNode;M;){if(M===this)return!0;M=M.parentNode}return!1},isDescendantOf:function(Q){return Q!==this&&Q.isAncestorOf(this)}};function y(Q,M){this.root,this.data,this._nodes=[],this.hostModel=Q,this.levelModels=f.map(M||[],function(B){return new m(B,Q,Q.ecModel)})}y.prototype={constructor:y,type:"tree",eachNode:function(Q,M,B){this.root.eachNode(Q,M,B)},getNodeByDataIndex:function(Q){var M=this.data.getRawIndex(Q);return this._nodes[M]},getNodeByName:function(Q){return this.root.getNodeByName(Q)},update:function(){for(var Q=this.data,M=this._nodes,B=0,D=M.length;B{var f=bf(),m=$ce(),C=sc(),E=C.encodeHTML,I=Cg(),x=f.extend({type:"series.tree",layoutInfo:null,layoutMode:"box",getInitialData:function(y){var v={name:y.name,children:y.data},w=y.leaves||{},Q=new I(w,this,this.ecModel),M=m.createTree(v,this,{},B);function B(R){R.wrapMethod("getItemModel",function(T,L){var F=M.getNodeByDataIndex(L);return(!F.children.length||!F.isExpand)&&(T.parentModel=Q),T})}var D=0;M.eachNode("preorder",function(R){R.depth>D&&(D=R.depth)});var S=y.expandAndCollapse,P=S&&y.initialTreeDepth>=0?y.initialTreeDepth:D;return M.root.eachNode("preorder",function(R){var T=R.hostTree.data.getRawDataItem(R.dataIndex);R.isExpand=T&&T.collapsed!=null?!T.collapsed:R.depth<=P}),M.data},getOrient:function(){var y=this.get("orient");return y==="horizontal"?y="LR":y==="vertical"&&(y="TB"),y},setZoom:function(y){this.option.zoom=y},setCenter:function(y){this.option.center=y},formatTooltip:function(y){for(var v=this.getData().tree,w=v.root.children[0],Q=v.getNodeByDataIndex(y),M=Q.getValue(),B=Q.name;Q&&Q!==w;)B=Q.parentNode.name+"."+B,Q=Q.parentNode;return E(B+(isNaN(M)||M==null?"":" : "+M))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}});A.exports=x}),P5e=Et(o=>{var A=Wu();function f(S){S.hierNode={defaultAncestor:null,ancestor:S,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var P=[S],R,T;R=P.pop();)if(T=R.children,R.isExpand&&T.length)for(var L=T.length,F=L-1;F>=0;F--){var U=T[F];U.hierNode={defaultAncestor:null,ancestor:U,prelim:0,modifier:0,change:0,shift:0,i:F,thread:null},P.push(U)}}function m(S,P){var R=S.isExpand?S.children:[],T=S.parentNode.children,L=S.hierNode.i?T[S.hierNode.i-1]:null;if(R.length){y(S);var F=(R[0].hierNode.prelim+R[R.length-1].hierNode.prelim)/2;L?(S.hierNode.prelim=L.hierNode.prelim+P(S,L),S.hierNode.modifier=S.hierNode.prelim-F):S.hierNode.prelim=F}else L&&(S.hierNode.prelim=L.hierNode.prelim+P(S,L));S.parentNode.hierNode.defaultAncestor=v(S,L,S.parentNode.hierNode.defaultAncestor||T[0],P)}function C(S){var P=S.hierNode.prelim+S.parentNode.hierNode.modifier;S.setLayout({x:P},!0),S.hierNode.modifier+=S.parentNode.hierNode.modifier}function E(S){return arguments.length?S:D}function I(S,P){var R={};return S-=Math.PI/2,R.x=P*Math.cos(S),R.y=P*Math.sin(S),R}function x(S,P){return A.getLayoutRect(S.getBoxLayoutParams(),{width:P.getWidth(),height:P.getHeight()})}function y(S){for(var P=S.children,R=P.length,T=0,L=0;--R>=0;){var F=P[R];F.hierNode.prelim+=T,F.hierNode.modifier+=T,L+=F.hierNode.change,T+=F.hierNode.shift+L}}function v(S,P,R,T){if(P){for(var L=S,F=S,U=F.parentNode.children[0],N=P,H=L.hierNode.modifier,J=F.hierNode.modifier,K=U.hierNode.modifier,X=N.hierNode.modifier;N=w(N),F=Q(F),N&&F;){L=w(L),U=Q(U),L.hierNode.ancestor=S;var j=N.hierNode.prelim+X-F.hierNode.prelim-J+T(N,F);j>0&&(B(M(N,S,R),S,j),J+=j,H+=j),X+=N.hierNode.modifier,J+=F.hierNode.modifier,H+=L.hierNode.modifier,K+=U.hierNode.modifier}N&&!w(L)&&(L.hierNode.thread=N,L.hierNode.modifier+=X-H),F&&!Q(U)&&(U.hierNode.thread=F,U.hierNode.modifier+=J-K,R=S)}return R}function w(S){var P=S.children;return P.length&&S.isExpand?P[P.length-1]:S.hierNode.thread}function Q(S){var P=S.children;return P.length&&S.isExpand?P[0]:S.hierNode.thread}function M(S,P,R){return S.hierNode.ancestor.parentNode===P.parentNode?S.hierNode.ancestor:R}function B(S,P,R){var T=R/(P.hierNode.i-S.hierNode.i);P.hierNode.change-=T,P.hierNode.shift+=R,P.hierNode.modifier+=R,P.hierNode.prelim+=R,S.hierNode.change+=T}function D(S,P){return S.parentNode===P.parentNode?1:2}o.init=f,o.firstWalk=m,o.secondWalk=C,o.separation=E,o.radialCoordinate=I,o.getViewRect=x}),Plt=Et((o,A)=>{var f=mi(),m=po(),C=xZ(),E=P5e(),I=E.radialCoordinate,x=xn(),y=v9(),v=Xce(),w=qce(),Q=R9(),M=wZ(),B=M.onIrrelevantElement,D=EA(),S=D.__DEV__,P=ja(),R=P.parsePercent,T=m.extendShape({shape:{parentPoint:[],childPoints:[],orient:"",forkPosition:""},style:{stroke:"#000",fill:null},buildPath:function(X,j){var ee=j.childPoints,ie=ee.length,z=j.parentPoint,oe=ee[0],le=ee[ie-1];if(ie===1){X.moveTo(z[0],z[1]),X.lineTo(oe[0],oe[1]);return}var Ae=j.orient,he=Ae==="TB"||Ae==="BT"?0:1,ge=1-he,de=R(j.forkPosition,1),fe=[];fe[he]=z[he],fe[ge]=z[ge]+(le[ge]-z[ge])*de,X.moveTo(z[0],z[1]),X.lineTo(fe[0],fe[1]),X.moveTo(oe[0],oe[1]),fe[he]=oe[he],X.lineTo(fe[0],fe[1]),fe[he]=le[he],X.lineTo(fe[0],fe[1]),X.lineTo(le[0],le[1]);for(var G=1;Gce.x,ye||(Ce=Ce-Math.PI));var Me=ye?"left":"right",He=ge.labelModel.get("rotate"),ke=He*(Math.PI/180);re.setStyle({textPosition:ge.labelModel.get("position")||Me,textRotation:He==null?-Ce:ke,textOrigin:"center",verticalAlign:"middle"})}H(z,Ae,de,ee,W,Y,O,ie,ge)}function H(X,j,ee,ie,z,oe,le,Ae,he){var ge=he.edgeShape,de=ie.__edge;if(ge==="curve")j.parentNode&&j.parentNode!==ee&&(de||(de=ie.__edge=new m.BezierCurve({shape:K(he,z,z),style:f.defaults({opacity:0,strokeNoScale:!0},he.lineStyle)})),m.updateProps(de,{shape:K(he,oe,le),style:{opacity:1}},X));else if(ge==="polyline"&&he.layout==="orthogonal"&&j!==ee&&j.children&&j.children.length!==0&&j.isExpand===!0){for(var fe=j.children,G=[],Y=0;Y{var o=xn(),A=jce(),f=A.updateCenterAndZoom;o.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(m,C){C.eachComponent({mainType:"series",subType:"tree",query:m},function(E){var I=m.dataIndex,x=E.getData().tree,y=x.getNodeByDataIndex(I);y.isExpand=!y.isExpand})}),o.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(m,C){C.eachComponent({mainType:"series",subType:"tree",query:m},function(E){var I=E.coordinateSystem,x=f(I,m);E.setCenter&&E.setCenter(x.center),E.setZoom&&E.setZoom(x.zoom)})})}),Llt=Et(o=>{function A(m,C,E){for(var I=[m],x=[],y;y=I.pop();)if(x.push(y),y.isExpand){var v=y.children;if(v.length)for(var w=0;w=0;y--)E.push(x[y])}}o.eachAfter=A,o.eachBefore=f}),Flt=Et((o,A)=>{var f=Llt(),m=f.eachAfter,C=f.eachBefore,E=P5e(),I=E.init,x=E.firstWalk,y=E.secondWalk,v=E.separation,w=E.radialCoordinate,Q=E.getViewRect;function M(D,S){D.eachSeriesByType("tree",function(P){B(P,S)})}function B(D,S){var P=Q(D,S);D.layoutInfo=P;var R=D.get("layout"),T=0,L=0,F=null;R==="radial"?(T=2*Math.PI,L=Math.min(P.height,P.width)/2,F=v(function(Ae,he){return(Ae.parentNode===he.parentNode?1:2)/Ae.depth})):(T=P.width,L=P.height,F=v());var U=D.getData().tree.root,N=U.children[0];if(N){I(U),m(N,x,F),U.hierNode.modifier=-N.hierNode.prelim,C(N,y);var H=N,J=N,K=N;C(N,function(Ae){var he=Ae.getLayout().x;heJ.getLayout().x&&(J=Ae),Ae.depth>K.depth&&(K=Ae)});var X=H===J?1:F(H,J)/2,j=X-H.getLayout().x,ee=0,ie=0,z=0,oe=0;if(R==="radial")ee=T/(J.getLayout().x+X+j),ie=L/(K.depth-1||1),C(N,function(Ae){z=(Ae.getLayout().x+j)*ee,oe=(Ae.depth-1)*ie;var he=w(z,oe);Ae.setLayout({x:he.x,y:he.y,rawX:z,rawY:oe},!0)});else{var le=D.getOrient();le==="RL"||le==="LR"?(ie=L/(J.getLayout().x+X+j),ee=T/(K.depth-1||1),C(N,function(Ae){oe=(Ae.getLayout().x+j)*ie,z=le==="LR"?(Ae.depth-1)*ee:T-(Ae.depth-1)*ee,Ae.setLayout({x:z,y:oe},!0)})):(le==="TB"||le==="BT")&&(ee=T/(J.getLayout().x+X+j),ie=L/(K.depth-1||1),C(N,function(Ae){z=(Ae.getLayout().x+j)*ee,oe=le==="TB"?(Ae.depth-1)*ie:L-(Ae.depth-1)*ie,Ae.setLayout({x:z,y:oe},!0)}))}}}A.exports=M}),Nlt=Et(()=>{var o=xn();Tlt(),Plt(),Rlt();var A=ZF(),f=Flt();o.registerVisual(A("tree","circle")),o.registerLayout(f)}),eN=Et(o=>{var A=mi();function f(I,x,y){if(I&&A.indexOf(x,I.type)>=0){var v=y.getData().tree.root,w=I.targetNode;if(typeof w=="string"&&(w=v.getNodeById(w)),w&&v.contains(w))return{node:w};var Q=I.targetNodeId;if(Q!=null&&(w=v.getNodeById(Q)))return{node:w}}}function m(I){for(var x=[];I;)I=I.parentNode,I&&x.push(I);return x.reverse()}function C(I,x){var y=m(I);return A.indexOf(y,x)>=0}function E(I,x){for(var y=[];I;){var v=I.dataIndex;y.push({name:I.name,dataIndex:v,value:x.getRawValue(v)}),I=I.parentNode}return y.reverse(),y}o.retrieveTargetInfo=f,o.getPathToRoot=m,o.aboveViewRoot=C,o.wrapTreePathInfo=E}),klt=Et((o,A)=>{var f=mi(),m=bf(),C=$ce(),E=Cg(),I=sc(),x=I.encodeHTML,y=I.addCommas,v=eN(),w=v.wrapTreePathInfo,Q=m.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],preventUsingHoverLayer:!0,_viewRoot:null,defaultOption:{progressive:0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"\u25B6",zoomToNodeRatio:.32*.32,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(D,S){var P={name:D.name,children:D.data};M(P);var R=D.levels||[];R=D.levels=B(R,S);var T=f.map(R||[],function(U){return new E(U,this,S)},this),L=C.createTree(P,this,null,F);function F(U){U.wrapMethod("getItemModel",function(N,H){var J=L.getNodeByDataIndex(H),K=T[J.depth];return K&&(N.parentModel=K),N})}return L.data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(D){var S=this.getData(),P=this.getRawValue(D),R=f.isArray(P)?y(P[0]):y(P),T=S.getName(D);return x(T+": "+R)},getDataParams:function(D){var S=m.prototype.getDataParams.apply(this,arguments),P=this.getData().tree.getNodeByDataIndex(D);return S.treePathInfo=w(P,this),S},setLayoutInfo:function(D){this.layoutInfo=this.layoutInfo||{},f.extend(this.layoutInfo,D)},mapIdToIndex:function(D){var S=this._idIndexMap;S||(S=this._idIndexMap=f.createHashMap(),this._idIndexMapCount=0);var P=S.get(D);return P==null&&S.set(D,P=this._idIndexMapCount++),P},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(D){D?this._viewRoot=D:D=this._viewRoot;var S=this.getRawData().tree.root;(!D||D!==S&&!S.contains(D))&&(this._viewRoot=S)}});function M(D){var S=0;f.each(D.children,function(R){M(R);var T=R.value;f.isArray(T)&&(T=T[0]),S+=T});var P=D.value;f.isArray(P)&&(P=P[0]),(P==null||isNaN(P))&&(P=S),P<0&&(P=0),f.isArray(D.value)?D.value[0]=P:D.value=P}function B(D,S){var P=S.get("color");if(P){D=D||[];var R;if(f.each(D,function(L){var F=new E(L),U=F.get("color");(F.get("itemStyle.color")||U&&U!=="none")&&(R=!0)}),!R){var T=D[0]||(D[0]={});T.color=P.slice()}return D}}A.exports=Q}),Ult=Et((o,A)=>{var f=po(),m=Wu(),C=mi(),E=eN(),I=E.wrapTreePathInfo,x=8,y=8,v=5;function w(D){this.group=new f.Group,D.add(this.group)}w.prototype={constructor:w,render:function(D,S,P,R){var T=D.getModel("breadcrumb"),L=this.group;if(L.removeAll(),!(!T.get("show")||!P)){var F=T.getModel("itemStyle"),U=F.getModel("textStyle"),N={pos:{left:T.get("left"),right:T.get("right"),top:T.get("top"),bottom:T.get("bottom")},box:{width:S.getWidth(),height:S.getHeight()},emptyItemWidth:T.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(P,N,U),this._renderContent(D,N,F,U,R),m.positionElement(L,N.pos,N.box)}},_prepare:function(D,S,P){for(var R=D;R;R=R.parentNode){var T=R.getModel().get("name"),L=P.getTextRect(T),F=Math.max(L.width+x*2,S.emptyItemWidth);S.totalWidth+=F+y,S.renderList.push({node:R,text:T,width:F})}},_renderContent:function(D,S,P,R,T){for(var L=0,F=S.emptyItemWidth,U=D.get("breadcrumb.height"),N=m.getAvailableSize(S.pos,S.box),H=S.totalWidth,J=S.renderList,K=J.length-1;K>=0;K--){var X=J[K],j=X.node,ee=X.width,ie=X.text;H>N.width&&(H-=ee-F,ee=F,ie=null);var z=new f.Polygon({shape:{points:Q(L,0,ee,U,K===J.length-1,K===0)},style:C.defaults(P.getItemStyle(),{lineJoin:"bevel",text:ie,textFill:R.getTextColor(),textFont:R.getFont()}),z:10,onclick:C.curry(T,j)});this.group.add(z),M(z,D,j),L+=ee+y}},remove:function(){this.group.removeAll()}};function Q(D,S,P,R,T,L){var F=[[T?D:D-v,S],[D+P,S],[D+P,S+R],[T?D:D-v,S+R]];return!L&&F.splice(2,0,[D+P+v,S+R/2]),!T&&F.push([D,S+R/2]),F}function M(D,S,P){D.eventData={componentType:"series",componentSubType:"treemap",componentIndex:S.componentIndex,seriesIndex:S.componentIndex,seriesName:S.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:P&&P.dataIndex,name:P&&P.name},treePathInfo:P&&I(P,S)}}var B=w;A.exports=B}),Olt=Et(o=>{var A=mi();function f(){var m=[],C={},E;return{add:function(I,x,y,v,w){return A.isString(v)&&(w=v,v=0),C[I.id]?!1:(C[I.id]=1,m.push({el:I,target:x,time:y,delay:v,easing:w}),!0)},done:function(I){return E=I,this},start:function(){for(var I=m.length,x=0,y=m.length;x{var f=xn(),m=mi(),C=po(),E=XF(),I=eN(),x=Ult(),y=R9(),v=Eh(),w=UC(),Q=Olt(),M=xO(),B=sc(),D=B.windowOpen,S=m.bind,P=C.Group,R=C.Rect,T=m.each,L=3,F=["label"],U=["emphasis","label"],N=["upperLabel"],H=["emphasis","upperLabel"],J=10,K=1,X=2,j=M([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),ee=function(Ae){var he=j(Ae);return he.stroke=he.fill=he.lineWidth=null,he},ie=f.extendChartView({type:"treemap",init:function(Ae,he){this._containerGroup,this._storage=z(),this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(Ae,he,ge,de){var fe=he.findComponents({mainType:"series",subType:"treemap",query:de});if(!(m.indexOf(fe,Ae)<0)){this.seriesModel=Ae,this.api=ge,this.ecModel=he;var G=["treemapZoomToNode","treemapRootToNode"],Y=I.retrieveTargetInfo(de,G,Ae),W=de&&de.type,O=Ae.layoutInfo,re=!this._oldTree,se=this._storage,ce=W==="treemapRootToNode"&&Y&&se?{rootNodeGroup:se.nodeGroup[Y.node.getRawIndex()],direction:de.direction}:null,me=this._giveContainerGroup(O),Ce=this._doRender(me,Ae,ce);!re&&(!W||W==="treemapZoomToNode"||W==="treemapRootToNode")?this._doAnimation(me,Ce,Ae,ce):Ce.renderFinally(),this._resetController(ge),this._renderBreadcrumb(Ae,ge,Y)}},_giveContainerGroup:function(Ae){var he=this._containerGroup;return he||(he=this._containerGroup=new P,this._initEvents(he),this.group.add(he)),he.attr("position",[Ae.x,Ae.y]),he},_doRender:function(Ae,he,ge){var de=he.getData().tree,fe=this._oldTree,G=z(),Y=z(),W=this._storage,O=[],re=m.curry(oe,he,Y,W,ge,G,O);ce(de.root?[de.root]:[],fe&&fe.root?[fe.root]:[],Ae,de===fe||!fe,0);var se=me(W);return this._oldTree=de,this._storage=Y,{lastsForAnimation:G,willDeleteEls:se,renderFinally:Ce};function ce(ye,Be,Me,He,ke){He?(Be=ye,T(ye,function(we,Fe){!we.isRemoved()&&Pe(Fe,Fe)})):new E(Be,ye,Ne,Ne).add(Pe).update(Pe).remove(m.curry(Pe,null)).execute();function Ne(we){return we.getId()}function Pe(we,Fe){var Ue=we!=null?ye[we]:null,ze=Fe!=null?Be[Fe]:null,Je=re(Ue,ze,Me,ke);Je&&ce(Ue&&Ue.viewChildren||[],ze&&ze.viewChildren||[],Je,He,ke+1)}}function me(ye){var Be=z();return ye&&T(ye,function(Me,He){var ke=Be[He];T(Me,function(Ne){Ne&&(ke.push(Ne),Ne.__tmWillDelete=1)})}),Be}function Ce(){T(se,function(ye){T(ye,function(Be){Be.parent&&Be.parent.remove(Be)})}),T(O,function(ye){ye.invisible=!0,ye.dirty()})}},_doAnimation:function(Ae,he,ge,de){if(ge.get("animation")){var fe=ge.get("animationDurationUpdate"),G=ge.get("animationEasing"),Y=Q.createWrap();T(he.willDeleteEls,function(W,O){T(W,function(re,se){if(!re.invisible){var ce=re.parent,me;if(de&&de.direction==="drillDown")me=ce===de.rootNodeGroup?{shape:{x:0,y:0,width:ce.__tmNodeWidth,height:ce.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var Ce=0,ye=0;ce.__tmWillDelete||(Ce=ce.__tmNodeWidth/2,ye=ce.__tmNodeHeight/2),me=O==="nodeGroup"?{position:[Ce,ye],style:{opacity:0}}:{shape:{x:Ce,y:ye,width:0,height:0},style:{opacity:0}}}me&&Y.add(re,me,fe,G)}})}),T(this._storage,function(W,O){T(W,function(re,se){var ce=he.lastsForAnimation[O][se],me={};ce&&(O==="nodeGroup"?ce.old&&(me.position=re.position.slice(),re.attr("position",ce.old)):(ce.old&&(me.shape=m.extend({},re.shape),re.setShape(ce.old)),ce.fadein?(re.setStyle("opacity",0),me.style={opacity:1}):re.style.opacity!==1&&(me.style={opacity:1})),Y.add(re,me,fe,G))})},this),this._state="animating",Y.done(S(function(){this._state="ready",he.renderFinally()},this)).start()}},_resetController:function(Ae){var he=this._controller;he||(he=this._controller=new y(Ae.getZr()),he.enable(this.seriesModel.get("roam")),he.on("pan",S(this._onPan,this)),he.on("zoom",S(this._onZoom,this)));var ge=new v(0,0,Ae.getWidth(),Ae.getHeight());he.setPointerChecker(function(de,fe,G){return ge.contain(fe,G)})},_clearController:function(){var Ae=this._controller;Ae&&(Ae.dispose(),Ae=null)},_onPan:function(Ae){if(this._state!=="animating"&&(Math.abs(Ae.dx)>L||Math.abs(Ae.dy)>L)){var he=this.seriesModel.getData().tree.root;if(!he)return;var ge=he.getLayout();if(!ge)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:ge.x+Ae.dx,y:ge.y+Ae.dy,width:ge.width,height:ge.height}})}},_onZoom:function(Ae){var he=Ae.originX,ge=Ae.originY;if(this._state!=="animating"){var de=this.seriesModel.getData().tree.root;if(!de)return;var fe=de.getLayout();if(!fe)return;var G=new v(fe.x,fe.y,fe.width,fe.height),Y=this.seriesModel.layoutInfo;he-=Y.x,ge-=Y.y;var W=w.create();w.translate(W,W,[-he,-ge]),w.scale(W,W,[Ae.scale,Ae.scale]),w.translate(W,W,[he,ge]),G.applyTransform(W),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:G.x,y:G.y,width:G.width,height:G.height}})}},_initEvents:function(Ae){Ae.on("click",function(he){if(this._state==="ready"){var ge=this.seriesModel.get("nodeClick",!0);if(ge){var de=this.findTarget(he.offsetX,he.offsetY);if(de){var fe=de.node;if(fe.getLayout().isLeafRoot)this._rootToNode(de);else if(ge==="zoomToNode")this._zoomToNode(de);else if(ge==="link"){var G=fe.hostTree.data.getItemModel(fe.dataIndex),Y=G.get("link",!0),W=G.get("target",!0)||"blank";Y&&D(Y,W)}}}}},this)},_renderBreadcrumb:function(Ae,he,ge){ge||(ge=Ae.get("leafDepth",!0)!=null?{node:Ae.getViewRoot()}:this.findTarget(he.getWidth()/2,he.getHeight()/2),ge||(ge={node:Ae.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new x(this.group))).render(Ae,he,ge.node,S(de,this));function de(fe){this._state!=="animating"&&(I.aboveViewRoot(Ae.getViewRoot(),fe)?this._rootToNode({node:fe}):this._zoomToNode({node:fe}))}},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=z(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(Ae){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:Ae.node})},_rootToNode:function(Ae){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:Ae.node})},findTarget:function(Ae,he){var ge,de=this.seriesModel.getViewRoot();return de.eachNode({attr:"viewChildren",order:"preorder"},function(fe){var G=this._storage.background[fe.getRawIndex()];if(G){var Y=G.transformCoordToLocal(Ae,he),W=G.shape;if(W.x<=Y[0]&&Y[0]<=W.x+W.width&&W.y<=Y[1]&&Y[1]<=W.y+W.height)ge={node:fe,offsetX:Y[0],offsetY:Y[1]};else return!1}},this),ge}});function z(){return{nodeGroup:[],background:[],content:[]}}function oe(Ae,he,ge,de,fe,G,Y,W,O,re){if(!Y)return;var se=Y.getLayout(),ce=Ae.getData();if(ce.setItemGraphicEl(Y.dataIndex,null),!se||!se.isInView)return;var me=se.width,Ce=se.height,ye=se.borderWidth,Be=se.invisible,Me=Y.getRawIndex(),He=W&&W.getRawIndex(),ke=Y.viewChildren,Ne=se.upperHeight,Pe=ke&&ke.length,we=Y.getModel("itemStyle"),Fe=Y.getModel("emphasis.itemStyle"),Ue=ft("nodeGroup",P);if(!Ue)return;if(O.add(Ue),Ue.attr("position",[se.x||0,se.y||0]),Ue.__tmNodeWidth=me,Ue.__tmNodeHeight=Ce,se.isAboveViewRoot)return Ue;var ze=Y.getModel(),Je=ft("background",R,re,K);if(Je&&Ze(Ue,Je,Pe&&se.upperLabelHeight),Pe)C.isHighDownDispatcher(Ue)&&C.setAsHighDownDispatcher(Ue,!1),Je&&(C.setAsHighDownDispatcher(Je,!0),ce.setItemGraphicEl(Y.dataIndex,Je));else{var je=ft("content",R,re,X);je&&rt(Ue,je),Je&&C.isHighDownDispatcher(Je)&&C.setAsHighDownDispatcher(Je,!1),C.setAsHighDownDispatcher(Ue,!0),ce.setItemGraphicEl(Y.dataIndex,Ue)}return Ue;function Ze(pt,zt,It){if(zt.dataIndex=Y.dataIndex,zt.seriesIndex=Ae.seriesIndex,zt.setShape({x:0,y:0,width:me,height:Ce}),Be)At(zt);else{zt.invisible=!1;var Pt=Y.getVisual("borderColor",!0),St=Fe.get("borderColor"),dt=ee(we);dt.fill=Pt;var Le=j(Fe);if(Le.fill=St,It){var _e=me-2*ye;yt(dt,Le,Pt,_e,Ne,{x:ye,y:0,width:_e,height:Ne})}else dt.text=Le.text=null;zt.setStyle(dt),C.setElementHoverStyle(zt,Le)}pt.add(zt)}function rt(pt,zt){zt.dataIndex=Y.dataIndex,zt.seriesIndex=Ae.seriesIndex;var It=Math.max(me-2*ye,0),Pt=Math.max(Ce-2*ye,0);if(zt.culling=!0,zt.setShape({x:ye,y:ye,width:It,height:Pt}),Be)At(zt);else{zt.invisible=!1;var St=Y.getVisual("color",!0),dt=ee(we);dt.fill=St;var Le=j(Fe);yt(dt,Le,St,It,Pt),zt.setStyle(dt),C.setElementHoverStyle(zt,Le)}pt.add(zt)}function At(pt){!pt.invisible&&G.push(pt)}function yt(pt,zt,It,Pt,St,dt){var Le=ze.get("name"),_e=ze.getModel(dt?N:F),Oe=ze.getModel(dt?H:U),vt=_e.getShallow("show");C.setLabelStyle(pt,zt,_e,Oe,{defaultText:vt?Le:null,autoColor:It,isRectText:!0,labelFetcher:Ae,labelDataIndex:Y.dataIndex,labelProp:dt?"upperLabel":"label"}),at(pt,dt,se),at(zt,dt,se),dt&&(pt.textRect=m.clone(dt)),pt.truncate=vt&&_e.get("ellipsis")?{outerWidth:Pt,outerHeight:St,minChar:2}:null}function at(pt,zt,It){var Pt=pt.text;if(!zt&&It.isLeafRoot&&Pt!=null){var St=Ae.get("drillDownIcon",!0);pt.text=St?St+" "+Pt:Pt}}function ft(pt,zt,It,Pt){var St=He!=null&&ge[pt][He],dt=fe[pt];return St?(ge[pt][He]=null,_t(dt,St,pt)):Be||(St=new zt({z:le(It,Pt)}),St.__tmDepth=It,St.__tmStorageName=pt,et(dt,St,pt)),he[pt][Me]=St}function _t(pt,zt,It){var Pt=pt[Me]={};Pt.old=It==="nodeGroup"?zt.position.slice():m.extend({},zt.shape)}function et(pt,zt,It){var Pt=pt[Me]={},St=Y.parentNode;if(St&&(!de||de.direction==="drillDown")){var dt=0,Le=0,_e=fe.background[St.getRawIndex()];!de&&_e&&_e.old&&(dt=_e.old.width,Le=_e.old.height),Pt.old=It==="nodeGroup"?[0,Le]:{x:dt,y:Le,width:0,height:0}}Pt.fadein=It!=="nodeGroup"}}function le(Ae,he){var ge=Ae*J+he;return(ge-1)/ge}A.exports=ie}),Hlt=Et(()=>{var o=xn(),A=eN(),f=function(){},m=["treemapZoomToNode","treemapRender","treemapMove"];for(C=0;C{var f=mi(),m=O1(),C=ja(),E=C.linearMap,I=f.each,x=f.isObject,y=-1,v=function(K){var X=K.mappingMethod,j=K.type,ee=this.option=f.clone(K);this.type=j,this.mappingMethod=X,this._normalizeData=N[X];var ie=w[j];this.applyVisual=ie.applyVisual,this.getColorMapper=ie.getColorMapper,this._doMap=ie._doMap[X],X==="piecewise"?(B(ee),Q(ee)):X==="category"?ee.categories?M(ee):B(ee,!0):(f.assert(X!=="linear"||ee.dataExtent),B(ee))};v.prototype={constructor:v,mapValueToVisual:function(K){var X=this._normalizeData(K);return this._doMap(X,K)},getNormalizer:function(){return f.bind(this._normalizeData,this)}};var w=v.visualHandlers={color:{applyVisual:P("color"),getColorMapper:function(){var K=this.option;return f.bind(K.mappingMethod==="category"?function(X,j){return!j&&(X=this._normalizeData(X)),R.call(this,X)}:function(X,j,ee){var ie=!!ee;return!j&&(X=this._normalizeData(X)),ee=m.fastLerp(X,K.parsedVisual,ee),ie?ee:m.stringify(ee,"rgba")},this)},_doMap:{linear:function(K){return m.stringify(m.fastLerp(K,this.option.parsedVisual),"rgba")},category:R,piecewise:function(K,X){var j=F.call(this,X);return j==null&&(j=m.stringify(m.fastLerp(K,this.option.parsedVisual),"rgba")),j},fixed:T}},colorHue:D(function(K,X){return m.modifyHSL(K,X)}),colorSaturation:D(function(K,X){return m.modifyHSL(K,null,X)}),colorLightness:D(function(K,X){return m.modifyHSL(K,null,null,X)}),colorAlpha:D(function(K,X){return m.modifyAlpha(K,X)}),opacity:{applyVisual:P("opacity"),_doMap:L([0,1])},liftZ:{applyVisual:P("liftZ"),_doMap:{linear:T,category:T,piecewise:T,fixed:T}},symbol:{applyVisual:function(K,X,j){var ee=this.mapValueToVisual(K);if(f.isString(ee))j("symbol",ee);else if(x(ee))for(var ie in ee)ee.hasOwnProperty(ie)&&j(ie,ee[ie])},_doMap:{linear:S,category:R,piecewise:function(K,X){var j=F.call(this,X);return j==null&&(j=S.call(this,K)),j},fixed:T}},symbolSize:{applyVisual:P("symbolSize"),_doMap:L([0,1])}};function Q(K){var X=K.pieceList;K.hasSpecialVisual=!1,f.each(X,function(j,ee){j.originIndex=ee,j.visual!=null&&(K.hasSpecialVisual=!0)})}function M(K){var X=K.categories,j=K.visual,ee=K.categoryMap={};if(I(X,function(oe,le){ee[oe]=le}),!f.isArray(j)){var ie=[];f.isObject(j)?I(j,function(oe,le){var Ae=ee[le];ie[Ae??y]=oe}):ie[y]=j,j=U(K,ie)}for(var z=X.length-1;z>=0;z--)j[z]==null&&(delete ee[X[z]],X.pop())}function B(K,X){var j=K.visual,ee=[];f.isObject(j)?I(j,function(z){ee.push(z)}):j!=null&&ee.push(j);var ie={color:1,symbol:1};!X&&ee.length===1&&!ie.hasOwnProperty(K.type)&&(ee[1]=ee[0]),U(K,ee)}function D(K){return{applyVisual:function(X,j,ee){X=this.mapValueToVisual(X),ee("color",K(j("color"),X))},_doMap:L([0,1])}}function S(K){var X=this.option.visual;return X[Math.round(E(K,[0,1],[0,X.length-1],!0))]||{}}function P(K){return function(X,j,ee){ee(K,this.mapValueToVisual(X))}}function R(K){var X=this.option.visual;return X[this.option.loop&&K!==y?K%X.length:K]}function T(){return this.option.visual[0]}function L(K){return{linear:function(X){return E(X,K,this.option.visual,!0)},category:R,piecewise:function(X,j){var ee=F.call(this,j);return ee==null&&(ee=E(X,K,this.option.visual,!0)),ee},fixed:T}}function F(K){var X=this.option,j=X.pieceList;if(X.hasSpecialVisual){var ee=v.findPieceIndex(K,j),ie=j[ee];if(ie&&ie.visual)return ie.visual[this.type]}}function U(K,X){return K.visual=X,K.type==="color"&&(K.parsedVisual=f.map(X,function(j){return m.parse(j)})),X}var N={linear:function(K){return E(K,this.option.dataExtent,[0,1],!0)},piecewise:function(K){var X=this.option.pieceList,j=v.findPieceIndex(K,X,!0);if(j!=null)return E(j,[0,X.length-1],[0,1],!0)},category:function(K){var X=this.option.categories?this.option.categoryMap[K]:K;return X??y},fixed:f.noop};v.listVisualTypes=function(){var K=[];return f.each(w,function(X,j){K.push(j)}),K},v.addVisualHandler=function(K,X){w[K]=X},v.isValidType=function(K){return w.hasOwnProperty(K)},v.eachVisual=function(K,X,j){f.isObject(K)?f.each(K,X,j):X.call(j,K)},v.mapVisual=function(K,X,j){var ee,ie=f.isArray(K)?[]:f.isObject(K)?{}:(ee=!0,null);return v.eachVisual(K,function(z,oe){var le=X.call(j,z,oe);ee?ie=le:ie[oe]=le}),ie},v.retrieveVisuals=function(K){var X={},j;return K&&I(w,function(ee,ie){K.hasOwnProperty(ie)&&(X[ie]=K[ie],j=!0)}),j?X:null},v.prepareVisualTypes=function(K){if(x(K)){var X=[];I(K,function(j,ee){X.push(ee)}),K=X}else if(f.isArray(K))K=K.slice();else return[];return K.sort(function(j,ee){return ee==="color"&&j!=="color"&&j.indexOf("color")===0?1:-1}),K},v.dependsOn=function(K,X){return X==="color"?!!(K&&K.indexOf(X)===0):K===X},v.findPieceIndex=function(K,X,j){for(var ee,ie=1/0,z=0,oe=X.length;z{var f=tN(),m=O1(),C=mi(),E=C.isArray,I="itemStyle",x={seriesType:"treemap",reset:function(P,R,T,L){var F=P.getData().tree,U=F.root,N=P.getModel(I);if(!U.isRemoved()){var H=C.map(F.levelModels,function(J){return J?J.get(I):null});y(U,{},H,N,P.getViewRoot().getAncestors(),P)}}};function y(P,R,T,L,F,U){var N=P.getModel(),H=P.getLayout();if(!(!H||H.invisible||!H.isInView)){var J=P.getModel(I),K=T[P.depth],X=v(J,R,K,L),j=J.get("borderColor"),ee=J.get("borderColorSaturation"),ie;ee!=null&&(ie=w(X,P),j=Q(ee,ie)),P.setVisual("borderColor",j);var z=P.viewChildren;if(!z||!z.length)ie=w(X,P),P.setVisual("color",ie);else{var oe=B(P,N,H,J,X,z);C.each(z,function(le,Ae){if(le.depth>=F.length||le===F[le.depth]){var he=S(N,X,le,Ae,oe,U);y(le,he,T,L,F,U)}})}}}function v(P,R,T,L){var F=C.extend({},R);return C.each(["color","colorAlpha","colorSaturation"],function(U){var N=P.get(U,!0);N==null&&T&&(N=T[U]),N==null&&(N=R[U]),N==null&&(N=L.get(U)),N!=null&&(F[U]=N)}),F}function w(P){var R=M(P,"color");if(R){var T=M(P,"colorAlpha"),L=M(P,"colorSaturation");return L&&(R=m.modifyHSL(R,null,null,L)),T&&(R=m.modifyAlpha(R,T)),R}}function Q(P,R){return R!=null?m.modifyHSL(R,null,null,P):null}function M(P,R){var T=P[R];if(T!=null&&T!=="none")return T}function B(P,R,T,L,F,U){if(!(!U||!U.length)){var N=D(R,"color")||F.color!=null&&F.color!=="none"&&(D(R,"colorAlpha")||D(R,"colorSaturation"));if(N){var H=R.get("visualMin"),J=R.get("visualMax"),K=T.dataExtent.slice();H!=null&&HK[1]&&(K[1]=J);var X=R.get("colorMappingBy"),j={type:N.name,dataExtent:K,visual:N.range};j.type==="color"&&(X==="index"||X==="id")?(j.mappingMethod="category",j.loop=!0):j.mappingMethod="linear";var ee=new f(j);return ee.__drColorMappingBy=X,ee}}}function D(P,R){var T=P.get(R);return E(T)&&T.length?{name:R,range:T}:null}function S(P,R,T,L,F,U){var N=C.extend({},R);if(F){var H=F.type,J=H==="color"&&F.__drColorMappingBy,K=J==="index"?L:J==="id"?U.mapIdToIndex(T.getId()):T.getValue(P.get("visualDimension"));N[H]=F.mapValueToVisual(K)}return N}A.exports=x}),zlt=Et((o,A)=>{var f=mi(),m=Eh(),C=ja(),E=C.parsePercent,I=C.MAX_SAFE_INTEGER,x=Wu(),y=eN(),v=Math.max,w=Math.min,Q=f.retrieve,M=f.each,B=["itemStyle","borderWidth"],D=["itemStyle","gapWidth"],S=["upperLabel","show"],P=["upperLabel","height"],R={seriesType:"treemap",reset:function(ie,z,oe,le){var Ae=oe.getWidth(),he=oe.getHeight(),ge=ie.option,de=x.getLayoutRect(ie.getBoxLayoutParams(),{width:oe.getWidth(),height:oe.getHeight()}),fe=ge.size||[],G=E(Q(de.width,fe[0]),Ae),Y=E(Q(de.height,fe[1]),he),W=le&&le.type,O=["treemapZoomToNode","treemapRootToNode"],re=y.retrieveTargetInfo(le,O,ie),se=W==="treemapRender"||W==="treemapMove"?le.rootRect:null,ce=ie.getViewRoot(),me=y.getPathToRoot(ce);if(W!=="treemapMove"){var Ce=W==="treemapZoomToNode"?K(ie,re,ce,G,Y):se?[se.width,se.height]:[G,Y],ye=ge.sort;ye&&ye!=="asc"&&ye!=="desc"&&(ye="desc");var Be={squareRatio:ge.squareRatio,sort:ye,leafDepth:ge.leafDepth};ce.hostTree.clearLayouts();var Me={x:0,y:0,width:Ce[0],height:Ce[1],area:Ce[0]*Ce[1]};ce.setLayout(Me),T(ce,Be,!1,0);var Me=ce.getLayout();M(me,function(ke,Ne){var Pe=(me[Ne+1]||ce).getValue();ke.setLayout(f.extend({dataExtent:[Pe,Pe],borderWidth:0,upperHeight:0},Me))})}var He=ie.getData().tree.root;He.setLayout(X(de,se,re),!0),ie.setLayoutInfo(de),j(He,new m(-de.x,-de.y,Ae,he),me,ce,0)}};function T(ie,z,oe,le){var Ae,he;if(!ie.isRemoved()){var ge=ie.getLayout();Ae=ge.width,he=ge.height;var re=ie.getModel(),de=re.get(B),fe=re.get(D)/2,G=ee(re),Y=Math.max(de,G),W=de-fe,O=Y-fe,re=ie.getModel();ie.setLayout({borderWidth:de,upperHeight:Y,upperLabelHeight:G},!0),Ae=v(Ae-2*W,0),he=v(he-W-O,0);var se=Ae*he,ce=L(ie,re,se,z,oe,le);if(ce.length){var me={x:W,y:O,width:Ae,height:he},Ce=w(Ae,he),ye=1/0,Be=[];Be.area=0;for(var Me=0,He=ce.length;Me=0;fe--){var G=Ae[le==="asc"?ge-fe-1:fe].getValue();G/oe*zde[1]&&(de[1]=Y)})}return{sum:le,dataExtent:de}}function H(ie,z,oe){for(var le=0,Ae=1/0,he=0,ge,de=ie.length;hele&&(le=ge));var fe=ie.area*ie.area,G=z*z*oe;return fe?v(G*le/fe,fe/(G*Ae)):1/0}function J(ie,z,oe,le,Ae){var he=z===oe.width?0:1,ge=1-he,de=["x","y"],fe=["width","height"],G=oe[de[he]],Y=z?ie.area/z:0;(Ae||Y>oe[fe[ge]])&&(Y=oe[fe[ge]]);for(var W=0,O=ie.length;WI&&(G=I),he=de}G{var o=xn();klt(),Glt(),Hlt();var A=Vlt(),f=zlt();o.registerVisual(A),o.registerLayout(f)}),Jlt=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=mi(),E=VS(),I=E.enableClassCheck;function x(D){return"_EC_"+D}var y=function(D){this._directed=D||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},v=y.prototype;v.type="graph",v.isDirected=function(){return this._directed},v.addNode=function(D,S){D=D==null?""+S:""+D;var P=this._nodesMap;if(!P[x(D)]){var R=new w(D,S);return R.hostGraph=this,this.nodes.push(R),P[x(D)]=R,R}},v.getNodeByIndex=function(D){var S=this.data.getRawIndex(D);return this.nodes[S]},v.getNodeById=function(D){return this._nodesMap[x(D)]},v.addEdge=function(D,S,P){var R=this._nodesMap,T=this._edgesMap;if(typeof D=="number"&&(D=this.nodes[D]),typeof S=="number"&&(S=this.nodes[S]),w.isInstance(D)||(D=R[x(D)]),w.isInstance(S)||(S=R[x(S)]),!(!D||!S)){var L=D.id+"-"+S.id;if(!T[L]){var F=new Q(D,S,P);return F.hostGraph=this,this._directed&&(D.outEdges.push(F),S.inEdges.push(F)),D.edges.push(F),D!==S&&S.edges.push(F),this.edges.push(F),T[L]=F,F}}},v.getEdgeByIndex=function(D){var S=this.edgeData.getRawIndex(D);return this.edges[S]},v.getEdge=function(D,S){w.isInstance(D)&&(D=D.id),w.isInstance(S)&&(S=S.id);var P=this._edgesMap;return this._directed?P[D+"-"+S]:P[D+"-"+S]||P[S+"-"+D]},v.eachNode=function(D,S){for(var P=this.nodes,R=P.length,T=0;T=0&&D.call(S,P[T],T)},v.eachEdge=function(D,S){for(var P=this.edges,R=P.length,T=0;T=0&&P[T].node1.dataIndex>=0&&P[T].node2.dataIndex>=0&&D.call(S,P[T],T)},v.breadthFirstTraverse=function(D,S,P,R){if(w.isInstance(S)||(S=this._nodesMap[x(S)]),!!S){for(var T=P==="out"?"outEdges":P==="in"?"inEdges":"edges",L=0;L=0&&U.node2.dataIndex>=0});for(var T=0,L=R.length;T=0&&this[D][S].setItemVisual(this.dataIndex,P,R)},getVisual:function(P,R){return this[D][S].getItemVisual(this.dataIndex,P,R)},setLayout:function(P,R){this.dataIndex>=0&&this[D][S].setItemLayout(this.dataIndex,P,R)},getLayout:function(){return this[D][S].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[D][S].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[D][S].getRawIndex(this.dataIndex)}}};C.mixin(w,M("hostGraph","data")),C.mixin(Q,M("hostGraph","edgeData")),y.Node=w,y.Edge=Q,I(w),I(Q);var B=y;A.exports=B}),R5e=Et((o,A)=>{var f=mi(),m=gv(),C=Jlt(),E=T5e(),I=_O(),x=cB(),y=YS();function v(w,Q,M,B,D){for(var S=new C(B),P=0;P "+N)),L++)}var H=M.get("coordinateSystem"),J;if(H==="cartesian2d"||H==="polar")J=y(w,M);else{var K=x.get(H),X=K&&K.type!=="view"?K.dimensions||[]:[];f.indexOf(X,"value")<0&&X.concat(["value"]);var j=I(w,{coordDimensions:X});J=new m(j,M),J.initData(w)}var ee=new m(["value"],M);return ee.initData(T,R),D&&D(J,ee),E({mainData:J,struct:S,structAttr:"graph",datas:{node:J,edge:ee},datasAttr:{node:"data",edge:"edgeData"}}),S.update(),S}A.exports=v}),Klt=Et((o,A)=>{var f=xn(),m=gv(),C=mi(),E=pl(),I=E.defaultEmphasis,x=Cg(),y=sc(),v=y.encodeHTML,w=R5e(),Q=T9(),M=f.extendSeriesModel({type:"series.graph",init:function(D){M.superApply(this,"init",arguments);var S=this;function P(){return S._categoriesData}this.legendVisualProvider=new Q(P,P),this.fillDataTextStyle(D.edges||D.links),this._updateCategoriesData()},mergeOption:function(D){M.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(D.edges||D.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(D){M.superApply(this,"mergeDefaultAndTheme",arguments),I(D,["edgeLabel"],["show"])},getInitialData:function(D,S){var P=D.edges||D.links||[],R=D.data||D.nodes||[],T=this;if(R&&P)return w(R,P,this,!0,L).data;function L(F,U){F.wrapMethod("getItemModel",function(j){var ee=T._categoriesModels,ie=j.getShallow("category"),z=ee[ie];return z&&(z.parentModel=j.parentModel,j.parentModel=z),j});var N=T.getModel("edgeLabel"),H=new x({label:N.option},N.parentModel,S),J=T.getModel("emphasis.edgeLabel"),K=new x({emphasis:{label:J.option}},J.parentModel,S);U.wrapMethod("getItemModel",function(j){return j.customizeGetParent(X),j});function X(j){return j=this.parsePath(j),j&&j[0]==="label"?H:j&&j[0]==="emphasis"&&j[1]==="label"?K:this.parentModel}}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(D,S,P){if(P==="edge"){var R=this.getData(),T=this.getDataParams(D,P),L=R.graph.getEdgeByIndex(D),F=R.getName(L.node1.dataIndex),U=R.getName(L.node2.dataIndex),N=[];return F!=null&&N.push(F),U!=null&&N.push(U),N=v(N.join(" > ")),T.value&&(N+=" : "+v(T.value)),N}else return M.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var D=C.map(this.option.categories||[],function(P){return P.value!=null?P:C.extend({value:0},P)}),S=new m(["value"],this);S.initData(D),this._categoriesData=S,this._categoriesModels=S.mapArray(function(P){return S.getItemModel(P,!0)})},setZoom:function(D){this.option.zoom=D},setCenter:function(D){this.option.center=D},isAnimationEnabled:function(){return M.superCall(this,"isAnimationEnabled")&&!(this.get("layout")==="force"&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,curveness:0,opacity:.5},emphasis:{label:{show:!0}}}}),B=M;A.exports=B}),Wlt=Et((o,A)=>{var f=po(),m=Zc(),C=f.Line.prototype,E=f.BezierCurve.prototype;function I(y){return isNaN(+y.cpx1)||isNaN(+y.cpy1)}var x=f.extendShape({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(y,v){this[I(v)?"_buildPathLine":"_buildPathCurve"](y,v)},_buildPathLine:C.buildPath,_buildPathCurve:E.buildPath,pointAt:function(y){return this[I(this.shape)?"_pointAtLine":"_pointAtCurve"](y)},_pointAtLine:C.pointAt,_pointAtCurve:E.pointAt,tangentAt:function(y){var v=this.shape,w=I(v)?[v.x2-v.x1,v.y2-v.y1]:this._tangentAtCurve(y);return m.normalize(w,w)},_tangentAtCurve:E.tangentAt});A.exports=x}),ehe=Et((o,A)=>{var f=mi(),m=Zc(),C=fv(),E=Wlt(),I=po(),x=ja(),y=x.round,v=["fromSymbol","toSymbol"];function w(T){return"_"+T+"Type"}function Q(T,L,F){var U=L.getItemVisual(F,"color"),N=L.getItemVisual(F,T),H=L.getItemVisual(F,T+"Size");if(!(!N||N==="none")){f.isArray(H)||(H=[H,H]);var J=C.createSymbol(N,-H[0]/2,-H[1]/2,H[0],H[1],U);return J.name=T,J}}function M(T){var L=new E({name:"line",subPixelOptimize:!0});return B(L.shape,T),L}function B(T,L){T.x1=L[0][0],T.y1=L[0][1],T.x2=L[1][0],T.y2=L[1][1],T.percent=1;var F=L[2];F?(T.cpx1=F[0],T.cpy1=F[1]):(T.cpx1=NaN,T.cpy1=NaN)}function D(){var T=this,L=T.childOfName("fromSymbol"),F=T.childOfName("toSymbol"),U=T.childOfName("label");if(!(!L&&!F&&U.ignore)){for(var N=1,H=this.parent;H;)H.scale&&(N/=H.scale[0]),H=H.parent;var J=T.childOfName("line");if(!(!this.__dirty&&!J.__dirty)){var K=J.shape.percent,X=J.pointAt(0),j=J.pointAt(K),ee=m.sub([],j,X);if(m.normalize(ee,ee),L){L.attr("position",X);var ie=J.tangentAt(0);L.attr("rotation",Math.PI/2-Math.atan2(ie[1],ie[0])),L.attr("scale",[N*K,N*K])}if(F){F.attr("position",j);var ie=J.tangentAt(1);F.attr("rotation",-Math.PI/2-Math.atan2(ie[1],ie[0])),F.attr("scale",[N*K,N*K])}if(!U.ignore){U.attr("position",j);var z,oe,le,Ae,he=U.__labelDistance,ge=he[0]*N,de=he[1]*N,fe=K/2,ie=J.tangentAt(fe),G=[ie[1],-ie[0]],Y=J.pointAt(fe);G[1]>0&&(G[0]=-G[0],G[1]=-G[1]);var W=ie[0]<0?-1:1;if(U.__position!=="start"&&U.__position!=="end"){var O=-Math.atan2(ie[1],ie[0]);j[0].8?"left":ee[0]<-.8?"right":"center",le=ee[1]>.8?"top":ee[1]<-.8?"bottom":"middle";break;case"start":z=[-ee[0]*ge+X[0],-ee[1]*de+X[1]],oe=ee[0]>.8?"right":ee[0]<-.8?"left":"center",le=ee[1]>.8?"bottom":ee[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":z=[ge*W+X[0],X[1]+re],oe=ie[0]<0?"right":"left",Ae=[-ge*W,-re];break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":z=[Y[0],Y[1]+re],oe="center",Ae=[0,-re];break;case"insideEndTop":case"insideEnd":case"insideEndBottom":z=[-ge*W+j[0],j[1]+re],oe=ie[0]>=0?"right":"left",Ae=[ge*W,-re];break}U.attr({style:{textVerticalAlign:U.__verticalAlign||le,textAlign:U.__textAlign||oe},position:z,scale:[N,N],origin:Ae})}}}}function S(T,L,F){I.Group.call(this),this._createLine(T,L,F)}var P=S.prototype;P.beforeUpdate=D,P._createLine=function(T,L,F){var U=T.hostModel,N=T.getItemLayout(L),H=M(N);H.shape.percent=0,I.initProps(H,{shape:{percent:1}},U,L),this.add(H);var J=new I.Text({name:"label",lineLabelOriginalOpacity:1});this.add(J),f.each(v,function(K){var X=Q(K,T,L);this.add(X),this[w(K)]=T.getItemVisual(L,K)},this),this._updateCommonStl(T,L,F)},P.updateData=function(T,L,F){var U=T.hostModel,N=this.childOfName("line"),H=T.getItemLayout(L),J={shape:{}};B(J.shape,H),I.updateProps(N,J,U,L),f.each(v,function(K){var X=T.getItemVisual(L,K),j=w(K);if(this[j]!==X){this.remove(this.childOfName(K));var ee=Q(K,T,L);this.add(ee)}this[j]=X},this),this._updateCommonStl(T,L,F)},P._updateCommonStl=function(T,L,F){var U=T.hostModel,N=this.childOfName("line"),H=F&&F.lineStyle,J=F&&F.hoverLineStyle,K=F&&F.labelModel,X=F&&F.hoverLabelModel;if(!F||T.hasItemOption){var j=T.getItemModel(L);H=j.getModel("lineStyle").getLineStyle(),J=j.getModel("emphasis.lineStyle").getLineStyle(),K=j.getModel("label"),X=j.getModel("emphasis.label")}var ee=T.getItemVisual(L,"color"),ie=f.retrieve3(T.getItemVisual(L,"opacity"),H.opacity,1);N.useStyle(f.defaults({strokeNoScale:!0,fill:"none",stroke:ee,opacity:ie},H)),N.hoverStyle=J,f.each(v,function(W){var O=this.childOfName(W);O&&(O.setColor(ee),O.setStyle({opacity:ie}))},this);var z=K.getShallow("show"),oe=X.getShallow("show"),le=this.childOfName("label"),Ae,he;if((z||oe)&&(Ae=ee||"#000",he=U.getFormattedLabel(L,"normal",T.dataType),he==null)){var ge=U.getRawValue(L);he=ge==null?T.getName(L):isFinite(ge)?y(ge):ge}var de=z?he:null,fe=oe?f.retrieve2(U.getFormattedLabel(L,"emphasis",T.dataType),he):null,G=le.style;if(de!=null||fe!=null){I.setTextStyle(le.style,K,{text:de},{autoColor:Ae}),le.__textAlign=G.textAlign,le.__verticalAlign=G.textVerticalAlign,le.__position=K.get("position")||"middle";var Y=K.get("distance");f.isArray(Y)||(Y=[Y,Y]),le.__labelDistance=Y}fe!=null?le.hoverStyle={text:fe,textFill:X.getTextColor(!0),fontStyle:X.getShallow("fontStyle"),fontWeight:X.getShallow("fontWeight"),fontSize:X.getShallow("fontSize"),fontFamily:X.getShallow("fontFamily")}:le.hoverStyle={text:null},le.ignore=!z&&!oe,I.setHoverStyle(this)},P.highlight=function(){this.trigger("emphasis")},P.downplay=function(){this.trigger("normal")},P.updateLayout=function(T,L){this.setLinePoints(T.getItemLayout(L))},P.setLinePoints=function(T){var L=this.childOfName("line");B(L.shape,T),L.dirty()},f.inherits(S,I.Group);var R=S;A.exports=R}),the=Et((o,A)=>{var f=po(),m=ehe();function C(B){this._ctor=B||m,this.group=new f.Group}var E=C.prototype;E.isPersistent=function(){return!0},E.updateData=function(B){var D=this,S=D.group,P=D._lineData;D._lineData=B,P||S.removeAll();var R=v(B);B.diff(P).add(function(T){I(D,B,T,R)}).update(function(T,L){x(D,P,B,L,T,R)}).remove(function(T){S.remove(P.getItemGraphicEl(T))}).execute()};function I(B,D,S,P){var R=D.getItemLayout(S);if(Q(R)){var T=new B._ctor(D,S,P);D.setItemGraphicEl(S,T),B.group.add(T)}}function x(B,D,S,P,R,T){var L=D.getItemGraphicEl(P);if(!Q(S.getItemLayout(R))){B.group.remove(L);return}L?L.updateData(S,R,T):L=new B._ctor(S,R,T),S.setItemGraphicEl(R,L),B.group.add(L)}E.updateLayout=function(){var B=this._lineData;B&&B.eachItemGraphicEl(function(D,S){D.updateLayout(B,S)},this)},E.incrementalPrepareUpdate=function(B){this._seriesScope=v(B),this._lineData=null,this.group.removeAll()};function y(B){return B.animators&&B.animators.length>0}E.incrementalUpdate=function(B,D){function S(L){!L.isGroup&&!y(L)&&(L.incremental=L.useHoverLayer=!0)}for(var P=B.start;P{function A(m){var C=m.coordinateSystem;if(C.type!=="view")return 1;var E=m.option.nodeScaleRatio,I=C.scale,x=I&&I[0]||1,y=C.getZoom(),v=(y-1)*E+1;return v/x}function f(m){var C=m.getVisual("symbolSize");return C instanceof Array&&(C=(C[0]+C[1])/2),+C}o.getNodeGlobalScale=A,o.getSymbolSize=f}),qlt=Et((o,A)=>{var f=K2(),m=Zc(),C=ihe(),E=C.getSymbolSize,I=[],x=[],y=[],v=f.quadraticAt,w=m.distSquare,Q=Math.abs;function M(D,S,P){for(var R=D[0],T=D[1],L=D[2],F=1/0,U,N=P*P,H=.1,J=.1;J<=.9;J+=.1){I[0]=v(R[0],T[0],L[0],J),I[1]=v(R[1],T[1],L[1],J);var K=Q(w(I,S)-N);K=0?U=U+H:U=U-H:ee>=0?U=U-H:U=U+H}return U}function B(D,S){var P=[],R=f.quadraticSubdivide,T=[[],[],[]],L=[[],[]],F=[];S/=2,D.eachEdge(function(U,N){var H=U.getLayout(),J=U.getVisual("fromSymbol"),K=U.getVisual("toSymbol");H.__original||(H.__original=[m.clone(H[0]),m.clone(H[1])],H[2]&&H.__original.push(m.clone(H[2])));var X=H.__original;if(H[2]!=null){if(m.copy(T[0],X[0]),m.copy(T[1],X[2]),m.copy(T[2],X[1]),J&&J!=="none"){var j=E(U.node1),ee=M(T,X[0],j*S);R(T[0][0],T[1][0],T[2][0],ee,P),T[0][0]=P[3],T[1][0]=P[4],R(T[0][1],T[1][1],T[2][1],ee,P),T[0][1]=P[3],T[1][1]=P[4]}if(K&&K!=="none"){var j=E(U.node2),ee=M(T,X[1],j*S);R(T[0][0],T[1][0],T[2][0],ee,P),T[1][0]=P[1],T[2][0]=P[2],R(T[0][1],T[1][1],T[2][1],ee,P),T[1][1]=P[1],T[2][1]=P[2]}m.copy(H[0],T[0]),m.copy(H[1],T[2]),m.copy(H[2],T[1])}else{if(m.copy(L[0],X[0]),m.copy(L[1],X[1]),m.sub(F,L[1],L[0]),m.normalize(F,F),J&&J!=="none"){var j=E(U.node1);m.scaleAndAdd(L[0],L[0],F,j*S)}if(K&&K!=="none"){var j=E(U.node2);m.scaleAndAdd(L[1],L[1],F,-j*S)}m.copy(H[0],L[0]),m.copy(H[1],L[1])}})}A.exports=B}),jlt=Et((o,A)=>{var f=xn(),m=mi(),C=Q9(),E=the(),I=R9(),x=qce(),y=wZ(),v=y.onIrrelevantElement,w=po(),Q=qlt(),M=ihe(),B=M.getNodeGlobalScale,D="__focusNodeAdjacency",S="__unfocusNodeAdjacency",P=["itemStyle","opacity"],R=["lineStyle","opacity"];function T(N,H){var J=N.getVisual("opacity");return J??N.getModel().get(H)}function L(N,H,J){var K=N.getGraphicEl(),X=T(N,H);J!=null&&(X==null&&(X=1),X*=J),K.downplay&&K.downplay(),K.traverse(function(j){if(!j.isGroup){var ee=j.lineLabelOriginalOpacity;(ee==null||J!=null)&&(ee=X),j.setStyle("opacity",ee)}})}function F(N,H){var J=T(N,H),K=N.getGraphicEl();K.traverse(function(X){!X.isGroup&&X.setStyle("opacity",J)}),K.highlight&&K.highlight()}var U=f.extendChartView({type:"graph",init:function(N,H){var J=new C,K=new E,X=this.group;this._controller=new I(H.getZr()),this._controllerHost={target:X},X.add(J.group),X.add(K.group),this._symbolDraw=J,this._lineDraw=K,this._firstRender=!0},render:function(N,H,J){var K=this,X=N.coordinateSystem;this._model=N;var j=this._symbolDraw,ee=this._lineDraw,ie=this.group;if(X.type==="view"){var z={position:X.position,scale:X.scale};this._firstRender?ie.attr(z):w.updateProps(ie,z,N)}Q(N.getGraph(),B(N));var oe=N.getData();j.updateData(oe);var le=N.getEdgeData();ee.updateData(le),this._updateNodeAndLinkScale(),this._updateController(N,H,J),clearTimeout(this._layoutTimeout);var Ae=N.forceLayout,he=N.get("force.layoutAnimation");Ae&&this._startForceLayoutIteration(Ae,he),oe.eachItemGraphicEl(function(G,Y){var W=oe.getItemModel(Y);G.off("drag").off("dragend");var O=W.get("draggable");O&&G.on("drag",function(){Ae&&(Ae.warmUp(),!this._layouting&&this._startForceLayoutIteration(Ae,he),Ae.setFixed(Y),oe.setItemLayout(Y,G.position))},this).on("dragend",function(){Ae&&Ae.setUnfixed(Y)},this),G.setDraggable(O&&Ae),G[D]&&G.off("mouseover",G[D]),G[S]&&G.off("mouseout",G[S]),W.get("focusNodeAdjacency")&&(G.on("mouseover",G[D]=function(){K._clearTimer(),J.dispatchAction({type:"focusNodeAdjacency",seriesId:N.id,dataIndex:G.dataIndex})}),G.on("mouseout",G[S]=function(){K._dispatchUnfocus(J)}))},this),oe.graph.eachEdge(function(G){var Y=G.getGraphicEl();Y[D]&&Y.off("mouseover",Y[D]),Y[S]&&Y.off("mouseout",Y[S]),G.getModel().get("focusNodeAdjacency")&&(Y.on("mouseover",Y[D]=function(){K._clearTimer(),J.dispatchAction({type:"focusNodeAdjacency",seriesId:N.id,edgeDataIndex:G.dataIndex})}),Y.on("mouseout",Y[S]=function(){K._dispatchUnfocus(J)}))});var ge=N.get("layout")==="circular"&&N.get("circular.rotateLabel"),de=oe.getLayout("cx"),fe=oe.getLayout("cy");oe.eachItemGraphicEl(function(G,Y){var W=oe.getItemModel(Y),O=W.get("label.rotate")||0,re=G.getSymbolPath();if(ge){var se=oe.getItemLayout(Y),ce=Math.atan2(se[1]-fe,se[0]-de);ce<0&&(ce=Math.PI*2+ce);var me=se[0]{var o=xn();o.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},function(){}),o.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},function(){})}),Xlt=Et(()=>{var o=xn(),A=jce(),f=A.updateCenterAndZoom;L5e();var m={type:"graphRoam",event:"graphRoam",update:"none"};o.registerAction(m,function(C,E){E.eachComponent({mainType:"series",query:C},function(I){var x=I.coordinateSystem,y=f(x,C);I.setCenter&&I.setCenter(y.center),I.setZoom&&I.setZoom(y.zoom)})})}),Zlt=Et((o,A)=>{function f(m){var C=m.findComponents({mainType:"legend"});!C||!C.length||m.eachSeriesByType("graph",function(E){var I=E.getCategoriesData(),x=E.getGraph(),y=x.data,v=I.mapArray(I.getName);y.filterSelf(function(w){var Q=y.getItemModel(w),M=Q.getShallow("category");if(M!=null){typeof M=="number"&&(M=v[M]);for(var B=0;B{function f(m){var C={};m.eachSeriesByType("graph",function(E){var I=E.getCategoriesData(),x=E.getData(),y={};I.each(function(v){var w=I.getName(v);y["ec-"+w]=v;var Q=I.getItemModel(v),M=Q.get("itemStyle.color")||E.getColorFromPalette(w,C);I.setItemVisual(v,"color",M);for(var B=["opacity","symbol","symbolSize","symbolKeepAspect"],D=0;D{function f(C){return C instanceof Array||(C=[C,C]),C}function m(C){C.eachSeriesByType("graph",function(E){var I=E.getGraph(),x=E.getEdgeData(),y=f(E.get("edgeSymbol")),v=f(E.get("edgeSymbolSize")),w="lineStyle.color".split("."),Q="lineStyle.opacity".split(".");x.setVisual("fromSymbol",y&&y[0]),x.setVisual("toSymbol",y&&y[1]),x.setVisual("fromSymbolSize",v&&v[0]),x.setVisual("toSymbolSize",v&&v[1]),x.setVisual("color",E.get(w)),x.setVisual("opacity",E.get(Q)),x.each(function(M){var B=x.getItemModel(M),D=I.getEdgeByIndex(M),S=f(B.getShallow("symbol",!0)),P=f(B.getShallow("symbolSize",!0)),R=B.get(w),T=B.get(Q);switch(R){case"source":R=D.node1.getVisual("color");break;case"target":R=D.node2.getVisual("color");break}S[0]&&D.setVisual("fromSymbol",S[0]),S[1]&&D.setVisual("toSymbol",S[1]),P[0]&&D.setVisual("fromSymbolSize",P[0]),P[1]&&D.setVisual("toSymbolSize",P[1]),D.setVisual("color",R),D.setVisual("opacity",T)})})}A.exports=m}),F5e=Et(o=>{var A=Zc();function f(C){var E=C.coordinateSystem;if(!(E&&E.type!=="view")){var I=C.getGraph();I.eachNode(function(x){var y=x.getModel();x.setLayout([+y.get("x"),+y.get("y")])}),m(I)}}function m(C){C.eachEdge(function(E){var I=E.getModel().get("lineStyle.curveness")||0,x=A.clone(E.node1.getLayout()),y=A.clone(E.node2.getLayout()),v=[x,y];+I&&v.push([(x[0]+y[0])/2-(x[1]-y[1])*I,(x[1]+y[1])/2-(y[0]-x[0])*I]),E.setLayout(v)})}o.simpleLayout=f,o.simpleLayoutEdge=m}),tAt=Et((o,A)=>{var f=mi(),m=f.each,C=F5e(),E=C.simpleLayout,I=C.simpleLayoutEdge;function x(y,v){y.eachSeriesByType("graph",function(w){var Q=w.get("layout"),M=w.coordinateSystem;if(M&&M.type!=="view"){var B=w.getData(),D=[];m(M.dimensions,function(F){D=D.concat(B.mapDimension(F,!0))});for(var S=0;S{var A=Zc(),f=ihe(),m=f.getSymbolSize,C=f.getNodeGlobalScale,E=Math.PI,I=[];function x(v,w){var Q=v.coordinateSystem;if(!(Q&&Q.type!=="view")){var M=Q.getBoundingRect(),B=v.getData(),D=B.graph,S=M.width/2+M.x,P=M.height/2+M.y,R=Math.min(M.width,M.height)/2,T=B.count();B.setLayout({cx:S,cy:P}),T&&(y[w](v,Q,D,B,R,S,P,T),D.eachEdge(function(L){var F=L.getModel().get("lineStyle.curveness")||0,U=A.clone(L.node1.getLayout()),N=A.clone(L.node2.getLayout()),H,J=(U[0]+N[0])/2,K=(U[1]+N[1])/2;+F&&(F*=3,H=[S*F+J*(1-F),P*F+K*(1-F)]),L.setLayout([U,N,H])}))}}var y={value:function(v,w,Q,M,B,D,S,P){var R=0,T=M.getSum("value"),L=Math.PI*2/(T||P);Q.eachNode(function(F){var U=F.getValue("value"),N=L*(T?U:1)/2;R+=N,F.setLayout([B*Math.cos(R)+D,B*Math.sin(R)+S]),R+=N})},symbolSize:function(v,w,Q,M,B,D,S,P){var R=0;I.length=P;var T=C(v);Q.eachNode(function(U){var N=m(U);isNaN(N)&&(N=2),N<0&&(N=0),N*=T;var H=Math.asin(N/2/B);isNaN(H)&&(H=E/2),I[U.dataIndex]=H,R+=H*2});var L=(2*E-R)/P/2,F=0;Q.eachNode(function(U){var N=L+I[U.dataIndex];F+=N,U.setLayout([B*Math.cos(F)+D,B*Math.sin(F)+S]),F+=N})}};o.circularLayout=x}),iAt=Et((o,A)=>{var f=N5e(),m=f.circularLayout;function C(E){E.eachSeriesByType("graph",function(I){I.get("layout")==="circular"&&m(I,"symbolSize")})}A.exports=C}),rAt=Et(o=>{var A=Zc(),f=A.scaleAndAdd;function m(C,E,I){for(var x=I.rect,y=x.width,v=x.height,w=[x.x+y/2,x.y+v/2],Q=I.gravity==null?.1:I.gravity,M=0;M{var f=rAt(),m=f.forceLayout,C=F5e(),E=C.simpleLayout,I=N5e(),x=I.circularLayout,y=ja(),v=y.linearMap,w=Zc(),Q=mi();function M(B){B.eachSeriesByType("graph",function(D){var S=D.coordinateSystem;if(!(S&&S.type!=="view"))if(D.get("layout")==="force"){var P=D.preservedPoints||{},R=D.getGraph(),T=R.data,L=R.edgeData,F=D.getModel("force"),U=F.get("initLayout");D.preservedPoints?T.each(function(le){var Ae=T.getId(le);T.setItemLayout(le,P[Ae]||[NaN,NaN])}):!U||U==="none"?E(D):U==="circular"&&x(D,"value");var N=T.getDataExtent("value"),H=L.getDataExtent("value"),J=F.get("repulsion"),K=F.get("edgeLength");Q.isArray(J)||(J=[J,J]),Q.isArray(K)||(K=[K,K]),K=[K[1],K[0]];var X=T.mapArray("value",function(le,Ae){var he=T.getItemLayout(Ae),ge=v(le,N,J);return isNaN(ge)&&(ge=(J[0]+J[1])/2),{w:ge,rep:ge,fixed:T.getItemModel(Ae).get("fixed"),p:!he||isNaN(he[0])||isNaN(he[1])?null:he}}),j=L.mapArray("value",function(le,Ae){var he=R.getEdgeByIndex(Ae),ge=v(le,H,K);isNaN(ge)&&(ge=(K[0]+K[1])/2);var de=he.getModel();return{n1:X[he.node1.dataIndex],n2:X[he.node2.dataIndex],d:ge,curveness:de.get("lineStyle.curveness")||0,ignoreForceLayout:de.get("ignoreForceLayout")}}),S=D.coordinateSystem,ee=S.getBoundingRect(),ie=m(X,j,{rect:ee,gravity:F.get("gravity"),friction:F.get("friction")}),z=ie.step;ie.step=function(le){for(var Ae=0,he=X.length;Ae{var f=Xce(),m=Wu(),C=m.getLayoutRect,E=v9();function I(y,v,w){var Q=y.getBoxLayoutParams();return Q.aspect=w,C(Q,{width:v.getWidth(),height:v.getHeight()})}function x(y,v){var w=[];return y.eachSeriesByType("graph",function(Q){var M=Q.get("coordinateSystem");if(!M||M==="view"){var B=Q.getData(),D=B.mapArray(function(J){var K=B.getItemModel(J);return[+K.get("x"),+K.get("y")]}),S=[],P=[];E.fromPoints(D,S,P),P[0]-S[0]===0&&(P[0]+=1,S[0]-=1),P[1]-S[1]===0&&(P[1]+=1,S[1]-=1);var R=(P[0]-S[0])/(P[1]-S[1]),T=I(Q,v,R);isNaN(R)&&(S=[T.x,T.y],P=[T.x+T.width,T.y+T.height]);var L=P[0]-S[0],F=P[1]-S[1],U=T.width,N=T.height,H=Q.coordinateSystem=new f;H.zoomLimit=Q.get("scaleLimit"),H.setBoundingRect(S[0],S[1],L,F),H.setViewRect(T.x,T.y,U,N),H.setCenter(Q.get("center")),H.setZoom(Q.get("zoom")),w.push(H)}}),w}A.exports=x}),aAt=Et(()=>{var o=xn();Klt(),jlt(),Xlt();var A=Zlt(),f=ZF(),m=$lt(),C=eAt(),E=tAt(),I=iAt(),x=nAt(),y=oAt();o.registerProcessor(A),o.registerVisual(f("graph","circle",null)),o.registerVisual(m),o.registerVisual(C),o.registerLayout(E),o.registerLayout(o.PRIORITY.VISUAL.POST_CHART_LAYOUT,I),o.registerLayout(x),o.registerCoordinateSystem("graphView",{create:y})}),sAt=Et((o,A)=>{var f=wO(),m=bf(),C=m.extend({type:"series.gauge",getInitialData:function(I,x){return f(this,["value"])},defaultOption:{zlevel:0,z:2,center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,lineStyle:{color:[[.2,"#91c7ae"],[.8,"#63869e"],[1,"#c23531"]],width:30}},splitLine:{show:!0,length:30,lineStyle:{color:"#eee",width:2,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:8,lineStyle:{color:"#eee",width:1,type:"solid"}},axisLabel:{show:!0,distance:5,color:"auto"},pointer:{show:!0,length:"80%",width:8},itemStyle:{color:"auto"},title:{show:!0,offsetCenter:[0,"-40%"],color:"#333",fontSize:15},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"auto",fontSize:30}}}),E=C;A.exports=E}),lAt=Et((o,A)=>{var f=Yd(),m=f.extend({type:"echartsGaugePointer",shape:{angle:0,width:10,r:10,x:0,y:0},buildPath:function(C,E){var I=Math.cos,x=Math.sin,y=E.r,v=E.width,w=E.angle,Q=E.x-I(w)*v*(v>=y/3?1:2),M=E.y-x(w)*v*(v>=y/3?1:2);w=E.angle-Math.PI/2,C.moveTo(Q,M),C.lineTo(E.x+I(w)*v,E.y+x(w)*v),C.lineTo(E.x+I(E.angle)*y,E.y+x(E.angle)*y),C.lineTo(E.x-I(w)*v,E.y-x(w)*v),C.lineTo(Q,M)}});A.exports=m}),AAt=Et((o,A)=>{var f=lAt(),m=po(),C=G1(),E=ja(),I=E.parsePercent,x=E.round,y=E.linearMap;function v(D,S){var P=D.get("center"),R=S.getWidth(),T=S.getHeight(),L=Math.min(R,T),F=I(P[0],S.getWidth()),U=I(P[1],S.getHeight()),N=I(D.get("radius"),L/2);return{cx:F,cy:U,r:N}}function w(D,S){return S&&(typeof S=="string"?D=S.replace("{value}",D??""):typeof S=="function"&&(D=S(D))),D}var Q=Math.PI*2,M=C.extend({type:"gauge",render:function(D,S,P){this.group.removeAll();var R=D.get("axisLine.lineStyle.color"),T=v(D,P);this._renderMain(D,S,P,R,T)},dispose:function(){},_renderMain:function(D,S,P,R,T){for(var L=this.group,F=D.getModel("axisLine"),U=F.getModel("lineStyle"),N=D.get("clockwise"),H=-D.get("startAngle")/180*Math.PI,J=-D.get("endAngle")/180*Math.PI,K=(J-H)%Q,X=H,j=U.get("width"),ee=F.get("show"),ie=0;ee&&ie=he&&(ge===0?0:R[ge-1][0]).4?"bottom":"middle",textAlign:O<-.4?"left":O>.4?"right":"center"},{autoColor:Ce}),silent:!0}))}if(ie.get("show")&&W!==oe){for(var ye=0;ye<=le;ye++){var O=Math.cos(ge),re=Math.sin(ge),Be=new m.Line({shape:{x1:O*K+H,y1:re*K+J,x2:O*(K-he)+H,y2:re*(K-he)+J},silent:!0,style:Y});Y.stroke==="auto"&&Be.setStyle({stroke:R((W+ye/le)/oe)}),N.add(Be),ge+=fe}ge-=fe}else ge+=de}},_renderPointer:function(D,S,P,R,T,L,F,U){var N=this.group,H=this._data;if(!D.get("pointer.show")){H&&H.eachItemGraphicEl(function(ee){N.remove(ee)});return}var J=[+D.get("min"),+D.get("max")],K=[L,F],X=D.getData(),j=X.mapDimension("value");X.diff(H).add(function(ee){var ie=new f({shape:{angle:L}});m.initProps(ie,{shape:{angle:y(X.get(j,ee),J,K,!0)}},D),N.add(ie),X.setItemGraphicEl(ee,ie)}).update(function(ee,ie){var z=H.getItemGraphicEl(ie);m.updateProps(z,{shape:{angle:y(X.get(j,ee),J,K,!0)}},D),N.add(z),X.setItemGraphicEl(ee,z)}).remove(function(ee){var ie=H.getItemGraphicEl(ee);N.remove(ie)}).execute(),X.eachItemGraphicEl(function(ee,ie){var z=X.getItemModel(ie),oe=z.getModel("pointer");ee.setShape({x:T.cx,y:T.cy,width:I(oe.get("width"),T.r),r:I(oe.get("length"),T.r)}),ee.useStyle(z.getModel("itemStyle").getItemStyle()),ee.style.fill==="auto"&&ee.setStyle("fill",R(y(X.get(j,ie),J,[0,1],!0))),m.setHoverStyle(ee,z.getModel("emphasis.itemStyle").getItemStyle())}),this._data=X},_renderTitle:function(D,S,P,R,T){var L=D.getData(),F=L.mapDimension("value"),U=D.getModel("title");if(U.get("show")){var N=U.get("offsetCenter"),H=T.cx+I(N[0],T.r),J=T.cy+I(N[1],T.r),K=+D.get("min"),X=+D.get("max"),j=D.getData().get(F,0),ee=R(y(j,[K,X],[0,1],!0));this.group.add(new m.Text({silent:!0,style:m.setTextStyle({},U,{x:H,y:J,text:L.getName(0),textAlign:"center",textVerticalAlign:"middle"},{autoColor:ee,forceRich:!0})}))}},_renderDetail:function(D,S,P,R,T){var L=D.getModel("detail"),F=+D.get("min"),U=+D.get("max");if(L.get("show")){var N=L.get("offsetCenter"),H=T.cx+I(N[0],T.r),J=T.cy+I(N[1],T.r),K=I(L.get("width"),T.r),X=I(L.get("height"),T.r),j=D.getData(),ee=j.get(j.mapDimension("value"),0),ie=R(y(ee,[F,U],[0,1],!0));this.group.add(new m.Text({silent:!0,style:m.setTextStyle({},L,{x:H,y:J,text:w(ee,L.get("formatter")),textWidth:isNaN(K)?null:K,textHeight:isNaN(X)?null:X,textAlign:"center",textVerticalAlign:"middle"},{autoColor:ie,forceRich:!0})}))}}}),B=M;A.exports=B}),uAt=Et(()=>{sAt(),AAt()}),cAt=Et((o,A)=>{var f=xn(),m=mi(),C=wO(),E=pl(),I=E.defaultEmphasis,x=zS(),y=x.makeSeriesEncodeForNameBased,v=T9(),w=f.extendSeriesModel({type:"series.funnel",init:function(M){w.superApply(this,"init",arguments),this.legendVisualProvider=new v(m.bind(this.getData,this),m.bind(this.getRawData,this)),this._defaultLabelLine(M)},getInitialData:function(M,B){return C(this,{coordDimensions:["value"],encodeDefaulter:m.curry(y,this)})},_defaultLabelLine:function(M){I(M,"labelLine",["show"]);var B=M.labelLine,D=M.emphasis.labelLine;B.show=B.show&&M.label.show,D.show=D.show&&M.emphasis.label.show},getDataParams:function(M){var B=this.getData(),D=w.superCall(this,"getDataParams",M),S=B.mapDimension("value"),P=B.getSum(S);return D.percent=P?+(B.get(S,M)/P*100).toFixed(2):0,D.$vars.push("percent"),D},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1,type:"solid"}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}}}}),Q=w;A.exports=Q}),hAt=Et((o,A)=>{var f=po(),m=mi(),C=G1();function E(w,Q){f.Group.call(this);var M=new f.Polygon,B=new f.Polyline,D=new f.Text;this.add(M),this.add(B),this.add(D),this.highDownOnUpdate=function(S,P){P==="emphasis"?(B.ignore=B.hoverIgnore,D.ignore=D.hoverIgnore):(B.ignore=B.normalIgnore,D.ignore=D.normalIgnore)},this.updateData(w,Q,!0)}var I=E.prototype,x=["itemStyle","opacity"];I.updateData=function(w,Q,M){var B=this.childAt(0),D=w.hostModel,S=w.getItemModel(Q),P=w.getItemLayout(Q),R=w.getItemModel(Q).get(x);R=R??1,B.useStyle({}),M?(B.setShape({points:P.points}),B.setStyle({opacity:0}),f.initProps(B,{style:{opacity:R}},D,Q)):f.updateProps(B,{style:{opacity:R},shape:{points:P.points}},D,Q);var T=S.getModel("itemStyle"),L=w.getItemVisual(Q,"color");B.setStyle(m.defaults({lineJoin:"round",fill:L},T.getItemStyle(["opacity"]))),B.hoverStyle=T.getModel("emphasis").getItemStyle(),this._updateLabel(w,Q),f.setHoverStyle(this)},I._updateLabel=function(w,Q){var M=this.childAt(1),B=this.childAt(2),D=w.hostModel,S=w.getItemModel(Q),P=w.getItemLayout(Q),R=P.label,N=w.getItemVisual(Q,"color");f.updateProps(M,{shape:{points:R.linePoints||R.linePoints}},D,Q),f.updateProps(B,{style:{x:R.x,y:R.y}},D,Q),B.attr({rotation:R.rotation,origin:[R.x,R.y],z2:10});var T=S.getModel("label"),L=S.getModel("emphasis.label"),F=S.getModel("labelLine"),U=S.getModel("emphasis.labelLine"),N=w.getItemVisual(Q,"color");f.setLabelStyle(B.style,B.hoverStyle={},T,L,{labelFetcher:w.hostModel,labelDataIndex:Q,defaultText:w.getName(Q),autoColor:N,useInsideStyle:!!R.inside},{textAlign:R.textAlign,textVerticalAlign:R.verticalAlign}),B.ignore=B.normalIgnore=!T.get("show"),B.hoverIgnore=!L.get("show"),M.ignore=M.normalIgnore=!F.get("show"),M.hoverIgnore=!U.get("show"),M.setStyle({stroke:N}),M.setStyle(F.getModel("lineStyle").getLineStyle()),M.hoverStyle=U.getModel("lineStyle").getLineStyle()},m.inherits(E,f.Group);var y=C.extend({type:"funnel",render:function(w,Q,M){var B=w.getData(),D=this._data,S=this.group;B.diff(D).add(function(P){var R=new E(B,P);B.setItemGraphicEl(P,R),S.add(R)}).update(function(P,R){var T=D.getItemGraphicEl(R);T.updateData(B,P),S.add(T),B.setItemGraphicEl(P,T)}).remove(function(P){var R=D.getItemGraphicEl(P);S.remove(R)}).execute(),this._data=B},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}}),v=y;A.exports=v}),dAt=Et((o,A)=>{var f=Wu(),m=ja(),C=m.parsePercent,E=m.linearMap;function I(w,Q){return f.getLayoutRect(w.getBoxLayoutParams(),{width:Q.getWidth(),height:Q.getHeight()})}function x(w,Q){for(var M=w.mapDimension("value"),B=w.mapArray(M,function(T){return T}),D=[],S=Q==="ascending",P=0,R=w.count();P{var o=xn();cAt(),hAt();var A=_Z(),f=dAt(),m=P9();o.registerVisual(A("funnel")),o.registerLayout(f),o.registerProcessor(m("funnel"))}),fAt=Et((o,A)=>{var f=mi(),m=pl();function C(x){E(x),I(x)}function E(x){if(!x.parallel){var y=!1;f.each(x.series,function(v){v&&v.type==="parallel"&&(y=!0)}),y&&(x.parallel=[{}])}}function I(x){var y=m.normalizeToArray(x.parallelAxis);f.each(y,function(v){if(f.isObject(v)){var w=v.parallelIndex||0,Q=m.normalizeToArray(x.parallel)[w];Q&&Q.parallelAxisDefault&&f.merge(v,Q.parallelAxisDefault,!1)}})}A.exports=C}),pAt=Et((o,A)=>{var f=mi(),m=j2(),C=function(I,x,y,v,w){m.call(this,I,x,y),this.type=v||"value",this.axisIndex=w};C.prototype={constructor:C,model:null,isHorizontal:function(){return this.coordinateSystem.getModel().get("layout")!=="horizontal"}},f.inherits(C,m);var E=C;A.exports=E}),bO=Et((o,A)=>{function f(E,I,x,y,v,w){E=E||0;var Q=x[1]-x[0];if(v!=null&&(v=C(v,[0,Q])),w!=null&&(w=Math.max(w,v??0)),y==="all"){var M=Math.abs(I[1]-I[0]);M=C(M,[0,Q]),v=w=C(M,[v,w]),y=0}I[0]=C(I[0],x),I[1]=C(I[1],x);var B=m(I,y);I[y]+=E;var D=v||0,S=x.slice();B.sign<0?S[0]+=D:S[1]-=D,I[y]=C(I[y],S);var P=m(I,y);v!=null&&(P.sign!==B.sign||P.spanw&&(I[1-y]=I[y]+P.sign*w),I}function m(E,I){var x=E[I]-E[1-I];return{span:Math.abs(x),sign:x>0?-1:x<0?1:I?-1:1}}function C(E,I){return Math.min(I[1]!=null?I[1]:1/0,Math.max(I[0]!=null?I[0]:-1/0,E))}A.exports=f}),mAt=Et((o,A)=>{var f=mi(),m=UC(),C=Wu(),E=hB(),I=pAt(),x=po(),y=ja(),v=bO(),w=f.each,Q=Math.min,M=Math.max,B=Math.floor,D=Math.ceil,S=y.round,P=Math.PI;function R(N,H,J){this._axesMap=f.createHashMap(),this._axesLayout={},this.dimensions=N.dimensions,this._rect,this._model=N,this._init(N,H,J)}R.prototype={type:"parallel",constructor:R,_init:function(N,H,J){var K=N.dimensions,X=N.parallelAxisIndex;w(K,function(j,ee){var ie=X[ee],z=H.getComponent("parallelAxis",ie),oe=this._axesMap.set(j,new I(j,E.createScaleByModel(z),[0,0],z.get("type"),ie)),le=oe.type==="category";oe.onBand=le&&z.get("boundaryGap"),oe.inverse=z.get("inverse"),z.axis=oe,oe.model=z,oe.coordinateSystem=z.coordinateSystem=this},this)},update:function(N,H){this._updateAxesFromSeries(this._model,N)},containPoint:function(N){var H=this._makeLayoutInfo(),J=H.axisBase,K=H.layoutBase,X=H.pixelDimIndex,j=N[1-X],ee=N[X];return j>=J&&j<=J+H.axisLength&&ee>=K&&ee<=K+H.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(N,H){H.eachSeries(function(J){if(N.contains(J,H)){var K=J.getData();w(this.dimensions,function(X){var j=this._axesMap.get(X);j.scale.unionExtentFromData(K,K.mapDimension(X)),E.niceScaleExtent(j.scale,j.model)},this)}},this)},resize:function(N,H){this._rect=C.getLayoutRect(N.getBoxLayoutParams(),{width:H.getWidth(),height:H.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var N=this._model,H=this._rect,J=["x","y"],K=["width","height"],X=N.get("layout"),j=X==="horizontal"?0:1,ee=H[K[j]],ie=[0,ee],z=this.dimensions.length,oe=T(N.get("axisExpandWidth"),ie),le=T(N.get("axisExpandCount")||0,[0,z]),Ae=N.get("axisExpandable")&&z>3&&z>le&&le>1&&oe>0&&ee>0,he=N.get("axisExpandWindow"),ge;if(he)ge=T(he[1]-he[0],ie),he[1]=he[0]+ge;else{ge=T(oe*(le-1),ie);var de=N.get("axisExpandCenter")||B(z/2);he=[oe*de-ge/2],he[1]=he[0]+ge}var fe=(ee-ge)/(z-le);fe<3&&(fe=0);var G=[B(S(he[0]/oe,1))+1,D(S(he[1]/oe,1))-1],Y=fe/oe*he[0];return{layout:X,pixelDimIndex:j,layoutBase:H[J[j]],layoutLength:ee,axisBase:H[J[1-j]],axisLength:H[K[1-j]],axisExpandable:Ae,axisExpandWidth:oe,axisCollapseWidth:fe,axisExpandWindow:he,axisCount:z,winInnerIndices:G,axisExpandWindow0Pos:Y}},_layoutAxes:function(){var N=this._rect,H=this._axesMap,J=this.dimensions,K=this._makeLayoutInfo(),X=K.layout;H.each(function(j){var ee=[0,K.axisLength],ie=j.inverse?1:0;j.setExtent(ee[ie],ee[1-ie])}),w(J,function(j,ee){var ie=(K.axisExpandable?F:L)(ee,K),z={horizontal:{x:ie.position,y:K.axisLength},vertical:{x:0,y:ie.position}},oe={horizontal:P/2,vertical:0},le=[z[X].x+N.x,z[X].y+N.y],Ae=oe[X],he=m.create();m.rotate(he,he,Ae),m.translate(he,he,le),this._axesLayout[j]={position:le,rotation:Ae,transform:he,axisNameAvailableWidth:ie.axisNameAvailableWidth,axisLabelShow:ie.axisLabelShow,nameTruncateMaxWidth:ie.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(N){return this._axesMap.get(N)},dataToPoint:function(N,H){return this.axisCoordToPoint(this._axesMap.get(H).dataToCoord(N),H)},eachActiveState:function(N,H,J,K){J==null&&(J=0),K==null&&(K=N.count());var X=this._axesMap,j=this.dimensions,ee=[],ie=[];f.each(j,function(fe){ee.push(N.mapDimension(fe)),ie.push(X.get(fe).model)});for(var z=this.hasAxisBrushed(),oe=J;oeX*(1-le[0])?(z="jump",ie=ee-X*(1-le[2])):(ie=ee-X*le[1])>=0&&(ie=ee-X*(1-le[1]))<=0&&(ie=0),ie*=H.axisExpandWidth/oe,ie?v(ie,K,j,"all"):z="none";else{var X=K[1]-K[0],he=j[1]*ee/X;K=[M(0,he-X/2)],K[1]=Q(j[1],K[0]+X),K[0]=K[1]-X}return{axisExpandWindow:K,behavior:z}}};function T(N,H){return Q(M(N,H[0]),H[1])}function L(N,H){var J=H.layoutLength/(H.axisCount-1);return{position:J*N,axisNameAvailableWidth:J,axisLabelShow:!0}}function F(N,H){var J=H.layoutLength,K=H.axisExpandWidth,X=H.axisCount,j=H.axisCollapseWidth,ee=H.winInnerIndices,ie,z=j,oe=!1,le;return N{var o=mAt(),A=cB();function f(m,C){var E=[];return m.eachComponent("parallel",function(I,x){var y=new o(I,m,C);y.name="parallel_"+x,y.resize(I,C),I.coordinateSystem=y,y.model=I,E.push(y)}),m.eachSeries(function(I){if(I.get("coordinateSystem")==="parallel"){var x=m.queryComponents({mainType:"parallel",index:I.get("parallelIndex"),id:I.get("parallelId")})[0];I.coordinateSystem=x.coordinateSystem}}),E}A.register("parallel",{create:f})}),CAt=Et((o,A)=>{var f=mi(),m=wf(),C=xO(),E=yZ(),I=ja(),x=BO(),y=m.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return C([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(M){var B=this.activeIntervals=f.clone(M);if(B)for(var D=B.length-1;D>=0;D--)I.asc(B[D])},getActiveState:function(M){var B=this.activeIntervals;if(!B.length)return"normal";if(M==null||isNaN(M))return"inactive";if(B.length===1){var D=B[0];if(D[0]<=M&&M<=D[1])return"active"}else for(var S=0,P=B.length;S{var f=mi(),m=wf();CAt();var C=m.extend({type:"parallel",dependencies:["parallelAxis"],coordinateSystem:null,dimensions:null,parallelAxisIndex:null,layoutMode:"box",defaultOption:{zlevel:0,z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},init:function(){m.prototype.init.apply(this,arguments),this.mergeOption({})},mergeOption:function(E){var I=this.option;E&&f.merge(I,E,!0),this._initDimensions()},contains:function(E,I){var x=E.get("parallelIndex");return x!=null&&I.getComponent("parallel",x)===this},setAxisExpand:function(E){f.each(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(I){E.hasOwnProperty(I)&&(this.option[I]=E[I])},this)},_initDimensions:function(){var E=this.dimensions=[],I=this.parallelAxisIndex=[],x=f.filter(this.dependentModels.parallelAxis,function(y){return(y.get("parallelIndex")||0)===this.componentIndex},this);f.each(x,function(y){E.push("dim"+y.get("dim")),I.push(y.componentIndex)})}});A.exports=C}),IAt=Et(()=>{var o=xn(),A={type:"axisAreaSelect",event:"axisAreaSelected"};o.registerAction(A,function(f,m){m.eachComponent({mainType:"parallelAxis",query:f},function(C){C.axis.model.setActiveIntervals(f.intervals)})}),o.registerAction("parallelAxisExpand",function(f,m){m.eachComponent({mainType:"parallel",query:f},function(C){C.setAxisExpand(f)})})}),rhe=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=mi(),E=KF(),I=po(),x=S5e(),y=XF(),v=C.curry,w=C.each,Q=C.map,M=Math.min,B=Math.max,D=Math.pow,S=1e4,P=6,R=6,T="globalPan",L={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},F={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},U={brushStyle:{lineWidth:2,stroke:"rgba(0,0,0,0.3)",fill:"rgba(0,0,0,0.1)"},transformable:!0,brushMode:"single",removeOnClick:!1},N=0;function H(at){E.call(this),this._zr=at,this.group=new I.Group,this._brushType,this._brushOption,this._panels,this._track=[],this._dragging,this._covers=[],this._creatingCover,this._creatingPanel,this._enableGlobalPan,this._uid="brushController_"+N++,this._handlers={},w(Je,function(ft,_t){this._handlers[_t]=C.bind(ft,this)},this)}H.prototype={constructor:H,enableBrush:function(at){return this._brushType&&K(this),at.brushType&&J(this,at),this},setPanels:function(at){if(at&&at.length){var ft=this._panels={};C.each(at,function(_t){ft[_t.panelId]=C.clone(_t)})}else this._panels=null;return this},mount:function(at){at=at||{},this._enableGlobalPan=at.enableGlobalPan;var ft=this.group;return this._zr.add(ft),ft.attr({position:at.position||[0,0],rotation:at.rotation||0,scale:at.scale||[1,1]}),this._transform=ft.getLocalTransform(),this},eachCover:function(at,ft){w(this._covers,at,ft)},updateCovers:function(at){at=C.map(at,function(Le){return C.merge(C.clone(U),Le,!0)});var ft="\0-brush-index-",_t=this._covers,et=this._covers=[],pt=this,zt=this._creatingCover;return new y(_t,at,Pt,It).add(St).update(St).remove(dt).execute(),this;function It(Le,_e){return(Le.id!=null?Le.id:ft+_e)+"-"+Le.brushType}function Pt(Le,_e){return It(Le.__brushOption,_e)}function St(Le,_e){var Oe=at[Le];if(_e!=null&&_t[_e]===zt)et[Le]=_t[_e];else{var vt=et[Le]=_e!=null?(_t[_e].__brushOption=Oe,_t[_e]):ie(pt,ee(pt,Oe));le(pt,vt)}}function dt(Le){_t[Le]!==zt&&pt.group.remove(_t[Le])}},unmount:function(){return this.enableBrush(!1),de(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},C.mixin(H,E);function J(at,ft){var _t=at._zr;at._enableGlobalPan||x.take(_t,T,at._uid),X(_t,at._handlers),at._brushType=ft.brushType,at._brushOption=C.merge(C.clone(U),ft,!0)}function K(at){var ft=at._zr;x.release(ft,T,at._uid),j(ft,at._handlers),at._brushType=at._brushOption=null}function X(at,ft){w(ft,function(_t,et){at.on(et,_t)})}function j(at,ft){w(ft,function(_t,et){at.off(et,_t)})}function ee(at,ft){var _t=rt[ft.brushType].createCover(at,ft);return _t.__brushOption=ft,oe(_t,ft),at.group.add(_t),_t}function ie(at,ft){var _t=Ae(ft);return _t.endCreating&&(_t.endCreating(at,ft),oe(ft,ft.__brushOption)),ft}function z(at,ft){var _t=ft.__brushOption;Ae(ft).updateCoverShape(at,ft,_t.range,_t)}function oe(at,ft){var _t=ft.z;_t==null&&(_t=S),at.traverse(function(et){et.z=_t,et.z2=_t})}function le(at,ft){Ae(ft).updateCommon(at,ft),z(at,ft)}function Ae(at){return rt[at.__brushOption.brushType]}function he(at,ft,_t){var et=at._panels;if(!et)return!0;var pt,zt=at._transform;return w(et,function(It){It.isTargetByCursor(ft,_t,zt)&&(pt=It)}),pt}function ge(at,ft){var _t=at._panels;if(!_t)return!0;var et=ft.__brushOption.panelId;return et!=null?_t[et]:!0}function de(at){var ft=at._covers,_t=ft.length;return w(ft,function(et){at.group.remove(et)},at),ft.length=0,!!_t}function fe(at,ft){var _t=Q(at._covers,function(et){var pt=et.__brushOption,zt=C.clone(pt.range);return{brushType:pt.brushType,panelId:pt.panelId,range:zt}});at.trigger("brush",_t,{isEnd:!!ft.isEnd,removeOnClick:!!ft.removeOnClick})}function G(at){var ft=at._track;if(!ft.length)return!1;var _t=ft[ft.length-1],et=ft[0],pt=_t[0]-et[0],zt=_t[1]-et[1],It=D(pt*pt+zt*zt,.5);return It>P}function Y(at){var ft=at.length-1;return ft<0&&(ft=0),[at[0],at[ft]]}function W(at,ft,_t,et){var pt=new I.Group;return pt.add(new I.Rect({name:"main",style:ce(_t),silent:!0,draggable:!0,cursor:"move",drift:v(at,ft,pt,"nswe"),ondragend:v(fe,ft,{isEnd:!0})})),w(et,function(zt){pt.add(new I.Rect({name:zt,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:v(at,ft,pt,zt),ondragend:v(fe,ft,{isEnd:!0})}))}),pt}function O(at,ft,_t,et){var pt=et.brushStyle.lineWidth||0,zt=B(pt,R),It=_t[0][0],Pt=_t[1][0],St=It-pt/2,dt=Pt-pt/2,Le=_t[0][1],_e=_t[1][1],Oe=Le-zt+pt/2,vt=_e-zt+pt/2,wt=Le-It,Bt=_e-Pt,bi=wt+pt,nr=Bt+pt;se(at,ft,"main",It,Pt,wt,Bt),et.transformable&&(se(at,ft,"w",St,dt,zt,nr),se(at,ft,"e",Oe,dt,zt,nr),se(at,ft,"n",St,dt,bi,zt),se(at,ft,"s",St,vt,bi,zt),se(at,ft,"nw",St,dt,zt,zt),se(at,ft,"ne",Oe,dt,zt,zt),se(at,ft,"sw",St,vt,zt,zt),se(at,ft,"se",Oe,vt,zt,zt))}function re(at,ft){var _t=ft.__brushOption,et=_t.transformable,pt=ft.childAt(0);pt.useStyle(ce(_t)),pt.attr({silent:!et,cursor:et?"move":"default"}),w(["w","e","n","s","se","sw","ne","nw"],function(zt){var It=ft.childOfName(zt),Pt=ye(at,zt);It&&It.attr({silent:!et,invisible:!et,cursor:et?F[Pt]+"-resize":null})})}function se(at,ft,_t,et,pt,zt,It){var Pt=ft.childOfName(_t);Pt&&Pt.setShape(Ne(ke(at,ft,[[et,pt],[et+zt,pt+It]])))}function ce(at){return C.defaults({strokeNoScale:!0},at.brushStyle)}function me(at,ft,_t,et){var pt=[M(at,_t),M(ft,et)],zt=[B(at,_t),B(ft,et)];return[[pt[0],zt[0]],[pt[1],zt[1]]]}function Ce(at){return I.getTransform(at.group)}function ye(at,ft){if(ft.length>1){ft=ft.split("");var _t=[ye(at,ft[0]),ye(at,ft[1])];return(_t[0]==="e"||_t[0]==="w")&&_t.reverse(),_t.join("")}else{var et={w:"left",e:"right",n:"top",s:"bottom"},pt={left:"w",right:"e",top:"n",bottom:"s"},_t=I.transformDirection(et[ft],Ce(at));return pt[_t]}}function Be(at,ft,_t,et,pt,zt,It,Pt){var St=et.__brushOption,dt=at(St.range),Le=He(_t,zt,It);w(pt.split(""),function(_e){var Oe=L[_e];dt[Oe[0]][Oe[1]]+=Le[Oe[0]]}),St.range=ft(me(dt[0][0],dt[1][0],dt[0][1],dt[1][1])),le(_t,et),fe(_t,{isEnd:!1})}function Me(at,ft,_t,et,pt){var zt=ft.__brushOption.range,It=He(at,_t,et);w(zt,function(Pt){Pt[0]+=It[0],Pt[1]+=It[1]}),le(at,ft),fe(at,{isEnd:!1})}function He(at,ft,_t){var et=at.group,pt=et.transformCoordToLocal(ft,_t),zt=et.transformCoordToLocal(0,0);return[pt[0]-zt[0],pt[1]-zt[1]]}function ke(at,ft,_t){var et=ge(at,ft);return et&&et!==!0?et.clipPath(_t,at._transform):C.clone(_t)}function Ne(at){var ft=M(at[0][0],at[1][0]),_t=M(at[0][1],at[1][1]),et=B(at[0][0],at[1][0]),pt=B(at[0][1],at[1][1]);return{x:ft,y:_t,width:et-ft,height:pt-_t}}function Pe(at,ft,_t){if(!(!at._brushType||Ze(at,ft))){var et=at._zr,pt=at._covers,zt=he(at,ft,_t);if(!at._dragging)for(var It=0;Itet.getWidth()||_t<0||_t>et.getHeight()}var rt={lineX:At(0),lineY:At(1),rect:{createCover:function(at,ft){return W(v(Be,function(_t){return _t},function(_t){return _t}),at,ft,["w","e","n","s","se","sw","ne","nw"])},getCreatingRange:function(at){var ft=Y(at);return me(ft[1][0],ft[1][1],ft[0][0],ft[0][1])},updateCoverShape:function(at,ft,_t,et){O(at,ft,_t,et)},updateCommon:re,contain:Fe},polygon:{createCover:function(at,ft){var _t=new I.Group;return _t.add(new I.Polyline({name:"main",style:ce(ft),silent:!0})),_t},getCreatingRange:function(at){return at},endCreating:function(at,ft){ft.remove(ft.childAt(0)),ft.add(new I.Polygon({name:"main",draggable:!0,drift:v(Me,at,ft),ondragend:v(fe,at,{isEnd:!0})}))},updateCoverShape:function(at,ft,_t,et){ft.childAt(0).setShape({points:ke(at,ft,_t)})},updateCommon:re,contain:Fe}};function At(at){return{createCover:function(ft,_t){return W(v(Be,function(et){var pt=[et,[0,100]];return at&&pt.reverse(),pt},function(et){return et[at]}),ft,_t,[["w","e"],["n","s"]][at])},getCreatingRange:function(ft){var _t=Y(ft),et=M(_t[0][at],_t[1][at]),pt=B(_t[0][at],_t[1][at]);return[et,pt]},updateCoverShape:function(ft,_t,et,pt){var zt,It=ge(ft,_t);if(It!==!0&&It.getLinearBrushOtherExtent)zt=It.getLinearBrushOtherExtent(at,ft._transform);else{var Pt=ft._zr;zt=[0,[Pt.getWidth(),Pt.getHeight()][1-at]]}var St=[et,zt];at&&St.reverse(),O(ft,_t,St,pt)},updateCommon:re,contain:Fe}}var yt=H;A.exports=yt}),U5e=Et(o=>{var A=Eh(),f=wZ(),m=f.onIrrelevantElement,C=po();function E(v){return v=y(v),function(w,Q){return C.clipPointsByRect(w,v)}}function I(v,w){return v=y(v),function(Q){var M=w??Q,B=M?v.width:v.height,D=M?v.x:v.y;return[D,D+(B||0)]}}function x(v,w,Q){return v=y(v),function(M,B,D){return v.contain(B[0],B[1])&&!m(M,w,Q)}}function y(v){return A.create(v)}o.makeRectPanelClipPath=E,o.makeLinearBrushOtherExtent=I,o.makeRectIsTargetByCursor=x}),xAt=Et((o,A)=>{var f=xn(),m=mi(),C=X2(),E=rhe(),I=U5e(),x=po(),y=["axisLine","axisTickLabel","axisName"],v=f.extendComponentView({type:"parallelAxis",init:function(D,S){v.superApply(this,"init",arguments),(this._brushController=new E(S.getZr())).on("brush",m.bind(this._onBrush,this))},render:function(D,S,P,R){if(!w(D,S,R)){this.axisModel=D,this.api=P,this.group.removeAll();var T=this._axisGroup;if(this._axisGroup=new x.Group,this.group.add(this._axisGroup),!!D.get("show")){var L=M(D,S),F=L.coordinateSystem,U=D.getAreaSelectStyle(),N=U.width,H=D.axis.dim,J=F.getAxisLayout(H),K=m.extend({strokeContainThreshold:N},J),X=new C(D,K);m.each(y,X.add,X),this._axisGroup.add(X.getGroup()),this._refreshBrushController(K,U,D,L,N,P);var j=R&&R.animation===!1?null:D;x.groupTransition(T,this._axisGroup,j)}}},_refreshBrushController:function(D,S,P,R,T,L){var F=P.axis.getExtent(),U=F[1]-F[0],N=Math.min(30,Math.abs(U)*.1),H=x.BoundingRect.create({x:F[0],y:-T/2,width:U,height:T});H.x-=N,H.width+=2*N,this._brushController.mount({enableGlobalPan:!0,rotation:D.rotation,position:D.position}).setPanels([{panelId:"pl",clipPath:I.makeRectPanelClipPath(H),isTargetByCursor:I.makeRectIsTargetByCursor(H,L,R),getLinearBrushOtherExtent:I.makeLinearBrushOtherExtent(H,0)}]).enableBrush({brushType:"lineX",brushStyle:S,removeOnClick:!0}).updateCovers(Q(P))},_onBrush:function(D,S){var P=this.axisModel,R=P.axis,T=m.map(D,function(L){return[R.coordToData(L.range[0],!0),R.coordToData(L.range[1],!0)]});(!P.option.realtime===S.isEnd||S.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:P.id,intervals:T})},dispose:function(){this._brushController.dispose()}});function w(D,S,P){return P&&P.type==="axisAreaSelect"&&S.findComponents({mainType:"parallelAxis",query:P})[0]===D}function Q(D){var S=D.axis;return m.map(D.activeIntervals,function(P){return{brushType:"lineX",panelId:"pl",range:[S.dataToCoord(P[0],!0),S.dataToCoord(P[1],!0)]}})}function M(D,S){return S.getComponent("parallel",D.get("parallelIndex"))}var B=v;A.exports=B}),yAt=Et(()=>{k5e(),IAt(),xAt()}),O5e=Et(()=>{var o=xn(),A=mi(),f=W2(),m=fAt();k5e(),EAt(),yAt();var C=5;o.extendComponentView({type:"parallel",render:function(x,y,v){this._model=x,this._api=v,this._handlers||(this._handlers={},A.each(E,function(w,Q){v.getZr().on(Q,this._handlers[Q]=A.bind(w,this))},this)),f.createOrUpdate(this,"_throttledDispatchExpand",x.get("axisExpandRate"),"fixRate")},dispose:function(x,y){A.each(this._handlers,function(v,w){y.getZr().off(w,v)}),this._handlers=null},_throttledDispatchExpand:function(x){this._dispatchExpand(x)},_dispatchExpand:function(x){x&&this._api.dispatchAction(A.extend({type:"parallelAxisExpand"},x))}});var E={mousedown:function(x){I(this,"click")&&(this._mouseDownPoint=[x.offsetX,x.offsetY])},mouseup:function(x){var y=this._mouseDownPoint;if(I(this,"click")&&y){var v=[x.offsetX,x.offsetY],w=Math.pow(y[0]-v[0],2)+Math.pow(y[1]-v[1],2);if(w>C)return;var Q=this._model.coordinateSystem.getSlidedAxisExpandWindow([x.offsetX,x.offsetY]);Q.behavior!=="none"&&this._dispatchExpand({axisExpandWindow:Q.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(x){if(!(this._mouseDownPoint||!I(this,"mousemove"))){var y=this._model,v=y.coordinateSystem.getSlidedAxisExpandWindow([x.offsetX,x.offsetY]),w=v.behavior;w==="jump"&&this._throttledDispatchExpand.debounceNextCall(y.get("axisExpandDebounce")),this._throttledDispatchExpand(w==="none"?null:{axisExpandWindow:v.axisExpandWindow,animation:w==="jump"?null:!1})}}};function I(x,y){var v=x._model;return v.get("axisExpandable")&&v.get("axisExpandTriggerOn")===y}o.registerPreprocessor(m)}),vAt=Et((o,A)=>{var f=mi(),m=f.each,C=f.createHashMap,E=bf(),I=YS(),x=E.extend({type:"series.parallel",dependencies:["parallel"],visualColorAccessPath:"lineStyle.color",getInitialData:function(w,Q){var M=this.getSource();return y(M,this),I(M,this)},getRawIndicesByActiveState:function(w){var Q=this.coordinateSystem,M=this.getData(),B=[];return Q.eachActiveState(M,function(D,S){w===D&&B.push(M.getRawIndex(S))}),B},defaultOption:{zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"}});function y(w,Q){if(!w.encodeDefine){var M=Q.ecModel.getComponent("parallel",Q.get("parallelIndex"));if(M){var B=w.encodeDefine=C();m(M.dimensions,function(D){var S=v(D);B.set(D,S)})}}}function v(w){return+w.replace("dim","")}A.exports=x}),_At=Et((o,A)=>{var f=po(),m=G1(),C=.3,E=m.extend({type:"parallel",init:function(){this._dataGroup=new f.Group,this.group.add(this._dataGroup),this._data,this._initialized},render:function(B,D,S,P){var R=this._dataGroup,T=B.getData(),L=this._data,F=B.coordinateSystem,U=F.dimensions,N=v(B);T.diff(L).add(H).update(J).remove(K).execute();function H(j){var ee=y(T,R,j,U,F);w(ee,T,j,N)}function J(j,ee){var ie=L.getItemGraphicEl(ee),z=x(T,j,U,F);T.setItemGraphicEl(j,ie);var oe=P&&P.animation===!1?null:B;f.updateProps(ie,{shape:{points:z}},oe,j),w(ie,T,j,N)}function K(j){var ee=L.getItemGraphicEl(j);R.remove(ee)}if(!this._initialized){this._initialized=!0;var X=I(F,B,function(){setTimeout(function(){R.removeClipPath()})});R.setClipPath(X)}this._data=T},incrementalPrepareRender:function(B,D,S){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(B,D,S){for(var P=D.getData(),R=D.coordinateSystem,T=R.dimensions,L=v(D),F=B.start;F{var f=["lineStyle","normal","opacity"],m={seriesType:"parallel",reset:function(C,E,I){var x=C.getModel("itemStyle"),y=C.getModel("lineStyle"),v=E.get("color"),w=y.get("color")||x.get("color")||v[C.seriesIndex%v.length],Q=C.get("inactiveOpacity"),M=C.get("activeOpacity"),B=C.getModel("lineStyle").getLineStyle(),D=C.coordinateSystem,S=C.getData(),P={normal:B.opacity,active:M,inactive:Q};S.setVisual("color",w);function R(T,L){D.eachActiveState(L,function(F,U){var N=P[F];if(F==="normal"&&L.hasItemOption){var H=L.getItemModel(U).get(f,!0);H!=null&&(N=H)}L.setItemVisual(U,"opacity",N)},T.start,T.end)}return{progress:R}}};A.exports=m}),wAt=Et(()=>{var o=xn();O5e(),vAt(),_At();var A=BAt();o.registerVisual(A)}),bAt=Et((o,A)=>{var f=bf(),m=R5e(),C=sc(),E=C.encodeHTML,I=Cg(),x=EA(),y=x.__DEV__,v=f.extend({type:"series.sankey",layoutInfo:null,levelModels:null,getInitialData:function(Q,M){for(var B=Q.edges||Q.links,D=Q.data||Q.nodes,S=Q.levels,P=this.levelModels={},R=0;R=0&&(P[S[R].depth]=new I(S[R],this,M));if(D&&B){var T=m(D,B,this,!0,L);return T.data}function L(F,U){F.wrapMethod("getItemModel",function(N,H){return N.customizeGetParent(function(J){var K=this.parentModel,X=K.getData().getItemLayout(H).depth,j=K.levelModels[X];return j||this.parentModel}),N}),U.wrapMethod("getItemModel",function(N,H){return N.customizeGetParent(function(J){var K=this.parentModel,X=K.getGraph().getEdgeByIndex(H),j=X.node1.getLayout().depth,ee=K.levelModels[j];return ee||this.parentModel}),N})}},setNodePosition:function(Q,M){var B=this.option.data[Q];B.localX=M[0],B.localY=M[1]},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},formatTooltip:function(Q,M,B){if(B==="edge"){var D=this.getDataParams(Q,B),S=D.data,P=S.source+" -- "+S.target;return D.value&&(P+=" : "+D.value),E(P)}else if(B==="node"){var R=this.getGraph().getNodeByIndex(Q),T=R.getLayout().value,L=this.getDataParams(Q,B).data.name;if(T)var P=L+" : "+T;return E(P)}return v.superCall(this,"formatTooltip",Q,M)},optionUpdated:function(){var Q=this.option;Q.focusNodeAdjacency===!0&&(Q.focusNodeAdjacency="allEdges")},getDataParams:function(Q,M){var B=v.superCall(this,"getDataParams",Q,M);if(B.value==null&&M==="node"){var D=this.getGraph().getNodeByIndex(Q),S=D.getLayout().value;B.value=S}return B},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",layout:null,left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,focusNodeAdjacency:!1,layoutIterations:32,label:{show:!0,position:"right",color:"#000",fontSize:12},levels:[],nodeAlign:"justify",itemStyle:{borderWidth:1,borderColor:"#333"},lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},animationEasing:"linear",animationDuration:1e3}}),w=v;A.exports=w}),QAt=Et((o,A)=>{var f=po(),m=xn(),C=mi(),E=["itemStyle","opacity"],I=["emphasis","itemStyle","opacity"],x=["lineStyle","opacity"],y=["emphasis","lineStyle","opacity"];function v(S,P){return S.getVisual("opacity")||S.getModel().get(P)}function w(S,P,R){var T=S.getGraphicEl(),L=v(S,P);R!=null&&(L==null&&(L=1),L*=R),T.downplay&&T.downplay(),T.traverse(function(F){F.type!=="group"&&F.setStyle("opacity",L)})}function Q(S,P){var R=v(S,P),T=S.getGraphicEl();T.traverse(function(L){L.type!=="group"&&L.setStyle("opacity",R)}),T.highlight&&T.highlight()}var M=f.extendShape({shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,cpx2:0,cpy2:0,extent:0,orient:""},buildPath:function(S,P){var R=P.extent;S.moveTo(P.x1,P.y1),S.bezierCurveTo(P.cpx1,P.cpy1,P.cpx2,P.cpy2,P.x2,P.y2),P.orient==="vertical"?(S.lineTo(P.x2+R,P.y2),S.bezierCurveTo(P.cpx2+R,P.cpy2,P.cpx1+R,P.cpy1,P.x1+R,P.y1)):(S.lineTo(P.x2,P.y2+R),S.bezierCurveTo(P.cpx2,P.cpy2+R,P.cpx1,P.cpy1+R,P.x1,P.y1+R)),S.closePath()},highlight:function(){this.trigger("emphasis")},downplay:function(){this.trigger("normal")}}),B=m.extendChartView({type:"sankey",_model:null,_focusAdjacencyDisabled:!1,render:function(S,P,R){var T=this,L=S.getGraph(),F=this.group,U=S.layoutInfo,N=U.width,H=U.height,J=S.getData(),K=S.getData("edge"),X=S.get("orient");this._model=S,F.removeAll(),F.attr("position",[U.x,U.y]),L.eachEdge(function(j){var ee=new M;ee.dataIndex=j.dataIndex,ee.seriesIndex=S.seriesIndex,ee.dataType="edge";var ie=j.getModel("lineStyle"),z=ie.get("curveness"),oe=j.node1.getLayout(),le=j.node1.getModel(),Ae=le.get("localX"),he=le.get("localY"),ge=j.node2.getLayout(),de=j.node2.getModel(),fe=de.get("localX"),G=de.get("localY"),Y=j.getLayout(),W,O,re,se,ce,me,Ce,ye;switch(ee.shape.extent=Math.max(1,Y.dy),ee.shape.orient=X,X==="vertical"?(W=(Ae!=null?Ae*N:oe.x)+Y.sy,O=(he!=null?he*H:oe.y)+oe.dy,re=(fe!=null?fe*N:ge.x)+Y.ty,se=G!=null?G*H:ge.y,ce=W,me=O*(1-z)+se*z,Ce=re,ye=O*z+se*(1-z)):(W=(Ae!=null?Ae*N:oe.x)+oe.dx,O=(he!=null?he*H:oe.y)+Y.sy,re=fe!=null?fe*N:ge.x,se=(G!=null?G*H:ge.y)+Y.ty,ce=W*(1-z)+re*z,me=O,Ce=W*z+re*(1-z),ye=se),ee.setShape({x1:W,y1:O,x2:re,y2:se,cpx1:ce,cpy1:me,cpx2:Ce,cpy2:ye}),ee.setStyle(ie.getItemStyle()),ee.style.fill){case"source":ee.style.fill=j.node1.getVisual("color");break;case"target":ee.style.fill=j.node2.getVisual("color");break}f.setHoverStyle(ee,j.getModel("emphasis.lineStyle").getItemStyle()),F.add(ee),K.setItemGraphicEl(j.dataIndex,ee)}),L.eachNode(function(j){var ee=j.getLayout(),ie=j.getModel(),z=ie.get("localX"),oe=ie.get("localY"),le=ie.getModel("label"),Ae=ie.getModel("emphasis.label"),he=new f.Rect({shape:{x:z!=null?z*N:ee.x,y:oe!=null?oe*H:ee.y,width:ee.dx,height:ee.dy},style:ie.getModel("itemStyle").getItemStyle()}),ge=j.getModel("emphasis.itemStyle").getItemStyle();f.setLabelStyle(he.style,ge,le,Ae,{labelFetcher:S,labelDataIndex:j.dataIndex,defaultText:j.id,isRectText:!0}),he.setStyle("fill",j.getVisual("color")),f.setHoverStyle(he,ge),F.add(he),J.setItemGraphicEl(j.dataIndex,he),he.dataType="node"}),J.eachItemGraphicEl(function(j,ee){var ie=J.getItemModel(ee);ie.get("draggable")&&(j.drift=function(z,oe){T._focusAdjacencyDisabled=!0,this.shape.x+=z,this.shape.y+=oe,this.dirty(),R.dispatchAction({type:"dragNode",seriesId:S.id,dataIndex:J.getRawIndex(ee),localX:this.shape.x/N,localY:this.shape.y/H})},j.ondragend=function(){T._focusAdjacencyDisabled=!1},j.draggable=!0,j.cursor="move"),j.highlight=function(){this.trigger("emphasis")},j.downplay=function(){this.trigger("normal")},j.focusNodeAdjHandler&&j.off("mouseover",j.focusNodeAdjHandler),j.unfocusNodeAdjHandler&&j.off("mouseout",j.unfocusNodeAdjHandler),ie.get("focusNodeAdjacency")&&(j.on("mouseover",j.focusNodeAdjHandler=function(){T._focusAdjacencyDisabled||(T._clearTimer(),R.dispatchAction({type:"focusNodeAdjacency",seriesId:S.id,dataIndex:j.dataIndex}))}),j.on("mouseout",j.unfocusNodeAdjHandler=function(){T._focusAdjacencyDisabled||T._dispatchUnfocus(R)}))}),K.eachItemGraphicEl(function(j,ee){var ie=K.getItemModel(ee);j.focusNodeAdjHandler&&j.off("mouseover",j.focusNodeAdjHandler),j.unfocusNodeAdjHandler&&j.off("mouseout",j.unfocusNodeAdjHandler),ie.get("focusNodeAdjacency")&&(j.on("mouseover",j.focusNodeAdjHandler=function(){T._focusAdjacencyDisabled||(T._clearTimer(),R.dispatchAction({type:"focusNodeAdjacency",seriesId:S.id,edgeDataIndex:j.dataIndex}))}),j.on("mouseout",j.unfocusNodeAdjHandler=function(){T._focusAdjacencyDisabled||T._dispatchUnfocus(R)}))}),!this._data&&S.get("animation")&&F.setClipPath(D(F.getBoundingRect(),S,function(){F.removeClipPath()})),this._data=S.getData()},dispose:function(){this._clearTimer()},_dispatchUnfocus:function(S){var P=this;this._clearTimer(),this._unfocusDelayTimer=setTimeout(function(){P._unfocusDelayTimer=null,S.dispatchAction({type:"unfocusNodeAdjacency",seriesId:P._model.id})},500)},_clearTimer:function(){this._unfocusDelayTimer&&(clearTimeout(this._unfocusDelayTimer),this._unfocusDelayTimer=null)},focusNodeAdjacency:function(S,P,R,T){var L=S.getData(),F=L.graph,U=T.dataIndex,N=L.getItemModel(U),H=T.edgeDataIndex;if(!(U==null&&H==null)){var J=F.getNodeByIndex(U),K=F.getEdgeByIndex(H);if(F.eachNode(function(j){w(j,E,.1)}),F.eachEdge(function(j){w(j,x,.1)}),J){Q(J,I);var X=N.get("focusNodeAdjacency");X==="outEdges"?C.each(J.outEdges,function(j){j.dataIndex<0||(Q(j,y),Q(j.node2,I))}):X==="inEdges"?C.each(J.inEdges,function(j){j.dataIndex<0||(Q(j,y),Q(j.node1,I))}):X==="allEdges"&&C.each(J.edges,function(j){j.dataIndex<0||(Q(j,y),j.node1!==J&&Q(j.node1,I),j.node2!==J&&Q(j.node2,I))})}K&&(Q(K,y),Q(K.node1,I),Q(K.node2,I))}},unfocusNodeAdjacency:function(S,P,R,T){var L=S.getGraph();L.eachNode(function(F){w(F,E)}),L.eachEdge(function(F){w(F,x)})}});function D(S,P,R){var T=new f.Rect({shape:{x:S.x-10,y:S.y-10,width:0,height:S.height+20}});return f.initProps(T,{shape:{width:S.width+20}},P,R),T}A.exports=B}),SAt=Et(()=>{var o=xn();L5e(),o.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(A,f){f.eachComponent({mainType:"series",subType:"sankey",query:A},function(m){m.setNodePosition(A.dataIndex,[A.localX,A.localY])})})}),DAt=Et((o,A)=>{var f=Wu(),m=mi(),C=pl(),E=C.groupData;function I(ie,z,oe){ie.eachSeriesByType("sankey",function(le){var Ae=le.get("nodeWidth"),he=le.get("nodeGap"),ge=x(le,z);le.layoutInfo=ge;var de=ge.width,fe=ge.height,G=le.getGraph(),Y=G.nodes,W=G.edges;v(Y);var O=m.filter(Y,function(me){return me.getLayout().value===0}),re=O.length!==0?0:le.get("layoutIterations"),se=le.get("orient"),ce=le.get("nodeAlign");y(Y,W,Ae,he,de,fe,re,se,ce)})}function x(ie,z){return f.getLayoutRect(ie.getBoxLayoutParams(),{width:z.getWidth(),height:z.getHeight()})}function y(ie,z,oe,le,Ae,he,ge,de,fe){w(ie,z,oe,Ae,he,de,fe),S(ie,z,he,Ae,le,ge,de),ee(ie,de)}function v(ie){m.each(ie,function(z){var oe=X(z.outEdges,K),le=X(z.inEdges,K),Ae=z.getValue()||0,he=Math.max(oe,le,Ae);z.setLayout({value:he},!0)})}function w(ie,z,oe,le,Ae,he,ge){for(var de=[],fe=[],G=[],Y=[],W=0,Pe=0,O=0;O=0;Ce&&me.depth>re&&(re=me.depth),ce.setLayout({depth:Ce?me.depth:W},!0),he==="vertical"?ce.setLayout({dy:oe},!0):ce.setLayout({dx:oe},!0);for(var ye=0;yeW-1?re:W-1;ge&&ge!=="left"&&M(ie,ge,he,Ne);var Pe=he==="vertical"?(Ae-oe)/Ne:(le-oe)/Ne;D(ie,Pe,he)}function Q(ie){var z=ie.hostGraph.data.getRawDataItem(ie.dataIndex);return z.depth!=null&&z.depth>=0}function M(ie,z,oe,le){if(z==="right"){for(var Ae=[],he=ie,ge=0;he.length;){for(var de=0;de0;he--)fe*=.99,L(de,fe,ge),T(de,Ae,oe,le,ge),j(de,fe,ge),T(de,Ae,oe,le,ge)}function P(ie,z){var oe=[],le=z==="vertical"?"y":"x",Ae=E(ie,function(he){return he.getLayout()[le]});return Ae.keys.sort(function(he,ge){return he-ge}),m.each(Ae.keys,function(he){oe.push(Ae.buckets.get(he))}),oe}function R(ie,z,oe,le,Ae,he){var ge=1/0;m.each(ie,function(de){var fe=de.length,G=0;m.each(de,function(W){G+=W.getLayout().value});var Y=he==="vertical"?(le-(fe-1)*Ae)/G:(oe-(fe-1)*Ae)/G;Y0&&(de=fe.getLayout()[he]+G,Ae==="vertical"?fe.setLayout({x:de},!0):fe.setLayout({y:de},!0)),Y=fe.getLayout()[he]+fe.getLayout()[O]+z;var se=Ae==="vertical"?le:oe;if(G=Y-z-se,G>0)for(de=fe.getLayout()[he]-G,Ae==="vertical"?fe.setLayout({x:de},!0):fe.setLayout({y:de},!0),Y=de,re=W-2;re>=0;--re)fe=ge[re],G=fe.getLayout()[he]+fe.getLayout()[O]+z-Y,G>0&&(de=fe.getLayout()[he]-G,Ae==="vertical"?fe.setLayout({x:de},!0):fe.setLayout({y:de},!0)),Y=fe.getLayout()[he]})}function L(ie,z,oe){m.each(ie.slice().reverse(),function(le){m.each(le,function(Ae){if(Ae.outEdges.length){var he=X(Ae.outEdges,F,oe)/X(Ae.outEdges,K,oe);if(isNaN(he)){var ge=Ae.outEdges.length;he=ge?X(Ae.outEdges,U,oe)/ge:0}if(oe==="vertical"){var de=Ae.getLayout().x+(he-J(Ae,oe))*z;Ae.setLayout({x:de},!0)}else{var fe=Ae.getLayout().y+(he-J(Ae,oe))*z;Ae.setLayout({y:fe},!0)}}})})}function F(ie,z){return J(ie.node2,z)*ie.getValue()}function U(ie,z){return J(ie.node2,z)}function N(ie,z){return J(ie.node1,z)*ie.getValue()}function H(ie,z){return J(ie.node1,z)}function J(ie,z){return z==="vertical"?ie.getLayout().x+ie.getLayout().dx/2:ie.getLayout().y+ie.getLayout().dy/2}function K(ie){return ie.getValue()}function X(ie,z,oe){for(var le=0,Ae=ie.length,he=-1;++he{var f=tN(),m=mi();function C(E,I){E.eachSeriesByType("sankey",function(x){var y=x.getGraph(),v=y.nodes;if(v.length){var w=1/0,Q=-1/0;m.each(v,function(M){var B=M.getLayout().value;BQ&&(Q=B)}),m.each(v,function(M){var B=new f({type:"color",mappingMethod:"linear",dataExtent:[w,Q],visual:x.get("color")}),D=B.mapValueToVisual(M.getLayout().value),S=M.getModel().get("itemStyle.color");S!=null?M.setVisual("color",S):M.setVisual("color",D)})}})}A.exports=C}),TAt=Et(()=>{var o=xn();bAt(),QAt(),SAt();var A=DAt(),f=MAt();o.registerLayout(A),o.registerVisual(f)}),G5e=Et(o=>{var A=wO(),f=mi(),m=b9(),C=m.getDimensionTypeByAxis,E=zS(),I=E.makeSeriesEncodeForAxisCoordSys,x={_baseAxisDim:null,getInitialData:function(y,v){var w,Q=v.getComponent("xAxis",this.get("xAxisIndex")),M=v.getComponent("yAxis",this.get("yAxisIndex")),B=Q.get("type"),D=M.get("type"),S;B==="category"?(y.layout="horizontal",w=Q.getOrdinalMeta(),S=!0):D==="category"?(y.layout="vertical",w=M.getOrdinalMeta(),S=!0):y.layout=y.layout||"horizontal";var P=["x","y"],R=y.layout==="horizontal"?0:1,T=this._baseAxisDim=P[R],L=P[1-R],F=[Q,M],U=F[R].get("type"),N=F[1-R].get("type"),H=y.data;if(H&&S){var J=[];f.each(H,function(j,ee){var ie;j.value&&f.isArray(j.value)?(ie=j.value.slice(),j.value.unshift(ee)):f.isArray(j)?(ie=j.slice(),j.unshift(ee)):ie=j,J.push(ie)}),y.data=J}var K=this.defaultValueDimensions,X=[{name:T,type:C(U),ordinalMeta:w,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:L,type:C(N),dimsDef:K.slice()}];return A(this,{coordDimensions:X,dimensionsCount:K.length+1,encodeDefaulter:f.curry(I,X,this)})},getBaseAxis:function(){var y=this._baseAxisDim;return this.ecModel.getComponent(y+"Axis",this.get(y+"AxisIndex")).axis}};o.seriesModelMixin=x}),PAt=Et((o,A)=>{var f=mi(),m=bf(),C=G5e(),E=C.seriesModelMixin,I=m.extend({type:"series.boxplot",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:"rgba(0,0,0,0.4)"}},animationEasing:"elasticOut",animationDuration:800}});f.mixin(I,E,!0);var x=I;A.exports=x}),RAt=Et((o,A)=>{var f=mi(),m=G1(),C=po(),E=Yd(),I=["itemStyle"],x=["emphasis","itemStyle"],y=m.extend({type:"boxplot",render:function(D,S,P){var R=D.getData(),T=this.group,L=this._data;this._data||T.removeAll();var F=D.get("layout")==="horizontal"?1:0;R.diff(L).add(function(U){if(R.hasValue(U)){var N=R.getItemLayout(U),H=w(N,R,U,F,!0);R.setItemGraphicEl(U,H),T.add(H)}}).update(function(U,N){var H=L.getItemGraphicEl(N);if(!R.hasValue(U)){T.remove(H);return}var J=R.getItemLayout(U);H?Q(J,H,R,U):H=w(J,R,U,F),T.add(H),R.setItemGraphicEl(U,H)}).remove(function(U){var N=L.getItemGraphicEl(U);N&&T.remove(N)}).execute(),this._data=R},remove:function(D){var S=this.group,P=this._data;this._data=null,P&&P.eachItemGraphicEl(function(R){R&&S.remove(R)})},dispose:f.noop}),v=E.extend({type:"boxplotBoxPath",shape:{},buildPath:function(D,S){var P=S.points,R=0;for(D.moveTo(P[R][0],P[R][1]),R++;R<4;R++)D.lineTo(P[R][0],P[R][1]);for(D.closePath();R{var f=["itemStyle","borderColor"];function m(C,E){var I=C.get("color");C.eachRawSeriesByType("boxplot",function(x){var y=I[x.seriesIndex%I.length],v=x.getData();v.setVisual({legendSymbol:"roundRect",color:x.get(f)||y}),C.isSeriesFiltered(x)||v.each(function(w){var Q=v.getItemModel(w);v.setItemVisual(w,{color:Q.get(f,!0)})})})}A.exports=m}),FAt=Et((o,A)=>{var f=mi(),m=ja(),C=m.parsePercent,E=f.each;function I(w){var Q=x(w);E(Q,function(M){var B=M.seriesModels;B.length&&(y(M),E(B,function(D,S){v(D,M.boxOffsetList[S],M.boxWidthList[S])}))})}function x(w){var Q=[],M=[];return w.eachSeriesByType("boxplot",function(B){var D=B.getBaseAxis(),S=f.indexOf(M,D);S<0&&(S=M.length,M[S]=D,Q[S]={axis:D,seriesModels:[]}),Q[S].seriesModels.push(B)}),Q}function y(w){var Q,M=w.axis,B=w.seriesModels,D=B.length,S=w.boxWidthList=[],P=w.boxOffsetList=[],R=[],T;if(M.type==="category")T=M.getBandWidth();else{var L=0;E(B,function(J){L=Math.max(L,J.getData().count())}),Q=M.getExtent(),Math.abs(Q[1]-Q[0])/L}E(B,function(J){var K=J.get("boxWidth");f.isArray(K)||(K=[K,K]),R.push([C(K[0],T)||0,C(K[1],T)||0])});var F=T*.8-2,U=F/D*.3,N=(F-U*(D-1))/D,H=N/2-F/2;E(B,function(J,K){P.push(H),H+=U+N,S.push(Math.min(Math.max(N,R[K][0]),R[K][1]))})}function v(w,Q,M){var B=w.coordinateSystem,D=w.getData(),S=M/2,P=w.get("layout")==="horizontal"?0:1,R=1-P,T=["x","y"],L=D.mapDimension(T[P]),F=D.mapDimension(T[R],!0);if(L==null||F.length<5)return;for(var U=0;U{var o=xn();PAt(),RAt();var A=LAt(),f=FAt();o.registerVisual(A),o.registerLayout(f)}),kAt=Et((o,A)=>{var f=mi(),m=bf(),C=G5e(),E=C.seriesModelMixin,I=m.extend({type:"series.candlestick",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,clip:!0,itemStyle:{color:"#c23531",color0:"#314656",borderWidth:1,borderColor:"#c23531",borderColor0:"#314656"},emphasis:{itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationUpdate:!1,animationEasing:"linear",animationDuration:300},getShadowDim:function(){return"open"},brushSelector:function(y,v,w){var Q=v.getItemLayout(y);return Q&&w.rect(Q.brushRect)}});f.mixin(I,E,!0);var x=I;A.exports=x}),UAt=Et((o,A)=>{var f=mi(),m=G1(),C=po(),E=Yd(),I=S9(),x=I.createClipPath,y=["itemStyle"],v=["emphasis","itemStyle"],w=["color","color0","borderColor","borderColor0"],Q=m.extend({type:"candlestick",render:function(U,N,H){this.group.removeClipPath(),this._updateDrawMode(U),this._isLargeDraw?this._renderLarge(U):this._renderNormal(U)},incrementalPrepareRender:function(U,N,H){this._clear(),this._updateDrawMode(U)},incrementalRender:function(U,N,H,J){this._isLargeDraw?this._incrementalRenderLarge(U,N):this._incrementalRenderNormal(U,N)},_updateDrawMode:function(U){var N=U.pipelineContext.large;(this._isLargeDraw==null||N^this._isLargeDraw)&&(this._isLargeDraw=N,this._clear())},_renderNormal:function(U){var N=U.getData(),H=this._data,J=this.group,K=N.getLayout("isSimpleBox"),X=U.get("clip",!0),j=U.coordinateSystem,ee=j.getArea&&j.getArea();this._data||J.removeAll(),N.diff(H).add(function(ie){if(N.hasValue(ie)){var z,oe=N.getItemLayout(ie);if(X&&D(ee,oe))return;z=B(oe,ie,!0),C.initProps(z,{shape:{points:oe.ends}},U,ie),S(z,N,ie,K),J.add(z),N.setItemGraphicEl(ie,z)}}).update(function(ie,z){var oe=H.getItemGraphicEl(z);if(!N.hasValue(ie)){J.remove(oe);return}var le=N.getItemLayout(ie);if(X&&D(ee,le)){J.remove(oe);return}oe?C.updateProps(oe,{shape:{points:le.ends}},U,ie):oe=B(le,ie),S(oe,N,ie,K),J.add(oe),N.setItemGraphicEl(ie,oe)}).remove(function(ie){var z=H.getItemGraphicEl(ie);z&&J.remove(z)}).execute(),this._data=N},_renderLarge:function(U){this._clear(),T(U,this.group);var N=U.get("clip",!0)?x(U.coordinateSystem,!1,U):null;N?this.group.setClipPath(N):this.group.removeClipPath()},_incrementalRenderNormal:function(U,N){for(var H=N.getData(),J=H.getLayout("isSimpleBox"),K;(K=U.next())!=null;){var X,j=H.getItemLayout(K);X=B(j,K),S(X,H,K,J),X.incremental=!0,this.group.add(X)}},_incrementalRenderLarge:function(U,N){T(N,this.group,!0)},remove:function(U){this._clear()},_clear:function(){this.group.removeAll(),this._data=null},dispose:f.noop}),M=E.extend({type:"normalCandlestickBox",shape:{},buildPath:function(U,N){var H=N.points;this.__simpleBox?(U.moveTo(H[4][0],H[4][1]),U.lineTo(H[6][0],H[6][1])):(U.moveTo(H[0][0],H[0][1]),U.lineTo(H[1][0],H[1][1]),U.lineTo(H[2][0],H[2][1]),U.lineTo(H[3][0],H[3][1]),U.closePath(),U.moveTo(H[4][0],H[4][1]),U.lineTo(H[5][0],H[5][1]),U.moveTo(H[6][0],H[6][1]),U.lineTo(H[7][0],H[7][1]))}});function B(U,N,H){var J=U.ends;return new M({shape:{points:H?P(J,U):J},z2:100})}function D(U,N){for(var H=!0,J=0;J0?"P":"N",X=J.getVisual("borderColor"+K)||J.getVisual("color"+K),j=H.getModel(y).getItemStyle(w);N.useStyle(j),N.style.fill=null,N.style.stroke=X}var F=Q;A.exports=F}),OAt=Et((o,A)=>{var f=mi();function m(C){!C||!f.isArray(C.series)||f.each(C.series,function(E){f.isObject(E)&&E.type==="k"&&(E.type="candlestick")})}A.exports=m}),GAt=Et((o,A)=>{var f=vO(),m=["itemStyle","borderColor"],C=["itemStyle","borderColor0"],E=["itemStyle","color"],I=["itemStyle","color0"],x={seriesType:"candlestick",plan:f(),performRawSeries:!0,reset:function(y,v){var w=y.getData();if(w.setVisual({legendSymbol:"roundRect",colorP:B(1,y),colorN:B(-1,y),borderColorP:D(1,y),borderColorN:D(-1,y)}),v.isSeriesFiltered(y))return;var Q=y.pipelineContext.large;return!Q&&{progress:M};function M(S,P){for(var R;(R=S.next())!=null;){var T=P.getItemModel(R),L=P.getItemLayout(R).sign;P.setItemVisual(R,{color:B(L,T),borderColor:D(L,T)})}}function B(S,P){return P.get(S>0?E:I)}function D(S,P){return P.get(S>0?m:C)}}};A.exports=x}),HAt=Et((o,A)=>{var f=po(),m=f.subPixelOptimize,C=vO(),E=ja(),I=E.parsePercent,x=mi(),y=x.retrieve2,v=typeof Float32Array<"u"?Float32Array:Array,w={seriesType:"candlestick",plan:C(),reset:function(B){var D=B.coordinateSystem,S=B.getData(),P=M(B,S),R=0,T=1,L=["x","y"],F=S.mapDimension(L[R]),U=S.mapDimension(L[T],!0),N=U[0],H=U[1],J=U[2],K=U[3];if(S.setLayout({candleWidth:P,isSimpleBox:P<=1.3}),F==null||U.length<4)return;return{progress:B.pipelineContext.large?j:X};function X(ee,ie){for(var z;(z=ee.next())!=null;){var oe=ie.get(F,z),le=ie.get(N,z),Ae=ie.get(H,z),he=ie.get(J,z),ge=ie.get(K,z),de=Math.min(le,Ae),fe=Math.max(le,Ae),G=se(de,oe),Y=se(fe,oe),W=se(he,oe),O=se(ge,oe),re=[];ce(re,Y,0),ce(re,G,1),re.push(Ce(O),Ce(Y),Ce(W),Ce(G)),ie.setItemLayout(z,{sign:Q(ie,z,le,Ae,H),initBaseline:le>Ae?Y[T]:G[T],ends:re,brushRect:me(he,ge,oe)})}function se(ye,Be){var Me=[];return Me[R]=Be,Me[T]=ye,isNaN(Be)||isNaN(ye)?[NaN,NaN]:D.dataToPoint(Me)}function ce(ye,Be,Me){var He=Be.slice(),ke=Be.slice();He[R]=m(He[R]+P/2,1,!1),ke[R]=m(ke[R]-P/2,1,!0),Me?ye.push(He,ke):ye.push(ke,He)}function me(ye,Be,Me){var He=se(ye,Me),ke=se(Be,Me);return He[R]-=P/2,ke[R]-=P/2,{x:He[0],y:He[1],width:T?P:ke[0]-He[0],height:T?ke[1]-He[1]:P}}function Ce(ye){return ye[R]=m(ye[R],1),ye}}function j(ee,ie){for(var z=new v(ee.count*4),oe=0,le,Ae=[],he=[],ge;(ge=ee.next())!=null;){var de=ie.get(F,ge),fe=ie.get(N,ge),G=ie.get(H,ge),Y=ie.get(J,ge),W=ie.get(K,ge);if(isNaN(de)||isNaN(Y)||isNaN(W)){z[oe++]=NaN,oe+=3;continue}z[oe++]=Q(ie,ge,fe,G,H),Ae[R]=de,Ae[T]=Y,le=D.dataToPoint(Ae,null,he),z[oe++]=le?le[0]:NaN,z[oe++]=le?le[1]:NaN,Ae[T]=W,le=D.dataToPoint(Ae,null,he),z[oe++]=le?le[1]:NaN}ie.setLayout("largePoints",z)}}};function Q(B,D,S,P,R){var T;return S>P?T=-1:S0?B.get(R,D-1)<=P?1:-1:1,T}function M(B,D){var S=B.getBaseAxis(),P,R=S.type==="category"?S.getBandWidth():(P=S.getExtent(),Math.abs(P[1]-P[0])/D.count()),T=I(y(B.get("barMaxWidth"),R),R),L=I(y(B.get("barMinWidth"),1),R),F=B.get("barWidth");return F!=null?I(F,R):Math.max(Math.min(R/2,T),L)}A.exports=w}),VAt=Et(()=>{var o=xn();kAt(),UAt();var A=OAt(),f=GAt(),m=HAt();o.registerPreprocessor(A),o.registerVisual(f),o.registerLayout(m)}),zAt=Et((o,A)=>{var f=YS(),m=bf(),C=m.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(E,I){return f(this.getSource(),this,{useEncodeDefaulter:!0})},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}});A.exports=C}),YAt=Et((o,A)=>{var f=mi(),m=fv(),C=m.createSymbol,E=po(),I=E.Group,x=ja(),y=x.parsePercent,v=xZ(),w=3;function Q(P){return f.isArray(P)||(P=[+P,+P]),P}function M(P,R){var T=R.rippleEffectColor||R.color;P.eachChild(function(L){L.attr({z:R.z,zlevel:R.zlevel,style:{stroke:R.brushType==="stroke"?T:null,fill:R.brushType==="fill"?T:null}})})}function B(P,R){I.call(this);var T=new v(P,R),L=new I;this.add(T),this.add(L),L.beforeUpdate=function(){this.attr(T.getScale())},this.updateData(P,R)}var D=B.prototype;D.stopEffectAnimation=function(){this.childAt(1).removeAll()},D.startEffectAnimation=function(P){for(var R=P.symbolType,T=P.color,L=this.childAt(1),F=0;F{var f=xn(),m=Q9(),C=YAt(),E=UC(),I=D9(),x=f.extendChartView({type:"effectScatter",init:function(){this._symbolDraw=new m(C)},render:function(y,v,w){var Q=y.getData(),M=this._symbolDraw;M.updateData(Q),this.group.add(M.group)},updateTransform:function(y,v,w){var Q=y.getData();this.group.dirty();var M=I().reset(y);M.progress&&M.progress({start:0,end:Q.count()},Q),this._symbolDraw.updateLayout(Q)},_updateGroupTransform:function(y){var v=y.coordinateSystem;v&&v.getRoamTransform&&(this.group.transform=E.clone(v.getRoamTransform()),this.group.decomposeTransform())},remove:function(y,v){this._symbolDraw&&this._symbolDraw.remove(v)},dispose:function(){}});A.exports=x}),KAt=Et(()=>{var o=xn();zAt(),JAt();var A=ZF(),f=D9();o.registerVisual(A("effectScatter","circle")),o.registerLayout(f("effectScatter"))}),WAt=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=bf(),E=gv(),I=mi(),x=I.concatArray,y=I.mergeAll,v=I.map,w=sc(),Q=w.encodeHTML,M=cB(),B=typeof Uint32Array>"u"?Array:Uint32Array,D=typeof Float64Array>"u"?Array:Float64Array;function S(T){var L=T.data;L&&L[0]&&L[0][0]&&L[0][0].coord&&(T.data=v(L,function(F){var U=[F[0].coord,F[1].coord],N={coords:U};return F[0].name&&(N.fromName=F[0].name),F[1].name&&(N.toName=F[1].name),y([N,F[0],F[1]])}))}var P=C.extend({type:"series.lines",dependencies:["grid","polar"],visualColorAccessPath:"lineStyle.color",init:function(T){T.data=T.data||[],S(T);var L=this._processFlatCoordsArray(T.data);this._flatCoords=L.flatCoords,this._flatCoordsOffset=L.flatCoordsOffset,L.flatCoords&&(T.data=new Float32Array(L.count)),P.superApply(this,"init",arguments)},mergeOption:function(T){if(T.data=T.data||[],S(T),T.data){var L=this._processFlatCoordsArray(T.data);this._flatCoords=L.flatCoords,this._flatCoordsOffset=L.flatCoordsOffset,L.flatCoords&&(T.data=new Float32Array(L.count))}P.superApply(this,"mergeOption",arguments)},appendData:function(T){var L=this._processFlatCoordsArray(T.data);L.flatCoords&&(this._flatCoords?(this._flatCoords=x(this._flatCoords,L.flatCoords),this._flatCoordsOffset=x(this._flatCoordsOffset,L.flatCoordsOffset)):(this._flatCoords=L.flatCoords,this._flatCoordsOffset=L.flatCoordsOffset),T.data=new Float32Array(L.count)),this.getRawData().appendData(T.data)},_getCoordsFromItemModel:function(T){var L=this.getData().getItemModel(T),F=L.option instanceof Array?L.option:L.getShallow("coords");return F},getLineCoordsCount:function(T){return this._flatCoordsOffset?this._flatCoordsOffset[T*2+1]:this._getCoordsFromItemModel(T).length},getLineCoords:function(T,L){if(this._flatCoordsOffset){for(var F=this._flatCoordsOffset[T*2],U=this._flatCoordsOffset[T*2+1],N=0;NF}}return{flatCoordsOffset:new Uint32Array(U.buffer,0,J),flatCoords:N,count:K}}return{flatCoordsOffset:null,flatCoords:null,count:T.length}},getInitialData:function(T,L){var F=new E(["value"],this);return F.hasItemOption=!1,F.initData(T.data,[],function(U,N,H,J){if(U instanceof Array)return NaN;F.hasItemOption=!0;var K=U.value;if(K!=null)return K instanceof Array?K[J]:K}),F},formatTooltip:function(T){var L=this.getData(),F=L.getItemModel(T),U=F.get("name");if(U)return U;var N=F.get("fromName"),H=F.get("toName"),J=[];return N!=null&&J.push(N),H!=null&&J.push(H),Q(J.join(" > "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var T=this.option.progressive;return T??(this.option.large?1e4:this.get("progressive"))},getProgressiveThreshold:function(){var T=this.option.progressiveThreshold;return T??(this.option.large?2e4:this.get("progressiveThreshold"))},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}}),R=P;A.exports=R}),H5e=Et((o,A)=>{var f=po(),m=ehe(),C=mi(),E=fv(),I=E.createSymbol,x=Zc(),y=K2();function v(M,B,D){f.Group.call(this),this.add(this.createLine(M,B,D)),this._updateEffectSymbol(M,B)}var w=v.prototype;w.createLine=function(M,B,D){return new m(M,B,D)},w._updateEffectSymbol=function(M,B){var D=M.getItemModel(B),S=D.getModel("effect"),P=S.get("symbolSize"),R=S.get("symbol");C.isArray(P)||(P=[P,P]);var T=S.get("color")||M.getItemVisual(B,"color"),L=this.childAt(1);this._symbolType!==R&&(this.remove(L),L=I(R,-.5,-.5,1,1,T),L.z2=100,L.culling=!0,this.add(L)),L&&(L.setStyle("shadowColor",T),L.setStyle(S.getItemStyle(["color"])),L.attr("scale",P),L.setColor(T),L.attr("scale",P),this._symbolType=R,this._symbolScale=P,this._updateEffectAnimation(M,S,B))},w._updateEffectAnimation=function(M,B,D){var S=this.childAt(1);if(S){var P=this,R=M.getItemLayout(D),T=B.get("period")*1e3,L=B.get("loop"),F=B.get("constantSpeed"),U=C.retrieve(B.get("delay"),function(K){return K/M.count()*T/3}),N=typeof U=="function";if(S.ignore=!0,this.updateAnimationPoints(S,R),F>0&&(T=this.getLineLength(S)/F*1e3),T!==this._period||L!==this._loop){S.stopAnimation();var H=U;N&&(H=U(D)),S.__t>0&&(H=-T*S.__t),S.__t=0;var J=S.animate("",L).when(T,{__t:1}).delay(H).during(function(){P.updateSymbolPosition(S)});L||J.done(function(){P.remove(S)}),J.start()}this._period=T,this._loop=L}},w.getLineLength=function(M){return x.dist(M.__p1,M.__cp1)+x.dist(M.__cp1,M.__p2)},w.updateAnimationPoints=function(M,B){M.__p1=B[0],M.__p2=B[1],M.__cp1=B[2]||[(B[0][0]+B[1][0])/2,(B[0][1]+B[1][1])/2]},w.updateData=function(M,B,D){this.childAt(0).updateData(M,B,D),this._updateEffectSymbol(M,B)},w.updateSymbolPosition=function(M){var B=M.__p1,D=M.__p2,S=M.__cp1,P=M.__t,R=M.position,T=[R[0],R[1]],L=y.quadraticAt,F=y.quadraticDerivativeAt;R[0]=L(B[0],S[0],D[0],P),R[1]=L(B[1],S[1],D[1],P);var U=F(B[0],S[0],D[0],P),N=F(B[1],S[1],D[1],P);if(M.rotation=-Math.atan2(N,U)-Math.PI/2,this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")if(M.__lastT!==void 0&&M.__lastT{var f=po(),m=mi();function C(x,y,v){f.Group.call(this),this._createPolyline(x,y,v)}var E=C.prototype;E._createPolyline=function(x,y,v){var w=x.getItemLayout(y),Q=new f.Polyline({shape:{points:w}});this.add(Q),this._updateCommonStl(x,y,v)},E.updateData=function(x,y,v){var w=x.hostModel,Q=this.childAt(0),M={shape:{points:x.getItemLayout(y)}};f.updateProps(Q,M,w,y),this._updateCommonStl(x,y,v)},E._updateCommonStl=function(x,y,v){var w=this.childAt(0),Q=x.getItemModel(y),M=x.getItemVisual(y,"color"),B=v&&v.lineStyle,D=v&&v.hoverLineStyle;(!v||x.hasItemOption)&&(B=Q.getModel("lineStyle").getLineStyle(),D=Q.getModel("emphasis.lineStyle").getLineStyle()),w.useStyle(m.defaults({strokeNoScale:!0,fill:"none",stroke:M},B)),w.hoverStyle=D,f.setHoverStyle(this)},E.updateLayout=function(x,y){var v=this.childAt(0);v.setShape("points",x.getItemLayout(y))},m.inherits(C,f.Group);var I=C;A.exports=I}),qAt=Et((o,A)=>{var f=V5e(),m=mi(),C=H5e(),E=Zc();function I(v,w,Q){C.call(this,v,w,Q),this._lastFrame=0,this._lastFramePercent=0}var x=I.prototype;x.createLine=function(v,w,Q){return new f(v,w,Q)},x.updateAnimationPoints=function(v,w){this._points=w;for(var Q=[0],M=0,B=1;B=0&&!(M[S]<=w);S--);S=Math.min(S,B-2)}else{for(var S=D;Sw);S++);S=Math.min(S-1,B-2)}E.lerp(v.position,Q[S],Q[S+1],(w-M[S])/(M[S+1]-M[S]));var R=Q[S+1][0]-Q[S][0],T=Q[S+1][1]-Q[S][1];v.rotation=-Math.atan2(T,R)-Math.PI/2,this._lastFrame=S,this._lastFramePercent=w,v.ignore=!1}},m.inherits(I,C);var y=I;A.exports=y}),jAt=Et((o,A)=>{var f=po(),m=Hce(),C=qke(),E=jke(),I=f.extendShape({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(w,Q){var M=Q.segs,B=Q.curveness;if(Q.polyline)for(var D=0;D0){w.moveTo(M[D++],M[D++]);for(var P=1;P0){var U=(R+L)/2-(T-F)*B,N=(T+F)/2-(L-R)*B;w.quadraticCurveTo(U,N,L,F)}else w.lineTo(L,F)}},findDataIndex:function(w,Q){var M=this.shape,B=M.segs,D=M.curveness;if(M.polyline)for(var S=0,P=0;P0)for(var T=B[P++],L=B[P++],F=1;F0){var H=(T+U)/2-(L-N)*D,J=(L+N)/2-(U-T)*D;if(E.containStroke(T,L,H,J,U,N))return S}else if(C.containStroke(T,L,U,N))return S;S++}return-1}});function x(){this.group=new f.Group}var y=x.prototype;y.isPersistent=function(){return!this._incremental},y.updateData=function(w){this.group.removeAll();var Q=new I({rectHover:!0,cursor:"default"});Q.setShape({segs:w.getLayout("linesPoints")}),this._setCommon(Q,w),this.group.add(Q),this._incremental=null},y.incrementalPrepareUpdate=function(w){this.group.removeAll(),this._clearIncremental(),w.count()>5e5?(this._incremental||(this._incremental=new m({silent:!0})),this.group.add(this._incremental)):this._incremental=null},y.incrementalUpdate=function(w,Q){var M=new I;M.setShape({segs:Q.getLayout("linesPoints")}),this._setCommon(M,Q,!!this._incremental),this._incremental?this._incremental.addDisplayable(M,!0):(M.rectHover=!0,M.cursor="default",M.__startIndex=w.start,this.group.add(M))},y.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},y._setCommon=function(w,Q,M){var B=Q.hostModel;w.setShape({polyline:B.get("polyline"),curveness:B.get("lineStyle.curveness")}),w.useStyle(B.getModel("lineStyle").getLineStyle()),w.style.strokeNoScale=!0;var D=Q.getVisual("color");D&&w.setStyle("stroke",D),w.setStyle("fill"),M||(w.seriesIndex=B.seriesIndex,w.on("mousemove",function(S){w.dataIndex=null;var P=w.findDataIndex(S.offsetX,S.offsetY);P>0&&(w.dataIndex=P+w.__startIndex)}))},y._clearIncremental=function(){var w=this._incremental;w&&w.clearDisplaybles()};var v=x;A.exports=v}),z5e=Et((o,A)=>{var f=vO(),m={seriesType:"lines",plan:f(),reset:function(C){var E=C.coordinateSystem,I=C.get("polyline"),x=C.pipelineContext.large;function y(v,w){var Q=[];if(x){var M,B=v.end-v.start;if(I){for(var D=0,S=v.start;S{var f=EA(),m=f.__DEV__,C=xn(),E=the(),I=H5e(),x=ehe(),y=V5e(),v=qAt(),w=jAt(),Q=z5e(),M=S9(),B=M.createClipPath,D=C.extendChartView({type:"lines",init:function(){},render:function(S,P,R){var T=S.getData(),L=this._updateLineDraw(T,S),F=S.get("zlevel"),U=S.get("effect.trailLength"),N=R.getZr(),H=N.painter.getType()==="svg";H||N.painter.getLayer(F).clear(!0),this._lastZlevel!=null&&!H&&N.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(S)&&U&&(H||N.configLayer(F,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(U/10+.9,1),0)})),L.updateData(T);var J=S.get("clip",!0)&&B(S.coordinateSystem,!1,S);J?this.group.setClipPath(J):this.group.removeClipPath(),this._lastZlevel=F,this._finished=!0},incrementalPrepareRender:function(S,P,R){var T=S.getData(),L=this._updateLineDraw(T,S);L.incrementalPrepareUpdate(T),this._clearLayer(R),this._finished=!1},incrementalRender:function(S,P,R){this._lineDraw.incrementalUpdate(S,P.getData()),this._finished=S.end===P.getData().count()},updateTransform:function(S,P,R){var T=S.getData(),L=S.pipelineContext;if(!this._finished||L.large||L.progressiveRender)return{update:!0};var F=Q.reset(S);F.progress&&F.progress({start:0,end:T.count()},T),this._lineDraw.updateLayout(),this._clearLayer(R)},_updateLineDraw:function(S,P){var R=this._lineDraw,T=this._showEffect(P),L=!!P.get("polyline"),F=P.pipelineContext,U=F.large;return(!R||T!==this._hasEffet||L!==this._isPolyline||U!==this._isLargeDraw)&&(R&&R.remove(),R=this._lineDraw=U?new w:new E(L?T?v:y:T?I:x),this._hasEffet=T,this._isPolyline=L,this._isLargeDraw=U,this.group.removeAll()),this.group.add(R.group),R},_showEffect:function(S){return!!S.get("effect.show")},_clearLayer:function(S){var P=S.getZr(),R=P.painter.getType()==="svg";!R&&this._lastZlevel!=null&&P.painter.getLayer(this._lastZlevel).clear(!0)},remove:function(S,P){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(P)},dispose:function(){}});A.exports=D}),ZAt=Et((o,A)=>{function f(E){return E instanceof Array||(E=[E,E]),E}var m="lineStyle.opacity".split("."),C={seriesType:"lines",reset:function(E,I,x){var y=f(E.get("symbol")),v=f(E.get("symbolSize")),w=E.getData();w.setVisual("fromSymbol",y&&y[0]),w.setVisual("toSymbol",y&&y[1]),w.setVisual("fromSymbolSize",v&&v[0]),w.setVisual("toSymbolSize",v&&v[1]),w.setVisual("opacity",E.get(m));function Q(M,B){var D=M.getItemModel(B),S=f(D.getShallow("symbol",!0)),P=f(D.getShallow("symbolSize",!0)),R=D.get(m);S[0]&&M.setItemVisual(B,"fromSymbol",S[0]),S[1]&&M.setItemVisual(B,"toSymbol",S[1]),P[0]&&M.setItemVisual(B,"fromSymbolSize",P[0]),P[1]&&M.setItemVisual(B,"toSymbolSize",P[1]),M.setItemVisual(B,"opacity",R)}return{dataEach:w.hasItemOption?Q:null}}};A.exports=C}),$At=Et(()=>{var o=xn();WAt(),XAt();var A=z5e(),f=ZAt();o.registerLayout(A),o.registerVisual(f)}),eut=Et((o,A)=>{var f=bf(),m=YS(),C=cB(),E=f.extend({type:"series.heatmap",getInitialData:function(I,x){return m(this.getSource(),this,{generateCoord:"value"})},preventIncremental:function(){var I=C.get(this.get("coordinateSystem"));if(I&&I.dimensions)return I.dimensions[0]==="lng"&&I.dimensions[1]==="lat"},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0}});A.exports=E}),tut=Et((o,A)=>{var f=mi(),m=256;function C(){var I=f.createCanvas();this.canvas=I,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}C.prototype={update:function(I,x,y,v,w,Q){var M=this._getBrush(),B=this._getGradient(I,w,"inRange"),D=this._getGradient(I,w,"outOfRange"),S=this.pointSize+this.blurSize,P=this.canvas,R=P.getContext("2d"),T=I.length;P.width=x,P.height=y;for(var L=0;L0){var Ae=Q(J)?B:D;J>0&&(J=J*oe+ie),X[j++]=Ae[le],X[j++]=Ae[le+1],X[j++]=Ae[le+2],X[j++]=Ae[le+3]*J*256}else j+=4}return R.putImageData(K,0,0),P},_getBrush:function(){var I=this._brushCanvas||(this._brushCanvas=f.createCanvas()),x=this.pointSize+this.blurSize,y=x*2;I.width=y,I.height=y;var v=I.getContext("2d");return v.clearRect(0,0,y,y),v.shadowOffsetX=y,v.shadowBlur=this.blurSize,v.shadowColor="#000",v.beginPath(),v.arc(-x,x,this.pointSize,0,Math.PI*2,!0),v.closePath(),v.fill(),I},_getGradient:function(I,x,y){for(var v=this._gradientPixels,w=v[y]||(v[y]=new Uint8ClampedArray(256*4)),Q=[0,0,0,0],M=0,B=0;B<256;B++)x[y](B/255,!0,Q),w[M++]=Q[0],w[M++]=Q[1],w[M++]=Q[2],w[M++]=Q[3];return w}};var E=C;A.exports=E}),iut=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=xn(),E=po(),I=tut(),x=mi();function y(M,B,D){var S=M[1]-M[0];B=x.map(B,function(T){return{interval:[(T.interval[0]-M[0])/S,(T.interval[1]-M[0])/S]}});var P=B.length,R=0;return function(T){for(var L=R;L=0;L--){var F=B[L].interval;if(F[0]<=T&&T<=F[1]){R=L;break}}return L>=0&&L=B[0]&&S<=B[1]}}function w(M){var B=M.dimensions;return B[0]==="lng"&&B[1]==="lat"}var Q=C.extendChartView({type:"heatmap",render:function(M,B,D){var S;B.eachComponent("visualMap",function(R){R.eachTargetSeries(function(T){T===M&&(S=R)})}),this.group.removeAll(),this._incrementalDisplayable=null;var P=M.coordinateSystem;P.type==="cartesian2d"||P.type==="calendar"?this._renderOnCartesianAndCalendar(M,D,0,M.getData().count()):w(P)&&this._renderOnGeo(P,M,S,D)},incrementalPrepareRender:function(M,B,D){this.group.removeAll()},incrementalRender:function(M,B,D,S){var P=B.coordinateSystem;P&&this._renderOnCartesianAndCalendar(B,S,M.start,M.end,!0)},_renderOnCartesianAndCalendar:function(M,B,D,S,P){var R=M.coordinateSystem,T,L;if(R.type==="cartesian2d"){var F=R.getAxis("x"),U=R.getAxis("y");T=F.getBandWidth(),L=U.getBandWidth()}for(var N=this.group,H=M.getData(),J="itemStyle",K="emphasis.itemStyle",X="label",j="emphasis.label",ee=M.getModel(J).getItemStyle(["color"]),ie=M.getModel(K).getItemStyle(),z=M.getModel(X),oe=M.getModel(j),le=R.type,Ae=le==="cartesian2d"?[H.mapDimension("x"),H.mapDimension("y"),H.mapDimension("value")]:[H.mapDimension("time"),H.mapDimension("value")],he=D;he{eut(),iut()}),nut=Et((o,A)=>{var f=w5e(),m=f.extend({type:"series.pictorialBar",dependencies:["grid"],defaultOption:{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",progressive:0,hoverAnimation:!1},getInitialData:function(E){return E.stack=null,m.superApply(this,"getInitialData",arguments)}}),C=m;A.exports=C}),out=Et((o,A)=>{var f=xn(),m=mi(),C=po(),E=fv(),I=E.createSymbol,x=ja(),y=x.parsePercent,v=x.isNumeric,w=b5e(),Q=w.setLabel,M=["itemStyle","borderWidth"],B=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],D=new C.Circle,S=f.extendChartView({type:"pictorialBar",render:function(W,O,re){var se=this.group,ce=W.getData(),me=this._data,Ce=W.coordinateSystem,ye=Ce.getBaseAxis(),Be=!!ye.isHorizontal(),Me=Ce.grid.getRect(),He={ecSize:{width:re.getWidth(),height:re.getHeight()},seriesModel:W,coordSys:Ce,coordSysExtent:[[Me.x,Me.x+Me.width],[Me.y,Me.y+Me.height]],isHorizontal:Be,valueDim:B[+Be],categoryDim:B[1-Be]};return ce.diff(me).add(function(ke){if(ce.hasValue(ke)){var Ne=j(ce,ke),Pe=P(ce,ke,Ne,He),we=oe(ce,He,Pe);ce.setItemGraphicEl(ke,we),se.add(we),fe(we,He,Pe)}}).update(function(ke,Ne){var Pe=me.getItemGraphicEl(Ne);if(!ce.hasValue(ke)){se.remove(Pe);return}var we=j(ce,ke),Fe=P(ce,ke,we,He),Ue=he(ce,Fe);Pe&&Ue!==Pe.__pictorialShapeStr&&(se.remove(Pe),ce.setItemGraphicEl(ke,null),Pe=null),Pe?le(Pe,He,Fe):Pe=oe(ce,He,Fe,!0),ce.setItemGraphicEl(ke,Pe),Pe.__pictorialSymbolMeta=Fe,se.add(Pe),fe(Pe,He,Fe)}).remove(function(ke){var Ne=me.getItemGraphicEl(ke);Ne&&Ae(me,ke,Ne.__pictorialSymbolMeta.animationModel,Ne)}).execute(),this._data=ce,this.group},dispose:m.noop,remove:function(W,O){var re=this.group,se=this._data;W.get("animation")?se&&se.eachItemGraphicEl(function(ce){Ae(se,ce.dataIndex,W,ce)}):re.removeAll()}});function P(W,O,re,se){var ce=W.getItemLayout(O),me=re.get("symbolRepeat"),Ce=re.get("symbolClip"),ye=re.get("symbolPosition")||"start",Be=re.get("symbolRotate"),Me=(Be||0)*Math.PI/180||0,He=re.get("symbolPatternSize")||2,ke=re.isAnimationEnabled(),Ne={dataIndex:O,layout:ce,itemModel:re,symbolType:W.getItemVisual(O,"symbol")||"circle",color:W.getItemVisual(O,"color"),symbolClip:Ce,symbolRepeat:me,symbolRepeatDirection:re.get("symbolRepeatDirection"),symbolPatternSize:He,rotation:Me,animationModel:ke?re:null,hoverAnimation:ke&&re.get("hoverAnimation"),z2:re.getShallow("z",!0)||0};R(re,me,ce,se,Ne),L(W,O,ce,me,Ce,Ne.boundingLength,Ne.pxSign,He,se,Ne),F(re,Ne.symbolScale,Me,se,Ne);var Pe=Ne.symbolSize,we=re.get("symbolOffset");return m.isArray(we)&&(we=[y(we[0],Pe[0]),y(we[1],Pe[1])]),U(re,Pe,ce,me,Ce,we,ye,Ne.valueLineWidth,Ne.boundingLength,Ne.repeatCutLength,se,Ne),Ne}function R(W,O,re,se,ce){var me=se.valueDim,Ce=W.get("symbolBoundingData"),ye=se.coordSys.getOtherAxis(se.coordSys.getBaseAxis()),Be=ye.toGlobalCoord(ye.dataToCoord(0)),Me=1-+(re[me.wh]<=0),He;if(m.isArray(Ce)){var ke=[T(ye,Ce[0])-Be,T(ye,Ce[1])-Be];ke[1]0?1:He<0?-1:0}function T(W,O){return W.toGlobalCoord(W.dataToCoord(W.scale.parse(O)))}function L(W,O,re,se,ce,me,Ce,ye,Be,Me){var He=Be.valueDim,ke=Be.categoryDim,Ne=Math.abs(re[ke.wh]),Pe=W.getItemVisual(O,"symbolSize");m.isArray(Pe)?Pe=Pe.slice():(Pe==null&&(Pe="100%"),Pe=[Pe,Pe]),Pe[ke.index]=y(Pe[ke.index],Ne),Pe[He.index]=y(Pe[He.index],se?Ne:Math.abs(me)),Me.symbolSize=Pe;var we=Me.symbolScale=[Pe[0]/ye,Pe[1]/ye];we[He.index]*=(Be.isHorizontal?-1:1)*Ce}function F(W,O,re,se,ce){var me=W.get(M)||0;me&&(D.attr({scale:O.slice(),rotation:re}),D.updateTransform(),me/=D.getLineScale(),me*=O[se.valueDim.index]),ce.valueLineWidth=me}function U(W,O,re,se,ce,me,Ce,ye,Be,Me,He,ke){var Ne=He.categoryDim,Pe=He.valueDim,we=ke.pxSign,Fe=Math.max(O[Pe.index]+ye,0),Ue=Fe;if(se){var ze=Math.abs(Be),Je=m.retrieve(W.get("symbolMargin"),"15%")+"",je=!1;Je.lastIndexOf("!")===Je.length-1&&(je=!0,Je=Je.slice(0,Je.length-1)),Je=y(Je,O[Pe.index]);var Ze=Math.max(Fe+Je*2,0),rt=je?0:Je*2,At=v(se),yt=At?se:G((ze+rt)/Ze),at=ze-yt*Fe;Je=at/2/(je?yt:yt-1),Ze=Fe+Je*2,rt=je?0:Je*2,!At&&se!=="fixed"&&(yt=Me?G((Math.abs(Me)+rt)/Ze):0),Ue=yt*Ze-rt,ke.repeatTimes=yt,ke.symbolMargin=Je}var ft=we*(Ue/2),_t=ke.pathPosition=[];_t[Ne.index]=re[Ne.wh]/2,_t[Pe.index]=Ce==="start"?ft:Ce==="end"?Be-ft:Be/2,me&&(_t[0]+=me[0],_t[1]+=me[1]);var et=ke.bundlePosition=[];et[Ne.index]=re[Ne.xy],et[Pe.index]=re[Pe.xy];var pt=ke.barRectShape=m.extend({},re);pt[Pe.wh]=we*Math.max(Math.abs(re[Pe.wh]),Math.abs(_t[Pe.index]+ft)),pt[Ne.wh]=re[Ne.wh];var zt=ke.clipShape={};zt[Ne.xy]=-re[Ne.xy],zt[Ne.wh]=He.ecSize[Ne.wh],zt[Pe.xy]=0,zt[Pe.wh]=re[Pe.wh]}function N(W){var O=W.symbolPatternSize,re=I(W.symbolType,-O/2,-O/2,O,O,W.color);return re.attr({culling:!0}),re.type!=="image"&&re.setStyle({strokeNoScale:!0}),re}function H(W,O,re,se){var ce=W.__pictorialBundle,me=re.symbolSize,Ce=re.valueLineWidth,ye=re.pathPosition,Be=O.valueDim,Me=re.repeatTimes||0,He=0,ke=me[O.valueDim.index]+Ce+re.symbolMargin*2;for(ge(W,function(ze){ze.__pictorialAnimationIndex=He,ze.__pictorialRepeatTimes=Me,He0:je<0)&&(Ze=Me-1-ze),Je[Be.index]=ke*(Ze-Me/2+.5)+ye[Be.index],{position:Je,scale:re.symbolScale.slice(),rotation:re.rotation}}function Fe(){ge(W,function(ze){ze.trigger("emphasis")})}function Ue(){ge(W,function(ze){ze.trigger("normal")})}}function J(W,O,re,se){var ce=W.__pictorialBundle,me=W.__pictorialMainPath;me?de(me,null,{position:re.pathPosition.slice(),scale:re.symbolScale.slice(),rotation:re.rotation},re,se):(me=W.__pictorialMainPath=N(re),ce.add(me),de(me,{position:re.pathPosition.slice(),scale:[0,0],rotation:re.rotation},{scale:re.symbolScale.slice()},re,se),me.on("mouseover",Ce).on("mouseout",ye)),z(me,re);function Ce(){this.trigger("emphasis")}function ye(){this.trigger("normal")}}function K(W,O,re){var se=m.extend({},O.barRectShape),ce=W.__pictorialBarRect;ce?de(ce,null,{shape:se},O,re):(ce=W.__pictorialBarRect=new C.Rect({z2:2,shape:se,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),W.add(ce))}function X(W,O,re,se){if(re.symbolClip){var ce=W.__pictorialClipPath,me=m.extend({},re.clipShape),Ce=O.valueDim,ye=re.animationModel,Be=re.dataIndex;if(ce)C.updateProps(ce,{shape:me},ye,Be);else{me[Ce.wh]=0,ce=new C.Rect({shape:me}),W.__pictorialBundle.setClipPath(ce),W.__pictorialClipPath=ce;var Me={};Me[Ce.wh]=re.clipShape[Ce.wh],C[se?"updateProps":"initProps"](ce,{shape:Me},ye,Be)}}}function j(W,O){var re=W.getItemModel(O);return re.getAnimationDelayParams=ee,re.isAnimationEnabled=ie,re}function ee(W){return{index:W.__pictorialAnimationIndex,count:W.__pictorialRepeatTimes}}function ie(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function z(W,O){W.off("emphasis").off("normal");var re=O.symbolScale.slice();O.hoverAnimation&&W.on("emphasis",function(){this.animateTo({scale:[re[0]*1.1,re[1]*1.1]},400,"elasticOut")}).on("normal",function(){this.animateTo({scale:re.slice()},400,"elasticOut")})}function oe(W,O,re,se){var ce=new C.Group,me=new C.Group;return ce.add(me),ce.__pictorialBundle=me,me.attr("position",re.bundlePosition.slice()),re.symbolRepeat?H(ce,O,re):J(ce,O,re),K(ce,re,se),X(ce,O,re,se),ce.__pictorialShapeStr=he(W,re),ce.__pictorialSymbolMeta=re,ce}function le(W,O,re){var se=re.animationModel,ce=re.dataIndex,me=W.__pictorialBundle;C.updateProps(me,{position:re.bundlePosition.slice()},se,ce),re.symbolRepeat?H(W,O,re,!0):J(W,O,re,!0),K(W,re,!0),X(W,O,re,!0)}function Ae(W,O,re,se){var ce=se.__pictorialBarRect;ce&&(ce.style.text=null);var me=[];ge(se,function(Ce){me.push(Ce)}),se.__pictorialMainPath&&me.push(se.__pictorialMainPath),se.__pictorialClipPath&&(re=null),m.each(me,function(Ce){C.updateProps(Ce,{scale:[0,0]},re,O,function(){se.parent&&se.parent.remove(se)})}),W.setItemGraphicEl(O,null)}function he(W,O){return[W.getItemVisual(O.dataIndex,"symbol")||"none",!!O.symbolRepeat,!!O.symbolClip].join(":")}function ge(W,O,re){m.each(W.__pictorialBundle.children(),function(se){se!==W.__pictorialBarRect&&O.call(re,se)})}function de(W,O,re,se,ce,me){O&&W.attr(O),se.symbolClip&&!ce?re&&W.attr(re):re&&C[ce?"updateProps":"initProps"](W,re,se.animationModel,se.dataIndex,me)}function fe(W,O,re){var se=re.color,ce=re.dataIndex,me=re.itemModel,Ce=me.getModel("itemStyle").getItemStyle(["color"]),ye=me.getModel("emphasis.itemStyle").getItemStyle(),Be=me.getShallow("cursor");ge(W,function(Ne){Ne.setColor(se),Ne.setStyle(m.defaults({fill:se,opacity:re.opacity},Ce)),C.setHoverStyle(Ne,ye),Be&&(Ne.cursor=Be),Ne.z2=re.z2});var Me={},He=O.valueDim.posDesc[+(re.boundingLength>0)],ke=W.__pictorialBarRect;Q(ke.style,Me,me,se,O.seriesModel,ce,He),C.setHoverStyle(ke,Me)}function G(W){var O=Math.round(W);return Math.abs(W-O)<1e-4?O:Math.ceil(W)}var Y=S;A.exports=Y}),aut=Et(()=>{var o=xn(),A=mi();Kce(),nut(),out();var f=IZ(),m=f.layout,C=ZF();M9(),o.registerLayout(A.curry(m,"pictorialBar")),o.registerVisual(C("pictorialBar","roundRect"))}),sut=Et((o,A)=>{var f=mi(),m=j2(),C=function(I,x,y,v,w){m.call(this,I,x,y),this.type=v||"value",this.position=w||"bottom",this.orient=null};C.prototype={constructor:C,model:null,isHorizontal:function(){var I=this.position;return I==="top"||I==="bottom"},pointToData:function(I,x){return this.coordinateSystem.pointToData(I,x)[0]},toGlobalCoord:null,toLocalCoord:null},f.inherits(C,m);var E=C;A.exports=E}),lut=Et((o,A)=>{var f=sut(),m=hB(),C=Wu(),E=C.getLayoutRect,I=mi(),x=I.each;function y(w,Q,M){this.dimension="single",this.dimensions=["single"],this._axis=null,this._rect,this._init(w,Q,M),this.model=w}y.prototype={type:"singleAxis",axisPointerEnabled:!0,constructor:y,_init:function(w,Q,M){var B=this.dimension,D=new f(B,m.createScaleByModel(w),[0,0],w.get("type"),w.get("position")),S=D.type==="category";D.onBand=S&&w.get("boundaryGap"),D.inverse=w.get("inverse"),D.orient=w.get("orient"),w.axis=D,D.model=w,D.coordinateSystem=this,this._axis=D},update:function(w,Q){w.eachSeries(function(M){if(M.coordinateSystem===this){var B=M.getData();x(B.mapDimension(this.dimension,!0),function(D){this._axis.scale.unionExtentFromData(B,D)},this),m.niceScaleExtent(this._axis.scale,this._axis.model)}},this)},resize:function(w,Q){this._rect=E({left:w.get("left"),top:w.get("top"),right:w.get("right"),bottom:w.get("bottom"),width:w.get("width"),height:w.get("height")},{width:Q.getWidth(),height:Q.getHeight()}),this._adjustAxis()},getRect:function(){return this._rect},_adjustAxis:function(){var w=this._rect,Q=this._axis,M=Q.isHorizontal(),B=M?[0,w.width]:[0,w.height],D=Q.reverse?1:0;Q.setExtent(B[D],B[1-D]),this._updateAxisTransform(Q,M?w.x:w.y)},_updateAxisTransform:function(w,Q){var M=w.getExtent(),B=M[0]+M[1],D=w.isHorizontal();w.toGlobalCoord=D?function(S){return S+Q}:function(S){return B-S+Q},w.toLocalCoord=D?function(S){return S-Q}:function(S){return B-S+Q}},getAxis:function(){return this._axis},getBaseAxis:function(){return this._axis},getAxes:function(){return[this._axis]},getTooltipAxes:function(){return{baseAxes:[this.getAxis()]}},containPoint:function(w){var Q=this.getRect(),M=this.getAxis(),B=M.orient;return B==="horizontal"?M.contain(M.toLocalCoord(w[0]))&&w[1]>=Q.y&&w[1]<=Q.y+Q.height:M.contain(M.toLocalCoord(w[1]))&&w[0]>=Q.y&&w[0]<=Q.y+Q.height},pointToData:function(w){var Q=this.getAxis();return[Q.coordToData(Q.toLocalCoord(w[Q.orient==="horizontal"?0:1]))]},dataToPoint:function(w){var Q=this.getAxis(),M=this.getRect(),B=[],D=Q.orient==="horizontal"?0:1;return w instanceof Array&&(w=w[0]),B[D]=Q.toGlobalCoord(Q.dataToCoord(+w)),B[1-D]=D===0?M.y+M.height/2:M.x+M.width/2,B}};var v=y;A.exports=v}),Aut=Et(()=>{var o=lut(),A=cB();function f(m,C){var E=[];return m.eachComponent("singleAxis",function(I,x){var y=new o(I,m,C);y.name="single_"+x,y.resize(I,C),I.coordinateSystem=y,E.push(y)}),m.eachSeries(function(I){if(I.get("coordinateSystem")==="singleAxis"){var x=m.queryComponents({mainType:"singleAxis",index:I.get("singleAxisIndex"),id:I.get("singleAxisId")})[0];I.coordinateSystem=x&&x.coordinateSystem}}),E}A.register("single",{create:f,dimensions:o.prototype.dimensions})}),Y5e=Et(o=>{var A=mi();function f(m,C){C=C||{};var E=m.coordinateSystem,I=m.axis,x={},y=I.position,v=I.orient,w=E.getRect(),Q=[w.x,w.x+w.width,w.y,w.y+w.height],M={horizontal:{top:Q[2],bottom:Q[3]},vertical:{left:Q[0],right:Q[1]}};x.position=[v==="vertical"?M.vertical[y]:Q[0],v==="horizontal"?M.horizontal[y]:Q[3]];var B={horizontal:0,vertical:1};x.rotation=Math.PI/2*B[v];var D={top:-1,bottom:1,right:1,left:-1};x.labelDirection=x.tickDirection=x.nameDirection=D[y],m.get("axisTick.inside")&&(x.tickDirection=-x.tickDirection),A.retrieve(C.labelInside,m.get("axisLabel.inside"))&&(x.labelDirection=-x.labelDirection);var S=C.rotate;return S==null&&(S=m.get("axisLabel.rotate")),x.labelRotation=y==="top"?-S:S,x.z2=1,x}o.layout=f}),uut=Et((o,A)=>{var f=mi(),m=X2(),C=po(),E=Y5e(),I=$F(),x=B5e(),y=x.rectCoordAxisBuildSplitArea,v=x.rectCoordAxisHandleRemove,w=["axisLine","axisTickLabel","axisName"],Q=["splitArea","splitLine"],M=I.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(D,S,P,R){var T=this.group;T.removeAll();var L=this._axisGroup;this._axisGroup=new C.Group;var F=E.layout(D),U=new m(D,F);f.each(w,U.add,U),T.add(this._axisGroup),T.add(U.getGroup()),f.each(Q,function(N){D.get(N+".show")&&this["_"+N](D)},this),C.groupTransition(L,this._axisGroup,D),M.superCall(this,"render",D,S,P,R)},remove:function(){v(this)},_splitLine:function(D){var S=D.axis;if(!S.scale.isBlank()){var P=D.getModel("splitLine"),R=P.getModel("lineStyle"),T=R.get("width"),L=R.get("color");L=L instanceof Array?L:[L];for(var F=D.coordinateSystem.getRect(),U=S.isHorizontal(),N=[],H=0,J=S.getTicksCoords({tickModel:P}),K=[],X=[],j=0;j{var f=mi(),m=wf(),C=yZ(),E=BO(),I=m.extend({type:"singleAxis",layoutMode:"box",axis:null,coordinateSystem:null,getCoordSysModel:function(){return this}}),x={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:1,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:1}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}};function y(w,Q){return Q.type||(Q.data?"category":"value")}f.merge(I.prototype,E),C("single",I,y,x);var v=I;A.exports=v}),J5e=Et((o,A)=>{var f=mi(),m=pl();function C(E,I){var x=[],y=E.seriesIndex,v;if(y==null||!(v=I.getSeriesByIndex(y)))return{point:[]};var w=v.getData(),Q=m.queryDataIndex(w,E);if(Q==null||Q<0||f.isArray(Q))return{point:[]};var M=w.getItemGraphicEl(Q),B=v.coordinateSystem;if(v.getTooltipPosition)x=v.getTooltipPosition(Q)||[];else if(B&&B.dataToPoint)x=B.dataToPoint(w.getValues(f.map(B.dimensions,function(S){return w.mapDimension(S)}),Q,!0))||[];else if(M){var D=M.getBoundingRect().clone();D.applyTransform(M.transform),x=[D.x+D.width/2,D.y+D.height/2]}return{point:x,el:M}}A.exports=C}),hut=Et((o,A)=>{var f=mi(),m=pl(),C=m.makeInner,E=vZ(),I=J5e(),x=f.each,y=f.curry,v=C();function w(U,N,H){var J=U.currTrigger,K=[U.x,U.y],X=U,j=U.dispatchAction||f.bind(H.dispatchAction,H),ee=N.getComponent("axisPointer").coordSysAxesInfo;if(ee){F(K)&&(K=I({seriesIndex:X.seriesIndex,dataIndex:X.dataIndex},N).point);var ie=F(K),z=X.axesInfo,oe=ee.axesInfo,le=J==="leave"||F(K),Ae={},he={},ge={list:[],map:{}},de={showPointer:y(B,he),showTooltip:y(D,ge)};x(ee.coordSysMap,function(G,Y){var W=ie||G.containPoint(K);x(ee.coordSysAxesInfo[Y],function(O,re){var se=O.axis,ce=T(z,O);if(!le&&W&&(!z||ce)){var me=ce&&ce.value;me==null&&!ie&&(me=se.pointToData(K)),me!=null&&Q(O,me,de,!1,Ae)}})});var fe={};return x(oe,function(G,Y){var W=G.linkGroup;W&&!he[Y]&&x(W.axesInfo,function(O,re){var se=he[re];if(O!==G&&se){var ce=se.value;W.mapper&&(ce=G.axis.scale.parse(W.mapper(ce,L(O),L(G)))),fe[G.key]=ce}})}),x(fe,function(G,Y){Q(oe[Y],G,de,!0,Ae)}),S(he,oe,Ae),P(ge,K,U,j),R(oe,j,H),Ae}}function Q(U,N,H,J,K){var X=U.axis;if(!(X.scale.isBlank()||!X.containData(N))){if(!U.involveSeries){H.showPointer(U,N);return}var j=M(N,U),ee=j.payloadBatch,ie=j.snapToValue;ee[0]&&K.seriesIndex==null&&f.extend(K,ee[0]),!J&&U.snap&&X.containData(ie)&&ie!=null&&(N=ie),H.showPointer(U,N,ee,K),H.showTooltip(U,j,ie)}}function M(U,N){var H=N.axis,J=H.dim,K=U,X=[],j=Number.MAX_VALUE,ee=-1;return x(N.seriesModels,function(ie,z){var oe=ie.getData().mapDimension(J,!0),le,Ae;if(ie.getAxisTooltipData){var he=ie.getAxisTooltipData(oe,U,H);Ae=he.dataIndices,le=he.nestestValue}else{if(Ae=ie.getData().indicesOfNearest(oe[0],U,H.type==="category"?.5:null),!Ae.length)return;le=ie.getData().get(oe[0],Ae[0])}if(!(le==null||!isFinite(le))){var ge=U-le,de=Math.abs(ge);de<=j&&((de=0&&ee<0)&&(j=de,ee=ge,K=le,X.length=0),x(Ae,function(fe){X.push({seriesIndex:ie.seriesIndex,dataIndexInside:fe,dataIndex:ie.getData().getRawIndex(fe)})}))}}),{payloadBatch:X,snapToValue:K}}function B(U,N,H,J){U[N.key]={value:H,payloadBatch:J}}function D(U,N,H,J){var K=H.payloadBatch,X=N.axis,j=X.model,ee=N.axisPointerModel;if(!(!N.triggerTooltip||!K.length)){var ie=N.coordSys.model,z=E.makeKey(ie),oe=U.map[z];oe||(oe=U.map[z]={coordSysId:ie.id,coordSysIndex:ie.componentIndex,coordSysType:ie.type,coordSysMainType:ie.mainType,dataByAxis:[]},U.list.push(oe)),oe.dataByAxis.push({axisDim:X.dim,axisIndex:j.componentIndex,axisType:j.type,axisId:j.id,value:J,valueLabelOpt:{precision:ee.get("label.precision"),formatter:ee.get("label.formatter")},seriesDataIndices:K.slice()})}}function S(U,N,H){var J=H.axesInfo=[];x(N,function(K,X){var j=K.axisPointerModel.option,ee=U[X];ee?(!K.useHandle&&(j.status="show"),j.value=ee.value,j.seriesDataIndices=(ee.payloadBatch||[]).slice()):!K.useHandle&&(j.status="hide"),j.status==="show"&&J.push({axisDim:K.axis.dim,axisIndex:K.axis.model.componentIndex,value:j.value})})}function P(U,N,H,J){if(F(N)||!U.list.length){J({type:"hideTip"});return}var K=((U.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};J({type:"showTip",escapeConnect:!0,x:N[0],y:N[1],tooltipOption:H.tooltipOption,position:H.position,dataIndexInside:K.dataIndexInside,dataIndex:K.dataIndex,seriesIndex:K.seriesIndex,dataByCoordSys:U.list})}function R(U,N,H){var J=H.getZr(),K="axisPointerLastHighlights",X=v(J)[K]||{},j=v(J)[K]={};x(U,function(z,oe){var le=z.axisPointerModel.option;le.status==="show"&&x(le.seriesDataIndices,function(Ae){var he=Ae.seriesIndex+" | "+Ae.dataIndex;j[he]=Ae})});var ee=[],ie=[];f.each(X,function(z,oe){!j[oe]&&ie.push(z)}),f.each(j,function(z,oe){!X[oe]&&ee.push(z)}),ie.length&&H.dispatchAction({type:"downplay",escapeConnect:!0,batch:ie}),ee.length&&H.dispatchAction({type:"highlight",escapeConnect:!0,batch:ee})}function T(U,N){for(var H=0;H<(U||[]).length;H++){var J=U[H];if(N.axis.dim===J.axisDim&&N.axis.model.componentIndex===J.axisIndex)return J}}function L(U){var N=U.axis.model,H={},J=H.axisDim=U.axis.dim;return H.axisIndex=H[J+"AxisIndex"]=N.componentIndex,H.axisName=H[J+"AxisName"]=N.name,H.axisId=H[J+"AxisId"]=N.id,H}function F(U){return!U||U[0]==null||isNaN(U[0])||U[1]==null||isNaN(U[1])}A.exports=w}),dut=Et((o,A)=>{var f=xn(),m=f.extendComponentModel({type:"axisPointer",coordSysAxesInfo:null,defaultOption:{show:"auto",triggerOn:null,zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#aaa",width:1,type:"solid"},shadowStyle:{color:"rgba(150,150,150,0.3)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:"#aaa"},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}}}),C=m;A.exports=C}),K5e=Et(o=>{var A=mi(),f=mg(),m=pl(),C=m.makeInner,E=C(),I=A.each;function x(D,S,P){if(!f.node){var R=S.getZr();E(R).records||(E(R).records={}),y(R,S);var T=E(R).records[D]||(E(R).records[D]={});T.handler=P}}function y(D,S){if(E(D).initialized)return;E(D).initialized=!0,P("click",A.curry(Q,"click")),P("mousemove",A.curry(Q,"mousemove")),P("globalout",w);function P(R,T){D.on(R,function(L){var F=M(S);I(E(D).records,function(U){U&&T(U,L,F.dispatchAction)}),v(F.pendings,S)})}}function v(D,S){var P=D.showTip.length,R=D.hideTip.length,T;P?T=D.showTip[P-1]:R&&(T=D.hideTip[R-1]),T&&(T.dispatchAction=null,S.dispatchAction(T))}function w(D,S,P){D.handler("leave",null,P)}function Q(D,S,P,R){S.handler(D,P,R)}function M(D){var S={showTip:[],hideTip:[]},P=function(R){var T=S[R.type];T?T.push(R):(R.dispatchAction=P,D.dispatchAction(R))};return{dispatchAction:P,pendings:S}}function B(D,S){if(!f.node){var P=S.getZr(),R=(E(P).records||{})[D];R&&(E(P).records[D]=null)}}o.register=x,o.unregister=B}),gut=Et((o,A)=>{var f=xn(),m=K5e(),C=f.extendComponentView({type:"axisPointer",render:function(I,x,y){var v=x.getComponent("tooltip"),w=I.get("triggerOn")||v&&v.get("triggerOn")||"mousemove|click";m.register("axisPointer",y,function(Q,M,B){w!=="none"&&(Q==="leave"||w.indexOf(Q)>=0)&&B({type:"updateAxisPointer",currTrigger:Q,x:M&&M.offsetX,y:M&&M.offsetY})})},remove:function(I,x){m.unregister(x.getZr(),"axisPointer"),C.superApply(this._model,"remove",arguments)},dispose:function(I,x){m.unregister("axisPointer",x),C.superApply(this._model,"dispose",arguments)}}),E=C;A.exports=E}),nhe=Et((o,A)=>{var f=mi(),m=VS(),C=po(),E=vZ(),I=U1(),x=W2(),y=pl(),v=y.makeInner,w=v(),Q=f.clone,M=f.bind;function B(){}B.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(F,U,N,H){var J=U.get("value"),K=U.get("status");if(this._axisModel=F,this._axisPointerModel=U,this._api=N,!(!H&&this._lastValue===J&&this._lastStatus===K)){this._lastValue=J,this._lastStatus=K;var X=this._group,j=this._handle;if(!K||K==="hide"){X&&X.hide(),j&&j.hide();return}X&&X.show(),j&&j.show();var ee={};this.makeElOption(ee,J,F,U,N);var ie=ee.graphicKey;ie!==this._lastGraphicKey&&this.clear(N),this._lastGraphicKey=ie;var z=this._moveAnimation=this.determineAnimation(F,U);if(!X)X=this._group=new C.Group,this.createPointerEl(X,ee,F,U),this.createLabelEl(X,ee,F,U),N.getZr().add(X);else{var oe=f.curry(D,U,z);this.updatePointerEl(X,ee,oe,U),this.updateLabelEl(X,ee,oe,U)}T(X,U,!0),this._renderHandle(J)}},remove:function(F){this.clear(F)},dispose:function(F){this.clear(F)},determineAnimation:function(F,U){var N=U.get("animation"),H=F.axis,J=H.type==="category",K=U.get("snap");if(!K&&!J)return!1;if(N==="auto"||N==null){var X=this.animationThreshold;if(J&&H.getBandWidth()>X)return!0;if(K){var j=E.getAxisInfo(F).seriesDataCount,ee=H.getExtent();return Math.abs(ee[0]-ee[1])/j>X}return!1}return N===!0},makeElOption:function(F,U,N,H,J){},createPointerEl:function(F,U,N,H){var J=U.pointer;if(J){var K=w(F).pointerEl=new C[J.type](Q(U.pointer));F.add(K)}},createLabelEl:function(F,U,N,H){if(U.label){var J=w(F).labelEl=new C.Rect(Q(U.label));F.add(J),P(J,H)}},updatePointerEl:function(F,U,N){var H=w(F).pointerEl;H&&U.pointer&&(H.setStyle(U.pointer.style),N(H,{shape:U.pointer.shape}))},updateLabelEl:function(F,U,N,H){var J=w(F).labelEl;J&&(J.setStyle(U.label.style),N(J,{shape:U.label.shape,position:U.label.position}),P(J,H))},_renderHandle:function(F){if(!(this._dragging||!this.updateHandleTransform)){var U=this._axisPointerModel,N=this._api.getZr(),H=this._handle,J=U.getModel("handle"),K=U.get("status");if(!J.get("show")||!K||K==="hide"){H&&N.remove(H),this._handle=null;return}var X;this._handle||(X=!0,H=this._handle=C.createIcon(J.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(ie){I.stop(ie.event)},onmousedown:M(this._onHandleDragMove,this,0,0),drift:M(this._onHandleDragMove,this),ondragend:M(this._onHandleDragEnd,this)}),N.add(H)),T(H,U,!1);var j=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];H.setStyle(J.getItemStyle(null,j));var ee=J.get("size");f.isArray(ee)||(ee=[ee,ee]),H.attr("scale",[ee[0]/2,ee[1]/2]),x.createOrUpdate(this,"_doDispatchAxisPointer",J.get("throttle")||0,"fixRate"),this._moveHandleToValue(F,X)}},_moveHandleToValue:function(F,U){D(this._axisPointerModel,!U&&this._moveAnimation,this._handle,R(this.getHandleTransform(F,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(F,U){var N=this._handle;if(N){this._dragging=!0;var H=this.updateHandleTransform(R(N),[F,U],this._axisModel,this._axisPointerModel);this._payloadInfo=H,N.stopAnimation(),N.attr(R(H)),w(N).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){var F=this._handle;if(F){var U=this._payloadInfo,N=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:U.cursorPoint[0],y:U.cursorPoint[1],tooltipOption:U.tooltipOption,axesInfo:[{axisDim:N.axis.dim,axisIndex:N.componentIndex}]})}},_onHandleDragEnd:function(F){this._dragging=!1;var U=this._handle;if(U){var N=this._axisPointerModel.get("value");this._moveHandleToValue(N),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(F){this._lastValue=null,this._lastStatus=null;var U=F.getZr(),N=this._group,H=this._handle;U&&N&&(this._lastGraphicKey=null,N&&U.remove(N),H&&U.remove(H),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(F,U,N){return N=N||0,{x:F[N],y:F[1-N],width:U[N],height:U[1-N]}}},B.prototype.constructor=B;function D(F,U,N,H){S(w(N).lastProp,H)||(w(N).lastProp=H,U?C.updateProps(N,H,F):(N.stopAnimation(),N.attr(H)))}function S(F,U){if(f.isObject(F)&&f.isObject(U)){var N=!0;return f.each(U,function(H,J){N=N&&S(F[J],H)}),!!N}else return F===U}function P(F,U){F[U.get("label.show")?"show":"hide"]()}function R(F){return{position:F.position.slice(),rotation:F.rotation||0}}function T(F,U,N){var H=U.get("z"),J=U.get("zlevel");F&&F.traverse(function(K){K.type!=="group"&&(H!=null&&(K.z=H),J!=null&&(K.zlevel=J),K.silent=N)})}m.enableClassExtend(B);var L=B;A.exports=L}),bZ=Et(o=>{var A=mi(),f=po(),m=Nx(),C=sc(),E=UC(),I=hB(),x=X2();function y(R){var T=R.get("type"),L=R.getModel(T+"Style"),F;return T==="line"?(F=L.getLineStyle(),F.fill=null):T==="shadow"&&(F=L.getAreaStyle(),F.stroke=null),F}function v(R,T,L,F,U){var N=L.get("value"),H=Q(N,T.axis,T.ecModel,L.get("seriesDataIndices"),{precision:L.get("label.precision"),formatter:L.get("label.formatter")}),J=L.getModel("label"),K=C.normalizeCssArray(J.get("padding")||0),X=J.getFont(),j=m.getBoundingRect(H,X),ee=U.position,ie=j.width+K[1]+K[3],z=j.height+K[0]+K[2],oe=U.align;oe==="right"&&(ee[0]-=ie),oe==="center"&&(ee[0]-=ie/2);var le=U.verticalAlign;le==="bottom"&&(ee[1]-=z),le==="middle"&&(ee[1]-=z/2),w(ee,ie,z,F);var Ae=J.get("backgroundColor");(!Ae||Ae==="auto")&&(Ae=T.get("axisLine.lineStyle.color")),R.label={shape:{x:0,y:0,width:ie,height:z,r:J.get("borderRadius")},position:ee.slice(),style:{text:H,textFont:X,textFill:J.getTextColor(),textPosition:"inside",textPadding:K,fill:Ae,stroke:J.get("borderColor")||"transparent",lineWidth:J.get("borderWidth")||0,shadowBlur:J.get("shadowBlur"),shadowColor:J.get("shadowColor"),shadowOffsetX:J.get("shadowOffsetX"),shadowOffsetY:J.get("shadowOffsetY")},z2:10}}function w(R,T,L,F){var U=F.getWidth(),N=F.getHeight();R[0]=Math.min(R[0]+T,U)-T,R[1]=Math.min(R[1]+L,N)-L,R[0]=Math.max(R[0],0),R[1]=Math.max(R[1],0)}function Q(R,T,L,F,U){R=T.scale.parse(R);var N=T.scale.getLabel(R,{precision:U.precision}),H=U.formatter;if(H){var J={value:I.getAxisRawValue(T,R),axisDimension:T.dim,axisIndex:T.index,seriesData:[]};A.each(F,function(K){var X=L.getSeriesByIndex(K.seriesIndex),j=K.dataIndexInside,ee=X&&X.getDataParams(j);ee&&J.seriesData.push(ee)}),A.isString(H)?N=H.replace("{value}",N):A.isFunction(H)&&(N=H(J))}return N}function M(R,T,L){var F=E.create();return E.rotate(F,F,L.rotation),E.translate(F,F,L.position),f.applyTransform([R.dataToCoord(T),(L.labelOffset||0)+(L.labelDirection||1)*(L.labelMargin||0)],F)}function B(R,T,L,F,U,N){var H=x.innerTextLayout(L.rotation,0,L.labelDirection);L.labelMargin=U.get("label.margin"),v(T,F,U,N,{position:M(F.axis,R,L),align:H.textAlign,verticalAlign:H.textVerticalAlign})}function D(R,T,L){return L=L||0,{x1:R[L],y1:R[1-L],x2:T[L],y2:T[1-L]}}function S(R,T,L){return L=L||0,{x:R[L],y:R[1-L],width:T[L],height:T[1-L]}}function P(R,T,L,F,U,N){return{cx:R,cy:T,r0:L,r:F,startAngle:U,endAngle:N,clockwise:!0}}o.buildElStyle=y,o.buildLabelElOption=v,o.getValueLabel=Q,o.getTransformedPosition=M,o.buildCartesianSingleLabelElOption=B,o.makeLineShape=D,o.makeRectShape=S,o.makeSectorShape=P}),W5e=Et((o,A)=>{var f=nhe(),m=bZ(),C=_5e(),E=$F(),I=f.extend({makeElOption:function(Q,M,B,D,S){var P=B.axis,R=P.grid,T=D.get("type"),L=x(R,P).getOtherAxis(P).getGlobalExtent(),F=P.toGlobalCoord(P.dataToCoord(M,!0));if(T&&T!=="none"){var U=m.buildElStyle(D),N=y[T](P,F,L);N.style=U,Q.graphicKey=N.type,Q.pointer=N}var H=C.layout(R.model,B);m.buildCartesianSingleLabelElOption(M,Q,H,B,D,S)},getHandleTransform:function(Q,M,B){var D=C.layout(M.axis.grid.model,M,{labelInside:!1});return D.labelMargin=B.get("handle.margin"),{position:m.getTransformedPosition(M.axis,Q,D),rotation:D.rotation+(D.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(Q,M,B,D){var S=B.axis,P=S.grid,R=S.getGlobalExtent(!0),T=x(P,S).getOtherAxis(S).getGlobalExtent(),L=S.dim==="x"?0:1,F=Q.position;F[L]+=M[L],F[L]=Math.min(R[1],F[L]),F[L]=Math.max(R[0],F[L]);var U=(T[1]+T[0])/2,N=[U,U];N[L]=F[L];var H=[{verticalAlign:"middle"},{align:"center"}];return{position:F,rotation:Q.rotation,cursorPoint:N,tooltipOption:H[L]}}});function x(Q,M){var B={};return B[M.dim+"AxisIndex"]=M.index,Q.getCartesian(B)}var y={line:function(Q,M,B){var D=m.makeLineShape([M,B[0]],[M,B[1]],v(Q));return{type:"Line",subPixelOptimize:!0,shape:D}},shadow:function(Q,M,B){var D=Math.max(1,Q.getBandWidth()),S=B[1]-B[0];return{type:"Rect",shape:m.makeRectShape([M-D/2,B[0]],[D,S],v(Q))}}};function v(Q){return Q.dim==="x"?0:1}E.registerAxisPointerClass("CartesianAxisPointer",I);var w=I;A.exports=w}),L9=Et(()=>{var o=xn(),A=mi(),f=vZ(),m=hut();dut(),gut(),W5e(),o.registerPreprocessor(function(C){if(C){(!C.axisPointer||C.axisPointer.length===0)&&(C.axisPointer={});var E=C.axisPointer.link;E&&!A.isArray(E)&&(C.axisPointer.link=[E])}}),o.registerProcessor(o.PRIORITY.PROCESSOR.STATISTIC,function(C,E){C.getComponent("axisPointer").coordSysAxesInfo=f.collect(C,E)}),o.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},m)}),fut=Et((o,A)=>{var f=nhe(),m=bZ(),C=Y5e(),E=$F(),I=["x","y"],x=["width","height"],y=f.extend({makeElOption:function(B,D,S,P,R){var T=S.axis,L=T.coordinateSystem,F=Q(L,1-w(T)),U=L.dataToPoint(D)[0],N=P.get("type");if(N&&N!=="none"){var H=m.buildElStyle(P),J=v[N](T,U,F);J.style=H,B.graphicKey=J.type,B.pointer=J}var K=C.layout(S);m.buildCartesianSingleLabelElOption(D,B,K,S,P,R)},getHandleTransform:function(B,D,S){var P=C.layout(D,{labelInside:!1});return P.labelMargin=S.get("handle.margin"),{position:m.getTransformedPosition(D.axis,B,P),rotation:P.rotation+(P.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(B,D,S,P){var R=S.axis,T=R.coordinateSystem,L=w(R),F=Q(T,L),U=B.position;U[L]+=D[L],U[L]=Math.min(F[1],U[L]),U[L]=Math.max(F[0],U[L]);var N=Q(T,1-L),H=(N[1]+N[0])/2,J=[H,H];return J[L]=U[L],{position:U,rotation:B.rotation,cursorPoint:J,tooltipOption:{verticalAlign:"middle"}}}}),v={line:function(B,D,S){var P=m.makeLineShape([D,S[0]],[D,S[1]],w(B));return{type:"Line",subPixelOptimize:!0,shape:P}},shadow:function(B,D,S){var P=B.getBandWidth(),R=S[1]-S[0];return{type:"Rect",shape:m.makeRectShape([D-P/2,S[0]],[P,R],w(B))}}};function w(B){return B.isHorizontal()?0:1}function Q(B,D){var S=B.getRect();return[S[I[D]],S[I[D]]+S[x[D]]]}E.registerAxisPointerClass("SingleAxisPointer",y);var M=y;A.exports=M}),q5e=Et(()=>{var o=xn();Aut(),uut(),cut(),L9(),fut(),o.extendComponentView({type:"single"})}),put=Et((o,A)=>{var f=bf(),m=_O(),C=b9(),E=C.getDimensionTypeByAxis,I=gv(),x=mi(),y=pl(),v=y.groupData,w=sc(),Q=w.encodeHTML,M=T9(),B=2,D=f.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(P){D.superApply(this,"init",arguments),this.legendVisualProvider=new M(x.bind(this.getData,this),x.bind(this.getRawData,this))},fixData:function(P){var R=P.length,T=v(P,function(Ae){return Ae[2]}),L=[];T.buckets.each(function(Ae,he){L.push({name:he,dataList:Ae})});for(var F=L.length,U=-1,N=-1,H=0;HU&&(U=J,N=H)}for(var K=0;K{var f=xn(),m=x5e(),C=m.Polygon,E=po(),I=mi(),x=I.bind,y=I.extend,v=XF(),w=f.extendChartView({type:"themeRiver",init:function(){this._layers=[]},render:function(M,B,D){var S=M.getData(),P=this.group,R=M.getLayerSeries(),T=S.getLayout("layoutInfo"),L=T.rect,F=T.boundaryGap;P.attr("position",[0,L.y+F[0]]);function U(K){return K.name}var N=new v(this._layersSeries||[],R,U,U),H={};N.add(x(J,this,"add")).update(x(J,this,"update")).remove(x(J,this,"remove")).execute();function J(K,X,j){var ee=this._layers;if(K==="remove"){P.remove(ee[X]);return}for(var ie=[],z=[],oe,le=R[X].indices,Ae=0;Ae{var f=mi(),m=ja();function C(x,y){x.eachSeriesByType("themeRiver",function(v){var w=v.getData(),Q=v.coordinateSystem,M={},B=Q.getRect();M.rect=B;var D=v.get("boundaryGap"),S=Q.getAxis();if(M.boundaryGap=D,S.orient==="horizontal"){D[0]=m.parsePercent(D[0],B.height),D[1]=m.parsePercent(D[1],B.height);var P=B.height-D[0]-D[1];E(w,v,P)}else{D[0]=m.parsePercent(D[0],B.width),D[1]=m.parsePercent(D[1],B.width);var R=B.width-D[0]-D[1];E(w,v,R)}w.setLayout("layoutInfo",M)})}function E(x,y,v){if(x.count())for(var w=y.coordinateSystem,Q=y.getLayerSeries(),M=x.mapDimension("single"),B=x.mapDimension("value"),D=f.map(Q,function(H){return f.map(H.indices,function(J){var K=w.dataToPoint(x.get(M,J));return K[1]=x.get(B,J),K})}),S=I(D),P=S.y0,R=v/S.max,T=Q.length,L=Q[0].indices.length,F,U=0;UM&&(M=B),w.push(B)}for(var R=0;RM&&(M=L)}return D.y0=Q,D.max=M,D}A.exports=C}),Eut=Et((o,A)=>{var f=mi(),m=f.createHashMap;function C(E){E.eachSeriesByType("themeRiver",function(I){var x=I.getData(),y=I.getRawData(),v=I.get("color"),w=m();x.each(function(Q){w.set(x.getRawIndex(Q),Q)}),y.each(function(Q){var M=y.getName(Q),B=v[(I.nameMap.get(M)-1)%v.length];y.setItemVisual(Q,"color",B);var D=w.get(Q);D!=null&&x.setItemVisual(D,"color",B)})})}A.exports=C}),Iut=Et(()=>{var o=xn();q5e(),put(),mut();var A=Cut(),f=Eut(),m=P9();o.registerLayout(A),o.registerVisual(f),o.registerProcessor(m("themeRiver"))}),xut=Et((o,A)=>{var f=mi(),m=bf(),C=$ce(),E=eN(),I=E.wrapTreePathInfo,x=m.extend({type:"series.sunburst",_viewRoot:null,getInitialData:function(v,w){var Q={name:v.name,children:v.data};y(Q);var M=v.levels||[],B={};return B.levels=M,C.createTree(Q,this,B).data},optionUpdated:function(){this.resetViewRoot()},getDataParams:function(v){var w=m.prototype.getDataParams.apply(this,arguments),Q=this.getData().tree.getNodeByDataIndex(v);return w.treePathInfo=I(Q,this),w},defaultOption:{zlevel:0,z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,percentPrecision:2,stillShowZeroSum:!0,highlightPolicy:"descendant",nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},highlight:{itemStyle:{opacity:1}},downplay:{itemStyle:{opacity:.5},label:{opacity:.6}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicOut",data:[],levels:[],sort:"desc"},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(v){v?this._viewRoot=v:v=this._viewRoot;var w=this.getRawData().tree.root;(!v||v!==w&&!w.contains(v))&&(this._viewRoot=w)}});function y(v){var w=0;f.each(v.children,function(M){y(M);var B=M.value;f.isArray(B)&&(B=B[0]),w+=B});var Q=v.value;f.isArray(Q)&&(Q=Q[0]),(Q==null||isNaN(Q))&&(Q=w),Q<0&&(Q=0),f.isArray(v.value)?v.value[0]=Q:v.value=Q}A.exports=x}),yut=Et((o,A)=>{var f=mi(),m=po(),C={NONE:"none",DESCENDANT:"descendant",ANCESTOR:"ancestor",SELF:"self"},E=2,I=4;function x(D,S,P){m.Group.call(this);var R=new m.Sector({z2:E});R.seriesIndex=S.seriesIndex;var T=new m.Text({z2:I,silent:D.getModel("label").get("silent")});this.add(R),this.add(T),this.updateData(!0,D,"normal",S,P);function L(){T.ignore=T.hoverIgnore}function F(){T.ignore=T.normalIgnore}this.on("emphasis",L).on("normal",F).on("mouseover",L).on("mouseout",F)}var y=x.prototype;y.updateData=function(D,S,P,R,T){this.node=S,S.piece=this,R=R||this._seriesModel,T=T||this._ecModel;var L=this.childAt(0);L.dataIndex=S.dataIndex;var F=S.getModel(),U=S.getLayout(),N=f.extend({},U);N.label=null;var H=w(S,R,T);B(S,R,H);var J=F.getModel("itemStyle").getItemStyle(),K;if(P==="normal")K=J;else{var X=F.getModel(P+".itemStyle").getItemStyle();K=f.merge(X,J)}K=f.defaults({lineJoin:"bevel",fill:K.fill||H},K),D?(L.setShape(N),L.shape.r=U.r0,m.updateProps(L,{shape:{r:U.r}},R,S.dataIndex),L.useStyle(K)):typeof K.fill=="object"&&K.fill.type||typeof L.style.fill=="object"&&L.style.fill.type?(m.updateProps(L,{shape:N},R),L.useStyle(K)):m.updateProps(L,{shape:N,style:K},R),this._updateLabel(R,H,P);var j=F.getShallow("cursor");if(j&&L.attr("cursor",j),D){var ee=R.getShallow("highlightPolicy");this._initEvents(L,S,R,ee)}this._seriesModel=R||this._seriesModel,this._ecModel=T||this._ecModel,m.setHoverStyle(this)},y.onEmphasis=function(D){var S=this;this.node.hostTree.root.eachNode(function(P){P.piece&&(S.node===P?P.piece.updateData(!1,P,"emphasis"):M(P,S.node,D)?P.piece.childAt(0).trigger("highlight"):D!==C.NONE&&P.piece.childAt(0).trigger("downplay"))})},y.onNormal=function(){this.node.hostTree.root.eachNode(function(D){D.piece&&D.piece.updateData(!1,D,"normal")})},y.onHighlight=function(){this.updateData(!1,this.node,"highlight")},y.onDownplay=function(){this.updateData(!1,this.node,"downplay")},y._updateLabel=function(D,S,P){var R=this.node.getModel(),T=R.getModel("label"),L=P==="normal"||P==="emphasis"?T:R.getModel(P+".label"),F=R.getModel("emphasis.label"),U=f.retrieve(D.getFormattedLabel(this.node.dataIndex,P,null,null,"label"),this.node.name);fe("show")===!1&&(U="");var N=this.node.getLayout(),H=L.get("minAngle");H==null&&(H=T.get("minAngle")),H=H/180*Math.PI;var J=N.endAngle-N.startAngle;H!=null&&Math.abs(J)Math.PI/2?"right":"left"):!le||le==="center"?(ie=(N.r+N.r0)/2,le="center"):le==="left"?(ie=N.r0+oe,X>Math.PI/2&&(le="right")):le==="right"&&(ie=N.r-oe,X>Math.PI/2&&(le="left")),K.attr("style",{text:U,textAlign:le,textVerticalAlign:fe("verticalAlign")||"middle",opacity:fe("opacity")});var Ae=ie*j+N.cx,he=ie*ee+N.cy;K.attr("position",[Ae,he]);var ge=fe("rotate"),de=0;ge==="radial"?(de=-X,de<-Math.PI/2&&(de+=Math.PI)):ge==="tangential"?(de=Math.PI/2-X,de>Math.PI/2?de-=Math.PI:de<-Math.PI/2&&(de+=Math.PI)):typeof ge=="number"&&(de=ge*Math.PI/180),K.attr("rotation",de);function fe(G){var Y=L.get(G);return Y??T.get(G)}},y._initEvents=function(D,S,P,R){D.off("mouseover").off("mouseout").off("emphasis").off("normal");var T=this,L=function(){T.onEmphasis(R)},F=function(){T.onNormal()},U=function(){T.onDownplay()},N=function(){T.onHighlight()};P.isAnimationEnabled()&&D.on("mouseover",L).on("mouseout",F).on("emphasis",L).on("normal",F).on("downplay",U).on("highlight",N)},f.inherits(x,m.Group);var v=x;function w(D,S,P){var R=D.getVisual("color"),T=D.getVisual("visualMeta");(!T||T.length===0)&&(R=null);var L=D.getModel("itemStyle").get("color");if(L)return L;if(R)return R;if(D.depth===0)return P.option.color[0];var F=P.option.color.length;return L=P.option.color[Q(D)%F],L}function Q(D){for(var S=D;S.depth>1;)S=S.parentNode;var P=D.getAncestors()[0];return f.indexOf(P.children,S)}function M(D,S,P){return P===C.NONE?!1:P===C.SELF?D===S:P===C.ANCESTOR?D===S||D.isAncestorOf(S):D===S||D.isDescendantOf(S)}function B(D,S,P){var R=S.getData();R.setItemVisual(D.dataIndex,"color",P)}A.exports=v}),vut=Et((o,A)=>{var f=mi(),m=G1(),C=yut(),E=XF(),I=sc(),x=I.windowOpen,y="sunburstRootToNode",v=m.extend({type:"sunburst",init:function(){},render:function(Q,M,B,D){var S=this;this.seriesModel=Q,this.api=B,this.ecModel=M;var P=Q.getData(),R=P.tree.root,T=Q.getViewRoot(),L=this.group,F=Q.get("renderLabelForZeroData"),U=[];T.eachNode(function(ie){U.push(ie)});var N=this._oldChildren||[];if(K(U,N),ee(R,T),D&&D.highlight&&D.highlight.piece){var H=Q.getShallow("highlightPolicy");D.highlight.piece.onEmphasis(H)}else if(D&&D.unhighlight){var J=this.virtualPiece;!J&&R.children.length&&(J=R.children[0].piece),J&&J.onNormal()}this._initEvents(),this._oldChildren=U;function K(ie,z){if(ie.length===0&&z.length===0)return;new E(z,ie,oe,oe).add(le).update(le).remove(f.curry(le,null)).execute();function oe(Ae){return Ae.getId()}function le(Ae,he){var ge=Ae==null?null:ie[Ae],de=he==null?null:z[he];X(ge,de)}}function X(ie,z){if(!F&&ie&&!ie.getValue()&&(ie=null),ie!==R&&z!==R){if(z&&z.piece)ie?(z.piece.updateData(!1,ie,"normal",Q,M),P.setItemGraphicEl(ie.dataIndex,z.piece)):j(z);else if(ie){var oe=new C(ie,Q,M);L.add(oe),P.setItemGraphicEl(ie.dataIndex,oe)}}}function j(ie){ie&&ie.piece&&(L.remove(ie.piece),ie.piece=null)}function ee(ie,z){if(z.depth>0){S.virtualPiece?S.virtualPiece.updateData(!1,ie,"normal",Q,M):(S.virtualPiece=new C(ie,Q,M),L.add(S.virtualPiece)),z.piece._onclickEvent&&z.piece.off("click",z.piece._onclickEvent);var oe=function(le){S._rootToNode(z.parentNode)};z.piece._onclickEvent=oe,S.virtualPiece.on("click",oe)}else S.virtualPiece&&(L.remove(S.virtualPiece),S.virtualPiece=null)}},dispose:function(){},_initEvents:function(){var Q=this,M=function(B){var D=!1,S=Q.seriesModel.getViewRoot();S.eachNode(function(P){if(!D&&P.piece&&P.piece.childAt(0)===B.target){var R=P.getModel().get("nodeClick");if(R==="rootToNode")Q._rootToNode(P);else if(R==="link"){var T=P.getModel(),L=T.get("link");if(L){var F=T.get("target",!0)||"_blank";x(L,F)}}D=!0}})};this.group._onclickEvent&&this.group.off("click",this.group._onclickEvent),this.group.on("click",M),this.group._onclickEvent=M},_rootToNode:function(Q){Q!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:y,from:this.uid,seriesId:this.seriesModel.id,targetNode:Q})},containPoint:function(Q,M){var B=M.getData(),D=B.getItemLayout(0);if(D){var S=Q[0]-D.cx,P=Q[1]-D.cy,R=Math.sqrt(S*S+P*P);return R<=D.r&&R>=D.r0}}}),w=v;A.exports=w}),_ut=Et(()=>{var o=xn(),A=eN(),f="sunburstRootToNode";o.registerAction({type:f,update:"updateView"},function(E,I){I.eachComponent({mainType:"series",subType:"sunburst",query:E},x);function x(y,v){var w=A.retrieveTargetInfo(E,[f],y);if(w){var Q=y.getViewRoot();Q&&(E.direction=A.aboveViewRoot(Q,w.node)?"rollUp":"drillDown"),y.resetViewRoot(w.node)}}});var m="sunburstHighlight";o.registerAction({type:m,update:"updateView"},function(E,I){I.eachComponent({mainType:"series",subType:"sunburst",query:E},x);function x(y,v){var w=A.retrieveTargetInfo(E,[m],y);w&&(E.highlight=w.node)}});var C="sunburstUnhighlight";o.registerAction({type:C,update:"updateView"},function(E,I){I.eachComponent({mainType:"series",subType:"sunburst",query:E},x);function x(y,v){E.unhighlight=!0}})}),But=Et((o,A)=>{var f=ja(),m=f.parsePercent,C=mi(),E=Math.PI/180;function I(v,w,Q,M){w.eachSeriesByType(v,function(B){var D=B.get("center"),S=B.get("radius");C.isArray(S)||(S=[0,S]),C.isArray(D)||(D=[D,D]);var P=Q.getWidth(),R=Q.getHeight(),T=Math.min(P,R),L=m(D[0],P),F=m(D[1],R),U=m(S[0],T/2),N=m(S[1],T/2),H=-B.get("startAngle")*E,J=B.get("minAngle")*E,K=B.getData().tree.root,X=B.getViewRoot(),j=X.depth,ee=B.get("sort");ee!=null&&x(X,ee);var ie=0;C.each(X.children,function(re){!isNaN(re.getValue())&&ie++});var z=X.getValue(),oe=Math.PI/(z||ie)*2,le=X.depth>0,Ae=X.height-(le?-1:1),he=(N-U)/(Ae||1),ge=B.get("clockwise"),de=B.get("stillShowZeroSum"),fe=ge?1:-1,G=function(re,se){if(re){var ce=se;if(re!==K){var me=re.getValue(),Ce=z===0&&de?oe:me*oe;Ce{var o=xn(),A=mi();xut(),vut(),_ut();var f=_Z(),m=But(),C=P9();o.registerVisual(A.curry(f,"sunburst")),o.registerLayout(A.curry(m,"sunburst")),o.registerProcessor(A.curry(C,"sunburst"))}),but=Et((o,A)=>{var f=mi();function m(E,I){return I=I||[0,0],f.map(["x","y"],function(x,y){var v=this.getAxis(x),w=I[y],Q=E[y]/2;return v.type==="category"?v.getBandWidth():Math.abs(v.dataToCoord(w-Q)-v.dataToCoord(w+Q))},this)}function C(E){var I=E.grid.getRect();return{coordSys:{type:"cartesian2d",x:I.x,y:I.y,width:I.width,height:I.height},api:{coord:function(x){return E.dataToPoint(x)},size:f.bind(m,E)}}}A.exports=C}),Qut=Et((o,A)=>{var f=mi();function m(E,I){return I=I||[0,0],f.map([0,1],function(x){var y=I[x],v=E[x]/2,w=[],Q=[];return w[x]=y-v,Q[x]=y+v,w[1-x]=Q[1-x]=I[1-x],Math.abs(this.dataToPoint(w)[x]-this.dataToPoint(Q)[x])},this)}function C(E){var I=E.getBoundingRect();return{coordSys:{type:"geo",x:I.x,y:I.y,width:I.width,height:I.height,zoom:E.getZoom()},api:{coord:function(x){return E.dataToPoint(x)},size:f.bind(m,E)}}}A.exports=C}),Sut=Et((o,A)=>{var f=mi();function m(E,I){var x=this.getAxis(),y=I instanceof Array?I[0]:I,v=(E instanceof Array?E[0]:E)/2;return x.type==="category"?x.getBandWidth():Math.abs(x.dataToCoord(y-v)-x.dataToCoord(y+v))}function C(E){var I=E.getRect();return{coordSys:{type:"singleAxis",x:I.x,y:I.y,width:I.width,height:I.height},api:{coord:function(x){return E.dataToPoint(x)},size:f.bind(m,E)}}}A.exports=C}),Dut=Et((o,A)=>{var f=mi();function m(E,I){return f.map(["Radius","Angle"],function(x,y){var v=this["get"+x+"Axis"](),w=I[y],Q=E[y]/2,M="dataTo"+x,B=v.type==="category"?v.getBandWidth():Math.abs(v[M](w-Q)-v[M](w+Q));return x==="Angle"&&(B=B*Math.PI/180),B},this)}function C(E){var I=E.getRadiusAxis(),x=E.getAngleAxis(),y=I.getExtent();return y[0]>y[1]&&y.reverse(),{coordSys:{type:"polar",cx:E.cx,cy:E.cy,r:y[1],r0:y[0]},api:{coord:f.bind(function(v){var w=I.dataToRadius(v[0]),Q=x.dataToAngle(v[1]),M=E.coordToPoint([w,Q]);return M.push(w,Q*Math.PI/180),M}),size:f.bind(m,E)}}}A.exports=C}),Mut=Et((o,A)=>{function f(m){var C=m.getRect(),E=m.getRangeInfo();return{coordSys:{type:"calendar",x:C.x,y:C.y,width:C.width,height:C.height,cellWidth:m.getCellWidth(),cellHeight:m.getCellHeight(),rangeInfo:{start:E.start,end:E.end,weeks:E.weeks,dayCount:E.allDay}},api:{coord:function(I,x){return m.dataToPoint(I,x)}}}}A.exports=f}),Tut=Et(()=>{var o=EA(),A=o.__DEV__,f=mi(),m=po(),C=Jce(),E=C.getDefaultLabel,I=YS(),x=IZ(),y=x.getLayoutOnAxis,v=XF(),w=bf(),Q=Cg(),M=G1(),B=S9(),D=B.createClipPath,S=but(),P=Qut(),R=Sut(),T=Dut(),L=Mut(),F=m.CACHED_LABEL_STYLE_PROPERTIES,U=["itemStyle"],N=["emphasis","itemStyle"],H=["label"],J=["emphasis","label"],K="e\0\0",X={cartesian2d:S,geo:P,singleAxis:R,polar:T,calendar:L};w.extend({type:"series.custom",dependencies:["grid","polar","geo","singleAxis","calendar"],defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0,clip:!1},getInitialData:function(ce,me){return I(this.getSource(),this)},getDataParams:function(ce,me,Ce){var ye=w.prototype.getDataParams.apply(this,arguments);return Ce&&(ye.info=Ce.info),ye}}),M.extend({type:"custom",_data:null,render:function(ce,me,Ce,ye){var Be=this._data,Me=ce.getData(),He=this.group,ke=z(ce,Me,me,Ce);Me.diff(Be).add(function(Pe){le(null,Pe,ke(Pe,ye),ce,He,Me)}).update(function(Pe,we){var Fe=Be.getItemGraphicEl(we);le(Fe,Pe,ke(Pe,ye),ce,He,Me)}).remove(function(Pe){var we=Be.getItemGraphicEl(Pe);we&&He.remove(we)}).execute();var Ne=ce.get("clip",!0)?D(ce.coordinateSystem,!1,ce):null;Ne?He.setClipPath(Ne):He.removeClipPath(),this._data=Me},incrementalPrepareRender:function(ce,me,Ce){this.group.removeAll(),this._data=null},incrementalRender:function(ce,me,Ce,ye,Be){var Me=me.getData(),He=z(me,Me,Ce,ye);function ke(we){we.isGroup||(we.incremental=!0,we.useHoverLayer=!0)}for(var Ne=ce.start;Ne{M9(),W5e(),L9()}),Rut=Et((o,A)=>{var f=mi(),m=ja(),C=m.parsePercent,E=H1(),I=E.isDimensionStacked;function x(M){return M.get("stack")||"__ec_stack_"+M.seriesIndex}function y(M,B){return B.dim+M.model.componentIndex}function v(M,B,D){var S={},P=w(f.filter(B.getSeriesByType(M),function(R){return!B.isSeriesFiltered(R)&&R.coordinateSystem&&R.coordinateSystem.type==="polar"}));B.eachSeriesByType(M,function(R){if(R.coordinateSystem.type==="polar"){var T=R.getData(),L=R.coordinateSystem,F=L.getBaseAxis(),U=y(L,F),N=x(R),H=P[U][N],J=H.offset,K=H.width,X=L.getOtherAxis(F),j=R.coordinateSystem.cx,ee=R.coordinateSystem.cy,ie=R.get("barMinHeight")||0,z=R.get("barMinAngle")||0;S[N]=S[N]||[];for(var oe=T.mapDimension(X.dim),le=T.mapDimension(F.dim),Ae=I(T,oe),he=F.dim!=="radius"||!R.get("roundCap",!0),ge=X.getExtent()[0],de=0,fe=T.count();de=0?"p":"n",O=ge;Ae&&(S[N][Y]||(S[N][Y]={p:ge,n:ge}),O=S[N][Y][W]);var re,se,ce,me;if(X.dim==="radius"){var Ce=X.dataToRadius(G)-ge,ye=F.dataToAngle(Y);Math.abs(Ce){var f=mi(),m=j2();function C(I,x){m.call(this,"radius",I,x),this.type="category"}C.prototype={constructor:C,pointToData:function(I,x){return this.polar.pointToData(I,x)[this.dim==="radius"?0:1]},dataToRadius:m.prototype.dataToCoord,radiusToData:m.prototype.coordToData},f.inherits(C,m);var E=C;A.exports=E}),Fut=Et((o,A)=>{var f=mi(),m=Nx(),C=j2(),E=pl(),I=E.makeInner,x=I();function y(w,Q){Q=Q||[0,360],C.call(this,"angle",w,Q),this.type="category"}y.prototype={constructor:y,pointToData:function(w,Q){return this.polar.pointToData(w,Q)[this.dim==="radius"?0:1]},dataToAngle:C.prototype.dataToCoord,angleToData:C.prototype.coordToData,calculateCategoryInterval:function(){var w=this,Q=w.getLabelModel(),M=w.scale,B=M.getExtent(),D=M.count();if(B[1]-B[0]<1)return 0;var S=B[0],P=w.dataToCoord(S+1)-w.dataToCoord(S),R=Math.abs(P),T=m.getBoundingRect(S,Q.getFont(),"center","top"),L=Math.max(T.height,7),F=L/R;isNaN(F)&&(F=1/0);var U=Math.max(0,Math.floor(F)),N=x(w.model),H=N.lastAutoInterval,J=N.lastTickCount;return H!=null&&J!=null&&Math.abs(H-U)<=1&&Math.abs(J-D)<=1&&H>U?U=H:(N.lastTickCount=D,N.lastAutoInterval=U),U}},f.inherits(y,C);var v=y;A.exports=v}),Nut=Et((o,A)=>{var f=Lut(),m=Fut(),C=function(I){this.name=I||"",this.cx=0,this.cy=0,this._radiusAxis=new f,this._angleAxis=new m,this._radiusAxis.polar=this._angleAxis.polar=this};C.prototype={type:"polar",axisPointerEnabled:!0,constructor:C,dimensions:["radius","angle"],model:null,containPoint:function(I){var x=this.pointToCoord(I);return this._radiusAxis.contain(x[0])&&this._angleAxis.contain(x[1])},containData:function(I){return this._radiusAxis.containData(I[0])&&this._angleAxis.containData(I[1])},getAxis:function(I){return this["_"+I+"Axis"]},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(I){var x=[],y=this._angleAxis,v=this._radiusAxis;return y.scale.type===I&&x.push(y),v.scale.type===I&&x.push(v),x},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(I){var x=this._angleAxis;return I===x?this._radiusAxis:x},getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},getTooltipAxes:function(I){var x=I!=null&&I!=="auto"?this.getAxis(I):this.getBaseAxis();return{baseAxes:[x],otherAxes:[this.getOtherAxis(x)]}},dataToPoint:function(I,x){return this.coordToPoint([this._radiusAxis.dataToRadius(I[0],x),this._angleAxis.dataToAngle(I[1],x)])},pointToData:function(I,x){var y=this.pointToCoord(I);return[this._radiusAxis.radiusToData(y[0],x),this._angleAxis.angleToData(y[1],x)]},pointToCoord:function(I){var x=I[0]-this.cx,y=I[1]-this.cy,v=this.getAngleAxis(),w=v.getExtent(),Q=Math.min(w[0],w[1]),M=Math.max(w[0],w[1]);v.inverse?Q=M-360:M=Q+360;var B=Math.sqrt(x*x+y*y);x/=B,y/=B;for(var D=Math.atan2(-y,x)/Math.PI*180,S=DM;)D+=S*360;return[B,D]},coordToPoint:function(I){var x=I[0],y=I[1]/180*Math.PI,v=Math.cos(y)*x+this.cx,w=-Math.sin(y)*x+this.cy;return[v,w]},getArea:function(){var I=this.getAngleAxis(),x=this.getRadiusAxis(),y=x.getExtent().slice();y[0]>y[1]&&y.reverse();var v=I.getExtent(),w=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:y[0],r:y[1],startAngle:-v[0]*w,endAngle:-v[1]*w,clockwise:I.inverse,contain:function(Q,M){var B=Q-this.cx,D=M-this.cy,S=B*B+D*D,P=this.r,R=this.r0;return S<=P*P&&S>=R*R}}}};var E=C;A.exports=E}),kut=Et(()=>{var o=mi(),A=wf(),f=yZ(),m=BO(),C=A.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});o.merge(C.prototype,m);var E={angle:{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}},radius:{splitNumber:5}};function I(x,y){return y.type||(y.data?"category":"value")}f("angle",C,I,E.angle),f("radius",C,I,E.radius)}),Uut=Et((o,A)=>{var f=xn();kut();var m=f.extendComponentModel({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(C){var E,I=this.ecModel;return I.eachComponent(C,function(x){x.getCoordSysModel()===this&&(E=x)},this),E},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}});A.exports=m}),ohe=Et(()=>{var o=EA(),A=o.__DEV__,f=mi(),m=Nut(),C=ja(),E=C.parsePercent,I=hB(),x=I.createScaleByModel,y=I.niceScaleExtent,v=cB(),w=H1(),Q=w.getStackedDimension;Uut();function M(P,R,T){var L=R.get("center"),F=T.getWidth(),U=T.getHeight();P.cx=E(L[0],F),P.cy=E(L[1],U);var N=P.getRadiusAxis(),H=Math.min(F,U)/2,J=R.get("radius");J==null?J=[0,"100%"]:f.isArray(J)||(J=[0,J]),J=[E(J[0],H),E(J[1],H)],N.inverse?N.setExtent(J[1],J[0]):N.setExtent(J[0],J[1])}function B(P,R){var T=this,L=T.getAngleAxis(),F=T.getRadiusAxis();if(L.scale.setExtent(1/0,-1/0),F.scale.setExtent(1/0,-1/0),P.eachSeries(function(H){if(H.coordinateSystem===T){var J=H.getData();f.each(J.mapDimension("radius",!0),function(K){F.scale.unionExtentFromData(J,Q(J,K))}),f.each(J.mapDimension("angle",!0),function(K){L.scale.unionExtentFromData(J,Q(J,K))})}}),y(L.scale,L.model),y(F.scale,F.model),L.type==="category"&&!L.onBand){var U=L.getExtent(),N=360/L.scale.count();L.inverse?U[1]+=N:U[1]-=N,L.setExtent(U[0],U[1])}}function D(P,R){if(P.type=R.get("type"),P.scale=x(R),P.onBand=R.get("boundaryGap")&&P.type==="category",P.inverse=R.get("inverse"),R.mainType==="angleAxis"){P.inverse^=R.get("clockwise");var T=R.get("startAngle");P.setExtent(T,T+(P.inverse?-360:360))}R.axis=P,P.model=R}var S={dimensions:m.prototype.dimensions,create:function(P,R){var T=[];return P.eachComponent("polar",function(L,F){var U=new m(F);U.update=B;var N=U.getRadiusAxis(),H=U.getAngleAxis(),J=L.findAxisModel("radiusAxis"),K=L.findAxisModel("angleAxis");D(N,J),D(H,K),M(U,L,R),T.push(U),L.coordinateSystem=U,U.model=L}),P.eachSeries(function(L){if(L.get("coordinateSystem")==="polar"){var F=P.queryComponents({mainType:"polar",index:L.get("polarIndex"),id:L.get("polarId")})[0];L.coordinateSystem=F.coordinateSystem}}),T}};v.register("polar",S)}),Out=Et((o,A)=>{var f=mi(),m=po(),C=Cg(),E=$F(),I=X2(),x=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function y(M,B,D){B[1]>B[0]&&(B=B.slice().reverse());var S=M.coordToPoint([B[0],D]),P=M.coordToPoint([B[1],D]);return{x1:S[0],y1:S[1],x2:P[0],y2:P[1]}}function v(M){var B=M.getRadiusAxis();return B.inverse?0:1}function w(M){var B=M[0],D=M[M.length-1];B&&D&&Math.abs(Math.abs(B.coord-D.coord)-360)<1e-4&&M.pop()}var Q=E.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(M,B){if(this.group.removeAll(),!!M.get("show")){var D=M.axis,S=D.polar,P=S.getRadiusAxis().getExtent(),R=D.getTicksCoords(),T=D.getMinorTicksCoords(),L=f.map(D.getViewLabels(),function(U){var U=f.clone(U);return U.coord=D.dataToCoord(U.tickValue),U});w(L),w(R),f.each(x,function(F){M.get(F+".show")&&(!D.scale.isBlank()||F==="axisLine")&&this["_"+F](M,S,R,T,P,L)},this)}},_axisLine:function(M,B,D,S,P){var R=M.getModel("axisLine.lineStyle"),T=v(B),L=T?0:1,F;P[L]===0?F=new m.Circle({shape:{cx:B.cx,cy:B.cy,r:P[T]},style:R.getLineStyle(),z2:1,silent:!0}):F=new m.Ring({shape:{cx:B.cx,cy:B.cy,r:P[T],r0:P[L]},style:R.getLineStyle(),z2:1,silent:!0}),F.style.fill=null,this.group.add(F)},_axisTick:function(M,B,D,S,P){var R=M.getModel("axisTick"),T=(R.get("inside")?-1:1)*R.get("length"),L=P[v(B)],F=f.map(D,function(U){return new m.Line({shape:y(B,[L,L+T],U.coord)})});this.group.add(m.mergePath(F,{style:f.defaults(R.getModel("lineStyle").getLineStyle(),{stroke:M.get("axisLine.lineStyle.color")})}))},_minorTick:function(M,B,D,S,P){if(S.length){for(var R=M.getModel("axisTick"),T=M.getModel("minorTick"),L=(R.get("inside")?-1:1)*T.get("length"),F=P[v(B)],U=[],N=0;Nee?"left":"right",oe=Math.abs(j[1]-ie)/X<.3?"middle":j[1]>ie?"top":"bottom";T&&T[K]&&T[K].textStyle&&(J=new C(T[K].textStyle,L,L.ecModel));var le=new m.Text({silent:I.isLabelSilent(M)});this.group.add(le),m.setTextStyle(le.style,J,{x:j[0],y:j[1],textFill:J.getTextColor()||M.get("axisLine.lineStyle.color"),text:N.formattedLabel,textAlign:z,textVerticalAlign:oe}),U&&(le.eventData=I.makeAxisEventDataBase(M),le.eventData.targetType="axisLabel",le.eventData.value=N.rawLabel)},this)},_splitLine:function(M,B,D,S,P){var R=M.getModel("splitLine"),T=R.getModel("lineStyle"),L=T.get("color"),F=0;L=L instanceof Array?L:[L];for(var U=[],N=0;N{ohe(),Out()}),Hut=Et((o,A)=>{var f=mi(),m=po(),C=X2(),E=$F(),I=["axisLine","axisTickLabel","axisName"],x=["splitLine","splitArea","minorSplitLine"],y=E.extend({type:"radiusAxis",axisPointerClass:"PolarAxisPointer",render:function(w,Q){if(this.group.removeAll(),!!w.get("show")){var M=w.axis,B=M.polar,D=B.getAngleAxis(),S=M.getTicksCoords(),P=M.getMinorTicksCoords(),R=D.getExtent()[0],T=M.getExtent(),L=v(B,w,R),F=new C(w,L);f.each(I,F.add,F),this.group.add(F.getGroup()),f.each(x,function(U){w.get(U+".show")&&!M.scale.isBlank()&&this["_"+U](w,B,R,T,S,P)},this)}},_splitLine:function(w,Q,M,B,D){var S=w.getModel("splitLine"),P=S.getModel("lineStyle"),R=P.get("color"),T=0;R=R instanceof Array?R:[R];for(var L=[],F=0;F{ohe(),Hut()}),zut=Et((o,A)=>{var f=sc(),m=nhe(),C=po(),E=bZ(),I=UC(),x=X2(),y=$F(),v=m.extend({makeElOption:function(B,D,S,P,R){var T=S.axis;T.dim==="angle"&&(this.animationThreshold=Math.PI/18);var L=T.polar,F=L.getOtherAxis(T),U=F.getExtent(),N;N=T["dataTo"+f.capitalFirst(T.dim)](D);var H=P.get("type");if(H&&H!=="none"){var J=E.buildElStyle(P),K=Q[H](T,L,N,U,J);K.style=J,B.graphicKey=K.type,B.pointer=K}var X=P.get("label.margin"),j=w(D,S,P,L,X);E.buildLabelElOption(B,S,P,R,j)}});function w(B,D,S,P,R){var T=D.axis,L=T.dataToCoord(B),F=P.getAngleAxis().getExtent()[0];F=F/180*Math.PI;var U=P.getRadiusAxis().getExtent(),N,H,J;if(T.dim==="radius"){var K=I.create();I.rotate(K,K,F),I.translate(K,K,[P.cx,P.cy]),N=C.applyTransform([L,-R],K);var X=D.getModel("axisLabel").get("rotate")||0,j=x.innerTextLayout(F,X*Math.PI/180,-1);H=j.textAlign,J=j.textVerticalAlign}else{var ee=U[1];N=P.coordToPoint([ee+R,L]);var ie=P.cx,z=P.cy;H=Math.abs(N[0]-ie)/ee<.3?"center":N[0]>ie?"left":"right",J=Math.abs(N[1]-z)/ee<.3?"middle":N[1]>z?"top":"bottom"}return{position:N,align:H,verticalAlign:J}}var Q={line:function(B,D,S,P,R){return B.dim==="angle"?{type:"Line",shape:E.makeLineShape(D.coordToPoint([P[0],S]),D.coordToPoint([P[1],S]))}:{type:"Circle",shape:{cx:D.cx,cy:D.cy,r:S}}},shadow:function(B,D,S,P,R){var T=Math.max(1,B.getBandWidth()),L=Math.PI/180;return B.dim==="angle"?{type:"Sector",shape:E.makeSectorShape(D.cx,D.cy,P[0],P[1],(-S-T/2)*L,(-S+T/2)*L)}:{type:"Sector",shape:E.makeSectorShape(D.cx,D.cy,S-T/2,S+T/2,0,Math.PI*2)}}};y.registerAxisPointerClass("PolarAxisPointer",v);var M=v;A.exports=M}),Yut=Et(()=>{var o=xn(),A=mi(),f=Rut();ohe(),Gut(),Vut(),L9(),zut(),o.registerLayout(A.curry(f,"bar")),o.extendComponentView({type:"polar"})}),Jut=Et((o,A)=>{var f=mi(),m=pl(),C=wf(),E=Cg(),I=Wce(),x=Zce(),y=C.extend({type:"geo",coordinateSystem:null,layoutMode:"box",init:function(w){C.prototype.init.apply(this,arguments),m.defaultEmphasis(w,"label",["show"])},optionUpdated:function(){var w=this.option,Q=this;w.regions=x.getFilledRegions(w.regions,w.map,w.nameMap),this._optionModelMap=f.reduce(w.regions||[],function(M,B){return B.name&&M.set(B.name,new E(B,Q)),M},f.createHashMap()),this.updateSelectedMap(w.regions)},defaultOption:{zlevel:0,z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",color:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]},getRegionModel:function(w){return this._optionModelMap.get(w)||new E(null,this,this.ecModel)},getFormattedLabel:function(w,Q){var M=this.getRegionModel(w),B=M.get("label"+(Q==="normal"?".":Q+".")+"formatter"),D={name:w};if(typeof B=="function")return D.status=Q,B(D);if(typeof B=="string")return B.replace("{a}",w??"")},setZoom:function(w){this.option.zoom=w},setCenter:function(w){this.option.center=w}});f.mixin(y,I);var v=y;A.exports=v}),Kut=Et((o,A)=>{var f=D5e(),m=xn(),C=m.extendComponentView({type:"geo",init:function(E,I){var x=new f(I,!0);this._mapDraw=x,this.group.add(x.group)},render:function(E,I,x,y){if(!(y&&y.type==="geoToggleSelect"&&y.from===this.uid)){var v=this._mapDraw;E.get("show")?v.draw(E,I,x,this,y):this._mapDraw.group.removeAll(),this.group.silent=E.get("silent")}},dispose:function(){this._mapDraw&&this._mapDraw.remove()}});A.exports=C}),Wut=Et(()=>{var o=xn(),A=mi();Jut(),Zce(),Kut(),M5e();function f(m,C){C.update="updateView",o.registerAction(C,function(E,I){var x={};return I.eachComponent({mainType:"geo",query:E},function(y){y[m](E.name);var v=y.coordinateSystem;A.each(v.regions,function(w){x[w.name]=y.isSelected(w.name)||!1})}),{selected:x,name:E.name}})}f("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),f("select",{type:"geoSelect",event:"geoselected"}),f("unSelect",{type:"geoUnSelect",event:"geounselected"})}),qut=Et((o,A)=>{var f=mi(),m=Wu(),C=ja(),E=cB(),I=864e5;function x(w,Q,M){this._model=w}x.prototype={constructor:x,type:"calendar",dimensions:["time","value"],getDimensionsInfo:function(){return[{name:"time",type:"time"},"value"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(w){w=C.parseDate(w);var Q=w.getFullYear(),M=w.getMonth()+1;M=M<10?"0"+M:M;var B=w.getDate();B=B<10?"0"+B:B;var D=w.getDay();return D=Math.abs((D+7-this.getFirstDayOfWeek())%7),{y:Q,m:M,d:B,day:D,time:w.getTime(),formatedDate:Q+"-"+M+"-"+B,date:w}},getNextNDay:function(w,Q){return Q=Q||0,Q===0?this.getDateInfo(w):(w=new Date(this.getDateInfo(w).time),w.setDate(w.getDate()+Q),this.getDateInfo(w))},update:function(w,Q){this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var M=this._rangeInfo.weeks||1,B=["width","height"],D=this._model.get("cellSize").slice(),S=this._model.getBoxLayoutParams(),P=this._orient==="horizontal"?[M,7]:[7,M];f.each([0,1],function(F){L(D,F)&&(S[B[F]]=D[F]*P[F])});var R={width:Q.getWidth(),height:Q.getHeight()},T=this._rect=m.getLayoutRect(S,R);f.each([0,1],function(F){L(D,F)||(D[F]=T[B[F]]/P[F])});function L(F,U){return F[U]!=null&&F[U]!=="auto"}this._sw=D[0],this._sh=D[1]},dataToPoint:function(w,Q){f.isArray(w)&&(w=w[0]),Q==null&&(Q=!0);var M=this.getDateInfo(w),B=this._rangeInfo,D=M.formatedDate;if(Q&&!(M.time>=B.start.time&&M.timeS.end.time&&w.reverse(),w},_getRangeInfo:function(w){w=[this.getDateInfo(w[0]),this.getDateInfo(w[1])];var Q;w[0].time>w[1].time&&(Q=!0,w.reverse());var M=Math.floor(w[1].time/I)-Math.floor(w[0].time/I)+1,B=new Date(w[0].time),D=B.getDate(),S=w[1].date.getDate();B.setDate(D+M-1);var P=B.getDate();if(P!==S)for(var R=B.getTime()-w[1].time>0?1:-1;(P=B.getDate())!==S&&(B.getTime()-w[1].time)*R>0;)M-=R,B.setDate(P-R);var T=Math.floor((M+w[0].day+6)/7),L=Q?-T+1:T-1;return Q&&w.reverse(),{range:[w[0].formatedDate,w[1].formatedDate],start:w[0],end:w[1],allDay:M,weeks:T,nthWeek:L,fweek:w[0].day,lweek:w[1].day}},_getDateByWeeksAndDay:function(w,Q,M){var B=this._getRangeInfo(M);if(w>B.weeks||w===0&&QB.lweek)return!1;var D=(w-1)*7-B.fweek+Q,S=new Date(B.start.time);return S.setDate(B.start.d+D),this.getDateInfo(S)}},x.dimensions=x.prototype.dimensions,x.getDimensionsInfo=x.prototype.getDimensionsInfo,x.create=function(w,Q){var M=[];return w.eachComponent("calendar",function(B){var D=new x(B,w,Q);M.push(D),B.coordinateSystem=D}),w.eachSeries(function(B){B.get("coordinateSystem")==="calendar"&&(B.coordinateSystem=M[B.get("calendarIndex")||0])}),M};function y(w,Q,M,B){var D=M.calendarModel,S=M.seriesModel,P=D?D.coordinateSystem:S?S.coordinateSystem:null;return P===this?P[w](B):null}E.register("calendar",x);var v=x;A.exports=v}),jut=Et((o,A)=>{var f=mi(),m=wf(),C=Wu(),E=C.getLayoutParams,I=C.sizeCalculable,x=C.mergeLayoutParam,y=m.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(Q,M,B,D){var S=E(Q);y.superApply(this,"init",arguments),v(Q,S)},mergeOption:function(Q,M){y.superApply(this,"mergeOption",arguments),v(this.option,Q)}});function v(Q,M){var B=Q.cellSize;f.isArray(B)?B.length===1&&(B[1]=B[0]):B=Q.cellSize=[B,B];var D=f.map([0,1],function(S){return I(M,S)&&(B[S]="auto"),B[S]!=null&&B[S]!=="auto"});x(Q,M,{type:"box",ignoreSize:D})}var w=y;A.exports=w}),Xut=Et((o,A)=>{var f=xn(),m=mi(),C=po(),E=sc(),I=ja(),x={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"]},y={EN:["S","M","T","W","T","F","S"],CN:["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"]},v=f.extendComponentView({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(w,Q,M){var B=this.group;B.removeAll();var D=w.coordinateSystem,S=D.getRangeInfo(),P=D.getOrient();this._renderDayRect(w,S,B),this._renderLines(w,S,P,B),this._renderYearText(w,S,P,B),this._renderMonthText(w,P,B),this._renderWeekText(w,S,P,B)},_renderDayRect:function(w,Q,M){for(var B=w.coordinateSystem,D=w.getModel("itemStyle").getItemStyle(),S=B.getCellWidth(),P=B.getCellHeight(),R=Q.start.time;R<=Q.end.time;R=B.getNextNDay(R,1).time){var T=B.dataToRect([R],!1).tl,L=new C.Rect({shape:{x:T[0],y:T[1],width:S,height:P},cursor:"default",style:D});M.add(L)}},_renderLines:function(w,Q,M,B){var D=this,S=w.coordinateSystem,P=w.getModel("splitLine.lineStyle").getLineStyle(),R=w.get("splitLine.show"),T=P.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var L=Q.start,F=0;L.time<=Q.end.time;F++){N(L.formatedDate),F===0&&(L=S.getDateInfo(Q.start.y+"-"+Q.start.m));var U=L.date;U.setMonth(U.getMonth()+1),L=S.getDateInfo(U)}N(S.getNextNDay(Q.end.time,1).formatedDate);function N(H){D._firstDayOfMonth.push(S.getDateInfo(H)),D._firstDayPoints.push(S.dataToRect([H],!1).tl);var J=D._getLinePointsOfOneWeek(w,H,M);D._tlpoints.push(J[0]),D._blpoints.push(J[J.length-1]),R&&D._drawSplitline(J,P,B)}R&&this._drawSplitline(D._getEdgesPoints(D._tlpoints,T,M),P,B),R&&this._drawSplitline(D._getEdgesPoints(D._blpoints,T,M),P,B)},_getEdgesPoints:function(w,Q,M){var B=[w[0].slice(),w[w.length-1].slice()],D=M==="horizontal"?0:1;return B[0][D]=B[0][D]-Q/2,B[1][D]=B[1][D]+Q/2,B},_drawSplitline:function(w,Q,M){var B=new C.Polyline({z2:20,shape:{points:w},style:Q});M.add(B)},_getLinePointsOfOneWeek:function(w,Q,M){var B=w.coordinateSystem;Q=B.getDateInfo(Q);for(var D=[],S=0;S<7;S++){var P=B.getNextNDay(Q.time,S),R=B.dataToRect([P.time],!1);D[2*P.day]=R.tl,D[2*P.day+1]=R[M==="horizontal"?"bl":"tr"]}return D},_formatterLabel:function(w,Q){return typeof w=="string"&&w?E.formatTplSimple(w,Q):typeof w=="function"?w(Q):Q.nameMap},_yearTextPositionControl:function(w,Q,M,B,D){Q=Q.slice();var S=["center","bottom"];B==="bottom"?(Q[1]+=D,S=["center","top"]):B==="left"?Q[0]-=D:B==="right"?(Q[0]+=D,S=["center","top"]):Q[1]-=D;var P=0;return(B==="left"||B==="right")&&(P=Math.PI/2),{rotation:P,position:Q,style:{textAlign:S[0],textVerticalAlign:S[1]}}},_renderYearText:function(w,Q,M,B){var D=w.getModel("yearLabel");if(D.get("show")){var S=D.get("margin"),P=D.get("position");P||(P=M!=="horizontal"?"top":"left");var R=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],T=(R[0][0]+R[1][0])/2,L=(R[0][1]+R[1][1])/2,F=M==="horizontal"?0:1,U={top:[T,R[F][1]],bottom:[T,R[1-F][1]],left:[R[1-F][0],L],right:[R[F][0],L]},N=Q.start.y;+Q.end.y>+Q.start.y&&(N=N+"-"+Q.end.y);var H=D.get("formatter"),J={start:Q.start.y,end:Q.end.y,nameMap:N},K=this._formatterLabel(H,J),X=new C.Text({z2:30});C.setTextStyle(X.style,D,{text:K}),X.attr(this._yearTextPositionControl(X,U[P],M,P,S)),B.add(X)}},_monthTextPositionControl:function(w,Q,M,B,D){var S="left",P="top",R=w[0],T=w[1];return M==="horizontal"?(T=T+D,Q&&(S="center"),B==="start"&&(P="bottom")):(R=R+D,Q&&(P="middle"),B==="start"&&(S="right")),{x:R,y:T,textAlign:S,textVerticalAlign:P}},_renderMonthText:function(w,Q,M){var B=w.getModel("monthLabel");if(B.get("show")){var D=B.get("nameMap"),S=B.get("margin"),P=B.get("position"),R=B.get("align"),T=[this._tlpoints,this._blpoints];m.isString(D)&&(D=x[D.toUpperCase()]||[]);var L=P==="start"?0:1,F=Q==="horizontal"?0:1;S=P==="start"?-S:S;for(var U=R==="center",N=0;N{qut(),jut(),Xut()}),$ut=Et(()=>{var o=EA(),A=o.__DEV__,f=xn(),m=mi(),C=pl(),E=po(),I=Wu(),x=ja(),y=x.parsePercent,v={path:null,compoundPath:null,group:E.Group,image:E.Image,text:E.Text};f.registerPreprocessor(function(L){var F=L.graphic;m.isArray(F)?!F[0]||!F[0].elements?L.graphic=[{elements:F}]:L.graphic=[L.graphic[0]]:F&&!F.elements&&(L.graphic=[{elements:[F]}])});var w=f.extendComponentModel({type:"graphic",defaultOption:{elements:[],parentId:null},_elOptionsToUpdate:null,mergeOption:function(L){var F=this.option.elements;this.option.elements=null,w.superApply(this,"mergeOption",arguments),this.option.elements=F},optionUpdated:function(L,F){var U=this.option,N=(F?U:L).elements,H=U.elements=F?[]:U.elements,J=[];this._flatten(N,J);var K=C.mappingToExists(H,J);C.makeIdAndName(K);var X=this._elOptionsToUpdate=[];m.each(K,function(ee,ie){var z=ee.option;z&&(X.push(z),S(ee,z),P(H,ie,z),R(H[ie],z))},this);for(var j=H.length-1;j>=0;j--)H[j]==null?H.splice(j,1):delete H[j].$action},_flatten:function(L,F,U){m.each(L,function(N){if(N){U&&(N.parentOption=U),F.push(N);var H=N.children;N.type==="group"&&H&&this._flatten(H,F,N),delete N.children}},this)},useElOptionsToUpdate:function(){var L=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,L}});f.extendComponentView({type:"graphic",init:function(L,F){this._elMap=m.createHashMap(),this._lastGraphicModel},render:function(L,F,U){L!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=L,this._updateElements(L),this._relocate(L,U)},_updateElements:function(L){var F=L.useElOptionsToUpdate();if(F){var U=this._elMap,N=this.group;m.each(F,function(H){var J=H.$action,K=H.id,X=U.get(K),j=H.parentId,ee=j!=null?U.get(j):N,ie=H.style;H.type==="text"&&ie&&(H.hv&&H.hv[1]&&(ie.textVerticalAlign=ie.textBaseline=null),!ie.hasOwnProperty("textFill")&&ie.fill&&(ie.textFill=ie.fill),!ie.hasOwnProperty("textStroke")&&ie.stroke&&(ie.textStroke=ie.stroke));var z=B(H);!J||J==="merge"?X?X.attr(z):Q(K,ee,z,U):J==="replace"?(M(X,U),Q(K,ee,z,U)):J==="remove"&&M(X,U);var oe=U.get(K);oe&&(oe.__ecGraphicWidthOption=H.width,oe.__ecGraphicHeightOption=H.height,T(oe,L,H))})}},_relocate:function(L,F){for(var U=L.option.elements,N=this.group,H=this._elMap,J=F.getWidth(),K=F.getHeight(),X=0;X=0;X--){var j=U[X],ee=H.get(j.id);if(ee){var ie=ee.parent,oe=ie===N?{width:J,height:K}:{width:ie.__ecGraphicWidth,height:ie.__ecGraphicHeight};I.positionElement(ee,j,oe,null,{hv:j.hv,boundingMode:j.bounding})}}},_clear:function(){var L=this._elMap;L.each(function(F){M(F,L)}),this._elMap=m.createHashMap()},dispose:function(){this._clear()}});function Q(L,F,U,N){var H=U.type,J=v.hasOwnProperty(H)?v[H]:E.getShapeClass(H),K=new J(U);F.add(K),N.set(L,K),K.__ecGraphicId=L}function M(L,F){var U=L&&L.parent;U&&(L.type==="group"&&L.traverse(function(N){M(N,F)}),F.removeKey(L.__ecGraphicId),U.remove(L))}function B(L){return L=m.extend({},L),m.each(["id","parentId","$action","hv","bounding"].concat(I.LOCATION_PARAMS),function(F){delete L[F]}),L}function D(L,F){var U;return m.each(F,function(N){L[N]!=null&&L[N]!=="auto"&&(U=!0)}),U}function S(L,F){var U=L.exist;if(F.id=L.keyInfo.id,!F.type&&U&&(F.type=U.type),F.parentId==null){var N=F.parentOption;N?F.parentId=N.id:U&&(F.parentId=U.parentId)}F.parentOption=null}function P(L,F,U){var N=m.extend({},U),H=L[F],J=U.$action||"merge";J==="merge"?H?(m.merge(H,N,!0),I.mergeLayoutParam(H,N,{ignoreSize:!0}),I.copyLayoutParams(U,H)):L[F]=N:J==="replace"?L[F]=N:J==="remove"&&H&&(L[F]=null)}function R(L,F){L&&(L.hv=F.hv=[D(F,["left","right"]),D(F,["top","bottom"])],L.type==="group"&&(L.width==null&&(L.width=F.width=0),L.height==null&&(L.height=F.height=0)))}function T(L,F,U){var N=L.eventData;!L.silent&&!L.ignore&&!N&&(N=L.eventData={componentType:"graphic",componentIndex:F.componentIndex,name:L.name}),N&&(N.info=L.info)}}),Z2=Et(o=>{var A={};function f(C,E){A[C]=E}function m(C){return A[C]}o.register=f,o.get=m}),ect=Et((o,A)=>{var f=xn(),m=mi(),C=Z2(),E=f.extendComponentModel({type:"toolbox",layoutMode:{type:"box",ignoreSize:!0},optionUpdated:function(){E.superApply(this,"optionUpdated",arguments),m.each(this.option.feature,function(x,y){var v=C.get(y);v&&m.merge(x,v.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1}}}),I=E;A.exports=I}),j5e=Et(o=>{var A=Wu(),f=A.getLayoutRect,m=A.box,C=A.positionElement,E=sc(),I=po();function x(v,w,Q){var M=w.getBoxLayoutParams(),B=w.get("padding"),D={width:Q.getWidth(),height:Q.getHeight()},S=f(M,D,B);m(w.get("orient"),v,w.get("itemGap"),S.width,S.height),C(v,M,D,B)}function y(B,w){var Q=E.normalizeCssArray(w.get("padding")),M=w.getItemStyle(["color","opacity"]);M.fill=w.get("backgroundColor");var B=new I.Rect({shape:{x:B.x-Q[3],y:B.y-Q[0],width:B.width+Q[1]+Q[3],height:B.height+Q[0]+Q[2],r:w.get("borderRadius")},style:M,silent:!0,z2:-1});return B}o.layout=x,o.makeBackground=y}),tct=Et((o,A)=>{var f=xn(),m=mi(),C=Nx(),E=Z2(),I=po(),x=Cg(),y=XF(),v=j5e(),w=f.extendComponentView({type:"toolbox",render:function(M,B,D,S){var P=this.group;if(P.removeAll(),!M.get("show"))return;var R=+M.get("itemSize"),T=M.get("feature")||{},L=this._features||(this._features={}),F=[];m.each(T,function(H,J){F.push(J)}),new y(this._featureNames||[],F).add(U).update(U).remove(m.curry(U,null)).execute(),this._featureNames=F;function U(H,J){var K=F[H],X=F[J],j=T[K],ee=new x(j,M,M.ecModel),ie;if(S&&S.newTitle!=null&&S.featureName===K&&(j.title=S.newTitle),K&&!X){if(Q(K))ie={model:ee,onclick:ee.option.onclick,featureName:K};else{var z=E.get(K);if(!z)return;ie=new z(ee,B,D)}L[K]=ie}else{if(ie=L[X],!ie)return;ie.model=ee,ie.ecModel=B,ie.api=D}if(!K&&X){ie.dispose&&ie.dispose(B,D);return}if(!ee.get("show")||ie.unusable){ie.remove&&ie.remove(B,D);return}N(ee,ie,K),ee.setIconStatus=function(oe,le){var Ae=this.option,he=this.iconPaths;Ae.iconStatus=Ae.iconStatus||{},Ae.iconStatus[oe]=le,he[oe]&&he[oe].trigger(le)},ie.render&&ie.render(ee,B,D,S)}function N(H,J,K){var X=H.getModel("iconStyle"),j=H.getModel("emphasis.iconStyle"),ee=J.getIcons?J.getIcons():H.get("icon"),ie=H.get("title")||{};if(typeof ee=="string"){var z=ee,oe=ie;ee={},ie={},ee[K]=z,ie[K]=oe}var le=H.iconPaths={};m.each(ee,function(Ae,he){var ge=I.createIcon(Ae,{},{x:-R/2,y:-R/2,width:R,height:R});ge.setStyle(X.getItemStyle()),ge.hoverStyle=j.getItemStyle(),ge.setStyle({text:ie[he],textAlign:j.get("textAlign"),textBorderRadius:j.get("textBorderRadius"),textPadding:j.get("textPadding"),textFill:null});var de=M.getModel("tooltip");de&&de.get("show")&&ge.attr("tooltip",m.extend({content:ie[he],formatter:de.get("formatter",!0)||function(){return ie[he]},formatterParams:{componentType:"toolbox",name:he,title:ie[he],$vars:["name","title"]},position:de.get("position",!0)||"bottom"},de.option)),I.setHoverStyle(ge),M.get("showTitle")&&(ge.__title=ie[he],ge.on("mouseover",function(){var fe=j.getItemStyle(),G=M.get("orient")==="vertical"?M.get("right")==null?"right":"left":M.get("bottom")==null?"bottom":"top";ge.setStyle({textFill:j.get("textFill")||fe.fill||fe.stroke||"#000",textBackgroundColor:j.get("textBackgroundColor"),textPosition:j.get("textPosition")||G})}).on("mouseout",function(){ge.setStyle({textFill:null,textBackgroundColor:null})})),ge.trigger(H.get("iconStatus."+he)||"normal"),P.add(ge),ge.on("click",m.bind(J.onclick,J,B,D,he)),le[he]=ge})}v.layout(P,M,D),P.add(v.makeBackground(P.getBoundingRect(),M)),P.eachChild(function(H){var J=H.__title,K=H.hoverStyle;if(K&&J){var X=C.getBoundingRect(J,C.makeFont(K)),j=H.position[0]+P.position[0],ee=H.position[1]+P.position[1]+R,ie=!1;ee+X.height>D.getHeight()&&(K.textPosition="top",ie=!0);var z=ie?-5-X.height:R+8;j+X.width/2>D.getWidth()?(K.textPosition=["100%",z],K.textAlign="right"):j-X.width/2<0&&(K.textPosition=[0,z],K.textAlign="left")}})},updateView:function(M,B,D,S){m.each(this._features,function(P){P.updateView&&P.updateView(P.model,B,D,S)})},remove:function(M,B){m.each(this._features,function(D){D.remove&&D.remove(M,B)}),this.group.removeAll()},dispose:function(M,B){m.each(this._features,function(D){D.dispose&&D.dispose(M,B)})}});function Q(M){return M.indexOf("my")===0}A.exports=w}),ict=Et((o,A)=>{var f=mg(),m=q2(),C=Z2(),E=m.toolbox.saveAsImage;function I(v){this.model=v}I.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:E.title,type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:E.lang.slice()},I.prototype.unusable=!f.canvasSupported;var x=I.prototype;x.onclick=function(v,w){var Q=this.model,M=Q.get("name")||v.get("title.0.text")||"echarts",B=w.getZr().painter.getType()==="svg",D=B?"svg":Q.get("type",!0)||"png",S=w.getConnectedDataURL({type:D,backgroundColor:Q.get("backgroundColor",!0)||v.get("backgroundColor")||"#fff",connectedBackgroundColor:Q.get("connectedBackgroundColor"),excludeComponents:Q.get("excludeComponents"),pixelRatio:Q.get("pixelRatio")});if(typeof MouseEvent=="function"&&!f.browser.ie&&!f.browser.edge){var P=document.createElement("a");P.download=M+"."+D,P.target="_blank",P.href=S;var R=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});P.dispatchEvent(R)}else if(window.navigator.msSaveOrOpenBlob){for(var T=atob(S.split(",")[1]),L=T.length,F=new Uint8Array(L);L--;)F[L]=T.charCodeAt(L);var U=new Blob([F]);window.navigator.msSaveOrOpenBlob(U,M+"."+D)}else{var N=Q.get("lang"),H='',J=window.open();J.document.write(H)}},C.register("saveAsImage",I);var y=I;A.exports=y}),rct=Et((o,A)=>{var f=xn(),m=mi(),C=q2(),E=Z2(),I=C.toolbox.magicType,x="__ec_magicType_stack__";function y(B){this.model=B}y.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:m.clone(I.title),option:{},seriesIndex:{}};var v=y.prototype;v.getIcons=function(){var B=this.model,D=B.get("icon"),S={};return m.each(B.get("type"),function(P){D[P]&&(S[P]=D[P])}),S};var w={line:function(B,D,S,P){if(B==="bar")return m.merge({id:D,type:"line",data:S.get("data"),stack:S.get("stack"),markPoint:S.get("markPoint"),markLine:S.get("markLine")},P.get("option.line")||{},!0)},bar:function(B,D,S,P){if(B==="line")return m.merge({id:D,type:"bar",data:S.get("data"),stack:S.get("stack"),markPoint:S.get("markPoint"),markLine:S.get("markLine")},P.get("option.bar")||{},!0)},stack:function(B,D,S,P){var R=S.get("stack")===x;if(B==="line"||B==="bar")return P.setIconStatus("stack",R?"normal":"emphasis"),m.merge({id:D,stack:R?"":x},P.get("option.stack")||{},!0)}},Q=[["line","bar"],["stack"]];v.onclick=function(B,D,S){var P=this.model,R=P.get("seriesIndex."+S);if(w[S]){var T={series:[]},L=function(N){var H=N.subType,J=N.id,K=w[S](H,J,N,P);K&&(m.defaults(K,N.option),T.series.push(K));var X=N.coordinateSystem;if(X&&X.type==="cartesian2d"&&(S==="line"||S==="bar")){var j=X.getAxesByScale("ordinal")[0];if(j){var ee=j.dim,ie=ee+"Axis",z=B.queryComponents({mainType:ie,index:N.get(name+"Index"),id:N.get(name+"Id")})[0],oe=z.componentIndex;T[ie]=T[ie]||[];for(var le=0;le<=oe;le++)T[ie][oe]=T[ie][oe]||{};T[ie][oe].boundaryGap=S==="bar"}}};m.each(Q,function(N){m.indexOf(N,S)>=0&&m.each(N,function(H){P.setIconStatus(H,"normal")})}),P.setIconStatus(S,"emphasis"),B.eachComponent({mainType:"series",query:R==null?null:{seriesIndex:R}},L);var F;if(S==="stack"){var U=T.series&&T.series[0]&&T.series[0].stack===x;F=U?m.merge({stack:I.title.tiled},I.title):m.clone(I.title)}D.dispatchAction({type:"changeMagicType",currentType:S,newOption:T,newTitle:F,featureName:"magicType"})}},f.registerAction({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(B,D){D.mergeOption(B.newOption)}),E.register("magicType",y);var M=y;A.exports=M}),nct=Et((o,A)=>{var f=xn(),m=mi(),C=U1(),E=q2(),I=Z2(),x=E.toolbox.dataView,y=new Array(60).join("-"),v=" ";function w(H){var J={},K=[],X=[];return H.eachRawSeries(function(j){var ee=j.coordinateSystem;if(ee&&(ee.type==="cartesian2d"||ee.type==="polar")){var ie=ee.getBaseAxis();if(ie.type==="category"){var z=ie.dim+"_"+ie.index;J[z]||(J[z]={categoryAxis:ie,valueAxis:ee.getOtherAxis(ie),series:[]},X.push({axisDim:ie.dim,axisIndex:ie.index})),J[z].series.push(j)}else K.push(j)}else K.push(j)}),{seriesGroupByCategoryAxis:J,other:K,meta:X}}function Q(H){var J=[];return m.each(H,function(K,X){var j=K.categoryAxis,ee=K.valueAxis,ie=ee.dim,z=[" "].concat(m.map(K.series,function(de){return de.name})),oe=[j.model.getCategories()];m.each(K.series,function(de){oe.push(de.getRawData().mapArray(ie,function(fe){return fe}))});for(var le=[z.join(v)],Ae=0;Ae=0)return!0}var P=new RegExp("["+v+"]+","g");function R(H){for(var J=H.split(/\n+/g),K=D(J.shift()).split(P),X=[],j=m.map(K,function(oe){return{name:oe,data:[]}}),ee=0;ee{var f=EA(),m=f.__DEV__,C=mi(),E=po(),I=pl(),x=U5e(),y=C.each,v=C.indexOf,w=C.curry,Q=["dataToPoint","pointToData"],M=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"];function B(j,ee,ie){var z=this._targetInfoList=[],oe={},le=P(ee,j);y(R,function(Ae,he){(!ie||!ie.include||v(ie.include,he)>=0)&&Ae(le,z,oe)})}var D=B.prototype;D.setOutputRanges=function(j,ee){this.matchOutputRanges(j,ee,function(ie,z,oe){if((ie.coordRanges||(ie.coordRanges=[])).push(z),!ie.coordRange){ie.coordRange=z;var le=F[ie.brushType](0,oe,z);ie.__rangeOffset={offset:N[ie.brushType](le.values,ie.range,[1,1]),xyMinMax:le.xyMinMax}}})},D.matchOutputRanges=function(j,ee,ie){y(j,function(z){var oe=this.findTargetInfo(z,ee);oe&&oe!==!0&&C.each(oe.coordSyses,function(le){var Ae=F[z.brushType](1,le,z.range);ie(z,Ae.values,le,ee)})},this)},D.setInputRanges=function(j,ee){y(j,function(ie){var z=this.findTargetInfo(ie,ee);if(ie.range=ie.range||[],z&&z!==!0){ie.panelId=z.panelId;var oe=F[ie.brushType](0,z.coordSys,ie.coordRange),le=ie.__rangeOffset;ie.range=le?N[ie.brushType](oe.values,le.offset,J(oe.xyMinMax,le.xyMinMax)):oe.values}},this)},D.makePanelOpts=function(j,ee){return C.map(this._targetInfoList,function(ie){var z=ie.getPanelRect();return{panelId:ie.panelId,defaultBrushType:ee&&ee(ie),clipPath:x.makeRectPanelClipPath(z),isTargetByCursor:x.makeRectIsTargetByCursor(z,j,ie.coordSysModel),getLinearBrushOtherExtent:x.makeLinearBrushOtherExtent(z)}})},D.controlSeries=function(j,ee,ie){var z=this.findTargetInfo(j,ie);return z===!0||z&&v(z.coordSyses,ee.coordinateSystem)>=0},D.findTargetInfo=function(j,ee){for(var ie=this._targetInfoList,z=P(ee,j),oe=0;oej[1]&&j.reverse(),j}function P(j,ee){return I.parseFinder(j,ee,{includeMainTypes:M})}var R={grid:function(j,ee){var ie=j.xAxisModels,z=j.yAxisModels,oe=j.gridModels,le=C.createHashMap(),Ae={},he={};!ie&&!z&&!oe||(y(ie,function(ge){var de=ge.axis.grid.model;le.set(de.id,de),Ae[de.id]=!0}),y(z,function(ge){var de=ge.axis.grid.model;le.set(de.id,de),he[de.id]=!0}),y(oe,function(ge){le.set(ge.id,ge),Ae[ge.id]=!0,he[ge.id]=!0}),le.each(function(ge){var de=ge.coordinateSystem,fe=[];y(de.getCartesians(),function(G,Y){(v(ie,G.getAxis("x").model)>=0||v(z,G.getAxis("y").model)>=0)&&fe.push(G)}),ee.push({panelId:"grid--"+ge.id,gridModel:ge,coordSysModel:ge,coordSys:fe[0],coordSyses:fe,getPanelRect:L.grid,xAxisDeclared:Ae[ge.id],yAxisDeclared:he[ge.id]})}))},geo:function(j,ee){y(j.geoModels,function(ie){var z=ie.coordinateSystem;ee.push({panelId:"geo--"+ie.id,geoModel:ie,coordSysModel:ie,coordSys:z,coordSyses:[z],getPanelRect:L.geo})})}},T=[function(j,ee){var ie=j.xAxisModel,z=j.yAxisModel,oe=j.gridModel;return!oe&&ie&&(oe=ie.axis.grid.model),!oe&&z&&(oe=z.axis.grid.model),oe&&oe===ee.gridModel},function(j,ee){var ie=j.geoModel;return ie&&ie===ee.geoModel}],L={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var j=this.coordSys,ee=j.getBoundingRect().clone();return ee.applyTransform(E.getTransform(j)),ee}},F={lineX:w(U,0),lineY:w(U,1),rect:function(j,ee,ie){var z=ee[Q[j]]([ie[0][0],ie[1][0]]),oe=ee[Q[j]]([ie[0][1],ie[1][1]]),le=[S([z[0],oe[0]]),S([z[1],oe[1]])];return{values:le,xyMinMax:le}},polygon:function(j,ee,ie){var z=[[1/0,-1/0],[1/0,-1/0]],oe=C.map(ie,function(le){var Ae=ee[Q[j]](le);return z[0][0]=Math.min(z[0][0],Ae[0]),z[1][0]=Math.min(z[1][0],Ae[1]),z[0][1]=Math.max(z[0][1],Ae[0]),z[1][1]=Math.max(z[1][1],Ae[1]),Ae});return{values:oe,xyMinMax:z}}};function U(j,ee,ie,z){var oe=ie.getAxis(["x","y"][j]),le=S(C.map([0,1],function(he){return ee?oe.coordToData(oe.toLocalCoord(z[he])):oe.toGlobalCoord(oe.dataToCoord(z[he]))})),Ae=[];return Ae[j]=le,Ae[1-j]=[NaN,NaN],{values:le,xyMinMax:Ae}}var N={lineX:w(H,0),lineY:w(H,1),rect:function(j,ee,ie){return[[j[0][0]-ie[0]*ee[0][0],j[0][1]-ie[0]*ee[0][1]],[j[1][0]-ie[1]*ee[1][0],j[1][1]-ie[1]*ee[1][1]]]},polygon:function(j,ee,ie){return C.map(j,function(z,oe){return[z[0]-ie[0]*ee[oe][0],z[1]-ie[1]*ee[oe][1]]})}};function H(j,ee,ie,z){return[ee[0]-z[j]*ie[0],ee[1]-z[j]*ie[1]]}function J(j,ee){var ie=K(j),z=K(ee),oe=[ie[0]/z[0],ie[1]/z[1]];return isNaN(oe[0])&&(oe[0]=1),isNaN(oe[1])&&(oe[1]=1),oe}function K(j){return j?[j[0][1]-j[0][0],j[1][1]-j[1][0]]:[NaN,NaN]}var X=B;A.exports=X}),Z5e=Et(o=>{var A=mi(),f=A.each,m="\0_ec_hist_store";function C(v,w){var Q=y(v);f(w,function(M,B){for(var D=Q.length-1;D>=0;D--){var S=Q[D];if(S[B])break}if(D<0){var P=v.queryComponents({mainType:"dataZoom",subType:"select",id:B})[0];if(P){var R=P.getPercentRange();Q[0][B]={dataZoomId:B,start:R[0],end:R[1]}}}}),Q.push(w)}function E(v){var w=y(v),Q=w[w.length-1];w.length>1&&w.pop();var M={};return f(Q,function(B,D){for(var S=w.length-1;S>=0;S--){var B=w[S][D];if(B){M[D]=B;break}}}),M}function I(v){v[m]=null}function x(v){return y(v).length}function y(v){var w=v[m];return w||(w=v[m]=[{}]),w}o.push=C,o.pop=E,o.clear=I,o.count=x}),ahe=Et(()=>{var o=wf();o.registerSubTypeDefaulter("dataZoom",function(){return"slider"})}),she=Et(o=>{var A=mi(),f=sc(),m=["x","y","z","radius","angle","single"],C=["cartesian2d","polar","singleAxis"];function E(v){return A.indexOf(C,v)>=0}function I(v,w){v=v.slice();var Q=A.map(v,f.capitalFirst);w=(w||[]).slice();var M=A.map(w,f.capitalFirst);return function(B,D){A.each(v,function(S,P){for(var R={name:S,capital:Q[P]},T=0;T=0}function B(S,P){var R=!1;return w(function(T){A.each(Q(S,T)||[],function(L){P.records[T.name][L]&&(R=!0)})}),R}function D(S,P){P.nodes.push(S),w(function(R){A.each(Q(S,R)||[],function(T){P.records[R.name][T]=!0})})}}o.isCoordSupported=E,o.createNameEach=I,o.eachAxisDim=x,o.createLinkedNodesFinder=y}),oct=Et((o,A)=>{var f=mi(),m=ja(),C=she(),E=bO(),I=f.each,x=m.asc,y=function(D,S,P,R){this._dimName=D,this._axisIndex=S,this._valueWindow,this._percentWindow,this._dataExtent,this._minMaxSpan,this.ecModel=R,this._dataZoomModel=P};y.prototype={constructor:y,hostedBy:function(D){return this._dataZoomModel===D},getDataValueWindow:function(){return this._valueWindow.slice()},getDataPercentWindow:function(){return this._percentWindow.slice()},getTargetSeriesModels:function(){var D=[],S=this.ecModel;return S.eachSeries(function(P){if(C.isCoordSupported(P.get("coordinateSystem"))){var R=this._dimName,T=S.queryComponents({mainType:R+"Axis",index:P.get(R+"AxisIndex"),id:P.get(R+"AxisId")})[0];this._axisIndex===(T&&T.componentIndex)&&D.push(P)}},this),D},getAxisModel:function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},getOtherAxisModel:function(){var D=this._dimName,S=this.ecModel,P=this.getAxisModel(),R=D==="x"||D==="y",T,L;R?(L="gridIndex",T=D==="x"?"y":"x"):(L="polarIndex",T=D==="angle"?"radius":"angle");var F;return S.eachComponent(T+"Axis",function(U){(U.get(L)||0)===(P.get(L)||0)&&(F=U)}),F},getMinMaxSpan:function(){return f.clone(this._minMaxSpan)},calculateDataWindow:function(D){var S=this._dataExtent,P=this.getAxisModel(),R=P.axis.scale,T=this._dataZoomModel.getRangePropMode(),L=[0,100],F=[],U=[],N;I(["start","end"],function(K,X){var j=D[K],ee=D[K+"Value"];T[X]==="percent"?(j==null&&(j=L[X]),ee=R.parse(m.linearMap(j,L,S))):(N=!0,ee=ee==null?S[X]:R.parse(ee),j=m.linearMap(ee,S,L)),U[X]=ee,F[X]=j}),x(U),x(F);var H=this._minMaxSpan;N?J(U,F,S,L,!1):J(F,U,L,S,!0);function J(K,X,j,ee,ie){var z=ie?"Span":"ValueSpan";E(0,K,j,"all",H["min"+z],H["max"+z]);for(var oe=0;oe<2;oe++)X[oe]=m.linearMap(K[oe],j,ee,!0),ie&&(X[oe]=R.parse(X[oe]))}return{valueWindow:U,percentWindow:F}},reset:function(D){if(D===this._dataZoomModel){var S=this.getTargetSeriesModels();this._dataExtent=v(this,this._dimName,S),M(this);var P=this.calculateDataWindow(D.settledOption);this._valueWindow=P.valueWindow,this._percentWindow=P.percentWindow,Q(this)}},restore:function(D){D===this._dataZoomModel&&(this._valueWindow=this._percentWindow=null,Q(this,!0))},filterData:function(D,S){if(D!==this._dataZoomModel)return;var P=this._dimName,R=this.getTargetSeriesModels(),T=D.get("filterMode"),L=this._valueWindow;if(T==="none")return;I(R,function(U){var N=U.getData(),H=N.mapDimension(P,!0);H.length&&(T==="weakFilter"?N.filterSelf(function(J){for(var K,X,j,ee=0;eeL[1];if(z&&!oe&&!le)return!0;z&&(j=!0),oe&&(K=!0),le&&(X=!0)}return j&&K&&X}):I(H,function(J){if(T==="empty")U.setData(N=N.map(J,function(X){return F(X)?X:NaN}));else{var K={};K[J]=L,N.selectRange(K)}}),I(H,function(J){N.setApproximateExtent(L,J)}))});function F(U){return U>=L[0]&&U<=L[1]}}};function v(D,S,P){var R=[1/0,-1/0];return I(P,function(T){var L=T.getData();L&&I(L.mapDimension(S,!0),function(F){var U=L.getApproximateExtent(F);U[0]R[1]&&(R[1]=U[1])})}),R[1]0?0:NaN);var F=P.getMax(!0);return F!=null&&F!=="dataMax"&&typeof F!="function"?S[1]=F:T&&(S[1]=L>0?L-1:NaN),P.get("scale",!0)||(S[0]>0&&(S[0]=0),S[1]<0&&(S[1]=0)),S}function Q(D,S){var P=D.getAxisModel(),R=D._percentWindow,T=D._valueWindow;if(R){var L=m.getPixelPrecision(T,[0,500]);L=Math.min(L,20);var F=S||R[0]===0&&R[1]===100;P.setRange(F?null:+T[0].toFixed(L),F?null:+T[1].toFixed(L))}}function M(D){var S=D._minMaxSpan={},P=D._dataZoomModel,R=D._dataExtent;I(["min","max"],function(T){var L=P.get(T+"Span"),F=P.get(T+"ValueSpan");F!=null&&(F=D.getAxisModel().axis.scale.parse(F)),F!=null?L=m.linearMap(R[0]+F,R,[0,100],!0):L!=null&&(F=m.linearMap(L,[0,100],R,!0)-R[0]),S[T+"Span"]=L,S[T+"ValueSpan"]=F})}var B=y;A.exports=B}),QO=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=xn(),E=mi(),I=mg(),x=pl(),y=she(),v=oct(),w=E.each,Q=y.eachAxisDim,M=C.extendComponentModel({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(P,R,T){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var L=B(P);this.settledOption=L,this.mergeDefaultAndTheme(P,T),this.doInit(L)},mergeOption:function(P){var R=B(P);E.merge(this.option,P,!0),E.merge(this.settledOption,R,!0),this.doInit(R)},doInit:function(P){var R=this.option;I.canvasSupported||(R.realtime=!1),this._setDefaultThrottle(P),D(this,P);var T=this.settledOption;w([["start","startValue"],["end","endValue"]],function(L,F){this._rangePropMode[F]==="value"&&(R[L[0]]=T[L[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var P=this._axisProxies;this.eachTargetAxis(function(R,T,L,F){var U=this.dependentModels[R.axis][T],N=U.__dzAxisProxy||(U.__dzAxisProxy=new v(R.name,T,this,F));P[R.name+"_"+T]=N},this)},_resetTarget:function(){var P=this.option,R=this._judgeAutoMode();Q(function(T){var L=T.axisIndex;P[L]=x.normalizeToArray(P[L])},this),R==="axisIndex"?this._autoSetAxisIndex():R==="orient"&&this._autoSetOrient()},_judgeAutoMode:function(){var P=this.option,R=!1;Q(function(L){P[L.axisIndex]!=null&&(R=!0)},this);var T=P.orient;if(T==null&&R)return"orient";if(!R)return T==null&&(P.orient="horizontal"),"axisIndex"},_autoSetAxisIndex:function(){var P=!0,R=this.get("orient",!0),T=this.option,L=this.dependentModels;if(P){var F=R==="vertical"?"y":"x";L[F+"Axis"].length?(T[F+"AxisIndex"]=[0],P=!1):w(L.singleAxis,function(U){P&&U.get("orient",!0)===R&&(T.singleAxisIndex=[U.componentIndex],P=!1)})}P&&Q(function(U){if(P){var N=[],H=this.dependentModels[U.axis];if(H.length&&!N.length)for(var J=0,K=H.length;J0?100:20}},getFirstTargetAxisModel:function(){var P;return Q(function(R){if(P==null){var T=this.get(R.axisIndex);T.length&&(P=this.dependentModels[R.axis][T[0]])}},this),P},eachTargetAxis:function(P,R){var T=this.ecModel;Q(function(L){w(this.get(L.axisIndex),function(F){P.call(R,L,F,this,T)},this)},this)},getAxisProxy:function(P,R){return this._axisProxies[P+"_"+R]},getAxisModel:function(P,R){var T=this.getAxisProxy(P,R);return T&&T.getAxisModel()},setRawRange:function(P){var R=this.option,T=this.settledOption;w([["start","startValue"],["end","endValue"]],function(L){(P[L[0]]!=null||P[L[1]]!=null)&&(R[L[0]]=T[L[0]]=P[L[0]],R[L[1]]=T[L[1]]=P[L[1]])},this),D(this,P)},setCalculatedRange:function(P){var R=this.option;w(["start","startValue","end","endValue"],function(T){R[T]=P[T]})},getPercentRange:function(){var P=this.findRepresentativeAxisProxy();if(P)return P.getDataPercentWindow()},getValueRange:function(P,R){if(P==null&&R==null){var T=this.findRepresentativeAxisProxy();if(T)return T.getDataValueWindow()}else return this.getAxisProxy(P,R).getDataValueWindow()},findRepresentativeAxisProxy:function(P){if(P)return P.__dzAxisProxy;var R=this._axisProxies;for(var T in R)if(R.hasOwnProperty(T)&&R[T].hostedBy(this))return R[T];for(var T in R)if(R.hasOwnProperty(T)&&!R[T].hostedBy(this))return R[T]},getRangePropMode:function(){return this._rangePropMode.slice()}});function B(P){var R={};return w(["start","end","startValue","endValue","throttle"],function(T){P.hasOwnProperty(T)&&(R[T]=P[T])}),R}function D(P,R){var T=P._rangePropMode,L=P.get("rangeMode");w([["start","startValue"],["end","endValue"]],function(F,U){var N=R[F[0]]!=null,H=R[F[1]]!=null;N&&!H?T[U]="percent":!N&&H?T[U]="value":L?T[U]=L[U]:N&&(T[U]="percent")})}var S=M;A.exports=S}),SO=Et((o,A)=>{var f=mZ(),m=f.extend({type:"dataZoom",render:function(C,E,I,x){this.dataZoomModel=C,this.ecModel=E,this.api=I},getTargetCoordInfo:function(){var C=this.dataZoomModel,E=this.ecModel,I={};C.eachTargetAxis(function(y,v){var w=E.getComponent(y.axis,v);if(w){var Q=w.getCoordSysModel();Q&&x(Q,w,I[Q.mainType]||(I[Q.mainType]=[]),Q.componentIndex)}},this);function x(y,v,w,Q){for(var M,B=0;B{var f=QO(),m=f.extend({type:"dataZoom.select"});A.exports=m}),sct=Et((o,A)=>{var f=SO(),m=f.extend({type:"dataZoom.select"});A.exports=m}),lhe=Et(()=>{var o=xn(),A=mi(),f=A.createHashMap,m=A.each;o.registerProcessor({getTargetSeries:function(C){var E=f();return C.eachComponent("dataZoom",function(I){I.eachTargetAxis(function(x,y,v){var w=v.getAxisProxy(x.name,y);m(w.getTargetSeriesModels(),function(Q){E.set(Q.uid,Q)})})}),E},modifyOutputEnd:!0,overallReset:function(C,E){C.eachComponent("dataZoom",function(I){I.eachTargetAxis(function(x,y,v){v.getAxisProxy(x.name,y).reset(v,E)}),I.eachTargetAxis(function(x,y,v){v.getAxisProxy(x.name,y).filterData(v,E)})}),C.eachComponent("dataZoom",function(I){var x=I.findRepresentativeAxisProxy(),y=x.getDataPercentWindow(),v=x.getDataValueWindow();I.setCalculatedRange({start:y[0],end:y[1],startValue:v[0],endValue:v[1]})})}})}),Ahe=Et(()=>{var o=xn(),A=mi(),f=she();o.registerAction("dataZoom",function(m,C){var E=f.createLinkedNodesFinder(A.bind(C.eachComponent,C,"dataZoom"),f.eachAxisDim,function(x,y){return x.get(y.axisIndex)}),I=[];C.eachComponent({mainType:"dataZoom",query:m},function(x,y){I.push.apply(I,E(x).nodes)}),A.each(I,function(x,y){x.setRawRange({start:m.start,end:m.end,startValue:m.startValue,endValue:m.endValue})})})}),lct=Et(()=>{ahe(),QO(),SO(),act(),sct(),lhe(),Ahe()}),Act=Et((o,A)=>{var f=xn(),m=mi(),C=rhe(),E=X5e(),I=Z5e(),x=bO(),y=q2(),v=Z2();lct();var w=y.toolbox.dataZoom,Q=m.each,M="\0_ec_\0toolbox-dataZoom_";function B(F,U,N){(this._brushController=new C(N.getZr())).on("brush",m.bind(this._onBrush,this)).mount(),this._isZoomActive}B.defaultOption={show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:m.clone(w.title)};var D=B.prototype;D.render=function(F,U,N,H){this.model=F,this.ecModel=U,this.api=N,T(F,U,this,H,N),R(F,U)},D.onclick=function(F,U,N){S[N].call(this)},D.remove=function(F,U){this._brushController.unmount()},D.dispose=function(F,U){this._brushController.dispose()};var S={zoom:function(){var F=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:F})},back:function(){this._dispatchZoomAction(I.pop(this.ecModel))}};D._onBrush=function(F,U){if(!U.isEnd||!F.length)return;var N={},H=this.ecModel;this._brushController.updateCovers([]);var J=new E(P(this.model.option),H,{include:["grid"]});J.matchOutputRanges(F,H,function(j,ee,ie){if(ie.type==="cartesian2d"){var z=j.brushType;z==="rect"?(K("x",ie,ee[0]),K("y",ie,ee[1])):K({lineX:"x",lineY:"y"}[z],ie,ee)}}),I.push(H,N),this._dispatchZoomAction(N);function K(j,ee,ie){var z=ee.getAxis(j),oe=z.model,le=X(j,oe,H),Ae=le.findRepresentativeAxisProxy(oe).getMinMaxSpan();(Ae.minValueSpan!=null||Ae.maxValueSpan!=null)&&(ie=x(0,ie.slice(),z.scale.getExtent(),0,Ae.minValueSpan,Ae.maxValueSpan)),le&&(N[le.id]={dataZoomId:le.id,startValue:ie[0],endValue:ie[1]})}function X(j,ee,ie){var z;return ie.eachComponent({mainType:"dataZoom",subType:"select"},function(oe){var le=oe.getAxisModel(j,ee.componentIndex);le&&(z=oe)}),z}},D._dispatchZoomAction=function(F){var U=[];Q(F,function(N,H){U.push(m.clone(N))}),U.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:U})};function P(F){var U={};return m.each(["xAxisIndex","yAxisIndex"],function(N){U[N]=F[N],U[N]==null&&(U[N]="all"),(U[N]===!1||U[N]==="none")&&(U[N]=[])}),U}function R(F,U){F.setIconStatus("back",I.count(U)>1?"emphasis":"normal")}function T(F,U,N,H,J){var K=N._isZoomActive;H&&H.type==="takeGlobalCursor"&&(K=H.key==="dataZoomSelect"?H.dataZoomSelectActive:!1),N._isZoomActive=K,F.setIconStatus("zoom",K?"emphasis":"normal");var X=new E(P(F.option),U,{include:["grid"]});N._brushController.setPanels(X.makePanelOpts(J,function(j){return j.xAxisDeclared&&!j.yAxisDeclared?"lineX":!j.xAxisDeclared&&j.yAxisDeclared?"lineY":"rect"})).enableBrush(K?{brushType:"auto",brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}}:!1)}v.register("dataZoom",B),f.registerPreprocessor(function(F){if(!F)return;var U=F.dataZoom||(F.dataZoom=[]);m.isArray(U)||(F.dataZoom=U=[U]);var N=F.toolbox;if(N&&(m.isArray(N)&&(N=N[0]),N&&N.feature)){var H=N.feature.dataZoom;J("xAxis",H),J("yAxis",H)}function J(X,j){if(j){var ee=X+"Index",ie=j[ee];ie!=null&&ie!=="all"&&!m.isArray(ie)&&(ie=ie===!1||ie==="none"?[]:[ie]),K(X,function(z,oe){if(!(ie!=null&&ie!=="all"&&m.indexOf(ie,oe)===-1)){var le={type:"select",$fromToolbox:!0,filterMode:j.filterMode||"filter",id:M+X+oe};le[ee]=oe,U.push(le)}})}}function K(X,j){var ee=F[X];m.isArray(ee)||(ee=ee?[ee]:[]),Q(ee,j)}});var L=B;A.exports=L}),uct=Et((o,A)=>{var f=xn(),m=Z5e(),C=q2(),E=Z2(),I=C.toolbox.restore;function x(w){this.model=w}x.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:I.title};var y=x.prototype;y.onclick=function(w,Q,M){m.clear(w),Q.dispatchAction({type:"restore",from:this.uid})},E.register("restore",x),f.registerAction({type:"restore",event:"restore",update:"prepareAndUpdate"},function(w,Q){Q.resetOption("recreate")});var v=x;A.exports=v}),cct=Et(()=>{ect(),tct(),ict(),rct(),nct(),Act(),uct()}),hct=Et((o,A)=>{var f=xn(),m=f.extendComponentModel({type:"tooltip",dependencies:["axisPointer"],defaultOption:{zlevel:0,z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#fff",fontSize:14}}});A.exports=m}),dct=Et((o,A)=>{var f=mi(),m=O1(),C=U1(),E=Oke(),I=mg(),x=sc(),y=f.each,v=x.toCamelCase,w=["","-webkit-","-moz-","-o-"],Q="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;";function M(T){var L="cubic-bezier(0.23, 1, 0.32, 1)",F="left "+T+"s "+L+",top "+T+"s "+L;return f.map(w,function(U){return U+"transition:"+F}).join(";")}function B(T){var L=[],F=T.get("fontSize"),U=T.getTextColor();return U&&L.push("color:"+U),L.push("font:"+T.getFont()),F&&L.push("line-height:"+Math.round(F*3/2)+"px"),y(["decoration","align"],function(N){var H=T.get(N);H&&L.push("text-"+N+":"+H)}),L.join(";")}function D(T){var L=[],F=T.get("transitionDuration"),U=T.get("backgroundColor"),N=T.getModel("textStyle"),H=T.get("padding");return F&&L.push(M(F)),U&&(I.canvasSupported?L.push("background-Color:"+U):(L.push("background-Color:#"+m.toHex(U)),L.push("filter:alpha(opacity=70)"))),y(["width","color","radius"],function(J){var K="border-"+J,X=v(K),j=T.get(X);j!=null&&L.push(K+":"+j+(J==="color"?"":"px"))}),L.push(B(N)),H!=null&&L.push("padding:"+x.normalizeCssArray(H).join("px ")+"px"),L.join(";")+";"}function S(T,L,F,U,N){var H=L&&L.painter;if(F){var J=H&&H.getViewportRoot();J&&E.transformLocalCoord(T,J,document.body,U,N)}else{T[0]=U,T[1]=N;var K=H&&H.getViewportRootOffset();K&&(T[0]+=K.offsetLeft,T[1]+=K.offsetTop)}}function P(T,L,F){if(I.wxa)return null;var U=document.createElement("div");U.domBelongToZr=!0,this.el=U;var N=this._zr=L.getZr(),H=this._appendToBody=F&&F.appendToBody;this._styleCoord=[0,0],S(this._styleCoord,N,H,L.getWidth()/2,L.getHeight()/2),H?document.body.appendChild(U):T.appendChild(U),this._container=T,this._show=!1,this._hideTimeout;var J=this;U.onmouseenter=function(){J._enterable&&(clearTimeout(J._hideTimeout),J._show=!0),J._inContent=!0},U.onmousemove=function(K){if(K=K||window.event,!J._enterable){var X=N.handler,j=N.painter.getViewportRoot();C.normalizeEvent(j,K,!0),X.dispatch("mousemove",K)}},U.onmouseleave=function(){J._enterable&&J._show&&J.hideLater(J._hideDelay),J._inContent=!1}}P.prototype={constructor:P,_enterable:!0,update:function(){var T=this._container,L=T.currentStyle||document.defaultView.getComputedStyle(T),F=T.style;F.position!=="absolute"&&L.position!=="absolute"&&(F.position="relative")},show:function(T){clearTimeout(this._hideTimeout);var L=this.el,F=this._styleCoord;L.style.cssText=Q+D(T)+";left:"+F[0]+"px;top:"+F[1]+"px;"+(T.get("extraCssText")||""),L.style.display=L.innerHTML?"block":"none",L.style.pointerEvents=this._enterable?"auto":"none",this._show=!0},setContent:function(T){this.el.innerHTML=T??""},setEnterable:function(T){this._enterable=T},getSize:function(){var T=this.el;return[T.clientWidth,T.clientHeight]},moveTo:function(T,L){var F=this._styleCoord;S(F,this._zr,this._appendToBody,T,L);var U=this.el.style;U.left=F[0]+"px",U.top=F[1]+"px"},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(T){this._show&&!(this._inContent&&this._enterable)&&(T?(this._hideDelay=T,this._show=!1,this._hideTimeout=setTimeout(f.bind(this.hide,this),T)):this.hide())},isShow:function(){return this._show},dispose:function(){this.el.parentNode.removeChild(this.el)},getOuterSize:function(){var T=this.el.clientWidth,L=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var F=document.defaultView.getComputedStyle(this.el);F&&(T+=parseInt(F.borderLeftWidth,10)+parseInt(F.borderRightWidth,10),L+=parseInt(F.borderTopWidth,10)+parseInt(F.borderBottomWidth,10))}return{width:T,height:L}}};var R=P;A.exports=R}),gct=Et((o,A)=>{var f=mi(),m=qF();function C(I){this._zr=I.getZr(),this._show=!1,this._hideTimeout}C.prototype={constructor:C,_enterable:!0,update:function(){},show:function(I){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.attr("show",!0),this._show=!0},setContent:function(I,x,y){this.el&&this._zr.remove(this.el);for(var v={},w=I,Q="{marker",M="|}",B=w.indexOf(Q);B>=0;){var D=w.indexOf(M),S=w.substr(B+Q.length,D-B-Q.length);S.indexOf("sub")>-1?v["marker"+S]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:x[S],textOffset:[3,0]}:v["marker"+S]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:x[S]},w=w.substr(D+1),B=w.indexOf("{marker")}this.el=new m({style:{rich:v,text:I,textLineHeight:20,textBackgroundColor:y.get("backgroundColor"),textBorderRadius:y.get("borderRadius"),textFill:y.get("textStyle.color"),textPadding:y.get("padding")},z:y.get("z")}),this._zr.add(this.el);var P=this;this.el.on("mouseover",function(){P._enterable&&(clearTimeout(P._hideTimeout),P._show=!0),P._inContent=!0}),this.el.on("mouseout",function(){P._enterable&&P._show&&P.hideLater(P._hideDelay),P._inContent=!1})},setEnterable:function(I){this._enterable=I},getSize:function(){var I=this.el.getBoundingRect();return[I.width,I.height]},moveTo:function(I,x){this.el&&this.el.attr("position",[I,x])},hide:function(){this.el&&this.el.hide(),this._show=!1},hideLater:function(I){this._show&&!(this._inContent&&this._enterable)&&(I?(this._hideDelay=I,this._show=!1,this._hideTimeout=setTimeout(f.bind(this.hide,this),I)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){var I=this.getSize();return{width:I[0],height:I[1]}}};var E=C;A.exports=E}),fct=Et((o,A)=>{var f=xn(),m=mi(),C=mg(),E=dct(),I=gct(),x=sc(),y=ja(),v=po(),w=J5e(),Q=Wu(),M=Cg(),B=K5e(),D=hB(),S=bZ(),P=pl(),R=P.getTooltipRenderMode,T=m.bind,L=m.each,F=y.parsePercent,U=new v.Rect({shape:{x:-1,y:-1,width:2,height:2}}),N=f.extendComponentView({type:"tooltip",init:function(ie,z){if(!C.node){var oe=ie.getComponent("tooltip"),le=oe.get("renderMode");this._renderMode=R(le);var Ae;this._renderMode==="html"?(Ae=new E(z.getDom(),z,{appendToBody:oe.get("appendToBody",!0)}),this._newLine="
"):(Ae=new I(z),this._newLine=` `),this._tooltipContent=Ae}},render:function(ie,z,oe){if(!C.node){this.group.removeAll(),this._tooltipModel=ie,this._ecModel=z,this._api=oe,this._lastDataByCoordSys=null,this._alwaysShowContent=ie.get("alwaysShowContent");var le=this._tooltipContent;le.update(),le.setEnterable(ie.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var ie=this._tooltipModel,z=ie.get("triggerOn");B.register("itemTooltip",this._api,T(function(oe,le,Ae){z!=="none"&&(z.indexOf(oe)>=0?this._tryShow(le,Ae):oe==="leave"&&this._hide(Ae))},this))},_keepShow:function(){var ie=this._tooltipModel,z=this._ecModel,oe=this._api;if(this._lastX!=null&&this._lastY!=null&&ie.get("triggerOn")!=="none"){var le=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!oe.isDisposed()&&le.manuallyShowTip(ie,z,oe,{x:le._lastX,y:le._lastY})})}},manuallyShowTip:function(ie,z,oe,le){if(!(le.from===this.uid||C.node)){var Ae=J(le,oe);this._ticket="";var he=le.dataByCoordSys;if(le.tooltip&&le.x!=null&&le.y!=null){var ge=U;ge.position=[le.x,le.y],ge.update(),ge.tooltip=le.tooltip,this._tryShow({offsetX:le.x,offsetY:le.y,target:ge},Ae)}else if(he)this._tryShow({offsetX:le.x,offsetY:le.y,position:le.position,dataByCoordSys:le.dataByCoordSys,tooltipOption:le.tooltipOption},Ae);else if(le.seriesIndex!=null){if(this._manuallyAxisShowTip(ie,z,oe,le))return;var de=w(le,z),fe=de.point[0],G=de.point[1];fe!=null&&G!=null&&this._tryShow({offsetX:fe,offsetY:G,position:le.position,target:de.el},Ae)}else le.x!=null&&le.y!=null&&(oe.dispatchAction({type:"updateAxisPointer",x:le.x,y:le.y}),this._tryShow({offsetX:le.x,offsetY:le.y,position:le.position,target:oe.getZr().findHover(le.x,le.y).target},Ae))}},manuallyHideTip:function(ie,z,oe,le){var Ae=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&Ae.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,le.from!==this.uid&&this._hide(J(le,oe))},_manuallyAxisShowTip:function(ie,z,oe,le){var Ae=le.seriesIndex,he=le.dataIndex,ge=z.getComponent("axisPointer").coordSysAxesInfo;if(!(Ae==null||he==null||ge==null)){var de=z.getSeriesByIndex(Ae);if(de){var fe=de.getData(),ie=H([fe.getItemModel(he),de,(de.coordinateSystem||{}).model,ie]);if(ie.get("trigger")==="axis")return oe.dispatchAction({type:"updateAxisPointer",seriesIndex:Ae,dataIndex:he,position:le.position}),!0}}},_tryShow:function(ie,z){var oe=ie.target,le=this._tooltipModel;if(le){this._lastX=ie.offsetX,this._lastY=ie.offsetY;var Ae=ie.dataByCoordSys;Ae&&Ae.length?this._showAxisTooltip(Ae,ie):oe&&oe.dataIndex!=null?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(ie,oe,z)):oe&&oe.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(ie,oe,z)):(this._lastDataByCoordSys=null,this._hide(z))}},_showOrMove:function(ie,z){var oe=ie.get("showDelay");z=m.bind(z,this),clearTimeout(this._showTimout),oe>0?this._showTimout=setTimeout(z,oe):z()},_showAxisTooltip:function(ie,z){var oe=this._ecModel,le=this._tooltipModel,Ae=[z.offsetX,z.offsetY],he=[],ge=[],de=H([z.tooltipOption,le]),fe=this._renderMode,G=this._newLine,Y={};L(ie,function(O){L(O.dataByAxis,function(re){var se=oe.getComponent(re.axisDim+"Axis",re.axisIndex),ce=re.value,me=[];if(!(!se||ce==null)){var Ce=S.getValueLabel(ce,se.axis,oe,re.seriesDataIndices,re.valueLabelOpt);m.each(re.seriesDataIndices,function(Be){var Me=oe.getSeriesByIndex(Be.seriesIndex),He=Be.dataIndexInside,ke=Me&&Me.getDataParams(He);if(ke.axisDim=re.axisDim,ke.axisIndex=re.axisIndex,ke.axisType=re.axisType,ke.axisId=re.axisId,ke.axisValue=D.getAxisRawValue(se.axis,ce),ke.axisValueLabel=Ce,ke){ge.push(ke);var Ne=Me.formatTooltip(He,!0,null,fe),Pe;if(m.isObject(Ne)){Pe=Ne.html;var we=Ne.markers;m.merge(Y,we)}else Pe=Ne;me.push(Pe)}});var ye=Ce;fe!=="html"?he.push(me.join(G)):he.push((ye?x.encodeHTML(ye)+G:"")+me.join(G))}})},this),he.reverse(),he=he.join(this._newLine+this._newLine);var W=z.position;this._showOrMove(de,function(){this._updateContentNotChangedOnAxis(ie)?this._updatePosition(de,W,Ae[0],Ae[1],this._tooltipContent,ge):this._showTooltipContent(de,he,ge,Math.random(),Ae[0],Ae[1],W,void 0,Y)})},_showSeriesItemTooltip:function(ie,z,oe){var le=this._ecModel,Ae=z.seriesIndex,he=le.getSeriesByIndex(Ae),ge=z.dataModel||he,de=z.dataIndex,fe=z.dataType,G=ge.getData(fe),Y=H([G.getItemModel(de),ge,he&&(he.coordinateSystem||{}).model,this._tooltipModel]),W=Y.get("trigger");if(!(W!=null&&W!=="item")){var O=ge.getDataParams(de,fe),re=ge.formatTooltip(de,!1,fe,this._renderMode),se,ce;m.isObject(re)?(se=re.html,ce=re.markers):(se=re,ce=null);var me="item_"+ge.name+"_"+de;this._showOrMove(Y,function(){this._showTooltipContent(Y,se,O,me,ie.offsetX,ie.offsetY,ie.position,ie.target,ce)}),oe({type:"showTip",dataIndexInside:de,dataIndex:G.getRawIndex(de),seriesIndex:Ae,from:this.uid})}},_showComponentItemTooltip:function(ie,z,oe){var le=z.tooltip;if(typeof le=="string"){var Ae=le;le={content:Ae,formatter:Ae}}var he=new M(le,this._tooltipModel,this._ecModel),ge=he.get("content"),de=Math.random();this._showOrMove(he,function(){this._showTooltipContent(he,ge,he.get("formatterParams")||{},de,ie.offsetX,ie.offsetY,ie.position,z)}),oe({type:"showTip",from:this.uid})},_showTooltipContent:function(ie,z,oe,le,Ae,he,ge,de,fe){if(this._ticket="",!(!ie.get("showContent")||!ie.get("show"))){var G=this._tooltipContent,Y=ie.get("formatter");ge=ge||ie.get("position");var W=z;if(Y&&typeof Y=="string")W=x.formatTpl(Y,oe,!0);else if(typeof Y=="function"){var O=T(function(re,se){re===this._ticket&&(G.setContent(se,fe,ie),this._updatePosition(ie,ge,Ae,he,G,oe,de))},this);this._ticket=le,W=Y(oe,le,O)}G.setContent(W,fe,ie),G.show(ie),this._updatePosition(ie,ge,Ae,he,G,oe,de)}},_updatePosition:function(ie,z,oe,le,Ae,he,ge){var de=this._api.getWidth(),fe=this._api.getHeight();z=z||ie.get("position");var G=Ae.getSize(),Y=ie.get("align"),W=ie.get("verticalAlign"),O=ge&&ge.getBoundingRect().clone();if(ge&&O.applyTransform(ge.transform),typeof z=="function"&&(z=z([oe,le],he,Ae.el,O,{viewSize:[de,fe],contentSize:G.slice()})),m.isArray(z))oe=F(z[0],de),le=F(z[1],fe);else if(m.isObject(z)){z.width=G[0],z.height=G[1];var re=Q.getLayoutRect(z,{width:de,height:fe});oe=re.x,le=re.y,Y=null,W=null}else if(typeof z=="string"&&ge){var se=j(z,O,G);oe=se[0],le=se[1]}else{var se=K(oe,le,Ae,de,fe,Y?null:20,W?null:20);oe=se[0],le=se[1]}if(Y&&(oe-=ee(Y)?G[0]/2:Y==="right"?G[0]:0),W&&(le-=ee(W)?G[1]/2:W==="bottom"?G[1]:0),ie.get("confine")){var se=X(oe,le,Ae,de,fe);oe=se[0],le=se[1]}Ae.moveTo(oe,le)},_updateContentNotChangedOnAxis:function(ie){var z=this._lastDataByCoordSys,oe=!!z&&z.length===ie.length;return oe&&L(z,function(le,Ae){var he=le.dataByAxis||{},ge=ie[Ae]||{},de=ge.dataByAxis||[];oe&=he.length===de.length,oe&&L(he,function(fe,G){var Y=de[G]||{},W=fe.seriesDataIndices||[],O=Y.seriesDataIndices||[];oe&=fe.value===Y.value&&fe.axisType===Y.axisType&&fe.axisId===Y.axisId&&W.length===O.length,oe&&L(W,function(re,se){var ce=O[se];oe&=re.seriesIndex===ce.seriesIndex&&re.dataIndex===ce.dataIndex})})}),this._lastDataByCoordSys=ie,!!oe},_hide:function(ie){this._lastDataByCoordSys=null,ie({type:"hideTip",from:this.uid})},dispose:function(ie,z){C.node||(this._tooltipContent.dispose(),B.unregister("itemTooltip",z))}});function H(ie){for(var z=ie.pop();ie.length;){var oe=ie.pop();oe&&(M.isInstance(oe)&&(oe=oe.get("tooltip",!0)),typeof oe=="string"&&(oe={formatter:oe}),z=new M(oe,z,z.ecModel))}return z}function J(ie,z){return ie.dispatchAction||m.bind(z.dispatchAction,z)}function K(ie,z,oe,le,Ae,he,ge){var de=oe.getOuterSize(),fe=de.width,G=de.height;return he!=null&&(ie+fe+he>le?ie-=fe+he:ie+=he),ge!=null&&(z+G+ge>Ae?z-=G+ge:z+=ge),[ie,z]}function X(ie,z,oe,le,Ae){var he=oe.getOuterSize(),ge=he.width,de=he.height;return ie=Math.min(ie+ge,le)-ge,z=Math.min(z+de,Ae)-de,ie=Math.max(ie,0),z=Math.max(z,0),[ie,z]}function j(ie,z,oe){var le=oe[0],Ae=oe[1],he=5,ge=0,de=0,fe=z.width,G=z.height;switch(ie){case"inside":ge=z.x+fe/2-le/2,de=z.y+G/2-Ae/2;break;case"top":ge=z.x+fe/2-le/2,de=z.y-Ae-he;break;case"bottom":ge=z.x+fe/2-le/2,de=z.y+G+he;break;case"left":ge=z.x-le-he,de=z.y+G/2-Ae/2;break;case"right":ge=z.x+fe+he,de=z.y+G/2-Ae/2}return[ge,de]}function ee(ie){return ie==="center"||ie==="middle"}A.exports=N}),pct=Et(()=>{var o=xn();L9(),hct(),fct(),o.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),o.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){})}),mct=Et((o,A)=>{var f=mi(),m=["rect","polygon","keep","clear"];function C(I,x){var y=I&&I.brush;if(f.isArray(y)||(y=y?[y]:[]),!!y.length){var v=[];f.each(y,function(D){var S=D.hasOwnProperty("toolbox")?D.toolbox:[];S instanceof Array&&(v=v.concat(S))});var w=I&&I.toolbox;f.isArray(w)&&(w=w[0]),w||(w={feature:{}},I.toolbox=[w]);var Q=w.feature||(w.feature={}),M=Q.brush||(Q.brush={}),B=M.type||(M.type=[]);B.push.apply(B,v),E(B),x&&!B.length&&B.push.apply(B,m)}}function E(I){var x={};f.each(I,function(y){x[y]=1}),I.length=0,f.each(x,function(y,v){I.push(v)})}A.exports=C}),QZ=Et(o=>{var A=mi(),f=tN(),m=A.each;function C(v){if(v){for(var w in v)if(v.hasOwnProperty(w))return!0}}function E(v,w,Q){var M={};return m(w,function(D){var S=M[D]=B();m(v[D],function(P,R){if(f.isValidType(R)){var T={type:R,visual:P};Q&&Q(T,D),S[R]=new f(T),R==="opacity"&&(T=A.clone(T),T.type="colorAlpha",S.__hidden.__alphaForOpacity=new f(T))}})}),M;function B(){var D=function(){};D.prototype.__hidden=D.prototype;var S=new D;return S}}function I(v,w,Q){var M;A.each(Q,function(B){w.hasOwnProperty(B)&&C(w[B])&&(M=!0)}),M&&A.each(Q,function(B){w.hasOwnProperty(B)&&C(w[B])?v[B]=A.clone(w[B]):delete v[B]})}function x(v,w,Q,M,B,D){var S={};A.each(v,function(F){var U=f.prepareVisualTypes(w[F]);S[F]=U});var P;function R(F){return Q.getItemVisual(P,F)}function T(F,U){Q.setItemVisual(P,F,U)}D==null?Q.each(L):Q.each([D],L);function L(F,U){P=D==null?F:U;var N=Q.getRawDataItem(P);if(!(N&&N.visualMap===!1))for(var H=M.call(B,F),J=w[H],K=S[H],X=0,j=K.length;X{var f=p5e(),m=Eh(),C=po(),E=C.linePolygonIntersect,I={lineX:x(0),lineY:x(1),rect:{point:function(w,Q,M){return w&&M.boundingRect.contain(w[0],w[1])},rect:function(w,Q,M){return w&&M.boundingRect.intersect(w)}},polygon:{point:function(w,Q,M){return w&&M.boundingRect.contain(w[0],w[1])&&f.contain(M.range,w[0],w[1])},rect:function(w,Q,M){var B=M.range;if(!w||B.length<=1)return!1;var D=w.x,S=w.y,P=w.width,R=w.height,T=B[0];if(f.contain(B,D,S)||f.contain(B,D+P,S)||f.contain(B,D,S+R)||f.contain(B,D+P,S+R)||m.create(w).contain(T[0],T[1])||E(D,S,D+P,S,B)||E(D,S,D,S+R,B)||E(D+P,S,D+P,S+R,B)||E(D,S+R,D+P,S+R,B))return!0}}};function x(w){var Q=["x","y"],M=["width","height"];return{point:function(B,D,S){if(B){var P=S.range,R=B[w];return y(R,P)}},rect:function(B,D,S){if(B){var P=S.range,R=[B[Q[w]],B[Q[w]]+B[M[w]]];return R[1]{var A=xn(),f=mi(),m=Eh(),C=QZ(),E=Cct(),I=W2(),x=X5e(),y=["inBrush","outOfBrush"],v="__ecBrushSelect",w="__ecInBrushSelectEvent",Q=A.PRIORITY.VISUAL.BRUSH;A.registerLayout(Q,function(U,N,H){U.eachComponent({mainType:"brush"},function(J){H&&H.type==="takeGlobalCursor"&&J.setBrushOption(H.key==="brush"?H.brushOption:{brushType:!1})}),M(U)});function M(U){U.eachComponent({mainType:"brush"},function(N){var H=N.brushTargetManager=new x(N.option,U);H.setInputRanges(N.areas,U)})}A.registerVisual(Q,function(U,N,H){var J=[],K,X;U.eachComponent({mainType:"brush"},function(j,ee){var ie={brushId:j.id,brushIndex:ee,brushName:j.name,areas:f.clone(j.areas),selected:[]};J.push(ie);var z=j.option,oe=z.brushLink,le=[],Ae=[],he=[],ge=0;ee||(K=z.throttleType,X=z.throttleDelay);var de=f.map(j.areas,function(re){return T(f.defaults({boundingRect:L[re.brushType](re)},re))}),fe=C.createVisualMappings(j.option,y,function(re){re.mappingMethod="fixed"});f.isArray(oe)&&f.each(oe,function(re){le[re]=1});function G(re){return oe==="all"||le[re]}function Y(re){return!!re.length}U.eachSeries(function(re,se){var ce=he[se]=[];re.subType==="parallel"?W(re,se,ce):O(re,se,ce)});function W(re,se){var ce=re.coordinateSystem;ge|=ce.hasAxisBrushed(),G(se)&&ce.eachActiveState(re.getData(),function(me,Ce){me==="active"&&(Ae[Ce]=1)})}function O(re,se,ce){var me=P(re);if(!(!me||R(j,se))&&(f.each(de,function(ye){me[ye.brushType]&&j.brushTargetManager.controlSeries(ye,re,U)&&ce.push(ye),ge|=Y(ce)}),G(se)&&Y(ce))){var Ce=re.getData();Ce.each(function(ye){S(me,ce,Ce,ye)&&(Ae[ye]=1)})}}U.eachSeries(function(re,se){var ce={seriesId:re.id,seriesIndex:se,seriesName:re.name,dataIndex:[]};ie.selected.push(ce);var me=P(re),Ce=he[se],ye=re.getData(),Be=G(se)?function(Me){return Ae[Me]?(ce.dataIndex.push(ye.getRawIndex(Me)),"inBrush"):"outOfBrush"}:function(Me){return S(me,Ce,ye,Me)?(ce.dataIndex.push(ye.getRawIndex(Me)),"inBrush"):"outOfBrush"};(G(se)?ge:Y(Ce))&&C.applyVisual(y,fe,ye,Be)})}),B(N,K,X,J,H)});function B(U,N,H,J,K){if(K){var X=U.getZr();if(!X[w]){X[v]||(X[v]=D);var j=I.createOrUpdate(X,v,H,N);j(U,J)}}}function D(U,N){if(!U.isDisposed()){var H=U.getZr();H[w]=!0,U.dispatchAction({type:"brushSelect",batch:N}),H[w]=!1}}function S(U,N,H,J){for(var K=0,X=N.length;KN[0][1]&&(N[0][1]=X[0]),X[1]N[1][1]&&(N[1][1]=X[1])}return N&&F(N)}};function F(U){return new m(U[0][0],U[1][0],U[0][1]-U[0][0],U[1][1]-U[1][0])}o.layoutCovers=M}),Ect=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=xn(),E=mi(),I=QZ(),x=Cg(),y=["#ddd"],v=C.extendComponentModel({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(M,B){var D=this.option;!B&&I.replaceVisualOption(D,M,["inBrush","outOfBrush"]);var S=D.inBrush=D.inBrush||{};D.outOfBrush=D.outOfBrush||{color:y},S.hasOwnProperty("liftZ")||(S.liftZ=5)},setAreas:function(M){M&&(this.areas=E.map(M,function(B){return w(this.option,B)},this))},setBrushOption:function(M){this.brushOption=w(this.option,M),this.brushType=this.brushOption.brushType}});function w(M,B){return E.merge({brushType:M.brushType,brushMode:M.brushMode,transformable:M.transformable,brushStyle:new x(M.brushStyle).getItemStyle(),removeOnClick:M.removeOnClick,z:M.z},B,!0)}var Q=v;A.exports=Q}),Ict=Et((o,A)=>{var f=xn(),m=mi(),C=rhe(),E=$5e(),I=E.layoutCovers,x=f.extendComponentView({type:"brush",init:function(v,w){this.ecModel=v,this.api=w,this.model,(this._brushController=new C(w.getZr())).on("brush",m.bind(this._onBrush,this)).mount()},render:function(v){return this.model=v,y.apply(this,arguments)},updateTransform:function(v,w){return I(w),y.apply(this,arguments)},updateView:y,dispose:function(){this._brushController.dispose()},_onBrush:function(v,w){var Q=this.model.id;this.model.brushTargetManager.setOutputRanges(v,this.ecModel),(!w.isEnd||w.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:Q,areas:m.clone(v),$from:Q}),w.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:Q,areas:m.clone(v),$from:Q})}});function y(v,w,Q,M){(!M||M.$from!==v.id)&&this._brushController.setPanels(v.brushTargetManager.makePanelOpts(Q)).enableBrush(v.brushOption).updateCovers(v.areas.slice())}A.exports=x}),xct=Et(()=>{var o=xn();o.registerAction({type:"brush",event:"brush"},function(A,f){f.eachComponent({mainType:"brush",query:A},function(m){m.setAreas(A.areas)})}),o.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},function(){}),o.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},function(){})}),yct=Et((o,A)=>{var f=mi(),m=Z2(),C=q2(),E=C.toolbox.brush;function I(v,w,Q){this.model=v,this.ecModel=w,this.api=Q,this._brushType,this._brushMode}I.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:f.clone(E.title)};var x=I.prototype;x.render=x.updateView=function(v,w,Q){var M,B,D;w.eachComponent({mainType:"brush"},function(S){M=S.brushType,B=S.brushOption.brushMode||"single",D|=S.areas.length}),this._brushType=M,this._brushMode=B,f.each(v.get("type",!0),function(S){v.setIconStatus(S,(S==="keep"?B==="multiple":S==="clear"?D:S===M)?"emphasis":"normal")})},x.getIcons=function(){var v=this.model,w=v.get("icon",!0),Q={};return f.each(v.get("type",!0),function(M){w[M]&&(Q[M]=w[M])}),Q},x.onclick=function(v,w,Q){var M=this._brushType,B=this._brushMode;Q==="clear"?(w.dispatchAction({type:"axisAreaSelect",intervals:[]}),w.dispatchAction({type:"brush",command:"clear",areas:[]})):w.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:Q==="keep"?M:M===Q?!1:Q,brushMode:Q==="keep"?B==="multiple"?"single":"multiple":B}})},m.register("brush",I);var y=I;A.exports=y}),vct=Et(()=>{var o=xn(),A=mct();$5e(),Ect(),Ict(),xct(),yct(),o.registerPreprocessor(A)}),_ct=Et(()=>{var o=mi(),A=xn(),f=po(),m=Wu(),C=m.getLayoutRect,E=sc(),I=E.windowOpen;A.extendComponentModel({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),A.extendComponentView({type:"title",render:function(x,y,v){if(this.group.removeAll(),!!x.get("show")){var w=this.group,Q=x.getModel("textStyle"),M=x.getModel("subtextStyle"),B=x.get("textAlign"),D=o.retrieve2(x.get("textBaseline"),x.get("textVerticalAlign")),S=new f.Text({style:f.setTextStyle({},Q,{text:x.get("text"),textFill:Q.getTextColor()},{disableBox:!0}),z2:10}),P=S.getBoundingRect(),R=x.get("subtext"),T=new f.Text({style:f.setTextStyle({},M,{text:R,textFill:M.getTextColor(),y:P.height+x.get("itemGap"),textVerticalAlign:"top"},{disableBox:!0}),z2:10}),L=x.get("link"),F=x.get("sublink"),U=x.get("triggerEvent",!0);S.silent=!L&&!U,T.silent=!F&&!U,L&&S.on("click",function(){I(L,"_"+x.get("target"))}),F&&T.on("click",function(){I(L,"_"+x.get("subtarget"))}),S.eventData=T.eventData=U?{componentType:"title",componentIndex:x.componentIndex}:null,w.add(S),R&&w.add(T);var N=w.getBoundingRect(),H=x.getBoxLayoutParams();H.width=N.width,H.height=N.height;var J=C(H,{width:v.getWidth(),height:v.getHeight()},x.get("padding"));B||(B=x.get("left")||x.get("right"),B==="middle"&&(B="center"),B==="right"?J.x+=J.width:B==="center"&&(J.x+=J.width/2)),D||(D=x.get("top")||x.get("bottom"),D==="center"&&(D="middle"),D==="bottom"?J.y+=J.height:D==="middle"&&(J.y+=J.height/2),D=D||"top"),w.attr("position",[J.x,J.y]);var K={textAlign:B,textVerticalAlign:D};S.setStyle(K),T.setStyle(K),N=w.getBoundingRect();var X=J.margin,j=x.getItemStyle(["color","opacity"]);j.fill=x.get("backgroundColor");var ee=new f.Rect({shape:{x:N.x-X[3],y:N.y-X[0],width:N.width+X[1]+X[3],height:N.height+X[0]+X[2],r:x.get("borderRadius")},style:j,subPixelOptimize:!0,silent:!0});w.add(ee)}}})}),Bct=Et((o,A)=>{var f=mi();function m(x){var y=x&&x.timeline;f.isArray(y)||(y=y?[y]:[]),f.each(y,function(v){v&&C(v)})}function C(x){var y=x.type,v={number:"value",time:"time"};if(v[y]&&(x.axisType=v[y],delete x.type),E(x),I(x,"controlPosition")){var w=x.controlStyle||(x.controlStyle={});I(w,"position")||(w.position=x.controlPosition),w.position==="none"&&!I(w,"show")&&(w.show=!1,delete w.position),delete x.controlPosition}f.each(x.data||[],function(Q){f.isObject(Q)&&!f.isArray(Q)&&(!I(Q,"value")&&I(Q,"name")&&(Q.value=Q.name),E(Q))})}function E(x){var y=x.itemStyle||(x.itemStyle={}),v=y.emphasis||(y.emphasis={}),w=x.label||x.label||{},Q=w.normal||(w.normal={}),M={normal:1,emphasis:1};f.each(w,function(B,D){!M[D]&&!I(Q,D)&&(Q[D]=B)}),v.label&&!I(w,"emphasis")&&(w.emphasis=v.label,delete v.label)}function I(x,y){return x.hasOwnProperty(y)}A.exports=m}),wct=Et(()=>{var o=wf();o.registerSubTypeDefaulter("timeline",function(){return"slider"})}),bct=Et(()=>{var o=xn(),A=mi();o.registerAction({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(f,m){var C=m.getComponent("timeline");return C&&f.currentIndex!=null&&(C.setCurrentIndex(f.currentIndex),!C.get("loop",!0)&&C.isIndexMax()&&C.setPlayState(!1)),m.resetOption("timeline"),A.defaults({currentIndex:C.option.currentIndex},f)}),o.registerAction({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(f,m){var C=m.getComponent("timeline");C&&f.playState!=null&&C.setPlayState(f.playState)})}),Qct=Et((o,A)=>{var f=mi(),m=wf(),C=gv(),E=pl(),I=m.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},init:function(y,v,w){this._data,this._names,this.mergeDefaultAndTheme(y,w),this._initData()},mergeOption:function(y){I.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(y){y==null&&(y=this.option.currentIndex);var v=this._data.count();this.option.loop?y=(y%v+v)%v:(y>=v&&(y=v-1),y<0&&(y=0)),this.option.currentIndex=y},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(y){this.option.autoPlay=!!y},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var y=this.option,v=y.data||[],w=y.axisType,Q=this._names=[];if(w==="category"){var M=[];f.each(v,function(S,P){var R=E.getDataItemValue(S),T;f.isObject(S)?(T=f.clone(S),T.value=P):T=P,M.push(T),!f.isString(R)&&(R==null||isNaN(R))&&(R=""),Q.push(R+"")}),v=M}var B={category:"ordinal",time:"time"}[w]||"number",D=this._data=new C([{name:"value",type:B}],this);D.initData(v,Q)},getData:function(){return this._data},getCategories:function(){if(this.get("axisType")==="category")return this._names.slice()}}),x=I;A.exports=x}),Sct=Et((o,A)=>{var f=mi(),m=Qct(),C=Vce(),E=m.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}});f.mixin(E,C);var I=E;A.exports=I}),Dct=Et((o,A)=>{var f=mZ(),m=f.extend({type:"timeline"});A.exports=m}),Mct=Et((o,A)=>{var f=mi(),m=j2(),C=function(I,x,y,v){m.call(this,I,x,y),this.type=v||"value",this.model=null};C.prototype={constructor:C,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return this.model.get("orient")==="horizontal"}},f.inherits(C,m);var E=C;A.exports=E}),Tct=Et((o,A)=>{var f=mi(),m=Eh(),C=UC(),E=po(),I=Wu(),x=Dct(),y=Mct(),v=fv(),w=v.createSymbol,Q=hB(),M=ja(),B=sc(),D=B.encodeHTML,S=f.bind,P=f.each,R=Math.PI,T=x.extend({type:"timeline.slider",init:function(H,J){this.api=J,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(H,J,K,X){if(this.model=H,this.api=K,this.ecModel=J,this.group.removeAll(),H.get("show",!0)){var j=this._layout(H,K),ee=this._createGroup("mainGroup"),ie=this._createGroup("labelGroup"),z=this._axis=this._createAxis(j,H);H.formatTooltip=function(oe){return D(z.scale.getLabel(oe))},P(["AxisLine","AxisTick","Control","CurrentPointer"],function(oe){this["_render"+oe](j,ee,z,H)},this),this._renderAxisLabel(j,ie,z,H),this._position(j,H)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(H,J){var K=H.get("label.position"),X=H.get("orient"),j=L(H,J);K==null||K==="auto"?K=X==="horizontal"?j.y+j.height/2=0||K==="+"?"left":"right"},ie={horizontal:K>=0||K==="+"?"top":"bottom",vertical:"middle"},z={horizontal:0,vertical:R/2},oe=X==="vertical"?j.height:j.width,le=H.getModel("controlStyle"),Ae=le.get("show",!0),he=Ae?le.get("itemSize"):0,ge=Ae?le.get("itemGap"):0,de=he+ge,fe=H.get("label.rotate")||0;fe=fe*R/180;var G,Y,W,O,re=le.get("position",!0),se=Ae&&le.get("showPlayBtn",!0),ce=Ae&&le.get("showPrevBtn",!0),me=Ae&&le.get("showNextBtn",!0),Ce=0,ye=oe;return re==="left"||re==="bottom"?(se&&(G=[0,0],Ce+=de),ce&&(Y=[Ce,0],Ce+=de),me&&(W=[ye-he,0],ye-=de)):(se&&(G=[ye-he,0],ye-=de),ce&&(Y=[0,0],Ce+=de),me&&(W=[ye-he,0],ye-=de)),O=[Ce,ye],H.get("inverse")&&O.reverse(),{viewRect:j,mainLength:oe,orient:X,rotation:z[X],labelRotation:fe,labelPosOpt:K,labelAlign:H.get("label.align")||ee[X],labelBaseline:H.get("label.verticalAlign")||H.get("label.baseline")||ie[X],playPosition:G,prevBtnPosition:Y,nextBtnPosition:W,axisExtent:O,controlSize:he,controlGap:ge}},_position:function(H,J){var K=this._mainGroup,X=this._labelGroup,j=H.viewRect;if(H.orient==="vertical"){var ee=C.create(),ie=j.x,z=j.y+j.height;C.translate(ee,ee,[-ie,-z]),C.rotate(ee,ee,-R/2),C.translate(ee,ee,[ie,z]),j=j.clone(),j.applyTransform(ee)}var oe=Y(j),le=Y(K.getBoundingRect()),Ae=Y(X.getBoundingRect()),he=K.position,ge=X.position;ge[0]=he[0]=oe[0][0];var de=H.labelPosOpt;if(isNaN(de)){var fe=de==="+"?0:1;W(he,le,oe,1,fe),W(ge,Ae,oe,1,1-fe)}else{var fe=de>=0?0:1;W(he,le,oe,1,fe),ge[1]=he[1]+de}K.attr("position",he),X.attr("position",ge),K.rotation=X.rotation=H.rotation,G(K),G(X);function G(O){var re=O.position;O.origin=[oe[0][0]-re[0],oe[1][0]-re[1]]}function Y(O){return[[O.x,O.x+O.width],[O.y,O.y+O.height]]}function W(O,re,se,ce,me){O[ce]+=se[ce][me]-re[ce][me]}},_createAxis:function(H,J){var K=J.getData(),X=J.get("axisType"),j=Q.createScaleByModel(J,X);j.getTicks=function(){return K.mapArray(["value"],function(z){return z})};var ee=K.getDataExtent("value");j.setExtent(ee[0],ee[1]),j.niceTicks();var ie=new y("value",j,H.axisExtent,X);return ie.model=J,ie},_createGroup:function(H){var J=this["_"+H]=new E.Group;return this.group.add(J),J},_renderAxisLine:function(H,J,K,X){var j=K.getExtent();X.get("lineStyle.show")&&J.add(new E.Line({shape:{x1:j[0],y1:0,x2:j[1],y2:0},style:f.extend({lineCap:"round"},X.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function(H,J,K,X){var j=X.getData(),ee=K.scale.getTicks();P(ee,function(ie){var z=K.dataToCoord(ie),oe=j.getItemModel(ie),le=oe.getModel("itemStyle"),Ae=oe.getModel("emphasis.itemStyle"),he={position:[z,0],onclick:S(this._changeTimeline,this,ie)},ge=U(oe,le,J,he);E.setHoverStyle(ge,Ae.getItemStyle()),oe.get("tooltip")?(ge.dataIndex=ie,ge.dataModel=X):ge.dataIndex=ge.dataModel=null},this)},_renderAxisLabel:function(H,J,K,X){var j=K.getLabelModel();if(j.get("show")){var ee=X.getData(),ie=K.getViewLabels();P(ie,function(z){var oe=z.tickValue,le=ee.getItemModel(oe),Ae=le.getModel("label"),he=le.getModel("emphasis.label"),ge=K.dataToCoord(z.tickValue),de=new E.Text({position:[ge,0],rotation:H.labelRotation-H.rotation,onclick:S(this._changeTimeline,this,oe),silent:!1});E.setTextStyle(de.style,Ae,{text:z.formattedLabel,textAlign:H.labelAlign,textVerticalAlign:H.labelBaseline}),J.add(de),E.setHoverStyle(de,E.setTextStyle({},he))},this)}},_renderControl:function(H,J,K,X){var j=H.controlSize,ee=H.rotation,ie=X.getModel("controlStyle").getItemStyle(),z=X.getModel("emphasis.controlStyle").getItemStyle(),oe=[0,-j/2,j,j],le=X.getPlayState(),Ae=X.get("inverse",!0);he(H.nextBtnPosition,"controlStyle.nextIcon",S(this._changeTimeline,this,Ae?"-":"+")),he(H.prevBtnPosition,"controlStyle.prevIcon",S(this._changeTimeline,this,Ae?"+":"-")),he(H.playPosition,"controlStyle."+(le?"stopIcon":"playIcon"),S(this._handlePlayClick,this,!le),!0);function he(ge,de,fe,G){if(ge){var Y={position:ge,origin:[j/2,0],rotation:G?-ee:0,rectHover:!0,style:ie,onclick:fe},W=F(X,de,oe,Y);J.add(W),E.setHoverStyle(W,z)}}},_renderCurrentPointer:function(H,J,K,X){var j=X.getData(),ee=X.getCurrentIndex(),ie=j.getItemModel(ee).getModel("checkpointStyle"),z=this,oe={onCreate:function(le){le.draggable=!0,le.drift=S(z._handlePointerDrag,z),le.ondragend=S(z._handlePointerDragend,z),N(le,ee,K,X,!0)},onUpdate:function(le){N(le,ee,K,X)}};this._currentPointer=U(ie,ie,this._mainGroup,{},this._currentPointer,oe)},_handlePlayClick:function(H){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:H,from:this.uid})},_handlePointerDrag:function(H,J,K){this._clearTimer(),this._pointerChangeTimeline([K.offsetX,K.offsetY])},_handlePointerDragend:function(H){this._pointerChangeTimeline([H.offsetX,H.offsetY],!0)},_pointerChangeTimeline:function(H,J){var K=this._toAxisCoord(H)[0],X=this._axis,j=M.asc(X.getExtent().slice());K>j[1]&&(K=j[1]),K{var o=xn(),A=Bct();wct(),bct(),Sct(),Tct(),o.registerPreprocessor(A)}),uhe=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=xn(),E=mi(),I=mg(),x=pl(),y=sc(),v=Vce(),w=y.addCommas,Q=y.encodeHTML;function M(S){x.defaultEmphasis(S,"label",["show"])}var B=C.extendComponentModel({type:"marker",dependencies:["series","grid","polar","geo"],init:function(S,P,R){this.mergeDefaultAndTheme(S,R),this._mergeOption(S,R,!1,!0)},isAnimationEnabled:function(){if(I.node)return!1;var S=this.__hostSeries;return this.getShallow("animation")&&S&&S.isAnimationEnabled()},mergeOption:function(S,P){this._mergeOption(S,P,!1,!1)},_mergeOption:function(S,P,R,T){var L=this.constructor,F=this.mainType+"Model";R||P.eachSeries(function(U){var N=U.get(this.mainType,!0),H=U[F];if(!N||!N.data){U[F]=null;return}H?H._mergeOption(N,P,!0):(T&&M(N),E.each(N.data,function(J){J instanceof Array?(M(J[0]),M(J[1])):M(J)}),H=new L(N,this,P),E.extend(H,{mainType:this.mainType,seriesIndex:U.seriesIndex,name:U.name,createdBySelf:!0}),H.__hostSeries=U),U[F]=H},this)},formatTooltip:function(S){var P=this.getData(),R=this.getRawValue(S),T=E.isArray(R)?E.map(R,w).join(", "):w(R),L=P.getName(S),F=Q(this.name);return(R!=null||L)&&(F+="
"),L&&(F+=Q(L),R!=null&&(F+=" : ")),R!=null&&(F+=Q(T)),F},getData:function(){return this._data},setData:function(S){this._data=S}});E.mixin(B,v);var D=B;A.exports=D}),Rct=Et((o,A)=>{var f=uhe(),m=f.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});A.exports=m}),che=Et(o=>{var A=mi(),f=ja(),m=H1(),C=m.isDimensionStacked,E=A.indexOf;function I(R){return!(isNaN(parseFloat(R.x))&&isNaN(parseFloat(R.y)))}function x(R){return!isNaN(parseFloat(R.x))&&!isNaN(parseFloat(R.y))}function y(R,T,L,F,U,N){var H=[],J=C(T,F),K=J?T.getCalculationInfo("stackResultDimension"):F,X=P(T,K,R),j=T.indicesOfNearest(K,X)[0];H[U]=T.get(L,j),H[N]=T.get(K,j);var ee=T.get(F,j),ie=f.getPrecision(T.get(F,j));return ie=Math.min(ie,20),ie>=0&&(H[N]=+H[N].toFixed(ie)),[H,ee]}var v=A.curry,w={min:v(y,"min"),max:v(y,"max"),average:v(y,"average")};function Q(R,T){var L=R.getData(),F=R.coordinateSystem;if(T&&!x(T)&&!A.isArray(T.coord)&&F){var U=F.dimensions,N=M(T,L,F,R);if(T=A.clone(T),T.type&&w[T.type]&&N.baseAxis&&N.valueAxis){var H=E(U,N.baseAxis.dim),J=E(U,N.valueAxis.dim),K=w[T.type](L,N.baseDataDim,N.valueDataDim,H,J);T.coord=K[0],T.value=K[1]}else{for(var X=[T.xAxis!=null?T.xAxis:T.radiusAxis,T.yAxis!=null?T.yAxis:T.angleAxis],j=0;j<2;j++)w[X[j]]&&(X[j]=P(L,L.mapDimension(U[j]),X[j]));T.coord=X}}return T}function M(R,T,L,F){var U={};return R.valueIndex!=null||R.valueDim!=null?(U.valueDataDim=R.valueIndex!=null?T.getDimension(R.valueIndex):R.valueDim,U.valueAxis=L.getAxis(B(F,U.valueDataDim)),U.baseAxis=L.getOtherAxis(U.valueAxis),U.baseDataDim=T.mapDimension(U.baseAxis.dim)):(U.baseAxis=F.getBaseAxis(),U.valueAxis=L.getOtherAxis(U.baseAxis),U.baseDataDim=T.mapDimension(U.baseAxis.dim),U.valueDataDim=T.mapDimension(U.valueAxis.dim)),U}function B(R,T){var L=R.getData(),F=L.dimensions;T=L.getDimension(T);for(var U=0;U{var f=xn(),m=mi(),C=f.extendComponentView({type:"marker",init:function(){this.markerGroupMap=m.createHashMap()},render:function(E,I,x){var y=this.markerGroupMap;y.each(function(w){w.__keep=!1});var v=this.type+"Model";I.eachSeries(function(w){var Q=w[v];Q&&this.renderSeries(w,Q,I,x)},this),y.each(function(w){!w.__keep&&this.group.remove(w.group)},this)},renderSeries:function(){}});A.exports=C}),Lct=Et((o,A)=>{var f=mi(),m=Q9(),C=ja(),E=gv(),I=che(),x=hhe();function y(Q,M,B){var D=M.coordinateSystem;Q.each(function(S){var P=Q.getItemModel(S),R,T=C.parsePercent(P.get("x"),B.getWidth()),L=C.parsePercent(P.get("y"),B.getHeight());if(!isNaN(T)&&!isNaN(L))R=[T,L];else if(M.getMarkerPosition)R=M.getMarkerPosition(Q.getValues(Q.dimensions,S));else if(D){var F=Q.get(D.dimensions[0],S),U=Q.get(D.dimensions[1],S);R=D.dataToPoint([F,U])}isNaN(T)||(R[0]=T),isNaN(L)||(R[1]=L),Q.setItemLayout(S,R)})}var v=x.extend({type:"markPoint",updateTransform:function(Q,M,B){M.eachSeries(function(D){var S=D.markPointModel;S&&(y(S.getData(),D,B),this.markerGroupMap.get(D.id).updateLayout(S))},this)},renderSeries:function(Q,M,B,D){var S=Q.coordinateSystem,P=Q.id,R=Q.getData(),T=this.markerGroupMap,L=T.get(P)||T.set(P,new m),F=w(S,Q,M);M.setData(F),y(M.getData(),Q,D),F.each(function(U){var N=F.getItemModel(U),H=N.getShallow("symbol"),J=N.getShallow("symbolSize"),K=f.isFunction(H),X=f.isFunction(J);if(K||X){var j=M.getRawValue(U),ee=M.getDataParams(U);K&&(H=H(j,ee)),X&&(J=J(j,ee))}F.setItemVisual(U,{symbol:H,symbolSize:J,color:N.get("itemStyle.color")||R.getVisual("color")})}),L.updateData(F),this.group.add(L.group),F.eachItemGraphicEl(function(U){U.traverse(function(N){N.dataModel=M})}),L.__keep=!0,L.group.silent=M.get("silent")||Q.get("silent")}});function w(Q,M,B){var D;Q?D=f.map(Q&&Q.dimensions,function(R){var T=M.getData().getDimensionInfo(M.getData().mapDimension(R))||{};return f.defaults({name:R},T)}):D=[{name:"value",type:"float"}];var S=new E(D,B),P=f.map(B.get("data"),f.curry(I.dataTransform,M));return Q&&(P=f.filter(P,f.curry(I.dataFilter,Q))),S.initData(P,null,Q?I.dimValueGetter:function(R){return R.value}),S}A.exports=v}),Fct=Et(()=>{var o=xn();Rct(),Lct(),o.registerPreprocessor(function(A){A.markPoint=A.markPoint||{}})}),Nct=Et((o,A)=>{var f=uhe(),m=f.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});A.exports=m}),kct=Et((o,A)=>{var f=mi(),m=gv(),C=ja(),E=che(),I=the(),x=hhe(),y=H1(),v=y.getStackedDimension,w=function(R,T,L,F){var U=R.getData(),N=F.type;if(!f.isArray(F)&&(N==="min"||N==="max"||N==="average"||N==="median"||F.xAxis!=null||F.yAxis!=null)){var H,J;if(F.yAxis!=null||F.xAxis!=null)H=T.getAxis(F.yAxis!=null?"y":"x"),J=f.retrieve(F.yAxis,F.xAxis);else{var K=E.getAxisInfo(F,U,T,R);H=K.valueAxis;var X=v(U,K.valueDataDim);J=E.numCalculate(U,X,N)}var j=H.dim==="x"?0:1,ee=1-j,ie=f.clone(F),z={};ie.type=null,ie.coord=[],z.coord=[],ie.coord[ee]=-1/0,z.coord[ee]=1/0;var oe=L.get("precision");oe>=0&&typeof J=="number"&&(J=+J.toFixed(Math.min(oe,20))),ie.coord[j]=z.coord[j]=J,F=[ie,z,{type:N,valueIndex:F.valueIndex,value:J}]}return F=[E.dataTransform(R,F[0]),E.dataTransform(R,F[1]),f.extend({},F[2])],F[2].type=F[2].type||"",f.merge(F[2],F[0]),f.merge(F[2],F[1]),F};function Q(R){return!isNaN(R)&&!isFinite(R)}function M(R,T,L,F){var U=1-R,N=F.dimensions[R];return Q(T[U])&&Q(L[U])&&T[R]===L[R]&&F.getAxis(N).containData(T[R])}function B(R,T){if(R.type==="cartesian2d"){var L=T[0].coord,F=T[1].coord;if(L&&F&&(M(1,L,F,R)||M(0,L,F,R)))return!0}return E.dataFilter(R,T[0])&&E.dataFilter(R,T[1])}function D(R,T,L,F,U){var N=F.coordinateSystem,H=R.getItemModel(T),J,K=C.parsePercent(H.get("x"),U.getWidth()),X=C.parsePercent(H.get("y"),U.getHeight());if(!isNaN(K)&&!isNaN(X))J=[K,X];else{if(F.getMarkerPosition)J=F.getMarkerPosition(R.getValues(R.dimensions,T));else{var j=N.dimensions,ee=R.get(j[0],T),ie=R.get(j[1],T);J=N.dataToPoint([ee,ie])}if(N.type==="cartesian2d"){var z=N.getAxis("x"),oe=N.getAxis("y"),j=N.dimensions;Q(R.get(j[0],T))?J[0]=z.toGlobalCoord(z.getExtent()[L?0:1]):Q(R.get(j[1],T))&&(J[1]=oe.toGlobalCoord(oe.getExtent()[L?0:1]))}isNaN(K)||(J[0]=K),isNaN(X)||(J[1]=X)}R.setItemLayout(T,J)}var S=x.extend({type:"markLine",updateTransform:function(R,T,L){T.eachSeries(function(F){var U=F.markLineModel;if(U){var N=U.getData(),H=U.__from,J=U.__to;H.each(function(K){D(H,K,!0,F,L),D(J,K,!1,F,L)}),N.each(function(K){N.setItemLayout(K,[H.getItemLayout(K),J.getItemLayout(K)])}),this.markerGroupMap.get(F.id).updateLayout()}},this)},renderSeries:function(R,T,L,F){var U=R.coordinateSystem,N=R.id,H=R.getData(),J=this.markerGroupMap,K=J.get(N)||J.set(N,new I);this.group.add(K.group);var X=P(U,R,T),j=X.from,ee=X.to,ie=X.line;T.__from=j,T.__to=ee,T.setData(ie);var z=T.get("symbol"),oe=T.get("symbolSize");f.isArray(z)||(z=[z,z]),typeof oe=="number"&&(oe=[oe,oe]),X.from.each(function(Ae){le(j,Ae,!0),le(ee,Ae,!1)}),ie.each(function(Ae){var he=ie.getItemModel(Ae).get("lineStyle.color");ie.setItemVisual(Ae,{color:he||j.getItemVisual(Ae,"color")}),ie.setItemLayout(Ae,[j.getItemLayout(Ae),ee.getItemLayout(Ae)]),ie.setItemVisual(Ae,{fromSymbolSize:j.getItemVisual(Ae,"symbolSize"),fromSymbol:j.getItemVisual(Ae,"symbol"),toSymbolSize:ee.getItemVisual(Ae,"symbolSize"),toSymbol:ee.getItemVisual(Ae,"symbol")})}),K.updateData(ie),X.line.eachItemGraphicEl(function(Ae,he){Ae.traverse(function(ge){ge.dataModel=T})});function le(Ae,he,ge){var de=Ae.getItemModel(he);D(Ae,he,ge,R,F),Ae.setItemVisual(he,{symbolSize:de.get("symbolSize")||oe[ge?0:1],symbol:de.get("symbol",!0)||z[ge?0:1],color:de.get("itemStyle.color")||H.getVisual("color")})}K.__keep=!0,K.group.silent=T.get("silent")||R.get("silent")}});function P(R,T,L){var F;R?F=f.map(R&&R.dimensions,function(X){var j=T.getData().getDimensionInfo(T.getData().mapDimension(X))||{};return f.defaults({name:X},j)}):F=[{name:"value",type:"float"}];var U=new m(F,L),N=new m(F,L),H=new m([],L),J=f.map(L.get("data"),f.curry(w,T,R,L));R&&(J=f.filter(J,f.curry(B,R)));var K=R?E.dimValueGetter:function(X){return X.value};return U.initData(f.map(J,function(X){return X[0]}),null,K),N.initData(f.map(J,function(X){return X[1]}),null,K),H.initData(f.map(J,function(X){return X[2]})),H.hasItemOption=!0,{from:U,to:N,line:H}}A.exports=S}),Uct=Et(()=>{var o=xn();Nct(),kct(),o.registerPreprocessor(function(A){A.markLine=A.markLine||{}})}),Oct=Et((o,A)=>{var f=uhe(),m=f.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});A.exports=m}),Gct=Et(()=>{var o=mi(),A=O1(),f=gv(),m=ja(),C=po(),E=che(),I=hhe(),x=function(D,S,P,R){var T=E.dataTransform(D,R[0]),L=E.dataTransform(D,R[1]),F=o.retrieve,U=T.coord,N=L.coord;U[0]=F(U[0],-1/0),U[1]=F(U[1],-1/0),N[0]=F(N[0],1/0),N[1]=F(N[1],1/0);var H=o.mergeAll([{},T,L]);return H.coord=[T.coord,L.coord],H.x0=T.x,H.y0=T.y,H.x1=L.x,H.y1=L.y,H};function y(D){return!isNaN(D)&&!isFinite(D)}function v(D,S,P,R){var T=1-D;return y(S[T])&&y(P[T])}function w(D,S){var P=S.coord[0],R=S.coord[1];return D.type==="cartesian2d"&&P&&R&&(v(1,P,R,D)||v(0,P,R,D))?!0:E.dataFilter(D,{coord:P,x:S.x0,y:S.y0})||E.dataFilter(D,{coord:R,x:S.x1,y:S.y1})}function Q(D,S,P,R,T){var L=R.coordinateSystem,F=D.getItemModel(S),U,N=m.parsePercent(F.get(P[0]),T.getWidth()),H=m.parsePercent(F.get(P[1]),T.getHeight());if(!isNaN(N)&&!isNaN(H))U=[N,H];else{if(R.getMarkerPosition)U=R.getMarkerPosition(D.getValues(P,S));else{var J=D.get(P[0],S),K=D.get(P[1],S),X=[J,K];L.clampData&&L.clampData(X,X),U=L.dataToPoint(X,!0)}if(L.type==="cartesian2d"){var j=L.getAxis("x"),ee=L.getAxis("y"),J=D.get(P[0],S),K=D.get(P[1],S);y(J)?U[0]=j.toGlobalCoord(j.getExtent()[P[0]==="x0"?0:1]):y(K)&&(U[1]=ee.toGlobalCoord(ee.getExtent()[P[1]==="y0"?0:1]))}isNaN(N)||(U[0]=N),isNaN(H)||(U[1]=H)}return U}var M=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];I.extend({type:"markArea",updateTransform:function(D,S,P){S.eachSeries(function(R){var T=R.markAreaModel;if(T){var L=T.getData();L.each(function(F){var U=o.map(M,function(H){return Q(L,F,H,R,P)});L.setItemLayout(F,U);var N=L.getItemGraphicEl(F);N.setShape("points",U)})}},this)},renderSeries:function(D,S,P,R){var T=D.coordinateSystem,L=D.id,F=D.getData(),U=this.markerGroupMap,N=U.get(L)||U.set(L,{group:new C.Group});this.group.add(N.group),N.__keep=!0;var H=B(T,D,S);S.setData(H),H.each(function(J){H.setItemLayout(J,o.map(M,function(K){return Q(H,J,K,D,R)})),H.setItemVisual(J,{color:F.getVisual("color")})}),H.diff(N.__data).add(function(J){var K=new C.Polygon({shape:{points:H.getItemLayout(J)}});H.setItemGraphicEl(J,K),N.group.add(K)}).update(function(J,K){var X=N.__data.getItemGraphicEl(K);C.updateProps(X,{shape:{points:H.getItemLayout(J)}},S,J),N.group.add(X),H.setItemGraphicEl(J,X)}).remove(function(J){var K=N.__data.getItemGraphicEl(J);N.group.remove(K)}).execute(),H.eachItemGraphicEl(function(J,K){var X=H.getItemModel(K),j=X.getModel("label"),ee=X.getModel("emphasis.label"),ie=H.getItemVisual(K,"color");J.useStyle(o.defaults(X.getModel("itemStyle").getItemStyle(),{fill:A.modifyAlpha(ie,.4),stroke:ie})),J.hoverStyle=X.getModel("emphasis.itemStyle").getItemStyle(),C.setLabelStyle(J.style,J.hoverStyle,j,ee,{labelFetcher:S,labelDataIndex:K,defaultText:H.getName(K)||"",isRectText:!0,autoColor:ie}),C.setHoverStyle(J,{}),J.dataModel=S}),N.__data=H,N.group.silent=S.get("silent")||D.get("silent")}});function B(D,S,P){var R,T,L=["x0","y0","x1","y1"];D?(R=o.map(D&&D.dimensions,function(N){var H=S.getData(),J=H.getDimensionInfo(H.mapDimension(N))||{};return o.defaults({name:N},J)}),T=new f(o.map(L,function(N,H){return{name:N,type:R[H%2].type}}),P)):(R=[{name:"value",type:"float"}],T=new f(R,P));var F=o.map(P.get("data"),o.curry(x,S,D,P));D&&(F=o.filter(F,o.curry(w,D)));var U=D?function(N,H,J,K){return N.coord[Math.floor(K/2)][K%2]}:function(N){return N.value};return T.initData(F,null,U),T.hasItemOption=!0,T}}),Hct=Et(()=>{var o=xn();Oct(),Gct(),o.registerPreprocessor(function(A){A.markArea=A.markArea||{}})}),eUe=Et((o,A)=>{var f=xn(),m=mi(),C=Cg(),E=pl(),I=E.isNameSpecified,x=q2(),y=x.legend.selector,v={all:{type:"all",title:m.clone(y.all)},inverse:{type:"inverse",title:m.clone(y.inverse)}},w=f.extendComponentModel({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(M,B,D){this.mergeDefaultAndTheme(M,D),M.selected=M.selected||{},this._updateSelector(M)},mergeOption:function(M){w.superCall(this,"mergeOption",M),this._updateSelector(M)},_updateSelector:function(M){var B=M.selector;B===!0&&(B=M.selector=["all","inverse"]),m.isArray(B)&&m.each(B,function(D,S){m.isString(D)&&(D={type:D}),B[S]=m.merge(D,v[D.type])})},optionUpdated:function(){this._updateData(this.ecModel);var M=this._data;if(M[0]&&this.get("selectedMode")==="single"){for(var B=!1,D=0;D=0},getOrient:function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",itemStyle:{borderWidth:0},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:" sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}}}),Q=w;A.exports=Q}),Vct=Et(()=>{var o=xn(),A=mi();function f(m,C,E){var I={},x=m==="toggleSelected",y;return E.eachComponent("legend",function(v){x&&y!=null?v[y?"select":"unSelect"](C.name):m==="allSelect"||m==="inverseSelect"?v[m]():(v[m](C.name),y=v.isSelected(C.name));var w=v.getData();A.each(w,function(Q){var M=Q.get("name");if(!(M===` `||M==="")){var B=v.isSelected(M);I.hasOwnProperty(M)?I[M]=I[M]&&B:I[M]=B}})}),m==="allSelect"||m==="inverseSelect"?{selected:I}:{name:C.name,selected:I}}o.registerAction("legendToggleSelect","legendselectchanged",A.curry(f,"toggleSelected")),o.registerAction("legendAllSelect","legendselectall",A.curry(f,"allSelect")),o.registerAction("legendInverseSelect","legendinverseselect",A.curry(f,"inverseSelect")),o.registerAction("legendSelect","legendselected",A.curry(f,"select")),o.registerAction("legendUnSelect","legendunselected",A.curry(f,"unSelect"))}),tUe=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=xn(),E=mi(),I=fv(),x=I.createSymbol,y=po(),v=j5e(),w=v.makeBackground,Q=Wu(),M=E.curry,B=E.each,D=y.Group,S=C.extendComponentView({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new D),this._backgroundEl,this.group.add(this._selectorGroup=new D),this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},getSelectorGroup:function(){return this._selectorGroup},render:function(F,U,N){var H=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!F.get("show",!0)){var J=F.get("align"),K=F.get("orient");(!J||J==="auto")&&(J=F.get("left")==="right"&&K==="vertical"?"right":"left");var X=F.get("selector",!0),j=F.get("selectorPosition",!0);X&&(!j||j==="auto")&&(j=K==="horizontal"?"end":"start"),this.renderInner(J,F,U,N,X,K,j);var ee=F.getBoxLayoutParams(),ie={width:N.getWidth(),height:N.getHeight()},z=F.get("padding"),oe=Q.getLayoutRect(ee,ie,z),le=this.layoutInner(F,J,oe,H,X,j),Ae=Q.getLayoutRect(E.defaults({width:le.width,height:le.height},ee),ie,z);this.group.attr("position",[Ae.x-le.x,Ae.y-le.y]),this.group.add(this._backgroundEl=w(le,F))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},renderInner:function(F,U,N,H,J,K,X){var j=this.getContentGroup(),ee=E.createHashMap(),ie=U.get("selectedMode"),z=[];N.eachRawSeries(function(oe){!oe.get("legendHoverLink")&&z.push(oe.id)}),B(U.getData(),function(oe,le){var Ae=oe.get("name");if(!this.newlineDisabled&&(Ae===""||Ae===` `)){j.add(new D({newline:!0}));return}var he=N.getSeriesByName(Ae)[0];if(!ee.get(Ae))if(he){var ge=he.getData(),de=ge.getVisual("color"),fe=ge.getVisual("borderColor");typeof de=="function"&&(de=de(he.getDataParams(0))),typeof fe=="function"&&(fe=fe(he.getDataParams(0)));var G=ge.getVisual("legendSymbol")||"roundRect",Y=ge.getVisual("symbol"),W=this._createItem(Ae,le,oe,U,G,Y,F,de,fe,ie);W.on("click",M(R,Ae,null,H,z)).on("mouseover",M(T,he.name,null,H,z)).on("mouseout",M(L,he.name,null,H,z)),ee.set(Ae,!0)}else N.eachRawSeries(function(O){if(!ee.get(Ae)&&O.legendVisualProvider){var re=O.legendVisualProvider;if(!re.containName(Ae))return;var se=re.indexOfName(Ae),ce=re.getItemVisual(se,"color"),me=re.getItemVisual(se,"borderColor"),Ce="roundRect",ye=this._createItem(Ae,le,oe,U,Ce,null,F,ce,me,ie);ye.on("click",M(R,null,Ae,H,z)).on("mouseover",M(T,null,Ae,H,z)).on("mouseout",M(L,null,Ae,H,z)),ee.set(Ae,!0)}},this)},this),J&&this._createSelector(J,U,H,K,X)},_createSelector:function(F,U,N,H,J){var K=this.getSelectorGroup();B(F,function(j){X(j)});function X(j){var ee=j.type,ie=new y.Text({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){N.dispatchAction({type:ee==="all"?"legendAllSelect":"legendInverseSelect"})}});K.add(ie);var z=U.getModel("selectorLabel"),oe=U.getModel("emphasis.selectorLabel");y.setLabelStyle(ie.style,ie.hoverStyle={},z,oe,{defaultText:j.title,isRectText:!1}),y.setHoverStyle(ie)}},_createItem:function(F,U,N,H,J,K,X,j,ee,ie){var z=H.get("itemWidth"),oe=H.get("itemHeight"),le=H.get("inactiveColor"),Ae=H.get("inactiveBorderColor"),he=H.get("symbolKeepAspect"),ge=H.getModel("itemStyle"),de=H.isSelected(F),fe=new D,G=N.getModel("textStyle"),Y=N.get("icon"),W=N.getModel("tooltip"),O=W.parentModel;J=Y||J;var re=x(J,0,0,z,oe,de?j:le,he??!0);if(fe.add(P(re,J,ge,ee,Ae,de)),!Y&&K&&(K!==J||K==="none")){var se=oe*.8;K==="none"&&(K="circle");var ce=x(K,(z-se)/2,(oe-se)/2,se,se,de?j:le,he??!0);fe.add(P(ce,K,ge,ee,Ae,de))}var me=X==="left"?z+5:-5,Ce=X,ye=H.get("formatter"),Be=F;typeof ye=="string"&&ye?Be=ye.replace("{name}",F??""):typeof ye=="function"&&(Be=ye(F)),fe.add(new y.Text({style:y.setTextStyle({},G,{text:Be,x:me,y:oe/2,textFill:de?G.getTextColor():le,textAlign:Ce,textVerticalAlign:"middle"})}));var Me=new y.Rect({shape:fe.getBoundingRect(),invisible:!0,tooltip:W.get("show")?E.extend({content:F,formatter:O.get("formatter",!0)||function(){return F},formatterParams:{componentType:"legend",legendIndex:H.componentIndex,name:F,$vars:["name"]}},W.option):null});return fe.add(Me),fe.eachChild(function(He){He.silent=!0}),Me.silent=!ie,this.getContentGroup().add(fe),y.setHoverStyle(fe),fe.__legendDataIndex=U,fe},layoutInner:function(F,U,N,H,J,K){var X=this.getContentGroup(),j=this.getSelectorGroup();Q.box(F.get("orient"),X,F.get("itemGap"),N.width,N.height);var ee=X.getBoundingRect(),ie=[-ee.x,-ee.y];if(J){Q.box("horizontal",j,F.get("selectorItemGap",!0));var z=j.getBoundingRect(),oe=[-z.x,-z.y],le=F.get("selectorButtonGap",!0),Ae=F.getOrient().index,he=Ae===0?"width":"height",ge=Ae===0?"height":"width",de=Ae===0?"y":"x";K==="end"?oe[Ae]+=ee[he]+le:ie[Ae]+=z[he]+le,oe[1-Ae]+=ee[ge]/2-z[ge]/2,j.attr("position",oe),X.attr("position",ie);var fe={x:0,y:0};return fe[he]=ee[he]+le+z[he],fe[ge]=Math.max(ee[ge],z[ge]),fe[de]=Math.min(0,z[de]+oe[1-Ae]),fe}else return X.attr("position",ie),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}});function P(F,U,N,H,J,K){var X;return U!=="line"&&U.indexOf("empty")<0?(X=N.getItemStyle(),F.style.stroke=H,K||(X.stroke=J)):X=N.getItemStyle(["borderWidth","borderColor"]),F.setStyle(X)}function R(F,U,N,H){L(F,U,N,H),N.dispatchAction({type:"legendToggleSelect",name:F??U}),T(F,U,N,H)}function T(F,U,N,H){var J=N.getZr().storage.getDisplayList()[0];J&&J.useHoverLayer||N.dispatchAction({type:"highlight",seriesName:F,name:U,excludeSeriesId:H})}function L(F,U,N,H){var J=N.getZr().storage.getDisplayList()[0];J&&J.useHoverLayer||N.dispatchAction({type:"downplay",seriesName:F,name:U,excludeSeriesId:H})}A.exports=S}),zct=Et((o,A)=>{function f(m){var C=m.findComponents({mainType:"legend"});C&&C.length&&m.filterSeries(function(E){for(var I=0;I{var o=xn();eUe(),Vct(),tUe();var A=zct(),f=wf();o.registerProcessor(o.PRIORITY.PROCESSOR.SERIES_FILTER,A),f.registerSubTypeDefaulter("legend",function(){return"plain"})}),Yct=Et((o,A)=>{var f=eUe(),m=Wu(),C=m.mergeLayoutParam,E=m.getLayoutParams,I=f.extend({type:"legend.scroll",setScrollDataIndex:function(v){this.option.scrollDataIndex=v},defaultOption:{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800},init:function(v,w,Q,M){var B=E(v);I.superCall(this,"init",v,w,Q,M),x(this,v,B)},mergeOption:function(v,w){I.superCall(this,"mergeOption",v,w),x(this,this.option,v)}});function x(v,w,Q){var M=v.getOrient(),B=[1,1];B[M.index]=0,C(w,Q,{type:"box",ignoreSize:B})}var y=I;A.exports=y}),Jct=Et((o,A)=>{var f=mi(),m=po(),C=Wu(),E=tUe(),I=m.Group,x=["width","height"],y=["x","y"],v=E.extend({type:"legend.scroll",newlineDisabled:!0,init:function(){v.superCall(this,"init"),this._currentIndex=0,this.group.add(this._containerGroup=new I),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new I),this._showController},resetInner:function(){v.superCall(this,"resetInner"),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},renderInner:function(Q,M,B,D,S,P,R){var T=this;v.superCall(this,"renderInner",Q,M,B,D,S,P,R);var L=this._controllerGroup,F=M.get("pageIconSize",!0);f.isArray(F)||(F=[F,F]),N("pagePrev",0);var U=M.getModel("pageTextStyle");L.add(new m.Text({name:"pageText",style:{textFill:U.getTextColor(),font:U.getFont(),textVerticalAlign:"middle",textAlign:"center"},silent:!0})),N("pageNext",1);function N(H,J){var K=H+"DataIndex",X=m.createIcon(M.get("pageIcons",!0)[M.getOrient().name][J],{onclick:f.bind(T._pageGo,T,K,M,D)},{x:-F[0]/2,y:-F[1]/2,width:F[0],height:F[1]});X.name=H,L.add(X)}},layoutInner:function(Q,M,B,D,S,P){var R=this.getSelectorGroup(),T=Q.getOrient().index,L=x[T],F=y[T],U=x[1-T],N=y[1-T];S&&C.box("horizontal",R,Q.get("selectorItemGap",!0));var H=Q.get("selectorButtonGap",!0),J=R.getBoundingRect(),K=[-J.x,-J.y],X=f.clone(B);S&&(X[L]=B[L]-J[L]-H);var j=this._layoutContentAndController(Q,D,X,T,L,U,N);if(S){if(P==="end")K[T]+=j[L]+H;else{var ee=J[L]+H;K[T]-=ee,j[F]-=ee}j[L]+=J[L]+H,K[1-T]+=j[N]+j[U]/2-J[U]/2,j[U]=Math.max(j[U],J[U]),j[N]=Math.min(j[N],J[N]+K[1-T]),R.attr("position",K)}return j},_layoutContentAndController:function(Q,M,B,D,S,P,R){var T=this.getContentGroup(),L=this._containerGroup,F=this._controllerGroup;C.box(Q.get("orient"),T,Q.get("itemGap"),D?B.width:null,D?null:B.height),C.box("horizontal",F,Q.get("pageButtonItemGap",!0));var U=T.getBoundingRect(),N=F.getBoundingRect(),H=this._showController=U[S]>B[S],J=[-U.x,-U.y];M||(J[D]=T.position[D]);var K=[0,0],X=[-N.x,-N.y],j=f.retrieve2(Q.get("pageButtonGap",!0),Q.get("itemGap",!0));if(H){var ee=Q.get("pageButtonPosition",!0);ee==="end"?X[D]+=B[S]-N[S]:K[D]+=N[S]+j}X[1-D]+=U[P]/2-N[P]/2,T.attr("position",J),L.attr("position",K),F.attr("position",X);var ie={x:0,y:0};if(ie[S]=H?B[S]:U[S],ie[P]=Math.max(U[P],N[P]),ie[R]=Math.min(0,N[R]+X[1-D]),L.__rectSize=B[S],H){var z={x:0,y:0};z[S]=Math.max(B[S]-N[S]-j,0),z[P]=ie[P],L.setClipPath(new m.Rect({shape:z})),L.__rectSize=z[S]}else F.eachChild(function(le){le.attr({invisible:!0,silent:!0})});var oe=this._getPageInfo(Q);return oe.pageIndex!=null&&m.updateProps(T,{position:oe.contentPosition},H?Q:!1),this._updatePageInfoView(Q,oe),ie},_pageGo:function(Q,M,B){var D=this._getPageInfo(M)[Q];D!=null&&B.dispatchAction({type:"legendScroll",scrollDataIndex:D,legendId:M.id})},_updatePageInfoView:function(Q,M){var B=this._controllerGroup;f.each(["pagePrev","pageNext"],function(L){var F=M[L+"DataIndex"]!=null,U=B.childOfName(L);U&&(U.setStyle("fill",F?Q.get("pageIconColor",!0):Q.get("pageIconInactiveColor",!0)),U.cursor=F?"pointer":"default")});var D=B.childOfName("pageText"),S=Q.get("pageFormatter"),P=M.pageIndex,R=P!=null?P+1:0,T=M.pageCount;D&&S&&D.setStyle("text",f.isString(S)?S.replace("{current}",R).replace("{total}",T):S({current:R,total:T}))},_getPageInfo:function(Q){var M=Q.get("scrollDataIndex",!0),B=this.getContentGroup(),D=this._containerGroup.__rectSize,S=Q.getOrient().index,P=x[S],R=y[S],T=this._findTargetItemIndex(M),L=B.children(),F=L[T],U=L.length,N=U?1:0,H={contentPosition:B.position.slice(),pageCount:N,pageIndex:N-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!F)return H;var J=ie(F);H.contentPosition[S]=-J.s;for(var K=T+1,X=J,j=J,ee=null;K<=U;++K)ee=ie(L[K]),(!ee&&j.e>X.s+D||ee&&!z(ee,X.s))&&(j.i>X.i?X=j:X=ee,X&&(H.pageNextDataIndex==null&&(H.pageNextDataIndex=X.i),++H.pageCount)),j=ee;for(var K=T-1,X=J,j=J,ee=null;K>=-1;--K)ee=ie(L[K]),(!ee||!z(j,ee.s))&&X.i=le&&oe.s<=le+D}},_findTargetItemIndex:function(Q){if(!this._showController)return 0;var M,B=this.getContentGroup(),D;return B.eachChild(function(S,P){var R=S.__legendDataIndex;D==null&&R!=null&&(D=P),R===Q&&(M=P)}),M??D}}),w=v;A.exports=w}),Kct=Et(()=>{var o=xn();o.registerAction("legendScroll","legendscroll",function(A,f){var m=A.scrollDataIndex;m!=null&&f.eachComponent({mainType:"legend",subType:"scroll",query:A},function(C){C.setScrollDataIndex(m)})})}),Wct=Et(()=>{iUe(),Yct(),Jct(),Kct()}),qct=Et((o,A)=>{var f=QO(),m=f.extend({type:"dataZoom.slider",layoutMode:"box",defaultOption:{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#2f4554",width:.5,opacity:.3},areaStyle:{color:"rgba(47,69,84,0.3)",opacity:.3}},borderColor:"#ddd",fillerColor:"rgba(167,183,204,0.4)",handleIcon:"M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",handleSize:"100%",handleStyle:{color:"#a7b7cc"},labelPrecision:null,labelFormatter:null,showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#333"}}}),C=m;A.exports=C}),jct=Et((o,A)=>{var f=mi(),m=U1(),C=po(),E=W2(),I=SO(),x=ja(),y=Wu(),v=bO(),w=C.Rect,Q=x.linearMap,M=x.asc,B=f.bind,D=f.each,S=7,P=1,R=30,T="horizontal",L="vertical",F=5,U=["line","bar","candlestick","scatter"],N=I.extend({type:"dataZoom.slider",init:function(X,j){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=j},render:function(X,j,ee,ie){if(N.superApply(this,"render",arguments),E.createOrUpdate(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=X.get("orient"),this.dataZoomModel.get("show")===!1){this.group.removeAll();return}(!ie||ie.type!=="dataZoom"||ie.from!==this.uid)&&this._buildView(),this._updateView()},remove:function(){N.superApply(this,"remove",arguments),E.clear(this,"_dispatchZoomAction")},dispose:function(){N.superApply(this,"dispose",arguments),E.clear(this,"_dispatchZoomAction")},_buildView:function(){var X=this.group;X.removeAll(),this._resetLocation(),this._resetInterval();var j=this._displayables.barGroup=new C.Group;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),X.add(j),this._positionGroup()},_resetLocation:function(){var X=this.dataZoomModel,j=this.api,ee=this._findCoordRect(),ie={width:j.getWidth(),height:j.getHeight()},z=this._orient===T?{right:ie.width-ee.x-ee.width,top:ie.height-R-S,width:ee.width,height:R}:{right:S,top:ee.y,width:R,height:ee.height},oe=y.getLayoutParams(X.option);f.each(["right","top","width","height"],function(Ae){oe[Ae]==="ph"&&(oe[Ae]=z[Ae])});var le=y.getLayoutRect(oe,ie,X.padding);this._location={x:le.x,y:le.y},this._size=[le.width,le.height],this._orient===L&&this._size.reverse()},_positionGroup:function(){var X=this.group,j=this._location,ee=this._orient,ie=this.dataZoomModel.getFirstTargetAxisModel(),z=ie&&ie.get("inverse"),oe=this._displayables.barGroup,le=(this._dataShadowInfo||{}).otherAxisInverse;oe.attr(ee===T&&!z?{scale:le?[1,1]:[1,-1]}:ee===T&&z?{scale:le?[-1,1]:[-1,-1]}:ee===L&&!z?{scale:le?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:le?[-1,-1]:[-1,1],rotation:Math.PI/2});var Ae=X.getBoundingRect([oe]);X.attr("position",[j.x-Ae.x,j.y-Ae.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var X=this.dataZoomModel,j=this._size,ee=this._displayables.barGroup;ee.add(new w({silent:!0,shape:{x:0,y:0,width:j[0],height:j[1]},style:{fill:X.get("backgroundColor")},z2:-40})),ee.add(new w({shape:{x:0,y:0,width:j[0],height:j[1]},style:{fill:"transparent"},z2:0,onclick:f.bind(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var X=this._dataShadowInfo=this._prepareDataShadowInfo();if(X){var j=this._size,ee=X.series,ie=ee.getRawData(),z=ee.getShadowDim?ee.getShadowDim():X.otherDim;if(z!=null){var oe=ie.getDataExtent(z),le=(oe[1]-oe[0])*.3;oe=[oe[0]-le,oe[1]+le];var Ae=[0,j[1]],he=[0,j[0]],ge=[[j[0],0],[0,0]],de=[],fe=he[1]/(ie.count()-1),G=0,Y=Math.round(ie.count()/j[0]),W;ie.each([z],function(re,se){if(Y>0&&se%Y){G+=fe;return}var ce=re==null||isNaN(re)||re==="",me=ce?0:Q(re,oe,Ae,!0);ce&&!W&&se?(ge.push([ge[ge.length-1][0],0]),de.push([de[de.length-1][0],0])):!ce&&W&&(ge.push([G,0]),de.push([G,0])),ge.push([G,me]),de.push([G,me]),G+=fe,W=ce});var O=this.dataZoomModel;this._displayables.barGroup.add(new C.Polygon({shape:{points:ge},style:f.defaults({fill:O.get("dataBackgroundColor")},O.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new C.Polyline({shape:{points:de},style:O.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var X=this.dataZoomModel,j=X.get("showDataShadow");if(j!==!1){var ee,ie=this.ecModel;return X.eachTargetAxis(function(z,oe){var le=X.getAxisProxy(z.name,oe).getTargetSeriesModels();f.each(le,function(Ae){if(!ee&&!(j!==!0&&f.indexOf(U,Ae.get("type"))<0)){var he=ie.getComponent(z.axis,oe).axis,ge=H(z.name),de,fe=Ae.coordinateSystem;ge!=null&&fe.getOtherAxis&&(de=fe.getOtherAxis(he).inverse),ge=Ae.getData().mapDimension(ge),ee={thisAxis:he,series:Ae,thisDim:z.name,otherDim:ge,otherAxisInverse:de}}},this)},this),ee}},_renderHandle:function(){var X=this._displayables,j=X.handles=[],ee=X.handleLabels=[],ie=this._displayables.barGroup,z=this._size,oe=this.dataZoomModel;ie.add(X.filler=new w({draggable:!0,cursor:J(this._orient),drift:B(this._onDragMove,this,"all"),ondragstart:B(this._showDataInfo,this,!0),ondragend:B(this._onDragEnd,this),onmouseover:B(this._showDataInfo,this,!0),onmouseout:B(this._showDataInfo,this,!1),style:{fill:oe.get("fillerColor"),textPosition:"inside"}})),ie.add(new w({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:z[0],height:z[1]},style:{stroke:oe.get("dataBackgroundColor")||oe.get("borderColor"),lineWidth:P,fill:"rgba(0,0,0,0)"}})),D([0,1],function(le){var Ae=C.createIcon(oe.get("handleIcon"),{cursor:J(this._orient),draggable:!0,drift:B(this._onDragMove,this,le),ondragend:B(this._onDragEnd,this),onmouseover:B(this._showDataInfo,this,!0),onmouseout:B(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),he=Ae.getBoundingRect();this._handleHeight=x.parsePercent(oe.get("handleSize"),this._size[1]),this._handleWidth=he.width/he.height*this._handleHeight,Ae.setStyle(oe.getModel("handleStyle").getItemStyle());var ge=oe.get("handleColor");ge!=null&&(Ae.style.fill=ge),ie.add(j[le]=Ae);var de=oe.textStyleModel;this.group.add(ee[le]=new C.Text({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:de.getTextColor(),textFont:de.getFont()},z2:10}))},this)},_resetInterval:function(){var X=this._range=this.dataZoomModel.getPercentRange(),j=this._getViewExtent();this._handleEnds=[Q(X[0],[0,100],j,!0),Q(X[1],[0,100],j,!0)]},_updateInterval:function(X,j){var ee=this.dataZoomModel,ie=this._handleEnds,z=this._getViewExtent(),oe=ee.findRepresentativeAxisProxy().getMinMaxSpan(),le=[0,100];v(j,ie,z,ee.get("zoomLock")?"all":X,oe.minSpan!=null?Q(oe.minSpan,le,z,!0):null,oe.maxSpan!=null?Q(oe.maxSpan,le,z,!0):null);var Ae=this._range,he=this._range=M([Q(ie[0],z,le,!0),Q(ie[1],z,le,!0)]);return!Ae||Ae[0]!==he[0]||Ae[1]!==he[1]},_updateView:function(X){var j=this._displayables,ee=this._handleEnds,ie=M(ee.slice()),z=this._size;D([0,1],function(oe){var le=j.handles[oe],Ae=this._handleHeight;le.attr({scale:[Ae/2,Ae/2],position:[ee[oe],z[1]/2-Ae/2]})},this),j.filler.setShape({x:ie[0],y:0,width:ie[1]-ie[0],height:z[1]}),this._updateDataInfo(X)},_updateDataInfo:function(X){var j=this.dataZoomModel,ee=this._displayables,ie=ee.handleLabels,z=this._orient,oe=["",""];if(j.get("showDetail")){var le=j.findRepresentativeAxisProxy();if(le){var Ae=le.getAxisModel().axis,he=this._range,ge=X?le.calculateDataWindow({start:he[0],end:he[1]}).valueWindow:le.getDataValueWindow();oe=[this._formatLabel(ge[0],Ae),this._formatLabel(ge[1],Ae)]}}var de=M(this._handleEnds.slice());fe.call(this,0),fe.call(this,1);function fe(G){var Y=C.getTransform(ee.handles[G].parent,this.group),W=C.transformDirection(G===0?"right":"left",Y),O=this._handleWidth/2+F,re=C.applyTransform([de[G]+(G===0?-O:O),this._size[1]/2],Y);ie[G].setStyle({x:re[0],y:re[1],textVerticalAlign:z===T?"middle":W,textAlign:z===T?W:"center",text:oe[G]})}},_formatLabel:function(X,j){var ee=this.dataZoomModel,ie=ee.get("labelFormatter"),z=ee.get("labelPrecision");(z==null||z==="auto")&&(z=j.getPixelPrecision());var oe=X==null||isNaN(X)?"":j.type==="category"||j.type==="time"?j.scale.getLabel(Math.round(X)):X.toFixed(Math.min(z,20));return f.isFunction(ie)?ie(X,oe):f.isString(ie)?ie.replace("{value}",oe):oe},_showDataInfo:function(X){X=this._dragging||X;var j=this._displayables.handleLabels;j[0].attr("invisible",!X),j[1].attr("invisible",!X)},_onDragMove:function(X,j,ee,ie){this._dragging=!0,m.stop(ie.event);var z=this._displayables.barGroup.getLocalTransform(),oe=C.applyTransform([j,ee],z,!0),le=this._updateInterval(X,oe[0]),Ae=this.dataZoomModel.get("realtime");this._updateView(!Ae),le&&Ae&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1);var X=this.dataZoomModel.get("realtime");!X&&this._dispatchZoomAction()},_onClickPanelClick:function(X){var j=this._size,ee=this._displayables.barGroup.transformCoordToLocal(X.offsetX,X.offsetY);if(!(ee[0]<0||ee[0]>j[0]||ee[1]<0||ee[1]>j[1])){var ie=this._handleEnds,z=(ie[0]+ie[1])/2,oe=this._updateInterval("all",ee[0]-z);this._updateView(),oe&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var X=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:X[0],end:X[1]})},_findCoordRect:function(){var X;if(D(this.getTargetCoordInfo(),function(ie){if(!X&&ie.length){var z=ie[0].model.coordinateSystem;X=z.getRect&&z.getRect()}}),!X){var j=this.api.getWidth(),ee=this.api.getHeight();X={x:j*.2,y:ee*.2,width:j*.6,height:ee*.6}}return X}});function H(X){var j={x:"y",y:"x",radius:"angle",angle:"radius"};return j[X]}function J(X){return X==="vertical"?"ns-resize":"ew-resize"}var K=N;A.exports=K}),rUe=Et(()=>{ahe(),QO(),SO(),qct(),jct(),lhe(),Ahe()}),Xct=Et((o,A)=>{var f=QO(),m=f.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});A.exports=m}),Zct=Et(o=>{var A=mi(),f=R9(),m=W2(),C="\0_ec_dataZoom_roams";function E(B,D){var S=y(B),P=D.dataZoomId,R=D.coordId;A.each(S,function(F,U){var N=F.dataZoomInfos;N[P]&&A.indexOf(D.allCoordIds,R)<0&&(delete N[P],F.count--)}),w(S);var T=S[R];T||(T=S[R]={coordId:R,dataZoomInfos:{},count:0},T.controller=v(B,T),T.dispatchAction=A.curry(Q,B)),!T.dataZoomInfos[P]&&T.count++,T.dataZoomInfos[P]=D;var L=M(T.dataZoomInfos);T.controller.enable(L.controlType,L.opt),T.controller.setPointerChecker(D.containsPoint),m.createOrUpdate(T,"dispatchAction",D.dataZoomModel.get("throttle",!0),"fixRate")}function I(B,D){var S=y(B);A.each(S,function(P){P.controller.dispose();var R=P.dataZoomInfos;R[D]&&(delete R[D],P.count--)}),w(S)}function x(B){return B.type+"\0_"+B.id}function y(B){var D=B.getZr();return D[C]||(D[C]={})}function v(B,D){var S=new f(B.getZr());return A.each(["pan","zoom","scrollMove"],function(P){S.on(P,function(R){var T=[];A.each(D.dataZoomInfos,function(L){if(R.isAvailableBehavior(L.dataZoomModel.option)){var F=(L.getRange||{})[P],U=F&&F(D.controller,R);!L.dataZoomModel.get("disabled",!0)&&U&&T.push({dataZoomId:L.dataZoomId,start:U[0],end:U[1]})}}),T.length&&D.dispatchAction(T)})}),S}function w(B){A.each(B,function(D,S){D.count||(D.controller.dispose(),delete B[S])})}function Q(B,D){B.dispatchAction({type:"dataZoom",batch:D})}function M(B){var D,S="type_",P={type_true:2,type_move:1,type_false:0,type_undefined:-1},R=!0;return A.each(B,function(T){var L=T.dataZoomModel,F=L.get("disabled",!0)?!1:L.get("zoomLock",!0)?"move":!0;P[S+F]>P[S+D]&&(D=F),R&=L.get("preventDefaultMouseMove",!0)}),{controlType:D,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!R}}}o.register=E,o.unregister=I,o.generateCoordId=x}),$ct=Et((o,A)=>{var f=mi(),m=SO(),C=bO(),E=Zct(),I=f.bind,x=m.extend({type:"dataZoom.inside",init:function(M,B){this._range},render:function(M,B,D,S){x.superApply(this,"render",arguments),this._range=M.getPercentRange(),f.each(this.getTargetCoordInfo(),function(P,R){var T=f.map(P,function(L){return E.generateCoordId(L.model)});f.each(P,function(L){var F=L.model,U={};f.each(["pan","zoom","scrollMove"],function(N){U[N]=I(y[N],this,L,R)},this),E.register(D,{coordId:E.generateCoordId(F),allCoordIds:T,containsPoint:function(N,H,J){return F.coordinateSystem.containPoint([H,J])},dataZoomId:M.id,dataZoomModel:M,getRange:U})},this)},this)},dispose:function(){E.unregister(this.api,this.dataZoomModel.id),x.superApply(this,"dispose",arguments),this._range=null}}),y={zoom:function(M,B,D,S){var P=this._range,R=P.slice(),T=M.axisModels[0];if(T){var L=w[B](null,[S.originX,S.originY],T,D,M),F=(L.signal>0?L.pixelStart+L.pixelLength-L.pixel:L.pixel-L.pixelStart)/L.pixelLength*(R[1]-R[0])+R[0],U=Math.max(1/S.scale,0);R[0]=(R[0]-F)*U+F,R[1]=(R[1]-F)*U+F;var N=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(C(0,R,[0,100],0,N.minSpan,N.maxSpan),this._range=R,P[0]!==R[0]||P[1]!==R[1])return R}},pan:v(function(M,B,D,S,P,R){var T=w[S]([R.oldX,R.oldY],[R.newX,R.newY],B,P,D);return T.signal*(M[1]-M[0])*T.pixel/T.pixelLength}),scrollMove:v(function(M,B,D,S,P,R){var T=w[S]([0,0],[R.scrollDelta,R.scrollDelta],B,P,D);return T.signal*(M[1]-M[0])*R.scrollDelta})};function v(M){return function(B,D,S,P){var R=this._range,T=R.slice(),L=B.axisModels[0];if(L){var F=M(T,L,B,D,S,P);if(C(F,T,[0,100],"all"),this._range=T,R[0]!==T[0]||R[1]!==T[1])return T}}}var w={grid:function(M,B,D,S,P){var R=D.axis,T={},L=P.model.coordinateSystem.getRect();return M=M||[0,0],R.dim==="x"?(T.pixel=B[0]-M[0],T.pixelLength=L.width,T.pixelStart=L.x,T.signal=R.inverse?1:-1):(T.pixel=B[1]-M[1],T.pixelLength=L.height,T.pixelStart=L.y,T.signal=R.inverse?-1:1),T},polar:function(M,B,D,S,P){var R=D.axis,T={},L=P.model.coordinateSystem,F=L.getRadiusAxis().getExtent(),U=L.getAngleAxis().getExtent();return M=M?L.pointToCoord(M):[0,0],B=L.pointToCoord(B),D.mainType==="radiusAxis"?(T.pixel=B[0]-M[0],T.pixelLength=F[1]-F[0],T.pixelStart=F[0],T.signal=R.inverse?1:-1):(T.pixel=B[1]-M[1],T.pixelLength=U[1]-U[0],T.pixelStart=U[0],T.signal=R.inverse?-1:1),T},singleAxis:function(M,B,D,S,P){var R=D.axis,T=P.model.coordinateSystem.getRect(),L={};return M=M||[0,0],R.orient==="horizontal"?(L.pixel=B[0]-M[0],L.pixelLength=T.width,L.pixelStart=T.x,L.signal=R.inverse?1:-1):(L.pixel=B[1]-M[1],L.pixelLength=T.height,L.pixelStart=T.y,L.signal=R.inverse?-1:1),L}},Q=x;A.exports=Q}),nUe=Et(()=>{ahe(),QO(),SO(),Xct(),$ct(),lhe(),Ahe()}),eht=Et(()=>{rUe(),nUe()}),oUe=Et((o,A)=>{var f=mi(),m=f.each;function C(I){var x=I&&I.visualMap;f.isArray(x)||(x=x?[x]:[]),m(x,function(y){if(y){E(y,"splitList")&&!E(y,"pieces")&&(y.pieces=y.splitList,delete y.splitList);var v=y.pieces;v&&f.isArray(v)&&m(v,function(w){f.isObject(w)&&(E(w,"start")&&!E(w,"min")&&(w.min=w.start),E(w,"end")&&!E(w,"max")&&(w.max=w.end))})}})}function E(I,x){return I&&I.hasOwnProperty&&I.hasOwnProperty(x)}A.exports=C}),aUe=Et(()=>{var o=wf();o.registerSubTypeDefaulter("visualMap",function(A){return!A.categories&&(!(A.pieces?A.pieces.length>0:A.splitNumber>0)||A.calculable)?"continuous":"piecewise"})}),sUe=Et(()=>{var o=xn(),A=mi(),f=QZ(),m=tN(),C=o.PRIORITY.VISUAL.COMPONENT;o.registerVisual(C,{createOnAllSeries:!0,reset:function(I,x){var y=[];return x.eachComponent("visualMap",function(v){var w=I.pipelineContext;!v.isTargetSeries(I)||w&&w.large||y.push(f.incrementalApplyVisual(v.stateList,v.targetVisuals,A.bind(v.getValueState,v),v.getDataDimension(I.getData())))}),y}}),o.registerVisual(C,{createOnAllSeries:!0,reset:function(I,x){var y=I.getData(),v=[];x.eachComponent("visualMap",function(w){if(w.isTargetSeries(I)){var Q=w.getVisualMeta(A.bind(E,null,I,w))||{stops:[],outerColors:[]},M=w.getDataDimension(y),B=y.getDimensionInfo(M);B!=null&&(Q.dimension=B.index,v.push(Q))}}),I.getData().setVisual("visualMeta",v)}});function E(I,x,y,v){for(var w=x.targetVisuals[v],Q=m.prepareVisualTypes(w),M={color:I.getData().getVisual("color")},B=0,D=Q.length;B{var f=mi(),m={get:function(I,x,y){var v=f.clone((C[I]||{})[x]);return y&&f.isArray(v)?v[v.length-1]:v}},C={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},E=m;A.exports=E}),AUe=Et((o,A)=>{var f=xn(),m=mi(),C=mg(),E=lUe(),I=tN(),x=QZ(),y=pl(),v=ja(),w=I.mapVisual,Q=I.eachVisual,M=m.isArray,B=m.each,D=v.asc,S=v.linearMap,P=m.noop,R=f.extendComponentModel({type:"visualMap",dependencies:["series"],stateList:["inRange","outOfRange"],replacableOptionKeys:["inRange","outOfRange","target","controller","color"],dataBound:[-1/0,1/0],layoutMode:{type:"box",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:"#333"}},init:function(L,F,U){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(L,U)},optionUpdated:function(L,F){var U=this.option;C.canvasSupported||(U.realtime=!1),!F&&x.replaceVisualOption(U,L,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(L){var F=this.stateList;L=m.bind(L,this),this.controllerVisuals=x.createVisualMappings(this.option.controller,F,L),this.targetVisuals=x.createVisualMappings(this.option.target,F,L)},getTargetSeriesIndices:function(){var L=this.option.seriesIndex,F=[];return L==null||L==="all"?this.ecModel.eachSeries(function(U,N){F.push(N)}):F=y.normalizeToArray(L),F},eachTargetSeries:function(L,F){m.each(this.getTargetSeriesIndices(),function(U){L.call(F,this.ecModel.getSeriesByIndex(U))},this)},isTargetSeries:function(L){var F=!1;return this.eachTargetSeries(function(U){U===L&&(F=!0)}),F},formatValueText:function(L,F,U){var N=this.option,H=N.precision,J=this.dataBound,K=N.formatter,X,j;if(U=U||["<",">"],m.isArray(L)&&(L=L.slice(),X=!0),j=F?L:X?[ee(L[0]),ee(L[1])]:ee(L),m.isString(K))return K.replace("{value}",X?j[0]:j).replace("{value2}",X?j[1]:j);if(m.isFunction(K))return X?K(L[0],L[1]):K(L);if(X)return L[0]===J[0]?U[0]+" "+j[1]:L[1]===J[1]?U[1]+" "+j[0]:j[0]+" - "+j[1];return j;function ee(ie){return ie===J[0]?"min":ie===J[1]?"max":(+ie).toFixed(Math.min(H,20))}},resetExtent:function(){var L=this.option,F=D([L.min,L.max]);this._dataExtent=F},getDataDimension:function(L){var F=this.option.dimension,U=L.dimensions;if(!(F==null&&!U.length)){if(F!=null)return L.getDimension(F);for(var N=L.dimensions,H=N.length-1;H>=0;H--){var J=N[H],K=L.getDimensionInfo(J);if(!K.isCalculationCoord)return J}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){var L=this.ecModel,F=this.option,U={inRange:F.inRange,outOfRange:F.outOfRange},N=F.target||(F.target={}),H=F.controller||(F.controller={});m.merge(N,U),m.merge(H,U);var J=this.isCategory();K.call(this,N),K.call(this,H),X.call(this,N,"inRange","outOfRange"),j.call(this,H);function K(ee){M(F.color)&&!ee.inRange&&(ee.inRange={color:F.color.slice().reverse()}),ee.inRange=ee.inRange||{color:L.get("gradientColor")},B(this.stateList,function(ie){var z=ee[ie];if(m.isString(z)){var oe=E.get(z,"active",J);oe?(ee[ie]={},ee[ie][z]=oe):delete ee[ie]}},this)}function X(ee,ie,z){var oe=ee[ie],le=ee[z];oe&&!le&&(le=ee[z]={},B(oe,function(Ae,he){if(I.isValidType(he)){var ge=E.get(he,"inactive",J);ge!=null&&(le[he]=ge,he==="color"&&!le.hasOwnProperty("opacity")&&!le.hasOwnProperty("colorAlpha")&&(le.opacity=[0,0]))}}))}function j(ee){var ie=(ee.inRange||{}).symbol||(ee.outOfRange||{}).symbol,z=(ee.inRange||{}).symbolSize||(ee.outOfRange||{}).symbolSize,oe=this.get("inactiveColor");B(this.stateList,function(le){var Ae=this.itemSize,he=ee[le];he||(he=ee[le]={color:J?oe:[oe]}),he.symbol==null&&(he.symbol=ie&&m.clone(ie)||(J?"roundRect":["roundRect"])),he.symbolSize==null&&(he.symbolSize=z&&m.clone(z)||(J?Ae[0]:[Ae[0],Ae[0]])),he.symbol=w(he.symbol,function(fe){return fe==="none"||fe==="square"?"roundRect":fe});var ge=he.symbolSize;if(ge!=null){var de=-1/0;Q(ge,function(fe){fe>de&&(de=fe)}),he.symbolSize=w(ge,function(fe){return S(fe,[0,de],[0,Ae[0]],!0)})}},this)}},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this.option.categories},setSelected:P,getValueState:P,getVisualMeta:P}),T=R;A.exports=T}),tht=Et((o,A)=>{var f=mi(),m=AUe(),C=ja(),E=[20,140],I=m.extend({type:"visualMap.continuous",defaultOption:{align:"auto",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(v,w){I.superApply(this,"optionUpdated",arguments),this.resetExtent(),this.resetVisual(function(Q){Q.mappingMethod="linear",Q.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){I.superApply(this,"resetItemSize",arguments);var v=this.itemSize;this._orient==="horizontal"&&v.reverse(),(v[0]==null||isNaN(v[0]))&&(v[0]=E[0]),(v[1]==null||isNaN(v[1]))&&(v[1]=E[1])},_resetRange:function(){var v=this.getExtent(),w=this.option.range;!w||w.auto?(v.auto=1,this.option.range=v):f.isArray(w)&&(w[0]>w[1]&&w.reverse(),w[0]=Math.max(w[0],v[0]),w[1]=Math.min(w[1],v[1]))},completeVisualOption:function(){m.prototype.completeVisualOption.apply(this,arguments),f.each(this.stateList,function(v){var w=this.option.controller[v].symbolSize;w&&w[0]!==w[1]&&(w[0]=0)},this)},setSelected:function(v){this.option.range=v.slice(),this._resetRange()},getSelected:function(){var v=this.getExtent(),w=C.asc((this.get("range")||[]).slice());return w[0]>v[1]&&(w[0]=v[1]),w[1]>v[1]&&(w[1]=v[1]),w[0]=Q[1]||v<=w[1])?"inRange":"outOfRange"},findTargetDataIndices:function(v){var w=[];return this.eachTargetSeries(function(Q){var M=[],B=Q.getData();B.each(this.getDataDimension(B),function(D,S){v[0]<=D&&D<=v[1]&&M.push(S)},this),w.push({seriesId:Q.id,dataIndex:M})},this),w},getVisualMeta:function(v){var w=x(this,"outOfRange",this.getExtent()),Q=x(this,"inRange",this.option.range.slice()),M=[];function B(F,U){M.push({value:F,color:v(F,U)})}for(var D=0,S=0,P=Q.length,R=w.length;S{var f=xn(),m=mi(),C=po(),E=sc(),I=Wu(),x=tN(),y=f.extendComponentView({type:"visualMap",autoPositionValues:{left:1,right:1,top:1,bottom:1},init:function(v,w){this.ecModel=v,this.api=w,this.visualMapModel},render:function(v,w,Q,M){if(this.visualMapModel=v,v.get("show")===!1){this.group.removeAll();return}this.doRender.apply(this,arguments)},renderBackground:function(v){var w=this.visualMapModel,Q=E.normalizeCssArray(w.get("padding")||0),M=v.getBoundingRect();v.add(new C.Rect({z2:-1,silent:!0,shape:{x:M.x-Q[3],y:M.y-Q[0],width:M.width+Q[3]+Q[1],height:M.height+Q[0]+Q[2]},style:{fill:w.get("backgroundColor"),stroke:w.get("borderColor"),lineWidth:w.get("borderWidth")}}))},getControllerVisual:function(v,w,Q){Q=Q||{};var M=Q.forceState,B=this.visualMapModel,D={};if(w==="symbol"&&(D.symbol=B.get("itemSymbol")),w==="color"){var S=B.get("contentColor");D.color=S}function P(F){return D[F]}function R(F,U){D[F]=U}var T=B.controllerVisuals[M||B.getValueState(v)],L=x.prepareVisualTypes(T);return m.each(L,function(F){var U=T[F];Q.convertOpacityToAlpha&&F==="opacity"&&(F="colorAlpha",U=T.__alphaForOpacity),x.dependsOn(F,w)&&U&&U.applyVisual(v,P,R)}),D[w]},positionGroup:function(v){var w=this.visualMapModel,Q=this.api;I.positionElement(v,w.getBoxLayoutParams(),{width:Q.getWidth(),height:Q.getHeight()})},doRender:m.noop});A.exports=y}),cUe=Et(o=>{var A=mi(),f=Wu(),m=f.getLayoutRect;function C(I,x,y){var v=I.option,w=v.align;if(w!=null&&w!=="auto")return w;for(var Q={width:x.getWidth(),height:x.getHeight()},M=v.orient==="horizontal"?1:0,B=[["left","right","width"],["top","bottom","height"]],D=B[M],S=[0,null,10],P={},R=0;R<3;R++)P[B[1-M][R]]=S[R],P[D[R]]=R===2?y[0]:v[D[R]];var T=[["x","width",3],["y","height",0]][M],L=m(P,Q,v.padding);return D[(L.margin[T[2]]||0)+L[T[0]]+L[T[1]]*.5{var f=mi(),m=Gce(),C=U1(),E=uUe(),I=po(),x=ja(),y=bO(),v=cUe(),w=pl(),Q=x.linearMap,M=f.each,B=Math.min,D=Math.max,S=12,P=6,R=E.extend({type:"visualMap.continuous",init:function(){R.superApply(this,"init",arguments),this._shapes={},this._dataInterval=[],this._handleEnds=[],this._orient,this._useHandle,this._hoverLinkDataIndices=[],this._dragging,this._hovering},doRender:function(K,X,j,ee){(!ee||ee.type!=="selectDataRange"||ee.from!==this.uid)&&this._buildView()},_buildView:function(){this.group.removeAll();var K=this.visualMapModel,X=this.group;this._orient=K.get("orient"),this._useHandle=K.get("calculable"),this._resetInterval(),this._renderBar(X);var j=K.get("text");this._renderEndsText(X,j,0),this._renderEndsText(X,j,1),this._updateView(!0),this.renderBackground(X),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(X)},_renderEndsText:function(K,X,j){if(X){var ee=X[1-j];ee=ee!=null?ee+"":"";var ie=this.visualMapModel,z=ie.get("textGap"),oe=ie.itemSize,le=this._shapes.barGroup,Ae=this._applyTransform([oe[0]/2,j===0?-z:oe[1]+z],le),he=this._applyTransform(j===0?"bottom":"top",le),ge=this._orient,de=this.visualMapModel.textStyleModel;this.group.add(new I.Text({style:{x:Ae[0],y:Ae[1],textVerticalAlign:ge==="horizontal"?"middle":he,textAlign:ge==="horizontal"?he:"center",text:ee,textFont:de.getFont(),textFill:de.getTextColor()}}))}},_renderBar:function(K){var X=this.visualMapModel,j=this._shapes,ee=X.itemSize,ie=this._orient,z=this._useHandle,oe=v.getItemAlign(X,this.api,ee),le=j.barGroup=this._createBarGroup(oe);le.add(j.outOfRange=T()),le.add(j.inRange=T(null,z?H(this._orient):null,f.bind(this._dragHandle,this,"all",!1),f.bind(this._dragHandle,this,"all",!0)));var Ae=X.textStyleModel.getTextRect("\u56FD"),he=D(Ae.width,Ae.height);z&&(j.handleThumbs=[],j.handleLabels=[],j.handleLabelPoints=[],this._createHandle(le,0,ee,he,ie,oe),this._createHandle(le,1,ee,he,ie,oe)),this._createIndicator(le,ee,he,ie),K.add(le)},_createHandle:function(K,X,j,ee,ie){var z=f.bind(this._dragHandle,this,X,!1),oe=f.bind(this._dragHandle,this,X,!0),le=T(L(X,ee),H(this._orient),z,oe);le.position[0]=j[0],K.add(le);var Ae=this.visualMapModel.textStyleModel,he=new I.Text({draggable:!0,drift:z,onmousemove:function(fe){C.stop(fe.event)},ondragend:oe,style:{x:0,y:0,text:"",textFont:Ae.getFont(),textFill:Ae.getTextColor()}});this.group.add(he);var ge=[ie==="horizontal"?ee/2:ee*1.5,ie==="horizontal"?X===0?-(ee*1.5):ee*1.5:X===0?-ee/2:ee/2],de=this._shapes;de.handleThumbs[X]=le,de.handleLabelPoints[X]=ge,de.handleLabels[X]=he},_createIndicator:function(K,X,j,ee){var ie=T([[0,0]],"move");ie.position[0]=X[0],ie.attr({invisible:!0,silent:!0}),K.add(ie);var z=this.visualMapModel.textStyleModel,oe=new I.Text({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textFont:z.getFont(),textFill:z.getTextColor()}});this.group.add(oe);var le=[ee==="horizontal"?j/2:P+3,0],Ae=this._shapes;Ae.indicator=ie,Ae.indicatorLabel=oe,Ae.indicatorLabelPoint=le},_dragHandle:function(K,X,j,ee){if(this._useHandle){if(this._dragging=!X,!X){var ie=this._applyTransform([j,ee],this._shapes.barGroup,!0);this._updateInterval(K,ie[1]),this._updateView()}X===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),X?!this._hovering&&this._clearHoverLinkToSeries():N(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[K],!1)}},_resetInterval:function(){var K=this.visualMapModel,X=this._dataInterval=K.getSelected(),j=K.getExtent(),ee=[0,K.itemSize[1]];this._handleEnds=[Q(X[0],j,ee,!0),Q(X[1],j,ee,!0)]},_updateInterval:function(K,X){X=X||0;var j=this.visualMapModel,ee=this._handleEnds,ie=[0,j.itemSize[1]];y(X,ee,ie,K,0);var z=j.getExtent();this._dataInterval=[Q(ee[0],ie,z,!0),Q(ee[1],ie,z,!0)]},_updateView:function(K){var X=this.visualMapModel,j=X.getExtent(),ee=this._shapes,ie=[0,X.itemSize[1]],z=K?ie:this._handleEnds,oe=this._createBarVisual(this._dataInterval,j,z,"inRange"),le=this._createBarVisual(j,j,ie,"outOfRange");ee.inRange.setStyle({fill:oe.barColor,opacity:oe.opacity}).setShape("points",oe.barPoints),ee.outOfRange.setStyle({fill:le.barColor,opacity:le.opacity}).setShape("points",le.barPoints),this._updateHandle(z,oe)},_createBarVisual:function(K,X,j,ee){var ie={forceState:ee,convertOpacityToAlpha:!0},z=this._makeColorGradient(K,ie),oe=[this.getControllerVisual(K[0],"symbolSize",ie),this.getControllerVisual(K[1],"symbolSize",ie)],le=this._createBarPoints(j,oe);return{barColor:new m(0,0,0,1,z),barPoints:le,handlesColor:[z[0].color,z[z.length-1].color]}},_makeColorGradient:function(K,X){var j=100,ee=[],ie=(K[1]-K[0])/j;ee.push({color:this.getControllerVisual(K[0],"color",X),offset:0});for(var z=1;zK[1])break;ee.push({color:this.getControllerVisual(oe,"color",X),offset:z/j})}return ee.push({color:this.getControllerVisual(K[1],"color",X),offset:1}),ee},_createBarPoints:function(K,X){var j=this.visualMapModel.itemSize;return[[j[0]-X[0],K[0]],[j[0],K[0]],[j[0],K[1]],[j[0]-X[1],K[1]]]},_createBarGroup:function(K){var X=this._orient,j=this.visualMapModel.get("inverse");return new I.Group(X==="horizontal"&&!j?{scale:K==="bottom"?[1,1]:[-1,1],rotation:Math.PI/2}:X==="horizontal"&&j?{scale:K==="bottom"?[-1,1]:[1,1],rotation:-Math.PI/2}:X==="vertical"&&!j?{scale:K==="left"?[1,-1]:[-1,-1]}:{scale:K==="left"?[1,1]:[-1,1]})},_updateHandle:function(K,X){if(this._useHandle){var j=this._shapes,ee=this.visualMapModel,ie=j.handleThumbs,z=j.handleLabels;M([0,1],function(oe){var le=ie[oe];le.setStyle("fill",X.handlesColor[oe]),le.position[1]=K[oe];var Ae=I.applyTransform(j.handleLabelPoints[oe],I.getTransform(le,this.group));z[oe].setStyle({x:Ae[0],y:Ae[1],text:ee.formatValueText(this._dataInterval[oe]),textVerticalAlign:"middle",textAlign:this._applyTransform(this._orient==="horizontal"?oe===0?"bottom":"top":"left",j.barGroup)})},this)}},_showIndicator:function(K,X,j,ee){var ie=this.visualMapModel,z=ie.getExtent(),oe=ie.itemSize,le=[0,oe[1]],Ae=Q(K,z,le,!0),he=this._shapes,ge=he.indicator;if(ge){ge.position[1]=Ae,ge.attr("invisible",!1),ge.setShape("points",F(!!j,ee,Ae,oe[1]));var de={convertOpacityToAlpha:!0},fe=this.getControllerVisual(K,"color",de);ge.setStyle("fill",fe);var G=I.applyTransform(he.indicatorLabelPoint,I.getTransform(ge,this.group)),Y=he.indicatorLabel;Y.attr("invisible",!1);var W=this._applyTransform("left",he.barGroup),O=this._orient;Y.setStyle({text:(j||"")+ie.formatValueText(X),textVerticalAlign:O==="horizontal"?W:"middle",textAlign:O==="horizontal"?"center":W,x:G[0],y:G[1]})}},_enableHoverLinkToSeries:function(){var K=this;this._shapes.barGroup.on("mousemove",function(X){if(K._hovering=!0,!K._dragging){var j=K.visualMapModel.itemSize,ee=K._applyTransform([X.offsetX,X.offsetY],K._shapes.barGroup,!0,!0);ee[1]=B(D(0,ee[1]),j[1]),K._doHoverLinkToSeries(ee[1],0<=ee[0]&&ee[0]<=j[0])}}).on("mouseout",function(){K._hovering=!1,!K._dragging&&K._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var K=this.api.getZr();this.visualMapModel.option.hoverLink?(K.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),K.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(K,X){var j=this.visualMapModel,ee=j.itemSize;if(j.option.hoverLink){var ie=[0,ee[1]],z=j.getExtent();K=B(D(ie[0],K),ie[1]);var oe=U(j,z,ie),le=[K-oe,K+oe],Ae=Q(K,ie,z,!0),he=[Q(le[0],ie,z,!0),Q(le[1],ie,z,!0)];le[0]ie[1]&&(he[1]=1/0),X&&(he[0]===-1/0?this._showIndicator(Ae,he[1],"< ",oe):he[1]===1/0?this._showIndicator(Ae,he[0],"> ",oe):this._showIndicator(Ae,Ae,"\u2248 ",oe));var ge=this._hoverLinkDataIndices,de=[];(X||N(j))&&(de=this._hoverLinkDataIndices=j.findTargetDataIndices(he));var fe=w.compressBatches(ge,de);this._dispatchHighDown("downplay",v.makeHighDownBatch(fe[0],j)),this._dispatchHighDown("highlight",v.makeHighDownBatch(fe[1],j))}},_hoverLinkFromSeriesMouseOver:function(K){var X=K.target,j=this.visualMapModel;if(!(!X||X.dataIndex==null)){var ee=this.ecModel.getSeriesByIndex(X.seriesIndex);if(j.isTargetSeries(ee)){var ie=ee.getData(X.dataType),z=ie.get(j.getDataDimension(ie),X.dataIndex,!0);isNaN(z)||this._showIndicator(z,z)}}},_hideIndicator:function(){var K=this._shapes;K.indicator&&K.indicator.attr("invisible",!0),K.indicatorLabel&&K.indicatorLabel.attr("invisible",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var K=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",v.makeHighDownBatch(K,this.visualMapModel)),K.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var K=this.api.getZr();K.off("mouseover",this._hoverLinkFromSeriesMouseOver),K.off("mouseout",this._hideIndicator)},_applyTransform:function(K,X,j,ee){var ie=I.getTransform(X,ee?null:this.group);return I[f.isArray(K)?"applyTransform":"transformDirection"](K,ie,j)},_dispatchHighDown:function(K,X){X&&X.length&&this.api.dispatchAction({type:K,batch:X})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});function T(K,X,j,ee){return new I.Polygon({shape:{points:K},draggable:!!j,cursor:X,drift:j,onmousemove:function(ie){C.stop(ie.event)},ondragend:ee})}function L(K,X){return K===0?[[0,0],[X,0],[X,-X]]:[[0,0],[X,0],[X,X]]}function F(K,X,j,ee){return K?[[0,-B(X,D(j,0))],[P,0],[0,B(X,D(ee-j,0))]]:[[0,0],[5,-5],[5,5]]}function U(K,X,j){var ee=S/2,ie=K.get("hoverLinkDataSize");return ie&&(ee=Q(ie,X,j,!0)/2),ee}function N(K){var X=K.get("hoverLinkOnHandle");return!!(X??K.get("realtime"))}function H(K){return K==="vertical"?"ns-resize":"ew-resize"}var J=R;A.exports=J}),hUe=Et(()=>{var o=xn(),A={type:"selectDataRange",event:"dataRangeSelected",update:"update"};o.registerAction(A,function(f,m){m.eachComponent({mainType:"visualMap",query:f},function(C){C.setSelected(f.selected)})})}),dUe=Et(()=>{var o=xn(),A=oUe();aUe(),sUe(),tht(),iht(),hUe(),o.registerPreprocessor(A)}),rht=Et((o,A)=>{var f=EA(),m=f.__DEV__,C=mi(),E=AUe(),I=tN(),x=lUe(),y=ja(),v=y.reformIntervals,w=E.extend({type:"visualMap.piecewise",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieceList:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(D,S){w.superApply(this,"optionUpdated",arguments),this._pieceList=[],this.resetExtent();var P=this._mode=this._determineMode();Q[this._mode].call(this),this._resetSelected(D,S);var R=this.option.categories;this.resetVisual(function(T,L){P==="categories"?(T.mappingMethod="category",T.categories=C.clone(R)):(T.dataExtent=this.getExtent(),T.mappingMethod="piecewise",T.pieceList=C.map(this._pieceList,function(U){var U=C.clone(U);return L!=="inRange"&&(U.visual=null),U}))})},completeVisualOption:function(){var D=this.option,S={},P=I.listVisualTypes(),R=this.isCategory();C.each(D.pieces,function(L){C.each(P,function(F){L.hasOwnProperty(F)&&(S[F]=1)})}),C.each(S,function(L,F){var U=0;C.each(this.stateList,function(N){U|=T(D,N,F)||T(D.target,N,F)},this),!U&&C.each(this.stateList,function(N){(D[N]||(D[N]={}))[F]=x.get(F,N==="inRange"?"active":"inactive",R)})},this);function T(L,F,U){return L&&L[F]&&(C.isObject(L[F])?L[F].hasOwnProperty(U):L[F]===U)}E.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(D,S){var P=this.option,R=this._pieceList,T=(S?P:D).selected||{};if(P.selected=T,C.each(R,function(F,U){var N=this.getSelectedMapKey(F);T.hasOwnProperty(N)||(T[N]=!0)},this),P.selectedMode==="single"){var L=!1;C.each(R,function(F,U){var N=this.getSelectedMapKey(F);T[N]&&(L?T[N]=!1:L=!0)},this)}},getSelectedMapKey:function(D){return this._mode==="categories"?D.value+"":D.index+""},getPieceList:function(){return this._pieceList},_determineMode:function(){var D=this.option;return D.pieces&&D.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},setSelected:function(D){this.option.selected=C.clone(D)},getValueState:function(D){var S=I.findPieceIndex(D,this._pieceList);return S!=null&&this.option.selected[this.getSelectedMapKey(this._pieceList[S])]?"inRange":"outOfRange"},findTargetDataIndices:function(D){var S=[];return this.eachTargetSeries(function(P){var R=[],T=P.getData();T.each(this.getDataDimension(T),function(L,F){var U=I.findPieceIndex(L,this._pieceList);U===D&&R.push(F)},this),S.push({seriesId:P.id,dataIndex:R})},this),S},getRepresentValue:function(D){var S;if(this.isCategory())S=D.value;else if(D.value!=null)S=D.value;else{var P=D.interval||[];S=P[0]===-1/0&&P[1]===1/0?0:(P[0]+P[1])/2}return S},getVisualMeta:function(D){if(this.isCategory())return;var S=[],P=[],R=this;function T(N,H){var J=R.getRepresentValue({interval:N});H||(H=R.getValueState(J));var K=D(J,H);N[0]===-1/0?P[0]=K:N[1]===1/0?P[1]=K:S.push({value:N[0],color:K},{value:N[1],color:K})}var L=this._pieceList.slice();if(!L.length)L.push({interval:[-1/0,1/0]});else{var F=L[0].interval[0];F!==-1/0&&L.unshift({interval:[-1/0,F]}),F=L[L.length-1].interval[1],F!==1/0&&L.push({interval:[F,1/0]})}var U=-1/0;return C.each(L,function(N){var H=N.interval;H&&(H[0]>U&&T([U,H[0]],"outOfRange"),T(H.slice()),U=H[1])},this),{stops:S,outerColors:P}}}),Q={splitNumber:function(){var D=this.option,S=this._pieceList,P=Math.min(D.precision,20),R=this.getExtent(),T=D.splitNumber;T=Math.max(parseInt(T,10),1),D.splitNumber=T;for(var L=(R[1]-R[0])/T;+L.toFixed(P)!==L&&P<5;)P++;D.precision=P,L=+L.toFixed(P),D.minOpen&&S.push({interval:[-1/0,R[0]],close:[0,0]});for(var F=0,U=R[0];F","\u2265"][R[0]]];P.text=P.text||this.formatValueText(P.value!=null?P.value:P.interval,!1,T)},this)}};function M(D,S){var P=D.inverse;(D.orient==="vertical"?!P:P)&&S.reverse()}var B=w;A.exports=B}),nht=Et((o,A)=>{var f=mi(),m=uUe(),C=po(),E=fv(),I=E.createSymbol,x=Wu(),y=cUe(),v=m.extend({type:"visualMap.piecewise",doRender:function(){var Q=this.group;Q.removeAll();var M=this.visualMapModel,B=M.get("textGap"),D=M.textStyleModel,S=D.getFont(),P=D.getTextColor(),R=this._getItemAlign(),T=M.itemSize,L=this._getViewData(),F=L.endsText,U=f.retrieve(M.get("showLabel",!0),!F);F&&this._renderEndsText(Q,F[0],T,U,R),f.each(L.viewPieceList,N,this),F&&this._renderEndsText(Q,F[1],T,U,R),x.box(M.get("orient"),Q,M.get("itemGap")),this.renderBackground(Q),this.positionGroup(Q);function N(H){var J=H.piece,K=new C.Group;K.onclick=f.bind(this._onItemClick,this,J),this._enableHoverLink(K,H.indexInModelPieceList);var X=M.getRepresentValue(J);if(this._createItemSymbol(K,X,[0,0,T[0],T[1]]),U){var j=this.visualMapModel.getValueState(X);K.add(new C.Text({style:{x:R==="right"?-B:T[0]+B,y:T[1]/2,text:J.text,textVerticalAlign:"middle",textAlign:R,textFont:S,textFill:P,opacity:j==="outOfRange"?.5:1}}))}Q.add(K)}},_enableHoverLink:function(Q,M){Q.on("mouseover",f.bind(B,this,"highlight")).on("mouseout",f.bind(B,this,"downplay"));function B(D){var S=this.visualMapModel;S.option.hoverLink&&this.api.dispatchAction({type:D,batch:y.makeHighDownBatch(S.findTargetDataIndices(M),S)})}},_getItemAlign:function(){var Q=this.visualMapModel,M=Q.option;if(M.orient==="vertical")return y.getItemAlign(Q,this.api,Q.itemSize);var B=M.align;return(!B||B==="auto")&&(B="left"),B},_renderEndsText:function(Q,M,B,D,S){if(M){var P=new C.Group,R=this.visualMapModel.textStyleModel;P.add(new C.Text({style:{x:D?S==="right"?B[0]:0:B[0]/2,y:B[1]/2,textVerticalAlign:"middle",textAlign:D?S:"center",text:M,textFont:R.getFont(),textFill:R.getTextColor()}})),Q.add(P)}},_getViewData:function(){var Q=this.visualMapModel,M=f.map(Q.getPieceList(),function(P,R){return{piece:P,indexInModelPieceList:R}}),B=Q.get("text"),D=Q.get("orient"),S=Q.get("inverse");return(D==="horizontal"?S:!S)?M.reverse():B&&(B=B.slice().reverse()),{viewPieceList:M,endsText:B}},_createItemSymbol:function(Q,M,B){Q.add(I(this.getControllerVisual(M,"symbol"),B[0],B[1],B[2],B[3],this.getControllerVisual(M,"color")))},_onItemClick:function(Q){var M=this.visualMapModel,B=M.option,D=f.clone(B.selected),S=M.getSelectedMapKey(Q);B.selectedMode==="single"?(D[S]=!0,f.each(D,function(P,R){D[R]=R===S})):D[S]=!D[S],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:D})}}),w=v;A.exports=w}),gUe=Et(()=>{var o=xn(),A=oUe();aUe(),sUe(),rht(),nht(),hUe(),o.registerPreprocessor(A)}),oht=Et(()=>{dUe(),gUe()}),fUe=Et(o=>{var A=mg(),f="urn:schemas-microsoft-com:vml",m=typeof window>"u"?null:window,C=!1,E=m&&m.document;function I(v){return x(v)}var x;if(E&&!A.canvasSupported)try{!E.namespaces.zrvml&&E.namespaces.add("zrvml",f),x=function(v){return E.createElement("')}}catch{x=function(v){return E.createElement("<"+v+' xmlns="'+f+'" class="zrvml">')}}function y(){if(!(C||!E)){C=!0;var v=E.styleSheets;v.length<31?E.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):v[0].addRule(".zrvml","behavior:url(#default#VML)")}}o.doc=E,o.createNode=I,o.initVML=y}),aht=Et(()=>{var o=mg(),A=Zc(),f=A.applyTransform,m=Eh(),C=O1(),E=Nx(),I=gZ(),x=Wke(),y=y9(),v=IO(),w=qF(),Q=Yd(),M=yO(),B=pZ(),D=fUe(),S=M.CMD,P=Math.round,R=Math.sqrt,T=Math.abs,L=Math.cos,F=Math.sin,U=Math.max;if(!o.canvasSupported){for(N=",",H="progid:DXImageTransform.Microsoft",J=21600,K=J/2,X=1e5,j=1e3,ee=function(ze){ze.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",ze.coordsize=J+","+J,ze.coordorigin="0,0"},ie=function(ze){return String(ze).replace(/&/g,"&").replace(/"/g,""")},z=function(ze,Je,je){return"rgb("+[ze,Je,je].join(",")+")"},oe=function(ze,Je){Je&&ze&&Je.parentNode!==ze&&ze.appendChild(Je)},le=function(ze,Je){Je&&ze&&Je.parentNode===ze&&ze.removeChild(Je)},Ae=function(ze,Je,je){return(parseFloat(ze)||0)*X+(parseFloat(Je)||0)*j+je},he=I.parsePercent,ge=function(ze,Je,je){var Ze=C.parse(Je);je=+je,isNaN(je)&&(je=1),Ze&&(ze.color=z(Ze[0],Ze[1],Ze[2]),ze.opacity=je*Ze[3])},de=function(ze){var Je=C.parse(ze);return[z(Je[0],Je[1],Je[2]),Je[3]]},fe=function(ze,Je,je){var Ze=Je.fill;if(Ze!=null)if(Ze instanceof B){var rt,At=0,yt=[0,0],at=0,ft=1,_t=je.getBoundingRect(),et=_t.width,pt=_t.height;if(Ze.type==="linear"){rt="gradient";var zt=je.transform,It=[Ze.x*et,Ze.y*pt],Pt=[Ze.x2*et,Ze.y2*pt];zt&&(f(It,It,zt),f(Pt,Pt,zt));var St=Pt[0]-It[0],dt=Pt[1]-It[1];At=Math.atan2(St,dt)*180/Math.PI,At<0&&(At+=360),At<1e-6&&(At=0)}else{rt="gradientradial";var It=[Ze.x*et,Ze.y*pt],zt=je.transform,Le=je.scale,_e=et,Oe=pt;yt=[(It[0]-_t.x)/_e,(It[1]-_t.y)/Oe],zt&&f(It,It,zt),_e/=Le[0]*J,Oe/=Le[1]*J;var vt=U(_e,Oe);at=2*0/vt,ft=2*Ze.r/vt-at}var wt=Ze.colorStops.slice();wt.sort(function(ui,Ht){return ui.offset-Ht.offset});for(var Bt=wt.length,bi=[],nr=[],Ai=0;Ai=2){var pi=bi[0][0],Vt=bi[1][0],Kt=bi[0][1]*Je.opacity,di=bi[1][1]*Je.opacity;ze.type=rt,ze.method="none",ze.focus="100%",ze.angle=At,ze.color=pi,ze.color2=Vt,ze.colors=nr.join(","),ze.opacity=di,ze.opacity2=Kt}rt==="radial"&&(ze.focusposition=yt.join(","))}else ge(ze,Ze,Je.opacity)},G=function(ze,Je){Je.lineDash&&(ze.dashstyle=Je.lineDash.join(" ")),Je.stroke!=null&&!(Je.stroke instanceof B)&&ge(ze,Je.stroke,Je.opacity)},Y=function(ze,Je,je,Ze){var rt=Je==="fill",At=ze.getElementsByTagName(Je)[0];je[Je]!=null&&je[Je]!=="none"&&(rt||!rt&&je.lineWidth)?(ze[rt?"filled":"stroked"]="true",je[Je]instanceof B&&le(ze,At),At||(At=D.createNode(Je)),rt?fe(At,je,Ze):G(At,je),oe(ze,At)):(ze[rt?"filled":"stroked"]="false",le(ze,At))},W=[[],[],[]],O=function(ze,Je){var je=S.M,Ze=S.C,rt=S.L,At=S.A,yt=S.Q,at=[],ft,_t,et,pt,zt,It,Pt=ze.data,St=ze.len();for(pt=0;pt.01?di&&(ui+=270/J):Math.abs(Ht-xi)<1e-4?di&&uiAi?gt-=270/J:gt+=270/J:di&&Htxi?Ei+=270/J:Ei-=270/J),at.push(bt,P(((Ai-Fi)*Bt+vt)*J-K),N,P(((xi-pi)*bi+wt)*J-K),N,P(((Ai+Fi)*Bt+vt)*J-K),N,P(((xi+pi)*bi+wt)*J-K),N,P((ui*Bt+vt)*J-K),N,P((Ht*bi+wt)*J-K),N,P((Ei*Bt+vt)*J-K),N,P((gt*bi+wt)*J-K)),zt=Ei,It=gt;break;case S.R:var Ot=W[0],Wt=W[1];Ot[0]=Pt[pt++],Ot[1]=Pt[pt++],Wt[0]=Ot[0]+Pt[pt++],Wt[1]=Ot[1]+Pt[pt++],Je&&(f(Ot,Ot,Je),f(Wt,Wt,Je)),Ot[0]=P(Ot[0]*J-K),Wt[0]=P(Wt[0]*J-K),Ot[1]=P(Ot[1]*J-K),Wt[1]=P(Wt[1]*J-K),at.push(" m ",Ot[0],N,Ot[1]," l ",Wt[0],N,Ot[1]," l ",Wt[0],N,Wt[1]," l ",Ot[0],N,Wt[1]);break;case S.Z:at.push(" x ")}if(ft>0){at.push(_t);for(var Oi=0;OiCe&&(me=0,ce={});var je=ye.style,Ze;try{je.font=ze,Ze=je.fontFamily.split(",")[0]}catch{}Je={style:je.fontStyle||se,variant:je.fontVariant||se,weight:je.fontWeight||se,size:parseFloat(je.fontSize||12)|0,family:Ze||"Microsoft YaHei"},ce[ze]=Je,me++}return Je},E.$override("measureText",function(ze,Je){var je=D.doc;Me||(Me=je.createElement("div"),Me.style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",D.doc.body.appendChild(Me));try{Me.style.font=Je}catch{}return Me.innerHTML="",Me.appendChild(je.createTextNode(ze)),{width:Me.offsetWidth}}),He=new m,ke=function(ze,Je,je,Ze){var rt=this.style;this.__dirty&&I.normalizeTextStyle(rt,!0);var At=rt.text;if(At!=null&&(At+=""),!!At){if(rt.rich){var yt=E.parseRichText(At,rt);At=[];for(var at=0;at{var f=x9(),m=fUe(),C=mi(),E=C.each;function I(w){return parseInt(w,10)}function x(w,Q){m.initVML(),this.root=w,this.storage=Q;var M=document.createElement("div"),B=document.createElement("div");M.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",B.style.cssText="position:absolute;left:0;top:0;",w.appendChild(M),this._vmlRoot=B,this._vmlViewport=M,this.resize();var D=Q.delFromStorage,S=Q.addToStorage;Q.delFromStorage=function(P){D.call(Q,P),P&&P.onRemove&&P.onRemove(B)},Q.addToStorage=function(P){P.onAdd&&P.onAdd(B),S.call(Q,P)},this._firstPaint=!0}x.prototype={constructor:x,getType:function(){return"vml"},getViewportRoot:function(){return this._vmlViewport},getViewportRootOffset:function(){var w=this.getViewportRoot();if(w)return{offsetLeft:w.offsetLeft||0,offsetTop:w.offsetTop||0}},refresh:function(){var w=this.storage.getDisplayList(!0,!0);this._paintList(w)},_paintList:function(w){for(var Q=this._vmlRoot,M=0;M{aht();var o=fZ(),A=o.registerPainter,f=sht();A("vml",f)}),dhe=Et(o=>{var A="http://www.w3.org/2000/svg";function f(m){return document.createElementNS(A,m)}o.createElement=f}),ghe=Et(o=>{var A=dhe(),f=A.createElement,m=yO(),C=Eh(),E=UC(),I=Nx(),x=gZ(),y=qF(),v=m.CMD,w=Array.prototype.join,Q="none",M=Math.round,B=Math.sin,D=Math.cos,S=Math.PI,P=Math.PI*2,R=180/S,T=1e-4;function L(W){return M(W*1e4)/1e4}function F(W){return W-T}function U(W,O){var re=O?W.textFill:W.fill;return re!=null&&re!==Q}function N(W,O){var re=O?W.textStroke:W.stroke;return re!=null&&re!==Q}function H(W,O){O&&J(W,"transform","matrix("+w.call(O,",")+")")}function J(W,O,re){(!re||re.type!=="linear"&&re.type!=="radial")&&W.setAttribute(O,re)}function K(W,O,re){W.setAttributeNS("http://www.w3.org/1999/xlink",O,re)}function X(W,O,re,se){if(U(O,re)){var ce=re?O.textFill:O.fill;ce=ce==="transparent"?Q:ce,J(W,"fill",ce),J(W,"fill-opacity",O.fillOpacity!=null?O.fillOpacity*O.opacity:O.opacity)}else J(W,"fill",Q);if(N(O,re)){var me=re?O.textStroke:O.stroke;me=me==="transparent"?Q:me,J(W,"stroke",me);var Ce=re?O.textStrokeWidth:O.lineWidth,ye=!re&&O.strokeNoScale?se.getLineScale():1;J(W,"stroke-width",Ce/ye),J(W,"paint-order",re?"stroke":"fill"),J(W,"stroke-opacity",O.strokeOpacity!=null?O.strokeOpacity:O.opacity);var Be=O.lineDash;Be?(J(W,"stroke-dasharray",O.lineDash.join(",")),J(W,"stroke-dashoffset",M(O.lineDashOffset||0))):J(W,"stroke-dasharray",""),O.lineCap&&J(W,"stroke-linecap",O.lineCap),O.lineJoin&&J(W,"stroke-linejoin",O.lineJoin),O.miterLimit&&J(W,"stroke-miterlimit",O.miterLimit)}else J(W,"stroke",Q)}function j(W){for(var O=[],re=W.data,se=W.len(),ce=0;ce=P:-Pe>=P),Je=Pe>0?Pe%P:Pe%P+P,je=!1;ze?je=!0:F(Ue)?je=!1:je=Je>=S==!!Fe;var Ze=L(Be+He*D(Ne)),rt=L(Me+ke*B(Ne));ze&&(Fe?Pe=P-1e-4:Pe=-P+1e-4,je=!0,ce===9&&O.push("M",Ze,rt));var At=L(Be+He*D(Ne+Pe)),yt=L(Me+ke*B(Ne+Pe));O.push("A",L(He),L(ke),M(we*R),+je,+Fe,At,yt);break;case v.Z:Ce="Z";break;case v.R:var At=L(re[ce++]),yt=L(re[ce++]),at=L(re[ce++]),ft=L(re[ce++]);O.push("M",At,yt,"L",At+at,yt,"L",At+at,yt+ft,"L",At,yt+ft,"L",At,yt);break}Ce&&O.push(Ce);for(var _t=0;_tet){for(;ft{function f(){}f.prototype={diff:function(x,y,v){v||(v=function(U,N){return U===N}),this.equals=v;var w=this;x=x.slice(),y=y.slice();var Q=y.length,M=x.length,B=1,D=Q+M,S=[{newPos:-1,components:[]}],P=this.extractCommon(S[0],y,x,0);if(S[0].newPos+1>=Q&&P+1>=M){for(var R=[],T=0;T=Q&&K+1>=M)return m(w,N.components,y,x);S[U]=N}B++}for(;B<=D;){var F=L();if(F)return F}},pushComponent:function(x,y,v){var w=x[x.length-1];w&&w.added===y&&w.removed===v?x[x.length-1]={count:w.count+1,added:y,removed:v}:x.push({count:1,added:y,removed:v})},extractCommon:function(x,y,v,w){for(var Q=y.length,M=v.length,B=x.newPos,D=B-w,S=0;B+1{var f=dhe(),m=f.createElement,C=mi(),E=Yd(),I=IO(),x=qF(),y=ghe(),v=y.path,w=y.image,Q=y.text,M="0",B="1";function D(P,R,T,L,F){this._zrId=P,this._svgRoot=R,this._tagNames=typeof T=="string"?[T]:T,this._markLabel=L,this._domName=F||"_dom",this.nextId=0}D.prototype.createElement=m,D.prototype.getDefs=function(P){var R=this._svgRoot,T=this._svgRoot.getElementsByTagName("defs");return T.length===0?P?(T=R.insertBefore(this.createElement("defs"),R.firstChild),T.contains||(T.contains=function(L){var F=T.children;if(!F)return!1;for(var U=F.length-1;U>=0;--U)if(F[U]===L)return!0;return!1}),T):null:T[0]},D.prototype.update=function(P,R){if(P){var T=this.getDefs(!1);if(P[this._domName]&&T.contains(P[this._domName]))typeof R=="function"&&R(P);else{var L=this.add(P);L&&(P[this._domName]=L)}}},D.prototype.addDom=function(P){var R=this.getDefs(!0);R.appendChild(P)},D.prototype.removeDom=function(P){var R=this.getDefs(!1);R&&P[this._domName]&&(R.removeChild(P[this._domName]),P[this._domName]=null)},D.prototype.getDoms=function(){var P=this.getDefs(!1);if(!P)return[];var R=[];return C.each(this._tagNames,function(T){var L=P.getElementsByTagName(T);R=R.concat([].slice.call(L))}),R},D.prototype.markAllUnused=function(){var P=this.getDoms(),R=this;C.each(P,function(T){T[R._markLabel]=M})},D.prototype.markUsed=function(P){P&&(P[this._markLabel]=B)},D.prototype.removeUnused=function(){var P=this.getDefs(!1);if(P){var R=this.getDoms(),T=this;C.each(R,function(L){L[T._markLabel]!==B&&P.removeChild(L)})}},D.prototype.getSvgProxy=function(P){return P instanceof E?v:P instanceof I?w:P instanceof x?Q:v},D.prototype.getTextSvgElement=function(P){return P.__textSvgEl},D.prototype.getSvgElement=function(P){return P.__svgEl};var S=D;A.exports=S}),uht=Et((o,A)=>{var f=fhe(),m=mi(),C=x9(),E=O1();function I(y,v){f.call(this,y,v,["linearGradient","radialGradient"],"__gradient_in_use__")}m.inherits(I,f),I.prototype.addWithoutUpdate=function(y,v){if(v&&v.style){var w=this;m.each(["fill","stroke"],function(Q){if(v.style[Q]&&(v.style[Q].type==="linear"||v.style[Q].type==="radial")){var M=v.style[Q],B=w.getDefs(!0),D;M._dom?(D=M._dom,B.contains(M._dom)||w.addDom(D)):D=w.add(M),w.markUsed(v);var S=D.getAttribute("id");y.setAttribute(Q,"url(#"+S+")")}})}},I.prototype.add=function(y){var v;if(y.type==="linear")v=this.createElement("linearGradient");else if(y.type==="radial")v=this.createElement("radialGradient");else return C("Illegal gradient type."),null;return y.id=y.id||this.nextId++,v.setAttribute("id","zr"+this._zrId+"-gradient-"+y.id),this.updateDom(y,v),this.addDom(v),v},I.prototype.update=function(y){var v=this;f.prototype.update.call(this,y,function(){var w=y.type,Q=y._dom.tagName;w==="linear"&&Q==="linearGradient"||w==="radial"&&Q==="radialGradient"?v.updateDom(y,y._dom):(v.removeDom(y),v.add(y))})},I.prototype.updateDom=function(y,v){if(y.type==="linear")v.setAttribute("x1",y.x),v.setAttribute("y1",y.y),v.setAttribute("x2",y.x2),v.setAttribute("y2",y.y2);else if(y.type==="radial")v.setAttribute("cx",y.x),v.setAttribute("cy",y.y),v.setAttribute("r",y.r);else{C("Illegal gradient type.");return}y.global?v.setAttribute("gradientUnits","userSpaceOnUse"):v.setAttribute("gradientUnits","objectBoundingBox"),v.innerHTML="";for(var w=y.colorStops,Q=0,M=w.length;Q-1)){var S=E.parse(D)[3],P=E.toHex(D);B.setAttribute("stop-color","#"+P),B.setAttribute("stop-opacity",S)}else B.setAttribute("stop-color",w[Q].color);v.appendChild(B)}y._dom=v},I.prototype.markUsed=function(y){if(y.style){var v=y.style.fill;v&&v._dom&&f.prototype.markUsed.call(this,v._dom),v=y.style.stroke,v&&v._dom&&f.prototype.markUsed.call(this,v._dom)}};var x=I;A.exports=x}),cht=Et((o,A)=>{var f=fhe(),m=mi(),C=UC();function E(x,y){f.call(this,x,y,"clipPath","__clippath_in_use__")}m.inherits(E,f),E.prototype.update=function(x){var y=this.getSvgElement(x);y&&this.updateDom(y,x.__clipPaths,!1);var v=this.getTextSvgElement(x);v&&this.updateDom(v,x.__clipPaths,!0),this.markUsed(x)},E.prototype.updateDom=function(x,y,v){if(y&&y.length>0){var w=this.getDefs(!0),Q=y[0],M,B,D=v?"_textDom":"_dom";Q[D]?(B=Q[D].getAttribute("id"),M=Q[D],w.contains(M)||w.appendChild(M)):(B="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,M=this.createElement("clipPath"),M.setAttribute("id",B),w.appendChild(M),Q[D]=M);var S=this.getSvgProxy(Q);if(Q.transform&&Q.parent.invTransform&&!v){var P=Array.prototype.slice.call(Q.transform);C.mul(Q.transform,Q.parent.invTransform,Q.transform),S.brush(Q),Q.transform=P}else S.brush(Q);var R=this.getSvgElement(Q);M.innerHTML="",M.appendChild(R.cloneNode()),x.setAttribute("clip-path","url(#"+B+")"),y.length>1&&this.updateDom(M,y.slice(1),v)}else x&&x.setAttribute("clip-path","none")},E.prototype.markUsed=function(x){var y=this;x.__clipPaths&&m.each(x.__clipPaths,function(v){v._dom&&f.prototype.markUsed.call(y,v._dom),v._textDom&&f.prototype.markUsed.call(y,v._textDom)})};var I=E;A.exports=I}),hht=Et((o,A)=>{var f=fhe(),m=mi();function C(x,y){f.call(this,x,y,["filter"],"__filter_in_use__","_shadowDom")}m.inherits(C,f),C.prototype.addWithoutUpdate=function(x,y){if(y&&E(y.style)){var v;if(y._shadowDom){v=y._shadowDom;var w=this.getDefs(!0);w.contains(y._shadowDom)||this.addDom(v)}else v=this.add(y);this.markUsed(y);var Q=v.getAttribute("id");x.style.filter="url(#"+Q+")"}},C.prototype.add=function(x){var y=this.createElement("filter");return x._shadowDomId=x._shadowDomId||this.nextId++,y.setAttribute("id","zr"+this._zrId+"-shadow-"+x._shadowDomId),this.updateDom(x,y),this.addDom(y),y},C.prototype.update=function(x,y){var v=y.style;if(E(v)){var w=this;f.prototype.update.call(this,y,function(){w.updateDom(y,y._shadowDom)})}else this.remove(x,y)},C.prototype.remove=function(x,y){y._shadowDomId!=null&&(this.removeDom(x),x.style.filter="")},C.prototype.updateDom=function(x,y){var v=y.getElementsByTagName("feDropShadow");v.length===0?v=this.createElement("feDropShadow"):v=v[0];var w=x.style,Q=x.scale&&x.scale[0]||1,M=x.scale&&x.scale[1]||1,B,D,S,P;if(w.shadowBlur||w.shadowOffsetX||w.shadowOffsetY)B=w.shadowOffsetX||0,D=w.shadowOffsetY||0,S=w.shadowBlur,P=w.shadowColor;else if(w.textShadowBlur)B=w.textShadowOffsetX||0,D=w.textShadowOffsetY||0,S=w.textShadowBlur,P=w.textShadowColor;else{this.removeDom(y,w);return}v.setAttribute("dx",B/Q),v.setAttribute("dy",D/M),v.setAttribute("flood-color",P);var R=S/2/Q,T=S/2/M,L=R+" "+T;v.setAttribute("stdDeviation",L),y.setAttribute("x","-100%"),y.setAttribute("y","-100%"),y.setAttribute("width",Math.ceil(S/2*200)+"%"),y.setAttribute("height",Math.ceil(S/2*200)+"%"),y.appendChild(v),x._shadowDom=y},C.prototype.markUsed=function(x){x._shadowDom&&f.prototype.markUsed.call(this,x._shadowDom)};function E(x){return x&&(x.shadowBlur||x.shadowOffsetX||x.shadowOffsetY||x.textShadowBlur||x.textShadowOffsetX||x.textShadowOffsetY)}var I=C;A.exports=I}),dht=Et((o,A)=>{var f=dhe(),m=f.createElement,C=mi(),E=x9(),I=Yd(),x=IO(),y=qF(),v=Aht(),w=uht(),Q=cht(),M=hht(),B=ghe(),D=B.path,S=B.image,P=B.text;function R(ee){return parseInt(ee,10)}function T(ee){return ee instanceof I?D:ee instanceof x?S:ee instanceof y?P:D}function L(ee,ie){return ie&&ee&&ie.parentNode!==ee}function F(ee,ie,z){if(L(ee,ie)&&z){var oe=z.nextSibling;oe?ee.insertBefore(ie,oe):ee.appendChild(ie)}}function U(ee,ie){if(L(ee,ie)){var z=ee.firstChild;z?ee.insertBefore(ie,z):ee.appendChild(ie)}}function N(ee,ie){ie&&ee&&ie.parentNode===ee&&ee.removeChild(ie)}function H(ee){return ee.__textSvgEl}function J(ee){return ee.__svgEl}var K=function(ee,ie,z,oe){this.root=ee,this.storage=ie,this._opts=z=C.extend({},z||{});var le=m("svg");le.setAttribute("xmlns","http://www.w3.org/2000/svg"),le.setAttribute("version","1.1"),le.setAttribute("baseProfile","full"),le.style.cssText="user-select:none;position:absolute;left:0;top:0;";var Ae=m("g");le.appendChild(Ae);var he=m("g");le.appendChild(he),this.gradientManager=new w(oe,he),this.clipPathManager=new Q(oe,he),this.shadowManager=new M(oe,he);var ge=document.createElement("div");ge.style.cssText="overflow:hidden;position:relative",this._svgDom=le,this._svgRoot=he,this._backgroundRoot=Ae,this._viewport=ge,ee.appendChild(ge),ge.appendChild(le),this.resize(z.width,z.height),this._visibleList=[]};K.prototype={constructor:K,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getSvgDom:function(){return this._svgDom},getSvgRoot:function(){return this._svgRoot},getViewportRootOffset:function(){var ee=this.getViewportRoot();if(ee)return{offsetLeft:ee.offsetLeft||0,offsetTop:ee.offsetTop||0}},refresh:function(){var ee=this.storage.getDisplayList(!0);this._paintList(ee)},setBackgroundColor:function(ee){this._backgroundRoot&&this._backgroundNode&&this._backgroundRoot.removeChild(this._backgroundNode);var ie=m("rect");ie.setAttribute("width",this.getWidth()),ie.setAttribute("height",this.getHeight()),ie.setAttribute("x",0),ie.setAttribute("y",0),ie.setAttribute("id",0),ie.style.fill=ee,this._backgroundRoot.appendChild(ie),this._backgroundNode=ie},_paintList:function(ee){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var ie=this._svgRoot,z=this._visibleList,oe=ee.length,le=[],Ae;for(Ae=0;Ae=0;--he)if(Ae[he]===le)return!0;return!1}),z}else return null;else return z[0]},resize:function(ee,ie){var z=this._viewport;z.style.display="none";var oe=this._opts;if(ee!=null&&(oe.width=ee),ie!=null&&(oe.height=ie),ee=this._getSize(0),ie=this._getSize(1),z.style.display="",this._width!==ee||this._height!==ie){this._width=ee,this._height=ie;var le=z.style;le.width=ee+"px",le.height=ie+"px";var Ae=this._svgDom;Ae.setAttribute("width",ee),Ae.setAttribute("height",ie)}this._backgroundNode&&(this._backgroundNode.setAttribute("width",ee),this._backgroundNode.setAttribute("height",ie))},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(ee){var ie=this._opts,z=["width","height"][ee],oe=["clientWidth","clientHeight"][ee],le=["paddingLeft","paddingTop"][ee],Ae=["paddingRight","paddingBottom"][ee];if(ie[z]!=null&&ie[z]!=="auto")return parseFloat(ie[z]);var he=this.root,ge=document.defaultView.getComputedStyle(he);return(he[oe]||R(ge[z])||R(he.style[z]))-(R(ge[le])||0)-(R(ge[Ae])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._backgroundRoot=this._svgDom=this._backgroundNode=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},toDataURL:function(){this.refresh();var ee=encodeURIComponent(this._svgDom.outerHTML.replace(/> \r<`));return"data:image/svg+xml;charset=UTF-8,"+ee}};function X(ee){return function(){E('In SVG mode painter not support method "'+ee+'"')}}C.each(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","pathToImage"],function(ee){K.prototype[ee]=X(ee)});var j=K;A.exports=j}),ght=Et(()=>{ghe();var o=fZ(),A=o.registerPainter,f=dht();A("svg",f)}),pUe=Et(o=>{var A=xn();(function(){for(var m in A){if(A==null||!A.hasOwnProperty(m)||m==="default"||m==="__esModule")return;o[m]=A[m]}})();var f=E5e();(function(){for(var m in f){if(f==null||!f.hasOwnProperty(m)||m==="default"||m==="__esModule")return;o[m]=f[m]}})(),A5e(),Kst(),Zst(),rlt(),slt(),mlt(),Mlt(),Nlt(),Ylt(),aAt(),uAt(),gAt(),wAt(),TAt(),NAt(),VAt(),KAt(),$At(),rut(),aut(),Iut(),wut(),Tut(),Put(),Yut(),Wut(),q5e(),O5e(),Zut(),$ut(),cct(),pct(),L9(),vct(),_ct(),Pct(),Fct(),Uct(),Hct(),Wct(),iUe(),eht(),nUe(),rUe(),oht(),dUe(),gUe(),lht(),ght()}),fht=Et((o,A)=>{/*! @license DOMPurify 3.0.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.3/LICENSE */(function(f,m){typeof o=="object"&&typeof A<"u"?A.exports=m():typeof define=="function"&&define.amd?define(m):(f=typeof globalThis<"u"?globalThis:f||self,f.DOMPurify=m())})(o,function(){"use strict";let{entries:f,setPrototypeOf:m,isFrozen:C,getPrototypeOf:E,getOwnPropertyDescriptor:I}=Object,{freeze:x,seal:y,create:v}=Object,{apply:w,construct:Q}=typeof Reflect<"u"&&Reflect;w||(w=function(Pe,we,Fe){return Pe.apply(we,Fe)}),x||(x=function(Pe){return Pe}),y||(y=function(Pe){return Pe}),Q||(Q=function(Pe,we){return new Pe(...we)});let M=H(Array.prototype.forEach),B=H(Array.prototype.pop),D=H(Array.prototype.push),S=H(String.prototype.toLowerCase),P=H(String.prototype.toString),R=H(String.prototype.match),T=H(String.prototype.replace),L=H(String.prototype.indexOf),F=H(String.prototype.trim),U=H(RegExp.prototype.test),N=J(TypeError);function H(Pe){return function(we){for(var Fe=arguments.length,Ue=new Array(Fe>1?Fe-1:0),ze=1;ze/gm),O=y(/\${[\w\W]*}/gm),re=y(/^data-[\-\w.\u00B7-\uFFFF]/),se=y(/^aria-[\-\w]+$/),ce=y(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),me=y(/^(?:\w+script|data):/i),Ce=y(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ye=y(/^html$/i);var Be=Object.freeze({__proto__:null,MUSTACHE_EXPR:Y,ERB_EXPR:W,TMPLIT_EXPR:O,DATA_ATTR:re,ARIA_ATTR:se,IS_ALLOWED_URI:ce,IS_SCRIPT_OR_DATA:me,ATTR_WHITESPACE:Ce,DOCTYPE_NAME:ye});let Me=()=>typeof window>"u"?null:window,He=function(Pe,we){if(typeof Pe!="object"||typeof Pe.createPolicy!="function")return null;let Fe=null,Ue="data-tt-policy-suffix";we&&we.hasAttribute(Ue)&&(Fe=we.getAttribute(Ue));let ze="dompurify"+(Fe?"#"+Fe:"");try{return Pe.createPolicy(ze,{createHTML(Je){return Je},createScriptURL(Je){return Je}})}catch{return console.warn("TrustedTypes policy "+ze+" could not be created."),null}};function ke(){let Pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Me(),we=Li=>ke(Li);if(we.version="3.0.3",we.removed=[],!Pe||!Pe.document||Pe.document.nodeType!==9)return we.isSupported=!1,we;let Fe=Pe.document,Ue=Fe.currentScript,{document:ze}=Pe,{DocumentFragment:Je,HTMLTemplateElement:je,Node:Ze,Element:rt,NodeFilter:At,NamedNodeMap:yt=Pe.NamedNodeMap||Pe.MozNamedAttrMap,HTMLFormElement:at,DOMParser:ft,trustedTypes:_t}=Pe,et=rt.prototype,pt=j(et,"cloneNode"),zt=j(et,"nextSibling"),It=j(et,"childNodes"),Pt=j(et,"parentNode");if(typeof je=="function"){let Li=ze.createElement("template");Li.content&&Li.content.ownerDocument&&(ze=Li.content.ownerDocument)}let St,dt="",{implementation:Le,createNodeIterator:_e,createDocumentFragment:Oe,getElementsByTagName:vt}=ze,{importNode:wt}=Fe,Bt={};we.isSupported=typeof f=="function"&&typeof Pt=="function"&&Le&&Le.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:bi,ERB_EXPR:nr,TMPLIT_EXPR:Ai,DATA_ATTR:xi,ARIA_ATTR:Fi,IS_SCRIPT_OR_DATA:pi,ATTR_WHITESPACE:Vt}=Be,{IS_ALLOWED_URI:Kt}=Be,di=null,ui=K({},[...ee,...ie,...z,...le,...he]),Ht=null,Ei=K({},[...ge,...de,...fe,...G]),gt=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),bt=null,Ot=null,Wt=!0,Oi=!0,Ci=!1,so=!0,Mn=!1,Gn=!1,Da=!1,_a=!1,Ho=!1,Ol=!1,au=!1,oh=!0,su=!1,Bg="user-content-",Nf=!0,T0=!1,P0={},Xu=null,Qp=K({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Xd=null,qA=K({},["audio","video","img","source","image","track"]),R0=null,Sp=K({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Zd="http://www.w3.org/1998/Math/MathML",ci="http://www.w3.org/2000/svg",ki="http://www.w3.org/1999/xhtml",mr=ki,zr=!1,en=null,Mr=K({},[Zd,ci,ki],P),pn,Sn=["application/xhtml+xml","text/html"],jr="text/html",to,Eo=null,La=ze.createElement("form"),Gl=function(Li){return Li instanceof RegExp||Li instanceof Function},Uo=function(Li){if(!(Eo&&Eo===Li)){if((!Li||typeof Li!="object")&&(Li={}),Li=X(Li),pn=Sn.indexOf(Li.PARSER_MEDIA_TYPE)===-1?pn=jr:pn=Li.PARSER_MEDIA_TYPE,to=pn==="application/xhtml+xml"?P:S,di="ALLOWED_TAGS"in Li?K({},Li.ALLOWED_TAGS,to):ui,Ht="ALLOWED_ATTR"in Li?K({},Li.ALLOWED_ATTR,to):Ei,en="ALLOWED_NAMESPACES"in Li?K({},Li.ALLOWED_NAMESPACES,P):Mr,R0="ADD_URI_SAFE_ATTR"in Li?K(X(Sp),Li.ADD_URI_SAFE_ATTR,to):Sp,Xd="ADD_DATA_URI_TAGS"in Li?K(X(qA),Li.ADD_DATA_URI_TAGS,to):qA,Xu="FORBID_CONTENTS"in Li?K({},Li.FORBID_CONTENTS,to):Qp,bt="FORBID_TAGS"in Li?K({},Li.FORBID_TAGS,to):{},Ot="FORBID_ATTR"in Li?K({},Li.FORBID_ATTR,to):{},P0="USE_PROFILES"in Li?Li.USE_PROFILES:!1,Wt=Li.ALLOW_ARIA_ATTR!==!1,Oi=Li.ALLOW_DATA_ATTR!==!1,Ci=Li.ALLOW_UNKNOWN_PROTOCOLS||!1,so=Li.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Mn=Li.SAFE_FOR_TEMPLATES||!1,Gn=Li.WHOLE_DOCUMENT||!1,Ho=Li.RETURN_DOM||!1,Ol=Li.RETURN_DOM_FRAGMENT||!1,au=Li.RETURN_TRUSTED_TYPE||!1,_a=Li.FORCE_BODY||!1,oh=Li.SANITIZE_DOM!==!1,su=Li.SANITIZE_NAMED_PROPS||!1,Nf=Li.KEEP_CONTENT!==!1,T0=Li.IN_PLACE||!1,Kt=Li.ALLOWED_URI_REGEXP||ce,mr=Li.NAMESPACE||ki,gt=Li.CUSTOM_ELEMENT_HANDLING||{},Li.CUSTOM_ELEMENT_HANDLING&&Gl(Li.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(gt.tagNameCheck=Li.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Li.CUSTOM_ELEMENT_HANDLING&&Gl(Li.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(gt.attributeNameCheck=Li.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Li.CUSTOM_ELEMENT_HANDLING&&typeof Li.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(gt.allowCustomizedBuiltInElements=Li.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Mn&&(Oi=!1),Ol&&(Ho=!0),P0&&(di=K({},[...he]),Ht=[],P0.html===!0&&(K(di,ee),K(Ht,ge)),P0.svg===!0&&(K(di,ie),K(Ht,de),K(Ht,G)),P0.svgFilters===!0&&(K(di,z),K(Ht,de),K(Ht,G)),P0.mathMl===!0&&(K(di,le),K(Ht,fe),K(Ht,G))),Li.ADD_TAGS&&(di===ui&&(di=X(di)),K(di,Li.ADD_TAGS,to)),Li.ADD_ATTR&&(Ht===Ei&&(Ht=X(Ht)),K(Ht,Li.ADD_ATTR,to)),Li.ADD_URI_SAFE_ATTR&&K(R0,Li.ADD_URI_SAFE_ATTR,to),Li.FORBID_CONTENTS&&(Xu===Qp&&(Xu=X(Xu)),K(Xu,Li.FORBID_CONTENTS,to)),Nf&&(di["#text"]=!0),Gn&&K(di,["html","head","body"]),di.table&&(K(di,["tbody"]),delete bt.tbody),Li.TRUSTED_TYPES_POLICY){if(typeof Li.TRUSTED_TYPES_POLICY.createHTML!="function")throw N('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Li.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw N('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');St=Li.TRUSTED_TYPES_POLICY,dt=St.createHTML("")}else St===void 0&&(St=He(_t,Ue)),St!==null&&typeof dt=="string"&&(dt=St.createHTML(""));x&&x(Li),Eo=Li}},IA=K({},["mi","mo","mn","ms","mtext"]),ss=K({},["foreignobject","desc","title","annotation-xml"]),yd=K({},["title","style","font","a","script"]),Uu=K({},ie);K(Uu,z),K(Uu,oe);let rf=K({},le);K(rf,Ae);let Qh=function(Li){let qn=Pt(Li);(!qn||!qn.tagName)&&(qn={namespaceURI:mr,tagName:"template"});let vn=S(Li.tagName),bs=S(qn.tagName);return en[Li.namespaceURI]?Li.namespaceURI===ci?qn.namespaceURI===ki?vn==="svg":qn.namespaceURI===Zd?vn==="svg"&&(bs==="annotation-xml"||IA[bs]):!!Uu[vn]:Li.namespaceURI===Zd?qn.namespaceURI===ki?vn==="math":qn.namespaceURI===ci?vn==="math"&&ss[bs]:!!rf[vn]:Li.namespaceURI===ki?qn.namespaceURI===ci&&!ss[bs]||qn.namespaceURI===Zd&&!IA[bs]?!1:!rf[vn]&&(yd[vn]||!Uu[vn]):!!(pn==="application/xhtml+xml"&&en[Li.namespaceURI]):!1},Lc=function(Li){D(we.removed,{element:Li});try{Li.parentNode.removeChild(Li)}catch{Li.remove()}},Jm=function(Li,qn){try{D(we.removed,{attribute:qn.getAttributeNode(Li),from:qn})}catch{D(we.removed,{attribute:null,from:qn})}if(qn.removeAttribute(Li),Li==="is"&&!Ht[Li])if(Ho||Ol)try{Lc(qn)}catch{}else try{qn.setAttribute(Li,"")}catch{}},Dp=function(Li){let qn,vn;if(_a)Li=""+Li;else{let Fa=R(Li,/^[\r\n\t ]+/);vn=Fa&&Fa[0]}pn==="application/xhtml+xml"&&mr===ki&&(Li=''+Li+"");let bs=St?St.createHTML(Li):Li;if(mr===ki)try{qn=new ft().parseFromString(bs,pn)}catch{}if(!qn||!qn.documentElement){qn=Le.createDocument(mr,"template",null);try{qn.documentElement.innerHTML=zr?dt:bs}catch{}}let AA=qn.body||qn.documentElement;return Li&&vn&&AA.insertBefore(ze.createTextNode(vn),AA.childNodes[0]||null),mr===ki?vt.call(qn,Gn?"html":"body")[0]:Gn?qn.documentElement:AA},Wv=function(Li){return _e.call(Li.ownerDocument||Li,Li,At.SHOW_ELEMENT|At.SHOW_COMMENT|At.SHOW_TEXT,null,!1)},ZC=function(Li){return Li instanceof at&&(typeof Li.nodeName!="string"||typeof Li.textContent!="string"||typeof Li.removeChild!="function"||!(Li.attributes instanceof yt)||typeof Li.removeAttribute!="function"||typeof Li.setAttribute!="function"||typeof Li.namespaceURI!="string"||typeof Li.insertBefore!="function"||typeof Li.hasChildNodes!="function")},Km=function(Li){return typeof Ze=="object"?Li instanceof Ze:Li&&typeof Li=="object"&&typeof Li.nodeType=="number"&&typeof Li.nodeName=="string"},Ou=function(Li,qn,vn){Bt[Li]&&M(Bt[Li],bs=>{bs.call(we,qn,vn,Eo)})},ty=function(Li){let qn;if(Ou("beforeSanitizeElements",Li,null),ZC(Li))return Lc(Li),!0;let vn=to(Li.nodeName);if(Ou("uponSanitizeElement",Li,{tagName:vn,allowedTags:di}),Li.hasChildNodes()&&!Km(Li.firstElementChild)&&(!Km(Li.content)||!Km(Li.content.firstElementChild))&&U(/<[/\w]/g,Li.innerHTML)&&U(/<[/\w]/g,Li.textContent))return Lc(Li),!0;if(!di[vn]||bt[vn]){if(!bt[vn]&&Wm(vn)&&(gt.tagNameCheck instanceof RegExp&&U(gt.tagNameCheck,vn)||gt.tagNameCheck instanceof Function&>.tagNameCheck(vn)))return!1;if(Nf&&!Xu[vn]){let bs=Pt(Li)||Li.parentNode,AA=It(Li)||Li.childNodes;if(AA&&bs){let Fa=AA.length;for(let Ve=Fa-1;Ve>=0;--Ve)bs.insertBefore(pt(AA[Ve],!0),zt(Li))}}return Lc(Li),!0}return Li instanceof rt&&!Qh(Li)||(vn==="noscript"||vn==="noembed")&&U(/<\/no(script|embed)/i,Li.innerHTML)?(Lc(Li),!0):(Mn&&Li.nodeType===3&&(qn=Li.textContent,qn=T(qn,bi," "),qn=T(qn,nr," "),qn=T(qn,Ai," "),Li.textContent!==qn&&(D(we.removed,{element:Li.cloneNode()}),Li.textContent=qn)),Ou("afterSanitizeElements",Li,null),!1)},$C=function(Li,qn,vn){if(oh&&(qn==="id"||qn==="name")&&(vn in ze||vn in La))return!1;if(!(Oi&&!Ot[qn]&&U(xi,qn))&&!(Wt&&U(Fi,qn))){if(!Ht[qn]||Ot[qn]){if(!(Wm(Li)&&(gt.tagNameCheck instanceof RegExp&&U(gt.tagNameCheck,Li)||gt.tagNameCheck instanceof Function&>.tagNameCheck(Li))&&(gt.attributeNameCheck instanceof RegExp&&U(gt.attributeNameCheck,qn)||gt.attributeNameCheck instanceof Function&>.attributeNameCheck(qn))||qn==="is"&>.allowCustomizedBuiltInElements&&(gt.tagNameCheck instanceof RegExp&&U(gt.tagNameCheck,vn)||gt.tagNameCheck instanceof Function&>.tagNameCheck(vn))))return!1}else if(!R0[qn]&&!U(Kt,T(vn,Vt,""))&&!((qn==="src"||qn==="xlink:href"||qn==="href")&&Li!=="script"&&L(vn,"data:")===0&&Xd[Li])&&!(Ci&&!U(pi,T(vn,Vt,"")))&&vn)return!1}return!0},Wm=function(Li){return Li.indexOf("-")>0},eE=function(Li){let qn,vn,bs,AA;Ou("beforeSanitizeAttributes",Li,null);let{attributes:Fa}=Li;if(!Fa)return;let Ve={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ht};for(AA=Fa.length;AA--;){qn=Fa[AA];let{name:ht,namespaceURI:xt}=qn;if(vn=ht==="value"?qn.value:F(qn.value),bs=to(ht),Ve.attrName=bs,Ve.attrValue=vn,Ve.keepAttr=!0,Ve.forceKeepAttr=void 0,Ou("uponSanitizeAttribute",Li,Ve),vn=Ve.attrValue,Ve.forceKeepAttr||(Jm(ht,Li),!Ve.keepAttr))continue;if(!so&&U(/\/>/i,vn)){Jm(ht,Li);continue}Mn&&(vn=T(vn,bi," "),vn=T(vn,nr," "),vn=T(vn,Ai," "));let Yt=to(Li.nodeName);if($C(Yt,bs,vn)){if(su&&(bs==="id"||bs==="name")&&(Jm(ht,Li),vn=Bg+vn),St&&typeof _t=="object"&&typeof _t.getAttributeType=="function"&&!xt)switch(_t.getAttributeType(Yt,bs)){case"TrustedHTML":{vn=St.createHTML(vn);break}case"TrustedScriptURL":{vn=St.createScriptURL(vn);break}}try{xt?Li.setAttributeNS(xt,ht,vn):Li.setAttribute(ht,vn),B(we.removed)}catch{}}}Ou("afterSanitizeAttributes",Li,null)},tE=function Li(qn){let vn,bs=Wv(qn);for(Ou("beforeSanitizeShadowDOM",qn,null);vn=bs.nextNode();)Ou("uponSanitizeShadowNode",vn,null),!ty(vn)&&(vn.content instanceof Je&&Li(vn.content),eE(vn));Ou("afterSanitizeShadowDOM",qn,null)};return we.sanitize=function(Li){let qn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},vn,bs,AA,Fa;if(zr=!Li,zr&&(Li=""),typeof Li!="string"&&!Km(Li))if(typeof Li.toString=="function"){if(Li=Li.toString(),typeof Li!="string")throw N("dirty is not a string, aborting")}else throw N("toString is not a function");if(!we.isSupported)return Li;if(Da||Uo(qn),we.removed=[],typeof Li=="string"&&(T0=!1),T0){if(Li.nodeName){let xt=to(Li.nodeName);if(!di[xt]||bt[xt])throw N("root node is forbidden and cannot be sanitized in-place")}}else if(Li instanceof Ze)vn=Dp(""),bs=vn.ownerDocument.importNode(Li,!0),bs.nodeType===1&&bs.nodeName==="BODY"||bs.nodeName==="HTML"?vn=bs:vn.appendChild(bs);else{if(!Ho&&!Mn&&!Gn&&Li.indexOf("<")===-1)return St&&au?St.createHTML(Li):Li;if(vn=Dp(Li),!vn)return Ho?null:au?dt:""}vn&&_a&&Lc(vn.firstChild);let Ve=Wv(T0?Li:vn);for(;AA=Ve.nextNode();)ty(AA)||(AA.content instanceof Je&&tE(AA.content),eE(AA));if(T0)return Li;if(Ho){if(Ol)for(Fa=Oe.call(vn.ownerDocument);vn.firstChild;)Fa.appendChild(vn.firstChild);else Fa=vn;return(Ht.shadowroot||Ht.shadowrootmod)&&(Fa=wt.call(Fe,Fa,!0)),Fa}let ht=Gn?vn.outerHTML:vn.innerHTML;return Gn&&di["!doctype"]&&vn.ownerDocument&&vn.ownerDocument.doctype&&vn.ownerDocument.doctype.name&&U(ye,vn.ownerDocument.doctype.name)&&(ht=" `+ht),Mn&&(ht=T(ht,bi," "),ht=T(ht,nr," "),ht=T(ht,Ai," ")),St&&au?St.createHTML(ht):ht},we.setConfig=function(Li){Uo(Li),Da=!0},we.clearConfig=function(){Eo=null,Da=!1},we.isValidAttribute=function(Li,qn,vn){Eo||Uo({});let bs=to(Li),AA=to(qn);return $C(bs,AA,vn)},we.addHook=function(Li,qn){typeof qn=="function"&&(Bt[Li]=Bt[Li]||[],D(Bt[Li],qn))},we.removeHook=function(Li){if(Bt[Li])return B(Bt[Li])},we.removeHooks=function(Li){Bt[Li]&&(Bt[Li]=[])},we.removeAllHooks=function(){Bt={}},we}var Ne=ke();return Ne})}),pht=Et((o,A)=>{"use strict";A.exports=f,A.exports.default=f;function f(he,ge,de){de=de||2;var fe=ge&&ge.length,G=fe?ge[0]*de:he.length,Y=m(he,0,G,de,!0),W=[];if(!Y||Y.next===Y.prev)return W;var O,re,se,ce,me,Ce,ye;if(fe&&(Y=w(he,ge,Y,de)),he.length>80*de){O=se=he[0],re=ce=he[1];for(var Be=de;Bese&&(se=me),Ce>ce&&(ce=Ce);ye=Math.max(se-O,ce-re),ye=ye!==0?32767/ye:0}return E(Y,W,de,O,re,ye,0),W}function m(he,ge,de,fe,G){var Y,W;if(G===Ae(he,ge,de,fe)>0)for(Y=ge;Y=ge;Y-=fe)W=z(Y,he[Y],he[Y+1],W);return W&&N(W,W.next)&&(oe(W),W=W.next),W}function C(he,ge){if(!he)return he;ge||(ge=he);var de=he,fe;do if(fe=!1,!de.steiner&&(N(de,de.next)||U(de.prev,de,de.next)===0)){if(oe(de),de=ge=de.prev,de===de.next)break;fe=!0}else de=de.next;while(fe||de!==ge);return ge}function E(he,ge,de,fe,G,Y,W){if(he){!W&&Y&&S(he,fe,G,Y);for(var O=he,re,se;he.prev!==he.next;){if(re=he.prev,se=he.next,Y?x(he,fe,G,Y):I(he)){ge.push(re.i/de|0),ge.push(he.i/de|0),ge.push(se.i/de|0),oe(he),he=se.next,O=se.next;continue}if(he=se,he===O){W?W===1?(he=y(C(he),ge,de),E(he,ge,de,fe,G,Y,2)):W===2&&v(he,ge,de,fe,G,Y):E(C(he),ge,de,fe,G,Y,1);break}}}}function I(he){var ge=he.prev,de=he,fe=he.next;if(U(ge,de,fe)>=0)return!1;for(var G=ge.x,Y=de.x,W=fe.x,O=ge.y,re=de.y,se=fe.y,ce=GY?G>W?G:W:Y>W?Y:W,ye=O>re?O>se?O:se:re>se?re:se,Be=fe.next;Be!==ge;){if(Be.x>=ce&&Be.x<=Ce&&Be.y>=me&&Be.y<=ye&&L(G,O,Y,re,W,se,Be.x,Be.y)&&U(Be.prev,Be,Be.next)>=0)return!1;Be=Be.next}return!0}function x(he,ge,de,fe){var G=he.prev,Y=he,W=he.next;if(U(G,Y,W)>=0)return!1;for(var O=G.x,re=Y.x,se=W.x,ce=G.y,me=Y.y,Ce=W.y,ye=Ore?O>se?O:se:re>se?re:se,He=ce>me?ce>Ce?ce:Ce:me>Ce?me:Ce,ke=R(ye,Be,ge,de,fe),Ne=R(Me,He,ge,de,fe),Pe=he.prevZ,we=he.nextZ;Pe&&Pe.z>=ke&&we&&we.z<=Ne;){if(Pe.x>=ye&&Pe.x<=Me&&Pe.y>=Be&&Pe.y<=He&&Pe!==G&&Pe!==W&&L(O,ce,re,me,se,Ce,Pe.x,Pe.y)&&U(Pe.prev,Pe,Pe.next)>=0||(Pe=Pe.prevZ,we.x>=ye&&we.x<=Me&&we.y>=Be&&we.y<=He&&we!==G&&we!==W&&L(O,ce,re,me,se,Ce,we.x,we.y)&&U(we.prev,we,we.next)>=0))return!1;we=we.nextZ}for(;Pe&&Pe.z>=ke;){if(Pe.x>=ye&&Pe.x<=Me&&Pe.y>=Be&&Pe.y<=He&&Pe!==G&&Pe!==W&&L(O,ce,re,me,se,Ce,Pe.x,Pe.y)&&U(Pe.prev,Pe,Pe.next)>=0)return!1;Pe=Pe.prevZ}for(;we&&we.z<=Ne;){if(we.x>=ye&&we.x<=Me&&we.y>=Be&&we.y<=He&&we!==G&&we!==W&&L(O,ce,re,me,se,Ce,we.x,we.y)&&U(we.prev,we,we.next)>=0)return!1;we=we.nextZ}return!0}function y(he,ge,de){var fe=he;do{var G=fe.prev,Y=fe.next.next;!N(G,Y)&&H(G,fe,fe.next,Y)&&j(G,Y)&&j(Y,G)&&(ge.push(G.i/de|0),ge.push(fe.i/de|0),ge.push(Y.i/de|0),oe(fe),oe(fe.next),fe=he=Y),fe=fe.next}while(fe!==he);return C(fe)}function v(he,ge,de,fe,G,Y){var W=he;do{for(var O=W.next.next;O!==W.prev;){if(W.i!==O.i&&F(W,O)){var re=ie(W,O);W=C(W,W.next),re=C(re,re.next),E(W,ge,de,fe,G,Y,0),E(re,ge,de,fe,G,Y,0);return}O=O.next}W=W.next}while(W!==he)}function w(he,ge,de,fe){var G=[],Y,W,O,re,se;for(Y=0,W=ge.length;Y=de.next.y&&de.next.y!==de.y){var O=de.x+(G-de.y)*(de.next.x-de.x)/(de.next.y-de.y);if(O<=fe&&O>Y&&(Y=O,W=de.x=de.x&&de.x>=se&&fe!==de.x&&L(GW.x||de.x===W.x&&D(W,de)))&&(W=de,me=Ce)),de=de.next;while(de!==re);return W}function D(he,ge){return U(he.prev,he,ge.prev)<0&&U(ge.next,he,he.next)<0}function S(he,ge,de,fe){var G=he;do G.z===0&&(G.z=R(G.x,G.y,ge,de,fe)),G.prevZ=G.prev,G.nextZ=G.next,G=G.next;while(G!==he);G.prevZ.nextZ=null,G.prevZ=null,P(G)}function P(he){var ge,de,fe,G,Y,W,O,re,se=1;do{for(de=he,he=null,Y=null,W=0;de;){for(W++,fe=de,O=0,ge=0;ge0||re>0&&fe;)O!==0&&(re===0||!fe||de.z<=fe.z)?(G=de,de=de.nextZ,O--):(G=fe,fe=fe.nextZ,re--),Y?Y.nextZ=G:he=G,G.prevZ=Y,Y=G;de=fe}Y.nextZ=null,se*=2}while(W>1);return he}function R(he,ge,de,fe,G){return he=(he-de)*G|0,ge=(ge-fe)*G|0,he=(he|he<<8)&16711935,he=(he|he<<4)&252645135,he=(he|he<<2)&858993459,he=(he|he<<1)&1431655765,ge=(ge|ge<<8)&16711935,ge=(ge|ge<<4)&252645135,ge=(ge|ge<<2)&858993459,ge=(ge|ge<<1)&1431655765,he|ge<<1}function T(he){var ge=he,de=he;do(ge.x=(he-W)*(Y-O)&&(he-W)*(fe-O)>=(de-W)*(ge-O)&&(de-W)*(Y-O)>=(G-W)*(fe-O)}function F(he,ge){return he.next.i!==ge.i&&he.prev.i!==ge.i&&!X(he,ge)&&(j(he,ge)&&j(ge,he)&&ee(he,ge)&&(U(he.prev,he,ge.prev)||U(he,ge.prev,ge))||N(he,ge)&&U(he.prev,he,he.next)>0&&U(ge.prev,ge,ge.next)>0)}function U(he,ge,de){return(ge.y-he.y)*(de.x-ge.x)-(ge.x-he.x)*(de.y-ge.y)}function N(he,ge){return he.x===ge.x&&he.y===ge.y}function H(he,ge,de,fe){var G=K(U(he,ge,de)),Y=K(U(he,ge,fe)),W=K(U(de,fe,he)),O=K(U(de,fe,ge));return!!(G!==Y&&W!==O||G===0&&J(he,de,ge)||Y===0&&J(he,fe,ge)||W===0&&J(de,he,fe)||O===0&&J(de,ge,fe))}function J(he,ge,de){return ge.x<=Math.max(he.x,de.x)&&ge.x>=Math.min(he.x,de.x)&&ge.y<=Math.max(he.y,de.y)&&ge.y>=Math.min(he.y,de.y)}function K(he){return he>0?1:he<0?-1:0}function X(he,ge){var de=he;do{if(de.i!==he.i&&de.next.i!==he.i&&de.i!==ge.i&&de.next.i!==ge.i&&H(de,de.next,he,ge))return!0;de=de.next}while(de!==he);return!1}function j(he,ge){return U(he.prev,he,he.next)<0?U(he,ge,he.next)>=0&&U(he,he.prev,ge)>=0:U(he,ge,he.prev)<0||U(he,he.next,ge)<0}function ee(he,ge){var de=he,fe=!1,G=(he.x+ge.x)/2,Y=(he.y+ge.y)/2;do de.y>Y!=de.next.y>Y&&de.next.y!==de.y&&G<(de.next.x-de.x)*(Y-de.y)/(de.next.y-de.y)+de.x&&(fe=!fe),de=de.next;while(de!==he);return fe}function ie(he,ge){var de=new le(he.i,he.x,he.y),fe=new le(ge.i,ge.x,ge.y),G=he.next,Y=ge.prev;return he.next=ge,ge.prev=he,de.next=G,G.prev=de,fe.next=de,de.prev=fe,Y.next=fe,fe.prev=Y,fe}function z(he,ge,de,fe){var G=new le(he,ge,de);return fe?(G.next=fe.next,G.prev=fe,fe.next.prev=G,fe.next=G):(G.prev=G,G.next=G),G}function oe(he){he.next.prev=he.prev,he.prev.next=he.next,he.prevZ&&(he.prevZ.nextZ=he.nextZ),he.nextZ&&(he.nextZ.prevZ=he.prevZ)}function le(he,ge,de){this.i=he,this.x=ge,this.y=de,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}f.deviation=function(he,ge,de,fe){var G=ge&&ge.length,Y=G?ge[0]*de:he.length,W=Math.abs(Ae(he,0,Y,de));if(G)for(var O=0,re=ge.length;O0&&(fe+=he[G-1].length,de.holes.push(fe))}return de}}),mht=Et((o,A)=>{/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */(function(){var f,m="4.17.21",C=200,E="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",I="Expected a function",x="Invalid `variable` option passed into `_.template`",y="__lodash_hash_undefined__",v=500,w="__lodash_placeholder__",Q=1,M=2,B=4,D=1,S=2,P=1,R=2,T=4,L=8,F=16,U=32,N=64,H=128,J=256,K=512,X=30,j="...",ee=800,ie=16,z=1,oe=2,le=3,Ae=1/0,he=9007199254740991,ge=17976931348623157e292,de=0/0,fe=4294967295,G=fe-1,Y=fe>>>1,W=[["ary",H],["bind",P],["bindKey",R],["curry",L],["curryRight",F],["flip",K],["partial",U],["partialRight",N],["rearg",J]],O="[object Arguments]",re="[object Array]",se="[object AsyncFunction]",ce="[object Boolean]",me="[object Date]",Ce="[object DOMException]",ye="[object Error]",Be="[object Function]",Me="[object GeneratorFunction]",He="[object Map]",ke="[object Number]",Ne="[object Null]",Pe="[object Object]",we="[object Promise]",Fe="[object Proxy]",Ue="[object RegExp]",ze="[object Set]",Je="[object String]",je="[object Symbol]",Ze="[object Undefined]",rt="[object WeakMap]",At="[object WeakSet]",yt="[object ArrayBuffer]",at="[object DataView]",ft="[object Float32Array]",_t="[object Float64Array]",et="[object Int8Array]",pt="[object Int16Array]",zt="[object Int32Array]",It="[object Uint8Array]",Pt="[object Uint8ClampedArray]",St="[object Uint16Array]",dt="[object Uint32Array]",Le=/\b__p \+= '';/g,_e=/\b(__p \+=) '' \+/g,Oe=/(__e\(.*?\)|\b__t\)) \+\n'';/g,vt=/&(?:amp|lt|gt|quot|#39);/g,wt=/[&<>"']/g,Bt=RegExp(vt.source),bi=RegExp(wt.source),nr=/<%-([\s\S]+?)%>/g,Ai=/<%([\s\S]+?)%>/g,xi=/<%=([\s\S]+?)%>/g,Fi=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,pi=/^\w*$/,Vt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Kt=/[\\^$.*+?()[\]{}|]/g,di=RegExp(Kt.source),ui=/^\s+/,Ht=/\s/,Ei=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,gt=/\{\n\/\* \[wrapped with (.+)\] \*/,bt=/,? & /,Ot=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Wt=/[()=,{}\[\]\/\s]/,Oi=/\\(\\)?/g,Ci=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,so=/\w*$/,Mn=/^[-+]0x[0-9a-f]+$/i,Gn=/^0b[01]+$/i,Da=/^\[object .+?Constructor\]$/,_a=/^0o[0-7]+$/i,Ho=/^(?:0|[1-9]\d*)$/,Ol=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,au=/($^)/,oh=/['\n\r\u2028\u2029\\]/g,su="\\ud800-\\udfff",Bg="\\u0300-\\u036f",Nf="\\ufe20-\\ufe2f",T0="\\u20d0-\\u20ff",P0=Bg+Nf+T0,Xu="\\u2700-\\u27bf",Qp="a-z\\xdf-\\xf6\\xf8-\\xff",Xd="\\xac\\xb1\\xd7\\xf7",qA="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",R0="\\u2000-\\u206f",Sp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Zd="A-Z\\xc0-\\xd6\\xd8-\\xde",ci="\\ufe0e\\ufe0f",ki=Xd+qA+R0+Sp,mr="['\u2019]",zr="["+su+"]",en="["+ki+"]",Mr="["+P0+"]",pn="\\d+",Sn="["+Xu+"]",jr="["+Qp+"]",to="[^"+su+ki+pn+Xu+Qp+Zd+"]",Eo="\\ud83c[\\udffb-\\udfff]",La="(?:"+Mr+"|"+Eo+")",Gl="[^"+su+"]",Uo="(?:\\ud83c[\\udde6-\\uddff]){2}",IA="[\\ud800-\\udbff][\\udc00-\\udfff]",ss="["+Zd+"]",yd="\\u200d",Uu="(?:"+jr+"|"+to+")",rf="(?:"+ss+"|"+to+")",Qh="(?:"+mr+"(?:d|ll|m|re|s|t|ve))?",Lc="(?:"+mr+"(?:D|LL|M|RE|S|T|VE))?",Jm=La+"?",Dp="["+ci+"]?",Wv="(?:"+yd+"(?:"+[Gl,Uo,IA].join("|")+")"+Dp+Jm+")*",ZC="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Km="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ou=Dp+Jm+Wv,ty="(?:"+[Sn,Uo,IA].join("|")+")"+Ou,$C="(?:"+[Gl+Mr+"?",Mr,Uo,IA,zr].join("|")+")",Wm=RegExp(mr,"g"),eE=RegExp(Mr,"g"),tE=RegExp(Eo+"(?="+Eo+")|"+$C+Ou,"g"),Li=RegExp([ss+"?"+jr+"+"+Qh+"(?="+[en,ss,"$"].join("|")+")",rf+"+"+Lc+"(?="+[en,ss+Uu,"$"].join("|")+")",ss+"?"+Uu+"+"+Qh,ss+"+"+Lc,Km,ZC,pn,ty].join("|"),"g"),qn=RegExp("["+yd+su+P0+ci+"]"),vn=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,bs=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],AA=-1,Fa={};Fa[ft]=Fa[_t]=Fa[et]=Fa[pt]=Fa[zt]=Fa[It]=Fa[Pt]=Fa[St]=Fa[dt]=!0,Fa[O]=Fa[re]=Fa[yt]=Fa[ce]=Fa[at]=Fa[me]=Fa[ye]=Fa[Be]=Fa[He]=Fa[ke]=Fa[Pe]=Fa[Ue]=Fa[ze]=Fa[Je]=Fa[rt]=!1;var Ve={};Ve[O]=Ve[re]=Ve[yt]=Ve[at]=Ve[ce]=Ve[me]=Ve[ft]=Ve[_t]=Ve[et]=Ve[pt]=Ve[zt]=Ve[He]=Ve[ke]=Ve[Pe]=Ve[Ue]=Ve[ze]=Ve[Je]=Ve[je]=Ve[It]=Ve[Pt]=Ve[St]=Ve[dt]=!0,Ve[ye]=Ve[Be]=Ve[rt]=!1;var ht={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},xt={"&":"&","<":"<",">":">",'"':""","'":"'"},Yt={"&":"&","<":"<",">":">",""":'"',"'":"'"},li={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Di=parseFloat,Ar=parseInt,nn=typeof global=="object"&&global&&global.Object===Object&&global,ra=typeof self=="object"&&self&&self.Object===Object&&self,Na=nn||ra||Function("return this")(),$l=typeof o=="object"&&o&&!o.nodeType&&o,$d=$l&&typeof A=="object"&&A&&!A.nodeType&&A,wg=$d&&$d.exports===$l,L0=wg&&nn.process,Gu=function(){try{var Ki=$d&&$d.require&&$d.require("util").types;return Ki||L0&&L0.binding&&L0.binding("util")}catch{}}(),Xa=Gu&&Gu.isArrayBuffer,Mp=Gu&&Gu.isDate,iE=Gu&&Gu.isMap,eg=Gu&&Gu.isRegExp,rE=Gu&&Gu.isSet,Gb=Gu&&Gu.isTypedArray;function Zu(Ki,Lr,Qr){switch(Qr.length){case 0:return Ki.call(Lr);case 1:return Ki.call(Lr,Qr[0]);case 2:return Ki.call(Lr,Qr[0],Qr[1]);case 3:return Ki.call(Lr,Qr[0],Qr[1],Qr[2])}return Ki.apply(Lr,Qr)}function bg(Ki,Lr,Qr,$n){for(var ls=-1,cA=Ki==null?0:Ki.length;++ls-1}function tg(Ki,Lr,Qr){for(var $n=-1,ls=Ki==null?0:Ki.length;++$n-1;);return Qr}function uA(Ki,Lr){for(var Qr=Ki.length;Qr--&&qm(Lr,Ki[Qr],0)>-1;);return Qr}function gc(Ki,Lr){for(var Qr=Ki.length,$n=0;Qr--;)Ki[Qr]===Lr&&++$n;return $n}var nf=jm(ht),iw=jm(xt);function MI(Ki){return"\\"+li[Ki]}function rw(Ki,Lr){return Ki==null?f:Ki[Lr]}function ry(Ki){return qn.test(Ki)}function qv(Ki){return vn.test(Ki)}function Yb(Ki){for(var Lr,Qr=[];!(Lr=Ki.next()).done;)Qr.push(Lr.value);return Qr}function XP(Ki){var Lr=-1,Qr=Array(Ki.size);return Ki.forEach(function($n,ls){Qr[++Lr]=[ls,$n]}),Qr}function ZP(Ki,Lr){return function(Qr){return Ki(Lr(Qr))}}function TI(Ki,Lr){for(var Qr=-1,$n=Ki.length,ls=0,cA=[];++Qr<$n;){var jA=Ki[Qr];(jA===Lr||jA===w)&&(Ki[Qr]=w,cA[ls++]=Qr)}return cA}function jv(Ki){var Lr=-1,Qr=Array(Ki.size);return Ki.forEach(function($n){Qr[++Lr]=$n}),Qr}function L3(Ki){var Lr=-1,Qr=Array(Ki.size);return Ki.forEach(function($n){Qr[++Lr]=[$n,$n]}),Qr}function eM(Ki,Lr,Qr){for(var $n=Qr-1,ls=Ki.length;++$n-1}function zs(Ie,Se){var Xe=this.__data__,ut=Cs(Xe,Ie);return ut<0?(++this.size,Xe.push([Ie,Se])):Xe[ut][1]=Se,this}ah.prototype.clear=a_,ah.prototype.delete=AG,ah.prototype.get=ng,ah.prototype.has=Rp,ah.prototype.set=zs;function za(Ie){var Se=-1,Xe=Ie==null?0:Ie.length;for(this.clear();++Se=Se?Ie:Se)),Ie}function Uf(Ie,Se,Xe,ut,Ut,oi){var yi,Mi=Se&Q,Zi=Se&M,Yr=Se&B;if(Xe&&(yi=Ut?Xe(Ie,ut,Ut,oi):Xe(Ie)),yi!==f)return yi;if(!As(Ie))return Ie;var Or=Ds(Ie);if(Or){if(yi=Ph(Ie),!Mi)return Bl(Ie,yi)}else{var sn=_d(Ie),Zn=sn==Be||sn==Me;if(I_(Ie))return nk(Ie,Mi);if(sn==Pe||sn==O||Zn&&!Ut){if(yi=Zi||Zn?{}:Tg(Ie),!Mi)return Zi?QR(Ie,Zb(yi,Ie)):sk(Ie,cM(yi,Ie))}else{if(!Ve[sn])return Ut?Ie:{};yi=PR(Ie,sn,Mi)}}oi||(oi=new ka);var zo=oi.get(Ie);if(zo)return zo;oi.set(Ie,yi),IQ(Ie)?Ie.forEach(function($o){yi.add(Uf($o,Se,Xe,$o,Ie,oi))}):xK(Ie)&&Ie.forEach(function($o,Ql){yi.set(Ql,Uf($o,Se,Xe,Ql,Ie,oi))});var io=Yr?Zi?DM:SM:Zi?Lg:us,lo=Or?f:io(Ie);return Fc(lo||Ie,function($o,Ql){lo&&(Ql=$o,$o=Ie[Ql]),fs(yi,Ql,Uf($o,Se,Xe,Ql,Ie,oi))}),yi}function AR(Ie){var Se=us(Ie);return function(Xe){return hM(Xe,Ie,Se)}}function hM(Ie,Se,Xe){var ut=Xe.length;if(Ie==null)return!ut;for(Ie=Hl(Ie);ut--;){var Ut=Xe[ut],oi=Se[Ut],yi=Ie[Ut];if(yi===f&&!(Ut in Ie)||!oi(yi))return!1}return!0}function eo(Ie,Se,Xe){if(typeof Ie!="function")throw new Sg(I);return yw(function(){Ie.apply(f,Xe)},Se)}function Kn(Ie,Se,Xe,ut){var Ut=-1,oi=iy,yi=!0,Mi=Ie.length,Zi=[],Yr=Se.length;if(!Mi)return Zi;Xe&&(Se=_l(Se,Vs(Xe))),ut?(oi=tg,yi=!1):Se.length>=C&&(oi=gs,yi=!1,Se=new ns(Se));e:for(;++UtUt?0:Ut+Xe),ut=ut===f||ut>Ut?Ut:sl(ut),ut<0&&(ut+=Ut),ut=Xe>ut?0:yQ(ut);Xe0&&Xe(Mi)?Se>1?mn(Mi,Se-1,Xe,ut,Ut):N0(Ut,Mi):ut||(Ut[Ut.length]=Mi)}return Ut}var qt=lk(),dM=lk(!0);function uE(Ie,Se){return Ie&&qt(Ie,Se,us)}function uR(Ie,Se){return Ie&&dM(Ie,Se,us)}function gM(Ie,Se){return kf(Se,function(Xe){return tc(Ie[Xe])})}function s_(Ie,Se){Se=LA(Se,Ie);for(var Xe=0,ut=Se.length;Ie!=null&&XeSe}function K3(Ie,Se){return Ie!=null&&RA.call(Ie,Se)}function W3(Ie,Se){return Ie!=null&&Se in Hl(Ie)}function q3(Ie,Se,Xe){return Ie>=ed(Se,Xe)&&Ie=120&&Or.length>=120)?new ns(yi&&Or):f}Or=Ie[0];var sn=-1,Zn=Mi[0];e:for(;++sn-1;)Mi!==Ie&&Zv.call(Mi,Zi,1),Zv.call(Ie,Zi,1);return Ie}function ek(Ie,Se){for(var Xe=Ie?Se.length:0,ut=Xe-1;Xe--;){var Ut=Se[Xe];if(Xe==ut||Ut!==oi){var oi=Ut;Op(Ut)?Zv.call(Ie,Ut,1):BR(Ie,Ut)}}return Ie}function EM(Ie,Se){return Ie+aM(qb()*(Se-Ie+1))}function IM(Ie,Se,Xe,ut){for(var Ut=-1,oi=Nc($v((Se-Ie)/(Xe||1)),0),yi=Qr(oi);oi--;)yi[ut?oi:++Ut]=Ie,Ie+=Xe;return yi}function fw(Ie,Se){var Xe="";if(!Ie||Se<1||Se>he)return Xe;do Se%2&&(Xe+=Ie),Se=aM(Se/2),Se&&(Ie+=Ie);while(Se);return Xe}function ks(Ie,Se){return H0(Ay(Ie,Se,Xf),Ie+"")}function hG(Ie){return Ns(qf(Ie))}function _R(Ie,Se){var Xe=qf(Ie);return fQ(Xe,LI(Se,0,Xe.length))}function pw(Ie,Se,Xe,ut){if(!As(Ie))return Ie;Se=LA(Se,Ie);for(var Ut=-1,oi=Se.length,yi=oi-1,Mi=Ie;Mi!=null&&++UtUt?0:Ut+Se),Xe=Xe>Ut?Ut:Xe,Xe<0&&(Xe+=Ut),Ut=Se>Xe?0:Xe-Se>>>0,Se>>>=0;for(var oi=Qr(Ut);++ut>>1,yi=Ie[oi];yi!==null&&!kh(yi)&&(Xe?yi<=Se:yi=C){var Yr=Se?null:G0(Ie);if(Yr)return jv(Yr);yi=!1,Ut=gs,Zi=new ns}else Zi=Se?[]:Mi;e:for(;++ut=ut?Ie:Fp(Ie,Se,Xe)}var oQ=RI||function(Ie){return Na.clearTimeout(Ie)};function nk(Ie,Se){if(Se)return Ie.slice();var Xe=Ie.length,ut=of?of(Xe):new Ie.constructor(Xe);return Ie.copy(ut),ut}function wR(Ie){var Se=new Ie.constructor(Ie.byteLength);return new Kb(Se).set(new Kb(Ie)),Se}function fG(Ie,Se){var Xe=Se?wR(Ie.buffer):Ie.buffer;return new Ie.constructor(Xe,Ie.byteOffset,Ie.byteLength)}function ok(Ie){var Se=new Ie.constructor(Ie.source,so.exec(Ie));return Se.lastIndex=Ie.lastIndex,Se}function bR(Ie){return lw?Hl(lw.call(Ie)):{}}function vM(Ie,Se){var Xe=Se?wR(Ie.buffer):Ie.buffer;return new Ie.constructor(Xe,Ie.byteOffset,Ie.length)}function tC(Ie,Se){if(Ie!==Se){var Xe=Ie!==f,ut=Ie===null,Ut=Ie===Ie,oi=kh(Ie),yi=Se!==f,Mi=Se===null,Zi=Se===Se,Yr=kh(Se);if(!Mi&&!Yr&&!oi&&Ie>Se||oi&&yi&&Zi&&!Mi&&!Yr||ut&&yi&&Zi||!Xe&&Zi||!Ut)return 1;if(!ut&&!oi&&!Yr&&Ie=Mi)return Zi;var Yr=Xe[ut];return Zi*(Yr=="desc"?-1:1)}}return Ie.index-Se.index}function cE(Ie,Se,Xe,ut){for(var Ut=-1,oi=Ie.length,yi=Xe.length,Mi=-1,Zi=Se.length,Yr=Nc(oi-yi,0),Or=Qr(Zi+Yr),sn=!ut;++Mi1?Xe[Ut-1]:f,yi=Ut>2?Xe[2]:f;for(oi=Ie.length>3&&typeof oi=="function"?(Ut--,oi):f,yi&&og(Xe[0],Xe[1],yi)&&(oi=Ut<3?f:oi,Ut=1),Se=Hl(Se);++ut-1?Ut[oi?Se[yi]:yi]:f}}function Gf(Ie){return dE(function(Se){var Xe=Se.length,ut=Xe,Ut=td.prototype.thru;for(Ie&&Se.reverse();ut--;){var oi=Se[ut];if(typeof oi!="function")throw new Sg(I);if(Ut&&!yi&&AQ(oi)=="wrapper")var yi=new td([],!0)}for(ut=yi?ut:Xe;++ut1&&ys.reverse(),Or&&ZiMi))return!1;var Yr=oi.get(Ie),Or=oi.get(Se);if(Yr&&Or)return Yr==Se&&Or==Ie;var sn=-1,Zn=!0,zo=Xe&S?new ns:f;for(oi.set(Ie,Se),oi.set(Se,Ie);++sn1?"& ":"")+Se[ut],Se=Se.join(Xe>2?", ":" "),Ie.replace(Ei,`{ /* [wrapped with `+Se+`] */ `)}function LR(Ie){return Ds(Ie)||Tw(Ie)||!!(U3&&Ie&&Ie[U3])}function Op(Ie,Se){var Xe=typeof Ie;return Se=Se??he,!!Se&&(Xe=="number"||Xe!="symbol"&&Ho.test(Ie))&&Ie>-1&&Ie%1==0&&Ie0){if(++Se>=ee)return arguments[0]}else Se=0;return Ie.apply(f,arguments)}}function fQ(Ie,Se){var Xe=-1,ut=Ie.length,Ut=ut-1;for(Se=Se===f?ut:Se;++Xe1?Ie[Se-1]:f;return Xe=typeof Xe=="function"?(Ie.pop(),Xe):f,Vo(Ie,Xe)});function E_(Ie){var Se=ti(Ie);return Se.__chain__=!0,Se}function fc(Ie,Se){return Se(Ie),Ie}function Sw(Ie,Se){return Se(Ie)}var Dw=dE(function(Ie){var Se=Ie.length,Xe=Se?Ie[0]:0,ut=this.__wrapped__,Ut=function(oi){return $b(oi,Ie)};return Se>1||this.__actions__.length||!(ut instanceof Cl)||!Op(Xe)?this.thru(Ut):(ut=ut.slice(Xe,+Xe+(Se?1:0)),ut.__actions__.push({func:Sw,args:[Ut],thisArg:f}),new td(ut,this.__chain__).thru(function(oi){return Se&&!oi.length&&oi.push(f),oi}))});function xe(){return E_(this)}function Qe(){return new td(this.value(),this.__chain__)}function We(){this.__values__===f&&(this.__values__=Uh(this.value()));var Ie=this.__index__>=this.__values__.length,Se=Ie?f:this.__values__[this.__index__++];return{done:Ie,value:Se}}function ct(){return this}function Gt(Ie){for(var Se,Xe=this;Xe instanceof Aw;){var ut=fk(Xe);ut.__index__=0,ut.__values__=f,Se?Ut.__wrapped__=ut:Se=ut;var Ut=ut;Xe=Xe.__wrapped__}return Ut.__wrapped__=Ie,Se}function Xt(){var Ie=this.__wrapped__;if(Ie instanceof Cl){var Se=Ie;return this.__actions__.length&&(Se=new Cl(this)),Se=Se.reverse(),Se.__actions__.push({func:Sw,args:[LM],thisArg:f}),new td(Se,this.__chain__)}return this.thru(LM)}function wi(){return rk(this.__wrapped__,this.__actions__)}var Ui=_M(function(Ie,Se,Xe){RA.call(Ie,Xe)?++Ie[Xe]:Lp(Ie,Xe,1)});function qi(Ie,Se,Xe){var ut=Ds(Ie)?F0:da;return Xe&&og(Ie,Se,Xe)&&(Se=f),ut(Ie,Ea(Se,3))}function Ur(Ie,Se){var Xe=Ds(Ie)?kf:al;return Xe(Ie,Ea(Se,3))}var Wr=aQ(sf),an=aQ(pQ);function Wn(Ie,Se){return mn(Lh(Ie,Se),1)}function Mo(Ie,Se){return mn(Lh(Ie,Se),Ae)}function Ta(Ie,Se,Xe){return Xe=Xe===f?1:sl(Xe),mn(Lh(Ie,Se),Xe)}function Is(Ie,Se){var Xe=Ds(Ie)?Fc:Io;return Xe(Ie,Ea(Se,3))}function Hn(Ie,Se){var Xe=Ds(Ie)?nE:_o;return Xe(Ie,Ea(Se,3))}var Za=_M(function(Ie,Se,Xe){RA.call(Ie,Xe)?Ie[Xe].push(Se):Lp(Ie,Xe,[Se])});function El(Ie,Se,Xe,ut){Ie=Cc(Ie)?Ie:qf(Ie),Xe=Xe&&!ut?sl(Xe):0;var Ut=Ie.length;return Xe<0&&(Xe=Nc(Ut+Xe,0)),Kf(Ie)?Xe<=Ut&&Ie.indexOf(Se,Xe)>-1:!!Ut&&qm(Ie,Se,Xe)>-1}var Yf=ks(function(Ie,Se,Xe){var ut=-1,Ut=typeof Se=="function",oi=Cc(Ie)?Qr(Ie.length):[];return Io(Ie,function(yi){oi[++ut]=Ut?Zu(Se,yi,Xe):hw(yi,Se,Xe)}),oi}),eA=_M(function(Ie,Se,Xe){Lp(Ie,Xe,Se)});function Lh(Ie,Se){var Xe=Ds(Ie)?_l:mR;return Xe(Ie,Ea(Se,3))}function kc(Ie,Se,Xe,ut){return Ie==null?[]:(Ds(Se)||(Se=Se==null?[]:[Se]),Xe=ut?f:Xe,Ds(Xe)||(Xe=Xe==null?[]:[Xe]),IR(Ie,Se,Xe))}var Uc=_M(function(Ie,Se,Xe){Ie[Xe?0:1].push(Se)},function(){return[[],[]]});function Jp(Ie,Se,Xe){var ut=Ds(Ie)?oE:sr,Ut=arguments.length<3;return ut(Ie,Ea(Se,4),Xe,Ut,Io)}function UI(Ie,Se,Xe){var ut=Ds(Ie)?aE:sr,Ut=arguments.length<3;return ut(Ie,Ea(Se,4),Xe,Ut,_o)}function Rl(Ie,Se){var Xe=Ds(Ie)?kf:al;return Xe(Ie,EE(Ea(Se,3)))}function lC(Ie){var Se=Ds(Ie)?Ns:hG;return Se(Ie)}function CE(Ie,Se,Xe){(Xe?og(Ie,Se,Xe):Se===f)?Se=1:Se=sl(Se);var ut=Ds(Ie)?il:_R;return ut(Ie,Se)}function AC(Ie){var Se=Ds(Ie)?rl:ik;return Se(Ie)}function Pg(Ie){if(Ie==null)return 0;if(Cc(Ie))return Kf(Ie)?PI(Ie):Ie.length;var Se=_d(Ie);return Se==He||Se==ze?Ie.size:eQ(Ie).length}function Mw(Ie,Se,Xe){var ut=Ds(Ie)?ew:gG;return Xe&&og(Ie,Se,Xe)&&(Se=f),ut(Ie,Ea(Se,3))}var Kp=ks(function(Ie,Se){if(Ie==null)return[];var Xe=Se.length;return Xe>1&&og(Ie,Se[0],Se[1])?Se=[]:Xe>2&&og(Se[0],Se[1],Se[2])&&(Se=[Se[0]]),IR(Ie,mn(Se,1),[])}),EQ=nR||function(){return Na.Date.now()};function qne(Ie,Se){if(typeof Se!="function")throw new Sg(I);return Ie=sl(Ie),function(){if(--Ie<1)return Se.apply(this,arguments)}}function fK(Ie,Se,Xe){return Se=Xe?f:Se,Se=Ie&&Se==null?Ie.length:Se,hE(Ie,H,f,f,f,f,Se)}function pK(Ie,Se){var Xe;if(typeof Se!="function")throw new Sg(I);return Ie=sl(Ie),function(){return--Ie>0&&(Xe=Se.apply(this,arguments)),Ie<=1&&(Se=f),Xe}}var _G=ks(function(Ie,Se,Xe){var ut=P;if(Xe.length){var Ut=TI(Xe,Iw(_G));ut|=U}return hE(Ie,ut,Se,Xe,Ut)}),mK=ks(function(Ie,Se,Xe){var ut=P|R;if(Xe.length){var Ut=TI(Xe,Iw(mK));ut|=U}return hE(Se,ut,Ie,Xe,Ut)});function CK(Ie,Se,Xe){Se=Xe?f:Se;var ut=hE(Ie,L,f,f,f,f,f,Se);return ut.placeholder=CK.placeholder,ut}function z0(Ie,Se,Xe){Se=Xe?f:Se;var ut=hE(Ie,F,f,f,f,f,f,Se);return ut.placeholder=z0.placeholder,ut}function xk(Ie,Se,Xe){var ut,Ut,oi,yi,Mi,Zi,Yr=0,Or=!1,sn=!1,Zn=!0;if(typeof Ie!="function")throw new Sg(I);Se=hC(Se)||0,As(Xe)&&(Or=!!Xe.leading,sn="maxWait"in Xe,oi=sn?Nc(hC(Xe.maxWait)||0,Se):oi,Zn="trailing"in Xe?!!Xe.trailing:Zn);function zo(nd){var $f=ut,kA=Ut;return ut=Ut=f,Yr=nd,yi=Ie.apply(kA,$f),yi}function io(nd){return Yr=nd,Mi=yw(Ql,Se),Or?zo(nd):yi}function lo(nd){var $f=nd-Zi,kA=nd-Yr,Gc=Se-$f;return sn?ed(Gc,oi-kA):Gc}function $o(nd){var $f=nd-Zi,kA=nd-Yr;return Zi===f||$f>=Se||$f<0||sn&&kA>=oi}function Ql(){var nd=EQ();if($o(nd))return ys(nd);Mi=yw(Ql,lo(nd))}function ys(nd){return Mi=f,Zn&&ut?zo(nd):(ut=Ut=f,yi)}function Pd(){Mi!==f&&oQ(Mi),Yr=0,ut=Zi=Ut=Mi=f}function ic(){return Mi===f?yi:ys(EQ())}function $A(){var nd=EQ(),$f=$o(nd);if(ut=arguments,Ut=this,Zi=nd,$f){if(Mi===f)return io(Zi);if(sn)return oQ(Mi),Mi=yw(Ql,Se),zo(Zi)}return Mi===f&&(Mi=yw(Ql,Se)),yi}return $A.cancel=Pd,$A.flush=ic,$A}var pc=ks(function(Ie,Se){return eo(Ie,1,Se)}),ec=ks(function(Ie,Se,Xe){return eo(Ie,hC(Se)||0,Xe)});function VR(Ie){return hE(Ie,K)}function ag(Ie,Se){if(typeof Ie!="function"||Se!=null&&typeof Se!="function")throw new Sg(I);var Xe=function(){var ut=arguments,Ut=Se?Se.apply(this,ut):ut[0],oi=Xe.cache;if(oi.has(Ut))return oi.get(Ut);var yi=Ie.apply(this,ut);return Xe.cache=oi.set(Ut,yi)||oi,yi};return Xe.cache=new(ag.Cache||za),Xe}ag.Cache=za;function EE(Ie){if(typeof Ie!="function")throw new Sg(I);return function(){var Se=arguments;switch(Se.length){case 0:return!Ie.call(this);case 1:return!Ie.call(this,Se[0]);case 2:return!Ie.call(this,Se[0],Se[1]);case 3:return!Ie.call(this,Se[0],Se[1],Se[2])}return!Ie.apply(this,Se)}}function sh(Ie){return pK(2,Ie)}var NM=nQ(function(Ie,Se){Se=Se.length==1&&Ds(Se[0])?_l(Se[0],Vs(Ea())):_l(mn(Se,1),Vs(Ea()));var Xe=Se.length;return ks(function(ut){for(var Ut=-1,oi=ed(ut.length,Xe);++Ut=Se}),Tw=hR(function(){return arguments}())?hR:function(Ie){return Nh(Ie)&&RA.call(Ie,"callee")&&!rg.call(Ie,"callee")},Ds=Qr.isArray,vk=Xa?Vs(Xa):dR;function Cc(Ie){return Ie!=null&&wl(Ie.length)&&!tc(Ie)}function ZA(Ie){return Nh(Ie)&&Cc(Ie)}function QG(Ie){return Ie===!0||Ie===!1||Nh(Ie)&&af(Ie)==ce}var I_=ow||Ah,gn=Mp?Vs(Mp):j3;function _k(Ie){return Nh(Ie)&&Ie.nodeType===1&&!dy(Ie)}function Bk(Ie){if(Ie==null)return!0;if(Cc(Ie)&&(Ds(Ie)||typeof Ie=="string"||typeof Ie.splice=="function"||I_(Ie)||qp(Ie)||Tw(Ie)))return!Ie.length;var Se=_d(Ie);if(Se==He||Se==ze)return!Ie.size;if(Gp(Ie))return!eQ(Ie).length;for(var Xe in Ie)if(RA.call(Ie,Xe))return!1;return!0}function xE(Ie,Se){return dw(Ie,Se)}function yE(Ie,Se,Xe){Xe=typeof Xe=="function"?Xe:f;var ut=Xe?Xe(Ie,Se):f;return ut===f?dw(Ie,Se,f,Xe):!!ut}function vE(Ie){if(!Nh(Ie))return!1;var Se=af(Ie);return Se==ye||Se==Ce||typeof Ie.message=="string"&&typeof Ie.name=="string"&&!dy(Ie)}function wk(Ie){return typeof Ie=="number"&&sM(Ie)}function tc(Ie){if(!As(Ie))return!1;var Se=af(Ie);return Se==Be||Se==Me||Se==se||Se==Fe}function BA(Ie){return typeof Ie=="number"&&Ie==sl(Ie)}function wl(Ie){return typeof Ie=="number"&&Ie>-1&&Ie%1==0&&Ie<=he}function As(Ie){var Se=typeof Ie;return Ie!=null&&(Se=="object"||Se=="function")}function Nh(Ie){return Ie!=null&&typeof Ie=="object"}var xK=iE?Vs(iE):X3;function Y0(Ie,Se){return Ie===Se||gR(Ie,Se,TM(Se))}function bk(Ie,Se,Xe){return Xe=typeof Xe=="function"?Xe:f,gR(Ie,Se,TM(Se),Xe)}function _E(Ie){return Qk(Ie)&&Ie!=+Ie}function xA(Ie){if(FR(Ie))throw new ls(E);return fR(Ie)}function KR(Ie){return Ie===null}function sg(Ie){return Ie==null}function Qk(Ie){return typeof Ie=="number"||Nh(Ie)&&af(Ie)==ke}function dy(Ie){if(!Nh(Ie)||af(Ie)!=Pe)return!1;var Se=nM(Ie);if(Se===null)return!0;var Xe=RA.call(Se,"constructor")&&Se.constructor;return typeof Xe=="function"&&Xe instanceof Xe&&Pp.call(Xe)==iR}var uu=eg?Vs(eg):Z3;function Jf(Ie){return BA(Ie)&&Ie>=-he&&Ie<=he}var IQ=rE?Vs(rE):$3;function Kf(Ie){return typeof Ie=="string"||!Ds(Ie)&&Nh(Ie)&&af(Ie)==Je}function kh(Ie){return typeof Ie=="symbol"||Nh(Ie)&&af(Ie)==je}var qp=Gb?Vs(Gb):uG;function xQ(Ie){return Ie===f}function lh(Ie){return Nh(Ie)&&_d(Ie)==rt}function yK(Ie){return Nh(Ie)&&af(Ie)==At}var cC=Up(mM),Oc=Up(function(Ie,Se){return Ie<=Se});function Uh(Ie){if(!Ie)return[];if(Cc(Ie))return Kf(Ie)?Xm(Ie):Bl(Ie);if(ny&&Ie[ny])return Yb(Ie[ny]());var Se=_d(Ie),Xe=Se==He?XP:Se==ze?jv:qf;return Xe(Ie)}function BE(Ie){if(!Ie)return Ie===0?Ie:0;if(Ie=hC(Ie),Ie===Ae||Ie===-Ae){var Se=Ie<0?-1:1;return Se*ge}return Ie===Ie?Ie:0}function sl(Ie){var Se=BE(Ie),Xe=Se%1;return Se===Se?Xe?Se-Xe:Se:0}function yQ(Ie){return Ie?LI(sl(Ie),0,fe):0}function hC(Ie){if(typeof Ie=="number")return Ie;if(kh(Ie))return de;if(As(Ie)){var Se=typeof Ie.valueOf=="function"?Ie.valueOf():Ie;Ie=As(Se)?Se+"":Se}if(typeof Ie!="string")return Ie===0?Ie:+Ie;Ie=ho(Ie);var Xe=Gn.test(Ie);return Xe||_a.test(Ie)?Ar(Ie.slice(2),Xe?2:8):Mn.test(Ie)?de:+Ie}function SG(Ie){return iC(Ie,Lg(Ie))}function uf(Ie){return Ie?LI(sl(Ie),-he,he):Ie===0?Ie:0}function bl(Ie){return Ie==null?"":Mg(Ie)}var Rg=mw(function(Ie,Se){if(Gp(Se)||Cc(Se)){iC(Se,us(Se),Ie);return}for(var Xe in Se)RA.call(Se,Xe)&&fs(Ie,Xe,Se[Xe])}),Pw=mw(function(Ie,Se){iC(Se,Lg(Se),Ie)}),jp=mw(function(Ie,Se,Xe,ut){iC(Se,Lg(Se),Ie,ut)}),WR=mw(function(Ie,Se,Xe,ut){iC(Se,us(Se),Ie,ut)}),Ec=dE($b);function bo(Ie,Se){var Xe=sy(Ie);return Se==null?Xe:cM(Xe,Se)}var vK=ks(function(Ie,Se){Ie=Hl(Ie);var Xe=-1,ut=Se.length,Ut=ut>2?Se[2]:f;for(Ut&&og(Se[0],Se[1],Ut)&&(ut=1);++Xe1),oi}),iC(Ie,DM(Ie),Xe),ut&&(Xe=Uf(Xe,Q|M|B,MR));for(var Ut=Se.length;Ut--;)BR(Xe,Se[Ut]);return Xe});function Xp(Ie,Se){return bE(Ie,EE(Ea(Se)))}var kM=dE(function(Ie,Se){return Ie==null?{}:xR(Ie,Se)});function bE(Ie,Se){if(Ie==null)return{};var Xe=_l(DM(Ie),function(ut){return[ut]});return Se=Ea(Se),CM(Ie,Xe,function(ut,Ut){return Se(ut,Ut[0])})}function J0(Ie,Se,Xe){Se=LA(Se,Ie);var ut=-1,Ut=Se.length;for(Ut||(Ut=1,Ie=f);++utSe){var ut=Ie;Ie=Se,Se=ut}if(Xe||Ie%1||Se%1){var Ut=qb();return ed(Ie+Ut*(Se-Ie+Di("1e-"+((Ut+"").length-1))),Se)}return EM(Ie,Se)}var Sk=kp(function(Ie,Se,Xe){return Se=Se.toLowerCase(),Ie+(Xe?Ag(Se):Se)});function Ag(Ie){return Oh(bl(Ie).toLowerCase())}function my(Ie){return Ie=bl(Ie),Ie&&Ie.replace(Ol,nf).replace(eE,"")}function SE(Ie,Se,Xe){Ie=bl(Ie),Se=Mg(Se);var ut=Ie.length;Xe=Xe===f?ut:LI(sl(Xe),0,ut);var Ut=Xe;return Xe-=Se.length,Xe>=0&&Ie.slice(Xe,Ut)==Se}function QK(Ie){return Ie=bl(Ie),Ie&&bi.test(Ie)?Ie.replace(wt,iw):Ie}function df(Ie){return Ie=bl(Ie),Ie&&di.test(Ie)?Ie.replace(Kt,"\\$&"):Ie}var SK=kp(function(Ie,Se,Xe){return Ie+(Xe?"-":"")+Se.toLowerCase()}),ZR=kp(function(Ie,Se,Xe){return Ie+(Xe?" ":"")+Se.toLowerCase()}),UM=vd("toLowerCase");function DK(Ie,Se,Xe){Ie=bl(Ie),Se=sl(Se);var ut=Se?PI(Ie):0;if(!Se||ut>=Se)return Ie;var Ut=(Se-ut)/2;return Cw(aM(Ut),Xe)+Ie+Cw($v(Ut),Xe)}function MK(Ie,Se,Xe){Ie=bl(Ie),Se=sl(Se);var ut=Se?PI(Ie):0;return Se&&ut>>0,Xe?(Ie=bl(Ie),Ie&&(typeof Se=="string"||Se!=null&&!uu(Se))&&(Se=Mg(Se),!Se&&ry(Ie))?id(Xm(Ie),0,Xe):Ie.split(Se,Xe)):[]}var Nw=kp(function(Ie,Se,Xe){return Ie+(Xe?" ":"")+Oh(Se)});function TG(Ie,Se,Xe){return Ie=bl(Ie),Xe=Xe==null?0:LI(sl(Xe),0,Ie.length),Se=Mg(Se),Ie.slice(Xe,Xe+Se.length)==Se}function wQ(Ie,Se,Xe){var ut=ti.templateSettings;Xe&&og(Ie,Se,Xe)&&(Se=f),Ie=bl(Ie),Se=jp({},Se,ut,hA);var Ut=jp({},Se.imports,ut.imports,hA),oi=us(Ut),yi=Ma(Ut,oi),Mi,Zi,Yr=0,Or=Se.interpolate||au,sn="__p += '",Zn=Jb((Se.escape||au).source+"|"+Or.source+"|"+(Or===xi?Ci:au).source+"|"+(Se.evaluate||au).source+"|$","g"),zo="//# sourceURL="+(RA.call(Se,"sourceURL")?(Se.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++AA+"]")+` `;Ie.replace(Zn,function($o,Ql,ys,Pd,ic,$A){return ys||(ys=Pd),sn+=Ie.slice(Yr,$A).replace(oh,MI),Ql&&(Mi=!0,sn+=`' + __e(`+Ql+`) + '`),ic&&(Zi=!0,sn+=`'; `+ic+`; __p += '`),ys&&(sn+=`' + ((__t = (`+ys+`)) == null ? '' : __t) + '`),Yr=$A+$o.length,$o}),sn+=`'; `;var io=RA.call(Se,"variable")&&Se.variable;if(!io)sn=`with (obj) { `+sn+` } `;else if(Wt.test(io))throw new ls(x);sn=(Zi?sn.replace(Le,""):sn).replace(_e,"$1").replace(Oe,"$1;"),sn="function("+(io||"obj")+`) { `+(io?"":`obj || (obj = {}); `)+"var __t, __p = ''"+(Mi?", __e = _.escape":"")+(Zi?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; `)+sn+`return __p }`;var lo=fC(function(){return cA(oi,zo+"return "+sn).apply(f,yi)});if(lo.source=sn,vE(lo))throw lo;return lo}function y_(Ie){return bl(Ie).toLowerCase()}function Cy(Ie){return bl(Ie).toUpperCase()}function Sd(Ie,Se,Xe){if(Ie=bl(Ie),Ie&&(Xe||Se===f))return ho(Ie);if(!Ie||!(Se=Mg(Se)))return Ie;var ut=Xm(Ie),Ut=Xm(Se),oi=Sh(ut,Ut),yi=uA(ut,Ut)+1;return id(ut,oi,yi).join("")}function gC(Ie,Se,Xe){if(Ie=bl(Ie),Ie&&(Xe||Se===f))return Ie.slice(0,eR(Ie)+1);if(!Ie||!(Se=Mg(Se)))return Ie;var ut=Xm(Ie),Ut=uA(ut,Xm(Se))+1;return id(ut,0,Ut).join("")}function Ng(Ie,Se,Xe){if(Ie=bl(Ie),Ie&&(Xe||Se===f))return Ie.replace(ui,"");if(!Ie||!(Se=Mg(Se)))return Ie;var ut=Xm(Ie),Ut=Sh(ut,Xm(Se));return id(ut,Ut).join("")}function TK(Ie,Se){var Xe=X,ut=j;if(As(Se)){var Ut="separator"in Se?Se.separator:Ut;Xe="length"in Se?sl(Se.length):Xe,ut="omission"in Se?Mg(Se.omission):ut}Ie=bl(Ie);var oi=Ie.length;if(ry(Ie)){var yi=Xm(Ie);oi=yi.length}if(Xe>=oi)return Ie;var Mi=Xe-PI(ut);if(Mi<1)return ut;var Zi=yi?id(yi,0,Mi).join(""):Ie.slice(0,Mi);if(Ut===f)return Zi+ut;if(yi&&(Mi+=Zi.length-Mi),uu(Ut)){if(Ie.slice(Mi).search(Ut)){var Yr,Or=Zi;for(Ut.global||(Ut=Jb(Ut.source,bl(so.exec(Ut))+"g")),Ut.lastIndex=0;Yr=Ut.exec(Or);)var sn=Yr.index;Zi=Zi.slice(0,sn===f?Mi:sn)}}else if(Ie.indexOf(Mg(Ut),Mi)!=Mi){var Zn=Zi.lastIndexOf(Ut);Zn>-1&&(Zi=Zi.slice(0,Zn))}return Zi+ut}function v_(Ie){return Ie=bl(Ie),Ie&&Bt.test(Ie)?Ie.replace(vt,tM):Ie}var bQ=kp(function(Ie,Se,Xe){return Ie+(Xe?" ":"")+Se.toUpperCase()}),Oh=vd("toUpperCase");function Dd(Ie,Se,Xe){return Ie=bl(Ie),Se=Xe?f:Se,Se===f?qv(Ie)?aG(Ie):Vb(Ie):Ie.match(Se)||[]}var fC=ks(function(Ie,Se){try{return Zu(Ie,f,Se)}catch(Xe){return vE(Xe)?Xe:new ls(Xe)}}),Zp=dE(function(Ie,Se){return Fc(Se,function(Xe){Xe=nC(Xe),Lp(Ie,Xe,_G(Ie[Xe],Ie))}),Ie});function PG(Ie){var Se=Ie==null?0:Ie.length,Xe=Ea();return Ie=Se?_l(Ie,function(ut){if(typeof ut[1]!="function")throw new Sg(I);return[Xe(ut[0]),ut[1]]}):[],ks(function(ut){for(var Ut=-1;++Uthe)return[];var Xe=fe,ut=ed(Ie,fe);Se=Ea(Se),Ie-=fe;for(var Ut=Fo(ut,Se);++Xe0||Se<0)?new Cl(Xe):(Ie<0?Xe=Xe.takeRight(-Ie):Ie&&(Xe=Xe.drop(Ie)),Se!==f&&(Se=sl(Se),Xe=Se<0?Xe.dropRight(-Se):Xe.take(Se-Ie)),Xe)},Cl.prototype.takeRightWhile=function(Ie){return this.reverse().takeWhile(Ie).reverse()},Cl.prototype.toArray=function(){return this.take(fe)},uE(Cl.prototype,function(Ie,Se){var Xe=/^(?:filter|find|map|reject)|While$/.test(Se),ut=/^(?:head|last)$/.test(Se),Ut=ti[ut?"take"+(Se=="last"?"Right":""):Se],oi=ut||/^find/.test(Se);Ut&&(ti.prototype[Se]=function(){var yi=this.__wrapped__,Mi=ut?[1]:arguments,Zi=yi instanceof Cl,Yr=Mi[0],Or=Zi||Ds(yi),sn=function(Ql){var ys=Ut.apply(ti,N0([Ql],Mi));return ut&&Zn?ys[0]:ys};Or&&Xe&&typeof Yr=="function"&&Yr.length!=1&&(Zi=Or=!1);var Zn=this.__chain__,zo=!!this.__actions__.length,io=oi&&!Zn,lo=Zi&&!zo;if(!oi&&Or){yi=lo?yi:new Cl(this);var $o=Ie.apply(yi,Mi);return $o.__actions__.push({func:Sw,args:[sn],thisArg:f}),new td($o,Zn)}return io&&lo?Ie.apply(this,Mi):($o=this.thru(sn),io?ut?$o.value()[0]:$o.value():$o)})}),Fc(["pop","push","shift","sort","splice","unshift"],function(Ie){var Se=ig[Ie],Xe=/^(?:push|sort|unshift)$/.test(Ie)?"tap":"thru",ut=/^(?:pop|shift)$/.test(Ie);ti.prototype[Ie]=function(){var Ut=arguments;if(ut&&!this.__chain__){var oi=this.value();return Se.apply(Ds(oi)?oi:[],Ut)}return this[Xe](function(yi){return Se.apply(Ds(yi)?yi:[],Ut)})}}),uE(Cl.prototype,function(Ie,Se){var Xe=ti[Se];if(Xe){var ut=Xe.name+"";RA.call(n_,ut)||(n_[ut]=[]),n_[ut].push({name:Se,func:Xe})}}),n_[rC(f,R).name]=[{name:"wrapper",func:f}],Cl.prototype.clone=uw,Cl.prototype.reverse=H3,Cl.prototype.value=V3,ti.prototype.at=Dw,ti.prototype.chain=xe,ti.prototype.commit=Qe,ti.prototype.next=We,ti.prototype.plant=Gt,ti.prototype.reverse=Xt,ti.prototype.toJSON=ti.prototype.valueOf=ti.prototype.value=wi,ti.prototype.first=ti.prototype.head,ny&&(ti.prototype[ny]=ct),ti},Qg=N3();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Na._=Qg,define(function(){return Qg})):$d?(($d.exports=Qg)._=Qg,$l._=Qg):Na._=Qg}).call(o)}),Cht=Et((o,A)=>{"use strict";var f=(m,C,E,I)=>{let x=m&65535|0,y=m>>>16&65535|0,v=0;for(;E!==0;){v=E>2e3?2e3:E,E-=v;do x=x+C[I++]|0,y=y+x|0;while(--v);x%=65521,y%=65521}return x|y<<16|0};A.exports=f}),Eht=Et((o,A)=>{"use strict";var f=()=>{let E,I=[];for(var x=0;x<256;x++){E=x;for(var y=0;y<8;y++)E=E&1?3988292384^E>>>1:E>>>1;I[x]=E}return I},m=new Uint32Array(f()),C=(E,I,x,y)=>{let v=m,w=y+x;E^=-1;for(let Q=y;Q>>8^v[(E^I[Q])&255];return E^-1};A.exports=C}),Iht=Et((o,A)=>{"use strict";A.exports=function(f,m){let C,E,I,x,y,v,w,Q,M,B,D,S,P,R,T,L,F,U,N,H,J,K,X,j,ee=f.state;C=f.next_in,X=f.input,E=C+(f.avail_in-5),I=f.next_out,j=f.output,x=I-(m-f.avail_out),y=I+(f.avail_out-257),v=ee.dmax,w=ee.wsize,Q=ee.whave,M=ee.wnext,B=ee.window,D=ee.hold,S=ee.bits,P=ee.lencode,R=ee.distcode,T=(1<>>24,D>>>=U,S-=U,U=F>>>16&255,U===0)j[I++]=F&65535;else if(U&16){N=F&65535,U&=15,U&&(S>>=U,S-=U),S<15&&(D+=X[C++]<>>24,D>>>=U,S-=U,U=F>>>16&255,U&16){if(H=F&65535,U&=15,Sv){f.msg="invalid distance too far back",ee.mode=16209;break e}if(D>>>=U,S-=U,U=I-x,H>U){if(U=H-U,U>Q&&ee.sane){f.msg="invalid distance too far back",ee.mode=16209;break e}if(J=0,K=B,M===0){if(J+=w-U,U2;)j[I++]=K[J++],j[I++]=K[J++],j[I++]=K[J++],N-=3;N&&(j[I++]=K[J++],N>1&&(j[I++]=K[J++]))}else{J=I-H;do j[I++]=j[J++],j[I++]=j[J++],j[I++]=j[J++],N-=3;while(N>2);N&&(j[I++]=j[J++],N>1&&(j[I++]=j[J++]))}}else if(U&64){f.msg="invalid distance code",ee.mode=16209;break e}else{F=R[(F&65535)+(D&(1<>3,C-=N,S-=N<<3,D&=(1<{"use strict";var f=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),m=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),C=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),E=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),I=(x,y,v,w,Q,M,B,D)=>{let S=D.bits,P=0,R=0,T=0,L=0,F=0,U=0,N=0,H=0,J=0,K=0,X,j,ee,ie,z,oe=null,le,Ae=new Uint16Array(15+1),he=new Uint16Array(15+1),ge=null,de,fe,G;for(P=0;P<=15;P++)Ae[P]=0;for(R=0;R=1&&Ae[L]===0;L--);if(F>L&&(F=L),L===0)return Q[M++]=1<<24|64<<16|0,Q[M++]=1<<24|64<<16|0,D.bits=1,0;for(T=1;T0&&(x===0||L!==1))return-1;for(he[1]=0,P=1;P<15;P++)he[P+1]=he[P]+Ae[P];for(R=0;R852||x===2&&J>592)return 1;for(;;){de=P-N,B[R]+1=le?(fe=ge[B[R]-le],G=oe[B[R]-le]):(fe=32+64,G=0),X=1<>N)+j]=de<<24|fe<<16|G|0;while(j!==0);for(X=1<>=1;if(X!==0?(K&=X-1,K+=X):K=0,R++,--Ae[P]===0){if(P===L)break;P=y[v+B[R]]}if(P>F&&(K&ie)!==ee){for(N===0&&(N=F),z+=T,U=P-N,H=1<852||x===2&&J>592)return 1;ee=K&ie,Q[ee]=F<<24|U<<16|z-M|0}}return K!==0&&(Q[z+K]=P-N<<24|64<<16|0),D.bits=F,0};A.exports=I}),xAe=Et((o,A)=>{"use strict";A.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}}),yht=Et((o,A)=>{"use strict";var f=Cht(),m=Eht(),C=Iht(),E=xht(),I=0,x=1,y=2,{Z_FINISH:v,Z_BLOCK:w,Z_TREES:Q,Z_OK:M,Z_STREAM_END:B,Z_NEED_DICT:D,Z_STREAM_ERROR:S,Z_DATA_ERROR:P,Z_MEM_ERROR:R,Z_BUF_ERROR:T,Z_DEFLATED:L}=xAe(),F=16180,U=16181,N=16182,H=16183,J=16184,K=16185,X=16186,j=16187,ee=16188,ie=16189,z=16190,oe=16191,le=16192,Ae=16193,he=16194,ge=16195,de=16196,fe=16197,G=16198,Y=16199,W=16200,O=16201,re=16202,se=16203,ce=16204,me=16205,Ce=16206,ye=16207,Be=16208,Me=16209,He=16210,ke=16211,Ne=852,Pe=592,we=15,Fe=we,Ue=dt=>(dt>>>24&255)+(dt>>>8&65280)+((dt&65280)<<8)+((dt&255)<<24);function ze(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var Je=dt=>{if(!dt)return 1;let Le=dt.state;return!Le||Le.strm!==dt||Le.modeke?1:0},je=dt=>{if(Je(dt))return S;let Le=dt.state;return dt.total_in=dt.total_out=Le.total=0,dt.msg="",Le.wrap&&(dt.adler=Le.wrap&1),Le.mode=F,Le.last=0,Le.havedict=0,Le.flags=-1,Le.dmax=32768,Le.head=null,Le.hold=0,Le.bits=0,Le.lencode=Le.lendyn=new Int32Array(Ne),Le.distcode=Le.distdyn=new Int32Array(Pe),Le.sane=1,Le.back=-1,M},Ze=dt=>{if(Je(dt))return S;let Le=dt.state;return Le.wsize=0,Le.whave=0,Le.wnext=0,je(dt)},rt=(dt,Le)=>{let _e;if(Je(dt))return S;let Oe=dt.state;return Le<0?(_e=0,Le=-Le):(_e=(Le>>4)+5,Le<48&&(Le&=15)),Le&&(Le<8||Le>15)?S:(Oe.window!==null&&Oe.wbits!==Le&&(Oe.window=null),Oe.wrap=_e,Oe.wbits=Le,Ze(dt))},At=(dt,Le)=>{if(!dt)return S;let _e=new ze;dt.state=_e,_e.strm=dt,_e.window=null,_e.mode=F;let Oe=rt(dt,Le);return Oe!==M&&(dt.state=null),Oe},yt=dt=>At(dt,Fe),at=!0,ft,_t,et=dt=>{if(at){ft=new Int32Array(512),_t=new Int32Array(32);let Le=0;for(;Le<144;)dt.lens[Le++]=8;for(;Le<256;)dt.lens[Le++]=9;for(;Le<280;)dt.lens[Le++]=7;for(;Le<288;)dt.lens[Le++]=8;for(E(x,dt.lens,0,288,ft,0,dt.work,{bits:9}),Le=0;Le<32;)dt.lens[Le++]=5;E(y,dt.lens,0,32,_t,0,dt.work,{bits:5}),at=!1}dt.lencode=ft,dt.lenbits=9,dt.distcode=_t,dt.distbits=5},pt=(dt,Le,_e,Oe)=>{let vt,wt=dt.state;return wt.window===null&&(wt.wsize=1<=wt.wsize?(wt.window.set(Le.subarray(_e-wt.wsize,_e),0),wt.wnext=0,wt.whave=wt.wsize):(vt=wt.wsize-wt.wnext,vt>Oe&&(vt=Oe),wt.window.set(Le.subarray(_e-Oe,_e-Oe+vt),wt.wnext),Oe-=vt,Oe?(wt.window.set(Le.subarray(_e-Oe,_e),0),wt.wnext=Oe,wt.whave=wt.wsize):(wt.wnext+=vt,wt.wnext===wt.wsize&&(wt.wnext=0),wt.whave{let _e,Oe,vt,wt,Bt,bi,nr,Ai,xi,Fi,pi,Vt,Kt,di,ui=0,Ht,Ei,gt,bt,Ot,Wt,Oi,Ci,so=new Uint8Array(4),Mn,Gn,Da=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Je(dt)||!dt.output||!dt.input&&dt.avail_in!==0)return S;_e=dt.state,_e.mode===oe&&(_e.mode=le),Bt=dt.next_out,vt=dt.output,nr=dt.avail_out,wt=dt.next_in,Oe=dt.input,bi=dt.avail_in,Ai=_e.hold,xi=_e.bits,Fi=bi,pi=nr,Ci=M;e:for(;;)switch(_e.mode){case F:if(_e.wrap===0){_e.mode=le;break}for(;xi<16;){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>>8&255,_e.check=m(_e.check,so,2,0),Ai=0,xi=0,_e.mode=U;break}if(_e.head&&(_e.head.done=!1),!(_e.wrap&1)||(((Ai&255)<<8)+(Ai>>8))%31){dt.msg="incorrect header check",_e.mode=Me;break}if((Ai&15)!==L){dt.msg="unknown compression method",_e.mode=Me;break}if(Ai>>>=4,xi-=4,Oi=(Ai&15)+8,_e.wbits===0&&(_e.wbits=Oi),Oi>15||Oi>_e.wbits){dt.msg="invalid window size",_e.mode=Me;break}_e.dmax=1<<_e.wbits,_e.flags=0,dt.adler=_e.check=1,_e.mode=Ai&512?ie:oe,Ai=0,xi=0;break;case U:for(;xi<16;){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>8&1),_e.flags&512&&_e.wrap&4&&(so[0]=Ai&255,so[1]=Ai>>>8&255,_e.check=m(_e.check,so,2,0)),Ai=0,xi=0,_e.mode=N;case N:for(;xi<32;){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>>8&255,so[2]=Ai>>>16&255,so[3]=Ai>>>24&255,_e.check=m(_e.check,so,4,0)),Ai=0,xi=0,_e.mode=H;case H:for(;xi<16;){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>8),_e.flags&512&&_e.wrap&4&&(so[0]=Ai&255,so[1]=Ai>>>8&255,_e.check=m(_e.check,so,2,0)),Ai=0,xi=0,_e.mode=J;case J:if(_e.flags&1024){for(;xi<16;){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>>8&255,_e.check=m(_e.check,so,2,0)),Ai=0,xi=0}else _e.head&&(_e.head.extra=null);_e.mode=K;case K:if(_e.flags&1024&&(Vt=_e.length,Vt>bi&&(Vt=bi),Vt&&(_e.head&&(Oi=_e.head.extra_len-_e.length,_e.head.extra||(_e.head.extra=new Uint8Array(_e.head.extra_len)),_e.head.extra.set(Oe.subarray(wt,wt+Vt),Oi)),_e.flags&512&&_e.wrap&4&&(_e.check=m(_e.check,Oe,Vt,wt)),bi-=Vt,wt+=Vt,_e.length-=Vt),_e.length))break e;_e.length=0,_e.mode=X;case X:if(_e.flags&2048){if(bi===0)break e;Vt=0;do Oi=Oe[wt+Vt++],_e.head&&Oi&&_e.length<65536&&(_e.head.name+=String.fromCharCode(Oi));while(Oi&&Vt>9&1,_e.head.done=!0),dt.adler=_e.check=0,_e.mode=oe;break;case ie:for(;xi<32;){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>>=xi&7,xi-=xi&7,_e.mode=Ce;break}for(;xi<3;){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>>=1,xi-=1,Ai&3){case 0:_e.mode=Ae;break;case 1:if(et(_e),_e.mode=Y,Le===Q){Ai>>>=2,xi-=2;break e}break;case 2:_e.mode=de;break;case 3:dt.msg="invalid block type",_e.mode=Me}Ai>>>=2,xi-=2;break;case Ae:for(Ai>>>=xi&7,xi-=xi&7;xi<32;){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>>16^65535)){dt.msg="invalid stored block lengths",_e.mode=Me;break}if(_e.length=Ai&65535,Ai=0,xi=0,_e.mode=he,Le===Q)break e;case he:_e.mode=ge;case ge:if(Vt=_e.length,Vt){if(Vt>bi&&(Vt=bi),Vt>nr&&(Vt=nr),Vt===0)break e;vt.set(Oe.subarray(wt,wt+Vt),Bt),bi-=Vt,wt+=Vt,nr-=Vt,Bt+=Vt,_e.length-=Vt;break}_e.mode=oe;break;case de:for(;xi<14;){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>>=5,xi-=5,_e.ndist=(Ai&31)+1,Ai>>>=5,xi-=5,_e.ncode=(Ai&15)+4,Ai>>>=4,xi-=4,_e.nlen>286||_e.ndist>30){dt.msg="too many length or distance symbols",_e.mode=Me;break}_e.have=0,_e.mode=fe;case fe:for(;_e.have<_e.ncode;){for(;xi<3;){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>>=3,xi-=3}for(;_e.have<19;)_e.lens[Da[_e.have++]]=0;if(_e.lencode=_e.lendyn,_e.lenbits=7,Mn={bits:_e.lenbits},Ci=E(I,_e.lens,0,19,_e.lencode,0,_e.work,Mn),_e.lenbits=Mn.bits,Ci){dt.msg="invalid code lengths set",_e.mode=Me;break}_e.have=0,_e.mode=G;case G:for(;_e.have<_e.nlen+_e.ndist;){for(;ui=_e.lencode[Ai&(1<<_e.lenbits)-1],Ht=ui>>>24,Ei=ui>>>16&255,gt=ui&65535,!(Ht<=xi);){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>>=Ht,xi-=Ht,_e.lens[_e.have++]=gt;else{if(gt===16){for(Gn=Ht+2;xi>>=Ht,xi-=Ht,_e.have===0){dt.msg="invalid bit length repeat",_e.mode=Me;break}Oi=_e.lens[_e.have-1],Vt=3+(Ai&3),Ai>>>=2,xi-=2}else if(gt===17){for(Gn=Ht+3;xi>>=Ht,xi-=Ht,Oi=0,Vt=3+(Ai&7),Ai>>>=3,xi-=3}else{for(Gn=Ht+7;xi>>=Ht,xi-=Ht,Oi=0,Vt=11+(Ai&127),Ai>>>=7,xi-=7}if(_e.have+Vt>_e.nlen+_e.ndist){dt.msg="invalid bit length repeat",_e.mode=Me;break}for(;Vt--;)_e.lens[_e.have++]=Oi}}if(_e.mode===Me)break;if(_e.lens[256]===0){dt.msg="invalid code -- missing end-of-block",_e.mode=Me;break}if(_e.lenbits=9,Mn={bits:_e.lenbits},Ci=E(x,_e.lens,0,_e.nlen,_e.lencode,0,_e.work,Mn),_e.lenbits=Mn.bits,Ci){dt.msg="invalid literal/lengths set",_e.mode=Me;break}if(_e.distbits=6,_e.distcode=_e.distdyn,Mn={bits:_e.distbits},Ci=E(y,_e.lens,_e.nlen,_e.ndist,_e.distcode,0,_e.work,Mn),_e.distbits=Mn.bits,Ci){dt.msg="invalid distances set",_e.mode=Me;break}if(_e.mode=Y,Le===Q)break e;case Y:_e.mode=W;case W:if(bi>=6&&nr>=258){dt.next_out=Bt,dt.avail_out=nr,dt.next_in=wt,dt.avail_in=bi,_e.hold=Ai,_e.bits=xi,C(dt,pi),Bt=dt.next_out,vt=dt.output,nr=dt.avail_out,wt=dt.next_in,Oe=dt.input,bi=dt.avail_in,Ai=_e.hold,xi=_e.bits,_e.mode===oe&&(_e.back=-1);break}for(_e.back=0;ui=_e.lencode[Ai&(1<<_e.lenbits)-1],Ht=ui>>>24,Ei=ui>>>16&255,gt=ui&65535,!(Ht<=xi);){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>bt)],Ht=ui>>>24,Ei=ui>>>16&255,gt=ui&65535,!(bt+Ht<=xi);){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>>=bt,xi-=bt,_e.back+=bt}if(Ai>>>=Ht,xi-=Ht,_e.back+=Ht,_e.length=gt,Ei===0){_e.mode=me;break}if(Ei&32){_e.back=-1,_e.mode=oe;break}if(Ei&64){dt.msg="invalid literal/length code",_e.mode=Me;break}_e.extra=Ei&15,_e.mode=O;case O:if(_e.extra){for(Gn=_e.extra;xi>>=_e.extra,xi-=_e.extra,_e.back+=_e.extra}_e.was=_e.length,_e.mode=re;case re:for(;ui=_e.distcode[Ai&(1<<_e.distbits)-1],Ht=ui>>>24,Ei=ui>>>16&255,gt=ui&65535,!(Ht<=xi);){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>bt)],Ht=ui>>>24,Ei=ui>>>16&255,gt=ui&65535,!(bt+Ht<=xi);){if(bi===0)break e;bi--,Ai+=Oe[wt++]<>>=bt,xi-=bt,_e.back+=bt}if(Ai>>>=Ht,xi-=Ht,_e.back+=Ht,Ei&64){dt.msg="invalid distance code",_e.mode=Me;break}_e.offset=gt,_e.extra=Ei&15,_e.mode=se;case se:if(_e.extra){for(Gn=_e.extra;xi>>=_e.extra,xi-=_e.extra,_e.back+=_e.extra}if(_e.offset>_e.dmax){dt.msg="invalid distance too far back",_e.mode=Me;break}_e.mode=ce;case ce:if(nr===0)break e;if(Vt=pi-nr,_e.offset>Vt){if(Vt=_e.offset-Vt,Vt>_e.whave&&_e.sane){dt.msg="invalid distance too far back",_e.mode=Me;break}Vt>_e.wnext?(Vt-=_e.wnext,Kt=_e.wsize-Vt):Kt=_e.wnext-Vt,Vt>_e.length&&(Vt=_e.length),di=_e.window}else di=vt,Kt=Bt-_e.offset,Vt=_e.length;Vt>nr&&(Vt=nr),nr-=Vt,_e.length-=Vt;do vt[Bt++]=di[Kt++];while(--Vt);_e.length===0&&(_e.mode=W);break;case me:if(nr===0)break e;vt[Bt++]=_e.length,nr--,_e.mode=W;break;case Ce:if(_e.wrap){for(;xi<32;){if(bi===0)break e;bi--,Ai|=Oe[wt++]<{if(Je(dt))return S;let Le=dt.state;return Le.window&&(Le.window=null),dt.state=null,M},Pt=(dt,Le)=>{if(Je(dt))return S;let _e=dt.state;return _e.wrap&2?(_e.head=Le,Le.done=!1,M):S},St=(dt,Le)=>{let _e=Le.length,Oe,vt,wt;return Je(dt)||(Oe=dt.state,Oe.wrap!==0&&Oe.mode!==z)?S:Oe.mode===z&&(vt=1,vt=f(vt,Le,_e,0),vt!==Oe.check)?P:(wt=pt(dt,Le,_e,_e),wt?(Oe.mode=He,R):(Oe.havedict=1,M))};A.exports.inflateReset=Ze,A.exports.inflateReset2=rt,A.exports.inflateResetKeep=je,A.exports.inflateInit=yt,A.exports.inflateInit2=At,A.exports.inflate=zt,A.exports.inflateEnd=It,A.exports.inflateGetHeader=Pt,A.exports.inflateSetDictionary=St,A.exports.inflateInfo="pako inflate (from Nodeca project)"}),vht=Et((o,A)=>{"use strict";var f=(m,C)=>Object.prototype.hasOwnProperty.call(m,C);A.exports.assign=function(m){let C=Array.prototype.slice.call(arguments,1);for(;C.length;){let E=C.shift();if(E){if(typeof E!="object")throw new TypeError(E+"must be non-object");for(let I in E)f(E,I)&&(m[I]=E[I])}}return m},A.exports.flattenChunks=m=>{let C=0;for(let I=0,x=m.length;I{"use strict";var f=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{f=!1}var m=new Uint8Array(256);for(let E=0;E<256;E++)m[E]=E>=252?6:E>=248?5:E>=240?4:E>=224?3:E>=192?2:1;m[254]=m[254]=1,A.exports.string2buf=E=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(E);let I,x,y,v,w,Q=E.length,M=0;for(v=0;v>>6,I[w++]=128|x&63):x<65536?(I[w++]=224|x>>>12,I[w++]=128|x>>>6&63,I[w++]=128|x&63):(I[w++]=240|x>>>18,I[w++]=128|x>>>12&63,I[w++]=128|x>>>6&63,I[w++]=128|x&63);return I};var C=(E,I)=>{if(I<65534&&E.subarray&&f)return String.fromCharCode.apply(null,E.length===I?E:E.subarray(0,I));let x="";for(let y=0;y{let x=I||E.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(E.subarray(0,I));let y,v,w=new Array(x*2);for(v=0,y=0;y4){w[v++]=65533,y+=M-1;continue}for(Q&=M===2?31:M===3?15:7;M>1&&y1){w[v++]=65533;continue}Q<65536?w[v++]=Q:(Q-=65536,w[v++]=55296|Q>>10&1023,w[v++]=56320|Q&1023)}return C(w,v)},A.exports.utf8border=(E,I)=>{I=I||E.length,I>E.length&&(I=E.length);let x=I-1;for(;x>=0&&(E[x]&192)===128;)x--;return x<0||x===0?I:x+m[E[x]]>I?x:I}}),Bht=Et((o,A)=>{"use strict";A.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}}),wht=Et((o,A)=>{"use strict";function f(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}A.exports=f}),bht=Et((o,A)=>{"use strict";function f(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}A.exports=f}),mUe=Et((o,A)=>{"use strict";var f=yht(),m=vht(),C=_ht(),E=Bht(),I=wht(),x=bht(),y=Object.prototype.toString,{Z_NO_FLUSH:v,Z_FINISH:w,Z_OK:Q,Z_STREAM_END:M,Z_NEED_DICT:B,Z_STREAM_ERROR:D,Z_DATA_ERROR:S,Z_MEM_ERROR:P}=xAe();function R(F){this.options=m.assign({chunkSize:1024*64,windowBits:15,to:""},F||{});let U=this.options;U.raw&&U.windowBits>=0&&U.windowBits<16&&(U.windowBits=-U.windowBits,U.windowBits===0&&(U.windowBits=-15)),U.windowBits>=0&&U.windowBits<16&&!(F&&F.windowBits)&&(U.windowBits+=32),U.windowBits>15&&U.windowBits<48&&(U.windowBits&15||(U.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new I,this.strm.avail_out=0;let N=f.inflateInit2(this.strm,U.windowBits);if(N!==Q)throw new Error(E[N]);if(this.header=new x,f.inflateGetHeader(this.strm,this.header),U.dictionary&&(typeof U.dictionary=="string"?U.dictionary=C.string2buf(U.dictionary):y.call(U.dictionary)==="[object ArrayBuffer]"&&(U.dictionary=new Uint8Array(U.dictionary)),U.raw&&(N=f.inflateSetDictionary(this.strm,U.dictionary),N!==Q)))throw new Error(E[N])}R.prototype.push=function(F,U){let N=this.strm,H=this.options.chunkSize,J=this.options.dictionary,K,X,j;if(this.ended)return!1;for(U===~~U?X=U:X=U===!0?w:v,y.call(F)==="[object ArrayBuffer]"?N.input=new Uint8Array(F):N.input=F,N.next_in=0,N.avail_in=N.input.length;;){for(N.avail_out===0&&(N.output=new Uint8Array(H),N.next_out=0,N.avail_out=H),K=f.inflate(N,X),K===B&&J&&(K=f.inflateSetDictionary(N,J),K===Q?K=f.inflate(N,X):K===S&&(K=B));N.avail_in>0&&K===M&&N.state.wrap>0&&F[N.next_in]!==0;)f.inflateReset(N),K=f.inflate(N,X);switch(K){case D:case S:case B:case P:return this.onEnd(K),this.ended=!0,!1}if(j=N.avail_out,N.next_out&&(N.avail_out===0||K===M))if(this.options.to==="string"){let ee=C.utf8border(N.output,N.next_out),ie=N.next_out-ee,z=C.buf2string(N.output,ee);N.next_out=ie,N.avail_out=H-ie,ie&&N.output.set(N.output.subarray(ee,ee+ie),0),this.onData(z)}else this.onData(N.output.length===N.next_out?N.output:N.output.subarray(0,N.next_out));if(!(K===Q&&j===0)){if(K===M)return K=f.inflateEnd(this.strm),this.onEnd(K),this.ended=!0,!0;if(N.avail_in===0)break}}return!0},R.prototype.onData=function(F){this.chunks.push(F)},R.prototype.onEnd=function(F){F===Q&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=m.flattenChunks(this.chunks)),this.chunks=[],this.err=F,this.msg=this.strm.msg};function T(F,U){let N=new R(U);if(N.push(F),N.err)throw N.msg||E[N.err];return N.result}function L(F,U){return U=U||{},U.raw=!0,T(F,U)}A.exports.Inflate=R,A.exports.inflate=T,A.exports.inflateRaw=L,A.exports.ungzip=T,A.exports.constants=xAe()}),Qht=Et((o,A)=>{(function(f,m){typeof o=="object"&&typeof A<"u"?A.exports=m():typeof define=="function"&&define.amd?define(m):(f=f||self).RBush=m()})(o,function(){"use strict";function f(T,L,F,U,N){(function H(J,K,X,j,ee){for(;j>X;){if(j-X>600){var ie=j-X+1,z=K-X+1,oe=Math.log(ie),le=.5*Math.exp(2*oe/3),Ae=.5*Math.sqrt(oe*le*(ie-le)/ie)*(z-ie/2<0?-1:1),he=Math.max(X,Math.floor(K-z*le/ie+Ae)),ge=Math.min(j,Math.floor(K+(ie-z)*le/ie+Ae));H(J,K,he,ge,ee)}var de=J[K],fe=X,G=j;for(m(J,X,K),ee(J[j],de)>0&&m(J,X,j);fe0;)G--}ee(J[X],de)===0?m(J,X,G):m(J,++G,j),G<=K&&(X=G+1),K<=G&&(j=G-1)}})(T,L,F||0,U||T.length-1,N||C)}function m(T,L,F){var U=T[L];T[L]=T[F],T[F]=U}function C(T,L){return TL?1:0}var E=function(T){T===void 0&&(T=9),this._maxEntries=Math.max(4,T),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function I(T,L,F){if(!F)return L.indexOf(T);for(var U=0;U=T.minX&&L.maxY>=T.minY}function P(T){return{children:T,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function R(T,L,F,U,N){for(var H=[L,F];H.length;)if(!((F=H.pop())-(L=H.pop())<=U)){var J=L+Math.ceil((F-L)/U/2)*U;f(T,J,L,F,N),H.push(L,J,J,F)}}return E.prototype.all=function(){return this._all(this.data,[])},E.prototype.search=function(T){var L=this.data,F=[];if(!S(T,L))return F;for(var U=this.toBBox,N=[];L;){for(var H=0;H=0&&N[L].children.length>this._maxEntries;)this._split(N,L),L--;this._adjustParentBBoxes(U,N,L)},E.prototype._split=function(T,L){var F=T[L],U=F.children.length,N=this._minEntries;this._chooseSplitAxis(F,N,U);var H=this._chooseSplitIndex(F,N,U),J=P(F.children.splice(H,F.children.length-H));J.height=F.height,J.leaf=F.leaf,x(F,this.toBBox),x(J,this.toBBox),L?T[L-1].children.push(J):this._splitRoot(F,J)},E.prototype._splitRoot=function(T,L){this.data=P([T,L]),this.data.height=T.height+1,this.data.leaf=!1,x(this.data,this.toBBox)},E.prototype._chooseSplitIndex=function(T,L,F){for(var U,N,H,J,K,X,j,ee=1/0,ie=1/0,z=L;z<=F-L;z++){var oe=y(T,0,z,this.toBBox),le=y(T,z,F,this.toBBox),Ae=(N=oe,H=le,J=void 0,K=void 0,X=void 0,j=void 0,J=Math.max(N.minX,H.minX),K=Math.max(N.minY,H.minY),X=Math.min(N.maxX,H.maxX),j=Math.min(N.maxY,H.maxY),Math.max(0,X-J)*Math.max(0,j-K)),he=M(oe)+M(le);Ae=L;ee--){var ie=T.children[ee];v(J,T.leaf?N(ie):ie),K+=B(J)}return K},E.prototype._adjustParentBBoxes=function(T,L,F){for(var U=F;U>=0;U--)v(L[U],T)},E.prototype._condense=function(T){for(var L=T.length-1,F=void 0;L>=0;L--)T[L].children.length===0?L>0?(F=T[L-1].children).splice(F.indexOf(T[L]),1):this.clear():x(T[L],this.toBBox)},E})}),CUe=Et((exports,module)=>{/*! * protobuf.js v7.1.0 (c) 2016, daniel wirtz * compiled fri, 09 sep 2022 03:02:57 utc * licensed under the bsd-3-clause license * see: https://github.com/dcodeio/protobuf.js for details */(function(undefined){"use strict";(function(o,A,f){function m(E){var I=A[E];return I||o[E][0].call(I=A[E]={exports:{}},m,I,I.exports),I.exports}var C=m(f[0]);C.util.global.protobuf=C,typeof define=="function"&&define.amd&&define(["long"],function(E){return E&&E.isLong&&(C.util.Long=E,C.configure()),C}),typeof module=="object"&&module&&module.exports&&(module.exports=C)})({1:[function(o,A,f){"use strict";A.exports=m;function m(C,E){for(var I=new Array(arguments.length-1),x=0,y=2,v=!0;y1&&y.charAt(v)==="=";)++w;return Math.ceil(y.length*3)/4-w};for(var C=new Array(64),E=new Array(123),I=0;I<64;)E[C[I]=I<26?I+65:I<52?I+71:I<62?I-4:I-59|43]=I++;m.encode=function(y,v,w){for(var Q=null,M=[],B=0,D=0,S;v>2],S=(P&3)<<4,D=1;break;case 1:M[B++]=C[S|P>>4],S=(P&15)<<2,D=2;break;case 2:M[B++]=C[S|P>>6],M[B++]=C[P&63],D=0;break}B>8191&&((Q||(Q=[])).push(String.fromCharCode.apply(String,M)),B=0)}return D&&(M[B++]=C[S],M[B++]=61,D===1&&(M[B++]=61)),Q?(B&&Q.push(String.fromCharCode.apply(String,M.slice(0,B))),Q.join("")):String.fromCharCode.apply(String,M.slice(0,B))};var x="invalid encoding";m.decode=function(y,v,w){for(var Q=w,M=0,B,D=0;D1)break;if((S=E[S])===undefined)throw Error(x);switch(M){case 0:B=S,M=1;break;case 1:v[w++]=B<<2|(S&48)>>4,B=S,M=2;break;case 2:v[w++]=(B&15)<<4|(S&60)>>2,B=S,M=3;break;case 3:v[w++]=(B&3)<<6|S,M=0;break}}if(M===1)throw Error(x);return w-Q},m.test=function(y){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(y)}},{}],3:[function(o,A,f){"use strict";A.exports=m;function m(){this._listeners={}}m.prototype.on=function(C,E,I){return(this._listeners[C]||(this._listeners[C]=[])).push({fn:E,ctx:I||this}),this},m.prototype.off=function(C,E){if(C===undefined)this._listeners={};else if(E===undefined)this._listeners[C]=[];else for(var I=this._listeners[C],x=0;x0?0:2147483648,B,D);else if(isNaN(M))Q(2143289344,B,D);else if(M>34028234663852886e22)Q((S<<31|2139095040)>>>0,B,D);else if(M<11754943508222875e-54)Q((S<<31|Math.round(M/1401298464324817e-60))>>>0,B,D);else{var P=Math.floor(Math.log(M)/Math.LN2),R=Math.round(M*Math.pow(2,-P)*8388608)&8388607;Q((S<<31|P+127<<23|R)>>>0,B,D)}}y.writeFloatLE=v.bind(null,C),y.writeFloatBE=v.bind(null,E);function w(Q,M,B){var D=Q(M,B),S=(D>>31)*2+1,P=D>>>23&255,R=D&8388607;return P===255?R?NaN:S*(1/0):P===0?S*1401298464324817e-60*R:S*Math.pow(2,P-150)*(R+8388608)}y.readFloatLE=w.bind(null,I),y.readFloatBE=w.bind(null,x)}(),typeof Float64Array<"u"?function(){var v=new Float64Array([-0]),w=new Uint8Array(v.buffer),Q=w[7]===128;function M(P,R,T){v[0]=P,R[T]=w[0],R[T+1]=w[1],R[T+2]=w[2],R[T+3]=w[3],R[T+4]=w[4],R[T+5]=w[5],R[T+6]=w[6],R[T+7]=w[7]}function B(P,R,T){v[0]=P,R[T]=w[7],R[T+1]=w[6],R[T+2]=w[5],R[T+3]=w[4],R[T+4]=w[3],R[T+5]=w[2],R[T+6]=w[1],R[T+7]=w[0]}y.writeDoubleLE=Q?M:B,y.writeDoubleBE=Q?B:M;function D(P,R){return w[0]=P[R],w[1]=P[R+1],w[2]=P[R+2],w[3]=P[R+3],w[4]=P[R+4],w[5]=P[R+5],w[6]=P[R+6],w[7]=P[R+7],v[0]}function S(P,R){return w[7]=P[R],w[6]=P[R+1],w[5]=P[R+2],w[4]=P[R+3],w[3]=P[R+4],w[2]=P[R+5],w[1]=P[R+6],w[0]=P[R+7],v[0]}y.readDoubleLE=Q?D:S,y.readDoubleBE=Q?S:D}():function(){function v(Q,M,B,D,S,P){var R=D<0?1:0;if(R&&(D=-D),D===0)Q(0,S,P+M),Q(1/D>0?0:2147483648,S,P+B);else if(isNaN(D))Q(0,S,P+M),Q(2146959360,S,P+B);else if(D>17976931348623157e292)Q(0,S,P+M),Q((R<<31|2146435072)>>>0,S,P+B);else{var T;if(D<22250738585072014e-324)T=D/5e-324,Q(T>>>0,S,P+M),Q((R<<31|T/4294967296)>>>0,S,P+B);else{var L=Math.floor(Math.log(D)/Math.LN2);L===1024&&(L=1023),T=D*Math.pow(2,-L),Q(T*4503599627370496>>>0,S,P+M),Q((R<<31|L+1023<<20|T*1048576&1048575)>>>0,S,P+B)}}}y.writeDoubleLE=v.bind(null,C,0,4),y.writeDoubleBE=v.bind(null,E,4,0);function w(Q,M,B,D,S){var P=Q(D,S+M),R=Q(D,S+B),T=(R>>31)*2+1,L=R>>>20&2047,F=4294967296*(R&1048575)+P;return L===2047?F?NaN:T*(1/0):L===0?T*5e-324*F:T*Math.pow(2,L-1075)*(F+4503599627370496)}y.readDoubleLE=w.bind(null,I,0,4),y.readDoubleBE=w.bind(null,x,4,0)}(),y}function C(y,v,w){v[w]=y&255,v[w+1]=y>>>8&255,v[w+2]=y>>>16&255,v[w+3]=y>>>24}function E(y,v,w){v[w]=y>>>24,v[w+1]=y>>>16&255,v[w+2]=y>>>8&255,v[w+3]=y&255}function I(y,v){return(y[v]|y[v+1]<<8|y[v+2]<<16|y[v+3]<<24)>>>0}function x(y,v){return(y[v]<<24|y[v+1]<<16|y[v+2]<<8|y[v+3])>>>0}},{}],5:[function(require,module,exports){"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(o){}return null}},{}],6:[function(o,A,f){"use strict";A.exports=m;function m(C,E,I){var x=I||8192,y=x>>>1,v=null,w=x;return function(Q){if(Q<1||Q>y)return C(Q);w+Q>x&&(v=C(x),w=0);var M=E.call(v,w,w+=Q);return w&7&&(w=(w|7)+1),M}}},{}],7:[function(o,A,f){"use strict";var m=f;m.length=function(C){for(var E=0,I=0,x=0;x191&&Q<224?v[w++]=(Q&31)<<6|C[E++]&63:Q>239&&Q<365?(Q=((Q&7)<<18|(C[E++]&63)<<12|(C[E++]&63)<<6|C[E++]&63)-65536,v[w++]=55296+(Q>>10),v[w++]=56320+(Q&1023)):v[w++]=(Q&15)<<12|(C[E++]&63)<<6|C[E++]&63,w>8191&&((y||(y=[])).push(String.fromCharCode.apply(String,v)),w=0);return y?(w&&y.push(String.fromCharCode.apply(String,v.slice(0,w))),y.join("")):String.fromCharCode.apply(String,v.slice(0,w))},m.write=function(C,E,I){for(var x=I,y,v,w=0;w>6|192,E[I++]=y&63|128):(y&64512)===55296&&((v=C.charCodeAt(w+1))&64512)===56320?(y=65536+((y&1023)<<10)+(v&1023),++w,E[I++]=y>>18|240,E[I++]=y>>12&63|128,E[I++]=y>>6&63|128,E[I++]=y&63|128):(E[I++]=y>>12|224,E[I++]=y>>6&63|128,E[I++]=y&63|128);return I-x}},{}],8:[function(o,A,f){"use strict";var m=f;m.build="minimal",m.Writer=o(16),m.BufferWriter=o(17),m.Reader=o(9),m.BufferReader=o(10),m.util=o(15),m.rpc=o(12),m.roots=o(11),m.configure=C;function C(){m.util._configure(),m.Writer._configure(m.BufferWriter),m.Reader._configure(m.BufferReader)}C()},{10:10,11:11,12:12,15:15,16:16,17:17,9:9}],9:[function(o,A,f){"use strict";A.exports=y;var m=o(15),C,E=m.LongBits,I=m.utf8;function x(D,S){return RangeError("index out of range: "+D.pos+" + "+(S||1)+" > "+D.len)}function y(D){this.buf=D,this.pos=0,this.len=D.length}var v=typeof Uint8Array<"u"?function(D){if(D instanceof Uint8Array||Array.isArray(D))return new y(D);throw Error("illegal buffer")}:function(D){if(Array.isArray(D))return new y(D);throw Error("illegal buffer")},w=function(){return m.Buffer?function(D){return(y.create=function(S){return m.Buffer.isBuffer(S)?new C(S):v(S)})(D)}:v};y.create=w(),y.prototype._slice=m.Array.prototype.subarray||m.Array.prototype.slice,y.prototype.uint32=function(){var D=4294967295;return function(){if(D=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(D=(D|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(D=(D|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(D=(D|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(D=(D|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return D;if((this.pos+=5)>this.len)throw this.pos=this.len,x(this,10);return D}}(),y.prototype.int32=function(){return this.uint32()|0},y.prototype.sint32=function(){var D=this.uint32();return D>>>1^-(D&1)|0};function Q(){var D=new E(0,0),S=0;if(this.len-this.pos>4){for(;S<4;++S)if(D.lo=(D.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return D;if(D.lo=(D.lo|(this.buf[this.pos]&127)<<28)>>>0,D.hi=(D.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return D;S=0}else{for(;S<3;++S){if(this.pos>=this.len)throw x(this);if(D.lo=(D.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return D}return D.lo=(D.lo|(this.buf[this.pos++]&127)<>>0,D}if(this.len-this.pos>4){for(;S<5;++S)if(D.hi=(D.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return D}else for(;S<5;++S){if(this.pos>=this.len)throw x(this);if(D.hi=(D.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return D}throw Error("invalid varint encoding")}y.prototype.bool=function(){return this.uint32()!==0};function M(D,S){return(D[S-4]|D[S-3]<<8|D[S-2]<<16|D[S-1]<<24)>>>0}y.prototype.fixed32=function(){if(this.pos+4>this.len)throw x(this,4);return M(this.buf,this.pos+=4)},y.prototype.sfixed32=function(){if(this.pos+4>this.len)throw x(this,4);return M(this.buf,this.pos+=4)|0};function B(){if(this.pos+8>this.len)throw x(this,8);return new E(M(this.buf,this.pos+=4),M(this.buf,this.pos+=4))}y.prototype.float=function(){if(this.pos+4>this.len)throw x(this,4);var D=m.float.readFloatLE(this.buf,this.pos);return this.pos+=4,D},y.prototype.double=function(){if(this.pos+8>this.len)throw x(this,4);var D=m.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,D},y.prototype.bytes=function(){var D=this.uint32(),S=this.pos,P=this.pos+D;if(P>this.len)throw x(this,D);return this.pos+=D,Array.isArray(this.buf)?this.buf.slice(S,P):S===P?new this.buf.constructor(0):this._slice.call(this.buf,S,P)},y.prototype.string=function(){var D=this.bytes();return I.read(D,0,D.length)},y.prototype.skip=function(D){if(typeof D=="number"){if(this.pos+D>this.len)throw x(this,D);this.pos+=D}else do if(this.pos>=this.len)throw x(this);while(this.buf[this.pos++]&128);return this},y.prototype.skipType=function(D){switch(D){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(D=this.uint32()&7)!==4;)this.skipType(D);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+D+" at offset "+this.pos)}return this},y._configure=function(D){C=D,y.create=w(),C._configure();var S=m.Long?"toLong":"toNumber";m.merge(y.prototype,{int64:function(){return Q.call(this)[S](!1)},uint64:function(){return Q.call(this)[S](!0)},sint64:function(){return Q.call(this).zzDecode()[S](!1)},fixed64:function(){return B.call(this)[S](!0)},sfixed64:function(){return B.call(this)[S](!1)}})}},{15:15}],10:[function(o,A,f){"use strict";A.exports=E;var m=o(9);(E.prototype=Object.create(m.prototype)).constructor=E;var C=o(15);function E(I){m.call(this,I)}E._configure=function(){C.Buffer&&(E.prototype._slice=C.Buffer.prototype.slice)},E.prototype.string=function(){var I=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+I,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+I,this.len))},E._configure()},{15:15,9:9}],11:[function(o,A,f){"use strict";A.exports={}},{}],12:[function(o,A,f){"use strict";var m=f;m.Service=o(13)},{13:13}],13:[function(o,A,f){"use strict";A.exports=C;var m=o(15);(C.prototype=Object.create(m.EventEmitter.prototype)).constructor=C;function C(E,I,x){if(typeof E!="function")throw TypeError("rpcImpl must be a function");m.EventEmitter.call(this),this.rpcImpl=E,this.requestDelimited=!!I,this.responseDelimited=!!x}C.prototype.rpcCall=function E(I,x,y,v,w){if(!v)throw TypeError("request must be specified");var Q=this;if(!w)return m.asPromise(E,Q,I,x,y,v);if(!Q.rpcImpl)return setTimeout(function(){w(Error("already ended"))},0),undefined;try{return Q.rpcImpl(I,x[Q.requestDelimited?"encodeDelimited":"encode"](v).finish(),function(M,B){if(M)return Q.emit("error",M,I),w(M);if(B===null)return Q.end(!0),undefined;if(!(B instanceof y))try{B=y[Q.responseDelimited?"decodeDelimited":"decode"](B)}catch(D){return Q.emit("error",D,I),w(D)}return Q.emit("data",B,I),w(null,B)})}catch(M){return Q.emit("error",M,I),setTimeout(function(){w(M)},0),undefined}},C.prototype.end=function(E){return this.rpcImpl&&(E||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{15:15}],14:[function(o,A,f){"use strict";A.exports=C;var m=o(15);function C(y,v){this.lo=y>>>0,this.hi=v>>>0}var E=C.zero=new C(0,0);E.toNumber=function(){return 0},E.zzEncode=E.zzDecode=function(){return this},E.length=function(){return 1};var I=C.zeroHash="\0\0\0\0\0\0\0\0";C.fromNumber=function(y){if(y===0)return E;var v=y<0;v&&(y=-y);var w=y>>>0,Q=(y-w)/4294967296>>>0;return v&&(Q=~Q>>>0,w=~w>>>0,++w>4294967295&&(w=0,++Q>4294967295&&(Q=0))),new C(w,Q)},C.from=function(y){if(typeof y=="number")return C.fromNumber(y);if(m.isString(y))if(m.Long)y=m.Long.fromString(y);else return C.fromNumber(parseInt(y,10));return y.low||y.high?new C(y.low>>>0,y.high>>>0):E},C.prototype.toNumber=function(y){if(!y&&this.hi>>>31){var v=~this.lo+1>>>0,w=~this.hi>>>0;return v||(w=w+1>>>0),-(v+w*4294967296)}return this.lo+this.hi*4294967296},C.prototype.toLong=function(y){return m.Long?new m.Long(this.lo|0,this.hi|0,!!y):{low:this.lo|0,high:this.hi|0,unsigned:!!y}};var x=String.prototype.charCodeAt;C.fromHash=function(y){return y===I?E:new C((x.call(y,0)|x.call(y,1)<<8|x.call(y,2)<<16|x.call(y,3)<<24)>>>0,(x.call(y,4)|x.call(y,5)<<8|x.call(y,6)<<16|x.call(y,7)<<24)>>>0)},C.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},C.prototype.zzEncode=function(){var y=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^y)>>>0,this.lo=(this.lo<<1^y)>>>0,this},C.prototype.zzDecode=function(){var y=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^y)>>>0,this.hi=(this.hi>>>1^y)>>>0,this},C.prototype.length=function(){var y=this.lo,v=(this.lo>>>28|this.hi<<4)>>>0,w=this.hi>>>24;return w===0?v===0?y<16384?y<128?1:2:y<2097152?3:4:v<16384?v<128?5:6:v<2097152?7:8:w<128?9:10}},{15:15}],15:[function(o,A,f){"use strict";var m=f;m.asPromise=o(1),m.base64=o(2),m.EventEmitter=o(3),m.float=o(4),m.inquire=o(5),m.utf8=o(7),m.pool=o(6),m.LongBits=o(14),m.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node),m.global=m.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||this,m.emptyArray=Object.freeze?Object.freeze([]):[],m.emptyObject=Object.freeze?Object.freeze({}):{},m.isInteger=Number.isInteger||function(I){return typeof I=="number"&&isFinite(I)&&Math.floor(I)===I},m.isString=function(I){return typeof I=="string"||I instanceof String},m.isObject=function(I){return I&&typeof I=="object"},m.isset=m.isSet=function(I,x){var y=I[x];return y!=null&&I.hasOwnProperty(x)?typeof y!="object"||(Array.isArray(y)?y.length:Object.keys(y).length)>0:!1},m.Buffer=function(){try{var I=m.inquire("buffer").Buffer;return I.prototype.utf8Write?I:null}catch{return null}}(),m._Buffer_from=null,m._Buffer_allocUnsafe=null,m.newBuffer=function(I){return typeof I=="number"?m.Buffer?m._Buffer_allocUnsafe(I):new m.Array(I):m.Buffer?m._Buffer_from(I):typeof Uint8Array>"u"?I:new Uint8Array(I)},m.Array=typeof Uint8Array<"u"?Uint8Array:Array,m.Long=m.global.dcodeIO&&m.global.dcodeIO.Long||m.global.Long||m.inquire("long"),m.key2Re=/^true|false|0|1$/,m.key32Re=/^-?(?:0|[1-9][0-9]*)$/,m.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,m.longToHash=function(I){return I?m.LongBits.from(I).toHash():m.LongBits.zeroHash},m.longFromHash=function(I,x){var y=m.LongBits.fromHash(I);return m.Long?m.Long.fromBits(y.lo,y.hi,x):y.toNumber(!!x)};function C(I,x,y){for(var v=Object.keys(x),w=0;w-1;--w)if(x[v[w]]===1&&this[v[w]]!==undefined&&this[v[w]]!==null)return v[w]}},m.oneOfSetter=function(I){return function(x){for(var y=0;y127;)F[U++]=L&127|128,L>>>=7;F[U]=L}function S(L,F){this.len=L,this.next=undefined,this.val=F}S.prototype=Object.create(y.prototype),S.prototype.fn=D,Q.prototype.uint32=function(L){return this.len+=(this.tail=this.tail.next=new S((L=L>>>0)<128?1:L<16384?2:L<2097152?3:L<268435456?4:5,L)).len,this},Q.prototype.int32=function(L){return L<0?this._push(P,10,E.fromNumber(L)):this.uint32(L)},Q.prototype.sint32=function(L){return this.uint32((L<<1^L>>31)>>>0)};function P(L,F,U){for(;L.hi;)F[U++]=L.lo&127|128,L.lo=(L.lo>>>7|L.hi<<25)>>>0,L.hi>>>=7;for(;L.lo>127;)F[U++]=L.lo&127|128,L.lo=L.lo>>>7;F[U++]=L.lo}Q.prototype.uint64=function(L){var F=E.from(L);return this._push(P,F.length(),F)},Q.prototype.int64=Q.prototype.uint64,Q.prototype.sint64=function(L){var F=E.from(L).zzEncode();return this._push(P,F.length(),F)},Q.prototype.bool=function(L){return this._push(B,1,L?1:0)};function R(L,F,U){F[U]=L&255,F[U+1]=L>>>8&255,F[U+2]=L>>>16&255,F[U+3]=L>>>24}Q.prototype.fixed32=function(L){return this._push(R,4,L>>>0)},Q.prototype.sfixed32=Q.prototype.fixed32,Q.prototype.fixed64=function(L){var F=E.from(L);return this._push(R,4,F.lo)._push(R,4,F.hi)},Q.prototype.sfixed64=Q.prototype.fixed64,Q.prototype.float=function(L){return this._push(m.float.writeFloatLE,4,L)},Q.prototype.double=function(L){return this._push(m.float.writeDoubleLE,8,L)};var T=m.Array.prototype.set?function(L,F,U){F.set(L,U)}:function(L,F,U){for(var N=0;N>>0;if(!F)return this._push(B,1,0);if(m.isString(L)){var U=Q.alloc(F=I.length(L));I.decode(L,U,0),L=U}return this.uint32(F)._push(T,F,L)},Q.prototype.string=function(L){var F=x.length(L);return F?this.uint32(F)._push(x.write,F,L):this._push(B,1,0)},Q.prototype.fork=function(){return this.states=new w(this),this.head=this.tail=new y(v,0,0),this.len=0,this},Q.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new y(v,0,0),this.len=0),this},Q.prototype.ldelim=function(){var L=this.head,F=this.tail,U=this.len;return this.reset().uint32(U),U&&(this.tail.next=L.next,this.tail=F,this.len+=U),this},Q.prototype.finish=function(){for(var L=this.head.next,F=this.constructor.alloc(this.len),U=0;L;)L.fn(L.val,F,U),U+=L.len,L=L.next;return F},Q._configure=function(L){C=L,Q.create=M(),C._configure()}},{15:15}],17:[function(o,A,f){"use strict";A.exports=E;var m=o(16);(E.prototype=Object.create(m.prototype)).constructor=E;var C=o(15);function E(){m.call(this)}E._configure=function(){E.alloc=C._Buffer_allocUnsafe,E.writeBytesBuffer=C.Buffer&&C.Buffer.prototype instanceof Uint8Array&&C.Buffer.prototype.set.name==="set"?function(x,y,v){y.set(x,v)}:function(x,y,v){if(x.copy)x.copy(y,v,0,x.length);else for(var w=0;w>>0;return this.uint32(y),y&&this._push(E.writeBytesBuffer,y,x),this};function I(x,y,v){x.length<40?C.utf8.write(x,y,v):y.utf8Write?y.utf8Write(x,v):y.write(x,v)}E.prototype.string=function(x){var y=C.Buffer.byteLength(x);return this.uint32(y),y&&this._push(I,y,x),this},E._configure()},{15:15,16:16}]},{},[8])})()}),Sht=Et((o,A)=>{/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var f=function(){var I={};I.defaultNoDataValue=-34027999387901484e22,I.decode=function(M,B){B=B||{};var D=B.encodedMaskData||B.encodedMaskData===null,S=w(M,B.inputOffset||0,D),P=B.noDataValue!==null?B.noDataValue:I.defaultNoDataValue,R=x(S,B.pixelType||Float32Array,B.encodedMaskData,P,B.returnMask),T={width:S.width,height:S.height,pixelData:R.resultPixels,minValue:R.minValue,maxValue:S.pixels.maxValue,noDataValue:P};return R.resultMask&&(T.maskData=R.resultMask),B.returnEncodedMask&&S.mask&&(T.encodedMaskData=S.mask.bitset?S.mask.bitset:null),B.returnFileInfo&&(T.fileInfo=y(S),B.computeUsedBitDepths&&(T.fileInfo.bitDepths=v(S))),T};var x=function(M,B,D,S,P){var R=0,T=M.pixels.numBlocksX,L=M.pixels.numBlocksY,F=Math.floor(M.width/T),U=Math.floor(M.height/L),N=2*M.maxZError,H=Number.MAX_VALUE,J;D=D||(M.mask?M.mask.bitset:null);var K,X;K=new B(M.width*M.height),P&&D&&(X=new Uint8Array(M.width*M.height));for(var j=new Float32Array(F*U),ee,ie,z=0;z<=L;z++){var oe=z!==L?U:M.height%L;if(oe!==0)for(var le=0;le<=T;le++){var Ae=le!==T?F:M.width%T;if(Ae!==0){var he=z*M.width*U+le*F,ge=M.width-Ae,de=M.pixels.blocks[R],fe,G,Y;de.encoding<2?(de.encoding===0?fe=de.rawData:(Q(de.stuffedData,de.bitsPerPixel,de.numValidPixels,de.offset,N,j,M.pixels.maxValue),fe=j),G=0):de.encoding===2?Y=0:Y=de.offset;var W;if(D)for(ie=0;ie>3],W<<=he&7),ee=0;ee>3]),W&128?(X&&(X[he]=1),J=de.encoding<2?fe[G++]:Y,H=H>J?J:H,K[he++]=J):(X&&(X[he]=0),K[he++]=S),W<<=1;he+=ge}else if(de.encoding<2)for(ie=0;ieJ?J:H,K[he++]=J;he+=ge}else for(H=H>Y?Y:H,ie=0;ie0){var T=new Uint8Array(Math.ceil(S.width*S.height/8));R=new DataView(M,B,S.mask.numBytes);var L=R.getInt16(0,!0),F=2,U=0;do{if(L>0)for(;L--;)T[U++]=R.getUint8(F++);else{var N=R.getUint8(F++);for(L=-L;L--;)T[U++]=N}L=R.getInt16(F,!0),F+=2}while(F0?1:0),X=J+(S.height%J>0?1:0);S.pixels.blocks=new Array(K*X);for(var j=0,ee=0;ee3)throw"Invalid block encoding ("+le.encoding+")";if(le.encoding===2){B++;continue}if(Ae!==0&&Ae!==2){if(Ae>>=6,le.offsetType=Ae,Ae===2)le.offset=R.getInt8(1),z++;else if(Ae===1)le.offset=R.getInt16(1,!0),z+=2;else if(Ae===0)le.offset=R.getFloat32(1,!0),z+=4;else throw"Invalid block offset type";if(le.encoding===1)if(Ae=R.getUint8(z),z++,le.bitsPerPixel=Ae&63,Ae>>=6,le.numValidPixelsType=Ae,Ae===2)le.numValidPixels=R.getUint8(z),z++;else if(Ae===1)le.numValidPixels=R.getUint16(z,!0),z+=2;else if(Ae===0)le.numValidPixels=R.getUint32(z,!0),z+=4;else throw"Invalid valid pixel count type"}if(B+=z,le.encoding!==3){var he,ge;if(le.encoding===0){var de=(S.pixels.numBytes-1)/4;if(de!==Math.floor(de))throw"uncompressed block has invalid length";he=new ArrayBuffer(de*4),ge=new Uint8Array(he),ge.set(new Uint8Array(M,B,de*4));var fe=new Float32Array(he);le.rawData=fe,B+=de*4}else if(le.encoding===1){var G=Math.ceil(le.numValidPixels*le.bitsPerPixel/8),Y=Math.ceil(G/4);he=new ArrayBuffer(Y*4),ge=new Uint8Array(he),ge.set(new Uint8Array(M,B,G)),le.stuffedData=new Uint32Array(he),B+=G}}}return S.eofOffset=B,S},Q=function(M,B,D,S,P,R,T){var L=(1<=B)H=J>>>N-B&L,N-=B;else{var j=B-N;H=(J&L)<>>N}R[U]=H=M?(N=H>>>U-M&T,U-=M):(J=M-U,N=(H&T)<>>U),Q[F]=D[N];else for(K=Math.ceil((R-S)/P),F=0;F=M?(N=H>>>U-M&T,U-=M):(J=M-U,N=(H&T)<>>U),Q[F]=N=Q?(U=N>>>F-Q&P,F-=Q):(L=Q-F,U=(N&P)<>>F),H[T]=U=M?(H=J>>>N&T,U-=M,N+=M):(K=M-U,H=J>>>N&T,J=w[L++],U=32-K,H|=(J&(1<=M?(H=J>>>N&T,U-=M,N+=M):(K=M-U,H=J>>>N&T,J=w[L++],U=32-K,H|=(J&(1<=Q?(U=H>>>N&P,F-=Q,N+=Q):(L=Q-F,U=H>>>N&P,H=w[R++],F=32-L,U|=(H&(1<=M?(T=L>>>R-M&D,R-=M):(F=M-R,T=(L&D)<>>R),Q[P]=T;return Q},originalUnstuff2:function(w,Q,M,B){var D=(1<=M?(L=F>>>T&D,R-=M,T+=M):(U=M-R,L=F>>>T&D,F=w[S++],R=32-U,L|=(F&(1<=359?359:D;D-=P;do Q+=w[S++]<<8,M+=Q+=w[S++];while(--P);Q=(Q&65535)+(Q>>>16),M=(M&65535)+(M>>>16)}return B&1&&(M+=Q+=w[S]<<8),Q=(Q&65535)+(Q>>>16),M=(M&65535)+(M>>>16),(M<<16|Q)>>>0},readHeaderInfo:function(w,Q){var M=Q.ptr,B=new Uint8Array(w,M,6),D={};if(D.fileIdentifierString=String.fromCharCode.apply(null,B),D.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+D.fileIdentifierString;M+=6;var S=new DataView(w,M,8),P=S.getInt32(0,!0);D.fileVersion=P,M+=4,P>=3&&(D.checksum=S.getUint32(4,!0),M+=4),S=new DataView(w,M,12),D.height=S.getUint32(0,!0),D.width=S.getUint32(4,!0),M+=8,P>=4?(D.numDims=S.getUint32(8,!0),M+=4):D.numDims=1,S=new DataView(w,M,40),D.numValidPixel=S.getUint32(0,!0),D.microBlockSize=S.getInt32(4,!0),D.blobSize=S.getInt32(8,!0),D.imageType=S.getInt32(12,!0),D.maxZError=S.getFloat64(16,!0),D.zMin=S.getFloat64(24,!0),D.zMax=S.getFloat64(32,!0),M+=40,Q.headerInfo=D,Q.ptr=M;var R,T;if(P>=3&&(T=P>=4?52:48,R=this.computeChecksumFletcher32(new Uint8Array(w,M-T,D.blobSize-14)),R!==D.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(w,Q){var M=Q.headerInfo,B=this.getDataTypeArray(M.imageType),D=M.numDims*this.getDataTypeSize(M.imageType),S=this.readSubArray(w,Q.ptr,B,D),P=this.readSubArray(w,Q.ptr+D,B,D);Q.ptr+=2*D;var R,T=!0;for(R=0;R0){T=new Uint8Array(Math.ceil(D/8)),P=new DataView(w,M,R.numBytes);var F=P.getInt16(0,!0),U=2,N=0,H=0;do{if(F>0)for(;F--;)T[N++]=P.getUint8(U++);else for(H=P.getUint8(U++),F=-F;F--;)T[N++]=H;F=P.getInt16(U,!0),U+=2}while(U>3],J<<=K&7):J=T[K>>3],J&128&&(L[K]=1);Q.pixels.resultMask=L,R.bitset=T,M+=R.numBytes}return Q.ptr=M,Q.mask=R,!0},readDataOneSweep:function(w,Q,M){var B=Q.ptr,D=Q.headerInfo,S=D.numDims,P=D.width*D.height,R=D.imageType,T=D.numValidPixel*x.getDataTypeSize(R)*S,L,F=Q.pixels.resultMask;if(M===Uint8Array)L=new Uint8Array(w,B,T);else{var U=new ArrayBuffer(T),N=new Uint8Array(U);N.set(new Uint8Array(w,B,T)),L=new M(U)}if(L.length===P*S)Q.pixels.resultPixels=L;else{Q.pixels.resultPixels=new M(P*S);var H=0,J=0,K=0,X=0;if(S>1)for(K=0;K=R)return!1;var T=new Uint32Array(R-P);x.decodeBits(w,Q,T);var L=[],F,U,N,H;for(F=P;F0&&(L[U].second=z<>>32-H,32-ie>=H?(ie+=H,ie===32&&(ie=0,oe++,z=ee[oe])):(ie+=H-32,oe++,z=ee[oe],L[U].second|=z>>>32-ie));var le=0,Ae=0,he=new y;for(F=0;F=M?Ae=M:Ae=le,le>=30&&console.log("WARning, large NUM LUT BITS IS "+le);var ge=[],de,fe,G,Y,W,O;for(F=P;F0)if(de=[H,U],H<=Ae)for(fe=L[U].second<=0;Y--)W=fe>>>Y&1,W?(O.right||(O.right=new y),O=O.right):(O.left||(O.left=new y),O=O.left),Y===0&&!O.val&&(O.val=de[1]);return{decodeLut:ge,numBitsLUTQick:Ae,numBitsLUT:le,tree:he,stuffedData:ee,srcPtr:oe,bitPos:ie}},readHuffman:function(w,Q,M){var B=Q.headerInfo,D=B.numDims,S=Q.headerInfo.height,P=Q.headerInfo.width,R=P*S,T=this.readHuffmanTree(w,Q),L=T.decodeLut,F=T.tree,U=T.stuffedData,N=T.srcPtr,H=T.bitPos,J=T.numBitsLUTQick,K=T.numBitsLUT,X=Q.headerInfo.imageType===0?128:0,j,ee,ie,z=Q.pixels.resultMask,oe,le,Ae,he,ge,de,fe,G=0;H>0&&(N++,H=0);var Y=U[N],W=Q.encodeMode===1,O=new M(R*D),re=O,se;for(se=0;se1&&(re=new M(O.buffer,R*se,R),G=0),Q.headerInfo.numValidPixel===P*S)for(de=0,he=0;he>>32-J,le=oe,32-H>>64-H-J,le=oe),L[le])ee=L[le][1],H+=L[le][0];else for(oe=Y<>>32-K,le=oe,32-H>>64-H-K,le=oe),j=F,fe=0;fe>>K-fe-1&1,j=Ae?j.right:j.left,!(j.left||j.right)){ee=j.val,H=H+fe+1;break}H>=32&&(H-=32,N++,Y=U[N]),ie=ee-X,W?(ge>0?ie+=G:he>0?ie+=re[de-P]:ie+=G,ie&=255,re[de]=ie,G=ie):re[de]=ie}else for(de=0,he=0;he>>32-J,le=oe,32-H>>64-H-J,le=oe),L[le])ee=L[le][1],H+=L[le][0];else for(oe=Y<>>32-K,le=oe,32-H>>64-H-K,le=oe),j=F,fe=0;fe>>K-fe-1&1,j=Ae?j.right:j.left,!(j.left||j.right)){ee=j.val,H=H+fe+1;break}H>=32&&(H-=32,N++,Y=U[N]),ie=ee-X,W?(ge>0&&z[de-1]?ie+=G:he>0&&z[de-P]?ie+=re[de-P]:ie+=G,ie&=255,re[de]=ie,G=ie):re[de]=ie}Q.ptr=Q.ptr+(N+1)*4+(H>0?4:0)}Q.pixels.resultPixels=O},decodeBits:function(w,Q,M,B,D){{var S=Q.headerInfo,P=S.fileVersion,R=0,T=new DataView(w,Q.ptr,5),L=T.getUint8(0);R++;var F=L>>6,U=F===0?4:3-F,N=(L&32)>0,H=L&31,J=0;if(U===1)J=T.getUint8(R),R++;else if(U===2)J=T.getUint16(R,!0),R+=2;else if(U===4)J=T.getUint32(R,!0),R+=4;else throw"Invalid valid pixel count type";var K=2*S.maxZError,X,j,ee,ie,z,oe,le,Ae,he,ge,de=S.numDims>1?S.maxValues[D]:S.zMax;if(N){for(Q.counter.lut++,Ae=T.getUint8(R),he=H,R++,ie=Math.ceil((Ae-1)*H/8),z=Math.ceil(ie/4),j=new ArrayBuffer(z*4),ee=new Uint8Array(j),Q.ptr+=R,ee.set(new Uint8Array(w,Q.ptr,ie)),le=new Uint32Array(j),Q.ptr+=ie,ge=0;Ae-1>>>ge;)ge++;ie=Math.ceil(J*ge/8),z=Math.ceil(ie/4),j=new ArrayBuffer(z*4),ee=new Uint8Array(j),ee.set(new Uint8Array(w,Q.ptr,ie)),X=new Uint32Array(j),Q.ptr+=ie,P>=3?oe=I.unstuffLUT2(le,H,Ae-1,B,K,de):oe=I.unstuffLUT(le,H,Ae-1,B,K,de),P>=3?I.unstuff2(X,M,ge,J,oe):I.unstuff(X,M,ge,J,oe)}else Q.counter.bitstuffer++,ge=H,Q.ptr+=R,ge>0&&(ie=Math.ceil(J*ge/8),z=Math.ceil(ie/4),j=new ArrayBuffer(z*4),ee=new Uint8Array(j),ee.set(new Uint8Array(w,Q.ptr,ie)),X=new Uint32Array(j),Q.ptr+=ie,P>=3?B==null?I.originalUnstuff2(X,M,ge,J):I.unstuff2(X,M,ge,J,!1,B,K,de):B==null?I.originalUnstuff(X,M,ge,J):I.unstuff(X,M,ge,J,!1,B,K,de))}},readTiles:function(w,Q,M){var B=Q.headerInfo,D=B.width,S=B.height,P=B.microBlockSize,R=B.imageType,T=x.getDataTypeSize(R),L=Math.ceil(D/P),F=Math.ceil(S/P);Q.pixels.numBlocksY=F,Q.pixels.numBlocksX=L,Q.pixels.ptr=0;var U=0,N=0,H=0,J=0,K=0,X=0,j=0,ee=0,ie=0,z=0,oe=0,le=0,Ae=0,he=0,ge=0,de=0,fe,G,Y,W,O,re,se=new M(P*P),ce=S%P||P,me=D%P||P,Ce,ye,Be=B.numDims,Me,He=Q.pixels.resultMask,ke=Q.pixels.resultPixels;for(H=0;H1&&(ke=new M(Q.pixels.resultPixels.buffer,D*S*Me*T,D*S)),j=w.byteLength-Q.ptr,fe=new DataView(w,Q.ptr,Math.min(10,j)),G={},de=0,ee=fe.getUint8(0),de++,ie=ee>>6&255,z=ee>>2&15,z!==(J*P>>3&15))throw"integrity issue";if(re=ee&3,re>3)throw Q.ptr+=de,"Invalid block encoding ("+re+")";if(re===2){Q.counter.constant++,Q.ptr+=de;continue}else if(re===0){if(Q.counter.uncompressed++,Q.ptr+=de,Ae=K*X*T,he=w.byteLength-Q.ptr,Ae=Ae1)for(S=0;S=-128&&Q<=127;break;case 1:M=Q>=0&&Q<=255;break;case 2:M=Q>=-32768&&Q<=32767;break;case 3:M=Q>=0&&Q<=65536;break;case 4:M=Q>=-2147483648&&Q<=2147483647;break;case 5:M=Q>=0&&Q<=4294967296;break;case 6:M=Q>=-34027999387901484e22&&Q<=34027999387901484e22;break;case 7:M=Q>=5e-324&&Q<=17976931348623157e292;break;default:M=!1}return M},getDataTypeSize:function(w){var Q=0;switch(w){case 0:case 1:Q=1;break;case 2:case 3:Q=2;break;case 4:case 5:case 6:Q=4;break;case 7:Q=8;break;default:Q=w}return Q},getDataTypeUsed:function(w,Q){var M=w;switch(w){case 2:case 4:M=w-Q;break;case 3:case 5:M=w-2*Q;break;case 6:Q===0?M=w:Q===1?M=2:M=1;break;case 7:Q===0?M=w:M=w-2*Q+1;break;default:M=w;break}return M},getOnePixel:function(w,Q,M,B){var D=0;switch(M){case 0:D=B.getInt8(Q);break;case 1:D=B.getUint8(Q);break;case 2:D=B.getInt16(Q,!0);break;case 3:D=B.getUint16(Q,!0);break;case 4:D=B.getInt32(Q,!0);break;case 5:D=B.getUInt32(Q,!0);break;case 6:D=B.getFloat32(Q,!0);break;case 7:D=B.getFloat64(Q,!0);break;default:throw"the decoder does not understand this pixel type"}return D}},y=function(w,Q,M){this.val=w,this.left=Q,this.right=M},v={decode:function(w,Q){Q=Q||{};var M=Q.noDataValue,B=0,D={};if(D.ptr=Q.inputOffset||0,D.pixels={},!!x.readHeaderInfo(w,D)){var S=D.headerInfo,P=S.fileVersion,R=x.getDataTypeArray(S.imageType);x.readMask(w,D),S.numValidPixel!==S.width*S.height&&!D.pixels.resultMask&&(D.pixels.resultMask=Q.maskData);var T=S.width*S.height;if(D.pixels.resultPixels=new R(T*S.numDims),D.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},S.numValidPixel!==0)if(S.zMax===S.zMin)x.constructConstantSurface(D);else if(P>=4&&x.checkMinMaxRanges(w,D))x.constructConstantSurface(D);else{var L=new DataView(w,D.ptr,2),F=L.getUint8(0);if(D.ptr++,F)x.readDataOneSweep(w,D,R);else if(P>1&&S.imageType<=1&&Math.abs(S.maxZError-.5)<1e-5){var U=L.getUint8(1);if(D.ptr++,D.encodeMode=U,U>2||P<4&&U>1)throw"Invalid Huffman flag "+U;U?x.readHuffman(w,D,R):x.readTiles(w,D,R)}else x.readTiles(w,D,R)}D.eofOffset=D.ptr;var N;Q.inputOffset?(N=D.headerInfo.blobSize+Q.inputOffset-D.ptr,Math.abs(N)>=1&&(D.eofOffset=Q.inputOffset+D.headerInfo.blobSize)):(N=D.headerInfo.blobSize-D.ptr,Math.abs(N)>=1&&(D.eofOffset=D.headerInfo.blobSize));var H={width:S.width,height:S.height,pixelData:D.pixels.resultPixels,minValue:S.zMin,maxValue:S.zMax,validPixelCount:S.numValidPixel,dimCount:S.numDims,dimStats:{minValues:S.minValues,maxValues:S.maxValues},maskData:D.pixels.resultMask};if(D.pixels.resultMask&&x.isValidPixelValue(S.imageType,M)){var J=D.pixels.resultMask;for(B=0;B1&&F.fileInfo.mask&&F.fileInfo.mask.numBytes>0&&P.push(F.maskData),B++,L.pixels.push(F.pixelData),L.statistics.push({minValue:F.minValue,maxValue:F.maxValue,noDataValue:F.noDataValue,dimStats:F.dimStats})}var U,N,H;if(M>1&&P.length>1){for(H=L.width*L.height,L.bandMasks=P,T=new Uint8Array(H),T.set(P[0]),U=1;U{A.exports={webm:"data:video/webm;base64,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",mp4:"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw"}}),Mht=Et((o,A)=>{var{webm:f,mp4:m}=Dht(),C=()=>typeof navigator<"u"&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,E=()=>"wakeLock"in navigator,I=class{constructor(){if(this.enabled=!1,E()){this._wakeLock=null;let x=()=>{this._wakeLock!==null&&document.visibilityState==="visible"&&this.enable()};document.addEventListener("visibilitychange",x),document.addEventListener("fullscreenchange",x)}else C()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",f),this._addSourceToVideo(this.noSleepVideo,"mp4",m),this.noSleepVideo.addEventListener("loadedmetadata",()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(x,y,v){var w=document.createElement("source");w.src=v,w.type=`video/${y}`,x.appendChild(w)}get isEnabled(){return this.enabled}enable(){return E()?navigator.wakeLock.request("screen").then(x=>{this._wakeLock=x,this.enabled=!0,console.log("Wake Lock active."),this._wakeLock.addEventListener("release",()=>{console.log("Wake Lock released.")})}).catch(x=>{throw this.enabled=!1,console.error(`${x.name}, ${x.message}`),x}):C()?(this.disable(),console.warn(` NoSleep enabled for older iOS devices. This can interrupt active or long-running network requests from completing successfully. See https://github.com/richtr/NoSleep.js/issues/15 for more details. `),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3),this.enabled=!0,Promise.resolve()):this.noSleepVideo.play().then(x=>(this.enabled=!0,x)).catch(x=>{throw this.enabled=!1,x})}disable(){E()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):C()?this.noSleepTimer&&(console.warn(` NoSleep now disabled for older iOS devices. `),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}};A.exports=I}),Tht=function(){let o=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"],A={base64:x},f={base64:y},m={"utf-8":E};function C(Q,M,B){let D,S,P="";for(D=0,S=Q.length;D=0&&Q<=127)for(B=D,P=0,M=8;P=128&&Q<=2047){for(B=D,P=0,M=11;P=2048&&Q<=65535){for(B=D,P=0,M=16;P=65536&&Q<=1114111){for(B=D,P=0,M=21;P0){for(M=0;M<24-D;M++)T=T+0;P=P+I(T,D)}return P}function y(Q){let M,B,D,S=0,P,R=0,T=[{str:"0",len:8},{str:"110",len:11},{str:"1110",len:16},{str:"11110",len:21}],L="",F="";for(M=0,D=Q.length;M=D-2&&Q.charAt(M)==="="&&++S}for(S===0?D=L.length:D=L.length-(6-2*S);R=f)throw new ni(`Expected ${o} to be less than ${f}, actual value was ${A}`)};Kg.typeOf.number.lessThanOrEquals=function(o,A,f){if(Kg.typeOf.number(o,A),A>f)throw new ni(`Expected ${o} to be less than or equal to ${f}, actual value was ${A}`)};Kg.typeOf.number.greaterThan=function(o,A,f){if(Kg.typeOf.number(o,A),A<=f)throw new ni(`Expected ${o} to be greater than ${f}, actual value was ${A}`)};Kg.typeOf.number.greaterThanOrEquals=function(o,A,f){if(Kg.typeOf.number(o,A),A0?1:-1});un.signNotZero=function(o){return o<0?-1:1};un.toSNorm=function(o,A){return A=ae(A,255),Math.round((un.clamp(o,-1,1)*.5+.5)*A)};un.fromSNorm=function(o,A){return A=ae(A,255),un.clamp(o,0,A)/A*2-1};un.normalize=function(o,A,f){return f=Math.max(f-A,0),f===0?0:un.clamp((o-A)/f,0,1)};un.sinh=ae(Math.sinh,function(o){return(Math.exp(o)-Math.exp(-o))/2});un.cosh=ae(Math.cosh,function(o){return(Math.exp(o)+Math.exp(-o))/2});un.lerp=function(o,A,f){return(1-f)*o+f*A};un.PI=Math.PI;un.ONE_OVER_PI=1/Math.PI;un.PI_OVER_TWO=Math.PI/2;un.PI_OVER_THREE=Math.PI/3;un.PI_OVER_FOUR=Math.PI/4;un.PI_OVER_SIX=Math.PI/6;un.THREE_PI_OVER_TWO=3*Math.PI/2;un.TWO_PI=2*Math.PI;un.ONE_OVER_TWO_PI=1/(2*Math.PI);un.RADIANS_PER_DEGREE=Math.PI/180;un.DEGREES_PER_RADIAN=180/Math.PI;un.RADIANS_PER_ARCSECOND=un.RADIANS_PER_DEGREE/3600;un.toRadians=function(o){return o*un.RADIANS_PER_DEGREE};un.toDegrees=function(o){return o*un.DEGREES_PER_RADIAN};un.convertLongitudeRange=function(o){let A=un.TWO_PI,f=o-Math.floor(o/A)*A;return f<-Math.PI?f+A:f>=Math.PI?f-A:f};un.clampToLatitudeRange=function(o){return un.clamp(o,-1*un.PI_OVER_TWO,un.PI_OVER_TWO)};un.negativePiToPi=function(o){return o>=-un.PI&&o<=un.PI?o:un.zeroToTwoPi(o+un.PI)-un.PI};un.zeroToTwoPi=function(o){if(o>=0&&o<=un.TWO_PI)return o;let A=un.mod(o,un.TWO_PI);return Math.abs(A)un.EPSILON14?un.TWO_PI:A};un.mod=function(o,A){return un.sign(o)===un.sign(A)&&Math.abs(o)f};un.greaterThanOrEquals=function(o,A,f){return o-A>-f};var qK=[1];un.factorial=function(o){let A=qK.length;if(o>=A){let f=qK[A-1];for(let m=A;m<=o;m++){let C=f*m;qK.push(C),f=C}}return qK[o]};un.incrementWrap=function(o,A,f){return f=ae(f,0),++o,o>A&&(o=f),o};un.isPowerOfTwo=function(o){return o!==0&&(o&o-1)===0};un.nextPowerOfTwo=function(o){return--o,o|=o>>1,o|=o>>2,o|=o>>4,o|=o>>8,o|=o>>16,++o,o};un.previousPowerOfTwo=function(o){return o|=o>>1,o|=o>>2,o|=o>>4,o|=o>>8,o|=o>>16,o|=o>>32,o=(o>>>0)-(o>>>1),o};un.clamp=function(o,A,f){return of?f:o};var xUe=new IUe.default;un.setRandomNumberSeed=function(o){xUe=new IUe.default(o)};un.nextRandomNumber=function(){return xUe.random()};un.randomBetween=function(o,A){return un.nextRandomNumber()*(A-o)+o};un.acosClamped=function(o){return Math.acos(un.clamp(o,-1,1))};un.asinClamped=function(o){return Math.asin(un.clamp(o,-1,1))};un.chordLength=function(o,A){return 2*A*Math.sin(o*.5)};un.logBase=function(o,A){return Math.log(o)/Math.log(A)};un.cbrt=ae(Math.cbrt,function(o){let A=Math.pow(Math.abs(o),.3333333333333333);return o<0?-A:A});un.log2=ae(Math.log2,function(o){return Math.log(o)*Math.LOG2E});un.fog=function(o,A){let f=o*A;return 1-Math.exp(-(f*f))};un.fastApproximateAtan=function(o){return o*(-.1784*Math.abs(o)-.0663*o*o+1.0301)};un.fastApproximateAtan2=function(o,A){let f,m=Math.abs(o);f=Math.abs(A);let C=Math.max(m,f);f=Math.min(m,f);let E=f/C;return m=un.fastApproximateAtan(E),m=Math.abs(A)>Math.abs(o)?un.PI_OVER_TWO-m:m,m=o<0?un.PI-m:m,m=A<0?-m:m,m};var De=un;function Yn(o,A){this.x=ae(o,0),this.y=ae(A,0)}Yn.fromElements=function(o,A,f){return k(f)?(f.x=o,f.y=A,f):new Yn(o,A)};Yn.clone=function(o,A){if(k(o))return k(A)?(A.x=o.x,A.y=o.y,A):new Yn(o.x,o.y)};Yn.fromCartesian3=Yn.clone;Yn.fromCartesian4=Yn.clone;Yn.packedLength=2;Yn.pack=function(o,A,f){return f=ae(f,0),A[f++]=o.x,A[f]=o.y,A};Yn.unpack=function(o,A,f){return A=ae(A,0),k(f)||(f=new Yn),f.x=o[A++],f.y=o[A],f};Yn.packArray=function(o,A){let f=o.length,m=f*2;k(A)?!Array.isArray(A)&&A.length!==m||A.length!==m&&(A.length=m):A=new Array(m);for(let C=0;C{let A=new Image;A.onload=function(){OE._result=A.width>0&&A.height>0,o(OE._result)},A.onerror=function(){OE._result=!1,o(OE._result)},A.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),OE._promise};Object.defineProperties(OE,{initialized:{get:function(){return k(OE._result)}}});var x5=[];typeof ArrayBuffer<"u"&&(x5.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&x5.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&x5.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&x5.push(BigInt64Array),typeof BigUint64Array<"u"&&x5.push(BigUint64Array));var $_={isChrome:phe,chromeVersion:Oht,isSafari:_Ue,safariVersion:Ght,isWebkit:BUe,webkitVersion:Hht,isInternetExplorer:wUe,internetExplorerVersion:Vht,isEdge:SZ,edgeVersion:zht,isFirefox:mhe,firefoxVersion:Kht,isWindows:Yht,isIPadOrIOS:Jht,hardwareConcurrency:ae(Em.hardwareConcurrency,3),supportsPointerEvents:Wht,supportsImageRenderingPixelated:DUe,supportsWebP:OE,imageRenderingValue:qht,typedArrayTypes:x5};$_.supportsBasis=function(o){return $_.supportsWebAssembly()&&o.context.supportsBasis};$_.supportsFullscreen=function(){return zg.supportsFullscreen()};$_.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"};$_.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"};$_.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"};$_.supportsBigInt=function(){return typeof BigInt<"u"};$_.supportsWebWorkers=function(){return typeof Worker<"u"};$_.supportsWebAssembly=function(){return typeof WebAssembly<"u"};$_.supportsWebgl2=function(o){return o.context.webgl2};var co=$_;function doe(o,A,f){return f<0&&(f+=1),f>1&&(f-=1),f*6<1?o+(A-o)*6*f:f*2<1?A:f*3<2?o+(A-o)*(2/3-f)*6:o}function Zt(o,A,f,m){this.red=ae(o,1),this.green=ae(A,1),this.blue=ae(f,1),this.alpha=ae(m,1)}Zt.fromCartesian4=function(o,A){return k(A)?(A.red=o.x,A.green=o.y,A.blue=o.z,A.alpha=o.w,A):new Zt(o.x,o.y,o.z,o.w)};Zt.fromBytes=function(o,A,f,m,C){return o=Zt.byteToFloat(ae(o,255)),A=Zt.byteToFloat(ae(A,255)),f=Zt.byteToFloat(ae(f,255)),m=Zt.byteToFloat(ae(m,255)),k(C)?(C.red=o,C.green=A,C.blue=f,C.alpha=m,C):new Zt(o,A,f,m)};Zt.fromAlpha=function(o,A,f){return k(f)?(f.red=o.red,f.green=o.green,f.blue=o.blue,f.alpha=A,f):new Zt(o.red,o.green,o.blue,A)};var goe,Che,eS;co.supportsTypedArrays()&&(goe=new ArrayBuffer(4),Che=new Uint32Array(goe),eS=new Uint8Array(goe));Zt.fromRgba=function(o,A){return Che[0]=o,Zt.fromBytes(eS[0],eS[1],eS[2],eS[3],A)};Zt.fromHsl=function(o,A,f,m,C){o=ae(o,0)%1,A=ae(A,0),f=ae(f,0),m=ae(m,1);let E=f,I=f,x=f;if(A!==0){let y;f<.5?y=f*(1+A):y=f+A-f*A;let v=2*f-y;E=doe(v,y,o+1/3),I=doe(v,y,o),x=doe(v,y,o-1/3)}return k(C)?(C.red=E,C.green=I,C.blue=x,C.alpha=m,C):new Zt(E,I,x,m)};Zt.fromRandom=function(o,A){o=ae(o,ae.EMPTY_OBJECT);let f=o.red;if(!k(f)){let I=ae(o.minimumRed,0),x=ae(o.maximumRed,1);f=I+De.nextRandomNumber()*(x-I)}let m=o.green;if(!k(m)){let I=ae(o.minimumGreen,0),x=ae(o.maximumGreen,1);m=I+De.nextRandomNumber()*(x-I)}let C=o.blue;if(!k(C)){let I=ae(o.minimumBlue,0),x=ae(o.maximumBlue,1);C=I+De.nextRandomNumber()*(x-I)}let E=o.alpha;if(!k(E)){let I=ae(o.minimumAlpha,0),x=ae(o.maximumAlpha,1);E=I+De.nextRandomNumber()*(x-I)}return k(A)?(A.red=f,A.green=m,A.blue=C,A.alpha=E,A):new Zt(f,m,C,E)};var jht=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,Xht=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,Zht=/^rgba?\s*\(\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i,$ht=/^hsla?\s*\(\s*([0-9.]+)\s*[,\s]+\s*([0-9.]+%)\s*[,\s]+\s*([0-9.]+%)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i;Zt.fromCssColorString=function(o,A){k(A)||(A=new Zt),o=o.trim();let f=Zt[o.toUpperCase()];if(k(f))return Zt.clone(f,A),A;let m=jht.exec(o);return m!==null?(A.red=parseInt(m[1],16)/15,A.green=parseInt(m[2],16)/15,A.blue=parseInt(m[3],16)/15,A.alpha=parseInt(ae(m[4],"f"),16)/15,A):(m=Xht.exec(o),m!==null?(A.red=parseInt(m[1],16)/255,A.green=parseInt(m[2],16)/255,A.blue=parseInt(m[3],16)/255,A.alpha=parseInt(ae(m[4],"ff"),16)/255,A):(m=Zht.exec(o),m!==null?(A.red=parseFloat(m[1])/(m[1].substr(-1)==="%"?100:255),A.green=parseFloat(m[2])/(m[2].substr(-1)==="%"?100:255),A.blue=parseFloat(m[3])/(m[3].substr(-1)==="%"?100:255),A.alpha=parseFloat(ae(m[4],"1.0")),A):(m=$ht.exec(o),m!==null?Zt.fromHsl(parseFloat(m[1])/360,parseFloat(m[2])/100,parseFloat(m[3])/100,parseFloat(ae(m[4],"1.0")),A):(A=void 0,A))))};Zt.packedLength=4;Zt.pack=function(o,A,f){return f=ae(f,0),A[f++]=o.red,A[f++]=o.green,A[f++]=o.blue,A[f]=o.alpha,A};Zt.unpack=function(o,A,f){return A=ae(A,0),k(f)||(f=new Zt),f.red=o[A++],f.green=o[A++],f.blue=o[A++],f.alpha=o[A],f};Zt.byteToFloat=function(o){return o/255};Zt.floatToByte=function(o){return o===1?255:o*256|0};Zt.clone=function(o,A){if(k(o))return k(A)?(A.red=o.red,A.green=o.green,A.blue=o.blue,A.alpha=o.alpha,A):new Zt(o.red,o.green,o.blue,o.alpha)};Zt.equals=function(o,A){return o===A||k(o)&&k(A)&&o.red===A.red&&o.green===A.green&&o.blue===A.blue&&o.alpha===A.alpha};Zt.equalsArray=function(o,A,f){return o.red===A[f]&&o.green===A[f+1]&&o.blue===A[f+2]&&o.alpha===A[f+3]};Zt.prototype.clone=function(o){return Zt.clone(this,o)};Zt.prototype.equals=function(o){return Zt.equals(this,o)};Zt.prototype.equalsEpsilon=function(o,A){return this===o||k(o)&&Math.abs(this.red-o.red)<=A&&Math.abs(this.green-o.green)<=A&&Math.abs(this.blue-o.blue)<=A&&Math.abs(this.alpha-o.alpha)<=A};Zt.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};Zt.prototype.toCssColorString=function(){let o=Zt.floatToByte(this.red),A=Zt.floatToByte(this.green),f=Zt.floatToByte(this.blue);return this.alpha===1?`rgb(${o},${A},${f})`:`rgba(${o},${A},${f},${this.alpha})`};Zt.prototype.toCssHexString=function(){let o=Zt.floatToByte(this.red).toString(16);o.length<2&&(o=`0${o}`);let A=Zt.floatToByte(this.green).toString(16);A.length<2&&(A=`0${A}`);let f=Zt.floatToByte(this.blue).toString(16);if(f.length<2&&(f=`0${f}`),this.alpha<1){let m=Zt.floatToByte(this.alpha).toString(16);return m.length<2&&(m=`0${m}`),`#${o}${A}${f}${m}`}return`#${o}${A}${f}`};Zt.prototype.toBytes=function(o){let A=Zt.floatToByte(this.red),f=Zt.floatToByte(this.green),m=Zt.floatToByte(this.blue),C=Zt.floatToByte(this.alpha);return k(o)?(o[0]=A,o[1]=f,o[2]=m,o[3]=C,o):[A,f,m,C]};Zt.prototype.toRgba=function(){return eS[0]=Zt.floatToByte(this.red),eS[1]=Zt.floatToByte(this.green),eS[2]=Zt.floatToByte(this.blue),eS[3]=Zt.floatToByte(this.alpha),Che[0]};Zt.prototype.brighten=function(o,A){return o=1-o,A.red=1-(1-this.red)*o,A.green=1-(1-this.green)*o,A.blue=1-(1-this.blue)*o,A.alpha=this.alpha,A};Zt.prototype.darken=function(o,A){return o=1-o,A.red=this.red*o,A.green=this.green*o,A.blue=this.blue*o,A.alpha=this.alpha,A};Zt.prototype.withAlpha=function(o,A){return Zt.fromAlpha(this,o,A)};Zt.add=function(o,A,f){return f.red=o.red+A.red,f.green=o.green+A.green,f.blue=o.blue+A.blue,f.alpha=o.alpha+A.alpha,f};Zt.subtract=function(o,A,f){return f.red=o.red-A.red,f.green=o.green-A.green,f.blue=o.blue-A.blue,f.alpha=o.alpha-A.alpha,f};Zt.multiply=function(o,A,f){return f.red=o.red*A.red,f.green=o.green*A.green,f.blue=o.blue*A.blue,f.alpha=o.alpha*A.alpha,f};Zt.divide=function(o,A,f){return f.red=o.red/A.red,f.green=o.green/A.green,f.blue=o.blue/A.blue,f.alpha=o.alpha/A.alpha,f};Zt.mod=function(o,A,f){return f.red=o.red%A.red,f.green=o.green%A.green,f.blue=o.blue%A.blue,f.alpha=o.alpha%A.alpha,f};Zt.lerp=function(o,A,f,m){return m.red=De.lerp(o.red,A.red,f),m.green=De.lerp(o.green,A.green,f),m.blue=De.lerp(o.blue,A.blue,f),m.alpha=De.lerp(o.alpha,A.alpha,f),m};Zt.multiplyByScalar=function(o,A,f){return f.red=o.red*A,f.green=o.green*A,f.blue=o.blue*A,f.alpha=o.alpha*A,f};Zt.divideByScalar=function(o,A,f){return f.red=o.red/A,f.green=o.green/A,f.blue=o.blue/A,f.alpha=o.alpha/A,f};Zt.ALICEBLUE=Object.freeze(Zt.fromCssColorString("#F0F8FF"));Zt.ANTIQUEWHITE=Object.freeze(Zt.fromCssColorString("#FAEBD7"));Zt.AQUA=Object.freeze(Zt.fromCssColorString("#00FFFF"));Zt.AQUAMARINE=Object.freeze(Zt.fromCssColorString("#7FFFD4"));Zt.AZURE=Object.freeze(Zt.fromCssColorString("#F0FFFF"));Zt.BEIGE=Object.freeze(Zt.fromCssColorString("#F5F5DC"));Zt.BISQUE=Object.freeze(Zt.fromCssColorString("#FFE4C4"));Zt.BLACK=Object.freeze(Zt.fromCssColorString("#000000"));Zt.BLANCHEDALMOND=Object.freeze(Zt.fromCssColorString("#FFEBCD"));Zt.BLUE=Object.freeze(Zt.fromCssColorString("#0000FF"));Zt.BLUEVIOLET=Object.freeze(Zt.fromCssColorString("#8A2BE2"));Zt.BROWN=Object.freeze(Zt.fromCssColorString("#A52A2A"));Zt.BURLYWOOD=Object.freeze(Zt.fromCssColorString("#DEB887"));Zt.CADETBLUE=Object.freeze(Zt.fromCssColorString("#5F9EA0"));Zt.CHARTREUSE=Object.freeze(Zt.fromCssColorString("#7FFF00"));Zt.CHOCOLATE=Object.freeze(Zt.fromCssColorString("#D2691E"));Zt.CORAL=Object.freeze(Zt.fromCssColorString("#FF7F50"));Zt.CORNFLOWERBLUE=Object.freeze(Zt.fromCssColorString("#6495ED"));Zt.CORNSILK=Object.freeze(Zt.fromCssColorString("#FFF8DC"));Zt.CRIMSON=Object.freeze(Zt.fromCssColorString("#DC143C"));Zt.CYAN=Object.freeze(Zt.fromCssColorString("#00FFFF"));Zt.DARKBLUE=Object.freeze(Zt.fromCssColorString("#00008B"));Zt.DARKCYAN=Object.freeze(Zt.fromCssColorString("#008B8B"));Zt.DARKGOLDENROD=Object.freeze(Zt.fromCssColorString("#B8860B"));Zt.DARKGRAY=Object.freeze(Zt.fromCssColorString("#A9A9A9"));Zt.DARKGREEN=Object.freeze(Zt.fromCssColorString("#006400"));Zt.DARKGREY=Zt.DARKGRAY;Zt.DARKKHAKI=Object.freeze(Zt.fromCssColorString("#BDB76B"));Zt.DARKMAGENTA=Object.freeze(Zt.fromCssColorString("#8B008B"));Zt.DARKOLIVEGREEN=Object.freeze(Zt.fromCssColorString("#556B2F"));Zt.DARKORANGE=Object.freeze(Zt.fromCssColorString("#FF8C00"));Zt.DARKORCHID=Object.freeze(Zt.fromCssColorString("#9932CC"));Zt.DARKRED=Object.freeze(Zt.fromCssColorString("#8B0000"));Zt.DARKSALMON=Object.freeze(Zt.fromCssColorString("#E9967A"));Zt.DARKSEAGREEN=Object.freeze(Zt.fromCssColorString("#8FBC8F"));Zt.DARKSLATEBLUE=Object.freeze(Zt.fromCssColorString("#483D8B"));Zt.DARKSLATEGRAY=Object.freeze(Zt.fromCssColorString("#2F4F4F"));Zt.DARKSLATEGREY=Zt.DARKSLATEGRAY;Zt.DARKTURQUOISE=Object.freeze(Zt.fromCssColorString("#00CED1"));Zt.DARKVIOLET=Object.freeze(Zt.fromCssColorString("#9400D3"));Zt.DEEPPINK=Object.freeze(Zt.fromCssColorString("#FF1493"));Zt.DEEPSKYBLUE=Object.freeze(Zt.fromCssColorString("#00BFFF"));Zt.DIMGRAY=Object.freeze(Zt.fromCssColorString("#696969"));Zt.DIMGREY=Zt.DIMGRAY;Zt.DODGERBLUE=Object.freeze(Zt.fromCssColorString("#1E90FF"));Zt.FIREBRICK=Object.freeze(Zt.fromCssColorString("#B22222"));Zt.FLORALWHITE=Object.freeze(Zt.fromCssColorString("#FFFAF0"));Zt.FORESTGREEN=Object.freeze(Zt.fromCssColorString("#228B22"));Zt.FUCHSIA=Object.freeze(Zt.fromCssColorString("#FF00FF"));Zt.GAINSBORO=Object.freeze(Zt.fromCssColorString("#DCDCDC"));Zt.GHOSTWHITE=Object.freeze(Zt.fromCssColorString("#F8F8FF"));Zt.GOLD=Object.freeze(Zt.fromCssColorString("#FFD700"));Zt.GOLDENROD=Object.freeze(Zt.fromCssColorString("#DAA520"));Zt.GRAY=Object.freeze(Zt.fromCssColorString("#808080"));Zt.GREEN=Object.freeze(Zt.fromCssColorString("#008000"));Zt.GREENYELLOW=Object.freeze(Zt.fromCssColorString("#ADFF2F"));Zt.GREY=Zt.GRAY;Zt.HONEYDEW=Object.freeze(Zt.fromCssColorString("#F0FFF0"));Zt.HOTPINK=Object.freeze(Zt.fromCssColorString("#FF69B4"));Zt.INDIANRED=Object.freeze(Zt.fromCssColorString("#CD5C5C"));Zt.INDIGO=Object.freeze(Zt.fromCssColorString("#4B0082"));Zt.IVORY=Object.freeze(Zt.fromCssColorString("#FFFFF0"));Zt.KHAKI=Object.freeze(Zt.fromCssColorString("#F0E68C"));Zt.LAVENDER=Object.freeze(Zt.fromCssColorString("#E6E6FA"));Zt.LAVENDAR_BLUSH=Object.freeze(Zt.fromCssColorString("#FFF0F5"));Zt.LAWNGREEN=Object.freeze(Zt.fromCssColorString("#7CFC00"));Zt.LEMONCHIFFON=Object.freeze(Zt.fromCssColorString("#FFFACD"));Zt.LIGHTBLUE=Object.freeze(Zt.fromCssColorString("#ADD8E6"));Zt.LIGHTCORAL=Object.freeze(Zt.fromCssColorString("#F08080"));Zt.LIGHTCYAN=Object.freeze(Zt.fromCssColorString("#E0FFFF"));Zt.LIGHTGOLDENRODYELLOW=Object.freeze(Zt.fromCssColorString("#FAFAD2"));Zt.LIGHTGRAY=Object.freeze(Zt.fromCssColorString("#D3D3D3"));Zt.LIGHTGREEN=Object.freeze(Zt.fromCssColorString("#90EE90"));Zt.LIGHTGREY=Zt.LIGHTGRAY;Zt.LIGHTPINK=Object.freeze(Zt.fromCssColorString("#FFB6C1"));Zt.LIGHTSEAGREEN=Object.freeze(Zt.fromCssColorString("#20B2AA"));Zt.LIGHTSKYBLUE=Object.freeze(Zt.fromCssColorString("#87CEFA"));Zt.LIGHTSLATEGRAY=Object.freeze(Zt.fromCssColorString("#778899"));Zt.LIGHTSLATEGREY=Zt.LIGHTSLATEGRAY;Zt.LIGHTSTEELBLUE=Object.freeze(Zt.fromCssColorString("#B0C4DE"));Zt.LIGHTYELLOW=Object.freeze(Zt.fromCssColorString("#FFFFE0"));Zt.LIME=Object.freeze(Zt.fromCssColorString("#00FF00"));Zt.LIMEGREEN=Object.freeze(Zt.fromCssColorString("#32CD32"));Zt.LINEN=Object.freeze(Zt.fromCssColorString("#FAF0E6"));Zt.MAGENTA=Object.freeze(Zt.fromCssColorString("#FF00FF"));Zt.MAROON=Object.freeze(Zt.fromCssColorString("#800000"));Zt.MEDIUMAQUAMARINE=Object.freeze(Zt.fromCssColorString("#66CDAA"));Zt.MEDIUMBLUE=Object.freeze(Zt.fromCssColorString("#0000CD"));Zt.MEDIUMORCHID=Object.freeze(Zt.fromCssColorString("#BA55D3"));Zt.MEDIUMPURPLE=Object.freeze(Zt.fromCssColorString("#9370DB"));Zt.MEDIUMSEAGREEN=Object.freeze(Zt.fromCssColorString("#3CB371"));Zt.MEDIUMSLATEBLUE=Object.freeze(Zt.fromCssColorString("#7B68EE"));Zt.MEDIUMSPRINGGREEN=Object.freeze(Zt.fromCssColorString("#00FA9A"));Zt.MEDIUMTURQUOISE=Object.freeze(Zt.fromCssColorString("#48D1CC"));Zt.MEDIUMVIOLETRED=Object.freeze(Zt.fromCssColorString("#C71585"));Zt.MIDNIGHTBLUE=Object.freeze(Zt.fromCssColorString("#191970"));Zt.MINTCREAM=Object.freeze(Zt.fromCssColorString("#F5FFFA"));Zt.MISTYROSE=Object.freeze(Zt.fromCssColorString("#FFE4E1"));Zt.MOCCASIN=Object.freeze(Zt.fromCssColorString("#FFE4B5"));Zt.NAVAJOWHITE=Object.freeze(Zt.fromCssColorString("#FFDEAD"));Zt.NAVY=Object.freeze(Zt.fromCssColorString("#000080"));Zt.OLDLACE=Object.freeze(Zt.fromCssColorString("#FDF5E6"));Zt.OLIVE=Object.freeze(Zt.fromCssColorString("#808000"));Zt.OLIVEDRAB=Object.freeze(Zt.fromCssColorString("#6B8E23"));Zt.ORANGE=Object.freeze(Zt.fromCssColorString("#FFA500"));Zt.ORANGERED=Object.freeze(Zt.fromCssColorString("#FF4500"));Zt.ORCHID=Object.freeze(Zt.fromCssColorString("#DA70D6"));Zt.PALEGOLDENROD=Object.freeze(Zt.fromCssColorString("#EEE8AA"));Zt.PALEGREEN=Object.freeze(Zt.fromCssColorString("#98FB98"));Zt.PALETURQUOISE=Object.freeze(Zt.fromCssColorString("#AFEEEE"));Zt.PALEVIOLETRED=Object.freeze(Zt.fromCssColorString("#DB7093"));Zt.PAPAYAWHIP=Object.freeze(Zt.fromCssColorString("#FFEFD5"));Zt.PEACHPUFF=Object.freeze(Zt.fromCssColorString("#FFDAB9"));Zt.PERU=Object.freeze(Zt.fromCssColorString("#CD853F"));Zt.PINK=Object.freeze(Zt.fromCssColorString("#FFC0CB"));Zt.PLUM=Object.freeze(Zt.fromCssColorString("#DDA0DD"));Zt.POWDERBLUE=Object.freeze(Zt.fromCssColorString("#B0E0E6"));Zt.PURPLE=Object.freeze(Zt.fromCssColorString("#800080"));Zt.RED=Object.freeze(Zt.fromCssColorString("#FF0000"));Zt.ROSYBROWN=Object.freeze(Zt.fromCssColorString("#BC8F8F"));Zt.ROYALBLUE=Object.freeze(Zt.fromCssColorString("#4169E1"));Zt.SADDLEBROWN=Object.freeze(Zt.fromCssColorString("#8B4513"));Zt.SALMON=Object.freeze(Zt.fromCssColorString("#FA8072"));Zt.SANDYBROWN=Object.freeze(Zt.fromCssColorString("#F4A460"));Zt.SEAGREEN=Object.freeze(Zt.fromCssColorString("#2E8B57"));Zt.SEASHELL=Object.freeze(Zt.fromCssColorString("#FFF5EE"));Zt.SIENNA=Object.freeze(Zt.fromCssColorString("#A0522D"));Zt.SILVER=Object.freeze(Zt.fromCssColorString("#C0C0C0"));Zt.SKYBLUE=Object.freeze(Zt.fromCssColorString("#87CEEB"));Zt.SLATEBLUE=Object.freeze(Zt.fromCssColorString("#6A5ACD"));Zt.SLATEGRAY=Object.freeze(Zt.fromCssColorString("#708090"));Zt.SLATEGREY=Zt.SLATEGRAY;Zt.SNOW=Object.freeze(Zt.fromCssColorString("#FFFAFA"));Zt.SPRINGGREEN=Object.freeze(Zt.fromCssColorString("#00FF7F"));Zt.STEELBLUE=Object.freeze(Zt.fromCssColorString("#4682B4"));Zt.TAN=Object.freeze(Zt.fromCssColorString("#D2B48C"));Zt.TEAL=Object.freeze(Zt.fromCssColorString("#008080"));Zt.THISTLE=Object.freeze(Zt.fromCssColorString("#D8BFD8"));Zt.TOMATO=Object.freeze(Zt.fromCssColorString("#FF6347"));Zt.TURQUOISE=Object.freeze(Zt.fromCssColorString("#40E0D0"));Zt.VIOLET=Object.freeze(Zt.fromCssColorString("#EE82EE"));Zt.WHEAT=Object.freeze(Zt.fromCssColorString("#F5DEB3"));Zt.WHITE=Object.freeze(Zt.fromCssColorString("#FFFFFF"));Zt.WHITESMOKE=Object.freeze(Zt.fromCssColorString("#F5F5F5"));Zt.YELLOW=Object.freeze(Zt.fromCssColorString("#FFFF00"));Zt.YELLOWGREEN=Object.freeze(Zt.fromCssColorString("#9ACD32"));Zt.TRANSPARENT=Object.freeze(new Zt(0,0,0,0));var qe=Zt;function Iy(o,A,f){if(A)for(let m=0;m=1&&(C=1);let E=f[m].color;o.addColorStop(C,E)}else{let m="rgba(255,255,255,0)";o.addColorStop(0,m),o.addColorStop(1,m)}}function edt(o,A,f,m,C){let E=o.getContext("2d"),I=o.width,x=o.height,y=E.createLinearGradient(0,A.width,C.width,A.width);Iy(y,C.gradient&&A.gradient,C.colorRamp),E.fillStyle=y,E.beginPath(),E.moveTo(0,0),E.lineTo(C.width,A.width),E.lineTo(0,A.width),E.fill();let v=E.createLinearGradient(C.width,0,C.width,A.width);Iy(v,A.gradient&&C.gradient,A.colorRamp),E.fillStyle=v,E.beginPath(),E.moveTo(0,0),E.lineTo(C.width,A.width),E.lineTo(C.width,0),E.fill();let w=E.createLinearGradient(I/2,0,I/2,A.width);Iy(w,A.gradient,A.colorRamp),E.fillStyle=w,E.fillRect(C.width,0,I-f.width-C.width,A.width);let Q=E.createLinearGradient(I-f.width,0,I-f.width,A.width);Iy(Q,A.gradient&&f.gradient,A.colorRamp),E.fillStyle=Q,E.beginPath(),E.moveTo(I-f.width,0),E.lineTo(I-f.width,A.width),E.lineTo(I,0),E.fill();let M=E.createLinearGradient(I,A.width,I-f.width,A.width);Iy(M,f.gradient&&A.gradient,f.colorRamp),E.fillStyle=M,E.beginPath(),E.moveTo(I,A.width),E.lineTo(I-f.width,A.width),E.lineTo(I,0),E.fill();let B=E.createLinearGradient(I,x/2,I-f.width,x/2);Iy(B,f.gradient,f.colorRamp),E.fillStyle=B,E.fillRect(I-f.width,A.width,I,x-m.width-A.width);let D=E.createLinearGradient(I,x-m.width,I-f.width,x-m.width);Iy(D,f.gradient&&m.gradient,f.colorRamp),E.fillStyle=D,E.beginPath(),E.moveTo(I,x),E.lineTo(I-f.width,x-m.width),E.lineTo(I,x-m.width),E.fill();let S=E.createLinearGradient(I-f.width,x,I-f.width,x-m.width);Iy(S,m.gradient&&f.gradient,m.colorRamp),E.fillStyle=S,E.beginPath(),E.moveTo(I,x),E.lineTo(I-f.width,x),E.lineTo(I-f.width,x-m.width),E.fill();let P=E.createLinearGradient(I/2,x,I/2,x-m.width);Iy(P,m.gradient,m.colorRamp),E.fillStyle=P,E.fillRect(C.width,x-m.width,I-f.width-C.width,x);let R=E.createLinearGradient(C.width,x,C.width,x-m.width);Iy(R,m.gradient&&C.gradient,m.colorRamp),E.fillStyle=R,E.beginPath(),E.moveTo(0,x),E.lineTo(C.width,x),E.lineTo(C.width,x-m.width),E.fill();let T=E.createLinearGradient(0,x-m.width,C.width,x-m.width);Iy(T,C.gradient&&m.gradient,C.colorRamp),E.fillStyle=T,E.beginPath(),E.moveTo(0,x),E.lineTo(0,x-m.width),E.lineTo(C.width,x-m.width),E.fill();let L=E.createLinearGradient(0,x/2,C.width,x/2);Iy(L,C.gradient,C.colorRamp),E.fillStyle=L,E.fillRect(0,A.width,C.width,x-A.width-m.width),E.fillStyle="rgba(255,255,255,1)",E.fillRect(C.width,A.width,I-f.width-C.width,x-m.width-A.width)}function tdt(o,A,f,m){let C=document.createElement("canvas");return C.width=256,C.height=256,edt(C,o,A,f,m),C}function TO(o,A,f,m,C,E){let I=tdt(f,m,C,E);A._blendCanvas=I,A._blendCanvasDirty=!0,A._blendTextureWidth=I.width,A._blendTextureHeight=I.height}function F9(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(F9.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});F9.prototype.addEventListener=function(o,A){this._listeners.push(o),this._scopes.push(A);let f=this;return function(){f.removeEventListener(o,A)}};F9.prototype.removeEventListener=function(o,A){let f=this._listeners,m=this._scopes,C=-1;for(let E=0;E0){for(C.sort(idt),o=0;o"u")return o;A=ae(f.baseURI,f.location.href)}let m=new Adt.default(o);return m.scheme()!==""?m.toString():m.absoluteTo(A).toString()};var N9=Ihe,udt=Ku(dv(),1);function cdt(o,A){let f="",m=o.lastIndexOf("/");return m!==-1&&(f=o.substring(0,m+1)),A&&(o=new udt.default(o),o.query().length!==0&&(f+=`?${o.query()}`),o.fragment().length!==0&&(f+=`#${o.fragment()}`)),f}var xhe=cdt,hdt=Ku(dv(),1);function ddt(o){let A=new hdt.default(o);A.normalize();let f=A.path(),m=f.lastIndexOf("/");return m!==-1&&(f=f.substr(m+1)),m=f.lastIndexOf("."),m===-1?f="":f=f.substr(m+1),f}var DZ=ddt,LSe={};function gdt(o,A,f){k(A)||(A=o.width),k(f)||(f=o.height);let m=LSe[A];k(m)||(m={},LSe[A]=m);let C=m[f];if(!k(C)){let E=document.createElement("canvas");E.width=A,E.height=f,C=E.getContext("2d",{willReadFrequently:!0}),C.globalCompositeOperation="copy",m[f]=C}return C.drawImage(o,0,0,A,f),C.getImageData(0,0,A,f).data}var gF=gdt,fdt=/^blob:/i;function pdt(o){return fdt.test(o)}var MZ=pdt,Gw;function mdt(o){k(Gw)||(Gw=document.createElement("a")),Gw.href=window.location.href;let A=Gw.host,f=Gw.protocol;return Gw.href=o,Gw.href=Gw.href,f!==Gw.protocol||A!==Gw.host}var TZ=mdt,Cdt=/^data:/i;function Edt(o){return Cdt.test(o)}var k9=Edt;function Idt(o){let A=document.createElement("script");return A.async=!0,A.src=o,new Promise((f,m)=>{window.crossOriginIsolated&&A.setAttribute("crossorigin","anonymous");let C=document.getElementsByTagName("head")[0];A.onload=function(){A.onload=void 0,C.removeChild(A),f()},A.onerror=function(E){m(E)},C.appendChild(A)})}var PZ=Idt;function xdt(o){let A="";for(let f in o)if(o.hasOwnProperty(f)){let m=o[f],C=`${encodeURIComponent(f)}=`;if(Array.isArray(m))for(let E=0,I=m.length;E0){let I=C.substring(0,E),x=C.substring(E+2);A[I]=x}}return A}var yhe=Bdt;function PUe(o,A,f){this.statusCode=o,this.response=A,this.responseHeaders=f,typeof this.responseHeaders=="string"&&(this.responseHeaders=yhe(this.responseHeaders))}PUe.prototype.toString=function(){let o="Request has failed.";return k(this.statusCode)&&(o+=` Status Code: ${this.statusCode}`),o};var fF=PUe,_Ae=Ku(dv(),1);function iN(o){this._comparator=o.comparator,this._array=[],this._length=0,this._maximumLength=void 0}Object.defineProperties(iN.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(o){let A=this._length;if(o=0;--A)this.heapify(A)};iN.prototype.insert=function(o){let A=this._array,f=this._comparator,m=this._maximumLength,C=this._length++;for(Cm&&(E=A[m],this._length=m),E};iN.prototype.pop=function(o){if(o=ae(o,0),this._length===0)return;let A=this._array,f=A[o];return vhe(A,o,--this._length),this.heapify(o),A[this._length]=void 0,f};var _he=iN;function wdt(o,A){return o.priority-A.priority}var UA={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},K5=20,Cm=new _he({comparator:wdt});Cm.maximumLength=K5;Cm.reserve(K5);var $w=[],CS={},bdt=typeof document<"u"?new _Ae.default(document.location.href):new _Ae.default,LZ=new ir;function Jc(){}Jc.maximumRequests=50;Jc.maximumRequestsPerServer=6;Jc.requestsByServer={"api.cesium.com:443":18,"assets.ion.cesium.com:443":18,"ibasemaps-api.arcgis.com:443":18,"tile.googleapis.com:443":18};Jc.throttleRequests=!0;Jc.debugShowStatistics=!1;Jc.requestCompletedEvent=LZ;Object.defineProperties(Jc,{statistics:{get:function(){return UA}},priorityHeapLength:{get:function(){return K5},set:function(o){if(oo;){let A=Cm.pop();$L(A)}K5=o,Cm.maximumLength=o,Cm.reserve(o)}}});function RUe(o){k(o.priorityFunction)&&(o.priority=o.priorityFunction())}Jc.serverHasOpenSlots=function(o,A){A=ae(A,1);let f=ae(Jc.requestsByServer[o],Jc.maximumRequestsPerServer);return CS[o]+A<=f};Jc.heapHasOpenSlots=function(o){return Cm.length+o<=K5};function LUe(o){return o.state===SA.UNISSUED&&(o.state=SA.ISSUED,o.deferred=Nu()),o.deferred.promise}function Qdt(o){return function(A){if(o.state===SA.CANCELLED)return;let f=o.deferred;--UA.numberOfActiveRequests,--CS[o.serverKey],LZ.raiseEvent(),o.state=SA.RECEIVED,o.deferred=void 0,f.resolve(A)}}function Sdt(o){return function(A){o.state!==SA.CANCELLED&&(++UA.numberOfFailedRequests,--UA.numberOfActiveRequests,--CS[o.serverKey],LZ.raiseEvent(A),o.state=SA.FAILED,o.deferred.reject(A))}}function FUe(o){let A=LUe(o);return o.state=SA.ACTIVE,$w.push(o),++UA.numberOfActiveRequests,++UA.numberOfActiveRequestsEver,++CS[o.serverKey],o.requestFunction().then(Qdt(o)).catch(Sdt(o)),A}function $L(o){let A=o.state===SA.ACTIVE;if(o.state=SA.CANCELLED,++UA.numberOfCancelledRequests,k(o.deferred)){let f=o.deferred;o.deferred=void 0,f.reject()}A&&(--UA.numberOfActiveRequests,--CS[o.serverKey],++UA.numberOfCancelledActiveRequests),k(o.cancelFunction)&&o.cancelFunction()}Jc.update=function(){let o,A,f=0,m=$w.length;for(o=0;o0&&($w[o-f]=A)}$w.length-=f;let C=Cm.internalArray,E=Cm.length;for(o=0;o0;){if(A=Cm.pop(),A.cancelled){$L(A);continue}if(A.throttleByServer&&!Jc.serverHasOpenSlots(A.serverKey)){$L(A);continue}FUe(A),++x}Ddt()};Jc.getServerKey=function(o){let A=new _Ae.default(o);A.scheme()===""&&(A=A.absoluteTo(bdt),A.normalize());let f=A.authority();/:/.test(f)||(f=`${f}:${A.scheme()==="https"?"443":"80"}`);let m=CS[f];return k(m)||(CS[f]=0),f};Jc.request=function(o){if(k9(o.url)||MZ(o.url))return LZ.raiseEvent(),o.state=SA.RECEIVED,o.requestFunction();if(++UA.numberOfAttemptedRequests,k(o.serverKey)||(o.serverKey=Jc.getServerKey(o.url)),Jc.throttleRequests&&o.throttleByServer&&!Jc.serverHasOpenSlots(o.serverKey))return;if(!Jc.throttleRequests||!o.throttle)return FUe(o);if($w.length>=Jc.maximumRequests)return;RUe(o);let A=Cm.insert(o);if(k(A)){if(A===o)return;$L(A)}return LUe(o)};function Ddt(){Jc.debugShowStatistics&&(UA.numberOfActiveRequests===0&&UA.lastNumberOfActiveRequests>0&&(UA.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${UA.numberOfAttemptedRequests}`),UA.numberOfAttemptedRequests=0),UA.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${UA.numberOfCancelledRequests}`),UA.numberOfCancelledRequests=0),UA.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${UA.numberOfCancelledActiveRequests}`),UA.numberOfCancelledActiveRequests=0),UA.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${UA.numberOfFailedRequests}`),UA.numberOfFailedRequests=0)),UA.lastNumberOfActiveRequests=UA.numberOfActiveRequests)}Jc.clearForSpecs=function(){for(;Cm.length>0;){let A=Cm.pop();$L(A)}let o=$w.length;for(let A=0;A0}},credits:{get:function(){return this._credits}}});Pn.prototype.toString=function(){return this.getUrlComponent(!0,!0)};Pn.prototype.parseUrl=function(o,A,f,m){let C=new adt.default(o),E=Pdt(C.query());this._queryParameters=A?pj(E,this.queryParameters,f):E,C.search(""),C.fragment(""),k(m)&&C.scheme()===""&&(C=C.absoluteTo(N9(m))),this._url=C.toString()};function Pdt(o){return o.length===0?{}:o.indexOf("=")===-1?{[o]:void 0}:A1(o)}function pj(o,A,f){if(!f)return yo(o,A);let m=En(o,!0);for(let C in A)if(A.hasOwnProperty(C)){let E=m[C],I=A[C];k(E)?(Array.isArray(E)||(E=m[C]=[E]),m[C]=E.concat(I)):m[C]=Array.isArray(I)?I.slice():I}return m}Pn.prototype.getUrlComponent=function(o,A){if(this.isDataUri)return this._url;let f=this._url;o&&(f=`${f}${Rdt(this.queryParameters)}`),f=f.replace(/%7B/g,"{").replace(/%7D/g,"}");let m=this._templateValues;return Object.keys(m).length>0&&(f=f.replace(/{(.*?)}/g,function(C,E){let I=m[E];return k(I)?encodeURIComponent(I):C})),A&&k(this.proxy)&&(f=this.proxy.getURL(f)),f};function Rdt(o){let A=Object.keys(o);return A.length===0?"":A.length===1&&!k(o[A[0]])?`?${A[0]}`:`?${RZ(o)}`}Pn.prototype.setQueryParameters=function(o,A){A?this._queryParameters=pj(this._queryParameters,o,!1):this._queryParameters=pj(o,this._queryParameters,!1)};Pn.prototype.appendQueryParameters=function(o){this._queryParameters=pj(o,this._queryParameters,!0)};Pn.prototype.setTemplateValues=function(o,A){A?this._templateValues=yo(this._templateValues,o):this._templateValues=yo(o,this._templateValues)};Pn.prototype.getDerivedResource=function(o){let A=this.clone();if(A._retryCount=0,k(o.url)){let f=ae(o.preserveQueryParameters,!1);A.parseUrl(o.url,!0,f,this._url)}return k(o.queryParameters)&&(A._queryParameters=yo(o.queryParameters,A.queryParameters)),k(o.templateValues)&&(A._templateValues=yo(o.templateValues,A.templateValues)),k(o.headers)&&(A.headers=yo(o.headers,A.headers)),k(o.proxy)&&(A.proxy=o.proxy),k(o.request)&&(A.request=o.request),k(o.retryCallback)&&(A.retryCallback=o.retryCallback),k(o.retryAttempts)&&(A.retryAttempts=o.retryAttempts),A};Pn.prototype.retryOnError=function(o){let A=this.retryCallback;if(typeof A!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let f=this;return Promise.resolve(A(this,o)).then(function(m){return++f._retryCount,m})};Pn.prototype.clone=function(o){return k(o)?(o._url=this._url,o._queryParameters=En(this._queryParameters),o._templateValues=En(this._templateValues),o.headers=En(this.headers),o.proxy=this.proxy,o.retryCallback=this.retryCallback,o.retryAttempts=this.retryAttempts,o._retryCount=0,o.request=this.request.clone(),o):new Pn({url:this._url,queryParameters:this.queryParameters,templateValues:this.templateValues,headers:this.headers,proxy:this.proxy,retryCallback:this.retryCallback,retryAttempts:this.retryAttempts,request:this.request.clone(),parseUrl:!1,credits:k(this.credits)?this.credits.slice():void 0})};Pn.prototype.getBaseUri=function(o){return xhe(this.getUrlComponent(o),o)};Pn.prototype.appendForwardSlash=function(){this._url=Ehe(this._url)};Pn.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};Pn.fetchArrayBuffer=function(o){return new Pn(o).fetchArrayBuffer()};Pn.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};Pn.fetchBlob=function(o){return new Pn(o).fetchBlob()};Pn.prototype.fetchImage=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=ae(o.preferImageBitmap,!1),f=ae(o.preferBlob,!1),m=ae(o.flipY,!1),C=ae(o.skipColorSpaceConversion,!1);if(Bhe(this.request),!NUe||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!f)return BAe({resource:this,flipY:m,skipColorSpaceConversion:C,preferImageBitmap:A});let E=this.fetchBlob();if(!k(E))return;let I,x,y,v;return Pn.supportsImageBitmapOptions().then(function(w){return I=w,x=I&&A,E}).then(function(w){if(!k(w))return;if(v=w,x)return Pn.createImageBitmapFromBlob(w,{flipY:m,premultiplyAlpha:!1,skipColorSpaceConversion:C});let Q=window.URL.createObjectURL(w);return y=new Pn({url:Q}),BAe({resource:y,flipY:m,skipColorSpaceConversion:C,preferImageBitmap:!1})}).then(function(w){if(k(w))return w.blob=v,x||window.URL.revokeObjectURL(y.url),w}).catch(function(w){return k(y)&&window.URL.revokeObjectURL(y.url),w.blob=v,Promise.reject(w)})};function BAe(o){let A=o.resource,f=o.flipY,m=o.skipColorSpaceConversion,C=o.preferImageBitmap,E=A.request;E.url=A.url,E.requestFunction=function(){let x=!1;!A.isDataUri&&!A.isBlobUri&&(x=A.isCrossOriginUrl);let y=Nu();return E.url.indexOf("nullvalue=")>-1?Pn._Implementations.createImageSGS(E.url,x,y):Pn._Implementations.createImage(E,x,y,f,m,C),y.promise};let I=iv.request(E);if(k(I))return I.catch(function(x){return E.state!==SA.FAILED?Promise.reject(x):A.retryOnError(x).then(function(y){return y?(E.state=SA.UNISSUED,E.deferred=void 0,BAe({resource:A,flipY:f,skipColorSpaceConversion:m,preferImageBitmap:C})):Promise.reject(x)})})}Pn.fetchImage=function(o){return new Pn(o).fetchImage({flipY:o.flipY,skipColorSpaceConversion:o.skipColorSpaceConversion,preferBlob:o.preferBlob,preferImageBitmap:o.preferImageBitmap})};Pn.prototype.fetchText=function(){return this.fetch({responseType:"text"})};Pn.fetchText=function(o){return new Pn(o).fetchText()};Pn.prototype.fetchJson=function(){let o=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(k(o))return o.then(function(A){if(k(A))return JSON.parse(A)})};Pn.fetchJson=function(o){return new Pn(o).fetchJson()};Pn.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};Pn.fetchXML=function(o){return new Pn(o).fetchXML()};Pn.prototype.fetchJsonp=function(o){o=ae(o,"callback"),Bhe(this.request);let A;do A=`loadJsonp${De.nextRandomNumber().toString().substring(2,8)}`;while(k(window[A]));return kUe(this,o,A)};function kUe(o,A,f){let m={};m[A]=f,o.setQueryParameters(m);let C=o.request,E=o.url;C.url=E,C.requestFunction=function(){let x=Nu();return window[f]=function(y){x.resolve(y);try{delete window[f]}catch{window[f]=void 0}},Pn._Implementations.loadAndExecuteScript(E,f,x),x.promise};let I=iv.request(C);if(k(I))return I.catch(function(x){return C.state!==SA.FAILED?Promise.reject(x):o.retryOnError(x).then(function(y){return y?(C.state=SA.UNISSUED,C.deferred=void 0,kUe(o,A,f)):Promise.reject(x)})})}Pn.fetchJsonp=function(o){return new Pn(o).fetchJsonp(o.callbackParameterName)};Pn.prototype._makeRequest=function(o){let A=this;Bhe(A.request);let f=A.request,m=A.url;f.url=m,f.requestFunction=function(){let E=o.responseType,I=yo(o.headers,A.headers),x=o.overrideMimeType,y=o.method,v=o.data,w=Nu(),Q=Pn._Implementations.loadWithXhr(m,E,y,v,I,w,x);return k(Q)&&k(Q.abort)&&(f.cancelFunction=function(){Q.abort()}),w.promise};let C=iv.request(f);if(k(C))return C.then(function(E){return f.cancelFunction=void 0,E}).catch(function(E){return f.cancelFunction=void 0,f.state!==SA.FAILED?Promise.reject(E):A.retryOnError(E).then(function(I){return I?(f.state=SA.UNISSUED,f.deferred=void 0,A.fetch(o)):Promise.reject(E)})})};function Bhe(o){if(o.state===SA.ISSUED||o.state===SA.ACTIVE)throw new Ti("The Resource is already being fetched.");o.state=SA.UNISSUED,o.deferred=void 0}var Ldt=/^data:(.*?)(;base64)?,(.*)$/;function yq(o,A){let f=decodeURIComponent(A);return o?atob(f):f}function FSe(o,A){let f=yq(o,A),m=new ArrayBuffer(f.length),C=new Uint8Array(m);for(let E=0;E(x=v.parse(o),y=w,x.protocol==="https:"?import("https"):import("http"))).then(v=>{let w={protocol:x.protocol,hostname:x.hostname,port:x.port,path:x.path,query:x.query,method:f,headers:C};v.request(w).on("response",function(Q){if(Q.statusCode<200||Q.statusCode>=300){E.reject(new fF(Q.statusCode,Q,Q.headers));return}let M=[];Q.on("data",function(B){M.push(B)}),Q.on("end",function(){let B=Buffer.concat(M);Q.headers["content-encoding"]==="gzip"?y.gunzip(B,function(D,S){D?E.reject(new Ti("Error decompressing response.")):E.resolve(NSe(S,A))}):E.resolve(NSe(B,A))})}).on("error",function(Q){E.reject(new fF)}).end()})}var kdt=typeof XMLHttpRequest>"u";Pn._Implementations.loadWithXhr=function(o,A,f,m,C,E,I){let x=Ldt.exec(o);if(x!==null){E.resolve(Fdt(x,A));return}if(kdt){Ndt(o,A,f,m,C,E,I);return}let y=new XMLHttpRequest;if(FZ.contains(o)&&(y.withCredentials=!0),y.open(f,o,!0),k(I)&&k(y.overrideMimeType)&&y.overrideMimeType(I),k(C))for(let w in C)C.hasOwnProperty(w)&&y.setRequestHeader(w,C[w]);k(A)&&(y.responseType=A);let v=!1;return typeof o=="string"&&(v=o.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),y.onload=function(){if((y.status<200||y.status>=300)&&!(v&&y.status===0)){E.reject(new fF(y.status,y.response,y.getAllResponseHeaders()));return}let w=y.response,Q=y.responseType;if(f==="HEAD"||f==="OPTIONS"){let M=y.getAllResponseHeaders().trim().split(/[\r\n]+/),B={};M.forEach(function(D){let S=D.split(": "),P=S.shift();B[P]=S.join(": ")}),E.resolve(B);return}if(y.status===204)E.resolve();else if(k(w)&&(!k(A)||Q===A))E.resolve(w);else if(A==="json"&&typeof w=="string")try{E.resolve(JSON.parse(w))}catch(M){E.reject(M)}else(Q===""||Q==="document")&&k(y.responseXML)&&y.responseXML.hasChildNodes()?E.resolve(y.responseXML):(Q===""||Q==="text")&&k(y.responseText)?E.resolve(y.responseText):E.reject(new Ti("Invalid XMLHttpRequest response type."))},y.onerror=function(w){E.reject(new fF)},o.includes("gisserver")&&o.includes("tmsserver")&&o.includes(".json")||y.send(m),y};Pn._Implementations.loadAndExecuteScript=function(o,A,f){return PZ(o,A).catch(function(m){f.reject(m)})};Pn._DefaultImplementations={};Pn._DefaultImplementations.createImage=Pn._Implementations.createImage;Pn._DefaultImplementations.loadWithXhr=Pn._Implementations.loadWithXhr;Pn._DefaultImplementations.loadAndExecuteScript=Pn._Implementations.loadAndExecuteScript;Pn.DEFAULT=Object.freeze(new Pn({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var fr=Pn;function wU(o,A,f,m,C){this._format=o,this._datatype=A,this._width=f,this._height=m,this._buffer=C}Object.defineProperties(wU.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}}});wU.clone=function(o){if(k(o))return new wU(o._format,o._datatype,o._width,o._height,o._buffer)};wU.prototype.clone=function(){return wU.clone(this)};var O9=wU,Udt=Ku(dv(),1),UUe=/((?:.*\/)|^)WebSDK\.js(?:\?|\#|$)/;function Odt(){let o=document.getElementsByTagName("script");for(let A=0,f=o.length;A"u"?o:(k(Nk)||(Nk=document.createElement("a")),Nk.href=o,Nk.href=Nk.href,Nk.href)}var FL;function GUe(){if(k(FL))return FL;let o;return typeof GEOWORLD_BASE_URL<"u"?o=GEOWORLD_BASE_URL:typeof define=="object"&&k(define.amd)&&!define.amd.toUrlUndefined&&k(VL.toUrl)?o=N9("..",rN("Core/buildModuleUrl.js")):o=Odt(),FL=new fr({url:OUe(o)}),FL.appendForwardSlash(),FL}function Gdt(o){return OUe(VL.toUrl(`../${o}`))}function HUe(o){return GUe().getDerivedResource({url:o}).url}var i7;function rN(o){return k(i7)||(typeof define=="object"&&k(define.amd)&&!define.amd.toUrlUndefined&&k(VL.toUrl)?i7=Gdt:i7=HUe),i7(o)}rN._cesiumScriptRegex=UUe;rN._buildModuleUrlFromBaseUrl=HUe;rN._clearBaseResource=function(){FL=void 0};rN.setBaseUrl=function(o){FL=fr.DEFAULT.getDerivedResource({url:o})};rN.getCesiumBaseUrl=GUe;var Ja=rN;function VUe(){if(!k(np._canTransferArrayBuffer)){let o=new Worker(YUe("Workers/transferTypedArrayTest.js"));o.postMessage=ae(o.webkitPostMessage,o.postMessage);let A=99,f=new Int8Array([A]);try{o.postMessage({array:f},[f.buffer])}catch{return np._canTransferArrayBuffer=!1,np._canTransferArrayBuffer}let m=Nu();o.onmessage=function(C){let E=C.data.array,I=k(E)&&E[0]===A;m.resolve(I),o.terminate(),np._canTransferArrayBuffer=I},np._canTransferArrayBuffer=m.promise}return np._canTransferArrayBuffer}var wAe=new ir;function zUe(o,A){--o._activeTasks;let f=A.id;if(!k(f))return;let m=o._deferreds,C=m[f];if(k(A.error)){let E=A.error;E.name==="RuntimeError"?(E=new Ti(A.error.message),E.stack=A.error.stack):E.name==="DeveloperError"&&(E=new ni(A.error.message),E.stack=A.error.stack),wAe.raiseEvent(E),C.reject(E)}else wAe.raiseEvent(),C.resolve(A.result);delete m[f]}function YUe(o){let A=Ja(o);if(TZ(A)){let f=`importScripts("${A}");`,m;try{m=new Blob([f],{type:"application/javascript"})}catch{let C=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,E=new C;E.append(f),m=E.getBlob("application/javascript")}A=(window.URL||window.webkitURL).createObjectURL(m)}return A}var foe;function Hdt(){return k(foe)||(foe=YUe("Workers/cesiumWorkerBootstrapper.js")),foe}function JUe(o){let A=new Worker(Hdt());A.postMessage=ae(A.webkitPostMessage,A.postMessage);let f={loaderConfig:{paths:{Workers:Ja("Workers")},baseUrl:Ja.getCesiumBaseUrl().url},workerModule:o._workerPath};return A.postMessage(f),A.onmessage=function(m){zUe(o,m.data)},A}function Vdt(o,A){let f={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!co.supportsWebAssembly()){if(!k(A.fallbackModulePath))throw new Ti(`This browser does not support Web Assembly, and no backup module was provided for ${o._workerPath}`);return f.modulePath=Ja(A.fallbackModulePath),Promise.resolve(f)}return f.modulePath=Ja(A.modulePath),f.wasmBinaryFile=Ja(A.wasmBinaryFile),fr.fetchArrayBuffer({url:f.wasmBinaryFile}).then(function(m){return f.wasmBinary=m,f})}function np(o,A){let f=new Udt.default(o);this._workerPath=f.scheme().length!==0&&f.fragment().length===0?o:np._workerModulePrefix+o,this._maximumActiveTasks=ae(A,Number.POSITIVE_INFINITY),this._activeTasks=0,this._deferreds={},this._nextID=0}var zdt=[];np.prototype.scheduleTask=function(o,A){if(k(this._worker)||(this._worker=JUe(this)),this._activeTasks>=this._maximumActiveTasks)return;++this._activeTasks;let f=this;return Promise.resolve(VUe()).then(function(m){k(A)?m||(A.length=0):A=zdt;let C=f._nextID++,E=Nu();return f._deferreds[C]=E,f._worker.postMessage({id:C,parameters:o,canTransferArrayBuffer:m},A),E.promise})};np.prototype.initWebAssemblyModule=function(o){k(this._worker)||(this._worker=JUe(this));let A=Nu(),f=this,m=this._worker;return Vdt(this,o).then(function(C){return Promise.resolve(VUe()).then(function(E){let I,x=C.wasmBinary;k(x)&&E&&(I=[x]),m.onmessage=function(y){m.onmessage=function(v){zUe(f,v.data)},A.resolve(y.data)},m.postMessage({webAssemblyConfig:C},I)})}),A.promise};np.prototype.isDestroyed=function(){return!1};np.prototype.destroy=function(){return k(this._worker)&&this._worker.terminate(),ar(this)};np.taskCompletedEvent=wAe;np._defaultWorkerModulePrefix="Workers/";np._workerModulePrefix=np._defaultWorkerModulePrefix;np._canTransferArrayBuffer=void 0;var Yh=np;function sS(){}sS._transcodeTaskProcessor=new Yh("transcodeKTX2",Number.POSITIVE_INFINITY);sS._readyPromise=void 0;function Ydt(){let o=sS._transcodeTaskProcessor.initWebAssemblyModule({modulePath:"ThirdParty/Workers/basis_transcoder.js",wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(){return sS._transcodeTaskProcessor});sS._readyPromise=o}sS.transcode=function(o,A){return k(sS._readyPromise)||Ydt(),sS._readyPromise.then(function(f){let m;if(o instanceof ArrayBuffer){let C=new Uint8Array(o);return m={supportedTargetFormats:A,ktx2Buffer:C},f.scheduleTask(m,[o])}return m={supportedTargetFormats:A,ktx2Buffer:o},f.scheduleTask(m,[o.buffer])}).then(function(f){let m=f.length,C=Object.keys(f[0]),E=C.length,I;for(I=0;Im&&(C=v,m=w)}let E=1,I=0,x=bAe[C],y=QAe[C];if(Math.abs(o[Xr.getElementIndex(y,x)])>f){let v=o[Xr.getElementIndex(y,y)],w=o[Xr.getElementIndex(x,x)],Q=o[Xr.getElementIndex(y,x)],M=(v-w)/2/Q,B;M<0?B=-1/(-M+Math.sqrt(1+M*M)):B=1/(M+Math.sqrt(1+M*M)),E=1/Math.sqrt(1+B*B),I=B*E}return A=Xr.clone(Xr.IDENTITY,A),A[Xr.getElementIndex(x,x)]=A[Xr.getElementIndex(y,y)]=E,A[Xr.getElementIndex(y,x)]=I,A[Xr.getElementIndex(x,y)]=-I,A}var n7=new Xr,VSe=new Xr;Xr.computeEigenDecomposition=function(o,A){let f=De.EPSILON20,m=10,C=0,E=0;k(A)||(A={});let I=A.unitary=Xr.clone(Xr.IDENTITY,A.unitary),x=A.diagonal=Xr.clone(o,A.diagonal),y=f*ogt(x);for(;Ey;)sgt(x,n7),Xr.transpose(n7,VSe),Xr.multiply(x,n7,x),Xr.multiply(VSe,x,x),Xr.multiply(I,n7,I),++C>2&&(++E,C=0);return A};Xr.abs=function(o,A){return A[0]=Math.abs(o[0]),A[1]=Math.abs(o[1]),A[2]=Math.abs(o[2]),A[3]=Math.abs(o[3]),A[4]=Math.abs(o[4]),A[5]=Math.abs(o[5]),A[6]=Math.abs(o[6]),A[7]=Math.abs(o[7]),A[8]=Math.abs(o[8]),A};Xr.determinant=function(o){let A=o[0],f=o[3],m=o[6],C=o[1],E=o[4],I=o[7],x=o[2],y=o[5],v=o[8];return A*(E*v-y*I)+C*(y*m-f*v)+x*(f*I-E*m)};Xr.inverse=function(o,A){let f=o[0],m=o[1],C=o[2],E=o[3],I=o[4],x=o[5],y=o[6],v=o[7],w=o[8],Q=Xr.determinant(o);A[0]=I*w-v*x,A[1]=v*C-m*w,A[2]=m*x-I*C,A[3]=y*x-E*w,A[4]=f*w-y*C,A[5]=E*C-f*x,A[6]=E*v-y*I,A[7]=y*m-f*v,A[8]=f*I-E*m;let M=1/Q;return Xr.multiplyByScalar(A,M,A)};var lgt=new Xr;Xr.inverseTranspose=function(o,A){return Xr.inverse(Xr.transpose(o,lgt),A)};Xr.equals=function(o,A){return o===A||k(o)&&k(A)&&o[0]===A[0]&&o[1]===A[1]&&o[2]===A[2]&&o[3]===A[3]&&o[4]===A[4]&&o[5]===A[5]&&o[6]===A[6]&&o[7]===A[7]&&o[8]===A[8]};Xr.equalsEpsilon=function(o,A,f){return f=ae(f,0),o===A||k(o)&&k(A)&&Math.abs(o[0]-A[0])<=f&&Math.abs(o[1]-A[1])<=f&&Math.abs(o[2]-A[2])<=f&&Math.abs(o[3]-A[3])<=f&&Math.abs(o[4]-A[4])<=f&&Math.abs(o[5]-A[5])<=f&&Math.abs(o[6]-A[6])<=f&&Math.abs(o[7]-A[7])<=f&&Math.abs(o[8]-A[8])<=f};Xr.IDENTITY=Object.freeze(new Xr(1,0,0,0,1,0,0,0,1));Xr.ZERO=Object.freeze(new Xr(0,0,0,0,0,0,0,0,0));Xr.COLUMN0ROW0=0;Xr.COLUMN0ROW1=1;Xr.COLUMN0ROW2=2;Xr.COLUMN1ROW0=3;Xr.COLUMN1ROW1=4;Xr.COLUMN1ROW2=5;Xr.COLUMN2ROW0=6;Xr.COLUMN2ROW1=7;Xr.COLUMN2ROW2=8;Object.defineProperties(Xr.prototype,{length:{get:function(){return Xr.packedLength}}});Xr.prototype.clone=function(o){return Xr.clone(this,o)};Xr.prototype.equals=function(o){return Xr.equals(this,o)};Xr.equalsArray=function(o,A,f){return o[0]===A[f]&&o[1]===A[f+1]&&o[2]===A[f+2]&&o[3]===A[f+3]&&o[4]===A[f+4]&&o[5]===A[f+5]&&o[6]===A[f+6]&&o[7]===A[f+7]&&o[8]===A[f+8]};Xr.prototype.equalsEpsilon=function(o,A){return Xr.equalsEpsilon(this,o,A)};Xr.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]}) (${this[1]}, ${this[4]}, ${this[7]}) (${this[2]}, ${this[5]}, ${this[8]})`};var Nt=Xr;function wn(o,A,f,m){this.x=ae(o,0),this.y=ae(A,0),this.z=ae(f,0),this.w=ae(m,0)}wn.fromElements=function(o,A,f,m,C){return k(C)?(C.x=o,C.y=A,C.z=f,C.w=m,C):new wn(o,A,f,m)};wn.fromColor=function(o,A){return k(A)?(A.x=o.red,A.y=o.green,A.z=o.blue,A.w=o.alpha,A):new wn(o.red,o.green,o.blue,o.alpha)};wn.clone=function(o,A){if(k(o))return k(A)?(A.x=o.x,A.y=o.y,A.z=o.z,A.w=o.w,A):new wn(o.x,o.y,o.z,o.w)};wn.packedLength=4;wn.pack=function(o,A,f){return f=ae(f,0),A[f++]=o.x,A[f++]=o.y,A[f++]=o.z,A[f]=o.w,A};wn.unpack=function(o,A,f){return A=ae(A,0),k(f)||(f=new wn),f.x=o[A++],f.y=o[A++],f.z=o[A++],f.w=o[A],f};wn.packArray=function(o,A){let f=o.length,m=f*4;k(A)?!Array.isArray(A)&&A.length!==m||A.length!==m&&(A.length=m):A=new Array(m);for(let C=0;C maxHeight) { material.diffuse = vec3(0.0); material.alpha = 0.0; return material; } // Binary search to find heights above and below. int idxBelow = 0; int idxAbove = heightsDimensions.x; float heightBelow = minHeight; float heightAbove = maxHeight; // while loop not allowed, so use for loop with max iterations. // maxIterations of 16 supports a texture size up to 65536 (2^16). const int maxIterations = 16; for (int i = 0; i < maxIterations; i++) { if (idxBelow >= idxAbove - 1) { break; } int idxMid = (idxBelow + idxAbove) / 2; float heightTex = getHeight(idxMid, invTexSize); if (height > heightTex) { idxBelow = idxMid; heightBelow = heightTex; } else { idxAbove = idxMid; heightAbove = heightTex; } } float lerper = heightBelow == heightAbove ? 1.0 : (height - heightBelow) / (heightAbove - heightBelow); vec2 colorUv = vec2(invTexSize * (float(idxBelow) + 0.5 + lerper), 0.5); vec4 color = texture(colors, colorUv); // undo preumultiplied alpha if (color.a > 0.0) { color.rgb /= color.a; } color.rgb = czm_gammaCorrect(color.rgb); material.diffuse = color.rgb; material.alpha = color.a; return material; } `,Phe=`uniform vec4 color; uniform float spacing; uniform float width; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); float distanceToContour = mod(materialInput.height, spacing); #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) float dxc = abs(dFdx(materialInput.height)); float dyc = abs(dFdy(materialInput.height)); float dF = max(dxc, dyc) * czm_pixelRatio * width; float alpha = (distanceToContour < dF) ? 1.0 : 0.0; #else // If no derivatives available (IE 10?), use pixel ratio float alpha = (distanceToContour < (czm_pixelRatio * width)) ? 1.0 : 0.0; #endif vec4 outColor = czm_gammaCorrect(vec4(color.rgb, alpha * color.a)); material.diffuse = outColor.rgb; material.alpha = outColor.a; return material; } `,Rhe=`uniform sampler2D image; uniform float minimumHeight; uniform float maximumHeight; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); float scaledHeight = clamp((materialInput.height - minimumHeight) / (maximumHeight - minimumHeight), 0.0, 1.0); vec4 rampColor = texture(image, vec2(scaledHeight, 0.5)); rampColor = czm_gammaCorrect(rampColor); material.diffuse = rampColor.rgb; material.alpha = rampColor.a; return material; } `,Lhe=`uniform vec4 fadeInColor; uniform vec4 fadeOutColor; uniform float maximumDistance; uniform bool repeat; uniform vec2 fadeDirection; uniform vec2 time; float getTime(float t, float coord) { float scalar = 1.0 / maximumDistance; float q = distance(t, coord) * scalar; if (repeat) { float r = distance(t, coord + 1.0) * scalar; float s = distance(t, coord - 1.0) * scalar; q = min(min(r, s), q); } return clamp(q, 0.0, 1.0); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float s = getTime(time.x, st.s) * fadeDirection.s; float t = getTime(time.y, st.t) * fadeDirection.t; float u = length(vec2(s, t)); vec4 color = mix(fadeInColor, fadeOutColor, u); color = czm_gammaCorrect(color); material.emission = color.rgb; material.alpha = color.a; return material; } `,Fhe=`uniform vec4 color; uniform float cellAlpha; uniform vec2 lineCount; uniform vec2 lineThickness; uniform vec2 lineOffset; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float scaledWidth = fract(lineCount.s * st.s - lineOffset.s); scaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5)); float scaledHeight = fract(lineCount.t * st.t - lineOffset.t); scaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5)); float value; // Fuzz Factor - Controls blurriness of lines #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) const float fuzz = 1.2; vec2 thickness = (lineThickness * czm_pixelRatio) - 1.0; // From "3D Engine Design for Virtual Globes" by Cozzi and Ring, Listing 4.13. vec2 dx = abs(dFdx(st)); vec2 dy = abs(dFdy(st)); vec2 dF = vec2(max(dx.s, dy.s), max(dx.t, dy.t)) * lineCount; value = min( smoothstep(dF.s * thickness.s, dF.s * (fuzz + thickness.s), scaledWidth), smoothstep(dF.t * thickness.t, dF.t * (fuzz + thickness.t), scaledHeight)); #else // If no derivatives available (IE 10?), revert to view-dependent fuzz const float fuzz = 0.05; vec2 range = 0.5 - (lineThickness * 0.05); value = min( 1.0 - smoothstep(range.s, range.s + fuzz, scaledWidth), 1.0 - smoothstep(range.t, range.t + fuzz, scaledHeight)); #endif // Edges taken from RimLightingMaterial.glsl // See http://www.fundza.com/rman_shaders/surface/fake_rim/fake_rim1.html float dRim = 1.0 - abs(dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC))); float sRim = smoothstep(0.8, 1.0, dRim); value *= (1.0 - sRim); vec4 halfColor; halfColor.rgb = color.rgb * 0.5; halfColor.a = color.a * (1.0 - ((1.0 - cellAlpha) * value)); halfColor = czm_gammaCorrect(halfColor); material.diffuse = halfColor.rgb; material.emission = halfColor.rgb; material.alpha = halfColor.a; return material; } `,Nhe=`uniform sampler2D image; uniform float strength; uniform vec2 repeat; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec4 textureValue = texture(image, fract(repeat * materialInput.st)); vec3 normalTangentSpace = textureValue.channels; normalTangentSpace.xy = normalTangentSpace.xy * 2.0 - 1.0; normalTangentSpace.z = clamp(1.0 - strength, 0.1, 1.0); normalTangentSpace = normalize(normalTangentSpace); vec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace; material.normal = normalEC; return material; } `,khe=`uniform vec4 color; float getPointOnLine(vec2 p0, vec2 p1, float x) { float slope = (p0.y - p1.y) / (p0.x - p1.x); return slope * (x - p0.x) + p0.y; } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) float base = 1.0 - abs(fwidth(st.s)) * 10.0 * czm_pixelRatio; #else // If no derivatives available (IE 10?), 2.5% of the line will be the arrow head float base = 0.975; #endif vec2 center = vec2(1.0, 0.5); float ptOnUpperLine = getPointOnLine(vec2(base, 1.0), center, st.s); float ptOnLowerLine = getPointOnLine(vec2(base, 0.0), center, st.s); float halfWidth = 0.15; float s = step(0.5 - halfWidth, st.t); s *= 1.0 - step(0.5 + halfWidth, st.t); s *= 1.0 - step(base, st.s); float t = step(base, materialInput.st.s); t *= 1.0 - step(ptOnUpperLine, st.t); t *= step(ptOnLowerLine, st.t); // Find the distance from the closest separator (region between two colors) float dist; if (st.s < base) { float d1 = abs(st.t - (0.5 - halfWidth)); float d2 = abs(st.t - (0.5 + halfWidth)); dist = min(d1, d2); } else { float d1 = czm_infinity; if (st.t < 0.5 - halfWidth && st.t > 0.5 + halfWidth) { d1 = abs(st.s - base); } float d2 = abs(st.t - ptOnUpperLine); float d3 = abs(st.t - ptOnLowerLine); dist = min(min(d1, d2), d3); } vec4 outsideColor = vec4(0.0); vec4 currentColor = mix(outsideColor, color, clamp(s + t, 0.0, 1.0)); vec4 outColor = czm_antialias(outsideColor, color, currentColor, dist); outColor = czm_gammaCorrect(outColor); material.diffuse = outColor.rgb; material.alpha = outColor.a; return material; } `,Uhe=`uniform vec4 color; uniform vec4 gapColor; uniform float dashLength; uniform float dashPattern; in float v_polylineAngle; const float maskLength = 16.0; mat2 rotate(float rad) { float c = cos(rad); float s = sin(rad); return mat2( c, s, -s, c ); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 pos = rotate(v_polylineAngle) * gl_FragCoord.xy; // Get the relative position within the dash from 0 to 1 float dashPosition = fract(pos.x / (dashLength * czm_pixelRatio)); // Figure out the mask index. float maskIndex = floor(dashPosition * maskLength); // Test the bit mask. float maskTest = floor(dashPattern / pow(2.0, maskIndex)); vec4 fragColor = (mod(maskTest, 2.0) < 1.0) ? gapColor : color; if (fragColor.a < 0.005) { // matches 0/255 and 1/255 discard; } fragColor = czm_gammaCorrect(fragColor); material.emission = fragColor.rgb; material.alpha = fragColor.a; return material; } `,Ohe=`uniform vec4 color; uniform float glowPower; uniform float taperPower; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float glow = glowPower / abs(st.t - 0.5) - (glowPower / 0.5); if (taperPower <= 0.99999) { glow *= min(1.0, taperPower / (0.5 - st.s * 0.5) - (taperPower / 0.5)); } vec4 fragColor; fragColor.rgb = max(vec3(glow - 1.0 + color.rgb), color.rgb); fragColor.a = clamp(0.0, 1.0, glow) * color.a; fragColor = czm_gammaCorrect(fragColor); material.emission = fragColor.rgb; material.alpha = fragColor.a; return material; } `,Ghe=`uniform vec4 color; uniform vec4 outlineColor; uniform float outlineWidth; in float v_width; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float halfInteriorWidth = 0.5 * (v_width - outlineWidth) / v_width; float b = step(0.5 - halfInteriorWidth, st.t); b *= 1.0 - step(0.5 + halfInteriorWidth, st.t); // Find the distance from the closest separator (region between two colors) float d1 = abs(st.t - (0.5 - halfInteriorWidth)); float d2 = abs(st.t - (0.5 + halfInteriorWidth)); float dist = min(d1, d2); vec4 currentColor = mix(outlineColor, color, b); vec4 outColor = czm_antialias(outlineColor, color, currentColor, dist); outColor = czm_gammaCorrect(outColor); material.diffuse = outColor.rgb; material.alpha = outColor.a; return material; } `,Hhe=`uniform vec4 color; uniform vec4 rimColor; uniform float width; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); // See http://www.fundza.com/rman_shaders/surface/fake_rim/fake_rim1.html float d = 1.0 - dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC)); float s = smoothstep(1.0 - width, 1.0, d); vec4 outColor = czm_gammaCorrect(color); vec4 outRimColor = czm_gammaCorrect(rimColor); material.diffuse = outColor.rgb; material.emission = outRimColor.rgb * s; material.alpha = mix(outColor.a, outRimColor.a, s); return material; } `,Vhe=`uniform sampler2D image; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec4 rampColor = texture(image, vec2(materialInput.slope / (czm_pi / 2.0), 0.5)); rampColor = czm_gammaCorrect(rampColor); material.diffuse = rampColor.rgb; material.alpha = rampColor.a; return material; } `,zhe=`uniform vec4 evenColor; uniform vec4 oddColor; uniform float offset; uniform float repeat; uniform bool horizontal; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); // Based on the Stripes Fragment Shader in the Orange Book (11.1.2) float coord = mix(materialInput.st.s, materialInput.st.t, float(horizontal)); float value = fract((coord - offset) * (repeat * 0.5)); float dist = min(value, min(abs(value - 0.5), 1.0 - value)); vec4 currentColor = mix(evenColor, oddColor, step(0.5, value)); vec4 color = czm_antialias(evenColor, oddColor, currentColor, dist); color = czm_gammaCorrect(color); material.diffuse = color.rgb; material.alpha = color.a; return material; } `,Yhe=`// Thanks for the contribution Jonas // http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog uniform sampler2D specularMap; uniform sampler2D normalMap; uniform vec4 baseWaterColor; uniform vec4 blendColor; uniform float frequency; uniform float animationSpeed; uniform float amplitude; uniform float specularIntensity; uniform float fadeFactor; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); float time = czm_frameNumber * animationSpeed; // fade is a function of the distance from the fragment and the frequency of the waves float fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor); float specularMapValue = texture(specularMap, materialInput.st).r; // note: not using directional motion at this time, just set the angle to 0.0; vec4 noise = czm_getWaterNoise(normalMap, materialInput.st * frequency, time, 0.0); vec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude)); // fade out the normal perturbation as we move further from the water surface normalTangentSpace.xy /= fade; // attempt to fade out the normal perturbation as we approach non water areas (low specular map value) normalTangentSpace = mix(vec3(0.0, 0.0, 50.0), normalTangentSpace, specularMapValue); normalTangentSpace = normalize(normalTangentSpace); // get ratios for alignment of the new normal vector with a vector perpendicular to the tangent plane float tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0); // fade out water effect as specular map value decreases material.alpha = mix(blendColor.a, baseWaterColor.a, specularMapValue) * specularMapValue; // base color is a blend of the water and non-water color based on the value from the specular map // may need a uniform blend factor to better control this material.diffuse = mix(blendColor.rgb, baseWaterColor.rgb, specularMapValue); // diffuse highlights are based on how perturbed the normal is material.diffuse += (0.1 * tsPerturbationRatio); material.diffuse = material.diffuse; material.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace); material.specular = specularIntensity; material.shininess = 10.0; return material; } `;function Dr(o){this.type=void 0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._minificationFilter=ae(o.minificationFilter,ya.LINEAR),this._magnificationFilter=ae(o.magnificationFilter,mu.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,xgt(o,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),k(Dr._uniformList[this.type])||(Dr._uniformList[this.type]=Object.keys(this._uniforms))}Dr._uniformList={};Dr.fromType=function(o,A){let f=new Dr({fabric:{type:o}});if(k(A))for(let m in A)A.hasOwnProperty(m)&&(f.uniforms[m]=A[m]);return f};Dr.prototype.isTranslucent=function(){if(k(this.translucent))return typeof this.translucent=="function"?this.translucent():this.translucent;let o=!0,A=this._translucentFunctions,f=A.length;for(let m=0;m-1)return!0;return!1}function bgt(o){let A=o._template.components,f=o._template.source;if(k(f))o.shaderSource+=`${f} `;else{if(o.shaderSource+=`czm_material czm_getMaterial(czm_materialInput materialInput) { `,o.shaderSource+=`czm_material material = czm_getDefaultMaterial(materialInput); `,k(A)){let m=Object.keys(o._template.materials).length>0;for(let C in A)if(A.hasOwnProperty(C))if(C==="diffuse"||C==="emission"){let E=m&&wgt(A[C],o)?A[C]:`czm_gammaCorrect(${A[C]})`;o.shaderSource+=`material.${C} = ${E}; `}else C==="alpha"?o.shaderSource+=`material.alpha = ${A.alpha}; `:o.shaderSource+=`material.${C} = ${A[C]}; `}o.shaderSource+=`return material; } `}}var KSe={mat2:Ud,mat3:Nt,mat4:Re},Qgt=/\.ktx2$/i,Sgt=/\.dds$/i;function Dgt(o){let A;return function(f,m){let C=f.uniforms,E=C[o],I=A!==E,x=!k(E)||E===Dr.DefaultImageId;A=E;let y=f._textures[o],v,w;if(E instanceof HTMLVideoElement){if(E.readyState>=2){if(I&&k(y)&&(y!==m.defaultTexture&&y.destroy(),y=void 0),!k(y)||y===m.defaultTexture){let M=new Ra({minificationFilter:f._minificationFilter,magnificationFilter:f._magnificationFilter});y=new Rn({context:m,source:E,sampler:M}),f._textures[o]=y;return}y.copyFrom({source:E})}else k(y)||(f._textures[o]=m.defaultTexture);return}if(E instanceof Rn&&E!==y){f._texturePaths[o]=void 0;let M=f._textures[o];k(M)&&M!==f._defaultTexture&&M.destroy(),f._textures[o]=E,v=`${o}Dimensions`,C.hasOwnProperty(v)&&(w=C[v],w.x=E._width,w.y=E._height);return}if(I&&k(y)&&x&&(y!==f._defaultTexture&&y.destroy(),y=void 0),k(y)||(f._texturePaths[o]=void 0,y=f._textures[o]=f._defaultTexture,v=`${o}Dimensions`,C.hasOwnProperty(v)&&(w=C[v],w.x=y._width,w.y=y._height)),x)return;let Q=E instanceof fr;if(!k(f._texturePaths[o])||Q&&E.url!==f._texturePaths[o].url||!Q&&E!==f._texturePaths[o]){if(typeof E=="string"||Q){let M=Q?E:fr.createIfNeeded(E),B;Qgt.test(M.url)?B=$2(M.url):Sgt.test(M.url)?B=NZ(M):B=M.fetchImage(),Promise.resolve(B).then(function(D){f._loadedImages.push({id:o,image:D})}).catch(function(){k(y)&&y!==f._defaultTexture&&y.destroy(),f._textures[o]=f._defaultTexture})}else(E instanceof HTMLCanvasElement||E instanceof HTMLImageElement)&&f._loadedImages.push({id:o,image:E});f._texturePaths[o]=E}}}function Mgt(o){return function(A,f){let m=A.uniforms[o];if(m instanceof dB){let E=A._textures[o];E!==A._defaultTexture&&E.destroy(),A._texturePaths[o]=void 0,A._textures[o]=m;return}if(k(A._textures[o])||(A._texturePaths[o]=void 0,A._textures[o]=f.defaultCubeMap),m===Dr.DefaultCubeMapId)return;let C=m.positiveX+m.negativeX+m.positiveY+m.negativeY+m.positiveZ+m.negativeZ;if(C!==A._texturePaths[o]){let E=[fr.createIfNeeded(m.positiveX).fetchImage(),fr.createIfNeeded(m.negativeX).fetchImage(),fr.createIfNeeded(m.positiveY).fetchImage(),fr.createIfNeeded(m.negativeY).fetchImage(),fr.createIfNeeded(m.positiveZ).fetchImage(),fr.createIfNeeded(m.negativeZ).fetchImage()];Promise.all(E).then(function(I){A._loadedCubeMaps.push({id:o,images:I})}),A._texturePaths[o]=C}}}function Tgt(o){let A=o._template.uniforms;for(let f in A)A.hasOwnProperty(f)&&XUe(o,f)}function XUe(o,A){let f=o._strict,m=o._template.uniforms,C=m[A],E=Pgt(C),I;if(E==="channels")I=aV(o,A,C,!1);else{if(E==="sampler2D"){let y=`${A}Dimensions`;Lgt(o,y)>0&&(m[y]={type:"ivec3",x:1,y:1},XUe(o,y))}if(!new RegExp(`uniform\\s+${E}\\s+${A}\\s*;`).test(o.shaderSource)){let y=`uniform ${E} ${A};`;o.shaderSource=y+o.shaderSource}let x=`${A}_${o._count++}`;if(I=aV(o,A,x),o.uniforms[A]=C,E==="sampler2D")o._uniforms[x]=function(){return o._textures[A]},o._updateFunctions.push(Dgt(A));else if(E==="samplerCube")o._uniforms[x]=function(){return o._textures[A]},o._updateFunctions.push(Mgt(A));else if(E.indexOf("mat")!==-1){let y=new KSe[E];o._uniforms[x]=function(){return KSe[E].fromColumnMajorArray(o.uniforms[A],y)}}else o._uniforms[x]=function(){return o.uniforms[A]}}}function Pgt(o){let A=o.type;if(!k(A)){let f=typeof o;if(f==="number")A="float";else if(f==="boolean")A="bool";else if(f==="string"||o instanceof fr||o instanceof HTMLCanvasElement||o instanceof HTMLImageElement)/^([rgba]){1,4}$/i.test(o)?A="channels":o===Dr.DefaultCubeMapId?A="samplerCube":A="sampler2D";else if(f==="object")if(Array.isArray(o))(o.length===4||o.length===9||o.length===16)&&(A=`mat${Math.sqrt(o.length)}`);else{let m=0;for(let C in o)o.hasOwnProperty(C)&&(m+=1);m>=2&&m<=4?A=`vec${m}`:m===6&&(A="samplerCube")}}return A}function Rgt(o){let A=o._strict,f=o._template.materials;for(let m in f)if(f.hasOwnProperty(m)){let C=new Dr({strict:A,fabric:f[m],count:o._count});o._count=C._count,o._uniforms=yo(o._uniforms,C._uniforms,!0),o.materials[m]=C,o._translucentFunctions=o._translucentFunctions.concat(C._translucentFunctions);let E="czm_getMaterial",I=`${E}_${o._count++}`;aV(C,E,I),o.shaderSource=C.shaderSource+o.shaderSource;let x=`${I}(materialInput)`,y=aV(o,m,x)}}function aV(o,A,f,m){m=ae(m,!0);let C=0,E="([\\w])?",I=`([\\w${m?".":""}])?`,x=new RegExp(I+A+E,"g");return o.shaderSource=o.shaderSource.replace(x,function(y,v,w){return v||w?y:(C+=1,f)}),C}function Lgt(o,A,f){return aV(o,A,A,f)}Dr._materialCache={_materials:{},addMaterial:function(o,A){this._materials[o]=A},getMaterial:function(o){return this._materials[o]}};Dr.DefaultImageId="czm_defaultImage";Dr.DefaultCubeMapId="czm_defaultCubeMap";Dr.ColorType="Color";Dr._materialCache.addMaterial(Dr.ColorType,{fabric:{type:Dr.ColorType,uniforms:{color:new qe(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(o){return o.uniforms.color.alpha<1}});Dr.PolylineTrailLinkType="PolylineTrailLink";Dr.PolylineTrailLinkSource=`uniform float time; uniform sampler2D image; uniform float repeat; uniform vec4 color; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float aa = st.s*st.t; vec4 colorImage = color*aa+(1.0-aa)*texture(image, vec2(fract(st.s-time*repeat), st.t)); material.alpha = colorImage.a; material.diffuse = colorImage.rgb; return material; }`;Dr._materialCache.addMaterial(Dr.PolylineTrailLinkType,{fabric:{type:Dr.PolylineTrailLinkType,uniforms:{color:new qe(1,0,0,.5),image:Dr.DefaultImageId,repeat:1,time:0},source:Dr.PolylineTrailLinkSource},translucent:function(o){return!0}});Dr.ModelColorType="ModelColor";Dr._materialCache.addMaterial(Dr.ModelColorType,{fabric:{type:Dr.ModelColorType,uniforms:{color:new qe(0,0,1,1),image:Dr.DefaultImageId,minimumHeight:0,maximumHeight:100},source:`uniform vec4 color;\r uniform sampler2D image;\r uniform float minimumHeight;\r uniform float maximumHeight;\r czm_material czm_getMaterial(czm_materialInput materialInput)\r {\r czm_material material = czm_getDefaultMaterial(materialInput);\r vec2 st = materialInput.st;\r float scaledHeight = clamp((materialInput.height - minimumHeight) / (maximumHeight - minimumHeight), 0.0, 1.0);\r vec4 halfColor = texture(image, vec2(0.5,scaledHeight));\r halfColor *= 0.6;\r material.diffuse = halfColor.rgb;\r material.emission = halfColor.rgb;\r material.alpha = color.a;\r return material;\r }`},translucent:!1});Dr.ImageType="Image";Dr._materialCache.addMaterial(Dr.ImageType,{fabric:{type:Dr.ImageType,uniforms:{image:Dr.DefaultImageId,repeat:new tt(1,1),color:new qe(1,1,1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(o){return o.uniforms.color.alpha<1}});Dr.DiffuseMapType="DiffuseMap";Dr._materialCache.addMaterial(Dr.DiffuseMapType,{fabric:{type:Dr.DiffuseMapType,uniforms:{image:Dr.DefaultImageId,channels:"rgb",repeat:new tt(1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});Dr.AlphaMapType="AlphaMap";Dr._materialCache.addMaterial(Dr.AlphaMapType,{fabric:{type:Dr.AlphaMapType,uniforms:{image:Dr.DefaultImageId,channel:"a",repeat:new tt(1,1)},components:{alpha:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!0});Dr.SpecularMapType="SpecularMap";Dr._materialCache.addMaterial(Dr.SpecularMapType,{fabric:{type:Dr.SpecularMapType,uniforms:{image:Dr.DefaultImageId,channel:"r",repeat:new tt(1,1)},components:{specular:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!1});Dr.EmissionMapType="EmissionMap";Dr._materialCache.addMaterial(Dr.EmissionMapType,{fabric:{type:Dr.EmissionMapType,uniforms:{image:Dr.DefaultImageId,channels:"rgb",repeat:new tt(1,1)},components:{emission:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});Dr.BumpMapType="BumpMap";Dr._materialCache.addMaterial(Dr.BumpMapType,{fabric:{type:Dr.BumpMapType,uniforms:{image:Dr.DefaultImageId,channel:"r",strength:.8,repeat:new tt(1,1)},source:She},translucent:!1});Dr.NormalMapType="NormalMap";Dr._materialCache.addMaterial(Dr.NormalMapType,{fabric:{type:Dr.NormalMapType,uniforms:{image:Dr.DefaultImageId,channels:"rgb",strength:.8,repeat:new tt(1,1)},source:Nhe},translucent:!1});Dr.GridType="Grid";Dr._materialCache.addMaterial(Dr.GridType,{fabric:{type:Dr.GridType,uniforms:{color:new qe(0,1,0,1),cellAlpha:.1,lineCount:new tt(8,8),lineThickness:new tt(1,1),lineOffset:new tt(0,0)},source:Fhe},translucent:function(o){let A=o.uniforms;return A.color.alpha<1||A.cellAlpha<1}});Dr.StripeType="Stripe";Dr._materialCache.addMaterial(Dr.StripeType,{fabric:{type:Dr.StripeType,uniforms:{horizontal:!0,evenColor:new qe(1,1,1,.5),oddColor:new qe(0,0,1,.5),offset:0,repeat:5},source:zhe},translucent:function(o){let A=o.uniforms;return A.evenColor.alpha<1||A.oddColor.alpha<1}});Dr.CheckerboardType="Checkerboard";Dr._materialCache.addMaterial(Dr.CheckerboardType,{fabric:{type:Dr.CheckerboardType,uniforms:{lightColor:new qe(1,1,1,.5),darkColor:new qe(0,0,0,.5),repeat:new tt(5,5)},source:Dhe},translucent:function(o){let A=o.uniforms;return A.lightColor.alpha<1||A.darkColor.alpha<1}});Dr.DotType="Dot";Dr._materialCache.addMaterial(Dr.DotType,{fabric:{type:Dr.DotType,uniforms:{lightColor:new qe(1,1,0,.75),darkColor:new qe(0,1,1,.75),repeat:new tt(5,5)},source:Mhe},translucent:function(o){let A=o.uniforms;return A.lightColor.alpha<1||A.darkColor.alpha<1}});Dr.WaterType="Water";Dr._materialCache.addMaterial(Dr.WaterType,{fabric:{type:Dr.WaterType,uniforms:{baseWaterColor:new qe(.2,.3,.6,1),blendColor:new qe(0,1,.699,1),specularMap:Dr.DefaultImageId,normalMap:Dr.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:Yhe},translucent:function(o){let A=o.uniforms;return A.baseWaterColor.alpha<1||A.blendColor.alpha<1}});Dr.RimLightingType="RimLighting";Dr._materialCache.addMaterial(Dr.RimLightingType,{fabric:{type:Dr.RimLightingType,uniforms:{color:new qe(1,0,0,.7),rimColor:new qe(1,1,1,.4),width:.3},source:Hhe},translucent:function(o){let A=o.uniforms;return A.color.alpha<1||A.rimColor.alpha<1}});Dr.FadeType="Fade";Dr._materialCache.addMaterial(Dr.FadeType,{fabric:{type:Dr.FadeType,uniforms:{fadeInColor:new qe(1,0,0,1),fadeOutColor:new qe(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new tt(.5,.5)},source:Lhe},translucent:function(o){let A=o.uniforms;return A.fadeInColor.alpha<1||A.fadeOutColor.alpha<1}});Dr.PolylineArrowType="PolylineArrow";Dr._materialCache.addMaterial(Dr.PolylineArrowType,{fabric:{type:Dr.PolylineArrowType,uniforms:{color:new qe(1,1,1,1)},source:khe},translucent:!0});Dr.PolylineDashType="PolylineDash";Dr._materialCache.addMaterial(Dr.PolylineDashType,{fabric:{type:Dr.PolylineDashType,uniforms:{color:new qe(1,0,1,1),gapColor:new qe(0,0,0,0),dashLength:16,dashPattern:255},source:Uhe},translucent:!0});Dr.PolylineGlowType="PolylineGlow";Dr._materialCache.addMaterial(Dr.PolylineGlowType,{fabric:{type:Dr.PolylineGlowType,uniforms:{color:new qe(0,.5,1,1),glowPower:.25,taperPower:1},source:Ohe},translucent:!0});Dr.PolylineOutlineType="PolylineOutline";Dr._materialCache.addMaterial(Dr.PolylineOutlineType,{fabric:{type:Dr.PolylineOutlineType,uniforms:{color:new qe(1,1,1,1),outlineColor:new qe(1,0,0,1),outlineWidth:1},source:Ghe},translucent:function(o){let A=o.uniforms;return A.color.alpha<1||A.outlineColor.alpha<1}});Dr.ElevationContourType="ElevationContour";Dr._materialCache.addMaterial(Dr.ElevationContourType,{fabric:{type:Dr.ElevationContourType,uniforms:{spacing:100,color:new qe(1,0,0,1),width:1},source:Phe},translucent:!1});Dr.ElevationRampType="ElevationRamp";Dr._materialCache.addMaterial(Dr.ElevationRampType,{fabric:{type:Dr.ElevationRampType,uniforms:{image:Dr.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:Rhe},translucent:!1});Dr.SlopeRampMaterialType="SlopeRamp";Dr._materialCache.addMaterial(Dr.SlopeRampMaterialType,{fabric:{type:Dr.SlopeRampMaterialType,uniforms:{image:Dr.DefaultImageId},source:Vhe},translucent:!1});Dr.AspectRampMaterialType="AspectRamp";Dr._materialCache.addMaterial(Dr.AspectRampMaterialType,{fabric:{type:Dr.AspectRampMaterialType,uniforms:{image:Dr.DefaultImageId},source:Qhe},translucent:!1});Dr.ElevationBandType="ElevationBand";Dr._materialCache.addMaterial(Dr.ElevationBandType,{fabric:{type:Dr.ElevationBandType,uniforms:{heights:Dr.DefaultImageId,colors:Dr.DefaultImageId},source:The},translucent:!0});var fa=Dr;function eB(){ni.throwInstantiationError()}Object.defineProperties(eB.prototype,{isConstant:{get:ni.throwInstantiationError},definitionChanged:{get:ni.throwInstantiationError}});eB.prototype.getValue=ni.throwInstantiationError;eB.prototype.equals=ni.throwInstantiationError;eB.equals=function(o,A){return o===A||k(o)&&o.equals(A)};eB.arrayEquals=function(o,A){if(o===A)return!0;if(!k(o)||!k(A)||o.length!==A.length)return!1;let f=o.length;for(let m=0;m1&&(this.gradient=1),this._time=performance.now()}Object.defineProperties(bU.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:ai("color")});bU.prototype.getType=function(o){return fa.CircleWaveMaterialType};bU.prototype.getValue=function(o,A){return k(A)||(A={}),A.color=Ct.getValueOrClonedDefault(this._color,o,qe.WHITE,A.color),A.time=(performance.now()-this._time)/this.duration,A.count=this.count,A.gradient=1+10*(1-this.gradient),A};bU.prototype.equals=function(o){return this===o||o instanceof bU&&Ct.equals(this._color,o._color)};fa.CircleWaveMaterialType="CircleWaveMaterial";fa.PolylineTrailSource=`czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = 1.5*color.rgb; vec2 st = materialInput.st; vec3 str = materialInput.str; float dis = distance(st, vec2(0.5, 0.5)); float per = fract(time); if (abs(str.z) > 0.01) { discard; } if ( dis > 0.5 ) { discard; } else { float perDis = 0.5 / count; float disNum; float bl = .0; for(int i=0;i<=999;i++){ if(float(i)<=count){ disNum = perDis*float(i)-dis + per/count; if(disNum > 0.0) { if(disNum < perDis){ bl=1.0-disNum/perDis; } else if(disNum-perDis < perDis){ bl = 1.0 - abs(1.0-disNum/perDis); } material.alpha = pow(bl, gradient); } } } } return material; } `;fa._materialCache.addMaterial(fa.CircleWaveMaterialType,{fabric:{type:fa.CircleWaveMaterialType,uniforms:{color:new qe(1,0,0,1),time:1,count:1,gradient:.1},source:fa.PolylineTrailSource},translucent:function(o){return!0}});var PO=bU,Fgt=new Z,Ngt=new Z;function kgt(o,A,f,m,C){let E=o.x,I=o.y,x=o.z,y=A.x,v=A.y,w=A.z,Q=E*E*y*y,M=I*I*v*v,B=x*x*w*w,D=Q+M+B,S=Math.sqrt(1/D),P=Z.multiplyByScalar(o,S,Fgt);if(DDe.EPSILON12);return k(C)?(C.x=E*K,C.y=I*X,C.z=x*j,C):new Z(E*K,I*X,x*j)}var UZ=kgt;function fg(o,A,f){this.longitude=ae(o,0),this.latitude=ae(A,0),this.height=ae(f,0)}fg.fromRadians=function(o,A,f,m){return f=ae(f,0),k(m)?(m.longitude=o,m.latitude=A,m.height=f,m):new fg(o,A,f)};fg.fromDegrees=function(o,A,f,m){return o=De.toRadians(o),A=De.toRadians(A),fg.fromRadians(o,A,f,m)};var Ugt=new Z,Ogt=new Z,Ggt=new Z,Hgt=new Z(1/6378137,1/6378137,1/6356752314245179e-9),Vgt=new Z(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9)),zgt=new Z(1/1737400,1/1737400,1/1737400),Ygt=new Z(1/(1737400*1737400),1/(1737400*1737400),1/(1737400*1737400)),Jgt=new Z(1/6378137,1/6378137,1/6356752314140356e-9),Kgt=new Z(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314140356e-9*6356752314140356e-9)),Wgt=De.EPSILON1;fg.fromCartesian=function(o,A,f){let m=null,C=null,E=k(A)?A._centerToleranceSquared:Wgt;DC.ellipsoidCoordinates==="CGCS2000"?(m=Jgt,C=Kgt):DC.ellipsoidCoordinates==="MOON"||DC.ellipsoidCoordinates==="MOON2000"?(m=zgt,C=Ygt):(m=k(A)?A.oneOverRadii:Hgt,C=k(A)?A.oneOverRadiiSquared:Vgt);let I=UZ(o,m,C,E,Ogt);if(!k(I))return;let x=Z.multiplyComponents(I,C,Ugt);x=Z.normalize(x,x);let y=Z.subtract(o,I,Ggt),v=Math.atan2(x.y,x.x),w=Math.asin(x.z),Q=De.sign(Z.dot(y,o))*Z.magnitude(y);return k(f)?(f.longitude=v,f.latitude=w,f.height=Q,f):new fg(v,w,Q)};fg.toCartesian=function(o,A,f){return Z.fromRadians(o.longitude,o.latitude,o.height,A,f)};fg.clone=function(o,A){if(k(o))return k(A)?(A.longitude=o.longitude,A.latitude=o.latitude,A.height=o.height,A):new fg(o.longitude,o.latitude,o.height)};fg.equals=function(o,A){return o===A||k(o)&&k(A)&&o.longitude===A.longitude&&o.latitude===A.latitude&&o.height===A.height};fg.equalsEpsilon=function(o,A,f){return f=ae(f,0),o===A||k(o)&&k(A)&&Math.abs(o.longitude-A.longitude)<=f&&Math.abs(o.latitude-A.latitude)<=f&&Math.abs(o.height-A.height)<=f};fg.ZERO=Object.freeze(new fg(0,0,0));fg.prototype.clone=function(o){return fg.clone(this,o)};fg.prototype.equals=function(o){return fg.equals(this,o)};fg.prototype.equalsEpsilon=function(o,A){return fg.equalsEpsilon(this,o,A)};fg.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var Lt=fg;function ZUe(o,A,f,m){A=ae(A,0),f=ae(f,0),m=ae(m,0),o._radii=new Z(A,f,m),o._radiiSquared=new Z(A*A,f*f,m*m),o._radiiToTheFourth=new Z(A*A*A*A,f*f*f*f,m*m*m*m),o._oneOverRadii=new Z(A===0?0:1/A,f===0?0:1/f,m===0?0:1/m),o._oneOverRadiiSquared=new Z(A===0?0:1/(A*A),f===0?0:1/(f*f),m===0?0:1/(m*m)),o._minimumRadius=Math.min(A,f,m),o._maximumRadius=Math.max(A,f,m),o._centerToleranceSquared=De.EPSILON1,o._radiiSquared.z!==0&&(o._squaredXOverSquaredZ=o._radiiSquared.x/o._radiiSquared.z)}function aA(o,A,f){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,ZUe(this,o,A,f)}Object.defineProperties(aA.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}});aA.clone=function(o,A){if(!k(o))return;let f=o._radii;return k(A)?(Z.clone(f,A._radii),Z.clone(o._radiiSquared,A._radiiSquared),Z.clone(o._radiiToTheFourth,A._radiiToTheFourth),Z.clone(o._oneOverRadii,A._oneOverRadii),Z.clone(o._oneOverRadiiSquared,A._oneOverRadiiSquared),A._minimumRadius=o._minimumRadius,A._maximumRadius=o._maximumRadius,A._centerToleranceSquared=o._centerToleranceSquared,A):new aA(f.x,f.y,f.z)};aA.fromCartesian3=function(o,A){return k(A)||(A=new aA),k(o)&&ZUe(A,o.x,o.y,o.z),A};aA.WGS84=Object.freeze(new aA(6378137,6378137,6356752314245179e-9));aA.CGCS2000=Object.freeze(new aA(6378137,6378137,6356752314140356e-9));aA.MOON2000=Object.freeze(new aA(1737400,1737400,1737400));aA.UNIT_SPHERE=Object.freeze(new aA(1,1,1));aA.MOON=Object.freeze(new aA(De.LUNAR_RADIUS,De.LUNAR_RADIUS,De.LUNAR_RADIUS));aA.prototype.clone=function(o){return aA.clone(this,o)};aA.packedLength=Z.packedLength;aA.pack=function(o,A,f){return f=ae(f,0),Z.pack(o._radii,A,f),A};aA.unpack=function(o,A,f){A=ae(A,0);let m=Z.unpack(o,A);return aA.fromCartesian3(m,f)};aA.prototype.geocentricSurfaceNormal=Z.normalize;aA.prototype.geodeticSurfaceNormalCartographic=function(o,A){let f=o.longitude,m=o.latitude,C=Math.cos(m),E=C*Math.cos(f),I=C*Math.sin(f),x=Math.sin(m);return k(A)||(A=new Z),A.x=E,A.y=I,A.z=x,Z.normalize(A,A)};aA.prototype.geodeticSurfaceNormal=function(o,A){if(!Z.equalsEpsilon(o,Z.ZERO,De.EPSILON14))return k(A)||(A=new Z),A=Z.multiplyComponents(o,this._oneOverRadiiSquared,A),Z.normalize(A,A)};var qgt=new Z,jgt=new Z;aA.prototype.cartographicToCartesian=function(o,A){let f=qgt,m=jgt;this.geodeticSurfaceNormalCartographic(o,f),Z.multiplyComponents(this._radiiSquared,f,m);let C=Math.sqrt(Z.dot(f,m));return Z.divideByScalar(m,C,m),Z.multiplyByScalar(f,o.height,f),k(A)||(A=new Z),Z.add(m,f,A)};aA.prototype.cartographicArrayToCartesianArray=function(o,A){let f=o.length;k(A)?A.length=f:A=new Array(f);for(let m=0;m=this._radii.z-A))return f};var eft=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],tft=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function WSe(o,A,f){let m=.5*(A+o),C=.5*(A-o),E=0;for(let I=0;I<5;I++){let x=C*eft[I];E+=tft[I]*(f(m+x)+f(m-x))}return E*=C,E}aA.prototype.surfaceArea=function(o){let A=o.west,f=o.east,m=o.south,C=o.north;for(;f=0?w.longitude:w.longitude+De.TWO_PI;C=Math.min(C,Q),E=Math.max(E,Q)}return m-f>E-C&&(f=C,m=E,m>De.PI&&(m=m-De.TWO_PI),f>De.PI&&(f=f-De.TWO_PI)),k(A)?(A.west=f,A.south=I,A.east=m,A.north=x,A):new os(f,I,m,x)};os.fromCartesianArray=function(o,A,f){A=ae(A,gi.WGS84);let m=Number.MAX_VALUE,C=-Number.MAX_VALUE,E=Number.MAX_VALUE,I=-Number.MAX_VALUE,x=Number.MAX_VALUE,y=-Number.MAX_VALUE;for(let v=0,w=o.length;v=0?Q.longitude:Q.longitude+De.TWO_PI;E=Math.min(E,M),I=Math.max(I,M)}return C-m>I-E&&(m=E,C=I,C>De.PI&&(C=C-De.TWO_PI),m>De.PI&&(m=m-De.TWO_PI)),k(f)?(f.west=m,f.south=x,f.east=C,f.north=y,f):new os(m,x,C,y)};os.clone=function(o,A){if(k(o))return k(A)?(A.west=o.west,A.south=o.south,A.east=o.east,A.north=o.north,A):new os(o.west,o.south,o.east,o.north)};os.equalsEpsilon=function(o,A,f){return f=ae(f,0),o===A||k(o)&&k(A)&&Math.abs(o.west-A.west)<=f&&Math.abs(o.south-A.south)<=f&&Math.abs(o.east-A.east)<=f&&Math.abs(o.north-A.north)<=f};os.prototype.clone=function(o){return os.clone(this,o)};os.prototype.equals=function(o){return os.equals(this,o)};os.equals=function(o,A){return o===A||k(o)&&k(A)&&o.west===A.west&&o.south===A.south&&o.east===A.east&&o.north===A.north};os.prototype.equalsEpsilon=function(o,A){return os.equalsEpsilon(this,o,A)};os.validate=function(o){};os.southwest=function(o,A){return k(A)?(A.longitude=o.west,A.latitude=o.south,A.height=0,A):new Lt(o.west,o.south)};os.northwest=function(o,A){return k(A)?(A.longitude=o.west,A.latitude=o.north,A.height=0,A):new Lt(o.west,o.north)};os.northeast=function(o,A){return k(A)?(A.longitude=o.east,A.latitude=o.north,A.height=0,A):new Lt(o.east,o.north)};os.southeast=function(o,A){return k(A)?(A.longitude=o.east,A.latitude=o.south,A.height=0,A):new Lt(o.east,o.south)};os.center=function(o,A){let f=o.east,m=o.west;f0?m+=De.TWO_PI:E0&&(E+=De.TWO_PI),m=w))return k(f)?(f.west=x,f.south=v,f.east=y,f.north=w,f):new os(x,v,y,w)};os.simpleIntersection=function(o,A,f){let m=Math.max(o.west,A.west),C=Math.max(o.south,A.south),E=Math.min(o.east,A.east),I=Math.min(o.north,A.north);if(!(C>=I||m>=E))return k(f)?(f.west=m,f.south=C,f.east=E,f.north=I,f):new os(m,C,E,I)};os.union=function(o,A,f){k(f)||(f=new os);let m=o.east,C=o.west,E=A.east,I=A.west;m0?m+=De.TWO_PI:E0&&(E+=De.TWO_PI),mC||De.equalsEpsilon(f,C,De.EPSILON14))&&(f=o.south&&m<=o.north};var rft=new Lt;os.subsample=function(o,A,f,m){A=ae(A,gi.WGS84),f=ae(f,0),k(m)||(m=[]);let C=0,E=o.north,I=o.south,x=o.east,y=o.west,v=rft;v.height=f,v.longitude=y,v.latitude=E,m[C]=A.cartographicToCartesian(v,m[C]),C++,v.longitude=x,m[C]=A.cartographicToCartesian(v,m[C]),C++,v.latitude=I,m[C]=A.cartographicToCartesian(v,m[C]),C++,v.longitude=y,m[C]=A.cartographicToCartesian(v,m[C]),C++,E<0?v.latitude=E:I>0?v.latitude=I:v.latitude=0;for(let w=1;w<8;++w)v.longitude=-Math.PI+w*De.PI_OVER_TWO,os.contains(o,v)&&(m[C]=A.cartographicToCartesian(v,m[C]),C++);return v.latitude===0&&(v.longitude=y,m[C]=A.cartographicToCartesian(v,m[C]),C++,v.longitude=x,m[C]=A.cartographicToCartesian(v,m[C]),C++),m.length=C,m};os.subsection=function(o,A,f,m,C,E){if(k(E)||(E=new os),o.west<=o.east){let x=o.east-o.west;E.west=o.west+A*x,E.east=o.west+m*x}else{let x=De.TWO_PI+o.east-o.west;E.west=De.negativePiToPi(o.west+A*x),E.east=De.negativePiToPi(o.west+m*x)}let I=o.north-o.south;return E.south=o.south+f*I,E.north=o.south+C*I,A===1&&(E.west=o.east),m===1&&(E.east=o.east),f===1&&(E.south=o.north),C===1&&(E.north=o.north),E};os.MAX_VALUE=Object.freeze(new os(-Math.PI,-De.PI_OVER_TWO,Math.PI,De.PI_OVER_TWO));var hi=os;function dd(o,A,f,m){this.x=ae(o,0),this.y=ae(A,0),this.width=ae(f,0),this.height=ae(m,0)}dd.packedLength=4;dd.pack=function(o,A,f){return f=ae(f,0),A[f++]=o.x,A[f++]=o.y,A[f++]=o.width,A[f]=o.height,A};dd.unpack=function(o,A,f){return A=ae(A,0),k(f)||(f=new dd),f.x=o[A++],f.y=o[A++],f.width=o[A++],f.height=o[A],f};dd.fromPoints=function(o,A){if(k(A)||(A=new dd),!k(o)||o.length===0)return A.x=0,A.y=0,A.width=0,A.height=0,A;let f=o.length,m=o[0].x,C=o[0].y,E=o[0].x,I=o[0].y;for(let x=1;xf.width?f.width=m:m<0&&(f.width-=m,f.x=A.x),C>f.height?f.height=C:C<0&&(f.height-=C,f.y=A.y),f};dd.intersect=function(o,A){let f=o.x,m=o.y,C=A.x,E=A.y;return f>C+A.width||f+o.widthE+A.height?Wo.OUTSIDE:Wo.INTERSECTING};dd.equals=function(o,A){return o===A||k(o)&&k(A)&&o.x===A.x&&o.y===A.y&&o.width===A.width&&o.height===A.height};dd.prototype.clone=function(o){return dd.clone(this,o)};dd.prototype.intersect=function(o){return dd.intersect(this,o)};dd.prototype.equals=function(o){return dd.equals(this,o)};var _r=dd;function sft(o,A){this.start=ae(o,0),this.stop=ae(A,0)}var r1=sft;function ea(o,A){this.center=Z.clone(ae(o,Z.ZERO)),this.radius=ae(A,0)}var Jhe=new Z,Khe=new Z,Whe=new Z,qhe=new Z,jhe=new Z,Xhe=new Z,Zhe=new Z,l0=new Z,$he=new Z,ede=new Z,tde=new Z,ide=new Z,lft=4/3*De.PI;ea.fromPoints=function(o,A){if(k(A)||(A=new ea),!k(o)||o.length===0)return A.center=Z.clone(Z.ZERO,A.center),A.radius=0,A;let f=Z.clone(o[0],Zhe),m=Z.clone(f,Jhe),C=Z.clone(f,Khe),E=Z.clone(f,Whe),I=Z.clone(f,qhe),x=Z.clone(f,jhe),y=Z.clone(f,Xhe),v=o.length,w;for(w=1;wI.x&&Z.clone(f,I),Kx.y&&Z.clone(f,x),Xy.z&&Z.clone(f,y)}let Q=Z.magnitudeSquared(Z.subtract(I,m,l0)),M=Z.magnitudeSquared(Z.subtract(x,C,l0)),B=Z.magnitudeSquared(Z.subtract(y,E,l0)),D=m,S=I,P=Q;M>P&&(P=M,D=C,S=x),B>P&&(P=B,D=E,S=y);let R=$he;R.x=(D.x+S.x)*.5,R.y=(D.y+S.y)*.5,R.z=(D.z+S.z)*.5;let T=Z.magnitudeSquared(Z.subtract(S,R,l0)),L=Math.sqrt(T),F=ede;F.x=m.x,F.y=C.y,F.z=E.z;let U=tde;U.x=I.x,U.y=x.y,U.z=y.z;let N=Z.midpoint(F,U,ide),H=0;for(w=0;wH&&(H=J);let K=Z.magnitudeSquared(Z.subtract(f,R,l0));if(K>T){let X=Math.sqrt(K);L=(L+X)*.5,T=L*L;let j=X-L;R.x=(L*R.x+j*f.x)/X,R.y=(L*R.y+j*f.y)/X,R.z=(L*R.z+j*f.z)/X}}return Ly.x&&Z.clone(C,y),jv.y&&Z.clone(C,v),eew.z&&Z.clone(C,w)}let B=Z.magnitudeSquared(Z.subtract(y,E,l0)),D=Z.magnitudeSquared(Z.subtract(v,I,l0)),S=Z.magnitudeSquared(Z.subtract(w,x,l0)),P=E,R=y,T=B;D>T&&(T=D,P=I,R=v),S>T&&(T=S,P=x,R=w);let L=$he;L.x=(P.x+R.x)*.5,L.y=(P.y+R.y)*.5,L.z=(P.z+R.z)*.5;let F=Z.magnitudeSquared(Z.subtract(R,L,l0)),U=Math.sqrt(F),N=ede;N.x=E.x,N.y=I.y,N.z=x.z;let H=tde;H.x=y.x,H.y=v.y,H.z=w.z;let J=Z.midpoint(N,H,ide),K=0;for(M=0;MK&&(K=X);let j=Z.magnitudeSquared(Z.subtract(C,L,l0));if(j>F){let ee=Math.sqrt(j);U=(U+ee)*.5,F=U*U;let ie=ee-U;L.x=(U*L.x+ie*C.x)/ee,L.y=(U*L.y+ie*C.y)/ee,L.z=(U*L.z+ie*C.z)/ee}}return Ux.x&&Z.clone(m,x),Xy.y&&Z.clone(m,y),jv.z&&Z.clone(m,v)}let M=Z.magnitudeSquared(Z.subtract(x,C,l0)),B=Z.magnitudeSquared(Z.subtract(y,E,l0)),D=Z.magnitudeSquared(Z.subtract(v,I,l0)),S=C,P=x,R=M;B>R&&(R=B,S=E,P=y),D>R&&(R=D,S=I,P=v);let T=$he;T.x=(S.x+P.x)*.5,T.y=(S.y+P.y)*.5,T.z=(S.z+P.z)*.5;let L=Z.magnitudeSquared(Z.subtract(P,T,l0)),F=Math.sqrt(L),U=ede;U.x=C.x,U.y=E.y,U.z=I.z;let N=tde;N.x=x.x,N.y=y.y,N.z=v.z;let H=Z.midpoint(U,N,ide),J=0;for(Q=0;QJ&&(J=K);let X=Z.magnitudeSquared(Z.subtract(m,T,l0));if(X>L){let j=Math.sqrt(X);F=(F+j)*.5,L=F*F;let ee=j-F;T.x=(F*T.x+ee*m.x)/j,T.y=(F*T.y+ee*m.y)/j,T.z=(F*T.z+ee*m.z)/j}}return F=y+I)return o.clone(f),f;if(I>=y+C)return A.clone(f),f;let v=(C+y+I)*.5,w=Z.multiplyByScalar(x,(-C+v)/y,Ift);return Z.add(w,m,w),Z.clone(w,f.center),f.radius=v,f};var xft=new Z;ea.expand=function(o,A,f){f=ea.clone(o,f);let m=Z.magnitude(Z.subtract(A,f.center,xft));return m>f.radius&&(f.radius=m),f};ea.intersectPlane=function(o,A){let f=o.center,m=o.radius,C=A.normal,E=Z.dot(C,f)+A.distance;return E<-m?Wo.OUTSIDE:E-A?(C=Dft,C.x=this._cameraPosition.x/(f.radii.x+A),C.y=this._cameraPosition.y/(f.radii.y+A),C.z=this._cameraPosition.z/(f.radii.z+A),m=C.x*C.x+C.y*C.y+C.z*C.z-1):(C=this._cameraPositionInScaledSpace,m=this._distanceToLimbInScaledSpaceSquared),rde(o,C,m)};V1.prototype.computeHorizonCullingPoint=function(o,A,f){return rOe(this._ellipsoid,o,A,f)};var tOe=gi.clone(gi.UNIT_SPHERE);V1.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(o,A,f,m){let C=iOe(this._ellipsoid,f,tOe);return rOe(C,o,A,m)};V1.prototype.computeHorizonCullingPointFromVertices=function(o,A,f,m,C){return nOe(this._ellipsoid,o,A,f,m,C)};V1.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(o,A,f,m,C,E){let I=iOe(this._ellipsoid,C,tOe);return nOe(I,o,A,f,m,E)};var Mft=[];V1.prototype.computeHorizonCullingPointFromRectangle=function(o,A,f){let m=hi.subsample(o,A,0,Mft),C=si.fromPoints(m);if(!(Z.magnitude(C.center)<.1*A.minimumRadius))return this.computeHorizonCullingPoint(C.center,m,f)};var Tft=new Z;function iOe(o,A,f){if(k(A)&&A<0&&o.minimumRadius>-A){let m=Z.fromElements(o.radii.x+A,o.radii.y+A,o.radii.z+A,Tft);o=gi.fromCartesian3(m,f)}return o}function rOe(o,A,f,m){k(m)||(m=new Z);let C=sOe(o,A),E=0;for(let I=0,x=f.length;I0:I>C&&I*I/Z.magnitudeSquared(E)>C)}var Pft=new Z,Rft=new Z;function oOe(o,A,f){let m=o.transformPositionToScaledSpace(A,Pft),C=Z.magnitudeSquared(m),E=Math.sqrt(C),I=Z.divideByScalar(m,E,Rft);C=Math.max(1,C),E=Math.max(1,E);let x=Z.dot(I,f),y=Z.magnitude(Z.cross(I,f,I)),v=1/E,w=Math.sqrt(C-1)*v;return 1/(x*v-y*w)}function aOe(o,A,f){if(!(A<=0||A===1/0||A!==A))return Z.multiplyByScalar(o,A,f)}var yoe=new Z;function sOe(o,A){return Z.equals(A,Z.ZERO)?A:(o.transformPositionToScaledSpace(A,yoe),Z.normalize(yoe,yoe))}var nN=V1;function Qx(o,A){o=ae(o,0),this._near=o,A=ae(A,Number.MAX_VALUE),this._far=A}Object.defineProperties(Qx.prototype,{near:{get:function(){return this._near},set:function(o){this._near=o}},far:{get:function(){return this._far},set:function(o){this._far=o}}});Qx.packedLength=2;Qx.pack=function(o,A,f){return f=ae(f,0),A[f++]=o.near,A[f]=o.far,A};Qx.unpack=function(o,A,f){return A=ae(A,0),k(f)||(f=new Qx),f.near=o[A++],f.far=o[A],f};Qx.equals=function(o,A){return o===A||k(o)&&k(A)&&o.near===A.near&&o.far===A.far};Qx.clone=function(o,A){if(k(o))return k(A)||(A=new Qx),A.near=o.near,A.far=o.far,A};Qx.prototype.clone=function(o){return Qx.clone(this,o)};Qx.prototype.equals=function(o){return Qx.equals(this,o)};var wo=Qx;function rv(o,A,f,m){this.near=ae(o,0),this.nearValue=ae(A,0),this.far=ae(f,1),this.farValue=ae(m,0)}rv.clone=function(o,A){if(k(o))return k(A)?(A.near=o.near,A.nearValue=o.nearValue,A.far=o.far,A.farValue=o.farValue,A):new rv(o.near,o.nearValue,o.far,o.farValue)};rv.packedLength=4;rv.pack=function(o,A,f){return f=ae(f,0),A[f++]=o.near,A[f++]=o.nearValue,A[f++]=o.far,A[f]=o.farValue,A};rv.unpack=function(o,A,f){return A=ae(A,0),k(f)||(f=new rv),f.near=o[A++],f.nearValue=o[A++],f.far=o[A++],f.farValue=o[A],f};rv.equals=function(o,A){return o===A||k(o)&&k(A)&&o.near===A.near&&o.nearValue===A.nearValue&&o.far===A.far&&o.farValue===A.farValue};rv.prototype.clone=function(o){return rv.clone(this,o)};rv.prototype.equals=function(o){return rv.equals(this,o)};var no=rv,Lft={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2},tn=Object.freeze(Lft),Fft={CENTER:0,LEFT:1,RIGHT:-1},iu=Object.freeze(Fft),vq={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3};vq.getMorphTime=function(o){return o===vq.SCENE3D?1:o===vq.MORPHING?void 0:0};var ii=Object.freeze(vq);function xf(o,A){this.normal=Z.clone(o),this.distance=A}xf.fromPointNormal=function(o,A,f){let m=-Z.dot(A,o);return k(f)?(Z.clone(A,f.normal),f.distance=m,f):new xf(A,m)};var Nft=new Z;xf.fromCartesian4=function(o,A){let f=Z.fromCartesian4(o,Nft),m=o.w;return k(A)?(Z.clone(f,A.normal),A.distance=m,A):new xf(f,m)};xf.getPointDistance=function(o,A){return Z.dot(o.normal,A)+o.distance};var kft=new Z;xf.projectPointOntoPlane=function(o,A,f){k(f)||(f=new Z);let m=xf.getPointDistance(o,A),C=Z.multiplyByScalar(o.normal,m,kft);return Z.subtract(A,C,f)};var Uft=new Re,Oft=new kt,Gft=new Z;xf.transform=function(o,A,f){let m=o.normal,C=o.distance,E=Re.inverseTranspose(A,Uft),I=kt.fromElements(m.x,m.y,m.z,C,Oft);I=Re.multiplyByVector(E,I,I);let x=Z.fromCartesian4(I,Gft);return I=kt.divideByScalar(I,Z.magnitude(x),I),xf.fromCartesian4(I,f)};xf.clone=function(o,A){return k(A)?(Z.clone(o.normal,A.normal),A.distance=o.distance,A):new xf(o.normal,o.distance)};xf.equals=function(o,A){return o.distance===A.distance&&Z.equals(o.normal,A.normal)};xf.ORIGIN_XY_PLANE=Object.freeze(new xf(Z.UNIT_Z,0));xf.ORIGIN_YZ_PLANE=Object.freeze(new xf(Z.UNIT_X,0));xf.ORIGIN_ZX_PLANE=Object.freeze(new xf(Z.UNIT_Y,0));var va=xf;function Gy(o){this.planes=ae(o,[])}var sV=[new Z,new Z,new Z];Z.clone(Z.UNIT_X,sV[0]);Z.clone(Z.UNIT_Y,sV[1]);Z.clone(Z.UNIT_Z,sV[2]);var JM=new Z,Hft=new Z,lOe=new va(new Z(1,0,0),0);Gy.fromBoundingSphere=function(o,A){k(A)||(A=new Gy);let f=sV.length,m=A.planes;m.length=2*f;let C=o.center,E=o.radius,I=0;for(let x=0;x0){C=E-1;continue}return E}return~(C+1)}var yf=Jft;function Kft(o,A,f,m,C){this.xPoleWander=o,this.yPoleWander=A,this.xPoleOffset=f,this.yPoleOffset=m,this.ut1MinusUtc=C}var H9=Kft;function Wft(o,A,f,m,C,E,I,x){this.year=o,this.month=A,this.day=f,this.hour=m,this.minute=C,this.second=E,this.millisecond=I,this.isLeapSecond=x}var RO=Wft;function qft(o){return o%4===0&&o%100!==0||o%400===0}var QU=qft;function jft(o,A){this.julianDate=o,this.offset=A}var eu=jft,Xft={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},rA=Object.freeze(Xft),Zft={UTC:0,TAI:1},gl=Object.freeze(Zft),uOe=new RO,_oe=[31,28,31,30,31,30,31,31,30,31,30,31],Boe=29;function nde(o,A){return Nn.compare(o.julianDate,A.julianDate)}var SU=new eu;function GZ(o){SU.julianDate=o;let A=Nn.leapSeconds,f=yf(A,SU,nde);f<0&&(f=~f),f>=A.length&&(f=A.length-1);let m=A[f].offset;f>0&&Nn.secondsDifference(A[f].julianDate,o)>m&&(f--,m=A[f].offset),Nn.addSeconds(o,m,o)}function jSe(o,A){SU.julianDate=o;let f=Nn.leapSeconds,m=yf(f,SU,nde);if(m<0&&(m=~m),m===0)return Nn.addSeconds(o,-f[0].offset,A);if(m>=f.length)return Nn.addSeconds(o,-f[m-1].offset,A);let C=Nn.secondsDifference(f[m].julianDate,o);if(C===0)return Nn.addSeconds(o,-f[m].offset,A);if(!(C<=1))return Nn.addSeconds(o,-f[--m].offset,A)}function eP(o,A,f){let m=A/rA.SECONDS_PER_DAY|0;return o+=m,A-=rA.SECONDS_PER_DAY*m,A<0&&(o--,A+=rA.SECONDS_PER_DAY),f.dayNumber=o,f.secondsOfDay=A,f}function ode(o,A,f,m,C,E,I){let x=(A-14)/12|0,y=o+4800+x,v=(1461*y/4|0)+(367*(A-2-12*x)/12|0)-(3*((y+100)/100|0)/4|0)+f-32075;m=m-12,m<0&&(m+=24);let w=E+(m*rA.SECONDS_PER_HOUR+C*rA.SECONDS_PER_MINUTE+I*rA.SECONDS_PER_MILLISECOND);return w>=43200&&(v-=1),[v,w]}var $ft=/^(\d{4})$/,e0t=/^(\d{4})-(\d{2})$/,t0t=/^(\d{4})-?(\d{3})$/,i0t=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,r0t=/^(\d{4})-?(\d{2})-?(\d{2})$/,ade=/([Z+\-])?(\d{2})?:?(\d{2})?$/,n0t=/^(\d{2})(\.\d+)?/.source+ade.source,o0t=/^(\d{2}):?(\d{2})(\.\d+)?/.source+ade.source,a0t=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+ade.source;function Nn(o,A,f){this.dayNumber=void 0,this.secondsOfDay=void 0,o=ae(o,0),A=ae(A,0),f=ae(f,gl.UTC);let m=o|0;A=A+(o-m)*rA.SECONDS_PER_DAY,eP(m,A,this),f===gl.UTC&&GZ(this)}Nn.fromGregorianDate=function(o,A){let f=ode(o.year,o.month,o.day,o.hour,o.minute,o.second,o.millisecond);return k(A)?(eP(f[0],f[1],A),GZ(A),A):new Nn(f[0],f[1],gl.UTC)};Nn.fromDate=function(o,A){let f=ode(o.getUTCFullYear(),o.getUTCMonth()+1,o.getUTCDate(),o.getUTCHours(),o.getUTCMinutes(),o.getUTCSeconds(),o.getUTCMilliseconds());return k(A)?(eP(f[0],f[1],A),GZ(A),A):new Nn(f[0],f[1],gl.UTC)};Nn.fromIso8601=function(o,A){o=o.replace(",",".");let f=o.split("T"),m,C=1,E=1,I=0,x=0,y=0,v=0,w=f[0],Q=f[1],M,B;if(f=w.match(r0t),f!==null)m=+f[1],C=+f[2],E=+f[3];else if(f=w.match(e0t),f!==null)m=+f[1],C=+f[2];else if(f=w.match($ft),f!==null)m=+f[1];else{let R;if(f=w.match(t0t),f!==null)m=+f[1],R=+f[2],B=QU(m);else if(f=w.match(i0t),f!==null){m=+f[1];let T=+f[2],L=+f[3]||0,F=new Date(Date.UTC(m,0,4));R=T*7+L-F.getUTCDay()-3}M=new Date(Date.UTC(m,0,1)),M.setUTCDate(R),C=M.getUTCMonth()+1,E=M.getUTCDate()}B=QU(m);let D;if(k(Q)){f=Q.match(a0t),f!==null?(I=+f[1],x=+f[2],y=+f[3],v=+(f[4]||0)*1e3,D=5):(f=Q.match(o0t),f!==null?(I=+f[1],x=+f[2],y=+(f[3]||0)*60,D=4):(f=Q.match(n0t),f!==null&&(I=+f[1],x=+(f[2]||0)*60,D=3)));let R=f[D],T=+f[D+1],L=+(f[D+2]||0);switch(R){case"+":I=I-T,x=x-L;break;case"-":I=I+T,x=x+L;break;case"Z":break;default:x=x+new Date(Date.UTC(m,C-1,E,I,x)).getTimezoneOffset();break}}let S=y===60;for(S&&y--;x>=60;)x-=60,I++;for(;I>=24;)I-=24,E++;for(M=B&&C===2?Boe:_oe[C-1];E>M;)E-=M,C++,C>12&&(C-=12,m++),M=B&&C===2?Boe:_oe[C-1];for(;x<0;)x+=60,I--;for(;I<0;)I+=24,E--;for(;E<1;)C--,C<1&&(C+=12,m--),M=B&&C===2?Boe:_oe[C-1],E+=M;let P=ode(m,C,E,I,x,y,v);return k(A)?(eP(P[0],P[1],A),GZ(A)):A=new Nn(P[0],P[1],gl.UTC),S&&Nn.addSeconds(A,1,A),A};Nn.now=function(o){return Nn.fromDate(new Date,o)};var a7=new Nn(0,0,gl.TAI);Nn.toGregorianDate=function(o,A){let f=!1,m=jSe(o,a7);k(m)||(Nn.addSeconds(o,-1,a7),m=jSe(a7,a7),f=!0);let C=m.dayNumber,E=m.secondsOfDay;E>=43200&&(C+=1);let I=C+68569|0,x=4*I/146097|0;I=I-((146097*x+3)/4|0)|0;let y=4e3*(I+1)/1461001|0;I=I-(1461*y/4|0)+31|0;let v=80*I/2447|0,w=I-(2447*v/80|0)|0;I=v/11|0;let Q=v+2-12*I|0,M=100*(x-49)+y+I|0,B=E/rA.SECONDS_PER_HOUR|0,D=E-B*rA.SECONDS_PER_HOUR,S=D/rA.SECONDS_PER_MINUTE|0;D=D-S*rA.SECONDS_PER_MINUTE;let P=D|0,R=(D-P)/rA.SECONDS_PER_MILLISECOND;return B+=12,B>23&&(B-=24),f&&(P+=1),k(A)?(A.year=M,A.month=Q,A.day=w,A.hour=B,A.minute=S,A.second=P,A.millisecond=R,A.isLeapSecond=f,A):new RO(M,Q,w,B,S,P,R,f)};Nn.toDate=function(o){let A=Nn.toGregorianDate(o,uOe),f=A.second;return A.isLeapSecond&&(f-=1),new Date(Date.UTC(A.year,A.month-1,A.day,A.hour,A.minute,f,A.millisecond))};Nn.toIso8601=function(o,A){let f=Nn.toGregorianDate(o,uOe),m=f.year,C=f.month,E=f.day,I=f.hour,x=f.minute,y=f.second,v=f.millisecond;m===1e4&&C===1&&E===1&&I===0&&x===0&&y===0&&v===0&&(m=9999,C=12,E=31,I=24);let w;return!k(A)&&v!==0?(w=(v*.01).toString().replace(".",""),`${m.toString().padStart(4,"0")}-${C.toString().padStart(2,"0")}-${E.toString().padStart(2,"0")}T${I.toString().padStart(2,"0")}:${x.toString().padStart(2,"0")}:${y.toString().padStart(2,"0")}.${w}Z`):!k(A)||A===0?`${m.toString().padStart(4,"0")}-${C.toString().padStart(2,"0")}-${E.toString().padStart(2,"0")}T${I.toString().padStart(2,"0")}:${x.toString().padStart(2,"0")}:${y.toString().padStart(2,"0")}Z`:(w=(v*.01).toFixed(A).replace(".","").slice(0,A),`${m.toString().padStart(4,"0")}-${C.toString().padStart(2,"0")}-${E.toString().padStart(2,"0")}T${I.toString().padStart(2,"0")}:${x.toString().padStart(2,"0")}:${y.toString().padStart(2,"0")}.${w}Z`)};Nn.clone=function(o,A){if(k(o))return k(A)?(A.dayNumber=o.dayNumber,A.secondsOfDay=o.secondsOfDay,A):new Nn(o.dayNumber,o.secondsOfDay,gl.TAI)};Nn.compare=function(o,A){let f=o.dayNumber-A.dayNumber;return f!==0?f:o.secondsOfDay-A.secondsOfDay};Nn.equals=function(o,A){return o===A||k(o)&&k(A)&&o.dayNumber===A.dayNumber&&o.secondsOfDay===A.secondsOfDay};Nn.equalsEpsilon=function(o,A,f){return f=ae(f,0),o===A||k(o)&&k(A)&&Math.abs(Nn.secondsDifference(o,A))<=f};Nn.totalDays=function(o){return o.dayNumber+o.secondsOfDay/rA.SECONDS_PER_DAY};Nn.secondsDifference=function(o,A){return(o.dayNumber-A.dayNumber)*rA.SECONDS_PER_DAY+(o.secondsOfDay-A.secondsOfDay)};Nn.daysDifference=function(o,A){let f=o.dayNumber-A.dayNumber,m=(o.secondsOfDay-A.secondsOfDay)/rA.SECONDS_PER_DAY;return f+m};Nn.computeTaiMinusUtc=function(o){SU.julianDate=o;let A=Nn.leapSeconds,f=yf(A,SU,nde);return f<0&&(f=~f,--f,f<0&&(f=0)),A[f].offset};Nn.addSeconds=function(o,A,f){return eP(o.dayNumber,o.secondsOfDay+A,f)};Nn.addMinutes=function(o,A,f){let m=o.secondsOfDay+A*rA.SECONDS_PER_MINUTE;return eP(o.dayNumber,m,f)};Nn.addHours=function(o,A,f){let m=o.secondsOfDay+A*rA.SECONDS_PER_HOUR;return eP(o.dayNumber,m,f)};Nn.addDays=function(o,A,f){let m=o.dayNumber+A;return eP(m,o.secondsOfDay,f)};Nn.lessThan=function(o,A){return Nn.compare(o,A)<0};Nn.lessThanOrEquals=function(o,A){return Nn.compare(o,A)<=0};Nn.greaterThan=function(o,A){return Nn.compare(o,A)>0};Nn.greaterThanOrEquals=function(o,A){return Nn.compare(o,A)>=0};Nn.prototype.clone=function(o){return Nn.clone(this,o)};Nn.prototype.equals=function(o){return Nn.equals(this,o)};Nn.prototype.equalsEpsilon=function(o,A){return Nn.equalsEpsilon(this,o,A)};Nn.prototype.toString=function(){return Nn.toIso8601(this)};Nn.leapSeconds=[new eu(new Nn(2441317,43210,gl.TAI),10),new eu(new Nn(2441499,43211,gl.TAI),11),new eu(new Nn(2441683,43212,gl.TAI),12),new eu(new Nn(2442048,43213,gl.TAI),13),new eu(new Nn(2442413,43214,gl.TAI),14),new eu(new Nn(2442778,43215,gl.TAI),15),new eu(new Nn(2443144,43216,gl.TAI),16),new eu(new Nn(2443509,43217,gl.TAI),17),new eu(new Nn(2443874,43218,gl.TAI),18),new eu(new Nn(2444239,43219,gl.TAI),19),new eu(new Nn(2444786,43220,gl.TAI),20),new eu(new Nn(2445151,43221,gl.TAI),21),new eu(new Nn(2445516,43222,gl.TAI),22),new eu(new Nn(2446247,43223,gl.TAI),23),new eu(new Nn(2447161,43224,gl.TAI),24),new eu(new Nn(2447892,43225,gl.TAI),25),new eu(new Nn(2448257,43226,gl.TAI),26),new eu(new Nn(2448804,43227,gl.TAI),27),new eu(new Nn(2449169,43228,gl.TAI),28),new eu(new Nn(2449534,43229,gl.TAI),29),new eu(new Nn(2450083,43230,gl.TAI),30),new eu(new Nn(2450630,43231,gl.TAI),31),new eu(new Nn(2451179,43232,gl.TAI),32),new eu(new Nn(2453736,43233,gl.TAI),33),new eu(new Nn(2454832,43234,gl.TAI),34),new eu(new Nn(2456109,43235,gl.TAI),35),new eu(new Nn(2457204,43236,gl.TAI),36),new eu(new Nn(2457754,43237,gl.TAI),37)];var jt=Nn;function lV(o){o=ae(o,ae.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=ae(o.addNewLeapSeconds,!0),k(o.data)?XSe(this,o.data):XSe(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}lV.fromUrl=async function(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=fr.createIfNeeded(o),m;try{m=await f.fetchJson()}catch{throw new Ti(`An error occurred while retrieving the EOP data from the URL ${f.url}.`)}return new lV({addNewLeapSeconds:A.addNewLeapSeconds,data:m})};lV.NONE=Object.freeze({compute:function(o,A){return k(A)?(A.xPoleWander=0,A.yPoleWander=0,A.xPoleOffset=0,A.yPoleOffset=0,A.ut1MinusUtc=0):A=new H9(0,0,0,0,0),A}});lV.prototype.compute=function(o,A){if(!k(this._samples))return;if(k(A)||(A=new H9(0,0,0,0,0)),this._samples.length===0)return A.xPoleWander=0,A.yPoleWander=0,A.xPoleOffset=0,A.yPoleOffset=0,A.ut1MinusUtc=0,A;let f=this._dates,m=this._lastIndex,C=0,E=0;if(k(m)){let x=f[m],y=f[m+1],v=jt.lessThanOrEquals(x,o),w=!k(y),Q=w||jt.greaterThanOrEquals(y,o);if(v&&Q)return C=m,!w&&y.equals(o)&&++C,E=C+1,$Se(this,f,this._samples,o,C,E,A),A}let I=yf(f,o,jt.compare,this._dateColumn);return I>=0?(IA.length-1)return I.xPoleWander=0,I.yPoleWander=0,I.xPoleOffset=0,I.yPoleOffset=0,I.ut1MinusUtc=0,I;let y=A[C],v=A[E];if(y.equals(v)||m.equals(y))return ZSe(o,f,C,x,I),I;if(m.equals(v))return ZSe(o,f,E,x,I),I;let w=jt.secondsDifference(m,y)/jt.secondsDifference(v,y),Q=C*x,M=E*x,B=f[Q+o._ut1MinusUtcSecondsColumn],D=f[M+o._ut1MinusUtcSecondsColumn],S=D-B;if(S>.5||S<-.5){let P=f[Q+o._taiMinusUtcSecondsColumn],R=f[M+o._taiMinusUtcSecondsColumn];P!==R&&(v.equals(m)?B=D:D-=R-P)}return I.xPoleWander=JG(w,f[Q+o._xPoleWanderRadiansColumn],f[M+o._xPoleWanderRadiansColumn]),I.yPoleWander=JG(w,f[Q+o._yPoleWanderRadiansColumn],f[M+o._yPoleWanderRadiansColumn]),I.xPoleOffset=JG(w,f[Q+o._xCelestialPoleOffsetRadiansColumn],f[M+o._xCelestialPoleOffsetRadiansColumn]),I.yPoleOffset=JG(w,f[Q+o._yCelestialPoleOffsetRadiansColumn],f[M+o._yCelestialPoleOffsetRadiansColumn]),I.ut1MinusUtc=JG(w,B,D),I}var sde=lV;function Bm(o,A,f){this.heading=ae(o,0),this.pitch=ae(A,0),this.roll=ae(f,0)}Bm.fromQuaternion=function(o,A){k(A)||(A=new Bm);let f=2*(o.w*o.y-o.z*o.x),m=1-2*(o.x*o.x+o.y*o.y),C=2*(o.w*o.x+o.y*o.z),E=1-2*(o.y*o.y+o.z*o.z),I=2*(o.w*o.z+o.x*o.y);return A.heading=-Math.atan2(I,E),A.roll=Math.atan2(C,m),A.pitch=-De.asinClamped(f),A};Bm.fromDegrees=function(o,A,f,m){return k(m)||(m=new Bm),m.heading=o*De.RADIANS_PER_DEGREE,m.pitch=A*De.RADIANS_PER_DEGREE,m.roll=f*De.RADIANS_PER_DEGREE,m};Bm.clone=function(o,A){if(k(o))return k(A)?(A.heading=o.heading,A.pitch=o.pitch,A.roll=o.roll,A):new Bm(o.heading,o.pitch,o.roll)};Bm.equals=function(o,A){return o===A||k(o)&&k(A)&&o.heading===A.heading&&o.pitch===A.pitch&&o.roll===A.roll};Bm.equalsEpsilon=function(o,A,f,m){return o===A||k(o)&&k(A)&&De.equalsEpsilon(o.heading,A.heading,f,m)&&De.equalsEpsilon(o.pitch,A.pitch,f,m)&&De.equalsEpsilon(o.roll,A.roll,f,m)};Bm.prototype.clone=function(o){return Bm.clone(this,o)};Bm.prototype.equals=function(o){return Bm.equals(this,o)};Bm.prototype.equalsEpsilon=function(o,A,f){return Bm.equalsEpsilon(this,o,A,f)};Bm.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var Wl=Bm;function l0t(o,A,f){this.x=o,this.y=A,this.s=f}var HZ=l0t;function lde(o){o=ae(o,ae.EMPTY_OBJECT),this._xysFileUrlTemplate=fr.createIfNeeded(o.xysFileUrlTemplate),this._interpolationOrder=ae(o.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=ae(o.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new jt(this._sampleZeroJulianEphemerisDate,0,gl.TAI),this._stepSizeDays=ae(o.stepSizeDays,1),this._samplesPerXysFile=ae(o.samplesPerXysFile,1e3),this._totalSamples=ae(o.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let A=this._interpolationOrder,f=this._denominators=new Array(A+1),m=this._xTable=new Array(A+1),C=Math.pow(this._stepSizeDays,A);for(let E=0;E<=A;++E){f[E]=C,m[E]=E*this._stepSizeDays;for(let I=0;I<=A;++I)I!==E&&(f[E]*=E-I);f[E]=1/f[E]}this._work=new Array(A+1),this._coef=new Array(A+1)}var A0t=new jt(0,0,gl.TAI);function SAe(o,A,f){let m=A0t;return m.dayNumber=A,m.secondsOfDay=f,jt.daysDifference(m,o._sampleZeroDateTT)}lde.prototype.preload=function(o,A,f,m){let C=SAe(this,o,A),E=SAe(this,f,m),I=C/this._stepSizeDays-this._interpolationOrder/2|0;I<0&&(I=0);let x=E/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;x>=this._totalSamples&&(x=this._totalSamples-1);let y=I/this._samplesPerXysFile|0,v=x/this._samplesPerXysFile|0,w=[];for(let Q=y;Q<=v;++Q)w.push(DAe(this,Q));return Promise.all(w)};lde.prototype.computeXysRadians=function(o,A,f){let m=SAe(this,o,A);if(m<0)return;let C=m/this._stepSizeDays|0;if(C>=this._totalSamples)return;let E=this._interpolationOrder,I=C-(E/2|0);I<0&&(I=0);let x=I+E;x>=this._totalSamples&&(x=this._totalSamples-1,I=x-E,I<0&&(I=0));let y=!1,v=this._samples;if(k(v[I*3])||(DAe(this,I/this._samplesPerXysFile|0),y=!0),k(v[x*3])||(DAe(this,x/this._samplesPerXysFile|0),y=!0),y)return;k(f)?(f.x=0,f.y=0,f.s=0):f=new HZ(0,0,0);let w=m-I*this._stepSizeDays,Q=this._work,M=this._denominators,B=this._coef,D=this._xTable,S,P;for(S=0;S<=E;++S)Q[S]=w-D[S];for(S=0;S<=E;++S){for(B[S]=1,P=0;P<=E;++P)P!==S&&(B[S]*=Q[P]);B[S]*=M[S];let R=(I+S)*3;f.x+=B[S]*v[R++],f.y+=B[S]*v[R++],f.s+=B[S]*v[R]}return f};function DAe(o,A){if(o._chunkDownloadsInProgress[A])return o._chunkDownloadsInProgress[A];let f,m=o._xysFileUrlTemplate;k(m)?f=m.getDerivedResource({templateValues:{0:A}}):f=new fr({url:Ja(`Assets/IAU2006_XYS/IAU2006_XYS_${A}.json`)});let C=f.fetchJson().then(function(E){o._chunkDownloadsInProgress[A]=!1;let I=o._samples,x=E.samples,y=A*o._samplesPerXysFile*3;for(let v=0,w=x.length;v0)f=Math.sqrt(w+1),I=.5*f,f=.5/f,m=(o[Nt.COLUMN1ROW2]-o[Nt.COLUMN2ROW1])*f,C=(o[Nt.COLUMN2ROW0]-o[Nt.COLUMN0ROW2])*f,E=(o[Nt.COLUMN0ROW1]-o[Nt.COLUMN1ROW0])*f;else{let Q=u0t,M=0;y>x&&(M=1),v>x&&v>y&&(M=2);let B=Q[M],D=Q[B];f=Math.sqrt(o[Nt.getElementIndex(M,M)]-o[Nt.getElementIndex(B,B)]-o[Nt.getElementIndex(D,D)]+1);let S=c0t;S[M]=.5*f,f=.5/f,I=(o[Nt.getElementIndex(D,B)]-o[Nt.getElementIndex(B,D)])*f,S[B]=(o[Nt.getElementIndex(B,M)]+o[Nt.getElementIndex(M,B)])*f,S[D]=(o[Nt.getElementIndex(D,M)]+o[Nt.getElementIndex(M,D)])*f,m=-S[0],C=-S[1],E=-S[2]}return k(A)?(A.x=m,A.y=C,A.z=E,A.w=I,A):new rn(m,C,E,I)};var eDe=new rn,tDe=new rn,woe=new rn,iDe=new rn;rn.fromHeadingPitchRoll=function(o,A){return iDe=rn.fromAxisAngle(Z.UNIT_X,o.roll,eDe),woe=rn.fromAxisAngle(Z.UNIT_Y,-o.pitch,A),A=rn.multiply(woe,iDe,woe),tDe=rn.fromAxisAngle(Z.UNIT_Z,-o.heading,eDe),rn.multiply(tDe,A,A)};var s7=new Z,boe=new Z,L_=new rn,rDe=new rn,l7=new rn;rn.packedLength=4;rn.pack=function(o,A,f){return f=ae(f,0),A[f++]=o.x,A[f++]=o.y,A[f++]=o.z,A[f]=o.w,A};rn.unpack=function(o,A,f){return A=ae(A,0),k(f)||(f=new rn),f.x=o[A],f.y=o[A+1],f.z=o[A+2],f.w=o[A+3],f};rn.packedInterpolationLength=3;rn.convertPackedArrayForInterpolation=function(o,A,f,m){rn.unpack(o,f*4,l7),rn.conjugate(l7,l7);for(let C=0,E=f-A+1;C=0?E=1:(E=-1,C=-C);let I=C-1,x=1-f,y=f*f,v=x*x;for(let B=7;B>=0;--B)TQ[B]=(Ej[B]*y-Ij[B])*I,PQ[B]=(Ej[B]*v-Ij[B])*I;let w=E*f*(1+TQ[0]*(1+TQ[1]*(1+TQ[2]*(1+TQ[3]*(1+TQ[4]*(1+TQ[5]*(1+TQ[6]*(1+TQ[7])))))))),Q=x*(1+PQ[0]*(1+PQ[1]*(1+PQ[2]*(1+PQ[3]*(1+PQ[4]*(1+PQ[5]*(1+PQ[6]*(1+PQ[7])))))))),M=rn.multiplyByScalar(o,Q,g0t);return rn.multiplyByScalar(A,w,m),rn.add(M,m,m)};rn.fastSquad=function(o,A,f,m,C,E){let I=rn.fastSlerp(o,A,C,_H),x=rn.fastSlerp(f,m,C,R5);return rn.fastSlerp(I,x,2*C*(1-C),E)};rn.equals=function(o,A){return o===A||k(o)&&k(A)&&o.x===A.x&&o.y===A.y&&o.z===A.z&&o.w===A.w};rn.equalsEpsilon=function(o,A,f){return f=ae(f,0),o===A||k(o)&&k(A)&&Math.abs(o.x-A.x)<=f&&Math.abs(o.y-A.y)<=f&&Math.abs(o.z-A.z)<=f&&Math.abs(o.w-A.w)<=f};rn.ZERO=Object.freeze(new rn(0,0,0,0));rn.IDENTITY=Object.freeze(new rn(0,0,0,1));rn.prototype.clone=function(o){return rn.clone(this,o)};rn.prototype.equals=function(o){return rn.equals(this,o)};rn.prototype.equalsEpsilon=function(o,A){return rn.equalsEpsilon(this,o,A)};rn.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var yr=rn,DA={},Moe={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},Ok={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Toe={},DE={east:new Z,north:new Z,up:new Z,west:new Z,south:new Z,down:new Z},KM=new Z,WM=new Z,qM=new Z;DA.localFrameToFixedFrameGenerator=function(o,A){if(!Moe.hasOwnProperty(o)||!Moe[o].hasOwnProperty(A))throw new ni("firstAxis and secondAxis must be east, north, up, west, south or down.");let f=Moe[o][A],m,C=o+A;return k(Toe[C])?m=Toe[C]:(m=function(E,I,x){if(k(x)||(x=new Re),Z.equalsEpsilon(E,Z.ZERO,De.EPSILON14))Z.unpack(Ok[o],0,KM),Z.unpack(Ok[A],0,WM),Z.unpack(Ok[f],0,qM);else if(De.equalsEpsilon(E.x,0,De.EPSILON14)&&De.equalsEpsilon(E.y,0,De.EPSILON14)){let y=De.sign(E.z);Z.unpack(Ok[o],0,KM),o!=="east"&&o!=="west"&&Z.multiplyByScalar(KM,y,KM),Z.unpack(Ok[A],0,WM),A!=="east"&&A!=="west"&&Z.multiplyByScalar(WM,y,WM),Z.unpack(Ok[f],0,qM),f!=="east"&&f!=="west"&&Z.multiplyByScalar(qM,y,qM)}else{I=ae(I,gi.WGS84),I.geodeticSurfaceNormal(E,DE.up);let y=DE.up,v=DE.east;v.x=-E.y,v.y=E.x,v.z=0,Z.normalize(v,DE.east),Z.cross(y,v,DE.north),Z.multiplyByScalar(DE.up,-1,DE.down),Z.multiplyByScalar(DE.east,-1,DE.west),Z.multiplyByScalar(DE.north,-1,DE.south),KM=DE[o],WM=DE[A],qM=DE[f]}return x[0]=KM.x,x[1]=KM.y,x[2]=KM.z,x[3]=0,x[4]=WM.x,x[5]=WM.y,x[6]=WM.z,x[7]=0,x[8]=qM.x,x[9]=qM.y,x[10]=qM.z,x[11]=0,x[12]=E.x,x[13]=E.y,x[14]=E.z,x[15]=1,x},Toe[C]=m),m};DA.eastNorthUpToFixedFrame=DA.localFrameToFixedFrameGenerator("east","north");DA.northEastDownToFixedFrame=DA.localFrameToFixedFrameGenerator("north","east");DA.northUpEastToFixedFrame=DA.localFrameToFixedFrameGenerator("north","up");DA.northWestUpToFixedFrame=DA.localFrameToFixedFrameGenerator("north","west");var f0t=new yr,p0t=new Z(1,1,1),m0t=new Re;DA.headingPitchRollToFixedFrame=function(o,A,f,m,C){m=ae(m,DA.eastNorthUpToFixedFrame);let E=yr.fromHeadingPitchRoll(A,f0t),I=Re.fromTranslationQuaternionRotationScale(Z.ZERO,E,p0t,m0t);return C=m(o,f,C),Re.multiply(C,I,C)};var C0t=new Re,E0t=new Nt;DA.headingPitchRollQuaternion=function(o,A,f,m,C){let E=DA.headingPitchRollToFixedFrame(o,A,f,m,C0t),I=Re.getMatrix3(E,E0t);return yr.fromRotationMatrix(I,C)};var I0t=new Z(1,1,1),x0t=new Z,oDe=new Re,y0t=new Re,v0t=new Nt,_0t=new yr;DA.fixedFrameToHeadingPitchRoll=function(o,A,f,m){A=ae(A,gi.WGS84),f=ae(f,DA.eastNorthUpToFixedFrame),k(m)||(m=new Wl);let C=Re.getTranslation(o,x0t);if(Z.equals(C,Z.ZERO))return m.heading=0,m.pitch=0,m.roll=0,m;let E=Re.inverseTransformation(f(C,A,oDe),oDe),I=Re.setScale(o,I0t,y0t);I=Re.setTranslation(I,Z.ZERO,I),E=Re.multiply(E,I,E);let x=yr.fromRotationMatrix(Re.getMatrix3(E,v0t),_0t);return x=yr.normalize(x,x),Wl.fromQuaternion(x,m)};var B0t=6*3600+41*60+50.54841,w0t=8640184812866e-6,b0t=.093104,Q0t=-62e-7,S0t=11772758384668e-32,D0t=72921158553e-15,M0t=De.TWO_PI/86400,A7=new jt;DA.computeTemeToPseudoFixedMatrix=function(o,A){A7=jt.addSeconds(o,-jt.computeTaiMinusUtc(o),A7);let f=A7.dayNumber,m=A7.secondsOfDay,C,E=f-2451545;m>=43200?C=(E+.5)/rA.DAYS_PER_JULIAN_CENTURY:C=(E-.5)/rA.DAYS_PER_JULIAN_CENTURY;let I=(B0t+C*(w0t+C*(b0t+C*Q0t)))*M0t%De.TWO_PI,x=D0t+S0t*(f-24515455e-1),y=(m+rA.SECONDS_PER_DAY*.5)%rA.SECONDS_PER_DAY,v=I+x*y,w=Math.cos(v),Q=Math.sin(v);return k(A)?(A[0]=w,A[1]=-Q,A[2]=0,A[3]=Q,A[4]=w,A[5]=0,A[6]=0,A[7]=0,A[8]=1,A):new Nt(w,Q,0,-Q,w,0,0,0,1)};DA.iau2006XysData=new Ade;DA.earthOrientationParameters=sde.NONE;var MAe=32.184,T0t=2451545;DA.preloadIcrfFixed=function(o){let A=o.start.dayNumber,f=o.start.secondsOfDay+MAe,m=o.stop.dayNumber,C=o.stop.secondsOfDay+MAe;return DA.iau2006XysData.preload(A,f,m,C)};DA.computeIcrfToFixedMatrix=function(o,A){k(A)||(A=new Nt);let f=DA.computeFixedToIcrfMatrix(o,A);if(k(f))return Nt.transpose(f,A)};var P0t=new HZ(0,0,0),R0t=new H9(0,0,0,0,0,0),Poe=new Nt,Roe=new Nt;DA.computeFixedToIcrfMatrix=function(o,A){k(A)||(A=new Nt);let f=DA.earthOrientationParameters.compute(o,R0t);if(!k(f))return;let m=o.dayNumber,C=o.secondsOfDay+MAe,E=DA.iau2006XysData.computeXysRadians(m,C,P0t);if(!k(E))return;let I=E.x+f.xPoleOffset,x=E.y+f.yPoleOffset,y=1/(1+Math.sqrt(1-I*I-x*x)),v=Poe;v[0]=1-y*I*I,v[3]=-y*I*x,v[6]=I,v[1]=-y*I*x,v[4]=1-y*x*x,v[7]=x,v[2]=-I,v[5]=-x,v[8]=1-y*(I*I+x*x);let w=Nt.fromRotationZ(-E.s,Roe),Q=Nt.multiply(v,w,Poe),M=o.dayNumber,B=o.secondsOfDay-jt.computeTaiMinusUtc(o)+f.ut1MinusUtc,D=M-2451545,S=B/rA.SECONDS_PER_DAY,P=.779057273264+S+.00273781191135448*(D+S);P=P%1*De.TWO_PI;let R=Nt.fromRotationZ(P,Roe),T=Nt.multiply(Q,R,Poe),L=Math.cos(f.xPoleWander),F=Math.cos(f.yPoleWander),U=Math.sin(f.xPoleWander),N=Math.sin(f.yPoleWander),H=m-T0t+C/rA.SECONDS_PER_DAY;H/=36525;let J=-47e-6*H*De.RADIANS_PER_DEGREE/3600,K=Math.cos(J),X=Math.sin(J),j=Roe;return j[0]=L*K,j[1]=L*X,j[2]=U,j[3]=-F*X+N*U*K,j[4]=F*K+N*U*X,j[5]=-N*L,j[6]=-N*X-F*U*K,j[7]=N*K-F*U*X,j[8]=F*L,Nt.multiply(T,j,A)};var L0t=new kt;DA.pointToWindowCoordinates=function(o,A,f,m){return m=DA.pointToGLWindowCoordinates(o,A,f,m),m.y=2*A[5]-m.y,m};DA.pointToGLWindowCoordinates=function(o,A,f,m){k(m)||(m=new tt);let C=L0t;return Re.multiplyByVector(o,kt.fromElements(f.x,f.y,f.z,1,C),C),kt.multiplyByScalar(C,1/C.w,C),Re.multiplyByVector(A,C,C),tt.fromCartesian4(C,m)};var F0t=new Z,N0t=new Z,k0t=new Z;DA.rotationMatrixFromPositionVelocity=function(o,A,f,m){let C=ae(f,gi.WGS84).geodeticSurfaceNormal(o,F0t),E=Z.cross(A,C,N0t);Z.equalsEpsilon(E,Z.ZERO,De.EPSILON6)&&(E=Z.clone(Z.UNIT_X,E));let I=Z.cross(E,A,k0t);return Z.normalize(I,I),Z.cross(A,I,E),Z.negate(E,E),Z.normalize(E,E),k(m)||(m=new Nt),m[0]=A.x,m[1]=A.y,m[2]=A.z,m[3]=E.x,m[4]=E.y,m[5]=E.z,m[6]=I.x,m[7]=I.y,m[8]=I.z,m};var hOe=new Re(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),dOe=new Lt,gOe=new Z,U0t=new Z,O0t=new Nt,TAe=new Re,fOe=new Re;DA.basisTo2D=function(o,A,f){let m=Re.getTranslation(A,U0t),C=o.ellipsoid,E=C.cartesianToCartographic(m,dOe),I=o.project(E,gOe);Z.fromElements(I.z,I.x,I.y,I);let x=DA.eastNorthUpToFixedFrame(m,C,TAe),y=Re.inverseTransformation(x,fOe),v=Re.getMatrix3(A,O0t),w=Re.multiplyByMatrix3(y,v,f);return Re.multiply(hOe,w,f),Re.setTranslation(f,I,f),f};DA.wgs84To2DModelMatrix=function(o,A,f){let m=o.ellipsoid,C=DA.eastNorthUpToFixedFrame(A,m,TAe),E=Re.inverseTransformation(C,fOe),I=m.cartesianToCartographic(A,dOe),x=o.project(I,gOe);Z.fromElements(x.z,x.x,x.y,x);let y=Re.fromTranslation(x,TAe);return Re.multiply(hOe,E,f),Re.multiply(y,f,f),f};var Vr=DA,ip={},G0t=new kt(0,0,0,1),tm=new kt,H0t=new _r,Loe=new tt,Foe=new tt;ip.wgs84ToWindowCoordinates=function(o,A,f){return ip.wgs84WithEyeOffsetToWindowCoordinates(o,A,Z.ZERO,f)};var aDe=new kt,sDe=new Z;function WG(o,A,f,m){let C=f.viewMatrix,E=Re.multiplyByVector(C,kt.fromElements(o.x,o.y,o.z,1,aDe),aDe),I=Z.multiplyComponents(A,Z.normalize(E,sDe),sDe);return E.x+=A.x+I.x,E.y+=A.y+I.y,E.z+=I.z,Re.multiplyByVector(f.frustum.projectionMatrix,E,m)}var V0t=new Lt(Math.PI,De.PI_OVER_TWO),z0t=new Z,Y0t=new Z;ip.wgs84WithEyeOffsetToWindowCoordinates=function(o,A,f,m){let C=o.frameState,E=ip.computeActualWgs84Position(C,A,G0t);if(!k(E))return;let I=o.canvas,x=H0t;x.x=0,x.y=0,x.width=I.clientWidth,x.height=I.clientHeight;let y=o.camera,v=!1;if(C.mode===ii.SCENE2D){let w=o.mapProjection,Q=V0t,M=w.project(Q,z0t),B=Z.clone(y.position,Y0t),D=y.frustum.clone(),S=Re.computeViewportTransformation(x,0,1,new Re),P=y.frustum.projectionMatrix,R=y.positionWC.y,T=Z.fromElements(De.sign(R)*M.x-R,0,-y.positionWC.x),L=Vr.pointToGLWindowCoordinates(P,S,T);if(R===0||L.x<=0||L.x>=I.clientWidth)v=!0;else{if(L.x>I.clientWidth*.5){x.width=L.x,y.frustum.right=M.x-R,tm=WG(E,f,y,tm),ip.clipToGLWindowCoordinates(x,tm,Loe),x.x+=L.x,y.position.x=-y.position.x;let F=y.frustum.right;y.frustum.right=-y.frustum.left,y.frustum.left=-F,tm=WG(E,f,y,tm),ip.clipToGLWindowCoordinates(x,tm,Foe)}else{x.x+=L.x,x.width-=L.x,y.frustum.left=-M.x-R,tm=WG(E,f,y,tm),ip.clipToGLWindowCoordinates(x,tm,Loe),x.x=x.x-x.width,y.position.x=-y.position.x;let F=y.frustum.left;y.frustum.left=-y.frustum.right,y.frustum.right=-F,tm=WG(E,f,y,tm),ip.clipToGLWindowCoordinates(x,tm,Foe)}Z.clone(B,y.position),y.frustum=D.clone(),m=tt.clone(Loe,m),(m.x<0||m.x>I.clientWidth)&&(m.x=Foe.x)}}if(C.mode!==ii.SCENE2D||v){if(tm=WG(E,f,y,tm),tm.z<0&&!(y.frustum instanceof $a)&&!(y.frustum instanceof Eg))return;m=ip.clipToGLWindowCoordinates(x,tm,m)}return m.y=I.clientHeight-m.y,m};ip.wgs84ToDrawingBufferCoordinates=function(o,A,f){if(f=ip.wgs84ToWindowCoordinates(o,A,f),!!k(f))return ip.transformWindowToDrawingBuffer(o,f,f)};var RQ=new Z,J0t=new Lt;ip.computeActualWgs84Position=function(o,A,f){let m=o.mode;if(m===ii.SCENE3D)return Z.clone(A,f);let C=o.mapProjection,E=C.ellipsoid.cartesianToCartographic(A,J0t);if(!k(E))return;if(C.project(E,RQ),m===ii.COLUMBUS_VIEW)return Z.fromElements(RQ.z,RQ.x,RQ.y,f);if(m===ii.SCENE2D)return Z.fromElements(0,RQ.x,RQ.y,f);let I=o.morphTime;return Z.fromElements(De.lerp(RQ.z,A.x,I),De.lerp(RQ.x,A.y,I),De.lerp(RQ.y,A.z,I),f)};var lDe=new Z,ADe=new Z,uDe=new Re;ip.clipToGLWindowCoordinates=function(o,A,f){return Z.divideByScalar(A,A.w,lDe),Re.computeViewportTransformation(o,0,1,uDe),Re.multiplyByPoint(uDe,lDe,ADe),tt.fromCartesian3(ADe,f)};ip.transformWindowToDrawingBuffer=function(o,A,f){let m=o.canvas,C=o.drawingBufferWidth/m.clientWidth,E=o.drawingBufferHeight/m.clientHeight;return tt.fromElements(A.x*C,A.y*E,f)};var K0t=new kt,cDe=new kt;ip.drawingBufferToWgs84Coordinates=function(o,A,f,m){let C=o.context.uniformState,E=C.currentFrustum,I=E.x,x=E.y;if(o.frameState.useLogDepth){let M=f*C.log2FarDepthFromNearPlusOne,B=Math.pow(2,M)-1;f=x*(1-I/(B+I))/(x-I)}let y=o.view.passState.viewport,v=kt.clone(kt.UNIT_W,K0t);v.x=(A.x-y.x)/y.width*2-1,v.y=(A.y-y.y)/y.height*2-1,v.z=f*2-1,v.w=1;let w,Q=o.camera.frustum;if(k(Q.fovy)){w=Re.multiplyByVector(C.inverseViewProjection,v,cDe);let M=1/w.w;Z.multiplyByScalar(w,M,w)}else{let M=Q.offCenterFrustum;k(M)&&(Q=M),w=cDe,w.x=(v.x*(Q.right-Q.left)+Q.left+Q.right)*.5,w.y=(v.y*(Q.top-Q.bottom)+Q.bottom+Q.top)*.5,w.z=(v.z*(I-x)-I-x)*.5,w.w=1,w=Re.multiplyByVector(C.inverseView,w,w)}return Z.fromCartesian4(w,m)};var ms=ip,W0t={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1},on=Object.freeze(W0t);function ql(o,A){o=ae(o,ae.EMPTY_OBJECT);let f=o.translucencyByDistance,m=o.pixelOffsetScaleByDistance,C=o.scaleByDistance,E=o.distanceDisplayCondition;k(f)&&(f=no.clone(f)),k(m)&&(m=no.clone(m)),k(C)&&(C=no.clone(C)),k(E)&&(E=wo.clone(E)),this._show=ae(o.show,!0),this._position=Z.clone(ae(o.position,Z.ZERO)),this._actualPosition=Z.clone(this._position),this._pixelOffset=tt.clone(ae(o.pixelOffset,tt.ZERO)),this._translate=new tt(0,0),this._eyeOffset=Z.clone(ae(o.eyeOffset,Z.ZERO)),this._heightReference=ae(o.heightReference,tn.NONE),this._verticalOrigin=ae(o.verticalOrigin,on.CENTER),this._horizontalOrigin=ae(o.horizontalOrigin,iu.CENTER),this._scale=ae(o.scale,1),this._color=qe.clone(ae(o.color,qe.WHITE)),this._rotation=ae(o.rotation,0),this._alignedAxis=Z.clone(ae(o.alignedAxis,Z.ZERO)),this._width=o.width,this._height=o.height,this._scaleByDistance=C,this._translucencyByDistance=f,this._pixelOffsetScaleByDistance=m,this._sizeInMeters=ae(o.sizeInMeters,!1),this._distanceDisplayCondition=E,this._disableDepthTestDistance=o.disableDepthTestDistance,this._id=o.id,this._collection=ae(o.collection,A),this._pickId=void 0,this._pickPrimitive=ae(o._pickPrimitive,this),this._billboardCollection=A,this._dirty=!1,this._index=-1,this._batchIndex=void 0,this._imageIndex=-1,this._imageIndexPromise=void 0,this._imageId=void 0,this._image=void 0,this._imageSubRegion=void 0,this._imageWidth=void 0,this._imageHeight=void 0,this._labelDimensions=void 0,this._labelHorizontalOrigin=void 0,this._labelTranslate=void 0;let I=o.image,x=o.imageId;k(I)&&(k(x)||(typeof I=="string"?x=I:k(I.src)?x=I.src:x=Kl()),this._imageId=x,this._image=I),k(o.imageSubRegion)&&(this._imageId=x,this._imageSubRegion=o.imageSubRegion),k(this._billboardCollection._textureAtlas)&&this._loadImage(),this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=ii.SCENE3D,this._clusterShow=!0,this._outlineColor=qe.clone(ae(o.outlineColor,qe.BLACK)),this._outlineWidth=ae(o.outlineWidth,0),this._updateClamping()}var hDe=ql.SHOW_INDEX=0,_q=ql.POSITION_INDEX=1,pOe=ql.PIXEL_OFFSET_INDEX=2,q0t=ql.EYE_OFFSET_INDEX=3,j0t=ql.HORIZONTAL_ORIGIN_INDEX=4,X0t=ql.VERTICAL_ORIGIN_INDEX=5,Z0t=ql.SCALE_INDEX=6,Bq=ql.IMAGE_INDEX_INDEX=7,dDe=ql.COLOR_INDEX=8,$0t=ql.ROTATION_INDEX=9,ept=ql.ALIGNED_AXIS_INDEX=10,tpt=ql.SCALE_BY_DISTANCE_INDEX=11,ipt=ql.TRANSLUCENCY_BY_DISTANCE_INDEX=12,rpt=ql.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13,npt=ql.DISTANCE_DISPLAY_CONDITION=14,opt=ql.DISABLE_DEPTH_DISTANCE=15;ql.TEXTURE_COORDINATE_BOUNDS=16;var gDe=ql.SDF_INDEX=17;ql.NUMBER_OF_PROPERTIES=18;function xc(o,A){let f=o._billboardCollection;k(f)&&(f._updateBillboard(o,A),o._dirty=!0)}Object.defineProperties(ql.prototype,{show:{get:function(){return this._show},set:function(o){this._show!==o&&(this._show=o,xc(this,hDe))}},position:{get:function(){return this._position},set:function(o){let A=this._position;Z.equals(A,o)||(Z.clone(o,A),Z.clone(o,this._actualPosition),this._updateClamping(),xc(this,_q))}},heightReference:{get:function(){return this._heightReference},set:function(o){let A=this._heightReference;o!==A&&(this._heightReference=o,this._updateClamping(),xc(this,_q))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(o){let A=this._pixelOffset;tt.equals(A,o)||(tt.clone(o,A),xc(this,pOe))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(o){let A=this._scaleByDistance;no.equals(A,o)||(this._scaleByDistance=no.clone(o,A),xc(this,tpt))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(o){let A=this._translucencyByDistance;no.equals(A,o)||(this._translucencyByDistance=no.clone(o,A),xc(this,ipt))}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(o){let A=this._pixelOffsetScaleByDistance;no.equals(A,o)||(this._pixelOffsetScaleByDistance=no.clone(o,A),xc(this,rpt))}},eyeOffset:{get:function(){return this._eyeOffset},set:function(o){let A=this._eyeOffset;Z.equals(A,o)||(Z.clone(o,A),xc(this,q0t))}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(o){this._horizontalOrigin!==o&&(this._horizontalOrigin=o,xc(this,j0t))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(o){this._verticalOrigin!==o&&(this._verticalOrigin=o,xc(this,X0t))}},scale:{get:function(){return this._scale},set:function(o){this._scale!==o&&(this._scale=o,xc(this,Z0t))}},color:{get:function(){return this._color},set:function(o){let A=this._color;qe.equals(A,o)||(qe.clone(o,A),xc(this,dDe))}},rotation:{get:function(){return this._rotation},set:function(o){this._rotation!==o&&(this._rotation=o,xc(this,$0t))}},alignedAxis:{get:function(){return this._alignedAxis},set:function(o){let A=this._alignedAxis;Z.equals(A,o)||(Z.clone(o,A),xc(this,ept))}},width:{get:function(){return ae(this._width,this._imageWidth)},set:function(o){this._width!==o&&(this._width=o,xc(this,Bq))}},height:{get:function(){return ae(this._height,this._imageHeight)},set:function(o){this._height!==o&&(this._height=o,xc(this,Bq))}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(o){this._sizeInMeters!==o&&(this._sizeInMeters=o,xc(this,dDe))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(o){wo.equals(o,this._distanceDisplayCondition)||(this._distanceDisplayCondition=wo.clone(o,this._distanceDisplayCondition),xc(this,npt))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(o){this._disableDepthTestDistance!==o&&(this._disableDepthTestDistance=o,xc(this,opt))}},id:{get:function(){return this._id},set:function(o){this._id=o,k(this._pickId)&&(this._pickId.object.id=o)}},pickPrimitive:{get:function(){return this._pickPrimitive},set:function(o){this._pickPrimitive=o,k(this._pickId)&&(this._pickId.object.primitive=o)}},pickId:{get:function(){return this._pickId}},image:{get:function(){return this._imageId},set:function(o){k(o)?typeof o=="string"?this.setImage(o,o):o instanceof fr?this.setImage(o.url,o):k(o.src)?this.setImage(o.src,o):this.setImage(Kl(),o):(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=void 0,this._image=void 0,this._imageIndexPromise=void 0,xc(this,Bq))}},ready:{get:function(){return this._imageIndex!==-1}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(o){this._actualClampedPosition=Z.clone(o,this._actualClampedPosition),xc(this,_q)}},clusterShow:{get:function(){return this._clusterShow},set:function(o){this._clusterShow!==o&&(this._clusterShow=o,xc(this,hDe))}},outlineColor:{get:function(){return this._outlineColor},set:function(o){let A=this._outlineColor;qe.equals(A,o)||(qe.clone(o,A),xc(this,gDe))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(o){this._outlineWidth!==o&&(this._outlineWidth=o,xc(this,gDe))}}});ql.prototype.getPickId=function(o){return k(this._pickId)||(this._pickId=o.createPickId({primitive:this._pickPrimitive,collection:this._collection,id:this._id})),this._pickId};ql.prototype._updateClamping=function(){ql._updateClamping(this._billboardCollection,this)};var j8=new Lt,fDe=new Z;ql._updateClamping=function(o,A){let f=o._scene;if(!k(f)||!k(f.globe))return;let m=f.globe,C=m.ellipsoid,E=m._surface,I=f.frameState.mode,x=I!==A._mode;if(A._mode=I,(A._heightReference===tn.NONE||x)&&k(A._removeCallbackFunc)&&(A._removeCallbackFunc(),A._removeCallbackFunc=void 0,A._clampedPosition=void 0),A._heightReference===tn.NONE||!k(A._position))return;let y=C.cartesianToCartographic(A._position);if(!k(y)){A._actualClampedPosition=void 0;return}k(A._removeCallbackFunc)&&A._removeCallbackFunc();function v(Q){if(A._heightReference===tn.RELATIVE_TO_GROUND)if(A._mode===ii.SCENE3D){let M=C.cartesianToCartographic(Q,j8);M.height+=y.height,C.cartographicToCartesian(M,Q)}else Q.x+=y.height;A._clampedPosition=Z.clone(Q,A._clampedPosition)}A._removeCallbackFunc=E.updateHeight(y,v),Lt.clone(y,j8);let w=m.getHeight(y);k(w)&&(j8.height=w),C.cartographicToCartesian(j8,fDe),v(fDe)};ql.prototype._loadImage=function(){let o=this._billboardCollection._textureAtlas,A=this._imageId,f=this._image,m=this._imageSubRegion,C,E=this;function I(y){if(E._imageId!==A||E._image!==f||!_r.equals(E._imageSubRegion,m))return;let v=o.textureCoordinates[y];E._imageWidth=o.texture.width*v.width,E._imageHeight=o.texture.height*v.height,E._imageIndex=y,E._ready=!0,E._image=void 0,E._imageIndexPromise=void 0,xc(E,Bq)}if(k(f)&&(C=o.addImage(A,f)),k(m)&&(C=o.addSubRegion(A,m)),this._imageIndexPromise=C,!k(C))return;let x=o.getImageIndex(A);if(k(x)&&!k(m)){I(x);return}C.then(I).catch(function(y){console.error(`Error loading image for billboard: ${y}`),E._imageIndexPromise=void 0})};ql.prototype.setImage=function(o,A){this._imageId!==o&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=o,this._image=A,k(this._billboardCollection._textureAtlas)&&this._loadImage())};ql.prototype.setImageSubRegion=function(o,A){this._imageId===o&&_r.equals(this._imageSubRegion,A)||(this._imageIndex=-1,this._imageId=o,this._imageSubRegion=_r.clone(A),k(this._billboardCollection._textureAtlas)&&this._loadImage())};ql.prototype._setTranslate=function(o){let A=this._translate;tt.equals(A,o)||(tt.clone(o,A),xc(this,pOe))};ql.prototype._getActualPosition=function(){return k(this._clampedPosition)?this._clampedPosition:this._actualPosition};ql.prototype._setActualPosition=function(o){k(this._clampedPosition)||Z.clone(o,this._actualPosition),xc(this,_q)};var pDe=new kt;ql._computeActualPosition=function(o,A,f,m){return k(o._clampedPosition)?(f.mode!==o._mode&&o._updateClamping(),o._clampedPosition):f.mode===ii.SCENE3D?A:(Re.multiplyByPoint(m,A,pDe),ms.computeActualWgs84Position(f,pDe))};var mOe=new Z;ql._computeScreenSpacePosition=function(o,A,f,m,C,E){let I=Re.multiplyByPoint(o,A,mOe),x=ms.wgs84WithEyeOffsetToWindowCoordinates(C,I,f,E);if(k(x))return tt.add(x,m,x),x};var u7=new tt(0,0);ql.prototype.computeScreenSpacePosition=function(o,A){let f=this._billboardCollection;k(A)||(A=new tt),tt.clone(this._pixelOffset,u7),tt.add(u7,this._translate,u7);let m=f.modelMatrix,C=this._position;if(k(this._clampedPosition)&&(C=this._clampedPosition,o.mode!==ii.SCENE3D)){let E=o.mapProjection,I=E.ellipsoid,x=E.unproject(C,j8);C=I.cartographicToCartesian(x,mOe),m=Re.IDENTITY}return ql._computeScreenSpacePosition(m,C,this._eyeOffset,u7,o,A)};ql.getScreenSpaceBoundingBox=function(o,A,f){let m=o.width,C=o.height,E=o.scale;m*=E,C*=E;let I=A.x;o.horizontalOrigin===iu.RIGHT?I-=m:o.horizontalOrigin===iu.CENTER&&(I-=m*.5);let x=A.y;return o.verticalOrigin===on.BOTTOM||o.verticalOrigin===on.BASELINE?x-=C:o.verticalOrigin===on.CENTER&&(x-=C*.5),k(f)||(f=new _r),f.x=I,f.y=x,f.width=m,f.height=C,f};ql.prototype.equals=function(o){return this===o||k(o)&&this._id===o._id&&Z.equals(this._position,o._position)&&this._imageId===o._imageId&&this._show===o._show&&this._scale===o._scale&&this._verticalOrigin===o._verticalOrigin&&this._horizontalOrigin===o._horizontalOrigin&&this._heightReference===o._heightReference&&_r.equals(this._imageSubRegion,o._imageSubRegion)&&qe.equals(this._color,o._color)&&tt.equals(this._pixelOffset,o._pixelOffset)&&tt.equals(this._translate,o._translate)&&Z.equals(this._eyeOffset,o._eyeOffset)&&no.equals(this._scaleByDistance,o._scaleByDistance)&&no.equals(this._translucencyByDistance,o._translucencyByDistance)&&no.equals(this._pixelOffsetScaleByDistance,o._pixelOffsetScaleByDistance)&&wo.equals(this._distanceDisplayCondition,o._distanceDisplayCondition)&&this._disableDepthTestDistance===o._disableDepthTestDistance};ql.prototype._destroy=function(){k(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),k(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var wc=ql,xa={BYTE:ri.BYTE,UNSIGNED_BYTE:ri.UNSIGNED_BYTE,SHORT:ri.SHORT,UNSIGNED_SHORT:ri.UNSIGNED_SHORT,INT:ri.INT,UNSIGNED_INT:ri.UNSIGNED_INT,FLOAT:ri.FLOAT,DOUBLE:ri.DOUBLE};xa.getSizeInBytes=function(o){switch(o){case xa.BYTE:return Int8Array.BYTES_PER_ELEMENT;case xa.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case xa.SHORT:return Int16Array.BYTES_PER_ELEMENT;case xa.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case xa.INT:return Int32Array.BYTES_PER_ELEMENT;case xa.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case xa.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case xa.DOUBLE:return Float64Array.BYTES_PER_ELEMENT}};xa.fromTypedArray=function(o){if(o instanceof Int8Array)return xa.BYTE;if(o instanceof Uint8Array)return xa.UNSIGNED_BYTE;if(o instanceof Int16Array)return xa.SHORT;if(o instanceof Uint16Array)return xa.UNSIGNED_SHORT;if(o instanceof Int32Array)return xa.INT;if(o instanceof Uint32Array)return xa.UNSIGNED_INT;if(o instanceof Float32Array)return xa.FLOAT;if(o instanceof Float64Array)return xa.DOUBLE};xa.validate=function(o){return k(o)&&(o===xa.BYTE||o===xa.UNSIGNED_BYTE||o===xa.SHORT||o===xa.UNSIGNED_SHORT||o===xa.INT||o===xa.UNSIGNED_INT||o===xa.FLOAT||o===xa.DOUBLE)};xa.createTypedArray=function(o,A){switch(o){case xa.BYTE:return new Int8Array(A);case xa.UNSIGNED_BYTE:return new Uint8Array(A);case xa.SHORT:return new Int16Array(A);case xa.UNSIGNED_SHORT:return new Uint16Array(A);case xa.INT:return new Int32Array(A);case xa.UNSIGNED_INT:return new Uint32Array(A);case xa.FLOAT:return new Float32Array(A);case xa.DOUBLE:return new Float64Array(A)}};xa.createArrayBufferView=function(o,A,f,m){switch(f=ae(f,0),m=ae(m,(A.byteLength-f)/xa.getSizeInBytes(o)),o){case xa.BYTE:return new Int8Array(A,f,m);case xa.UNSIGNED_BYTE:return new Uint8Array(A,f,m);case xa.SHORT:return new Int16Array(A,f,m);case xa.UNSIGNED_SHORT:return new Uint16Array(A,f,m);case xa.INT:return new Int32Array(A,f,m);case xa.UNSIGNED_INT:return new Uint32Array(A,f,m);case xa.FLOAT:return new Float32Array(A,f,m);case xa.DOUBLE:return new Float64Array(A,f,m)}};xa.fromName=function(o){switch(o){case"BYTE":return xa.BYTE;case"UNSIGNED_BYTE":return xa.UNSIGNED_BYTE;case"SHORT":return xa.SHORT;case"UNSIGNED_SHORT":return xa.UNSIGNED_SHORT;case"INT":return xa.INT;case"UNSIGNED_INT":return xa.UNSIGNED_INT;case"FLOAT":return xa.FLOAT;case"DOUBLE":return xa.DOUBLE}};var Mt=Object.freeze(xa),GA={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};GA.getMathType=function(o){switch(o){case GA.SCALAR:return Number;case GA.VEC2:return tt;case GA.VEC3:return Z;case GA.VEC4:return kt;case GA.MAT2:return Ud;case GA.MAT3:return Nt;case GA.MAT4:return Re}};GA.getNumberOfComponents=function(o){switch(o){case GA.SCALAR:return 1;case GA.VEC2:return 2;case GA.VEC3:return 3;case GA.VEC4:case GA.MAT2:return 4;case GA.MAT3:return 9;case GA.MAT4:return 16}};GA.getAttributeLocationCount=function(o){switch(o){case GA.SCALAR:case GA.VEC2:case GA.VEC3:case GA.VEC4:return 1;case GA.MAT2:return 2;case GA.MAT3:return 3;case GA.MAT4:return 4}};GA.getGlslType=function(o){switch(o){case GA.SCALAR:return"float";case GA.VEC2:return"vec2";case GA.VEC3:return"vec3";case GA.VEC4:return"vec4";case GA.MAT2:return"mat2";case GA.MAT3:return"mat3";case GA.MAT4:return"mat4"}};var Ka=Object.freeze(GA),mDe=1/256,CDe=256,Mu={};Mu.octEncodeInRange=function(o,A,f){if(f.x=o.x/(Math.abs(o.x)+Math.abs(o.y)+Math.abs(o.z)),f.y=o.y/(Math.abs(o.x)+Math.abs(o.y)+Math.abs(o.z)),o.z<0){let m=f.x,C=f.y;f.x=(1-Math.abs(C))*De.signNotZero(m),f.y=(1-Math.abs(m))*De.signNotZero(C)}return f.x=De.toSNorm(f.x,A),f.y=De.toSNorm(f.y,A),f};Mu.octEncode=function(o,A){return Mu.octEncodeInRange(o,255,A)};var qG=new tt,EDe=new Uint8Array(1);function c7(o){return EDe[0]=o,EDe[0]}Mu.octEncodeToCartesian4=function(o,A){return Mu.octEncodeInRange(o,65535,qG),A.x=c7(qG.x*mDe),A.y=c7(qG.x),A.z=c7(qG.y*mDe),A.w=c7(qG.y),A};Mu.octDecodeInRange=function(o,A,f,m){if(m.x=De.fromSNorm(o,f),m.y=De.fromSNorm(A,f),m.z=1-(Math.abs(m.x)+Math.abs(m.y)),m.z<0){let C=m.x;m.x=(1-Math.abs(m.y))*De.signNotZero(C),m.y=(1-Math.abs(C))*De.signNotZero(m.y)}return Z.normalize(m,m)};Mu.octDecode=function(o,A,f){return Mu.octDecodeInRange(o,A,255,f)};Mu.octDecodeFromCartesian4=function(o,A){let f=o.x,m=o.y,C=o.z,E=o.w,I=f*CDe+m,x=C*CDe+E;return Mu.octDecodeInRange(I,x,65535,A)};Mu.octPackFloat=function(o){return 256*o.x+o.y};var PAe=new tt;Mu.octEncodeFloat=function(o){return Mu.octEncode(o,PAe),Mu.octPackFloat(PAe)};Mu.octDecodeFloat=function(o,A){let f=o/256,m=Math.floor(f),C=(f-m)*256;return Mu.octDecode(m,C,A)};Mu.octPack=function(o,A,f,m){let C=Mu.octEncodeFloat(o),E=Mu.octEncodeFloat(A),I=Mu.octEncode(f,PAe);return m.x=65536*I.x+C,m.y=65536*I.y+E,m};Mu.octUnpack=function(o,A,f,m){let C=o.x/65536,E=Math.floor(C),I=(C-E)*65536;C=o.y/65536;let x=Math.floor(C),y=(C-x)*65536;Mu.octDecodeFloat(I,A),Mu.octDecodeFloat(y,f),Mu.octDecode(E,x,m)};Mu.compressTextureCoordinates=function(o){let A=o.x*4095|0,f=o.y*4095|0;return 4096*A+f};Mu.decompressTextureCoordinates=function(o,A){let f=o/4096,m=Math.floor(f);return A.x=m/4095,A.y=(o-m*4096)/4095,A};function Noe(o){return o>>1^-(o&1)}Mu.zigZagDeltaDecode=function(o,A,f){let m=o.length,C=0,E=0,I=0;for(let x=0;x>11,w=y>>5&C,Q=y&m,M=3*x;A[M]=v*E,A[M+1]=w*I,A[M+2]=Q*E}return A};var Yl=Mu;function e1(){this.high=Z.clone(Z.ZERO),this.low=Z.clone(Z.ZERO)}e1.encode=function(o,A){k(A)||(A={high:0,low:0});let f;return o>=0?(f=Math.floor(o/65536)*65536,A.high=f,A.low=o-f):(f=Math.floor(-o/65536)*65536,A.high=-f,A.low=o+f),A};var LQ={high:0,low:0};e1.fromCartesian=function(o,A){k(A)||(A=new e1);let f=A.high,m=A.low;return e1.encode(o.x,LQ),f.x=LQ.high,m.x=LQ.low,e1.encode(o.y,LQ),f.y=LQ.high,m.y=LQ.low,e1.encode(o.z,LQ),f.z=LQ.high,m.z=LQ.low,A};var koe=new e1;e1.writeElements=function(o,A,f){e1.fromCartesian(o,koe);let m=koe.high,C=koe.low;A[f]=m.x,A[f+1]=m.y,A[f+2]=m.z,A[f+3]=C.x,A[f+4]=C.y,A[f+5]=C.z};var Jl=e1,Cf={UNSIGNED_BYTE:ri.UNSIGNED_BYTE,UNSIGNED_SHORT:ri.UNSIGNED_SHORT,UNSIGNED_INT:ri.UNSIGNED_INT};Cf.getSizeInBytes=function(o){switch(o){case Cf.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case Cf.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case Cf.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}};Cf.fromSizeInBytes=function(o){switch(o){case 2:return Cf.UNSIGNED_SHORT;case 4:return Cf.UNSIGNED_INT;case 1:return Cf.UNSIGNED_BYTE}};Cf.validate=function(o){return k(o)&&(o===Cf.UNSIGNED_BYTE||o===Cf.UNSIGNED_SHORT||o===Cf.UNSIGNED_INT)};Cf.createTypedArray=function(o,A){return o>=De.SIXTY_FOUR_KILOBYTES?new Uint32Array(A):new Uint16Array(A)};Cf.createTypedArrayFromArrayBuffer=function(o,A,f,m){return o>=De.SIXTY_FOUR_KILOBYTES?new Uint32Array(A,f,m):new Uint16Array(A,f,m)};Cf.fromTypedArray=function(o){if(o instanceof Uint8Array)return Cf.UNSIGNED_BYTE;if(o instanceof Uint16Array)return Cf.UNSIGNED_SHORT;if(o instanceof Uint32Array)return Cf.UNSIGNED_INT};var fn=Object.freeze(Cf),wq={STREAM_DRAW:ri.STREAM_DRAW,STATIC_DRAW:ri.STATIC_DRAW,DYNAMIC_DRAW:ri.DYNAMIC_DRAW,validate:function(o){return o===wq.STREAM_DRAW||o===wq.STATIC_DRAW||o===wq.DYNAMIC_DRAW}},Fr=Object.freeze(wq);function nv(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.context._gl,f=o.bufferTarget,m=o.typedArray,C=o.sizeInBytes,E=o.usage,I=k(m);I&&(C=m.byteLength);let x=A.createBuffer();A.bindBuffer(f,x),A.bufferData(f,I?m:C,E),A.bindBuffer(f,null),this._id=Kl(),this._gl=A,this._webgl2=o.context._webgl2,this._bufferTarget=f,this._sizeInBytes=C,this._usage=E,this._buffer=x,this.vertexArrayDestroyable=!0}nv.createVertexBuffer=function(o){return new nv({context:o.context,bufferTarget:ri.ARRAY_BUFFER,typedArray:o.typedArray,sizeInBytes:o.sizeInBytes,usage:o.usage})};nv.createIndexBuffer=function(o){let A=o.context,f=o.indexDatatype,m=fn.getSizeInBytes(f),C=new nv({context:A,bufferTarget:ri.ELEMENT_ARRAY_BUFFER,typedArray:o.typedArray,sizeInBytes:o.sizeInBytes,usage:o.usage}),E=C.sizeInBytes/m;return Object.defineProperties(C,{indexDatatype:{get:function(){return f}},bytesPerIndex:{get:function(){return m}},numberOfIndices:{get:function(){return E}}}),C};Object.defineProperties(nv.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}});nv.prototype._getBuffer=function(){return this._buffer};nv.prototype.copyFromArrayView=function(o,A){A=ae(A,0);let f=this._gl,m=this._bufferTarget;f.bindBuffer(m,this._buffer),f.bufferSubData(m,A,o),f.bindBuffer(m,null)};nv.prototype.copyFromBuffer=function(o,A,f,m){let C=ri.COPY_READ_BUFFER,E=ri.COPY_WRITE_BUFFER,I=this._gl;I.bindBuffer(E,this._buffer),I.bindBuffer(C,o._buffer),I.copyBufferSubData(C,E,A,f,m),I.bindBuffer(E,null),I.bindBuffer(C,null)};nv.prototype.getBufferData=function(o,A,f,m){A=ae(A,0),f=ae(f,0);let C=this._gl,E=ri.COPY_READ_BUFFER;C.bindBuffer(E,this._buffer),C.getBufferSubData(E,A,o,f,m),C.bindBuffer(E,null)};nv.prototype.isDestroyed=function(){return!1};nv.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),ar(this)};var jn=nv,tp={POINTS:ri.POINTS,LINES:ri.LINES,LINE_LOOP:ri.LINE_LOOP,LINE_STRIP:ri.LINE_STRIP,TRIANGLES:ri.TRIANGLES,TRIANGLE_STRIP:ri.TRIANGLE_STRIP,TRIANGLE_FAN:ri.TRIANGLE_FAN};tp.isLines=function(o){return o===tp.LINES||o===tp.LINE_LOOP||o===tp.LINE_STRIP};tp.isTriangles=function(o){return o===tp.TRIANGLES||o===tp.TRIANGLE_STRIP||o===tp.TRIANGLE_FAN};tp.validate=function(o){return o===tp.POINTS||o===tp.LINES||o===tp.LINE_LOOP||o===tp.LINE_STRIP||o===tp.TRIANGLES||o===tp.TRIANGLE_STRIP||o===tp.TRIANGLE_FAN};var $r=Object.freeze(tp),Gh={CULL:1,OCCLUDE:2,EXECUTE_IN_CLOSEST_FRUSTUM:4,DEBUG_SHOW_BOUNDING_VOLUME:8,CAST_SHADOWS:16,RECEIVE_SHADOWS:32,PICK_ONLY:64,DEPTH_FOR_TRANSLUCENT_CLASSIFICATION:128};function AV(o){o=ae(o,ae.EMPTY_OBJECT),this._boundingVolume=o.boundingVolume,this._orientedBoundingBox=o.orientedBoundingBox,this._modelMatrix=o.modelMatrix,this._primitiveType=ae(o.primitiveType,$r.TRIANGLES),this._vertexArray=o.vertexArray,this._count=o.count,this._offset=ae(o.offset,0),this._instanceCount=ae(o.instanceCount,0),this._shaderProgram=o.shaderProgram,this._uniformMap=o.uniformMap,this._renderState=o.renderState,this._framebuffer=o.framebuffer,this._pass=o.pass,this._owner=o.owner,this._debugOverlappingFrustums=0,this._pickId=o.pickId,this._flags=0,this.cull=ae(o.cull,!0),this.occlude=ae(o.occlude,!0),this.executeInClosestFrustum=ae(o.executeInClosestFrustum,!1),this.debugShowBoundingVolume=ae(o.debugShowBoundingVolume,!1),this.castShadows=ae(o.castShadows,!1),this.receiveShadows=ae(o.receiveShadows,!1),this._receiveTextureProjectionList=ae(o.receiveTextureProjectionList,[]),this._receiveViewShed=ae(o.receiveViewShed,!1),this.pickOnly=ae(o.pickOnly,!1),this.depthForTranslucentClassification=ae(o.depthForTranslucentClassification,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}function im(o,A){return(o._flags&A)===A}function jM(o,A,f){f?o._flags|=A:o._flags&=~A}Object.defineProperties(AV.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(o){this._boundingVolume!==o&&(this._boundingVolume=o,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(o){this._orientedBoundingBox!==o&&(this._orientedBoundingBox=o,this.dirty=!0)}},cull:{get:function(){return im(this,Gh.CULL)},set:function(o){im(this,Gh.CULL)!==o&&(jM(this,Gh.CULL,o),this.dirty=!0)}},occlude:{get:function(){return im(this,Gh.OCCLUDE)},set:function(o){im(this,Gh.OCCLUDE)!==o&&(jM(this,Gh.OCCLUDE,o),this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(o){this._modelMatrix!==o&&(this._modelMatrix=o,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(o){this._primitiveType!==o&&(this._primitiveType=o,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(o){this._vertexArray!==o&&(this._vertexArray=o,this.dirty=!0)}},count:{get:function(){return this._count},set:function(o){this._count!==o&&(this._count=o,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(o){this._offset!==o&&(this._offset=o,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(o){this._instanceCount!==o&&(this._instanceCount=o,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(o){this._shaderProgram!==o&&(this._shaderProgram=o,this.dirty=!0)}},castShadows:{get:function(){return im(this,Gh.CAST_SHADOWS)},set:function(o){im(this,Gh.CAST_SHADOWS)!==o&&(jM(this,Gh.CAST_SHADOWS,o),this.dirty=!0)}},receiveShadows:{get:function(){return im(this,Gh.RECEIVE_SHADOWS)},set:function(o){im(this,Gh.RECEIVE_SHADOWS)!==o&&(jM(this,Gh.RECEIVE_SHADOWS,o),this.dirty=!0)}},receiveTextureProjectionList:{get:function(){return this._receiveTextureProjectionList},set:function(o){this._receiveTextureProjectionList!==o&&(this._receiveTextureProjectionList=o,this.dirty=!0)}},receiveViewShed:{get:function(){return this._receiveViewShed},set:function(o){this._receiveViewShed!==o&&(this._receiveViewShed=o,this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(o){this._uniformMap!==o&&(this._uniformMap=o,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(o){this._renderState!==o&&(this._renderState=o,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(o){this._framebuffer!==o&&(this._framebuffer=o,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(o){this._pass!==o&&(this._pass=o,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return im(this,Gh.EXECUTE_IN_CLOSEST_FRUSTUM)},set:function(o){im(this,Gh.EXECUTE_IN_CLOSEST_FRUSTUM)!==o&&(jM(this,Gh.EXECUTE_IN_CLOSEST_FRUSTUM,o),this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(o){this._owner!==o&&(this._owner=o,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return im(this,Gh.DEBUG_SHOW_BOUNDING_VOLUME)},set:function(o){im(this,Gh.DEBUG_SHOW_BOUNDING_VOLUME)!==o&&(jM(this,Gh.DEBUG_SHOW_BOUNDING_VOLUME,o),this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(o){this._debugOverlappingFrustums!==o&&(this._debugOverlappingFrustums=o,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(o){this._pickId!==o&&(this._pickId=o,this.dirty=!0)}},pickOnly:{get:function(){return im(this,Gh.PICK_ONLY)},set:function(o){im(this,Gh.PICK_ONLY)!==o&&(jM(this,Gh.PICK_ONLY,o),this.dirty=!0)}},depthForTranslucentClassification:{get:function(){return im(this,Gh.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)},set:function(o){im(this,Gh.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)!==o&&(jM(this,Gh.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION,o),this.dirty=!0)}}});AV.shallowClone=function(o,A){if(k(o))return k(A)||(A=new AV),A._boundingVolume=o._boundingVolume,A._orientedBoundingBox=o._orientedBoundingBox,A._modelMatrix=o._modelMatrix,A._primitiveType=o._primitiveType,A._vertexArray=o._vertexArray,A._count=o._count,A._offset=o._offset,A._instanceCount=o._instanceCount,A._shaderProgram=o._shaderProgram,A._uniformMap=o._uniformMap,A._renderState=o._renderState,A._framebuffer=o._framebuffer,A._pass=o._pass,A._owner=o._owner,A._debugOverlappingFrustums=o._debugOverlappingFrustums,A._pickId=o._pickId,A._flags=o._flags,A._receiveTextureProjectionList=o._receiveTextureProjectionList,A._receiveViewShed=o._receiveViewShed,A.dirty=!0,A.lastDirtyTime=0,A};AV.prototype.execute=function(o,A){o.draw(this,A)};var cn=AV,apt={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,VOXELS:9,OVERLAY:10,NUMBER_OF_PASSES:11},zi=Object.freeze(apt),bq={CLOCKWISE:ri.CW,COUNTER_CLOCKWISE:ri.CCW};bq.validate=function(o){return o===bq.CLOCKWISE||o===bq.COUNTER_CLOCKWISE};var Sx=Object.freeze(bq);function COe(o){if(typeof o!="object"||o===null)return o;let A,f=Object.keys(o);for(let m=0;m0&&console.log(`${Hw}Vertex shader compile log: ${y}`),y=o.getShaderInfoLog(E),k(y)&&y.length>0&&console.log(`${Hw}Fragment shader compile log: ${y}`),y=o.getProgramInfoLog(I),k(y)&&y.length>0&&console.log(`${Hw}Shader program link log: ${y}`)),o.deleteShader(C),o.deleteShader(E),I;let v,w=A._debugShaders;throw o.getShaderParameter(E,o.COMPILE_STATUS)?o.getShaderParameter(C,o.COMPILE_STATUS)?(y=o.getProgramInfoLog(I),console.error(`${Hw}Shader program link log: ${y}`),Q(C,"vertex"),Q(E,"fragment"),v=`Program failed to link. Link log: ${y}`):(y=o.getShaderInfoLog(C),console.error(`${Hw}Vertex shader compile log: ${y}`),console.error(`${Hw} Vertex shader source: ${f}`),v=`Vertex shader failed to compile. Compile log: ${y}`):(y=o.getShaderInfoLog(E),console.error(`${Hw}Fragment shader compile log: ${y}`),console.error(`${Hw} Fragment shader source: ${m}`),v=`Fragment shader failed to compile. Compile log: ${y}`),o.deleteShader(C),o.deleteShader(E),o.deleteProgram(I),new Ti(v);function Q(M,B){if(!k(w))return;let D=w.getTranslatedShaderSource(M);if(D===""){console.error(`${Hw}${B} shader translation failed.`);return}console.error(`${Hw}Translated ${B} shaderSource: ${D}`)}}function xpt(o,A,f){let m={};for(let C=0;C=0){if(w=f[v.slice(0,D)],!k(w))continue;Q=w._locations,Q.length<=1&&(M=w.value,B=o.getUniformLocation(A,v),B!==null&&(Q.push(B),M.push(o.getUniform(A,B))))}else{Q=[];for(let S=0;S1/pi. * * @alias czm_oneOverPi * @glslConstant * * @see CesiumMath.ONE_OVER_PI * * @example * // GLSL declaration * const float czm_oneOverPi = ...; * * // Example * float pi = 1.0 / czm_oneOverPi; */ const float czm_oneOverPi = 0.3183098861837907; `,Bde=`/** * A built-in GLSL floating-point constant for 1/2pi. * * @alias czm_oneOverTwoPi * @glslConstant * * @see CesiumMath.ONE_OVER_TWO_PI * * @example * // GLSL declaration * const float czm_oneOverTwoPi = ...; * * // Example * float pi = 2.0 * czm_oneOverTwoPi; */ const float czm_oneOverTwoPi = 0.15915494309189535; `,wde=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE} * * @name czm_passCesium3DTile * @glslConstant * * @see czm_pass */ const float czm_passCesium3DTile = 4.0; `,bde=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION} * * @name czm_passCesium3DTileClassification * @glslConstant * * @see czm_pass */ const float czm_passCesium3DTileClassification = 5.0; `,Qde=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW} * * @name czm_passCesium3DTileClassificationIgnoreShow * @glslConstant * * @see czm_pass */ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; `,Sde=`/** * The automatic GLSL constant for {@link Pass#CLASSIFICATION} * * @name czm_passClassification * @glslConstant * * @see czm_pass */ const float czm_passClassification = 7.0; `,Dde=`/** * The automatic GLSL constant for {@link Pass#COMPUTE} * * @name czm_passCompute * @glslConstant * * @see czm_pass */ const float czm_passCompute = 1.0; `,Mde=`/** * The automatic GLSL constant for {@link Pass#ENVIRONMENT} * * @name czm_passEnvironment * @glslConstant * * @see czm_pass */ const float czm_passEnvironment = 0.0; `,Tde=`/** * The automatic GLSL constant for {@link Pass#GLOBE} * * @name czm_passGlobe * @glslConstant * * @see czm_pass */ const float czm_passGlobe = 2.0; `,Pde=`/** * The automatic GLSL constant for {@link Pass#OPAQUE} * * @name czm_passOpaque * @glslConstant * * @see czm_pass */ const float czm_passOpaque = 7.0; `,Rde=`/** * The automatic GLSL constant for {@link Pass#OVERLAY} * * @name czm_passOverlay * @glslConstant * * @see czm_pass */ const float czm_passOverlay = 10.0; `,Lde=`/** * The automatic GLSL constant for {@link Pass#TERRAIN_CLASSIFICATION} * * @name czm_passTerrainClassification * @glslConstant * * @see czm_pass */ const float czm_passTerrainClassification = 3.0; `,Fde=`/** * The automatic GLSL constant for {@link Pass#TRANSLUCENT} * * @name czm_passTranslucent * @glslConstant * * @see czm_pass */ const float czm_passTranslucent = 8.0; `,Nde=`/** * The automatic GLSL constant for {@link Pass#VOXELS} * * @name czm_passVoxels * @glslConstant * * @see czm_pass */ const float czm_passVoxels = 9.0; `,kde=`/** * A built-in GLSL floating-point constant for Math.PI. * * @alias czm_pi * @glslConstant * * @see CesiumMath.PI * * @example * // GLSL declaration * const float czm_pi = ...; * * // Example * float twoPi = 2.0 * czm_pi; */ const float czm_pi = 3.141592653589793; `,Ude=`/** * A built-in GLSL floating-point constant for pi/4. * * @alias czm_piOverFour * @glslConstant * * @see CesiumMath.PI_OVER_FOUR * * @example * // GLSL declaration * const float czm_piOverFour = ...; * * // Example * float pi = 4.0 * czm_piOverFour; */ const float czm_piOverFour = 0.7853981633974483; `,Ode=`/** * A built-in GLSL floating-point constant for pi/6. * * @alias czm_piOverSix * @glslConstant * * @see CesiumMath.PI_OVER_SIX * * @example * // GLSL declaration * const float czm_piOverSix = ...; * * // Example * float pi = 6.0 * czm_piOverSix; */ const float czm_piOverSix = 0.5235987755982988; `,Gde=`/** * A built-in GLSL floating-point constant for pi/3. * * @alias czm_piOverThree * @glslConstant * * @see CesiumMath.PI_OVER_THREE * * @example * // GLSL declaration * const float czm_piOverThree = ...; * * // Example * float pi = 3.0 * czm_piOverThree; */ const float czm_piOverThree = 1.0471975511965976; `,Hde=`/** * A built-in GLSL floating-point constant for pi/2. * * @alias czm_piOverTwo * @glslConstant * * @see CesiumMath.PI_OVER_TWO * * @example * // GLSL declaration * const float czm_piOverTwo = ...; * * // Example * float pi = 2.0 * czm_piOverTwo; */ const float czm_piOverTwo = 1.5707963267948966; `,Vde=`/** * A built-in GLSL floating-point constant for converting degrees to radians. * * @alias czm_radiansPerDegree * @glslConstant * * @see CesiumMath.RADIANS_PER_DEGREE * * @example * // GLSL declaration * const float czm_radiansPerDegree = ...; * * // Example * float rad = czm_radiansPerDegree * deg; */ const float czm_radiansPerDegree = 0.017453292519943295; `,zde=`/** * The constant identifier for the 2D {@link SceneMode} * * @name czm_sceneMode2D * @glslConstant * @see czm_sceneMode * @see czm_sceneModeColumbusView * @see czm_sceneMode3D * @see czm_sceneModeMorphing */ const float czm_sceneMode2D = 2.0; `,Yde=`/** * The constant identifier for the 3D {@link SceneMode} * * @name czm_sceneMode3D * @glslConstant * @see czm_sceneMode * @see czm_sceneMode2D * @see czm_sceneModeColumbusView * @see czm_sceneModeMorphing */ const float czm_sceneMode3D = 3.0; `,Jde=`/** * The constant identifier for the Columbus View {@link SceneMode} * * @name czm_sceneModeColumbusView * @glslConstant * @see czm_sceneMode * @see czm_sceneMode2D * @see czm_sceneMode3D * @see czm_sceneModeMorphing */ const float czm_sceneModeColumbusView = 1.0; `,Kde=`/** * The constant identifier for the Morphing {@link SceneMode} * * @name czm_sceneModeMorphing * @glslConstant * @see czm_sceneMode * @see czm_sceneMode2D * @see czm_sceneModeColumbusView * @see czm_sceneMode3D */ const float czm_sceneModeMorphing = 0.0; `,Wde=`/** * A built-in GLSL floating-point constant for one solar radius. * * @alias czm_solarRadius * @glslConstant * * @see CesiumMath.SOLAR_RADIUS * * @example * // GLSL declaration * const float czm_solarRadius = ...; */ const float czm_solarRadius = 695500000.0; `,qde=`/** * A built-in GLSL floating-point constant for 3pi/2. * * @alias czm_threePiOver2 * @glslConstant * * @see CesiumMath.THREE_PI_OVER_TWO * * @example * // GLSL declaration * const float czm_threePiOver2 = ...; * * // Example * float pi = (2.0 / 3.0) * czm_threePiOver2; */ const float czm_threePiOver2 = 4.71238898038469; `,jde=`/** * A built-in GLSL floating-point constant for 2pi. * * @alias czm_twoPi * @glslConstant * * @see CesiumMath.TWO_PI * * @example * // GLSL declaration * const float czm_twoPi = ...; * * // Example * float pi = czm_twoPi / 2.0; */ const float czm_twoPi = 6.283185307179586; `,Xde=`/** * The maximum latitude, in radians, both North and South, supported by a Web Mercator * (EPSG:3857) projection. Technically, the Mercator projection is defined * for any latitude up to (but not including) 90 degrees, but it makes sense * to cut it off sooner because it grows exponentially with increasing latitude. * The logic behind this particular cutoff value, which is the one used by * Google Maps, Bing Maps, and Esri, is that it makes the projection * square. That is, the rectangle is equal in the X and Y directions. * * The constant value is computed as follows: * czm_pi * 0.5 - (2.0 * atan(exp(-czm_pi))) * * @name czm_webMercatorMaxLatitude * @glslConstant */ const float czm_webMercatorMaxLatitude = 1.4844222297453324; `,Zde=`/** * @name czm_depthRangeStruct * @glslStruct */ struct czm_depthRangeStruct { float near; float far; }; `,$de=`/** * Holds material information that can be used for lighting. Returned by all czm_getMaterial functions. * * @name czm_material * @glslStruct * * @property {vec3} diffuse Incoming light that scatters evenly in all directions. * @property {float} specular Intensity of incoming light reflecting in a single direction. * @property {float} shininess The sharpness of the specular reflection. Higher values create a smaller, more focused specular highlight. * @property {vec3} normal Surface's normal in eye coordinates. It is used for effects such as normal mapping. The default is the surface's unmodified normal. * @property {vec3} emission Light emitted by the material equally in all directions. The default is vec3(0.0), which emits no light. * @property {float} alpha Alpha of this material. 0.0 is completely transparent; 1.0 is completely opaque. */ struct czm_material { vec3 diffuse; float specular; float shininess; vec3 normal; vec3 emission; float alpha; }; `,ege=`/** * Used as input to every material's czm_getMaterial function. * * @name czm_materialInput * @glslStruct * * @property {float} s 1D texture coordinates. * @property {vec2} st 2D texture coordinates. * @property {vec3} str 3D texture coordinates. * @property {vec3} normalEC Unperturbed surface normal in eye coordinates. * @property {mat3} tangentToEyeMatrix Matrix for converting a tangent space normal to eye space. * @property {vec3} positionToEyeEC Vector from the fragment to the eye in eye coordinates. The magnitude is the distance in meters from the fragment to the eye. * @property {float} height The height of the terrain in meters above or below the WGS84 ellipsoid. Only available for globe materials. * @property {float} slope The slope of the terrain in radians. 0 is flat; pi/2 is vertical. Only available for globe materials. * @property {float} aspect The aspect of the terrain in radians. 0 is East, pi/2 is North, pi is West, 3pi/2 is South. Only available for globe materials. */ struct czm_materialInput { float s; vec2 st; vec3 str; vec3 normalEC; mat3 tangentToEyeMatrix; vec3 positionToEyeEC; float height; float slope; float aspect; }; `,tge=`/** * Struct for representing a material for a {@link Model}. The model * rendering pipeline will pass this struct between material, custom shaders, * and lighting stages. This is not to be confused with {@link czm_material} * which is used by the older Fabric materials system, although they are similar. *

* All color values (diffuse, specular, emissive) are in linear color space. *

* * @name czm_modelMaterial * @glslStruct * * @property {vec3} diffuse Incoming light that scatters evenly in all directions. * @property {float} alpha Alpha of this material. 0.0 is completely transparent; 1.0 is completely opaque. * @property {vec3} specular Color of reflected light at normal incidence in PBR materials. This is sometimes referred to as f0 in the literature. * @property {float} roughness A number from 0.0 to 1.0 representing how rough the surface is. Values near 0.0 produce glossy surfaces, while values near 1.0 produce rough surfaces. * @property {vec3} normalEC Surface's normal in eye coordinates. It is used for effects such as normal mapping. The default is the surface's unmodified normal. * @property {float} occlusion Ambient occlusion recieved at this point on the material. 1.0 means fully lit, 0.0 means fully occluded. * @property {vec3} emissive Light emitted by the material equally in all directions. The default is vec3(0.0), which emits no light. */ struct czm_modelMaterial { vec3 diffuse; float alpha; vec3 specular; float roughness; vec3 normalEC; float occlusion; vec3 emissive; }; `,ige=`/** * Struct for representing the output of a custom vertex shader. * * @name czm_modelVertexOutput * @glslStruct * * @see {@link CustomShader} * @see {@link Model} * * @property {vec3} positionMC The position of the vertex in model coordinates * @property {float} pointSize A custom value for gl_PointSize. This is only used for point primitives. */ struct czm_modelVertexOutput { vec3 positionMC; float pointSize; }; `,rge=`/** * Parameters for {@link czm_pbrLighting} * * @name czm_material * @glslStruct * * @property {vec3} diffuseColor the diffuse color of the material for the lambert term of the rendering equation * @property {float} roughness a value from 0.0 to 1.0 that indicates how rough the surface of the material is. * @property {vec3} f0 The reflectance of the material at normal incidence */ struct czm_pbrParameters { vec3 diffuseColor; float roughness; vec3 f0; }; `,nge=`/** * DOC_TBA * * @name czm_ray * @glslStruct */ struct czm_ray { vec3 origin; vec3 direction; }; `,oge=`/** * DOC_TBA * * @name czm_raySegment * @glslStruct */ struct czm_raySegment { float start; float stop; }; /** * DOC_TBA * * @name czm_emptyRaySegment * @glslConstant */ const czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_infinity); /** * DOC_TBA * * @name czm_fullRaySegment * @glslConstant */ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); `,age=`struct czm_shadowParameters { #ifdef USE_CUBE_MAP_SHADOW vec3 texCoords; #else vec2 texCoords; #endif float depthBias; float depth; float nDotL; vec2 texelStepSize; float normalShadingSmooth; float darkness; }; `,sge=`// See: // https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/ vec3 czm_acesTonemapping(vec3 color) { float g = 0.985; float a = 0.065; float b = 0.0001; float c = 0.433; float d = 0.238; color = (color * (color + a) - b) / (color * (g * color + c) + d); color = clamp(color, 0.0, 1.0); return color; } `,lge=`/** * @private */ float czm_alphaWeight(float a) { float z = (gl_FragCoord.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2]; // See Weighted Blended Order-Independent Transparency for examples of different weighting functions: // http://jcgt.org/published/0002/02/09/ return pow(a + 0.01, 4.0) + max(1e-2, min(3.0 * 1e3, 0.003 / (1e-5 + pow(abs(z) / 200.0, 4.0)))); } `,Age=`/** * Procedural anti-aliasing by blurring two colors that meet at a sharp edge. * * @name czm_antialias * @glslFunction * * @param {vec4} color1 The color on one side of the edge. * @param {vec4} color2 The color on the other side of the edge. * @param {vec4} currentcolor The current color, either color1 or color2. * @param {float} dist The distance to the edge in texture coordinates. * @param {float} [fuzzFactor=0.1] Controls the blurriness between the two colors. * @returns {vec4} The anti-aliased color. * * @example * // GLSL declarations * vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor); * vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist); * * // get the color for a material that has a sharp edge at the line y = 0.5 in texture space * float dist = abs(textureCoordinates.t - 0.5); * vec4 currentColor = mix(bottomColor, topColor, step(0.5, textureCoordinates.t)); * vec4 color = czm_antialias(bottomColor, topColor, currentColor, dist, 0.1); */ vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor) { float val1 = clamp(dist / fuzzFactor, 0.0, 1.0); float val2 = clamp((dist - 0.5) / fuzzFactor, 0.0, 1.0); val1 = val1 * (1.0 - val2); val1 = val1 * val1 * (3.0 - (2.0 * val1)); val1 = pow(val1, 0.5); //makes the transition nicer vec4 midColor = (color1 + color2) * 0.5; return mix(midColor, currentColor, val1); } vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist) { return czm_antialias(color1, color2, currentColor, dist, 0.1); } `,uge=`/** * Approximately computes spherical coordinates given a normal. * Uses approximate inverse trigonometry for speed and consistency, * since inverse trigonometry can differ from vendor-to-vendor and when compared with the CPU. * * @name czm_approximateSphericalCoordinates * @glslFunction * * @param {vec3} normal arbitrary-length normal. * * @returns {vec2} Approximate latitude and longitude spherical coordinates. */ vec2 czm_approximateSphericalCoordinates(vec3 normal) { // Project into plane with vertical for latitude float latitudeApproximation = czm_fastApproximateAtan(sqrt(normal.x * normal.x + normal.y * normal.y), normal.z); float longitudeApproximation = czm_fastApproximateAtan(normal.x, normal.y); return vec2(latitudeApproximation, longitudeApproximation); } `,cge=`/** * Determines if the fragment is back facing * * @name czm_backFacing * @glslFunction * * @returns {bool} true if the fragment is back facing; otherwise, false. */ bool czm_backFacing() { // !gl_FrontFacing doesn't work as expected on Mac/Intel so use the more verbose form instead. See https://github.com/CesiumGS/cesium/pull/8494. return gl_FrontFacing == false; } `,hge=`/** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a float expression. * * @name czm_branchFreeTernary * @glslFunction * * @param {bool} comparison A comparison statement * @param {float} a Value to return if the comparison is true. * @param {float} b Value to return if the comparison is false. * * @returns {float} equivalent of comparison ? a : b */ float czm_branchFreeTernary(bool comparison, float a, float b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } /** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a vec2 expression. * * @name czm_branchFreeTernary * @glslFunction * * @param {bool} comparison A comparison statement * @param {vec2} a Value to return if the comparison is true. * @param {vec2} b Value to return if the comparison is false. * * @returns {vec2} equivalent of comparison ? a : b */ vec2 czm_branchFreeTernary(bool comparison, vec2 a, vec2 b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } /** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a vec3 expression. * * @name czm_branchFreeTernary * @glslFunction * * @param {bool} comparison A comparison statement * @param {vec3} a Value to return if the comparison is true. * @param {vec3} b Value to return if the comparison is false. * * @returns {vec3} equivalent of comparison ? a : b */ vec3 czm_branchFreeTernary(bool comparison, vec3 a, vec3 b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } /** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a vec4 expression. * * @name czm_branchFreeTernary * @glslFunction * * @param {bool} comparison A comparison statement * @param {vec3} a Value to return if the comparison is true. * @param {vec3} b Value to return if the comparison is false. * * @returns {vec3} equivalent of comparison ? a : b */ vec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } `,dge=` vec4 czm_cascadeColor(vec4 weights) { return vec4(1.0, 0.0, 0.0, 1.0) * weights.x + vec4(0.0, 1.0, 0.0, 1.0) * weights.y + vec4(0.0, 0.0, 1.0, 1.0) * weights.z + vec4(1.0, 0.0, 1.0, 1.0) * weights.w; } `,gge=` uniform vec4 shadowMap_cascadeDistances; float czm_cascadeDistance(vec4 weights) { return dot(shadowMap_cascadeDistances, weights); } `,fge=` uniform mat4 shadowMap_cascadeMatrices[4]; mat4 czm_cascadeMatrix(vec4 weights) { return shadowMap_cascadeMatrices[0] * weights.x + shadowMap_cascadeMatrices[1] * weights.y + shadowMap_cascadeMatrices[2] * weights.z + shadowMap_cascadeMatrices[3] * weights.w; } `,pge=` uniform vec4 shadowMap_cascadeSplits[2]; vec4 czm_cascadeWeights(float depthEye) { // One component is set to 1.0 and all others set to 0.0. vec4 near = step(shadowMap_cascadeSplits[0], vec4(depthEye)); vec4 far = step(depthEye, shadowMap_cascadeSplits[1]); return near * far; } `,mge=`/** * DOC_TBA * * @name czm_columbusViewMorph * @glslFunction */ vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time) { // Just linear for now. vec3 p = mix(position2D.xyz, position3D.xyz, time); return vec4(p, 1.0); } `,Cge=`/** * Returns a position in model coordinates relative to eye taking into * account the current scene mode: 3D, 2D, or Columbus view. *

* This uses standard position attributes, position3DHigh, * position3DLow, position2DHigh, and position2DLow, * and should be used when writing a vertex shader for an {@link Appearance}. *

* * @name czm_computePosition * @glslFunction * * @returns {vec4} The position relative to eye. * * @example * vec4 p = czm_computePosition(); * v_positionEC = (czm_modelViewRelativeToEye * p).xyz; * gl_Position = czm_modelViewProjectionRelativeToEye * p; * * @see czm_translateRelativeToEye */ vec4 czm_computePosition(); `,Ege=`/** * @private */ vec2 cordic(float angle) { // Scale the vector by the appropriate factor for the 24 iterations to follow. vec2 vector = vec2(6.0725293500888267e-1, 0.0); // Iteration 1 float sense = (angle < 0.0) ? -1.0 : 1.0; // float factor = sense * 1.0; // 2^-0 mat2 rotation = mat2(1.0, sense, -sense, 1.0); vector = rotation * vector; angle -= sense * 7.8539816339744828e-1; // atan(2^-0) // Iteration 2 sense = (angle < 0.0) ? -1.0 : 1.0; float factor = sense * 5.0e-1; // 2^-1 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 4.6364760900080609e-1; // atan(2^-1) // Iteration 3 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 2.5e-1; // 2^-2 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 2.4497866312686414e-1; // atan(2^-2) // Iteration 4 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.25e-1; // 2^-3 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.2435499454676144e-1; // atan(2^-3) // Iteration 5 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 6.25e-2; // 2^-4 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 6.2418809995957350e-2; // atan(2^-4) // Iteration 6 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 3.125e-2; // 2^-5 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 3.1239833430268277e-2; // atan(2^-5) // Iteration 7 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.5625e-2; // 2^-6 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.5623728620476831e-2; // atan(2^-6) // Iteration 8 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 7.8125e-3; // 2^-7 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 7.8123410601011111e-3; // atan(2^-7) // Iteration 9 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 3.90625e-3; // 2^-8 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 3.9062301319669718e-3; // atan(2^-8) // Iteration 10 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.953125e-3; // 2^-9 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.9531225164788188e-3; // atan(2^-9) // Iteration 11 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 9.765625e-4; // 2^-10 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 9.7656218955931946e-4; // atan(2^-10) // Iteration 12 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 4.8828125e-4; // 2^-11 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 4.8828121119489829e-4; // atan(2^-11) // Iteration 13 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 2.44140625e-4; // 2^-12 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 2.4414062014936177e-4; // atan(2^-12) // Iteration 14 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.220703125e-4; // 2^-13 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.2207031189367021e-4; // atan(2^-13) // Iteration 15 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 6.103515625e-5; // 2^-14 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 6.1035156174208773e-5; // atan(2^-14) // Iteration 16 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 3.0517578125e-5; // 2^-15 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 3.0517578115526096e-5; // atan(2^-15) // Iteration 17 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.52587890625e-5; // 2^-16 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.5258789061315762e-5; // atan(2^-16) // Iteration 18 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 7.62939453125e-6; // 2^-17 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 7.6293945311019700e-6; // atan(2^-17) // Iteration 19 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 3.814697265625e-6; // 2^-18 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 3.8146972656064961e-6; // atan(2^-18) // Iteration 20 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.9073486328125e-6; // 2^-19 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.9073486328101870e-6; // atan(2^-19) // Iteration 21 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 9.5367431640625e-7; // 2^-20 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 9.5367431640596084e-7; // atan(2^-20) // Iteration 22 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 4.76837158203125e-7; // 2^-21 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 4.7683715820308884e-7; // atan(2^-21) // Iteration 23 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 2.384185791015625e-7; // 2^-22 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 2.3841857910155797e-7; // atan(2^-22) // Iteration 24 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.1920928955078125e-7; // 2^-23 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; // angle -= sense * 1.1920928955078068e-7; // atan(2^-23) return vector; } /** * Computes the cosine and sine of the provided angle using the CORDIC algorithm. * * @name czm_cosineAndSine * @glslFunction * * @param {float} angle The angle in radians. * * @returns {vec2} The resulting cosine of the angle (as the x coordinate) and sine of the angle (as the y coordinate). * * @example * vec2 v = czm_cosineAndSine(czm_piOverSix); * float cosine = v.x; * float sine = v.y; */ vec2 czm_cosineAndSine(float angle) { if (angle < -czm_piOverTwo || angle > czm_piOverTwo) { if (angle < 0.0) { return -cordic(angle + czm_pi); } else { return -cordic(angle - czm_pi); } } else { return cordic(angle); } } `,Ige=`/** * Decompresses texture coordinates that were packed into a single float. * * @name czm_decompressTextureCoordinates * @glslFunction * * @param {float} encoded The compressed texture coordinates. * @returns {vec2} The decompressed texture coordinates. */ vec2 czm_decompressTextureCoordinates(float encoded) { float temp = encoded / 4096.0; float xZeroTo4095 = floor(temp); float stx = xZeroTo4095 / 4095.0; float sty = (encoded - xZeroTo4095 * 4096.0) / 4095.0; return vec2(stx, sty); } `,xge=`/** * Get default parameters for physically based rendering. These defaults * describe a rough dielectric (non-metal) surface (e.g. rough plastic). * * @return {czm_pbrParameters} Default parameters for {@link czm_pbrLighting} */ czm_pbrParameters czm_defaultPbrMaterial() { czm_pbrParameters results; results.diffuseColor = vec3(1.0); results.roughness = 1.0; const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04); results.f0 = REFLECTANCE_DIELECTRIC; return results; } `,yge=`// emulated noperspective #if (__VERSION__ == 300 || defined(GL_EXT_frag_depth)) && !defined(LOG_DEPTH) out float v_WindowZ; #endif /** * Emulates GL_DEPTH_CLAMP, which is not available in WebGL 1 or 2. * GL_DEPTH_CLAMP clamps geometry that is outside the near and far planes, * capping the shadow volume. More information here: * https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_depth_clamp.txt. * * When GL_EXT_frag_depth is available we emulate GL_DEPTH_CLAMP by ensuring * no geometry gets clipped by setting the clip space z value to 0.0 and then * sending the unaltered screen space z value (using emulated noperspective * interpolation) to the frag shader where it is clamped to [0,1] and then * written with gl_FragDepth (see czm_writeDepthClamp). This technique is based on: * https://stackoverflow.com/questions/5960757/how-to-emulate-gl-depth-clamp-nv. * * When GL_EXT_frag_depth is not available, which is the case on some mobile * devices, we must attempt to fix this only in the vertex shader. * The approach is to clamp the z value to the far plane, which closes the * shadow volume but also distorts the geometry, so there can still be artifacts * on frustum seams. * * @name czm_depthClamp * @glslFunction * * @param {vec4} coords The vertex in clip coordinates. * @returns {vec4} The modified vertex. * * @example * gl_Position = czm_depthClamp(czm_modelViewProjection * vec4(position, 1.0)); * * @see czm_writeDepthClamp */ vec4 czm_depthClamp(vec4 coords) { #ifndef LOG_DEPTH #if __VERSION__ == 300 || defined(GL_EXT_frag_depth) v_WindowZ = (0.5 * (coords.z / coords.w) + 0.5) * coords.w; coords.z = 0.0; #else coords.z = min(coords.z, coords.w); #endif #endif return coords; } `,vge=`/** * Computes a 3x3 rotation matrix that transforms vectors from an ellipsoid's east-north-up coordinate system * to eye coordinates. In east-north-up coordinates, x points east, y points north, and z points along the * surface normal. East-north-up can be used as an ellipsoid's tangent space for operations such as bump mapping. *

* The ellipsoid is assumed to be centered at the model coordinate's origin. * * @name czm_eastNorthUpToEyeCoordinates * @glslFunction * * @param {vec3} positionMC The position on the ellipsoid in model coordinates. * @param {vec3} normalEC The normalized ellipsoid surface normal, at positionMC, in eye coordinates. * * @returns {mat3} A 3x3 rotation matrix that transforms vectors from the east-north-up coordinate system to eye coordinates. * * @example * // Transform a vector defined in the east-north-up coordinate * // system, (0, 0, 1) which is the surface normal, to eye * // coordinates. * mat3 m = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); * vec3 normalEC = m * vec3(0.0, 0.0, 1.0); */ mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC) { vec3 tangentMC = normalize(vec3(-positionMC.y, positionMC.x, 0.0)); // normalized surface tangent in model coordinates vec3 tangentEC = normalize(czm_normal3D * tangentMC); // normalized surface tangent in eye coordiantes vec3 bitangentEC = normalize(cross(normalEC, tangentEC)); // normalized surface bitangent in eye coordinates return mat3( tangentEC.x, tangentEC.y, tangentEC.z, bitangentEC.x, bitangentEC.y, bitangentEC.z, normalEC.x, normalEC.y, normalEC.z); } `,_ge=`/** * DOC_TBA * * @name czm_ellipsoidContainsPoint * @glslFunction * */ bool czm_ellipsoidContainsPoint(vec3 ellipsoid_inverseRadii, vec3 point) { vec3 scaled = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz; return (dot(scaled, scaled) <= 1.0); } `,Bge=`/** * DOC_TBA * * @name czm_ellipsoidWgs84TextureCoordinates * @glslFunction */ vec2 czm_ellipsoidWgs84TextureCoordinates(vec3 normal) { return vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5); } `,wge=`/** * Compares left and right componentwise. Returns true * if they are within epsilon and false otherwise. The inputs * left and right can be floats, vec2s, * vec3s, or vec4s. * * @name czm_equalsEpsilon * @glslFunction * * @param {} left The first vector. * @param {} right The second vector. * @param {float} epsilon The epsilon to use for equality testing. * @returns {bool} true if the components are within epsilon and false otherwise. * * @example * // GLSL declarations * bool czm_equalsEpsilon(float left, float right, float epsilon); * bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon); * bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon); * bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon); */ bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon) { return all(lessThanEqual(abs(left - right), vec4(epsilon))); } bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon) { return all(lessThanEqual(abs(left - right), vec3(epsilon))); } bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) { return all(lessThanEqual(abs(left - right), vec2(epsilon))); } bool czm_equalsEpsilon(float left, float right, float epsilon) { return (abs(left - right) <= epsilon); } `,bge=`/** * DOC_TBA * * @name czm_eyeOffset * @glslFunction * * @param {vec4} positionEC DOC_TBA. * @param {vec3} eyeOffset DOC_TBA. * * @returns {vec4} DOC_TBA. */ vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset) { // This equation is approximate in x and y. vec4 p = positionEC; vec4 zEyeOffset = normalize(p) * eyeOffset.z; p.xy += eyeOffset.xy + zEyeOffset.xy; p.z += zEyeOffset.z; return p; } `,Qge=`/** * Transforms a position from eye to window coordinates. The transformation * from eye to clip coordinates is done using {@link czm_projection}. * The transform from normalized device coordinates to window coordinates is * done using {@link czm_viewportTransformation}, which assumes a depth range * of near = 0 and far = 1. *

* This transform is useful when there is a need to manipulate window coordinates * in a vertex shader as done by {@link BillboardCollection}. * * @name czm_eyeToWindowCoordinates * @glslFunction * * @param {vec4} position The position in eye coordinates to transform. * * @returns {vec4} The transformed position in window coordinates. * * @see czm_modelToWindowCoordinates * @see czm_projection * @see czm_viewportTransformation * @see BillboardCollection * * @example * vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); */ vec4 czm_eyeToWindowCoordinates(vec4 positionEC) { vec4 q = czm_projection * positionEC; // clip coordinates q.xyz /= q.w; // normalized device coordinates q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } `,Sge=`/** * Approxiamtes atan over the range [0, 1]. Safe to flip output for negative input. * * Based on Michal Drobot's approximation from ShaderFastLibs, which in turn is based on * "Efficient approximations for the arctangent function," Rajan, S. Sichun Wang Inkol, R. Joyal, A., May 2006. * Adapted from ShaderFastLibs under MIT License. * * Chosen for the following characteristics over range [0, 1]: * - basically no error at 0 and 1, important for getting around range limit (naive atan2 via atan requires infinite range atan) * - no visible artifacts from first-derivative discontinuities, unlike latitude via range-reduced sqrt asin approximations (at equator) * * The original code is x * (-0.1784 * abs(x) - 0.0663 * x * x + 1.0301); * Removed the abs() in here because it isn't needed, the input range is guaranteed as [0, 1] by how we're approximating atan2. * * @name czm_fastApproximateAtan * @glslFunction * * @param {float} x Value between 0 and 1 inclusive. * * @returns {float} Approximation of atan(x) */ float czm_fastApproximateAtan(float x) { return x * (-0.1784 * x - 0.0663 * x * x + 1.0301); } /** * Approximation of atan2. * * Range reduction math based on nvidia's cg reference implementation for atan2: http://developer.download.nvidia.com/cg/atan2.html * However, we replaced their atan curve with Michael Drobot's (see above). * * @name czm_fastApproximateAtan * @glslFunction * * @param {float} x Value between -1 and 1 inclusive. * @param {float} y Value between -1 and 1 inclusive. * * @returns {float} Approximation of atan2(x, y) */ float czm_fastApproximateAtan(float x, float y) { // atan approximations are usually only reliable over [-1, 1], or, in our case, [0, 1] due to modifications. // So range-reduce using abs and by flipping whether x or y is on top. float t = abs(x); // t used as swap and atan result. float opposite = abs(y); float adjacent = max(t, opposite); opposite = min(t, opposite); t = czm_fastApproximateAtan(opposite / adjacent); // Undo range reduction t = czm_branchFreeTernary(abs(y) > abs(x), czm_piOverTwo - t, t); t = czm_branchFreeTernary(x < 0.0, czm_pi - t, t); t = czm_branchFreeTernary(y < 0.0, -t, t); return t; } `,Dge=`/** * Gets the color with fog at a distance from the camera. * * @name czm_fog * @glslFunction * * @param {float} distanceToCamera The distance to the camera in meters. * @param {vec3} color The original color. * @param {vec3} fogColor The color of the fog. * * @returns {vec3} The color adjusted for fog at the distance from the camera. */ vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor) { float scalar = distanceToCamera * czm_fogDensity; float fog = 1.0 - exp(-(scalar * scalar)); return mix(color, fogColor, fog); } /** * Gets the color with fog at a distance from the camera. * * @name czm_fog * @glslFunction * * @param {float} distanceToCamera The distance to the camera in meters. * @param {vec3} color The original color. * @param {vec3} fogColor The color of the fog. * @param {float} fogModifierConstant A constant to modify the appearance of fog. * * @returns {vec3} The color adjusted for fog at the distance from the camera. */ vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor, float fogModifierConstant) { float scalar = distanceToCamera * czm_fogDensity; float fog = 1.0 - exp(-((fogModifierConstant * scalar + fogModifierConstant) * (scalar * (1.0 + fogModifierConstant)))); return mix(color, fogColor, fog); } `,Mge=`/** * Converts a color from RGB space to linear space. * * @name czm_gammaCorrect * @glslFunction * * @param {vec3} color The color in RGB space. * @returns {vec3} The color in linear space. */ vec3 czm_gammaCorrect(vec3 color) { #ifdef HDR color = pow(color, vec3(czm_gamma)); #endif return color; } vec4 czm_gammaCorrect(vec4 color) { #ifdef HDR color.rgb = pow(color.rgb, vec3(czm_gamma)); #endif return color; } `,Tge=`/** * DOC_TBA * * @name czm_geodeticSurfaceNormal * @glslFunction * * @param {vec3} positionOnEllipsoid DOC_TBA * @param {vec3} ellipsoidCenter DOC_TBA * @param {vec3} oneOverEllipsoidRadiiSquared DOC_TBA * * @returns {vec3} DOC_TBA. */ vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, vec3 oneOverEllipsoidRadiiSquared) { return normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared); } `,Pge=`/** * An czm_material with default values. Every material's czm_getMaterial * should use this default material as a base for the material it returns. * The default normal value is given by materialInput.normalEC. * * @name czm_getDefaultMaterial * @glslFunction * * @param {czm_materialInput} input The input used to construct the default material. * * @returns {czm_material} The default material. * * @see czm_materialInput * @see czm_material * @see czm_getMaterial */ czm_material czm_getDefaultMaterial(czm_materialInput materialInput) { czm_material material; material.diffuse = vec3(0.0); material.specular = 0.0; material.shininess = 1.0; material.normal = materialInput.normalEC; material.emission = vec3(0.0); material.alpha = 1.0; return material; } `,Rge=`/** * Calculates the intensity of diffusely reflected light. * * @name czm_getLambertDiffuse * @glslFunction * * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. * @param {vec3} normalEC The surface normal in eye coordinates. * * @returns {float} The intensity of the diffuse reflection. * * @see czm_phong * * @example * float diffuseIntensity = czm_getLambertDiffuse(lightDirectionEC, normalEC); * float specularIntensity = czm_getSpecular(lightDirectionEC, toEyeEC, normalEC, 200); * vec3 color = (diffuseColor * diffuseIntensity) + (specularColor * specularIntensity); */ float czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC) { return max(dot(lightDirectionEC, normalEC), 0.0); } `,Lge=`/** * Calculates the specular intensity of reflected light. * * @name czm_getSpecular * @glslFunction * * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. * @param {vec3} toEyeEC Unit vector pointing to the eye position in eye coordinates. * @param {vec3} normalEC The surface normal in eye coordinates. * @param {float} shininess The sharpness of the specular reflection. Higher values create a smaller, more focused specular highlight. * * @returns {float} The intensity of the specular highlight. * * @see czm_phong * * @example * float diffuseIntensity = czm_getLambertDiffuse(lightDirectionEC, normalEC); * float specularIntensity = czm_getSpecular(lightDirectionEC, toEyeEC, normalEC, 200); * vec3 color = (diffuseColor * diffuseIntensity) + (specularColor * specularIntensity); */ float czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float shininess) { vec3 toReflectedLight = reflect(-lightDirectionEC, normalEC); float specular = max(dot(toReflectedLight, toEyeEC), 0.0); // pow has undefined behavior if both parameters <= 0. // Prevent this by making sure shininess is at least czm_epsilon2. return pow(specular, max(shininess, czm_epsilon2)); } `,Fge=`/** * @private */ vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians) { float cosAngle = cos(angleInRadians); float sinAngle = sin(angleInRadians); // time dependent sampling directions vec2 s0 = vec2(1.0/17.0, 0.0); vec2 s1 = vec2(-1.0/29.0, 0.0); vec2 s2 = vec2(1.0/101.0, 1.0/59.0); vec2 s3 = vec2(-1.0/109.0, -1.0/57.0); // rotate sampling direction by specified angle s0 = vec2((cosAngle * s0.x) - (sinAngle * s0.y), (sinAngle * s0.x) + (cosAngle * s0.y)); s1 = vec2((cosAngle * s1.x) - (sinAngle * s1.y), (sinAngle * s1.x) + (cosAngle * s1.y)); s2 = vec2((cosAngle * s2.x) - (sinAngle * s2.y), (sinAngle * s2.x) + (cosAngle * s2.y)); s3 = vec2((cosAngle * s3.x) - (sinAngle * s3.y), (sinAngle * s3.x) + (cosAngle * s3.y)); vec2 uv0 = (uv/103.0) + (time * s0); vec2 uv1 = uv/107.0 + (time * s1) + vec2(0.23); vec2 uv2 = uv/vec2(897.0, 983.0) + (time * s2) + vec2(0.51); vec2 uv3 = uv/vec2(991.0, 877.0) + (time * s3) + vec2(0.71); uv0 = fract(uv0); uv1 = fract(uv1); uv2 = fract(uv2); uv3 = fract(uv3); vec4 noise = (texture(normalMap, uv0)) + (texture(normalMap, uv1)) + (texture(normalMap, uv2)) + (texture(normalMap, uv3)); // average and scale to between -1 and 1 return ((noise / 4.0) - 0.5) * 2.0; } `,Nge=`/** * Converts an HSB color (hue, saturation, brightness) to RGB * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * * @name czm_HSBToRGB * @glslFunction * * @param {vec3} hsb The color in HSB. * * @returns {vec3} The color in RGB. * * @example * vec3 hsb = czm_RGBToHSB(rgb); * hsb.z *= 0.1; * rgb = czm_HSBToRGB(hsb); */ const vec4 K_HSB2RGB = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 czm_HSBToRGB(vec3 hsb) { vec3 p = abs(fract(hsb.xxx + K_HSB2RGB.xyz) * 6.0 - K_HSB2RGB.www); return hsb.z * mix(K_HSB2RGB.xxx, clamp(p - K_HSB2RGB.xxx, 0.0, 1.0), hsb.y); } `,kge=`/** * Converts an HSL color (hue, saturation, lightness) to RGB * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * * @name czm_HSLToRGB * @glslFunction * * @param {vec3} rgb The color in HSL. * * @returns {vec3} The color in RGB. * * @example * vec3 hsl = czm_RGBToHSL(rgb); * hsl.z *= 0.1; * rgb = czm_HSLToRGB(hsl); */ vec3 hueToRGB(float hue) { float r = abs(hue * 6.0 - 3.0) - 1.0; float g = 2.0 - abs(hue * 6.0 - 2.0); float b = 2.0 - abs(hue * 6.0 - 4.0); return clamp(vec3(r, g, b), 0.0, 1.0); } vec3 czm_HSLToRGB(vec3 hsl) { vec3 rgb = hueToRGB(hsl.x); float c = (1.0 - abs(2.0 * hsl.z - 1.0)) * hsl.y; return (rgb - 0.5) * c + hsl.z; } `,Uge=`/** * Adjusts the hue of a color. * * @name czm_hue * @glslFunction * * @param {vec3} rgb The color. * @param {float} adjustment The amount to adjust the hue of the color in radians. * * @returns {float} The color with the hue adjusted. * * @example * vec3 adjustHue = czm_hue(color, czm_pi); // The same as czm_hue(color, -czm_pi) */ vec3 czm_hue(vec3 rgb, float adjustment) { const mat3 toYIQ = mat3(0.299, 0.587, 0.114, 0.595716, -0.274453, -0.321263, 0.211456, -0.522591, 0.311135); const mat3 toRGB = mat3(1.0, 0.9563, 0.6210, 1.0, -0.2721, -0.6474, 1.0, -1.107, 1.7046); vec3 yiq = toYIQ * rgb; float hue = atan(yiq.z, yiq.y) + adjustment; float chroma = sqrt(yiq.z * yiq.z + yiq.y * yiq.y); vec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue)); return toRGB * color; } `,Oge=`/** * Converts a color in linear space to RGB space. * * @name czm_inverseGamma * @glslFunction * * @param {vec3} color The color in linear space. * @returns {vec3} The color in RGB space. */ vec3 czm_inverseGamma(vec3 color) { return pow(color, vec3(1.0 / czm_gamma)); } `,Gge=`/** * Determines if a time interval is empty. * * @name czm_isEmpty * @glslFunction * * @param {czm_raySegment} interval The interval to test. * * @returns {bool} true if the time interval is empty; otherwise, false. * * @example * bool b0 = czm_isEmpty(czm_emptyRaySegment); // true * bool b1 = czm_isEmpty(czm_raySegment(0.0, 1.0)); // false * bool b2 = czm_isEmpty(czm_raySegment(1.0, 1.0)); // false, contains 1.0. */ bool czm_isEmpty(czm_raySegment interval) { return (interval.stop < 0.0); } `,Hge=`/** * Determines if a time interval is empty. * * @name czm_isFull * @glslFunction * * @param {czm_raySegment} interval The interval to test. * * @returns {bool} true if the time interval is empty; otherwise, false. * * @example * bool b0 = czm_isEmpty(czm_emptyRaySegment); // true * bool b1 = czm_isEmpty(czm_raySegment(0.0, 1.0)); // false * bool b2 = czm_isEmpty(czm_raySegment(1.0, 1.0)); // false, contains 1.0. */ bool czm_isFull(czm_raySegment interval) { return (interval.start == 0.0 && interval.stop == czm_infinity); } `,Vge=`/** * Computes the fraction of a Web Wercator rectangle at which a given geodetic latitude is located. * * @name czm_latitudeToWebMercatorFraction * @glslFunction * * @param {float} latitude The geodetic latitude, in radians. * @param {float} southMercatorY The Web Mercator coordinate of the southern boundary of the rectangle. * @param {float} oneOverMercatorHeight The total height of the rectangle in Web Mercator coordinates. * * @returns {float} The fraction of the rectangle at which the latitude occurs. If the latitude is the southern * boundary of the rectangle, the return value will be zero. If it is the northern boundary, the return * value will be 1.0. Latitudes in between are mapped according to the Web Mercator projection. */ float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, float oneOverMercatorHeight) { float sinLatitude = sin(latitude); float mercatorY = 0.5 * log((1.0 + sinLatitude) / (1.0 - sinLatitude)); return (mercatorY - southMercatorY) * oneOverMercatorHeight; } `,zge=`/** * Converts a linear RGB color to an sRGB color. * * @param {vec3|vec4} linearIn The color in linear color space. * @returns {vec3|vec4} The color in sRGB color space. The vector type matches the input. */ vec3 czm_linearToSrgb(vec3 linearIn) { return pow(linearIn, vec3(1.0/2.2)); } vec4 czm_linearToSrgb(vec4 linearIn) { vec3 srgbOut = pow(linearIn.rgb, vec3(1.0/2.2)); return vec4(srgbOut, linearIn.a); } `,Yge=`/** * Computes distance from an point in 2D to a line in 2D. * * @name czm_lineDistance * @glslFunction * * param {vec2} point1 A point along the line. * param {vec2} point2 A point along the line. * param {vec2} point A point that may or may not be on the line. * returns {float} The distance from the point to the line. */ float czm_lineDistance(vec2 point1, vec2 point2, vec2 point) { return abs((point2.y - point1.y) * point.x - (point2.x - point1.x) * point.y + point2.x * point1.y - point2.y * point1.x) / distance(point2, point1); } `,Jge=`/** * Computes the luminance of a color. * * @name czm_luminance * @glslFunction * * @param {vec3} rgb The color. * * @returns {float} The luminance. * * @example * float light = czm_luminance(vec3(0.0)); // 0.0 * float dark = czm_luminance(vec3(1.0)); // ~1.0 */ float czm_luminance(vec3 rgb) { // Algorithm from Chapter 10 of Graphics Shaders. const vec3 W = vec3(0.2125, 0.7154, 0.0721); return dot(rgb, W); } `,Kge=`/** * Computes the size of a pixel in meters at a distance from the eye. *

* Use this version when passing in a custom pixel ratio. For example, passing in 1.0 will return meters per native device pixel. *

* @name czm_metersPerPixel * @glslFunction * * @param {vec3} positionEC The position to get the meters per pixel in eye coordinates. * @param {float} pixelRatio The scaling factor from pixel space to coordinate space * * @returns {float} The meters per pixel at positionEC. */ float czm_metersPerPixel(vec4 positionEC, float pixelRatio) { float width = czm_viewport.z; float height = czm_viewport.w; float pixelWidth; float pixelHeight; float top = czm_frustumPlanes.x; float bottom = czm_frustumPlanes.y; float left = czm_frustumPlanes.z; float right = czm_frustumPlanes.w; if (czm_sceneMode == czm_sceneMode2D || czm_orthographicIn3D == 1.0) { float frustumWidth = right - left; float frustumHeight = top - bottom; pixelWidth = frustumWidth / width; pixelHeight = frustumHeight / height; } else { float distanceToPixel = -positionEC.z; float inverseNear = 1.0 / czm_currentFrustum.x; float tanTheta = top * inverseNear; pixelHeight = 2.0 * distanceToPixel * tanTheta / height; tanTheta = right * inverseNear; pixelWidth = 2.0 * distanceToPixel * tanTheta / width; } return max(pixelWidth, pixelHeight) * pixelRatio; } /** * Computes the size of a pixel in meters at a distance from the eye. *

* Use this version when scaling by pixel ratio. *

* @name czm_metersPerPixel * @glslFunction * * @param {vec3} positionEC The position to get the meters per pixel in eye coordinates. * * @returns {float} The meters per pixel at positionEC. */ float czm_metersPerPixel(vec4 positionEC) { return czm_metersPerPixel(positionEC, czm_pixelRatio); } `,Wge=`/** * Transforms a position from model to window coordinates. The transformation * from model to clip coordinates is done using {@link czm_modelViewProjection}. * The transform from normalized device coordinates to window coordinates is * done using {@link czm_viewportTransformation}, which assumes a depth range * of near = 0 and far = 1. *

* This transform is useful when there is a need to manipulate window coordinates * in a vertex shader as done by {@link BillboardCollection}. *

* This function should not be confused with {@link czm_viewportOrthographic}, * which is an orthographic projection matrix that transforms from window * coordinates to clip coordinates. * * @name czm_modelToWindowCoordinates * @glslFunction * * @param {vec4} position The position in model coordinates to transform. * * @returns {vec4} The transformed position in window coordinates. * * @see czm_eyeToWindowCoordinates * @see czm_modelViewProjection * @see czm_viewportTransformation * @see czm_viewportOrthographic * @see BillboardCollection * * @example * vec4 positionWC = czm_modelToWindowCoordinates(positionMC); */ vec4 czm_modelToWindowCoordinates(vec4 position) { vec4 q = czm_modelViewProjection * position; // clip coordinates q.xyz /= q.w; // normalized device coordinates q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } `,qge=`/** * DOC_TBA * * @name czm_multiplyWithColorBalance * @glslFunction */ vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right) { // Algorithm from Chapter 10 of Graphics Shaders. const vec3 W = vec3(0.2125, 0.7154, 0.0721); vec3 target = left * right; float leftLuminance = dot(left, W); float rightLuminance = dot(right, W); float targetLuminance = dot(target, W); return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target; } `,jge=`/** * Computes a value that scales with distance. The scaling is clamped at the near and * far distances, and does not extrapolate. This function works with the * {@link NearFarScalar} JavaScript class. * * @name czm_nearFarScalar * @glslFunction * * @param {vec4} nearFarScalar A vector with 4 components: Near distance (x), Near value (y), Far distance (z), Far value (w). * @param {float} cameraDistSq The square of the current distance from the camera. * * @returns {float} The value at this distance. */ float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq) { float valueAtMin = nearFarScalar.y; float valueAtMax = nearFarScalar.w; float nearDistanceSq = nearFarScalar.x * nearFarScalar.x; float farDistanceSq = nearFarScalar.z * nearFarScalar.z; float t = (cameraDistSq - nearDistanceSq) / (farDistanceSq - nearDistanceSq); t = pow(clamp(t, 0.0, 1.0), 0.2); return mix(valueAtMin, valueAtMax, t); } `,Xge=` /** * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ * * @name czm_octDecode * @param {vec2} encoded The oct-encoded, unit-length vector * @param {float} range The maximum value of the SNORM range. The encoded vector is stored in log2(rangeMax+1) bits. * @returns {vec3} The decoded and normalized vector */ vec3 czm_octDecode(vec2 encoded, float range) { if (encoded.x == 0.0 && encoded.y == 0.0) { return vec3(0.0, 0.0, 0.0); } encoded = encoded / range * 2.0 - 1.0; vec3 v = vec3(encoded.x, encoded.y, 1.0 - abs(encoded.x) - abs(encoded.y)); if (v.z < 0.0) { v.xy = (1.0 - abs(v.yx)) * czm_signNotZero(v.xy); } return normalize(v); } /** * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ * * @name czm_octDecode * @param {vec2} encoded The oct-encoded, unit-length vector * @returns {vec3} The decoded and normalized vector */ vec3 czm_octDecode(vec2 encoded) { return czm_octDecode(encoded, 255.0); } /** * Decodes a unit-length vector in 'oct' encoding packed into a floating-point number to a normalized 3-component Cartesian vector. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ * * @name czm_octDecode * @param {float} encoded The oct-encoded, unit-length vector * @returns {vec3} The decoded and normalized vector */ vec3 czm_octDecode(float encoded) { float temp = encoded / 256.0; float x = floor(temp); float y = (temp - x) * 256.0; return czm_octDecode(vec2(x, y)); } /** * Decodes three unit-length vectors in 'oct' encoding packed into two floating-point numbers to normalized 3-component Cartesian vectors. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ * * @name czm_octDecode * @param {vec2} encoded The packed oct-encoded, unit-length vectors. * @param {vec3} vector1 One decoded and normalized vector. * @param {vec3} vector2 One decoded and normalized vector. * @param {vec3} vector3 One decoded and normalized vector. */ void czm_octDecode(vec2 encoded, out vec3 vector1, out vec3 vector2, out vec3 vector3) { float temp = encoded.x / 65536.0; float x = floor(temp); float encodedFloat1 = (temp - x) * 65536.0; temp = encoded.y / 65536.0; float y = floor(temp); float encodedFloat2 = (temp - y) * 65536.0; vector1 = czm_octDecode(encodedFloat1); vector2 = czm_octDecode(encodedFloat2); vector3 = czm_octDecode(vec2(x, y)); } `,Zge=`/** * Packs a depth value into a vec3 that can be represented by unsigned bytes. * * @name czm_packDepth * @glslFunction * * @param {float} depth The floating-point depth. * @returns {vec3} The packed depth. */ vec4 czm_packDepth(float depth) { // See Aras Pranckevi\u010Dius' post Encoding Floats to RGBA // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/ vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * depth; enc = fract(enc); enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0); return enc; } `,$ge=`vec3 lambertianDiffuse(vec3 diffuseColor) { return diffuseColor / czm_pi; } vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) { return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0); } float smithVisibilityG1(float NdotV, float roughness) { // this is the k value for direct lighting. // for image based lighting it will be roughness^2 / 2 float k = (roughness + 1.0) * (roughness + 1.0) / 8.0; return NdotV / (NdotV * (1.0 - k) + k); } float smithVisibilityGGX(float roughness, float NdotL, float NdotV) { return ( smithVisibilityG1(NdotL, roughness) * smithVisibilityG1(NdotV, roughness) ); } float GGX(float roughness, float NdotH) { float roughnessSquared = roughness * roughness; float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0; return roughnessSquared / (czm_pi * f * f); } /** * Compute the diffuse and specular contributions using physically based * rendering. This function only handles direct lighting. *

* This function only handles the lighting calculations. Metallic/roughness * and specular/glossy must be handled separately. See {@czm_pbrMetallicRoughnessMaterial}, {@czm_pbrSpecularGlossinessMaterial} and {@czm_defaultPbrMaterial} *

* * @name czm_pbrlighting * @glslFunction * * @param {vec3} positionEC The position of the fragment in eye coordinates * @param {vec3} normalEC The surface normal in eye coordinates * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. * @param {vec3} lightColorHdr radiance of the light source. This is a HDR value. * @param {czm_pbrParameters} The computed PBR parameters. * @return {vec3} The computed HDR color * * @example * czm_pbrParameters pbrParameters = czm_pbrMetallicRoughnessMaterial( * baseColor, * metallic, * roughness * ); * vec3 color = czm_pbrlighting( * positionEC, * normalEC, * lightDirectionEC, * lightColorHdr, * pbrParameters); */ vec3 czm_pbrLighting( vec3 positionEC, vec3 normalEC, vec3 lightDirectionEC, vec3 lightColorHdr, czm_pbrParameters pbrParameters ) { vec3 v = -normalize(positionEC); vec3 l = normalize(lightDirectionEC); vec3 h = normalize(v + l); vec3 n = normalEC; float NdotL = clamp(dot(n, l), 0.001, 1.0); float NdotV = abs(dot(n, v)) + 0.001; float NdotH = clamp(dot(n, h), 0.0, 1.0); float LdotH = clamp(dot(l, h), 0.0, 1.0); float VdotH = clamp(dot(v, h), 0.0, 1.0); vec3 f0 = pbrParameters.f0; float reflectance = max(max(f0.r, f0.g), f0.b); vec3 f90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0)); vec3 F = fresnelSchlick2(f0, f90, VdotH); float alpha = pbrParameters.roughness; float G = smithVisibilityGGX(alpha, NdotL, NdotV); float D = GGX(alpha, NdotH); vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV); vec3 diffuseColor = pbrParameters.diffuseColor; // F here represents the specular contribution vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor); // Lo = (diffuse + specular) * Li * NdotL return (diffuseContribution + specularContribution) * NdotL * lightColorHdr; } `,efe=`/** * Compute parameters for physically based rendering using the * metallic/roughness workflow. All inputs are linear; sRGB texture values must * be decoded beforehand * * @name czm_pbrMetallicRoughnessMaterial * @glslFunction * * @param {vec3} baseColor For dielectrics, this is the base color. For metals, this is the f0 value (reflectance at normal incidence) * @param {float} metallic 0.0 indicates dielectric. 1.0 indicates metal. Values in between are allowed (e.g. to model rust or dirt); * @param {float} roughness A value between 0.0 and 1.0 * @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting} */ czm_pbrParameters czm_pbrMetallicRoughnessMaterial( vec3 baseColor, float metallic, float roughness ) { czm_pbrParameters results; // roughness is authored as perceptual roughness // square it to get material roughness roughness = clamp(roughness, 0.0, 1.0); results.roughness = roughness * roughness; // dielectrics use f0 = 0.04, metals use albedo as f0 metallic = clamp(metallic, 0.0, 1.0); const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04); vec3 f0 = mix(REFLECTANCE_DIELECTRIC, baseColor, metallic); results.f0 = f0; // diffuse only applies to dielectrics. results.diffuseColor = baseColor * (1.0 - f0) * (1.0 - metallic); return results; } `,tfe=`/** * Compute parameters for physically based rendering using the * specular/glossy workflow. All inputs are linear; sRGB texture values must * be decoded beforehand * * @name czm_pbrSpecularGlossinessMaterial * @glslFunction * * @param {vec3} diffuse The diffuse color for dielectrics (non-metals) * @param {vec3} specular The reflectance at normal incidence (f0) * @param {float} glossiness A number from 0.0 to 1.0 indicating how smooth the surface is. * @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting} */ czm_pbrParameters czm_pbrSpecularGlossinessMaterial( vec3 diffuse, vec3 specular, float glossiness ) { czm_pbrParameters results; // glossiness is the opposite of roughness, but easier for artists to use. float roughness = 1.0 - glossiness; results.roughness = roughness * roughness; results.diffuseColor = diffuse * (1.0 - max(max(specular.r, specular.g), specular.b)); results.f0 = specular; return results; } `,ife=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material) { return czm_getLambertDiffuse(lightDirectionEC, material.normal); } float czm_private_getSpecularOfMaterial(vec3 lightDirectionEC, vec3 toEyeEC, czm_material material) { return czm_getSpecular(lightDirectionEC, toEyeEC, material.normal, material.shininess); } /** * Computes a color using the Phong lighting model. * * @name czm_phong * @glslFunction * * @param {vec3} toEye A normalized vector from the fragment to the eye in eye coordinates. * @param {czm_material} material The fragment's material. * * @returns {vec4} The computed color. * * @example * vec3 positionToEyeEC = // ... * czm_material material = // ... * vec3 lightDirectionEC = // ... * out_FragColor = czm_phong(normalize(positionToEyeEC), material, lightDirectionEC); * * @see czm_getMaterial */ vec4 czm_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC) { // Diffuse from directional light sources at eye (for top-down) float diffuse = czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 0.0, 1.0), material); if (czm_sceneMode == czm_sceneMode3D) { // (and horizon views in 3D) diffuse += czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 1.0, 0.0), material); } float specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material); // Temporary workaround for adding ambient. vec3 materialDiffuse = material.diffuse * 0.5; vec3 ambient = materialDiffuse; vec3 color = ambient + material.emission; color += materialDiffuse * diffuse * czm_lightColor; color += material.specular * specular * czm_lightColor; return vec4(color, material.alpha); } vec4 czm_private_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC) { float diffuse = czm_private_getLambertDiffuseOfMaterial(lightDirectionEC, material); float specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material); vec3 ambient = vec3(0.0); vec3 color = ambient + material.emission; color += material.diffuse * diffuse * czm_lightColor; color += material.specular * specular * czm_lightColor; return vec4(color, material.alpha); } `,rfe=`/** * Computes distance from a point to a plane. * * @name czm_planeDistance * @glslFunction * * param {vec4} plane A Plane in Hessian Normal Form. See Plane.js * param {vec3} point A point in the same space as the plane. * returns {float} The distance from the point to the plane. */ float czm_planeDistance(vec4 plane, vec3 point) { return (dot(plane.xyz, point) + plane.w); } /** * Computes distance from a point to a plane. * * @name czm_planeDistance * @glslFunction * * param {vec3} planeNormal Normal for a plane in Hessian Normal Form. See Plane.js * param {float} planeDistance Distance for a plane in Hessian Normal form. See Plane.js * param {vec3} point A point in the same space as the plane. * returns {float} The distance from the point to the plane. */ float czm_planeDistance(vec3 planeNormal, float planeDistance, vec3 point) { return (dot(planeNormal, point) + planeDistance); } `,nfe=`/** * Computes the point along a ray at the given time. time can be positive, negative, or zero. * * @name czm_pointAlongRay * @glslFunction * * @param {czm_ray} ray The ray to compute the point along. * @param {float} time The time along the ray. * * @returns {vec3} The point along the ray at the given time. * * @example * czm_ray ray = czm_ray(vec3(0.0), vec3(1.0, 0.0, 0.0)); // origin, direction * vec3 v = czm_pointAlongRay(ray, 2.0); // (2.0, 0.0, 0.0) */ vec3 czm_pointAlongRay(czm_ray ray, float time) { return ray.origin + (time * ray.direction); } `,ofe=`/** * DOC_TBA * * @name czm_rayEllipsoidIntersectionInterval * @glslFunction */ czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, vec3 ellipsoid_center, vec3 ellipsoid_inverseRadii) { // ray and ellipsoid center in eye coordinates. radii in model coordinates. vec3 q = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.origin, 1.0)).xyz; vec3 w = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.direction, 0.0)).xyz; q = q - ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ellipsoid_center, 1.0)).xyz; float q2 = dot(q, q); float qw = dot(q, w); if (q2 > 1.0) // Outside ellipsoid. { if (qw >= 0.0) // Looking outward or tangent (0 intersections). { return czm_emptyRaySegment; } else // qw < 0.0. { float qw2 = qw * qw; float difference = q2 - 1.0; // Positively valued. float w2 = dot(w, w); float product = w2 * difference; if (qw2 < product) // Imaginary roots (0 intersections). { return czm_emptyRaySegment; } else if (qw2 > product) // Distinct roots (2 intersections). { float discriminant = qw * qw - product; float temp = -qw + sqrt(discriminant); // Avoid cancellation. float root0 = temp / w2; float root1 = difference / temp; if (root0 < root1) { czm_raySegment i = czm_raySegment(root0, root1); return i; } else { czm_raySegment i = czm_raySegment(root1, root0); return i; } } else // qw2 == product. Repeated roots (2 intersections). { float root = sqrt(difference / w2); czm_raySegment i = czm_raySegment(root, root); return i; } } } else if (q2 < 1.0) // Inside ellipsoid (2 intersections). { float difference = q2 - 1.0; // Negatively valued. float w2 = dot(w, w); float product = w2 * difference; // Negatively valued. float discriminant = qw * qw - product; float temp = -qw + sqrt(discriminant); // Positively valued. czm_raySegment i = czm_raySegment(0.0, temp / w2); return i; } else // q2 == 1.0. On ellipsoid. { if (qw < 0.0) // Looking inward. { float w2 = dot(w, w); czm_raySegment i = czm_raySegment(0.0, -qw / w2); return i; } else // qw >= 0.0. Looking outward or tangent. { return czm_emptyRaySegment; } } } `,afe=`/** * Compute the intersection interval of a ray with a sphere. * * @name czm_raySphereIntersectionInterval * @glslFunction * * @param {czm_ray} ray The ray. * @param {vec3} center The center of the sphere. * @param {float} radius The radius of the sphere. * @return {czm_raySegment} The intersection interval of the ray with the sphere. */ czm_raySegment czm_raySphereIntersectionInterval(czm_ray ray, vec3 center, float radius) { vec3 o = ray.origin; vec3 d = ray.direction; vec3 oc = o - center; float a = dot(d, d); float b = 2.0 * dot(d, oc); float c = dot(oc, oc) - (radius * radius); float det = (b * b) - (4.0 * a * c); if (det < 0.0) { return czm_emptyRaySegment; } float sqrtDet = sqrt(det); float t0 = (-b - sqrtDet) / (2.0 * a); float t1 = (-b + sqrtDet) / (2.0 * a); czm_raySegment result = czm_raySegment(t0, t1); return result; } `,sfe=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords) { return czm_reverseLogDepth(texture(depthTexture, texCoords).r); } `,lfe=`/** * Reads a value previously transformed with {@link czm_writeNonPerspective} * by dividing it by \`w\`, the value used in the perspective divide. * This function is intended to be called in a fragment shader to access a * \`varying\` that should not be subject to perspective interpolation. * For example, screen-space texture coordinates. The value should have been * previously written in the vertex shader with a call to * {@link czm_writeNonPerspective}. * * @name czm_readNonPerspective * @glslFunction * * @param {float|vec2|vec3|vec4} value The non-perspective value to be read. * @param {float} oneOverW One over the perspective divide value, \`w\`. Usually this is simply \`gl_FragCoord.w\`. * @returns {float|vec2|vec3|vec4} The usable value. */ float czm_readNonPerspective(float value, float oneOverW) { return value * oneOverW; } vec2 czm_readNonPerspective(vec2 value, float oneOverW) { return value * oneOverW; } vec3 czm_readNonPerspective(vec3 value, float oneOverW) { return value * oneOverW; } vec4 czm_readNonPerspective(vec4 value, float oneOverW) { return value * oneOverW; } `,Afe=`float czm_reverseLogDepth(float logZ) { #ifdef LOG_DEPTH float near = czm_currentFrustum.x; float far = czm_currentFrustum.y; float log2Depth = logZ * czm_log2FarDepthFromNearPlusOne; float depthFromNear = pow(2.0, log2Depth) - 1.0; return far * (1.0 - near / (depthFromNear + near)) / (far - near); #endif return logZ; } `,ufe=`/** * Converts an RGB color to HSB (hue, saturation, brightness) * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * * @name czm_RGBToHSB * @glslFunction * * @param {vec3} rgb The color in RGB. * * @returns {vec3} The color in HSB. * * @example * vec3 hsb = czm_RGBToHSB(rgb); * hsb.z *= 0.1; * rgb = czm_HSBToRGB(hsb); */ const vec4 K_RGB2HSB = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec3 czm_RGBToHSB(vec3 rgb) { vec4 p = mix(vec4(rgb.bg, K_RGB2HSB.wz), vec4(rgb.gb, K_RGB2HSB.xy), step(rgb.b, rgb.g)); vec4 q = mix(vec4(p.xyw, rgb.r), vec4(rgb.r, p.yzx), step(p.x, rgb.r)); float d = q.x - min(q.w, q.y); return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + czm_epsilon7)), d / (q.x + czm_epsilon7), q.x); } `,cfe=`/** * Converts an RGB color to HSL (hue, saturation, lightness) * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * * @name czm_RGBToHSL * @glslFunction * * @param {vec3} rgb The color in RGB. * * @returns {vec3} The color in HSL. * * @example * vec3 hsl = czm_RGBToHSL(rgb); * hsl.z *= 0.1; * rgb = czm_HSLToRGB(hsl); */ vec3 RGBtoHCV(vec3 rgb) { // Based on work by Sam Hocevar and Emil Persson vec4 p = (rgb.g < rgb.b) ? vec4(rgb.bg, -1.0, 2.0 / 3.0) : vec4(rgb.gb, 0.0, -1.0 / 3.0); vec4 q = (rgb.r < p.x) ? vec4(p.xyw, rgb.r) : vec4(rgb.r, p.yzx); float c = q.x - min(q.w, q.y); float h = abs((q.w - q.y) / (6.0 * c + czm_epsilon7) + q.z); return vec3(h, c, q.x); } vec3 czm_RGBToHSL(vec3 rgb) { vec3 hcv = RGBtoHCV(rgb); float l = hcv.z - hcv.y * 0.5; float s = hcv.y / (1.0 - abs(l * 2.0 - 1.0) + czm_epsilon7); return vec3(hcv.x, s, l); } `,hfe=`/** * Converts an RGB color to CIE Yxy. *

The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} *

* * @name czm_RGBToXYZ * @glslFunction * * @param {vec3} rgb The color in RGB. * * @returns {vec3} The color in CIE Yxy. * * @example * vec3 xyz = czm_RGBToXYZ(rgb); * xyz.x = max(xyz.x - luminanceThreshold, 0.0); * rgb = czm_XYZToRGB(xyz); */ vec3 czm_RGBToXYZ(vec3 rgb) { const mat3 RGB2XYZ = mat3(0.4124, 0.2126, 0.0193, 0.3576, 0.7152, 0.1192, 0.1805, 0.0722, 0.9505); vec3 xyz = RGB2XYZ * rgb; vec3 Yxy; Yxy.r = xyz.g; float temp = dot(vec3(1.0), xyz); Yxy.gb = xyz.rg / temp; return Yxy; } `,dfe=`/** * Round a floating point value. This function exists because round() doesn't * exist in GLSL 1.00. * * @param {float|vec2|vec3|vec4} value The value to round * @param {float|vec2|vec3|vec3} The rounded value. The type matches the input. */ float czm_round(float value) { return floor(value + 0.5); } vec2 czm_round(vec2 value) { return floor(value + 0.5); } vec3 czm_round(vec3 value) { return floor(value + 0.5); } vec4 czm_round(vec4 value) { return floor(value + 0.5); } `,gfe=`/** * Samples the 4 neighboring pixels and return the weighted average. * * @private */ vec3 czm_sampleOctahedralProjectionWithFiltering(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod) { direction /= dot(vec3(1.0), abs(direction)); vec2 rev = abs(direction.zx) - vec2(1.0); vec2 neg = vec2(direction.x < 0.0 ? rev.x : -rev.x, direction.z < 0.0 ? rev.y : -rev.y); vec2 uv = direction.y < 0.0 ? neg : direction.xz; vec2 coord = 0.5 * uv + vec2(0.5); vec2 pixel = 1.0 / textureSize; if (lod > 0.0) { // Each subseqeuent mip level is half the size float scale = 1.0 / pow(2.0, lod); float offset = ((textureSize.y + 1.0) / textureSize.x); coord.x *= offset; coord *= scale; coord.x += offset + pixel.x; coord.y += (1.0 - (1.0 / pow(2.0, lod - 1.0))) + pixel.y * (lod - 1.0) * 2.0; } else { coord.x *= (textureSize.y / textureSize.x); } // Do bilinear filtering #ifndef OES_texture_float_linear vec3 color1 = texture(projectedMap, coord + vec2(0.0, pixel.y)).rgb; vec3 color2 = texture(projectedMap, coord + vec2(pixel.x, 0.0)).rgb; vec3 color3 = texture(projectedMap, coord + pixel).rgb; vec3 color4 = texture(projectedMap, coord).rgb; vec2 texturePosition = coord * textureSize; float fu = fract(texturePosition.x); float fv = fract(texturePosition.y); vec3 average1 = mix(color4, color2, fu); vec3 average2 = mix(color1, color3, fu); vec3 color = mix(average1, average2, fv); #else vec3 color = texture(projectedMap, coord).rgb; #endif return color; } /** * Samples from a cube map that has been projected using an octahedral projection from the given direction. * * @name czm_sampleOctahedralProjection * @glslFunction * * @param {sampler2D} projectedMap The texture with the octahedral projected cube map. * @param {vec2} textureSize The width and height dimensions in pixels of the projected map. * @param {vec3} direction The normalized direction used to sample the cube map. * @param {float} lod The level of detail to sample. * @param {float} maxLod The maximum level of detail. * @returns {vec3} The color of the cube map at the direction. */ vec3 czm_sampleOctahedralProjection(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod, float maxLod) { float currentLod = floor(lod + 0.5); float nextLod = min(currentLod + 1.0, maxLod); vec3 colorCurrentLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, currentLod); vec3 colorNextLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, nextLod); return mix(colorNextLod, colorCurrentLod, nextLod - lod); } `,ffe=`/** * Adjusts the saturation of a color. * * @name czm_saturation * @glslFunction * * @param {vec3} rgb The color. * @param {float} adjustment The amount to adjust the saturation of the color. * * @returns {float} The color with the saturation adjusted. * * @example * vec3 greyScale = czm_saturation(color, 0.0); * vec3 doubleSaturation = czm_saturation(color, 2.0); */ vec3 czm_saturation(vec3 rgb, float adjustment) { // Algorithm from Chapter 16 of OpenGL Shading Language const vec3 W = vec3(0.2125, 0.7154, 0.0721); vec3 intensity = vec3(dot(rgb, W)); return mix(intensity, rgb, adjustment); } `,pfe=` float czm_sampleShadowMap(highp samplerCube shadowMap, vec3 d) { return czm_unpackDepth(czm_textureCube(shadowMap, d)); } float czm_sampleShadowMap(highp sampler2D shadowMap, vec2 uv) { #ifdef USE_SHADOW_DEPTH_TEXTURE return texture(shadowMap, uv).r; #else return czm_unpackDepth(texture(shadowMap, uv)); #endif } float czm_shadowDepthCompare(samplerCube shadowMap, vec3 uv, float depth) { return step(depth, czm_sampleShadowMap(shadowMap, uv)); } float czm_shadowDepthCompare(sampler2D shadowMap, vec2 uv, float depth) { return step(depth, czm_sampleShadowMap(shadowMap, uv)); } `,mfe=` float czm_private_shadowVisibility(float visibility, float nDotL, float normalShadingSmooth, float darkness) { #ifdef USE_NORMAL_SHADING #ifdef USE_NORMAL_SHADING_SMOOTH float strength = clamp(nDotL / normalShadingSmooth, 0.0, 1.0); #else float strength = step(0.0, nDotL); #endif visibility *= strength; #endif visibility = max(visibility, darkness); return visibility; } #ifdef USE_CUBE_MAP_SHADOW float czm_shadowVisibility(samplerCube shadowMap, czm_shadowParameters shadowParameters) { float depthBias = shadowParameters.depthBias; float depth = shadowParameters.depth; float nDotL = shadowParameters.nDotL; float normalShadingSmooth = shadowParameters.normalShadingSmooth; float darkness = shadowParameters.darkness; vec3 uvw = shadowParameters.texCoords; depth -= depthBias; float visibility = czm_shadowDepthCompare(shadowMap, uvw, depth); return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); } #else float czm_shadowVisibility(sampler2D shadowMap, czm_shadowParameters shadowParameters) { float depthBias = shadowParameters.depthBias; float depth = shadowParameters.depth; float nDotL = shadowParameters.nDotL; float normalShadingSmooth = shadowParameters.normalShadingSmooth; float darkness = shadowParameters.darkness; vec2 uv = shadowParameters.texCoords; depth -= depthBias; #ifdef USE_SOFT_SHADOWS vec2 texelStepSize = shadowParameters.texelStepSize; float radius = 1.0; float dx0 = -texelStepSize.x * radius; float dy0 = -texelStepSize.y * radius; float dx1 = texelStepSize.x * radius; float dy1 = texelStepSize.y * radius; float visibility = ( czm_shadowDepthCompare(shadowMap, uv, depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy0), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy0), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy0), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, 0.0), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, 0.0), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy1), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy1), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy1), depth) ) * (1.0 / 9.0); #else float visibility = czm_shadowDepthCompare(shadowMap, uv, depth); #endif return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); } #endif `,Cfe=`/** * Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative. This is similar to the GLSL * built-in function sign except that returns 1.0 instead of 0.0 when the input value is 0.0. * * @name czm_signNotZero * @glslFunction * * @param {} value The value for which to determine the sign. * @returns {} 1.0 if the value is positive or zero, -1.0 if the value is negative. */ float czm_signNotZero(float value) { return value >= 0.0 ? 1.0 : -1.0; } vec2 czm_signNotZero(vec2 value) { return vec2(czm_signNotZero(value.x), czm_signNotZero(value.y)); } vec3 czm_signNotZero(vec3 value) { return vec3(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z)); } vec4 czm_signNotZero(vec4 value) { return vec4(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z), czm_signNotZero(value.w)); } `,Efe=`/** * Computes a color from the third order spherical harmonic coefficients and a normalized direction vector. *

* The order of the coefficients is [L00, L1_1, L10, L11, L2_2, L2_1, L20, L21, L22]. *

* * @name czm_sphericalHarmonics * @glslFunction * * @param {vec3} normal The normalized direction. * @param {vec3[9]} coefficients The third order spherical harmonic coefficients. * @returns {vec3} The color at the direction. * * @see https://graphics.stanford.edu/papers/envmap/envmap.pdf */ vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9]) { vec3 L00 = coefficients[0]; vec3 L1_1 = coefficients[1]; vec3 L10 = coefficients[2]; vec3 L11 = coefficients[3]; vec3 L2_2 = coefficients[4]; vec3 L2_1 = coefficients[5]; vec3 L20 = coefficients[6]; vec3 L21 = coefficients[7]; vec3 L22 = coefficients[8]; float x = normal.x; float y = normal.y; float z = normal.z; return L00 + L1_1 * y + L10 * z + L11 * x + L2_2 * (y * x) + L2_1 * (y * z) + L20 * (3.0 * z * z - 1.0) + L21 * (z * x) + L22 * (x * x - y * y); } `,Ife=`/** * Converts an sRGB color to a linear RGB color. * * @param {vec3|vec4} srgbIn The color in sRGB space * @returns {vec3|vec4} The color in linear color space. The vector type matches the input. */ vec3 czm_srgbToLinear(vec3 srgbIn) { return pow(srgbIn, vec3(2.2)); } vec4 czm_srgbToLinear(vec4 srgbIn) { vec3 linearOut = pow(srgbIn.rgb, vec3(2.2)); return vec4(linearOut, srgbIn.a); } `,xfe=`/** * Creates a matrix that transforms vectors from tangent space to eye space. * * @name czm_tangentToEyeSpaceMatrix * @glslFunction * * @param {vec3} normalEC The normal vector in eye coordinates. * @param {vec3} tangentEC The tangent vector in eye coordinates. * @param {vec3} bitangentEC The bitangent vector in eye coordinates. * * @returns {mat3} The matrix that transforms from tangent space to eye space. * * @example * mat3 tangentToEye = czm_tangentToEyeSpaceMatrix(normalEC, tangentEC, bitangentEC); * vec3 normal = tangentToEye * texture(normalMap, st).xyz; */ mat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 bitangentEC) { vec3 normal = normalize(normalEC); vec3 tangent = normalize(tangentEC); vec3 bitangent = normalize(bitangentEC); return mat3(tangent.x , tangent.y , tangent.z, bitangent.x, bitangent.y, bitangent.z, normal.x , normal.y , normal.z); } `,yfe=`/** * A wrapper around the texture (WebGL2) / textureCube (WebGL1) * function to allow for WebGL 1 support. * * @name czm_textureCube * @glslFunction * * @param {samplerCube} sampler The sampler. * @param {vec3} p The coordinates to sample the texture at. */ vec4 czm_textureCube(samplerCube sampler, vec3 p) { #if __VERSION__ == 300 return texture(sampler, p); #else return textureCube(sampler, p); #endif }`,vfe=`/** * Transforms a plane. * * @name czm_transformPlane * @glslFunction * * @param {vec4} plane The plane in Hessian Normal Form. * @param {mat4} transform The inverse-transpose of a transformation matrix. */ vec4 czm_transformPlane(vec4 plane, mat4 transform) { vec4 transformedPlane = transform * plane; // Convert the transformed plane to Hessian Normal Form float normalMagnitude = length(transformedPlane.xyz); return transformedPlane / normalMagnitude; } `,_fe=`/** * Translates a position (or any vec3) that was encoded with {@link EncodedCartesian3}, * and then provided to the shader as separate high and low bits to * be relative to the eye. As shown in the example, the position can then be transformed in eye * or clip coordinates using {@link czm_modelViewRelativeToEye} or {@link czm_modelViewProjectionRelativeToEye}, * respectively. *

* This technique, called GPU RTE, eliminates jittering artifacts when using large coordinates as * described in {@link http://help.agi.com/AGIComponents/html/BlogPrecisionsPrecisions.htm|Precisions, Precisions}. *

* * @name czm_translateRelativeToEye * @glslFunction * * @param {vec3} high The position's high bits. * @param {vec3} low The position's low bits. * @returns {vec3} The position translated to be relative to the camera's position. * * @example * in vec3 positionHigh; * in vec3 positionLow; * * void main() * { * vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); * gl_Position = czm_modelViewProjectionRelativeToEye * p; * } * * @see czm_modelViewRelativeToEye * @see czm_modelViewProjectionRelativeToEye * @see czm_computePosition * @see EncodedCartesian3 */ vec4 czm_translateRelativeToEye(vec3 high, vec3 low) { vec3 highDifference = high - czm_encodedCameraPositionMCHigh; vec3 lowDifference = low - czm_encodedCameraPositionMCLow; return vec4(highDifference + lowDifference, 1.0); } `,Bfe=`/** * @private */ vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirectionEC) { // Diffuse from directional light sources at eye (for top-down and horizon views) float diffuse = czm_getLambertDiffuse(vec3(0.0, 0.0, 1.0), material.normal); if (czm_sceneMode == czm_sceneMode3D) { // (and horizon views in 3D) diffuse += czm_getLambertDiffuse(vec3(0.0, 1.0, 0.0), material.normal); } diffuse = clamp(diffuse, 0.0, 1.0); float specular = czm_getSpecular(lightDirectionEC, toEye, material.normal, material.shininess); // Temporary workaround for adding ambient. vec3 materialDiffuse = material.diffuse * 0.5; vec3 ambient = materialDiffuse; vec3 color = ambient + material.emission; color += materialDiffuse * diffuse * czm_lightColor; color += material.specular * specular * czm_lightColor; return vec4(color, material.alpha); } `,wfe=`/** * Returns the transpose of the matrix. The input matrix can be * a mat2, mat3, or mat4. * * @name czm_transpose * @glslFunction * * @param {} matrix The matrix to transpose. * * @returns {} The transposed matrix. * * @example * // GLSL declarations * mat2 czm_transpose(mat2 matrix); * mat3 czm_transpose(mat3 matrix); * mat4 czm_transpose(mat4 matrix); * * // Transpose a 3x3 rotation matrix to find its inverse. * mat3 eastNorthUpToEye = czm_eastNorthUpToEyeCoordinates( * positionMC, normalEC); * mat3 eyeToEastNorthUp = czm_transpose(eastNorthUpToEye); */ mat2 czm_transpose(mat2 matrix) { return mat2( matrix[0][0], matrix[1][0], matrix[0][1], matrix[1][1]); } mat3 czm_transpose(mat3 matrix) { return mat3( matrix[0][0], matrix[1][0], matrix[2][0], matrix[0][1], matrix[1][1], matrix[2][1], matrix[0][2], matrix[1][2], matrix[2][2]); } mat4 czm_transpose(mat4 matrix) { return mat4( matrix[0][0], matrix[1][0], matrix[2][0], matrix[3][0], matrix[0][1], matrix[1][1], matrix[2][1], matrix[3][1], matrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2], matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]); } `,bfe=`/** * Unpacks a vec4 depth value to a float in [0, 1) range. * * @name czm_unpackDepth * @glslFunction * * @param {vec4} packedDepth The packed depth. * * @returns {float} The floating-point depth in [0, 1) range. */ float czm_unpackDepth(vec4 packedDepth) { // See Aras Pranckevi\u010Dius' post Encoding Floats to RGBA // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/ return dot(packedDepth, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)); } `,Qfe=`/** * Unpack an IEEE 754 single-precision float that is packed as a little-endian unsigned normalized vec4. * * @name czm_unpackFloat * @glslFunction * * @param {vec4} packedFloat The packed float. * * @returns {float} The floating-point depth in arbitrary range. */ float czm_unpackFloat(vec4 packedFloat) { // Convert to [0.0, 255.0] and round to integer packedFloat = floor(packedFloat * 255.0 + 0.5); float sign = 1.0 - step(128.0, packedFloat[3]) * 2.0; float exponent = 2.0 * mod(packedFloat[3], 128.0) + step(128.0, packedFloat[2]) - 127.0; if (exponent == -127.0) { return 0.0; } float mantissa = mod(packedFloat[2], 128.0) * 65536.0 + packedFloat[1] * 256.0 + packedFloat[0] + float(0x800000); float result = sign * exp2(exponent - 23.0) * mantissa; return result; } `,Sfe=`/** * Unpack unsigned integers of 1-4 bytes. in WebGL 1, there is no uint type, * so the return value is an int. *

* There are also precision limitations in WebGL 1. highp int is still limited * to 24 bits. Above the value of 2^24 = 16777216, precision loss may occur. *

* * @param {float|vec2|vec3|vec4} packed The packed value. For vectors, the components are listed in little-endian order. * * @return {int} The unpacked value. */ int czm_unpackUint(float packedValue) { float rounded = czm_round(packedValue * 255.0); return int(rounded); } int czm_unpackUint(vec2 packedValue) { vec2 rounded = czm_round(packedValue * 255.0); return int(dot(rounded, vec2(1.0, 256.0))); } int czm_unpackUint(vec3 packedValue) { vec3 rounded = czm_round(packedValue * 255.0); return int(dot(rounded, vec3(1.0, 256.0, 65536.0))); } int czm_unpackUint(vec4 packedValue) { vec4 rounded = czm_round(packedValue * 255.0); return int(dot(rounded, vec4(1.0, 256.0, 65536.0, 16777216.0))); } `,Dfe=`/** * Transform metadata values following the EXT_structural_metadata spec * by multiplying by scale and adding the offset. Operations are always * performed component-wise, even for matrices. * * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} offset The offset to add * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} scale The scale factor to multiply * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} value The original value. * * @return {float|vec2|vec3|vec4|mat2|mat3|mat4} The transformed value of the same scalar/vector/matrix type as the input. */ float czm_valueTransform(float offset, float scale, float value) { return scale * value + offset; } vec2 czm_valueTransform(vec2 offset, vec2 scale, vec2 value) { return scale * value + offset; } vec3 czm_valueTransform(vec3 offset, vec3 scale, vec3 value) { return scale * value + offset; } vec4 czm_valueTransform(vec4 offset, vec4 scale, vec4 value) { return scale * value + offset; } mat2 czm_valueTransform(mat2 offset, mat2 scale, mat2 value) { return matrixCompMult(scale, value) + offset; } mat3 czm_valueTransform(mat3 offset, mat3 scale, mat3 value) { return matrixCompMult(scale, value) + offset; } mat4 czm_valueTransform(mat4 offset, mat4 scale, mat4 value) { return matrixCompMult(scale, value) + offset; } `,Mfe=`#ifdef LOG_DEPTH // 1.0 at the near plane, increasing linearly from there. out float v_depthFromNearPlusOne; #ifdef SHADOW_MAP out vec3 v_logPositionEC; #endif #endif vec4 czm_updatePositionDepth(vec4 coords) { #if defined(LOG_DEPTH) #ifdef SHADOW_MAP vec3 logPositionEC = (czm_inverseProjection * coords).xyz; v_logPositionEC = logPositionEC; #endif // With the very high far/near ratios used with the logarithmic depth // buffer, floating point rounding errors can cause linear depth values // to end up on the wrong side of the far plane, even for vertices that // are really nowhere near it. Since we always write a correct logarithmic // depth value in the fragment shader anyway, we just need to make sure // such errors don't cause the primitive to be clipped entirely before // we even get to the fragment shader. coords.z = clamp(coords.z / coords.w, -1.0, 1.0) * coords.w; #endif return coords; } /** * Writes the logarithmic depth to gl_Position using the already computed gl_Position. * * @name czm_vertexLogDepth * @glslFunction */ void czm_vertexLogDepth() { #ifdef LOG_DEPTH v_depthFromNearPlusOne = (gl_Position.w - czm_currentFrustum.x) + 1.0; gl_Position = czm_updatePositionDepth(gl_Position); #endif } /** * Writes the logarithmic depth to gl_Position using the provided clip coordinates. *

* An example use case for this function would be moving the vertex in window coordinates * before converting back to clip coordinates. Use the original vertex clip coordinates. *

* @name czm_vertexLogDepth * @glslFunction * * @param {vec4} clipCoords The vertex in clip coordinates. * * @example * czm_vertexLogDepth(czm_projection * vec4(positionEyeCoordinates, 1.0)); */ void czm_vertexLogDepth(vec4 clipCoords) { #ifdef LOG_DEPTH v_depthFromNearPlusOne = (clipCoords.w - czm_currentFrustum.x) + 1.0; czm_updatePositionDepth(clipCoords); #endif } `,Tfe=`vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate) { // Reconstruct NDC coordinates float x = 2.0 * screenCoordinate.x - 1.0; float y = 2.0 * screenCoordinate.y - 1.0; float z = (screenCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2]; vec4 q = vec4(x, y, z, 1.0); // Reverse the perspective division to obtain clip coordinates. q /= screenCoordinate.w; // Reverse the projection transformation to obtain eye coordinates. if (!(czm_inverseProjection == mat4(0.0))) // IE and Edge sometimes do something weird with != between mat4s { q = czm_inverseProjection * q; } else { float top = czm_frustumPlanes.x; float bottom = czm_frustumPlanes.y; float left = czm_frustumPlanes.z; float right = czm_frustumPlanes.w; float near = czm_currentFrustum.x; float far = czm_currentFrustum.y; q.x = (q.x * (right - left) + left + right) * 0.5; q.y = (q.y * (top - bottom) + bottom + top) * 0.5; q.z = (q.z * (near - far) - near - far) * 0.5; q.w = 1.0; } return q; } /** * Transforms a position from window to eye coordinates. * The transform from window to normalized device coordinates is done using components * of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating * the inverse of czm_viewportTransformation. The transformation from * normalized device coordinates to clip coordinates is done using fragmentCoordinate.w, * which is expected to be the scalar used in the perspective divide. The transformation * from clip to eye coordinates is done using {@link czm_inverseProjection}. * * @name czm_windowToEyeCoordinates * @glslFunction * * @param {vec4} fragmentCoordinate The position in window coordinates to transform. * * @returns {vec4} The transformed position in eye coordinates. * * @see czm_modelToWindowCoordinates * @see czm_eyeToWindowCoordinates * @see czm_inverseProjection * @see czm_viewport * @see czm_viewportTransformation * * @example * vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord); */ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate) { vec2 screenCoordXY = (fragmentCoordinate.xy - czm_viewport.xy) / czm_viewport.zw; return czm_screenToEyeCoordinates(vec4(screenCoordXY, fragmentCoordinate.zw)); } vec4 czm_screenToEyeCoordinates(vec2 screenCoordinateXY, float depthOrLogDepth) { // See reverseLogDepth.glsl. This is separate to re-use the pow. #if defined(LOG_DEPTH) || defined(LOG_DEPTH_READ_ONLY) float near = czm_currentFrustum.x; float far = czm_currentFrustum.y; float log2Depth = depthOrLogDepth * czm_log2FarDepthFromNearPlusOne; float depthFromNear = pow(2.0, log2Depth) - 1.0; float depthFromCamera = depthFromNear + near; vec4 screenCoord = vec4(screenCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0); vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord); eyeCoordinate.w = 1.0 / depthFromCamera; // Better precision return eyeCoordinate; #else vec4 screenCoord = vec4(screenCoordinateXY, depthOrLogDepth, 1.0); vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord); #endif return eyeCoordinate; } /** * Transforms a position given as window x/y and a depth or a log depth from window to eye coordinates. * This function produces more accurate results for window positions with log depth than * conventionally unpacking the log depth using czm_reverseLogDepth and using the standard version * of czm_windowToEyeCoordinates. * * @name czm_windowToEyeCoordinates * @glslFunction * * @param {vec2} fragmentCoordinateXY The XY position in window coordinates to transform. * @param {float} depthOrLogDepth A depth or log depth for the fragment. * * @see czm_modelToWindowCoordinates * @see czm_eyeToWindowCoordinates * @see czm_inverseProjection * @see czm_viewport * @see czm_viewportTransformation * * @returns {vec4} The transformed position in eye coordinates. */ vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth) { vec2 screenCoordXY = (fragmentCoordinateXY.xy - czm_viewport.xy) / czm_viewport.zw; return czm_screenToEyeCoordinates(screenCoordXY, depthOrLogDepth); } `,Pfe=`// emulated noperspective #if !defined(LOG_DEPTH) in float v_WindowZ; #endif /** * Emulates GL_DEPTH_CLAMP. Clamps a fragment to the near and far plane * by writing the fragment's depth. See czm_depthClamp for more details. * * @name czm_writeDepthClamp * @glslFunction * * @example * out_FragColor = color; * czm_writeDepthClamp(); * * @see czm_depthClamp */ void czm_writeDepthClamp() { #if (!defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) gl_FragDepth = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0); #endif } `,Rfe=`#ifdef LOG_DEPTH in float v_depthFromNearPlusOne; #ifdef POLYGON_OFFSET uniform vec2 u_polygonOffset; #endif #endif /** * Writes the fragment depth to the logarithmic depth buffer. *

* Use this when the vertex shader does not call {@link czm_vertexlogDepth}, for example, when * ray-casting geometry using a full screen quad. *

* @name czm_writeLogDepth * @glslFunction * * @param {float} depth The depth coordinate, where 1.0 is on the near plane and * depth increases in eye-space units from there * * @example * czm_writeLogDepth((czm_projection * v_positionEyeCoordinates).w + 1.0); */ void czm_writeLogDepth(float depth) { #if (defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) // Discard the vertex if it's not between the near and far planes. // We allow a bit of epsilon on the near plane comparison because a 1.0 // from the vertex shader (indicating the vertex should be _on_ the near // plane) will not necessarily come here as exactly 1.0. if (depth <= 0.9999999 || depth > czm_farDepthFromNearPlusOne) { discard; } #ifdef POLYGON_OFFSET // Polygon offset: m * factor + r * units float factor = u_polygonOffset[0]; float units = u_polygonOffset[1]; #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) // This factor doesn't work in IE 10 if (factor != 0.0) { // m = sqrt(dZdX^2 + dZdY^2); float x = dFdx(depth); float y = dFdy(depth); float m = sqrt(x * x + y * y); // Apply the factor before computing the log depth. depth += m * factor; } #endif #endif gl_FragDepth = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne; #ifdef POLYGON_OFFSET // Apply the units after the log depth. gl_FragDepth += czm_epsilon7 * units; #endif #endif } /** * Writes the fragment depth to the logarithmic depth buffer. *

* Use this when the vertex shader calls {@link czm_vertexlogDepth}. *

* * @name czm_writeLogDepth * @glslFunction */ void czm_writeLogDepth() { #ifdef LOG_DEPTH czm_writeLogDepth(v_depthFromNearPlusOne); #endif } `,Lfe=`/** * Transforms a value for non-perspective interpolation by multiplying * it by w, the value used in the perspective divide. This function is * intended to be called in a vertex shader to compute the value of a * \`varying\` that should not be subject to perspective interpolation. * For example, screen-space texture coordinates. The fragment shader * must call {@link czm_readNonPerspective} to retrieve the final * non-perspective value. * * @name czm_writeNonPerspective * @glslFunction * * @param {float|vec2|vec3|vec4} value The value to be interpolated without accounting for perspective. * @param {float} w The perspective divide value. Usually this is the computed \`gl_Position.w\`. * @returns {float|vec2|vec3|vec4} The transformed value, intended to be stored in a \`varying\` and read in the * fragment shader with {@link czm_readNonPerspective}. */ float czm_writeNonPerspective(float value, float w) { return value * w; } vec2 czm_writeNonPerspective(vec2 value, float w) { return value * w; } vec3 czm_writeNonPerspective(vec3 value, float w) { return value * w; } vec4 czm_writeNonPerspective(vec4 value, float w) { return value * w; } `,Ffe=`/** * Converts a CIE Yxy color to RGB. *

The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} *

* * @name czm_XYZToRGB * @glslFunction * * @param {vec3} Yxy The color in CIE Yxy. * * @returns {vec3} The color in RGB. * * @example * vec3 xyz = czm_RGBToXYZ(rgb); * xyz.x = max(xyz.x - luminanceThreshold, 0.0); * rgb = czm_XYZToRGB(xyz); */ vec3 czm_XYZToRGB(vec3 Yxy) { const mat3 XYZ2RGB = mat3( 3.2405, -0.9693, 0.0556, -1.5371, 1.8760, -0.2040, -0.4985, 0.0416, 1.0572); vec3 xyz; xyz.r = Yxy.r * Yxy.g / Yxy.b; xyz.g = Yxy.r; xyz.b = Yxy.r * (1.0 - Yxy.g - Yxy.b) / Yxy.b; return XYZ2RGB * xyz; } `,BH={czm_degreesPerRadian:gde,czm_depthRange:fde,czm_epsilon1:pde,czm_epsilon2:mde,czm_epsilon3:Cde,czm_epsilon4:Ede,czm_epsilon5:Ide,czm_epsilon6:xde,czm_epsilon7:yde,czm_infinity:vde,czm_oneOverPi:_de,czm_oneOverTwoPi:Bde,czm_passCesium3DTile:wde,czm_passCesium3DTileClassification:bde,czm_passCesium3DTileClassificationIgnoreShow:Qde,czm_passClassification:Sde,czm_passCompute:Dde,czm_passEnvironment:Mde,czm_passGlobe:Tde,czm_passOpaque:Pde,czm_passOverlay:Rde,czm_passTerrainClassification:Lde,czm_passTranslucent:Fde,czm_passVoxels:Nde,czm_pi:kde,czm_piOverFour:Ude,czm_piOverSix:Ode,czm_piOverThree:Gde,czm_piOverTwo:Hde,czm_radiansPerDegree:Vde,czm_sceneMode2D:zde,czm_sceneMode3D:Yde,czm_sceneModeColumbusView:Jde,czm_sceneModeMorphing:Kde,czm_solarRadius:Wde,czm_threePiOver2:qde,czm_twoPi:jde,czm_webMercatorMaxLatitude:Xde,czm_depthRangeStruct:Zde,czm_material:$de,czm_materialInput:ege,czm_modelMaterial:tge,czm_modelVertexOutput:ige,czm_pbrParameters:rge,czm_ray:nge,czm_raySegment:oge,czm_shadowParameters:age,czm_acesTonemapping:sge,czm_alphaWeight:lge,czm_antialias:Age,czm_approximateSphericalCoordinates:uge,czm_backFacing:cge,czm_branchFreeTernary:hge,czm_cascadeColor:dge,czm_cascadeDistance:gge,czm_cascadeMatrix:fge,czm_cascadeWeights:pge,czm_columbusViewMorph:mge,czm_computePosition:Cge,czm_cosineAndSine:Ege,czm_decompressTextureCoordinates:Ige,czm_defaultPbrMaterial:xge,czm_depthClamp:yge,czm_eastNorthUpToEyeCoordinates:vge,czm_ellipsoidContainsPoint:_ge,czm_ellipsoidWgs84TextureCoordinates:Bge,czm_equalsEpsilon:wge,czm_eyeOffset:bge,czm_eyeToWindowCoordinates:Qge,czm_fastApproximateAtan:Sge,czm_fog:Dge,czm_gammaCorrect:Mge,czm_geodeticSurfaceNormal:Tge,czm_getDefaultMaterial:Pge,czm_getLambertDiffuse:Rge,czm_getSpecular:Lge,czm_getWaterNoise:Fge,czm_HSBToRGB:Nge,czm_HSLToRGB:kge,czm_hue:Uge,czm_inverseGamma:Oge,czm_isEmpty:Gge,czm_isFull:Hge,czm_latitudeToWebMercatorFraction:Vge,czm_linearToSrgb:zge,czm_lineDistance:Yge,czm_luminance:Jge,czm_metersPerPixel:Kge,czm_modelToWindowCoordinates:Wge,czm_multiplyWithColorBalance:qge,czm_nearFarScalar:jge,czm_octDecode:Xge,czm_packDepth:Zge,czm_pbrLighting:$ge,czm_pbrMetallicRoughnessMaterial:efe,czm_pbrSpecularGlossinessMaterial:tfe,czm_phong:ife,czm_planeDistance:rfe,czm_pointAlongRay:nfe,czm_rayEllipsoidIntersectionInterval:ofe,czm_raySphereIntersectionInterval:afe,czm_readDepth:sfe,czm_readNonPerspective:lfe,czm_reverseLogDepth:Afe,czm_RGBToHSB:ufe,czm_RGBToHSL:cfe,czm_RGBToXYZ:hfe,czm_round:dfe,czm_sampleOctahedralProjection:gfe,czm_saturation:ffe,czm_shadowDepthCompare:pfe,czm_shadowVisibility:mfe,czm_signNotZero:Cfe,czm_sphericalHarmonics:Efe,czm_srgbToLinear:Ife,czm_tangentToEyeSpaceMatrix:xfe,czm_textureCube:yfe,czm_transformPlane:vfe,czm_translateRelativeToEye:_fe,czm_translucentPhong:Bfe,czm_transpose:wfe,czm_unpackDepth:bfe,czm_unpackFloat:Qfe,czm_unpackUint:Sfe,czm_valueTransform:Dfe,czm_vertexLogDepth:Mfe,czm_windowToEyeCoordinates:Tfe,czm_writeDepthClamp:Pfe,czm_writeLogDepth:Rfe,czm_writeNonPerspective:Lfe,czm_XYZToRGB:Ffe};function Bpt(o,A){let f=o;return f=f.replaceAll("version 300 es",""),f=f.replaceAll(/(texture\()/g,"texture2D("),A?(f=f.replaceAll(/(in)\s+(vec\d|mat\d|float)/g,"varying $2"),/out_FragData_(\d+)/.test(f)&&(f=`#extension GL_EXT_draw_buffers : enable ${f}`,f=f.replaceAll(/layout\s+\(location\s*=\s*\d+\)\s*out\s+vec4\s+out_FragData_\d+;/g,""),f=f.replaceAll(/out_FragData_(\d+)/g,"gl_FragData[$1]")),f=f.replaceAll(/layout\s+\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,""),f=f.replaceAll(/out_FragColor/g,"gl_FragColor"),f=f.replaceAll(/out_FragColor\[(\d+)\]/g,"gl_FragColor[$1]"),/gl_FragDepth/.test(f)&&(f=`#extension GL_EXT_frag_depth : enable ${f}`,f=f.replaceAll(/gl_FragDepth/g,"gl_FragDepthEXT")),f=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif ${f}`):(f=f.replaceAll(/(in)\s+(vec\d|mat\d|float)/g,"attribute $2"),f=f.replaceAll(/(out)\s+(vec\d|mat\d|float)\s+([\w]+);/g,"varying $2 $3;")),f=`#version 100 ${f}`,f}var Nfe=Bpt;function r4e(o){return o=o.replace(/\/\/.*/g,""),o.replace(/\/\*\*[\s\S]*?\*\//gm,function(A){let f=A.match(/\n/gm).length,m="";for(let C=0;C0;){let C=o.pop();f.push(C),C.requiredBy.length===0&&A.push(C)}for(;A.length>0;){let C=A.shift();o.push(C);for(let E=0;E=0;--C)m=`${m+A[C].glslSource} `;return m.replace(f.glslSource,"")}function a4e(o,A,f){let m,C,E="",I=o.sources;if(k(I))for(m=0,C=I.length;m0&&(m.glVertexAttribDivisor(v,this.instanceDivisor),m._vertexAttribDivisors[v]=this.instanceDivisor,m._previousDrawInstanced=!0)},x.disableVertexAttribArray=function(y){y.disableVertexAttribArray(this.index),this.instanceDivisor>0&&m.glVertexAttribDivisor(f,0)};else{switch(x.componentsPerAttribute){case 1:x.vertexAttrib=function(y){y.vertexAttrib1fv(this.index,this.value)};break;case 2:x.vertexAttrib=function(y){y.vertexAttrib2fv(this.index,this.value)};break;case 3:x.vertexAttrib=function(y){y.vertexAttrib3fv(this.index,this.value)};break;case 4:x.vertexAttrib=function(y){y.vertexAttrib4fv(this.index,this.value)};break}x.disableVertexAttribArray=function(y){}}o.push(x)}function A4e(o,A,f){for(let m=0;m0&&(y=!0),k(I[E].value)&&(v=!0);let Q;A.vertexArrayObject&&(Q=A.glCreateVertexArray(),A.glBindVertexArray(Q),A4e(f,I,C),A.glBindVertexArray(null)),this._numberOfVertices=x,this._hasInstancedAttributes=y,this._hasConstantAttributes=v,this._context=A,this._gl=f,this._vao=Q,this._attributes=I,this._indexBuffer=C}function yDe(o){return o.values.length/o.componentsPerAttribute}function Hpt(o){return Mt.getSizeInBytes(o.componentDatatype)*o.componentsPerAttribute}function Vpt(o){let A,f,m,C=[];for(f in o)o.hasOwnProperty(f)&&k(o[f])&&k(o[f].values)&&(C.push(f),o[f].componentDatatype===Mt.DOUBLE&&(o[f].componentDatatype=Mt.FLOAT,o[f].values=Mt.createTypedArray(Mt.FLOAT,o[f].values)));let E,I=C.length;if(I>0)for(E=yDe(o[C[0]]),A=1;A0){let v=Mt.getSizeInBytes(o[C[0]].componentDatatype),w=x%v;w!==0&&(x+=v-w);let Q=E*x,M=new ArrayBuffer(Q),B={};for(A=0;A=De.SIXTY_FOUR_KILOBYTES&&A.elementIndexUint?M=jn.createIndexBuffer({context:A,typedArray:new Uint32Array(B),usage:m,indexDatatype:fn.UNSIGNED_INT}):M=jn.createIndexBuffer({context:A,typedArray:new Uint16Array(B),usage:m,indexDatatype:fn.UNSIGNED_SHORT})),new ES({context:A,attributes:w,indexBuffer:M})};Object.defineProperties(ES.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}});ES.prototype.getAttribute=function(o){return this._attributes[o]};function zpt(o){let A=o._context,f=o._hasInstancedAttributes;if(!f&&!A._previousDrawInstanced)return;A._previousDrawInstanced=f;let m=A._vertexAttribDivisors,C=o._attributes,E=On.maximumVertexAttributes,I;if(f){let x=C.length;for(I=0;I0&&(A.glVertexAttribDivisor(I,0),m[I]=0)}function Ypt(o,A){let f=o._attributes,m=f.length;for(let C=0;C0?Mt.getSizeInBytes(o[0].componentDatatype):0,C=m>0?A%m:0,E=C===0?0:m-C;return A+=E,A};Ef._createArrayViews=function(o,A){let f=[],m=0,C=o.length;for(let E=0;E0){let f=new ArrayBuffer(A*o.vertexSizeInBytes);if(k(o.arrayBuffer)){let E=new Uint8Array(f),I=new Uint8Array(o.arrayBuffer),x=I.length;for(let y=0;y0){A.needsCommit=!1;let f=A.vertexBuffer,m=o._size*A.vertexSizeInBytes,C=k(f);if(!C||f.sizeInBytes0){let m=o.vertexSizeInBytes*A,C=o.vertexSizeInBytes*f;o.vertexBuffer.copyFromArrayView(new Uint8Array(o.arrayBuffer,m,C),m)}}Ef.prototype.endSubCommits=function(){let o=this._allBuffers;for(let A=0,f=o.length;A 0.0) { // Don't get the outline edge exceed the SDF_EDGE float outlineEdge = clamp(SDF_EDGE - outlineWidth, 0.0, SDF_EDGE); float outlineFactor = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); vec4 sdfColor = mix(outlineColor, v_color, outlineFactor); float alpha = smoothstep(outlineEdge - smoothing, outlineEdge + smoothing, distance); return vec4(sdfColor.rgb, sdfColor.a * alpha); } else { float alpha = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); return vec4(v_color.rgb, v_color.a * alpha); } } #endif void main() { vec4 color = texture(u_atlas, v_textureCoordinates); #ifdef SDF float outlineWidth = v_outlineWidth; vec4 outlineColor = v_outlineColor; // Get the current distance float distance = getDistance(v_textureCoordinates); #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) float smoothing = fwidth(distance); // Get an offset that is approximately half the distance to the neighbor pixels // 0.354 is approximately half of 1/sqrt(2) vec2 sampleOffset = 0.354 * vec2(dFdx(v_textureCoordinates) + dFdy(v_textureCoordinates)); // Sample the center point vec4 center = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); // Sample the 4 neighbors vec4 color1 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); vec4 color2 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); vec4 color3 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); vec4 color4 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); // Equally weight the center sample and the 4 neighboring samples color = (center + color1 + color2 + color3 + color4)/5.0; #else // If no derivatives available (IE 10?), just do a single sample float smoothing = 1.0/32.0; color = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); #endif color = czm_gammaCorrect(color); #else color = czm_gammaCorrect(color); color *= czm_gammaCorrect(v_color); #endif // Fully transparent parts of the billboard are not pickable. #if !defined(OPAQUE) && !defined(TRANSLUCENT) if (color.a < 0.005) // matches 0/255 and 1/255 { discard; } #else // The billboard is rendered twice. The opaque pass discards translucent fragments // and the translucent pass discards opaque fragments. #ifdef OPAQUE if (color.a < 0.995) // matches < 254/255 { discard; } #else if (color.a >= 0.995) // matches 254/255 and 255/255 { discard; } #endif #endif #ifdef VECTOR_TILE color *= u_highlightColor; #endif out_FragColor = color; #ifdef LOG_DEPTH czm_writeLogDepth(); #endif #ifdef FRAGMENT_DEPTH_CHECK float temp = v_compressed.y; temp = temp * SHIFT_RIGHT1; float temp2 = (temp - floor(temp)) * SHIFT_LEFT1; bool enableDepthTest = temp2 != 0.0; bool applyTranslate = floor(temp) != 0.0; if (enableDepthTest) { temp = v_compressed.z; temp = temp * SHIFT_RIGHT12; vec2 dimensions; dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; dimensions.x = floor(temp); temp = v_compressed.w; temp = temp * SHIFT_RIGHT12; vec2 imageSize; imageSize.y = (temp - floor(temp)) * SHIFT_LEFT12; imageSize.x = floor(temp); vec2 adjustedST = v_textureCoordinates - v_textureCoordinateBounds.xy; adjustedST = adjustedST / vec2(v_textureCoordinateBounds.z - v_textureCoordinateBounds.x, v_textureCoordinateBounds.w - v_textureCoordinateBounds.y); float epsilonEyeDepth = v_compressed.x + czm_epsilon1; float globeDepth1 = getGlobeDepth(adjustedST, v_originTextureCoordinateAndTranslate.xy, applyTranslate, dimensions, imageSize); // negative values go into the screen if (globeDepth1 != 0.0 && globeDepth1 > epsilonEyeDepth) { float globeDepth2 = getGlobeDepth(adjustedST, vec2(0.0, 1.0), applyTranslate, dimensions, imageSize); // top left corner if (globeDepth2 != 0.0 && globeDepth2 > epsilonEyeDepth) { float globeDepth3 = getGlobeDepth(adjustedST, vec2(1.0, 1.0), applyTranslate, dimensions, imageSize); // top right corner if (globeDepth3 != 0.0 && globeDepth3 > epsilonEyeDepth) { discard; } } } } #endif } `,Gfe=`#ifdef INSTANCED in vec2 direction; #endif in vec4 positionHighAndScale; in vec4 positionLowAndRotation; in vec4 compressedAttribute0; // pixel offset, translate, horizontal origin, vertical origin, show, direction, texture coordinates (texture offset) in vec4 compressedAttribute1; // aligned axis, translucency by distance, image width in vec4 compressedAttribute2; // label horizontal origin, image height, color, pick color, size in meters, valid aligned axis, 13 bits free in vec4 eyeOffset; // eye offset in meters, 4 bytes free (texture range) in vec4 scaleByDistance; // near, nearScale, far, farScale in vec4 pixelOffsetScaleByDistance; // near, nearScale, far, farScale in vec4 compressedAttribute3; // distance display condition near, far, disableDepthTestDistance, dimensions in vec2 sdf; // sdf outline color (rgb) and width (w) #if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) in vec4 textureCoordinateBoundsOrLabelTranslate; // the min and max x and y values for the texture coordinates #endif #ifdef VECTOR_TILE in float a_batchId; #endif out vec2 v_textureCoordinates; #ifdef FRAGMENT_DEPTH_CHECK out vec4 v_textureCoordinateBounds; out vec4 v_originTextureCoordinateAndTranslate; out vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize out mat2 v_rotationMatrix; #endif out vec4 v_pickColor; out vec4 v_color; #ifdef SDF out vec4 v_outlineColor; out float v_outlineWidth; #endif const float UPPER_BOUND = 32768.0; const float SHIFT_LEFT16 = 65536.0; const float SHIFT_LEFT12 = 4096.0; const float SHIFT_LEFT8 = 256.0; const float SHIFT_LEFT7 = 128.0; const float SHIFT_LEFT5 = 32.0; const float SHIFT_LEFT3 = 8.0; const float SHIFT_LEFT2 = 4.0; const float SHIFT_LEFT1 = 2.0; const float SHIFT_RIGHT12 = 1.0 / 4096.0; const float SHIFT_RIGHT8 = 1.0 / 256.0; const float SHIFT_RIGHT7 = 1.0 / 128.0; const float SHIFT_RIGHT5 = 1.0 / 32.0; const float SHIFT_RIGHT3 = 1.0 / 8.0; const float SHIFT_RIGHT2 = 1.0 / 4.0; const float SHIFT_RIGHT1 = 1.0 / 2.0; vec4 addScreenSpaceOffset(vec4 positionEC, vec2 imageSize, float scale, vec2 direction, vec2 origin, vec2 translate, vec2 pixelOffset, vec3 alignedAxis, bool validAlignedAxis, float rotation, bool sizeInMeters, out mat2 rotationMatrix, out float mpp) { // Note the halfSize cannot be computed in JavaScript because it is sent via // compressed vertex attributes that coerce it to an integer. vec2 halfSize = imageSize * scale * 0.5; halfSize *= ((direction * 2.0) - 1.0); vec2 originTranslate = origin * abs(halfSize); #if defined(ROTATION) || defined(ALIGNED_AXIS) if (validAlignedAxis || rotation != 0.0) { float angle = rotation; if (validAlignedAxis) { vec4 projectedAlignedAxis = czm_modelView3D * vec4(alignedAxis, 0.0); angle += sign(-projectedAlignedAxis.x) * acos(sign(projectedAlignedAxis.y) * (projectedAlignedAxis.y * projectedAlignedAxis.y) / (projectedAlignedAxis.x * projectedAlignedAxis.x + projectedAlignedAxis.y * projectedAlignedAxis.y)); } float cosTheta = cos(angle); float sinTheta = sin(angle); rotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta); halfSize = rotationMatrix * halfSize; } else { rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); } #endif mpp = czm_metersPerPixel(positionEC); positionEC.xy += (originTranslate + halfSize) * czm_branchFreeTernary(sizeInMeters, 1.0, mpp); positionEC.xy += (translate + pixelOffset) * mpp; return positionEC; } #ifdef VERTEX_DEPTH_CHECK float getGlobeDepth(vec4 positionEC) { vec4 posWC = czm_eyeToWindowCoordinates(positionEC); float globeDepth = czm_unpackDepth(texture(czm_globeDepthTexture, posWC.xy / czm_viewport.zw)); if (globeDepth == 0.0) { return 0.0; // not on the globe } vec4 eyeCoordinate = czm_windowToEyeCoordinates(posWC.xy, globeDepth); return eyeCoordinate.z / eyeCoordinate.w; } #endif void main() { // Modifying this shader may also require modifications to Billboard._computeScreenSpacePosition // unpack attributes vec3 positionHigh = positionHighAndScale.xyz; vec3 positionLow = positionLowAndRotation.xyz; float scale = positionHighAndScale.w; #if defined(ROTATION) || defined(ALIGNED_AXIS) float rotation = positionLowAndRotation.w; #else float rotation = 0.0; #endif float compressed = compressedAttribute0.x; vec2 pixelOffset; pixelOffset.x = floor(compressed * SHIFT_RIGHT7); compressed -= pixelOffset.x * SHIFT_LEFT7; pixelOffset.x -= UPPER_BOUND; vec2 origin; origin.x = floor(compressed * SHIFT_RIGHT5); compressed -= origin.x * SHIFT_LEFT5; origin.y = floor(compressed * SHIFT_RIGHT3); compressed -= origin.y * SHIFT_LEFT3; #ifdef FRAGMENT_DEPTH_CHECK vec2 depthOrigin = origin.xy; #endif origin -= vec2(1.0); float show = floor(compressed * SHIFT_RIGHT2); compressed -= show * SHIFT_LEFT2; #ifdef INSTANCED vec2 textureCoordinatesBottomLeft = czm_decompressTextureCoordinates(compressedAttribute0.w); vec2 textureCoordinatesRange = czm_decompressTextureCoordinates(eyeOffset.w); vec2 textureCoordinates = textureCoordinatesBottomLeft + direction * textureCoordinatesRange; #else vec2 direction; direction.x = floor(compressed * SHIFT_RIGHT1); direction.y = compressed - direction.x * SHIFT_LEFT1; vec2 textureCoordinates = czm_decompressTextureCoordinates(compressedAttribute0.w); #endif float temp = compressedAttribute0.y * SHIFT_RIGHT8; pixelOffset.y = -(floor(temp) - UPPER_BOUND); vec2 translate; translate.y = (temp - floor(temp)) * SHIFT_LEFT16; temp = compressedAttribute0.z * SHIFT_RIGHT8; translate.x = floor(temp) - UPPER_BOUND; translate.y += (temp - floor(temp)) * SHIFT_LEFT8; translate.y -= UPPER_BOUND; temp = compressedAttribute1.x * SHIFT_RIGHT8; float temp2 = floor(compressedAttribute2.w * SHIFT_RIGHT2); vec2 imageSize = vec2(floor(temp), temp2); #ifdef FRAGMENT_DEPTH_CHECK float labelHorizontalOrigin = floor(compressedAttribute2.w - (temp2 * SHIFT_LEFT2)); float applyTranslate = 0.0; if (labelHorizontalOrigin != 0.0) // is a billboard, so set apply translate to false { applyTranslate = 1.0; labelHorizontalOrigin -= 2.0; depthOrigin.x = labelHorizontalOrigin + 1.0; } depthOrigin = vec2(1.0) - (depthOrigin * 0.5); #endif #ifdef EYE_DISTANCE_TRANSLUCENCY vec4 translucencyByDistance; translucencyByDistance.x = compressedAttribute1.z; translucencyByDistance.z = compressedAttribute1.w; translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; temp = compressedAttribute1.y * SHIFT_RIGHT8; translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; #endif #if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) temp = compressedAttribute3.w; temp = temp * SHIFT_RIGHT12; vec2 dimensions; dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; dimensions.x = floor(temp); #endif #ifdef ALIGNED_AXIS vec3 alignedAxis = czm_octDecode(floor(compressedAttribute1.y * SHIFT_RIGHT8)); temp = compressedAttribute2.z * SHIFT_RIGHT5; bool validAlignedAxis = (temp - floor(temp)) * SHIFT_LEFT1 > 0.0; #else vec3 alignedAxis = vec3(0.0); bool validAlignedAxis = false; #endif vec4 pickColor; vec4 color; temp = compressedAttribute2.y; temp = temp * SHIFT_RIGHT8; pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; pickColor.r = floor(temp); temp = compressedAttribute2.x; temp = temp * SHIFT_RIGHT8; color.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; color.g = (temp - floor(temp)) * SHIFT_LEFT8; color.r = floor(temp); temp = compressedAttribute2.z * SHIFT_RIGHT8; bool sizeInMeters = floor((temp - floor(temp)) * SHIFT_LEFT7) > 0.0; temp = floor(temp) * SHIFT_RIGHT8; pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; pickColor /= 255.0; color.a = floor(temp); color /= 255.0; /////////////////////////////////////////////////////////////////////////// vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); vec4 positionEC = czm_modelViewRelativeToEye * p; #if defined(FRAGMENT_DEPTH_CHECK) || defined(VERTEX_DEPTH_CHECK) float eyeDepth = positionEC.z; #endif positionEC = czm_eyeOffset(positionEC, eyeOffset.xyz); positionEC.xyz *= show; /////////////////////////////////////////////////////////////////////////// #if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) float lengthSq; if (czm_sceneMode == czm_sceneMode2D) { // 2D camera distance is a special case // treat all billboards as flattened to the z=0.0 plane lengthSq = czm_eyeHeight2D.y; } else { lengthSq = dot(positionEC.xyz, positionEC.xyz); } #endif #ifdef EYE_DISTANCE_SCALING float distanceScale = czm_nearFarScalar(scaleByDistance, lengthSq); scale *= distanceScale; translate *= distanceScale; // push vertex behind near plane for clipping if (scale == 0.0) { positionEC.xyz = vec3(0.0); } #endif float translucency = 1.0; #ifdef EYE_DISTANCE_TRANSLUCENCY translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); // push vertex behind near plane for clipping if (translucency == 0.0) { positionEC.xyz = vec3(0.0); } #endif #ifdef EYE_DISTANCE_PIXEL_OFFSET float pixelOffsetScale = czm_nearFarScalar(pixelOffsetScaleByDistance, lengthSq); pixelOffset *= pixelOffsetScale; #endif #ifdef DISTANCE_DISPLAY_CONDITION float nearSq = compressedAttribute3.x; float farSq = compressedAttribute3.y; if (lengthSq < nearSq || lengthSq > farSq) { positionEC.xyz = vec3(0.0); } #endif mat2 rotationMatrix; float mpp; #ifdef DISABLE_DEPTH_DISTANCE float disableDepthTestDistance = compressedAttribute3.z; #endif #ifdef VERTEX_DEPTH_CHECK if (lengthSq < disableDepthTestDistance) { float depthsilon = 10.0; vec2 labelTranslate = textureCoordinateBoundsOrLabelTranslate.xy; vec4 pEC1 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); float globeDepth1 = getGlobeDepth(pEC1); if (globeDepth1 != 0.0 && pEC1.z + depthsilon < globeDepth1) { vec4 pEC2 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0, 1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); float globeDepth2 = getGlobeDepth(pEC2); if (globeDepth2 != 0.0 && pEC2.z + depthsilon < globeDepth2) { vec4 pEC3 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); float globeDepth3 = getGlobeDepth(pEC3); if (globeDepth3 != 0.0 && pEC3.z + depthsilon < globeDepth3) { positionEC.xyz = vec3(0.0); } } } } #endif positionEC = addScreenSpaceOffset(positionEC, imageSize, scale, direction, origin, translate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); gl_Position = czm_projection * positionEC; v_textureCoordinates = textureCoordinates; #ifdef LOG_DEPTH czm_vertexLogDepth(); #endif #ifdef DISABLE_DEPTH_DISTANCE if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) { disableDepthTestDistance = czm_minimumDisableDepthTestDistance; } if (disableDepthTestDistance != 0.0) { // Don't try to "multiply both sides" by w. Greater/less-than comparisons won't work for negative values of w. float zclip = gl_Position.z / gl_Position.w; bool clipped = (zclip < -1.0 || zclip > 1.0); if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance))) { // Position z on the near plane. gl_Position.z = -gl_Position.w; #ifdef LOG_DEPTH v_depthFromNearPlusOne = 1.0; #endif } } #endif #ifdef FRAGMENT_DEPTH_CHECK if (sizeInMeters) { translate /= mpp; dimensions /= mpp; imageSize /= mpp; } #if defined(ROTATION) || defined(ALIGNED_AXIS) v_rotationMatrix = rotationMatrix; #else v_rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); #endif float enableDepthCheck = 0.0; if (lengthSq < disableDepthTestDistance) { enableDepthCheck = 1.0; } float dw = floor(clamp(dimensions.x, 0.0, SHIFT_LEFT12)); float dh = floor(clamp(dimensions.y, 0.0, SHIFT_LEFT12)); float iw = floor(clamp(imageSize.x, 0.0, SHIFT_LEFT12)); float ih = floor(clamp(imageSize.y, 0.0, SHIFT_LEFT12)); v_compressed.x = eyeDepth; v_compressed.y = applyTranslate * SHIFT_LEFT1 + enableDepthCheck; v_compressed.z = dw * SHIFT_LEFT12 + dh; v_compressed.w = iw * SHIFT_LEFT12 + ih; v_originTextureCoordinateAndTranslate.xy = depthOrigin; v_originTextureCoordinateAndTranslate.zw = translate; v_textureCoordinateBounds = textureCoordinateBoundsOrLabelTranslate; #endif #ifdef SDF vec4 outlineColor; float outlineWidth; temp = sdf.x; temp = temp * SHIFT_RIGHT8; outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; outlineColor.r = floor(temp); temp = sdf.y; temp = temp * SHIFT_RIGHT8; float temp3 = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; outlineWidth = (temp - floor(temp)) * SHIFT_LEFT8; outlineColor.a = floor(temp); outlineColor /= 255.0; v_outlineWidth = outlineWidth / 255.0; v_outlineColor = outlineColor; v_outlineColor.a *= translucency; #endif v_pickColor = pickColor; v_color = color; v_color.a *= translucency; } `,qpt={ADD:ri.FUNC_ADD,SUBTRACT:ri.FUNC_SUBTRACT,REVERSE_SUBTRACT:ri.FUNC_REVERSE_SUBTRACT,MIN:ri.MIN,MAX:ri.MAX},dm=Object.freeze(qpt),jpt={ZERO:ri.ZERO,ONE:ri.ONE,SOURCE_COLOR:ri.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:ri.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:ri.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:ri.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:ri.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:ri.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:ri.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:ri.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:ri.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:ri.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:ri.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:ri.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:ri.SRC_ALPHA_SATURATE},Su=Object.freeze(jpt),Xpt={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:dm.ADD,equationAlpha:dm.ADD,functionSourceRgb:Su.SOURCE_ALPHA,functionSourceAlpha:Su.ONE,functionDestinationRgb:Su.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:Su.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:dm.ADD,equationAlpha:dm.ADD,functionSourceRgb:Su.ONE,functionSourceAlpha:Su.ONE,functionDestinationRgb:Su.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:Su.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:dm.ADD,equationAlpha:dm.ADD,functionSourceRgb:Su.SOURCE_ALPHA,functionSourceAlpha:Su.ONE,functionDestinationRgb:Su.ONE,functionDestinationAlpha:Su.ONE})},Sl=Object.freeze(Xpt),Zpt={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2},gh=Object.freeze(Zpt),$pt={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25},wC=Object.freeze($pt);function Sq(o,A,f){let m=o._gl;m.framebufferTexture2D(m.FRAMEBUFFER,A,f._target,f._texture,0)}function h7(o,A,f){let m=o._gl;m.framebufferRenderbuffer(m.FRAMEBUFFER,A,m.RENDERBUFFER,f._getRenderbuffer())}function gB(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.context._gl,f=On.maximumColorAttachments;this._gl=A,this._framebuffer=A.createFramebuffer(),this._colorTextures=[],this._colorRenderbuffers=[],this._activeColorAttachments=[],this._depthTexture=void 0,this._depthRenderbuffer=void 0,this._stencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this.destroyAttachments=ae(o.destroyAttachments,!0);let m=k(o.depthTexture)||k(o.depthRenderbuffer),C=k(o.depthStencilTexture)||k(o.depthStencilRenderbuffer);this._bind();let E,I,x,y,v;if(k(o.colorTextures)){let w=o.colorTextures;for(y=this._colorTextures.length=this._activeColorAttachments.length=w.length,x=0;x0){let I=o._texture.width,x=o._texture.height,y=C*(I+A.width+E),v=C*(x+A.height+E),w=I/y,Q=x/v,M=new XQ(new tt(I+E,E),new tt(y,x)),B=new XQ(new tt,new tt(y,x),o._root,M),D=new XQ(new tt(E,x+E),new tt(y,v)),S=new XQ(new tt,new tt(y,v),B,D);for(let T=0;TI){A.childNode1=new XQ(new tt(A.bottomLeft.x,A.bottomLeft.y),new tt(A.bottomLeft.x+f.width,A.topRight.y));let x=A.bottomLeft.x+f.width+o._borderWidthInPixels;x0)&&(o._shaderDisableDepthDistance=!0,w===Number.POSITIVE_INFINITY&&(w=-1));let M,B;if(k(C._labelDimensions))B=C._labelDimensions.x,M=C._labelDimensions.y;else{let R=0,T=0,L=C._imageIndex;if(L!==-1){let U=f[L];R=U.height,T=U.width}M=Math.round(ae(C.height,o._textureAtlas.texture.dimensions.y*R));let F=o._textureAtlas.texture.width;B=Math.round(ae(C.width,F*T))}let D=Math.floor(De.clamp(B,0,Goe)),S=Math.floor(De.clamp(M,0,Goe)),P=D*Goe+S;o._instanced?(E=C._index,I(E,x,y,w,P)):(E=C._index*4,I(E+0,x,y,w,P),I(E+1,x,y,w,P),I(E+2,x,y,w,P),I(E+3,x,y,w,P))}function T4e(o,A,f,m,C){if(C.heightReference===tn.CLAMP_TO_GROUND){let D=o._scene,S=A.context,P=A.globeTranslucencyState.translucent,R=k(D.globe)&&D.globe.depthTestAgainstTerrain;o._shaderClampToGround=S.depthTexture&&!P&&R}let E,I=m[wu.textureCoordinateBoundsOrLabelTranslate];if(On.maximumVertexTextureImageUnits>0){let D=0,S=0;k(C._labelTranslate)&&(D=C._labelTranslate.x,S=C._labelTranslate.y),o._instanced?(E=C._index,I(E,D,S,0,0)):(E=C._index*4,I(E+0,D,S,0,0),I(E+1,D,S,0,0),I(E+2,D,S,0,0),I(E+3,D,S,0,0));return}let x=0,y=0,v=0,w=0,Q=C._imageIndex;if(Q!==-1){let D=f[Q];x=D.x,y=D.y,v=D.width,w=D.height}let M=x+v,B=y+w;o._instanced?(E=C._index,I(E,x,y,M,B)):(E=C._index*4,I(E+0,x,y,M,B),I(E+1,x,y,M,B),I(E+2,x,y,M,B),I(E+3,x,y,M,B))}function Imt(o,A,f,m,C){if(!k(o._batchTable))return;let E=m[wu.a_batchId],I=C._batchIndex,x;o._instanced?(x=C._index,E(x,I)):(x=C._index*4,E(x+0,I),E(x+1,I),E(x+2,I),E(x+3,I))}function P4e(o,A,f,m,C){if(!o._sdf)return;let E,I=m[wu.sdf],x=C.outlineColor,y=C.outlineWidth,v=qe.floatToByte(x.red),w=qe.floatToByte(x.green),Q=qe.floatToByte(x.blue),M=v*j5+w*c1+Q,B=y/wC.RADIUS,D=qe.floatToByte(x.alpha)*j5+qe.floatToByte(B)*c1;o._instanced?(E=C._index,I(E,M,D)):(E=C._index*4,I(E+0,M+v4e,D),I(E+1,M+_4e,D),I(E+2,M+B4e,D),I(E+3,M+w4e,D))}function xmt(o,A,f,m,C){x4e(o,A,f,m,C),b4e(o,A,f,m,C),Q4e(o,A,f,m,C),RAe(o,A,f,m,C),LAe(o,A,f,m,C),S4e(o,A,f,m,C),D4e(o,A,f,m,C),M4e(o,A,f,m,C),T4e(o,A,f,m,C),Imt(o,A,f,m,C),P4e(o,A,f,m,C)}function Hoe(o,A,f,m,C,E){let I;m.mode===ii.SCENE3D?(I=o._baseVolume,o._boundingVolumeDirty=!0):I=o._baseVolume2D;let x=[];for(let y=0;y0){this._vaf=fmt(m,f,this._buffersUsage,this._instanced,this._batchTable,this._sdf),Q=this._vaf.writers;for(let J=0;J0){let J=Bmt;J.length=0,(y[wH]||y[amt]||y[omt])&&J.push(x4e),(y[jG]||y[h4e]||y[rmt]||y[nmt]||y[imt])&&(J.push(b4e),this._instanced&&J.push(LAe)),(y[jG]||y[smt]||y[p4e])&&(J.push(Q4e),J.push(RAe)),(y[jG]||y[g4e])&&J.push(RAe),y[d4e]&&J.push(LAe),y[f4e]&&J.push(S4e),y[m4e]&&J.push(D4e),(y[C4e]||y[lmt]||y[jG]||y[wH])&&J.push(M4e),(y[jG]||y[wH])&&J.push(T4e),y[E4e]&&J.push(P4e);let K=J.length;if(Q=this._vaf.writers,x/f>.1){for(let X=0;Xf*1.5&&(I.length=f),!k(this._vaf)||!k(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,si.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let D,S=Re.IDENTITY;o.mode===ii.SCENE3D?(S=this.modelMatrix,D=si.clone(this._baseVolumeWC,this._boundingVolume)):D=si.clone(this._baseVolume2D,this._boundingVolume),vmt(this,o,D);let P=this._blendOption!==this.blendOption;if(this._blendOption=this.blendOption,P){this._blendOption===gh.OPAQUE||this._blendOption===gh.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Hr.fromCache({depthTest:{enabled:!0,func:ri.LESS},depthMask:!0}):this._rsOpaque=void 0;let J=this._blendOption===gh.TRANSLUCENT;this._blendOption===gh.TRANSLUCENT||this._blendOption===gh.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Hr.fromCache({depthTest:{enabled:!0,func:J?ri.LEQUAL:ri.LESS},depthMask:J,blending:Sl.ALPHA_BLEND}):this._rsTranslucent=void 0}this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||o.minimumDisableDepthTestDistance!==0;let R,T,L,F,U,N=On.maximumVertexTextureImageUnits>0;if(P||this._shaderRotation!==this._compiledShaderRotation||this._shaderAlignedAxis!==this._compiledShaderAlignedAxis||this._shaderScaleByDistance!==this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance!==this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance!==this._compiledShaderPixelOffsetScaleByDistance||this._shaderDistanceDisplayCondition!==this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance||this._shaderClampToGround!==this._compiledShaderClampToGround||this._sdf!==this._compiledSDF){R=Gfe,T=Ofe,U=[],k(this._batchTable)&&(U.push("VECTOR_TILE"),R=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(R),T=this._batchTable.getFragmentShaderCallback(!1,void 0)(T)),L=new hr({defines:U,sources:[R]}),this._instanced&&L.defines.push("INSTANCED"),this._shaderRotation&&L.defines.push("ROTATION"),this._shaderAlignedAxis&&L.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&L.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&L.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&L.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&L.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&L.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(N?L.defines.push("VERTEX_DEPTH_CHECK"):L.defines.push("FRAGMENT_DEPTH_CHECK"));let J=1-wC.CUTOFF;this._sdf&&L.defines.push("SDF");let K=k(this._batchTable)?"VECTOR_TILE":"";this._blendOption===gh.OPAQUE_AND_TRANSLUCENT&&(F=new hr({defines:["OPAQUE",K],sources:[T]}),this._shaderClampToGround&&(N?F.defines.push("VERTEX_DEPTH_CHECK"):F.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(F.defines.push("SDF"),F.defines.push(`SDF_EDGE ${J}`)),this._sp=Wa.replaceCache({context:m,shaderProgram:this._sp,vertexShaderSource:L,fragmentShaderSource:F,attributeLocations:wu}),F=new hr({defines:["TRANSLUCENT",K],sources:[T]}),this._shaderClampToGround&&(N?F.defines.push("VERTEX_DEPTH_CHECK"):F.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(F.defines.push("SDF"),F.defines.push(`SDF_EDGE ${J}`)),this._spTranslucent=Wa.replaceCache({context:m,shaderProgram:this._spTranslucent,vertexShaderSource:L,fragmentShaderSource:F,attributeLocations:wu})),this._blendOption===gh.OPAQUE&&(F=new hr({defines:[K],sources:[T]}),this._shaderClampToGround&&(N?F.defines.push("VERTEX_DEPTH_CHECK"):F.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(F.defines.push("SDF"),F.defines.push(`SDF_EDGE ${J}`)),this._sp=Wa.replaceCache({context:m,shaderProgram:this._sp,vertexShaderSource:L,fragmentShaderSource:F,attributeLocations:wu})),this._blendOption===gh.TRANSLUCENT&&(F=new hr({defines:[K],sources:[T]}),this._shaderClampToGround&&(N?F.defines.push("VERTEX_DEPTH_CHECK"):F.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(F.defines.push("SDF"),F.defines.push(`SDF_EDGE ${J}`)),this._spTranslucent=Wa.replaceCache({context:m,shaderProgram:this._spTranslucent,vertexShaderSource:L,fragmentShaderSource:F,attributeLocations:wu})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf}let H=o.commandList;if(M.render||M.pick){let J=this._colorCommands,K=this._blendOption===gh.OPAQUE,X=this._blendOption===gh.OPAQUE_AND_TRANSLUCENT,j=this._vaf.va,ee=j.length,ie=this._uniforms,z;k(this._batchTable)?(ie=this._batchTable.getUniformMapCallback()(ie),z=this._batchTable.getPickId()):z="v_pickColor",J.length=ee;let oe=X?ee*2:ee;for(let le=0;le]/,C=[],E="",I=hg.LTR,x="",y=o.length;for(let v=0;v";case">":return"<"}}var Pmt="\u05D0-\u05EA",Rmt="\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF",BDe=new RegExp(`[${Pmt}${Rmt}]`);function Lmt(o){let A=o.split(` `),f="";for(let m=0;mv+1?I[v+1].Type===hg.RTL?(y=Q+y,x=0):(y=$G(y,x,w.Word),x+=w.Word.length):y=$G(y,0,Q)):w.Type===hg.RTL?y=$G(y,x,Q):w.Type===hg.LTR?(y+=w.Word,x=y.length):(w.Type===hg.WEAK||w.Type===hg.BRACKETS)&&(v>0&&I[v-1].Type===hg.RTL?I.length>v+1?I[v+1].Type===hg.RTL?y=$G(y,x,Q):(y+=w.Word,x=y.length):y+=w.Word:(y+=w.Word,x=y.length))}f+=y,m=0;--P)if(B[P]!==255){L=P/S|0;break}let F=-1;for(P=0;P0,Q=A._backgroundBillboard,M=o._backgroundBillboardCollection;w?(k(Q)||(Q=M.add({collection:o,image:L4e,imageSubRegion:Vmt}),A._backgroundBillboard=Q),Q.color=A._backgroundColor,Q.show=A._show,Q.position=A._position,Q.eyeOffset=A._eyeOffset,Q.pixelOffset=A._pixelOffset,Q.horizontalOrigin=iu.LEFT,Q.verticalOrigin=A._verticalOrigin,Q.heightReference=A._heightReference,Q.scale=A.totalScale,Q.pickPrimitive=A,Q.id=A._id,Q.translucencyByDistance=A._translucencyByDistance,Q.pixelOffsetScaleByDistance=A._pixelOffsetScaleByDistance,Q.scaleByDistance=A._scaleByDistance,Q.distanceDisplayCondition=A._distanceDisplayCondition,Q.disableDepthTestDistance=A._disableDepthTestDistance):k(Q)&&(M.remove(Q),A._backgroundBillboard=Q=void 0);let B=o._glyphTextureCache;for(v=0;v0&&L.height>0){let F=(0,kmt.default)(L,{cutoff:wC.CUTOFF,radius:wC.RADIUS}),U=L.getContext("2d"),N=L.width,H=L.height,J=U.getImageData(0,0,N,H);for(let K=0;K0?T=L.pop():(T=o._billboardCollection.add({collection:o}),T._labelDimensions=new tt,T._labelTranslate=new tt),x.billboard=T),T.show=A._show,T.position=A._position,T.eyeOffset=A._eyeOffset,T.pixelOffset=A._pixelOffset,T.horizontalOrigin=iu.LEFT,T.verticalOrigin=A._verticalOrigin,T.heightReference=A._heightReference,T.scale=A.totalScale,T.pickPrimitive=A,T.id=A._id,T.image=P,T.translucencyByDistance=A._translucencyByDistance,T.pixelOffsetScaleByDistance=A._pixelOffsetScaleByDistance,T.scaleByDistance=A._scaleByDistance,T.distanceDisplayCondition=A._distanceDisplayCondition,T.disableDepthTestDistance=A._disableDepthTestDistance,T._batchIndex=A._batchIndex,T.outlineColor=A.outlineColor,A.style===fu.FILL_AND_OUTLINE?(T.color=A._fillColor,T.outlineWidth=A.outlineWidth):A.style===fu.FILL?(T.color=A._fillColor,T.outlineWidth=0):A.style===fu.OUTLINE&&(T.color=qe.TRANSPARENT,T.outlineWidth=A.outlineWidth)}}A._repositionAllGlyphs=!0}function wDe(o,A,f){return A===iu.CENTER?-o/2:A===iu.RIGHT?-(o+f.x):f.x}var uh=new tt,qmt=new tt;function jmt(o){let A=o._glyphs,f=o._renderedText,m,C,E=0,I=0,x=[],y=Number.NEGATIVE_INFINITY,v=0,w=1,Q,M=A.length,B=o._backgroundBillboard,D=tt.clone(k(B)?o._backgroundPadding:tt.ZERO,qmt);for(D.x/=o._relativeSize,D.y/=o._relativeSize,Q=0;Q0&&(R===iu.CENTER?U=-I/2-D.x:R===iu.RIGHT?U=-(I+D.x*2):U=0,uh.x=U*P,T===on.TOP?uh.y=S-v-y:T===on.CENTER?uh.y=(S-v)/2-y:T===on.BASELINE?uh.y=-D.y-y:uh.y=0,uh.y=uh.y*P,B.width=J,B.height=K,B._setTranslate(uh),B._labelTranslate=tt.clone(uh,B._labelTranslate)),o.heightReference===tn.CLAMP_TO_GROUND)for(Q=0;Q0?gh.TRANSLUCENT:this.blendOption;A.blendOption=E,f.blendOption=E,A._highlightColor=this._highlightColor,f._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,f.update(o),A.update(o)};z1.prototype.isDestroyed=function(){return!1};z1.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),ar(this)};var iP=z1;function gd(o,A){o=ae(o,ae.EMPTY_OBJECT);let f=o.translucencyByDistance,m=o.scaleByDistance,C=o.distanceDisplayCondition;k(f)&&(f=no.clone(f)),k(m)&&(m=no.clone(m)),k(C)&&(C=wo.clone(C)),this._show=ae(o.show,!0),this._position=Z.clone(ae(o.position,Z.ZERO)),this._actualPosition=Z.clone(this._position),this._color=qe.clone(ae(o.color,qe.WHITE)),this._outlineColor=qe.clone(ae(o.outlineColor,qe.TRANSPARENT)),this._outlineWidth=ae(o.outlineWidth,0),this._pixelSize=ae(o.pixelSize,10),this._scaleByDistance=m,this._translucencyByDistance=f,this._distanceDisplayCondition=C,this._disableDepthTestDistance=ae(o.disableDepthTestDistance,0),this._id=o.id,this._collection=ae(o.collection,A),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=A,this._dirty=!1,this._index=-1}var bDe=gd.SHOW_INDEX=0,N4e=gd.POSITION_INDEX=1,Xmt=gd.COLOR_INDEX=2,Zmt=gd.OUTLINE_COLOR_INDEX=3,$mt=gd.OUTLINE_WIDTH_INDEX=4,eCt=gd.PIXEL_SIZE_INDEX=5,tCt=gd.SCALE_BY_DISTANCE_INDEX=6,iCt=gd.TRANSLUCENCY_BY_DISTANCE_INDEX=7,rCt=gd.DISTANCE_DISPLAY_CONDITION_INDEX=8,nCt=gd.DISABLE_DEPTH_DISTANCE_INDEX=9;gd.NUMBER_OF_PROPERTIES=10;function Qy(o,A){let f=o._pointPrimitiveCollection;k(f)&&(f._updatePointPrimitive(o,A),o._dirty=!0)}Object.defineProperties(gd.prototype,{show:{get:function(){return this._show},set:function(o){this._show!==o&&(this._show=o,Qy(this,bDe))}},position:{get:function(){return this._position},set:function(o){let A=this._position;Z.equals(A,o)||(Z.clone(o,A),Z.clone(o,this._actualPosition),Qy(this,N4e))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(o){let A=this._scaleByDistance;no.equals(A,o)||(this._scaleByDistance=no.clone(o,A),Qy(this,tCt))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(o){let A=this._translucencyByDistance;no.equals(A,o)||(this._translucencyByDistance=no.clone(o,A),Qy(this,iCt))}},pixelSize:{get:function(){return this._pixelSize},set:function(o){this._pixelSize!==o&&(this._pixelSize=o,Qy(this,eCt))}},color:{get:function(){return this._color},set:function(o){let A=this._color;qe.equals(A,o)||(qe.clone(o,A),Qy(this,Xmt))}},outlineColor:{get:function(){return this._outlineColor},set:function(o){let A=this._outlineColor;qe.equals(A,o)||(qe.clone(o,A),Qy(this,Zmt))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(o){this._outlineWidth!==o&&(this._outlineWidth=o,Qy(this,$mt))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(o){wo.equals(this._distanceDisplayCondition,o)||(this._distanceDisplayCondition=wo.clone(o,this._distanceDisplayCondition),Qy(this,rCt))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(o){this._disableDepthTestDistance!==o&&(this._disableDepthTestDistance=o,Qy(this,nCt))}},id:{get:function(){return this._id},set:function(o){this._id=o,k(this._pickId)&&(this._pickId.object.id=o)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(o){this._clusterShow!==o&&(this._clusterShow=o,Qy(this,bDe))}}});gd.prototype.getPickId=function(o){return k(this._pickId)||(this._pickId=o.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId};gd.prototype._getActualPosition=function(){return this._actualPosition};gd.prototype._setActualPosition=function(o){Z.clone(o,this._actualPosition),Qy(this,N4e)};var QDe=new kt;gd._computeActualPosition=function(o,A,f){return A.mode===ii.SCENE3D?o:(Re.multiplyByPoint(f,o,QDe),ms.computeActualWgs84Position(A,QDe))};var SDe=new kt;gd._computeScreenSpacePosition=function(o,A,f,m){let C=Re.multiplyByVector(o,kt.fromElements(A.x,A.y,A.z,1,SDe),SDe);return ms.wgs84ToWindowCoordinates(f,C,m)};gd.prototype.computeScreenSpacePosition=function(o,A){let f=this._pointPrimitiveCollection;k(A)||(A=new tt);let m=f.modelMatrix,C=gd._computeScreenSpacePosition(m,this._actualPosition,o,A);if(k(C))return C.y=o.canvas.clientHeight-C.y,C};gd.getScreenSpaceBoundingBox=function(o,A,f){let m=o.pixelSize,C=m*.5,E=A.x-C,I=A.y-C,x=m,y=m;return k(f)||(f=new _r),f.x=E,f.y=I,f.width=x,f.height=y,f};gd.prototype.equals=function(o){return this===o||k(o)&&this._id===o._id&&Z.equals(this._position,o._position)&&qe.equals(this._color,o._color)&&this._pixelSize===o._pixelSize&&this._outlineWidth===o._outlineWidth&&this._show===o._show&&qe.equals(this._outlineColor,o._outlineColor)&&no.equals(this._scaleByDistance,o._scaleByDistance)&&no.equals(this._translucencyByDistance,o._translucencyByDistance)&&wo.equals(this._distanceDisplayCondition,o._distanceDisplayCondition)&&this._disableDepthTestDistance===o._disableDepthTestDistance};gd.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var Rm=gd,L5=`in vec4 v_color; in vec4 v_outlineColor; in float v_innerPercent; in float v_pixelDistance; in vec4 v_pickColor; void main() { // The distance in UV space from this fragment to the center of the point, at most 0.5. float distanceToCenter = length(gl_PointCoord - vec2(0.5)); // The max distance stops one pixel shy of the edge to leave space for anti-aliasing. float maxDistance = max(0.0, 0.5 - v_pixelDistance); float wholeAlpha = 1.0 - smoothstep(maxDistance, 0.5, distanceToCenter); float innerAlpha = 1.0 - smoothstep(maxDistance * v_innerPercent, 0.5 * v_innerPercent, distanceToCenter); vec4 color = mix(v_outlineColor, v_color, innerAlpha); color.a *= wholeAlpha; // Fully transparent parts of the billboard are not pickable. #if !defined(OPAQUE) && !defined(TRANSLUCENT) if (color.a < 0.005) // matches 0/255 and 1/255 { discard; } #else // The billboard is rendered twice. The opaque pass discards translucent fragments // and the translucent pass discards opaque fragments. #ifdef OPAQUE if (color.a < 0.995) // matches < 254/255 { discard; } #else if (color.a >= 0.995) // matches 254/255 and 255/255 { discard; } #endif #endif out_FragColor = czm_gammaCorrect(color); czm_writeLogDepth(); } `,zfe=`uniform float u_maxTotalPointSize; in vec4 positionHighAndSize; in vec4 positionLowAndOutline; in vec4 compressedAttribute0; // color, outlineColor, pick color in vec4 compressedAttribute1; // show, translucency by distance, some free space in vec4 scaleByDistance; // near, nearScale, far, farScale in vec3 distanceDisplayConditionAndDisableDepth; // near, far, disableDepthTestDistance out vec4 v_color; out vec4 v_outlineColor; out float v_innerPercent; out float v_pixelDistance; out vec4 v_pickColor; const float SHIFT_LEFT8 = 256.0; const float SHIFT_RIGHT8 = 1.0 / 256.0; void main() { // Modifying this shader may also require modifications to PointPrimitive._computeScreenSpacePosition // unpack attributes vec3 positionHigh = positionHighAndSize.xyz; vec3 positionLow = positionLowAndOutline.xyz; float outlineWidthBothSides = 2.0 * positionLowAndOutline.w; float totalSize = positionHighAndSize.w + outlineWidthBothSides; float outlinePercent = outlineWidthBothSides / totalSize; // Scale in response to browser-zoom. totalSize *= czm_pixelRatio; float temp = compressedAttribute1.x * SHIFT_RIGHT8; float show = floor(temp); #ifdef EYE_DISTANCE_TRANSLUCENCY vec4 translucencyByDistance; translucencyByDistance.x = compressedAttribute1.z; translucencyByDistance.z = compressedAttribute1.w; translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; temp = compressedAttribute1.y * SHIFT_RIGHT8; translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; #endif /////////////////////////////////////////////////////////////////////////// vec4 color; vec4 outlineColor; vec4 pickColor; // compressedAttribute0.z => pickColor.rgb temp = compressedAttribute0.z * SHIFT_RIGHT8; pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; pickColor.r = floor(temp); // compressedAttribute0.x => color.rgb temp = compressedAttribute0.x * SHIFT_RIGHT8; color.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; color.g = (temp - floor(temp)) * SHIFT_LEFT8; color.r = floor(temp); // compressedAttribute0.y => outlineColor.rgb temp = compressedAttribute0.y * SHIFT_RIGHT8; outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; outlineColor.r = floor(temp); // compressedAttribute0.w => color.a, outlineColor.a, pickColor.a temp = compressedAttribute0.w * SHIFT_RIGHT8; pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; pickColor = pickColor / 255.0; temp = floor(temp) * SHIFT_RIGHT8; outlineColor.a = (temp - floor(temp)) * SHIFT_LEFT8; outlineColor /= 255.0; color.a = floor(temp); color /= 255.0; /////////////////////////////////////////////////////////////////////////// vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); vec4 positionEC = czm_modelViewRelativeToEye * p; /////////////////////////////////////////////////////////////////////////// #if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) float lengthSq; if (czm_sceneMode == czm_sceneMode2D) { // 2D camera distance is a special case // treat all billboards as flattened to the z=0.0 plane lengthSq = czm_eyeHeight2D.y; } else { lengthSq = dot(positionEC.xyz, positionEC.xyz); } #endif #ifdef EYE_DISTANCE_SCALING totalSize *= czm_nearFarScalar(scaleByDistance, lengthSq); #endif if (totalSize > 0.0) { // Add padding for anti-aliasing on both sides. totalSize += 3.0; } // Clamp to max point size. totalSize = min(totalSize, u_maxTotalPointSize); // If size is too small, push vertex behind near plane for clipping. // Note that context.minimumAliasedPointSize "will be at most 1.0". if (totalSize < 1.0) { positionEC.xyz = vec3(0.0); totalSize = 1.0; } float translucency = 1.0; #ifdef EYE_DISTANCE_TRANSLUCENCY translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); // push vertex behind near plane for clipping if (translucency < 0.004) { positionEC.xyz = vec3(0.0); } #endif #ifdef DISTANCE_DISPLAY_CONDITION float nearSq = distanceDisplayConditionAndDisableDepth.x; float farSq = distanceDisplayConditionAndDisableDepth.y; if (lengthSq < nearSq || lengthSq > farSq) { // push vertex behind camera to force it to be clipped positionEC.xyz = vec3(0.0, 0.0, 1.0); } #endif gl_Position = czm_projection * positionEC; czm_vertexLogDepth(); #ifdef DISABLE_DEPTH_DISTANCE float disableDepthTestDistance = distanceDisplayConditionAndDisableDepth.z; if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) { disableDepthTestDistance = czm_minimumDisableDepthTestDistance; } if (disableDepthTestDistance != 0.0) { // Don't try to "multiply both sides" by w. Greater/less-than comparisons won't work for negative values of w. float zclip = gl_Position.z / gl_Position.w; bool clipped = (zclip < -1.0 || zclip > 1.0); if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance))) { // Position z on the near plane. gl_Position.z = -gl_Position.w; #ifdef LOG_DEPTH czm_vertexLogDepth(vec4(czm_currentFrustum.x)); #endif } } #endif v_color = color; v_color.a *= translucency * show; v_outlineColor = outlineColor; v_outlineColor.a *= translucency * show; v_innerPercent = 1.0 - outlinePercent; v_pixelDistance = 2.0 / totalSize; gl_PointSize = totalSize * show; gl_Position *= show; v_pickColor = pickColor; } `,oCt=Rm.SHOW_INDEX,kAe=Rm.POSITION_INDEX,k4e=Rm.COLOR_INDEX,aCt=Rm.OUTLINE_COLOR_INDEX,sCt=Rm.OUTLINE_WIDTH_INDEX,lCt=Rm.PIXEL_SIZE_INDEX,U4e=Rm.SCALE_BY_DISTANCE_INDEX,O4e=Rm.TRANSLUCENCY_BY_DISTANCE_INDEX,G4e=Rm.DISTANCE_DISPLAY_CONDITION_INDEX,ACt=Rm.DISABLE_DEPTH_DISTANCE_INDEX,Yfe=Rm.NUMBER_OF_PROPERTIES,gm={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepth:5};function mv(o){o=ae(o,ae.EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(Yfe),this._maxPixelSize=1,this._baseVolume=new si,this._baseVolumeWC=new si,this._baseVolume2D=new si,this._boundingVolume=new si,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=ae(o.show,!0),this.modelMatrix=Re.clone(ae(o.modelMatrix,Re.IDENTITY)),this._modelMatrix=Re.clone(Re.IDENTITY),this.debugShowBoundingVolume=ae(o.debugShowBoundingVolume,!1),this.blendOption=ae(o.blendOption,gh.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ii.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[Fr.STATIC_DRAW,Fr.STATIC_DRAW,Fr.STATIC_DRAW,Fr.STATIC_DRAW,Fr.STATIC_DRAW,Fr.STATIC_DRAW,Fr.STATIC_DRAW,Fr.STATIC_DRAW,Fr.STATIC_DRAW];let A=this;this._uniforms={u_maxTotalPointSize:function(){return A._maxTotalPointSize}}}Object.defineProperties(mv.prototype,{length:{get:function(){return Jfe(this),this._pointPrimitives.length}}});function H4e(o){let A=o.length;for(let f=0;f0&&(o._shaderDisableDepthDistance=!0,v===Number.POSITIVE_INFINITY&&(v=-1)),E(C,I,x,v)}function cCt(o,A,f,m){V4e(o,A,f,m),z4e(o,A,f,m),Y4e(o,A,f,m),J4e(o,A,f,m),K4e(o,A,f,m)}function zoe(o,A,f,m,C,E){let I;m.mode===ii.SCENE3D?(I=o._baseVolume,o._boundingVolumeDirty=!0):I=o._baseVolume2D;let x=[];for(let y=0;y0){this._vaf=uCt(x,A,this._buffersUsage),I=this._vaf.writers;for(let F=0;F0){let F=gCt;F.length=0,(C[kAe]||C[sCt]||C[lCt])&&F.push(V4e),(C[k4e]||C[aCt])&&F.push(z4e),(C[oCt]||C[O4e])&&F.push(Y4e),C[U4e]&&F.push(J4e),(C[G4e]||C[ACt])&&F.push(K4e);let U=F.length;if(I=this._vaf.writers,m/A>.1){for(let N=0;NA*1.5&&(f.length=A),!k(this._vaf)||!k(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,si.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let w,Q=Re.IDENTITY;o.mode===ii.SCENE3D?(Q=this.modelMatrix,w=si.clone(this._baseVolumeWC,this._boundingVolume)):w=si.clone(this._baseVolume2D,this._boundingVolume),dCt(this,o,w);let M=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,M&&(this._blendOption===gh.OPAQUE||this._blendOption===gh.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Hr.fromCache({depthTest:{enabled:!0,func:ri.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===gh.TRANSLUCENT||this._blendOption===gh.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Hr.fromCache({depthTest:{enabled:!0,func:ri.LEQUAL},depthMask:!1,blending:Sl.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||o.minimumDisableDepthTestDistance!==0;let B,D;(M||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(B=new hr({sources:[zfe]}),this._shaderScaleByDistance&&B.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&B.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&B.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&B.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===gh.OPAQUE_AND_TRANSLUCENT&&(D=new hr({defines:["OPAQUE"],sources:[L5]}),this._sp=Wa.replaceCache({context:x,shaderProgram:this._sp,vertexShaderSource:B,fragmentShaderSource:D,attributeLocations:gm}),D=new hr({defines:["TRANSLUCENT"],sources:[L5]}),this._spTranslucent=Wa.replaceCache({context:x,shaderProgram:this._spTranslucent,vertexShaderSource:B,fragmentShaderSource:D,attributeLocations:gm})),this._blendOption===gh.OPAQUE&&(D=new hr({sources:[L5]}),this._sp=Wa.replaceCache({context:x,shaderProgram:this._sp,vertexShaderSource:B,fragmentShaderSource:D,attributeLocations:gm})),this._blendOption===gh.TRANSLUCENT&&(D=new hr({sources:[L5]}),this._spTranslucent=Wa.replaceCache({context:x,shaderProgram:this._spTranslucent,vertexShaderSource:B,fragmentShaderSource:D,attributeLocations:gm})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);let S,P,R,T,L=o.commandList;if(y.render||v){let F=this._colorCommands,U=this._blendOption===gh.OPAQUE,N=this._blendOption===gh.OPAQUE_AND_TRANSLUCENT;S=this._vaf.va,P=S.length,F.length=P;let H=N?P*2:P;for(T=0;T>4;if(m!==Yoe)throw new Error(`Got v${m} data when expected v${Yoe}.`);let C=DDe[f&15];if(!C)throw new Error("Unrecognized array type.");let[E]=new Uint16Array(o,2,1),[I]=new Uint32Array(o,4,1);return new W4e(I,E,C,o)}constructor(o,A=64,f=Float64Array,m){if(isNaN(o)||o<0)throw new Error(`Unpexpected numItems value: ${o}.`);this.numItems=+o,this.nodeSize=Math.min(Math.max(+A,2),65535),this.ArrayType=f,this.IndexArrayType=o<65536?Uint16Array:Uint32Array;let C=DDe.indexOf(this.ArrayType),E=o*2*this.ArrayType.BYTES_PER_ELEMENT,I=o*this.IndexArrayType.BYTES_PER_ELEMENT,x=(8-I%8)%8;if(C<0)throw new Error(`Unexpected typed array class: ${f}.`);m&&m instanceof ArrayBuffer?(this.data=m,this.ids=new this.IndexArrayType(this.data,e8,o),this.coords=new this.ArrayType(this.data,e8+I+x,o*2),this._pos=o*2,this._finished=!0):(this.data=new ArrayBuffer(e8+E+I+x),this.ids=new this.IndexArrayType(this.data,e8,o),this.coords=new this.ArrayType(this.data,e8+I+x,o*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(Yoe<<4)+C]),new Uint16Array(this.data,2,1)[0]=A,new Uint32Array(this.data,4,1)[0]=o)}add(o,A){let f=this._pos>>1;return this.ids[f]=f,this.coords[this._pos++]=o,this.coords[this._pos++]=A,f}finish(){let o=this._pos>>1;if(o!==this.numItems)throw new Error(`Added ${o} items when expected ${this.numItems}.`);return UAe(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(o,A,f,m){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:C,coords:E,nodeSize:I}=this,x=[0,C.length-1,0],y=[];for(;x.length;){let v=x.pop()||0,w=x.pop()||0,Q=x.pop()||0;if(w-Q<=I){for(let S=Q;S<=w;S++){let P=E[2*S],R=E[2*S+1];P>=o&&P<=f&&R>=A&&R<=m&&y.push(C[S])}continue}let M=Q+w>>1,B=E[2*M],D=E[2*M+1];B>=o&&B<=f&&D>=A&&D<=m&&y.push(C[M]),(v===0?o<=B:A<=D)&&(x.push(Q),x.push(M-1),x.push(1-v)),(v===0?f>=B:m>=D)&&(x.push(M+1),x.push(w),x.push(1-v))}return y}within(o,A,f){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:m,coords:C,nodeSize:E}=this,I=[0,m.length-1,0],x=[],y=f*f;for(;I.length;){let v=I.pop()||0,w=I.pop()||0,Q=I.pop()||0;if(w-Q<=E){for(let S=Q;S<=w;S++)MDe(C[2*S],C[2*S+1],o,A)<=y&&x.push(m[S]);continue}let M=Q+w>>1,B=C[2*M],D=C[2*M+1];MDe(B,D,o,A)<=y&&x.push(m[M]),(v===0?o-f<=B:A-f<=D)&&(I.push(Q),I.push(M-1),I.push(1-v)),(v===0?o+f>=B:A+f>=D)&&(I.push(M+1),I.push(w),I.push(1-v))}return x}};function UAe(o,A,f,m,C,E){if(C-m<=f)return;let I=m+C>>1;q4e(o,A,I,m,C,E),UAe(o,A,f,m,I-1,1-E),UAe(o,A,f,I+1,C,1-E)}function q4e(o,A,f,m,C,E){for(;C>m;){if(C-m>600){let v=C-m+1,w=f-m+1,Q=Math.log(v),M=.5*Math.exp(2*Q/3),B=.5*Math.sqrt(Q*M*(v-M)/v)*(w-v/2<0?-1:1),D=Math.max(m,Math.floor(f-w*M/v+B)),S=Math.min(C,Math.floor(f+(v-w)*M/v+B));q4e(o,A,f,D,S,E)}let I=A[2*f+E],x=m,y=C;for(t8(o,A,m,f),A[2*C+E]>I&&t8(o,A,m,C);xI;)y--}A[2*m+E]===I?t8(o,A,m,y):(y++,t8(o,A,y,C)),y<=f&&(m=y+1),f<=y&&(C=y-1)}}function t8(o,A,f,m){Joe(o,f,m),Joe(A,2*f,2*m),Joe(A,2*f+1,2*m+1)}function Joe(o,A,f){let m=o[A];o[A]=o[f],o[f]=m}function MDe(o,A,f,m){let C=o-f,E=A-m;return C*C+E*E}function fB(o){o=ae(o,ae.EMPTY_OBJECT),this._enabled=ae(o.enabled,!1),this._pixelRange=ae(o.pixelRange,80),this._minimumClusterSize=ae(o.minimumClusterSize,2),this._clusterBillboards=ae(o.clusterBillboards,!0),this._clusterLabels=ae(o.clusterLabels,!0),this._clusterPoints=ae(o.clusterPoints,!0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity={},this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._clusterDirty=!1,this._cluster=void 0,this._removeEventListener=void 0,this._clusterEvent=new ir,this.show=ae(o.show,!0)}function TDe(o,A){o.x-=A,o.y-=A,o.width+=A*2,o.height+=A*2}var fCt=new _r;function PDe(o,A,f,m,C){if(k(o._labelCollection)&&m._clusterLabels?C=cV.getScreenSpaceBoundingBox(o,A,C):k(o._billboardCollection)&&m._clusterBillboards?C=wc.getScreenSpaceBoundingBox(o,A,C):k(o._pointPrimitiveCollection)&&m._clusterPoints&&(C=Rm.getScreenSpaceBoundingBox(o,A,C)),TDe(C,f),m._clusterLabels&&!k(o._labelCollection)&&k(o.id)&&j4e(m,o.id.id)&&k(o.id._label)){let E=m._collectionIndicesByEntity[o.id.id].labelIndex,I=m._labelCollection.get(E),x=cV.getScreenSpaceBoundingBox(I,A,fCt);TDe(x,f),C=_r.union(C,x,C)}return C}function pCt(o,A){if(o.clusterShow=!0,!k(o._labelCollection)&&k(o.id)&&j4e(A,o.id.id)&&k(o.id._label)){let f=A._collectionIndicesByEntity[o.id.id].labelIndex,m=A._labelCollection.get(f);m.clusterShow=!0}k(o.id)&&!o.id.clusterShow&&(o.id.clusterShow=!0)}function RDe(o,A,f,m){let C={billboard:m._clusterBillboardCollection.add(),label:m._clusterLabelCollection.add(),point:m._clusterPointCollection.add()};C.billboard.show=!1,C.point.show=!1,C.label.show=!0,C.label.text=A.toLocaleString(),C.label.id=f,C.billboard.position=C.label.position=C.point.position=o;for(let E=0;E0){let oe=new W4e(T.length,64,Uint32Array);for(let le=0;le=w)for(RDe(le.position,ee,j,o),M.push(le),F=0;F=w){let de=Z.multiplyByScalar(ge,1/ee,ge);for(RDe(de,ee,j,o),M.push({position:de,width:he.width,height:he.height,minimumWidth:N.width,minimumHeight:N.height}),F=0;F0?(x=v.pop(),y=E.get(x)):(y=E.add(),x=E.length-1),I[m]=x;let w=this;return Promise.resolve().then(function(){w._clusterDirty=!0}),y}}function Wfe(o,A){let f=o._collectionIndicesByEntity[A];!k(f.billboardIndex)&&!k(f.labelIndex)&&!k(f.pointIndex)&&delete o._collectionIndicesByEntity[A]}fB.prototype.getLabel=Kfe("_labelCollection",iP,"_unusedLabelIndices","labelIndex");fB.prototype.removeLabel=function(o){let A=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[o.id];if(!k(this._labelCollection)||!k(A)||!k(A.labelIndex))return;let f=A.labelIndex;A.labelIndex=void 0,Wfe(this,o.id);let m=this._labelCollection.get(f);m.show=!1,m.text="",m.id=void 0,this._unusedLabelIndices.push(f),this._clusterDirty=!0};fB.prototype.getBillboard=Kfe("_billboardCollection",nI,"_unusedBillboardIndices","billboardIndex");fB.prototype.removeBillboard=function(o){let A=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[o.id];if(!k(this._billboardCollection)||!k(A)||!k(A.billboardIndex))return;let f=A.billboardIndex;A.billboardIndex=void 0,Wfe(this,o.id);let m=this._billboardCollection.get(f);m.id=void 0,m.show=!1,m.image=void 0,this._unusedBillboardIndices.push(f),this._clusterDirty=!0};fB.prototype.getPoint=Kfe("_pointCollection",z9,"_unusedPointIndices","pointIndex");fB.prototype.removePoint=function(o){let A=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[o.id];if(!k(this._pointCollection)||!k(A)||!k(A.pointIndex))return;let f=A.pointIndex;A.pointIndex=void 0,Wfe(this,o.id);let m=this._pointCollection.get(f);m.show=!1,m.id=void 0,this._unusedPointIndices.push(f),this._clusterDirty=!0};function Woe(o){if(!k(o))return;let A=o.length;for(let f=0;f0&&this._labelCollection.get(0)._glyphs.length===0&&(A=o.commandList,o.commandList=[],this._labelCollection.update(o),o.commandList=A),k(this._billboardCollection)&&this._billboardCollection.length>0&&!k(this._billboardCollection.get(0).width)&&(A=o.commandList,o.commandList=[],this._billboardCollection.update(o),o.commandList=A),this._enabledDirty&&(this._enabledDirty=!1,xCt(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),k(this._clusterLabelCollection)&&this._clusterLabelCollection.update(o),k(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(o),k(this._clusterPointCollection)&&this._clusterPointCollection.update(o),k(this._labelCollection)&&this._labelCollection.update(o),k(this._billboardCollection)&&this._billboardCollection.update(o),k(this._pointCollection)&&this._pointCollection.update(o)};fB.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),k(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1};var rP=fB;function Kc(o){o=ae(o,ae.EMPTY_OBJECT),this.start=k(o.start)?jt.clone(o.start):new jt,this.stop=k(o.stop)?jt.clone(o.stop):new jt,this.data=o.data,this.isStartIncluded=ae(o.isStartIncluded,!0),this.isStopIncluded=ae(o.isStopIncluded,!0)}Object.defineProperties(Kc.prototype,{isEmpty:{get:function(){let o=jt.compare(this.stop,this.start);return o<0||o===0&&(!this.isStartIncluded||!this.isStopIncluded)}}});var Gk={start:void 0,stop:void 0,isStartIncluded:void 0,isStopIncluded:void 0,data:void 0};Kc.fromIso8601=function(o,A){let f=o.iso8601.split("/");if(f.length!==2)throw new ni("options.iso8601 is an invalid ISO 8601 interval.");let m=jt.fromIso8601(f[0]),C=jt.fromIso8601(f[1]),E=ae(o.isStartIncluded,!0),I=ae(o.isStopIncluded,!0),x=o.data;return k(A)?(A.start=m,A.stop=C,A.isStartIncluded=E,A.isStopIncluded=I,A.data=x,A):(Gk.start=m,Gk.stop=C,Gk.isStartIncluded=E,Gk.isStopIncluded=I,Gk.data=x,new Kc(Gk))};Kc.toIso8601=function(o,A){return`${jt.toIso8601(o.start,A)}/${jt.toIso8601(o.stop,A)}`};Kc.clone=function(o,A){if(k(o))return k(A)?(A.start=o.start,A.stop=o.stop,A.isStartIncluded=o.isStartIncluded,A.isStopIncluded=o.isStopIncluded,A.data=o.data,A):new Kc(o)};Kc.equals=function(o,A,f){return o===A||k(o)&&k(A)&&(o.isEmpty&&A.isEmpty||o.isStartIncluded===A.isStartIncluded&&o.isStopIncluded===A.isStopIncluded&&jt.equals(o.start,A.start)&&jt.equals(o.stop,A.stop)&&(o.data===A.data||k(f)&&f(o.data,A.data)))};Kc.equalsEpsilon=function(o,A,f,m){return f=ae(f,0),o===A||k(o)&&k(A)&&(o.isEmpty&&A.isEmpty||o.isStartIncluded===A.isStartIncluded&&o.isStopIncluded===A.isStopIncluded&&jt.equalsEpsilon(o.start,A.start,f)&&jt.equalsEpsilon(o.stop,A.stop,f)&&(o.data===A.data||k(m)&&m(o.data,A.data)))};Kc.intersect=function(o,A,f,m){if(!k(A))return Kc.clone(Kc.EMPTY,f);let C=o.start,E=o.stop,I=A.start,x=A.stop,y=jt.greaterThanOrEquals(I,C)&&jt.greaterThanOrEquals(E,I),v=!y&&jt.lessThanOrEquals(I,C)&&jt.lessThanOrEquals(C,x);if(!y&&!v)return Kc.clone(Kc.EMPTY,f);let w=o.isStartIncluded,Q=o.isStopIncluded,M=A.isStartIncluded,B=A.isStopIncluded,D=jt.lessThan(E,x);return k(f)||(f=new Kc),f.start=y?I:C,f.isStartIncluded=w&&M||!jt.equals(I,C)&&(y&&M||v&&w),f.stop=D?E:x,f.isStopIncluded=D?Q:Q&&B||!jt.equals(x,E)&&B,f.data=k(m)?m(o.data,A.data):o.data,f};Kc.contains=function(o,A){if(o.isEmpty)return!1;let f=jt.compare(o.start,A);if(f===0)return o.isStartIncluded;let m=jt.compare(A,o.stop);return m===0?o.isStopIncluded:f<0&&m<0};Kc.prototype.clone=function(o){return Kc.clone(this,o)};Kc.prototype.equals=function(o,A){return Kc.equals(this,o,A)};Kc.prototype.equalsEpsilon=function(o,A,f){return Kc.equalsEpsilon(this,o,A,f)};Kc.prototype.toString=function(){return Kc.toIso8601(this)};Kc.EMPTY=Object.freeze(new Kc({start:new jt,stop:new jt,isStartIncluded:!1,isStopIncluded:!1}));var cs=Kc,X4e=Object.freeze(jt.fromIso8601("0000-01-01T00:00:00Z")),Z4e=Object.freeze(jt.fromIso8601("9999-12-31T24:00:00Z")),yCt=Object.freeze(new cs({start:X4e,stop:Z4e})),vCt={MINIMUM_VALUE:X4e,MAXIMUM_VALUE:Z4e,MAXIMUM_INTERVAL:yCt},Zr=vCt;function qfe(o,A){return jt.compare(o.start,A.start)}function fd(o){if(this._intervals=[],this._changedEvent=new ir,k(o)){let A=o.length;for(let f=0;f0&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))};fd.prototype.findIntervalContainingDate=function(o){let A=this.indexOf(o);return A>=0?this._intervals[A]:void 0};fd.prototype.findDataForIntervalContainingDate=function(o){let A=this.indexOf(o);return A>=0?this._intervals[A].data:void 0};fd.prototype.contains=function(o){return this.indexOf(o)>=0};var qoe=new cs;fd.prototype.indexOf=function(o){let A=this._intervals;qoe.start=o,qoe.stop=o;let f=yf(A,qoe,qfe);return f>=0?A[f].isStartIncluded?f:f>0&&A[f-1].stop.equals(o)&&A[f-1].isStopIncluded?f-1:~f:(f=~f,f>0&&f-10&&o.isStartIncluded&&f[m-1].isStartIncluded&&f[m-1].start.equals(o.start)?--m:m0&&(C=jt.compare(f[m-1].stop,o.start),(C>0||C===0&&(f[m-1].isStopIncluded||o.isStartIncluded))&&((k(A)?A(f[m-1].data,o.data):f[m-1].data===o.data)?(jt.greaterThan(o.stop,f[m-1].stop)?o=new cs({start:f[m-1].start,stop:o.stop,isStartIncluded:f[m-1].isStartIncluded,isStopIncluded:o.isStopIncluded,data:o.data}):o=new cs({start:f[m-1].start,stop:f[m-1].stop,isStartIncluded:f[m-1].isStartIncluded,isStopIncluded:f[m-1].isStopIncluded||o.stop.equals(f[m-1].stop)&&o.isStopIncluded,data:o.data}),f.splice(m-1,1),--m):(C=jt.compare(f[m-1].stop,o.stop),(C>0||C===0&&f[m-1].isStopIncluded&&!o.isStopIncluded)&&f.splice(m,0,new cs({start:o.stop,stop:f[m-1].stop,isStartIncluded:!o.isStopIncluded,isStopIncluded:f[m-1].isStopIncluded,data:f[m-1].data})),f[m-1]=new cs({start:f[m-1].start,stop:o.start,isStartIncluded:f[m-1].isStartIncluded,isStopIncluded:!o.isStartIncluded,data:f[m-1].data}))));m0||C===0&&(o.isStopIncluded||f[m].isStartIncluded));)if(k(A)?A(f[m].data,o.data):f[m].data===o.data)o=new cs({start:o.start,stop:jt.greaterThan(f[m].stop,o.stop)?f[m].stop:o.stop,isStartIncluded:o.isStartIncluded,isStopIncluded:jt.greaterThan(f[m].stop,o.stop)?f[m].isStopIncluded:o.isStopIncluded,data:o.data}),f.splice(m,1);else if(f[m]=new cs({start:o.stop,stop:f[m].stop,isStartIncluded:!o.isStopIncluded,isStopIncluded:f[m].isStopIncluded,data:f[m].data}),f[m].isEmpty)f.splice(m,1);else break;f.splice(m,0,o),this._changedEvent.raiseEvent(this)};fd.prototype.removeInterval=function(o){if(o.isEmpty)return!1;let A=this._intervals,f=yf(A,o,qfe);f<0&&(f=~f);let m=!1;for(f>0&&(jt.greaterThan(A[f-1].stop,o.start)||A[f-1].stop.equals(o.start)&&A[f-1].isStopIncluded&&o.isStartIncluded)&&(m=!0,(jt.greaterThan(A[f-1].stop,o.stop)||A[f-1].isStopIncluded&&!o.isStopIncluded&&A[f-1].stop.equals(o.stop))&&A.splice(f,0,new cs({start:o.stop,stop:A[f-1].stop,isStartIncluded:!o.isStopIncluded,isStopIncluded:A[f-1].isStopIncluded,data:A[f-1].data})),A[f-1]=new cs({start:A[f-1].start,stop:o.start,isStartIncluded:A[f-1].isStartIncluded,isStopIncluded:!o.isStartIncluded,data:A[f-1].data})),f=1e3&&(C+=Math.floor(m/1e3),m=m%1e3),C>=60&&(E+=Math.floor(C/60),C=C%60),E>=60&&(I+=Math.floor(E/60),E=E%60),I>=24&&(x+=Math.floor(I/24),I=I%24),i8[2]=QU(v)?29:28;x>i8[y]||y>=13;)x>i8[y]&&(x-=i8[y],++y),y>=13&&(--y,v+=Math.floor(y/12),y=y%12,++y),i8[2]=QU(v)?29:28;return rm.millisecond=m,rm.second=C,rm.minute=E,rm.hour=I,rm.day=x,rm.month=y,rm.year=v,jt.fromGregorianDate(rm,f)}var _Ct=new jt,BCt=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function $4e(o,A){if(!k(o)||o.length===0)return!1;if(A.year=0,A.month=0,A.day=0,A.hour=0,A.minute=0,A.second=0,A.millisecond=0,o[0]==="P"){let f=o.match(BCt);if(!k(f))return!1;if(k(f[1])&&(A.year=Number(f[1].replace(",","."))),k(f[2])&&(A.month=Number(f[2].replace(",","."))),k(f[3])&&(A.day=Number(f[3].replace(",","."))*7),k(f[4])&&(A.day+=Number(f[4].replace(",","."))),k(f[5])&&(A.hour=Number(f[5].replace(",","."))),k(f[6])&&(A.minute=Number(f[6].replace(",","."))),k(f[7])){let m=Number(f[7].replace(",","."));A.second=Math.floor(m),A.millisecond=m%1*1e3}}else o[o.length-1]!=="Z"&&(o+="Z"),jt.toGregorianDate(jt.fromIso8601(o,_Ct),A);return A.year||A.month||A.day||A.hour||A.minute||A.second||A.millisecond}var bH=new RO;fd.fromIso8601=function(o,A){let f=o.iso8601.split("/"),m=jt.fromIso8601(f[0]),C=jt.fromIso8601(f[1]),E=[];if(!$4e(f[2],bH))E.push(m,C);else{let I=jt.clone(m);for(E.push(I);jt.compare(I,C)<0;)I=OAe(I,bH),jt.compare(C,I)<=0&&jt.clone(C,I),E.push(I)}return fd.fromJulianDateArray({julianDates:E,isStartIncluded:o.isStartIncluded,isStopIncluded:o.isStopIncluded,leadingInterval:o.leadingInterval,trailingInterval:o.trailingInterval,dataCallback:o.dataCallback},A)};fd.fromIso8601DateArray=function(o,A){return fd.fromJulianDateArray({julianDates:o.iso8601Dates.map(function(f){return jt.fromIso8601(f)}),isStartIncluded:o.isStartIncluded,isStopIncluded:o.isStopIncluded,leadingInterval:o.leadingInterval,trailingInterval:o.trailingInterval,dataCallback:o.dataCallback},A)};fd.fromIso8601DurationArray=function(o,A){let f=o.epoch,m=o.iso8601Durations,C=ae(o.relativeToPrevious,!1),E=[],I,x,y=m.length;for(let v=0;v0&&(this._hash={},o.length=0)};var mo=sN,wCt=qe.WHITE,bCt=Z.ZERO,QCt=tn.NONE,SCt=tt.ZERO,DCt=1,MCt=0,TCt=Z.ZERO,PCt=iu.CENTER,RCt=on.CENTER,LCt=!1,FCt=new Z,NCt=new qe,kCt=new Z,UCt=new tt,OCt=new no,GCt=new no,HCt=new no,VCt=new _r,zCt=new wo;function LDe(o){this.entity=o,this.billboard=void 0,this.textureValue=void 0}function lN(o,A){A=ae(A,ae.EMPTY_OBJECT),this._earthCtrl=o,this._collectionCluster=new rP,this._billboardCollection=new nI,this._items=new mo,this._addToMap=ae(A.addToMap,!0),this._visualizers=[],this._addToMap&&(o.primitives.add(this._billboardCollection),this._primitives=o.primitives.add(new I1),this._collectionCluster._initialize(o.coreMap.scene),this._primitives.add(this._collectionCluster),this._earthCtrl.dataSources._dataSources.push(this))}lN.prototype.update=function(o){let A=this._items.values,f=this._collectionCluster;for(let m=0,C=A.length;m-1;m--)C=o[m],k(C._position)&&E.set(C.id,new LDe(C));for(m=f.length-1;m>-1;m--)C=f[m],k(C._position)?E.contains(C.id)||E.set(C.id,new LDe(C)):(GAe(E.get(C.id),C,I),E.remove(C.id));for(m=A.length-1;m>-1;m--)C=A[m],GAe(E.get(C.id),C,I),E.remove(C.id)};function GAe(o,A,f){k(o)&&(o.billboard=void 0,f.removeBillboard(A))}lN.prototype.addToMap=function(){this._addToMap||(this._earthCtrl.primitives.add(this._billboardCollection),this._addToMap=!0)};lN.prototype.removeFromMap=function(){this._addToMap&&(this._billboardCollection.removeAll(),this._earthCtrl.primitives.remove(this._billboardCollection),this.clustering._billboardCollection.removeAll(),this.clustering._clusterBillboardCollection.destroy(),this.clustering._clusterBillboardCollection=void 0,this._addToMap=!1)};Object.defineProperties(lN.prototype,{show:{get:function(){return this._primitives.show},set:function(o){this._primitives.show=o}},clustering:{get:function(){return this._collectionCluster},set:function(o){this._collectionCluster=o}}});var e6e=lN,t6e={};t6e.Create=o=>{let A=o.toString();return A=A.substring(A.indexOf('"')+1,A.lastIndexOf('"')),new Worker(Ja(A))};var i6e={ConstructionWorker:t6e};function YCt(o){o("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),o("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),o("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),o.WGS84=o["EPSG:4326"],o["EPSG:3785"]=o["EPSG:3857"],o.GOOGLE=o["EPSG:3857"],o["EPSG:900913"]=o["EPSG:3857"],o["EPSG:102113"]=o["EPSG:3857"]}var pF=1,mF=2,X5=3,JCt=4,HAe=5,FDe=6378137,KCt=6356752314e-3,NDe=.0066943799901413165,QH=484813681109536e-20,bn=Math.PI/2,WCt=.16666666666666666,qCt=.04722222222222222,jCt=.022156084656084655,ao=1e-10,$0=.017453292519943295,o1=57.29577951308232,bu=Math.PI/4,hV=Math.PI*2,dg=3.14159265359,gI={};gI.greenwich=0;gI.lisbon=-9.131906111111;gI.paris=2.337229166667;gI.bogota=-74.080916666667;gI.madrid=-3.687938888889;gI.rome=12.452333333333;gI.bern=7.439583333333;gI.jakarta=106.807719444444;gI.ferro=-17.666666666667;gI.brussels=4.367975;gI.stockholm=18.058277777778;gI.athens=23.7163375;gI.oslo=10.722916666667;var XCt={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}},kDe=/[\s_\-\/\(\)]/g;function C2(o,A){if(o[A])return o[A];for(var f=Object.keys(o),m=A.toLowerCase().replace(kDe,""),C=-1,E,I;++C=this.text.length)return;o=this.text[this.place++]}switch(this.state){case dV:return this.neutral(o);case r6e:return this.keyword(o);case xj:return this.quoted(o);case o6e:return this.afterquote(o);case n6e:return this.number(o);case jfe:return}};KS.prototype.afterquote=function(o){if(o==='"'){this.word+='"',this.state=xj;return}if(zZ.test(o)){this.word=this.word.trim(),this.afterItem(o);return}throw new Error(`havn't handled "`+o+'" in afterquote yet, index '+this.place)};KS.prototype.afterItem=function(o){if(o===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=dV;return}if(o==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=dV,this.currentObject=this.stack.pop(),this.currentObject||(this.state=jfe);return}};KS.prototype.number=function(o){if(a6e.test(o)){this.word+=o;return}if(zZ.test(o)){this.word=parseFloat(this.word),this.afterItem(o);return}throw new Error(`havn't handled "`+o+'" in number yet, index '+this.place)};KS.prototype.quoted=function(o){if(o==='"'){this.state=o6e;return}this.word+=o};KS.prototype.keyword=function(o){if(tEt.test(o)){this.word+=o;return}if(o==="["){var A=[];A.push(this.word),this.level++,this.root===null?this.root=A:this.currentObject.push(A),this.stack.push(this.currentObject),this.currentObject=A,this.state=dV;return}if(zZ.test(o)){this.afterItem(o);return}throw new Error(`havn't handled "`+o+'" in keyword yet, index '+this.place)};KS.prototype.neutral=function(o){if(eEt.test(o)){this.word=o,this.state=r6e;return}if(o==='"'){this.word="",this.state=xj;return}if(a6e.test(o)){this.word=o,this.state=n6e;return}if(zZ.test(o)){this.afterItem(o);return}throw new Error(`havn't handled "`+o+'" in neutral yet, index '+this.place)};KS.prototype.output=function(){for(;this.place0?90:-90),o.lat_ts=o.lat1)}function s6e(o){var A=ZCt(o),f=A.shift(),m=A.shift();A.unshift(["name",m]),A.unshift(["type",f]);var C={};return F5(A,C),oEt(C),C}function Sy(o){var A=this;if(arguments.length===2){var f=arguments[1];typeof f=="string"?f.charAt(0)==="+"?Sy[o]=VAe(arguments[1]):Sy[o]=s6e(arguments[1]):Sy[o]=f}else if(arguments.length===1){if(Array.isArray(o))return o.map(function(m){Array.isArray(m)?Sy.apply(A,m):Sy(m)});if(typeof o=="string"){if(o in Sy)return Sy[o]}else"EPSG"in o?Sy["EPSG:"+o.EPSG]=o:"ESRI"in o?Sy["ESRI:"+o.ESRI]=o:"IAU2000"in o?Sy["IAU2000:"+o.IAU2000]=o:console.log(o);return}}YCt(Sy);var yj=Sy;function aEt(o){return typeof o=="string"}function sEt(o){return o in yj}var lEt=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function AEt(o){return lEt.some(function(A){return o.indexOf(A)>-1})}var uEt=["3857","900913","3785","102113"];function cEt(o){var A=C2(o,"authority");if(A){var f=C2(A,"epsg");return f&&uEt.indexOf(f)>-1}}function hEt(o){var A=C2(o,"extension");if(A)return C2(A,"proj4")}function dEt(o){return o[0]==="+"}function gEt(o){if(aEt(o)){if(sEt(o))return yj[o];if(AEt(o)){var A=s6e(o);if(cEt(A))return yj["EPSG:3857"];var f=hEt(A);return f?VAe(f):A}if(dEt(o))return VAe(o)}else return o}var fEt=gEt;function ODe(o,A){o=o||{};var f,m;if(!A)return o;for(m in A)f=A[m],f!==void 0&&(o[m]=f);return o}function x1(o,A,f){var m=o*A;return f/Math.sqrt(1-m*m)}function Y9(o){return o<0?-1:1}function Qo(o){return Math.abs(o)<=dg?o:o-Y9(o)*hV}function V_(o,A,f){var m=o*f,C=.5*o;return m=Math.pow((1-m)/(1+m),C),Math.tan(.5*(bn-A))/m}function gV(o,A){for(var f=.5*o,m,C,E=bn-2*Math.atan(A),I=0;I<=15;I++)if(m=o*Math.sin(E),C=bn-2*Math.atan(A*Math.pow((1-m)/(1+m),f))-E,E+=C,Math.abs(C)<=1e-10)return E;return-9999}function pEt(){var o=this.b/this.a;this.es=1-o*o,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=x1(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function mEt(o){var A=o.x,f=o.y;if(f*o1>90&&f*o1<-90&&A*o1>180&&A*o1<-180)return null;var m,C;if(Math.abs(Math.abs(f)-bn)<=ao)return null;if(this.sphere)m=this.x0+this.a*this.k0*Qo(A-this.long0),C=this.y0+this.a*this.k0*Math.log(Math.tan(bu+.5*f));else{var E=Math.sin(f),I=V_(this.e,f,E);m=this.x0+this.a*this.k0*Qo(A-this.long0),C=this.y0-this.a*this.k0*Math.log(I)}return o.x=m,o.y=C,o}function CEt(o){var A=o.x-this.x0,f=o.y-this.y0,m,C;if(this.sphere)C=bn-2*Math.atan(Math.exp(-f/(this.a*this.k0)));else{var E=Math.exp(-f/(this.a*this.k0));if(C=gV(this.e,E),C===-9999)return null}return m=Qo(this.long0+A/(this.a*this.k0)),o.x=m,o.y=C,o}var EEt=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"],IEt={init:pEt,forward:mEt,inverse:CEt,names:EEt};function xEt(){}function GDe(o){return o}var yEt=["longlat","identity"],vEt={init:xEt,forward:GDe,inverse:GDe,names:yEt},_Et=[IEt,vEt],Mq={},vj=[];function l6e(o,A){var f=vj.length;return o.names?(vj[f]=o,o.names.forEach(function(m){Mq[m.toLowerCase()]=f}),this):(console.log(A),!0)}function BEt(o){if(!o)return!1;var A=o.toLowerCase();if(typeof Mq[A]<"u"&&vj[Mq[A]])return vj[Mq[A]]}function wEt(){_Et.forEach(l6e)}var bEt={start:wEt,add:l6e,get:BEt},Ps={};Ps.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"};Ps.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"};Ps.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"};Ps.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"};Ps.airy={a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"};Ps.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"};Ps.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"};Ps.mod_airy={a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"};Ps.andrae={a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"};Ps.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"};Ps.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"};Ps.bessel={a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"};Ps.bess_nam={a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"};Ps.clrk66={a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"};Ps.clrk80={a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."};Ps.clrk80ign={a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"};Ps.clrk58={a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"};Ps.CPM={a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"};Ps.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"};Ps.engelis={a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"};Ps.evrst30={a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"};Ps.evrst48={a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"};Ps.evrst56={a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"};Ps.evrst69={a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"};Ps.evrstSS={a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"};Ps.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"};Ps.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"};Ps.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"};Ps.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"};Ps.hough={a:6378270,rf:297,ellipseName:"Hough"};Ps.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"};Ps.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"};Ps.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"};Ps.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"};Ps.new_intl={a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"};Ps.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"};Ps.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"};Ps.SEasia={a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"};Ps.walbeck={a:6376896,b:63558348467e-4,ellipseName:"Walbeck"};Ps.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"};Ps.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"};Ps.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var QEt=Ps.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};Ps.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};function SEt(o,A,f,m){var C=o*o,E=A*A,I=(C-E)/C,x=0;m?(o*=1-I*(WCt+I*(qCt+I*jCt)),C=o*o,I=0):x=Math.sqrt(I);var y=(C-E)/E;return{es:I,e:x,ep2:y}}function DEt(o,A,f,m,C){if(!o){var E=C2(Ps,m);E||(E=QEt),o=E.a,A=E.b,f=E.rf}return f&&!A&&(A=(1-1/f)*o),(f===0||Math.abs(o-A)3&&(x.datum_params[3]!==0||x.datum_params[4]!==0||x.datum_params[5]!==0||x.datum_params[6]!==0)&&(x.datum_type=mF,x.datum_params[3]*=QH,x.datum_params[4]*=QH,x.datum_params[5]*=QH,x.datum_params[6]=x.datum_params[6]/1e6+1)),I&&(x.datum_type=X5,x.grids=I),x.a=f,x.b=m,x.es=C,x.ep2=E,x}var TEt=MEt,A6e={};function PEt(o,A){var f=new DataView(A),m=FEt(f),C=NEt(f,m);C.nSubgrids>1&&console.log("Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored");var E=kEt(f,C,m),I={header:C,subgrids:E};return A6e[o]=I,I}function REt(o){if(o===void 0)return null;var A=o.split(",");return A.map(LEt)}function LEt(o){if(o.length===0)return null;var A=o[0]==="@";return A&&(o=o.slice(1)),o==="null"?{name:"null",mandatory:!A,grid:null,isNull:!0}:{name:o,mandatory:!A,grid:A6e[o]||null,isNull:!1}}function N5(o){return o/3600*Math.PI/180}function FEt(o){var A=o.getInt32(8,!1);return A===11?!1:(A=o.getInt32(8,!0),A!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function NEt(o,A){return{nFields:o.getInt32(8,A),nSubgridFields:o.getInt32(24,A),nSubgrids:o.getInt32(40,A),shiftType:zAe(o,56,56+8).trim(),fromSemiMajorAxis:o.getFloat64(120,A),fromSemiMinorAxis:o.getFloat64(136,A),toSemiMajorAxis:o.getFloat64(152,A),toSemiMinorAxis:o.getFloat64(168,A)}}function zAe(o,A,f){return String.fromCharCode.apply(null,new Uint8Array(o.buffer.slice(A,f)))}function kEt(o,A,f){for(var m=176,C=[],E=0;E5e-11?!1:o.datum_type===pF?o.datum_params[0]===A.datum_params[0]&&o.datum_params[1]===A.datum_params[1]&&o.datum_params[2]===A.datum_params[2]:o.datum_type===mF?o.datum_params[0]===A.datum_params[0]&&o.datum_params[1]===A.datum_params[1]&&o.datum_params[2]===A.datum_params[2]&&o.datum_params[3]===A.datum_params[3]&&o.datum_params[4]===A.datum_params[4]&&o.datum_params[5]===A.datum_params[5]&&o.datum_params[6]===A.datum_params[6]:!0}function u6e(o,A,f){var m=o.x,C=o.y,E=o.z?o.z:0,I,x,y,v;if(C<-bn&&C>-1.001*bn)C=-bn;else if(C>bn&&C<1.001*bn)C=bn;else{if(C<-bn)return{x:-1/0,y:-1/0,z:o.z};if(C>bn)return{x:1/0,y:1/0,z:o.z}}return m>Math.PI&&(m-=2*Math.PI),x=Math.sin(C),v=Math.cos(C),y=x*x,I=f/Math.sqrt(1-A*y),{x:(I+E)*v*Math.cos(m),y:(I+E)*v*Math.sin(m),z:(I*(1-A)+E)*x}}function c6e(o,A,f,m){var C=1e-12,E=C*C,I=30,x,y,v,w,Q,M,B,D,S,P,R,T,L,F=o.x,U=o.y,N=o.z?o.z:0,H,J,K;if(x=Math.sqrt(F*F+U*U),y=Math.sqrt(F*F+U*U+N*N),x/fE&&Lm.y||Q>m.x||Dx&&Math.abs(y.y)>x);if(I<0)return console.log("Inverse grid shift iterator failed to converge."),m;m.x=Qo(E.x+f.ll[0]),m.y=E.y+f.ll[1]}else isNaN(E.x)||(m.x=o.x+E.x,m.y=o.y+E.y);return m}function VDe(o,A){var f={x:o.x/A.del[0],y:o.y/A.del[1]},m={x:Math.floor(f.x),y:Math.floor(f.y)},C={x:f.x-1*m.x,y:f.y-1*m.y},E={x:Number.NaN,y:Number.NaN},I;if(m.x<0||m.x>=A.lim[0]||m.y<0||m.y>=A.lim[1])return E;I=m.y*A.lim[0]+m.x;var x={x:A.cvs[I][0],y:A.cvs[I][1]};I++;var y={x:A.cvs[I][0],y:A.cvs[I][1]};I+=A.lim[0];var v={x:A.cvs[I][0],y:A.cvs[I][1]};I--;var w={x:A.cvs[I][0],y:A.cvs[I][1]},Q=C.x*C.y,M=C.x*(1-C.y),B=(1-C.x)*(1-C.y),D=(1-C.x)*C.y;return E.x=B*x.x+M*y.x+D*w.x+Q*v.x,E.y=B*x.y+M*y.y+D*w.y+Q*v.y,E}function zDe(o,A,f){var m=f.x,C=f.y,E=f.z||0,I,x,y,v={};for(y=0;y<3;y++)if(!(A&&y===2&&f.z===void 0))switch(y===0?(I=m,"ew".indexOf(o.axis[y])!==-1?x="x":x="y"):y===1?(I=C,"ns".indexOf(o.axis[y])!==-1?x="y":x="x"):(I=E,x="z"),o.axis[y]){case"e":v[x]=I;break;case"w":v[x]=-I;break;case"n":v[x]=I;break;case"s":v[x]=-I;break;case"u":f[x]!==void 0&&(v.z=I);break;case"d":f[x]!==void 0&&(v.z=-I);break;default:return null}return v}function h6e(o){var A={x:o[0],y:o[1]};return o.length>2&&(A.z=o[2]),o.length>3&&(A.m=o[3]),A}function KEt(o){YDe(o.x),YDe(o.y)}function YDe(o){if(typeof Number.isFinite=="function"){if(Number.isFinite(o))return;throw new TypeError("coordinates must be finite numbers")}if(typeof o!="number"||o!==o||!isFinite(o))throw new TypeError("coordinates must be finite numbers")}function WEt(o,A){return(o.datum.datum_type===pF||o.datum.datum_type===mF||o.datum.datum_type===X5)&&A.datumCode!=="WGS84"||(A.datum.datum_type===pF||A.datum.datum_type===mF||A.datum.datum_type===X5)&&o.datumCode!=="WGS84"}function _j(o,A,f,m){var C;Array.isArray(f)?f=h6e(f):f={x:f.x,y:f.y,z:f.z,m:f.m};var E=f.z!==void 0;if(KEt(f),o.datum&&A.datum&&WEt(o,A)&&(C=new fV("WGS84"),f=_j(o,C,f,m),o=C),m&&o.axis!=="enu"&&(f=zDe(o,!1,f)),o.projName==="longlat")f={x:f.x*$0,y:f.y*$0,z:f.z||0};else if(o.to_meter&&(f={x:f.x*o.to_meter,y:f.y*o.to_meter,z:f.z||0}),f=o.inverse(f),!f)return;if(o.from_greenwich&&(f.x+=o.from_greenwich),f=YEt(o.datum,A.datum,f),!!f)return A.from_greenwich&&(f={x:f.x-A.from_greenwich,y:f.y,z:f.z||0}),A.projName==="longlat"?f={x:f.x*o1,y:f.y*o1,z:f.z||0}:(f=A.forward(f),A.to_meter&&(f={x:f.x/A.to_meter,y:f.y/A.to_meter,z:f.z||0})),m&&A.axis!=="enu"?zDe(A,!0,f):(E||delete f.z,f)}var JDe=fV("WGS84");function joe(o,A,f,m){var C,E,I;return Array.isArray(f)?(C=_j(o,A,f,m)||{x:NaN,y:NaN},f.length>2?typeof o.name<"u"&&o.name==="geocent"||typeof A.name<"u"&&A.name==="geocent"?typeof C.z=="number"?[C.x,C.y,C.z].concat(f.splice(3)):[C.x,C.y,f[2]].concat(f.splice(3)):[C.x,C.y].concat(f.splice(2)):[C.x,C.y]):(E=_j(o,A,f,m),I=Object.keys(f),I.length===2||I.forEach(function(x){if(typeof o.name<"u"&&o.name==="geocent"||typeof A.name<"u"&&A.name==="geocent"){if(x==="x"||x==="y"||x==="z")return}else if(x==="x"||x==="y")return;E[x]=f[x]}),E)}function KDe(o){return o instanceof fV?o:o.oProj?o.oProj:fV(o)}function qEt(o,A,f){o=KDe(o);var m=!1,C;return typeof A>"u"?(A=o,o=JDe,m=!0):(typeof A.x<"u"||Array.isArray(A))&&(f=A,A=o,o=JDe,m=!0),A=KDe(A),f?joe(o,A,f):(C={forward:function(E,I){return joe(o,A,E,I)},inverse:function(E,I){return joe(A,o,E,I)}},m&&(C.oProj=A),C)}var Dx=qEt,WDe=6,d6e="AJSAJS",g6e="AFAFAF",k5=65,NE=73,Dy=79,Z8=86,$8=90,jEt={forward:f6e,inverse:XEt,toPoint:p6e};function f6e(o,A){return A=A||5,eIt(ZEt({lat:o[1],lon:o[0]}),A)}function XEt(o){var A=Xfe(C6e(o.toUpperCase()));return A.lat&&A.lon?[A.lon,A.lat,A.lon,A.lat]:[A.left,A.bottom,A.right,A.top]}function p6e(o){var A=Xfe(C6e(o.toUpperCase()));return A.lat&&A.lon?[A.lon,A.lat]:[(A.left+A.right)/2,(A.top+A.bottom)/2]}function Xoe(o){return o*(Math.PI/180)}function qDe(o){return 180*(o/Math.PI)}function ZEt(o){var A=o.lat,f=o.lon,m=6378137,C=.00669438,E=.9996,I,x,y,v,w,Q,M,B=Xoe(A),D=Xoe(f),S,P;P=Math.floor((f+180)/6)+1,f===180&&(P=60),A>=56&&A<64&&f>=3&&f<12&&(P=32),A>=72&&A<84&&(f>=0&&f<9?P=31:f>=9&&f<21?P=33:f>=21&&f<33?P=35:f>=33&&f<42&&(P=37)),I=(P-1)*6-180+3,S=Xoe(I),x=C/(1-C),y=m/Math.sqrt(1-C*Math.sin(B)*Math.sin(B)),v=Math.tan(B)*Math.tan(B),w=x*Math.cos(B)*Math.cos(B),Q=Math.cos(B)*(D-S),M=m*((1-C/4-3*C*C/64-5*C*C*C/256)*B-(3*C/8+3*C*C/32+45*C*C*C/1024)*Math.sin(2*B)+(15*C*C/256+45*C*C*C/1024)*Math.sin(4*B)-35*C*C*C/3072*Math.sin(6*B));var R=E*y*(Q+(1-v+w)*Q*Q*Q/6+(5-18*v+v*v+72*w-58*x)*Q*Q*Q*Q*Q/120)+5e5,T=E*(M+y*Math.tan(B)*(Q*Q/2+(5-v+9*w+4*w*w)*Q*Q*Q*Q/24+(61-58*v+v*v+600*w-330*x)*Q*Q*Q*Q*Q*Q/720));return A<0&&(T+=1e7),{northing:Math.round(T),easting:Math.round(R),zoneNumber:P,zoneLetter:$Et(A)}}function Xfe(o){var A=o.northing,f=o.easting,m=o.zoneLetter,C=o.zoneNumber;if(C<0||C>60)return null;var E=.9996,I=6378137,x=.00669438,y,v=(1-Math.sqrt(1-x))/(1+Math.sqrt(1-x)),w,Q,M,B,D,S,P,R,T,L=f-5e5,F=A;m<"N"&&(F-=1e7),P=(C-1)*6-180+3,y=x/(1-x),S=F/E,R=S/(I*(1-x/4-3*x*x/64-5*x*x*x/256)),T=R+(3*v/2-27*v*v*v/32)*Math.sin(2*R)+(21*v*v/16-55*v*v*v*v/32)*Math.sin(4*R)+151*v*v*v/96*Math.sin(6*R),w=I/Math.sqrt(1-x*Math.sin(T)*Math.sin(T)),Q=Math.tan(T)*Math.tan(T),M=y*Math.cos(T)*Math.cos(T),B=I*(1-x)/Math.pow(1-x*Math.sin(T)*Math.sin(T),1.5),D=L/(w*E);var U=T-w*Math.tan(T)/B*(D*D/2-(5+3*Q+10*M-4*M*M-9*y)*D*D*D*D/24+(61+90*Q+298*M+45*Q*Q-252*y-3*M*M)*D*D*D*D*D*D/720);U=qDe(U);var N=(D-(1+2*Q+M)*D*D*D/6+(5-2*M+28*Q-3*M*M+8*y+24*Q*Q)*D*D*D*D*D/120)/Math.cos(T);N=P+qDe(N);var H;if(o.accuracy){var J=Xfe({northing:o.northing+o.accuracy,easting:o.easting+o.accuracy,zoneLetter:o.zoneLetter,zoneNumber:o.zoneNumber});H={top:J.lat,right:J.lon,bottom:U,left:N}}else H={lat:U,lon:N};return H}function $Et(o){var A="Z";return 84>=o&&o>=72?A="X":72>o&&o>=64?A="W":64>o&&o>=56?A="V":56>o&&o>=48?A="U":48>o&&o>=40?A="T":40>o&&o>=32?A="S":32>o&&o>=24?A="R":24>o&&o>=16?A="Q":16>o&&o>=8?A="P":8>o&&o>=0?A="N":0>o&&o>=-8?A="M":-8>o&&o>=-16?A="L":-16>o&&o>=-24?A="K":-24>o&&o>=-32?A="J":-32>o&&o>=-40?A="H":-40>o&&o>=-48?A="G":-48>o&&o>=-56?A="F":-56>o&&o>=-64?A="E":-64>o&&o>=-72?A="D":-72>o&&o>=-80&&(A="C"),A}function eIt(o,A){var f="00000"+o.easting,m="00000"+o.northing;return o.zoneNumber+o.zoneLetter+tIt(o.easting,o.northing,o.zoneNumber)+f.substr(f.length-5,A)+m.substr(m.length-5,A)}function tIt(o,A,f){var m=m6e(f),C=Math.floor(o/1e5),E=Math.floor(A/1e5)%20;return iIt(C,E,m)}function m6e(o){var A=o%WDe;return A===0&&(A=WDe),A}function iIt(o,A,f){var m=f-1,C=d6e.charCodeAt(m),E=g6e.charCodeAt(m),I=C+o-1,x=E+A,y=!1;I>$8&&(I=I-$8+k5-1,y=!0),(I===NE||CNE||(I>NE||CDy||(I>Dy||C$8&&(I=I-$8+k5-1),x>Z8?(x=x-Z8+k5-1,y=!0):y=!1,(x===NE||ENE||(x>NE||EDy||(x>Dy||EZ8&&(x=x-Z8+k5-1);var v=String.fromCharCode(I)+String.fromCharCode(x);return v}function C6e(o){if(o&&o.length===0)throw"MGRSPoint coverting from nothing";for(var A=o.length,f=null,m="",C,E=0;!/[A-Z]/.test(C=o.charAt(E));){if(E>=2)throw"MGRSPoint bad conversion from: "+o;m+=C,E++}var I=parseInt(m,10);if(E===0||E+3>A)throw"MGRSPoint bad conversion from: "+o;var x=o.charAt(E++);if(x<="A"||x==="B"||x==="Y"||x>="Z"||x==="I"||x==="O")throw"MGRSPoint zone letter "+x+" not handled: "+o;f=o.substring(E,E+=2);for(var y=m6e(I),v=rIt(f.charAt(0),y),w=nIt(f.charAt(1),y);w0&&(S=1e5/Math.pow(10,M),P=o.substring(E,E+M),B=parseFloat(P)*S,R=o.substring(E+M),D=parseFloat(R)*S),T=B+v,L=D+w,{easting:T,northing:L,zoneLetter:x,zoneNumber:I,accuracy:S}}function rIt(o,A){for(var f=d6e.charCodeAt(A-1),m=1e5,C=!1;f!==o.charCodeAt(0);){if(f++,f===NE&&f++,f===Dy&&f++,f>$8){if(C)throw"Bad character: "+o;f=k5,C=!0}m+=1e5}return m}function nIt(o,A){if(o>"V")throw"MGRSPoint given invalid Northing "+o;for(var f=g6e.charCodeAt(A-1),m=0,C=!1;f!==o.charCodeAt(0);){if(f++,f===NE&&f++,f===Dy&&f++,f>Z8){if(C)throw"Bad character: "+o;f=k5,C=!0}m+=1e5}return m}function oIt(o){var A;switch(o){case"C":A=11e5;break;case"D":A=2e6;break;case"E":A=28e5;break;case"F":A=37e5;break;case"G":A=46e5;break;case"H":A=55e5;break;case"J":A=64e5;break;case"K":A=73e5;break;case"L":A=82e5;break;case"M":A=91e5;break;case"N":A=0;break;case"P":A=8e5;break;case"Q":A=17e5;break;case"R":A=26e5;break;case"S":A=35e5;break;case"T":A=44e5;break;case"U":A=53e5;break;case"V":A=62e5;break;case"W":A=7e6;break;case"X":A=79e5;break;default:A=-1}if(A>=0)return A;throw"Invalid zone letter: "+o}function DU(o,A,f){if(!(this instanceof DU))return new DU(o,A,f);if(Array.isArray(o))this.x=o[0],this.y=o[1],this.z=o[2]||0;else if(typeof o=="object")this.x=o.x,this.y=o.y,this.z=o.z||0;else if(typeof o=="string"&&typeof A>"u"){var m=o.split(",");this.x=parseFloat(m[0],10),this.y=parseFloat(m[1],10),this.z=parseFloat(m[2],10)||0}else this.x=o,this.y=A,this.z=f||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}DU.fromMGRS=function(o){return new DU(p6e(o))};DU.prototype.toMGRS=function(o){return f6e([this.x,this.y],o)};var aIt=DU,sIt=1,lIt=.25,jDe=.046875,XDe=.01953125,ZDe=.01068115234375,AIt=.75,uIt=.46875,cIt=.013020833333333334,hIt=.007120768229166667,dIt=.3645833333333333,gIt=.005696614583333333,fIt=.3076171875;function E6e(o){var A=[];A[0]=sIt-o*(lIt+o*(jDe+o*(XDe+o*ZDe))),A[1]=o*(AIt-o*(jDe+o*(XDe+o*ZDe)));var f=o*o;return A[2]=f*(uIt-o*(cIt+o*hIt)),f*=o,A[3]=f*(dIt-o*gIt),A[4]=f*o*fIt,A}function YZ(o,A,f,m){return f*=A,A*=A,m[0]*o-f*(m[1]+A*(m[2]+A*(m[3]+A*m[4])))}var pIt=20;function I6e(o,A,f){for(var m=1/(1-A),C=o,E=pIt;E;--E){var I=Math.sin(C),x=1-A*I*I;if(x=(YZ(C,I,Math.cos(C),f)-o)*(x*Math.sqrt(x))*m,C-=x,Math.abs(x)ao?Math.tan(f):0,D=Math.pow(B,2),S=Math.pow(D,2);C=1-this.es*Math.pow(x,2),v=v/Math.sqrt(C);var P=YZ(f,x,y,this.en);E=this.a*(this.k0*v*(1+w/6*(1-D+Q+w/20*(5-18*D+S+14*Q-58*D*Q+w/42*(61+179*S-S*D-479*D)))))+this.x0,I=this.a*(this.k0*(P-this.ml0+x*m*v/2*(1+w/12*(5-D+9*Q+4*M+w/30*(61+S-58*D+270*Q-330*D*Q+w/56*(1385+543*S-S*D-3111*D))))))+this.y0}else{var R=y*Math.sin(m);if(Math.abs(Math.abs(R)-1)=1){if(R-1>ao)return 93;I=0}else I=Math.acos(I);f<0&&(I=-I),I=this.a*this.k0*(I-this.lat0)+this.y0}return o.x=E,o.y=I,o}function EIt(o){var A,f,m,C,E=(o.x-this.x0)*(1/this.a),I=(o.y-this.y0)*(1/this.a);if(this.es)if(A=this.ml0+I/this.k0,f=I6e(A,this.es,this.en),Math.abs(f)ao?Math.tan(f):0,w=this.ep2*Math.pow(y,2),Q=Math.pow(w,2),M=Math.pow(v,2),B=Math.pow(M,2);A=1-this.es*Math.pow(x,2);var D=E*Math.sqrt(A)/this.k0,S=Math.pow(D,2);A=A*v,m=f-A*S/(1-this.es)*.5*(1-S/12*(5+3*M-9*w*M+w-4*Q-S/30*(61+90*M-252*w*M+45*B+46*w-S/56*(1385+3633*M+4095*B+1574*B*M)))),C=Qo(this.long0+D*(1-S/6*(1+2*M+w-S/20*(5+28*M+24*B+8*w*M+6*w-S/42*(61+662*M+1320*B+720*B*M))))/y)}else m=bn*Y9(I),C=0;else{var P=Math.exp(E/this.k0),R=.5*(P-1/P),T=this.lat0+I/this.k0,L=Math.cos(T);A=Math.sqrt((1-Math.pow(L,2))/(1+Math.pow(R,2))),m=Math.asin(A),I<0&&(m=-m),R===0&&L===0?C=0:C=Qo(Math.atan2(R,L)+this.long0)}return o.x=C,o.y=m,o}var IIt=["Fast_Transverse_Mercator","Fast Transverse Mercator"],Tq={init:mIt,forward:CIt,inverse:EIt,names:IIt};function x6e(o){var A=Math.exp(o);return A=(A-1/A)/2,A}function G_(o,A){o=Math.abs(o),A=Math.abs(A);var f=Math.max(o,A),m=Math.min(o,A)/(f||1);return f*Math.sqrt(1+Math.pow(m,2))}function xIt(o){var A=1+o,f=A-1;return f===0?o:o*Math.log(A)/f}function yIt(o){var A=Math.abs(o);return A=xIt(A*(1+A/(G_(1,A)+1))),o<0?-A:A}function Zfe(o,A){for(var f=2*Math.cos(2*A),m=o.length-1,C=o[m],E=0,I;--m>=0;)I=-E+f*C+o[m],E=C,C=I;return A+I*Math.sin(2*A)}function vIt(o,A){for(var f=2*Math.cos(A),m=o.length-1,C=o[m],E=0,I;--m>=0;)I=-E+f*C+o[m],E=C,C=I;return Math.sin(A)*I}function _It(o){var A=Math.exp(o);return A=(A+1/A)/2,A}function y6e(o,A,f){for(var m=Math.sin(A),C=Math.cos(A),E=x6e(f),I=_It(f),x=2*C*I,y=-2*m*E,v=o.length-1,w=o[v],Q=0,M=0,B=0,D,S;--v>=0;)D=M,S=Q,M=w,Q=B,w=-D+x*M-y*Q+o[v],B=-S+y*M+x*Q;return x=m*I,y=C*E,[x*w-y*B,x*B+y*w]}function BIt(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(Tq.init.apply(this),this.forward=Tq.forward,this.inverse=Tq.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var o=this.es/(1+Math.sqrt(1-this.es)),A=o/(2-o),f=A;this.cgb[0]=A*(2+A*(-2/3+A*(-2+A*(116/45+A*(26/45+A*(-2854/675)))))),this.cbg[0]=A*(-2+A*(2/3+A*(4/3+A*(-82/45+A*(32/45+A*(4642/4725)))))),f=f*A,this.cgb[1]=f*(7/3+A*(-8/5+A*(-227/45+A*(2704/315+A*(2323/945))))),this.cbg[1]=f*(5/3+A*(-16/15+A*(-13/9+A*(904/315+A*(-1522/945))))),f=f*A,this.cgb[2]=f*(56/15+A*(-136/35+A*(-1262/105+A*(73814/2835)))),this.cbg[2]=f*(-26/15+A*(34/21+A*(8/5+A*(-12686/2835)))),f=f*A,this.cgb[3]=f*(4279/630+A*(-332/35+A*(-399572/14175))),this.cbg[3]=f*(1237/630+A*(-12/5+A*(-24832/14175))),f=f*A,this.cgb[4]=f*(4174/315+A*(-144838/6237)),this.cbg[4]=f*(-734/315+A*(109598/31185)),f=f*A,this.cgb[5]=f*(601676/22275),this.cbg[5]=f*(444337/155925),f=Math.pow(A,2),this.Qn=this.k0/(1+A)*(1+f*(1/4+f*(1/64+f/256))),this.utg[0]=A*(-.5+A*(2/3+A*(-37/96+A*(1/360+A*(81/512+A*(-96199/604800)))))),this.gtu[0]=A*(.5+A*(-2/3+A*(5/16+A*(41/180+A*(-127/288+A*(7891/37800)))))),this.utg[1]=f*(-1/48+A*(-1/15+A*(437/1440+A*(-46/105+A*(1118711/3870720))))),this.gtu[1]=f*(13/48+A*(-3/5+A*(557/1440+A*(281/630+A*(-1983433/1935360))))),f=f*A,this.utg[2]=f*(-17/480+A*(37/840+A*(209/4480+A*(-5569/90720)))),this.gtu[2]=f*(61/240+A*(-103/140+A*(15061/26880+A*(167603/181440)))),f=f*A,this.utg[3]=f*(-4397/161280+A*(11/504+A*(830251/7257600))),this.gtu[3]=f*(49561/161280+A*(-179/168+A*(6601661/7257600))),f=f*A,this.utg[4]=f*(-4583/161280+A*(108847/3991680)),this.gtu[4]=f*(34729/80640+A*(-3418889/1995840)),f=f*A,this.utg[5]=f*(-20648693/638668800),this.gtu[5]=f*(212378941/319334400);var m=Zfe(this.cbg,this.lat0);this.Zb=-this.Qn*(m+vIt(this.gtu,2*m))}function wIt(o){var A=Qo(o.x-this.long0),f=o.y;f=Zfe(this.cbg,f);var m=Math.sin(f),C=Math.cos(f),E=Math.sin(A),I=Math.cos(A);f=Math.atan2(m,I*C),A=Math.atan2(E*C,G_(m,C*I)),A=yIt(Math.tan(A));var x=y6e(this.gtu,2*f,2*A);f=f+x[0],A=A+x[1];var y,v;return Math.abs(A)<=2.623395162778?(y=this.a*(this.Qn*A)+this.x0,v=this.a*(this.Qn*f+this.Zb)+this.y0):(y=1/0,v=1/0),o.x=y,o.y=v,o}function bIt(o){var A=(o.x-this.x0)*(1/this.a),f=(o.y-this.y0)*(1/this.a);f=(f-this.Zb)/this.Qn,A=A/this.Qn;var m,C;if(Math.abs(A)<=2.623395162778){var E=y6e(this.utg,2*f,2*A);f=f+E[0],A=A+E[1],A=Math.atan(x6e(A));var I=Math.sin(f),x=Math.cos(f),y=Math.sin(A),v=Math.cos(A);f=Math.atan2(I*v,G_(y,v*x)),A=Math.atan2(y,v*x),m=Qo(A+this.long0),C=Zfe(this.cgb,f)}else m=1/0,C=1/0;return o.x=m,o.y=C,o}var QIt=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","tmerc"],Pq={init:BIt,forward:wIt,inverse:bIt,names:QIt};function SIt(o,A){if(o===void 0){if(o=Math.floor((Qo(A)+Math.PI)*30/Math.PI)+1,o<0)return 0;if(o>60)return 60}return o}var DIt="etmerc";function MIt(){var o=SIt(this.zone,this.long0);if(o===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(o)-183)*$0,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Pq.init.apply(this),this.forward=Pq.forward,this.inverse=Pq.inverse}var TIt=["Universal Transverse Mercator System","utm"],PIt={init:MIt,names:TIt,dependsOn:DIt};function $fe(o,A){return Math.pow((1-o)/(1+o),A)}var RIt=20;function LIt(){var o=Math.sin(this.lat0),A=Math.cos(this.lat0);A*=A,this.rc=Math.sqrt(1-this.es)/(1-this.es*o*o),this.C=Math.sqrt(1+this.es*A*A/(1-this.es)),this.phic0=Math.asin(o/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+bu)/(Math.pow(Math.tan(.5*this.lat0+bu),this.C)*$fe(this.e*o,this.ratexp))}function FIt(o){var A=o.x,f=o.y;return o.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*f+bu),this.C)*$fe(this.e*Math.sin(f),this.ratexp))-bn,o.x=this.C*A,o}function NIt(o){for(var A=1e-14,f=o.x/this.C,m=o.y,C=Math.pow(Math.tan(.5*m+bu)/this.K,1/this.C),E=RIt;E>0&&(m=2*Math.atan(C*$fe(this.e*Math.sin(o.y),-.5*this.e))-bn,!(Math.abs(m-o.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=ao&&(this.k0=.5*this.cons*x1(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/V_(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=x1(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-bn,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function JIt(o){var A=o.x,f=o.y,m=Math.sin(f),C=Math.cos(f),E,I,x,y,v,w,Q=Qo(A-this.long0);return Math.abs(Math.abs(A-this.long0)-Math.PI)<=ao&&Math.abs(f+this.lat0)<=ao?(o.x=NaN,o.y=NaN,o):this.sphere?(E=2*this.k0/(1+this.sinlat0*m+this.coslat0*C*Math.cos(Q)),o.x=this.a*E*C*Math.sin(Q)+this.x0,o.y=this.a*E*(this.coslat0*m-this.sinlat0*C*Math.cos(Q))+this.y0,o):(I=2*Math.atan(this.ssfn_(f,m,this.e))-bn,y=Math.cos(I),x=Math.sin(I),Math.abs(this.coslat0)<=ao?(v=V_(this.e,f*this.con,this.con*m),w=2*this.a*this.k0*v/this.cons,o.x=this.x0+w*Math.sin(A-this.long0),o.y=this.y0-this.con*w*Math.cos(A-this.long0),o):(Math.abs(this.sinlat0)0?A=Qo(this.long0+Math.atan2(o.x,-1*o.y)):A=Qo(this.long0+Math.atan2(o.x,o.y)):A=Qo(this.long0+Math.atan2(o.x*Math.sin(x),I*this.coslat0*Math.cos(x)-o.y*this.sinlat0*Math.sin(x))),o.x=A,o.y=f,o)}else if(Math.abs(this.coslat0)<=ao){if(I<=ao)return f=this.lat0,A=this.long0,o.x=A,o.y=f,o;o.x*=this.con,o.y*=this.con,m=I*this.cons/(2*this.a*this.k0),f=this.con*gV(this.e,m),A=this.con*Qo(this.con*this.long0+Math.atan2(o.x,-1*o.y))}else C=2*Math.atan(I*this.cosX0/(2*this.a*this.k0*this.ms1)),A=this.long0,I<=ao?E=this.X0:(E=Math.asin(Math.cos(C)*this.sinX0+o.y*Math.sin(C)*this.cosX0/I),A=Qo(this.long0+Math.atan2(o.x*Math.sin(C),I*this.cosX0*Math.cos(C)-o.y*this.sinX0*Math.sin(C)))),f=-1*gV(this.e,Math.tan(.5*(bn+E)));return o.x=A,o.y=f,o}var WIt=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],qIt={init:YIt,forward:JIt,inverse:KIt,names:WIt,ssfn_:zIt};function jIt(){var o=this.lat0;this.lambda0=this.long0;var A=Math.sin(o),f=this.a,m=this.rf,C=1/m,E=2*C-Math.pow(C,2),I=this.e=Math.sqrt(E);this.R=this.k0*f*Math.sqrt(1-E)/(1-E*Math.pow(A,2)),this.alpha=Math.sqrt(1+E/(1-E)*Math.pow(Math.cos(o),4)),this.b0=Math.asin(A/this.alpha);var x=Math.log(Math.tan(Math.PI/4+this.b0/2)),y=Math.log(Math.tan(Math.PI/4+o/2)),v=Math.log((1+I*A)/(1-I*A));this.K=x-this.alpha*y+this.alpha*I/2*v}function XIt(o){var A=Math.log(Math.tan(Math.PI/4-o.y/2)),f=this.e/2*Math.log((1+this.e*Math.sin(o.y))/(1-this.e*Math.sin(o.y))),m=-this.alpha*(A+f)+this.K,C=2*(Math.atan(Math.exp(m))-Math.PI/4),E=this.alpha*(o.x-this.lambda0),I=Math.atan(Math.sin(E)/(Math.sin(this.b0)*Math.tan(C)+Math.cos(this.b0)*Math.cos(E))),x=Math.asin(Math.cos(this.b0)*Math.sin(C)-Math.sin(this.b0)*Math.cos(C)*Math.cos(E));return o.y=this.R/2*Math.log((1+Math.sin(x))/(1-Math.sin(x)))+this.y0,o.x=this.R*I+this.x0,o}function ZIt(o){for(var A=o.x-this.x0,f=o.y-this.y0,m=A/this.R,C=2*(Math.atan(Math.exp(f/this.R))-Math.PI/4),E=Math.asin(Math.cos(this.b0)*Math.sin(C)+Math.sin(this.b0)*Math.cos(C)*Math.cos(m)),I=Math.atan(Math.sin(m)/(Math.cos(this.b0)*Math.cos(m)-Math.sin(this.b0)*Math.tan(C))),x=this.lambda0+I/this.alpha,y=0,v=E,w=-1e3,Q=0;Math.abs(v-w)>1e-7;){if(++Q>20)return;y=1/this.alpha*(Math.log(Math.tan(Math.PI/4+E/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(v))/2)),w=v,v=2*Math.atan(Math.exp(y))-Math.PI/2}return o.x=x,o.y=v,o}var $It=["somerc"],ext={init:jIt,forward:XIt,inverse:ZIt,names:$It},y5=1e-7;function txt(o){var A=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],f=typeof o.PROJECTION=="object"?Object.keys(o.PROJECTION)[0]:o.PROJECTION;return"no_uoff"in o||"no_off"in o||A.indexOf(f)!==-1}function ixt(){var o,A,f,m,C,E,I,x,y,v,w=0,Q,M=0,B=0,D=0,S=0,P=0,R=0,T;this.no_off=txt(this),this.no_rot="no_rot"in this;var L=!1;"alpha"in this&&(L=!0);var F=!1;if("rectified_grid_angle"in this&&(F=!0),L&&(R=this.alpha),F&&(w=this.rectified_grid_angle*$0),L||F)M=this.longc;else if(B=this.long1,S=this.lat1,D=this.long2,P=this.lat2,Math.abs(S-P)<=y5||(o=Math.abs(S))<=y5||Math.abs(o-bn)<=y5||Math.abs(Math.abs(this.lat0)-bn)<=y5||Math.abs(Math.abs(P)-bn)<=y5)throw new Error;var U=1-this.es;A=Math.sqrt(U),Math.abs(this.lat0)>ao?(x=Math.sin(this.lat0),f=Math.cos(this.lat0),o=1-this.es*x*x,this.B=f*f,this.B=Math.sqrt(1+this.es*this.B*this.B/U),this.A=this.B*this.k0*A/o,m=this.B*A/(f*Math.sqrt(o)),C=m*m-1,C<=0?C=0:(C=Math.sqrt(C),this.lat0<0&&(C=-C)),this.E=C+=m,this.E*=Math.pow(V_(this.e,this.lat0,x),this.B)):(this.B=1/A,this.A=this.k0,this.E=m=C=1),L||F?(L?(Q=Math.asin(Math.sin(R)/m),F||(w=R)):(Q=w,R=Math.asin(m*Math.sin(Q))),this.lam0=M-Math.asin(.5*(C-1/C)*Math.tan(Q))/this.B):(E=Math.pow(V_(this.e,S,Math.sin(S)),this.B),I=Math.pow(V_(this.e,P,Math.sin(P)),this.B),C=this.E/E,y=(I-E)/(I+E),v=this.E*this.E,v=(v-I*E)/(v+I*E),o=B-D,o<-Math.pi?D-=hV:o>Math.pi&&(D+=hV),this.lam0=Qo(.5*(B+D)-Math.atan(v*Math.tan(.5*this.B*(B-D))/y)/this.B),Q=Math.atan(2*Math.sin(this.B*Qo(B-this.lam0))/(C-1/C)),w=R=Math.asin(m*Math.sin(Q))),this.singam=Math.sin(Q),this.cosgam=Math.cos(Q),this.sinrot=Math.sin(w),this.cosrot=Math.cos(w),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,T=this.A*this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(m*m-1)/Math.cos(R))),this.lat0<0&&(this.u_0=-this.u_0)),C=.5*Q,this.v_pole_n=this.ArB*Math.log(Math.tan(bu-C)),this.v_pole_s=this.ArB*Math.log(Math.tan(bu+C))}function rxt(o){var A={},f,m,C,E,I,x,y,v;if(o.x=o.x-this.lam0,Math.abs(Math.abs(o.y)-bn)>ao){if(I=this.E/Math.pow(V_(this.e,o.y,Math.sin(o.y)),this.B),x=1/I,f=.5*(I-x),m=.5*(I+x),E=Math.sin(this.B*o.x),C=(f*this.singam-E*this.cosgam)/m,Math.abs(Math.abs(C)-1)0?this.v_pole_n:this.v_pole_s,y=this.ArB*o.y;return this.no_rot?(A.x=y,A.y=v):(y-=this.u_0,A.x=v*this.cosrot+y*this.sinrot,A.y=y*this.cosrot-v*this.sinrot),A.x=this.a*A.x+this.x0,A.y=this.a*A.y+this.y0,A}function nxt(o){var A,f,m,C,E,I,x,y={};if(o.x=(o.x-this.x0)*(1/this.a),o.y=(o.y-this.y0)*(1/this.a),this.no_rot?(f=o.y,A=o.x):(f=o.x*this.cosrot-o.y*this.sinrot,A=o.y*this.cosrot+o.x*this.sinrot+this.u_0),m=Math.exp(-this.BrA*f),C=.5*(m-1/m),E=.5*(m+1/m),I=Math.sin(this.BrA*A),x=(I*this.cosgam+C*this.singam)/E,Math.abs(Math.abs(x)-1)ao?this.ns=Math.log(m/x)/Math.log(C/y):this.ns=A,isNaN(this.ns)&&(this.ns=A),this.f0=m/(this.ns*Math.pow(C,this.ns)),this.rh=this.a*this.f0*Math.pow(v,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function lxt(o){var A=o.x,f=o.y;Math.abs(2*Math.abs(f)-Math.PI)<=ao&&(f=Y9(f)*(bn-2*ao));var m=Math.abs(Math.abs(f)-bn),C,E;if(m>ao)C=V_(this.e,f,Math.sin(f)),E=this.a*this.f0*Math.pow(C,this.ns);else{if(m=f*this.ns,m<=0)return null;E=0}var I=this.ns*Qo(A-this.long0);return o.x=this.k0*(E*Math.sin(I))+this.x0,o.y=this.k0*(this.rh-E*Math.cos(I))+this.y0,o}function Axt(o){var A,f,m,C,E,I=(o.x-this.x0)/this.k0,x=this.rh-(o.y-this.y0)/this.k0;this.ns>0?(A=Math.sqrt(I*I+x*x),f=1):(A=-Math.sqrt(I*I+x*x),f=-1);var y=0;if(A!==0&&(y=Math.atan2(f*I,f*x)),A!==0||this.ns>0){if(f=1/this.ns,m=Math.pow(A/(this.a*this.f0),f),C=gV(this.e,m),C===-9999)return null}else C=-bn;return E=Qo(y/this.ns+this.long0),o.x=E,o.y=C,o}var uxt=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"],cxt={init:sxt,forward:lxt,inverse:Axt,names:uxt};function hxt(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function dxt(o){var A,f,m,C,E,I,x,y=o.x,v=o.y,w=Qo(y-this.long0);return A=Math.pow((1+this.e*Math.sin(v))/(1-this.e*Math.sin(v)),this.alfa*this.e/2),f=2*(Math.atan(this.k*Math.pow(Math.tan(v/2+this.s45),this.alfa)/A)-this.s45),m=-w*this.alfa,C=Math.asin(Math.cos(this.ad)*Math.sin(f)+Math.sin(this.ad)*Math.cos(f)*Math.cos(m)),E=Math.asin(Math.cos(f)*Math.sin(m)/Math.cos(C)),I=this.n*E,x=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(C/2+this.s45),this.n),o.y=x*Math.cos(I)/1,o.x=x*Math.sin(I)/1,this.czech||(o.y*=-1,o.x*=-1),o}function gxt(o){var A,f,m,C,E,I,x,y,v=o.x;o.x=o.y,o.y=v,this.czech||(o.y*=-1,o.x*=-1),I=Math.sqrt(o.x*o.x+o.y*o.y),E=Math.atan2(o.y,o.x),C=E/Math.sin(this.s0),m=2*(Math.atan(Math.pow(this.ro0/I,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),A=Math.asin(Math.cos(this.ad)*Math.sin(m)-Math.sin(this.ad)*Math.cos(m)*Math.cos(C)),f=Math.asin(Math.cos(m)*Math.sin(C)/Math.cos(A)),o.x=this.long0-f/this.alfa,x=A,y=0;var w=0;do o.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(A/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(x))/(1-this.e*Math.sin(x)),this.e/2))-this.s45),Math.abs(x-o.y)<1e-10&&(y=1),x=o.y,w+=1;while(y===0&&w<15);return w>=15?null:o}var fxt=["Krovak","krovak"],pxt={init:hxt,forward:dxt,inverse:gxt,names:fxt};function bC(o,A,f,m,C){return o*C-A*Math.sin(2*C)+f*Math.sin(4*C)-m*Math.sin(6*C)}function J9(o){return 1-.25*o*(1+o/16*(3+1.25*o))}function K9(o){return .375*o*(1+.25*o*(1+.46875*o))}function W9(o){return .05859375*o*o*(1+.75*o)}function q9(o){return o*o*o*(35/3072)}function MU(o,A,f){var m=A*f;return o/Math.sqrt(1-m*m)}function LO(o){return Math.abs(o)1e-7?(f=o*A,(1-o*o)*(A/(1-f*f)-.5/o*Math.log((1-f)/(1+f)))):2*A}var yxt=1,vxt=2,_xt=3,Bxt=4;function wxt(){var o=Math.abs(this.lat0);if(Math.abs(o-bn)0){var A;switch(this.qp=KT(this.e,1),this.mmf=.5/(1-this.es),this.apa=Lxt(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),A=Math.sin(this.lat0),this.sinb1=KT(this.e,A)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*A*A)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function bxt(o){var A,f,m,C,E,I,x,y,v,w,Q=o.x,M=o.y;if(Q=Qo(Q-this.long0),this.sphere){if(E=Math.sin(M),w=Math.cos(M),m=Math.cos(Q),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(f=this.mode===this.EQUIT?1+w*m:1+this.sinph0*E+this.cosph0*w*m,f<=ao)return null;f=Math.sqrt(2/f),A=f*w*Math.sin(Q),f*=this.mode===this.EQUIT?E:this.cosph0*E-this.sinph0*w*m}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(m=-m),Math.abs(M+this.lat0)=0?(A=(v=Math.sqrt(I))*C,f=m*(this.mode===this.S_POLE?v:-v)):A=f=0;break}}return o.x=this.a*A+this.x0,o.y=this.a*f+this.y0,o}function Qxt(o){o.x-=this.x0,o.y-=this.y0;var A=o.x/this.a,f=o.y/this.a,m,C,E,I,x,y,v;if(this.sphere){var w=0,Q,M=0;if(Q=Math.sqrt(A*A+f*f),C=Q*.5,C>1)return null;switch(C=2*Math.asin(C),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(M=Math.sin(C),w=Math.cos(C)),this.mode){case this.EQUIT:C=Math.abs(Q)<=ao?0:Math.asin(f*M/Q),A*=M,f=w*Q;break;case this.OBLIQ:C=Math.abs(Q)<=ao?this.lat0:Math.asin(w*this.sinph0+f*M*this.cosph0/Q),A*=M*this.cosph0,f=(w-Math.sin(C)*this.sinph0)*Q;break;case this.N_POLE:f=-f,C=bn-C;break;case this.S_POLE:C-=bn;break}m=f===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(A,f)}else{if(v=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(A/=this.dd,f*=this.dd,y=Math.sqrt(A*A+f*f),y1&&(o=o>1?1:-1),Math.asin(o)}function Uxt(){Math.abs(this.lat1+this.lat2)ao?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function Oxt(o){var A=o.x,f=o.y;this.sin_phi=Math.sin(f),this.cos_phi=Math.cos(f);var m=KT(this.e3,this.sin_phi),C=this.a*Math.sqrt(this.c-this.ns0*m)/this.ns0,E=this.ns0*Qo(A-this.long0),I=C*Math.sin(E)+this.x0,x=this.rh-C*Math.cos(E)+this.y0;return o.x=I,o.y=x,o}function Gxt(o){var A,f,m,C,E,I;return o.x-=this.x0,o.y=this.rh-o.y+this.y0,this.ns0>=0?(A=Math.sqrt(o.x*o.x+o.y*o.y),m=1):(A=-Math.sqrt(o.x*o.x+o.y*o.y),m=-1),C=0,A!==0&&(C=Math.atan2(m*o.x,m*o.y)),m=A*this.ns0/this.a,this.sphere?I=Math.asin((this.c-m*m)/(2*this.ns0)):(f=(this.c-m*m)/this.ns0,I=this.phi1z(this.e3,f)),E=Qo(C/this.ns0+this.long0),o.x=E,o.y=I,o}function Hxt(o,A){var f,m,C,E,I,x=E2(.5*A);if(o0||Math.abs(I)<=ao?(x=this.x0+this.a*E*f*Math.sin(m)/I,y=this.y0+this.a*E*(this.cos_p14*A-this.sin_p14*f*C)/I):(x=this.x0+this.infinity_dist*f*Math.sin(m),y=this.y0+this.infinity_dist*(this.cos_p14*A-this.sin_p14*f*C)),o.x=x,o.y=y,o}function Kxt(o){var A,f,m,C,E,I;return o.x=(o.x-this.x0)/this.a,o.y=(o.y-this.y0)/this.a,o.x/=this.k0,o.y/=this.k0,(A=Math.sqrt(o.x*o.x+o.y*o.y))?(C=Math.atan2(A,this.rc),f=Math.sin(C),m=Math.cos(C),I=E2(m*this.sin_p14+o.y*f*this.cos_p14/A),E=Math.atan2(o.x*f,A*this.cos_p14*m-o.y*this.sin_p14*f),E=Qo(this.long0+E)):(I=this.phic0,E=0),o.x=E,o.y=I,o}var Wxt=["gnom"],qxt={init:Yxt,forward:Jxt,inverse:Kxt,names:Wxt};function jxt(o,A){var f=1-(1-o*o)/(2*o)*Math.log((1-o)/(1+o));if(Math.abs(Math.abs(A)-f)<1e-6)return A<0?-1*bn:bn;for(var m=Math.asin(.5*A),C,E,I,x,y=0;y<30;y++)if(E=Math.sin(m),I=Math.cos(m),x=o*E,C=Math.pow(1-x*x,2)/(2*I)*(A/(1-o*o)-E/(1-x*x)+.5/o*Math.log((1-x)/(1+x))),m+=C,Math.abs(C)<=1e-10)return m;return NaN}function Xxt(){this.sphere||(this.k0=x1(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function Zxt(o){var A=o.x,f=o.y,m,C,E=Qo(A-this.long0);if(this.sphere)m=this.x0+this.a*E*Math.cos(this.lat_ts),C=this.y0+this.a*Math.sin(f)/Math.cos(this.lat_ts);else{var I=KT(this.e,Math.sin(f));m=this.x0+this.a*this.k0*E,C=this.y0+this.a*I*.5/this.k0}return o.x=m,o.y=C,o}function $xt(o){o.x-=this.x0,o.y-=this.y0;var A,f;return this.sphere?(A=Qo(this.long0+o.x/this.a/Math.cos(this.lat_ts)),f=Math.asin(o.y/this.a*Math.cos(this.lat_ts))):(f=jxt(this.e,2*o.y*this.k0/this.a),A=Qo(this.long0+o.x/(this.a*this.k0))),o.x=A,o.y=f,o}var eyt=["cea"],tyt={init:Xxt,forward:Zxt,inverse:$xt,names:eyt};function iyt(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function ryt(o){var A=o.x,f=o.y,m=Qo(A-this.long0),C=LO(f-this.lat0);return o.x=this.x0+this.a*m*this.rc,o.y=this.y0+this.a*C,o}function nyt(o){var A=o.x,f=o.y;return o.x=Qo(this.long0+(A-this.x0)/(this.a*this.rc)),o.y=LO(this.lat0+(f-this.y0)/this.a),o}var oyt=["Equirectangular","Equidistant_Cylindrical","eqc"],ayt={init:iyt,forward:ryt,inverse:nyt,names:oyt},$De=20;function syt(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=J9(this.es),this.e1=K9(this.es),this.e2=W9(this.es),this.e3=q9(this.es),this.ml0=this.a*bC(this.e0,this.e1,this.e2,this.e3,this.lat0)}function lyt(o){var A=o.x,f=o.y,m,C,E,I=Qo(A-this.long0);if(E=I*Math.sin(f),this.sphere)Math.abs(f)<=ao?(m=this.a*I,C=-1*this.a*this.lat0):(m=this.a*Math.sin(E)/Math.tan(f),C=this.a*(LO(f-this.lat0)+(1-Math.cos(E))/Math.tan(f)));else if(Math.abs(f)<=ao)m=this.a*I,C=-1*this.ml0;else{var x=MU(this.a,this.e,Math.sin(f))/Math.tan(f);m=x*Math.sin(E),C=this.a*bC(this.e0,this.e1,this.e2,this.e3,f)-this.ml0+x*(1-Math.cos(E))}return o.x=m+this.x0,o.y=C+this.y0,o}function Ayt(o){var A,f,m,C,E,I,x,y,v;if(m=o.x-this.x0,C=o.y-this.y0,this.sphere)if(Math.abs(C+this.a*this.lat0)<=ao)A=Qo(m/this.a+this.long0),f=0;else{I=this.lat0+C/this.a,x=m*m/this.a/this.a+I*I,y=I;var w;for(E=$De;E;--E)if(w=Math.tan(y),v=-1*(I*(y*w+1)-y-.5*(y*y+x)*w)/((y-I)/w-1),y+=v,Math.abs(v)<=ao){f=y;break}A=Qo(this.long0+Math.asin(m*Math.tan(y)/this.a)/Math.sin(f))}else if(Math.abs(C+this.ml0)<=ao)f=0,A=Qo(this.long0+m/this.a);else{I=(this.ml0+C)/this.a,x=m*m/this.a/this.a+I*I,y=I;var Q,M,B,D,S;for(E=$De;E;--E)if(S=this.e*Math.sin(y),Q=Math.sqrt(1-S*S)*Math.tan(y),M=this.a*bC(this.e0,this.e1,this.e2,this.e3,y),B=this.e0-2*this.e1*Math.cos(2*y)+4*this.e2*Math.cos(4*y)-6*this.e3*Math.cos(6*y),D=M/this.a,v=(I*(Q*D+1)-D-.5*Q*(D*D+x))/(this.es*Math.sin(2*y)*(D*D+x-2*I*D)/(4*Q)+(I-D)*(Q*B-2/Math.sin(2*y))-B),y-=v,Math.abs(v)<=ao){f=y;break}Q=Math.sqrt(1-this.es*Math.pow(Math.sin(f),2))*Math.tan(f),A=Qo(this.long0+Math.asin(m*Q/this.a)/Math.sin(f))}return o.x=A,o.y=f,o}var uyt=["Polyconic","poly"],cyt={init:syt,forward:lyt,inverse:Ayt,names:uyt};function hyt(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function dyt(o){var A,f=o.x,m=o.y,C=m-this.lat0,E=f-this.long0,I=C/QH*1e-5,x=E,y=1,v=0;for(A=1;A<=10;A++)y=y*I,v=v+this.A[A]*y;var w=v,Q=x,M=1,B=0,D,S,P=0,R=0;for(A=1;A<=6;A++)D=M*w-B*Q,S=B*w+M*Q,M=D,B=S,P=P+this.B_re[A]*M-this.B_im[A]*B,R=R+this.B_im[A]*M+this.B_re[A]*B;return o.x=R*this.a+this.x0,o.y=P*this.a+this.y0,o}function gyt(o){var A,f=o.x,m=o.y,C=f-this.x0,E=m-this.y0,I=E/this.a,x=C/this.a,y=1,v=0,w,Q,M=0,B=0;for(A=1;A<=6;A++)w=y*I-v*x,Q=v*I+y*x,y=w,v=Q,M=M+this.C_re[A]*y-this.C_im[A]*v,B=B+this.C_im[A]*y+this.C_re[A]*v;for(var D=0;D.999999999999&&(f=.999999999999),A=Math.asin(f);var m=Qo(this.long0+o.x/(.900316316158*this.a*Math.cos(A)));m<-Math.PI&&(m=-Math.PI),m>Math.PI&&(m=Math.PI),f=(2*A+Math.sin(2*A))/Math.PI,Math.abs(f)>1&&(f=1);var C=Math.asin(f);return o.x=m,o.y=C,o}var Myt=["Mollweide","moll"],Tyt={init:Qyt,forward:Syt,inverse:Dyt,names:Myt};function Pyt(){Math.abs(this.lat1+this.lat2)=0?(f=Math.sqrt(o.x*o.x+o.y*o.y),A=1):(f=-Math.sqrt(o.x*o.x+o.y*o.y),A=-1);var E=0;if(f!==0&&(E=Math.atan2(A*o.x,A*o.y)),this.sphere)return C=Qo(this.long0+E/this.ns),m=LO(this.g-f/this.a),o.x=C,o.y=m,o;var I=this.g-f/this.a;return m=Bj(I,this.e0,this.e1,this.e2,this.e3),C=Qo(this.long0+E/this.ns),o.x=C,o.y=m,o}var Fyt=["Equidistant_Conic","eqdc"],Nyt={init:Pyt,forward:Ryt,inverse:Lyt,names:Fyt};function kyt(){this.R=this.a}function Uyt(o){var A=o.x,f=o.y,m=Qo(A-this.long0),C,E;Math.abs(f)<=ao&&(C=this.x0+this.R*m,E=this.y0);var I=E2(2*Math.abs(f/Math.PI));(Math.abs(m)<=ao||Math.abs(Math.abs(f)-bn)<=ao)&&(C=this.x0,f>=0?E=this.y0+Math.PI*this.R*Math.tan(.5*I):E=this.y0+Math.PI*this.R*-Math.tan(.5*I));var x=.5*Math.abs(Math.PI/m-m/Math.PI),y=x*x,v=Math.sin(I),w=Math.cos(I),Q=w/(v+w-1),M=Q*Q,B=Q*(2/v-1),D=B*B,S=Math.PI*this.R*(x*(Q-D)+Math.sqrt(y*(Q-D)*(Q-D)-(D+y)*(M-D)))/(D+y);m<0&&(S=-S),C=this.x0+S;var P=y+Q;return S=Math.PI*this.R*(B*P-x*Math.sqrt((D+y)*(y+1)-P*P))/(D+y),f>=0?E=this.y0+S:E=this.y0-S,o.x=C,o.y=E,o}function Oyt(o){var A,f,m,C,E,I,x,y,v,w,Q,M,B;return o.x-=this.x0,o.y-=this.y0,Q=Math.PI*this.R,m=o.x/Q,C=o.y/Q,E=m*m+C*C,I=-Math.abs(C)*(1+E),x=I-2*C*C+m*m,y=-2*I+1+2*C*C+E*E,B=C*C/y+(2*x*x*x/y/y/y-9*I*x/y/y)/27,v=(I-x*x/3/y)/y,w=2*Math.sqrt(-v/3),Q=3*B/v/w,Math.abs(Q)>1&&(Q>=0?Q=1:Q=-1),M=Math.acos(Q)/3,o.y>=0?f=(-w*Math.cos(M+Math.PI/3)-x/3/y)*Math.PI:f=-(-w*Math.cos(M+Math.PI/3)-x/3/y)*Math.PI,Math.abs(m)2*bn*this.a?void 0:(f=A/this.a,m=Math.sin(f),C=Math.cos(f),E=this.long0,Math.abs(A)<=ao?I=this.lat0:(I=E2(C*this.sin_p12+o.y*m*this.cos_p12/A),x=Math.abs(this.lat0)-bn,Math.abs(x)<=ao?this.lat0>=0?E=Qo(this.long0+Math.atan2(o.x,-o.y)):E=Qo(this.long0-Math.atan2(-o.x,o.y)):E=Qo(this.long0+Math.atan2(o.x*m,A*this.cos_p12*C-o.y*this.sin_p12*m))),o.x=E,o.y=I,o)):(y=J9(this.es),v=K9(this.es),w=W9(this.es),Q=q9(this.es),Math.abs(this.sin_p12-1)<=ao?(M=this.a*bC(y,v,w,Q,bn),A=Math.sqrt(o.x*o.x+o.y*o.y),B=M-A,I=Bj(B/this.a,y,v,w,Q),E=Qo(this.long0+Math.atan2(o.x,-1*o.y)),o.x=E,o.y=I,o):Math.abs(this.sin_p12+1)<=ao?(M=this.a*bC(y,v,w,Q,bn),A=Math.sqrt(o.x*o.x+o.y*o.y),B=A-M,I=Bj(B/this.a,y,v,w,Q),E=Qo(this.long0+Math.atan2(o.x,o.y)),o.x=E,o.y=I,o):(A=Math.sqrt(o.x*o.x+o.y*o.y),P=Math.atan2(o.x,o.y),D=MU(this.a,this.e,this.sin_p12),R=Math.cos(P),T=this.e*this.cos_p12*R,L=-T*T/(1-this.es),F=3*this.es*(1-L)*this.sin_p12*this.cos_p12*R/(1-this.es),U=A/D,N=U-L*(1+L)*Math.pow(U,3)/6-F*(1+3*L)*Math.pow(U,4)/24,H=1-L*N*N/2-U*N*N*N/6,S=Math.asin(this.sin_p12*Math.cos(N)+this.cos_p12*Math.sin(N)*R),E=Qo(this.long0+Math.asin(Math.sin(P)*Math.sin(N)/Math.cos(S))),J=Math.sin(S),I=Math.atan2((J-this.es*H*this.sin_p12)*Math.tan(S),J*(1-this.es)),o.x=E,o.y=I,o))}var Jyt=["Azimuthal_Equidistant","aeqd"],Kyt={init:Vyt,forward:zyt,inverse:Yyt,names:Jyt};function Wyt(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function qyt(o){var A,f,m,C,E,I,x,y,v=o.x,w=o.y;return m=Qo(v-this.long0),A=Math.sin(w),f=Math.cos(w),C=Math.cos(m),I=this.sin_p14*A+this.cos_p14*f*C,E=1,(I>0||Math.abs(I)<=ao)&&(x=this.a*E*f*Math.sin(m),y=this.y0+this.a*E*(this.cos_p14*A-this.sin_p14*f*C)),o.x=x,o.y=y,o}function jyt(o){var A,f,m,C,E,I,x;return o.x-=this.x0,o.y-=this.y0,A=Math.sqrt(o.x*o.x+o.y*o.y),f=E2(A/this.a),m=Math.sin(f),C=Math.cos(f),I=this.long0,Math.abs(A)<=ao?(x=this.lat0,o.x=I,o.y=x,o):(x=E2(C*this.sin_p14+o.y*m*this.cos_p14/A),E=Math.abs(this.lat0)-bn,Math.abs(E)<=ao?(this.lat0>=0?I=Qo(this.long0+Math.atan2(o.x,-o.y)):I=Qo(this.long0-Math.atan2(-o.x,o.y)),o.x=I,o.y=x,o):(I=Qo(this.long0+Math.atan2(o.x*m,A*this.cos_p14*C-o.y*this.sin_p14*m)),o.x=I,o.y=x,o))}var Xyt=["ortho"],Zyt={init:Wyt,forward:qyt,inverse:jyt,names:Xyt},Ad={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},Qu={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function $yt(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=bn-bu/2?this.face=Ad.TOP:this.lat0<=-(bn-bu/2)?this.face=Ad.BOTTOM:Math.abs(this.long0)<=bu?this.face=Ad.FRONT:Math.abs(this.long0)<=bn+bu?this.face=this.long0>0?Ad.RIGHT:Ad.LEFT:this.face=Ad.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function evt(o){var A={x:0,y:0},f,m,C,E,I,x,y={value:0};if(o.x-=this.long0,this.es!==0?f=Math.atan(this.one_minus_f_squared*Math.tan(o.y)):f=o.y,m=o.x,this.face===Ad.TOP)E=bn-f,m>=bu&&m<=bn+bu?(y.value=Qu.AREA_0,C=m-bn):m>bn+bu||m<=-(bn+bu)?(y.value=Qu.AREA_1,C=m>0?m-dg:m+dg):m>-(bn+bu)&&m<=-bu?(y.value=Qu.AREA_2,C=m+bn):(y.value=Qu.AREA_3,C=m);else if(this.face===Ad.BOTTOM)E=bn+f,m>=bu&&m<=bn+bu?(y.value=Qu.AREA_0,C=-m+bn):m=-bu?(y.value=Qu.AREA_1,C=-m):m<-bu&&m>=-(bn+bu)?(y.value=Qu.AREA_2,C=-m-bn):(y.value=Qu.AREA_3,C=m>0?-m+dg:-m-dg);else{var v,w,Q,M,B,D,S;this.face===Ad.RIGHT?m=$5(m,+bn):this.face===Ad.BACK?m=$5(m,+dg):this.face===Ad.LEFT&&(m=$5(m,-bn)),M=Math.sin(f),B=Math.cos(f),D=Math.sin(m),S=Math.cos(m),v=B*S,w=B*D,Q=M,this.face===Ad.FRONT?(E=Math.acos(v),C=f7(E,Q,w,y)):this.face===Ad.RIGHT?(E=Math.acos(w),C=f7(E,Q,-v,y)):this.face===Ad.BACK?(E=Math.acos(-v),C=f7(E,Q,-w,y)):this.face===Ad.LEFT?(E=Math.acos(-w),C=f7(E,Q,v,y)):(E=C=0,y.value=Qu.AREA_0)}return x=Math.atan(12/dg*(C+Math.acos(Math.sin(C)*Math.cos(bu))-bn)),I=Math.sqrt((1-Math.cos(E))/(Math.cos(x)*Math.cos(x))/(1-Math.cos(Math.atan(1/Math.cos(C))))),y.value===Qu.AREA_1?x+=bn:y.value===Qu.AREA_2?x+=dg:y.value===Qu.AREA_3&&(x+=1.5*dg),A.x=I*Math.cos(x),A.y=I*Math.sin(x),A.x=A.x*this.a+this.x0,A.y=A.y*this.a+this.y0,o.x=A.x,o.y=A.y,o}function tvt(o){var A={lam:0,phi:0},f,m,C,E,I,x,y,v,w,Q={value:0};if(o.x=(o.x-this.x0)/this.a,o.y=(o.y-this.y0)/this.a,m=Math.atan(Math.sqrt(o.x*o.x+o.y*o.y)),f=Math.atan2(o.y,o.x),o.x>=0&&o.x>=Math.abs(o.y)?Q.value=Qu.AREA_0:o.y>=0&&o.y>=Math.abs(o.x)?(Q.value=Qu.AREA_1,f-=bn):o.x<0&&-o.x>=Math.abs(o.y)?(Q.value=Qu.AREA_2,f=f<0?f+dg:f-dg):(Q.value=Qu.AREA_3,f+=bn),w=dg/12*Math.tan(f),I=Math.sin(w)/(Math.cos(w)-1/Math.sqrt(2)),x=Math.atan(I),C=Math.cos(f),E=Math.tan(m),y=1-C*C*E*E*(1-Math.cos(Math.atan(1/Math.cos(x)))),y<-1?y=-1:y>1&&(y=1),this.face===Ad.TOP)v=Math.acos(y),A.phi=bn-v,Q.value===Qu.AREA_0?A.lam=x+bn:Q.value===Qu.AREA_1?A.lam=x<0?x+dg:x-dg:Q.value===Qu.AREA_2?A.lam=x-bn:A.lam=x;else if(this.face===Ad.BOTTOM)v=Math.acos(y),A.phi=v-bn,Q.value===Qu.AREA_0?A.lam=-x+bn:Q.value===Qu.AREA_1?A.lam=-x:Q.value===Qu.AREA_2?A.lam=-x-bn:A.lam=x<0?-x-dg:-x+dg;else{var M,B,D;M=y,w=M*M,w>=1?D=0:D=Math.sqrt(1-w)*Math.sin(x),w+=D*D,w>=1?B=0:B=Math.sqrt(1-w),Q.value===Qu.AREA_1?(w=B,B=-D,D=w):Q.value===Qu.AREA_2?(B=-B,D=-D):Q.value===Qu.AREA_3&&(w=B,B=D,D=-w),this.face===Ad.RIGHT?(w=M,M=-B,B=w):this.face===Ad.BACK?(M=-M,B=-B):this.face===Ad.LEFT&&(w=M,M=B,B=-w),A.phi=Math.acos(-D)-bn,A.lam=Math.atan2(B,M),this.face===Ad.RIGHT?A.lam=$5(A.lam,-bn):this.face===Ad.BACK?A.lam=$5(A.lam,-dg):this.face===Ad.LEFT&&(A.lam=$5(A.lam,+bn))}if(this.es!==0){var S,P,R;S=A.phi<0?1:0,P=Math.tan(A.phi),R=this.b/Math.sqrt(P*P+this.one_minus_f_squared),A.phi=Math.atan(Math.sqrt(this.a*this.a-R*R)/(this.one_minus_f*R)),S&&(A.phi=-A.phi)}return A.lam+=this.long0,o.x=A.lam,o.y=A.phi,o}function f7(o,A,f,m){var C;return obu&&C<=bn+bu?(m.value=Qu.AREA_1,C-=bn):C>bn+bu||C<=-(bn+bu)?(m.value=Qu.AREA_2,C=C>=0?C-dg:C+dg):(m.value=Qu.AREA_3,C+=bn)),C}function $5(o,A){var f=o+A;return f<-dg?f+=hV:f>+dg&&(f-=hV),f}var ivt=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"],rvt={init:$yt,forward:evt,inverse:tvt,names:ivt},YAe=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],eH=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],v6e=.8487,_6e=1.3523,B6e=o1/5,nvt=1/B6e,U5=18,wj=function(o,A){return o[0]+A*(o[1]+A*(o[2]+A*o[3]))},ovt=function(o,A){return o[1]+A*(2*o[2]+A*3*o[3])};function avt(o,A,f,m){for(var C=A;m;--m){var E=o(C);if(C-=E,Math.abs(E)=U5&&(m=U5-1),f=o1*(f-nvt*m);var C={x:wj(YAe[m],f)*A,y:wj(eH[m],f)};return o.y<0&&(C.y=-C.y),C.x=C.x*this.a*v6e+this.x0,C.y=C.y*this.a*_6e+this.y0,C}function Avt(o){var A={x:(o.x-this.x0)/(this.a*v6e),y:Math.abs(o.y-this.y0)/(this.a*_6e)};if(A.y>=1)A.x/=YAe[U5][0],A.y=o.y<0?-bn:bn;else{var f=Math.floor(A.y*U5);for(f<0?f=0:f>=U5&&(f=U5-1);;)if(eH[f][0]>A.y)--f;else if(eH[f+1][0]<=A.y)++f;else break;var m=eH[f],C=5*(A.y-m[0])/(eH[f+1][0]-m[0]);C=avt(function(E){return(wj(m,E)-A.y)/ovt(m,E)},C,ao,100),A.x/=wj(YAe[f],C),A.y=(5*f+C)*$0,o.y<0&&(A.y=-A.y)}return A.x=Qo(A.x+this.long0),A}var uvt=["Robinson","robin"],cvt={init:svt,forward:lvt,inverse:Avt,names:uvt};function hvt(){this.name="geocent"}function dvt(o){var A=u6e(o,this.es,this.a);return A}function gvt(o){var A=c6e(o,this.es,this.a,this.b);return A}var fvt=["Geocentric","geocentric","geocent","Geocent"],pvt={init:hvt,forward:dvt,inverse:gvt,names:fvt},um={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},r8={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function mvt(){if(Object.keys(r8).forEach(function(f){if(typeof this[f]>"u")this[f]=r8[f].def;else{if(r8[f].num&&isNaN(this[f]))throw new Error("Invalid parameter value, must be numeric "+f+" = "+this[f]);r8[f].num&&(this[f]=parseFloat(this[f]))}r8[f].degrees&&(this[f]=this[f]*$0)}.bind(this)),Math.abs(Math.abs(this.lat0)-bn)1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var o=this.tilt,A=this.azi;this.cg=Math.cos(A),this.sg=Math.sin(A),this.cw=Math.cos(o),this.sw=Math.sin(o)}function Cvt(o){o.x-=this.long0;var A=Math.sin(o.y),f=Math.cos(o.y),m=Math.cos(o.x),C,E;switch(this.mode){case um.OBLIQ:E=this.sinph0*A+this.cosph0*f*m;break;case um.EQUIT:E=f*m;break;case um.S_POLE:E=-A;break;case um.N_POLE:E=A;break}switch(E=this.pn1/(this.p-E),C=E*f*Math.sin(o.x),this.mode){case um.OBLIQ:E*=this.cosph0*A-this.sinph0*f*m;break;case um.EQUIT:E*=A;break;case um.N_POLE:E*=-(f*m);break;case um.S_POLE:E*=f*m;break}var I,x;return I=E*this.cg+C*this.sg,x=1/(I*this.sw*this.h1+this.cw),C=(C*this.cg-E*this.sg)*this.cw*x,E=I*x,o.x=C*this.a,o.y=E*this.a,o}function Evt(o){o.x/=this.a,o.y/=this.a;var A={x:o.x,y:o.y},f,m,C;C=1/(this.pn1-o.y*this.sw),f=this.pn1*o.x*C,m=this.pn1*o.y*this.cw*C,o.x=f*this.cg+m*this.sg,o.y=m*this.cg-f*this.sg;var E=G_(o.x,o.y);if(Math.abs(E)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var o=1-this.es,A=1/o;this.radius_p=Math.sqrt(o),this.radius_p2=o,this.radius_p_inv2=A,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function vvt(o){var A=o.x,f=o.y,m,C,E,I;if(A=A-this.long0,this.shape==="ellipse"){f=Math.atan(this.radius_p2*Math.tan(f));var x=this.radius_p/G_(this.radius_p*Math.cos(f),Math.sin(f));if(C=x*Math.cos(A)*Math.cos(f),E=x*Math.sin(A)*Math.cos(f),I=x*Math.sin(f),(this.radius_g-C)*C-E*E-I*I*this.radius_p_inv2<0)return o.x=Number.NaN,o.y=Number.NaN,o;m=this.radius_g-C,this.flip_axis?(o.x=this.radius_g_1*Math.atan(E/G_(I,m)),o.y=this.radius_g_1*Math.atan(I/m)):(o.x=this.radius_g_1*Math.atan(E/m),o.y=this.radius_g_1*Math.atan(I/G_(E,m)))}else this.shape==="sphere"&&(m=Math.cos(f),C=Math.cos(A)*m,E=Math.sin(A)*m,I=Math.sin(f),m=this.radius_g-C,this.flip_axis?(o.x=this.radius_g_1*Math.atan(E/G_(I,m)),o.y=this.radius_g_1*Math.atan(I/m)):(o.x=this.radius_g_1*Math.atan(E/m),o.y=this.radius_g_1*Math.atan(I/G_(E,m))));return o.x=o.x*this.a,o.y=o.y*this.a,o}function _vt(o){var A=-1,f=0,m=0,C,E,I,x;if(o.x=o.x/this.a,o.y=o.y/this.a,this.shape==="ellipse"){this.flip_axis?(m=Math.tan(o.y/this.radius_g_1),f=Math.tan(o.x/this.radius_g_1)*G_(1,m)):(f=Math.tan(o.x/this.radius_g_1),m=Math.tan(o.y/this.radius_g_1)*G_(1,f));var y=m/this.radius_p;if(C=f*f+y*y+A*A,E=2*this.radius_g*A,I=E*E-4*C*this.C,I<0)return o.x=Number.NaN,o.y=Number.NaN,o;x=(-E-Math.sqrt(I))/(2*C),A=this.radius_g+x*A,f*=x,m*=x,o.x=Math.atan2(f,A),o.y=Math.atan(m*Math.cos(o.x)/A),o.y=Math.atan(this.radius_p_inv2*Math.tan(o.y))}else if(this.shape==="sphere"){if(this.flip_axis?(m=Math.tan(o.y/this.radius_g_1),f=Math.tan(o.x/this.radius_g_1)*Math.sqrt(1+m*m)):(f=Math.tan(o.x/this.radius_g_1),m=Math.tan(o.y/this.radius_g_1)*Math.sqrt(1+f*f)),C=f*f+m*m+A*A,E=2*this.radius_g*A,I=E*E-4*C*this.C,I<0)return o.x=Number.NaN,o.y=Number.NaN,o;x=(-E-Math.sqrt(I))/(2*C),A=this.radius_g+x*A,f*=x,m*=x,o.x=Math.atan2(f,A),o.y=Math.atan(m*Math.cos(o.x)/A)}return o.x=o.x+this.long0,o}var Bvt=["Geostationary Satellite View","Geostationary_Satellite","geos"],wvt={init:yvt,forward:vvt,inverse:_vt,names:Bvt};function bvt(o){o.Proj.projections.add(Tq),o.Proj.projections.add(Pq),o.Proj.projections.add(PIt),o.Proj.projections.add(VIt),o.Proj.projections.add(qIt),o.Proj.projections.add(ext),o.Proj.projections.add(axt),o.Proj.projections.add(cxt),o.Proj.projections.add(pxt),o.Proj.projections.add(xxt),o.Proj.projections.add(kxt),o.Proj.projections.add(zxt),o.Proj.projections.add(qxt),o.Proj.projections.add(tyt),o.Proj.projections.add(ayt),o.Proj.projections.add(cyt),o.Proj.projections.add(pyt),o.Proj.projections.add(xyt),o.Proj.projections.add(byt),o.Proj.projections.add(Tyt),o.Proj.projections.add(Nyt),o.Proj.projections.add(Hyt),o.Proj.projections.add(Kyt),o.Proj.projections.add(Zyt),o.Proj.projections.add(rvt),o.Proj.projections.add(cvt),o.Proj.projections.add(pvt),o.Proj.projections.add(xvt),o.Proj.projections.add(wvt)}Dx.defaultDatum="WGS84";Dx.Proj=fV;Dx.WGS84=new Dx.Proj("WGS84");Dx.Point=aIt;Dx.toPoint=h6e;Dx.defs=yj;Dx.nadgrid=PEt;Dx.transform=_j;Dx.mgrs=jEt;Dx.version="__VERSION__";bvt(Dx);var t0e=Dx,w6e=t0e.defs("EPSG:3857");function YE(o,A){this._ellipsoid=ae(A,gi.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis,this._customEPSG=o}Object.defineProperties(YE.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});YE.mercatorAngleToGeodeticLatitude=function(o){return De.PI_OVER_TWO-2*Math.atan(Math.exp(-o))};YE.geodeticLatitudeToMercatorAngle=function(o){o>YE.MaximumLatitude?o=YE.MaximumLatitude:o<-YE.MaximumLatitude&&(o=-YE.MaximumLatitude);let A=Math.sin(o);return .5*Math.log((1+A)/(1-A))};YE.MaximumLatitude=YE.mercatorAngleToGeodeticLatitude(Math.PI);YE.prototype.project=function(o,A){let f=this._semimajorAxis,m=o.longitude*f,C=YE.geodeticLatitudeToMercatorAngle(o.latitude)*f,E=o.height,I=t0e(w6e,this._customEPSG,[m,C]);return k(A)?(A.x=I[0],A.y=I[1],A.z=E,A):new Z(I[0],I[1],E)};YE.prototype.unproject=function(o,A){let f=t0e(this._customEPSG,w6e,[o.x,o.y]),m=this._oneOverSemimajorAxis,C=f[0]*m,E=YE.mercatorAngleToGeodeticLatitude(f[1]*m),I=o.z;return k(A)?(A.longitude=C,A.latitude=E,A.height=I,A):new Lt(C,E,I)};var FO=YE,Qvt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",MAT2:"mat2",MAT3:"mat3",MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},Yo=Object.freeze(Qvt),Svt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4"},wm=Object.freeze(Svt);function Dvt(o){o=ae(o,ae.EMPTY_OBJECT),this.typedArray=o.typedArray,this.width=o.width,this.height=o.height,this.pixelFormat=ae(o.pixelFormat,Jr.RGBA),this.pixelDatatype=ae(o.pixelDatatype,Gr.UNSIGNED_BYTE);let A=o.url;typeof A=="string"&&(A=fr.createIfNeeded(A)),this.resource=A;let f=ae(o.repeat,!0)?oa.REPEAT:oa.CLAMP_TO_EDGE;this.sampler=new Ra({wrapS:f,wrapT:f,minificationFilter:o.minificationFilter,magnificationFilter:o.magnificationFilter,maximumAnisotropy:o.maximumAnisotropy})}var i0e=Dvt,Mvt={UNLIT:0,PBR:1},oI=Object.freeze(Mvt),b6e={MODIFY_MATERIAL:"MODIFY_MATERIAL",REPLACE_MATERIAL:"REPLACE_MATERIAL"};b6e.getDefineName=function(o){return`CUSTOM_SHADER_${o}`};var j9=Object.freeze(b6e);function Tvt(o,A,f){let m=new Uint8ClampedArray(o.buffer),C=new ImageData(m,A,f),E=document.createElement("canvas");return E.width=A,E.height=f,E.getContext("2d").putImageData(C,0,0),E}var r0e=Tvt;function Pvt(o){let A=document.createElement("canvas");return A.width=De.nextPowerOfTwo(o.width),A.height=De.nextPowerOfTwo(o.height),A.getContext("2d").drawImage(o,0,0,o.width,o.height,0,0,A.width,A.height),A}var pV=Pvt;function NO(){this._defaultTexture=void 0,this._textures={},this._loadedImages=[],this._lastUpdatedFrame=-1}NO.prototype.getTexture=function(o){return this._textures[o]};function Rvt(o,A,f){f.resource=f.resource.clone(),f.resource.fetchImage().then(function(m){o._loadedImages.push({id:A,image:m,textureUniform:f})}).catch(function(){let m=o._textures[A];k(m)&&m!==o._defaultTexture&&m.destroy(),o._textures[A]=o._defaultTexture})}NO.prototype.loadTexture2D=function(o,A){k(A.typedArray)?this._loadedImages.push({id:o,textureUniform:A}):A instanceof Rn?this._textures[o]=A:Rvt(this,o,A)};function Lvt(o,A,f){let{id:m,textureUniform:C,image:E}=A,I=f.webgl2?Rq(C,E,f):Fvt(C,E,f),x=o._textures[m];k(x)&&x!==f.defaultTexture&&x.destroy(),o._textures[m]=I}function Rq(o,A,f){let{typedArray:m,sampler:C}=o,E=k(m)?S6e(o,f):new Rn({context:f,source:A,sampler:C});return Q6e(C)&&E.generateMipmap(),E}function Fvt(o,A,f){let{typedArray:m,sampler:C}=o,E=Q6e(C),I=C.wrapS===oa.REPEAT||C.wrapS===oa.MIRRORED_REPEAT||C.wrapT===oa.REPEAT||C.wrapT===oa.MIRRORED_REPEAT,{width:x,height:y}=k(m)?o:A,v=[x,y].every(De.isPowerOfTwo);if((E||I)&&!v)if(k(m)){if(o.pixelDatatype===Gr.UNSIGNED_BYTE){let w=r0e(m,x,y),Q=pV(w);return Rq({sampler:C},Q,f)}}else{let w=pV(A);return Rq(o,w,f)}else return Rq(o,A,f);return E?console.warn("Texture requires resizing for mipmaps but pixelDataType cannot be resized. The texture may be rendered incorrectly."):I&&console.warn("Texture requires resizing for wrapping but pixelDataType cannot be resized. The texture may be rendered incorrectly."),S6e(o,f)}function Q6e(o){return[ya.NEAREST_MIPMAP_NEAREST,ya.NEAREST_MIPMAP_LINEAR,ya.LINEAR_MIPMAP_NEAREST,ya.LINEAR_MIPMAP_LINEAR].includes(o.minificationFilter)}function S6e(o,A){let{pixelFormat:f,pixelDatatype:m,width:C,height:E,typedArray:I,sampler:x}=o;return new Rn({context:A,pixelFormat:f,pixelDatatype:m,source:{arrayBufferView:I,width:C,height:E},sampler:x,flipY:!1})}NO.prototype.update=function(o){if(o.frameNumber===this._lastUpdatedFrame)return;this._lastUpdatedFrame=o.frameNumber;let A=o.context;this._defaultTexture=A.defaultTexture;let f=this._loadedImages;for(let m=0;m{if(typeof A!="object"||!A.name||!A.init)throw new Error("Invalid JSEP plugin format");this.registered[A.name]||(A.init(this.jsep),this.registered[A.name]=A)})}},Tr=class{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+Tr.version}static addUnaryOp(o){return Tr.max_unop_len=Math.max(o.length,Tr.max_unop_len),Tr.unary_ops[o]=1,Tr}static addBinaryOp(o,A,f){return Tr.max_binop_len=Math.max(o.length,Tr.max_binop_len),Tr.binary_ops[o]=A,f?Tr.right_associative.add(o):Tr.right_associative.delete(o),Tr}static addIdentifierChar(o){return Tr.additional_identifier_chars.add(o),Tr}static addLiteral(o,A){return Tr.literals[o]=A,Tr}static removeUnaryOp(o){return delete Tr.unary_ops[o],o.length===Tr.max_unop_len&&(Tr.max_unop_len=Tr.getMaxKeyLen(Tr.unary_ops)),Tr}static removeAllUnaryOps(){return Tr.unary_ops={},Tr.max_unop_len=0,Tr}static removeIdentifierChar(o){return Tr.additional_identifier_chars.delete(o),Tr}static removeBinaryOp(o){return delete Tr.binary_ops[o],o.length===Tr.max_binop_len&&(Tr.max_binop_len=Tr.getMaxKeyLen(Tr.binary_ops)),Tr.right_associative.delete(o),Tr}static removeAllBinaryOps(){return Tr.binary_ops={},Tr.max_binop_len=0,Tr}static removeLiteral(o){return delete Tr.literals[o],Tr}static removeAllLiterals(){return Tr.literals={},Tr}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(o){this.expr=o,this.index=0}static parse(o){return new Tr(o).parse()}static getMaxKeyLen(o){return Math.max(0,...Object.keys(o).map(A=>A.length))}static isDecimalDigit(o){return o>=48&&o<=57}static binaryPrecedence(o){return Tr.binary_ops[o]||0}static isIdentifierStart(o){return o>=65&&o<=90||o>=97&&o<=122||o>=128&&!Tr.binary_ops[String.fromCharCode(o)]||Tr.additional_identifier_chars.has(String.fromCharCode(o))}static isIdentifierPart(o){return Tr.isIdentifierStart(o)||Tr.isDecimalDigit(o)}throwError(o){let A=new Error(o+" at character "+this.index);throw A.index=this.index,A.description=o,A}runHook(o,A){if(Tr.hooks[o]){let f={context:this,node:A};return Tr.hooks.run(o,f),f.node}return A}searchHook(o){if(Tr.hooks[o]){let A={context:this};return Tr.hooks[o].find(function(f){return f.call(A.context,A),A.node}),A.node}}gobbleSpaces(){let o=this.code;for(;o===Tr.SPACE_CODE||o===Tr.TAB_CODE||o===Tr.LF_CODE||o===Tr.CR_CODE;)o=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let o=this.gobbleExpressions(),A=o.length===1?o[0]:{type:Tr.COMPOUND,body:o};return this.runHook("after-all",A)}gobbleExpressions(o){let A=[],f,m;for(;this.index0;){if(Tr.binary_ops.hasOwnProperty(o)&&(!Tr.isIdentifierStart(this.code)||this.index+o.lengthC.right_a&&w.right_a?f>w.prec:f<=w.prec;for(;m.length>2&&v(m[m.length-2]);)I=m.pop(),A=m.pop().value,E=m.pop(),o={type:Tr.BINARY_EXP,operator:A,left:E,right:I},m.push(o);o=this.gobbleToken(),o||this.throwError("Expected expression after "+y),m.push(C,o)}for(x=m.length-1,o=m[x];x>1;)o={type:Tr.BINARY_EXP,operator:m[x-1].value,left:m[x-2],right:o},x-=2;return o}gobbleToken(){let o,A,f,m;if(this.gobbleSpaces(),m=this.searchHook("gobble-token"),m)return this.runHook("after-token",m);if(o=this.code,Tr.isDecimalDigit(o)||o===Tr.PERIOD_CODE)return this.gobbleNumericLiteral();if(o===Tr.SQUOTE_CODE||o===Tr.DQUOTE_CODE)m=this.gobbleStringLiteral();else if(o===Tr.OBRACK_CODE)m=this.gobbleArray();else{for(A=this.expr.substr(this.index,Tr.max_unop_len),f=A.length;f>0;){if(Tr.unary_ops.hasOwnProperty(A)&&(!Tr.isIdentifierStart(this.code)||this.index+A.length=A.length&&this.throwError("Unexpected token "+String.fromCharCode(o));break}else if(C===Tr.COMMA_CODE){if(this.index++,m++,m!==A.length){if(o===Tr.CPAREN_CODE)this.throwError("Unexpected token ,");else if(o===Tr.CBRACK_CODE)for(let E=A.length;E":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});Tr.max_unop_len=Tr.getMaxKeyLen(Tr.unary_ops);Tr.max_binop_len=Tr.getMaxKeyLen(Tr.binary_ops);var eF=o=>new Tr(o).parse(),Jvt=Object.getOwnPropertyNames(Tr);Jvt.forEach(o=>{eF[o]===void 0&&o!=="prototype"&&(eF[o]=Tr[o])});eF.Jsep=Tr;var Kvt="ConditionalExpression",Wvt={name:"ternary",init(o){o.hooks.add("after-expression",function(A){if(A.node&&this.code===o.QUMARK_CODE){this.index++;let f=A.node,m=this.gobbleExpression();if(m||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===o.COLON_CODE){this.index++;let C=this.gobbleExpression();if(C||this.throwError("Expected expression"),A.node={type:Kvt,test:f,consequent:m,alternate:C},f.operator&&o.binary_ops[f.operator]<=.9){let E=f;for(;E.right.operator&&o.binary_ops[E.right.operator]<=.9;)E=E.right;A.node.test=E.right,E.right=A.node,A.node=f}}else this.throwError("Expected :")}})}};eF.plugins.register(Wvt);var qvt={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18},Bn=Object.freeze(qvt);function tB(o,A){this._expression=o,o=l_t(o,A),o=u_t(A_t(o)),eF.addBinaryOp("=~",0),eF.addBinaryOp("!~",0);let f;try{f=eF(o)}catch(m){throw new Ti(m)}this._runtimeAst=Vl(this,f)}Object.defineProperties(tB.prototype,{expression:{get:function(){return this._expression}}});var Ua={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new tt],cartesian3Array:[new Z],cartesian4Array:[new kt],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);let o=this.arrayArray[this.arrayIndex++];return o.length=0,o},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new tt),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new Z),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new kt),this.cartesian4Array[this.cartesian4Index++]}};tB.prototype.evaluate=function(o,A){Ua.reset();let f=this._runtimeAst.evaluate(o);return A instanceof qe&&f instanceof kt?qe.fromCartesian4(f,A):f instanceof tt||f instanceof Z||f instanceof kt?f.clone(A):f};tB.prototype.evaluateColor=function(o,A){Ua.reset();let f=this._runtimeAst.evaluate(o);return qe.fromCartesian4(f,A)};tB.prototype.getShaderFunction=function(o,A,f,m){let C=this.getShaderExpression(A,f);return C=`${m} ${o} { return ${C}; } `,C};tB.prototype.getShaderExpression=function(o,A){return this._runtimeAst.getShaderExpression(o,A)};tB.prototype.getVariables=function(){let o=[];return this._runtimeAst.getVariables(o),o=o.filter(function(A,f,m){return m.indexOf(A)===f}),o};var jvt=["!","-","+"],tMe=["+","-","*","/","%","===","!==",">",">=","<","<=","&&","||","!~","=~"],bj=/\${(.*?)}/g,Xvt=/\\/g,Zvt="@#%",$vt=/@#%/g,JZ=new qe,KZ={abs:gf(Math.abs),sqrt:gf(Math.sqrt),cos:gf(Math.cos),sin:gf(Math.sin),tan:gf(Math.tan),acos:gf(Math.acos),asin:gf(Math.asin),atan:gf(Math.atan),radians:gf(De.toRadians),degrees:gf(De.toDegrees),sign:gf(De.sign),floor:gf(Math.floor),ceil:gf(Math.ceil),round:gf(Math.round),exp:gf(Math.exp),exp2:gf(t_t),log:gf(Math.log),log2:gf(i_t),fract:gf(e_t),length:r_t,normalize:n_t},WZ={atan2:p7(Math.atan2,!1),pow:p7(Math.pow,!1),min:p7(Math.min,!0),max:p7(Math.max,!0),distance:o_t,dot:a_t,cross:s_t},o0e={clamp:iMe(De.clamp,!0),mix:iMe(De.lerp,!0)};function e_t(o){return o-Math.floor(o)}function t_t(o){return Math.pow(2,o)}function i_t(o){return De.log2(o)}function gf(o){return function(A,f){if(typeof f=="number")return o(f);if(f instanceof tt)return tt.fromElements(o(f.x),o(f.y),Ua.getCartesian2());if(f instanceof Z)return Z.fromElements(o(f.x),o(f.y),o(f.z),Ua.getCartesian3());if(f instanceof kt)return kt.fromElements(o(f.x),o(f.y),o(f.z),o(f.w),Ua.getCartesian4());throw new Ti(`Function "${A}" requires a vector or number argument. Argument is ${f}.`)}}function p7(o,A){return function(f,m,C){if(A&&typeof C=="number"){if(typeof m=="number")return o(m,C);if(m instanceof tt)return tt.fromElements(o(m.x,C),o(m.y,C),Ua.getCartesian2());if(m instanceof Z)return Z.fromElements(o(m.x,C),o(m.y,C),o(m.z,C),Ua.getCartesian3());if(m instanceof kt)return kt.fromElements(o(m.x,C),o(m.y,C),o(m.z,C),o(m.w,C),Ua.getCartesian4())}if(typeof m=="number"&&typeof C=="number")return o(m,C);if(m instanceof tt&&C instanceof tt)return tt.fromElements(o(m.x,C.x),o(m.y,C.y),Ua.getCartesian2());if(m instanceof Z&&C instanceof Z)return Z.fromElements(o(m.x,C.x),o(m.y,C.y),o(m.z,C.z),Ua.getCartesian3());if(m instanceof kt&&C instanceof kt)return kt.fromElements(o(m.x,C.x),o(m.y,C.y),o(m.z,C.z),o(m.w,C.w),Ua.getCartesian4());throw new Ti(`Function "${f}" requires vector or number arguments of matching types. Arguments are ${m} and ${C}.`)}}function iMe(o,A){return function(f,m,C,E){if(A&&typeof E=="number"){if(typeof m=="number"&&typeof C=="number")return o(m,C,E);if(m instanceof tt&&C instanceof tt)return tt.fromElements(o(m.x,C.x,E),o(m.y,C.y,E),Ua.getCartesian2());if(m instanceof Z&&C instanceof Z)return Z.fromElements(o(m.x,C.x,E),o(m.y,C.y,E),o(m.z,C.z,E),Ua.getCartesian3());if(m instanceof kt&&C instanceof kt)return kt.fromElements(o(m.x,C.x,E),o(m.y,C.y,E),o(m.z,C.z,E),o(m.w,C.w,E),Ua.getCartesian4())}if(typeof m=="number"&&typeof C=="number"&&typeof E=="number")return o(m,C,E);if(m instanceof tt&&C instanceof tt&&E instanceof tt)return tt.fromElements(o(m.x,C.x,E.x),o(m.y,C.y,E.y),Ua.getCartesian2());if(m instanceof Z&&C instanceof Z&&E instanceof Z)return Z.fromElements(o(m.x,C.x,E.x),o(m.y,C.y,E.y),o(m.z,C.z,E.z),Ua.getCartesian3());if(m instanceof kt&&C instanceof kt&&E instanceof kt)return kt.fromElements(o(m.x,C.x,E.x),o(m.y,C.y,E.y),o(m.z,C.z,E.z),o(m.w,C.w,E.w),Ua.getCartesian4());throw new Ti(`Function "${f}" requires vector or number arguments of matching types. Arguments are ${m}, ${C}, and ${E}.`)}}function r_t(o,A){if(typeof A=="number")return Math.abs(A);if(A instanceof tt)return tt.magnitude(A);if(A instanceof Z)return Z.magnitude(A);if(A instanceof kt)return kt.magnitude(A);throw new Ti(`Function "${o}" requires a vector or number argument. Argument is ${A}.`)}function n_t(o,A){if(typeof A=="number")return 1;if(A instanceof tt)return tt.normalize(A,Ua.getCartesian2());if(A instanceof Z)return Z.normalize(A,Ua.getCartesian3());if(A instanceof kt)return kt.normalize(A,Ua.getCartesian4());throw new Ti(`Function "${o}" requires a vector or number argument. Argument is ${A}.`)}function o_t(o,A,f){if(typeof A=="number"&&typeof f=="number")return Math.abs(A-f);if(A instanceof tt&&f instanceof tt)return tt.distance(A,f);if(A instanceof Z&&f instanceof Z)return Z.distance(A,f);if(A instanceof kt&&f instanceof kt)return kt.distance(A,f);throw new Ti(`Function "${o}" requires vector or number arguments of matching types. Arguments are ${A} and ${f}.`)}function a_t(o,A,f){if(typeof A=="number"&&typeof f=="number")return A*f;if(A instanceof tt&&f instanceof tt)return tt.dot(A,f);if(A instanceof Z&&f instanceof Z)return Z.dot(A,f);if(A instanceof kt&&f instanceof kt)return kt.dot(A,f);throw new Ti(`Function "${o}" requires vector or number arguments of matching types. Arguments are ${A} and ${f}.`)}function s_t(o,A,f){if(A instanceof Z&&f instanceof Z)return Z.cross(A,f,Ua.getCartesian3());throw new Ti(`Function "${o}" requires vec3 arguments. Arguments are ${A} and ${f}.`)}function Qn(o,A,f,m,C){this._type=o,this._value=A,this._left=f,this._right=m,this._test=C,this.evaluate=void 0,I_t(this)}function l_t(o,A){if(!k(A))return o;for(let f in A)if(A.hasOwnProperty(f)){let m=new RegExp(`\\$\\{${f}\\}`,"g"),C=`(${A[f]})`;k(C)&&(o=o.replace(m,C))}return o}function A_t(o){return o.replace(Xvt,Zvt)}function JAe(o){return o.replace($vt,"\\")}function u_t(o){let A=o,f="",m=A.indexOf("${");for(;m>=0;){let C=A.indexOf("'"),E=A.indexOf('"'),I;if(C>=0&&C=0&&E=0?new Qn(Bn.VARIABLE_IN_STRING,o.value):new Qn(Bn.LITERAL_STRING,JAe(o.value))}function h_t(o,A){let f=A.arguments,m=f.length,C,E,I,x;if(A.callee.type==="MemberExpression"){C=A.callee.property.name;let y=A.callee.object;if(C==="test"||C==="exec"){if(!k(y.callee)||y.callee.name!=="regExp")throw new Ti(`${C} is not a function.`);return m===0?C==="test"?new Qn(Bn.LITERAL_BOOLEAN,!1):new Qn(Bn.LITERAL_NULL,null):(I=Vl(o,y),x=Vl(o,f[0]),new Qn(Bn.FUNCTION_CALL,C,I,x))}else if(C==="toString")return E=Vl(o,y),new Qn(Bn.FUNCTION_CALL,C,E);throw new Ti(`Unexpected function call "${C}".`)}if(C=A.callee.name,C==="color"){if(m===0)return new Qn(Bn.LITERAL_COLOR,C);if(E=Vl(o,f[0]),k(f[1])){let y=Vl(o,f[1]);return new Qn(Bn.LITERAL_COLOR,C,[E,y])}return new Qn(Bn.LITERAL_COLOR,C,[E])}else if(C==="rgb"||C==="hsl"){if(m<3)throw new Ti(`${C} requires three arguments.`);return E=[Vl(o,f[0]),Vl(o,f[1]),Vl(o,f[2])],new Qn(Bn.LITERAL_COLOR,C,E)}else if(C==="rgba"||C==="hsla"){if(m<4)throw new Ti(`${C} requires four arguments.`);return E=[Vl(o,f[0]),Vl(o,f[1]),Vl(o,f[2]),Vl(o,f[3])],new Qn(Bn.LITERAL_COLOR,C,E)}else if(C==="vec2"||C==="vec3"||C==="vec4"){E=new Array(m);for(let y=0;y1)throw new Ti(`${C} requires exactly one argument.`);return E=Vl(o,f[0]),new Qn(Bn.UNARY,C,E)}else if(C==="getExactClassName"){if(m>0)throw new Ti(`${C} does not take any argument.`);return new Qn(Bn.UNARY,C)}else if(k(KZ[C])){if(m!==1)throw new Ti(`${C} requires exactly one argument.`);return E=Vl(o,f[0]),new Qn(Bn.UNARY,C,E)}else if(k(WZ[C])){if(m!==2)throw new Ti(`${C} requires exactly two arguments.`);return I=Vl(o,f[0]),x=Vl(o,f[1]),new Qn(Bn.BINARY,C,I,x)}else if(k(o0e[C])){if(m!==3)throw new Ti(`${C} requires exactly three arguments.`);I=Vl(o,f[0]),x=Vl(o,f[1]);let y=Vl(o,f[2]);return new Qn(Bn.TERNARY,C,I,x,y)}else{if(C==="Boolean")return m===0?new Qn(Bn.LITERAL_BOOLEAN,!1):(E=Vl(o,f[0]),new Qn(Bn.UNARY,C,E));if(C==="Number")return m===0?new Qn(Bn.LITERAL_NUMBER,0):(E=Vl(o,f[0]),new Qn(Bn.UNARY,C,E));if(C==="String")return m===0?new Qn(Bn.LITERAL_STRING,""):(E=Vl(o,f[0]),new Qn(Bn.UNARY,C,E));if(C==="regExp")return d_t(o,A)}}throw new Ti(`Unexpected function call "${C}".`)}function d_t(o,A){let f=A.arguments;if(f.length===0)return new Qn(Bn.LITERAL_REGEX,new RegExp);let m=Vl(o,f[0]),C;if(f.length>1){let E=Vl(o,f[1]);if(Zoe(m)&&Zoe(E)){try{C=new RegExp(JAe(String(m._value)),E._value)}catch(I){throw new Ti(I)}return new Qn(Bn.LITERAL_REGEX,C)}return new Qn(Bn.REGEX,m,E)}if(Zoe(m)){try{C=new RegExp(JAe(String(m._value)))}catch(E){throw new Ti(E)}return new Qn(Bn.LITERAL_REGEX,C)}return new Qn(Bn.REGEX,m)}function g_t(o){if(C_t(o.name)){let A=E_t(o.name);return A.substr(0,8)==="tiles3d_"?new Qn(Bn.BUILTIN_VARIABLE,A):new Qn(Bn.VARIABLE,A)}else{if(o.name==="NaN")return new Qn(Bn.LITERAL_NUMBER,NaN);if(o.name==="Infinity")return new Qn(Bn.LITERAL_NUMBER,1/0);if(o.name==="undefined")return new Qn(Bn.LITERAL_UNDEFINED,void 0)}throw new Ti(`${o.name} is not defined.`)}function f_t(o){let A=o.property.name;if(A==="PI")return new Qn(Bn.LITERAL_NUMBER,Math.PI);if(A==="E")return new Qn(Bn.LITERAL_NUMBER,Math.E)}function p_t(o){if(o.property.name==="POSITIVE_INFINITY")return new Qn(Bn.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function m_t(o,A){if(A.object.name==="Math")return f_t(A);if(A.object.name==="Number")return p_t(A);let f,m=Vl(o,A.object);return A.computed?(f=Vl(o,A.property),new Qn(Bn.MEMBER,"brackets",m,f)):(f=new Qn(Bn.LITERAL_STRING,A.property.name),new Qn(Bn.MEMBER,"dot",m,f))}function Zoe(o){return o._type>=Bn.LITERAL_NULL}function C_t(o){return o.substr(0,4)==="czm_"}function E_t(o){return o.substr(4)}function Vl(o,A){let f,m,C,E;if(A.type==="Literal")f=c_t(A);else if(A.type==="CallExpression")f=h_t(o,A);else if(A.type==="Identifier")f=g_t(A);else if(A.type==="UnaryExpression"){m=A.operator;let I=Vl(o,A.argument);if(jvt.indexOf(m)>-1)f=new Qn(Bn.UNARY,m,I);else throw new Ti(`Unexpected operator "${m}".`)}else if(A.type==="BinaryExpression")if(m=A.operator,C=Vl(o,A.left),E=Vl(o,A.right),tMe.indexOf(m)>-1)f=new Qn(Bn.BINARY,m,C,E);else throw new Ti(`Unexpected operator "${m}".`);else if(A.type==="LogicalExpression")m=A.operator,C=Vl(o,A.left),E=Vl(o,A.right),tMe.indexOf(m)>-1&&(f=new Qn(Bn.BINARY,m,C,E));else if(A.type==="ConditionalExpression"){let I=Vl(o,A.test);C=Vl(o,A.consequent),E=Vl(o,A.alternate),f=new Qn(Bn.CONDITIONAL,"?",C,E,I)}else if(A.type==="MemberExpression")f=m_t(o,A);else if(A.type==="ArrayExpression"){let I=[];for(let x=0;x"?o.evaluate=o._evaluateGreaterThan:o._value===">="?o.evaluate=o._evaluateGreaterThanOrEquals:o._value==="&&"?o.evaluate=o._evaluateAnd:o._value==="||"?o.evaluate=o._evaluateOr:o._value==="=~"?o.evaluate=o._evaluateRegExpMatch:o._value==="!~"?o.evaluate=o._evaluateRegExpNotMatch:k(WZ[o._value])&&(o.evaluate=v_t(o._value)):o._type===Bn.TERNARY?o.evaluate=__t(o._value):o._type===Bn.MEMBER?o._value==="brackets"?o.evaluate=o._evaluateMemberBrackets:o.evaluate=o._evaluateMemberDot:o._type===Bn.ARRAY?o.evaluate=o._evaluateArray:o._type===Bn.VARIABLE?o.evaluate=o._evaluateVariable:o._type===Bn.VARIABLE_IN_STRING?o.evaluate=o._evaluateVariableString:o._type===Bn.LITERAL_COLOR?o.evaluate=o._evaluateLiteralColor:o._type===Bn.LITERAL_VECTOR?o.evaluate=o._evaluateLiteralVector:o._type===Bn.LITERAL_STRING?o.evaluate=o._evaluateLiteralString:o._type===Bn.REGEX?o.evaluate=o._evaluateRegExp:o._type===Bn.BUILTIN_VARIABLE?o._value==="tiles3d_tileset_time"&&(o.evaluate=x_t):o.evaluate=o._evaluateLiteral}function x_t(o){return k(o)?o.content.tileset.timeSinceLoad:0}function y_t(o){let A=KZ[o];return function(f){let m=this._left.evaluate(f);return A(o,m)}}function v_t(o){let A=WZ[o];return function(f){let m=this._left.evaluate(f),C=this._right.evaluate(f);return A(o,m,C)}}function __t(o){let A=o0e[o];return function(f){let m=this._left.evaluate(f),C=this._right.evaluate(f),E=this._test.evaluate(f);return A(o,m,C,E)}}function qZ(o,A){if(k(o))return o.getPropertyInherited(A)}Qn.prototype._evaluateLiteral=function(){return this._value};Qn.prototype._evaluateLiteralColor=function(o){let A=JZ,f=this._left;if(this._value==="color")k(f)?f.length>1?(qe.fromCssColorString(f[0].evaluate(o),A),A.alpha=f[1].evaluate(o)):qe.fromCssColorString(f[0].evaluate(o),A):qe.fromBytes(255,255,255,255,A);else if(this._value==="rgb")qe.fromBytes(f[0].evaluate(o),f[1].evaluate(o),f[2].evaluate(o),255,A);else if(this._value==="rgba"){let m=f[3].evaluate(o)*255;qe.fromBytes(f[0].evaluate(o),f[1].evaluate(o),f[2].evaluate(o),m,A)}else this._value==="hsl"?qe.fromHsl(f[0].evaluate(o),f[1].evaluate(o),f[2].evaluate(o),1,A):this._value==="hsla"&&qe.fromHsl(f[0].evaluate(o),f[1].evaluate(o),f[2].evaluate(o),f[3].evaluate(o),A);return kt.fromColor(A,Ua.getCartesian4())};Qn.prototype._evaluateLiteralVector=function(o){let A=Ua.getArray(),f=this._value,m=this._left,C=m.length;for(let x=0;x1)throw new Ti(`Invalid ${f} constructor. Not enough arguments.`);if(E>I&&C>1)throw new Ti(`Invalid ${f} constructor. Too many arguments.`);if(E===1){let x=A[0];A.push(x,x,x)}if(f==="vec2")return tt.fromArray(A,0,Ua.getCartesian2());if(f==="vec3")return Z.fromArray(A,0,Ua.getCartesian3());if(f==="vec4")return kt.fromArray(A,0,Ua.getCartesian4())};Qn.prototype._evaluateLiteralString=function(){return this._value};Qn.prototype._evaluateVariableString=function(o){let A=this._value,f=bj.exec(A);for(;f!==null;){let m=f[0],C=f[1],E=qZ(o,C);k(E)||(E=""),A=A.replace(m,E),f=bj.exec(A)}return A};Qn.prototype._evaluateVariable=function(o){return qZ(o,this._value)};function tF(o){return o._value==="feature"}Qn.prototype._evaluateMemberDot=function(o){if(tF(this._left))return qZ(o,this._right.evaluate(o));let A=this._left.evaluate(o);if(!k(A))return;let f=this._right.evaluate(o);if(A instanceof tt||A instanceof Z||A instanceof kt){if(f==="r")return A.x;if(f==="g")return A.y;if(f==="b")return A.z;if(f==="a")return A.w}return A[f]};Qn.prototype._evaluateMemberBrackets=function(o){if(tF(this._left))return qZ(o,this._right.evaluate(o));let A=this._left.evaluate(o);if(!k(A))return;let f=this._right.evaluate(o);if(A instanceof tt||A instanceof Z||A instanceof kt){if(f===0||f==="r")return A.x;if(f===1||f==="g")return A.y;if(f===2||f==="b")return A.z;if(f===3||f==="a")return A.w}return A[f]};Qn.prototype._evaluateArray=function(o){let A=[];for(let f=0;f" requires number arguments. Arguments are ${A} and ${f}.`);return A>f};Qn.prototype._evaluateGreaterThanOrEquals=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(typeof A!="number"||typeof f!="number")throw new Ti(`Operator ">=" requires number arguments. Arguments are ${A} and ${f}.`);return A>=f};Qn.prototype._evaluateOr=function(o){let A=this._left.evaluate(o);if(typeof A!="boolean")throw new Ti(`Operator "||" requires boolean arguments. First argument is ${A}.`);if(A)return!0;let f=this._right.evaluate(o);if(typeof f!="boolean")throw new Ti(`Operator "||" requires boolean arguments. Second argument is ${f}.`);return A||f};Qn.prototype._evaluateAnd=function(o){let A=this._left.evaluate(o);if(typeof A!="boolean")throw new Ti(`Operator "&&" requires boolean arguments. First argument is ${A}.`);if(!A)return!1;let f=this._right.evaluate(o);if(typeof f!="boolean")throw new Ti(`Operator "&&" requires boolean arguments. Second argument is ${f}.`);return A&&f};Qn.prototype._evaluatePlus=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(f instanceof tt&&A instanceof tt)return tt.add(A,f,Ua.getCartesian2());if(f instanceof Z&&A instanceof Z)return Z.add(A,f,Ua.getCartesian3());if(f instanceof kt&&A instanceof kt)return kt.add(A,f,Ua.getCartesian4());if(typeof A=="string"||typeof f=="string"||typeof A=="number"&&typeof f=="number")return A+f;throw new Ti(`Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are ${A} and ${f}.`)};Qn.prototype._evaluateMinus=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(f instanceof tt&&A instanceof tt)return tt.subtract(A,f,Ua.getCartesian2());if(f instanceof Z&&A instanceof Z)return Z.subtract(A,f,Ua.getCartesian3());if(f instanceof kt&&A instanceof kt)return kt.subtract(A,f,Ua.getCartesian4());if(typeof A=="number"&&typeof f=="number")return A-f;throw new Ti(`Operator "-" requires vector or number arguments of matching types. Arguments are ${A} and ${f}.`)};Qn.prototype._evaluateTimes=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(f instanceof tt&&A instanceof tt)return tt.multiplyComponents(A,f,Ua.getCartesian2());if(f instanceof tt&&typeof A=="number")return tt.multiplyByScalar(f,A,Ua.getCartesian2());if(A instanceof tt&&typeof f=="number")return tt.multiplyByScalar(A,f,Ua.getCartesian2());if(f instanceof Z&&A instanceof Z)return Z.multiplyComponents(A,f,Ua.getCartesian3());if(f instanceof Z&&typeof A=="number")return Z.multiplyByScalar(f,A,Ua.getCartesian3());if(A instanceof Z&&typeof f=="number")return Z.multiplyByScalar(A,f,Ua.getCartesian3());if(f instanceof kt&&A instanceof kt)return kt.multiplyComponents(A,f,Ua.getCartesian4());if(f instanceof kt&&typeof A=="number")return kt.multiplyByScalar(f,A,Ua.getCartesian4());if(A instanceof kt&&typeof f=="number")return kt.multiplyByScalar(A,f,Ua.getCartesian4());if(typeof A=="number"&&typeof f=="number")return A*f;throw new Ti(`Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are ${A} and ${f}.`)};Qn.prototype._evaluateDivide=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(f instanceof tt&&A instanceof tt)return tt.divideComponents(A,f,Ua.getCartesian2());if(A instanceof tt&&typeof f=="number")return tt.divideByScalar(A,f,Ua.getCartesian2());if(f instanceof Z&&A instanceof Z)return Z.divideComponents(A,f,Ua.getCartesian3());if(A instanceof Z&&typeof f=="number")return Z.divideByScalar(A,f,Ua.getCartesian3());if(f instanceof kt&&A instanceof kt)return kt.divideComponents(A,f,Ua.getCartesian4());if(A instanceof kt&&typeof f=="number")return kt.divideByScalar(A,f,Ua.getCartesian4());if(typeof A=="number"&&typeof f=="number")return A/f;throw new Ti(`Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are ${A} and ${f}.`)};Qn.prototype._evaluateMod=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(f instanceof tt&&A instanceof tt)return tt.fromElements(A.x%f.x,A.y%f.y,Ua.getCartesian2());if(f instanceof Z&&A instanceof Z)return Z.fromElements(A.x%f.x,A.y%f.y,A.z%f.z,Ua.getCartesian3());if(f instanceof kt&&A instanceof kt)return kt.fromElements(A.x%f.x,A.y%f.y,A.z%f.z,A.w%f.w,Ua.getCartesian4());if(typeof A=="number"&&typeof f=="number")return A%f;throw new Ti(`Operator "%" requires vector or number arguments of matching types. Arguments are ${A} and ${f}.`)};Qn.prototype._evaluateEqualsStrict=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);return f instanceof tt&&A instanceof tt||f instanceof Z&&A instanceof Z||f instanceof kt&&A instanceof kt?A.equals(f):A===f};Qn.prototype._evaluateNotEqualsStrict=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);return f instanceof tt&&A instanceof tt||f instanceof Z&&A instanceof Z||f instanceof kt&&A instanceof kt?!A.equals(f):A!==f};Qn.prototype._evaluateConditional=function(o){let A=this._test.evaluate(o);if(typeof A!="boolean")throw new Ti(`Conditional argument of conditional expression must be a boolean. Argument is ${A}.`);return A?this._left.evaluate(o):this._right.evaluate(o)};Qn.prototype._evaluateNaN=function(o){return isNaN(this._left.evaluate(o))};Qn.prototype._evaluateIsFinite=function(o){return isFinite(this._left.evaluate(o))};Qn.prototype._evaluateIsExactClass=function(o){return k(o)?o.isExactClass(this._left.evaluate(o)):!1};Qn.prototype._evaluateIsClass=function(o){return k(o)?o.isClass(this._left.evaluate(o)):!1};Qn.prototype._evaluateGetExactClassName=function(o){if(k(o))return o.getExactClassName()};Qn.prototype._evaluateBooleanConversion=function(o){return!!this._left.evaluate(o)};Qn.prototype._evaluateNumberConversion=function(o){return Number(this._left.evaluate(o))};Qn.prototype._evaluateStringConversion=function(o){return String(this._left.evaluate(o))};Qn.prototype._evaluateRegExp=function(o){let A=this._value.evaluate(o),f="";k(this._left)&&(f=this._left.evaluate(o));let m;try{m=new RegExp(A,f)}catch(C){throw new Ti(C)}return m};Qn.prototype._evaluateRegExpTest=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(!(A instanceof RegExp&&typeof f=="string"))throw new Ti(`RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${A} and ${f}.`);return A.test(f)};Qn.prototype._evaluateRegExpMatch=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(A instanceof RegExp&&typeof f=="string")return A.test(f);if(f instanceof RegExp&&typeof A=="string")return f.test(A);throw new Ti(`Operator "=~" requires one RegExp argument and one string argument. Arguments are ${A} and ${f}.`)};Qn.prototype._evaluateRegExpNotMatch=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(A instanceof RegExp&&typeof f=="string")return!A.test(f);if(f instanceof RegExp&&typeof A=="string")return!f.test(A);throw new Ti(`Operator "!~" requires one RegExp argument and one string argument. Arguments are ${A} and ${f}.`)};Qn.prototype._evaluateRegExpExec=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(!(A instanceof RegExp&&typeof f=="string"))throw new Ti(`RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${A} and ${f}.`);let m=A.exec(f);return k(m)?m[1]:null};Qn.prototype._evaluateToString=function(o){let A=this._left.evaluate(o);if(A instanceof RegExp||A instanceof tt||A instanceof Z||A instanceof kt)return String(A);throw new Ti(`Unexpected function call "${this._value}".`)};function rMe(o){let A=o._left,f=A.length;for(let x=0;x1){let M=v[0],B=v[1];return B!=="1.0"&&(A.translucent=!0),`vec4(${M}, ${B})`}}else return"vec4(1.0)";return`vec4(${v[0]}, 1.0)`}else{if(y==="rgb")return m=nMe(this),k(m)?m7(m):`vec4(${v[0]} / 255.0, ${v[1]} / 255.0, ${v[2]} / 255.0, 1.0)`;if(y==="rgba")return v[3]!=="1.0"&&(A.translucent=!0),m=nMe(this),k(m)?m7(m):`vec4(${v[0]} / 255.0, ${v[1]} / 255.0, ${v[2]} / 255.0, ${v[3]})`;if(y==="hsl")return m=rMe(this),k(m)?m7(m):`vec4(czm_HSLToRGB(vec3(${v[0]}, ${v[1]}, ${v[2]})), 1.0)`;if(y==="hsla")return m=rMe(this),k(m)?(m.alpha!==1&&(A.translucent=!0),m7(m)):(v[3]!=="1.0"&&(A.translucent=!0),`vec4(czm_HSLToRGB(vec3(${v[0]}, ${v[1]}, ${v[2]})), ${v[3]})`)}break;case Bn.LITERAL_VECTOR:w=C.length,Q=`${y}(`;for(let M=0;Mf.height>A.height)}function D_t(o){return Array.from(new Set(o))}function M_t(o,A){let f=new Uint8Array(o*A*4);for(let m=0;m{let v=y.url,w=y.data,Q=y.width,M=y.height;x.push({url:v,tileData:w,w:Q,h:M})}),x.sort(function(y,v){return v.h{let x=new fr({url:I});E.push(x.fetchImage())}),Promise.all(E).then(function(I){let x=[];I.forEach(M=>{f.width=M.width,f.height=M.height;let B=T_t(M,m);x.push({url:M.src,data:B,width:M.width,height:M.height})}),S_t(x);let y=M_t(A.x,A.y),v=R_t(x,y,A),w=[],Q=v.mapInfos;return o.forEach(function(M){let B=M.lastIndexOf("/"),D=M.substring(B+1);Q.forEach(function(S){let P=S.url,R=P.lastIndexOf("/"),T=P.substring(R+1);D===T&&w.push({imageName:T,offsetx:S.offsetx,offsety:S.offsety,width:S.width,height:S.height})})}),{data:v.data,indexInfos:w}}).catch(function(I){console.log(I)})}var F_t=L_t,jZ=F_t,nP=0,t1=new tt(4096,4096);function Wy(o,A,f){return new Nt(Math.cos(f)*o.x,-Math.sin(f)*o.x,A.x,Math.sin(f)*o.y,Math.cos(f)*o.y,A.y,0,0,1)}function M6e(o){o=ae(o,{}),this.name="LineMaterialStage",this.filterType=ae(o.filterType,[]),this.bindFilterType=++nP,this.weight=ae(o.weight,1),this.alpha=ae(o.alpha,1),this._speed=ae(o.speed,1),this._width=ae(o.width,2),this._maxHeight=100,this.uniforms={u_height:{type:Yo.FLOAT,value:0},u_lineColor:{type:Yo.VEC3,value:new Z(2,2,2)},u_rtcNormalize:{type:Yo.VEC3,value:new Z(2,2,2)},u_rtcScale:{type:Yo.VEC3,value:new Z},u_lineWidth:{type:Yo.FLOAT,value:this._width}};let A=this,f=this.uniforms.u_height;this.updateCallBack=function(){let C=f.value;C>A._maxHeight?C=0:C+=.4*A._speed,f.value=C},this.varyings={v_nor:wm.VEC3,v_pos:wm.VEC3},this.vertexShaderText=` void dealVSLineMaterialStage(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_nor = vsInput.attributes.normalMC; v_pos = getPosition(vsInput); } `,this.callVSFunction=`dealVSLineMaterialStage(vsInput, vsOutput); `;let m=1-this.weight;this.fragmentShaderText=` void dealFSLineMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material){ vec3 faceNormalize = v_nor; vec3 upAxis = getAxis(faceNormalize); vec3 normalAxis = faceNormalize; float height = dot(v_pos, upAxis); if(dot(faceNormalize, upAxis) < 0.02) { if((height < u_height) && (u_height < height + u_lineWidth)){ vec3 diffuse = material.diffuse; material.diffuse = diffuse * ${m.toFixed(2)} + u_lineColor * ${this.weight.toFixed(2)}; } } } `,this.callFSFunction=`dealFSLineMaterialStage(fsInput, material); `,this.fsCallback=function(C,E){return""}}Object.defineProperties(M6e.prototype,{lineColor:{get:function(){return this.uniforms.u_lineColor.value},set:function(o){this.uniforms.u_lineColor.value=o}},maxHeight:{get:function(){return this._maxHeight},set:function(o){this._maxHeight=o}},width:{get:function(){return this.uniforms.u_lineWidth.value},set:function(o){this.uniforms.u_lineWidth.value=o}},speed:{get:function(){return this._speed},set:function(o){this._speed=o}}});function T6e(o){o=ae(o,{}),this.name="GradientMaterialStage",this.filterType=ae(o.filterType,[]),this.bindFilterType=++nP,this.weight=ae(o.weight,1),this.alpha=ae(o.alpha,1),this.uniforms={u_maxHeight:{type:Yo.FLOAT,value:100},u_gradientColor:{type:Yo.VEC3,value:new Z(0,0,1)},u_rtcNormalize:{type:Yo.VEC3,value:new Z},u_rtcScale:{type:Yo.VEC3,value:new Z}},this.updateCallBack=function(){},this.varyings={v_pos:wm.VEC3},this.vertexShaderText=` void dealVSGradientMaterialStage(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_pos = getPosition(vsInput); } `,this.callVSFunction=`dealVSGradientMaterialStage(vsInput, vsOutput); `;let A=1-this.weight;this.fragmentShaderText=` void dealFSGradientMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material){ vec3 nor = vec3(0.0, 0.0, 0.0); vec3 upAxis = getAxis(nor); float height = dot(v_pos, upAxis); float rgb = height/u_maxHeight; material.diffuse = material.diffuse * ${A.toFixed(2)} + u_gradientColor * rgb * ${this.weight.toFixed(2)}; } `,this.callFSFunction=`dealFSGradientMaterialStage(fsInput, material); `,this.fsCallback=function(f,m){return""}}Object.defineProperties(T6e.prototype,{gradientColor:{get:function(){return this.uniforms.u_gradientColor.value},set:function(o){this.uniforms.u_gradientColor.value=o}},maxHeight:{get:function(){return this.uniforms.u_maxHeight.value},set:function(o){this.uniforms.u_maxHeight.value=o}}});function P6e(o){o=ae(o,{}),this.name="NormalizeMaterialStage",this.filterType=ae(o.filterType,[]),this.bindFilterType=++nP,this.alpha=ae(o.alpha,1),this.weight=ae(o.weight,1),this.uniforms={u_rtcNormalize:{type:Yo.VEC3,value:new Z},u_rtcScale:{type:Yo.VEC3,value:new Z},u_normalScale:{type:Yo.FLOAT,value:.3},u_lightScale:{type:Yo.FLOAT,value:.7}},this.updateCallBack=function(){},this.varyings={},this.vertexShaderText="",this.callVSFunction="",this.fragmentShaderText=` void dealFSNormalizeMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material) { // \u53CD\u8F6C\u6CD5\u7EBF // vec3 normalScale = material.normalEC; // normalScale = normalize(normalScale); // float scaleFactor = dot(czm_lightDirectionEC, normalScale); // material.normalEC = (scaleFactor > 0.0 ? normalScale : -normalScale); vec3 normal = material.normalEC * u_normalScale + czm_lightDirectionEC * u_lightScale; material.normalEC = normalize(normal); } `,this.callFSFunction=`dealFSNormalizeMaterialStage(fsInput, material); `,this.fsCallback=function(A,f){return""}}Object.defineProperties(P6e.prototype,{normalScale:{get:function(){return this.uniforms.u_normalScale.value},set:function(o){this.uniforms.u_normalScale.value=o}},lightScale:{get:function(){return this.uniforms.u_lightScale.value},set:function(o){this.uniforms.u_lightScale.value=o}}});function R6e(o){o=ae(o,{}),this.name="DynamicColorMaterialStage",this.filterType=ae(o.filterType,[]),this.bindFilterType=++nP,this.alpha=ae(o.alpha,1),this._speed=ae(o.speed,1),this.weight=ae(o.weight,1),this.uniforms={u_timeIndex:{type:Yo.FLOAT,value:1},u_rtcNormalize:{type:Yo.VEC3,value:new Z},u_rtcScale:{type:Yo.VEC3,value:new Z}};let A=this,f=this.uniforms.u_timeIndex,m=.002;this.updateCallBack=function(){let E=f.value;(E>1||E<0)&&(m=-m),f.value+=m*A._speed},this.varyings={v_pos:wm.VEC3,v_nor:wm.VEC3},this.vertexShaderText=` void dealVSDynamicColorMaterialStage(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_pos = getPosition(vsInput); } `,this.callVSFunction=`dealVSDynamicColorMaterialStage(vsInput, vsOutput); `;let C=1-this.weight;this.fragmentShaderText=` void dealFSDynamicColorMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material){ vec3 nor = vec3(0.0, 0.0, 0.0); vec3 upAxis = getAxis(nor); float height = dot(v_pos, upAxis); float step = height * u_timeIndex; vec3 color = vec3(step * 0.008, (100.0 - step) * 0.008, step * 0.008); vec3 diffuse = material.diffuse; material.diffuse = diffuse * ${C.toFixed(2)} + color * ${this.weight.toFixed(2)}; } `,this.callFSFunction=`dealFSDynamicColorMaterialStage(fsInput, material); `,this.fsCallback=function(E,I){return""}}Object.defineProperties(R6e.prototype,{speed:{get:function(){return this._speed},set:function(o){this._speed=o}}});function L6e(o){o=ae(o,{}),this.name="TextureMaterialStage",this.filterType=ae(o.filterType,[]),this.bindFilterType=++nP,this.alpha=ae(o.alpha,1),this.weight=ae(o.weight,1),this._uvScale=new tt(1/64,1/64),this._uvTranslate=new tt(0,0),this._uvRotate=0/180*3.14;let A=Wy(this._uvScale,this._uvTranslate,this._uvRotate);this.uniforms={u_TextureMap:{type:Yo.SAMPLER_2D,value:new i0e({url:o.url})},u_TextureMapSize:{type:Yo.VEC2,value:new tt(512,512)},u_changeIndex:{type:Yo.FLOAT,value:0},u_TextureMapMatrix:{type:Yo.MAT3,value:A},u_rtcNormalize:{type:Yo.VEC3,value:new Z},u_rtcScale:{type:Yo.VEC3,value:new Z}},this.updateCallBack=function(){},this.varyings={v_pos:wm.VEC3,v_nor:wm.VEC3},this.vertexShaderText=` void dealVSTextureMaterialStage(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_pos = getPosition(vsInput); v_nor = vsInput.attributes.normalMC; } `,this.callVSFunction=`dealVSTextureMaterialStage(vsInput, vsOutput); `;let f=1-this.weight;this.fragmentShaderText=`void dealTextureMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material){ int mapWidth = int(u_TextureMapSize.x); int mapHeight = int(u_TextureMapSize.y); //\u4F7F\u7528\u7684\u662F\u9ED8\u8BA4\u56FE\u7247 if(mapWidth == 1 && mapHeight == 1) return; vec3 faceNormalize = v_nor; vec3 upAxis = getAxis(faceNormalize); vec3 normalAxis = faceNormalize; // \u4E16\u754C\u7A7A\u95F4\u8F6C\u6362\u4E3Auv\u7A7A\u95F4 vec3 uvPos = tranformUv(upAxis, normalAxis, v_pos); // \u9650\u5236\u4F4D\u7F6E if(dot(faceNormalize, upAxis) < 0.2) { //\u5E73\u79FB\u65CB\u8F6C\u548C\u7F29\u653E uvPos = u_TextureMapMatrix * uvPos; // [0~1]\u8F6C\u6362\u5230[0~mapWidth]\u4E4B\u95F4\u7684\u6574\u6570 ivec2 rUv = repeatUV(uvPos, mapWidth, mapHeight); int uvPosX = rUv.x; int uvPosY = rUv.y; vec3 textureColor = texture(u_TextureMap, vec2(float(uvPosX) / float(mapWidth) , float(uvPosY) / float(mapHeight))).rgb; // if(0.0 < u_changeIndex && u_changeIndex < 0.3) { // textureColor = vec3(textureColor.r) * u_changeIndex; // } else if(0.3 < u_changeIndex && u_changeIndex < 0.6) { // textureColor = vec3(textureColor.g) * u_changeIndex; // } else if(0.6 < u_changeIndex && u_changeIndex < 1.0) { // textureColor = vec3(textureColor.b) * u_changeIndex; // } material.diffuse = material.diffuse * ${f.toFixed(2)} + textureColor * ${this.weight.toFixed(2)}; // if(textureColor.r > 0.3) { // discard; // } } } `,this.callFSFunction=`dealTextureMaterialStage(fsInput, material); `,this.fsCallback=function(m,C){return""}}Object.defineProperties(L6e.prototype,{uvScale:{get:function(){return this._uvScale},set:function(o){this._uvScale=new tt(1/o.x,1/o.y),this.uniforms.u_TextureMapMatrix.value=Wy(this._uvScale,this._uvTranslate,this._uvRotate)}},uvTranslate:{get:function(){return this._uvTranslate},set:function(o){this._uvTranslate=o,this.uniforms.u_TextureMapMatrix.value=Wy(this._uvScale,this._uvTranslate,this._uvRotate)}},uvAngle:{get:function(){return this._uvRotate},set:function(o){this._uvRotate=o,this.uniforms.u_TextureMapMatrix.value=Wy(this._uvScale,this._uvTranslate,this._uvRotate)}}});function XZ(o){o=ae(o,{}),this.name="TextureMaterialStageEx",this.weight=ae(o.weight,1),this.alpha=ae(o.alpha,1),this.filterType=ae(o.filterType,[]),this.bindFilterType=[];let A=this.filterType.length;for(let I=0;I{f.push(I)}),this.uplaod=!1,this.imageData=null,this.reay=!1;let m=this;jZ(f,t1).then(function(I){m.imageData=I,m.textureMap=new Rn({context:o.context,source:{width:t1.x,height:t1.y,arrayBufferView:I.data},flipY:!1}),m.reay=!0}).catch(function(I){throw new ni("image load fail")}),this._uvScale=new tt(1/64,1/64),this._uvTranslate=new tt(0,0),this._uvRotate=0/180*3.14;let C=Wy(this._uvScale,this._uvTranslate,this._uvRotate);this.uniforms={u_TextureMap:{type:Yo.SAMPLER_2D,value:this._defaultTexture},u_TextureMapSize:{type:Yo.INT_VEC2,value:t1},u_TextureMapMatrix:{type:Yo.MAT3,value:C},u_rtcNormalize:{type:Yo.VEC3,value:new Z},u_rtcScale:{type:Yo.VEC3,value:new Z}},this.updateCallBack=function(){!m.uplaod&&m.textureMap&&(m.uniforms.u_TextureMap.value=m.textureMap,m.uniforms.u_TextureMapSize.value=t1,m.uplaod=!0)},this.varyings={v_pos:wm.VEC3,v_nor:wm.VEC3},this.vertexShaderText=` void dealVSTextureMaterialStageEx(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_pos = getPosition(vsInput); v_nor = vsInput.attributes.normalMC; } `,this.callVSFunction=`dealVSTextureMaterialStageEx(vsInput, vsOutput); `;let E=1-this.weight;this.fragmentShaderText=` void dealTextureMaterialStageEx(FragmentInput fsInput, inout czm_modelMaterial material, ivec2 offset, ivec2 dimension){ int mapWidth = u_TextureMapSize.x; int mapHeight = u_TextureMapSize.y; //\u4F7F\u7528\u7684\u662F\u9ED8\u8BA4\u56FE\u7247 if(mapWidth == 1 && mapHeight == 1) return; vec3 faceNormalize = v_nor; vec3 upAxis = getAxis(faceNormalize); vec3 normalAxis = faceNormalize; // \u4E16\u754C\u7A7A\u95F4\u8F6C\u6362\u4E3Auv\u7A7A\u95F4 vec3 uvPos = tranformUv(upAxis, normalAxis, v_pos); // \u9650\u5236\u4F4D\u7F6E if(dot(faceNormalize, upAxis) < 0.2) { int offsetY = offset.y; int offsetX = offset.x; int tileWidth = dimension.x; int tileHeight = dimension.y; //\u5E73\u79FB\u65CB\u8F6C\u548C\u7F29\u653E uvPos = u_TextureMapMatrix * uvPos; // [0~1]\u8F6C\u6362\u5230[0~tileWidth]\u4E4B\u95F4\u7684\u6574\u6570 ivec2 rUv = repeatUV(uvPos, tileWidth, tileHeight); int uvPosX = rUv.x; int uvPosY = rUv.y; uvPosX += offsetX; uvPosY += offsetY; vec3 textureColor = texture(u_TextureMap, vec2(float(uvPosX) / float(mapWidth) , float(uvPosY) / float(mapHeight))).rgb; material.diffuse = material.diffuse * ${E.toFixed(2)} + textureColor * ${this.weight.toFixed(2)}; } } `,this.callFSFunction=`dealTextureMaterialStageEx(fsInput, material, offset, dimension); `,this.fsCallback=function(I,x){if(!m.uplaod)return"";let y=m.filterType.indexOf(I),v=m.imageData.indexInfos[y];return` offset = ivec2(${parseInt(v.offsetx)}, ${parseInt(v.offsety)}); dimension = ivec2(${parseInt(v.width)}, ${parseInt(v.height)}); `}}Object.defineProperties(XZ.prototype,{uvScale:{get:function(){return this._uvScale},set:function(o){this._uvScale=new tt(1/o.x,1/o.y),this.uniforms.u_TextureMapMatrix.value=Wy(this._uvScale,this._uvTranslate,this._uvRotate)}},uvTranslate:{get:function(){return this._uvTranslate},set:function(o){this._uvTranslate=o,this.uniforms.u_TextureMapMatrix.value=Wy(this._uvScale,this._uvTranslate,this._uvRotate)}},uvAngle:{get:function(){return this._uvRotate},set:function(o){this._uvRotate=o,this.uniforms.u_TextureMapMatrix.value=Wy(this._uvScale,this._uvTranslate,this._uvRotate)}}});function F6e(o){o=ae(o,{}),this.name="ReflectMaterialStage",this.filterType=ae(o.filterType,[]),this.bindFilterType=++nP,this.weight=ae(o.weight,1),this.uniforms={u_specular:{type:Yo.VEC3,value:new Z(.2,.2,.2)},u_roughness:{type:Yo.FLOAT,value:.8},u_rtcNormalize:{type:Yo.VEC3,value:new Z},u_rtcScale:{type:Yo.VEC3,value:new Z}},this.updateCallBack=function(){},this.vertexShaderText="",this.callVSFunction="",this.fragmentShaderText=` void dealReflectMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material){ material.roughness = u_roughness; material.specular = u_specular; } `,this.callFSFunction=`dealReflectMaterialStage(fsInput, material); `,this.fsCallback=function(A,f){return""}}Object.defineProperties(F6e.prototype,{specular:{get:function(){return this.uniforms.u_specular.value},set:function(o){this.uniforms.u_specular.value=o}},roughness:{get:function(){return this.uniforms.u_roughness.value},set:function(o){this.uniforms.u_roughness.value=o}}});function ZZ(o){o=ae(o,{}),this.name="ReflectTextureMaterialStage",this.filterType=ae(o.filterType,[]),this.alpha=ae(o.alpha,1),this.weight=ae(o.weight,1),this.bindFilterType=[];let A=this.filterType.length;for(let E=0;E{f.push(E)}),this.uplaod=!1,this.imageData=null,this.reay=!1;let m=this;jZ(f,t1).then(function(E){m.imageData=E,m.textureMap=new Rn({context:o.context,source:{width:t1.x,height:t1.y,arrayBufferView:E.data},flipY:!1}),m.reay=!0}).catch(function(E){throw new ni("image load fail")}),this._uvScale=new tt(1/64,1/16),this._uvTranslate=new tt(0,0),this._uvRotate=0/180*3.14;let C=Wy(this._uvScale,this._uvTranslate,this._uvRotate);this.uniforms={u_TextureMap:{type:Yo.SAMPLER_2D,value:this._defaultTexture},u_TextureMapSize:{type:Yo.INT_VEC2,value:t1},u_TextureMapMatrix:{type:Yo.MAT3,value:C},u_rtcNormalize:{type:Yo.VEC3,value:new Z},u_rtcScale:{type:Yo.VEC3,value:new Z},u_colorScale:{type:Yo.VEC3,value:new Z(.5,.5,.5)},u_topColor:{type:Yo.VEC3,value:new Z(.5,.5,.5)}},this.updateCallBack=function(){!m.uplaod&&m.textureMap&&(m.uniforms.u_TextureMap.value=m.textureMap,m.uniforms.u_TextureMapSize.value=t1,m.uplaod=!0)},this.varyings={v_pos:wm.VEC3,v_nor:wm.VEC3},this.vertexShaderText=` void dealVSReflectTextureMaterialStage(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_pos = getPosition(vsInput); v_nor = vsInput.attributes.normalMC; } `,this.callVSFunction=`dealVSReflectTextureMaterialStage(vsInput, vsOutput); `,this.fragmentShaderText=` void dealFsReflectTextureMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material, ivec2 offset, ivec2 dimension){ int mapWidth = u_TextureMapSize.x; int mapHeight = u_TextureMapSize.y; //\u4F7F\u7528\u7684\u662F\u9ED8\u8BA4\u56FE\u7247 if(mapWidth == 1 && mapHeight == 1) return; vec3 faceNormalize = v_nor; vec3 upAxis = getAxis(faceNormalize); vec3 normalAxis = faceNormalize; // \u4E16\u754C\u7A7A\u95F4\u8F6C\u6362\u4E3Auv\u7A7A\u95F4 vec3 uvPos = tranformUv(upAxis, normalAxis, v_pos); // \u9650\u5236\u4F4D\u7F6E if(dot(faceNormalize, upAxis) < 0.2) { int offsetY = offset.y; int offsetX = offset.x; int tileWidth = dimension.x; int tileHeight = dimension.y; //\u5E73\u79FB\u65CB\u8F6C\u548C\u7F29\u653E uvPos = u_TextureMapMatrix * uvPos; // [0~1]\u8F6C\u6362\u5230[0~tileWidth]\u4E4B\u95F4\u7684\u6574\u6570 ivec2 rUv = repeatUV(uvPos, tileWidth, tileHeight); int uvPosX = rUv.x; int uvPosY = rUv.y; uvPosX += offsetX; uvPosY += offsetY; vec3 textureColor = texture(u_TextureMap, vec2(float(uvPosX) / float(mapWidth) , float(uvPosY) / float(mapHeight))).rgb; float height = dot(uvPos, upAxis); //if(height > 0.4) { if(textureColor.r > 0.99 && textureColor.g > 0.99) { material.roughness = 0.0; material.specular = vec3(1.0, 1.0, 1.0); material.diffuse = vec3(1.0, 1.0, 1.0); material.normalEC = normalize(czm_lightDirectionEC); } else { material.roughness = 1.0; material.specular = vec3(0.0, 0.0, 0.0); material.diffuse = textureColor * u_colorScale; } // } else { // material.roughness = 1.0; // material.specular = vec3(0.0, 0.0, 0.0); // material.diffuse = vec3(0.2,0.2,0.2); // } } else { material.diffuse = u_topColor; } } `,this.callFSFunction=`dealFsReflectTextureMaterialStage(fsInput, material, offset, dimension); `,this.fsCallback=function(E,I){if(!m.uplaod)return"";let x=m.filterType.indexOf(E),y=m.imageData.indexInfos[x];return` offset = ivec2(${parseInt(y.offsetx)}, ${parseInt(y.offsety)}); dimension = ivec2(${parseInt(y.width)}, ${parseInt(y.height)}); `}}Object.defineProperties(ZZ.prototype,{colorScale:{get:function(){return this.uniforms.u_colorScale.value},set:function(o){this.uniforms.u_colorScale.value=o}},topColor:{get:function(){return this.uniforms.u_topColor.value},set:function(o){this.uniforms.u_topColor.value=o}},uvScale:{get:function(){return this._uvScale},set:function(o){this._uvScale=new tt(1/o.x,1/o.y),this.uniforms.u_TextureMapMatrix.value=Wy(this._uvScale,this._uvTranslate,this._uvRotate)}},uvTranslate:{get:function(){return this._uvTranslate},set:function(o){this._uvTranslate=o,this.uniforms.u_TextureMapMatrix.value=Wy(this._uvScale,this._uvTranslate,this._uvRotate)}},uvAngle:{get:function(){return this._uvRotate},set:function(o){this._uvRotate=o,this.uniforms.u_TextureMapMatrix.value=Wy(this._uvScale,this._uvTranslate,this._uvRotate)}}});function UO(o,A){A=ae(A,{}),this._names={},this._filterTypes={},this._bindFilterTypes={},this._alphas={},this._uniforms={},this._varyings={},this._vertexShaderTexts={},this._callVSFunctions={},this._fragmentShaderTexts={},this._callFSFunctions={},this._updateCallbacks={},this._fsCallbacks={},this._order=[],this._tileset=o,this._dirty=!1,this._lightingModel=ae(A.lightingModel,oI.PBR),this._GisServerModel=ae(A.GisServerModel,!1),this._upAxis=ae(A.upAxis,new Z(0,0,1)),this._textureMaterialStageEx=null,this._reflectTextureMaterialStage=null}UO.prototype.addStage=function(o){if(!k(o))throw new ni("materialStage is undefined");o instanceof XZ&&(this._textureMaterialStageEx=o),o instanceof ZZ&&(this._reflectTextureMaterialStage=o);let A=o.name;if(this._names[A])throw new ni("this materialStage is exist");let f=o.filterType,m=this._filterTypes;m[A]=f;let C=o.bindFilterType,E=this._bindFilterTypes;E[A]=C;let I=o.alpha,x=this._alphas;x[A]=I;let y=o.uniforms,v=this._uniforms;v[A]=y;let w=o.varyings,Q=this._varyings;Q[A]=w,this._vertexShaderTexts[A]=o.vertexShaderText,this._callVSFunctions[A]=o.callVSFunction,this._fragmentShaderTexts[A]=o.fragmentShaderText,this._callFSFunctions[A]=o.callFSFunction,this._updateCallbacks[A]=o.updateCallBack,this._fsCallbacks[A]=o.fsCallback,this._order.push(A),this._dirty=!0};UO.prototype.updateStage=function(o){if(!k(o))throw new ni("materialStage is undefined");let A=o.name;this._names[A]&&this.removeStage(A),this.addStage(o),o instanceof XZ&&(this._dirty=!1),o instanceof ZZ&&(this._dirty=!1)};function N_t(o,A){for(let f=0;f0){E=!0;break}let x=this._bindFilterTypes;for(let T in x)x.hasOwnProperty(T)&&(o[T]=x[T]);let y="",v=this._vertexShaderTexts;for(let T in v)if(v.hasOwnProperty(T)){let L=v[T];y+=L}y+="void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) {";let w=this._callVSFunctions;for(let T in w)if(w.hasOwnProperty(T)){let L=w[T];y+=L}y+="}";let Q="",M=this._fragmentShaderTexts;for(let T in M)if(M.hasOwnProperty(T)){let L=M[T];Q+=L}E?Q+=`void fragmentMainAndStyle(FragmentInput fsInput, inout czm_modelMaterial material, SelectedFeature selectedFeature) { ivec2 offset = ivec2(0, 0); ivec2 dimension = ivec2(0, 0); float type = selectedFeature.color.r * 255.0; `:Q+=`void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { ivec2 offset = ivec2(0, 0); ivec2 dimension = ivec2(0, 0); `;let B=this._fsCallbacks,D=this._callFSFunctions;for(let T in D)if(D.hasOwnProperty(T)){let L=D[T],F=B[T],U=I[T];if(U.length>0){let N=o[T];if(N instanceof Array)for(let H=0;H 0.99){ faceNormalize = ${P}; } upAxis = normalize(u_rtcNormalize); #endif return upAxis; } vec3 tranformUv(in vec3 upAxis, in vec3 normalAxis, in vec3 pos){ vec3 rightAxis = cross(upAxis, normalAxis); rightAxis = normalize(rightAxis); mat3 transformUv = mat3( rightAxis.x,rightAxis.y,rightAxis.z, upAxis.x,upAxis.y,upAxis.z, normalAxis.x,normalAxis.y,normalAxis.z ); mat3 inverseUv = inverse_mat3(transformUv); return inverseUv * pos; } ivec2 repeatUV(in vec3 uvPos, int tileWidth, int tileHeight){ // [0~1]\u8F6C\u6362\u5230[0~tileWidth]\u4E4B\u95F4\u7684\u6574\u6570 int uvPosX = int(uvPos.x * float(tileWidth)); int uvPosY = int(uvPos.y * float(tileHeight)); // \u7EB9\u7406\u91CD\u590D if(uvPosX < 0) { // \u8D1F\u6570\u8F6C\u6B63 uvPosX = uvPosX - (uvPosX / tileWidth) * tileWidth + tileWidth; } else { uvPosX = uvPosX - (uvPosX / tileWidth) * tileWidth; } if(uvPosY < 0) { // \u8D1F\u6570\u8F6C\u6B63 uvPosY = uvPosY - (uvPosY / tileHeight) * tileHeight + tileHeight; } else { uvPosY = uvPosY - (uvPosY / tileHeight) * tileHeight; } return ivec2(uvPosX, uvPosY); } `+Q,this._GisServerModel||(Q=` #define NO_GISSERVER ${Q}`);let R=new pB({lightingModel:this._lightingModel,uniforms:A,varyings:f,vertexShaderText:y,fragmentShaderText:Q});return E&&(R.andStyle=!0),R};UO.prototype.update=function(){let o=this._tileset,A=this._updateCallbacks;for(let x in A)A.hasOwnProperty(x)&&A[x]();if(this._textureMaterialStageEx&&this._textureMaterialStageEx.reay&&(this._textureMaterialStageEx.reay=!1,this._dirty=!0),this._reflectTextureMaterialStage&&this._reflectTextureMaterialStage.reay&&(this._reflectTextureMaterialStage.reay=!1,this._dirty=!0),!this._dirty)return;this._dirty=!1;let f=this.combineStage();o.customShader=f;let m=[],C=this._filterTypes,E=this._bindFilterTypes,I=this._alphas;for(let x in E)if(E.hasOwnProperty(x)){let y=C[x],v=E[x],w=I[x];if(y.length>0)if(v instanceof Array)for(let Q=0;Q0&&(o.style=new Y1({defines:{},color:{conditions:m}}))};var $Z={LineMaterialStage:M6e,CustomShaderStage:UO,GradientMaterialStage:T6e,NormalizeMaterialStage:P6e,DynamicColorMaterialStage:R6e,TextureMaterialStage:L6e,TextureMaterialStageEx:XZ,ReflectMaterialStage:F6e,ReflectTextureMaterialStage:ZZ};function oP(o){if(o=ae(o,ae.EMPTY_OBJECT),this._ellipsoid=ae(o.ellipsoid,gi.WGS84),this._numberOfLevelZeroTilesX=ae(o.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=ae(o.numberOfLevelZeroTilesY,1),this._projection=new FO(o.customEPSG,this._ellipsoid),k(o.rectangleSouthwestInMeters)&&k(o.rectangleNortheastInMeters))this._rectangleSouthwestInMeters=o.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=o.rectangleNortheastInMeters;else{let m=this._ellipsoid.maximumRadius*Math.PI;this._rectangleSouthwestInMeters=new tt(-m,-m),this._rectangleNortheastInMeters=new tt(m,m)}let A=this._projection.unproject(this._rectangleSouthwestInMeters),f=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new hi(A.longitude,A.latitude,f.longitude,f.latitude)}Object.defineProperties(oP.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});oP.prototype.getNumberOfXTilesAtLevel=function(o){return this._numberOfLevelZeroTilesX<=C&&(Q=C-1);let M=w/x|0;return M>=E&&(M=E-1),k(f)?(f.x=Q,f.y=M,f):new tt(Q,M)};var N6e=oP,k_t=Ku(pUe(),1),Z9=k_t;function U_t(o,A){return new Rn({context:A.context,pixelFormat:Gr.RGBA,pixelDatatype:Gr.UNSIGNED_BYTE,source:{width:1,height:1024,arrayBufferView:o},sampler:new Ra({wrapS:oa.CLAMP_TO_EDGE,wrapT:oa.CLAMP_TO_EDGE,minificationFilter:ya.LINEAR,magnificationFilter:mu.LINEAR})})}var O_t={trustGenerator:["fanfan"],_defaultFloodAnalysis:{floodVar:[0,0,0,500],ym_pos_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],ym_pos_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],ym_pos_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],rect_flood:[0,0,0,0,0,0,0,0,0],floodSpeed:1,ym_max_index:0,globe:!0,showElseArea:!0},floodAnalysis:{floodVar:[0,0,0,500],ym_pos_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],ym_pos_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],ym_pos_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],rect_flood:[0,0,0,0,0,0,0,0,0],floodSpeed:1,ym_max_index:0,globe:!0,showElseArea:!0},resetFloodAnalysis:function(){this.floodAnalysis=En(this._defaultFloodAnalysis)},_defaultExcavateAnalysis:{splitNum:30,showSelfOnly:!1,dig_pos_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],dig_pos_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],dig_pos_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],rect_dig:[0,0,0,0,0,0,0,0,0],dig_max_index:0,excavateHeight:0,excavateMinHeight:9999,excavatePerPoint:!1},excavateAnalysis:{splitNum:30,showSelfOnly:!1,dig_pos_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],dig_pos_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],dig_pos_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],rect_dig:[0,0,0,0,0,0,0,0,0],dig_max_index:0,excavateHeight:0,excavateMinHeight:9999,excavatePerPoint:!1},resetExcavateAnalysis:function(){this.excavateAnalysis=En(this._defaultExcavateAnalysis)},_defaultTilesEditor:{floodVar:[0,0,0,0],flatRect:[0,0,0,0,0,0,0,0,0],yp_mat_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_mat_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_mat_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_max_index:0,model_min_height:50,IsYaPing:[!1,!1,!1,!1],yp_show_InOrOut:[!1,!0,!0,!1],yp_black_texture:null,hm_dh_attr:[50,1,100],modelLight:2.2,times:new Date().getTime(),floodColor:[0,0,0,.5]},tilesEditor:{floodVar:[0,0,0,0],flatRect:[0,0,0,0,0,0,0,0,0],yp_mat_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_mat_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_mat_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_max_index:0,model_min_height:50,IsYaPing:[!1,!1,!1,!1],yp_show_InOrOut:[!1,!0,!0,!1],yp_black_texture:null,hm_dh_attr:[50,1,100],modelLight:2.2,times:new Date().getTime(),floodColor:[0,0,0,.5]},resetTilesEditor:function(){this.tilesEditor=En(this._defaultTilesEditor)},underEarth:{cullFace:void 0,enable:void 0,enableDepth:100,enableSkirt:!1},occlusionOpen:!0,Ellipsoid:{x:6378137,y:6378137,z:6356752314140356e-9},displaySlopeMap:!1,_smoothSlopeAtHigherAlt:!1,get smoothSlopeAtHigherAlt(){return this._smoothSlopeAtHigherAlt},set smoothSlopeAtHigherAlt(o){this._smoothSlopeAtHigherAlt=o},isSlopeDirty:!0,_sTex:[],get SlopeMapPallete(){return this._sTex.length<=0&&(this._sTex.push({val:100*Math.cos(De.toRadians(90)),color:"#FF0000"}),this._sTex.push({val:100*Math.cos(De.toRadians(70)),color:"#FF0000"}),this._sTex.push({val:100*Math.cos(De.toRadians(45)),color:"#FF8000"}),this._sTex.push({val:100*Math.cos(De.toRadians(31)),color:"#FFF000"}),this._sTex.push({val:100*Math.cos(De.toRadians(17)),color:"#00FF00"}),this._sTex.push({val:100*Math.cos(De.toRadians(6)),color:"#0000FF"}),this._sTex.push({val:100*Math.cos(De.toRadians(0)),color:"#00FFFF"})),this._sTex},set SlopeMapPallete(o){this._sTex=o},createElevationTextureFromPallete:function(o,A){let f=new Uint8Array(4096),m=o[0].val,C=o[o.length-1].val,E=m-C,I=C,x=1024/E,y=0;y=o.length;for(let w=y-1;w>0;w--){let Q=o[w].color.replace("#",""),M=o[w-1].color.replace("#",""),B=parseInt(Q,16),D=parseInt(M,16),S=o[w].val,P=o[w-1].val,R=Math.floor((S-I)*x+.5),T=Math.floor((P-I)*x+.5),L=T-R;if(L===0)continue;let F=(B&16711680)>>16<<16,U=(B&65280)>>8<<16,N=(B&255)<<16,H=(D&16711680)>>16<<16,J=(D&65280)>>8<<16,K=(D&255)<<16,X=Math.floor((H-F)/L),j=Math.floor((J-U)/L),ee=Math.floor((K-N)/L);for(let ie=R;ie>16,f[ie*4+1]=U>>16,f[ie*4+2]=N>>16,f[ie*4+3]=255}let v=U_t(f,A);return this._slopeTex=v,this.slopeMapTexture=this._slopeTex,v},setSlopeMapPallete:function(o){let A=[];if(o=Object.entries(o),o.length>0&&o.forEach(function(f){f.length===2&&f[0]>=0&&f[0]<=90&&A.push({val:100*Math.cos(De.toRadians(f[0])),color:f[1]})}),A.length===0){console.log("Error setting new pallete for slope map");return}A.sort(function(f,m){return f.val=C&&(v=C-1);let w=(m.north-o.latitude)/x|0;return w>=E&&(w=E-1),k(f)?(f.x=v,f.y=w,f):new tt(v,w)};var ph=aP,sMe=new Z,lMe=new Z,AMe=new Lt,$oe=new Z,H_t=new Z,uMe=new si,V_t=new ph,n8=[new Lt,new Lt,new Lt,new Lt],o8=new tt,Nd={};Nd.initialize=function(){let o=Nd._initPromise;return k(o)||(o=fr.fetchJson(Ja("Assets/approximateTerrainHeights.json")).then(function(A){if(DC.changeApproximateTerrainHeights===!0)for(let f in A)A.hasOwnProperty(f)&&(A[f][0]=DC.minTerrainHeight,A[f][1]=DC.maxTerrainHeight);Nd._terrainHeights=A}),Nd._initPromise=o),o};Nd.getMinimumMaximumHeights=function(o,A){A=ae(A,gi.WGS84);let f=U6e(o),m=Nd._defaultMinTerrainHeight,C=Nd._defaultMaxTerrainHeight;if(k(f)){let E=`${f.level}-${f.x}-${f.y}`,I=Nd._terrainHeights[E];k(I)&&(m=I[0],C=I[1]),A.cartographicToCartesian(hi.northeast(o,AMe),sMe),A.cartographicToCartesian(hi.southwest(o,AMe),lMe),Z.midpoint(lMe,sMe,$oe);let x=A.scaleToGeodeticSurface($oe,H_t);if(k(x)){let y=Z.distance($oe,x);m=Math.min(m,-y)}else m=Nd._defaultMinTerrainHeight}return m=Math.max(Nd._defaultMinTerrainHeight,m),{minimumTerrainHeight:m,maximumTerrainHeight:C}};Nd.getBoundingSphere=function(o,A){A=ae(A,gi.WGS84);let f=U6e(o),m=Nd._defaultMaxTerrainHeight;if(k(f)){let E=`${f.level}-${f.x}-${f.y}`,I=Nd._terrainHeights[E];k(I)&&(m=I[1])}let C=si.fromRectangle3D(o,A,0);return si.fromRectangle3D(o,A,m,uMe),si.union(C,uMe,C)};function U6e(o){Lt.fromRadians(o.east,o.north,0,n8[0]),Lt.fromRadians(o.west,o.north,0,n8[1]),Lt.fromRadians(o.east,o.south,0,n8[2]),Lt.fromRadians(o.west,o.south,0,n8[3]);let A=0,f=0,m=0,C=0,E=Nd._terrainHeightsMaxLevel,I;for(I=0;I<=E;++I){let x=!1;for(let y=0;y<4;++y){let v=n8[y];if(V_t.positionToTileXY(v,I,o8),y===0)m=o8.x,C=o8.y;else if(m!==o8.x||C!==o8.y){x=!0;break}}if(x)break;A=m,f=C}if(I!==0)return{x:A,y:f,level:I>E?E:I-1}}Nd._terrainHeightsMaxLevel=6;Nd._defaultMaxTerrainHeight=9e3;Nd._defaultMinTerrainHeight=-1e5;Nd._terrainHeights=void 0;Nd._initPromise=void 0;Object.defineProperties(Nd,{initialized:{get:function(){return k(Nd._terrainHeights)}}});var Tu=Nd,cMe={};function $9(o,A){k(cMe[o])||(cMe[o]=!0,console.warn(ae(A,o)))}$9.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";$9.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";$9.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";$9.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var Ro=$9;function z_t(o,A){Ro(o,A)}var $t=z_t;function Y_t(o){o=ae(o,ae.EMPTY_OBJECT),this.geometry=o.geometry,this.modelMatrix=Re.clone(ae(o.modelMatrix,Re.IDENTITY)),this.id=o.id,this.pickPrimitive=o.pickPrimitive,this.attributes=ae(o.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var Un=Y_t;function J_t(o){o=ae(o,ae.EMPTY_OBJECT),this.componentDatatype=o.componentDatatype,this.componentsPerAttribute=o.componentsPerAttribute,this.normalize=ae(o.normalize,!1),this.value=o.value}var cx=J_t,K_t={NONE:0,GEODESIC:1,RHUMB:2},aa=Object.freeze(K_t),hMe=De.EPSILON10;function W_t(o,A,f,m){if(!k(o))return;f=ae(f,!1);let C=k(m),E=o.length;if(E<2)return o;let I,x=o[0],y,v,w=0,Q=-1;for(I=1;IDe.EPSILON12);let ee=X*(A*A-f*f)/(f*f),ie=1+ee*(4096+ee*(ee*(320-175*ee)-768))/16384,z=ee*(256+ee*(ee*(74-47*ee)-128))/1024,oe=j*j,le=z*K*(j+z*(J*(2*oe-1)-z*j*(4*K*K-3)*(4*oe-3)/6)/4),Ae=f*ie*(H-le),he=Math.atan2(B*N,P-T*U),ge=Math.atan2(Q*N,P*U-T);o._distance=Ae,o._startHeading=he,o._endHeading=ge,o._uSquared=ee}var Z_t=new Z,eae=new Z;function G6e(o,A,f,m){let C=Z.normalize(m.cartographicToCartesian(A,eae),Z_t),E=Z.normalize(m.cartographicToCartesian(f,eae),eae);X_t(o,m.maximumRadius,m.minimumRadius,A.longitude,A.latitude,f.longitude,f.latitude),o._start=Lt.clone(A,o._start),o._end=Lt.clone(f,o._end),o._start.height=0,o._end.height=0,q_t(o)}function ez(o,A,f){let m=ae(f,gi.WGS84);this._ellipsoid=m,this._start=new Lt,this._end=new Lt,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,k(o)&&k(A)&&G6e(this,o,A,m)}Object.defineProperties(ez.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}});ez.prototype.setEndPoints=function(o,A){G6e(this,o,A,this._ellipsoid)};ez.prototype.interpolateUsingFraction=function(o,A){return this.interpolateUsingSurfaceDistance(this._distance*o,A)};ez.prototype.interpolateUsingSurfaceDistance=function(o,A){let f=this._constants,m=f.distanceRatio+o/f.b,C=Math.cos(2*m),E=Math.cos(4*m),I=Math.cos(6*m),x=Math.sin(2*m),y=Math.sin(4*m),v=Math.sin(6*m),w=Math.sin(8*m),Q=m*m,M=m*Q,B=f.u8Over256,D=f.u2Over4,S=f.u6Over64,P=f.u4Over16,R=2*M*B*C/3+m*(1-D+7*P/4-15*S/4+579*B/64-(P-15*S/4+187*B/16)*C-(5*S/4-115*B/16)*E-29*B*I/16)+(D/2-P+71*S/32-85*B/16)*x+(5*P/16-5*S/4+383*B/96)*y-Q*((S-11*B/2)*x+5*B*y/2)+(29*S/96-29*B/16)*v+539*B*w/1536,T=Math.asin(Math.sin(R)*f.cosineAlpha),L=Math.atan(f.a/f.b*Math.tan(T));R=R-f.sigma;let F=Math.cos(2*f.sigma+R),U=Math.sin(R),N=Math.cos(R),H=f.cosineU*N,J=f.sineU*U,K=Math.atan2(U*f.sineHeading,H-J*f.cosineHeading)-O6e(f.f,f.sineAlpha,f.cosineSquaredAlpha,R,U,N,F);return k(A)?(A.longitude=this._start.longitude+K,A.latitude=L,A.height=0,A):new Lt(this._start.longitude+K,L,0)};var Ig=ez;function KAe(o,A,f){if(o===0)return A*f;let m=o*o,C=m*m,E=C*m,I=E*m,x=I*m,y=x*m,v=f,w=Math.sin(2*v),Q=Math.sin(4*v),M=Math.sin(6*v),B=Math.sin(8*v),D=Math.sin(10*v),S=Math.sin(12*v);return A*((1-m/4-3*C/64-5*E/256-175*I/16384-441*x/65536-4851*y/1048576)*v-(3*m/8+3*C/32+45*E/1024+105*I/4096+2205*x/131072+6237*y/524288)*w+(15*C/256+45*E/1024+525*I/16384+1575*x/65536+155925*y/8388608)*Q-(35*E/3072+175*I/12288+3675*x/262144+13475*y/1048576)*M+(315*I/131072+2205*x/524288+43659*y/8388608)*B-(693*x/1310720+6237*y/5242880)*D+1001*y/8388608*S)}function $_t(o,A,f){let m=o/f;if(A===0)return m;let C=m*m,E=C*m,I=E*m,x=A,y=x*x,v=y*y,w=v*y,Q=w*y,M=Q*y,B=M*y,D=Math.sin(2*m),S=Math.cos(2*m),P=Math.sin(4*m),R=Math.cos(4*m),T=Math.sin(6*m),L=Math.cos(6*m),F=Math.sin(8*m),U=Math.cos(8*m),N=Math.sin(10*m),H=Math.cos(10*m),J=Math.sin(12*m);return m+m*y/4+7*m*v/64+15*m*w/256+579*m*Q/16384+1515*m*M/65536+16837*m*B/1048576+(3*m*v/16+45*m*w/256-m*(32*C-561)*Q/4096-m*(232*C-1677)*M/16384+m*(399985-90560*C+512*I)*B/5242880)*S+(21*m*w/256+483*m*Q/4096-m*(224*C-1969)*M/16384-m*(33152*C-112599)*B/1048576)*R+(151*m*Q/4096+4681*m*M/65536+1479*m*B/16384-453*E*B/32768)*L+(1097*m*M/65536+42783*m*B/1048576)*U+8011*m*B/1048576*H+(3*y/8+3*v/16+213*w/2048-3*C*w/64+255*Q/4096-33*C*Q/512+20861*M/524288-33*C*M/512+I*M/1024+28273*B/1048576-471*C*B/8192+9*I*B/4096)*D+(21*v/256+21*w/256+533*Q/8192-21*C*Q/512+197*M/4096-315*C*M/4096+584039*B/16777216-12517*C*B/131072+7*I*B/2048)*P+(151*w/6144+151*Q/4096+5019*M/131072-453*C*M/16384+26965*B/786432-8607*C*B/131072)*T+(1097*Q/131072+1097*M/65536+225797*B/10485760-1097*C*B/65536)*F+(8011*M/2621440+8011*B/1048576)*N+293393*B/251658240*J}function TU(o,A){if(o===0)return Math.log(Math.tan(.5*(De.PI_OVER_TWO+A)));let f=o*Math.sin(A);return Math.log(Math.tan(.5*(De.PI_OVER_TWO+A)))-o/2*Math.log((1+f)/(1-f))}function eBt(o,A,f,m,C){let E=TU(o._ellipticity,f),I=TU(o._ellipticity,C);return Math.atan2(De.negativePiToPi(m-A),I-E)}function tBt(o,A,f,m,C,E,I){let x=o._heading,y=E-m,v=0;if(De.equalsEpsilon(Math.abs(x),De.PI_OVER_TWO,De.EPSILON8))if(A===f)v=A*Math.cos(C)*De.negativePiToPi(y);else{let w=Math.sin(C);v=A*Math.cos(C)*De.negativePiToPi(y)/Math.sqrt(1-o._ellipticitySquared*w*w)}else{let w=KAe(o._ellipticity,A,C);v=(KAe(o._ellipticity,A,I)-w)/Math.cos(x)}return Math.abs(v)}var iBt=new Z,tae=new Z;function H6e(o,A,f,m){let C=Z.normalize(m.cartographicToCartesian(A,tae),iBt),E=Z.normalize(m.cartographicToCartesian(f,tae),tae),I=m.maximumRadius,x=m.minimumRadius,y=I*I,v=x*x;o._ellipticitySquared=(y-v)/y,o._ellipticity=Math.sqrt(o._ellipticitySquared),o._start=Lt.clone(A,o._start),o._start.height=0,o._end=Lt.clone(f,o._end),o._end.height=0,o._heading=eBt(o,A.longitude,A.latitude,f.longitude,f.latitude),o._distance=tBt(o,m.maximumRadius,m.minimumRadius,A.longitude,A.latitude,f.longitude,f.latitude)}function V6e(o,A,f,m,C,E){if(f===0)return Lt.clone(o,E);let I=C*C,x,y,v;if(Math.abs(De.PI_OVER_TWO-Math.abs(A))>De.EPSILON8){let w=KAe(C,m,o.latitude),Q=f*Math.cos(A),M=w+Q;y=$_t(M,C,m);let B=TU(C,o.latitude),D=TU(C,y);v=Math.tan(A)*(D-B),x=De.negativePiToPi(o.longitude+v)}else{y=o.latitude;let w;if(C===0)w=m*Math.cos(o.latitude);else{let Q=Math.sin(o.latitude);w=m*Math.cos(o.latitude)/Math.sqrt(1-I*Q*Q)}v=f/w,A>0?x=De.negativePiToPi(o.longitude+v):x=De.negativePiToPi(o.longitude-v)}return k(E)?(E.longitude=x,E.latitude=y,E.height=0,E):new Lt(x,y,0)}function xS(o,A,f){let m=ae(f,gi.WGS84);this._ellipsoid=m,this._start=new Lt,this._end=new Lt,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,k(o)&&k(A)&&H6e(this,o,A,m)}Object.defineProperties(xS.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}});xS.fromStartHeadingDistance=function(o,A,f,m,C){let E=ae(m,gi.WGS84),I=E.maximumRadius,x=E.minimumRadius,y=I*I,v=x*x,w=Math.sqrt((y-v)/y);A=De.negativePiToPi(A);let Q=V6e(o,A,f,E.maximumRadius,w);return!k(C)||k(m)&&!m.equals(C.ellipsoid)?new xS(o,Q,E):(C.setEndPoints(o,Q),C)};xS.prototype.setEndPoints=function(o,A){H6e(this,o,A,this._ellipsoid)};xS.prototype.interpolateUsingFraction=function(o,A){return this.interpolateUsingSurfaceDistance(o*this._distance,A)};xS.prototype.interpolateUsingSurfaceDistance=function(o,A){return V6e(this._start,this._heading,o,this._ellipsoid.maximumRadius,this._ellipticity,A)};xS.prototype.findIntersectionWithLongitude=function(o,A){let f=this._ellipticity,m=this._heading,C=Math.abs(m),E=this._start;if(o=De.negativePiToPi(o),De.equalsEpsilon(Math.abs(o),Math.PI,De.EPSILON14)&&(o=De.sign(E.longitude)*Math.PI),k(A)||(A=new Lt),Math.abs(De.PI_OVER_TWO-C)<=De.EPSILON8)return A.longitude=o,A.latitude=E.latitude,A.height=0,A;if(De.equalsEpsilon(Math.abs(De.PI_OVER_TWO-C),De.PI_OVER_TWO,De.EPSILON8))return De.equalsEpsilon(o,E.longitude,De.EPSILON12)?void 0:(A.longitude=o,A.latitude=De.PI_OVER_TWO*De.sign(De.PI_OVER_TWO-m),A.height=0,A);let I=E.latitude,x=f*Math.sin(I),y=Math.tan(.5*(De.PI_OVER_TWO+I))*Math.exp((o-E.longitude)/Math.tan(m)),v=(1+x)/(1-x),w=E.latitude,Q;do{Q=w;let M=f*Math.sin(Q),B=(1+M)/(1-M);w=2*Math.atan(y*Math.pow(B/v,f/2))-De.PI_OVER_TWO}while(!De.equalsEpsilon(w,Q,De.EPSILON12));return A.longitude=o,A.latitude=w,A.height=0,A};xS.prototype.findIntersectionWithLatitude=function(o,A){let f=this._ellipticity,m=this._heading,C=this._start;if(De.equalsEpsilon(Math.abs(m),De.PI_OVER_TWO,De.EPSILON8))return;let E=TU(f,C.latitude),I=TU(f,o),x=Math.tan(m)*(I-E),y=De.negativePiToPi(C.longitude+x);return k(A)?(A.longitude=y,A.latitude=o,A.height=0,A):new Lt(y,o,0)};var qy=xS;function rBt(o){o=ae(o,ae.EMPTY_OBJECT),this.componentDatatype=o.componentDatatype,this.componentsPerAttribute=o.componentsPerAttribute,this.normalize=ae(o.normalize,!1),this.values=o.values}var Br=rBt,l0e={};l0e.computeDiscriminant=function(o,A,f){return A*A-4*o*f};function dMe(o,A,f){let m=o+A;return De.sign(o)!==De.sign(A)&&Math.abs(m/Math.max(Math.abs(o),Math.abs(A)))v&&v/y0?[x/o,f/x]:[f/x,x/o]};var z_=l0e,A0e={};A0e.computeDiscriminant=function(o,A,f,m){let C=o*o,E=A*A,I=f*f,x=m*m;return 18*o*A*f*m+E*I-27*C*x-4*(o*I*f+E*A*m)};function iae(o,A,f,m){let C=o,E=A/3,I=f/3,x=m,y=C*I,v=E*x,w=E*E,Q=I*I,M=C*I-w,B=C*x-E*I,D=E*x-Q,S=4*M*D-B*B,P,R;if(S<0){let fe,G,Y;w*v>=y*Q?(fe=C,G=M,Y=-2*E*M+C*B):(fe=x,G=D,Y=-x*B+2*I*D);let W=-(Y<0?-1:1)*Math.abs(fe)*Math.sqrt(-S);R=-Y+W;let O=R/2,re=O<0?-Math.pow(-O,1/3):Math.pow(O,1/3),se=R===W?-re:-G/re;return P=G<=0?re+se:-Y/(re*re+se*se+G),w*v>=y*Q?[(P-E)/C]:[-x/(P+I)]}let T=M,L=-2*E*M+C*B,F=D,U=-x*B+2*I*D,N=Math.sqrt(S),H=Math.sqrt(3)/2,J=Math.abs(Math.atan2(C*N,-L)/3);P=2*Math.sqrt(-T);let K=Math.cos(J);R=P*K;let X=P*(-K/2-H*Math.sin(J)),j=R+X>2*E?R-E:X-E,ee=C,ie=j/ee;J=Math.abs(Math.atan2(x*N,-U)/3),P=2*Math.sqrt(-F),K=Math.cos(J),R=P*K,X=P*(-K/2-H*Math.sin(J));let z=-x,oe=R+X<2*I?R+I:X+I,le=z/oe,Ae=ee*oe,he=-j*oe-ee*z,ge=j*z,de=(I*he-E*ge)/(-E*he+I*Ae);return ie<=de?ie<=le?de<=le?[ie,de,le]:[ie,le,de]:[le,ie,de]:ie<=le?[de,ie,le]:de<=le?[de,le,ie]:[le,de,ie]}A0e.computeRealRoots=function(o,A,f,m){let C,E;if(o===0)return z_.computeRealRoots(A,f,m);if(A===0){if(f===0){if(m===0)return[0,0,0];E=-m/o;let I=E<0?-Math.pow(-E,1/3):Math.pow(E,1/3);return[I,I,I]}else if(m===0)return C=z_.computeRealRoots(o,0,f),C.Length===0?[0]:[C[0],0,C[1]];return iae(o,0,f,m)}else{if(f===0)return m===0?(E=-A/o,E<0?[E,0,0]:[0,0,E]):iae(o,A,0,m);if(m===0)return C=z_.computeRealRoots(o,A,f),C.length===0?[0]:C[1]<=0?[C[0],C[1],0]:C[0]>=0?[0,C[0],C[1]]:[C[0],0,C[1]]}return iae(o,A,f,m)};var tz=A0e,u0e={};u0e.computeDiscriminant=function(o,A,f,m,C){let E=o*o,I=E*o,x=A*A,y=x*A,v=f*f,w=v*f,Q=m*m,M=Q*m,B=C*C,D=B*C;return x*v*Q-4*y*M-4*o*w*Q+18*o*A*f*M-27*E*Q*Q+256*I*D+C*(18*y*f*m-4*x*w+16*o*v*v-80*o*A*v*m-6*o*x*Q+144*E*f*Q)+B*(144*o*x*f-27*x*x-128*E*v-192*E*A*m)};function B_(o,A,f,m){let C=o*o,E=A-3*C/8,I=f-A*o/2+C*o/8,x=m-f*o/4+A*C/16-3*C*C/256,y=tz.computeRealRoots(1,2*E,E*E-4*x,-I*I);if(y.length>0){let v=-o/4,w=y[y.length-1];if(Math.abs(w)=0&&B>=0){let S=Math.sqrt(M),P=Math.sqrt(B);return[v-P,v-S,v+S,v+P]}else{if(M>=0&&B<0)return D=Math.sqrt(M),[v-D,v+D];if(M<0&&B>=0)return D=Math.sqrt(B),[v-D,v+D]}}return[]}else if(w>0){let Q=Math.sqrt(w),M=(E+w-I/Q)/2,B=(E+w+I/Q)/2,D=z_.computeRealRoots(1,Q,M),S=z_.computeRealRoots(1,-Q,B);return D.length!==0?(D[0]+=v,D[1]+=v,S.length!==0?(S[0]+=v,S[1]+=v,D[1]<=S[0]?[D[0],D[1],S[0],S[1]]:S[1]<=D[0]?[S[0],S[1],D[0],D[1]]:D[0]>=S[0]&&D[1]<=S[1]?[S[0],D[0],D[1],S[1]]:S[0]>=D[0]&&S[1]<=D[1]?[D[0],S[0],S[1],D[1]]:D[0]>S[0]&&D[0]0){let Q=w[0],M=A-Q,B=M*M,D=o/2,S=M/2,P=B-4*m,R=B+4*Math.abs(m),T=I-4*Q,L=I+4*Math.abs(Q),F,U;if(Q<0||P*L=j[0]&&X[1]<=j[1]?[j[0],X[0],X[1],j[1]]:j[0]>=X[0]&&j[1]<=X[1]?[X[0],j[0],j[1],X[1]]:X[0]>j[0]&&X[0]w)||(M=Z.cross(Q,x,fMe),D=Z.dot(I,M),D<0||B+D>w))return;S=Z.dot(y,M)/w}else{if(Math.abs(w)1||(M=Z.cross(Q,x,fMe),D=Z.dot(I,M)*P,D<0||B+D>1))return;S=Z.dot(y,M)*P}return S};hh.rayTriangle=function(o,A,f,m,C,E){let I=hh.rayTriangleParametric(o,A,f,m,C);if(!(!k(I)||I<0))return k(E)||(E=new Z),Z.multiplyByScalar(o.direction,I,E),Z.add(o.origin,E,E)};var aBt=new Oa;hh.lineSegmentTriangle=function(o,A,f,m,C,E,I){let x=aBt;Z.clone(o,x.origin),Z.subtract(A,o,x.direction),Z.normalize(x.direction,x.direction);let y=hh.rayTriangleParametric(x,f,m,C,E);if(!(!k(y)||y<0||y>Z.distance(o,A)))return k(I)||(I=new Z),Z.multiplyByScalar(x.direction,y,I),Z.add(x.origin,I,I)};function sBt(o,A,f,m){let C=A*A-4*o*f;if(C<0)return;if(C>0){let I=1/(2*o),x=Math.sqrt(C),y=(-A+x)*I,v=(-A-x)*I;return yI))return m.start=Math.max(m.start,0),m.stop=Math.min(m.stop,I),m};var uBt=new Z,cBt=new Z;hh.rayEllipsoid=function(o,A){let f=A.oneOverRadii,m=Z.multiplyComponents(f,o.origin,uBt),C=Z.multiplyComponents(f,o.direction,cBt),E=Z.magnitudeSquared(m),I=Z.dot(m,C),x,y,v,w,Q;if(E>1){if(I>=0)return;let M=I*I;if(x=E-1,y=Z.magnitudeSquared(C),v=y*x,Mv){w=I*I-v,Q=-I+Math.sqrt(w);let D=Q/y,S=x/Q;return D0?B.push(new Z(m,C*K,C*-ee)):ee!==0?(B.push(new Z(m,C*K,C*-ee)),B.push(new Z(m,C*K,C*ee)),++J):B.push(new Z(m,C*K,C*ee))}return B}var rae=new Z,pMe=new Z,mMe=new Z,C7=new Z,dBt=new Z,gBt=new Nt,fBt=new Nt,pBt=new Nt,mBt=new Nt,CBt=new Nt,CMe=new Nt,EMe=new Nt,IMe=new Z,EBt=new Z,IBt=new Lt;hh.grazingAltitudeLocation=function(o,A){let f=o.origin,m=o.direction;if(!Z.equals(f,Z.ZERO)){let N=A.geodeticSurfaceNormal(f,rae);if(Z.dot(m,N)>=0)return f}let C=k(this.rayEllipsoid(o,A)),E=A.transformPositionToScaledSpace(m,rae),I=Z.normalize(E,E),x=Z.mostOrthogonalAxis(E,C7),y=Z.normalize(Z.cross(x,I,pMe),pMe),v=Z.normalize(Z.cross(I,y,mMe),mMe),w=gBt;w[0]=I.x,w[1]=I.y,w[2]=I.z,w[3]=y.x,w[4]=y.y,w[5]=y.z,w[6]=v.x,w[7]=v.y,w[8]=v.z;let Q=Nt.transpose(w,fBt),M=Nt.fromScale(A.radii,pBt),B=Nt.fromScale(A.oneOverRadii,mBt),D=CBt;D[0]=0,D[1]=-m.z,D[2]=m.y,D[3]=m.z,D[4]=0,D[5]=-m.x,D[6]=-m.y,D[7]=m.x,D[8]=0;let S=Nt.multiply(Nt.multiply(Q,B,CMe),D,CMe),P=Nt.multiply(Nt.multiply(S,M,EMe),w,EMe),R=Nt.multiplyByVector(S,f,dBt),T=hBt(P,Z.negate(R,rae),0,0,1),L,F,U=T.length;if(U>0){let N=Z.clone(Z.ZERO,EBt),H=Number.NEGATIVE_INFINITY;for(let K=0;KH&&(H=j,N=Z.clone(L,N))}let J=A.cartesianToCartographic(N,IBt);return H=De.clamp(H,0,1),F=Z.magnitude(Z.subtract(N,f,C7))*Math.sqrt(1-H*H),F=C?-F:F,J.height=F,A.cartographicToCartesian(J,new Z)}};var xBt=new Z;hh.lineSegmentPlane=function(o,A,f,m){k(m)||(m=new Z);let C=Z.subtract(A,o,xBt),E=f.normal,I=Z.dot(E,C);if(Math.abs(I)1))return Z.multiplyByScalar(C,y,m),Z.add(o,m,m),m};hh.trianglePlaneIntersection=function(o,A,f,m){let C=m.normal,E=m.distance,I=Z.dot(C,o)+E<0,x=Z.dot(C,A)+E<0,y=Z.dot(C,f)+E<0,v=0;v+=I?1:0,v+=x?1:0,v+=y?1:0;let w,Q;if((v===1||v===2)&&(w=new Z,Q=new Z),v===1){if(I)return hh.lineSegmentPlane(o,A,m,w),hh.lineSegmentPlane(o,f,m,Q),{positions:[o,A,f,w,Q],indices:[0,3,4,1,2,4,1,4,3]};if(x)return hh.lineSegmentPlane(A,f,m,w),hh.lineSegmentPlane(A,o,m,Q),{positions:[o,A,f,w,Q],indices:[1,3,4,2,0,4,2,4,3]};if(y)return hh.lineSegmentPlane(f,o,m,w),hh.lineSegmentPlane(f,A,m,Q),{positions:[o,A,f,w,Q],indices:[2,3,4,0,1,4,0,4,3]}}else if(v===2)if(I)if(x){if(!y)return hh.lineSegmentPlane(o,f,m,w),hh.lineSegmentPlane(A,f,m,Q),{positions:[o,A,f,w,Q],indices:[0,1,4,0,4,3,2,3,4]}}else return hh.lineSegmentPlane(f,A,m,w),hh.lineSegmentPlane(o,A,m,Q),{positions:[o,A,f,w,Q],indices:[2,0,4,2,4,3,1,3,4]};else return hh.lineSegmentPlane(A,o,m,w),hh.lineSegmentPlane(f,o,m,Q),{positions:[o,A,f,w,Q],indices:[1,2,4,1,4,3,0,3,4]}};var mh=hh;function JE(o){this._ellipsoid=ae(o,gi.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(JE.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});JE.mercatorAngleToGeodeticLatitude=function(o){return De.PI_OVER_TWO-2*Math.atan(Math.exp(-o))};JE.geodeticLatitudeToMercatorAngle=function(o){o>JE.MaximumLatitude?o=JE.MaximumLatitude:o<-JE.MaximumLatitude&&(o=-JE.MaximumLatitude);let A=Math.sin(o);return .5*Math.log((1+A)/(1-A))};JE.MaximumLatitude=JE.mercatorAngleToGeodeticLatitude(Math.PI);JE.prototype.project=function(o,A){let f=this._semimajorAxis,m=o.longitude*f,C=JE.geodeticLatitudeToMercatorAngle(o.latitude)*f,E=o.height;return k(A)?(A.x=m,A.y=C,A.z=E,A):new Z(m,C,E)};JE.prototype.unproject=function(o,A){let f=this._oneOverSemimajorAxis,m=o.x*f,C=JE.mercatorAngleToGeodeticLatitude(o.y*f),E=o.z;return k(A)?(A.longitude=m,A.latitude=C,A.height=E,A):new Lt(m,C,E)};var Pu=JE,h0e=[md,Pu],yBt=h0e.length,J6e=Math.cos(De.toRadians(30)),xMe=Math.cos(De.toRadians(150)),K6e=0,W6e=1e3;function v2(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.positions;this.width=ae(o.width,1),this._positions=A,this.granularity=ae(o.granularity,9999),this.loop=ae(o.loop,!1),this.arcType=ae(o.arcType,aa.GEODESIC),this._ellipsoid=gi.WGS84,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(v2.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+gi.packedLength+1+1}}});v2.setProjectionAndEllipsoid=function(o,A){let f=0;for(let m=0;mJ6e||EDe.PI_OVER_TWO&&(x=!0,I=Z.subtract(E,f,SMe),v=y.cartesianToCartographic(I,QMe)),v.height=0;let w=o.project(v,C);return C=Z.subtract(w,m,C),C.z=0,C=Z.normalize(C,C),x&&Z.negate(C,C),C}var HBt=new Z,DMe=new Z;function MMe(o,A,f,m,C,E){let I=Z.subtract(A,o,HBt);Z.normalize(I,I);let x=f-K6e,y=Z.multiplyByScalar(I,x,DMe);Z.add(o,y,C);let v=m-W6e;y=Z.multiplyByScalar(I,v,DMe),Z.add(A,y,E)}var VBt=new Z;function x7(o,A){let f=va.getPointDistance(Sj,o),m=va.getPointDistance(Sj,A),C=VBt;De.equalsEpsilon(f,0,De.EPSILON2)?(C=yS(A,o,C),Z.multiplyByScalar(C,De.EPSILON2,C),Z.add(o,C,o)):De.equalsEpsilon(m,0,De.EPSILON2)&&(C=yS(o,A,C),Z.multiplyByScalar(C,De.EPSILON2,C),Z.add(A,C,A))}function zBt(o,A){let f=Math.abs(o.longitude),m=Math.abs(A.longitude);if(De.equalsEpsilon(f,De.PI,De.EPSILON11)){let C=De.sign(A.longitude);return o.longitude=C*(f-De.EPSILON11),1}else if(De.equalsEpsilon(m,De.PI,De.EPSILON11)){let C=De.sign(o.longitude);return A.longitude=C*(m-De.EPSILON11),2}return 0}var j6e=new Lt,X6e=new Lt,TMe=new Z,sae=new Z,PMe=new Z,RMe=new Z,YBt=new Z,LMe=new Z,JBt=[j6e,X6e],KBt=new hi,WBt=new Z,qBt=new Z,jBt=new Z,XBt=new Z,ZBt=new Z,$Bt=new Z,lae=new Z,Aae=new Z,ewt=new Z,twt=new Z,iwt=new Z,FMe=new Z,rwt=new Z,nwt=new Z,owt=new Jl,awt=new Jl,NMe=new Z,swt=new Z,kMe=new Z,lwt=[new si,new si],Z6e=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],UMe=Z6e.length;function Awt(o,A,f,m,C,E,I){let x,y,v=A._ellipsoid,w=f.length/3-1,Q=w*8,M=Q*4,B=w*36,D=Q>65535?new Uint32Array(B):new Uint16Array(B),S=new Float64Array(Q*3),P=new Float32Array(M),R=new Float32Array(M),T=new Float32Array(M),L=new Float32Array(M),F=new Float32Array(M),U,N,H,J;I&&(U=new Float32Array(M),N=new Float32Array(M),H=new Float32Array(M),J=new Float32Array(Q*2));let K=E.length/2,X=0,j=j6e;j.height=0;let ee=X6e;ee.height=0;let ie=TMe,z=sae;if(I)for(y=0,x=1;xJ6e?(we=tH(A,j,ke,Ne,lae),Fe=tH(A,ee,O,Pe,Aae)):Ai===1?(Fe=tH(A,ee,O,Pe,Aae),we.x=0,we.y=De.sign(j.longitude-Math.abs(ee.longitude)),we.z=0):(we=tH(A,j,ke,Ne,lae),Fe.x=0,Fe.y=De.sign(j.longitude-ee.longitude),Fe.z=0)}let Ue=Z.distance(He,W),ze=Jl.fromCartesian(Me,owt),Je=Z.subtract(Y,Me,ewt),je=Z.normalize(Je,FMe),Ze=Z.subtract(He,Me,twt);Ze=Z.normalize(Ze,Ze);let rt=Z.cross(je,Ze,FMe);rt=Z.normalize(rt,rt);let At=Z.cross(Ze,ke,rwt);At=Z.normalize(At,At);let yt=Z.subtract(W,Y,iwt);yt=Z.normalize(yt,yt);let at=Z.cross(O,yt,nwt);at=Z.normalize(at,at);let ft=Ue/le,_t=re/le,et=0,pt,zt,It,Pt=0,St=0;if(I){et=Z.distance(Ne,Pe),pt=Jl.fromCartesian(Ne,awt),zt=Z.subtract(Pe,Ne,NMe),It=Z.normalize(zt,swt);let Ai=It.x;It.x=It.y,It.y=-Ai,Pt=et/X,St=se/X}for(Ae=0;Ae<8;Ae++){let Ai=fe+Ae*4,xi=ge+Ae*2,Fi=Ai+3,pi=Ae<4?1:-1,Vt=Ae===2||Ae===3||Ae===6||Ae===7?1:-1;Z.pack(ze.high,P,Ai),P[Fi]=Je.x,Z.pack(ze.low,R,Ai),R[Fi]=Je.y,Z.pack(At,T,Ai),T[Fi]=Je.z,Z.pack(at,L,Ai),L[Fi]=ft*pi,Z.pack(rt,F,Ai);let Kt=_t*Vt;Kt===0&&Vt<0&&(Kt=9),F[Fi]=Kt,I&&(U[Ai]=pt.high.x,U[Ai+1]=pt.high.y,U[Ai+2]=pt.low.x,U[Ai+3]=pt.low.y,H[Ai]=-we.y,H[Ai+1]=we.x,H[Ai+2]=Fe.y,H[Ai+3]=-Fe.x,N[Ai]=zt.x,N[Ai+1]=zt.y,N[Ai+2]=It.x,N[Ai+3]=It.y,J[xi]=Pt*pi,Kt=St*Vt,Kt===0&&Vt<0&&(Kt=9),J[xi+1]=Kt)}let dt=jBt,Le=XBt,_e=WBt,Oe=qBt,vt=hi.fromCartographicArray(JBt,KBt),wt=Tu.getMinimumMaximumHeights(vt,v),Bt=wt.minimumTerrainHeight,bi=wt.maximumTerrainHeight;ce+=Bt,ce+=bi,MMe(Me,He,Bt,bi,dt,_e),MMe(Y,W,Bt,bi,Le,Oe);let nr=Z.multiplyByScalar(rt,De.EPSILON5,kMe);Z.add(dt,nr,dt),Z.add(Le,nr,Le),Z.add(_e,nr,_e),Z.add(Oe,nr,Oe),x7(dt,Le),x7(_e,Oe),Z.pack(dt,S,de),Z.pack(Le,S,de+3),Z.pack(Oe,S,de+6),Z.pack(_e,S,de+9),nr=Z.multiplyByScalar(rt,-2*De.EPSILON5,kMe),Z.add(dt,nr,dt),Z.add(Le,nr,Le),Z.add(_e,nr,_e),Z.add(Oe,nr,Oe),x7(dt,Le),x7(_e,Oe),Z.pack(dt,S,de+12),Z.pack(Le,S,de+15),Z.pack(Oe,S,de+18),Z.pack(_e,S,de+21),he+=2,y+=3,ge+=16,de+=24,fe+=32,re+=Ue,se+=et}y=0;let me=0;for(x=0;x halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) { #ifdef DEBUG_SHOW_VOLUME out_FragColor = vec4(1.0, 0.0, 0.0, 0.5); return; #else // DEBUG_SHOW_VOLUME discard; #endif // DEBUG_SHOW_VOLUME } // Check distance of the eye coordinate against start and end planes with normals in the right plane. // For computing unskewed lengthwise texture coordinate. // Can also be used for clipping extremely pointy miters, but in practice unnecessary because of miter breaking. // aligned plane: cross the right plane normal with miter plane normal, then cross the result with right again to point it more "forward" vec3 alignedPlaneNormal; // start aligned plane alignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_startPlaneNormalEcAndHalfWidth.xyz); alignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz)); distanceFromStart = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, ecStart), eyeCoordinate.xyz); // end aligned plane alignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_endPlaneNormalEcAndBatchId.xyz); alignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz)); distanceFromEnd = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, v_endEcAndStartEcX.xyz), eyeCoordinate.xyz); #ifdef PER_INSTANCE_COLOR out_FragColor = czm_gammaCorrect(v_color); #else // PER_INSTANCE_COLOR // Clamp - distance to aligned planes may be negative due to mitering, // so fragment texture coordinate might be out-of-bounds. float s = clamp(distanceFromStart / (distanceFromStart + distanceFromEnd), 0.0, 1.0); s = (s * v_texcoordNormalizationAndStartEcYZ.x) + v_texcoordNormalizationAndStartEcYZ.y; float t = (widthwiseDistance + halfMaxWidth) / (2.0 * halfMaxWidth); czm_materialInput materialInput; materialInput.s = s; materialInput.st = vec2(s, t); materialInput.str = vec3(s, t, 0.0); czm_material material = czm_getMaterial(materialInput); out_FragColor = vec4(material.diffuse + material.emission, material.alpha); #endif // PER_INSTANCE_COLOR // Premultiply alpha. Required for classification primitives on translucent globe. out_FragColor.rgb *= out_FragColor.a; czm_writeDepthClamp(); } `,g0e=`in vec3 v_forwardDirectionEC; in vec3 v_texcoordNormalizationAndHalfWidth; in float v_batchId; #ifdef PER_INSTANCE_COLOR in vec4 v_color; #else in vec2 v_alignedPlaneDistances; in float v_texcoordT; #endif float rayPlaneDistanceUnsafe(vec3 origin, vec3 direction, vec3 planeNormal, float planeDistance) { // We don't expect the ray to ever be parallel to the plane return (-planeDistance - dot(planeNormal, origin)) / dot(planeNormal, direction); } void main(void) { vec4 eyeCoordinate = gl_FragCoord; eyeCoordinate /= eyeCoordinate.w; #ifdef PER_INSTANCE_COLOR out_FragColor = czm_gammaCorrect(v_color); #else // PER_INSTANCE_COLOR // Use distances for planes aligned with segment to prevent skew in dashing float distanceFromStart = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, -v_forwardDirectionEC, v_forwardDirectionEC.xyz, v_alignedPlaneDistances.x); float distanceFromEnd = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, v_forwardDirectionEC, -v_forwardDirectionEC.xyz, v_alignedPlaneDistances.y); // Clamp - distance to aligned planes may be negative due to mitering distanceFromStart = max(0.0, distanceFromStart); distanceFromEnd = max(0.0, distanceFromEnd); float s = distanceFromStart / (distanceFromStart + distanceFromEnd); s = (s * v_texcoordNormalizationAndHalfWidth.x) + v_texcoordNormalizationAndHalfWidth.y; czm_materialInput materialInput; materialInput.s = s; materialInput.st = vec2(s, v_texcoordT); materialInput.str = vec3(s, v_texcoordT, 0.0); czm_material material = czm_getMaterial(materialInput); out_FragColor = vec4(material.diffuse + material.emission, material.alpha); #endif // PER_INSTANCE_COLOR } `,f0e=`in vec3 position3DHigh; in vec3 position3DLow; in vec4 startHiAndForwardOffsetX; in vec4 startLoAndForwardOffsetY; in vec4 startNormalAndForwardOffsetZ; in vec4 endNormalAndTextureCoordinateNormalizationX; in vec4 rightNormalAndTextureCoordinateNormalizationY; in vec4 startHiLo2D; in vec4 offsetAndRight2D; in vec4 startEndNormals2D; in vec2 texcoordNormalization2D; in float batchId; out vec3 v_forwardDirectionEC; out vec3 v_texcoordNormalizationAndHalfWidth; out float v_batchId; // For materials #ifdef WIDTH_VARYING out float v_width; #endif #ifdef ANGLE_VARYING out float v_polylineAngle; #endif #ifdef PER_INSTANCE_COLOR out vec4 v_color; #else out vec2 v_alignedPlaneDistances; out float v_texcoordT; #endif // Morphing planes using SLERP or NLERP doesn't seem to work, so instead draw the material directly on the shadow volume. // Morph views are from very far away and aren't meant to be used precisely, so this should be sufficient. void main() { v_batchId = batchId; // Start position vec4 posRelativeToEye2D = czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw)); vec4 posRelativeToEye3D = czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz); vec4 posRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime); vec3 posEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz; vec3 posEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz; vec3 startEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz; // Start plane vec4 startPlane2D; vec4 startPlane3D; startPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy); startPlane3D.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz; startPlane2D.w = -dot(startPlane2D.xyz, posEc2D); startPlane3D.w = -dot(startPlane3D.xyz, posEc3D); // Right plane vec4 rightPlane2D; vec4 rightPlane3D; rightPlane2D.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw); rightPlane3D.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz; rightPlane2D.w = -dot(rightPlane2D.xyz, posEc2D); rightPlane3D.w = -dot(rightPlane3D.xyz, posEc3D); // End position posRelativeToEye2D = posRelativeToEye2D + vec4(0.0, offsetAndRight2D.xy, 0.0); posRelativeToEye3D = posRelativeToEye3D + vec4(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w, 0.0); posRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime); posEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz; posEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz; vec3 endEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz; vec3 forwardEc3D = czm_normal * normalize(vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w)); vec3 forwardEc2D = czm_normal * normalize(vec3(0.0, offsetAndRight2D.xy)); // End plane vec4 endPlane2D; vec4 endPlane3D; endPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw); endPlane3D.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz; endPlane2D.w = -dot(endPlane2D.xyz, posEc2D); endPlane3D.w = -dot(endPlane3D.xyz, posEc3D); // Forward direction v_forwardDirectionEC = normalize(endEC - startEC); vec2 cleanTexcoordNormalization2D; cleanTexcoordNormalization2D.x = abs(texcoordNormalization2D.x); cleanTexcoordNormalization2D.y = czm_branchFreeTernary(texcoordNormalization2D.y > 1.0, 0.0, abs(texcoordNormalization2D.y)); vec2 cleanTexcoordNormalization3D; cleanTexcoordNormalization3D.x = abs(endNormalAndTextureCoordinateNormalizationX.w); cleanTexcoordNormalization3D.y = rightNormalAndTextureCoordinateNormalizationY.w; cleanTexcoordNormalization3D.y = czm_branchFreeTernary(cleanTexcoordNormalization3D.y > 1.0, 0.0, abs(cleanTexcoordNormalization3D.y)); v_texcoordNormalizationAndHalfWidth.xy = mix(cleanTexcoordNormalization2D, cleanTexcoordNormalization3D, czm_morphTime); #ifdef PER_INSTANCE_COLOR v_color = czm_batchTable_color(batchId); #else // PER_INSTANCE_COLOR // For computing texture coordinates v_alignedPlaneDistances.x = -dot(v_forwardDirectionEC, startEC); v_alignedPlaneDistances.y = -dot(-v_forwardDirectionEC, endEC); #endif // PER_INSTANCE_COLOR #ifdef WIDTH_VARYING float width = czm_batchTable_width(batchId); float halfWidth = width * 0.5; v_width = width; v_texcoordNormalizationAndHalfWidth.z = halfWidth; #else float halfWidth = 0.5 * czm_batchTable_width(batchId); v_texcoordNormalizationAndHalfWidth.z = halfWidth; #endif // Compute a normal along which to "push" the position out, extending the miter depending on view distance. // Position has already been "pushed" by unit length along miter normal, and miter normals are encoded in the planes. // Decode the normal to use at this specific vertex, push the position back, and then push to where it needs to be. // Since this is morphing, compute both 3D and 2D positions and then blend. // ****** 3D ****** // Check distance to the end plane and start plane, pick the plane that is closer vec4 positionEc3D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position3DHigh, position3DLow); // w = 1.0, see czm_computePosition float absStartPlaneDistance = abs(czm_planeDistance(startPlane3D, positionEc3D.xyz)); float absEndPlaneDistance = abs(czm_planeDistance(endPlane3D, positionEc3D.xyz)); vec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane3D.xyz, endPlane3D.xyz); vec3 upOrDown = normalize(cross(rightPlane3D.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane. vec3 normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too. // Nudge the top vertex upwards to prevent flickering vec3 geodeticSurfaceNormal = normalize(cross(normalEC, forwardEc3D)); geodeticSurfaceNormal *= float(0.0 <= rightNormalAndTextureCoordinateNormalizationY.w && rightNormalAndTextureCoordinateNormalizationY.w <= 1.0); geodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT; positionEc3D.xyz += geodeticSurfaceNormal; // Determine if this vertex is on the "left" or "right" normalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w); // A "perfect" implementation would push along normals according to the angle against forward. // In practice, just pushing the normal out by halfWidth is sufficient for morph views. positionEc3D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc3D)) * normalEC; // prevent artifacts when czm_metersPerPixel is negative (behind camera) // ****** 2D ****** // Check distance to the end plane and start plane, pick the plane that is closer vec4 positionEc2D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy); // w = 1.0, see czm_computePosition absStartPlaneDistance = abs(czm_planeDistance(startPlane2D, positionEc2D.xyz)); absEndPlaneDistance = abs(czm_planeDistance(endPlane2D, positionEc2D.xyz)); planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane2D.xyz, endPlane2D.xyz); upOrDown = normalize(cross(rightPlane2D.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane. normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too. // Nudge the top vertex upwards to prevent flickering geodeticSurfaceNormal = normalize(cross(normalEC, forwardEc2D)); geodeticSurfaceNormal *= float(0.0 <= texcoordNormalization2D.y && texcoordNormalization2D.y <= 1.0); geodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT; positionEc2D.xyz += geodeticSurfaceNormal; // Determine if this vertex is on the "left" or "right" normalEC *= sign(texcoordNormalization2D.x); #ifndef PER_INSTANCE_COLOR // Use vertex's sidedness to compute its texture coordinate. v_texcoordT = clamp(sign(texcoordNormalization2D.x), 0.0, 1.0); #endif // A "perfect" implementation would push along normals according to the angle against forward. // In practice, just pushing the normal out by halfWidth is sufficient for morph views. positionEc2D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc2D)) * normalEC; // prevent artifacts when czm_metersPerPixel is negative (behind camera) // Blend for actual position gl_Position = czm_projection * mix(positionEc2D, positionEc3D, czm_morphTime); #ifdef ANGLE_VARYING // Approximate relative screen space direction of the line. vec2 approxLineDirection = normalize(vec2(v_forwardDirectionEC.x, -v_forwardDirectionEC.y)); approxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y); v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y); #endif } `,p0e=`in vec3 position3DHigh; in vec3 position3DLow; // In 2D and in 3D, texture coordinate normalization component signs encodes: // * X sign - sidedness relative to right plane // * Y sign - is negative OR magnitude is greater than 1.0 if vertex is on bottom of volume #ifndef COLUMBUS_VIEW_2D in vec4 startHiAndForwardOffsetX; in vec4 startLoAndForwardOffsetY; in vec4 startNormalAndForwardOffsetZ; in vec4 endNormalAndTextureCoordinateNormalizationX; in vec4 rightNormalAndTextureCoordinateNormalizationY; #else in vec4 startHiLo2D; in vec4 offsetAndRight2D; in vec4 startEndNormals2D; in vec2 texcoordNormalization2D; #endif in float batchId; out vec4 v_startPlaneNormalEcAndHalfWidth; out vec4 v_endPlaneNormalEcAndBatchId; out vec4 v_rightPlaneEC; out vec4 v_endEcAndStartEcX; out vec4 v_texcoordNormalizationAndStartEcYZ; // For materials #ifdef WIDTH_VARYING out float v_width; #endif #ifdef ANGLE_VARYING out float v_polylineAngle; #endif #ifdef PER_INSTANCE_COLOR out vec4 v_color; #endif void main() { #ifdef COLUMBUS_VIEW_2D vec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw))).xyz; vec3 forwardDirectionEC = czm_normal * vec3(0.0, offsetAndRight2D.xy); vec3 ecEnd = forwardDirectionEC + ecStart; forwardDirectionEC = normalize(forwardDirectionEC); // Right plane v_rightPlaneEC.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw); v_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart); // start plane vec4 startPlaneEC; startPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy); startPlaneEC.w = -dot(startPlaneEC.xyz, ecStart); // end plane vec4 endPlaneEC; endPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw); endPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd); v_texcoordNormalizationAndStartEcYZ.x = abs(texcoordNormalization2D.x); v_texcoordNormalizationAndStartEcYZ.y = texcoordNormalization2D.y; #else // COLUMBUS_VIEW_2D vec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz)).xyz; vec3 offset = czm_normal * vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w); vec3 ecEnd = ecStart + offset; vec3 forwardDirectionEC = normalize(offset); // start plane vec4 startPlaneEC; startPlaneEC.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz; startPlaneEC.w = -dot(startPlaneEC.xyz, ecStart); // end plane vec4 endPlaneEC; endPlaneEC.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz; endPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd); // Right plane v_rightPlaneEC.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz; v_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart); v_texcoordNormalizationAndStartEcYZ.x = abs(endNormalAndTextureCoordinateNormalizationX.w); v_texcoordNormalizationAndStartEcYZ.y = rightNormalAndTextureCoordinateNormalizationY.w; #endif // COLUMBUS_VIEW_2D v_endEcAndStartEcX.xyz = ecEnd; v_endEcAndStartEcX.w = ecStart.x; v_texcoordNormalizationAndStartEcYZ.zw = ecStart.yz; #ifdef PER_INSTANCE_COLOR v_color = czm_batchTable_color(batchId); #endif // PER_INSTANCE_COLOR // Compute a normal along which to "push" the position out, extending the miter depending on view distance. // Position has already been "pushed" by unit length along miter normal, and miter normals are encoded in the planes. // Decode the normal to use at this specific vertex, push the position back, and then push to where it needs to be. vec4 positionRelativeToEye = czm_computePosition(); // Check distance to the end plane and start plane, pick the plane that is closer vec4 positionEC = czm_modelViewRelativeToEye * positionRelativeToEye; // w = 1.0, see czm_computePosition float absStartPlaneDistance = abs(czm_planeDistance(startPlaneEC, positionEC.xyz)); float absEndPlaneDistance = abs(czm_planeDistance(endPlaneEC, positionEC.xyz)); vec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlaneEC.xyz, endPlaneEC.xyz); vec3 upOrDown = normalize(cross(v_rightPlaneEC.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane. vec3 normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too. // Extrude bottom vertices downward for far view distances, like for GroundPrimitives upOrDown = cross(forwardDirectionEC, normalEC); upOrDown = float(czm_sceneMode == czm_sceneMode3D) * upOrDown; upOrDown = float(v_texcoordNormalizationAndStartEcYZ.y > 1.0 || v_texcoordNormalizationAndStartEcYZ.y < 0.0) * upOrDown; upOrDown = min(GLOBE_MINIMUM_ALTITUDE, czm_geometricToleranceOverMeter * length(positionRelativeToEye.xyz)) * upOrDown; positionEC.xyz += upOrDown; v_texcoordNormalizationAndStartEcYZ.y = czm_branchFreeTernary(v_texcoordNormalizationAndStartEcYZ.y > 1.0, 0.0, abs(v_texcoordNormalizationAndStartEcYZ.y)); // Determine distance along normalEC to push for a volume of appropriate width. // Make volumes about double pixel width for a conservative fit - in practice the // extra cost here is minimal compared to the loose volume heights. // // N = normalEC (guaranteed "right-facing") // R = rightEC // p = angle between N and R // w = distance to push along R if R == N // d = distance to push along N // // N R // { p| } * cos(p) = dot(N, R) = w / d // d | |w * d = w / dot(N, R) // { | } // o---------- polyline segment ----> // float width = czm_batchTable_width(batchId); #ifdef WIDTH_VARYING v_width = width; #endif v_startPlaneNormalEcAndHalfWidth.xyz = startPlaneEC.xyz; v_startPlaneNormalEcAndHalfWidth.w = width * 0.5; v_endPlaneNormalEcAndBatchId.xyz = endPlaneEC.xyz; v_endPlaneNormalEcAndBatchId.w = batchId; width = width * max(0.0, czm_metersPerPixel(positionEC)); // width = distance to push along R width = width / dot(normalEC, v_rightPlaneEC.xyz); // width = distance to push along N // Determine if this vertex is on the "left" or "right" #ifdef COLUMBUS_VIEW_2D normalEC *= sign(texcoordNormalization2D.x); #else normalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w); #endif positionEC.xyz += width * normalEC; gl_Position = czm_depthClamp(czm_projection * positionEC); #ifdef ANGLE_VARYING // Approximate relative screen space direction of the line. vec2 approxLineDirection = normalize(vec2(forwardDirectionEC.x, -forwardDirectionEC.y)); approxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y); v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y); #endif } `,$6e={TERRAIN:0,CESIUM_3D_TILE:1,BOTH:2};$6e.NUMBER_OF_CLASSIFICATION_TYPES=3;var nA=Object.freeze($6e),uwt={FRONT:ri.FRONT,BACK:ri.BACK,FRONT_AND_BACK:ri.FRONT_AND_BACK},tu=Object.freeze(uwt);function pg(o){o=ae(o,ae.EMPTY_OBJECT),this.position=ae(o.position,!1),this.normal=ae(o.normal,!1),this.st=ae(o.st,!1),this.bitangent=ae(o.bitangent,!1),this.tangent=ae(o.tangent,!1),this.color=ae(o.color,!1)}pg.POSITION_ONLY=Object.freeze(new pg({position:!0}));pg.POSITION_AND_NORMAL=Object.freeze(new pg({position:!0,normal:!0}));pg.POSITION_NORMAL_AND_ST=Object.freeze(new pg({position:!0,normal:!0,st:!0}));pg.POSITION_AND_ST=Object.freeze(new pg({position:!0,st:!0}));pg.POSITION_AND_COLOR=Object.freeze(new pg({position:!0,color:!0}));pg.ALL=Object.freeze(new pg({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0}));pg.DEFAULT=pg.POSITION_NORMAL_AND_ST;pg.packedLength=6;pg.pack=function(o,A,f){return f=ae(f,0),A[f++]=o.position?1:0,A[f++]=o.normal?1:0,A[f++]=o.st?1:0,A[f++]=o.tangent?1:0,A[f++]=o.bitangent?1:0,A[f]=o.color?1:0,A};pg.unpack=function(o,A,f){return A=ae(A,0),k(f)||(f=new pg),f.position=o[A++]===1,f.normal=o[A++]===1,f.st=o[A++]===1,f.tangent=o[A++]===1,f.bitangent=o[A++]===1,f.color=o[A]===1,f};pg.clone=function(o,A){if(k(o))return k(A)||(A=new pg),A.position=o.position,A.normal=o.normal,A.st=o.st,A.tangent=o.tangent,A.bitangent=o.bitangent,A.color=o.color,A};var wr=pg,i$=`in vec4 v_color; void main() { out_FragColor = czm_gammaCorrect(v_color); } `,m0e=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 prevPosition3DHigh; in vec3 prevPosition3DLow; in vec3 nextPosition3DHigh; in vec3 nextPosition3DLow; in vec2 expandAndWidth; in vec4 color; in float batchId; out vec4 v_color; void main() { float expandDir = expandAndWidth.x; float width = abs(expandAndWidth.y) + 0.5; bool usePrev = expandAndWidth.y < 0.0; vec4 p = czm_computePosition(); vec4 prev = czm_computePrevPosition(); vec4 next = czm_computeNextPosition(); float angle; vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle); gl_Position = czm_viewportOrthographic * positionWC; v_color = color; } `,AN=`void clipLineSegmentToNearPlane( vec3 p0, vec3 p1, out vec4 positionWC, out bool clipped, out bool culledByNearPlane, out vec4 clippedPositionEC) { culledByNearPlane = false; clipped = false; vec3 p0ToP1 = p1 - p0; float magnitude = length(p0ToP1); vec3 direction = normalize(p0ToP1); // Distance that p0 is behind the near plane. Negative means p0 is // in front of the near plane. float endPoint0Distance = czm_currentFrustum.x + p0.z; // Camera looks down -Z. // When moving a point along +Z: LESS VISIBLE // * Points in front of the camera move closer to the camera. // * Points behind the camrea move farther away from the camera. // When moving a point along -Z: MORE VISIBLE // * Points in front of the camera move farther away from the camera. // * Points behind the camera move closer to the camera. // Positive denominator: -Z, becoming more visible // Negative denominator: +Z, becoming less visible // Nearly zero: parallel to near plane float denominator = -direction.z; if (endPoint0Distance > 0.0 && abs(denominator) < czm_epsilon7) { // p0 is behind the near plane and the line to p1 is nearly parallel to // the near plane, so cull the segment completely. culledByNearPlane = true; } else if (endPoint0Distance > 0.0) { // p0 is behind the near plane, and the line to p1 is moving distinctly // toward or away from it. // t = (-plane distance - dot(plane normal, ray origin)) / dot(plane normal, ray direction) float t = endPoint0Distance / denominator; if (t < 0.0 || t > magnitude) { // Near plane intersection is not between the two points. // We already confirmed p0 is behind the naer plane, so now // we know the entire segment is behind it. culledByNearPlane = true; } else { // Segment crosses the near plane, update p0 to lie exactly on it. p0 = p0 + t * direction; // Numerical noise might put us a bit on the wrong side of the near plane. // Don't let that happen. p0.z = min(p0.z, -czm_currentFrustum.x); clipped = true; } } clippedPositionEC = vec4(p0, 1.0); positionWC = czm_eyeToWindowCoordinates(clippedPositionEC); } vec4 getPolylineWindowCoordinatesEC(vec4 positionEC, vec4 prevEC, vec4 nextEC, float expandDirection, float width, bool usePrevious, out float angle) { // expandDirection +1 is to the _left_ when looking from positionEC toward nextEC. #ifdef POLYLINE_DASH // Compute the window coordinates of the points. vec4 positionWindow = czm_eyeToWindowCoordinates(positionEC); vec4 previousWindow = czm_eyeToWindowCoordinates(prevEC); vec4 nextWindow = czm_eyeToWindowCoordinates(nextEC); // Determine the relative screen space direction of the line. vec2 lineDir; if (usePrevious) { lineDir = normalize(positionWindow.xy - previousWindow.xy); } else { lineDir = normalize(nextWindow.xy - positionWindow.xy); } angle = atan(lineDir.x, lineDir.y) - 1.570796327; // precomputed atan(1,0) // Quantize the angle so it doesn't change rapidly between segments. angle = floor(angle / czm_piOverFour + 0.5) * czm_piOverFour; #endif vec4 clippedPrevWC, clippedPrevEC; bool prevSegmentClipped, prevSegmentCulled; clipLineSegmentToNearPlane(prevEC.xyz, positionEC.xyz, clippedPrevWC, prevSegmentClipped, prevSegmentCulled, clippedPrevEC); vec4 clippedNextWC, clippedNextEC; bool nextSegmentClipped, nextSegmentCulled; clipLineSegmentToNearPlane(nextEC.xyz, positionEC.xyz, clippedNextWC, nextSegmentClipped, nextSegmentCulled, clippedNextEC); bool segmentClipped, segmentCulled; vec4 clippedPositionWC, clippedPositionEC; clipLineSegmentToNearPlane(positionEC.xyz, usePrevious ? prevEC.xyz : nextEC.xyz, clippedPositionWC, segmentClipped, segmentCulled, clippedPositionEC); if (segmentCulled) { return vec4(0.0, 0.0, 0.0, 1.0); } vec2 directionToPrevWC = normalize(clippedPrevWC.xy - clippedPositionWC.xy); vec2 directionToNextWC = normalize(clippedNextWC.xy - clippedPositionWC.xy); // If a segment was culled, we can't use the corresponding direction // computed above. We should never see both of these be true without // \`segmentCulled\` above also being true. if (prevSegmentCulled) { directionToPrevWC = -directionToNextWC; } else if (nextSegmentCulled) { directionToNextWC = -directionToPrevWC; } vec2 thisSegmentForwardWC, otherSegmentForwardWC; if (usePrevious) { thisSegmentForwardWC = -directionToPrevWC; otherSegmentForwardWC = directionToNextWC; } else { thisSegmentForwardWC = directionToNextWC; otherSegmentForwardWC = -directionToPrevWC; } vec2 thisSegmentLeftWC = vec2(-thisSegmentForwardWC.y, thisSegmentForwardWC.x); vec2 leftWC = thisSegmentLeftWC; float expandWidth = width * 0.5; // When lines are split at the anti-meridian, the position may be at the // same location as the next or previous position, and we need to handle // that to avoid producing NaNs. if (!czm_equalsEpsilon(prevEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1) && !czm_equalsEpsilon(nextEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1)) { vec2 otherSegmentLeftWC = vec2(-otherSegmentForwardWC.y, otherSegmentForwardWC.x); vec2 leftSumWC = thisSegmentLeftWC + otherSegmentLeftWC; float leftSumLength = length(leftSumWC); leftWC = leftSumLength < czm_epsilon6 ? thisSegmentLeftWC : (leftSumWC / leftSumLength); // The sine of the angle between the two vectors is given by the formula // |a x b| = |a||b|sin(theta) // which is // float sinAngle = length(cross(vec3(leftWC, 0.0), vec3(-thisSegmentForwardWC, 0.0))); // Because the z components of both vectors are zero, the x and y coordinate will be zero. // Therefore, the sine of the angle is just the z component of the cross product. vec2 u = -thisSegmentForwardWC; vec2 v = leftWC; float sinAngle = abs(u.x * v.y - u.y * v.x); expandWidth = clamp(expandWidth / sinAngle, 0.0, width * 2.0); } vec2 offset = leftWC * expandDirection * expandWidth * czm_pixelRatio; return vec4(clippedPositionWC.xy + offset, -clippedPositionWC.z, 1.0) * (czm_projection * clippedPositionEC).w; } vec4 getPolylineWindowCoordinates(vec4 position, vec4 previous, vec4 next, float expandDirection, float width, bool usePrevious, out float angle) { vec4 positionEC = czm_modelViewRelativeToEye * position; vec4 prevEC = czm_modelViewRelativeToEye * previous; vec4 nextEC = czm_modelViewRelativeToEye * next; return getPolylineWindowCoordinatesEC(positionEC, prevEC, nextEC, expandDirection, width, usePrevious, angle); } `;function OO(o){o=ae(o,ae.EMPTY_OBJECT),this.material=o.material,this.translucent=ae(o.translucent,!0),this._vertexShaderSource=o.vertexShaderSource,this._fragmentShaderSource=o.fragmentShaderSource,this._renderState=o.renderState,this._closed=ae(o.closed,!1)}Object.defineProperties(OO.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}});OO.prototype.getFragmentShaderSource=function(){let o=[];return this.flat&&o.push("#define FLAT"),this.faceForward&&o.push("#define FACE_FORWARD"),k(this.material)&&o.push(this.material.shaderSource),o.push(this.fragmentShaderSource),o.join(` `)};OO.prototype.isTranslucent=function(){return k(this.material)&&this.material.isTranslucent()||!k(this.material)&&this.translucent};OO.prototype.getRenderState=function(){let o=this.isTranslucent(),A=En(this.renderState,!1);return o?(A.depthMask=!1,A.blending=Sl.ALPHA_BLEND):A.depthMask=!0,A};OO.getDefaultRenderState=function(o,A,f){let m={depthTest:{enabled:!0}};return o&&(m.depthMask=!1,m.blending=Sl.ALPHA_BLEND),A&&(m.cull={enabled:!0,face:tu.BACK}),k(f)&&(m=yo(f,m,!0)),m};var $c=OO,qAe=`${AN} ${m0e}`,cwt=i$;co.isInternetExplorer()||(qAe=`#define CLIP_POLYLINE ${qAe}`);function uN(o){o=ae(o,ae.EMPTY_OBJECT);let A=ae(o.translucent,!0),f=!1,m=uN.VERTEX_FORMAT;this.material=void 0,this.translucent=A,this._vertexShaderSource=ae(o.vertexShaderSource,qAe),this._fragmentShaderSource=ae(o.fragmentShaderSource,cwt),this._renderState=$c.getDefaultRenderState(A,f,o.renderState),this._closed=f,this._vertexFormat=m}Object.defineProperties(uN.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});uN.VERTEX_FORMAT=wr.POSITION_ONLY;uN.prototype.getFragmentShaderSource=$c.prototype.getFragmentShaderSource;uN.prototype.isTranslucent=$c.prototype.isTranslucent;uN.prototype.getRenderState=$c.prototype.getRenderState;var op=uN,C0e=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 prevPosition3DHigh; in vec3 prevPosition3DLow; in vec3 nextPosition3DHigh; in vec3 nextPosition3DLow; in vec2 expandAndWidth; in vec2 st; in float batchId; out float v_width; out vec2 v_st; out float v_polylineAngle; void main() { float expandDir = expandAndWidth.x; float width = abs(expandAndWidth.y) + 0.5; bool usePrev = expandAndWidth.y < 0.0; vec4 p = czm_computePosition(); vec4 prev = czm_computePrevPosition(); vec4 next = czm_computeNextPosition(); float angle; vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle); gl_Position = czm_viewportOrthographic * positionWC; v_width = width; v_st.s = st.s; v_st.t = czm_writeNonPerspective(st.t, gl_Position.w); v_polylineAngle = angle; } `,r$=`#ifdef VECTOR_TILE uniform vec4 u_highlightColor; #endif in vec2 v_st; void main() { czm_materialInput materialInput; vec2 st = v_st; st.t = czm_readNonPerspective(st.t, gl_FragCoord.w); materialInput.s = st.s; materialInput.st = st; materialInput.str = vec3(st, 0.0); czm_material material = czm_getMaterial(materialInput); out_FragColor = vec4(material.diffuse + material.emission, material.alpha); #ifdef VECTOR_TILE out_FragColor *= u_highlightColor; #endif czm_writeLogDepth(); } `,jAe=`${AN} ${C0e}`,hwt=r$;co.isInternetExplorer()||(jAe=`#define CLIP_POLYLINE ${jAe}`);function cN(o){o=ae(o,ae.EMPTY_OBJECT);let A=ae(o.translucent,!0),f=!1,m=cN.VERTEX_FORMAT;this.material=k(o.material)?o.material:fa.fromType(fa.ColorType),this.translucent=A,this._vertexShaderSource=ae(o.vertexShaderSource,jAe),this._fragmentShaderSource=ae(o.fragmentShaderSource,hwt),this._renderState=$c.getDefaultRenderState(A,f,o.renderState),this._closed=f,this._vertexFormat=m}Object.defineProperties(cN.prototype,{vertexShaderSource:{get:function(){let o=this._vertexShaderSource;return this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&(o=`#define POLYLINE_DASH ${o}`),o}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});cN.VERTEX_FORMAT=wr.POSITION_AND_ST;cN.prototype.getFragmentShaderSource=$c.prototype.getFragmentShaderSource;cN.prototype.isTranslucent=$c.prototype.isTranslucent;cN.prototype.getRenderState=$c.prototype.getRenderState;var vC=cN;function dwt(o){o=ae(o,ae.EMPTY_OBJECT),this.position=o.position,this.normal=o.normal,this.st=o.st,this.bitangent=o.bitangent,this.tangent=o.tangent,this.color=o.color}var vA=dwt,gwt={NONE:0,TOP:1,ALL:2},vs=Object.freeze(gwt);function fwt(o,A){let f=[],m=o.length,C=0;for(;Cf&&(f=y),++x,y=A[x]}let E=[];for(let x=0;xm&&(E[A[x]]=I,++I);return(I-m+1)/(C/3)};I0e.tipsify=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.indices,f=o.maximumIndex,m=ae(o.cacheSize,24),C;function E(j,ee,ie,z){for(;ee.length>=1;){let oe=ee[ee.length-1];if(ee.splice(ee.length-1,1),j[oe].numLiveTriangles>0)return oe}for(;C0)return++C,C-1;++C}return-1}function I(j,ee,ie,z,oe,le,Ae){let he=-1,ge,de=-1,fe=0;for(;fede||de===-1)&&(de=ge,he=G)),++fe}return he===-1?E(z,le,j,Ae):he}let x=A.length,y=0,v=0,w=A[v],Q=x;if(k(f))y=f+1;else{for(;vy&&(y=w),++v,w=A[v];if(y===-1)return 0;++y}let M=[],B;for(B=0;Bm&&(L.timeStamp=P,++P),++v}S=I(A,m,R,M,P,T,y)}return N};var x0e=I0e,OC={};function Dj(o,A,f,m,C){o[A++]=f,o[A++]=m,o[A++]=m,o[A++]=C,o[A++]=C,o[A]=f}function Mwt(o){let A=o.length,f=A/3*6,m=fn.createTypedArray(A,f),C=0;for(let E=0;E=3){let f=(A-2)*6,m=fn.createTypedArray(A,f);Dj(m,0,o[0],o[1],o[2]);let C=6;for(let E=3;E0){let A=o.length-1,f=(A-1)*6,m=fn.createTypedArray(A,f),C=o[0],E=0;for(let I=1;IC&&(C=f[E]);o.indices=x0e.tipsify({indices:f,maximumIndex:C,cacheSize:A})}return o};function zMe(o){let A={};for(let f in o)if(o.hasOwnProperty(f)&&k(o[f])&&k(o[f].values)){let m=o[f];A[f]=new Br({componentDatatype:m.componentDatatype,componentsPerAttribute:m.componentsPerAttribute,normalize:m.normalize,values:[]})}return A}function Rwt(o,A,f){for(let m in A)if(A.hasOwnProperty(m)&&k(A[m])&&k(A[m].values)){let C=A[m];for(let E=0;E=De.SIXTY_FOUR_KILOBYTES){let m=[],C=[],E=0,I=zMe(o.attributes),x=o.indices,y=x.length,v;o.primitiveType===$r.TRIANGLES?v=3:o.primitiveType===$r.LINES?v=2:o.primitiveType===$r.POINTS&&(v=1);for(let w=0;w=De.SIXTY_FOUR_KILOBYTES&&(A.push(new Bo({attributes:I,indices:C,primitiveType:o.primitiveType,boundingSphere:o.boundingSphere,boundingSphereCV:o.boundingSphereCV})),m=[],C=[],E=0,I=zMe(o.attributes))}C.length!==0&&A.push(new Bo({attributes:I,indices:C,primitiveType:o.primitiveType,boundingSphere:o.boundingSphere,boundingSphereCV:o.boundingSphereCV}))}else A.push(o);return A};var YMe=new Z,Lwt=new Lt;OC.projectTo2D=function(o,A,f,m,C){let E=o.attributes[A];C=k(C)?C:new md;let I=C.ellipsoid,x=E.values,y=new Float64Array(x.length),v=0;for(let w=0;wP&&(P=T)}return new Bo({attributes:w,indices:D,primitiveType:v,boundingSphere:k(S)?new si(S,P):void 0})}OC.combineInstances=function(o){let A=[],f=[],m=o.length;for(let E=0;E0&&C.push(dae(A,"geometry")),f.length>0&&(C.push(dae(f,"westHemisphereGeometry")),C.push(dae(f,"eastHemisphereGeometry"))),C};var vy=new Z,s8=new Z,Hk=new Z,Vk=new Z;OC.computeNormal=function(o){let A=o.indices,f=o.attributes,m=f.position.values,C=f.position.values.length/3,E=A.length,I=new Array(C),x=new Array(E/3),y=new Array(E),v;for(v=0;v0){for(w=0;w3&&(f[3]=0,f[4]=2,f[5]=3);let m=6;for(let C=3;CC?m>E?I=De.sign(o.y):I=De.sign(f.y):C>E?I=De.sign(A.y):I=De.sign(f.y);let x=I<0;_T(o,x),_T(A,x),_T(f,x)}var qMe=new Z;function _y(o,A,f,m){Z.add(o,Z.multiplyByScalar(Z.subtract(A,o,qMe),o.y/(o.y-A.y),qMe),f),Z.clone(f,m),_T(f,!0),_T(m,!1)}var sL=new Z,lL=new Z,AL=new Z,uL=new Z,gae={positions:new Array(7),indices:new Array(3*3)};function Wwt(o,A,f){if(o.x>=0||A.x>=0||f.x>=0)return;Kwt(o,A,f);let m=o.y<0,C=A.y<0,E=f.y<0,I=0;I+=m?1:0,I+=C?1:0,I+=E?1:0;let x=gae.indices;I===1?(x[1]=3,x[2]=4,x[5]=6,x[7]=6,x[8]=5,m?(_y(o,A,sL,AL),_y(o,f,lL,uL),x[0]=0,x[3]=1,x[4]=2,x[6]=1):C?(_y(A,f,sL,AL),_y(A,o,lL,uL),x[0]=1,x[3]=2,x[4]=0,x[6]=2):E&&(_y(f,o,sL,AL),_y(f,A,lL,uL),x[0]=2,x[3]=0,x[4]=1,x[6]=0)):I===2&&(x[2]=4,x[4]=4,x[5]=3,x[7]=5,x[8]=6,m?C?E||(_y(f,o,sL,AL),_y(f,A,lL,uL),x[0]=0,x[1]=1,x[3]=0,x[6]=2):(_y(A,f,sL,AL),_y(A,o,lL,uL),x[0]=2,x[1]=0,x[3]=2,x[6]=1):(_y(o,A,sL,AL),_y(o,f,lL,uL),x[0]=1,x[1]=2,x[3]=1,x[6]=0));let y=gae.positions;return y[0]=o,y[1]=A,y[2]=f,y.length=3,(I===1||I===2)&&(y[3]=sL,y[4]=lL,y[5]=AL,y[6]=uL,y.length=7),gae}function jMe(o,A){let f=o.attributes;if(f.position.values.length===0)return;for(let C in f)if(f.hasOwnProperty(C)&&k(f[C])&&k(f[C].values)){let E=f[C];E.values=Mt.createTypedArray(E.componentDatatype,E.values)}let m=Bo.computeNumberOfVertices(o);return o.indices=fn.createTypedArray(m,o.indices),A&&(o.boundingSphere=si.fromVertices(f.position.values)),o}function PU(o){let A=o.attributes,f={};for(let m in A)if(A.hasOwnProperty(m)&&k(A[m])&&k(A[m].values)){let C=A[m];f[m]=new Br({componentDatatype:C.componentDatatype,componentsPerAttribute:C.componentsPerAttribute,normalize:C.normalize,values:[]})}return new Bo({attributes:f,indices:[],primitiveType:o.primitiveType})}function y0e(o,A,f){let m=k(o.geometry.boundingSphere);A=jMe(A,m),f=jMe(f,m),k(f)&&!k(A)?o.geometry=f:!k(f)&&k(A)?o.geometry=A:(o.westHemisphereGeometry=A,o.eastHemisphereGeometry=f,o.geometry=void 0)}function v0e(o,A){let f=new o,m=new o,C=new o;return function(E,I,x,y,v,w,Q,M){let B=o.fromArray(v,E*A,f),D=o.fromArray(v,I*A,m),S=o.fromArray(v,x*A,C);o.multiplyByScalar(B,y.x,B),o.multiplyByScalar(D,y.y,D),o.multiplyByScalar(S,y.z,S);let P=o.add(B,D,B);o.add(P,S,P),M&&o.normalize(P,P),o.pack(P,w,Q*A)}}var qwt=v0e(kt,4),Lq=v0e(Z,3),tGe=v0e(tt,2),jwt=function(o,A,f,m,C,E,I){let x=C[o]*m.x,y=C[A]*m.y,v=C[f]*m.z;E[I]=x+y+v>De.EPSILON6?1:0},SH=new Z,XAe=new Z,ZAe=new Z,Xwt=new Z;function B7(o,A,f,m,C,E,I,x,y,v,w,Q,M,B,D,S){if(!k(E)&&!k(I)&&!k(x)&&!k(y)&&!k(v)&&B===0)return;let P=Z.fromArray(C,o*3,SH),R=Z.fromArray(C,A*3,XAe),T=Z.fromArray(C,f*3,ZAe),L=o$(m,P,R,T,Xwt);if(k(L)){if(k(E)&&Lq(o,A,f,L,E,Q.normal.values,S,!0),k(v)){let F=Z.fromArray(v,o*3,SH),U=Z.fromArray(v,A*3,XAe),N=Z.fromArray(v,f*3,ZAe);Z.multiplyByScalar(F,L.x,F),Z.multiplyByScalar(U,L.y,U),Z.multiplyByScalar(N,L.z,N);let H;!Z.equals(F,Z.ZERO)||!Z.equals(U,Z.ZERO)||!Z.equals(N,Z.ZERO)?(H=Z.add(F,U,F),Z.add(H,N,H),Z.normalize(H,H)):(H=SH,H.x=0,H.y=0,H.z=0),Z.pack(H,Q.extrudeDirection.values,S*3)}if(k(w)&&jwt(o,A,f,L,w,Q.applyOffset.values,S),k(I)&&Lq(o,A,f,L,I,Q.tangent.values,S,!0),k(x)&&Lq(o,A,f,L,x,Q.bitangent.values,S,!0),k(y)&&tGe(o,A,f,L,y,Q.st.values,S),B>0)for(let F=0;F3){let z=ie.positions,oe=ie.indices,le=oe.length;for(let Ae=0;Ae0)continue;let y=Z.unpack(m,I,nGe);(x.y<0&&y.y>0||x.y>0&&y.y<0)&&(I-3>0?(m[I]=f[I-3],m[I+1]=f[I-2],m[I+2]=f[I-1]):Z.pack(x,m,I));let v=Z.unpack(C,I,$Ae);(x.y<0&&v.y>0||x.y>0&&v.y<0)&&(I+30||si.intersectPlane(f,va.ORIGIN_ZX_PLANE)!==Wo.INTERSECTING))return o;if(A.geometryType!==RT.NONE)switch(A.geometryType){case RT.POLYLINES:s1t(o);break;case RT.TRIANGLES:XMe(o);break;case RT.LINES:ZMe(o);break}else Jwt(A),A.primitiveType===$r.TRIANGLES?XMe(o):A.primitiveType===$r.LINES&&ZMe(o);return o};var gA=OC;function mV(o,A,f){o=ae(o,0),A=ae(A,0),f=ae(f,0),this.value=new Float32Array([o,A,f])}Object.defineProperties(mV.prototype,{componentDatatype:{get:function(){return Mt.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}});mV.fromCartesian3=function(o){return new mV(o.x,o.y,o.z)};mV.toValue=function(o,A){return k(A)||(A=new Float32Array([o.x,o.y,o.z])),A[0]=o.x,A[1]=o.y,A[2]=o.z,A};var Hd=mV;function l1t(o,A,f){let m=!f,C=o.length,E;if(!m&&C>1){let I=o[0].modelMatrix;for(E=1;E=0){let v=m[x];C=v.offset+v.count,I=v.index,E=f[I].indices.length}else C=0,I=0,E=f[I].indices.length;let y=o.length;for(let v=0;vE&&(C=0,E=f[++I].indices.length),m.push({index:I,offset:C,count:Q}),C+=Q}}function c1t(o,A){let f=[];return pae(o,"geometry",A,f),pae(o,"westHemisphereGeometry",A,f),pae(o,"eastHemisphereGeometry",A,f),f}var vS={};vS.combineGeometry=function(o){let A,f,m=o.instances,C=m.length,E,I,x=!1;C>0&&(A=u1t(o),A.length>0&&(f=gA.createAttributeLocations(A[0]),o.createPickOffsets&&(E=c1t(m,A))),k(m[0].attributes)&&k(m[0].attributes.offset)&&(I=new Array(C),x=!0));let y=new Array(C),v=new Array(C);for(let w=0;w0&&(f.set(y.indices,I),I+=D)}return A.push(f.buffer),{stringTable:m,packedData:f}};vS.unpackCreateGeometryResults=function(o){let A=o.stringTable,f=o.packedData,m,C=new Array(f[0]),E=0,I=1;for(;I0){let T=B.length/D;for(R=fn.createTypedArray(T,M),m=0;m{A._completeLoad=(C,E,I)=>{this._error=I,this._state=E,C.afterRender.push(function(){if(A._ready=A._state===Ld.COMPLETE||A._state===Ld.FAILED,!k(I))return f(A),!0;m(I)})}}),this._batchTable=void 0,this._batchTableAttributeIndices=void 0,this._offsetInstanceExtend=void 0,this._batchTableOffsetAttribute2DIndex=void 0,this._batchTableOffsetsUpdated=!1,this._instanceBoundingSpheres=void 0,this._instanceBoundingSpheresCV=void 0,this._tempBoundingSpheres=void 0,this._recomputeBoundingSpheres=!1,this._batchTableBoundingSpheresUpdated=!1,this._batchTableBoundingSphereAttributeIndices=void 0,this._heatMap=o.heatMap,this._scaleHeight=o.scaleHeight,this._frameBuffer=null,this._enableFrameBuffer=o.enableFrameBuffer}Object.defineProperties(zh.prototype,{vertexCacheOptimize:{get:function(){return this._vertexCacheOptimize}},interleave:{get:function(){return this._interleave}},releaseGeometryInstances:{get:function(){return this._releaseGeometryInstances}},allowPicking:{get:function(){return this._allowPicking}},asynchronous:{get:function(){return this._asynchronous}},compressVertices:{get:function(){return this._compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return $t("Primitive.readyPromise","Primitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Primitive.ready to return true instead."),this._readyPromise}}});function I1t(o){let A=o.length,f=[],m=o[0].attributes,C;for(C in m)if(m.hasOwnProperty(C)&&k(m[C])){let E=m[C],I=!0;for(let x=1;x= nearSq && distanceSq <= farSq) ? 1.0 : 0.0; gl_Position *= show; }`,`${m} ${C}`};function lTe(o,A){if(!o.compressVertices)return A;let f=A.search(/in\s+vec3\s+normal;/g)!==-1,m=A.search(/in\s+vec2\s+st;/g)!==-1;if(!f&&!m)return A;let C=A.search(/in\s+vec3\s+tangent;/g)!==-1,E=A.search(/in\s+vec3\s+bitangent;/g)!==-1,I=m&&f?2:1;I+=C||E?1:0;let x=I>1?`vec${I}`:"float",y="compressedAttributes",v=`in ${x} ${y};`,w="",Q="";if(m){w+=`vec2 st; `;let D=I>1?`${y}.x`:y;Q+=` st = czm_decompressTextureCoordinates(${D}); `}f&&C&&E?(w+=`vec3 normal; vec3 tangent; vec3 bitangent; `,Q+=` czm_octDecode(${y}.${m?"yz":"xy"}, normal, tangent, bitangent); `):(f&&(w+=`vec3 normal; `,Q+=` normal = czm_octDecode(${y}${I>1?`.${m?"y":"x"}`:""}); `),C&&(w+=`vec3 tangent; `,Q+=` tangent = czm_octDecode(${y}.${m&&f?"z":"y"}); `),E&&(w+=`vec3 bitangent; `,Q+=` bitangent = czm_octDecode(${y}.${m&&f?"z":"y"}); `));let M=A;M=M.replace(/in\s+vec3\s+normal;/g,""),M=M.replace(/in\s+vec2\s+st;/g,""),M=M.replace(/in\s+vec3\s+tangent;/g,""),M=M.replace(/in\s+vec3\s+bitangent;/g,""),M=hr.replaceMain(M,"czm_non_compressed_main");let B=`void main() { ${Q} czm_non_compressed_main(); }`;return[v,w,M,B].join(` `)}function Q1t(o){let A=hr.replaceMain(o,"czm_non_depth_clamp_main");return A+=`void main() { czm_non_depth_clamp_main(); gl_Position = czm_depthClamp(gl_Position);} `,A}function S1t(o){let A=hr.replaceMain(o,"czm_non_depth_clamp_main");return A+=`void main() { czm_non_depth_clamp_main(); #if defined(LOG_DEPTH) czm_writeLogDepth(); #else czm_writeDepthClamp(); #endif } `,A}function ATe(o,A){let f=o.vertexAttributes}function D1t(o,A){return function(){return o[A]}}var mae=Math.max(co.hardwareConcurrency-1,1),b7,M1t=new Yh("combineGeometry");function T1t(o,A){let f,m,C,E,I=o._instanceIds;if(o._state===Ld.READY){f=Array.isArray(o.geometryInstances)?o.geometryInstances:[o.geometryInstances];let x=o._numberOfInstances=f.length,y=[],v=[];for(C=0;C0){let S=new Float64Array(Q);for(D=[S.buffer],E=0;E0?(o._recomputeBoundingSpheres=!0,o._state=Ld.COMBINED):DH(o,A,Ld.FAILED,void 0)}).catch(function(Q){DH(o,A,Ld.FAILED,Q)})}}function P1t(o,A,f){if(k(o._heatMap)&&A.length===1){let m=[],C=CF.unpackCreateGeometryResults(A[0]),E=C[0].attributes;k(E.tangent)||delete E.tangent,k(E.bitangent)||delete E.bitangent,k(E.color)||delete E.color,C[0].attributes.position.values=F1t(o,C[0].attributes.position.values,f);let I=CF.packCreateGeometryResults(C,m);o._createGeometryResults=[I]}}var R1t=new Z,L1t=new Z,ZM=new Lt;function F1t(o,A,f){let m=o._heatMap;f=ae(f,gi.WGS84);let C=R1t,E=L1t;if(k(A)){let I=A.length,x=0;for(let y=0;y0?(o._recomputeBoundingSpheres=!0,o._state=Ld.COMBINED):DH(o,A,Ld.FAILED,void 0)}function k1t(o,A){let f=o._batchTableAttributeIndices.offset;if(!o._recomputeBoundingSpheres||!k(f)){o._recomputeBoundingSpheres=!1;return}let m,C=o._offsetInstanceExtend,E=o._instanceBoundingSpheres,I=E.length,x=o._tempBoundingSpheres;if(!k(x)){for(x=new Array(I),m=0;m0||si.intersectPlane(S,va.ORIGIN_ZX_PLANE)!==Wo.INTERSECTING?y.push(S):(v.push(S),w.push(S))}let Q=y[0],M=w[0],B=v[0];for(m=1;m0){if(On.maximumVertexTextureImageUnits===0)throw new Ti("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(o)}if(this._state!==Ld.COMPLETE&&this._state!==Ld.COMBINED&&(this.asynchronous?T1t(this,o):N1t(this,o)),this._state===Ld.COMBINED&&(U1t(this,o),cTe(this,o),G1t(this,o)),!this.show||this._state!==Ld.COMPLETE)return;this._batchTableOffsetsUpdated||cTe(this,o),this._recomputeBoundingSpheres&&k1t(this,o);let f=this.appearance,m=f.material,C=!1,E=!1,I=!1;this._appearance!==f?(this._appearance=f,this._material=m,C=!0,E=!0):this._material!==m&&(this._material=m,E=!0);let x=this.depthFailAppearance,y=k(x)?x.material:void 0;this._depthFailAppearance!==x?(this._depthFailAppearance=x,this._depthFailMaterial=y,C=!0,E=!0):this._depthFailMaterial!==y&&(this._depthFailMaterial=y,E=!0);let v=this._appearance.isTranslucent();this._translucent!==v&&(this._translucent=v,C=!0),k(this._material)&&this._material.update(A);let w=f.closed&&v;if(C&&ae(this._createRenderStatesFunction,H1t)(this,A,f,w),E&&ae(this._createShaderProgramFunction,V1t)(this,o,f),this._enableFrameBuffer&&!k(this._frameBuffer)&&(C||E)){let Q=o.context.canvas,M=Q.clientWidth,B=Q.clientHeight,D=nTe(o.context,M,B);this._frameBuffer=oTe(o.context,D.colorTexture,D.copyTexture),I=!0}if(this._enableFrameBuffer&&k(this._frameBuffer)){let Q=o.context.canvas,M=Q.clientWidth,B=Q.clientHeight,D=this._frameBuffer.copyTexture;if(D.width!==M||D.height!==B){C1t(this._frameBuffer),E1t(this._frameBuffer);let S=nTe(o.context,M,B);this._frameBuffer=oTe(o.context,S.colorTexture,S.copyTexture),I=!0}}(C||E||I)&&ae(this._createCommandsFunction,z1t)(this,f,m,v,w,this._colorCommands,this._pickCommands,o),ae(this._updateAndQueueCommandsFunction,Y1t)(this,o,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,w)};var J1t=new si,K1t=new si;function uGe(o,A,f){if(f===vs.TOP){let m=si.clone(o,J1t),C=si.clone(o,K1t);C.center=Z.add(C.center,A,C.center),o=si.union(m,C,o)}else f===vs.ALL&&(o.center=Z.add(o.center,A,o.center));return o}function W1t(o,A,f){return function(){let m=o.getBatchedAttribute(A,f),C=o.attributes[f],E=C.componentsPerAttribute,I=Mt.createTypedArray(C.componentDatatype,E);return k(m.constructor.pack)?m.constructor.pack(m,I,0):I[0]=m,I}}function q1t(o,A,f,m,C){return function(E){let I=aGe(E);o.setBatchedAttribute(A,f,I),C==="offset"&&(m._recomputeBoundingSpheres=!0,m._batchTableOffsetsUpdated=!1)}}var j1t=new Z;function X1t(o,A,f){A.boundingSphere={get:function(){let m=o._instanceBoundingSpheres[f];if(k(m)){m=m.clone();let C=o.modelMatrix,E=A.offset;k(E)&&uGe(m,Z.fromArray(E.get(),0,j1t),o._offsetInstanceExtend[f]),k(C)&&(m=si.transform(m,C))}return m}},A.boundingSphereCV={get:function(){return o._instanceBoundingSpheresCV[f]}}}function Z1t(o,A,f){A.pickId={get:function(){return o._pickIds[f]}}}zh.prototype.getGeometryInstanceAttributes=function(o){let A=this._perInstanceAttributeCache.get(o);if(k(A))return A;let f=-1,m=this._lastPerInstanceAttributeIndex,C=this._instanceIds,E=C.length;for(let v=0;v{f._completeLoad=()=>{this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let E=this._error;k(E)?C(E):m(this)}}),this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=gTe(!1),this._renderState3DTiles=gTe(!0),this._renderStateMorph=Hr.fromCache({cull:{enabled:!0,face:tu.FRONT},depthTest:{enabled:!0},blending:Sl.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}Object.defineProperties(_S.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return $t("GroundPolylinePrimitive.readyPromise","GroundPolylinePrimitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for GroundPolylinePrimitive.ready to return true instead."),this._readyPromise}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}});_S.initializeTerrainHeights=function(){return Tu.initialize()};function tbt(o,A,f){let m=A.context,C=o._primitive,E=C._attributeLocations,I=C._batchTable.getVertexShaderCallback()(p0e);I=pa._appendShowToShader(C,I),I=pa._appendDistanceDisplayConditionToShader(C,I),I=pa._modifyShaderPosition(o,I,A.scene3DOnly);let x=C._batchTable.getVertexShaderCallback()(f0e);x=pa._appendShowToShader(C,x),x=pa._appendDistanceDisplayConditionToShader(C,x),x=pa._modifyShaderPosition(o,x,A.scene3DOnly);let y=C._batchTable.getVertexShaderCallback()(d0e),v=[`GLOBE_MINIMUM_ALTITUDE ${A.mapProjection.ellipsoid.minimumRadius.toFixed(1)}`],w="",Q="";k(f.material)?(Q=k(f.material)?f.material.shaderSource:"",Q.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&v.push("ANGLE_VARYING"),Q.search(/in\s+float\s+v_width;/g)!==-1&&v.push("WIDTH_VARYING")):w="PER_INSTANCE_COLOR",v.push(w);let M=o.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",w]:[w],B=new hr({defines:v,sources:[I]}),D=new hr({defines:M,sources:[Q,y]});o._sp=Wa.replaceCache({context:m,shaderProgram:C._sp,vertexShaderSource:B,fragmentShaderSource:D,attributeLocations:E});let S=m.shaderCache.getDerivedShaderProgram(o._sp,"2dColor");if(!k(S)){let R=new hr({defines:v.concat(["COLUMBUS_VIEW_2D"]),sources:[I]});S=m.shaderCache.createDerivedShaderProgram(o._sp,"2dColor",{context:m,shaderProgram:o._sp2D,vertexShaderSource:R,fragmentShaderSource:D,attributeLocations:E})}o._sp2D=S;let P=m.shaderCache.getDerivedShaderProgram(o._sp,"MorphColor");if(!k(P)){let R=new hr({defines:v.concat([`MAX_TERRAIN_HEIGHT ${Tu._defaultMaxTerrainHeight.toFixed(1)}`]),sources:[x]});y=C._batchTable.getVertexShaderCallback()(g0e);let T=new hr({defines:M,sources:[Q,y]});P=m.shaderCache.createDerivedShaderProgram(o._sp,"MorphColor",{context:m,shaderProgram:o._spMorph,vertexShaderSource:R,fragmentShaderSource:T,attributeLocations:E})}o._spMorph=P}function gTe(o){return Hr.fromCache({cull:{enabled:!0},blending:Sl.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:o,frontFunction:sA.EQUAL,frontOperation:{fail:kn.KEEP,zFail:kn.KEEP,zPass:kn.KEEP},backFunction:sA.EQUAL,backOperation:{fail:kn.KEEP,zFail:kn.KEEP,zPass:kn.KEEP},reference:No.CESIUM_3D_TILE_MASK,mask:No.CESIUM_3D_TILE_MASK}})}function ibt(o,A,f,m,C,E){let I=o._primitive,x=I._va.length;C.length=x,E.length=x;let y=A instanceof op?{}:f._uniforms,v=I._batchTable.getUniformMapCallback()(y);for(let w=0;w{!this._ready&&k(this._primitive)&&this._primitive.ready&&this._completeLoad()})};_S.prototype.getGeometryInstanceAttributes=function(o){return this._primitive.getGeometryInstanceAttributes(o)};_S.isSupported=function(o){return o.frameState.context.depthTexture};_S.prototype.isDestroyed=function(){return!1};_S.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,ar(this)};var GO=_S;function RC(o,A,f){this.minimum=Z.clone(ae(o,Z.ZERO)),this.maximum=Z.clone(ae(A,Z.ZERO)),k(f)?f=Z.clone(f):f=Z.midpoint(this.minimum,this.maximum,new Z),this.center=f}RC.fromCorners=function(o,A,f){return k(f)||(f=new RC),f.minimum=Z.clone(o,f.minimum),f.maximum=Z.clone(A,f.maximum),f.center=Z.midpoint(o,A,f.center),f};RC.fromPoints=function(o,A){if(k(A)||(A=new RC),!k(o)||o.length===0)return A.minimum=Z.clone(Z.ZERO,A.minimum),A.maximum=Z.clone(Z.ZERO,A.maximum),A.center=Z.clone(Z.ZERO,A.center),A;let f=o[0].x,m=o[0].y,C=o[0].z,E=o[0].x,I=o[0].y,x=o[0].z,y=o.length;for(let Q=1;Q0?Wo.INSIDE:E+C<0?Wo.OUTSIDE:Wo.INTERSECTING};RC.prototype.clone=function(o){return RC.clone(this,o)};RC.prototype.intersectPlane=function(o){return RC.intersectPlane(this,o)};RC.prototype.equals=function(o){return RC.equals(this,o)};var iz=RC,Eae=new kt;function y1(o,A){A=ae(A,gi.WGS84),o=A.scaleToGeodeticSurface(o);let f=Vr.eastNorthUpToFixedFrame(o,A);this._ellipsoid=A,this._origin=o,this._xAxis=Z.fromCartesian4(Re.getColumn(f,0,Eae)),this._yAxis=Z.fromCartesian4(Re.getColumn(f,1,Eae));let m=Z.fromCartesian4(Re.getColumn(f,2,Eae));this._plane=va.fromPointNormal(o,m)}Object.defineProperties(y1.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var nbt=new iz;y1.fromPoints=function(o,A){let f=iz.fromPoints(o,nbt);return new y1(f.center,A)};var cGe=new Oa,Mj=new Z;y1.prototype.projectPointOntoPlane=function(o,A){let f=cGe;f.origin=o,Z.normalize(o,f.direction);let m=mh.rayPlane(f,this._plane,Mj);if(k(m)||(Z.negate(f.direction,f.direction),m=mh.rayPlane(f,this._plane,Mj)),k(m)){let C=Z.subtract(m,this._origin,m),E=Z.dot(this._xAxis,C),I=Z.dot(this._yAxis,C);return k(A)?(A.x=E,A.y=I,A):new tt(E,I)}};y1.prototype.projectPointsOntoPlane=function(o,A){k(A)||(A=[]);let f=0,m=o.length;for(let C=0;C0?0:N.latitude,j=Lt.fromRadians(K,o.north,f,pbt),ee=Lt.fromRadians(o.west,o.north,f,mbt),ie=Lt.fromRadians(o.west,X,f,Cbt),z=Lt.fromRadians(o.west,o.south,f,Ebt),oe=Lt.fromRadians(K,o.south,f,Ibt),le=m.cartographicToCartesian(j,xbt),Ae=m.cartographicToCartesian(ee,CTe),he=m.cartographicToCartesian(ie,ybt),ge=m.cartographicToCartesian(z,ETe),de=m.cartographicToCartesian(oe,vbt),fe=J.projectPointToNearestOnPlane(le,_bt),G=J.projectPointToNearestOnPlane(Ae,Bbt),Y=J.projectPointToNearestOnPlane(he,wbt),W=J.projectPointToNearestOnPlane(ge,bbt),O=J.projectPointToNearestOnPlane(de,Qbt);return E=Math.min(G.x,Y.x,W.x),I=-E,y=Math.max(G.y,fe.y),x=Math.min(W.y,O.y),ee.height=z.height=A,Ae=m.cartographicToCartesian(ee,CTe),ge=m.cartographicToCartesian(z,ETe),v=Math.min(va.getPointDistance(Q,Ae),va.getPointDistance(Q,ge)),w=f,pTe(J.origin,J.xAxis,J.yAxis,J.zAxis,E,I,x,y,v,w,C)}let M=o.south>0,B=o.north<0,D=M?o.south:B?o.north:0,S=hi.center(o,mTe).longitude,P=Z.fromRadians(S,D,f,m,Sbt);P.z=0;let R=Math.abs(P.x)=y?Wo.INSIDE:Wo.INTERSECTING};var dGe=new Z,gGe=new Z,fGe=new Z,kbt=new Z,ITe=new Z,Ubt=new Z;CA.distanceSquaredTo=function(o,A){let f=Z.subtract(A,o.center,hGe),m=o.halfAxes,C=Nt.getColumn(m,0,dGe),E=Nt.getColumn(m,1,gGe),I=Nt.getColumn(m,2,fGe),x=Z.magnitude(C),y=Z.magnitude(E),v=Z.magnitude(I),w=!0,Q=!0,M=!0;x>0?Z.divideByScalar(C,x,C):w=!1,y>0?Z.divideByScalar(E,y,E):Q=!1,v>0?Z.divideByScalar(I,v,I):M=!1;let B=!w+!Q+!M,D,S,P;if(B===1){let F=C;D=E,S=I,Q?M||(F=I,S=C):(F=E,D=C),P=Z.cross(D,S,ITe),F===C?C=P:F===E?E=P:F===I&&(I=P)}else if(B===2){D=C,Q?D=E:M&&(D=I);let F=Z.UNIT_Y;F.equalsEpsilon(D,De.EPSILON3)&&(F=Z.UNIT_X),S=Z.cross(D,F,kbt),Z.normalize(S,S),P=Z.cross(D,S,ITe),Z.normalize(P,P),D===C?(E=S,I=P):D===E?(I=S,C=P):D===I&&(C=S,E=P)}else B===3&&(C=Z.UNIT_X,E=Z.UNIT_Y,I=Z.UNIT_Z);let R=Ubt;R.x=Z.dot(f,C),R.y=Z.dot(f,E),R.z=Z.dot(f,I);let T=0,L;return R.x<-x?(L=R.x+x,T+=L*L):R.x>x&&(L=R.x-x,T+=L*L),R.y<-y?(L=R.y+y,T+=L*L):R.y>y&&(L=R.y-y,T+=L*L),R.z<-v?(L=R.z+v,T+=L*L):R.z>v&&(L=R.z-v,T+=L*L),T};var Obt=new Z,Gbt=new Z;CA.computePlaneDistances=function(o,A,f,m){k(m)||(m=new r1);let C=Number.POSITIVE_INFINITY,E=Number.NEGATIVE_INFINITY,I=o.center,x=o.halfAxes,y=Nt.getColumn(x,0,dGe),v=Nt.getColumn(x,1,gGe),w=Nt.getColumn(x,2,fGe),Q=Z.add(y,v,Obt);Z.add(Q,w,Q),Z.add(Q,I,Q);let M=Z.subtract(Q,A,Gbt),B=Z.dot(f,M);return C=Math.min(B,C),E=Math.max(B,E),Z.add(I,y,Q),Z.add(Q,v,Q),Z.subtract(Q,w,Q),Z.subtract(Q,A,M),B=Z.dot(f,M),C=Math.min(B,C),E=Math.max(B,E),Z.add(I,y,Q),Z.subtract(Q,v,Q),Z.add(Q,w,Q),Z.subtract(Q,A,M),B=Z.dot(f,M),C=Math.min(B,C),E=Math.max(B,E),Z.add(I,y,Q),Z.subtract(Q,v,Q),Z.subtract(Q,w,Q),Z.subtract(Q,A,M),B=Z.dot(f,M),C=Math.min(B,C),E=Math.max(B,E),Z.subtract(I,y,Q),Z.add(Q,v,Q),Z.add(Q,w,Q),Z.subtract(Q,A,M),B=Z.dot(f,M),C=Math.min(B,C),E=Math.max(B,E),Z.subtract(I,y,Q),Z.add(Q,v,Q),Z.subtract(Q,w,Q),Z.subtract(Q,A,M),B=Z.dot(f,M),C=Math.min(B,C),E=Math.max(B,E),Z.subtract(I,y,Q),Z.subtract(Q,v,Q),Z.add(Q,w,Q),Z.subtract(Q,A,M),B=Z.dot(f,M),C=Math.min(B,C),E=Math.max(B,E),Z.subtract(I,y,Q),Z.subtract(Q,v,Q),Z.subtract(Q,w,Q),Z.subtract(Q,A,M),B=Z.dot(f,M),C=Math.min(B,C),E=Math.max(B,E),m.start=C,m.stop=E,m};var Hbt=new Z,Vbt=new Z,zbt=new Z;CA.computeCorners=function(o,A){k(A)||(A=[new Z,new Z,new Z,new Z,new Z,new Z,new Z,new Z]);let f=o.center,m=o.halfAxes,C=Nt.getColumn(m,0,Hbt),E=Nt.getColumn(m,1,Vbt),I=Nt.getColumn(m,2,zbt);return Z.clone(f,A[0]),Z.subtract(A[0],C,A[0]),Z.subtract(A[0],E,A[0]),Z.subtract(A[0],I,A[0]),Z.clone(f,A[1]),Z.subtract(A[1],C,A[1]),Z.subtract(A[1],E,A[1]),Z.add(A[1],I,A[1]),Z.clone(f,A[2]),Z.subtract(A[2],C,A[2]),Z.add(A[2],E,A[2]),Z.subtract(A[2],I,A[2]),Z.clone(f,A[3]),Z.subtract(A[3],C,A[3]),Z.add(A[3],E,A[3]),Z.add(A[3],I,A[3]),Z.clone(f,A[4]),Z.add(A[4],C,A[4]),Z.subtract(A[4],E,A[4]),Z.subtract(A[4],I,A[4]),Z.clone(f,A[5]),Z.add(A[5],C,A[5]),Z.subtract(A[5],E,A[5]),Z.add(A[5],I,A[5]),Z.clone(f,A[6]),Z.add(A[6],C,A[6]),Z.add(A[6],E,A[6]),Z.subtract(A[6],I,A[6]),Z.clone(f,A[7]),Z.add(A[7],C,A[7]),Z.add(A[7],E,A[7]),Z.add(A[7],I,A[7]),A};var Ybt=new Nt;CA.computeTransformation=function(o,A){k(A)||(A=new Re);let f=o.center,m=Nt.multiplyByUniformScale(o.halfAxes,2,Ybt);return Re.fromRotationTranslation(m,f,A)};var Jbt=new si;CA.isOccluded=function(o,A){let f=si.fromOrientedBoundingBox(o,Jbt);return!A.isBoundingSphereVisible(f)};CA.prototype.intersectPlane=function(o){return CA.intersectPlane(this,o)};CA.prototype.distanceSquaredTo=function(o){return CA.distanceSquaredTo(this,o)};CA.prototype.computePlaneDistances=function(o,A,f){return CA.computePlaneDistances(this,o,A,f)};CA.prototype.computeCorners=function(o){return CA.computeCorners(this,o)};CA.prototype.computeTransformation=function(o){return CA.computeTransformation(this,o)};CA.prototype.isOccluded=function(o){return CA.isOccluded(this,o)};CA.equals=function(o,A){return o===A||k(o)&&k(A)&&Z.equals(o.center,A.center)&&Nt.equals(o.halfAxes,A.halfAxes)};CA.prototype.clone=function(o){return CA.clone(this,o)};CA.prototype.equals=function(o){return CA.equals(this,o)};var MA=CA,Tj={};Tj.getHeight=function(o,A,f){return(o-f)*A+f};var Kbt=new Z;Tj.getPosition=function(o,A,f,m,C){let E=A.cartesianToCartographic(o,Kbt),I=Tj.getHeight(E.height,f,m);return Z.fromRadians(E.longitude,E.latitude,I,A,C)};var h1=Tj;function RU(o,A,f,m){o=ae(o,1),A=ae(A,1),f=ae(f,1),m=ae(m,1),this.value=new Uint8Array([qe.floatToByte(o),qe.floatToByte(A),qe.floatToByte(f),qe.floatToByte(m)])}Object.defineProperties(RU.prototype,{componentDatatype:{get:function(){return Mt.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 4}},normalize:{get:function(){return!0}}});RU.fromColor=function(o){return new RU(o.red,o.green,o.blue,o.alpha)};RU.toValue=function(o,A){return k(A)?o.toBytes(A):new Uint8Array(o.toBytes())};RU.equals=function(o,A){return o===A||k(o)&&k(A)&&o.value[0]===A.value[0]&&o.value[1]===A.value[1]&&o.value[2]===A.value[2]&&o.value[3]===A.value[3]};var vo=RU,_0e=`in vec3 position3DHigh; in vec3 position3DLow; in float batchId; #ifdef EXTRUDED_GEOMETRY in vec3 extrudeDirection; uniform float u_globeMinimumAltitude; #endif // EXTRUDED_GEOMETRY #ifdef PER_INSTANCE_COLOR out vec4 v_color; #endif // PER_INSTANCE_COLOR #ifdef TEXTURE_COORDINATES #ifdef SPHERICAL out vec4 v_sphericalExtents; #else // SPHERICAL out vec2 v_inversePlaneExtents; out vec4 v_westPlane; out vec4 v_southPlane; #endif // SPHERICAL out vec3 v_uvMinAndSphericalLongitudeRotation; out vec3 v_uMaxAndInverseDistance; out vec3 v_vMaxAndInverseDistance; #endif // TEXTURE_COORDINATES void main() { vec4 position = czm_computePosition(); #ifdef EXTRUDED_GEOMETRY float delta = min(u_globeMinimumAltitude, czm_geometricToleranceOverMeter * length(position.xyz)); delta *= czm_sceneMode == czm_sceneMode3D ? 1.0 : 0.0; //extrudeDirection is zero for the top layer position = position + vec4(extrudeDirection * delta, 0.0); #endif #ifdef TEXTURE_COORDINATES #ifdef SPHERICAL v_sphericalExtents = czm_batchTable_sphericalExtents(batchId); v_uvMinAndSphericalLongitudeRotation.z = czm_batchTable_longitudeRotation(batchId); #else // SPHERICAL #ifdef COLUMBUS_VIEW_2D vec4 planes2D_high = czm_batchTable_planes2D_HIGH(batchId); vec4 planes2D_low = czm_batchTable_planes2D_LOW(batchId); // If the primitive is split across the IDL (planes2D_high.x > planes2D_high.w): // - If this vertex is on the east side of the IDL (position3DLow.y > 0.0, comparison with position3DHigh may produce artifacts) // - existing "east" is on the wrong side of the world, far away (planes2D_high/low.w) // - so set "east" as beyond the eastmost extent of the projection (idlSplitNewPlaneHiLow) vec2 idlSplitNewPlaneHiLow = vec2(EAST_MOST_X_HIGH - (WEST_MOST_X_HIGH - planes2D_high.w), EAST_MOST_X_LOW - (WEST_MOST_X_LOW - planes2D_low.w)); bool idlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y > 0.0; planes2D_high.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.w); planes2D_low.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.w); // - else, if this vertex is on the west side of the IDL (position3DLow.y < 0.0) // - existing "west" is on the wrong side of the world, far away (planes2D_high/low.x) // - so set "west" as beyond the westmost extent of the projection (idlSplitNewPlaneHiLow) idlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y < 0.0; idlSplitNewPlaneHiLow = vec2(WEST_MOST_X_HIGH - (EAST_MOST_X_HIGH - planes2D_high.x), WEST_MOST_X_LOW - (EAST_MOST_X_LOW - planes2D_low.x)); planes2D_high.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.x); planes2D_low.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.x); vec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.xy), vec3(0.0, planes2D_low.xy))).xyz; vec3 northWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.x, planes2D_high.z), vec3(0.0, planes2D_low.x, planes2D_low.z))).xyz; vec3 southEastCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.w, planes2D_high.y), vec3(0.0, planes2D_low.w, planes2D_low.y))).xyz; #else // COLUMBUS_VIEW_2D // 3D case has smaller "plane extents," so planes encoded as a 64 bit position and 2 vec3s for distances/direction vec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(czm_batchTable_southWest_HIGH(batchId), czm_batchTable_southWest_LOW(batchId))).xyz; vec3 northWestCorner = czm_normal * czm_batchTable_northward(batchId) + southWestCorner; vec3 southEastCorner = czm_normal * czm_batchTable_eastward(batchId) + southWestCorner; #endif // COLUMBUS_VIEW_2D vec3 eastWard = southEastCorner - southWestCorner; float eastExtent = length(eastWard); eastWard /= eastExtent; vec3 northWard = northWestCorner - southWestCorner; float northExtent = length(northWard); northWard /= northExtent; v_westPlane = vec4(eastWard, -dot(eastWard, southWestCorner)); v_southPlane = vec4(northWard, -dot(northWard, southWestCorner)); v_inversePlaneExtents = vec2(1.0 / eastExtent, 1.0 / northExtent); #endif // SPHERICAL vec4 uvMinAndExtents = czm_batchTable_uvMinAndExtents(batchId); vec4 uMaxVmax = czm_batchTable_uMaxVmax(batchId); v_uMaxAndInverseDistance = vec3(uMaxVmax.xy, uvMinAndExtents.z); v_vMaxAndInverseDistance = vec3(uMaxVmax.zw, uvMinAndExtents.w); v_uvMinAndSphericalLongitudeRotation.xy = uvMinAndExtents.xy; #endif // TEXTURE_COORDINATES #ifdef PER_INSTANCE_COLOR v_color = czm_batchTable_color(batchId); #endif gl_Position = czm_depthClamp(czm_modelViewProjectionRelativeToEye * position); } `,CV=`#ifdef VECTOR_TILE uniform vec4 u_highlightColor; #endif void main(void) { #ifdef VECTOR_TILE out_FragColor = czm_gammaCorrect(u_highlightColor); #else out_FragColor = vec4(1.0); #endif czm_writeDepthClamp(); } `,B0e=`in vec3 v_positionEC; in vec3 v_normalEC; in vec4 v_color; void main() { vec3 positionToEyeEC = -v_positionEC; vec3 normalEC = normalize(v_normalEC); #ifdef FACE_FORWARD normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); #endif vec4 color = czm_gammaCorrect(v_color); czm_materialInput materialInput; materialInput.normalEC = normalEC; materialInput.positionToEyeEC = positionToEyeEC; czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; material.alpha = color.a; out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); } `,w0e=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in vec4 color; in float batchId; out vec3 v_positionEC; out vec3 v_normalEC; out vec4 v_color; void main() { vec4 p = czm_computePosition(); v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates v_normalEC = czm_normal * normal; // normal in eye coordinates v_color = color; gl_Position = czm_modelViewProjectionRelativeToEye * p; } `,b0e=`in vec3 position3DHigh; in vec3 position3DLow; in vec4 color; in float batchId; out vec4 v_color; void main() { vec4 p = czm_computePosition(); v_color = color; gl_Position = czm_modelViewProjectionRelativeToEye * p; } `;function BS(o){o=ae(o,ae.EMPTY_OBJECT);let A=ae(o.translucent,!0),f=ae(o.closed,!1),m=ae(o.flat,!1),C=m?b0e:w0e,E=m?i$:B0e,I=m?BS.FLAT_VERTEX_FORMAT:BS.VERTEX_FORMAT;this.material=void 0,this.translucent=A,this._vertexShaderSource=ae(o.vertexShaderSource,C),this._fragmentShaderSource=ae(o.fragmentShaderSource,E),this._renderState=$c.getDefaultRenderState(A,f,o.renderState),this._closed=f,this._vertexFormat=I,this._flat=m,this._faceForward=ae(o.faceForward,!f)}Object.defineProperties(BS.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});BS.VERTEX_FORMAT=wr.POSITION_AND_NORMAL;BS.FLAT_VERTEX_FORMAT=wr.POSITION_ONLY;BS.prototype.getFragmentShaderSource=$c.prototype.getFragmentShaderSource;BS.prototype.isTranslucent=$c.prototype.isTranslucent;BS.prototype.getRenderState=$c.prototype.getRenderState;var ma=BS,a$=`#ifdef TEXTURE_COORDINATES #ifdef SPHERICAL in vec4 v_sphericalExtents; #else // SPHERICAL in vec2 v_inversePlaneExtents; in vec4 v_westPlane; in vec4 v_southPlane; #endif // SPHERICAL in vec3 v_uvMinAndSphericalLongitudeRotation; in vec3 v_uMaxAndInverseDistance; in vec3 v_vMaxAndInverseDistance; #endif // TEXTURE_COORDINATES #ifdef PER_INSTANCE_COLOR in vec4 v_color; #endif #ifdef NORMAL_EC vec3 getEyeCoordinate3FromWindowCoordinate(vec2 fragCoord, float logDepthOrDepth) { vec4 eyeCoordinate = czm_windowToEyeCoordinates(fragCoord, logDepthOrDepth); return eyeCoordinate.xyz / eyeCoordinate.w; } vec3 vectorFromOffset(vec4 eyeCoordinate, vec2 positiveOffset) { vec2 glFragCoordXY = gl_FragCoord.xy; // Sample depths at both offset and negative offset float upOrRightLogDepth = czm_unpackDepth(texture(czm_globeDepthTexture, (glFragCoordXY + positiveOffset) / czm_viewport.zw)); float downOrLeftLogDepth = czm_unpackDepth(texture(czm_globeDepthTexture, (glFragCoordXY - positiveOffset) / czm_viewport.zw)); // Explicitly evaluate both paths // Necessary for multifrustum and for edges of the screen bvec2 upOrRightInBounds = lessThan(glFragCoordXY + positiveOffset, czm_viewport.zw); float useUpOrRight = float(upOrRightLogDepth > 0.0 && upOrRightInBounds.x && upOrRightInBounds.y); float useDownOrLeft = float(useUpOrRight == 0.0); vec3 upOrRightEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY + positiveOffset, upOrRightLogDepth); vec3 downOrLeftEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY - positiveOffset, downOrLeftLogDepth); return (upOrRightEC - (eyeCoordinate.xyz / eyeCoordinate.w)) * useUpOrRight + ((eyeCoordinate.xyz / eyeCoordinate.w) - downOrLeftEC) * useDownOrLeft; } #endif // NORMAL_EC void main(void) { #ifdef REQUIRES_EC float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)); vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); #endif #ifdef REQUIRES_WC vec4 worldCoordinate4 = czm_inverseView * eyeCoordinate; vec3 worldCoordinate = worldCoordinate4.xyz / worldCoordinate4.w; #endif #ifdef TEXTURE_COORDINATES vec2 uv; #ifdef SPHERICAL // Treat world coords as a sphere normal for spherical coordinates vec2 sphericalLatLong = czm_approximateSphericalCoordinates(worldCoordinate); sphericalLatLong.y += v_uvMinAndSphericalLongitudeRotation.z; sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); uv.x = (sphericalLatLong.y - v_sphericalExtents.y) * v_sphericalExtents.w; uv.y = (sphericalLatLong.x - v_sphericalExtents.x) * v_sphericalExtents.z; #else // SPHERICAL // Unpack planes and transform to eye space uv.x = czm_planeDistance(v_westPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.x; uv.y = czm_planeDistance(v_southPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.y; #endif // SPHERICAL #endif // TEXTURE_COORDINATES #ifdef PICK #ifdef CULL_FRAGMENTS // When classifying translucent geometry, logDepthOrDepth == 0.0 // indicates a region that should not be classified, possibly due to there // being opaque pixels there in another buffer. // Check for logDepthOrDepth != 0.0 to make sure this should be classified. if (0.0 <= uv.x && uv.x <= 1.0 && 0.0 <= uv.y && uv.y <= 1.0 || logDepthOrDepth != 0.0) { out_FragColor.a = 1.0; // 0.0 alpha leads to discard from ShaderSource.createPickFragmentShaderSource czm_writeDepthClamp(); } #else // CULL_FRAGMENTS out_FragColor.a = 1.0; #endif // CULL_FRAGMENTS #else // PICK #ifdef CULL_FRAGMENTS // When classifying translucent geometry, logDepthOrDepth == 0.0 // indicates a region that should not be classified, possibly due to there // being opaque pixels there in another buffer. if (uv.x <= 0.0 || 1.0 <= uv.x || uv.y <= 0.0 || 1.0 <= uv.y || logDepthOrDepth == 0.0) { discard; } #endif #ifdef NORMAL_EC // Compute normal by sampling adjacent pixels in 2x2 block in screen space vec3 downUp = vectorFromOffset(eyeCoordinate, vec2(0.0, 1.0)); vec3 leftRight = vectorFromOffset(eyeCoordinate, vec2(1.0, 0.0)); vec3 normalEC = normalize(cross(leftRight, downUp)); #endif #ifdef PER_INSTANCE_COLOR vec4 color = czm_gammaCorrect(v_color); #ifdef FLAT out_FragColor = color; #else // FLAT czm_materialInput materialInput; materialInput.normalEC = normalEC; materialInput.positionToEyeEC = -eyeCoordinate.xyz; czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; material.alpha = color.a; out_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC); #endif // FLAT // Premultiply alpha. Required for classification primitives on translucent globe. out_FragColor.rgb *= out_FragColor.a; #else // PER_INSTANCE_COLOR // Material support. // USES_ is distinct from REQUIRES_, because some things are dependencies of each other or // dependencies for culling but might not actually be used by the material. czm_materialInput materialInput; #ifdef USES_NORMAL_EC materialInput.normalEC = normalEC; #endif #ifdef USES_POSITION_TO_EYE_EC materialInput.positionToEyeEC = -eyeCoordinate.xyz; #endif #ifdef USES_TANGENT_TO_EYE materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(worldCoordinate, normalEC); #endif #ifdef USES_ST // Remap texture coordinates from computed (approximately aligned with cartographic space) to the desired // texture coordinate system, which typically forms a tight oriented bounding box around the geometry. // Shader is provided a set of reference points for remapping. materialInput.st.x = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_uMaxAndInverseDistance.xy, uv) * v_uMaxAndInverseDistance.z; materialInput.st.y = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_vMaxAndInverseDistance.xy, uv) * v_vMaxAndInverseDistance.z; #endif czm_material material = czm_getMaterial(materialInput); #ifdef FLAT out_FragColor = vec4(material.diffuse + material.emission, material.alpha); #else // FLAT out_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC); #endif // FLAT // Premultiply alpha. Required for classification primitives on translucent globe. out_FragColor.rgb *= out_FragColor.a; #endif // PER_INSTANCE_COLOR czm_writeDepthClamp(); #endif // PICK } `;function Cv(o,A,f){this._projectionExtentDefines={eastMostYhighDefine:"",eastMostYlowDefine:"",westMostYhighDefine:"",westMostYlowDefine:""};let m=new eue;m.requiresTextureCoordinates=o,m.requiresEC=!f.flat;let C=new eue;if(C.requiresTextureCoordinates=o,f instanceof ma)m.requiresNormalEC=!f.flat;else{let E=`${f.material.shaderSource} ${f.fragmentShaderSource}`;m.normalEC=E.indexOf("materialInput.normalEC")!==-1||E.indexOf("czm_getDefaultMaterial")!==-1,m.positionToEyeEC=E.indexOf("materialInput.positionToEyeEC")!==-1,m.tangentToEyeMatrix=E.indexOf("materialInput.tangentToEyeMatrix")!==-1,m.st=E.indexOf("materialInput.st")!==-1}this._colorShaderDependencies=m,this._pickShaderDependencies=C,this._appearance=f,this._extentsCulling=o,this._planarExtents=A}Cv.prototype.createFragmentShader=function(o){let A=this._appearance,f=this._colorShaderDependencies,m=[];!o&&!this._planarExtents&&m.push("SPHERICAL"),f.requiresEC&&m.push("REQUIRES_EC"),f.requiresWC&&m.push("REQUIRES_WC"),f.requiresTextureCoordinates&&m.push("TEXTURE_COORDINATES"),this._extentsCulling&&m.push("CULL_FRAGMENTS"),f.requiresNormalEC&&m.push("NORMAL_EC"),A instanceof ma&&m.push("PER_INSTANCE_COLOR"),f.normalEC&&m.push("USES_NORMAL_EC"),f.positionToEyeEC&&m.push("USES_POSITION_TO_EYE_EC"),f.tangentToEyeMatrix&&m.push("USES_TANGENT_TO_EYE"),f.st&&m.push("USES_ST"),A.flat&&m.push("FLAT");let C="";return A instanceof ma||(C=A.material.shaderSource),new hr({defines:m,sources:[C,a$]})};Cv.prototype.createPickFragmentShader=function(o){let A=this._pickShaderDependencies,f=["PICK"];return!o&&!this._planarExtents&&f.push("SPHERICAL"),A.requiresEC&&f.push("REQUIRES_EC"),A.requiresWC&&f.push("REQUIRES_WC"),A.requiresTextureCoordinates&&f.push("TEXTURE_COORDINATES"),this._extentsCulling&&f.push("CULL_FRAGMENTS"),new hr({defines:f,sources:[a$],pickColorQualifier:"in"})};Cv.prototype.createVertexShader=function(o,A,f,m){return pGe(this._colorShaderDependencies,this._planarExtents,f,o,A,this._appearance,m,this._projectionExtentDefines)};Cv.prototype.createPickVertexShader=function(o,A,f,m){return pGe(this._pickShaderDependencies,this._planarExtents,f,o,A,void 0,m,this._projectionExtentDefines)};var xTe=new Z,yTe=new Lt,vTe={high:0,low:0};function pGe(o,A,f,m,C,E,I,x){let y=m.slice();if(x.eastMostYhighDefine===""){let v=yTe;v.longitude=De.PI,v.latitude=0,v.height=0;let w=I.project(v,xTe),Q=Jl.encode(w.x,vTe);x.eastMostYhighDefine=`EAST_MOST_X_HIGH ${Q.high.toFixed(`${Q.high}`.length+1)}`,x.eastMostYlowDefine=`EAST_MOST_X_LOW ${Q.low.toFixed(`${Q.low}`.length+1)}`;let M=yTe;M.longitude=-De.PI,M.latitude=0,M.height=0;let B=I.project(M,xTe);Q=Jl.encode(B.x,vTe),x.westMostYhighDefine=`WEST_MOST_X_HIGH ${Q.high.toFixed(`${Q.high}`.length+1)}`,x.westMostYlowDefine=`WEST_MOST_X_LOW ${Q.low.toFixed(`${Q.low}`.length+1)}`}return f&&(y.push(x.eastMostYhighDefine),y.push(x.eastMostYlowDefine),y.push(x.westMostYhighDefine),y.push(x.westMostYlowDefine)),k(E)&&E instanceof ma&&y.push("PER_INSTANCE_COLOR"),o.requiresTextureCoordinates&&(y.push("TEXTURE_COORDINATES"),A||f||y.push("SPHERICAL"),f&&y.push("COLUMBUS_VIEW_2D")),new hr({defines:y,sources:[C]})}function eue(){this._requiresEC=!1,this._requiresWC=!1,this._requiresNormalEC=!1,this._requiresTextureCoordinates=!1,this._usesNormalEC=!1,this._usesPositionToEyeEC=!1,this._usesTangentToEyeMat=!1,this._usesSt=!1}Object.defineProperties(eue.prototype,{requiresEC:{get:function(){return this._requiresEC},set:function(o){this._requiresEC=o||this._requiresEC}},requiresWC:{get:function(){return this._requiresWC},set:function(o){this._requiresWC=o||this._requiresWC,this.requiresEC=this._requiresWC}},requiresNormalEC:{get:function(){return this._requiresNormalEC},set:function(o){this._requiresNormalEC=o||this._requiresNormalEC,this.requiresEC=this._requiresNormalEC}},requiresTextureCoordinates:{get:function(){return this._requiresTextureCoordinates},set:function(o){this._requiresTextureCoordinates=o||this._requiresTextureCoordinates,this.requiresWC=this._requiresTextureCoordinates}},normalEC:{set:function(o){this.requiresNormalEC=o,this._usesNormalEC=o},get:function(){return this._usesNormalEC}},tangentToEyeMatrix:{set:function(o){this.requiresWC=o,this.requiresNormalEC=o,this._usesTangentToEyeMat=o},get:function(){return this._usesTangentToEyeMat}},positionToEyeEC:{set:function(o){this.requiresEC=o,this._usesPositionToEyeEC=o},get:function(){return this._usesPositionToEyeEC}},st:{set:function(o){this.requiresTextureCoordinates=o,this._usesSt=o},get:function(){return this._usesSt}}});function _Te(o,A,f){return Math.abs((A.y-o.y)*f.x-(A.x-o.x)*f.y+A.x*o.y-A.y*o.x)/tt.distance(A,o)}var Wbt=[new tt,new tt,new tt,new tt];function mGe(o,A){let f=Wbt,m=tt.unpack(A,0,f[0]),C=tt.unpack(A,2,f[1]),E=tt.unpack(A,4,f[2]);o.uMaxVmax=new cx({componentDatatype:Mt.FLOAT,componentsPerAttribute:4,normalize:!1,value:[C.x,C.y,E.x,E.y]});let I=1/_Te(m,C,E),x=1/_Te(m,E,C);o.uvMinAndExtents=new cx({componentDatatype:Mt.FLOAT,componentsPerAttribute:4,normalize:!1,value:[m.x,m.y,I,x]})}var CGe=new Lt,EGe=new Z,qbt=new Z,jbt=new Z,S7={high:0,low:0};function IGe(o,A,f){let m=CGe;m.height=0,m.longitude=o.west,m.latitude=o.south;let C=A.project(m,EGe);m.latitude=o.north;let E=A.project(m,qbt);m.longitude=o.east,m.latitude=o.south;let I=A.project(m,jbt),x=[0,0,0,0],y=[0,0,0,0],v=Jl.encode(C.x,S7);x[0]=v.high,y[0]=v.low,v=Jl.encode(C.y,S7),x[1]=v.high,y[1]=v.low,v=Jl.encode(E.y,S7),x[2]=v.high,y[2]=v.low,v=Jl.encode(I.x,S7),x[3]=v.high,y[3]=v.low,f.planes2D_HIGH=new cx({componentDatatype:Mt.FLOAT,componentsPerAttribute:4,normalize:!1,value:x}),f.planes2D_LOW=new cx({componentDatatype:Mt.FLOAT,componentsPerAttribute:4,normalize:!1,value:y})}var Xbt=new Re,Zbt=new Re,BTe=new Z,$bt=new Lt,eQt=[new Lt,new Lt,new Lt,new Lt,new Lt,new Lt,new Lt,new Lt];function tQt(o,A,f,m,C,E){let I=hi.center(o,$bt);I.height=f;let x=Lt.toCartesian(I,A,BTe),y=Vr.eastNorthUpToFixedFrame(x,A,Xbt),v=Re.inverse(y,Zbt),w=o.west,Q=o.east,M=o.north,B=o.south,D=eQt;D[0].latitude=B,D[0].longitude=w,D[1].latitude=M,D[1].longitude=w,D[2].latitude=M,D[2].longitude=Q,D[3].latitude=B,D[3].longitude=Q;let S=(w+Q)*.5,P=(M+B)*.5;D[4].latitude=B,D[4].longitude=S,D[5].latitude=M,D[5].longitude=S,D[6].latitude=P,D[6].longitude=w,D[7].latitude=P,D[7].longitude=Q;let R=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,L=Number.POSITIVE_INFINITY,F=Number.NEGATIVE_INFINITY;for(let J=0;J<8;J++){D[J].height=f;let K=Lt.toCartesian(D[J],A,BTe);Re.multiplyByPoint(v,K,K),K.z=0,R=Math.min(R,K.x),T=Math.max(T,K.x),L=Math.min(L,K.y),F=Math.max(F,K.y)}let U=m;U.x=R,U.y=L,U.z=0,Re.multiplyByPoint(y,U,U);let N=C;N.x=T,N.y=L,N.z=0,Re.multiplyByPoint(y,N,N),Z.subtract(N,U,C);let H=E;H.x=R,H.y=F,H.z=0,Re.multiplyByPoint(y,H,H),Z.subtract(H,U,E)}var iQt=new Z,rQt=new Z,nQt=new Jl;Cv.getPlanarTextureCoordinateAttributes=function(o,A,f,m,C){let E=EGe,I=iQt,x=rQt;tQt(o,f,ae(C,0),E,I,x);let y={};mGe(y,A);let v=Jl.fromCartesian(E,nQt);return y.southWest_HIGH=new cx({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,normalize:!1,value:Z.pack(v.high,[0,0,0])}),y.southWest_LOW=new cx({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,normalize:!1,value:Z.pack(v.low,[0,0,0])}),y.eastward=new cx({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,normalize:!1,value:Z.pack(I,[0,0,0])}),y.northward=new cx({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,normalize:!1,value:Z.pack(x,[0,0,0])}),IGe(o,m,y),y};var oQt=new Z;function wTe(o,A,f,m){let C=CGe;C.latitude=o,C.longitude=A,C.height=0;let E=Lt.toCartesian(C,f,oQt),I=Math.sqrt(E.x*E.x+E.y*E.y),x=De.fastApproximateAtan2(I,E.z),y=De.fastApproximateAtan2(E.x,E.y);return m.x=x,m.y=y,m}var bTe=new tt;Cv.getSphericalExtentGeometryInstanceAttributes=function(o,A,f,m){let C=wTe(o.south,o.west,f,bTe),E=C.x,I=C.y,x=wTe(o.north,o.east,f,bTe),y=x.x,v=x.y,w=0;I>v&&(w=De.PI-I,I=-De.PI,v+=w),E-=De.EPSILON5,I-=De.EPSILON5,y+=De.EPSILON5,v+=De.EPSILON5;let Q=1/(v-I),M=1/(y-E),B={sphericalExtents:new cx({componentDatatype:Mt.FLOAT,componentsPerAttribute:4,normalize:!1,value:[E,I,M,Q]}),longitudeRotation:new cx({componentDatatype:Mt.FLOAT,componentsPerAttribute:1,normalize:!1,value:[w]})};return mGe(B,A),IGe(o,m,B),B};Cv.hasAttributesForTextureCoordinatePlanes=function(o){return k(o.southWest_HIGH)&&k(o.southWest_LOW)&&k(o.northward)&&k(o.eastward)&&k(o.planes2D_HIGH)&&k(o.planes2D_LOW)&&k(o.uMaxVmax)&&k(o.uvMinAndExtents)};Cv.hasAttributesForSphericalExtents=function(o){return k(o.sphericalExtents)&&k(o.longitudeRotation)&&k(o.planes2D_HIGH)&&k(o.planes2D_LOW)&&k(o.uMaxVmax)&&k(o.uvMinAndExtents)};function aQt(o){return Math.max(o.width,o.height)>Cv.MAX_WIDTH_FOR_PLANAR_EXTENTS}Cv.shouldUseSphericalCoordinates=function(o){return aQt(o)};Cv.MAX_WIDTH_FOR_PLANAR_EXTENTS=De.toRadians(1);var lS=Cv;function hN(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.geometryInstances;this.geometryInstances=A,this.show=ae(o.show,!0),this.classificationType=ae(o.classificationType,nA.BOTH),this.debugShowBoundingVolume=ae(o.debugShowBoundingVolume,!1),this.debugShowShadowVolume=ae(o.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=ae(o._extruded,!1),this._uniformMap=o._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1;let f=this;this._readyPromise=new Promise((m,C)=>{f._completeLoad=()=>{if(this._ready)return;this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let E=this._error;k(E)?C(E):m(this)}}),this._primitive=void 0,this._pickPrimitive=o._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=o.appearance,this._createBoundingVolumeFunction=o._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=o._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:ae(o.vertexCacheOptimize,!1),interleave:ae(o.interleave,!1),releaseGeometryInstances:ae(o.releaseGeometryInstances,!0),allowPicking:ae(o.allowPicking,!0),asynchronous:ae(o.asynchronous,!0),compressVertices:ae(o.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0,enableFrameBuffer:ae(o.enableFrameBuffer,!1)}}Object.defineProperties(hN.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return $t("ClassificationPrimitive.readyPromise","ClassificationPrimitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for ClassificationPrimitive.ready to return true instead."),this._readyPromise}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}});hN.isSupported=function(o){return o.context.stencilBuffer};function O5(o,A){let f=A?sA.EQUAL:sA.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:o,frontFunction:f,frontOperation:{fail:kn.KEEP,zFail:kn.DECREMENT_WRAP,zPass:kn.KEEP},backFunction:f,backOperation:{fail:kn.KEEP,zFail:kn.INCREMENT_WRAP,zPass:kn.KEEP},reference:No.CESIUM_3D_TILE_MASK,mask:No.CESIUM_3D_TILE_MASK},stencilMask:No.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:aI.LESS_OR_EQUAL},depthMask:!1}}function tue(o){return{stencilTest:{enabled:o,frontFunction:sA.NOT_EQUAL,frontOperation:{fail:kn.ZERO,zFail:kn.ZERO,zPass:kn.ZERO},backFunction:sA.NOT_EQUAL,backOperation:{fail:kn.ZERO,zFail:kn.ZERO,zPass:kn.ZERO},reference:0,mask:No.CLASSIFICATION_MASK},stencilMask:No.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:Sl.PRE_MULTIPLIED_ALPHA_BLEND}}var sQt={stencilTest:{enabled:!0,frontFunction:sA.NOT_EQUAL,frontOperation:{fail:kn.ZERO,zFail:kn.ZERO,zPass:kn.ZERO},backFunction:sA.NOT_EQUAL,backOperation:{fail:kn.ZERO,zFail:kn.ZERO,zPass:kn.ZERO},reference:0,mask:No.CLASSIFICATION_MASK},stencilMask:No.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function lQt(o,A,f,m){if(k(o._rsStencilDepthPass))return;let C=!o.debugShowShadowVolume;o._rsStencilDepthPass=Hr.fromCache(O5(C,!1)),o._rsStencilDepthPass3DTiles=Hr.fromCache(O5(C,!0)),o._rsColorPass=Hr.fromCache(tue(C,!1)),o._rsPickPass=Hr.fromCache(sQt)}function AQt(o,A){if(!o.compressVertices)return A;if(A.search(/in\s+vec3\s+extrudeDirection;/g)!==-1){let f="compressedAttributes",m=`in vec2 ${f};`,C=`vec3 extrudeDirection; `,E=` extrudeDirection = czm_octDecode(${f}, 65535.0); `,I=A;I=I.replace(/in\s+vec3\s+extrudeDirection;/g,""),I=hr.replaceMain(I,"czm_non_compressed_main");let x=`void main() { ${E} czm_non_compressed_main(); }`;return[m,C,I,x].join(` `)}}function uQt(o,A){let f=A.context,m=o._primitive,C=_0e;C=o._primitive._batchTable.getVertexShaderCallback()(C),C=pa._appendDistanceDisplayConditionToShader(m,C),C=pa._modifyShaderPosition(o,C,A.scene3DOnly),C=pa._updateColorAttribute(m,C);let E=o._hasPlanarExtentsAttributes,I=E||o._hasSphericalExtentsAttribute;o._extruded&&(C=AQt(m,C));let x=o._extruded?"EXTRUDED_GEOMETRY":"",y=new hr({defines:[x],sources:[C]}),v=new hr({sources:[CV]}),w=o._primitive._attributeLocations,Q=new lS(I,E,o.appearance);if(o._spStencil=Wa.replaceCache({context:f,shaderProgram:o._spStencil,vertexShaderSource:y,fragmentShaderSource:v,attributeLocations:w}),o._primitive.allowPicking){let D=hr.createPickVertexShaderSource(C);D=pa._appendShowToShader(m,D),D=pa._updatePickColorAttribute(D);let S=Q.createPickFragmentShader(!1),P=Q.createPickVertexShader([x],D,!1,A.mapProjection);if(o._spPick=Wa.replaceCache({context:f,shaderProgram:o._spPick,vertexShaderSource:P,fragmentShaderSource:S,attributeLocations:w}),I){let R=f.shaderCache.getDerivedShaderProgram(o._spPick,"2dPick");if(!k(R)){let T=Q.createPickFragmentShader(!0),L=Q.createPickVertexShader([x],D,!0,A.mapProjection);R=f.shaderCache.createDerivedShaderProgram(o._spPick,"2dPick",{vertexShaderSource:L,fragmentShaderSource:T,attributeLocations:w})}o._spPick2D=R}}else o._spPick=Wa.fromCache({context:f,vertexShaderSource:y,fragmentShaderSource:v,attributeLocations:w});C=pa._appendShowToShader(m,C),y=new hr({defines:[x],sources:[C]}),o._sp=Wa.replaceCache({context:f,shaderProgram:o._sp,vertexShaderSource:y,fragmentShaderSource:v,attributeLocations:w});let M=Q.createFragmentShader(!1),B=Q.createVertexShader([x],C,!1,A.mapProjection);if(o._spColor=Wa.replaceCache({context:f,shaderProgram:o._spColor,vertexShaderSource:B,fragmentShaderSource:M,attributeLocations:w}),I){let D=f.shaderCache.getDerivedShaderProgram(o._spColor,"2dColor");if(!k(D)){let S=Q.createFragmentShader(!0),P=Q.createVertexShader([x],C,!0,A.mapProjection);D=f.shaderCache.createDerivedShaderProgram(o._spColor,"2dColor",{vertexShaderSource:P,fragmentShaderSource:S,attributeLocations:w})}o._spColor2D=D}}function cQt(o,A){let f=o._primitive,m=f._va.length*2;A.length=m;let C,E,I,x=0,y=f._batchTable.getUniformMapCallback()(o._uniformMap),v=o._needs2DShader;for(C=0;C0&&(y=C[0].attributes,M=lS.hasAttributesForSphericalExtents(y),B=lS.hasAttributesForTextureCoordinatePlanes(y),Q=y.color),I=0;I{k(this._primitive)&&this._primitive.ready&&this._completeLoad()})};hN.prototype.getGeometryInstanceAttributes=function(o){return this._primitive.getGeometryInstanceAttributes(o)};hN.prototype.isDestroyed=function(){return!1};hN.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,ar(this)};var HO=hN,fQt={u_globeMinimumAltitude:function(){return 55e3}};function tI(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.appearance,f=o.geometryInstances;if(!k(A)&&k(f)){let E=Array.isArray(f)?f:[f],I=E.length;for(let x=0;x{m._completeLoad=()=>{if(this._ready)return;this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let x=this._error;k(x)?I(x):E(this)}}),this._primitive=void 0,this._maxHeight=void 0,this._minHeight=void 0,this._maxTerrainHeight=Tu._defaultMaxTerrainHeight,this._minTerrainHeight=Tu._defaultMinTerrainHeight,this._boundingSpheresKeys=[],this._boundingSpheres=[],this._useFragmentCulling=!1,this._zIndex=void 0;let C=this;this._classificationPrimitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:ae(o.vertexCacheOptimize,!1),interleave:ae(o.interleave,!1),releaseGeometryInstances:ae(o.releaseGeometryInstances,!0),allowPicking:ae(o.allowPicking,!0),asynchronous:ae(o.asynchronous,!0),compressVertices:ae(o.compressVertices,!0),_createBoundingVolumeFunction:void 0,_updateAndQueueCommandsFunction:void 0,_pickPrimitive:C,_extruded:!0,_uniformMap:fQt,enableFrameBuffer:ae(o.enableFrameBuffer,!1)},this.callbackTexture=ae(o.callbackTexture,null)}Object.defineProperties(tI.prototype,{vertexCacheOptimize:{get:function(){return this._classificationPrimitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._classificationPrimitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._classificationPrimitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._classificationPrimitiveOptions.allowPicking}},asynchronous:{get:function(){return this._classificationPrimitiveOptions.asynchronous}},compressVertices:{get:function(){return this._classificationPrimitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return $t("GroundPrimitive.readyPromise","GroundPrimitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for GroundPrimitive.ready to return true instead."),this._readyPromise}}});tI.isSupported=HO.isSupported;function DTe(o){return function(A,f){let m=f.maximumRadius,C=m/Math.cos(A*.5)-m;return o._maxHeight+C}}function MTe(o){return function(A,f){return o._minHeight}}var pQt=new Z,mQt=new Z,CQt=new Z,EQt=new Lt,IQt=new hi;function Nq(o,A){let f=o.mapProjection.ellipsoid;if(!k(A.attributes)||!k(A.attributes.position3DHigh))return k(A.rectangle)?A.rectangle:void 0;let m=A.attributes.position3DHigh.values,C=A.attributes.position3DLow.values,E=m.length,I=Number.POSITIVE_INFINITY,x=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.NEGATIVE_INFINITY;for(let Q=0;Q{!this._ready&&k(this._primitive)&&this._primitive.ready&&this._completeLoad()})};tI.prototype.getBoundingSphere=function(o){let A=this._boundingSpheresKeys.indexOf(o);if(A!==-1)return this._boundingSpheres[A]};tI.prototype.getGeometryInstanceAttributes=function(o){return this._primitive.getGeometryInstanceAttributes(o)};tI.prototype.isDestroyed=function(){return!1};tI.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ar(this)};tI._supportsMaterials=function(o){return o.depthTexture};tI.supportsMaterials=function(o){return tI._supportsMaterials(o.frameState.context)};var sP=tI;function EV(o){this._definitionChanged=new ir,this._show=void 0,this._showSubscription=void 0,this._image=void 0,this._imageSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._sizeInMeters=void 0,this._sizeInMetersSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._imageSubRegion=void 0,this._imageSubRegionSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(ae(o,ae.EMPTY_OBJECT))}Object.defineProperties(EV.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ai("show"),image:ai("image"),scale:ai("scale"),pixelOffset:ai("pixelOffset"),eyeOffset:ai("eyeOffset"),horizontalOrigin:ai("horizontalOrigin"),verticalOrigin:ai("verticalOrigin"),heightReference:ai("heightReference"),color:ai("color"),rotation:ai("rotation"),alignedAxis:ai("alignedAxis"),sizeInMeters:ai("sizeInMeters"),width:ai("width"),height:ai("height"),scaleByDistance:ai("scaleByDistance"),translucencyByDistance:ai("translucencyByDistance"),pixelOffsetScaleByDistance:ai("pixelOffsetScaleByDistance"),imageSubRegion:ai("imageSubRegion"),distanceDisplayCondition:ai("distanceDisplayCondition"),disableDepthTestDistance:ai("disableDepthTestDistance")});EV.prototype.clone=function(o){return k(o)?(o.show=this._show,o.image=this._image,o.scale=this._scale,o.pixelOffset=this._pixelOffset,o.eyeOffset=this._eyeOffset,o.horizontalOrigin=this._horizontalOrigin,o.verticalOrigin=this._verticalOrigin,o.heightReference=this._heightReference,o.color=this._color,o.rotation=this._rotation,o.alignedAxis=this._alignedAxis,o.sizeInMeters=this._sizeInMeters,o.width=this._width,o.height=this._height,o.scaleByDistance=this._scaleByDistance,o.translucencyByDistance=this._translucencyByDistance,o.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,o.imageSubRegion=this._imageSubRegion,o.distanceDisplayCondition=this._distanceDisplayCondition,o.disableDepthTestDistance=this._disableDepthTestDistance,o):new EV(this)};EV.prototype.merge=function(o){this.show=ae(this._show,o.show),this.image=ae(this._image,o.image),this.scale=ae(this._scale,o.scale),this.pixelOffset=ae(this._pixelOffset,o.pixelOffset),this.eyeOffset=ae(this._eyeOffset,o.eyeOffset),this.horizontalOrigin=ae(this._horizontalOrigin,o.horizontalOrigin),this.verticalOrigin=ae(this._verticalOrigin,o.verticalOrigin),this.heightReference=ae(this._heightReference,o.heightReference),this.color=ae(this._color,o.color),this.rotation=ae(this._rotation,o.rotation),this.alignedAxis=ae(this._alignedAxis,o.alignedAxis),this.sizeInMeters=ae(this._sizeInMeters,o.sizeInMeters),this.width=ae(this._width,o.width),this.height=ae(this._height,o.height),this.scaleByDistance=ae(this._scaleByDistance,o.scaleByDistance),this.translucencyByDistance=ae(this._translucencyByDistance,o.translucencyByDistance),this.pixelOffsetScaleByDistance=ae(this._pixelOffsetScaleByDistance,o.pixelOffsetScaleByDistance),this.imageSubRegion=ae(this._imageSubRegion,o.imageSubRegion),this.distanceDisplayCondition=ae(this._distanceDisplayCondition,o.distanceDisplayCondition),this.disableDepthTestDistance=ae(this._disableDepthTestDistance,o.disableDepthTestDistance)};var qS=EV;function LU(o){this._definitionChanged=new ir,this._color=void 0,this._colorSubscription=void 0,this.color=o}Object.defineProperties(LU.prototype,{isConstant:{get:function(){return Ct.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ai("color")});LU.prototype.getType=function(o){return"Color"};LU.prototype.getValue=function(o,A){return k(A)||(A={}),A.color=Ct.getValueOrClonedDefault(this._color,o,qe.WHITE,A.color),A};LU.prototype.equals=function(o){return this===o||o instanceof LU&&Ct.equals(this._color,o._color)};var sa=LU,_Qt=new tt(1,1),BQt=!1,wQt=qe.WHITE;function FU(o){o=ae(o,ae.EMPTY_OBJECT),this._definitionChanged=new ir,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=o.image,this.repeat=o.repeat,this.color=o.color,this.transparent=o.transparent}Object.defineProperties(FU.prototype,{isConstant:{get:function(){return Ct.isConstant(this._image)&&Ct.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:ai("image"),repeat:ai("repeat"),color:ai("color"),transparent:ai("transparent")});FU.prototype.getType=function(o){return"Image"};FU.prototype.getValue=function(o,A){return k(A)||(A={}),A.image=Ct.getValueOrUndefined(this._image,o),A.repeat=Ct.getValueOrClonedDefault(this._repeat,o,_Qt,A.repeat),A.color=Ct.getValueOrClonedDefault(this._color,o,wQt,A.color),Ct.getValueOrDefault(this._transparent,o,BQt)&&(A.color.alpha=Math.min(.99,A.color.alpha)),A};FU.prototype.equals=function(o){return this===o||o instanceof FU&&Ct.equals(this._image,o._image)&&Ct.equals(this._repeat,o._repeat)&&Ct.equals(this._color,o._color)&&Ct.equals(this._transparent,o._transparent)};var p0=FU;function bQt(o){if(o instanceof qe)return new sa(o);if(typeof o=="string"||o instanceof fr||o instanceof HTMLCanvasElement||o instanceof HTMLVideoElement){let A=new p0;return A.image=o,A}}function QQt(o,A){return ai(o,A,bQt)}var lp=QQt;function IV(o){this._definitionChanged=new ir,this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(ae(o,ae.EMPTY_OBJECT))}Object.defineProperties(IV.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ai("show"),dimensions:ai("dimensions"),heightReference:ai("heightReference"),fill:ai("fill"),material:lp("material"),outline:ai("outline"),outlineColor:ai("outlineColor"),outlineWidth:ai("outlineWidth"),shadows:ai("shadows"),distanceDisplayCondition:ai("distanceDisplayCondition")});IV.prototype.clone=function(o){return k(o)?(o.show=this.show,o.dimensions=this.dimensions,o.heightReference=this.heightReference,o.fill=this.fill,o.material=this.material,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o):new IV(this)};IV.prototype.merge=function(o){this.show=ae(this.show,o.show),this.dimensions=ae(this.dimensions,o.dimensions),this.heightReference=ae(this.heightReference,o.heightReference),this.fill=ae(this.fill,o.fill),this.material=ae(this.material,o.material),this.outline=ae(this.outline,o.outline),this.outlineColor=ae(this.outlineColor,o.outlineColor),this.outlineWidth=ae(this.outlineWidth,o.outlineWidth),this.shadows=ae(this.shadows,o.shadows),this.distanceDisplayCondition=ae(this.distanceDisplayCondition,o.distanceDisplayCondition)};var s$=IV,SQt={FIXED:0,INERTIAL:1},Vd=Object.freeze(SQt);function VO(){ni.throwInstantiationError()}Object.defineProperties(VO.prototype,{isConstant:{get:ni.throwInstantiationError},definitionChanged:{get:ni.throwInstantiationError},referenceFrame:{get:ni.throwInstantiationError}});VO.prototype.getValue=ni.throwInstantiationError;VO.prototype.getValueInReferenceFrame=ni.throwInstantiationError;VO.prototype.equals=ni.throwInstantiationError;var vae=new Nt;VO.convertToReferenceFrame=function(o,A,f,m,C){if(!k(A))return A;if(k(C)||(C=new Z),f===m)return Z.clone(A,C);let E=Vr.computeIcrfToFixedMatrix(o,vae);if(k(E)||(E=Vr.computeTemeToPseudoFixedMatrix(o,vae)),f===Vd.INERTIAL)return Nt.multiplyByVector(E,A,C);if(f===Vd.FIXED)return Nt.multiplyByVector(Nt.transpose(E,vae),A,C)};var rz=VO;function EF(o,A){this._definitionChanged=new ir,this._value=Z.clone(o),this._referenceFrame=ae(A,Vd.FIXED)}Object.defineProperties(EF.prototype,{isConstant:{get:function(){return!k(this._value)||this._referenceFrame===Vd.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});EF.prototype.getValue=function(o,A){return this.getValueInReferenceFrame(o,Vd.FIXED,A)};EF.prototype.setValue=function(o,A){let f=!1;Z.equals(this._value,o)||(f=!0,this._value=Z.clone(o)),k(A)&&this._referenceFrame!==A&&(f=!0,this._referenceFrame=A),f&&this._definitionChanged.raiseEvent(this)};EF.prototype.getValueInReferenceFrame=function(o,A,f){return rz.convertToReferenceFrame(o,this._value,this._referenceFrame,A,f)};EF.prototype.equals=function(o){return this===o||o instanceof EF&&Z.equals(this._value,o._value)&&this._referenceFrame===o._referenceFrame};var d1=EF;function xV(o){this._definitionChanged=new ir,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(ae(o,ae.EMPTY_OBJECT))}Object.defineProperties(xV.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ai("show"),positions:ai("positions"),width:ai("width"),height:ai("height"),heightReference:ai("heightReference"),extrudedHeight:ai("extrudedHeight"),extrudedHeightReference:ai("extrudedHeightReference"),cornerType:ai("cornerType"),granularity:ai("granularity"),fill:ai("fill"),material:lp("material"),outline:ai("outline"),outlineColor:ai("outlineColor"),outlineWidth:ai("outlineWidth"),shadows:ai("shadows"),distanceDisplayCondition:ai("distanceDisplayCondition"),classificationType:ai("classificationType"),zIndex:ai("zIndex")});xV.prototype.clone=function(o){return k(o)?(o.show=this.show,o.positions=this.positions,o.width=this.width,o.height=this.height,o.heightReference=this.heightReference,o.extrudedHeight=this.extrudedHeight,o.extrudedHeightReference=this.extrudedHeightReference,o.cornerType=this.cornerType,o.granularity=this.granularity,o.fill=this.fill,o.material=this.material,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o.classificationType=this.classificationType,o.zIndex=this.zIndex,o):new xV(this)};xV.prototype.merge=function(o){this.show=ae(this.show,o.show),this.positions=ae(this.positions,o.positions),this.width=ae(this.width,o.width),this.height=ae(this.height,o.height),this.heightReference=ae(this.heightReference,o.heightReference),this.extrudedHeight=ae(this.extrudedHeight,o.extrudedHeight),this.extrudedHeightReference=ae(this.extrudedHeightReference,o.extrudedHeightReference),this.cornerType=ae(this.cornerType,o.cornerType),this.granularity=ae(this.granularity,o.granularity),this.fill=ae(this.fill,o.fill),this.material=ae(this.material,o.material),this.outline=ae(this.outline,o.outline),this.outlineColor=ae(this.outlineColor,o.outlineColor),this.outlineWidth=ae(this.outlineWidth,o.outlineWidth),this.shadows=ae(this.shadows,o.shadows),this.distanceDisplayCondition=ae(this.distanceDisplayCondition,o.distanceDisplayCondition),this.classificationType=ae(this.classificationType,o.classificationType),this.zIndex=ae(this.zIndex,o.zIndex)};var l$=xV;function DQt(o){return o}function MQt(o,A){return ai(o,A,DQt)}var ox=MQt;function yV(o){this._definitionChanged=new ir,this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(ae(o,ae.EMPTY_OBJECT))}Object.defineProperties(yV.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ai("show"),length:ai("length"),topRadius:ai("topRadius"),bottomRadius:ai("bottomRadius"),heightReference:ai("heightReference"),fill:ai("fill"),material:lp("material"),outline:ai("outline"),outlineColor:ai("outlineColor"),outlineWidth:ai("outlineWidth"),numberOfVerticalLines:ai("numberOfVerticalLines"),slices:ai("slices"),shadows:ai("shadows"),distanceDisplayCondition:ai("distanceDisplayCondition")});yV.prototype.clone=function(o){return k(o)?(o.show=this.show,o.length=this.length,o.topRadius=this.topRadius,o.bottomRadius=this.bottomRadius,o.heightReference=this.heightReference,o.fill=this.fill,o.material=this.material,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.numberOfVerticalLines=this.numberOfVerticalLines,o.slices=this.slices,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o):new yV(this)};yV.prototype.merge=function(o){this.show=ae(this.show,o.show),this.length=ae(this.length,o.length),this.topRadius=ae(this.topRadius,o.topRadius),this.bottomRadius=ae(this.bottomRadius,o.bottomRadius),this.heightReference=ae(this.heightReference,o.heightReference),this.fill=ae(this.fill,o.fill),this.material=ae(this.material,o.material),this.outline=ae(this.outline,o.outline),this.outlineColor=ae(this.outlineColor,o.outlineColor),this.outlineWidth=ae(this.outlineWidth,o.outlineWidth),this.numberOfVerticalLines=ae(this.numberOfVerticalLines,o.numberOfVerticalLines),this.slices=ae(this.slices,o.slices),this.shadows=ae(this.shadows,o.shadows),this.distanceDisplayCondition=ae(this.distanceDisplayCondition,o.distanceDisplayCondition)};var A$=yV;function vV(o){this._definitionChanged=new ir,this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(ae(o,ae.EMPTY_OBJECT))}Object.defineProperties(vV.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ai("show"),semiMajorAxis:ai("semiMajorAxis"),semiMinorAxis:ai("semiMinorAxis"),height:ai("height"),heightReference:ai("heightReference"),extrudedHeight:ai("extrudedHeight"),extrudedHeightReference:ai("extrudedHeightReference"),rotation:ai("rotation"),stRotation:ai("stRotation"),granularity:ai("granularity"),fill:ai("fill"),material:lp("material"),outline:ai("outline"),outlineColor:ai("outlineColor"),outlineWidth:ai("outlineWidth"),numberOfVerticalLines:ai("numberOfVerticalLines"),shadows:ai("shadows"),distanceDisplayCondition:ai("distanceDisplayCondition"),classificationType:ai("classificationType"),zIndex:ai("zIndex")});vV.prototype.clone=function(o){return k(o)?(o.show=this.show,o.semiMajorAxis=this.semiMajorAxis,o.semiMinorAxis=this.semiMinorAxis,o.height=this.height,o.heightReference=this.heightReference,o.extrudedHeight=this.extrudedHeight,o.extrudedHeightReference=this.extrudedHeightReference,o.rotation=this.rotation,o.stRotation=this.stRotation,o.granularity=this.granularity,o.fill=this.fill,o.material=this.material,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.numberOfVerticalLines=this.numberOfVerticalLines,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o.classificationType=this.classificationType,o.zIndex=this.zIndex,o):new vV(this)};vV.prototype.merge=function(o){this.show=ae(this.show,o.show),this.semiMajorAxis=ae(this.semiMajorAxis,o.semiMajorAxis),this.semiMinorAxis=ae(this.semiMinorAxis,o.semiMinorAxis),this.height=ae(this.height,o.height),this.heightReference=ae(this.heightReference,o.heightReference),this.extrudedHeight=ae(this.extrudedHeight,o.extrudedHeight),this.extrudedHeightReference=ae(this.extrudedHeightReference,o.extrudedHeightReference),this.rotation=ae(this.rotation,o.rotation),this.stRotation=ae(this.stRotation,o.stRotation),this.granularity=ae(this.granularity,o.granularity),this.fill=ae(this.fill,o.fill),this.material=ae(this.material,o.material),this.outline=ae(this.outline,o.outline),this.outlineColor=ae(this.outlineColor,o.outlineColor),this.outlineWidth=ae(this.outlineWidth,o.outlineWidth),this.numberOfVerticalLines=ae(this.numberOfVerticalLines,o.numberOfVerticalLines),this.shadows=ae(this.shadows,o.shadows),this.distanceDisplayCondition=ae(this.distanceDisplayCondition,o.distanceDisplayCondition),this.classificationType=ae(this.classificationType,o.classificationType),this.zIndex=ae(this.zIndex,o.zIndex)};var u$=vV;function _V(o){this._definitionChanged=new ir,this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(ae(o,ae.EMPTY_OBJECT))}Object.defineProperties(_V.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ai("show"),radii:ai("radii"),innerRadii:ai("innerRadii"),minimumClock:ai("minimumClock"),maximumClock:ai("maximumClock"),minimumCone:ai("minimumCone"),maximumCone:ai("maximumCone"),heightReference:ai("heightReference"),fill:ai("fill"),material:lp("material"),outline:ai("outline"),outlineColor:ai("outlineColor"),outlineWidth:ai("outlineWidth"),stackPartitions:ai("stackPartitions"),slicePartitions:ai("slicePartitions"),subdivisions:ai("subdivisions"),shadows:ai("shadows"),distanceDisplayCondition:ai("distanceDisplayCondition")});_V.prototype.clone=function(o){return k(o)?(o.show=this.show,o.radii=this.radii,o.innerRadii=this.innerRadii,o.minimumClock=this.minimumClock,o.maximumClock=this.maximumClock,o.minimumCone=this.minimumCone,o.maximumCone=this.maximumCone,o.heightReference=this.heightReference,o.fill=this.fill,o.material=this.material,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.stackPartitions=this.stackPartitions,o.slicePartitions=this.slicePartitions,o.subdivisions=this.subdivisions,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o):new _V(this)};_V.prototype.merge=function(o){this.show=ae(this.show,o.show),this.radii=ae(this.radii,o.radii),this.innerRadii=ae(this.innerRadii,o.innerRadii),this.minimumClock=ae(this.minimumClock,o.minimumClock),this.maximumClock=ae(this.maximumClock,o.maximumClock),this.minimumCone=ae(this.minimumCone,o.minimumCone),this.maximumCone=ae(this.maximumCone,o.maximumCone),this.heightReference=ae(this.heightReference,o.heightReference),this.fill=ae(this.fill,o.fill),this.material=ae(this.material,o.material),this.outline=ae(this.outline,o.outline),this.outlineColor=ae(this.outlineColor,o.outlineColor),this.outlineWidth=ae(this.outlineWidth,o.outlineWidth),this.stackPartitions=ae(this.stackPartitions,o.stackPartitions),this.slicePartitions=ae(this.slicePartitions,o.slicePartitions),this.subdivisions=ae(this.subdivisions,o.subdivisions),this.shadows=ae(this.shadows,o.shadows),this.distanceDisplayCondition=ae(this.distanceDisplayCondition,o.distanceDisplayCondition)};var zO=_V;function BV(o){this._definitionChanged=new ir,this._show=void 0,this._showSubscription=void 0,this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(ae(o,ae.EMPTY_OBJECT))}Object.defineProperties(BV.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ai("show"),text:ai("text"),font:ai("font"),style:ai("style"),scale:ai("scale"),showBackground:ai("showBackground"),backgroundColor:ai("backgroundColor"),backgroundPadding:ai("backgroundPadding"),pixelOffset:ai("pixelOffset"),eyeOffset:ai("eyeOffset"),horizontalOrigin:ai("horizontalOrigin"),verticalOrigin:ai("verticalOrigin"),heightReference:ai("heightReference"),fillColor:ai("fillColor"),outlineColor:ai("outlineColor"),outlineWidth:ai("outlineWidth"),translucencyByDistance:ai("translucencyByDistance"),pixelOffsetScaleByDistance:ai("pixelOffsetScaleByDistance"),scaleByDistance:ai("scaleByDistance"),distanceDisplayCondition:ai("distanceDisplayCondition"),disableDepthTestDistance:ai("disableDepthTestDistance")});BV.prototype.clone=function(o){return k(o)?(o.show=this.show,o.text=this.text,o.font=this.font,o.style=this.style,o.scale=this.scale,o.showBackground=this.showBackground,o.backgroundColor=this.backgroundColor,o.backgroundPadding=this.backgroundPadding,o.pixelOffset=this.pixelOffset,o.eyeOffset=this.eyeOffset,o.horizontalOrigin=this.horizontalOrigin,o.verticalOrigin=this.verticalOrigin,o.heightReference=this.heightReference,o.fillColor=this.fillColor,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.translucencyByDistance=this.translucencyByDistance,o.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,o.scaleByDistance=this.scaleByDistance,o.distanceDisplayCondition=this.distanceDisplayCondition,o.disableDepthTestDistance=this.disableDepthTestDistance,o):new BV(this)};BV.prototype.merge=function(o){this.show=ae(this.show,o.show),this.text=ae(this.text,o.text),this.font=ae(this.font,o.font),this.style=ae(this.style,o.style),this.scale=ae(this.scale,o.scale),this.showBackground=ae(this.showBackground,o.showBackground),this.backgroundColor=ae(this.backgroundColor,o.backgroundColor),this.backgroundPadding=ae(this.backgroundPadding,o.backgroundPadding),this.pixelOffset=ae(this.pixelOffset,o.pixelOffset),this.eyeOffset=ae(this.eyeOffset,o.eyeOffset),this.horizontalOrigin=ae(this.horizontalOrigin,o.horizontalOrigin),this.verticalOrigin=ae(this.verticalOrigin,o.verticalOrigin),this.heightReference=ae(this.heightReference,o.heightReference),this.fillColor=ae(this.fillColor,o.fillColor),this.outlineColor=ae(this.outlineColor,o.outlineColor),this.outlineWidth=ae(this.outlineWidth,o.outlineWidth),this.translucencyByDistance=ae(this.translucencyByDistance,o.translucencyByDistance),this.pixelOffsetScaleByDistance=ae(this.pixelOffsetScaleByDistance,o.pixelOffsetScaleByDistance),this.scaleByDistance=ae(this.scaleByDistance,o.scaleByDistance),this.distanceDisplayCondition=ae(this.distanceDisplayCondition,o.distanceDisplayCondition),this.disableDepthTestDistance=ae(this.disableDepthTestDistance,o.disableDepthTestDistance)};var YO=BV,TQt=new Z(1,1,1),PQt=Z.ZERO,RQt=yr.IDENTITY;function xGe(o,A,f){this.translation=Z.clone(ae(o,PQt)),this.rotation=yr.clone(ae(A,RQt)),this.scale=Z.clone(ae(f,TQt))}xGe.prototype.equals=function(o){return this===o||k(o)&&Z.equals(this.translation,o.translation)&&yr.equals(this.rotation,o.rotation)&&Z.equals(this.scale,o.scale)};var Ux=xGe,_ae=new Ux;function wV(o){o=ae(o,ae.EMPTY_OBJECT),this._definitionChanged=new ir,this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=o.translation,this.rotation=o.rotation,this.scale=o.scale}Object.defineProperties(wV.prototype,{isConstant:{get:function(){return Ct.isConstant(this._translation)&&Ct.isConstant(this._rotation)&&Ct.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:ai("translation"),rotation:ai("rotation"),scale:ai("scale")});wV.prototype.getValue=function(o,A){return k(A)||(A=new Ux),A.translation=Ct.getValueOrClonedDefault(this._translation,o,_ae.translation,A.translation),A.rotation=Ct.getValueOrClonedDefault(this._rotation,o,_ae.rotation,A.rotation),A.scale=Ct.getValueOrClonedDefault(this._scale,o,_ae.scale,A.scale),A};wV.prototype.equals=function(o){return this===o||o instanceof wV&&Ct.equals(this._translation,o._translation)&&Ct.equals(this._rotation,o._rotation)&&Ct.equals(this._scale,o._scale)};var c$=wV;function wS(o,A){this._propertyNames=[],this._definitionChanged=new ir,k(o)&&this.merge(o,A)}Object.defineProperties(wS.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){let o=this._propertyNames;for(let A=0,f=o.length;AA.height?E=m*(A.height/A.width):A.widthA.height?E=m*(A.height/A.width):A.width${m}${SGe(C)}`:f+=`${m}${C}`)}return f.length>0&&(f=`${f}
`),f}function sSt(o,A,f){let m;return function(C,E){return k(m)||(m=o(A,f)),m}}function lSt(o,A){return new Kr(sSt(SGe,o,A),!0)}function m$(o,A,f){let m=o.id;if(!k(m)||o.type!=="Feature")m=Kl();else{let I=2,x=m;for(;k(A.getById(x));)x=`${m}_${I}`,I++;m=x}let C=A.getOrCreateEntity(m),E=o.properties;if(k(E)){C.properties=E;let I,x=E.title;if(k(x))C.name=x,I="title";else{let v=Number.MAX_VALUE;for(let w in E)if(E.hasOwnProperty(w)&&E[w]){let Q=w.toLowerCase();if(v>1&&Q==="title"){v=1,I=w;break}else v>2&&Q==="name"?(v=2,I=w):v>3&&/title/i.test(w)?(v=3,I=w):v>4&&/name/i.test(w)&&(v=4,I=w)}k(I)&&(C.name=E[I])}let y=E.description;y!==null&&(C.description=k(y)?new bA(y):f(E,I))}return C}function cue(o,A){let f=new Array(o.length);for(let m=0;m2?v.perPositionHeight=new bA(!0):C.clampToGround||(v.height=0);let M=m$(A,o._entityCollection,C.describe);M.polygon=v}function GGe(o,A,f,m,C){OGe(o,A,m,f.coordinates,C)}function HGe(o,A,f,m,C){let E=f.coordinates;for(let I=0;IA&&(f==null?(f="…",m=3):m=f.length,o=o.substring(0,A-m)+f),o}function zc(o,A){for(var f=o.length-1;f>=0;f--)o[f]===A&&o.splice(f,1)}function cL(o,A){for(var f=o.length-1;f>=0;f--)A(o[f])===!0&&o.splice(f,1)}function MH(o){throw new Error("Unhandled case for value: '".concat(o,"'"))}var eU=/[A-Za-z]/,lm=/[\d]/,U_=/\s/,wae=/['"]/,mSt=/[\x00-\x1F\x7F]/,YGe=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,CSt=/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source,ESt=/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source,ISt=YGe+CSt+ESt,JGe=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source,oSi=new RegExp("[".concat(YGe+JGe,"]")),KGe=ISt+JGe,iF=new RegExp("[".concat(KGe,"]")),WGe=function(){function o(A){A===void 0&&(A={}),this.tagName="",this.attrs={},this.innerHTML="",this.tagName=A.tagName||"",this.attrs=A.attrs||{},this.innerHTML=A.innerHtml||A.innerHTML||""}return o.prototype.setTagName=function(A){return this.tagName=A,this},o.prototype.getTagName=function(){return this.tagName||""},o.prototype.setAttr=function(A,f){var m=this.getAttrs();return m[A]=f,this},o.prototype.getAttr=function(A){return this.getAttrs()[A]},o.prototype.setAttrs=function(A){return Object.assign(this.getAttrs(),A),this},o.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},o.prototype.setClass=function(A){return this.setAttr("class",A)},o.prototype.addClass=function(A){for(var f=this.getClass(),m=f?f.split(U_):[],C=A.split(U_),E;E=C.shift();)m.indexOf(E)===-1&&m.push(E);return this.getAttrs().class=m.join(" "),this},o.prototype.removeClass=function(A){for(var f=this.getClass(),m=f?f.split(U_):[],C=A.split(U_),E;m.length&&(E=C.shift());){var I=m.indexOf(E);I!==-1&&m.splice(I,1)}return this.getAttrs().class=m.join(" "),this},o.prototype.getClass=function(){return this.getAttrs().class||""},o.prototype.hasClass=function(A){return(" "+this.getClass()+" ").indexOf(" "+A+" ")!==-1},o.prototype.setInnerHTML=function(A){return this.innerHTML=A,this},o.prototype.setInnerHtml=function(A){return this.setInnerHTML(A)},o.prototype.getInnerHTML=function(){return this.innerHTML||""},o.prototype.getInnerHtml=function(){return this.getInnerHTML()},o.prototype.toAnchorString=function(){var A=this.getTagName(),f=this.buildAttrsStr();return f=f?" "+f:"",["<",A,f,">",this.getInnerHtml(),""].join("")},o.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var A=this.getAttrs(),f=[];for(var m in A)A.hasOwnProperty(m)&&f.push(m+'="'+A[m]+'"');return f.join(" ")},o}();function xSt(o,A,f){var m,C;f==null?(f="…",C=3,m=8):(C=f.length,m=f.length);var E=function(T){var L={},F=T,U=F.match(/^([a-z]+):\/\//i);return U&&(L.scheme=U[1],F=F.substr(U[0].length)),U=F.match(/^(.*?)(?=(\?|#|\/|$))/i),U&&(L.host=U[1],F=F.substr(U[0].length)),U=F.match(/^\/(.*?)(?=(\?|#|$))/i),U&&(L.path=U[1],F=F.substr(U[0].length)),U=F.match(/^\?(.*?)(?=(#|$))/i),U&&(L.query=U[1],F=F.substr(U[0].length)),U=F.match(/^#(.*?)$/i),U&&(L.fragment=U[1]),L},I=function(T){var L="";return T.scheme&&T.host&&(L+=T.scheme+"://"),T.host&&(L+=T.host),T.path&&(L+="/"+T.path),T.query&&(L+="?"+T.query),T.fragment&&(L+="#"+T.fragment),L},x=function(T,L){var F=L/2,U=Math.ceil(F),N=-1*Math.floor(F),H="";return N<0&&(H=T.substr(N)),T.substr(0,U)+f+H};if(o.length<=A)return o;var y=A-C,v=E(o);if(v.query){var w=v.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);w&&(v.query=v.query.substr(0,w[1].length),o=I(v))}if(o.length<=A||(v.host&&(v.host=v.host.replace(/^www\./,""),o=I(v)),o.length<=A))return o;var Q="";if(v.host&&(Q+=v.host),Q.length>=y)return v.host.length==A?(v.host.substr(0,A-C)+f).substr(0,y+m):x(Q,y).substr(0,y+m);var M="";if(v.path&&(M+="/"+v.path),v.query&&(M+="?"+v.query),M)if((Q+M).length>=y){if((Q+M).length==A)return(Q+M).substr(0,A);var B=y-Q.length;return(Q+x(M,B)).substr(0,y+m)}else Q+=M;if(v.fragment){var D="#"+v.fragment;if((Q+D).length>=y){if((Q+D).length==A)return(Q+D).substr(0,A);var S=y-Q.length;return(Q+x(D,S)).substr(0,y+m)}else Q+=D}if(v.scheme&&v.host){var P=v.scheme+"://";if((Q+P).length0&&(R=Q.substr(-1*Math.floor(y/2))),(Q.substr(0,Math.ceil(y/2))+f+R).substr(0,y+m)}function ySt(o,A,f){if(o.length<=A)return o;var m,C;f==null?(f="…",m=8,C=3):(m=f.length,C=f.length);var E=A-C,I="";return E>0&&(I=o.substr(-1*Math.floor(E/2))),(o.substr(0,Math.ceil(E/2))+f+I).substr(0,E+m)}function vSt(o,A,f){return pSt(o,A,f)}var _St=function(){function o(A){A===void 0&&(A={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=A.newWindow||!1,this.truncate=A.truncate||{},this.className=A.className||""}return o.prototype.build=function(A){return new WGe({tagName:"a",attrs:this.createAttrs(A),innerHtml:this.processAnchorText(A.getAnchorText())})},o.prototype.createAttrs=function(A){var f={href:A.getAnchorHref()},m=this.createCssClass(A);return m&&(f.class=m),this.newWindow&&(f.target="_blank",f.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length=0;B--){var D=w[B];switch(D.state){case 11:N(D,M);break;case 12:H(D,M);break;case 0:R(D,M);break;case 1:T(D,M);break;case 2:L(D,M);break;case 3:F(D,M);break;case 4:U(D,M);break;case 5:J(D,M);break;case 6:K(D,M);break;case 7:X(D,M);break;case 13:j(D,M);break;case 14:ee(D,M);break;case 8:ie(D,M);break;case 9:z(D,M);break;case 10:oe(D,M);break;case 15:le(D,M);break;case 16:Ae(D,M);break;case 17:he(D,M);break;case 18:ge(D,M);break;case 19:de(D,M);break;case 20:fe(D,M);break;case 21:G(D,M);break;case 22:Y(D,M);break;case 23:W(D,M);break;case 24:O(D,M);break;case 25:re(D,M);break;case 26:se(D,M);break;case 27:ce(D,M);break;case 28:me(D,M);break;case 29:Ce(D,M);break;case 30:ye(D,M);break;case 31:Be(D,M);break;case 32:He(D,M);break;case 33:ke(D,M);break;case 34:Ne(D,M);break;case 35:Pe(D,M);break;case 36:we(D,M);break;case 37:Me(D,M);break;case 38:Fe(D,M);break;case 39:Ue(D,M);break;case 40:ze(D,M);break;case 41:Je(D,M);break;default:MH(D.state)}}}for(var S=w.length-1;S>=0;S--)w.forEach(function(Ze){return je(Ze)});return y;function P(Ze){if(Ze==="#")w.push(EDt(Q,28));else if(Ze==="@")w.push(IDt(Q,30));else if(Ze==="/")w.push(Pae(Q,11));else if(Ze==="+")w.push(Rae(Q,37));else if(Ze==="(")w.push(Rae(Q,32));else{if(lm.test(Ze)&&(w.push(Rae(Q,38)),w.push(mDt(Q,13))),qSt(Ze)){var rt=Ze.toLowerCase()==="m"?15:22;w.push(CDt(Q,rt))}bae(Ze)&&w.push(Tae(Q,0)),iF.test(Ze)&&w.push(Pae(Q,5))}}function R(Ze,rt){rt===":"?Ze.state=2:rt==="-"?Ze.state=1:FTe(rt)||zc(w,Ze)}function T(Ze,rt){rt==="-"||(rt==="/"?(zc(w,Ze),w.push(Pae(Q,11))):FTe(rt)?Ze.state=0:zc(w,Ze))}function L(Ze,rt){rt==="/"?Ze.state=3:rt==="."?zc(w,Ze):CT(rt)?(Ze.state=5,bae(rt)&&w.push(Tae(Q,0))):zc(w,Ze)}function F(Ze,rt){rt==="/"?Ze.state=4:NTe(rt)?(Ze.state=10,Ze.acceptStateReached=!0):je(Ze)}function U(Ze,rt){rt==="/"?Ze.state=10:CT(rt)?(Ze.state=5,Ze.acceptStateReached=!0):zc(w,Ze)}function N(Ze,rt){rt==="/"?Ze.state=12:zc(w,Ze)}function H(Ze,rt){CT(rt)?Ze.state=5:zc(w,Ze)}function J(Ze,rt){rt==="."?Ze.state=7:rt==="-"?Ze.state=6:rt===":"?Ze.state=8:Sae(rt)?Ze.state=10:Qae(rt)||je(Ze)}function K(Ze,rt){rt==="-"||(rt==="."?je(Ze):CT(rt)?Ze.state=5:je(Ze))}function X(Ze,rt){rt==="."?je(Ze):CT(rt)?(Ze.state=5,Ze.acceptStateReached=!0):je(Ze)}function j(Ze,rt){rt==="."?Ze.state=14:rt===":"?Ze.state=8:lm.test(rt)||(Sae(rt)?Ze.state=10:iF.test(rt)?zc(w,Ze):je(Ze))}function ee(Ze,rt){lm.test(rt)?(Ze.octetsEncountered++,Ze.octetsEncountered===4&&(Ze.acceptStateReached=!0),Ze.state=13):je(Ze)}function ie(Ze,rt){lm.test(rt)?Ze.state=9:je(Ze)}function z(Ze,rt){lm.test(rt)||(Sae(rt)?Ze.state=10:je(Ze))}function oe(Ze,rt){NTe(rt)||je(Ze)}function le(Ze,rt){rt.toLowerCase()==="a"?Ze.state=16:Y(Ze,rt)}function Ae(Ze,rt){rt.toLowerCase()==="i"?Ze.state=17:Y(Ze,rt)}function he(Ze,rt){rt.toLowerCase()==="l"?Ze.state=18:Y(Ze,rt)}function ge(Ze,rt){rt.toLowerCase()==="t"?Ze.state=19:Y(Ze,rt)}function de(Ze,rt){rt.toLowerCase()==="o"?Ze.state=20:Y(Ze,rt)}function fe(Ze,rt){rt.toLowerCase()===":"?Ze.state=21:Y(Ze,rt)}function G(Ze,rt){Dae(rt)?Ze.state=22:zc(w,Ze)}function Y(Ze,rt){rt==="."?Ze.state=23:rt==="@"?Ze.state=24:Dae(rt)?Ze.state=22:zc(w,Ze)}function W(Ze,rt){rt==="."||rt==="@"?zc(w,Ze):Dae(rt)?Ze.state=22:zc(w,Ze)}function O(Ze,rt){CT(rt)?Ze.state=25:zc(w,Ze)}function re(Ze,rt){rt==="."?Ze.state=27:rt==="-"?Ze.state=26:Qae(rt)||je(Ze)}function se(Ze,rt){rt==="-"||rt==="."?je(Ze):Qae(rt)?Ze.state=25:je(Ze)}function ce(Ze,rt){rt==="."||rt==="-"?je(Ze):CT(rt)?(Ze.state=25,Ze.acceptStateReached=!0):je(Ze)}function me(Ze,rt){kTe(rt)?(Ze.state=29,Ze.acceptStateReached=!0):zc(w,Ze)}function Ce(Ze,rt){kTe(rt)||je(Ze)}function ye(Ze,rt){UTe(rt)?(Ze.state=31,Ze.acceptStateReached=!0):zc(w,Ze)}function Be(Ze,rt){UTe(rt)||(iF.test(rt)?zc(w,Ze):je(Ze))}function Me(Ze,rt){lm.test(rt)?Ze.state=38:(zc(w,Ze),P(rt))}function He(Ze,rt){lm.test(rt)?Ze.state=33:zc(w,Ze),P(rt)}function ke(Ze,rt){lm.test(rt)?Ze.state=34:zc(w,Ze)}function Ne(Ze,rt){lm.test(rt)?Ze.state=35:zc(w,Ze)}function Pe(Ze,rt){rt===")"?Ze.state=36:zc(w,Ze)}function we(Ze,rt){lm.test(rt)?Ze.state=38:OTe(rt)?Ze.state=39:zc(w,Ze)}function Fe(Ze,rt){Ze.acceptStateReached=!0,Mae(rt)?Ze.state=40:rt==="#"?Ze.state=41:lm.test(rt)||(rt==="("?Ze.state=32:OTe(rt)?Ze.state=39:(je(Ze),bae(rt)&&w.push(Tae(Q,0))))}function Ue(Ze,rt){lm.test(rt)?Ze.state=38:rt==="("?Ze.state=32:(je(Ze),P(rt))}function ze(Ze,rt){Mae(rt)||(rt==="#"?Ze.state=41:lm.test(rt)?Ze.state=38:je(Ze))}function Je(Ze,rt){Mae(rt)?Ze.state=40:lm.test(rt)?zc(w,Ze):je(Ze)}function je(Ze){if(zc(w,Ze),!!Ze.acceptStateReached){var rt=Ze.startIdx,At=o.slice(Ze.startIdx,Q);if(At=pDt(At),Ze.type==="url"){var yt=o.charAt(Ze.startIdx-1);if(yt==="@")return;var at=Ze.matchType;if(at==="scheme"){var ft=jGe.exec(At);if(ft&&(rt=rt+ft.index,At=At.slice(ft.index)),!RSt(At))return}else if(at==="tld"){if(!LSt(At))return}else if(at==="ipV4"){if(!kSt(At))return}else MH(at);y.push(new GSt({tagBuilder:f,matchedText:At,offset:rt,urlMatchType:at,url:At,protocolRelativeMatch:At.slice(0,2)==="//",stripPrefix:m,stripTrailingSlash:C,decodePercentEncoding:E}))}else if(Ze.type==="email")jSt(At)&&y.push(new XSt({tagBuilder:f,matchedText:At,offset:rt,email:At.replace(KSt,"")}));else if(Ze.type==="hashtag")ZSt(At)&&y.push(new eDt({tagBuilder:f,matchedText:At,offset:rt,serviceName:I,hashtag:At.slice(1)}));else if(Ze.type==="mention")rDt(At,x)&&y.push(new oDt({tagBuilder:f,matchedText:At,offset:rt,serviceName:x,mention:At.slice(1)}));else if(Ze.type==="phone"){if(At=At.replace(/ +$/g,""),hDt(At)){var _t=At.replace(/[^0-9,;#]/g,"");y.push(new dDt({tagBuilder:f,matchedText:At,offset:rt,number:_t,plusSign:At.charAt(0)==="+"}))}}else MH(Ze)}}}var fDt=/[\(\{\[]/,GTe=/[\)\}\]]/,HTe={")":"(","}":"{","]":"["};function pDt(o){for(var A={"(":0,"{":0,"[":0},f=0;f=0;)if(E=o.charAt(C),GTe.test(E)){var I=HTe[E];if(A[I]<0)A[I]++,C--;else break}else if(DSt.test(E))C--;else break;return o.slice(0,C+1)}function Tae(o,A){return{type:"url",startIdx:o,state:A,acceptStateReached:!1,matchType:"scheme"}}function Pae(o,A){return{type:"url",startIdx:o,state:A,acceptStateReached:!1,matchType:"tld"}}function mDt(o,A){return{type:"url",startIdx:o,state:A,acceptStateReached:!1,matchType:"ipV4",octetsEncountered:1}}function CDt(o,A){return{type:"email",startIdx:o,state:A,acceptStateReached:!1}}function EDt(o,A){return{type:"hashtag",startIdx:o,state:A,acceptStateReached:!1}}function IDt(o,A){return{type:"mention",startIdx:o,state:A,acceptStateReached:!1}}function Rae(o,A){return{type:"phone",startIdx:o,state:A,acceptStateReached:!1}}function xDt(o,A){for(var f=A.onOpenTag,m=A.onCloseTag,C=A.onText,E=A.onComment,I=A.onDoctype,x=new Vw,y=0,v=o.length,w=0,Q=0,M=x;y"?(M=new Vw(r0(r0({},M),{name:Y()})),fe()):!eU.test(O)&&!lm.test(O)&&O!==":"&&ge()}function R(O){O===">"?ge():eU.test(O)?w=3:ge()}function T(O){U_.test(O)||(O==="/"?w=12:O===">"?fe():O==="<"?de():O==="="||wae.test(O)||mSt.test(O)?ge():w=5)}function L(O){U_.test(O)?w=6:O==="/"?w=12:O==="="?w=7:O===">"?fe():O==="<"?de():wae.test(O)&&ge()}function F(O){U_.test(O)||(O==="/"?w=12:O==="="?w=7:O===">"?fe():O==="<"?de():wae.test(O)?ge():w=5)}function U(O){U_.test(O)||(O==='"'?w=8:O==="'"?w=9:/[>=`]/.test(O)?ge():O==="<"?de():w=10)}function N(O){O==='"'&&(w=11)}function H(O){O==="'"&&(w=11)}function J(O){U_.test(O)?w=4:O===">"?fe():O==="<"&&de()}function K(O){U_.test(O)?w=4:O==="/"?w=12:O===">"?fe():O==="<"?de():(w=4,W())}function X(O){O===">"?(M=new Vw(r0(r0({},M),{isClosing:!0})),fe()):w=4}function j(O){o.substr(y,2)==="--"?(y+=2,M=new Vw(r0(r0({},M),{type:"comment"})),w=14):o.substr(y,7).toUpperCase()==="DOCTYPE"?(y+=7,M=new Vw(r0(r0({},M),{type:"doctype"})),w=20):ge()}function ee(O){O==="-"?w=15:O===">"?ge():w=16}function ie(O){O==="-"?w=18:O===">"?ge():w=16}function z(O){O==="-"&&(w=17)}function oe(O){O==="-"?w=18:w=16}function le(O){O===">"?fe():O==="!"?w=19:O==="-"||(w=16)}function Ae(O){O==="-"?w=17:O===">"?fe():w=16}function he(O){O===">"?fe():O==="<"&&de()}function ge(){w=0,M=x}function de(){w=1,M=new Vw({idx:y})}function fe(){var O=o.slice(Q,M.idx);O&&C(O,Q),M.type==="comment"?E(M.idx):M.type==="doctype"?I(M.idx):(M.isOpening&&f(M.name,M.idx),M.isClosing&&m(M.name,M.idx)),ge(),Q=y+1}function G(){var O=o.slice(Q,y);C(O,Q),Q=y+1}function Y(){var O=M.idx+(M.isClosing?2:1);return o.slice(O,y).toLowerCase()}function W(){y--}}var Vw=function(){function o(A){A===void 0&&(A={}),this.idx=A.idx!==void 0?A.idx:-1,this.type=A.type||"tag",this.name=A.name||"",this.isOpening=!!A.isOpening,this.isClosing=!!A.isClosing}return o}(),yDt=function(){function o(A){A===void 0&&(A={}),this.version=o.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.tagBuilder=null,this.urls=_Dt(A.urls),this.email=Hy(A.email)?A.email:this.email,this.phone=Hy(A.phone)?A.phone:this.phone,this.hashtag=A.hashtag||this.hashtag,this.mention=A.mention||this.mention,this.newWindow=Hy(A.newWindow)?A.newWindow:this.newWindow,this.stripPrefix=BDt(A.stripPrefix),this.stripTrailingSlash=Hy(A.stripTrailingSlash)?A.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=Hy(A.decodePercentEncoding)?A.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=A.sanitizeHtml||!1;var f=this.mention;if(f!==!1&&nDt.indexOf(f)===-1)throw new Error("invalid `mention` cfg '".concat(f,"' - see docs"));var m=this.hashtag;if(m!==!1&&$St.indexOf(m)===-1)throw new Error("invalid `hashtag` cfg '".concat(m,"' - see docs"));this.truncate=wDt(A.truncate),this.className=A.className||this.className,this.replaceFn=A.replaceFn||this.replaceFn,this.context=A.context||this}return o.link=function(A,f){var m=new o(f);return m.link(A)},o.parse=function(A,f){var m=new o(f);return m.parse(A)},o.prototype.parse=function(A){var f=this,m=["a","style","script"],C=0,E=[];return xDt(A,{onOpenTag:function(I){m.indexOf(I)>=0&&C++},onText:function(I,x){if(C===0){var y=/( | |<|<|>|>|"|"|')/gi,v=I.split(y),w=x;v.forEach(function(Q,M){if(M%2===0){var B=f.parseText(Q,w);E.push.apply(E,B)}w+=Q.length})}},onCloseTag:function(I){m.indexOf(I)>=0&&(C=Math.max(C-1,0))},onComment:function(I){},onDoctype:function(I){}}),E=this.compactMatches(E),E=this.removeUnwantedMatches(E),E},o.prototype.compactMatches=function(A){A.sort(function(y,v){return y.getOffset()-v.getOffset()});for(var f=0;fE?f:f+1;A.splice(x,1);continue}if(A[f+1].getOffset()/g,">"));for(var f=this.parse(A),m=[],C=0,E=0,I=f.length;Enew Array(A).fill(f,0,A)))}function E$(o){return o.reduce((A,f)=>A.concat(Array.isArray(f)?E$(f):f),[])}var VTe=[0,1,2,3].concat(...C$([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function ch(){let o=this;function A(C){let E=o.dyn_tree,I=o.stat_desc.static_tree,x=o.stat_desc.extra_bits,y=o.stat_desc.extra_base,v=o.stat_desc.max_length,w,Q,M,B,D,S,P=0;for(B=0;B<=15;B++)C.bl_count[B]=0;for(E[C.heap[C.heap_max]*2+1]=0,w=C.heap_max+1;w<573;w++)Q=C.heap[w],B=E[E[Q*2+1]*2+1]+1,B>v&&(B=v,P++),E[Q*2+1]=B,!(Q>o.max_code)&&(C.bl_count[B]++,D=0,Q>=y&&(D=x[Q-y]),S=E[Q*2],C.opt_len+=S*(B+D),I&&(C.static_len+=S*(I[Q*2+1]+D)));if(P!==0){do{for(B=v-1;C.bl_count[B]===0;)B--;C.bl_count[B]--,C.bl_count[B+1]+=2,C.bl_count[v]--,P-=2}while(P>0);for(B=v;B!==0;B--)for(Q=C.bl_count[B];Q!==0;)M=C.heap[--w],!(M>o.max_code)&&(E[M*2+1]!=B&&(C.opt_len+=(B-E[M*2+1])*E[M*2],E[M*2+1]=B),Q--)}}function f(C,E){let I=0;do I|=C&1,C>>>=1,I<<=1;while(--E>0);return I>>>1}function m(C,E,I){let x=[],y=0,v,w,Q;for(v=1;v<=15;v++)x[v]=y=y+I[v-1]<<1;for(w=0;w<=E;w++)Q=C[w*2+1],Q!==0&&(C[w*2]=f(x[Q]++,Q))}o.build_tree=function(C){let E=o.dyn_tree,I=o.stat_desc.static_tree,x=o.stat_desc.elems,y,v,w=-1,Q;for(C.heap_len=0,C.heap_max=573,y=0;y=1;y--)C.pqdownheap(E,y);Q=x;do y=C.heap[1],C.heap[1]=C.heap[C.heap_len--],C.pqdownheap(E,1),v=C.heap[1],C.heap[--C.heap_max]=y,C.heap[--C.heap_max]=v,E[Q*2]=E[y*2]+E[v*2],C.depth[Q]=Math.max(C.depth[y],C.depth[v])+1,E[y*2+1]=E[v*2+1]=Q,C.heap[1]=Q++,C.pqdownheap(E,1);while(C.heap_len>=2);C.heap[--C.heap_max]=C.heap[1],A(C),m(E,o.max_code,C.bl_count)}}ch._length_code=[0,1,2,3,4,5,6,7].concat(...C$([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]]));ch.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];ch.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];ch.d_code=function(o){return o<256?VTe[o]:VTe[256+(o>>>7)]};ch.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];ch.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];ch.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];ch.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function rp(o,A,f,m,C){let E=this;E.static_tree=o,E.extra_bits=A,E.extra_base=f,E.elems=m,E.max_length=C}var bDt=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],QDt=C$([[144,8],[112,9],[24,7],[8,8]]);rp.static_ltree=E$(bDt.map((o,A)=>[o,QDt[A]]));var SDt=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],DDt=C$([[30,5]]);rp.static_dtree=E$(SDt.map((o,A)=>[o,DDt[A]]));rp.static_l_desc=new rp(rp.static_ltree,ch.extra_lbits,256+1,286,15);rp.static_d_desc=new rp(rp.static_dtree,ch.extra_dbits,0,30,15);rp.static_bl_desc=new rp(null,ch.extra_blbits,0,19,7);var MDt=9,TDt=8;function zw(o,A,f,m,C){let E=this;E.good_length=o,E.max_lazy=A,E.nice_length=f,E.max_chain=m,E.func=C}var $Ge=0,Uq=1,ML=2,b_=[new zw(0,0,0,0,$Ge),new zw(4,4,8,4,Uq),new zw(4,5,16,8,Uq),new zw(4,6,32,32,Uq),new zw(4,4,16,16,ML),new zw(8,16,32,32,ML),new zw(8,16,128,128,ML),new zw(8,32,128,256,ML),new zw(32,128,258,1024,ML),new zw(32,258,258,4096,ML)],D7=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],Q_=0,M7=1,u8=2,T7=3,PDt=32,Lae=42,P7=113,c8=666,Fae=8,RDt=0,Nae=1,LDt=2,Vh=3,Oq=258,WI=Oq+Vh+1;function zTe(o,A,f,m){let C=o[A*2],E=o[f*2];return C=3&&Ae[ch.bl_order[It]*2+1]===0;It--);return o.opt_len+=3*(It+1)+5+5+4,It}function Be(It){o.pending_buf[o.pending++]=It}function Me(It){Be(It&255),Be(It>>>8&255)}function He(It){Be(It>>8&255),Be(It&255&255)}function ke(It,Pt){let St,dt=Pt;re>16-dt?(St=It,O|=St<>>16-re,re+=dt-16):(O|=It<=8&&(Be(O&255),O>>>=8,re-=8)}function Ue(){ke(Nae<<1,3),Ne(256,rp.static_ltree),Fe(),1+W+10-re<9&&(ke(Nae<<1,3),Ne(256,rp.static_ltree),Fe()),W=7}function ze(It,Pt){let St,dt,Le;if(o.dist_buf[G]=It,o.lc_buf[G]=Pt&255,G++,It===0?oe[Pt*2]++:(Y++,It--,oe[(ch._length_code[Pt]+256+1)*2]++,le[ch.d_code(It)*2]++),!(G&8191)&&j>2){for(St=G*8,dt=U-R,Le=0;Le<30;Le++)St+=le[Le*2]*(5+ch.extra_dbits[Le]);if(St>>>=3,Y8?Me(O):re>0&&Be(O&255),O=0,re=0}function Ze(It,Pt,St){je(),W=8,St&&(Me(Pt),Me(~Pt)),o.pending_buf.set(y.subarray(It,It+Pt),o.pending),o.pending+=Pt}function rt(It,Pt,St){ke((RDt<<1)+(St?1:0),3),Ze(It,Pt,!0)}function At(It,Pt,St){let dt,Le,_e=0;j>0?(he.build_tree(o),ge.build_tree(o),_e=ye(),dt=o.opt_len+3+7>>>3,Le=o.static_len+3+7>>>3,Le<=dt&&(dt=Le)):dt=Le=Pt+5,Pt+4<=dt&&It!=-1?rt(It,Pt,St):Le==dt?(ke((Nae<<1)+(St?1:0),3),Je(rp.static_ltree,rp.static_dtree)):(ke((LDt<<1)+(St?1:0),3),we(he.max_code+1,ge.max_code+1,_e+1),Je(oe,le)),ce(),St&&je()}function yt(It){At(R>=0?R:-1,U-R,It),R=U,A.flush_pending()}function at(){let It,Pt,St,dt;do{if(dt=v-H-U,dt===0&&U===0&&H===0)dt=E;else if(dt==-1)dt--;else if(U>=E+E-WI){y.set(y.subarray(E,E+E),0),N-=E,U-=E,R-=E,It=B,St=It;do Pt=Q[--St]&65535,Q[St]=Pt>=E?Pt-E:0;while(--It!==0);It=E,St=It;do Pt=w[--St]&65535,w[St]=Pt>=E?Pt-E:0;while(--It!==0);dt+=E}if(A.avail_in===0)return;It=A.read_buf(y,U+H,dt),H+=It,H>=Vh&&(M=y[U]&255,M=(M<m-5&&(Pt=m-5);;){if(H<=1){if(at(),H===0&&It==0)return Q_;if(H===0)break}if(U+=H,H=0,St=R+Pt,(U===0||U>=St)&&(H=U-St,U=St,yt(!1),A.avail_out===0)||U-R>=E-WI&&(yt(!1),A.avail_out===0))return Q_}return yt(It==4),A.avail_out===0?It==4?u8:Q_:It==4?T7:M7}function _t(It){let Pt=K,St=U,dt,Le,_e=J,Oe=U>E-WI?U-(E-WI):0,vt=z,wt=x,Bt=U+Oq,bi=y[St+_e-1],nr=y[St+_e];J>=ie&&(Pt>>=2),vt>H&&(vt=H);do if(dt=It,!(y[dt+_e]!=nr||y[dt+_e-1]!=bi||y[dt]!=y[St]||y[++dt]!=y[St+1])){St+=2,dt++;do;while(y[++St]==y[++dt]&&y[++St]==y[++dt]&&y[++St]==y[++dt]&&y[++St]==y[++dt]&&y[++St]==y[++dt]&&y[++St]==y[++dt]&&y[++St]==y[++dt]&&y[++St]==y[++dt]&&St_e){if(N=It,_e=Le,Le>=vt)break;bi=y[St+_e-1],nr=y[St+_e]}}while((It=w[It&wt]&65535)>Oe&&--Pt!==0);return _e<=H?_e:H}function et(It){let Pt=0,St;for(;;){if(H=Vh&&(M=(M<=Vh)if(St=ze(U-N,T-Vh),H-=T,T<=X&&H>=Vh){T--;do U++,M=(M<=Vh&&(M=(M<4096)&&(T=Vh-1)),J>=Vh&&T<=J){dt=U+H-Vh,St=ze(U-1-L,J-Vh),H-=J-1,J-=2;do++U<=dt&&(M=(M<MDt||dt!=Fae||St<9||St>15||Pt<0||Pt>9||_e<0||_e>2?-2:(It.dstate=o,I=St,E=1<9||St<0||St>2?-2:(b_[j].func!=b_[Pt].func&&It.total_in!==0&&(dt=It.deflate(1)),j!=Pt&&(j=Pt,X=b_[j].max_lazy,ie=b_[j].good_length,z=b_[j].nice_length,K=b_[j].max_chain),ee=St,dt)},o.deflateSetDictionary=function(It,Pt,St){let dt=St,Le,_e=0;if(!Pt||f!=Lae)return-2;if(dtE-WI&&(dt=E-WI,_e=St-dt),y.set(Pt.subarray(_e,_e+dt),0),U=dt,R=dt,M=y[0]&255,M=(M<4||Pt<0)return-2;if(!It.next_out||!It.next_in&&It.avail_in!==0||f==c8&&Pt!=4)return It.msg=D7[2- -2],-2;if(It.avail_out===0)return It.msg=D7[2- -5],-5;if(A=It,_e=C,C=Pt,f==Lae&&(dt=Fae+(I-8<<4)<<8,Le=(j-1&255)>>1,Le>3&&(Le=3),dt|=Le<<6,U!==0&&(dt|=PDt),dt+=31-dt%31,f=P7,He(dt)),o.pending!==0){if(A.flush_pending(),A.avail_out===0)return C=-1,0}else if(A.avail_in===0&&Pt<=_e&&Pt!=4)return A.msg=D7[2- -5],-5;if(f==c8&&A.avail_in!==0)return It.msg=D7[2- -5],-5;if(A.avail_in!==0||H!==0||Pt!=0&&f!=c8){switch(Oe=-1,b_[j].func){case $Ge:Oe=ft(Pt);break;case Uq:Oe=et(Pt);break;case ML:Oe=pt(Pt);break;default:}if((Oe==u8||Oe==T7)&&(f=c8),Oe==Q_||Oe==u8)return A.avail_out===0&&(C=-1),0;if(Oe==M7){if(Pt==1)Ue();else if(rt(0,0,!1),Pt==3)for(St=0;Stf&&(C=f),C===0?0:(m.avail_in-=C,o.set(m.next_in.subarray(m.next_in_index,m.next_in_index+C),A),m.next_in_index+=C,m.total_in+=C,C)},flush_pending:function(){let o=this,A=o.dstate.pending;A>o.avail_out&&(A=o.avail_out),A!==0&&(o.next_out.set(o.dstate.pending_buf.subarray(o.dstate.pending_out,o.dstate.pending_out+A),o.next_out_index),o.next_out_index+=A,o.dstate.pending_out+=A,o.total_out+=A,o.avail_out-=A,o.dstate.pending-=A,o.dstate.pending===0&&(o.dstate.pending_out=0))}};function NDt(o){let A=this,f=new e8e,m=kDt(o&&o.chunkSize?o.chunkSize:64*1024),C=0,E=new Uint8Array(m),I=o?o.level:-1;typeof I>"u"&&(I=-1),f.deflateInit(I),f.next_out=E,A.append=function(x,y){let v,w,Q=0,M=0,B=0,D=[];if(x.length){f.next_in_index=0,f.next_in=x,f.avail_in=x.length;do{if(f.next_out_index=0,f.avail_out=m,v=f.deflate(C),v!=0)throw new Error("deflating: "+f.msg);f.next_out_index&&(f.next_out_index==m?D.push(new Uint8Array(E)):D.push(E.slice(0,f.next_out_index))),B+=f.next_out_index,y&&f.next_in_index>0&&f.next_in_index!=Q&&(y(f.next_in_index),Q=f.next_in_index)}while(f.avail_in>0||f.avail_out===0);return D.length>1?(w=new Uint8Array(B),D.forEach(function(S){w.set(S,M),M+=S.length})):w=D[0]||new Uint8Array(0),w}},A.flush=function(){let x,y,v=0,w=0,Q=[];do{if(f.next_out_index=0,f.avail_out=m,x=f.deflate(4),x!=1&&x!=0)throw new Error("deflating: "+f.msg);m-f.avail_out>0&&Q.push(E.slice(0,f.next_out_index)),w+=f.next_out_index}while(f.avail_in>0||f.avail_out===0);return f.deflateEnd(),y=new Uint8Array(w),Q.forEach(function(M){y.set(M,v),v+=M.length}),y}}function kDt(o){return o+5*(Math.floor(o/16383)+1)}var UDt=NDt,$I=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],t8e=1440,ODt=0,GDt=4,HDt=9,VDt=5,zDt=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],YDt=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],JDt=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],KDt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],WDt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],qDt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],$M=15;function fue(){let o=this,A,f,m,C,E,I;function x(v,w,Q,M,B,D,S,P,R,T,L){let F,U,N,H,J,K,X,j,ee,ie,z,oe,le,Ae,he;ie=0,J=Q;do m[v[w+ie]]++,ie++,J--;while(J!==0);if(m[0]==Q)return S[0]=-1,P[0]=0,0;for(j=P[0],K=1;K<=$M&&m[K]===0;K++);for(X=K,jJ&&(j=J),P[0]=j,Ae=1<oe+j;){if(H++,oe+=j,he=N-oe,he=he>j?j:he,(U=1<<(K=X-oe))>F+1&&(U-=F+1,le=X,Kt8e)return-3;E[H]=z=T[0],T[0]+=he,H!==0?(I[H]=J,C[0]=K,C[1]=j,K=J>>>oe-j,C[2]=z-E[H-1]-K,R.set(C,(E[H-1]+K)*3)):S[0]=z}for(C[1]=X-oe,ie>=Q?C[0]=128+64:L[ie]>>oe;K>>=1)J^=K;for(J^=K,ee=(1<257?(T==-3?R.msg="oversubscribed distance tree":T==-5?(R.msg="incomplete distance tree",T=-3):T!=-4&&(R.msg="empty distance tree with lengths",T=-3),T):0)}}fue.inflate_trees_fixed=function(o,A,f,m){return o[0]=HDt,A[0]=VDt,f[0]=zDt,m[0]=YDt,0};var R7=0,YTe=1,JTe=2,KTe=3,WTe=4,qTe=5,jTe=6,kae=7,XTe=8,L7=9;function jDt(){let o=this,A,f=0,m,C=0,E=0,I=0,x=0,y=0,v=0,w=0,Q,M=0,B,D=0;function S(P,R,T,L,F,U,N,H){let J,K,X,j,ee,ie,z,oe,le,Ae,he,ge,de,fe,G,Y;z=H.next_in_index,oe=H.avail_in,ee=N.bitb,ie=N.bitk,le=N.write,Ae=le>=K[Y+1],ie-=K[Y+1],N.win[le++]=K[Y+2],Ae--;continue}do{if(ee>>=K[Y+1],ie-=K[Y+1],j&16){for(j&=15,de=K[Y+2]+(ee&$I[j]),ee>>=j,ie-=j;ie<15;)oe--,ee|=(H.read_byte(z++)&255)<>=K[Y+1],ie-=K[Y+1],j&16){for(j&=15;ie>=j,ie-=j,Ae-=de,le>=fe)G=le-fe,le-G>0&&2>le-G?(N.win[le++]=N.win[G++],N.win[le++]=N.win[G++],de-=2):(N.win.set(N.win.subarray(G,G+2),le),le+=2,G+=2,de-=2);else{G=le-fe;do G+=N.end;while(G<0);if(j=N.end-G,de>j){if(de-=j,le-G>0&&j>le-G)do N.win[le++]=N.win[G++];while(--j!==0);else N.win.set(N.win.subarray(G,G+j),le),le+=j,G+=j,j=0;G=0}}if(le-G>0&&de>le-G)do N.win[le++]=N.win[G++];while(--de!==0);else N.win.set(N.win.subarray(G,G+de),le),le+=de,G+=de,de=0;break}else if(!(j&64))J+=K[Y+2],J+=ee&$I[j],Y=(X+J)*3,j=K[Y];else return H.msg="invalid distance code",de=H.avail_in-oe,de=ie>>3>3:de,oe+=de,z-=de,ie-=de<<3,N.bitb=ee,N.bitk=ie,H.avail_in=oe,H.total_in+=z-H.next_in_index,H.next_in_index=z,N.write=le,-3;while(!0);break}if(j&64)return j&32?(de=H.avail_in-oe,de=ie>>3>3:de,oe+=de,z-=de,ie-=de<<3,N.bitb=ee,N.bitk=ie,H.avail_in=oe,H.total_in+=z-H.next_in_index,H.next_in_index=z,N.write=le,1):(H.msg="invalid literal/length code",de=H.avail_in-oe,de=ie>>3>3:de,oe+=de,z-=de,ie-=de<<3,N.bitb=ee,N.bitk=ie,H.avail_in=oe,H.total_in+=z-H.next_in_index,H.next_in_index=z,N.write=le,-3);if(J+=K[Y+2],J+=ee&$I[j],Y=(X+J)*3,(j=K[Y])===0){ee>>=K[Y+1],ie-=K[Y+1],N.win[le++]=K[Y+2],Ae--;break}}while(!0)}while(Ae>=258&&oe>=10);return de=H.avail_in-oe,de=ie>>3>3:de,oe+=de,z-=de,ie-=de<<3,N.bitb=ee,N.bitk=ie,H.avail_in=oe,H.total_in+=z-H.next_in_index,H.next_in_index=z,N.write=le,0}o.init=function(P,R,T,L,F,U){A=R7,v=P,w=R,Q=T,M=L,B=F,D=U,m=null},o.proc=function(P,R,T){let L,F,U,N=0,H=0,J=0,K,X,j,ee;for(J=R.next_in_index,K=R.avail_in,N=P.bitb,H=P.bitk,X=P.write,j=X=258&&K>=10&&(P.bitb=N,P.bitk=H,R.avail_in=K,R.total_in+=J-R.next_in_index,R.next_in_index=J,P.write=X,T=S(v,w,Q,M,B,D,P,R),J=R.next_in_index,K=R.avail_in,N=P.bitb,H=P.bitk,X=P.write,j=X>>=m[F+1],H-=m[F+1],U=m[F],U===0){I=m[F+2],A=jTe;break}if(U&16){x=U&15,f=m[F+2],A=JTe;break}if(!(U&64)){E=U,C=F/3+m[F+2];break}if(U&32){A=kae;break}return A=L7,R.msg="invalid literal/length code",T=-3,P.bitb=N,P.bitk=H,R.avail_in=K,R.total_in+=J-R.next_in_index,R.next_in_index=J,P.write=X,P.inflate_flush(R,T);case JTe:for(L=x;H>=L,H-=L,E=w,m=B,C=D,A=KTe;case KTe:for(L=E;H>=m[F+1],H-=m[F+1],U=m[F],U&16){x=U&15,y=m[F+2],A=WTe;break}if(!(U&64)){E=U,C=F/3+m[F+2];break}return A=L7,R.msg="invalid distance code",T=-3,P.bitb=N,P.bitk=H,R.avail_in=K,R.total_in+=J-R.next_in_index,R.next_in_index=J,P.write=X,P.inflate_flush(R,T);case WTe:for(L=x;H>=L,H-=L,A=qTe;case qTe:for(ee=X-y;ee<0;)ee+=P.end;for(;f!==0;){if(j===0&&(X==P.end&&P.read!==0&&(X=0,j=X7&&(H-=8,K++,J--),P.write=X,T=P.inflate_flush(R,T),X=P.write,j=XS.avail_out&&(R=S.avail_out),R!==0&&P==-5&&(P=0),S.avail_out-=R,S.total_out+=R,S.next_out.set(f.win.subarray(L,L+R),T),T+=R,L+=R,L==f.end&&(L=0,f.write==f.end&&(f.write=0),R=f.write-L,R>S.avail_out&&(R=S.avail_out),R!==0&&P==-5&&(P=0),S.avail_out-=R,S.total_out+=R,S.next_out.set(f.win.subarray(L,L+R),T),T+=R,L+=R),S.next_out_index=T,f.read=L,P},f.proc=function(S,P){let R,T,L,F,U,N,H,J;for(F=S.next_in_index,U=S.avail_in,T=f.bitb,L=f.bitk,N=f.write,H=N>>1){case 0:T>>>=3,L-=3,R=L&7,T>>>=R,L-=R,m=Uae;break;case 1:K=[],X=[],j=[[]],ee=[[]],fue.inflate_trees_fixed(K,X,j,ee),w.init(K[0],X[0],j[0],0,ee[0],0),T>>>=3,L-=3,m=F7;break;case 2:T>>>=3,L-=3,m=e2e;break;case 3:return T>>>=3,L-=3,m=hL,S.msg="invalid block type",P=-3,f.bitb=T,f.bitk=L,S.avail_in=U,S.total_in+=F-S.next_in_index,S.next_in_index=F,f.write=N,f.inflate_flush(S,P)}break;case Uae:for(;L<32;){if(U!==0)P=0;else return f.bitb=T,f.bitk=L,S.avail_in=U,S.total_in+=F-S.next_in_index,S.next_in_index=F,f.write=N,f.inflate_flush(S,P);U--,T|=(S.read_byte(F++)&255)<>>16&65535)!=(T&65535))return m=hL,S.msg="invalid stored block lengths",P=-3,f.bitb=T,f.bitk=L,S.avail_in=U,S.total_in+=F-S.next_in_index,S.next_in_index=F,f.write=N,f.inflate_flush(S,P);C=T&65535,T=L=0,m=C!==0?$Te:Q!==0?N7:Yk;break;case $Te:if(U===0||H===0&&(N==f.end&&f.read!==0&&(N=0,H=NU&&(R=U),R>H&&(R=H),f.win.set(S.read_buf(F,R),N),F+=R,U-=R,N+=R,H-=R,(C-=R)!==0)break;m=Q!==0?N7:Yk;break;case e2e:for(;L<14;){if(U!==0)P=0;else return f.bitb=T,f.bitk=L,S.avail_in=U,S.total_in+=F-S.next_in_index,S.next_in_index=F,f.write=N,f.inflate_flush(S,P);U--,T|=(S.read_byte(F++)&255)<29||(R>>5&31)>29)return m=hL,S.msg="too many length or distance symbols",P=-3,f.bitb=T,f.bitk=L,S.avail_in=U,S.total_in+=F-S.next_in_index,S.next_in_index=F,f.write=N,f.inflate_flush(S,P);if(R=258+(R&31)+(R>>5&31),!x||x.length>>=14,L-=14,I=0,m=t2e;case t2e:for(;I<4+(E>>>10);){for(;L<3;){if(U!==0)P=0;else return f.bitb=T,f.bitk=L,S.avail_in=U,S.total_in+=F-S.next_in_index,S.next_in_index=F,f.write=N,f.inflate_flush(S,P);U--,T|=(S.read_byte(F++)&255)<>>=3,L-=3}for(;I<19;)x[ZTe[I++]]=0;if(y[0]=7,R=D.inflate_trees_bits(x,y,v,M,S),R!=0)return P=R,P==-3&&(x=null,m=hL),f.bitb=T,f.bitk=L,S.avail_in=U,S.total_in+=F-S.next_in_index,S.next_in_index=F,f.write=N,f.inflate_flush(S,P);I=0,m=i2e;case i2e:for(;R=E,!(I>=258+(R&31)+(R>>5&31));){let Ae,he;for(R=y[0];L>>=R,L-=R,x[I++]=he;else{for(J=he==18?7:he-14,Ae=he==18?11:3;L>>=R,L-=R,Ae+=T&$I[J],T>>>=J,L-=J,J=I,R=E,J+Ae>258+(R&31)+(R>>5&31)||he==16&&J<1)return x=null,m=hL,S.msg="invalid bit length repeat",P=-3,f.bitb=T,f.bitk=L,S.avail_in=U,S.total_in+=F-S.next_in_index,S.next_in_index=F,f.write=N,f.inflate_flush(S,P);he=he==16?x[J-1]:0;do x[J++]=he;while(--Ae!==0);I=J}}if(v[0]=-1,ie=[],z=[],oe=[],le=[],ie[0]=9,z[0]=6,R=E,R=D.inflate_trees_dynamic(257+(R&31),1+(R>>5&31),x,ie,z,oe,le,M,S),R!=0)return R==-3&&(x=null,m=hL),P=R,f.bitb=T,f.bitk=L,S.avail_in=U,S.total_in+=F-S.next_in_index,S.next_in_index=F,f.write=N,f.inflate_flush(S,P);w.init(ie[0],z[0],M,oe[0],M,le[0]),m=F7;case F7:if(f.bitb=T,f.bitk=L,S.avail_in=U,S.total_in+=F-S.next_in_index,S.next_in_index=F,f.write=N,(P=w.proc(f,S,P))!=1)return f.inflate_flush(S,P);if(P=0,w.free(S),F=S.next_in_index,U=S.avail_in,T=f.bitb,L=f.bitk,N=f.write,H=N15?(o.inflateEnd(f),-2):(o.wbits=m,f.istate.blocks=new XDt(f,1<>4)+8>I.wbits){I.mode=eT,f.msg="invalid win size",I.marker=5;break}I.mode=n2e;case n2e:if(f.avail_in===0)return C;if(C=m,f.avail_in--,f.total_in++,E=f.read_byte(f.next_in_index++)&255,((I.method<<8)+E)%31!==0){I.mode=eT,f.msg="incorrect header check",I.marker=5;break}if(!(E&ZDt)){I.mode=h8;break}I.mode=o2e;case o2e:if(f.avail_in===0)return C;C=m,f.avail_in--,f.total_in++,I.need=(f.read_byte(f.next_in_index++)&255)<<24&4278190080,I.mode=a2e;case a2e:if(f.avail_in===0)return C;C=m,f.avail_in--,f.total_in++,I.need+=(f.read_byte(f.next_in_index++)&255)<<16&16711680,I.mode=s2e;case s2e:if(f.avail_in===0)return C;C=m,f.avail_in--,f.total_in++,I.need+=(f.read_byte(f.next_in_index++)&255)<<8&65280,I.mode=l2e;case l2e:return f.avail_in===0?C:(C=m,f.avail_in--,f.total_in++,I.need+=f.read_byte(f.next_in_index++)&255,I.mode=Oae,2);case Oae:return I.mode=eT,f.msg="need dictionary",I.marker=0,-2;case h8:if(C=I.blocks.proc(f,C),C==-3){I.mode=eT,I.marker=0;break}if(C==0&&(C=m),C!=1)return C;C=m,I.blocks.reset(f,I.was),I.mode=A2e;case A2e:return f.avail_in=0,1;case eT:return-3;default:return-2}},o.inflateSetDictionary=function(f,m,C){let E=0,I=C;if(!f||!f.istate||f.istate.mode!=Oae)return-2;let x=f.istate;return I>=1<0&&f.next_in_index!=M&&(y(f.next_in_index),M=f.next_in_index)}while(f.avail_in>0||f.avail_out===0);return v.length>1?(Q=new Uint8Array(D),v.forEach(function(S){Q.set(S,B),B+=S.length})):Q=v[0]||new Uint8Array(0),Q}},A.flush=function(){f.inflateEnd()}}var nMt=rMt,oMt={chunkSize:524288,maxWorkers:typeof navigator<"u"&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},RE=Object.assign({},oMt);function r8e(){return RE}function D0e(o){if(o.baseURL!==void 0&&(RE.baseURL=o.baseURL),o.chunkSize!==void 0&&(RE.chunkSize=o.chunkSize),o.maxWorkers!==void 0&&(RE.maxWorkers=o.maxWorkers),o.terminateWorkerTimeout!==void 0&&(RE.terminateWorkerTimeout=o.terminateWorkerTimeout),o.useWebWorkers!==void 0&&(RE.useWebWorkers=o.useWebWorkers),o.Deflate!==void 0&&(RE.Deflate=o.Deflate),o.Inflate!==void 0&&(RE.Inflate=o.Inflate),o.workerScripts!==void 0){if(o.workerScripts.deflate){if(!Array.isArray(o.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");RE.workerScripts||(RE.workerScripts={}),RE.workerScripts.deflate=o.workerScripts.deflate}if(o.workerScripts.inflate){if(!Array.isArray(o.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");RE.workerScripts||(RE.workerScripts={}),RE.workerScripts.inflate=o.workerScripts.inflate}}}var n8e=[];for(let o=0;o<256;o++){let A=o;for(let f=0;f<8;f++)A&1?A=A>>>1^3988292384:A=A>>>1;n8e[o]=A}var aMt=class{constructor(o){this.crc=o||-1}append(o){let A=this.crc|0;for(let f=0,m=o.length|0;f>>8^n8e[(A^o[f])&255];this.crc=A}get(){return~this.crc}},kV=aMt,pue=sMt;function sMt(o){if(typeof TextEncoder>"u"){o=unescape(encodeURIComponent(o));let A=new Uint8Array(o.length);for(let f=0;f0&&A&&(o[f-1]=IC.partial(A,o[f-1]&2147483648>>A-1,1)),o},partial(o,A,f){return o===32?A:(f?A|0:A<<32-o)+o*1099511627776},getPartial(o){return Math.round(o/1099511627776)||32},_shiftRight(o,A,f,m){for(m===void 0&&(m=[]);A>=32;A-=32)m.push(f),f=0;if(A===0)return m.concat(o);for(let I=0;I>>A),f=o[I]<<32-A;let C=o.length?o[o.length-1]:0,E=IC.getPartial(C);return m.push(IC.partial(A+E&31,A+E>32?f:m.pop(),1)),m}},Rj={bytes:{fromBits(o){let A=IC.bitLength(o)/8,f=new Uint8Array(A),m;for(let C=0;C>>24,m<<=8;return f},toBits(o){let A=[],f,m=0;for(f=0;f9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");let E=new Uint32Array(f),I=0;for(let x=A.blockSize+m-(A.blockSize+m&A.blockSize-1);x<=C;x+=A.blockSize)A._block(E.subarray(16*I,16*(I+1))),I+=1;return f.splice(0,16*I),A},finalize:function(){let o=this,A=o._buffer,f=o._h;A=IC.concat(A,[IC.partial(1,1)]);for(let m=A.length+2;m&15;m++)A.push(0);for(A.push(Math.floor(o._length/4294967296)),A.push(o._length|0);A.length;)o._block(A.splice(0,16));return o.reset(),f},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(o,A,f,m){if(o<=19)return A&f|~A&m;if(o<=39)return A^f^m;if(o<=59)return A&f|A&m|f&m;if(o<=79)return A^f^m},_S:function(o,A){return A<>>32-o},_block:function(o){let A=this,f=A._h,m=Array(80);for(let v=0;v<16;v++)m[v]=o[v];let C=f[0],E=f[1],I=f[2],x=f[3],y=f[4];for(let v=0;v<=79;v++){v>=16&&(m[v]=A._S(1,m[v-3]^m[v-8]^m[v-14]^m[v-16]));let w=A._S(5,C)+A._f(v,E,I,x)+y+m[v]+A._key[Math.floor(v/20)]|0;y=x,x=I,I=A._S(30,E),E=C,C=w}f[0]=f[0]+C|0,f[1]=f[1]+E|0,f[2]=f[2]+I|0,f[3]=f[3]+x|0,f[4]=f[4]+y|0}};var o8e={};o8e.aes=class{constructor(o){let A=this;A._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],A._tables[0][0][0]||A._precompute();let f=A._tables[0][4],m=A._tables[1],C=o.length,E,I,x,y=1;if(C!==4&&C!==6&&C!==8)throw new Error("invalid aes key size");for(A._key=[I=o.slice(0),x=[]],E=C;E<4*C+28;E++){let v=I[E-1];(E%C===0||C===8&&E%C===4)&&(v=f[v>>>24]<<24^f[v>>16&255]<<16^f[v>>8&255]<<8^f[v&255],E%C===0&&(v=v<<8^v>>>24^y<<24,y=y<<1^(y>>7)*283)),I[E]=I[E-C]^v}for(let v=0;E;v++,E--){let w=I[v&3?E:E-4];E<=4||v<4?x[v]=w:x[v]=m[0][f[w>>>24]]^m[1][f[w>>16&255]]^m[2][f[w>>8&255]]^m[3][f[w&255]]}}encrypt(o){return this._crypt(o,0)}decrypt(o){return this._crypt(o,1)}_precompute(){let o=this._tables[0],A=this._tables[1],f=o[4],m=A[4],C=[],E=[],I,x,y,v;for(let w=0;w<256;w++)E[(C[w]=w<<1^(w>>7)*283)^w]=w;for(let w=I=0;!f[w];w^=x||1,I=E[I]||1){let Q=I^I<<1^I<<2^I<<3^I<<4;Q=Q>>8^Q&255^99,f[w]=Q,m[Q]=w,v=C[y=C[x=C[w]]];let M=v*16843009^y*65537^x*257^w*16843008,B=C[Q]*257^Q*16843008;for(let D=0;D<4;D++)o[D][w]=B=B<<24^B>>>8,A[D][Q]=M=M<<24^M>>>8}for(let w=0;w<5;w++)o[w]=o[w].slice(0),A[w]=A[w].slice(0)}_crypt(o,A){if(o.length!==4)throw new Error("invalid aes block size");let f=this._key[A],m=f.length/4-2,C=[0,0,0,0],E=this._tables[A],I=E[0],x=E[1],y=E[2],v=E[3],w=E[4],Q=o[0]^f[0],M=o[A?3:1]^f[1],B=o[2]^f[2],D=o[A?1:3]^f[3],S=4,P,R,T;for(let L=0;L>>24]^x[M>>16&255]^y[B>>8&255]^v[D&255]^f[S],R=I[M>>>24]^x[B>>16&255]^y[D>>8&255]^v[Q&255]^f[S+1],T=I[B>>>24]^x[D>>16&255]^y[Q>>8&255]^v[M&255]^f[S+2],D=I[D>>>24]^x[Q>>16&255]^y[M>>8&255]^v[B&255]^f[S+3],S+=4,Q=P,M=R,B=T;for(let L=0;L<4;L++)C[A?3&-L:L]=w[Q>>>24]<<24^w[M>>16&255]<<16^w[B>>8&255]<<8^w[D&255]^f[S++],P=Q,Q=M,M=B,B=D,D=P;return C}};var lMt={getRandomValues(o){let A=new Uint32Array(o.buffer),f=m=>{let C=987654321,E=4294967295;return function(){return C=36969*(C&65535)+(C>>16)&E,m=18e3*(m&65535)+(m>>16)&E,(((C<<16)+m&E)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let m=0,C;m>24&255)===255){let A=o>>16&255,f=o>>8&255,m=o&255;A===255?(A=0,f===255?(f=0,m===255?m=0:++m):++f):++A,o=0,o+=A<<16,o+=f<<8,o+=m}else o+=1<<24;return o}incCounter(o){(o[0]=this.incWord(o[0]))===0&&(o[1]=this.incWord(o[1]))}calculate(o,A,f){let m;if(!(m=A.length))return[];let C=IC.bitLength(A);for(let E=0;E>5)+1<<2,E,I,x,y,v,w=new ArrayBuffer(C),Q=new DataView(w),M=0,B=IC;for(A=Rj.bytes.toBits(A),v=1;M<(C||1);v++){for(E=I=o.encrypt(B.concat(A,[v])),x=1;xC&&(o=f.hash(o));for(let E=0;Eo.length){let f=o;o=new Uint8Array(A),o.set(f,0)}return o}function Ax(o,A,f){return o.subarray(A,f)}var tU=12,yMt=class{constructor(o,A){let f=this;Object.assign(f,{password:o,passwordVerification:A}),m8e(f,o)}append(o){let A=this;if(A.password){let f=u2e(A,o.subarray(0,tU));if(A.password=null,f[tU-1]!=A.passwordVerification)throw new Error(s8e);o=o.subarray(tU)}return u2e(A,o)}flush(){return{valid:!0,data:new Uint8Array(0)}}},vMt=class{constructor(o,A){let f=this;Object.assign(f,{password:o,passwordVerification:A}),m8e(f,o)}append(o){let A=this,f,m;if(A.password){A.password=null;let C=crypto.getRandomValues(new Uint8Array(tU));C[tU-1]=A.passwordVerification,f=new Uint8Array(o.length+C.length),f.set(c2e(A,C),0),m=tU}else f=new Uint8Array(o.length),m=0;return f.set(c2e(A,o),m),f}flush(){return{data:new Uint8Array(0)}}};function u2e(o,A){let f=new Uint8Array(A.length);for(let m=0;m>>24]),o.keys[2]=~o.crcKey2.get()}function C8e(o){let A=o.keys[2]|2;return E8e(Math.imul(A,A^1)>>>8)}function E8e(o){return o&255}function h2e(o){return o&4294967295}var I8e="deflate",x8e="inflate",d2e="Invalid signature",_Mt=class{constructor(o,{signature:A,password:f,signed:m,compressed:C,zipCrypto:E,passwordVerification:I,encryptionStrength:x},{chunkSize:y}){let v=!!f;Object.assign(this,{signature:A,encrypted:v,signed:m,compressed:C,inflate:C&&new o({chunkSize:y}),crc32:m&&new kV,zipCrypto:E,decrypt:v&&E?new yMt(f,I):new gMt(f,m,x)})}async append(o){let A=this;return A.encrypted&&o.length&&(o=await A.decrypt.append(o)),A.compressed&&o.length&&(o=await A.inflate.append(o)),(!A.encrypted||A.zipCrypto)&&A.signed&&o.length&&A.crc32.append(o),o}async flush(){let o=this,A,f=new Uint8Array(0);if(o.encrypted){let m=o.decrypt.flush();if(!m.valid)throw new Error(d2e);f=m.data}if((!o.encrypted||o.zipCrypto)&&o.signed){let m=new DataView(new Uint8Array(4).buffer);if(A=o.crc32.get(),m.setUint32(0,A),o.signature!=m.getUint32(0,!1))throw new Error(d2e)}return o.compressed&&(f=await o.inflate.append(f)||new Uint8Array(0),await o.inflate.flush()),{data:f,signature:A}}},BMt=class{constructor(o,{encrypted:A,signed:f,compressed:m,level:C,zipCrypto:E,password:I,passwordVerification:x,encryptionStrength:y},{chunkSize:v}){Object.assign(this,{encrypted:A,signed:f,compressed:m,deflate:m&&new o({level:C||5,chunkSize:v}),crc32:f&&new kV,zipCrypto:E,encrypt:A&&E?new vMt(I,x):new fMt(I,y)})}async append(o){let A=this,f=o;return A.compressed&&o.length&&(f=await A.deflate.append(o)),A.encrypted&&f.length&&(f=await A.encrypt.append(f)),(!A.encrypted||A.zipCrypto)&&A.signed&&o.length&&A.crc32.append(o),f}async flush(){let o=this,A,f=new Uint8Array(0);if(o.compressed&&(f=await o.deflate.flush()||new Uint8Array(0)),o.encrypted){f=await o.encrypt.append(f);let m=o.encrypt.flush();A=m.signature;let C=new Uint8Array(f.length+m.data.length);C.set(f,0),C.set(m.data,f.length),f=C}return(!o.encrypted||o.zipCrypto)&&o.signed&&(A=o.crc32.get()),{data:f,signature:A}}};function wMt(o,A,f){if(A.codecType.startsWith(I8e))return new BMt(o,A,f);if(A.codecType.startsWith(x8e))return new _Mt(o,A,f)}var g2e="init",f2e="append",Gae="flush",bMt="message",p2e=!0,Hae=(o,A,f,m,C,E,I)=>(Object.assign(o,{busy:!0,codecConstructor:A,options:Object.assign({},f),scripts:I,terminate(){o.worker&&!o.busy&&(o.worker.terminate(),o.interface=null)},onTaskFinished(){o.busy=!1,C(o)}}),E?SMt(o,m):QMt(o,m));function QMt(o,A){let f=wMt(o.codecConstructor,o.options,A);return{async append(m){try{return await f.append(m)}catch(C){throw o.onTaskFinished(),C}},async flush(){try{return await f.flush()}finally{o.onTaskFinished()}},abort(){o.onTaskFinished()}}}function SMt(o,A){let f,m={type:"module"};if(!o.interface){if(!p2e)o.worker=C(m,A.baseURL);else try{o.worker=C({},A.baseURL)}catch{p2e=!1,o.worker=C(m,A.baseURL)}o.worker.addEventListener(bMt,x,!1),o.interface={append(y){return E({type:f2e,data:y})},flush(){return E({type:Gae})},abort(){o.onTaskFinished()}}}return o.interface;function C(y,v){let w,Q;w=o.scripts[0],typeof w=="function"&&(w=w());try{Q=new URL(w,v)}catch{Q=w}return new Worker(Q,y)}async function E(y){if(!f){let v=o.options,w=o.scripts.slice(1);await I({scripts:w,type:g2e,options:v,config:{chunkSize:A.chunkSize}})}return I(y)}function I(y){let v=o.worker,w=new Promise((Q,M)=>f={resolve:Q,reject:M});try{if(y.data)try{y.data=y.data.buffer,v.postMessage(y,[y.data])}catch{v.postMessage(y)}else v.postMessage(y)}catch(Q){f.reject(Q),f=null,o.onTaskFinished()}return w}function x(y){let v=y.data;if(f){let w=v.error,Q=v.type;if(w){let M=new Error(w.message);M.stack=w.stack,f.reject(M),f=null,o.onTaskFinished()}else if(Q==g2e||Q==Gae||Q==f2e){let M=v.data;Q==Gae?(f.resolve({data:new Uint8Array(M),signature:v.signature}),f=null,o.onTaskFinished()):f.resolve(M&&new Uint8Array(M))}}}}var dL=[],Vae=[];function y8e(o,A,f){let m=!(!A.compressed&&!A.signed&&!A.encrypted)&&(A.useWebWorkers||A.useWebWorkers===void 0&&f.useWebWorkers),C=m&&f.workerScripts?f.workerScripts[A.codecType]:[];if(dL.length!x.busy);return I?(m2e(I),Hae(I,o,A,f,E,m,C)):new Promise(x=>Vae.push({resolve:x,codecConstructor:o,options:A,webWorker:m,scripts:C}))}function E(I){if(Vae.length){let[{resolve:x,codecConstructor:y,options:v,webWorker:w,scripts:Q}]=Vae.splice(0,1);x(Hae(I,y,v,f,E,w,Q))}else I.worker?(m2e(I),Number.isFinite(f.terminateWorkerTimeout)&&f.terminateWorkerTimeout>=0&&(I.terminateTimeout=setTimeout(()=>{dL=dL.filter(x=>x!=I),I.terminate()},f.terminateWorkerTimeout))):dL=dL.filter(x=>x!=I)}}function m2e(o){o.terminateTimeout&&(clearTimeout(o.terminateTimeout),o.terminateTimeout=null)}var DMt="Abort error";async function v8e(o,A,f,m,C,E,I){let x=Math.max(E.chunkSize,64);return y();async function y(v=0,w=0){let Q=I.signal,M=C();if(v{o.onload=m=>A(m.target.result),o.onerror=()=>f(o.error),o.readAsText(this.blob,this.encoding)})}}},PMt=class extends R0e{constructor(o){super(),this.data="data:"+(o||"")+";base64,",this.pending=[]}writeUint8Array(o){super.writeUint8Array(o);let A=0,f=this.pending,m=this.pending.length;for(this.pending="",A=0;A2?this.data+=btoa(f):this.pending=f}getData(){return this.data+btoa(this.pending)}},L0e=class extends B8e{constructor(o){super(),this.blob=o,this.size=o.size}async readUint8Array(o,A){if(this.blob.arrayBuffer)return new Uint8Array(await this.blob.slice(o,o+A).arrayBuffer());{let f=new FileReader;return new Promise((m,C)=>{f.onload=E=>m(new Uint8Array(E.target.result)),f.onerror=()=>C(f.error),f.readAsArrayBuffer(this.blob.slice(o,o+A))})}}},w8e=class extends R0e{constructor(o){super(),this.contentType=o,this.arrayBuffersMaxlength=8,E2e(this)}writeUint8Array(o){super.writeUint8Array(o),this.arrayBuffers.length==this.arrayBuffersMaxlength&&I2e(this),this.arrayBuffers.push(o.buffer)}getData(){return this.blob||(this.arrayBuffers.length&&I2e(this),this.blob=this.pendingBlob,E2e(this)),this.blob}};function E2e(o){o.pendingBlob=new Blob([],{type:o.contentType}),o.arrayBuffers=[]}function I2e(o){o.pendingBlob=new Blob([o.pendingBlob,...o.arrayBuffers],{type:o.contentType}),o.arrayBuffers=[]}var Gq="/",x2e=new Date(2107,11,31),y2e=new Date(1980,0,1),RMt="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ".split(""),LMt=o=>{let A="";for(let f=0;f"u"){let f=new FileReader;return new Promise((m,C)=>{f.onload=E=>m(E.target.result),f.onerror=()=>C(f.error),f.readAsText(new Blob([o]))})}else return new TextDecoder(A).decode(o)}var NMt=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","version","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"],Lj=class{constructor(o){NMt.forEach(A=>this[A]=o[A])}},Yae="File format is not recognized",kMt="End of central directory not found",UMt="End of Zip64 central directory not found",OMt="End of Zip64 central directory locator not found",GMt="Central directory header not found",HMt="Local file header not found",VMt="Zip64 extra field not found",zMt="File contains encrypted entry",YMt="Encryption method not supported",v2e="Compression method not supported",_2e="utf-8",B2e="cp437",w2e=["uncompressedSize","compressedSize","offset"],JMt=class{constructor(o,A={}){Object.assign(this,{reader:o,options:A,config:r8e()})}async*getEntriesGenerator(o={}){let A=this,f=A.reader;if(f.initialized||await f.init(),f.size<22)throw new Error(Yae);let m=await ZMt(f,101010256,f.size,22,65535*16);if(!m)throw new Error(kMt);let C=fm(m),E=o0(C,12),I=o0(C,16),x=hx(C,8),y=0;if(I==4294967295||E==4294967295||x==65535){let M=await MT(f,m.offset-20,20),B=fm(M);if(o0(B,0)!=117853008)throw new Error(UMt);I=Hq(B,8);let D=await MT(f,I,56),S=fm(D),P=m.offset-20-56;if(o0(S,0)!=101075792&&I!=P){let R=I;I=P,y=I-R,D=await MT(f,I,56),S=fm(D)}if(o0(S,0)!=101075792)throw new Error(OMt);x=Hq(S,32),E=Hq(S,40),I-=E}if(I<0||I>=f.size)throw new Error(Yae);let v=0,w=await MT(f,I,E),Q=fm(w);if(E){let M=m.offset-E;if(o0(Q,v)!=33639248&&I!=M){let B=I;I=M,y=I-B,w=await MT(f,I,E),Q=fm(w)}}if(I<0||I>=f.size)throw new Error(Yae);for(let M=0;MB.getData(X,K,j),v=F,o.onprogress)try{o.onprogress(M+1,x,new Lj(B))}catch{}yield K}return!0}async getEntries(o={}){let A=[],f=this.getEntriesGenerator(o),m=f.next();for(;!(await m).done;)A.push((await m).value),m=f.next();return A}async close(){}},KMt=class{constructor(o,A,f){Object.assign(this,{reader:o,config:A,options:f})}async getData(o,A,f={}){let m=this,{reader:C,offset:E,extraFieldAES:I,compressionMethod:x,config:y,bitFlag:v,signature:w,rawLastModDate:Q,compressedSize:M}=m,B=m.localDirectory={};C.initialized||await C.init();let D=await MT(C,E,30),S=fm(D),P=H5(m,f,"password");if(P=P&&P.length&&P,I&&I.originalCompressionMethod!=99)throw new Error(v2e);if(x!=0&&x!=8)throw new Error(v2e);if(o0(S,0)!=67324752)throw new Error(HMt);b8e(B,S,4),D=await MT(C,E,30+B.filenameLength+B.extraFieldLength),B.rawExtraField=D.subarray(30+B.filenameLength),await Q8e(m,B,S,4),A.lastAccessDate=B.lastAccessDate,A.creationDate=B.creationDate;let R=m.encrypted&&B.encrypted,T=R&&!I;if(R){if(!T&&I.strength===void 0)throw new Error(YMt);if(!P)throw new Error(zMt)}let L=await y8e(y.Inflate,{codecType:x8e,password:P,zipCrypto:T,encryptionStrength:I&&I.strength,signed:H5(m,f,"checkSignature"),passwordVerification:T&&(v.dataDescriptor?Q>>>8&255:w>>>24&255),signature:w,compressed:x!=0,encrypted:R,useWebWorkers:H5(m,f,"useWebWorkers")},y);o.initialized||await o.init();let F=H5(m,f,"signal"),U=E+30+B.filenameLength+B.extraFieldLength;return await v8e(L,C,o,U,()=>M,y,{onprogress:f.onprogress,signal:F}),o.getData()}};function b8e(o,A,f){let m=o.rawBitFlag=hx(A,f+2),C=(m&1)==1,E=o0(A,f+6);Object.assign(o,{encrypted:C,version:hx(A,f),bitFlag:{level:(m&6)>>1,dataDescriptor:(m&8)==8,languageEncodingFlag:(m&2048)==2048},rawLastModDate:E,lastModDate:$Mt(E),filenameLength:hx(A,f+22),extraFieldLength:hx(A,f+24)})}async function Q8e(o,A,f,m){let C=A.rawExtraField,E=A.extraField=new Map,I=fm(new Uint8Array(C)),x=0;try{for(;xA[C]==4294967295);for(let C=0;C{if(A[C]==4294967295)if(o[C]!==void 0)A[C]=o[C];else throw new Error(VMt)})}async function b2e(o,A,f,m,C){let E=fm(o.data);o.version=iU(E,0),o.signature=o0(E,1);let I=new kV;I.append(C[f]);let x=fm(new Uint8Array(4));x.setUint32(0,I.get(),!0),o[A]=await Cue(o.data.subarray(5)),o.valid=!C.bitFlag.languageEncodingFlag&&o.signature==o0(x,0),o.valid&&(m[A]=o[A],m[A+"UTF8"]=!0)}function qMt(o,A,f){let m=fm(o.data);o.vendorVersion=iU(m,0),o.vendorId=iU(m,2);let C=iU(m,4);o.strength=C,o.originalCompressionMethod=f,A.compressionMethod=o.compressionMethod=hx(m,5)}function jMt(o,A){let f=fm(o.data),m=4,C;try{for(;m{if(o.data.length>=I+4){let v=o0(f,I);A[x]=o[x]=new Date(v*1e3);let w=E[y];o[w]=v}I+=4})}async function ZMt(o,A,f,m,C){let E=new Uint8Array(4),I=fm(E);eTt(I,0,A);let x=m+C;return await y(m)||await y(Math.min(x,f));async function y(v){let w=f-v,Q=await MT(o,w,v);for(let M=Q.length-m;M>=0;M--)if(Q[M]==E[0]&&Q[M+1]==E[1]&&Q[M+2]==E[2]&&Q[M+3]==E[3])return{offset:w+M,buffer:Q.slice(M,M+m).buffer}}}function H5(o,A,f){return A[f]===void 0?o.options[f]:A[f]}function $Mt(o){let A=(o&4294901760)>>16,f=o&65535;try{return new Date(1980+((A&65024)>>9),((A&480)>>5)-1,A&31,(f&63488)>>11,(f&2016)>>5,(f&31)*2,0)}catch{}}function Jae(o){return new Date(Number(o/BigInt(1e4)-BigInt(116444736e5)))}function iU(o,A){return o.getUint8(A)}function hx(o,A){return o.getUint16(A,!0)}function o0(o,A){return o.getUint32(A,!0)}function Hq(o,A){return Number(o.getBigUint64(A,!0))}function eTt(o,A,f){o.setUint32(A,f,!0)}function fm(o){return new DataView(o.buffer)}function MT(o,A,f){return o.readUint8Array(A,f)}var tTt="File already exists",iTt="Zip file comment exceeds 64KB",rTt="File entry comment exceeds 64KB",nTt="File entry name exceeds 64KB",Q2e="Version exceeds 65535",oTt="The strength must equal 1, 2, or 3",aTt="Extra field type exceeds 65535",sTt="Extra field data exceeds 64KB",F0e="Zip64 is not supported",S2e=new Uint8Array([7,0,2,0,65,69,3,0,0]),D2e=24,Kae=0,lTt=class{constructor(o,A={}){Object.assign(this,{writer:o,options:A,config:r8e(),files:new Map,offset:o.size,pendingCompressedSize:0,pendingEntries:[],pendingAddFileCalls:new Set})}async add(o="",A,f={}){let m=this;if(Kaem.pendingEntries.push({name:o,reader:A,options:f,resolve:C,reject:E}))}async close(o=new Uint8Array(0),A={}){for(;this.pendingAddFileCalls.size;)await Promise.all(Array.from(this.pendingAddFileCalls));return await hTt(this,o,A),this.writer.getData()}};async function ATt(o,A,f,m){if(A=A.trim(),m.directory&&!A.endsWith(Gq)?A+=Gq:m.directory=A.endsWith(Gq),o.files.has(A))throw new Error(tTt);let C=pue(A);if(C.length>65535)throw new Error(nTt);let E=m.comment||"",I=pue(E);if(I.length>65535)throw new Error(rTt);let x=o.options.version||m.version||0;if(x>65535)throw new Error(Q2e);let y=o.options.versionMadeBy||m.versionMadeBy||20;if(y>65535)throw new Error(Q2e);let v=j0(o,m,"lastModDate")||new Date,w=j0(o,m,"lastAccessDate"),Q=j0(o,m,"creationDate"),M=j0(o,m,"password"),B=j0(o,m,"encryptionStrength")||3,D=j0(o,m,"zipCrypto");if(M!==void 0&&B!==void 0&&(B<1||B>3))throw new Error(oTt);let S=new Uint8Array(0),P=m.extraField;if(P){let le=0,Ae=0;P.forEach(he=>le+=4+he.length),S=new Uint8Array(le),P.forEach((he,ge)=>{if(ge>65535)throw new Error(aTt);if(he.length>65535)throw new Error(sTt);a0(S,new Uint16Array([ge]),Ae),a0(S,new Uint16Array([he.length]),Ae+2),a0(S,he,Ae+4),Ae+=4+he.length})}let R=j0(o,m,"extendedTimestamp");R===void 0&&(R=!0);let T=0,L=j0(o,m,"keepOrder");L===void 0&&(L=!0);let F=0,U=j0(o,m,"msDosCompatible");U===void 0&&(U=!0);let N=j0(o,m,"internalFileAttribute")||0,H=j0(o,m,"externalFileAttribute")||0;f&&(f.initialized||await f.init(),F=f.size,T=gTt(F));let J=m.zip64||o.options.zip64||!1;if(o.offset+o.pendingCompressedSize>=4294967295||F>=4294967295||T>=4294967295){if(m.zip64===!1||o.options.zip64===!1||!L)throw new Error(F0e);J=!0}o.pendingCompressedSize+=T,await Promise.resolve();let K=j0(o,m,"level"),X=j0(o,m,"useWebWorkers"),j=j0(o,m,"bufferedWrite"),ee=j0(o,m,"dataDescriptor"),ie=j0(o,m,"dataDescriptorSignature"),z=j0(o,m,"signal");ee===void 0&&(ee=!0),ee&&ie===void 0&&(ie=!1);let oe=await uTt(o,A,f,Object.assign({},m,{rawFilename:C,rawComment:I,version:x,versionMadeBy:y,lastModDate:v,lastAccessDate:w,creationDate:Q,rawExtraField:S,zip64:J,password:M,level:K,useWebWorkers:X,encryptionStrength:B,extendedTimestamp:R,zipCrypto:D,bufferedWrite:j,keepOrder:L,dataDescriptor:ee,dataDescriptorSignature:ie,signal:z,msDosCompatible:U,internalFileAttribute:N,externalFileAttribute:H}));return T&&(o.pendingCompressedSize-=T),Object.assign(oe,{name:A,comment:E,extraField:P}),new Lj(oe)}async function uTt(o,A,f,m){let C=o.files,E=o.writer,I=Array.from(C.values()).pop(),x={},y,v,w;C.set(A,x);try{let Q,M,B;if(m.keepOrder&&(Q=I&&I.lock),x.lock=B=new Promise(D=>w=D),m.bufferedWrite||o.lockWrite||!m.dataDescriptor?(M=new w8e,M.init(),y=!0):(o.lockWrite=new Promise(D=>v=D),E.initialized||await E.init(),M=E),x=await cTt(f,M,o.config,m),x.lock=B,C.set(A,x),x.filename=A,y){let D=0,S=M.getData();await Promise.all([o.lockWrite,Q]);let P;do P=Array.from(C.values()).find(R=>R.writingBufferedData),P&&await P.lock;while(P&&P.lock);if(x.writingBufferedData=!0,!m.dataDescriptor){let R=await S8e(S,0,26),T=new DataView(R);(!x.encrypted||m.zipCrypto)&&hu(T,14,x.signature),x.zip64?(hu(T,18,4294967295),hu(T,22,4294967295)):(hu(T,18,x.compressedSize),hu(T,22,x.uncompressedSize)),await E.writeUint8Array(new Uint8Array(R)),D=26}await dTt(E,S,D),delete x.writingBufferedData}if(x.offset=o.offset,x.zip64){let D=F_(x.rawExtraFieldZip64);HE(D,20,BigInt(x.offset))}else if(x.offset>=4294967295)throw new Error(F0e);return o.offset+=x.length,x}catch(Q){throw(y&&x.writingBufferedData||!y&&x.dataWritten)&&(Q.corruptedEntry=o.hasCorruptedEntries=!0,x.uncompressedSize&&(o.offset+=x.uncompressedSize)),C.delete(A),Q}finally{w(),v&&v()}}async function cTt(o,A,f,m){let{rawFilename:C,lastAccessDate:E,creationDate:I,password:x,level:y,zip64:v,zipCrypto:w,dataDescriptor:Q,dataDescriptorSignature:M,directory:B,version:D,versionMadeBy:S,rawComment:P,rawExtraField:R,useWebWorkers:T,onprogress:L,signal:F,encryptionStrength:U,extendedTimestamp:N,msDosCompatible:H,internalFileAttribute:J,externalFileAttribute:K}=m,X=!!(x&&x.length),j=y!==0&&!B,ee;if(X&&!w){ee=new Uint8Array(S2e.length+2);let He=F_(ee);Yc(He,0,39169),a0(ee,S2e,2),Fj(He,8,U)}else ee=new Uint8Array(0);let ie,z;if(N){z=new Uint8Array(9+(E?4:0)+(I?4:0));let He=F_(z);Yc(He,0,21589),Yc(He,2,z.length-4);let ke=1+(E?2:0)+(I?4:0);Fj(He,4,ke),hu(He,5,Math.floor(m.lastModDate.getTime()/1e3)),E&&hu(He,9,Math.floor(E.getTime()/1e3)),I&&hu(He,13,Math.floor(I.getTime()/1e3));try{ie=new Uint8Array(36);let Ne=F_(ie),Pe=Wae(m.lastModDate);Yc(Ne,0,10),Yc(Ne,2,32),Yc(Ne,8,1),Yc(Ne,10,24),HE(Ne,12,Pe),HE(Ne,20,Wae(E)||Pe),HE(Ne,28,Wae(I)||Pe)}catch{ie=new Uint8Array(0)}}else ie=z=new Uint8Array(0);let oe={version:D||20,versionMadeBy:S,zip64:v,directory:!!B,filenameUTF8:!0,rawFilename:C,commentUTF8:!0,rawComment:P,rawExtraFieldZip64:v?new Uint8Array(D2e+4):new Uint8Array(0),rawExtraFieldExtendedTimestamp:z,rawExtraFieldNTFS:ie,rawExtraFieldAES:ee,rawExtraField:R,extendedTimestamp:N,msDosCompatible:H,internalFileAttribute:J,externalFileAttribute:K},le=oe.uncompressedSize=0,Ae=2048;Q&&(Ae=Ae|8);let he=0;j&&(he=8),v&&(oe.version=oe.version>45?oe.version:45),X&&(Ae=Ae|1,w||(oe.version=oe.version>51?oe.version:51,he=99,j&&(oe.rawExtraFieldAES[9]=8))),oe.compressionMethod=he;let ge=oe.headerArray=new Uint8Array(26),de=F_(ge);Yc(de,0,oe.version),Yc(de,2,Ae),Yc(de,4,he);let fe=new Uint32Array(1),G=F_(fe),Y;m.lastModDatex2e?Y=x2e:Y=m.lastModDate,Yc(G,0,(Y.getHours()<<6|Y.getMinutes())<<5|Y.getSeconds()/2),Yc(G,2,(Y.getFullYear()-1980<<4|Y.getMonth()+1)<<5|Y.getDate());let W=fe[0];hu(de,6,W),Yc(de,22,C.length);let O=ee.length+z.length+ie.length+oe.rawExtraField.length;Yc(de,24,O);let re=new Uint8Array(30+C.length+O),se=F_(re);hu(se,0,67324752),a0(re,ge,4),a0(re,C,30),a0(re,ee,30+C.length),a0(re,z,30+C.length+ee.length),a0(re,ie,30+C.length+ee.length+z.length),a0(re,oe.rawExtraField,30+C.length+ee.length+z.length+ie.length);let ce,me=0;if(o){let He=await y8e(f.Deflate,{codecType:I8e,level:y,password:x,encryptionStrength:U,zipCrypto:X&&w,passwordVerification:X&&w&&W>>8&255,signed:!0,compressed:j,encrypted:X,useWebWorkers:T},f);await A.writeUint8Array(re),oe.dataWritten=!0,ce=await v8e(He,o,A,0,()=>o.size,f,{onprogress:L,signal:F}),le=oe.uncompressedSize=o.size,me=ce.length}else await A.writeUint8Array(re),oe.dataWritten=!0;let Ce=new Uint8Array(0),ye,Be=0;if(Q&&(Ce=new Uint8Array(v?M?24:20:M?16:12),ye=F_(Ce),M&&(Be=4,hu(ye,0,134695760))),o){let He=ce.signature;if((!X||w)&&He!==void 0&&(hu(de,10,He),oe.signature=He,Q&&hu(ye,Be,He)),v){let ke=F_(oe.rawExtraFieldZip64);Yc(ke,0,1),Yc(ke,2,D2e),hu(de,14,4294967295),HE(ke,12,BigInt(me)),hu(de,18,4294967295),HE(ke,4,BigInt(le)),Q&&(HE(ye,Be+4,BigInt(me)),HE(ye,Be+12,BigInt(le)))}else hu(de,14,me),hu(de,18,le),Q&&(hu(ye,Be+4,me),hu(ye,Be+8,le))}Q&&await A.writeUint8Array(Ce);let Me=re.length+me+Ce.length;return Object.assign(oe,{compressedSize:me,lastModDate:Y,rawLastModDate:W,creationDate:I,lastAccessDate:E,encrypted:X,length:Me}),oe}async function hTt(o,A,f){let m=o.writer,C=o.files,E=0,I=0,x=o.offset,y=C.size;for(let[,M]of C)I+=46+M.rawFilename.length+M.rawComment.length+M.rawExtraFieldZip64.length+M.rawExtraFieldAES.length+M.rawExtraFieldExtendedTimestamp.length+M.rawExtraFieldNTFS.length+M.rawExtraField.length;let v=f.zip64||o.options.zip64||!1;if(x>=4294967295||I>=4294967295||y>=65535){if(f.zip64===!1||o.options.zip64===!1)throw new Error(F0e);v=!0}let w=new Uint8Array(I+(v?98:22)),Q=F_(w);if(A&&A.length)if(A.length<=65535)Yc(Q,E+20,A.length);else throw new Error(iTt);for(let[M,B]of Array.from(C.values()).entries()){let{rawFilename:D,rawExtraFieldZip64:S,rawExtraFieldAES:P,rawExtraField:R,rawComment:T,versionMadeBy:L,headerArray:F,directory:U,zip64:N,msDosCompatible:H,internalFileAttribute:J,externalFileAttribute:K}=B,X,j;if(B.extendedTimestamp){j=B.rawExtraFieldNTFS,X=new Uint8Array(9);let ie=F_(X);Yc(ie,0,21589),Yc(ie,2,X.length-4),Fj(ie,4,1),hu(ie,5,Math.floor(B.lastModDate.getTime()/1e3))}else j=X=new Uint8Array(0);let ee=S.length+P.length+X.length+j.length+R.length;if(hu(Q,E,33639248),Yc(Q,E+4,L),a0(w,F,E+6),Yc(Q,E+30,ee),Yc(Q,E+32,T.length),hu(Q,E+34,J),K?hu(Q,E+38,K):U&&H&&Fj(Q,E+38,16),N?hu(Q,E+42,4294967295):hu(Q,E+42,B.offset),a0(w,D,E+46),a0(w,S,E+46+D.length),a0(w,P,E+46+D.length+S.length),a0(w,X,E+46+D.length+S.length+P.length),a0(w,j,E+46+D.length+S.length+P.length+X.length),a0(w,R,E+46+D.length+S.length+P.length+X.length+j.length),a0(w,T,E+46+D.length+ee),E+=46+D.length+ee+T.length,f.onprogress)try{f.onprogress(M+1,C.size,new Lj(B))}catch{}}v&&(hu(Q,E,101075792),HE(Q,E+4,BigInt(44)),Yc(Q,E+12,45),Yc(Q,E+14,45),HE(Q,E+24,BigInt(y)),HE(Q,E+32,BigInt(y)),HE(Q,E+40,BigInt(I)),HE(Q,E+48,BigInt(x)),hu(Q,E+56,117853008),HE(Q,E+64,BigInt(x)+BigInt(I)),hu(Q,E+72,1),y=65535,x=4294967295,I=4294967295,E+=76),hu(Q,E,101010256),Yc(Q,E+8,y),Yc(Q,E+10,y),hu(Q,E+12,I),hu(Q,E+16,x),await m.writeUint8Array(w),A&&A.length&&await m.writeUint8Array(A)}function S8e(o,A,f){if(o.arrayBuffer)return A||f?o.slice(A,f).arrayBuffer():o.arrayBuffer();{let m=new FileReader;return new Promise((C,E)=>{m.onload=I=>C(I.target.result),m.onerror=()=>E(m.error),m.readAsArrayBuffer(A||f?o.slice(A,f):o)})}}async function dTt(o,A,f=0){await m();async function m(){if(f=0&&E._activeEntries.splice(I,1)}),C(o,A,f)}}else k(f)&&f(!1)}function ETt(o,A,f,m){let C=this.playlist[this.playlistIndex];if(this.entryEnd.raiseEvent(C,m),m)f(m);else{let E=this._activeEntries.indexOf(C);E>=0&&this._activeEntries.splice(E,1),this.playlistIndex++,M8e.call(this,o,A,f)}}var G0e=x$,yA={Linear:{None:function(o){return o}},Quadratic:{In:function(o){return o*o},Out:function(o){return o*(2-o)},InOut:function(o){return(o*=2)<1?.5*o*o:-.5*(--o*(o-2)-1)}},Cubic:{In:function(o){return o*o*o},Out:function(o){return--o*o*o+1},InOut:function(o){return(o*=2)<1?.5*o*o*o:.5*((o-=2)*o*o+2)}},Quartic:{In:function(o){return o*o*o*o},Out:function(o){return 1- --o*o*o*o},InOut:function(o){return(o*=2)<1?.5*o*o*o*o:-.5*((o-=2)*o*o*o-2)}},Quintic:{In:function(o){return o*o*o*o*o},Out:function(o){return--o*o*o*o*o+1},InOut:function(o){return(o*=2)<1?.5*o*o*o*o*o:.5*((o-=2)*o*o*o*o+2)}},Sinusoidal:{In:function(o){return 1-Math.cos(o*Math.PI/2)},Out:function(o){return Math.sin(o*Math.PI/2)},InOut:function(o){return .5*(1-Math.cos(Math.PI*o))}},Exponential:{In:function(o){return o===0?0:Math.pow(1024,o-1)},Out:function(o){return o===1?1:1-Math.pow(2,-10*o)},InOut:function(o){return o===0?0:o===1?1:(o*=2)<1?.5*Math.pow(1024,o-1):.5*(-Math.pow(2,-10*(o-1))+2)}},Circular:{In:function(o){return 1-Math.sqrt(1-o*o)},Out:function(o){return Math.sqrt(1- --o*o)},InOut:function(o){return(o*=2)<1?-.5*(Math.sqrt(1-o*o)-1):.5*(Math.sqrt(1-(o-=2)*o)+1)}},Elastic:{In:function(o){return o===0?0:o===1?1:-Math.pow(2,10*(o-1))*Math.sin((o-1.1)*5*Math.PI)},Out:function(o){return o===0?0:o===1?1:Math.pow(2,-10*o)*Math.sin((o-.1)*5*Math.PI)+1},InOut:function(o){return o===0?0:o===1?1:(o*=2,o<1?-.5*Math.pow(2,10*(o-1))*Math.sin((o-1.1)*5*Math.PI):.5*Math.pow(2,-10*(o-1))*Math.sin((o-1.1)*5*Math.PI)+1)}},Back:{In:function(o){var A=1.70158;return o*o*((A+1)*o-A)},Out:function(o){var A=1.70158;return--o*o*((A+1)*o+A)+1},InOut:function(o){var A=2.5949095;return(o*=2)<1?.5*(o*o*((A+1)*o-A)):.5*((o-=2)*o*((A+1)*o+A)+2)}},Bounce:{In:function(o){return 1-yA.Bounce.Out(1-o)},Out:function(o){return o<.36363636363636365?7.5625*o*o:o<.7272727272727273?7.5625*(o-=.5454545454545454)*o+.75:o<.9090909090909091?7.5625*(o-=.8181818181818182)*o+.9375:7.5625*(o-=.9545454545454546)*o+.984375},InOut:function(o){return o<.5?yA.Bounce.In(o*2)*.5:yA.Bounce.Out(o*2-1)*.5+.5}}},rH;typeof self>"u"&&typeof process<"u"&&process.hrtime?rH=function(){var o=process.hrtime();return o[0]*1e3+o[1]/1e6}:typeof self<"u"&&self.performance!==void 0&&self.performance.now!==void 0?rH=self.performance.now.bind(self.performance):Date.now!==void 0?rH=Date.now:rH=function(){return new Date().getTime()};var v5=rH,ITt=function(){function o(){this._tweens={},this._tweensAddedDuringUpdate={}}return o.prototype.getAll=function(){var A=this;return Object.keys(this._tweens).map(function(f){return A._tweens[f]})},o.prototype.removeAll=function(){this._tweens={}},o.prototype.add=function(A){this._tweens[A.getId()]=A,this._tweensAddedDuringUpdate[A.getId()]=A},o.prototype.remove=function(A){delete this._tweens[A.getId()],delete this._tweensAddedDuringUpdate[A.getId()]},o.prototype.update=function(A,f){A===void 0&&(A=v5()),f===void 0&&(f=!1);var m=Object.keys(this._tweens);if(m.length===0)return!1;for(;m.length>0;){this._tweensAddedDuringUpdate={};for(var C=0;C1?E(o[f],o[f-1],f-m):E(o[C],o[C+1>f?f:C+1],m-C)},Bezier:function(o,A){for(var f=0,m=o.length-1,C=Math.pow,E=nH.Utils.Bernstein,I=0;I<=m;I++)f+=C(1-A,m-I)*C(A,I)*o[I]*E(m,I);return f},CatmullRom:function(o,A){var f=o.length-1,m=f*A,C=Math.floor(m),E=nH.Utils.CatmullRom;return o[0]===o[f]?(A<0&&(C=Math.floor(m=f*(1+A))),E(o[(C-1+f)%f],o[C],o[(C+1)%f],o[(C+2)%f],m-C)):A<0?o[0]-(E(o[0],o[0],o[1],o[1],-m)-o[0]):A>1?o[f]-(E(o[f],o[f],o[f-1],o[f-1],m-f)-o[f]):E(o[C?C-1:0],o[C],o[f1;m--)f*=m;return o[A]=f,f}}(),CatmullRom:function(o,A,f,m,C){var E=(f-o)*.5,I=(m-A)*.5,x=C*C,y=C*x;return(2*A-2*f+E+I)*y+(-3*A+3*f-2*E-I)*x+E*C+A}}},T8e=function(){function o(){}return o.nextId=function(){return o._nextId++},o._nextId=0,o}(),P8e=new ITt,xTt=function(){function o(A,f){f===void 0&&(f=P8e),this._object=A,this._group=f,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=yA.Linear.None,this._interpolationFunction=nH.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=T8e.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return o.prototype.getId=function(){return this._id},o.prototype.isPlaying=function(){return this._isPlaying},o.prototype.isPaused=function(){return this._isPaused},o.prototype.to=function(A,f){return this._valuesEnd=Object.create(A),f!==void 0&&(this._duration=f),this},o.prototype.duration=function(A){return this._duration=A,this},o.prototype.start=function(A){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var f in this._valuesStartRepeat)this._swapEndStartRepeatValues(f),this._valuesStart[f]=this._valuesStartRepeat[f]}return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=A!==void 0?typeof A=="string"?v5()+parseFloat(A):A:v5(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},o.prototype._setupProperties=function(A,f,m,C){for(var E in m){var I=A[E],x=Array.isArray(I),y=x?"array":typeof I,v=!x&&Array.isArray(m[E]);if(!(y==="undefined"||y==="function")){if(v){var w=m[E];if(w.length===0)continue;w=w.map(this._handleRelativeValue.bind(this,I)),m[E]=[I].concat(w)}if((y==="object"||x)&&I&&!v){f[E]=x?[]:{};for(var Q in I)f[E][Q]=I[Q];C[E]=x?[]:{},this._setupProperties(I,f[E],m[E],C[E])}else typeof f[E]>"u"&&(f[E]=I),x||(f[E]*=1),v?C[E]=m[E].slice().reverse():C[E]=f[E]||0}}},o.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},o.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},o.prototype.pause=function(A){return A===void 0&&(A=v5()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=A,this._group&&this._group.remove(this),this)},o.prototype.resume=function(A){return A===void 0&&(A=v5()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=A-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},o.prototype.stopChainedTweens=function(){for(var A=0,f=this._chainedTweens.length;AE)return!1;f&&this.start(A)}if(this._goToEnd=!1,A1?1:C;var I=this._easingFunction(C);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,I),this._onUpdateCallback&&this._onUpdateCallback(this._object,C),C===1)if(this._repeat>0){isFinite(this._repeat)&&this._repeat--;for(m in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[m]=="string"&&(this._valuesStartRepeat[m]=this._valuesStartRepeat[m]+parseFloat(this._valuesEnd[m])),this._yoyo&&this._swapEndStartRepeatValues(m),this._valuesStart[m]=this._valuesStartRepeat[m];return this._yoyo&&(this._reversed=!this._reversed),this._repeatDelayTime!==void 0?this._startTime=A+this._repeatDelayTime:this._startTime=A+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var x=0,y=this._chainedTweens.length;x=A;m--)o[m]=o[x--]}for(m=0;m=0||k(Q)&&jt.compare(w,Q)>=0));){for(qae[M++]=w,E=E+1,I=0;I0&&(jae.length=B,T2e(f,v,jae),qae.length=M,T2e(A,y,qae))}else{for(I=0;IC)return;if(this._backwardExtrapolationType===a1.HOLD)return E.unpack(I,0,A)}if(x>=m){x=m-1;let L=f[x];if(C=this._forwardExtrapolationDuration,this._forwardExtrapolationType===a1.NONE||C!==0&&jt.secondsDifference(o,L)>C)return;if(this._forwardExtrapolationType===a1.HOLD)return x=m-1,E.unpack(I,x*E.packedLength,A)}let y=this._xTable,v=this._yTable,w=this._interpolationAlgorithm,Q=this._packedInterpolationLength,M=this._inputOrder;if(this._updateTableLength){this._updateTableLength=!1;let L=Math.min(w.getRequiredDataPoints(this._interpolationDegree,M),m);L!==this._numberOfPoints&&(this._numberOfPoints=L,y.length=L,v.length=L*Q)}let B=this._numberOfPoints-1;if(B<1)return;let D=0,S=m-1;if(S-D+1>=B+1){let L=x-(B/2|0)-1;LS&&(F=S,L=F-B,L0){f=new Array(A);for(let m=0;mthis._started+this._timeThreshold)){this._giveUpTime();return}m=this._nextNode()}this._pop()&&o&&this._process(!0)};function wTt(o){let A=o.slice(0,Math.min(4,o.size)),f=Nu(),m=new FileReader;return m.addEventListener("load",function(){f.resolve(new DataView(m.result).getUint32(0,!1)===1347093252)}),m.addEventListener("error",function(){f.reject(m.error)}),m.readAsArrayBuffer(A),f.promise}function bTt(o){let A=Nu(),f=new FileReader;return f.addEventListener("load",function(){A.resolve(f.result)}),f.addEventListener("error",function(){A.reject(f.error)}),f.readAsText(o),A.promise}function F8e(o){let A={xsi:"http://www.w3.org/2001/XMLSchema-instance"},f,m,C,E;for(let I in A)A.hasOwnProperty(I)&&(C=RegExp(`[< ]${I}:`),E=`xmlns:${I}=`,C.test(o)&&o.indexOf(E)===-1&&(k(f)||(f=o.substr(0,o.indexOf("",A),m,C,E;for(;A!==-1&&A0?(ME.maximumRed=E,ME.red=void 0):(ME.maximumRed=void 0,ME.red=0),C>0?(ME.maximumGreen=C,ME.green=void 0):(ME.maximumGreen=void 0,ME.green=0),m>0?(ME.maximumBlue=m,ME.blue=void 0):(ME.maximumBlue=void 0,ME.blue=0),ME.alpha=f,qe.fromRandom(ME)):new qe(E,C,m,f)}function zL(o,A,f){let m=Pa(o,A,f);if(k(m))return Eue(m,Pa(o,"colorMode",f)==="random")}function STt(o){let A=oA(o,"TimeStamp",lr.kmlgx),f=Pa(A,"when",lr.kmlgx);if(!k(A)||!k(f)||f.length===0)return;let m=jt.fromIso8601(f),C=new vm;return C.addInterval(new cs({start:m,stop:Zr.MAXIMUM_VALUE})),C}function DTt(o){let A=oA(o,"TimeSpan",lr.kmlgx);if(!k(A))return;let f,m=oA(A,"begin",lr.kmlgx),C=k(m)?jt.fromIso8601(m.textContent):void 0,E=oA(A,"end",lr.kmlgx),I=k(E)?jt.fromIso8601(E.textContent):void 0;if(k(C)&&k(I)){if(jt.lessThan(I,C)){let x=C;C=I,I=x}f=new vm,f.addInterval(new cs({start:C,stop:I}))}else k(C)?(f=new vm,f.addInterval(new cs({start:C,stop:Zr.MAXIMUM_VALUE}))):k(I)&&(f=new vm,f.addInterval(new cs({start:Zr.MINIMUM_VALUE,stop:I})));return f}function U8e(){let o=new qS;return o.width=BT,o.height=BT,o.scaleByDistance=new no(R2e,L2e,F2e,N2e),o.pixelOffsetScaleByDistance=new no(R2e,L2e,F2e,N2e),o}function q0e(){let o=new Bs;return o.outline=!0,o.outlineColor=qe.WHITE,o}function O8e(){let o=new YO;return o.translucencyByDistance=new no(3e6,1,5e6,0),o.pixelOffset=new tt(17,0),o.horizontalOrigin=iu.LEFT,o.font="16px sans-serif",o.style=fu.FILL_AND_OUTLINE,o}function j0e(o,A,f,m,C){let E=Pa(o,"href",lr.kml);if(!k(E)||E.length===0)return;if(E.indexOf("root://icons/palette-")===0){let x=E.charAt(21),y=ae(Al(o,"x",lr.gx),0),v=ae(Al(o,"y",lr.gx),0);y=Math.min(y/32,7),v=7-Math.min(v/32,7);let w=8*v+y;E=`https://maps.google.com/mapfiles/kml/pal${x}/icon${w}.png`}let I=W0e(E,f,m);if(C){let x=Pa(o,"refreshMode",lr.kml),y=Pa(o,"viewRefreshMode",lr.kml);x==="onInterval"||x==="onExpire"?Ro(`kml-refreshMode-${x}`,`KML - Unsupported Icon refreshMode: ${x}`):(y==="onStop"||y==="onRegion")&&Ro(`kml-refreshMode-${y}`,`KML - Unsupported Icon viewRefreshMode: ${y}`);let v=ae(Pa(o,"viewBoundScale",lr.kml),1),w=y==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",Q=ae(Pa(o,"viewFormat",lr.kml),w),M=Pa(o,"httpQuery",lr.kml);k(Q)&&I.setQueryParameters(A1(Uj(Q))),k(M)&&I.setQueryParameters(A1(Uj(M)));let B=A._ellipsoid;return Z0e(I,A.camera,A.canvas,v,A._lastCameraView.bbox,B),I}return I}function MTt(o,A,f,m,C){let E=Al(A,"scale",lr.kml),I=Al(A,"heading",lr.kml),x=zL(A,"color",lr.kml),y=oA(A,"Icon",lr.kml),v=j0e(y,o,m,C,!1);k(y)&&!k(v)&&(v=!1);let w=Al(y,"x",lr.gx),Q=Al(y,"y",lr.gx),M=Al(y,"w",lr.gx),B=Al(y,"h",lr.gx),D=oA(A,"hotSpot",lr.kml),S=wT(D,"x"),P=wT(D,"y"),R=Yg(D,"xunits"),T=Yg(D,"yunits"),L=f.billboard;k(L)||(L=U8e(),f.billboard=L),L.image=v,L.scale=E,L.color=x,(k(w)||k(Q)||k(M)||k(B))&&(L.imageSubRegion=new _r(w,Q,M,B)),k(I)&&I!==0&&(L.rotation=De.toRadians(-I),L.alignedAxis=Z.UNIT_Z),E=ae(E,1);let F,U;k(S)&&(R==="pixels"?F=-S*E:R==="insetPixels"?F=(S-BT)*E:R==="fraction"&&(F=-S*BT*E),F+=BT*.5*E),k(P)&&(T==="pixels"?U=P*E:T==="insetPixels"?U=(-P+BT)*E:T==="fraction"&&(U=P*BT*E),U-=BT*.5*E),(k(F)||k(U))&&(L.pixelOffset=new tt(F,U))}function kj(o,A,f,m,C){for(let E=0,I=A.childNodes.length;E:clampToSeaFloor is currently not supported, using :clampToGround."),tn.CLAMP_TO_GROUND):A==="relativeToSeaFloor"?(Ro("kml-gx:altitudeMode-relativeToSeaFloor","KML - :relativeToSeaFloor is currently not supported, using :relativeToGround."),tn.RELATIVE_TO_GROUND):(k(o)?Ro("kml-altitudeMode-unknown",`KML - Unknown :${o}, using :CLAMP_TO_GROUND.`):Ro("kml-gx:altitudeMode-unknown",`KML - Unknown :${A}, using :CLAMP_TO_GROUND.`),tn.CLAMP_TO_GROUND)}function RTt(o,A,f){return f==="relativeToSeaFloor"||A==="absolute"||A==="relativeToGround"?o:((k(A)&&A!=="clampToGround"||k(f)&&f!=="clampToSeaFloor")&&Ro("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${ae(A,f)}`),new qO(o))}function LTt(o,A,f,m){if(!k(o))return;if(f==="relativeToSeaFloor"||A==="absolute"||A==="relativeToGround")return o;(k(A)&&A!=="clampToGround"||k(f)&&f!=="clampToSeaFloor")&&Ro("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${ae(A,f)}`);let C=o.length;for(let E=0;E0&&Ro("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");let B=Math.min(x.length,v.length),D=[],S=[];for(let R=0;R0&&m.availability.addInterval(new cs({start:S[0],stop:S[S.length-1]})),Q&&w&&X0e(A,m,C),!0}function V2e(o,A,f,m,C,E,I,x,y){let v=o[0],w=o[o.length-1],Q=new Yy;Q.addSamples(o,A),f.intervals.addInterval(new cs({start:v,stop:w,isStartIncluded:y,isStopIncluded:y,data:RTt(Q,I,x)})),m.addInterval(new cs({start:v,stop:w,isStartIncluded:y,isStopIncluded:y})),C.intervals.addInterval(new cs({start:v,stop:w,isStartIncluded:y,isStopIncluded:y,data:E}))}function UTt(o,A,f,m,C){let E=J_(f,"interpolate",lr.gx),I=Y_(f,"Track",lr.gx),x,y,v,w=!1,Q=new UU,M=new vm,B=new dx,D=o._ellipsoid;for(let S=0,P=I.length;S0)){for(D='',E=0;E`;D+="
${ae(S.displayName,I)}${ae(S.value,"")}
"}if(!k(D))return;D=_Tt.link(D),cu.innerHTML=D;let P=cu.querySelectorAll("a");for(E=0;E1&&(qI(cu,"a","href",m),qI(cu,"link","href",m),qI(cu,"area","href",m),qI(cu,"img","src",m),qI(cu,"iframe","src",m),qI(cu,"video","src",m),qI(cu,"audio","src",m),qI(cu,"source","src",m),qI(cu,"track","src",m),qI(cu,"input","src",m),qI(cu,"embed","src",m),qI(cu,"script","src",m),qI(cu,"video","poster",m)),jI(cu,"a","href",C),jI(cu,"link","href",C),jI(cu,"area","href",C),jI(cu,"img","src",C),jI(cu,"iframe","src",C),jI(cu,"video","src",C),jI(cu,"audio","src",C),jI(cu,"source","src",C),jI(cu,"track","src",C),jI(cu,"input","src",C),jI(cu,"embed","src",C),jI(cu,"script","src",C),jI(cu,"video","poster",C);let R='
',R+=`${cu.innerHTML}
`,cu.innerHTML="",A.description=R}function b$(o,A,f){let m=f.entityCollection,C=f.parentEntity,E=f.sourceResource,I=f.uriResolver,x=k8e(A,m,f.context),y=x.kml,v=TTt(o,A,f.styleCollection,E,I),w=Pa(A,"name",lr.kml);x.name=w,x.parent=C;let Q=DTt(A);k(Q)||(Q=STt(A)),x.availability=Q,epe(x);function M(L){return L?L.show&&M(L.parent):!0}let B=J_(A,"visibility",lr.kml);x.show=M(C)&&ae(B,!0);let D=oA(A,"author",lr.atom),S=y.author;S.name=Pa(D,"name",lr.atom),S.uri=Pa(D,"uri",lr.atom),S.email=Pa(D,"email",lr.atom);let P=oA(A,"link",lr.atom),R=y.link;R.href=Yg(P,"href"),R.hreflang=Yg(P,"hreflang"),R.rel=Yg(P,"rel"),R.type=Yg(P,"type"),R.title=Yg(P,"title"),R.length=Yg(P,"length"),y.address=Pa(A,"address",lr.kml),y.phoneNumber=Pa(A,"phoneNumber",lr.kml),y.snippet=Pa(A,"Snippet",lr.kml),HTt(A,x),VTt(A,x,v,I,E);let T=o._ellipsoid;return K8e(A,x,T),J8e(A,x,T),k(oA(A,"Region",lr.kml))&&Ro("kml-region","KML - Placemark Regions are unsupported"),{entity:x,styleEntity:v}}function Y8e(o,A,f,m){m.addNodes(A.childNodes,f),m.process()}function zTt(o,A,f,m){let C=b$(o,A,f),E=En(f);E.parentEntity=C.entity,Y8e(o,A,E,m)}function YTt(o,A,f,m){let C=b$(o,A,f),E=C.entity,I=C.styleEntity,x=!1,y=A.childNodes;for(let v=0,w=y.length;vDe.PI_OVER_TWO?De.PI_OVER_TWO:v}function x(v){return v>De.PI?v-De.TWO_PI:v<-De.PI?v+De.TWO_PI:v}let y=RZ(o.queryParameters);if(y=y.replace(/%5B/g,"[").replace(/%5D/g,"]"),k(A)&&A._mode!==ii.MORPHING){let v,w;if(C=ae(C,ZTt),k(f)&&(Zae.x=f.clientWidth*.5,Zae.y=f.clientHeight*.5,v=A.pickEllipsoid(Zae,E,$Tt)),k(v)?w=E.cartesianToCartographic(v,Jk):(w=hi.center(C,Jk),v=E.cartographicToCartesian(w)),k(m)&&!De.equalsEpsilon(m,1,De.EPSILON9)){let R=C.width*m*.5,T=C.height*m*.5;C=new hi(x(w.longitude-R),I(w.latitude-T),x(w.longitude+R),I(w.latitude+T))}y=y.replace("[bboxWest]",De.toDegrees(C.west).toString()),y=y.replace("[bboxSouth]",De.toDegrees(C.south).toString()),y=y.replace("[bboxEast]",De.toDegrees(C.east).toString()),y=y.replace("[bboxNorth]",De.toDegrees(C.north).toString());let Q=De.toDegrees(w.longitude).toString(),M=De.toDegrees(w.latitude).toString();y=y.replace("[lookatLon]",Q),y=y.replace("[lookatLat]",M),y=y.replace("[lookatTilt]",De.toDegrees(A.pitch).toString()),y=y.replace("[lookatHeading]",De.toDegrees(A.heading).toString()),y=y.replace("[lookatRange]",Z.distance(A.positionWC,v)),y=y.replace("[lookatTerrainLon]",Q),y=y.replace("[lookatTerrainLat]",M),y=y.replace("[lookatTerrainAlt]",w.height.toString()),E.cartesianToCartographic(A.positionWC,Jk),y=y.replace("[cameraLon]",De.toDegrees(Jk.longitude).toString()),y=y.replace("[cameraLat]",De.toDegrees(Jk.latitude).toString()),y=y.replace("[cameraAlt]",De.toDegrees(Jk.height).toString());let B=A.frustum,D=B.aspectRatio,S="",P="";if(k(D)){let R=De.toDegrees(B.fov);D>1?(S=R,P=R/D):(P=R,S=R*D)}y=y.replace("[horizFov]",S.toString()),y=y.replace("[vertFov]",P.toString())}else y=y.replace("[bboxWest]","-180"),y=y.replace("[bboxSouth]","-90"),y=y.replace("[bboxEast]","180"),y=y.replace("[bboxNorth]","90"),y=y.replace("[lookatLon]",""),y=y.replace("[lookatLat]",""),y=y.replace("[lookatRange]",""),y=y.replace("[lookatTilt]",""),y=y.replace("[lookatHeading]",""),y=y.replace("[lookatTerrainLon]",""),y=y.replace("[lookatTerrainLat]",""),y=y.replace("[lookatTerrainAlt]",""),y=y.replace("[cameraLon]",""),y=y.replace("[cameraLat]",""),y=y.replace("[cameraAlt]",""),y=y.replace("[horizFov]",""),y=y.replace("[vertFov]","");k(f)?(y=y.replace("[horizPixels]",f.clientWidth),y=y.replace("[vertPixels]",f.clientHeight)):(y=y.replace("[horizPixels]",""),y=y.replace("[vertPixels]","")),y=y.replace("[terrainEnabled]","1"),y=y.replace("[clientVersion]","1"),y=y.replace("[kmlVersion]","2.2"),y=y.replace("[clientName]","Cesium"),y=y.replace("[language]","English"),o.setQueryParameters(A1(y))}function e2t(o,A,f,m){let C=b$(o,A,f).entity,E=f.sourceResource,I=f.uriResolver,x=oA(A,"Link",lr.kml);if(k(x)||(x=oA(A,"Url",lr.kml)),k(x)){let y=Pa(x,"href",lr.kml),v,w;if(k(y)){let Q=y;if(y=W0e(y,E,f.uriResolver),/^data:/.test(y.getUrlComponent()))/\.kmz/i.test(E.getUrlComponent())||(Q=E.getDerivedResource({url:Q}));else{if(Q=y.clone(),v=Pa(x,"viewRefreshMode",lr.kml),v==="onRegion"){Ro("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion");return}w=ae(Pa(x,"viewBoundScale",lr.kml),1);let S=v==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",P=ae(Pa(x,"viewFormat",lr.kml),S),R=Pa(x,"httpQuery",lr.kml);k(P)&&y.setQueryParameters(A1(Uj(P))),k(R)&&y.setQueryParameters(A1(Uj(R)));let T=o._ellipsoid;Z0e(y,o.camera,o.canvas,w,o._lastCameraView.bbox,T)}let M={sourceUri:Q,uriResolver:I,context:C.id,screenOverlayContainer:f.screenOverlayContainer},B=new Ev,D=$0e(o,B,y,M).then(function(S){let P=o._entityCollection,R=B.values;P.suspendEvents();for(let F=0;F0||T==="onExpire"||v==="onStop"){let F=oA(S,"NetworkLinkControl",lr.kml),U=k(F),N=jt.now(),H={id:Kl(),href:y,cookie:{},lastUpdated:N,updating:!1,entity:C,viewBoundScale:w,needsUpdate:!1,cameraUpdateTime:N},J=0;if(U&&(H.cookie=A1(ae(Pa(F,"cookie",lr.kml),"")),J=ae(Al(F,"minRefreshPeriod",lr.kml),0)),T==="onInterval")U&&(L=Math.max(J,L)),H.refreshMode=WT.INTERVAL,H.time=L;else if(T==="onExpire"){let K;if(U&&(K=Pa(F,"expires",lr.kml)),k(K))try{let X=jt.fromIso8601(K),j=jt.secondsDifference(X,N);j>0&&j0;)this._screenOverlays.pop().remove()};function epe(o){let A=o.parent;if(k(A)){let f=A.availability;if(k(f)){let m=o.availability;k(m)?m.intersect(f):o.availability=f}}}function r2t(o,A,f,m,C){return function(E){if(!m.contains(A.id))return;let I=!1,x=oA(E,"NetworkLinkControl",lr.kml),y=k(x),v=0;if(y){if(k(oA(x,"Update",lr.kml))){Ro("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),A.updating=!1,m.remove(A.id);return}A.cookie=A1(ae(Pa(x,"cookie",lr.kml),"")),v=ae(Al(x,"minRefreshPeriod",lr.kml),0)}let w=jt.now(),Q=A.refreshMode;if(Q===WT.INTERVAL)k(x)&&(A.time=Math.max(v,A.time));else if(Q===WT.EXPIRE){let H;if(k(x)&&(H=Pa(x,"expires",lr.kml)),k(H))try{let J=jt.fromIso8601(H),K=jt.secondsDifference(J,w);K>0&&Kw.time&&(M=!0):w.refreshMode===WT.EXPIRE?jt.greaterThan(f,w.time)&&(M=!0):w.refreshMode===WT.STOP&&(E&&(w.needsUpdate=!0,w.cameraUpdateTime=f),w.needsUpdate&&jt.secondsDifference(f,w.cameraUpdateTime)>=w.time&&(M=!0)),M){C(Q),w.updating=!0;let B=new Ev,D=w.href.clone();D.setQueryParameters(w.cookie);let S=ae(m._ellipsoid,gi.WGS84);Z0e(D,m.camera,m.canvas,w.viewBoundScale,I.bbox,S),$0e(m,B,D,{context:Q.id}).then(r2t(m,w,B,y,D)).catch(function(P){let R=`NetworkLink ${w.href} refresh failed: ${P}`;console.log(R),m._error.raiseEvent(m,R)}),v=!0}}y.set(w.id,w)}}),v&&(this._networkLinks=y,this._changed.raiseEvent(this)),!0};function n2t(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}Tx._DeferredLoading=K1;Tx._getTimestamp=HA;var Q$=Tx;function jO(o,A){this._earthCtrl=o,this._id=A.id||"",this._name=A.id||"",this._coreMap=o.coreMap,this._options=A,this._dataSource=null,this._isAddToMap=!1,this._isShow=!0,this._dataSourceType="feature",this.initialize()}var o2t={esriGeometryPoint:"Point",esriGeometryPolyline:"MultiLineString",esriGeometryPolygon:"Polygon"};jO.prototype.initialize=function(){let o=this,A=ae(this._options.addToMap,!0),f=ae(o._options.sourceType,"geojson");function m(E){if(o._dataSource=E,A&&o.addToMap(),o._dataSourceType==="feature"&&o._options.distanceDisplayCondition){let I=E.entities.values;for(let x=0;xx)continue;let B=y.features[M],D={};D.type="Feature",D.properties=B.attributes,D.geometry={},Q==="Point"?D.geometry.coordinates=[B.geometry.x,B.geometry.y]:Q==="MultiLineString"?D.geometry.coordinates=B.geometry.paths:Q==="Polygon"&&(D.geometry.coordinates=B.geometry.rings),D.geometry.type=Q,v.features.push(D)}return k(I)&&(v.crs={type:"name",properties:{name:I}}),v.totalFeatures=v.features.length,v}if(f==="custom"){let E=new f$;m(E)}else if(f==="kml")Q$.load(o._options.url,{camera:o._earthCtrl.coreMap.scene.camera,canvas:o._earthCtrl.coreMap.scene.canvas}).then(function(E){m(E)});else{let E=o._options.url;k(this._options.adapterUrl)&&(E=`${this._options.adapterUrl}?service=${dj.encode(o._options.url,"base64")}`,k(o._options.crs)&&(E+=`&crs=${dj.encode(o._options.crs,"base64")}`)),fr.fetchJson({url:E}).then(I=>{let x=null;if(f==="geojson"){if(o._options.renderMode==="raster"){console.warn(`unsupport renderMode ${o._options.renderMode}`);return}x=NV.load(I)}else if(f==="arcgis_json"){if(o._options.renderMode==="raster"){console.warn(`unsupport renderMode ${o._options.renderMode}`);return}x=NV.load(C(I,o._options.crs,o._options.maxFeatureCount))}k(x)?x.then(function(y){m(y)}).catch(function(y){o._options.error&&o._options.error(y)}):o._options.error&&o._options.error("error")}).catch(I=>{console.log("error"),o._options.error&&o._options.error(I)})}};jO.prototype.addToMap=function(){k(this._earthCtrl)&&this._isAddToMap===!1&&(this._dataSourceType==="feature"?this._earthCtrl.dataSources.add(this._dataSource):this._dataSourceType==="raster"&&(this._dataSource=this._earthCtrl.imageryLayers.addImageryProvider(this._dataSource)),this._isAddToMap=!0)};jO.prototype.removeFromMap=function(o){k(this._earthCtrl)&&this._isAddToMap===!0&&(this._dataSourceType==="feature"?this._earthCtrl.dataSources.remove(this._dataSource,o):this._dataSourceType==="raster"&&this._earthCtrl.imageryLayers.remove(this._dataSource),this._isAddToMap=!1)};jO.prototype.destory=function(){this.removeFromMap(!0)};Object.defineProperties(jO.prototype,{id:{get:function(){return this._id}},name:{get:function(){return this._name},set:function(o){this._name=o}},entities:{get:function(){return k(this._dataSource)?this._dataSource.entities:null}},dataSource:{get:function(){return this._dataSource}},isAddToMap:{get:function(){return this._isAddToMap}},show:{get:function(){return this._isShow},set:function(o){o?this.addToMap():this.removeFromMap(!1),this._isShow=o}}});var S$=jO,a2t=Ku(pht(),1),s2t=new Z,l2t=new Z,b2={};b2.computeArea2D=function(o){let A=o.length,f=0;for(let m=A-1,C=0;C0?Sx.COUNTER_CLOCKWISE:Sx.CLOCKWISE};b2.triangulate=function(o,A){let f=tt.packArray(o);return(0,a2t.default)(f,A,2)};var q8e=new Z,j8e=new Z,X8e=new Z,z2e=new Z,Y2e=new Z,J2e=new Z,zQ=new Z,Z8e=new tt,$8e=new tt,eHe=new tt,rU=new tt;b2.computeSubdivision=function(o,A,f,m,C){C=ae(C,De.RADIANS_PER_DEGREE);let E=k(m),I=f.slice(0),x,y=A.length,v=new Array(y*3),w=new Array(y*2),Q=0,M=0;for(x=0;x0;){let L=I.pop(),F=I.pop(),U=I.pop(),N=Z.fromArray(v,U*3,q8e),H=Z.fromArray(v,F*3,j8e),J=Z.fromArray(v,L*3,X8e),K,X,j;E&&(K=tt.fromArray(w,U*2,Z8e),X=tt.fromArray(w,F*2,$8e),j=tt.fromArray(w,L*2,eHe));let ee=Z.multiplyByScalar(Z.normalize(N,z2e),S,z2e),ie=Z.multiplyByScalar(Z.normalize(H,Y2e),S,Y2e),z=Z.multiplyByScalar(Z.normalize(J,J2e),S,J2e),oe=Z.magnitudeSquared(Z.subtract(ee,ie,zQ)),le=Z.magnitudeSquared(Z.subtract(ie,z,zQ)),Ae=Z.magnitudeSquared(Z.subtract(z,ee,zQ)),he=Math.max(oe,le,Ae),ge,de,fe;he>R?oe===he?(ge=`${Math.min(U,F)} ${Math.max(U,F)}`,x=D[ge],k(x)||(de=Z.add(N,H,zQ),Z.multiplyByScalar(de,.5,de),v.push(de.x,de.y,de.z),x=v.length/3-1,D[ge]=x,E&&(fe=tt.add(K,X,rU),tt.multiplyByScalar(fe,.5,fe),w.push(fe.x,fe.y))),I.push(U,x,L),I.push(x,F,L)):le===he?(ge=`${Math.min(F,L)} ${Math.max(F,L)}`,x=D[ge],k(x)||(de=Z.add(H,J,zQ),Z.multiplyByScalar(de,.5,de),v.push(de.x,de.y,de.z),x=v.length/3-1,D[ge]=x,E&&(fe=tt.add(X,j,rU),tt.multiplyByScalar(fe,.5,fe),w.push(fe.x,fe.y))),I.push(F,x,U),I.push(x,L,U)):Ae===he&&(ge=`${Math.min(L,U)} ${Math.max(L,U)}`,x=D[ge],k(x)||(de=Z.add(J,N,zQ),Z.multiplyByScalar(de,.5,de),v.push(de.x,de.y,de.z),x=v.length/3-1,D[ge]=x,E&&(fe=tt.add(j,K,rU),tt.multiplyByScalar(fe,.5,fe),w.push(fe.x,fe.y))),I.push(L,x,F),I.push(x,U,F)):(B.push(U),B.push(F),B.push(L))}let T={attributes:{position:new Br({componentDatatype:Mt.DOUBLE,componentsPerAttribute:3,values:v})},indices:B,primitiveType:$r.TRIANGLES};return E&&(T.attributes.st=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:2,values:w})),new Bo(T)};var A2t=new Lt,u2t=new Lt,c2t=new Lt,ese=new Lt;b2.computeRhumbLineSubdivision=function(o,A,f,m,C){C=ae(C,De.RADIANS_PER_DEGREE);let E=k(m),I=f.slice(0),x,y=A.length,v=new Array(y*3),w=new Array(y*2),Q=0,M=0;for(x=0;x0;){let U=I.pop(),N=I.pop(),H=I.pop(),J=Z.fromArray(v,H*3,q8e),K=Z.fromArray(v,N*3,j8e),X=Z.fromArray(v,U*3,X8e),j,ee,ie;E&&(j=tt.fromArray(w,H*2,Z8e),ee=tt.fromArray(w,N*2,$8e),ie=tt.fromArray(w,U*2,eHe));let z=o.cartesianToCartographic(J,A2t),oe=o.cartesianToCartographic(K,u2t),le=o.cartesianToCartographic(X,c2t);R.setEndPoints(z,oe);let Ae=R.surfaceDistance;T.setEndPoints(oe,le);let he=T.surfaceDistance;L.setEndPoints(le,z);let ge=L.surfaceDistance,de=Math.max(Ae,he,ge),fe,G,Y,W,O;de>P?Ae===de?(fe=`${Math.min(H,N)} ${Math.max(H,N)}`,x=D[fe],k(x)||(G=R.interpolateUsingFraction(.5,ese),Y=(z.height+oe.height)*.5,W=Z.fromRadians(G.longitude,G.latitude,Y,o,zQ),v.push(W.x,W.y,W.z),x=v.length/3-1,D[fe]=x,E&&(O=tt.add(j,ee,rU),tt.multiplyByScalar(O,.5,O),w.push(O.x,O.y))),I.push(H,x,U),I.push(x,N,U)):he===de?(fe=`${Math.min(N,U)} ${Math.max(N,U)}`,x=D[fe],k(x)||(G=T.interpolateUsingFraction(.5,ese),Y=(oe.height+le.height)*.5,W=Z.fromRadians(G.longitude,G.latitude,Y,o,zQ),v.push(W.x,W.y,W.z),x=v.length/3-1,D[fe]=x,E&&(O=tt.add(ee,ie,rU),tt.multiplyByScalar(O,.5,O),w.push(O.x,O.y))),I.push(N,x,H),I.push(x,U,H)):ge===de&&(fe=`${Math.min(U,H)} ${Math.max(U,H)}`,x=D[fe],k(x)||(G=L.interpolateUsingFraction(.5,ese),Y=(le.height+z.height)*.5,W=Z.fromRadians(G.longitude,G.latitude,Y,o,zQ),v.push(W.x,W.y,W.z),x=v.length/3-1,D[fe]=x,E&&(O=tt.add(ie,j,rU),tt.multiplyByScalar(O,.5,O),w.push(O.x,O.y))),I.push(U,x,N),I.push(x,H,N)):(B.push(H),B.push(N),B.push(U))}let F={attributes:{position:new Br({componentDatatype:Mt.DOUBLE,componentsPerAttribute:3,values:v})},indices:B,primitiveType:$r.TRIANGLES};return E&&(F.attributes.st=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:2,values:w})),new Bo(F)};b2.scaleToGeodeticHeight=function(o,A,f,m){f=ae(f,gi.WGS84);let C=s2t,E=l2t;if(A=ae(A,0),m=ae(m,!0),k(o)){let I=o.length;for(let x=0;x10&&A*2>o.length&&(this._array=o.slice(A),A=0),this._offset=A,this._length--,f};lP.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};lP.prototype.contains=function(o){return this._array.indexOf(o)!==-1};lP.prototype.clear=function(){this._array.length=this._offset=this._length=0};lP.prototype.sort=function(o){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(o)};var _F=lP,fh={};fh.computeHierarchyPackedLength=function(o,A){let f=0,m=[o];for(;m.length>0;){let C=m.pop();if(!k(C))continue;f+=2;let E=C.positions,I=C.holes;if(k(E)&&E.length>0&&(f+=E.length*A.packedLength),k(I)){let x=I.length;for(let y=0;y0;){let E=C.pop();if(!k(E))continue;let I=E.positions,x=E.holes;if(A[f++]=k(I)?I.length:0,A[f++]=k(x)?x.length:0,k(I)){let y=I.length;for(let v=0;v0?new Array(C):void 0;for(let x=0;xiT.eastOverIDL-iT.westOverIDL&&(C.west=iT.westOverIDL,C.east=iT.eastOverIDL,C.east>De.PI&&(C.east=C.east-De.TWO_PI),C.west>De.PI&&(C.west=C.west-De.TWO_PI)),C}var G2t=new Lt;function Z2e(o,A,f,m){let C=o.surfaceDistance,E=Math.ceil(C*A),I=E>0?C/(E-1):Number.POSITIVE_INFINITY,x=0;for(let y=0;y=0?w:w+De.TWO_PI;m.westOverIDL=Math.min(m.westOverIDL,M),m.eastOverIDL=Math.max(m.eastOverIDL,M)}}var $2e=[];function H2t(o,A,f,m,C,E,I,x,y,v){let w={walls:[]},Q;if(I||x){let T=ul.createGeometryFromPositions(o,A,f,m,E,y,v),L=T.attributes.position.values,F=T.indices,U,N;if(I&&x){let H=L.concat(L);U=H.length/3,N=fn.createTypedArray(U,F.length*2),N.set(F);let J=F.length,K=U/2;for(Q=0;Q0){A=ae(A,Re.IDENTITY);let C=Re.inverseTransformation(A,W2t),E=Re.multiplyByPoint(C,Z.ZERO,q2t),I=Z.normalize(Re.multiplyByPointAsVector(C,Z.UNIT_Y,ePe),ePe),x=va.fromPointNormal(E,I,j2t),y=Z.normalize(Re.multiplyByPointAsVector(C,Z.UNIT_X,tPe),tPe),v=va.fromPointNormal(E,y,X2t),w=1;f.push(Z.clone(o[0]));let Q=f[0],M=o.length;for(let B=1;B0?new Array(C):void 0;for(m=0;m0){let oe=0,le=Q[0];m=m.filter(function(Ae,he){let ge=!1;return C?ge=he===le||he===0&&le===1:ge=he+1===le,ge?(oe++,le=Q[oe],!1):!0})}let B=M.length;if(B<2||A<=0)return;if(E===aa.GEODESIC||E===aa.RHUMB){let oe,le;E===aa.GEODESIC?(oe=De.chordLength(I,x.maximumRadius),le=Vu.numberOfPoints):(oe=I,le=Vu.numberOfPointsRhumbLine);let Ae=Vu.extractHeights(M,x);if(k(m)){let he=1;for(y=0;y farSq) { show = 0.0; } #endif float polylineAngle; vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, polylineAngle); gl_Position = czm_viewportOrthographic * positionWC * show; v_st.s = texCoord; v_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w); v_width = width; v_pickColor = pickColor; v_polylineAngle = polylineAngle; } `;function Ox(o,A){o=ae(o,ae.EMPTY_OBJECT),this._show=ae(o.show,!0),this._width=ae(o.width,1),this._loop=ae(o.loop,!1),this._distanceDisplayCondition=o.distanceDisplayCondition,this._material=o.material,k(this._material)||(this._material=fa.fromType(fa.ColorType,{color:new qe(1,1,1,1)}));let f=o.positions;k(f)||(f=[]),this._positions=f,this._actualPositions=f0(f,Z.equalsEpsilon),this._loop&&this._actualPositions.length>2&&(this._actualPositions===this._positions&&(this._actualPositions=f.slice()),this._actualPositions.push(Z.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=o.id;let m;k(A)&&(m=Re.clone(A.modelMatrix)),this._modelMatrix=m,this._segments=Vu.wrapLongitude(this._actualPositions,m),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(lHe),this._polylineCollection=A,this._dirty=!1,this._pickId=void 0,this._boundingVolume=si.fromPoints(this._actualPositions),this._boundingVolumeWC=si.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new si}var sHe=Ox.POSITION_INDEX=0,oPt=Ox.SHOW_INDEX=1,aPt=Ox.WIDTH_INDEX=2,sPt=Ox.MATERIAL_INDEX=3,TH=Ox.POSITION_SIZE_INDEX=4,lPt=Ox.DISTANCE_DISPLAY_CONDITION=5,lHe=Ox.NUMBER_OF_PROPERTIES=6;function HQ(o,A){++o._propertiesChanged[A];let f=o._polylineCollection;k(f)&&(f._updatePolyline(o,A),o._dirty=!0)}Object.defineProperties(Ox.prototype,{show:{get:function(){return this._show},set:function(o){o!==this._show&&(this._show=o,HQ(this,oPt))}},positions:{get:function(){return this._positions},set:function(o){let A=f0(o,Z.equalsEpsilon);this._loop&&A.length>2&&(A===o&&(A=o.slice()),A.push(Z.clone(A[0]))),(this._actualPositions.length!==A.length||this._actualPositions.length!==this._length)&&HQ(this,TH),this._positions=o,this._actualPositions=A,this._length=A.length,this._boundingVolume=si.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=si.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),HQ(this,sHe),this.update()}},material:{get:function(){return this._material},set:function(o){this._material!==o&&(this._material=o,HQ(this,sPt))}},width:{get:function(){return this._width},set:function(o){let A=this._width;o!==A&&(this._width=o,HQ(this,aPt))}},loop:{get:function(){return this._loop},set:function(o){if(o!==this._loop){let A=this._actualPositions;o?A.length>2&&!Z.equals(A[0],A[A.length-1])&&(A.length===this._positions.length&&(this._actualPositions=A=this._positions.slice()),A.push(Z.clone(A[0]))):A.length>2&&Z.equals(A[0],A[A.length-1])&&(A.length-1===this._positions.length?this._actualPositions=this._positions:A.pop()),this._loop=o,HQ(this,TH)}}},id:{get:function(){return this._id},set:function(o){this._id=o,k(this._pickId)&&(this._pickId.object.id=o)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!k(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(o){wo.equals(o,this._distanceDisplayCondition)||(this._distanceDisplayCondition=wo.clone(o,this._distanceDisplayCondition),HQ(this,lPt))}}});Ox.prototype.update=function(){let o=Re.IDENTITY;k(this._polylineCollection)&&(o=this._polylineCollection.modelMatrix);let A=this._segments.positions.length,f=this._segments.lengths,m=this._propertiesChanged[sHe]>0||this._propertiesChanged[TH]>0;if((!Re.equals(o,this._modelMatrix)||m)&&(this._segments=Vu.wrapLongitude(this._actualPositions,o),this._boundingVolumeWC=si.transform(this._boundingVolume,o,this._boundingVolumeWC)),this._modelMatrix=Re.clone(o,this._modelMatrix),this._segments.positions.length!==A)HQ(this,TH);else{let C=f.length;for(let E=0;E2){if(C[xue]||C[sPe]){let D=o.mode===ii.SCENE2D?m._boundingVolume2D:m._boundingVolumeWC,S=Jl.fromCartesian(D.center,uHe),P=kt.fromElements(S.low.x,S.low.y,S.low.z,D.radius,cHe);this._batchTable.setBatchedAttribute(m._index,2,S.high),this._batchTable.setBatchedAttribute(m._index,3,P)}if(C[hPt]){let D=hHe;D.x=0,D.y=Number.MAX_VALUE;let S=m.distanceDisplayCondition;k(S)&&(D.x=S.near,D.y=S.far),this._batchTable.setBatchedAttribute(m._index,4,D)}}m._clean()}}y.length=0,this._polylinesUpdated=!1}C=this._propertiesChanged;for(let y=0;y0){let he=J.isTranslucent();x>=I?(X=new cn({owner:o}),f.push(X)):X=f[x],++x,j=yo(Q(J._uniforms),o._uniformMap),X.boundingVolume=si.clone(f8,X.boundingVolume),X.modelMatrix=m,X.shaderProgram=F,X.vertexArray=D.va,X.renderState=he?o._translucentRS:o._opaqueRS,X.pass=he?zi.TRANSLUCENT:zi.OPAQUE,X.debugShowBoundingVolume=w,X.pickId="v_pickColor",X.uniformMap=j,X.count=K,X.offset=L,L+=K,K=0,y=!0,E.push(X)}J=ie._material,J.update(C),H=z}let oe=ie._locatorBuckets,le=oe.length;for(let he=0;he0&&(x>=I?(X=new cn({owner:o}),f.push(X)):X=f[x],++x,j=yo(Q(J._uniforms),o._uniformMap),X.boundingVolume=si.clone(f8,X.boundingVolume),X.modelMatrix=m,X.shaderProgram=F,X.vertexArray=D.va,X.renderState=J.isTranslucent()?o._translucentRS:o._opaqueRS,X.pass=J.isTranslucent()?zi.TRANSLUCENT:zi.OPAQUE,X.debugShowBoundingVolume=w,X.pickId="v_pickColor",X.uniformMap=j,X.count=K,X.offset=L,y=!0,E.push(X)),H=void 0}}f.length=x}CB.prototype.isDestroyed=function(){return!1};CB.prototype.destroy=function(){return dHe(this),fpe(this),gHe(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),ar(this)};function fPt(o){let A=!1,f=o._propertiesChanged,m=o._positionBufferUsage;return f[xue]?(m.bufferUsage!==Fr.STREAM_DRAW&&(A=!0,m.bufferUsage=Fr.STREAM_DRAW),m.frameCount=100):m.bufferUsage!==Fr.STATIC_DRAW&&(m.frameCount===0?(A=!0,m.bufferUsage=Fr.STATIC_DRAW):m.frameCount--),A}var APe=[0,0,0];function uPe(o,A,f){o._createVertexArray=!1,fpe(o),dHe(o),CPt(o);let m=[[]],C=m[0],E=o._batchTable,I=o._useHighlightColor,x=o.disableDepthTestDistance,y=[0],v=0,w=[[]],Q=0,M=o._polylineBuckets,B,D;for(B in M)M.hasOwnProperty(B)&&(D=M[B],D.updateShader(A,E,I,x),Q+=D.lengthOfPositions);if(Q>0){let S=o._mode,P=new Float32Array(6*Q*3),R=new Float32Array(Q*4),T,L=0,F=0,U=0;for(B in M)if(M.hasOwnProperty(B)){D=M[B],D.write(P,R,L,F,U,E,A,f),S===ii.MORPHING&&(k(T)||(T=new Float32Array(6*Q*3)),D.writeForMorph(T,L));let ie=D.lengthOfPositions;L+=6*ie*3,F+=ie*4,U+=ie*4,v=D.updateIndices(m,y,w,v)}let N=o._positionBufferUsage.bufferUsage,H=Fr.STATIC_DRAW;o._positionBuffer=jn.createVertexBuffer({context:A,typedArray:P,usage:N});let J;k(T)&&(J=jn.createVertexBuffer({context:A,typedArray:T,usage:N})),o._texCoordExpandAndBatchIndexBuffer=jn.createVertexBuffer({context:A,typedArray:R,usage:H});let K=3*Float32Array.BYTES_PER_ELEMENT,X=4*Float32Array.BYTES_PER_ELEMENT,j=0,ee=m.length;for(let ie=0;ie0){let z=new Uint16Array(C),oe=jn.createIndexBuffer({context:A,typedArray:z,usage:Fr.STATIC_DRAW,indexDatatype:fn.UNSIGNED_SHORT});j+=y[ie];let le=6*(ie*(K*De.SIXTY_FOUR_KILOBYTES)-j*K),Ae=K+le,he=K+Ae,ge=K+he,de=K+ge,fe=K+de,G=ie*(X*De.SIXTY_FOUR_KILOBYTES)-j*X,Y=[{index:LE.position3DHigh,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:le,strideInBytes:6*K},{index:LE.position3DLow,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:Ae,strideInBytes:6*K},{index:LE.position2DHigh,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:le,strideInBytes:6*K},{index:LE.position2DLow,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:Ae,strideInBytes:6*K},{index:LE.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:he,strideInBytes:6*K},{index:LE.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:ge,strideInBytes:6*K},{index:LE.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:he,strideInBytes:6*K},{index:LE.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:ge,strideInBytes:6*K},{index:LE.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:de,strideInBytes:6*K},{index:LE.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:fe,strideInBytes:6*K},{index:LE.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:de,strideInBytes:6*K},{index:LE.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:fe,strideInBytes:6*K},{index:LE.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,vertexBuffer:o._texCoordExpandAndBatchIndexBuffer,offsetInBytes:G}],W,O,re,se;S===ii.SCENE3D?(O=o._positionBuffer,W="vertexBuffer",re=APe,se="value"):S===ii.SCENE2D||S===ii.COLUMBUS_VIEW?(O=APe,W="value",re=o._positionBuffer,se="vertexBuffer"):(O=J,W="vertexBuffer",re=o._positionBuffer,se="vertexBuffer"),Y[0][W]=O,Y[1][W]=O,Y[2][se]=re,Y[3][se]=re,Y[4][W]=O,Y[5][W]=O,Y[6][se]=re,Y[7][se]=re,Y[8][W]=O,Y[9][W]=O,Y[10][se]=re,Y[11][se]=re;let ce=new VA({context:A,attributes:Y,indexBuffer:oe});o._vertexArrays.push({va:ce,buckets:w[ie]})}}}function pPt(o,A){return A instanceof Rn?A.id:A}var U7=[];function mPt(o){let A=fa._uniformList[o.type],f=A.length;U7.length=2*f;let m=0;for(let C=0;C1){x.update();let y=x.material,v=m[y.type];k(v)||(v=m[y.type]=new q1(y,A,f)),v.addPolyline(x)}}}function EPt(o,A){let f=A.mode;(o._mode!==f||!Re.equals(o._modelMatrix,o.modelMatrix))&&(o._mode=f,o._modelMatrix=Re.clone(o.modelMatrix),o._createVertexArray=!0)}function gpe(o){if(o._polylinesRemoved){o._polylinesRemoved=!1;let A=[],f=[],m=0,C,E=o._polylines.length;for(let I=0;I0,P=B._index,R=this.getSegments(B,x),T=R.positions,L=R.lengths,F=T.length,U=B.getPickId(I).color,N=0,H=0,J;for(let Ae=0;Ae0||Gg.x>0&&Fy.x<0)&&Z.clone(Gg,Fy),(Gg.x<0&&Ny.x>0||Gg.x>0&&Ny.x<0)&&Z.clone(Gg,Ny));let fe=ge?2:0,G=de?2:4;for(let Y=fe;Y2&&(E.setBatchedAttribute(P,2,ie),E.setBatchedAttribute(P,3,z),E.setBatchedAttribute(P,4,oe))}};var yPt=new Z,vPt=new Z,_Pt=new Z,cPe=new Z;q1.prototype.writeForMorph=function(o,A){let f=this.modelMatrix,m=this.polylines,C=m.length;for(let E=0;E0&&(y=x[x.length-1]+1);let v=this.polylines,w=v.length;for(let Q=0;Q0)B[0]=S;else continue}else B=M._segments.lengths;let D=B.length;if(D>0){let S=0;for(let P=0;PDe.SIXTY_FOUR_KILOBYTES&&(M._locatorBuckets.push({locator:E,count:S}),S=0,A.push(4),x=[],o.push(x),y=0,E.count=I,I=0,m=0,E=new rse(0,0,this),f[++C]=[E]),x.push(y,y+2,y+1),x.push(y+1,y+2,y+3),S+=6,I+=6,m+=6,y+=4}M._locatorBuckets.push({locator:E,count:S}),y+4>De.SIXTY_FOUR_KILOBYTES&&(A.push(0),x=[],o.push(x),y=0,E.count=I,m=0,I=0,E=new rse(0,0,this),f[++C]=[E])}M._clean()}return E.count=I,m};q1.prototype.getPolylineStartIndex=function(o){let A=this.polylines,f=0,m=A.length;for(let C=0;C0){o._boundingVolume2D=si.fromPoints(C,o._boundingVolume2D);let v=o._boundingVolume2D.center;o._boundingVolume2D.center=new Z(v.z,v.x,v.y)}return qk.positions=C,qk.lengths=o._segments.lengths,qk};var dPe;q1.prototype.writeUpdate=function(o,A,f,m){let C=this.mode,E=m.ellipsoid.maximumRadius*De.PI,I=A._actualLength;if(I){o+=this.getPolylineStartIndex(A);let x=dPe,y=6*I*3;!k(x)||x.lengthy&&(x=new Float32Array(x.buffer,0,y));let v=this.getSegments(A,m),w=v.positions,Q=v.lengths,M=0,B=0,D=0,S;I=w.length;for(let P=0;P0||Gg.x>0&&Fy.x<0)&&Z.clone(Gg,Fy),(Gg.x<0&&Ny.x>0||Gg.x>0&&Ny.x<0)&&Z.clone(Gg,Ny));let F=T?2:0,U=L?2:4;for(let N=F;Nthis._primitiveSize&&this.savePrimitive(),this.instancesLabel.add(this._labelOptions)};Fm.prototype.createPolylineGeometryInstance2=function(o,A,f){let m={},C=this.convertCoordinates([A]);m.positions=Z.fromDegreesArray(C),m.width=this._lineWidth,m.material=fa.fromType("Color"),m.material.uniforms.color=this._modelColor,m.id=f,m.disableDepthTestDistance=this.disableDepthTest,this.instancesPolylineCollection.length>this._primitiveSize&&this.savePrimitive(),this.instancesPolylineCollection.add(m)};Fm.prototype.createPolylineGeometryInstance=function(o,A,f){let m=vo.fromColor(this._modelColor),C=this.convertCoordinates([A]),E=Z.fromDegreesArray(C),I=this;this.instancesPolyline.length>this._primitiveSize&&this.savePrimitive(),this.instancesPolyline.push(new Un({geometry:new AS({width:I._lineWidth,positions:E}),id:f,attributes:{color:m}}))};Fm.prototype.createPolygonGeometryInstance=function(o,A,f){let m=this,C=vo.fromColor(m._modelColor),E=m.convertCoordinates(A),I=Z.fromDegreesArray(E),x=o.properties[m._modelHeightKey];k(x)||(x=0),m.type===mHe&&(x=void 0),m.instancesPolygon.length>m._primitiveSize&&m.savePrimitive(),m.instancesPolygon.push(new Un({geometry:new bc({polygonHierarchy:new In(I),extrudedHeight:x,height:m._groundHeight}),id:f,releaseGeometryInstances:!0,attributes:{color:C}}))};Fm.prototype.parse=function(o){if(Array.isArray(o)){let A=this;for(let f=0;f0){let A,f;if(o.type===pHe)k(o._image)?A=this.material:(A=fa.fromType(fa.ColorType),A.uniforms.color=o._modelColor),f=new cd({material:A,translucent:!0,faceForward:!0,vertexShaderSource:QPt,fragmentShaderSource:SPt});else if(o.type===mHe){let m={};m.normalMap=Ja("Assets/Images/waterNormals.jpg"),m.baseWaterColor=o.baseWaterColor,m.frequency=o.waterFrequency,m.animationSpeed=o.animationSpeed,m.amplitude=o.amplitude,A=new fa({fabric:{type:"Water",uniforms:m}}),A.update(o._earthCtrl.coreMap.scene.context),f=new fz({material:A,fragmentShaderSource:pz})}else f=new ma;o._primitive.push(o._earthCtrl.primitives.add(new pa({geometryInstances:o.instancesPolygon,appearance:f}))),o.instancesPolygon=[]}if(o.instancesPolyline.length>0){let A,f;if(o.type===DPt){let m={duration:o.duration};k(o._image)&&(m.image=o._image),A=fa.fromType("PolylineTrailLink"),A.uniforms.image=o._image,A.uniforms.time=.8,f=new cd({material:A,translucent:!0,faceForward:!0})}else f=new op({});o._primitive.push(o._earthCtrl.primitives.add(new pa({geometryInstances:o.instancesPolyline,appearance:f}))),o.instancesPolyline=[]}o.instancesLabel.length>0&&(o._primitive.push(o._earthCtrl.primitives.add(o.instancesLabel)),o.instancesLabel=new iP),o.instancesPolylineCollection.length>0&&(o._primitive.push(o._earthCtrl.primitives.add(o.instancesPolylineCollection)),o.instancesPolylineCollection=new AP)};Fm.prototype.convertCoordinates=function(o){let A=[];for(let f=0;f0&&(D=!0,Q+=v),I1?A.renderbufferStorageMultisample(A.RENDERBUFFER,I,m,C,E):A.renderbufferStorage(A.RENDERBUFFER,m,C,E),A.bindRenderbuffer(A.RENDERBUFFER,null)}Object.defineProperties(mz.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});mz.prototype._getRenderbuffer=function(){return this._renderbuffer};mz.prototype.isDestroyed=function(){return!1};mz.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),ar(this)};var gx=mz,wHe={};function FPt(o,A,f){let m,C,E;if(o instanceof lA){let I=Math.tan(.5*o.fovy);return m=o.near,C=o.near*I,E=o.aspectRatio*C,Math.max(A*m/E,f*m/C)}else if(o instanceof X1)return m=o.near,C=o.top,E=o.right,Math.max(A*m/E,f*m/C);return Math.max(A,f)}var NPt=new Z,pPe=new Z;function bHe(o,A,f,m){if(k(m)&&f(.5)>m){let C=f(0),E=f(1),I=f(.5),x=I-C,y=I-E;return function(v){let w=f(v);if(v<=.5){let M=(w-C)/x;return De.lerp(o,-De.PI_OVER_TWO,M)}let Q=(w-E)/y;return De.lerp(-De.PI_OVER_TWO,A,1-Q)}}return function(C){return De.lerp(o,A,C)}}function mpe(o,A,f,m,C){let E=C,I=Math.max(f,m);if(!k(E)){let x=o.position,y=A,v=o.up,w=o.right,Q=o.frustum,M=Z.subtract(x,y,NPt),B=Z.magnitude(Z.multiplyByScalar(v,Z.dot(M,v),pPe)),D=Z.magnitude(Z.multiplyByScalar(w,Z.dot(M,w),pPe));E=Math.min(FPt(Q,B,D)*.2,1e9)}if(Io+Math.PI?o+=De.TWO_PI:ADe.PI&&(A.longitude+=De.TWO_PI)}var GPt=new Lt,HPt=new Lt;function VPt(o,A,f,m,C,E,I,x,y,v){let w=o.camera,Q=o.mapProjection.ellipsoid,M=Lt.clone(w.positionCartographic,GPt),B=w.pitch,D=GV(w.heading,m),S=GV(w.roll,E),P=Q.cartesianToCartographic(f,HPt);M.longitude=De.zeroToTwoPi(M.longitude),P.longitude=De.zeroToTwoPi(P.longitude);let R=!1;if(k(x)){let U=De.zeroToTwoPi(x),N=Math.min(M.longitude,P.longitude),H=Math.max(M.longitude,P.longitude),J=U>=N&&U<=H;if(k(y)){let K=Math.abs(M.longitude-P.longitude),X=De.TWO_PI-K;(J?K:X)<(J?X:K)*y&&!J&&(R=!0)}else J||(R=!0)}R?UPt(M,P):OPt(M,P);let T=mpe(w,f,M.height,P.height,I),L=bHe(B,C,T,v);function F(){let U=M.longitude,N=P.longitude,H=M.latitude,J=P.latitude;return function(K){let X=K.time/A,j=Z.fromRadians(De.lerp(U,N,X),De.lerp(H,J,X),T(X),Q);w.setView({destination:j,orientation:{heading:De.lerp(D,m,X),pitch:L(X),roll:De.lerp(S,E,X)}})}}return F()}function zPt(o,A,f,m,C,E,I){let x=o.camera,y=Z.clone(x.position,QHe),v=GV(x.heading,m),w=x.frustum.right-x.frustum.left,Q=mpe(x,f,w,f.z,I);function M(B){let D=B.time/A;x.setView({orientation:{heading:De.lerp(v,m,D)}}),tt.lerp(y,f,D,x.position);let S=Q(D),P=x.frustum,R=P.top/P.right,T=(S-(P.right-P.left))*.5;P.right+=T,P.left-=T,P.top=R*P.right,P.bottom=-P.top}return M}var mPe=new Lt,YPt=new Z;function nse(o,A){return{startObject:{},stopObject:{},duration:0,complete:o,cancel:A}}function CPe(o,A){function f(){typeof A=="function"&&A(),o.enableInputs=!0}return f}wHe.createTween=function(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=A.destination,m=o.mode;if(m===ii.MORPHING)return nse();let C=ae(A.convert,!0),E=o.mapProjection,I=E.ellipsoid,x=A.maximumHeight,y=A.flyOverLongitude,v=A.flyOverLongitudeWeight,w=A.pitchAdjustHeight,Q=A.easingFunction;C&&m!==ii.SCENE3D&&(I.cartesianToCartographic(f,mPe),f=E.project(mPe,YPt));let M=o.camera,B=A.endTransform;k(B)&&M._setTransform(B);let D=A.duration;k(D)||(D=Math.ceil(Z.distance(M.position,f)/1e6)+2,D=Math.min(D,3));let S=ae(A.heading,0),P=ae(A.pitch,-De.PI_OVER_TWO),R=ae(A.roll,0),T=o.screenSpaceCameraController;T.enableInputs=!1;let L=CPe(T,A.complete),F=CPe(T,A.cancel),U=M.frustum,N=o.mode===ii.SCENE2D;if(N=N&&tt.equalsEpsilon(M.position,f,De.EPSILON6),N=N&&De.equalsEpsilon(Math.max(U.right-U.left,U.top-U.bottom),f.z,De.EPSILON6),N=N||o.mode!==ii.SCENE2D&&Z.equalsEpsilon(f,M.position,De.EPSILON10),N=N&&De.equalsEpsilon(De.negativePiToPi(S),De.negativePiToPi(M.heading),De.EPSILON10)&&De.equalsEpsilon(De.negativePiToPi(P),De.negativePiToPi(M.pitch),De.EPSILON10)&&De.equalsEpsilon(De.negativePiToPi(R),De.negativePiToPi(M.roll),De.EPSILON10),N)return nse(L,F);let H=new Array(4);if(H[ii.SCENE2D]=zPt,H[ii.SCENE3D]=VPt,H[ii.COLUMBUS_VIEW]=kPt,D<=0)return nse(function(){H[m](o,1,f,S,P,R,x,y,v,w)({time:1}),typeof L=="function"&&L()},F);let J=H[m](o,D,f,S,P,R,x,y,v,w);if(!k(Q)){let K=M.positionCartographic.height,X=m===ii.SCENE3D?I.cartesianToCartographic(f).height:f.z;K>X&&K>11500?Q=Qm.CUBIC_OUT:Q=Qm.QUINTIC_IN_OUT}return{duration:D,easingFunction:Q,startObject:{time:0},stopObject:{time:D},update:J,complete:L,cancel:F}};var Cpe=wHe,JPt={ROTATE:0,INFINITE_SCROLL:1},oB=Object.freeze(JPt);function go(o){this._scene=o,this._transform=Re.clone(Re.IDENTITY),this._invTransform=Re.clone(Re.IDENTITY),this._actualTransform=Re.clone(Re.IDENTITY),this._actualInvTransform=Re.clone(Re.IDENTITY),this._transformChanged=!1,this.position=new Z,this._position=new Z,this._positionWC=new Z,this._positionCartographic=new Lt,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new Z,this._direction=new Z,this._directionWC=new Z,this.up=new Z,this._up=new Z,this._upWC=new Z,this.right=new Z,this._right=new Z,this._rightWC=new Z,this.frustum=new lA,this.frustum.aspectRatio=o.drawingBufferWidth/o.drawingBufferHeight,this.frustum.fov=De.toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new ir,this._moveEnd=new ir,this._changed=new ir,this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this._changedHeading=void 0,this.percentageChanged=.5,this._viewMatrix=new Re,this._invViewMatrix=new Re,SHe(this),this._mode=ii.SCENE3D,this._modeChanged=!0;let A=o.mapProjection;this._projection=A,this._maxCoord=A.project(new Lt(Math.PI,De.PI_OVER_TWO)),this._max2Dfrustum=void 0,OHe(this,go.DEFAULT_VIEW_RECTANGLE,this.position,!0);let f=Z.magnitude(this.position);f+=f*go.DEFAULT_VIEW_FACTOR,Z.normalize(this.position,this.position),Z.multiplyByScalar(this.position,f,this.position)}go.TRANSFORM_2D=new Re(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);go.TRANSFORM_2D_INVERSE=Re.inverseTransformation(go.TRANSFORM_2D,new Re);go.DEFAULT_VIEW_RECTANGLE=hi.fromDegrees(-95,-20,-70,90);go.DEFAULT_VIEW_FACTOR=.5;go.DEFAULT_OFFSET=new sI(0,-De.PI_OVER_FOUR,0);function SHe(o){Re.computeView(o._position,o._direction,o._up,o._right,o._viewMatrix),Re.multiply(o._viewMatrix,o._actualInvTransform,o._viewMatrix),Re.inverseTransformation(o._viewMatrix,o._invViewMatrix)}function KPt(o){if(!k(o._oldPositionWC))o._oldPositionWC=Z.clone(o.positionWC,o._oldPositionWC);else{o.positionWCDeltaMagnitudeLastFrame=o.positionWCDeltaMagnitude;let A=Z.subtract(o.positionWC,o._oldPositionWC,o._oldPositionWC);o.positionWCDeltaMagnitude=Z.magnitude(A),o._oldPositionWC=Z.clone(o.positionWC,o._oldPositionWC),o.positionWCDeltaMagnitude>0?(o.timeSinceMoved=0,o._lastMovedTimestamp=HA()):o.timeSinceMoved=Math.max(HA()-o._lastMovedTimestamp,0)/1e3}}go.prototype.canPreloadFlight=function(){return k(this._currentFlight)&&this._mode!==ii.SCENE2D};go.prototype._updateCameraChanged=function(){let o=this;if(KPt(o),o._changed.numberOfListeners===0)return;let A=o.percentageChanged,f=o.heading;k(o._changedHeading)||(o._changedHeading=f);let m=Math.abs(o._changedHeading-f)%De.TWO_PI;m=m>De.PI?De.TWO_PI-m:m;let C=m/Math.PI;if(C>A&&(o._changed.raiseEvent(C),o._changedHeading=f),o._mode===ii.SCENE2D){if(!k(o._changedFrustum)){o._changedPosition=Z.clone(o.position,o._changedPosition),o._changedFrustum=o.frustum.clone();return}let y=o.position,v=o._changedPosition,w=o.frustum,Q=o._changedFrustum,M=y.x+w.left,B=y.x+w.right,D=v.x+Q.left,S=v.x+Q.right,P=y.y+w.bottom,R=y.y+w.top,T=v.y+Q.bottom,L=v.y+Q.top,F=Math.max(M,D),U=Math.min(B,S),N=Math.max(P,T),H=Math.min(R,L),J;if(F>=U||N>=R)J=1;else{let K=Q;MS&&PL&&(K=w),J=1-(U-F)*(H-N)/((K.right-K.left)*(K.top-K.bottom))}J>A&&(o._changed.raiseEvent(J),o._changedPosition=Z.clone(o.position,o._changedPosition),o._changedFrustum=o.frustum.clone(o._changedFrustum));return}if(!k(o._changedDirection)){o._changedPosition=Z.clone(o.positionWC,o._changedPosition),o._changedDirection=Z.clone(o.directionWC,o._changedDirection);return}let E=De.acosClamped(Z.dot(o.directionWC,o._changedDirection)),I;k(o.frustum.fovy)?I=E/(o.frustum.fovy*.5):I=E;let x=Z.distance(o.positionWC,o._changedPosition)/o.positionCartographic.height;(I>A||x>A)&&(o._changed.raiseEvent(Math.max(I,x)),o._changedPosition=Z.clone(o.positionWC,o._changedPosition),o._changedDirection=Z.clone(o.directionWC,o._changedDirection))};function WPt(o){Vr.basisTo2D(o._projection,o._transform,o._actualTransform)}var qPt=new Lt,jPt=new Z,H7=new Z,XPt=new kt,ZPt=new kt,$Pt=new kt,eRt=new kt,tRt=new kt;function iRt(o){let A=o._projection,f=A.ellipsoid,m=Re.getColumn(o._transform,3,XPt),C=f.cartesianToCartographic(m,qPt),E=A.project(C,jPt),I=ZPt;I.x=E.z,I.y=E.x,I.z=E.y,I.w=1;let x=kt.clone(kt.UNIT_X,tRt),y=kt.add(Re.getColumn(o._transform,0,H7),m,H7);f.cartesianToCartographic(y,C),A.project(C,E);let v=$Pt;v.x=E.z,v.y=E.x,v.z=E.y,v.w=0,Z.subtract(v,I,v),v.x=0;let w=eRt;if(Z.magnitudeSquared(v)>De.EPSILON10)Z.cross(x,v,w);else{let Q=kt.add(Re.getColumn(o._transform,1,H7),m,H7);f.cartesianToCartographic(Q,C),A.project(C,E),w.x=E.z,w.y=E.x,w.z=E.y,w.w=0,Z.subtract(w,I,w),w.x=0,Z.magnitudeSquared(w)De.EPSILON2){let S=1/Z.magnitudeSquared(y),P=Z.dot(y,I)*S,R=Z.multiplyByScalar(I,P,ose);y=Z.normalize(Z.subtract(y,R,o._up),o._up),Z.clone(y,o.up),w=Z.cross(I,y,o._right),Z.clone(w,o.right)}}(x||M)&&(o._directionWC=Re.multiplyByPointAsVector(B,I,o._directionWC),Z.normalize(o._directionWC,o._directionWC)),(v||M)&&(o._upWC=Re.multiplyByPointAsVector(B,y,o._upWC),Z.normalize(o._upWC,o._upWC)),(Q||M)&&(o._rightWC=Re.multiplyByPointAsVector(B,w,o._rightWC),Z.normalize(o._rightWC,o._rightWC)),(E||x||v||Q||M)&&SHe(o)}function Epe(o,A){let f;return De.equalsEpsilon(Math.abs(o.z),1,De.EPSILON3)?f=Math.atan2(A.y,A.x)-De.PI_OVER_TWO:f=Math.atan2(o.y,o.x)-De.PI_OVER_TWO,De.TWO_PI-De.zeroToTwoPi(f)}function DHe(o){return De.PI_OVER_TWO-De.acosClamped(o.z)}function MHe(o,A,f){let m=0;return De.equalsEpsilon(Math.abs(o.z),1,De.EPSILON3)||(m=Math.atan2(-f.z,A.z),m=De.zeroToTwoPi(m+De.TWO_PI)),m}var PH=new Re,RH=new Re;Object.defineProperties(go.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return cm(this),this._invTransform}},viewMatrix:{get:function(){return cm(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return cm(this),this._invViewMatrix}},positionCartographic:{get:function(){return cm(this),this._positionCartographic}},positionWC:{get:function(){return cm(this),this._positionWC}},directionWC:{get:function(){return cm(this),this._directionWC}},upWC:{get:function(){return cm(this),this._upWC}},rightWC:{get:function(){return cm(this),this._rightWC}},heading:{get:function(){if(this._mode!==ii.MORPHING){let o=this._projection.ellipsoid,A=Re.clone(this._transform,PH),f=Vr.eastNorthUpToFixedFrame(this.positionWC,o,RH);this._setTransform(f);let m=Epe(this.direction,this.up);return this._setTransform(A),m}}},pitch:{get:function(){if(this._mode!==ii.MORPHING){let o=this._projection.ellipsoid,A=Re.clone(this._transform,PH),f=Vr.eastNorthUpToFixedFrame(this.positionWC,o,RH);this._setTransform(f);let m=DHe(this.direction);return this._setTransform(A),m}}},roll:{get:function(){if(this._mode!==ii.MORPHING){let o=this._projection.ellipsoid,A=Re.clone(this._transform,PH),f=Vr.eastNorthUpToFixedFrame(this.positionWC,o,RH);this._setTransform(f);let m=MHe(this.direction,this.up,this.right);return this._setTransform(A),m}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}});go.prototype.update=function(o){let A=!1;if(o!==this._mode&&(this._mode=o,this._modeChanged=o!==ii.MORPHING,A=this._mode===ii.SCENE2D),A){let f=this._max2Dfrustum=this.frustum.clone(),m=2,C=f.top/f.right;f.right=this._maxCoord.x*m,f.left=-f.right,f.top=C*f.right,f.bottom=-f.top}this._mode===ii.SCENE2D&&LHe(this,this.position)};var rRt=new Z,nRt=new Z,oRt=new Z;go.prototype._setTransform=function(o){let A=Z.clone(this.positionWC,rRt),f=Z.clone(this.upWC,nRt),m=Z.clone(this.directionWC,oRt);Re.clone(o,this._transform),this._transformChanged=!0,cm(this);let C=this._actualInvTransform;Re.multiplyByPoint(C,A,this.position),Re.multiplyByPointAsVector(C,m,this.direction),Re.multiplyByPointAsVector(C,f,this.up),Z.cross(this.direction,this.up,this.right),cm(this)};var aRt=new tt,sRt=new Oa,lRt=new Z,ARt=new Z;function THe(o){if(!Re.equals(Re.IDENTITY,o.transform))return Z.magnitude(o.position);let A=o._scene,f=A.globe,m=aRt;m.x=A.drawingBufferWidth/2,m.y=A.drawingBufferHeight/2;let C;if(k(f)){let x=o.getPickRay(m,sRt);C=f.pickWorldCoordinates(x,A,!0,lRt)}let E;A.pickPositionSupported&&(E=A.pickPositionWorldCoordinates(m,ARt));let I;if(k(C)||k(E)){let x=k(E)?Z.distance(E,o.positionWC):Number.POSITIVE_INFINITY,y=k(C)?Z.distance(C,o.positionWC):Number.POSITIVE_INFINITY;I=Math.min(x,y)}else I=Math.max(o.positionCartographic.height,0);return I}go.prototype._adjustOrthographicFrustum=function(o){this.frustum instanceof $a&&(!o&&this._positionCartographic.height<15e4||(this.frustum.width=THe(this)))};var Vj=new Z,Ipe=new Re,uRt=new Re,xpe=new yr,ype=new Nt,PHe=new Lt;function cRt(o,A,f){let m=Re.clone(o.transform,Ipe),C=Vr.eastNorthUpToFixedFrame(A,o._projection.ellipsoid,uRt);o._setTransform(C),Z.clone(Z.ZERO,o.position),f.heading=f.heading-De.PI_OVER_TWO;let E=yr.fromHeadingPitchRoll(f,xpe),I=Nt.fromQuaternion(E,ype);Nt.getColumn(I,0,o.direction),Nt.getColumn(I,2,o.up),Z.cross(o.direction,o.up,o.right),o._setTransform(m),o._adjustOrthographicFrustum(!0)}function hRt(o,A,f,m){let C=Re.clone(o.transform,Ipe);if(o._setTransform(Re.IDENTITY),!Z.equals(A,o.positionWC)){if(m){let x=o._projection,y=x.ellipsoid.cartesianToCartographic(A,PHe);A=x.project(y,Vj)}Z.clone(A,o.position)}f.heading=f.heading-De.PI_OVER_TWO;let E=yr.fromHeadingPitchRoll(f,xpe),I=Nt.fromQuaternion(E,ype);Nt.getColumn(I,0,o.direction),Nt.getColumn(I,2,o.up),Z.cross(o.direction,o.up,o.right),o._setTransform(C),o._adjustOrthographicFrustum(!0)}function dRt(o,A,f,m){let C=Re.clone(o.transform,Ipe);if(o._setTransform(Re.IDENTITY),!Z.equals(A,o.positionWC)){if(m){let y=o._projection,v=y.ellipsoid.cartesianToCartographic(A,PHe);A=y.project(v,Vj)}tt.clone(A,o.position);let E=-A.z*.5,I=-E,x=o.frustum;if(I>E){let y=x.top/x.right;x.right=I,x.left=E,x.top=x.right*y,x.bottom=-x.top}}if(o._scene.mapMode2D===oB.ROTATE){f.heading=f.heading-De.PI_OVER_TWO,f.pitch=-De.PI_OVER_TWO,f.roll=0;let E=yr.fromHeadingPitchRoll(f,xpe),I=Nt.fromQuaternion(E,ype);Nt.getColumn(I,2,o.up),Z.cross(o.direction,o.up,o.right)}o._setTransform(C)}var gRt=new Z,fRt=new Z,pRt=new Z;function RHe(o,A,f,m){let C=Z.clone(f.direction,gRt),E=Z.clone(f.up,fRt);if(o._scene.mode===ii.SCENE3D){let x=o._projection.ellipsoid,y=Vr.eastNorthUpToFixedFrame(A,x,PH),v=Re.inverseTransformation(y,RH);Re.multiplyByPointAsVector(v,C,C),Re.multiplyByPointAsVector(v,E,E)}let I=Z.cross(C,E,pRt);return m.heading=Epe(C,E),m.pitch=DHe(C),m.roll=MHe(C,E,I),m}var vue={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},jk=new Wl;go.prototype.setView=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=ae(o.orientation,ae.EMPTY_OBJECT),f=this._mode;if(f===ii.MORPHING)return;k(o.endTransform)&&this._setTransform(o.endTransform);let m=ae(o.convert,!0),C=ae(o.destination,Z.clone(this.positionWC,Vj));k(C)&&k(C.west)&&(C=this.getRectangleCameraCoordinates(C,Vj),m=!1),k(A.direction)&&(A=RHe(this,C,A,vue.orientation)),jk.heading=ae(A.heading,0),jk.pitch=ae(A.pitch,-De.PI_OVER_TWO),jk.roll=ae(A.roll,0),f===ii.SCENE3D?cRt(this,C,jk):f===ii.SCENE2D?dRt(this,C,jk,m):hRt(this,C,jk,m)};var mRt=new Z;go.prototype.flyHome=function(o){let A=this._mode;if(A===ii.MORPHING&&this._scene.completeMorph(),A===ii.SCENE2D)this.flyTo({destination:go.DEFAULT_VIEW_RECTANGLE,duration:o,endTransform:Re.IDENTITY});else if(A===ii.SCENE3D){let f=this.getRectangleCameraCoordinates(go.DEFAULT_VIEW_RECTANGLE),m=Z.magnitude(f);m+=m*go.DEFAULT_VIEW_FACTOR,Z.normalize(f,f),Z.multiplyByScalar(f,m,f),this.flyTo({destination:f,duration:o,endTransform:Re.IDENTITY})}else if(A===ii.COLUMBUS_VIEW){let f=this._projection.ellipsoid.maximumRadius,m=new Z(0,-1,1);m=Z.multiplyByScalar(Z.normalize(m,m),5*f,m),this.flyTo({destination:m,duration:o,orientation:{heading:0,pitch:-Math.acos(Z.normalize(m,mRt).z),roll:0},endTransform:Re.IDENTITY,convert:!1})}};go.prototype.worldToCameraCoordinates=function(o,A){return k(A)||(A=new kt),cm(this),Re.multiplyByVector(this._actualInvTransform,o,A)};go.prototype.worldToCameraCoordinatesPoint=function(o,A){return k(A)||(A=new Z),cm(this),Re.multiplyByPoint(this._actualInvTransform,o,A)};go.prototype.worldToCameraCoordinatesVector=function(o,A){return k(A)||(A=new Z),cm(this),Re.multiplyByPointAsVector(this._actualInvTransform,o,A)};go.prototype.cameraToWorldCoordinates=function(o,A){return k(A)||(A=new kt),cm(this),Re.multiplyByVector(this._actualTransform,o,A)};go.prototype.cameraToWorldCoordinatesPoint=function(o,A){return k(A)||(A=new Z),cm(this),Re.multiplyByPoint(this._actualTransform,o,A)};go.prototype.cameraToWorldCoordinatesVector=function(o,A){return k(A)||(A=new Z),cm(this),Re.multiplyByPointAsVector(this._actualTransform,o,A)};function LHe(o,A){let f=o._scene.mapMode2D===oB.ROTATE,m=o._maxCoord.x,C=o._maxCoord.y,E,I;f?(I=m,E=-I):(I=A.x-m*2,E=A.x+m*2),A.x>m&&(A.x=I),A.x<-m&&(A.x=E),A.y>C&&(A.y=C),A.y<-C&&(A.y=-C)}var ase=new Z;go.prototype.move=function(o,A){let f=this.position;Z.multiplyByScalar(o,A,ase);let m=this._scene.screenSpaceCameraController.defaultCollisionRayWidth,C=new Z;Z.clone(f,C),Z.add(C,ase,C),!this.modelColliDetection(C,void 0,m)&&(this.groundRoaming(C)||Z.add(f,ase,f),this._mode===ii.SCENE2D&&LHe(this,f),this._adjustOrthographicFrustum(!0))};go.prototype.moveForward=function(o){o=ae(o,this.defaultMoveAmount),this._mode===ii.SCENE2D?M$(this,o):this.move(this.direction,o)};go.prototype.moveBackward=function(o){o=ae(o,this.defaultMoveAmount),this._mode===ii.SCENE2D?M$(this,-o):this.move(this.direction,-o)};go.prototype.moveUp=function(o){o=ae(o,this.defaultMoveAmount),this.move(this.up,o)};go.prototype.moveDown=function(o){o=ae(o,this.defaultMoveAmount),this.move(this.up,-o)};go.prototype.moveRight=function(o){o=ae(o,this.defaultMoveAmount),this.move(this.right,o)};go.prototype.moveLeft=function(o){o=ae(o,this.defaultMoveAmount),this.move(this.right,-o)};go.prototype.lookLeft=function(o){o=ae(o,this.defaultLookAmount),this._mode!==ii.SCENE2D&&this.look(this.up,-o)};go.prototype.lookRight=function(o){o=ae(o,this.defaultLookAmount),this._mode!==ii.SCENE2D&&this.look(this.up,o)};go.prototype.lookUp=function(o){o=ae(o,this.defaultLookAmount),this._mode!==ii.SCENE2D&&this.look(this.right,-o)};go.prototype.lookDown=function(o){o=ae(o,this.defaultLookAmount),this._mode!==ii.SCENE2D&&this.look(this.right,o)};var CRt=new yr,ERt=new Nt;go.prototype.look=function(o,A){let f=ae(A,this.defaultLookAmount),m=yr.fromAxisAngle(o,-f,CRt),C=Nt.fromQuaternion(m,ERt),E=this.direction,I=this.up,x=this.right;Nt.multiplyByVector(C,E,E),Nt.multiplyByVector(C,I,I),Nt.multiplyByVector(C,x,x)};go.prototype.twistLeft=function(o){o=ae(o,this.defaultLookAmount),this.look(this.direction,o)};go.prototype.twistRight=function(o){o=ae(o,this.defaultLookAmount),this.look(this.direction,-o)};var IRt=new yr,xRt=new Nt;go.prototype.rotate=function(o,A){let f=ae(A,this.defaultRotateAmount),m=yr.fromAxisAngle(o,-f,IRt),C=Nt.fromQuaternion(m,xRt);Nt.multiplyByVector(C,this.position,this.position),Nt.multiplyByVector(C,this.direction,this.direction),Nt.multiplyByVector(C,this.up,this.up),Z.cross(this.direction,this.up,this.right),Z.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)};go.prototype.rotateDown=function(o){o=ae(o,this.defaultRotateAmount),FHe(this,o)};go.prototype.rotateUp=function(o){o=ae(o,this.defaultRotateAmount),FHe(this,-o)};var yRt=new Z,vRt=new Z,_Rt=new Z,EPe=new Z;function FHe(o,A){let f=o.position;if(k(o.constrainedAxis)&&!Z.equalsEpsilon(o.position,Z.ZERO,De.EPSILON2)){let m=Z.normalize(f,yRt),C=Z.equalsEpsilon(m,o.constrainedAxis,De.EPSILON2),E=Z.equalsEpsilon(m,Z.negate(o.constrainedAxis,EPe),De.EPSILON2);if(!C&&!E){let I=Z.normalize(o.constrainedAxis,vRt),x=Z.dot(m,I),y=De.acosClamped(x);A>0&&A>y&&(A=y-De.EPSILON4),x=Z.dot(m,Z.negate(I,EPe)),y=De.acosClamped(x),A<0&&-A>y&&(A=-y+De.EPSILON4);let v=Z.cross(I,m,_Rt);o.rotate(v,A)}else(C&&A<0||E&&A>0)&&o.rotate(o.right,A)}else o.rotate(o.right,A)}go.prototype.rotateRight=function(o){o=ae(o,this.defaultRotateAmount),NHe(this,-o)};go.prototype.rotateLeft=function(o){o=ae(o,this.defaultRotateAmount),NHe(this,o)};function NHe(o,A){k(o.constrainedAxis)?o.rotate(o.constrainedAxis,A):o.rotate(o.up,A)}function M$(o,A){let f=o.frustum,m;if(A=A*.5,Math.abs(f.top)+Math.abs(f.bottom)>Math.abs(f.left)+Math.abs(f.right)){let C=f.top-A,E=f.bottom+A,I=o._maxCoord.y;o._scene.mapMode2D===oB.ROTATE&&(I*=o.maximumZoomFactor),E>I&&(E=I,C=-I),C<=E&&(C=1,E=-1),m=f.right/f.top,f.top=C,f.bottom=E,f.right=f.top*m,f.left=-f.right}else{let C=f.right-A,E=f.left+A,I=o._maxCoord.x;o._scene.mapMode2D===oB.ROTATE&&(I*=o.maximumZoomFactor),C>I&&(C=I,E=-I),C<=E&&(C=1,E=-1),m=f.top/f.right,f.right=C,f.left=E,f.top=f.right*m,f.bottom=-f.top}}function kHe(o,A){o.move(o.direction,A)}go.prototype.zoomIn=function(o){o=ae(o,this.defaultZoomAmount),this._mode===ii.SCENE2D?M$(this,o):kHe(this,o)};go.prototype.zoomOut=function(o){o=ae(o,this.defaultZoomAmount),this._mode===ii.SCENE2D?M$(this,-o):kHe(this,-o)};go.prototype.getMagnitude=function(){if(this._mode===ii.SCENE3D)return Z.magnitude(this.position);if(this._mode===ii.COLUMBUS_VIEW)return Math.abs(this.position.z);if(this._mode===ii.SCENE2D)return Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom)};var BRt=new Re;go.prototype.lookAt=function(o,A){let f=Vr.eastNorthUpToFixedFrame(o,gi.WGS84,BRt);this.lookAtTransform(f,A)};var wRt=new Z,bRt=new yr,QRt=new yr,SRt=new Nt;function UHe(o,A,f){A=De.clamp(A,-De.PI_OVER_TWO,De.PI_OVER_TWO),o=De.zeroToTwoPi(o)-De.PI_OVER_TWO;let m=yr.fromAxisAngle(Z.UNIT_Y,-A,bRt),C=yr.fromAxisAngle(Z.UNIT_Z,-o,QRt),E=yr.multiply(C,m,C),I=Nt.fromQuaternion(E,SRt),x=Z.clone(Z.UNIT_X,wRt);return Nt.multiplyByVector(I,x,x),Z.negate(x,x),Z.multiplyByScalar(x,f,x),x}go.prototype.lookAtTransform=function(o,A){if(this._setTransform(o),!k(A))return;let f;if(k(A.heading)?f=UHe(A.heading,A.pitch,A.range):f=A,this._mode===ii.SCENE2D){tt.clone(tt.ZERO,this.position),Z.negate(f,this.up),this.up.z=0,Z.magnitudeSquared(this.up)y&&(y+=De.TWO_PI);let w=(v+y)*.5,Q;if(x<-De.PI_OVER_TWO+De.RADIANS_PER_DEGREE&&I>De.PI_OVER_TWO-De.RADIANS_PER_DEGREE)Q=0;else{let K=p8;K.longitude=w,K.latitude=I,K.height=0;let X=DRt;X.longitude=w,X.latitude=x,X.height=0;let j=IPe;(!k(j)||j.ellipsoid!==C)&&(IPe=j=new Ig(void 0,void 0,C)),j.setEndPoints(K,X),Q=j.interpolateUsingFraction(.5,p8).latitude}let M=p8;M.longitude=w,M.latitude=Q,M.height=0;let B=C.cartographicToCartesian(M,NRt),D=p8;D.longitude=y,D.latitude=I;let S=C.cartographicToCartesian(D,MRt);D.longitude=v;let P=C.cartographicToCartesian(D,PRt);D.longitude=w;let R=C.cartographicToCartesian(D,LRt);D.latitude=x;let T=C.cartographicToCartesian(D,FRt);D.longitude=y;let L=C.cartographicToCartesian(D,RRt);D.longitude=v;let F=C.cartographicToCartesian(D,TRt);Z.subtract(P,B,P),Z.subtract(L,B,L),Z.subtract(S,B,S),Z.subtract(F,B,F),Z.subtract(R,B,R),Z.subtract(T,B,T);let U=C.geodeticSurfaceNormal(B,E.direction);Z.negate(U,U);let N=Z.cross(U,Z.UNIT_Z,E.right);Z.normalize(N,N);let H=Z.cross(N,U,E.up),J;if(o.frustum instanceof $a){let K=Math.max(Z.distance(S,P),Z.distance(L,F)),X=Math.max(Z.distance(S,L),Z.distance(P,F)),j,ee,ie=o.frustum._offCenterFrustum,z=ie.right/ie.top,oe=X*z;K>oe?(j=K,ee=j/z):(ee=X,j=oe),J=Math.max(j,ee)}else{let K=Math.tan(o.frustum.fovy*.5),X=o.frustum.aspectRatio*K;if(J=Math.max(om(U,H,P,K),om(U,H,L,K),om(U,H,S,K),om(U,H,F,K),om(U,H,R,K),om(U,H,T,K),om(U,N,P,X),om(U,N,L,X),om(U,N,S,X),om(U,N,F,X),om(U,N,R,X),om(U,N,T,X)),x<0&&I>0){let j=p8;j.longitude=v,j.latitude=0,j.height=0;let ee=C.cartographicToCartesian(j,sse);Z.subtract(ee,B,ee),J=Math.max(J,om(U,H,ee,K),om(U,N,ee,X)),j.longitude=y,ee=C.cartographicToCartesian(j,sse),Z.subtract(ee,B,ee),J=Math.max(J,om(U,H,ee,K),om(U,N,ee,X))}}return Z.add(B,Z.multiplyByScalar(U,-J,sse),f)}var URt=new Lt,ORt=new Z,GRt=new Z;function HRt(o,A,f){let m=o._projection;A.west>A.east&&(A=hi.MAX_VALUE);let C=o._actualTransform,E=o._actualInvTransform,I=URt;I.longitude=A.east,I.latitude=A.north;let x=m.project(I,ORt);Re.multiplyByPoint(C,x,x),Re.multiplyByPoint(E,x,x),I.longitude=A.west,I.latitude=A.south;let y=m.project(I,GRt);if(Re.multiplyByPoint(C,y,y),Re.multiplyByPoint(E,y,y),f.x=(x.x-y.x)*.5+y.x,f.y=(x.y-y.y)*.5+y.y,k(o.frustum.fovy)){let v=Math.tan(o.frustum.fovy*.5),w=o.frustum.aspectRatio*v;f.z=Math.max((x.x-y.x)/w,(x.y-y.y)/v)*.5}else{let v=x.x-y.x,w=x.y-y.y;f.z=Math.max(v,w)}return f}var VRt=new Lt,zRt=new Z,YRt=new Z;function JRt(o,A,f){let m=o._projection,C=A.east;A.west>A.east&&(o._scene.mapMode2D===oB.INFINITE_SCROLL?C+=De.TWO_PI:(A=hi.MAX_VALUE,C=A.east));let E=VRt;E.longitude=C,E.latitude=A.north;let I=m.project(E,zRt);E.longitude=A.west,E.latitude=A.south;let x=m.project(E,YRt),y=Math.abs(I.x-x.x)*.5,v=Math.abs(I.y-x.y)*.5,w,Q,M=o.frustum.right/o.frustum.top,B=v*M;return y>B?(w=y,Q=w/M):(Q=v,w=B),v=Math.max(2*w,2*Q),f.x=(I.x-x.x)*.5+x.x,f.y=(I.y-x.y)*.5+x.y,E=m.unproject(f,E),E.height=v,f=m.project(E,f),f}go.prototype.getRectangleCameraCoordinates=function(o,A){let f=this._mode;if(k(A)||(A=new Z),f===ii.SCENE3D)return OHe(this,o,A);if(f===ii.COLUMBUS_VIEW)return HRt(this,o,A);if(f===ii.SCENE2D)return JRt(this,o,A)};var KRt=new Oa;function WRt(o,A,f,m){f=ae(f,gi.WGS84);let C=o.getPickRay(A,KRt),E=mh.rayEllipsoid(C,f);if(!E)return;let I=E.start>0?E.start:E.stop;return Oa.getPoint(C,I,m)}var qRt=new Oa;function jRt(o,A,f,m){let C=o.getPickRay(A,qRt).origin;C=Z.fromElements(C.y,C.z,0,C);let E=f.unproject(C);if(!(E.latitude<-De.PI_OVER_TWO||E.latitude>De.PI_OVER_TWO))return f.ellipsoid.cartographicToCartesian(E,m)}var XRt=new Oa;function ZRt(o,A,f,m){let C=o.getPickRay(A,XRt),E=-C.origin.x/C.direction.x;Oa.getPoint(C,E,m);let I=f.unproject(new Z(m.y,m.z,0));if(!(I.latitude<-De.PI_OVER_TWO||I.latitude>De.PI_OVER_TWO||I.longitude<-Math.PI||I.longitude>Math.PI))return f.ellipsoid.cartographicToCartesian(I,m)}go.prototype.pickEllipsoid=function(o,A,f){let m=this._scene.canvas;if(!(m.clientWidth===0||m.clientHeight===0)){if(k(f)||(f=new Z),A=ae(A,gi.WGS84),this._mode===ii.SCENE3D)f=WRt(this,o,A,f);else if(this._mode===ii.SCENE2D)f=jRt(this,o,this._projection,f);else if(this._mode===ii.COLUMBUS_VIEW)f=ZRt(this,o,this._projection,f);else return;return f}};var $Rt=new Z,eLt=new Z,tLt=new Z;function iLt(o,A,f){let m=o._scene.canvas,C=m.clientWidth,E=m.clientHeight,I=Math.tan(o.frustum.fovy*.5),x=o.frustum.aspectRatio*I,y=o.frustum.near,v=2/C*A.x-1,w=2/E*(E-A.y)-1,Q=o.positionWC;Z.clone(Q,f.origin);let M=Z.multiplyByScalar(o.directionWC,y,$Rt);Z.add(Q,M,M);let B=Z.multiplyByScalar(o.rightWC,v*y*x,eLt),D=Z.multiplyByScalar(o.upWC,w*y*I,tLt),S=Z.add(M,B,f.direction);return Z.add(S,D,S),Z.subtract(S,Q,S),Z.normalize(S,S),f}var V7=new Z;function rLt(o,A,f){let m=o._scene.canvas,C=m.clientWidth,E=m.clientHeight,I=o.frustum,x=I.offCenterFrustum;k(x)&&(I=x);let y=2/C*A.x-1;y*=(I.right-I.left)*.5;let v=2/E*(E-A.y)-1;v*=(I.top-I.bottom)*.5;let w=f.origin;return Z.clone(o.position,w),Z.multiplyByScalar(o.right,y,V7),Z.add(V7,w,w),Z.multiplyByScalar(o.up,v,V7),Z.add(V7,w,w),Z.clone(o.directionWC,f.direction),(o._mode===ii.COLUMBUS_VIEW||o._mode===ii.SCENE2D)&&Z.fromElements(f.origin.z,f.origin.x,f.origin.y,f.origin),f}go.prototype.getPickRay=function(o,A){k(A)||(A=new Oa);let f=this._scene.canvas;if(f.clientWidth<=0||f.clientHeight<=0)return;let m=this.frustum;return k(m.aspectRatio)&&k(m.fov)&&k(m.near)?iLt(this,o,A):rLt(this,o,A)};var nLt=new Z,oLt=new Z;go.prototype.distanceToBoundingSphere=function(o){let A=Z.subtract(this.positionWC,o.center,nLt),f=Z.multiplyByScalar(this.directionWC,Z.dot(A,this.directionWC),oLt);return Math.max(0,Z.magnitude(f)-o.radius)};var aLt=new tt;go.prototype.getPixelSize=function(o,A,f){let m=this.distanceToBoundingSphere(o),C=this.frustum.getPixelDimensions(A,f,m,this._scene.pixelRatio,aLt);return Math.max(C.x,C.y)};function sLt(o,A,f,m,C,E){let I=Z.clone(A);f.y>m?I.y-=f.y-m:f.y<-m&&(I.y+=-m-f.y),f.z>C?I.z-=f.z-C:f.z<-C&&(I.z+=-C-f.z);function x(y){let v=Z.lerp(A,I,y.time,new Z);o.worldToCameraCoordinatesPoint(v,o.position)}return{easingFunction:Qm.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:E,update:x}}var lLt=new Z,xPe=new Z,ALt=new Z,uLt=new Z;function cLt(o,A){let f=o.position,m=o.direction,C=o.worldToCameraCoordinatesVector(Z.UNIT_X,lLt),E=-Z.dot(C,f)/Z.dot(C,m),I=Z.add(f,Z.multiplyByScalar(m,E,xPe),xPe);o.cameraToWorldCoordinatesPoint(I,I),f=o.cameraToWorldCoordinatesPoint(o.position,ALt);let x=Math.tan(o.frustum.fovy*.5),y=o.frustum.aspectRatio*x,v=Z.magnitude(Z.subtract(f,I,uLt)),w=y*v,Q=x*v,M=o._maxCoord.x,B=o._maxCoord.y,D=Math.max(w-M,M),S=Math.max(Q-B,B);if(f.z<-D||f.z>D||f.y<-S||f.y>S){let P=I.y<-D||I.y>D,R=I.z<-S||I.z>S;if(P||R)return sLt(o,f,I,D,S,A)}}go.prototype.createCorrectPositionTween=function(o){if(this._mode===ii.COLUMBUS_VIEW)return cLt(this,o)};var hLt=new Z,pf={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};go.prototype.cancelFlight=function(){k(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)};go.prototype.completeFlight=function(){if(k(this._currentFlight)){this._currentFlight.cancelTween();let o={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}};o.destination=pf.destination,o.orientation.heading=pf.heading,o.orientation.pitch=pf.pitch,o.orientation.roll=pf.roll,this.setView(o),k(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0}};go.prototype.flyTo=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.destination;if(this._mode===ii.MORPHING)return;this.cancelFlight();let f=A instanceof hi;f&&(A=this.getRectangleCameraCoordinates(A,hLt));let m=ae(o.orientation,ae.EMPTY_OBJECT);if(k(m.direction)&&(m=RHe(this,A,m,vue.orientation)),k(o.duration)&&o.duration<=0){let v=vue;v.destination=o.destination,v.orientation.heading=m.heading,v.orientation.pitch=m.pitch,v.orientation.roll=m.roll,v.convert=o.convert,v.endTransform=o.endTransform,this.setView(v),typeof o.complete=="function"&&o.complete();return}let C=this,E;pf.destination=A,pf.heading=m.heading,pf.pitch=m.pitch,pf.roll=m.roll,pf.duration=o.duration,pf.complete=function(){E===C._currentFlight&&(C._currentFlight=void 0),k(o.complete)&&o.complete()},pf.cancel=o.cancel,pf.endTransform=o.endTransform,pf.convert=f?!1:o.convert,pf.maximumHeight=o.maximumHeight,pf.pitchAdjustHeight=o.pitchAdjustHeight,pf.flyOverLongitude=o.flyOverLongitude,pf.flyOverLongitudeWeight=o.flyOverLongitudeWeight,pf.easingFunction=o.easingFunction;let I=this._scene,x=Cpe.createTween(I,pf);if(x.duration===0){typeof x.complete=="function"&&x.complete();return}E=I.tweens.add(x),this._currentFlight=E;let y=this._scene.preloadFlightCamera;this._mode!==ii.SCENE2D&&(k(y)||(y=go.clone(this)),y.setView({destination:A,orientation:m}),this._scene.preloadFlightCullingVolume=y.frustum.computeCullingVolume(y.positionWC,y.directionWC,y.upWC))};function dLt(o,A){let f=o.frustum,m=Math.tan(f.fovy*.5),C=f.aspectRatio*m;return Math.max(A/C,A/m)}function gLt(o,A){let f=o.frustum,m=f.offCenterFrustum;k(m)&&(f=m);let C,E,I=f.right/f.top,x=A*I;return A>x?(C=A,E=C/I):(E=A,C=x),Math.max(C,E)*1.5}var fLt=100;function GHe(o,A,f){f=sI.clone(k(f)?f:go.DEFAULT_OFFSET);let m=o._scene.screenSpaceCameraController.minimumZoomDistance,C=o._scene.screenSpaceCameraController.maximumZoomDistance,E=f.range;if(!k(E)||E===0){let I=A.radius;I===0?f.range=fLt:o.frustum instanceof $a||o._mode===ii.SCENE2D?f.range=gLt(o,I):f.range=dLt(o,I),f.range=De.clamp(f.range,m,C)}return f}go.prototype.viewBoundingSphere=function(o,A){A=GHe(this,o,A),this.lookAt(o.center,A)};var pLt=new Re,mLt=new Z,CLt=new Z,ELt=new Z,ILt=new Z,xLt=new kt,yLt=new yr,vLt=new Nt;go.prototype.flyToBoundingSphere=function(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=this._mode===ii.SCENE2D||this._mode===ii.COLUMBUS_VIEW;this._setTransform(Re.IDENTITY);let m=GHe(this,o,A.offset),C;f?C=Z.multiplyByScalar(Z.UNIT_Z,m.range,mLt):C=UHe(m.heading,m.pitch,m.range);let E=Vr.eastNorthUpToFixedFrame(o.center,gi.WGS84,pLt);Re.multiplyByPoint(E,C,C);let I,x;if(!f){if(I=Z.subtract(o.center,C,CLt),Z.normalize(I,I),x=Re.multiplyByPointAsVector(E,Z.UNIT_Z,ELt),1-Math.abs(Z.dot(I,x))De.PI?v+=De.TWO_PI-B:v+=B,w=M}return De.equalsEpsilon(Math.abs(v),De.TWO_PI,De.EPSILON9)&&(A.west=-De.PI,A.east=De.PI,FT[0].latitude>=0?A.north=De.PI_OVER_TWO:A.south=-De.PI_OVER_TWO),A};go.prototype.switchToPerspectiveFrustum=function(){if(this._mode===ii.SCENE2D||this.frustum instanceof lA)return;let o=this._scene;this.frustum=new lA,this.frustum.aspectRatio=o.drawingBufferWidth/o.drawingBufferHeight,this.frustum.fov=De.toRadians(60)};go.prototype.switchToOrthographicFrustum=function(){if(this._mode===ii.SCENE2D||this.frustum instanceof $a)return;let o=THe(this),A=this._scene;this.frustum=new $a,this.frustum.aspectRatio=A.drawingBufferWidth/A.drawingBufferHeight,this.frustum.width=o};go.prototype.changeHeading=function(o){let A=Z.normalize(Z.subtract(o,this.position,new Z),new Z),f=this._projection.ellipsoid,m=Re.clone(this._transform,PH),C=Vr.eastNorthUpToFixedFrame(this.positionWC,f,RH);this._setTransform(C);let E=Epe(A,this.up);return this._setTransform(m),E};go.prototype.groundRoaming=function(o){if(this._mode===ii.SCENE2D)return!1;let A=this._scene;if(!A.screenSpaceCameraController.enableGroundRoaming)return!1;let f=A.screenSpaceCameraController.defaultCollisionRayWidth,m=LH(o),C=_ue(A,o,m,void 0,f);if(k(C)){let E=A.screenSpaceCameraController.defaultGroundRoamingHeight*-1,I={destination:LH(C,E),orientation:{heading:this.heading,pitch:this.pitch,roll:0}};return this.setView(I),!0}return!1};go.prototype.modelColliDetection=function(o,A,f){if(this._mode===ii.SCENE2D)return!1;let m=this._scene;if(!m.screenSpaceCameraController.enableModelCollisionDetection)return!1;let C,E=m.screenSpaceCameraController.defaultGroundRoamingHeight/2;{let I=LH(this.position);if(C=_ue(m,this.position,I,A,f),k(C)){let x=LH(C,-1*E),y=Z.distance(this.position,x),v=LH(o,y),w=_ue(m,x,v,A,f);if(k(w)&&wLt(x,v,w))return!0}}return!1};function wLt(o,A,f){let m=Z.distance(o,A),C=Z.distance(o,f);return m+1.5>=C,!1}function LH(o,A){A=ae(A,1);let f=Lt.fromCartesian(o),m=Lt.clone(f);return m.height-=A,m.longitude=De.toDegrees(m.longitude),m.latitude=De.toDegrees(m.latitude),Z.fromDegrees(m.longitude,m.latitude,m.height)}function _ue(o,A,f,m,C){let E=Z.normalize(Z.subtract(f,A,new Z),new Z),I=new Oa(A,E),x=o.pickFromRay(I,m,C);return k(x)?x.position:void 0}go.clone=function(o,A){return k(A)||(A=new go(o._scene)),Z.clone(o.position,A.position),Z.clone(o.direction,A.direction),Z.clone(o.up,A.up),Z.clone(o.right,A.right),Re.clone(o._transform,A.transform),A._transformChanged=!0,A.frustum=o.frustum.clone(),A};var Ms=go,T$=0,bLt=1;function wF(o){let A=o.frustum,f=o.orientation,m=o.origin,C=ae(o.vertexFormat,wr.DEFAULT),E=ae(o._drawNearPlane,!0),I,x;A instanceof lA?(I=T$,x=lA.packedLength):A instanceof $a&&(I=bLt,x=$a.packedLength),this._frustumType=I,this._frustum=A.clone(),this._origin=Z.clone(m),this._orientation=yr.clone(f),this._drawNearPlane=E,this._vertexFormat=C,this._workerName="createFrustumGeometry",this.packedLength=2+x+Z.packedLength+yr.packedLength+wr.packedLength}wF.pack=function(o,A,f){f=ae(f,0);let m=o._frustumType,C=o._frustum;return A[f++]=m,m===T$?(lA.pack(C,A,f),f+=lA.packedLength):($a.pack(C,A,f),f+=$a.packedLength),Z.pack(o._origin,A,f),f+=Z.packedLength,yr.pack(o._orientation,A,f),f+=yr.packedLength,wr.pack(o._vertexFormat,A,f),f+=wr.packedLength,A[f]=o._drawNearPlane?1:0,A};var QLt=new lA,SLt=new $a,DLt=new yr,MLt=new Z,TLt=new wr;wF.unpack=function(o,A,f){A=ae(A,0);let m=o[A++],C;m===T$?(C=lA.unpack(o,A,QLt),A+=lA.packedLength):(C=$a.unpack(o,A,SLt),A+=$a.packedLength);let E=Z.unpack(o,A,MLt);A+=Z.packedLength;let I=yr.unpack(o,A,DLt);A+=yr.packedLength;let x=wr.unpack(o,A,TLt);A+=wr.packedLength;let y=o[A]===1;if(!k(f))return new wF({frustum:C,origin:E,orientation:I,vertexFormat:x,_drawNearPlane:y});let v=m===f._frustumType?f._frustum:void 0;return f._frustum=C.clone(v),f._frustumType=m,f._origin=Z.clone(E,f._origin),f._orientation=yr.clone(I,f._orientation),f._vertexFormat=wr.clone(x,f._vertexFormat),f._drawNearPlane=y,f};function Xk(o,A,f,m,C,E,I,x){let y=o/3*2;for(let v=0;v<4;++v)k(A)&&(A[o]=E.x,A[o+1]=E.y,A[o+2]=E.z),k(f)&&(f[o]=I.x,f[o+1]=I.y,f[o+2]=I.z),k(m)&&(m[o]=x.x,m[o+1]=x.y,m[o+2]=x.z),o+=3;C[y]=0,C[y+1]=0,C[y+2]=1,C[y+3]=0,C[y+4]=1,C[y+5]=1,C[y+6]=0,C[y+7]=1}var PLt=new Nt,RLt=new Re,use=new Re,HHe=new Z,VHe=new Z,zHe=new Z,LLt=new Z,FLt=new Z,NLt=new Z,rT=new Array(3),Cz=new Array(4);Cz[0]=new kt(-1,-1,1,1);Cz[1]=new kt(1,-1,1,1);Cz[2]=new kt(1,1,1,1);Cz[3]=new kt(-1,1,1,1);var YHe=new Array(4);for(let o=0;o<4;++o)YHe[o]=new kt;wF._computeNearFarPlanes=function(o,A,f,m,C,E,I,x){let y=Nt.fromQuaternion(A,PLt),v=ae(E,HHe),w=ae(I,VHe),Q=ae(x,zHe);v=Nt.getColumn(y,0,v),w=Nt.getColumn(y,1,w),Q=Nt.getColumn(y,2,Q),Z.normalize(v,v),Z.normalize(w,w),Z.normalize(Q,Q),Z.negate(v,v);let M=Re.computeView(o,Q,w,v,RLt),B,D,S=m.projectionMatrix;if(f===T$){let P=Re.multiply(S,M,use);D=Re.inverse(P,use)}else B=Re.inverseTransformation(M,use);k(D)?(rT[0]=m.near,rT[1]=m.far):(rT[0]=0,rT[1]=m.near,rT[2]=m.far);for(let P=0;P<2;++P)for(let R=0;R<4;++R){let T=kt.clone(Cz[R],YHe[R]);if(k(D)){T=Re.multiplyByVector(D,T,T);let L=1/T.w;Z.multiplyByScalar(T,L,T),Z.subtract(T,o,T),Z.normalize(T,T);let F=Z.dot(Q,T);Z.multiplyByScalar(T,rT[P]/F,T),Z.add(T,o,T)}else{let L=m.offCenterFrustum;k(L)&&(m=L);let F=rT[P],U=rT[P+1];T.x=(T.x*(m.right-m.left)+m.left+m.right)*.5,T.y=(T.y*(m.top-m.bottom)+m.bottom+m.top)*.5,T.z=(T.z*(F-U)-F-U)*.5,T.w=1,Re.multiplyByVector(B,T,T)}C[12*P+R*3]=T.x,C[12*P+R*3+1]=T.y,C[12*P+R*3+2]=T.z}};wF.createGeometry=function(o){let A=o._frustumType,f=o._frustum,m=o._origin,C=o._orientation,E=o._drawNearPlane,I=o._vertexFormat,x=E?6:5,y=new Float64Array(3*4*6);wF._computeNearFarPlanes(m,C,A,f,y);let v=3*4*2;y[v]=y[3*4],y[v+1]=y[3*4+1],y[v+2]=y[3*4+2],y[v+3]=y[0],y[v+4]=y[1],y[v+5]=y[2],y[v+6]=y[3*3],y[v+7]=y[3*3+1],y[v+8]=y[3*3+2],y[v+9]=y[3*7],y[v+10]=y[3*7+1],y[v+11]=y[3*7+2],v+=3*4,y[v]=y[3*5],y[v+1]=y[3*5+1],y[v+2]=y[3*5+2],y[v+3]=y[3],y[v+4]=y[3+1],y[v+5]=y[3+2],y[v+6]=y[0],y[v+7]=y[1],y[v+8]=y[2],y[v+9]=y[3*4],y[v+10]=y[3*4+1],y[v+11]=y[3*4+2],v+=3*4,y[v]=y[3],y[v+1]=y[3+1],y[v+2]=y[3+2],y[v+3]=y[3*5],y[v+4]=y[3*5+1],y[v+5]=y[3*5+2],y[v+6]=y[3*6],y[v+7]=y[3*6+1],y[v+8]=y[3*6+2],y[v+9]=y[3*2],y[v+10]=y[3*2+1],y[v+11]=y[3*2+2],v+=3*4,y[v]=y[3*2],y[v+1]=y[3*2+1],y[v+2]=y[3*2+2],y[v+3]=y[3*6],y[v+4]=y[3*6+1],y[v+5]=y[3*6+2],y[v+6]=y[3*7],y[v+7]=y[3*7+1],y[v+8]=y[3*7+2],y[v+9]=y[3*3],y[v+10]=y[3*3+1],y[v+11]=y[3*3+2],E||(y=y.subarray(3*4));let w=new vA({position:new Br({componentDatatype:Mt.DOUBLE,componentsPerAttribute:3,values:y})});if(k(I.normal)||k(I.tangent)||k(I.bitangent)||k(I.st)){let M=k(I.normal)?new Float32Array(12*x):void 0,B=k(I.tangent)?new Float32Array(3*4*x):void 0,D=k(I.bitangent)?new Float32Array(3*4*x):void 0,S=k(I.st)?new Float32Array(2*4*x):void 0,P=HHe,R=VHe,T=zHe,L=Z.negate(P,LLt),F=Z.negate(R,FLt),U=Z.negate(T,NLt);v=0,E&&(Xk(v,M,B,D,S,U,P,R),v+=3*4),Xk(v,M,B,D,S,T,L,R),v+=3*4,Xk(v,M,B,D,S,L,U,R),v+=3*4,Xk(v,M,B,D,S,F,U,L),v+=3*4,Xk(v,M,B,D,S,P,T,R),v+=3*4,Xk(v,M,B,D,S,R,T,L),k(M)&&(w.normal=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,values:M})),k(B)&&(w.tangent=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,values:B})),k(D)&&(w.bitangent=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,values:D})),k(S)&&(w.st=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:2,values:S}))}let Q=new Uint16Array(6*x);for(let M=0;M1,v=o.debugCascadeColors,w=o.softShadows;return`receiveFisheyeProjection ${C}${E}${I}${x}${y}${v}${w}${A}${f}${m}`};R$.createReceiveVertexShader=function(o,A,f){let m=o.defines.slice(0),C=o.sources.slice(0);return A&&(f?m.push("GENERATE_POSITION_AND_NORMAL"):m.push("GENERATE_POSITION")),new hr({defines:m,sources:C})};R$.createReceiveFragmentShader=function(o,A,f,m,C){let E=hr.findNormalVarying(o),I=!m&&k(E)||m&&C,x=hr.findPositionVarying(o),y=k(x),v=A._isPointLight?A._pointBias:m?A._terrainBias:A._primitiveBias,w=o.defines.slice(0),Q=o.sources.slice(0),M=Q.length;for(let S=0;S radius) { continue; } vec3 directionWC = czm_inverseViewRotation * directionEC; vec4 directionLight = shadowMap_matrixArr[i] * vec4(directionEC,0.0); vec3 shadowPosition = normalize(directionLight.xyz); shadowPosition = vec3( shadowPosition.xy, 0.0) * 0.5 + vec3(0.5,0.5, 0.0); if(i == 0){ out_FragColor *= texture(shadowMap_projectionTextureArr[0], shadowPosition.xy); }else if(i == 1){ out_FragColor *= texture(shadowMap_projectionTextureArr[1], shadowPosition.xy); }else if(i == 2){ out_FragColor *= texture(shadowMap_projectionTextureArr[2], shadowPosition.xy); }else { out_FragColor *= texture(shadowMap_projectionTextureArr[3], shadowPosition.xy); } }else{ break; } } } `,Q.push(B),new hr({defines:w,sources:Q})};var FH=R$;function XS(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.context;this._enabled=ae(o.enabled,!0),this._softShadows=ae(o.softShadows,!1),this._normalOffset=ae(o.normalOffset,!0),this.dirty=!0,this._name=o.name||"",this._matchMaterials=o.matchMaterials||[],this._type="fisheye",this.fromLightSource=ae(o.fromLightSource,!0),this.darkness=ae(o.darkness,0),this._darkness=this.darkness,this.maximumDistance=ae(o.maximumDistance,2e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let f=!0;(co.isInternetExplorer()||co.isEdge()||(co.isChrome()||co.isFirefox())&&co.isWindows()&&!A.depthTexture)&&(f=!1),this._polygonOffsetSupported=f,this._terrainBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:o.depthBias||2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new Re,this._shadowMapTexture=void 0,this._shadowMapProjectionTexture=void 0,this._castImage=void 0,this._lightDirectionEC=new Z,this._lightPositionEC=new kt,this._distance=0,this._lightCamera=o.lightCamera,this._shadowMapCamera=new L$,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new si,this._isPointLight=ae(o.isPointLight,!1),this._pointLightRadius=ae(o.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:ae(o.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?ae(o.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new tt,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Eg:k(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new kt,new kt],this._cascadeMatrices=[new Re,new Re,new Re,new Re],this._cascadeDistances=new kt;let m;this._isPointLight?m=6:this._cascadesEnabled?m=this._numberOfCascades:m=1,this._passes=new Array(m);for(let C=0;C=A?A:On.maximumCubeMapSize,C.x=A,C.y=A;let E=new _r(0,0,A,A);f[0].passState.viewport=E,f[1].passState.viewport=E,f[2].passState.viewport=E,f[3].passState.viewport=E,f[4].passState.viewport=E,f[5].passState.viewport=E}else m===1?(A=On.maximumTextureSize>=A?A:On.maximumTextureSize,C.x=A,C.y=A,f[0].passState.viewport=new _r(0,0,A,A)):m===4&&(A=On.maximumTextureSize>=A*2?A:On.maximumTextureSize/2,C.x=A*2,C.y=A*2,f[0].passState.viewport=new _r(0,0,A,A),f[1].passState.viewport=new _r(A,0,A,A),f[2].passState.viewport=new _r(0,A,A,A),f[3].passState.viewport=new _r(A,A,A,A));o._clearPassState.viewport=new _r(0,0,C.x,C.y);for(let E=0;E=o.maximumDistance){o._outOfView=!0,o._needsUpdate=!1;return}let E=A.mapProjection.ellipsoid.geodeticSurfaceNormal(f.positionWC,yFt),I=Z.negate(m.directionWC,vFt),x=Z.dot(E,I);if(o._darkness=0,x<0){o._outOfView=!0,o._needsUpdate=!1;return}o._needsUpdate=!0,o._outOfView=!1}else if(o._isPointLight){if(C.center=m.positionWC,C.radius=o._pointLightRadius,o._outOfView=A.cullingVolume.computeVisibility(C)===Wo.OUTSIDE,!o._outOfView){let E=Z.distance(m.positionWC,f.positionWC);o._outOfView=E>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),si.clone(C,o._boundingSphere)}else{let E=m.frustum.far/2,I=Z.add(m.positionWC,Z.multiplyByScalar(m.directionWC,E,wPe),wPe);if(C.center=I,C.radius=E,o._outOfView=A.cullingVolume.computeVisibility(C)===Wo.OUTSIDE,!o._outOfView){let x=Z.distance(m.positionWC,f.positionWC);o._outOfView=x>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),si.clone(C,o._boundingSphere)}}function BFt(o,A){let f=A.camera,m=o._lightCamera,C=o._sceneCamera,E=o._shadowMapCamera;o._cascadesEnabled?Z.clone(m.directionWC,E.directionWC):o._isPointLight?Z.clone(m.positionWC,E.positionWC):E.clone(m);let I=o._lightDirectionEC;Re.multiplyByPointAsVector(f.viewMatrix,E.directionWC,I),Z.normalize(I,I),Z.negate(I,I),Re.multiplyByPoint(f.viewMatrix,E.positionWC,o._lightPositionEC),o._lightPositionEC.w=o._pointLightRadius,Re.multiply(m.viewMatrix,f.inverseViewMatrix,o._shadowMapMatrix);let x,y;o._fitNearFar?(x=Math.min(A.shadowState.nearPlane,o.maximumDistance),y=Math.min(A.shadowState.farPlane,o.maximumDistance+1)):(x=f.frustum.near,y=o.maximumDistance),o._sceneCamera=Ms.clone(f,C),f.frustum.clone(o._sceneCamera.frustum),o._sceneCamera.frustum.near=x,o._sceneCamera.frustum.far=y,o._distance=y-x,_Ft(o,A),!o._outOfViewPrevious&&o._outOfView&&(o._needsUpdate=!0),o._outOfViewPrevious=o._outOfView}function wFt(o,A){if(o._isCastTextureDirty===!1||!k(o._castImage))return;let f=A.context,m=o._shadowMapProjectionTexture,C=o._castImage;if(C instanceof HTMLVideoElement)if(C.readyState>=2){if(k(m)){let E=new Date().getTime();m._lastCreateTextureTime===void 0&&(m._lastCreateTextureTime=0);let I=m._lastCreateTextureTime;if(E-I1&&dFt(this,o)),this._isPointLight)this._shadowMapCullingVolume=qg.fromBoundingSphere(this._boundingSphere);else{let A=this._shadowMapCamera,f=A.positionWC,m=A.directionWC,C=A.upWC;this._shadowMapCullingVolume=A.frustum.computeCullingVolume(f,m,C),this._passes.length===1&&this._passes[0].camera.clone(A)}this.debugShow&&lFt(this,o)};XS.prototype.updatePass=function(o,A){eFt(this,o,A)};var bFt=new tt;function QFt(o,A,f,m){let C=o._isPointLight?o._pointBias:f?o._terrainBias:o._primitiveBias,E={shadowMap_texture:function(){return o._shadowMapTexture},shadowMap_projectionTexture:function(){return o._shadowMapProjectionTexture},shadowMap_textureCube:function(){return o._shadowMapTexture},shadowMap_matrix:function(){return o._shadowMapMatrix},shadowMap_cascadeSplits:function(){return o._cascadeSplits},shadowMap_cascadeMatrices:function(){return o._cascadeMatrices},shadowMap_lightDirectionEC:function(){return o._lightDirectionEC},shadowMap_lightPositionEC:function(){return o._lightPositionEC},shadowMap_cascadeDistances:function(){return o._cascadeDistances},shadowMap_projectionTextureArr:function(){let I=[];for(let x=0;x<4;x++)I[x]=m._shadowMapProjectionTextureArr[x]._shadowMapProjectionTexture;return I},shadowMap_lightPositionECArr:function(){return m._lightPositionECArr},shadowMap_lightDirectionECArr:function(){return m._lightDirectionECArr},shadowMapCount:function(){return kt.fromElements(m._shadowMapCount,0,0,0)},shadowMap_matrixArr:function(){return m._shadowMapMatrixArr},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let I=bFt;return I.x=1/o._textureSize.x,I.y=1/o._textureSize.y,kt.fromElements(I.x,I.y,C.depthBias,C.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return kt.fromElements(C.normalOffsetScale,o._distance,o.maximumDistance,o._darkness,this.combinedUniforms2)},combinedUniforms1:new kt,combinedUniforms2:new kt};return yo(A,E,!1)}var SFt=function(){this._shadowMapProjectionTextureArr=new Array(4),this._shadowMapMatrixArr=new Array(4),this._lightPositionECArr=new Array(4),this._lightDirectionECArr=new Array(4);for(let o=0;o<4;o++)this._shadowMapMatrixArr[o]=new Re,this._lightPositionECArr[o]=new kt,this._lightDirectionECArr[o]=new Z};function DFt(o,A,f){let m=!1;for(let C=0;C=0){y=!0;break}y&&(o.push(x),m=!0)}}}return m}XS.createDerivedCommands=function(o,A,f,m,C,E,I){k(I)||(I={});let x=o.length>0,y=f.shaderProgram,v=y.vertexShaderSource,w=y.fragmentShaderSource,Q=f.pass===zi.GLOBE,M=!1;if(x&&k(f.receiveTextureProjectionList)&&f.receiveTextureProjectionList.length>0){let B=f.ftpp;k(B)||(B=new SFt,f.ftpp=B);let D=[];DFt(D,f.receiveTextureProjectionList,o);let S=Math.min(D.length,4);if(S===0)return;B.textureProjectionArray=D,B._shadowMapCount=S;let P,R;k(I.receiveCommand)&&(P=I.receiveCommand.shaderProgram,R=I.receiveCommand.uniformMap);let T=cn.shallowClone(f,I.receiveCommand);I.castShadows=!1,I.receiveShadows=!0;for(let L=0;L=0;y--)x.push(!!(I&1<=this.data.length)throw new Error("Attempted to read past end of stream.");return I instanceof Uint8Array?I[this.pos++]:I.charCodeAt(this.pos++)&255},this.readBytes=function(x){for(var y=[],v=0;v>3)&1<<(y&7)&&(L|=1<"u"&&(x.auto_play=!K.getAttribute("rel:auto_play")||K.getAttribute("rel:auto_play")=="1");var X=x.hasOwnProperty("on_end")?x.on_end:null,j=x.hasOwnProperty("loop_delay")?x.loop_delay:0,ee=x.hasOwnProperty("loop_mode")?x.loop_mode:"auto",ie=x.hasOwnProperty("draw_while_loading")?x.draw_while_loading:!0,z=ie?x.hasOwnProperty("show_progress_bar")?x.show_progress_bar:!0:!1,oe=x.hasOwnProperty("progressbar_height")?x.progressbar_height:25,le=x.hasOwnProperty("progressbar_background_color")?x.progressbar_background_color:"rgba(255,255,255,0.4)",Ae=x.hasOwnProperty("progressbar_foreground_color")?x.progressbar_foreground_color:"rgba(255,0,22,.8)",he=function(){B=null,D=null,R=S,S=null,T=null},ge=function(){try{C(v,Me)}catch{W("parse")}},de=function(je){we.innerHTML=je,we.style.visibility="visible"},fe=function(je,Ze){Ne.width=je*ke(),Ne.height=Ze*ke(),we.style.minWidth=je*ke()+"px",Fe.width=je,Fe.height=Ze,Fe.style.width=je+"px",Fe.style.height=Ze+"px",Fe.getContext("2d").setTransform(1,0,0,1,0,0)},G=function(je,Ze){if(!J[je]){J[je]=Ze;return}typeof Ze.x<"u"&&(J[je].x=Ze.x),typeof Ze.y<"u"&&(J[je].y=Ze.y)},Y=function(je,Ze,rt){if(rt&&z){var At=oe,yt,at,ft,_t;if(x.is_vp){if(N?(ft=(x.vp_t+x.vp_h-At)/ke(),At=At/ke(),yt=x.vp_l/ke(),at=yt+je/Ze*(x.vp_w/ke()),_t=Ne.width/ke()):(ft=x.vp_t+x.vp_h-At,At=At,yt=x.vp_l,at=yt+je/Ze*x.vp_w,_t=Ne.width),!1)if(N)var et,pt,zt,It;else var et,pt,zt,It}else ft=(Ne.height-At)/(N?ke():1),at=je/Ze*Ne.width/(N?ke():1),_t=Ne.width/(N?ke():1),At/=N?ke():1;Pe.fillStyle=le,Pe.fillRect(at,ft,_t-at,At),Pe.fillStyle=Ae,Pe.fillRect(0,ft,at,At)}},W=function(je){var Ze=function(){Pe.fillStyle="black",Pe.fillRect(0,0,x.c_w?x.c_w:w.width,x.c_h?x.c_h:w.height),Pe.strokeStyle="red",Pe.lineWidth=3,Pe.moveTo(0,0),Pe.lineTo(x.c_w?x.c_w:w.width,x.c_h?x.c_h:w.height),Pe.moveTo(0,x.c_h?x.c_h:w.height),Pe.lineTo(x.c_w?x.c_w:w.width,0),Pe.stroke()};Q=je,w={width:K.width,height:K.height},H=[],Ze()},O=function(je){w=je,fe(w.width,w.height)},re=function(je){se(),he(),B=je.transparencyGiven?je.transparencyIndex:null,D=je.delayTime,S=je.disposalMethod},se=function(){T&&(H.push({data:T.getImageData(0,0,w.width,w.height),delay:D}),J.push({x:0,y:0}))},ce=function(je){T||(T=Fe.getContext("2d"));var Ze=H.length,rt=je.lctFlag?je.lct:w.gct;Ze>0&&(R===3?P!==null?T.putImageData(H[P].data,0,0):T.clearRect(L.leftPos,L.topPos,L.width,L.height):P=Ze-1,R===2&&T.clearRect(L.leftPos,L.topPos,L.width,L.height));var At=T.getImageData(je.leftPos,je.topPos,je.width,je.height);je.pixels.forEach(function(yt,at){yt!==B&&(At.data[at*4+0]=rt[yt][0],At.data[at*4+1]=rt[yt][1],At.data[at*4+2]=rt[yt][2],At.data[at*4+3]=255)}),T.putImageData(At,je.leftPos,je.topPos),N||(Pe.scale(ke(),ke()),N=!0),ie&&(Pe.drawImage(Fe,0,0),ie=x.auto_play),L=je},me=function(){var je=-1,Ze=0,rt=!1,At=!1,yt=function(){var zt=U?1:-1;return(je+zt+H.length)%H.length},at=function(zt){je=je+zt,_t()},ft=function(){var zt=!1,It=function(){X!==null&&X(K),Ze++,ee!==!1||Ze<0?Pt():(zt=!1,F=!1)},Pt=function(){if(zt=F,!!zt){at(1);var St=H[je].delay*10;St||(St=100);var dt=yt();dt===0?(St+=j,setTimeout(It,St)):setTimeout(Pt,St)}};return function(){zt||setTimeout(Pt,0)}}(),_t=function(){var zt;je=parseInt(je,10),je>H.length-1&&(je=0),je<0&&(je=0),zt=J[je],Fe.getContext("2d").putImageData(H[je].data,zt.x,zt.y),Pe.globalCompositeOperation="copy",Pe.drawImage(Fe,0,0)},et=function(){F=!0,ft()},pt=function(){F=!1};return{init:function(){Q||(x.c_w&&x.c_h||Pe.scale(ke(),ke()),x.auto_play?ft():(je=0,_t()))},step:ft,play:et,pause:pt,playing:F,move_relative:at,current_frame:function(){return je},length:function(){return H.length},move_to:function(zt){je=zt,_t()}}}(),Ce=function(je){Y(v.pos,v.data.length,je)},ye=function(){},Be=function(je,Ze){return function(rt){je(rt),Ce(Ze)}},Me={hdr:Be(O),gce:Be(re),com:Be(ye),app:{NETSCAPE:Be(ye)},img:Be(ce,!0),eof:function(je){se(),Ce(!1),x.c_w&&x.c_h||(Ne.width=w.width*ke(),Ne.height=w.height*ke()),me.init(),M=!1,ze&&ze(K)}},He=function(){var je=K.parentNode,Ze=document.createElement("div");Ne=document.createElement("canvas"),Pe=Ne.getContext("2d"),we=document.createElement("div"),Fe=document.createElement("canvas"),Ze.width=Ne.width=K.width,Ze.height=Ne.height=K.height,we.style.minWidth=K.width+"px",Ze.className="jsgif",we.className="jsgif_toolbar",Ze.appendChild(Ne),Ze.appendChild(we),je.insertBefore(Ze,K),je.removeChild(K),x.c_w&&x.c_h&&fe(x.c_w,x.c_h),Ue=!0},ke=function(){var je;return x.max_width&&w&&w.width>x.max_width?je=x.max_width/w.width:je=1,je},Ne,Pe,we,Fe,Ue=!1,ze=!1,Je=function(je){return M?!1:(je?ze=je:ze=!1,M=!0,H=[],he(),P=null,R=null,T=null,L=null,!0)};return{play:me.play,pause:me.pause,move_relative:me.move_relative,move_to:me.move_to,get_playing:function(){return F},get_canvas:function(){return Ne},get_canvas_scale:function(){return ke()},get_loading:function(){return M},get_auto_play:function(){return x.auto_play},get_length:function(){return me.length()},get_current_frame:function(){return me.current_frame()},load_url:function(je,Ze){if(Je(Ze)){var rt=new XMLHttpRequest;rt.open("GET",je,!0),"overrideMimeType"in rt?rt.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in rt?rt.responseType="arraybuffer":rt.setRequestHeader("Accept-Charset","x-user-defined"),rt.onloadstart=function(){Ue||He()},rt.onload=function(At){this.status!=200&&W("xhr - response"),"response"in this||(this.response=new VBArray(this.responseText).toArray().map(String.fromCharCode).join(""));var yt=this.response;yt.toString().indexOf("ArrayBuffer")>0&&(yt=new Uint8Array(yt)),v=new f(yt),setTimeout(ge,0)},rt.onprogress=function(At){At.lengthComputable&&Y(At.loaded,At.total,!0)},rt.onerror=function(){W("xhr")},rt.send()}},load:function(je){this.load_url(K.getAttribute("rel:animated_src")||K.src,je)},load_raw:function(je,Ze){Je(Ze)&&(Ue||He(),v=new f(je),setTimeout(ge,0))},set_frame_offset:G}};return E});var Bpe=jHe.SuperGif;function bF(o){if(!k(o.gif))throw new ni("gif property is needed.");this._definitionChanged=new ir,this._gif=o.gif,this._speed=ae(o.speed,1),this.parseGif(),this._step=0,this._imageArr=[]}Object.defineProperties(bF.prototype,{gif:{set:function(o){this._gif=o,this.parseGif()},get:function(){return this._gif}},speed:{get:function(){return this._speed},set:function(o){this._speed=o}},definitionChanged:{get:function(){return this._definitionChanged}}});bF.prototype.parseGif=function(){let o=this;o._imageArr=[];let A=document.createElement("img");A.src=o._gif,A.setAttribute("rel:animated_src",o.gif),A.setAttribute("rel:auto_play","1"),document.body.appendChild(A);let f=new Bpe({gif:A});return new Promise(function(m){f.load(function(){for(let C=0;C0?(o._step=C&&(Q=C-1);let M=w/x|0;return M>=E&&(M=E-1),k(f)?(f.x=Q,f.y=M,f):new tt(Q,M)};var Sf=uP;function $O(){ni.throwInstantiationError()}Object.defineProperties($O.prototype,{ready:{get:ni.throwInstantiationError},readyPromise:{get:ni.throwInstantiationError},rectangle:{get:ni.throwInstantiationError},tileWidth:{get:ni.throwInstantiationError},tileHeight:{get:ni.throwInstantiationError},maximumLevel:{get:ni.throwInstantiationError},minimumLevel:{get:ni.throwInstantiationError},tilingScheme:{get:ni.throwInstantiationError},tileDiscardPolicy:{get:ni.throwInstantiationError},errorEvent:{get:ni.throwInstantiationError},credit:{get:ni.throwInstantiationError},proxy:{get:ni.throwInstantiationError},hasAlphaChannel:{get:ni.throwInstantiationError},defaultAlpha:{get:ni.throwInstantiationError,set:ni.throwInstantiationError},defaultNightAlpha:{get:ni.throwInstantiationError,set:ni.throwInstantiationError},defaultDayAlpha:{get:ni.throwInstantiationError,set:ni.throwInstantiationError},defaultBrightness:{get:ni.throwInstantiationError,set:ni.throwInstantiationError},defaultContrast:{get:ni.throwInstantiationError,set:ni.throwInstantiationError},defaultHue:{get:ni.throwInstantiationError,set:ni.throwInstantiationError},defaultSaturation:{get:ni.throwInstantiationError,set:ni.throwInstantiationError},defaultGamma:{get:ni.throwInstantiationError,set:ni.throwInstantiationError},defaultMinificationFilter:{get:ni.throwInstantiationError,set:ni.throwInstantiationError},defaultMagnificationFilter:{get:ni.throwInstantiationError,set:ni.throwInstantiationError}});$O.prototype.getTileCredits=function(o,A,f){ni.throwInstantiationError()};$O.prototype.requestImage=function(o,A,f,m){ni.throwInstantiationError()};$O.prototype.pickFeatures=function(o,A,f,m,C){ni.throwInstantiationError()};var MFt=/\.ktx2$/i,TFt=/\.dds$/i,PFt=/\.json$/i;$O.loadImage=function(o,A){let f=fr.createIfNeeded(A);return MFt.test(f.url)?$2(f):TFt.test(f)?NZ(f):PFt.test(f.url)?RFt(f):k(o)&&k(o.tileDiscardPolicy)?f.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):f.fetchImage({preferImageBitmap:!0,flipY:!0})};function RFt(o){let A=o.fetchJson();if(A!==void 0)return A.then(function(f){return f})}var $1=$O;function wpe(o){this._errorEvent=new ir,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=18,this._minimumLevel=1;let A=new tt(-33554054,-33746824),f=new tt(33554054,33746824);this._tilingScheme=new Sf({rectangleSouthwestInMeters:A,rectangleNortheastInMeters:f}),this._rectangle=this._tilingScheme.rectangle,this._resource=fr.createIfNeeded(o.url),this._tileDiscardPolicy=void 0,this._credit=void 0,this._readyPromise=void 0}Object.defineProperties(wpe.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){if(!this.ready)throw new ni("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},tileHeight:{get:function(){if(!this.ready)throw new ni("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},maximumLevel:{get:function(){if(!this.ready)throw new ni("maximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel}},minimumLevel:{get:function(){if(!this.ready)throw new ni("minimumLevel must not be called before the imagery provider is ready.");return this._minimumLevel}},tilingScheme:{get:function(){if(!this.ready)throw new ni("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},tileDiscardPolicy:{get:function(){if(!this.ready)throw new ni("tileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy}},rectangle:{get:function(){if(!this.ready)throw new ni("rectangle must not be called before the imagery provider is ready.");return this._rectangle}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._resource}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){if(!this.ready)throw new ni("credit must not be called before the imagery provider is ready.");return this._credit}}});wpe.prototype.requestImage=function(o,A,f,m){let C=this._tilingScheme.getNumberOfXTilesAtLevel(f),E=this._tilingScheme.getNumberOfYTilesAtLevel(f),I=this.url.replace("{x}",o-C/2).replace("{y}",E/2-A-1).replace("{z}",f).replace("{s}",Math.floor(10*Math.random()));return $1.loadImage(this,I)};var F$=wpe,ZHe={};(function(o,A){A(o.turf={})})(ZHe,function(o){"use strict";var A=63710088e-1,f={centimeters:637100880,centimetres:637100880,degrees:57.22891354143274,feet:20902260511392e-6,inches:39.37*A,kilometers:6371.0088,kilometres:6371.0088,meters:A,metres:A,miles:3958.761333810546,millimeters:6371008800,millimetres:6371008800,nauticalmiles:A/1852,radians:1,yards:6967335223679999e-9},m={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/A,yards:1.0936133},C={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function E(V,q,te){te===void 0&&(te={});var ne={type:"Feature"};return(te.id===0||te.id)&&(ne.id=te.id),te.bbox&&(ne.bbox=te.bbox),ne.properties=q||{},ne.geometry=V,ne}function I(V,q,te){switch(V){case"Point":return x(q).geometry;case"LineString":return Q(q).geometry;case"Polygon":return v(q).geometry;case"MultiPoint":return S(q).geometry;case"MultiLineString":return D(q).geometry;case"MultiPolygon":return P(q).geometry;default:throw new Error(V+" is invalid")}}function x(V,q,te){if(te===void 0&&(te={}),!V)throw new Error("coordinates is required");if(!Array.isArray(V))throw new Error("coordinates must be an Array");if(V.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!j(V[0])||!j(V[1]))throw new Error("coordinates must contain numbers");return E({type:"Point",coordinates:V},q,te)}function y(V,q,te){return te===void 0&&(te={}),B(V.map(function(ne){return x(ne,q)}),te)}function v(V,q,te){te===void 0&&(te={});for(var ne=0,ue=V;ne=0))throw new Error("precision must be a positive number");var te=Math.pow(10,q||0);return Math.round(V*te)/te}function L(V,q){q===void 0&&(q="kilometers");var te=f[q];if(!te)throw new Error(q+" units is invalid");return V*te}function F(V,q){q===void 0&&(q="kilometers");var te=f[q];if(!te)throw new Error(q+" units is invalid");return V/te}function U(V,q){return H(F(V,q))}function N(V){var q=V%360;return q<0&&(q+=360),q}function H(V){return 180*(V%(2*Math.PI))/Math.PI}function J(V){return V%360*Math.PI/180}function K(V,q,te){if(q===void 0&&(q="kilometers"),te===void 0&&(te="kilometers"),!(V>=0))throw new Error("length must be a positive number");return L(F(V,q),te)}function X(V,q,te){if(q===void 0&&(q="meters"),te===void 0&&(te="kilometers"),!(V>=0))throw new Error("area must be a positive number");var ne=C[q];if(!ne)throw new Error("invalid original units");var ue=C[te];if(!ue)throw new Error("invalid final units");return V/ne*ue}function j(V){return!isNaN(V)&&V!==null&&!Array.isArray(V)}function ee(V){return!!V&&V.constructor===Object}function ie(V){if(!V)throw new Error("bbox is required");if(!Array.isArray(V))throw new Error("bbox must be an Array");if(V.length!==4&&V.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");V.forEach(function(q){if(!j(q))throw new Error("bbox must only contain numbers")})}function z(V){if(!V)throw new Error("id is required");if(["string","number"].indexOf(typeof V)===-1)throw new Error("id must be a number or a string")}var oe=Object.freeze({__proto__:null,earthRadius:A,factors:f,unitsFactors:m,areaFactors:C,feature:E,geometry:I,point:x,points:y,polygon:v,polygons:w,lineString:Q,lineStrings:M,featureCollection:B,multiLineString:D,multiPoint:S,multiPolygon:P,geometryCollection:R,round:T,radiansToLength:L,lengthToRadians:F,lengthToDegrees:U,bearingToAzimuth:N,radiansToDegrees:H,degreesToRadians:J,convertLength:K,convertArea:X,isNumber:j,isObject:ee,validateBBox:ie,validateId:z});function le(V){if(!V)throw new Error("coord is required");if(!Array.isArray(V)){if(V.type==="Feature"&&V.geometry!==null&&V.geometry.type==="Point")return V.geometry.coordinates;if(V.type==="Point")return V.coordinates}if(Array.isArray(V)&&V.length>=2&&!Array.isArray(V[0])&&!Array.isArray(V[1]))return V;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function Ae(V){if(Array.isArray(V))return V;if(V.type==="Feature"){if(V.geometry!==null)return V.geometry.coordinates}else if(V.coordinates)return V.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function he(V){if(V.length>1&&j(V[0])&&j(V[1]))return!0;if(Array.isArray(V[0])&&V[0].length)return he(V[0]);throw new Error("coordinates must only contain numbers")}function ge(V,q,te){if(!q||!te)throw new Error("type and name required");if(!V||V.type!==q)throw new Error("Invalid input to "+te+": must be a "+q+", given "+V.type)}function de(V,q,te){if(!V)throw new Error("No feature passed");if(!te)throw new Error(".featureOf() requires a name");if(!V||V.type!=="Feature"||!V.geometry)throw new Error("Invalid input to "+te+", Feature with geometry required");if(!V.geometry||V.geometry.type!==q)throw new Error("Invalid input to "+te+": must be a "+q+", given "+V.geometry.type)}function fe(V,q,te){if(!V)throw new Error("No featureCollection passed");if(!te)throw new Error(".collectionOf() requires a name");if(!V||V.type!=="FeatureCollection")throw new Error("Invalid input to "+te+", FeatureCollection required");for(var ne=0,ue=V.features;nebe||nt>Te||lt>Ye)return ve=Ge,be=ne,Te=nt,Ye=lt,void(pe=0);var it=Q([ve,Ge],te.properties);if(q(it,ne,ue,lt,pe)===!1)return!1;pe++,ve=Ge})!==!1&&void 0}}})}function Pe(V,q,te){var ne=te,ue=!1;return Ne(V,function(pe,Ee,ve,be,Te){ne=ue===!1&&te===void 0?pe:q(ne,pe,Ee,ve,be,Te),ue=!0}),ne}function we(V,q){if(!V)throw new Error("geojson is required");He(V,function(te,ne,ue){if(te.geometry!==null){var pe=te.geometry.type,Ee=te.geometry.coordinates;switch(pe){case"LineString":if(q(te,ne,ue,0,0)===!1)return!1;break;case"Polygon":for(var ve=0;vete[0]&&(q[0]=te[0]),q[1]>te[1]&&(q[1]=te[1]),q[2] * v. 1.2.0 * https://github.com/RaumZeit/MarchingSquares.js * * MarchingSquaresJS is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * MarchingSquaresJS is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * As additional permission under GNU Affero General Public License version 3 * section 7, third-party projects (personal or commercial) may distribute, * include, or link against UNMODIFIED VERSIONS of MarchingSquaresJS without the * requirement that said third-party project for that reason alone becomes * subject to any requirement of the GNU Affero General Public License version 3. * Any modifications to MarchingSquaresJS, however, must be shared with the public * and made available. * * In summary this: * - allows you to use MarchingSquaresJS at no cost * - allows you to use MarchingSquaresJS for both personal and commercial purposes * - allows you to distribute UNMODIFIED VERSIONS of MarchingSquaresJS under any * license as long as this license notice is included * - enables you to keep the source code of your program that uses MarchingSquaresJS * undisclosed * - forces you to share any modifications you have made to MarchingSquaresJS, * e.g. bug-fixes * * You should have received a copy of the GNU Affero General Public License * along with MarchingSquaresJS. If not, see . */function et(V,q,te){te=te||{};for(var ne=Object.keys(ft),ue=0;ue=0&&Va>=0&&Va=0;Qt--)if(Math.abs(Te[Qt][0][0]-ei)<=Ge&&Math.abs(Te[Qt][0][1]-st)<=Ge){for(var Rt=it.path.length-2;Rt>=0;--Rt)Te[Qt].unshift(it.path[Rt]);Dt=!0;break}}Dt||(Te[Ye++]=it.path)}var Jt})}),Te}(function(be,Te){for(var Ye=be.length-1,Ge=be[0].length-1,$e={rows:Ye,cols:Ge,cells:[]},ot=0;ot=Te?8:0,lt|=Dt>=Te?4:0,lt|=ei>=Te?2:0;var Qt,Rt,Jt,Ft,tr=!1;if((lt|=st>=Te?1:0)===5||lt===10){var Hi=(it+Dt+ei+st)/4;lt===5&&Hite;){if(ne-te>600){var pe=ne-te+1,Ee=q-te+1,ve=Math.log(pe),be=.5*Math.exp(2*ve/3),Te=.5*Math.sqrt(ve*be*(pe-be)/pe)*(Ee-pe/2<0?-1:1);Oe(V,q,Math.max(te,Math.floor(q-Ee*be/pe+Te)),Math.min(ne,Math.floor(q+(pe-Ee)*be/pe+Te)),ue)}var Ye=V[q],Ge=te,$e=ne;for(vt(V,te,q),ue(V[ne],Ye)>0&&vt(V,te,ne);Ge<$e;){for(vt(V,Ge,$e),Ge++,$e--;ue(V[Ge],Ye)<0;)Ge++;for(;ue(V[$e],Ye)>0;)$e--}ue(V[te],Ye)===0?vt(V,te,$e):vt(V,++$e,ne),$e<=q&&(te=$e+1),q<=$e&&(ne=$e-1)}}function vt(V,q,te){var ne=V[q];V[q]=V[te],V[te]=ne}function wt(V,q){return Vq?1:0}dt.default=Le;var Bt=nr,bi=nr;function nr(V,q){if(!(this instanceof nr))return new nr(V,q);this._maxEntries=Math.max(4,V||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),q&&this._initFormat(q),this.clear()}function Ai(V,q,te){if(!te)return q.indexOf(V);for(var ne=0;ne=V.minX&&q.maxY>=V.minY}function gt(V){return{children:V,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function bt(V,q,te,ne,ue){for(var pe,Ee=[q,te];Ee.length;)(te=Ee.pop())-(q=Ee.pop())<=ne||(pe=q+Math.ceil((te-q)/ne/2)*ne,dt(V,pe,q,te,ue),Ee.push(q,pe,pe,te))}function Ot(V){var q={exports:{}};return V(q,q.exports),q.exports}nr.prototype={all:function(){return this._all(this.data,[])},search:function(V){var q=this.data,te=[],ne=this.toBBox;if(!Ei(V,q))return te;for(var ue,pe,Ee,ve,be=[];q;){for(ue=0,pe=q.children.length;ue=0&&pe[q].children.length>this._maxEntries;)this._split(pe,q),q--;this._adjustParentBBoxes(ue,pe,q)},_split:function(V,q){var te=V[q],ne=te.children.length,ue=this._minEntries;this._chooseSplitAxis(te,ue,ne);var pe=this._chooseSplitIndex(te,ue,ne),Ee=gt(te.children.splice(pe,te.children.length-pe));Ee.height=te.height,Ee.leaf=te.leaf,xi(te,this.toBBox),xi(Ee,this.toBBox),q?V[q-1].children.push(Ee):this._splitRoot(te,Ee)},_splitRoot:function(V,q){this.data=gt([V,q]),this.data.height=V.height+1,this.data.leaf=!1,xi(this.data,this.toBBox)},_chooseSplitIndex:function(V,q,te){var ne,ue,pe,Ee,ve,be,Te,Ye,Ge,$e,ot,nt,lt,it;for(be=Te=1/0,ne=q;ne<=te-q;ne++)ue=Fi(V,0,ne,this.toBBox),pe=Fi(V,ne,te,this.toBBox),Ge=ue,$e=pe,ot=void 0,nt=void 0,lt=void 0,it=void 0,ot=Math.max(Ge.minX,$e.minX),nt=Math.max(Ge.minY,$e.minY),lt=Math.min(Ge.maxX,$e.maxX),it=Math.min(Ge.maxY,$e.maxY),Ee=Math.max(0,lt-ot)*Math.max(0,it-nt),ve=di(ue)+di(pe),Ee=q;ue--)pe=V.children[ue],pi(be,V.leaf?Ee(pe):pe),Te+=ui(be);return Te},_adjustParentBBoxes:function(V,q,te){for(var ne=te;ne>=0;ne--)pi(q[ne],V)},_condense:function(V){for(var q,te=V.length-1;te>=0;te--)V[te].children.length===0?te>0?(q=V[te-1].children).splice(q.indexOf(V[te]),1):this.clear():xi(V[te],this.toBBox)},_initFormat:function(V){var q=["return a"," - b",";"];this.compareMinX=new Function("a","b",q.join(V[0])),this.compareMinY=new Function("a","b",q.join(V[1])),this.toBBox=new Function("a","return {minX: a"+V[0]+", minY: a"+V[1]+", maxX: a"+V[2]+", maxY: a"+V[3]+"};")}},Bt.default=bi;var Wt=function(V,q,te){var ne=V*q,ue=Oi*V,pe=ue-(ue-V),Ee=V-pe,ve=Oi*q,be=ve-(ve-q),Te=q-be,Ye=Ee*Te-(ne-pe*be-Ee*be-pe*Te);return te?(te[0]=Ye,te[1]=ne,te):[Ye,ne]},Oi=+(Math.pow(2,27)+1),Ci=function(V,q){var te=0|V.length,ne=0|q.length;if(te===1&&ne===1)return function(Jt,Ft){var tr=Jt+Ft,Hi=tr-Jt,Cr=Jt-(tr-Hi)+(Ft-Hi);return Cr?[Cr,tr]:[tr]}(V[0],q[0]);var ue,pe,Ee=new Array(te+ne),ve=0,be=0,Te=0,Ye=Math.abs,Ge=V[be],$e=Ye(Ge),ot=q[Te],nt=Ye(ot);$e=ne?(ue=Ge,(be+=1)=ne?(ue=Ge,(be+=1)>1;return["sum(",te(Te.slice(0,Ye)),",",te(Te.slice(Ye)),")"].join("")}function ne(Te){if(Te.length===2)return[["sum(prod(",Te[0][0],",",Te[1][1],"),prod(-",Te[0][1],",",Te[1][0],"))"].join("")];for(var Ye=[],Ge=0;Ge0){if(nt<=0)return lt;$e=ot+nt}else{if(!(ot<0)||nt>=0)return lt;$e=-(ot+nt)}var it=33306690738754716e-32*$e;return lt>=it||lt<=-it?lt:pe(Te,Ye,Ge)},function(Te,Ye,Ge,$e){var ot=Te[0]-$e[0],nt=Ye[0]-$e[0],lt=Ge[0]-$e[0],it=Te[1]-$e[1],Dt=Ye[1]-$e[1],ei=Ge[1]-$e[1],st=Te[2]-$e[2],Qt=Ye[2]-$e[2],Rt=Ge[2]-$e[2],Jt=nt*ei,Ft=lt*Dt,tr=lt*it,Hi=ot*ei,Cr=ot*Dt,ji=nt*it,Sr=st*(Jt-Ft)+Qt*(tr-Hi)+Rt*(Cr-ji),Xi=7771561172376103e-31*((Math.abs(Jt)+Math.abs(Ft))*Math.abs(st)+(Math.abs(tr)+Math.abs(Hi))*Math.abs(Qt)+(Math.abs(Cr)+Math.abs(ji))*Math.abs(Rt));return Sr>Xi||-Sr>Xi?Sr:Ee(Te,Ye,Ge,$e)}];function be(Te){var Ye=ve[Te.length];return Ye||(Ye=ve[Te.length]=ue(Te.length)),Ye.apply(void 0,Te)}(function(){for(;ve.length<=5;)ve.push(ue(ve.length));for(var Te=[],Ye=["slow"],Ge=0;Ge<=5;++Ge)Te.push("a"+Ge),Ye.push("o"+Ge);var $e=["function getOrientation(",Te.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(Ge=2;Ge<=5;++Ge)$e.push("case ",Ge,":return o",Ge,"(",Te.slice(0,Ge).join(),");");$e.push("}var s=new Array(arguments.length);for(var i=0;i1&&Ho(V[pe[Te-2]],V[pe[Te-1]],be)<=0;)Te-=1,pe.pop();for(pe.push(ve),Te=Ee.length;Te>1&&Ho(V[Ee[Te-2]],V[Ee[Te-1]],be)>=0;)Te-=1,Ee.pop();Ee.push(ve)}te=new Array(Ee.length+pe.length-2);for(var Ye=0,Ge=(ne=0,pe.length);ne0;--$e)te[Ye++]=Ee[$e];return te},Ho=Da[3],Ol=oh,au=oh;function oh(V,q){if(!(this instanceof oh))return new oh(V,q);if(this.data=V||[],this.length=this.data.length,this.compare=q||su,this.length>0)for(var te=(this.length>>1)-1;te>=0;te--)this._down(te)}function su(V,q){return Vq?1:0}oh.prototype={push:function(V){this.data.push(V),this.length++,this._up(this.length-1)},pop:function(){if(this.length!==0){var V=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),V}},peek:function(){return this.data[0]},_up:function(V){for(var q=this.data,te=this.compare,ne=q[V];V>0;){var ue=V-1>>1,pe=q[ue];if(te(ne,pe)>=0)break;q[V]=pe,V=ue}q[V]=ne},_down:function(V){for(var q=this.data,te=this.compare,ne=this.length>>1,ue=q[V];V=0)break;q[V]=ve,V=pe}q[V]=ue}},Ol.default=au;var Bg=function(V,q){for(var te=V[0],ne=V[1],ue=!1,pe=0,Ee=q.length-1;pene!=Ye>ne&&te<(Te-ve)*(ne-be)/(Ye-be)+ve&&(ue=!ue)}return ue},Nf=Da[3],T0=Xu,P0=Xu;function Xu(V,q,te){q=Math.max(0,q===void 0?2:q),te=te||0;for(var ne,ue=function(ei){for(var st=ei[0],Qt=ei[0],Rt=ei[0],Jt=ei[0],Ft=0;FtRt[0]&&(Rt=tr),tr[1]Jt[1]&&(Jt=tr)}var Hi=[st,Qt,Rt,Jt],Cr=Hi.slice();for(Ft=0;Ftpe||ve.push({node:Ye,dist:Ge})}for(;ve.length&&!ve.peek().node.children;){var $e=ve.pop(),ot=$e.node,nt=mr(ot,q,te),lt=mr(ot,ne,ue);if($e.dist=q.minX&&V[0]<=q.maxX&&V[1]>=q.minY&&V[1]<=q.maxY}function Sp(V,q,te){for(var ne,ue,pe,Ee,ve=Math.min(V[0],q[0]),be=Math.min(V[1],q[1]),Te=Math.max(V[0],q[0]),Ye=Math.max(V[1],q[1]),Ge=te.search({minX:ve,minY:be,maxX:Te,maxY:Ye}),$e=0;$e0!=Nf(ne,ue,Ee)>0&&Nf(pe,Ee,ne)>0!=Nf(pe,Ee,ue)>0)return!1;return!0}function Zd(V){var q=V.p,te=V.next.p;return V.minX=Math.min(q[0],te[0]),V.minY=Math.min(q[1],te[1]),V.maxX=Math.max(q[0],te[0]),V.maxY=Math.max(q[1],te[1]),V}function ci(V,q){var te={p:V,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return q?(te.next=q.next,te.prev=q,q.next.prev=te,q.next=te):(te.prev=te,te.next=te),te}function ki(V,q){var te=V[0]-q[0],ne=V[1]-q[1];return te*te+ne*ne}function mr(V,q,te){var ne=q[0],ue=q[1],pe=te[0]-ne,Ee=te[1]-ue;if(pe!==0||Ee!==0){var ve=((V[0]-ne)*pe+(V[1]-ue)*Ee)/(pe*pe+Ee*Ee);ve>1?(ne=te[0],ue=te[1]):ve>0&&(ne+=pe*ve,ue+=Ee*ve)}return(pe=V[0]-ne)*pe+(Ee=V[1]-ue)*Ee}function zr(V,q,te,ne,ue,pe,Ee,ve){var be,Te,Ye,Ge,$e=te-V,ot=ne-q,nt=Ee-ue,lt=ve-pe,it=V-ue,Dt=q-pe,ei=$e*$e+ot*ot,st=$e*nt+ot*lt,Qt=nt*nt+lt*lt,Rt=$e*it+ot*Dt,Jt=nt*it+lt*Dt,Ft=ei*Qt-st*st,tr=Ft,Hi=Ft;Ft===0?(Te=0,tr=1,Ge=Jt,Hi=Qt):(Ge=ei*Jt-st*Rt,(Te=st*Jt-Qt*Rt)<0?(Te=0,Ge=Jt,Hi=Qt):Te>tr&&(Te=tr,Ge=Jt+st,Hi=Qt)),Ge<0?(Ge=0,-Rt<0?Te=0:-Rt>ei?Te=tr:(Te=-Rt,tr=ei)):Ge>Hi&&(Ge=Hi,-Rt+st<0?Te=0:-Rt+st>ei?Te=tr:(Te=-Rt+st,tr=ei));var Cr=(1-(Ye=Ge===0?0:Ge/Hi))*ue+Ye*Ee-((1-(be=Te===0?0:Te/tr))*V+be*te),ji=(1-Ye)*pe+Ye*ve-((1-be)*q+be*ne);return Cr*Cr+ji*ji}function en(V,q){q===void 0&&(q={}),q.concavity=q.concavity||1/0;var te=[];if(O(V,function(ue){te.push([ue[0],ue[1]])}),!te.length)return null;var ne=T0(te,q.concavity);return ne.length>3?v([ne]):null}function Mr(V,q,te){if(te===void 0&&(te={}),!V)throw new Error("point is required");if(!q)throw new Error("polygon is required");var ne=le(V),ue=G(q),pe=ue.type,Ee=q.bbox,ve=ue.coordinates;if(Ee&&function($e,ot){return ot[0]<=$e[0]&&ot[1]<=$e[1]&&ot[2]>=$e[0]&&ot[3]>=$e[1]}(ne,Ee)===!1)return!1;pe==="Polygon"&&(ve=[ve]);for(var be=!1,Te=0;TeV[1]!=Te>V[1]&&V[0]<(be-Ee)*(V[1]-ve)/(Te-ve)+Ee&&(ne=!ne)}return ne}function Sn(V,q){var te=[];return me(V,function(ne){var ue=!1;Be(q,function(pe){Mr(ne,pe)&&(ue=!0)}),ue&&te.push(ne)}),B(te)}function jr(V,q,te){te===void 0&&(te={});var ne=le(V),ue=le(q),pe=J(ue[1]-ne[1]),Ee=J(ue[0]-ne[0]),ve=J(ne[1]),be=J(ue[1]),Te=Math.pow(Math.sin(pe/2),2)+Math.pow(Math.sin(Ee/2),2)*Math.cos(ve)*Math.cos(be);return L(2*Math.atan2(Math.sqrt(Te),Math.sqrt(1-Te)),te.units)}function to(V,q){var te=!1;return B(function(ne){if(ne.length<3)return[];ne.sort(La);for(var ue,pe,Ee,ve,be,Te,Ye=ne.length-1,Ge=ne[Ye].x,$e=ne[0].x,ot=ne[Ye].y,nt=ot,lt=1e-12;Ye--;)ne[Ye].ynt&&(nt=ne[Ye].y);var it,Dt=$e-Ge,ei=nt-ot,st=Dt>ei?Dt:ei,Qt=.5*($e+Ge),Rt=.5*(nt+ot),Jt=[new Eo({__sentinel:!0,x:Qt-20*st,y:Rt-st},{__sentinel:!0,x:Qt,y:Rt+20*st},{__sentinel:!0,x:Qt+20*st,y:Rt-st})],Ft=[],tr=[];for(Ye=ne.length;Ye--;){for(tr.length=0,it=Jt.length;it--;)(Dt=ne[Ye].x-Jt[it].x)>0&&Dt*Dt>Jt[it].r?(Ft.push(Jt[it]),Jt.splice(it,1)):Dt*Dt+(ei=ne[Ye].y-Jt[it].y)*ei>Jt[it].r||(tr.push(Jt[it].a,Jt[it].b,Jt[it].b,Jt[it].c,Jt[it].c,Jt[it].a),Jt.splice(it,1));for(Gl(tr),it=tr.length;it;)pe=tr[--it],ue=tr[--it],Ee=ne[Ye],ve=pe.x-ue.x,be=pe.y-ue.y,Te=2*(ve*(Ee.y-pe.y)-be*(Ee.x-pe.x)),Math.abs(Te)>lt&&Jt.push(new Eo(ue,pe,Ee))}for(Array.prototype.push.apply(Ft,Jt),Ye=Ft.length;Ye--;)(Ft[Ye].a.__sentinel||Ft[Ye].b.__sentinel||Ft[Ye].c.__sentinel)&&Ft.splice(Ye,1);return Ft}(V.features.map(function(ne){var ue={x:ne.geometry.coordinates[0],y:ne.geometry.coordinates[1]};return q?ue.z=ne.properties[q]:ne.geometry.coordinates.length===3&&(te=!0,ue.z=ne.geometry.coordinates[2]),ue})).map(function(ne){var ue=[ne.a.x,ne.a.y],pe=[ne.b.x,ne.b.y],Ee=[ne.c.x,ne.c.y],ve={};return te?(ue.push(ne.a.z),pe.push(ne.b.z),Ee.push(ne.c.z)):ve={a:ne.a.z,b:ne.b.z,c:ne.c.z},v([[ue,pe,Ee,ue]],ve)}))}T0.default=P0;var Eo=function(V,q,te){this.a=V,this.b=q,this.c=te;var ne,ue,pe=q.x-V.x,Ee=q.y-V.y,ve=te.x-V.x,be=te.y-V.y,Te=pe*(V.x+q.x)+Ee*(V.y+q.y),Ye=ve*(V.x+te.x)+be*(V.y+te.y),Ge=2*(pe*(te.y-q.y)-Ee*(te.x-q.x));this.x=(be*Te-Ee*Ye)/Ge,this.y=(pe*Ye-ve*Te)/Ge,ne=this.x-V.x,ue=this.y-V.y,this.r=ne*ne+ue*ue};function La(V,q){return q.x-V.x}function Gl(V){var q,te,ne,ue,pe,Ee=V.length;e:for(;Ee;)for(te=V[--Ee],q=V[--Ee],ne=Ee;ne;)if(pe=V[--ne],q===(ue=V[--ne])&&te===pe||q===pe&&te===ue){V.splice(Ee,2),V.splice(ne,2),Ee-=2;continue e}}function Uo(V){if(!V)throw new Error("geojson is required");switch(V.type){case"Feature":return IA(V);case"FeatureCollection":return function(q){var te={type:"FeatureCollection"};return Object.keys(q).forEach(function(ne){switch(ne){case"type":case"features":return;default:te[ne]=q[ne]}}),te.features=q.features.map(function(ne){return IA(ne)}),te}(V);case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":case"GeometryCollection":return yd(V);default:throw new Error("unknown GeoJSON type")}}function IA(V){var q={type:"Feature"};return Object.keys(V).forEach(function(te){switch(te){case"type":case"properties":case"geometry":return;default:q[te]=V[te]}}),q.properties=ss(V.properties),q.geometry=yd(V.geometry),q}function ss(V){var q={};return V&&Object.keys(V).forEach(function(te){var ne=V[te];typeof ne=="object"?ne===null?q[te]=null:Array.isArray(ne)?q[te]=ne.map(function(ue){return ue}):q[te]=ss(ne):q[te]=ne}),q}function yd(V){var q={type:V.type};return V.bbox&&(q.bbox=V.bbox),V.type==="GeometryCollection"?(q.geometries=V.geometries.map(function(te){return yd(te)}),q):(q.coordinates=Uu(V.coordinates),q)}function Uu(V){var q=V;return typeof q[0]!="object"?q.slice():q.map(function(te){return Uu(te)})}function rf(V,q){if(q===void 0&&(q={}),!ee(q=q||{}))throw new Error("options is invalid");var te=q.mutate;if(Y(V)!=="FeatureCollection")throw new Error("geojson must be a FeatureCollection");if(!V.features.length)throw new Error("geojson is empty");te!==!1&&te!==void 0||(V=Uo(V));var ne=[],ue=Fe(V,function(pe,Ee){var ve=function(be,Te){var Ye,Ge=be.geometry.coordinates,$e=Te.geometry.coordinates,ot=Qh(Ge[0]),nt=Qh(Ge[Ge.length-1]),lt=Qh($e[0]),it=Qh($e[$e.length-1]);if(ot===it)Ye=$e.concat(Ge.slice(1));else if(lt===nt)Ye=Ge.concat($e.slice(1));else if(ot===lt)Ye=Ge.slice(1).reverse().concat($e);else{if(nt!==it)return null;Ye=Ge.concat($e.reverse().slice(1))}return Q(Ye)}(pe,Ee);return ve||(ne.push(pe),Ee)});return ue&&ne.push(ue),ne.length?ne.length===1?ne[0]:D(ne.map(function(pe){return pe.coordinates})):null}function Qh(V){return V[0].toString()+","+V[1].toString()}function Lc(V){return V}function Jm(V,q){var te=function(Te){if(Te==null)return Lc;var Ye,Ge,$e=Te.scale[0],ot=Te.scale[1],nt=Te.translate[0],lt=Te.translate[1];return function(it,Dt){Dt||(Ye=Ge=0);var ei=2,st=it.length,Qt=new Array(st);for(Qt[0]=(Ye+=it[0])*$e+nt,Qt[1]=(Ge+=it[1])*ot+lt;ei1)for(var Ye,Ge,$e=1,ot=Ee(Te[0]);$eot&&(Ge=Te[0],Te[0]=Te[$e],Te[$e]=Ge,ot=Ye);return Te}).filter(function(ve){return ve.length>0})}}var ZC=Object.prototype.hasOwnProperty;function Km(V,q,te,ne,ue,pe){arguments.length===3&&(ne=pe=Array,ue=null);for(var Ee=new ne(V=1<=V)throw new Error("full hashmap");Dt=Ee[it=it+1&be]}return Ee[it]=nt,ve[it]=lt,lt}function Ge(nt,lt){for(var it=q(nt)&be,Dt=Ee[it],ei=0;Dt!=ue;){if(te(Dt,nt))return ve[it];if(++ei>=V)throw new Error("full hashmap");Dt=Ee[it=it+1&be]}return Ee[it]=nt,ve[it]=lt,lt}function $e(nt,lt){for(var it=q(nt)&be,Dt=Ee[it],ei=0;Dt!=ue;){if(te(Dt,nt))return ve[it];if(++ei>=V)break;Dt=Ee[it=it+1&be]}return lt}function ot(){for(var nt=[],lt=0,it=Ee.length;lt>7^Wm[2]^Wm[3])}function tE(V){var q,te,ne,ue,pe=V.coordinates,Ee=V.lines,ve=V.rings,be=function(){for(var Hi=Km(1.4*pe.length,Rt,Jt,Int32Array,-1,Int32Array),Cr=new Int32Array(pe.length),ji=0,Sr=pe.length;ji=0){var $i=Ge[ji];Xi===Cr&&$i===Sr||Xi===Sr&&$i===Cr||(++ot,$e[ji]=1)}else Ye[ji]=Cr,Ge[ji]=Sr}}function Rt(Hi){return eE(pe[Hi])}function Jt(Hi,Cr){return Ou(pe[Hi],pe[Cr])}Te=Ye=Ge=null;var Ft,tr=function(Hi,Cr,ji,Sr,Xi){arguments.length===3&&(Sr=Array,Xi=null);for(var $i=new Sr(Hi=1<=Hi)throw new Error("full hashset");ha=$i[Cn=Cn+1&Yi]}return $i[Cn]=Dn,!0}function br(Dn){for(var Cn=Cr(Dn)&Yi,ha=$i[Cn],Va=0;ha!=Xi;){if(ji(ha,Dn))return!0;if(++Va>=Hi)break;ha=$i[Cn=Cn+1&Yi]}return!1}function Qi(){for(var Dn=[],Cn=0,ha=$i.length;Cn>1);qlt&&(lt=tr),Hiit&&(it=Hi)}function Qt(Ft){Ft.forEach(st)}function Rt(Ft){Ft.forEach(Qt)}for(var Jt in $e)Dt($e[Jt]);return lt>=ot&&it>=nt?[ot,nt,lt,it]:void 0}(V=vn(V)),ne=q>0&&te&&function($e,ot,nt){var lt=ot[0],it=ot[1],Dt=ot[2],ei=ot[3],st=Dt-lt?(nt-1)/(Dt-lt):1,Qt=ei-it?(nt-1)/(ei-it):1;function Rt(Xi){return[Math.round((Xi[0]-lt)*st),Math.round((Xi[1]-it)*Qt)]}function Jt(Xi,$i){for(var Yi,Er,Ir,br,Qi,Dn=-1,Cn=0,ha=Xi.length,Va=new Array(ha);++Dn2&&ra(te[ue-3],te[ue-1],te[ue-2])&&te.splice(te.length-2,1))}if(te.push(q[q.length-1]),ue=te.length,nn(q[0],q[q.length-1])&&ue<4)throw new Error("invalid polygon");return ra(te[ue-3],te[ue-1],te[ue-2])&&te.splice(te.length-2,1),te}function nn(V,q){return V[0]===q[0]&&V[1]===q[1]}function ra(V,q,te){var ne=te[0],ue=te[1],pe=V[0],Ee=V[1],ve=q[0],be=q[1],Te=ve-pe,Ye=be-Ee;return(ne-pe)*Ye-(ue-Ee)*Te===0&&(Math.abs(Te)>=Math.abs(Ye)?Te>0?pe<=ne&&ne<=ve:ve<=ne&&ne<=pe:Ye>0?Ee<=ue&&ue<=be:be<=ue&&ue<=Ee)}function Na(V,q,te){var ne=q.x,ue=q.y,pe=te.x-ne,Ee=te.y-ue;if(pe!==0||Ee!==0){var ve=((V.x-ne)*pe+(V.y-ue)*Ee)/(pe*pe+Ee*Ee);ve>1?(ne=te.x,ue=te.y):ve>0&&(ne+=pe*ve,ue+=Ee*ve)}return(pe=V.x-ne)*pe+(Ee=V.y-ue)*Ee}function $l(V,q,te,ne,ue){for(var pe,Ee=ne,ve=q+1;veEe&&(pe=ve,Ee=be)}Ee>ne&&(pe-q>1&&$l(V,q,pe,ne,ue),ue.push(V[pe]),te-pe>1&&$l(V,pe,te,ne,ue))}function $d(V,q){var te=V.length-1,ne=[V[0]];return $l(V,0,te,q,ne),ne.push(V[te]),ne}function wg(V,q,te){if(V.length<=2)return V;var ne=q!==void 0?q*q:1;return V=$d(V=te?V:function(ue,pe){for(var Ee,ve,be,Te,Ye,Ge=ue[0],$e=[Ge],ot=1,nt=ue.length;otpe&&($e.push(Ee),Ge=Ee);return Ge!==Ee&&$e.push(Ee),$e}(V,ne),ne)}function L0(V,q,te){return wg(V.map(function(ne){return{x:ne[0],y:ne[1],z:ne[2]}}),q,te).map(function(ne){return ne.z?[ne.x,ne.y,ne.z]:[ne.x,ne.y]})}function Gu(V,q,te){return V.map(function(ne){var ue=ne.map(function(Ee){return{x:Ee[0],y:Ee[1]}});if(ue.length<4)throw new Error("invalid polygon");for(var pe=wg(ue,q,te).map(function(Ee){return[Ee.x,Ee.y]});!Xa(pe);)pe=wg(ue,q-=.01*q,te).map(function(Ee){return[Ee.x,Ee.y]});return pe[pe.length-1][0]===pe[0][0]&&pe[pe.length-1][1]===pe[0][1]||pe.push(pe[0]),pe})}function Xa(V){return!(V.length<3)&&!(V.length===3&&V[2][0]===V[0][0]&&V[2][1]===V[0][1])}var Mp=function(){function V(q){this.points=q.points||[],this.duration=q.duration||1e4,this.sharpness=q.sharpness||.85,this.centers=[],this.controls=[],this.stepLength=q.stepLength||60,this.length=this.points.length,this.delay=0;for(var te=0;teq&&(te.push(ue),ne=pe)}return te},V.prototype.vector=function(q){var te=this.pos(q+10),ne=this.pos(q-10);return{angle:180*Math.atan2(te.y-ne.y,te.x-ne.x)/3.14,speed:Math.sqrt((ne.x-te.x)*(ne.x-te.x)+(ne.y-te.y)*(ne.y-te.y)+(ne.z-te.z)*(ne.z-te.z))}},V.prototype.pos=function(q){var te=q-this.delay;te<0&&(te=0),te>this.duration&&(te=this.duration-1);var ne=te/this.duration;if(ne>=1)return this.points[this.length-1];var ue=Math.floor((this.points.length-1)*ne);return function(pe,Ee,ve,be,Te){var Ye=function(Ge){var $e=Ge*Ge;return[$e*Ge,3*$e*(1-Ge),3*Ge*(1-Ge)*(1-Ge),(1-Ge)*(1-Ge)*(1-Ge)]}(pe);return{x:Te.x*Ye[0]+be.x*Ye[1]+ve.x*Ye[2]+Ee.x*Ye[3],y:Te.y*Ye[0]+be.y*Ye[1]+ve.y*Ye[2]+Ee.y*Ye[3],z:Te.z*Ye[0]+be.z*Ye[1]+ve.z*Ye[2]+Ee.z*Ye[3]}}((this.length-1)*ne-ue,this.points[ue],this.controls[ue][1],this.controls[ue+1][0],this.points[ue+1])},V}();function iE(V,q){q===void 0&&(q={});for(var te=q.resolution||1e4,ne=q.sharpness||.85,ue=[],pe=G(V).coordinates.map(function(Te){return{x:Te[0],y:Te[1]}}),Ee=new Mp({duration:te,points:pe,sharpness:ne}),ve=function(Te){var Ye=Ee.pos(Te);Math.floor(Te/100)%2==0&&ue.push([Ye.x,Ye.y])},be=0;be=jr(V.slice(0,2),[q,ue])){var pe=(te+ue)/2;return[q,pe-(ne-q)/2,ne,pe+(ne-q)/2]}var Ee=(q+ne)/2;return[Ee-(ue-te)/2,te,Ee+(ue-te)/2,ue]}function Zu(V,q,te,ne){ne===void 0&&(ne={});var ue=le(V),pe=J(ue[0]),Ee=J(ue[1]),ve=J(te),be=F(q,ne.units),Te=Math.asin(Math.sin(Ee)*Math.cos(be)+Math.cos(Ee)*Math.sin(be)*Math.cos(ve));return x([H(pe+Math.atan2(Math.sin(ve)*Math.sin(be)*Math.cos(Ee),Math.cos(be)-Math.sin(Ee)*Math.sin(Te))),H(Te)],ne.properties)}function bg(V,q,te){te===void 0&&(te={});for(var ne=te.steps||64,ue=te.properties?te.properties:!Array.isArray(V)&&V.type==="Feature"&&V.properties?V.properties:{},pe=[],Ee=0;Ee80*te){ne=pe=V[0],ue=Ee=V[1];for(var nt=te;ntpe&&(pe=ve),be>Ee&&(Ee=be);Te=(Te=Math.max(pe-ne,Ee-ue))!==0?1/Te:0}return aE($e,ot,te,ne,ue,Te),ot}function N0(V,q,te,ne,ue){var pe,Ee;if(ue===Vs(V,q,te,ne)>0)for(pe=q;pe=q;pe-=ne)Ee=Fo(pe,V[pe],V[pe+1],Ee);return Ee&&jm(Ee,Ee.next)&&(Ba(Ee),Ee=Ee.next),Ee}function oE(V,q){if(!V)return V;q||(q=V);var te,ne=V;do if(te=!1,ne.steiner||!jm(ne,ne.next)&&$u(ne.prev,ne,ne.next)!==0)ne=ne.next;else{if(Ba(ne),(ne=q=ne.prev)===ne.next)break;te=!0}while(te||ne!==q);return q}function aE(V,q,te,ne,ue,pe,Ee){if(V){!Ee&&pe&&function(Ye,Ge,$e,ot){var nt=Ye;do nt.z===null&&(nt.z=qm(nt.x,nt.y,Ge,$e,ot)),nt.prevZ=nt.prev,nt.nextZ=nt.next,nt=nt.next;while(nt!==Ye);nt.prevZ.nextZ=null,nt.prevZ=null,function(lt){var it,Dt,ei,st,Qt,Rt,Jt,Ft,tr=1;do{for(Dt=lt,lt=null,Qt=null,Rt=0;Dt;){for(Rt++,ei=Dt,Jt=0,it=0;it0||Ft>0&&ei;)Jt!==0&&(Ft===0||!ei||Dt.z<=ei.z)?(st=Dt,Dt=Dt.nextZ,Jt--):(st=ei,ei=ei.nextZ,Ft--),Qt?Qt.nextZ=st:lt=st,st.prevZ=Qt,Qt=st;Dt=ei}Qt.nextZ=null,tr*=2}while(Rt>1)}(nt)}(V,ne,ue,pe);for(var ve,be,Te=V;V.prev!==V.next;)if(ve=V.prev,be=V.next,pe?Hb(V,ne,ue,pe):ew(V))q.push(ve.i/te),q.push(V.i/te),q.push(be.i/te),Ba(V),V=be.next,Te=be.next;else if((V=be)===Te){Ee?Ee===1?aE(V=$D(V,q,te),q,te,ne,ue,pe,2):Ee===2&&Vb(V,q,te,ne,ue,pe):aE(oE(V),q,te,ne,ue,pe,1);break}}}function ew(V){var q=V.prev,te=V,ne=V.next;if($u(q,te,ne)>=0)return!1;for(var ue=V.next.next;ue!==V.prev;){if(lE(q.x,q.y,te.x,te.y,ne.x,ne.y,ue.x,ue.y)&&$u(ue.prev,ue,ue.next)>=0)return!1;ue=ue.next}return!0}function Hb(V,q,te,ne){var ue=V.prev,pe=V,Ee=V.next;if($u(ue,pe,Ee)>=0)return!1;for(var ve=ue.xpe.x?ue.x>Ee.x?ue.x:Ee.x:pe.x>Ee.x?pe.x:Ee.x,Ye=ue.y>pe.y?ue.y>Ee.y?ue.y:Ee.y:pe.y>Ee.y?pe.y:Ee.y,Ge=qm(ve,be,q,te,ne),$e=qm(Te,Ye,q,te,ne),ot=V.prevZ,nt=V.nextZ;ot&&ot.z>=Ge&&nt&&nt.z<=$e;){if(ot!==V.prev&&ot!==V.next&&lE(ue.x,ue.y,pe.x,pe.y,Ee.x,Ee.y,ot.x,ot.y)&&$u(ot.prev,ot,ot.next)>=0||(ot=ot.prevZ,nt!==V.prev&&nt!==V.next&&lE(ue.x,ue.y,pe.x,pe.y,Ee.x,Ee.y,nt.x,nt.y)&&$u(nt.prev,nt,nt.next)>=0))return!1;nt=nt.nextZ}for(;ot&&ot.z>=Ge;){if(ot!==V.prev&&ot!==V.next&&lE(ue.x,ue.y,pe.x,pe.y,Ee.x,Ee.y,ot.x,ot.y)&&$u(ot.prev,ot,ot.next)>=0)return!1;ot=ot.prevZ}for(;nt&&nt.z<=$e;){if(nt!==V.prev&&nt!==V.next&&lE(ue.x,ue.y,pe.x,pe.y,Ee.x,Ee.y,nt.x,nt.y)&&$u(nt.prev,nt,nt.next)>=0)return!1;nt=nt.nextZ}return!0}function $D(V,q,te){var ne=V;do{var ue=ne.prev,pe=ne.next.next;!jm(ue,pe)&&sr(ue,ne,ne.next,pe)&&_n(ue,pe)&&_n(pe,ue)&&(q.push(ue.i/te),q.push(ne.i/te),q.push(pe.i/te),Ba(ne),Ba(ne.next),ne=V=pe),ne=ne.next}while(ne!==V);return ne}function Vb(V,q,te,ne,ue,pe){var Ee=V;do{for(var ve=Ee.next.next;ve!==Ee.prev;){if(Ee.i!==ve.i&&zb(Ee,ve)){var be=Tn(Ee,ve);return Ee=oE(Ee,Ee.next),be=oE(be,be.next),aE(Ee,q,te,ne,ue,pe),void aE(be,q,te,ne,ue,pe)}ve=ve.next}Ee=Ee.next}while(Ee!==V)}function tw(V,q){return V.x-q.x}function k0(V,q){if(q=function(ne,ue){var pe,Ee=ue,ve=ne.x,be=ne.y,Te=-1/0;do{if(be<=Ee.y&&be>=Ee.next.y&&Ee.next.y!==Ee.y){var Ye=Ee.x+(be-Ee.y)*(Ee.next.x-Ee.x)/(Ee.next.y-Ee.y);if(Ye<=ve&&Ye>Te){if(Te=Ye,Ye===ve){if(be===Ee.y)return Ee;if(be===Ee.next.y)return Ee.next}pe=Ee.x=Ee.x&&Ee.x>=ot&&ve!==Ee.x&&lE(bepe.x)&&_n(Ee,ne)&&(pe=Ee,lt=Ge),Ee=Ee.next;return pe}(V,q)){var te=Tn(q,V);oE(te,te.next)}}function qm(V,q,te,ne,ue){return(V=1431655765&((V=858993459&((V=252645135&((V=16711935&((V=32767*(V-te)*ue)|V<<8))|V<<4))|V<<2))|V<<1))|(q=1431655765&((q=858993459&((q=252645135&((q=16711935&((q=32767*(q-ne)*ue)|q<<8))|q<<4))|q<<2))|q<<1))<<1}function sE(V){var q=V,te=V;do q.x=0&&(V-Ee)*(ne-ve)-(te-Ee)*(q-ve)>=0&&(te-Ee)*(pe-ve)-(ue-Ee)*(ne-ve)>=0}function zb(V,q){return V.next.i!==q.i&&V.prev.i!==q.i&&!function(te,ne){var ue=te;do{if(ue.i!==te.i&&ue.next.i!==te.i&&ue.i!==ne.i&&ue.next.i!==ne.i&&sr(ue,ue.next,te,ne))return!0;ue=ue.next}while(ue!==te);return!1}(V,q)&&_n(V,q)&&_n(q,V)&&function(te,ne){var ue=te,pe=!1,Ee=(te.x+ne.x)/2,ve=(te.y+ne.y)/2;do ue.y>ve!=ue.next.y>ve&&ue.next.y!==ue.y&&Ee<(ue.next.x-ue.x)*(ve-ue.y)/(ue.next.y-ue.y)+ue.x&&(pe=!pe),ue=ue.next;while(ue!==te);return pe}(V,q)}function $u(V,q,te){return(q.y-V.y)*(te.x-q.x)-(q.x-V.x)*(te.y-q.y)}function jm(V,q){return V.x===q.x&&V.y===q.y}function sr(V,q,te,ne){return!!(jm(V,q)&&jm(te,ne)||jm(V,ne)&&jm(te,q))||$u(V,q,te)>0!=$u(V,q,ne)>0&&$u(te,ne,V)>0!=$u(te,ne,q)>0}function _n(V,q){return $u(V.prev,V,V.next)<0?$u(V,q,V.next)>=0&&$u(V,V.prev,q)>=0:$u(V,q,V.prev)<0||$u(V,V.next,q)<0}function Tn(V,q){var te=new ho(V.i,V.x,V.y),ne=new ho(q.i,q.x,q.y),ue=V.next,pe=q.prev;return V.next=q,q.prev=V,te.next=ue,ue.prev=te,ne.next=te,te.prev=ne,pe.next=ne,ne.prev=pe,ne}function Fo(V,q,te,ne){var ue=new ho(V,q,te);return ne?(ue.next=ne.next,ue.prev=ne,ne.next.prev=ue,ne.next=ue):(ue.prev=ue,ue.next=ue),ue}function Ba(V){V.next.prev=V.prev,V.prev.next=V.next,V.prevZ&&(V.prevZ.nextZ=V.nextZ),V.nextZ&&(V.nextZ.prevZ=V.prevZ)}function ho(V,q,te){this.i=V,this.x=q,this.y=te,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Vs(V,q,te,ne){for(var ue=0,pe=q,Ee=te-ne;pe0&&(Ye+=ve[Ge-1].length,Te.holes.push(Ye))}return Te}(V),te=iy(q.vertices,q.holes,2),ne=[],ue=[];te.forEach(function(ve,be){var Te=te[be];ue.push([q.vertices[2*Te],q.vertices[2*Te+1]])});for(var pe=0;peei?it:ei,Dt>st?Dt:st]}(Ge,$e),Ye.push(ot),$e}),Ye})(ve,ne.properties).forEach(function(be){be.id=ue.length,ue.push(be)})})}})(te,q)}),B(q)}_l.deviation=function(V,q,te,ne){var ue=q&&q.length,pe=ue?q[0]*te:V.length,Ee=Math.abs(Vs(V,0,pe,te));if(ue)for(var ve=0,be=q.length;ve0&&(ne+=V[ue-1].length,te.holes.push(ne))}return te},iy.default=tg;var uA=Ot(function(V,q){function te(nt,lt,it){it===void 0&&(it={});var Dt={type:"Feature"};return(it.id===0||it.id)&&(Dt.id=it.id),it.bbox&&(Dt.bbox=it.bbox),Dt.properties=lt||{},Dt.geometry=nt,Dt}function ne(nt,lt,it){if(it===void 0&&(it={}),!nt)throw new Error("coordinates is required");if(!Array.isArray(nt))throw new Error("coordinates must be an Array");if(nt.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!ot(nt[0])||!ot(nt[1]))throw new Error("coordinates must contain numbers");return te({type:"Point",coordinates:nt},lt,it)}function ue(nt,lt,it){it===void 0&&(it={});for(var Dt=0,ei=nt;Dt=0))throw new Error("precision must be a positive number");var it=Math.pow(10,lt||0);return Math.round(nt*it)/it},q.radiansToLength=Ye,q.lengthToRadians=Ge,q.lengthToDegrees=function(nt,lt){return $e(Ge(nt,lt))},q.bearingToAzimuth=function(nt){var lt=nt%360;return lt<0&&(lt+=360),lt},q.radiansToDegrees=$e,q.degreesToRadians=function(nt){return nt%360*Math.PI/180},q.convertLength=function(nt,lt,it){if(lt===void 0&&(lt="kilometers"),it===void 0&&(it="kilometers"),!(nt>=0))throw new Error("length must be a positive number");return Ye(Ge(nt,lt),it)},q.convertArea=function(nt,lt,it){if(lt===void 0&&(lt="meters"),it===void 0&&(it="kilometers"),!(nt>=0))throw new Error("area must be a positive number");var Dt=q.areaFactors[lt];if(!Dt)throw new Error("invalid original units");var ei=q.areaFactors[it];if(!ei)throw new Error("invalid final units");return nt/Dt*ei},q.isNumber=ot,q.isObject=function(nt){return!!nt&&nt.constructor===Object},q.validateBBox=function(nt){if(!nt)throw new Error("bbox is required");if(!Array.isArray(nt))throw new Error("bbox must be an Array");if(nt.length!==4&&nt.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");nt.forEach(function(lt){if(!ot(lt))throw new Error("bbox must only contain numbers")})},q.validateId=function(nt){if(!nt)throw new Error("id is required");if(["string","number"].indexOf(typeof nt)===-1)throw new Error("id must be a number or a string")}});function gc(V,q,te){if(V!==null)for(var ne,ue,pe,Ee,ve,be,Te,Ye,Ge=0,$e=0,ot=V.type,nt=ot==="FeatureCollection",lt=ot==="Feature",it=nt?V.features.length:1,Dt=0;Dtbe||nt>Te||lt>Ye)return ve=Ge,be=ne,Te=nt,Ye=lt,void(pe=0);var it=uA.lineString([ve,Ge],te.properties);if(q(it,ne,ue,lt,pe)===!1)return!1;pe++,ve=Ge})!==!1&&void 0}}})}function qv(V,q){if(!V)throw new Error("geojson is required");rw(V,function(te,ne,ue){if(te.geometry!==null){var pe=te.geometry.type,Ee=te.geometry.coordinates;switch(pe){case"LineString":if(q(te,ne,ue,0,0)===!1)return!1;break;case"Polygon":for(var ve=0;vete[0]&&(q[0]=te[0]),q[1]>te[1]&&(q[1]=te[1]),q[2] line1 must only contain 2 coordinates");if(ne.length!==2)throw new Error(" line2 must only contain 2 coordinates");var ue=te[0][0],pe=te[0][1],Ee=te[1][0],ve=te[1][1],be=ne[0][0],Te=ne[0][1],Ye=ne[1][0],Ge=ne[1][1],$e=(Ge-Te)*(Ee-ue)-(Ye-be)*(ve-pe),ot=(Ye-be)*(pe-Te)-(Ge-Te)*(ue-be),nt=(Ee-ue)*(pe-Te)-(ve-pe)*(ue-be);if($e===0)return null;var lt=ot/$e,it=nt/$e;return lt>=0&<<=1&&it>=0&&it<=1?x([ue+lt*(Ee-ue),pe+lt*(ve-pe)]):null}function ig(V,q,te){te===void 0&&(te={});var ne=x([1/0,1/0],{dist:1/0}),ue=0;return He(V,function(pe){for(var Ee=Ae(pe),ve=0;ve0&&((it=lt.features[0]).properties.dist=jr(q,it,te),it.properties.location=ue+jr(be,it,te)),be.properties.dist180?-360:ne[0]-ue[0]>180?360:0,K(function(pe,Ee,ve){var be=ve=ve===void 0?A:Number(ve),Te=pe[1]*Math.PI/180,Ye=Ee[1]*Math.PI/180,Ge=Ye-Te,$e=Math.abs(Ee[0]-pe[0])*Math.PI/180;$e>Math.PI&&($e-=2*Math.PI);var ot=Math.log(Math.tan(Ye/2+Math.PI/4)/Math.tan(Te/2+Math.PI/4)),nt=Math.abs(ot)>1e-11?Ge/ot:Math.cos(Te);return Math.sqrt(Ge*Ge+nt*nt*$e*$e)*be}(ne,ue),"meters",te.units)}function AE(V,q,te){if(te===void 0&&(te={}),te.method||(te.method="geodesic"),te.units||(te.units="kilometers"),!V)throw new Error("pt is required");if(Array.isArray(V)?V=x(V):V.type==="Point"?V=E(V):de(V,"Point","point"),!q)throw new Error("line is required");Array.isArray(q)?q=Q(q):q.type==="LineString"?q=E(q):de(q,"LineString","line");var ne=1/0,ue=V.geometry.coordinates;return Ne(q,function(pe){var Ee=pe.geometry.coordinates[0],ve=pe.geometry.coordinates[1],be=function(Te,Ye,Ge,$e){var ot=[Ge[0]-Ye[0],Ge[1]-Ye[1]],nt=Xv([Te[0]-Ye[0],Te[1]-Ye[1]],ot);if(nt<=0)return Pp(Te,Ye,{method:$e.method,units:"degrees"});var lt=Xv(ot,ot);if(lt<=nt)return Pp(Te,Ge,{method:$e.method,units:"degrees"});var it=nt/lt,Dt=[Ye[0]+it*ot[0],Ye[1]+it*ot[1]];return Pp(Te,Dt,{method:$e.method,units:"degrees"})}(ue,Ee,ve,te);be=0&&Te<=1&&($e.onLine1=!0),Ye>=0&&Ye<=1&&($e.onLine2=!0),!(!$e.onLine1||!$e.onLine2)&&[$e.x,$e.y])}function iM(V){for(var q=function($e){return $e.type!=="FeatureCollection"?$e.type!=="Feature"?B([E($e)]):B([$e]):$e}(V),te=nE(q),ne=!1,ue=0;!ne&&ue0){q+=Math.abs(rR(V[0]));for(var te=1;te2){for(Ee=0;Ee=Ye&&Ge===ue.length-1);Ge++){if(Ye>q&&pe.length===0){if(!(Ee=q-Ye))return pe.push(ue[Ge]),Q(pe);ve=Fc(ue[Ge],ue[Ge-1])-180,be=Zu(ue[Ge],Ee,ve,ne),pe.push(be.geometry.coordinates)}if(Ye>=te)return(Ee=te-Ye)?(ve=Fc(ue[Ge],ue[Ge-1])-180,be=Zu(ue[Ge],Ee,ve,ne),pe.push(be.geometry.coordinates),Q(pe)):(pe.push(ue[Ge]),Q(pe));if(Ye>=q&&pe.push(ue[Ge]),Ge===ue.length-1)return Q(pe);Ye+=jr(ue[Ge],ue[Ge+1],ne)}if(Yeue)return!1}else if(ot!==0)return!1;return ne?ne==="start"?Math.abs(Ge)>=Math.abs($e)?Ge>0?ve0?be=Math.abs($e)?Ge>0?ve<=pe&&pe0?be<=Ee&&Ee=Math.abs($e)?Ge>0?ve0?be=Math.abs($e)?Ge>0?ve<=pe&&pe<=Te:Te<=pe&&pe<=ve:$e>0?be<=Ee&&Ee<=Ye:Ye<=Ee&&Ee<=be}function $m(V,q){var te=G(V),ne=G(q),ue=te.type,pe=ne.type;switch(ue){case"Point":switch(pe){case"MultiPoint":return function(Ee,ve){var be,Te=!1;for(be=0;beq[0])&&!(V[2]q[1])&&!(V[3] is required");if(typeof te!="number")throw new Error(" must be a number");if(typeof ne!="number")throw new Error(" must be a number");ue!==!1&&ue!==void 0||(V=JSON.parse(JSON.stringify(V)));var pe=Math.pow(10,te);return O(V,function(Ee){(function(ve,be,Te){ve.length>Te&&ve.splice(Te,ve.length);for(var Ye=0;Ye=1||Qt<=0||Rt>=1||Rt<=0))){var ji=Cr,Sr=!pe[ji];Sr&&(pe[ji]=!0),q?ue.push(q(Cr,it,Dt,Jt,Ft,Qt,ei,st,tr,Hi,Rt,Sr)):ue.push(Cr)}}function lt(it,Dt){var ei,st,Qt,Rt,Jt=ne[it][Dt],Ft=ne[it][Dt+1];return Jt[0]=0==q}function aM(V){for(var q=0,te=0;te1&&te.push(Q(Te)),B(te)}function sR(V,q){if(!q.features.length)throw new Error("lines must contain features");if(q.features.length===1)return q.features[0];var te,ne=1/0;return me(q,function(ue){var pe=ig(ue,V).properties.dist;peYe&&$e.push(Zu(V,q,Ye,ue).geometry.coordinates),Q($e,be)}function U0(V){var q=V%360;return q<0&&(q+=360),q}function Dg(V,q){q===void 0&&(q={});var te=G(V);switch(q.properties||V.type!=="Feature"||(q.properties=V.properties),te.type){case"Polygon":return aw(te,q);case"MultiPolygon":return function(ne,ue){ue===void 0&&(ue={});var pe=G(ne).coordinates,Ee=ue.properties?ue.properties:ne.type==="Feature"?ne.properties:{},ve=[];return pe.forEach(function(be){ve.push(r_(be,Ee))}),B(ve)}(te,q);default:throw new Error("invalid poly")}}function aw(V,q){return q===void 0&&(q={}),r_(G(V).coordinates,q.properties?q.properties:V.type==="Feature"?V.properties:{})}function r_(V,q){return V.length>1?D(V,q):Q(V[0],q)}function jb(V,q){var te,ne,ue;q===void 0&&(q={});var pe=q.properties,Ee=(te=q.autoComplete)===null||te===void 0||te,ve=(ne=q.orderCoords)===null||ne===void 0||ne;switch((ue=q.mutate)!==null&&ue!==void 0&&ue||(V=Uo(V)),V.type){case"FeatureCollection":var be=[];return V.features.forEach(function(Te){be.push(Ae(n_(Te,{},Ee,ve)))}),P(be,pe);default:return n_(V,pe,Ee,ve)}}function n_(V,q,te,ne){q=q||(V.type==="Feature"?V.properties:{});var ue=G(V),pe=ue.coordinates,Ee=ue.type;if(!pe.length)throw new Error("line must contain coordinates");switch(Ee){case"LineString":return te&&(pe=O3(pe)),v([pe],q);case"MultiLineString":var ve=[],be=0;return pe.forEach(function(Te){if(te&&(Te=O3(Te)),ne){var Ye=function(Ge){var $e=Ge[0],ot=Ge[1],nt=Ge[2],lt=Ge[3];return Math.abs($e-nt)*Math.abs(ot-lt)}(je(Q(Te)));Ye>be?(ve.unshift(Te),be=Ye):ve.push(Te)}else ve.push(Te)}),v(ve,q);default:throw new Error("geometry type "+Ee+" is not supported")}}function O3(V){var q=V[0],te=q[0],ne=q[1],ue=V[V.length-1],pe=ue[0],Ee=ue[1];return te===pe&&ne===Ee||V.push(q),V}function sG(V,q){var te,ne,ue,pe,Ee,ve,be;for(ne=1;ne<=8;ne*=2){for(te=[],pe=!(sw(ue=V[V.length-1],q)&ne),Ee=0;Eeq[2]&&(te|=2),V[1]q[3]&&(te|=8),te}function G3(V,q){for(var te=[],ne=0,ue=V;ne0&&(pe[0][0]===pe[pe.length-1][0]&&pe[0][1]===pe[pe.length-1][1]||pe.push(pe[0]),pe.length>=4&&te.push(pe))}return te}t_.prototype.interpolate=function(V){var q=Math.sin((1-V)*this.g)/Math.sin(this.g),te=Math.sin(V*this.g)/Math.sin(this.g),ne=q*Math.cos(this.start.y)*Math.cos(this.start.x)+te*Math.cos(this.end.y)*Math.cos(this.end.x),ue=q*Math.cos(this.start.y)*Math.sin(this.start.x)+te*Math.cos(this.end.y)*Math.sin(this.end.x),pe=q*Math.sin(this.start.y)+te*Math.sin(this.end.y),Ee=aR*Math.atan2(pe,Math.sqrt(Math.pow(ne,2)+Math.pow(ue,2)));return[aR*Math.atan2(ue,ne),Ee]},t_.prototype.Arc=function(V,q){var te=[];if(!V||V<=2)te.push([this.start.lon,this.start.lat]),te.push([this.end.lon,this.end.lat]);else for(var ne=1/(V-1),ue=0;ue$e&&(lt>Ye&&ntYe&<be&&(be=it)}var Dt=[];if(ve&&be0&&Math.abs(Qt-te[st-1][0])>$e){var Rt=parseFloat(te[st-1][0]),Jt=parseFloat(te[st-1][1]),Ft=parseFloat(te[st][0]),tr=parseFloat(te[st][1]);if(Rt>-180&&Rt-180&&te[st-1][0]Ye&&Rt<180&&Ft===-180&&st+1Ye&&te[st-1][0]<180){ei.push([180,te[st][1]]),st++,ei.push([te[st][0],te[st][1]]);continue}if(RtYe){var Hi=Rt;Rt=Ft,Ft=Hi;var Cr=Jt;Jt=tr,tr=Cr}if(Rt>Ye&&Ft=180&&RtYe?180:-180,Sr]),(ei=[]).push([te[st-1][0]>Ye?-180:180,Sr]),Dt.push(ei)}else ei=[],Dt.push(ei);ei.push([Qt,te[st][1]])}else ei.push([te[st][0],te[st][1]])}}else{var Xi=[];Dt.push(Xi);for(var $i=0;$i=0;Ge--)if(ot[Ge]!=nt[Ge])return!1;for(Ge=ot.length-1;Ge>=0;Ge--)if($e=ot[Ge],!te(be[$e],Te[$e],Ye))return!1;return typeof be==typeof Te}(pe,Ee,ve))};function ne(pe){return pe==null}function ue(pe){return!(!pe||typeof pe!="object"||typeof pe.length!="number")&&typeof pe.copy=="function"&&typeof pe.slice=="function"&&!(pe.length>0&&typeof pe[0]!="number")}});function ti(V,q,te){if(te===void 0&&(te={}),!ee(te=te||{}))throw new Error("options is invalid");var ne,ue=te.tolerance||0,pe=[],Ee=Hl(),ve=Sh(V);return Ee.load(ve),Ne(q,function(be){var Te=!1;be&&(me(Ee.search(be),function(Ye){if(Te===!1){var Ge=Ae(be).sort(),$e=Ae(Ye).sort();o_(Ge,$e)||(ue===0?of(Ge[0],Ye)&&of(Ge[1],Ye):ig(Ye,Ge[0]).properties.dist<=ue&&ig(Ye,Ge[1]).properties.dist<=ue)?(Te=!0,ne=ne?sy(ne,be):be):(ue===0?of($e[0],be)&&of($e[1],be):ig(be,$e[0]).properties.dist<=ue&&ig(be,$e[1]).properties.dist<=ue)&&(ne=ne?sy(ne,Ye):Ye)}}),Te===!1&&ne&&(pe.push(ne),ne=void 0))}),ne&&pe.push(ne),B(pe)}function sy(V,q){var te=Ae(q),ne=Ae(V),ue=ne[0],pe=ne[ne.length-1],Ee=V.geometry.coordinates;return o_(te[0],ue)?Ee.unshift(te[1]):o_(te[0],pe)?Ee.push(te[1]):o_(te[1],ue)?Ee.unshift(te[0]):o_(te[1],pe)&&Ee.push(te[0]),V}function Aw(V){var q=V%360;return q<0&&(q+=360),q}function td(V,q,te){var ne;return te===void 0&&(te={}),(ne=te.final?Cl(le(q),le(V)):Cl(le(V),le(q)))>180?-(360-ne):ne}function Cl(V,q){var te=J(V[1]),ne=J(q[1]),ue=J(q[0]-V[0]);ue>Math.PI&&(ue-=2*Math.PI),ue<-Math.PI&&(ue+=2*Math.PI);var pe=Math.log(Math.tan(ne/2+Math.PI/4)/Math.tan(te/2+Math.PI/4));return(H(Math.atan2(ue,pe))+360)%360}function uw(V,q,te,ne){ne===void 0&&(ne={});var ue=q<0,pe=K(Math.abs(q),ne.units,"meters");ue&&(pe=-Math.abs(pe));var Ee=le(V),ve=function(be,Te,Ye,Ge){Ge=Ge===void 0?A:Number(Ge);var $e=Te/Ge,ot=be[0]*Math.PI/180,nt=J(be[1]),lt=J(Ye),it=$e*Math.cos(lt),Dt=nt+it;Math.abs(Dt)>Math.PI/2&&(Dt=Dt>0?Math.PI-Dt:-Math.PI-Dt);var ei=Math.log(Math.tan(Dt/2+Math.PI/4)/Math.tan(nt/2+Math.PI/4)),st=Math.abs(ei)>1e-11?it/ei:Math.cos(nt),Qt=$e*Math.sin(lt)/st;return[(180*(ot+Qt)/Math.PI+540)%360-180,180*Dt/Math.PI]}(Ee,pe,te);return ve[0]+=ve[0]-Ee[0]>180?-360:Ee[0]-ve[0]>180?360:0,x(ve,ne.properties)}function H3(V,q,te,ne,ue,pe){for(var Ee=0;Ee0?eC(q,ve,ue)<0||(ue=ve):te>0&&ne<=0&&(V3(q,ve,pe)||(pe=ve)),te=ne}return[ue,pe]}function V3(V,q,te){return eC(V,q,te)>0}function eC(V,q,te){return(q[0]-V[0])*(te[1]-V[1])-(te[0]-V[0])*(q[1]-V[1])}function AM(V){for(var q,te,ne=Ae(V),ue=0,pe=1;pe0}function uM(V,q){switch(V.type==="Feature"?V.geometry.type:V.type){case"GeometryCollection":return Be(V,function(te){uM(te,q)}),V;case"LineString":return z3(Ae(V),q),V;case"Polygon":return Y3(Ae(V),q),V;case"MultiLineString":return Ae(V).forEach(function(te){z3(te,q)}),V;case"MultiPolygon":return Ae(V).forEach(function(te){Y3(te,q)}),V;case"Point":case"MultiPoint":return V}}function z3(V,q){AM(V)===q&&V.reverse()}function Y3(V,q){AM(V[0])!==q&&V[0].reverse();for(var te=1;teit?128:64,st|=Rtit?32:16,st|=Jtit?8:4;var tr=+(st|=Ftit?2:1),Hi=0;if(st===17||st===18||st===33||st===34||st===38||st===68||st===72||st===98||st===102||st===132||st===136||st===137||st===152||st===153){var Cr=(Qt+Rt+Jt+Ft)/4;Hi=Cr>it?2:Cr0?(st=156,Hi=4):st=152:st===33?Hi>0?(st=139,Hi=4):st=137:st===72?Hi>0?(st=99,Hi=4):st=98:st===132&&(Hi>0?(st=39,Hi=4):st=38)}if(st!=0&&st!=170){var ji,Sr,Xi,$i,Yi,Er,Ir,br;ji=Sr=Xi=$i=Yi=Er=Ir=br=.5;var Qi=[];st===1?(Xi=1-qt(Ge,Jt,Ft),br=1-qt(Ge,Qt,Ft),Qi.push(_o[st])):st===169?(Xi=qt(it,Ft,Jt),br=qt(it,Ft,Qt),Qi.push(_o[st])):st===4?(Er=1-qt(Ge,Rt,Jt),$i=qt(Ge,Ft,Jt),Qi.push(Kn[st])):st===166?(Er=qt(it,Jt,Rt),$i=1-qt(it,Jt,Ft),Qi.push(Kn[st])):st===16?(Yi=qt(Ge,Jt,Rt),Sr=qt(Ge,Qt,Rt),Qi.push(eo[st])):st===154?(Yi=1-qt(it,Rt,Jt),Sr=1-qt(it,Rt,Qt),Qi.push(eo[st])):st===64?(Ir=qt(Ge,Ft,Qt),ji=1-qt(Ge,Rt,Qt),Qi.push(Oo[st])):st===106?(Ir=1-qt(it,Qt,Ft),ji=qt(it,Qt,Rt),Qi.push(Oo[st])):st===168?($i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),Qi.push(Io[st]),Qi.push(_o[st])):st===2?($i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),Qi.push(Io[st]),Qi.push(_o[st])):st===162?(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),$i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),Qi.push(Io[st]),Qi.push(_o[st])):st===8?(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),$i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),Qi.push(eo[st]),Qi.push(Kn[st])):st===138?(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt),Qi.push(eo[st]),Qi.push(Kn[st])):st===32?(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt),Qi.push(eo[st]),Qi.push(Kn[st])):st===42?(br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt),Qi.push(da[st]),Qi.push(Oo[st])):st===128&&(br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt),Qi.push(da[st]),Qi.push(Oo[st])),st===5?(Er=1-qt(Ge,Rt,Jt),br=1-qt(Ge,Qt,Ft),Qi.push(Kn[st])):st===165?(Er=qt(it,Jt,Rt),br=qt(it,Ft,Qt),Qi.push(Kn[st])):st===20?($i=qt(Ge,Ft,Jt),Sr=qt(Ge,Qt,Rt),Qi.push(Io[st])):st===150?($i=1-qt(it,Jt,Ft),Sr=1-qt(it,Rt,Qt),Qi.push(Io[st])):st===80?(Yi=qt(Ge,Jt,Rt),Ir=qt(Ge,Ft,Qt),Qi.push(eo[st])):st===90?(Yi=1-qt(it,Rt,Jt),Ir=1-qt(it,Qt,Ft),Qi.push(eo[st])):st===65?(Xi=1-qt(Ge,Jt,Ft),ji=1-qt(Ge,Rt,Qt),Qi.push(_o[st])):st===105?(Xi=qt(it,Ft,Jt),ji=qt(it,Qt,Rt),Qi.push(_o[st])):st===160?(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),Qi.push(eo[st]),Qi.push(Kn[st])):st===10?(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),Qi.push(eo[st]),Qi.push(Kn[st])):st===130?($i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt),Qi.push(Io[st]),Qi.push(_o[st])):st===40?($i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt),Qi.push(Io[st]),Qi.push(_o[st])):st===101?(Er=qt(it,Jt,Rt),ji=qt(it,Qt,Rt),Qi.push(Kn[st])):st===69?(Er=1-qt(Ge,Rt,Jt),ji=1-qt(Ge,Rt,Qt),Qi.push(Kn[st])):st===149?(br=qt(it,Ft,Qt),Sr=1-qt(it,Rt,Qt),Qi.push(da[st])):st===21?(br=1-qt(Ge,Qt,Ft),Sr=qt(Ge,Qt,Rt),Qi.push(da[st])):st===86?($i=1-qt(it,Jt,Ft),Ir=1-qt(it,Qt,Ft),Qi.push(Io[st])):st===84?($i=qt(Ge,Ft,Jt),Ir=qt(Ge,Ft,Qt),Qi.push(Io[st])):st===89?(Yi=1-qt(it,Rt,Jt),Xi=qt(it,Ft,Jt),Qi.push(_o[st])):st===81?(Yi=qt(Ge,Jt,Rt),Xi=1-qt(Ge,Jt,Ft),Qi.push(_o[st])):st===96?(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),Ir=qt(Ge,Ft,Qt),ji=qt(it,Qt,Rt),Qi.push(eo[st]),Qi.push(Kn[st])):st===74?(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),Ir=1-qt(it,Qt,Ft),ji=1-qt(Ge,Rt,Qt),Qi.push(eo[st]),Qi.push(Kn[st])):st===24?(Yi=1-qt(it,Rt,Jt),$i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),Sr=qt(Ge,Qt,Rt),Qi.push(eo[st]),Qi.push(_o[st])):st===146?(Yi=qt(Ge,Jt,Rt),$i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),Sr=1-qt(it,Rt,Qt),Qi.push(eo[st]),Qi.push(_o[st])):st===6?(Er=1-qt(Ge,Rt,Jt),$i=1-qt(it,Jt,Ft),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),Qi.push(Kn[st]),Qi.push(Io[st])):st===164?(Er=qt(it,Jt,Rt),$i=qt(Ge,Ft,Jt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),Qi.push(Kn[st]),Qi.push(Io[st])):st===129?(Xi=1-qt(Ge,Jt,Ft),br=qt(it,Ft,Qt),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt),Qi.push(_o[st]),Qi.push(da[st])):st===41?(Xi=qt(it,Ft,Jt),br=1-qt(Ge,Qt,Ft),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt),Qi.push(_o[st]),Qi.push(da[st])):st===66?($i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),Ir=1-qt(it,Qt,Ft),ji=1-qt(Ge,Rt,Qt),Qi.push(Io[st]),Qi.push(_o[st])):st===104?($i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),Ir=qt(Ge,Ft,Qt),ji=qt(it,Qt,Rt),Qi.push(_o[st]),Qi.push(ol[st])):st===144?(Yi=qt(Ge,Jt,Rt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),Sr=1-qt(it,Rt,Qt),Qi.push(eo[st]),Qi.push(Oo[st])):st===26?(Yi=1-qt(it,Rt,Jt),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),Sr=qt(Ge,Qt,Rt),Qi.push(eo[st]),Qi.push(Oo[st])):st===36?(Er=qt(it,Jt,Rt),$i=qt(Ge,Ft,Jt),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt),Qi.push(Kn[st]),Qi.push(Io[st])):st===134?(Er=1-qt(Ge,Rt,Jt),$i=1-qt(it,Jt,Ft),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt),Qi.push(Kn[st]),Qi.push(Io[st])):st===9?(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),Xi=qt(it,Ft,Jt),br=1-qt(Ge,Qt,Ft),Qi.push(eo[st]),Qi.push(Kn[st])):st===161?(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),Xi=1-qt(Ge,Jt,Ft),br=qt(it,Ft,Qt),Qi.push(eo[st]),Qi.push(Kn[st])):st===37?(Er=qt(it,Jt,Rt),br=1-qt(Ge,Qt,Ft),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt),Qi.push(Kn[st]),Qi.push(da[st])):st===133?(Er=1-qt(Ge,Rt,Jt),br=qt(it,Ft,Qt),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt),Qi.push(Kn[st]),Qi.push(da[st])):st===148?($i=qt(Ge,Ft,Jt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),Sr=1-qt(it,Rt,Qt),Qi.push(Io[st]),Qi.push(Oo[st])):st===22?($i=1-qt(it,Jt,Ft),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),Sr=qt(Ge,Qt,Rt),Qi.push(Io[st]),Qi.push(Oo[st])):st===82?(Yi=qt(Ge,Jt,Rt),$i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),Ir=1-qt(it,Qt,Ft),Qi.push(eo[st]),Qi.push(_o[st])):st===88?(Yi=1-qt(it,Rt,Jt),$i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),Ir=qt(Ge,Ft,Qt),Qi.push(eo[st]),Qi.push(_o[st])):st===73?(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),Xi=qt(it,Ft,Jt),ji=1-qt(Ge,Rt,Qt),Qi.push(eo[st]),Qi.push(Kn[st])):st===97?(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),Xi=1-qt(Ge,Jt,Ft),ji=qt(it,Qt,Rt),Qi.push(eo[st]),Qi.push(Kn[st])):st===145?(Yi=qt(Ge,Jt,Rt),Xi=1-qt(Ge,Jt,Ft),br=qt(it,Ft,Qt),Sr=1-qt(it,Rt,Qt),Qi.push(eo[st]),Qi.push(da[st])):st===25?(Yi=1-qt(it,Rt,Jt),Xi=qt(it,Ft,Jt),br=1-qt(Ge,Qt,Ft),Sr=qt(Ge,Qt,Rt),Qi.push(eo[st]),Qi.push(da[st])):st===70?(Er=1-qt(Ge,Rt,Jt),$i=1-qt(it,Jt,Ft),Ir=1-qt(it,Qt,Ft),ji=1-qt(Ge,Rt,Qt),Qi.push(Kn[st]),Qi.push(Io[st])):st===100?(Er=qt(it,Jt,Rt),$i=qt(Ge,Ft,Jt),Ir=qt(Ge,Ft,Qt),ji=qt(it,Qt,Rt),Qi.push(Kn[st]),Qi.push(Io[st])):st===34?(Hi===0?(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),$i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt)):(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),$i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt)),Qi.push(eo[st]),Qi.push(Kn[st]),Qi.push(da[st]),Qi.push(Oo[st])):st===35?(Hi===4?(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),$i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt)):(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),$i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt)),Qi.push(eo[st]),Qi.push(Kn[st]),Qi.push(_o[st]),Qi.push(Oo[st])):st===136?(Hi===0?(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),$i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt)):(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),$i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt)),Qi.push(eo[st]),Qi.push(Kn[st]),Qi.push(da[st]),Qi.push(Oo[st])):st===153?(Hi===0?(Yi=qt(Ge,Jt,Rt),Xi=1-qt(Ge,Jt,Ft),br=1-qt(Ge,Qt,Ft),Sr=qt(Ge,Qt,Rt)):(Yi=1-qt(it,Rt,Jt),Xi=qt(it,Ft,Jt),br=qt(it,Ft,Qt),Sr=1-qt(it,Rt,Qt)),Qi.push(eo[st]),Qi.push(_o[st])):st===102?(Hi===0?(Er=1-qt(Ge,Rt,Jt),$i=qt(Ge,Ft,Jt),Ir=qt(Ge,Ft,Qt),ji=1-qt(Ge,Rt,Qt)):(Er=qt(it,Jt,Rt),$i=1-qt(it,Jt,Ft),Ir=1-qt(it,Qt,Ft),ji=qt(it,Qt,Rt)),Qi.push(Kn[st]),Qi.push(Oo[st])):st===155?(Hi===4?(Yi=qt(Ge,Jt,Rt),Xi=1-qt(Ge,Jt,Ft),br=1-qt(Ge,Qt,Ft),Sr=qt(Ge,Qt,Rt)):(Yi=1-qt(it,Rt,Jt),Xi=qt(it,Ft,Jt),br=qt(it,Ft,Qt),Sr=1-qt(it,Rt,Qt)),Qi.push(eo[st]),Qi.push(da[st])):st===103?(Hi===4?(Er=1-qt(Ge,Rt,Jt),$i=qt(Ge,Ft,Jt),Ir=qt(Ge,Ft,Qt),ji=1-qt(Ge,Rt,Qt)):(Er=qt(it,Jt,Rt),$i=1-qt(it,Jt,Ft),Ir=1-qt(it,Qt,Ft),ji=qt(it,Qt,Rt)),Qi.push(Kn[st]),Qi.push(Io[st])):st===152?(Hi===0?(Yi=qt(Ge,Jt,Rt),$i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),Sr=qt(Ge,Qt,Rt)):(Yi=1-qt(it,Rt,Jt),$i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),Sr=1-qt(it,Rt,Qt)),Qi.push(eo[st]),Qi.push(Io[st]),Qi.push(_o[st])):st===156?(Hi===4?(Yi=qt(Ge,Jt,Rt),$i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),Sr=qt(Ge,Qt,Rt)):(Yi=1-qt(it,Rt,Jt),$i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),Sr=1-qt(it,Rt,Qt)),Qi.push(eo[st]),Qi.push(_o[st]),Qi.push(Oo[st])):st===137?(Hi===0?(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),Xi=1-qt(Ge,Jt,Ft),br=1-qt(Ge,Qt,Ft),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt)):(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),Xi=qt(it,Ft,Jt),br=qt(it,Ft,Qt),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt)),Qi.push(eo[st]),Qi.push(Kn[st]),Qi.push(_o[st])):st===139?(Hi===4?(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),Xi=1-qt(Ge,Jt,Ft),br=1-qt(Ge,Qt,Ft),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt)):(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),Xi=qt(it,Ft,Jt),br=qt(it,Ft,Qt),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt)),Qi.push(eo[st]),Qi.push(Kn[st]),Qi.push(da[st])):st===98?(Hi===0?(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),$i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),Ir=qt(Ge,Ft,Qt),ji=1-qt(Ge,Rt,Qt)):(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),$i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),Ir=1-qt(it,Qt,Ft),ji=qt(it,Qt,Rt)),Qi.push(eo[st]),Qi.push(Kn[st]),Qi.push(Oo[st])):st===99?(Hi===4?(Yi=1-qt(Ge,Rt,Jt),Er=1-qt(it,Rt,Jt),$i=qt(it,Ft,Jt),Xi=qt(Ge,Ft,Jt),Ir=qt(Ge,Ft,Qt),ji=1-qt(Ge,Rt,Qt)):(Yi=qt(it,Jt,Rt),Er=qt(Ge,Jt,Rt),$i=1-qt(Ge,Jt,Ft),Xi=1-qt(it,Jt,Ft),Ir=1-qt(it,Qt,Ft),ji=qt(it,Qt,Rt)),Qi.push(eo[st]),Qi.push(Kn[st]),Qi.push(_o[st])):st===38?(Hi===0?(Er=1-qt(Ge,Rt,Jt),$i=qt(Ge,Ft,Jt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt)):(Er=qt(it,Jt,Rt),$i=1-qt(it,Jt,Ft),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt)),Qi.push(Kn[st]),Qi.push(da[st]),Qi.push(Oo[st])):st===39?(Hi===4?(Er=1-qt(Ge,Rt,Jt),$i=qt(Ge,Ft,Jt),br=qt(Ge,Ft,Qt),Ir=qt(it,Ft,Qt),ji=1-qt(it,Rt,Qt),Sr=1-qt(Ge,Rt,Qt)):(Er=qt(it,Jt,Rt),$i=1-qt(it,Jt,Ft),br=1-qt(it,Qt,Ft),Ir=1-qt(Ge,Qt,Ft),ji=qt(Ge,Qt,Rt),Sr=qt(it,Qt,Rt)),Qi.push(Kn[st]),Qi.push(Io[st]),Qi.push(Oo[st])):st===85&&(Yi=1,Er=0,$i=1,Xi=0,br=0,Ir=1,ji=0,Sr=1),(ji<0||ji>1||Sr<0||Sr>1||Yi<0||Yi>1||$i<0||$i>1||br<0||br>1||Ir<0||Ir>1)&&console.log("MarchingSquaresJS-isoBands: "+st+" "+tr+" "+Qt+","+Rt+","+Jt+","+Ft+" "+Hi+" "+ji+" "+Sr+" "+Yi+" "+Er+" "+$i+" "+Xi+" "+br+" "+Ir),lt.cells[Dt][ei]={cval:st,cval_real:tr,flipped:Hi,topleft:ji,topright:Sr,righttop:Yi,rightbottom:Er,bottomright:$i,bottomleft:Xi,leftbottom:br,lefttop:Ir,edges:Qi}}}}}return lt}(V,q,te);return a_.polygons?(a_.verbose&&console.log("MarchingSquaresJS-isoBands: returning single polygons for each grid cell"),be=function(Ye){var Ge=[],$e=0;return Ye.cells.forEach(function(ot,nt){ot.forEach(function(lt,it){if(lt!==void 0){var Dt=mn[lt.cval](lt);typeof Dt=="object"&&dM(Dt)?typeof Dt[0]=="object"&&dM(Dt[0])?typeof Dt[0][0]=="object"&&dM(Dt[0][0])?Dt.forEach(function(ei){ei.forEach(function(st){st[0]+=it,st[1]+=nt}),Ge[$e++]=ei}):(Dt.forEach(function(ei){ei[0]+=it,ei[1]+=nt}),Ge[$e++]=Dt):console.log("MarchingSquaresJS-isoBands: bandcell polygon with malformed coordinates"):console.log("MarchingSquaresJS-isoBands: bandcell polygon with null coordinates")}})}),Ge}(Te)):(a_.verbose&&console.log("MarchingSquaresJS-isoBands: returning polygon paths for entire data grid"),be=function(Ye){for(var Ge=[],$e=Ye.rows,ot=Ye.cols,nt=[],lt=0;lt<$e;lt++)for(var it=0;it0){var Dt=uR(Ye.cells[lt][it]),ei=null,st=it,Qt=lt;Dt!==null&&nt.push([Dt.p[0]+st,Dt.p[1]+Qt]);do{if((ei=gM(Ye.cells[Qt][st],Dt.x,Dt.y,Dt.o))===null)break;if(nt.push([ei.p[0]+st,ei.p[1]+Qt]),st+=ei.x,Dt=ei,(Qt+=ei.y)<0||Qt>=$e||st<0||st>=ot||Ye.cells[Qt][st]===void 0){var Rt=uE(Ye,st-=ei.x,Qt-=ei.y,ei.x,ei.y,ei.o);if(Rt===null)break;Rt.path.forEach(function(Jt){nt.push(Jt)}),st=Rt.i,Qt=Rt.j,Dt=Rt}}while(Ye.cells[Qt][st]!==void 0&&Ye.cells[Qt][st].edges.length>0);Ge.push(nt),nt=[],Ye.cells[lt][it].edges.length>0&&it--}return Ge}(Te)),typeof a_.successCallback=="function"&&a_.successCallback(be),be}var ng=64,Rp=16,zs=[],za=[],Ys=[],Js=[],Qs=[],Ks=[],Ws=[],ns=[],qs=[],js=[],ka=[],Xs=[],Zs=[],$s=[],el=[],tl=[],Fs=[],Ns=[],il=[],rl=[],Ss=[],fs=[],Cs=[],nl=[];Ws[85]=js[85]=-1,ns[85]=ka[85]=0,qs[85]=Xs[85]=1,il[85]=fs[85]=1,rl[85]=Cs[85]=0,Ss[85]=nl[85]=1,zs[85]=Js[85]=0,za[85]=Qs[85]=-1,Ys[85]=el[85]=0,tl[85]=Zs[85]=0,Fs[85]=$s[85]=1,Ks[85]=Ns[85]=1,fs[1]=fs[169]=0,Cs[1]=Cs[169]=-1,nl[1]=nl[169]=0,Zs[1]=Zs[169]=-1,$s[1]=$s[169]=0,el[1]=el[169]=0,js[4]=js[166]=0,ka[4]=ka[166]=-1,Xs[4]=Xs[166]=1,tl[4]=tl[166]=1,Fs[4]=Fs[166]=0,Ns[4]=Ns[166]=0,Ws[16]=Ws[154]=0,ns[16]=ns[154]=1,qs[16]=qs[154]=1,Js[16]=Js[154]=1,Qs[16]=Qs[154]=0,Ks[16]=Ks[154]=1,il[64]=il[106]=0,rl[64]=rl[106]=1,Ss[64]=Ss[106]=0,zs[64]=zs[106]=-1,za[64]=za[106]=0,Ys[64]=Ys[106]=1,il[2]=il[168]=0,rl[2]=rl[168]=-1,Ss[2]=Ss[168]=1,fs[2]=fs[168]=0,Cs[2]=Cs[168]=-1,nl[2]=nl[168]=0,Zs[2]=Zs[168]=-1,$s[2]=$s[168]=0,el[2]=el[168]=0,tl[2]=tl[168]=-1,Fs[2]=Fs[168]=0,Ns[2]=Ns[168]=1,Ws[8]=Ws[162]=0,ns[8]=ns[162]=-1,qs[8]=qs[162]=0,js[8]=js[162]=0,ka[8]=ka[162]=-1,Xs[8]=Xs[162]=1,Zs[8]=Zs[162]=1,$s[8]=$s[162]=0,el[8]=el[162]=1,tl[8]=tl[162]=1,Fs[8]=Fs[162]=0,Ns[8]=Ns[162]=0,Ws[32]=Ws[138]=0,ns[32]=ns[138]=1,qs[32]=qs[138]=1,js[32]=js[138]=0,ka[32]=ka[138]=1,Xs[32]=Xs[138]=0,zs[32]=zs[138]=1,za[32]=za[138]=0,Ys[32]=Ys[138]=0,Js[32]=Js[138]=1,Qs[32]=Qs[138]=0,Ks[32]=Ks[138]=1,fs[128]=fs[42]=0,Cs[128]=Cs[42]=1,nl[128]=nl[42]=1,il[128]=il[42]=0,rl[128]=rl[42]=1,Ss[128]=Ss[42]=0,zs[128]=zs[42]=-1,za[128]=za[42]=0,Ys[128]=Ys[42]=1,Js[128]=Js[42]=-1,Qs[128]=Qs[42]=0,Ks[128]=Ks[42]=0,js[5]=js[165]=-1,ka[5]=ka[165]=0,Xs[5]=Xs[165]=0,fs[5]=fs[165]=1,Cs[5]=Cs[165]=0,nl[5]=nl[165]=0,tl[20]=tl[150]=0,Fs[20]=Fs[150]=1,Ns[20]=Ns[150]=1,Js[20]=Js[150]=0,Qs[20]=Qs[150]=-1,Ks[20]=Ks[150]=1,Ws[80]=Ws[90]=-1,ns[80]=ns[90]=0,qs[80]=qs[90]=1,il[80]=il[90]=1,rl[80]=rl[90]=0,Ss[80]=Ss[90]=1,Zs[65]=Zs[105]=0,$s[65]=$s[105]=1,el[65]=el[105]=0,zs[65]=zs[105]=0,za[65]=za[105]=-1,Ys[65]=Ys[105]=0,Ws[160]=Ws[10]=-1,ns[160]=ns[10]=0,qs[160]=qs[10]=1,js[160]=js[10]=-1,ka[160]=ka[10]=0,Xs[160]=Xs[10]=0,fs[160]=fs[10]=1,Cs[160]=Cs[10]=0,nl[160]=nl[10]=0,il[160]=il[10]=1,rl[160]=rl[10]=0,Ss[160]=Ss[10]=1,tl[130]=tl[40]=0,Fs[130]=Fs[40]=1,Ns[130]=Ns[40]=1,Zs[130]=Zs[40]=0,$s[130]=$s[40]=1,el[130]=el[40]=0,zs[130]=zs[40]=0,za[130]=za[40]=-1,Ys[130]=Ys[40]=0,Js[130]=Js[40]=0,Qs[130]=Qs[40]=-1,Ks[130]=Ks[40]=1,js[37]=js[133]=0,ka[37]=ka[133]=1,Xs[37]=Xs[133]=1,fs[37]=fs[133]=0,Cs[37]=Cs[133]=1,nl[37]=nl[133]=0,zs[37]=zs[133]=-1,za[37]=za[133]=0,Ys[37]=Ys[133]=0,Js[37]=Js[133]=1,Qs[37]=Qs[133]=0,Ks[37]=Ks[133]=0,tl[148]=tl[22]=-1,Fs[148]=Fs[22]=0,Ns[148]=Ns[22]=0,fs[148]=fs[22]=0,Cs[148]=Cs[22]=-1,nl[148]=nl[22]=1,il[148]=il[22]=0,rl[148]=rl[22]=1,Ss[148]=Ss[22]=1,Js[148]=Js[22]=-1,Qs[148]=Qs[22]=0,Ks[148]=Ks[22]=1,Ws[82]=Ws[88]=0,ns[82]=ns[88]=-1,qs[82]=qs[88]=1,tl[82]=tl[88]=1,Fs[82]=Fs[88]=0,Ns[82]=Ns[88]=1,Zs[82]=Zs[88]=-1,$s[82]=$s[88]=0,el[82]=el[88]=1,il[82]=il[88]=0,rl[82]=rl[88]=-1,Ss[82]=Ss[88]=0,Ws[73]=Ws[97]=0,ns[73]=ns[97]=1,qs[73]=qs[97]=0,js[73]=js[97]=0,ka[73]=ka[97]=-1,Xs[73]=Xs[97]=0,Zs[73]=Zs[97]=1,$s[73]=$s[97]=0,el[73]=el[97]=0,zs[73]=zs[97]=1,za[73]=za[97]=0,Ys[73]=Ys[97]=1,Ws[145]=Ws[25]=0,ns[145]=ns[25]=-1,qs[145]=qs[25]=0,Zs[145]=Zs[25]=1,$s[145]=$s[25]=0,el[145]=el[25]=1,fs[145]=fs[25]=0,Cs[145]=Cs[25]=1,nl[145]=nl[25]=1,Js[145]=Js[25]=-1,Qs[145]=Qs[25]=0,Ks[145]=Ks[25]=0,js[70]=js[100]=0,ka[70]=ka[100]=1,Xs[70]=Xs[100]=0,tl[70]=tl[100]=-1,Fs[70]=Fs[100]=0,Ns[70]=Ns[100]=1,il[70]=il[100]=0,rl[70]=rl[100]=-1,Ss[70]=Ss[100]=1,zs[70]=zs[100]=1,za[70]=za[100]=0,Ys[70]=Ys[100]=0,js[101]=js[69]=0,ka[101]=ka[69]=1,Xs[101]=Xs[69]=0,zs[101]=zs[69]=1,za[101]=za[69]=0,Ys[101]=Ys[69]=0,fs[149]=fs[21]=0,Cs[149]=Cs[21]=1,nl[149]=nl[21]=1,Js[149]=Js[21]=-1,Qs[149]=Qs[21]=0,Ks[149]=Ks[21]=0,tl[86]=tl[84]=-1,Fs[86]=Fs[84]=0,Ns[86]=Ns[84]=1,il[86]=il[84]=0,rl[86]=rl[84]=-1,Ss[86]=Ss[84]=1,Ws[89]=Ws[81]=0,ns[89]=ns[81]=-1,qs[89]=qs[81]=0,Zs[89]=Zs[81]=1,$s[89]=$s[81]=0,el[89]=el[81]=1,Ws[96]=Ws[74]=0,ns[96]=ns[74]=1,qs[96]=qs[74]=0,js[96]=js[74]=-1,ka[96]=ka[74]=0,Xs[96]=Xs[74]=1,il[96]=il[74]=1,rl[96]=rl[74]=0,Ss[96]=Ss[74]=0,zs[96]=zs[74]=1,za[96]=za[74]=0,Ys[96]=Ys[74]=1,Ws[24]=Ws[146]=0,ns[24]=ns[146]=-1,qs[24]=qs[146]=1,tl[24]=tl[146]=1,Fs[24]=Fs[146]=0,Ns[24]=Ns[146]=1,Zs[24]=Zs[146]=0,$s[24]=$s[146]=1,el[24]=el[146]=1,Js[24]=Js[146]=0,Qs[24]=Qs[146]=-1,Ks[24]=Ks[146]=0,js[6]=js[164]=-1,ka[6]=ka[164]=0,Xs[6]=Xs[164]=1,tl[6]=tl[164]=-1,Fs[6]=Fs[164]=0,Ns[6]=Ns[164]=0,fs[6]=fs[164]=0,Cs[6]=Cs[164]=-1,nl[6]=nl[164]=1,il[6]=il[164]=1,rl[6]=rl[164]=0,Ss[6]=Ss[164]=0,Zs[129]=Zs[41]=0,$s[129]=$s[41]=1,el[129]=el[41]=1,fs[129]=fs[41]=0,Cs[129]=Cs[41]=1,nl[129]=nl[41]=0,zs[129]=zs[41]=-1,za[129]=za[41]=0,Ys[129]=Ys[41]=0,Js[129]=Js[41]=0,Qs[129]=Qs[41]=-1,Ks[129]=Ks[41]=0,tl[66]=tl[104]=0,Fs[66]=Fs[104]=1,Ns[66]=Ns[104]=0,Zs[66]=Zs[104]=-1,$s[66]=$s[104]=0,el[66]=el[104]=1,il[66]=il[104]=0,rl[66]=rl[104]=-1,Ss[66]=Ss[104]=0,zs[66]=zs[104]=0,za[66]=za[104]=-1,Ys[66]=Ys[104]=1,Ws[144]=Ws[26]=-1,ns[144]=ns[26]=0,qs[144]=qs[26]=0,fs[144]=fs[26]=1,Cs[144]=Cs[26]=0,nl[144]=nl[26]=1,il[144]=il[26]=0,rl[144]=rl[26]=1,Ss[144]=Ss[26]=1,Js[144]=Js[26]=-1,Qs[144]=Qs[26]=0,Ks[144]=Ks[26]=1,js[36]=js[134]=0,ka[36]=ka[134]=1,Xs[36]=Xs[134]=1,tl[36]=tl[134]=0,Fs[36]=Fs[134]=1,Ns[36]=Ns[134]=0,zs[36]=zs[134]=0,za[36]=za[134]=-1,Ys[36]=Ys[134]=1,Js[36]=Js[134]=1,Qs[36]=Qs[134]=0,Ks[36]=Ks[134]=0,Ws[9]=Ws[161]=-1,ns[9]=ns[161]=0,qs[9]=qs[161]=0,js[9]=js[161]=0,ka[9]=ka[161]=-1,Xs[9]=Xs[161]=0,Zs[9]=Zs[161]=1,$s[9]=$s[161]=0,el[9]=el[161]=0,fs[9]=fs[161]=1,Cs[9]=Cs[161]=0,nl[9]=nl[161]=1,Ws[136]=0,ns[136]=1,qs[136]=1,js[136]=0,ka[136]=1,Xs[136]=0,tl[136]=-1,Fs[136]=0,Ns[136]=1,Zs[136]=-1,$s[136]=0,el[136]=0,fs[136]=0,Cs[136]=-1,nl[136]=0,il[136]=0,rl[136]=-1,Ss[136]=1,zs[136]=1,za[136]=0,Ys[136]=0,Js[136]=1,Qs[136]=0,Ks[136]=1,Ws[34]=0,ns[34]=-1,qs[34]=0,js[34]=0,ka[34]=-1,Xs[34]=1,tl[34]=1,Fs[34]=0,Ns[34]=0,Zs[34]=1,$s[34]=0,el[34]=1,fs[34]=0,Cs[34]=1,nl[34]=1,il[34]=0,rl[34]=1,Ss[34]=0,zs[34]=-1,za[34]=0,Ys[34]=1,Js[34]=-1,Qs[34]=0,Ks[34]=0,Ws[35]=0,ns[35]=1,qs[35]=1,js[35]=0,ka[35]=-1,Xs[35]=1,tl[35]=1,Fs[35]=0,Ns[35]=0,Zs[35]=-1,$s[35]=0,el[35]=0,fs[35]=0,Cs[35]=-1,nl[35]=0,il[35]=0,rl[35]=1,Ss[35]=0,zs[35]=-1,za[35]=0,Ys[35]=1,Js[35]=1,Qs[35]=0,Ks[35]=1,Ws[153]=0,ns[153]=1,qs[153]=1,Zs[153]=-1,$s[153]=0,el[153]=0,fs[153]=0,Cs[153]=-1,nl[153]=0,Js[153]=1,Qs[153]=0,Ks[153]=1,js[102]=0,ka[102]=-1,Xs[102]=1,tl[102]=1,Fs[102]=0,Ns[102]=0,il[102]=0,rl[102]=1,Ss[102]=0,zs[102]=-1,za[102]=0,Ys[102]=1,Ws[155]=0,ns[155]=-1,qs[155]=0,Zs[155]=1,$s[155]=0,el[155]=1,fs[155]=0,Cs[155]=1,nl[155]=1,Js[155]=-1,Qs[155]=0,Ks[155]=0,js[103]=0,ka[103]=1,Xs[103]=0,tl[103]=-1,Fs[103]=0,Ns[103]=1,il[103]=0,rl[103]=-1,Ss[103]=1,zs[103]=1,za[103]=0,Ys[103]=0,Ws[152]=0,ns[152]=1,qs[152]=1,tl[152]=-1,Fs[152]=0,Ns[152]=1,Zs[152]=-1,$s[152]=0,el[152]=0,fs[152]=0,Cs[152]=-1,nl[152]=0,il[152]=0,rl[152]=-1,Ss[152]=1,Js[152]=1,Qs[152]=0,Ks[152]=1,Ws[156]=0,ns[156]=-1,qs[156]=1,tl[156]=1,Fs[156]=0,Ns[156]=1,Zs[156]=-1,$s[156]=0,el[156]=0,fs[156]=0,Cs[156]=-1,nl[156]=0,il[156]=0,rl[156]=1,Ss[156]=1,Js[156]=-1,Qs[156]=0,Ks[156]=1,Ws[137]=0,ns[137]=1,qs[137]=1,js[137]=0,ka[137]=1,Xs[137]=0,Zs[137]=-1,$s[137]=0,el[137]=0,fs[137]=0,Cs[137]=-1,nl[137]=0,zs[137]=1,za[137]=0,Ys[137]=0,Js[137]=1,Qs[137]=0,Ks[137]=1,Ws[139]=0,ns[139]=1,qs[139]=1,js[139]=0,ka[139]=-1,Xs[139]=0,Zs[139]=1,$s[139]=0,el[139]=0,fs[139]=0,Cs[139]=1,nl[139]=0,zs[139]=-1,za[139]=0,Ys[139]=0,Js[139]=1,Qs[139]=0,Ks[139]=1,Ws[98]=0,ns[98]=-1,qs[98]=0,js[98]=0,ka[98]=-1,Xs[98]=1,tl[98]=1,Fs[98]=0,Ns[98]=0,Zs[98]=1,$s[98]=0,el[98]=1,il[98]=0,rl[98]=1,Ss[98]=0,zs[98]=-1,za[98]=0,Ys[98]=1,Ws[99]=0,ns[99]=1,qs[99]=0,js[99]=0,ka[99]=-1,Xs[99]=1,tl[99]=1,Fs[99]=0,Ns[99]=0,Zs[99]=-1,$s[99]=0,el[99]=1,il[99]=0,rl[99]=-1,Ss[99]=0,zs[99]=1,za[99]=0,Ys[99]=1,js[38]=0,ka[38]=-1,Xs[38]=1,tl[38]=1,Fs[38]=0,Ns[38]=0,fs[38]=0,Cs[38]=1,nl[38]=1,il[38]=0,rl[38]=1,Ss[38]=0,zs[38]=-1,za[38]=0,Ys[38]=1,Js[38]=-1,Qs[38]=0,Ks[38]=0,js[39]=0,ka[39]=1,Xs[39]=1,tl[39]=-1,Fs[39]=0,Ns[39]=0,fs[39]=0,Cs[39]=-1,nl[39]=1,il[39]=0,rl[39]=1,Ss[39]=0,zs[39]=-1,za[39]=0,Ys[39]=1,Js[39]=1,Qs[39]=0,Ks[39]=0;var cM=function(V){return[[V.bottomleft,0],[0,0],[0,V.leftbottom]]},Zb=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0]]},Lp=function(V){return[[V.topright,1],[1,1],[1,V.righttop]]},$b=function(V){return[[0,V.lefttop],[0,1],[V.topleft,1]]},LI=function(V){return[[V.bottomright,0],[V.bottomleft,0],[0,V.leftbottom],[0,V.lefttop]]},Uf=function(V){return[[V.bottomright,0],[V.bottomleft,0],[1,V.righttop],[1,V.rightbottom]]},AR=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.topleft,1],[V.topright,1]]},hM=function(V){return[[0,V.leftbottom],[0,V.lefttop],[V.topleft,1],[V.topright,1]]},eo=[],Kn=[],Io=[],_o=[],da=[],Oo=[],ol=[],al=[];_o[1]=da[1]=18,_o[169]=da[169]=18,Io[4]=Kn[4]=12,Io[166]=Kn[166]=12,eo[16]=al[16]=4,eo[154]=al[154]=4,Oo[64]=ol[64]=22,Oo[106]=ol[106]=22,Io[2]=Oo[2]=17,_o[2]=da[2]=18,Io[168]=Oo[168]=17,_o[168]=da[168]=18,eo[8]=_o[8]=9,Kn[8]=Io[8]=12,eo[162]=_o[162]=9,Kn[162]=Io[162]=12,eo[32]=al[32]=4,Kn[32]=ol[32]=1,eo[138]=al[138]=4,Kn[138]=ol[138]=1,da[128]=al[128]=21,Oo[128]=ol[128]=22,da[42]=al[42]=21,Oo[42]=ol[42]=22,Kn[5]=da[5]=14,Kn[165]=da[165]=14,Io[20]=al[20]=6,Io[150]=al[150]=6,eo[80]=Oo[80]=11,eo[90]=Oo[90]=11,_o[65]=ol[65]=3,_o[105]=ol[105]=3,eo[160]=Oo[160]=11,Kn[160]=da[160]=14,eo[10]=Oo[10]=11,Kn[10]=da[10]=14,Io[130]=al[130]=6,_o[130]=ol[130]=3,Io[40]=al[40]=6,_o[40]=ol[40]=3,Kn[101]=ol[101]=1,Kn[69]=ol[69]=1,da[149]=al[149]=21,da[21]=al[21]=21,Io[86]=Oo[86]=17,Io[84]=Oo[84]=17,eo[89]=_o[89]=9,eo[81]=_o[81]=9,eo[96]=ol[96]=0,Kn[96]=Oo[96]=15,eo[74]=ol[74]=0,Kn[74]=Oo[74]=15,eo[24]=Io[24]=8,_o[24]=al[24]=7,eo[146]=Io[146]=8,_o[146]=al[146]=7,Kn[6]=Oo[6]=15,Io[6]=da[6]=16,Kn[164]=Oo[164]=15,Io[164]=da[164]=16,_o[129]=al[129]=7,da[129]=ol[129]=20,_o[41]=al[41]=7,da[41]=ol[41]=20,Io[66]=ol[66]=2,_o[66]=Oo[66]=19,Io[104]=ol[104]=2,_o[104]=Oo[104]=19,eo[144]=da[144]=10,Oo[144]=al[144]=23,eo[26]=da[26]=10,Oo[26]=al[26]=23,Kn[36]=al[36]=5,Io[36]=ol[36]=2,Kn[134]=al[134]=5,Io[134]=ol[134]=2,eo[9]=da[9]=10,Kn[9]=_o[9]=13,eo[161]=da[161]=10,Kn[161]=_o[161]=13,Kn[37]=al[37]=5,da[37]=ol[37]=20,Kn[133]=al[133]=5,da[133]=ol[133]=20,Io[148]=da[148]=16,Oo[148]=al[148]=23,Io[22]=da[22]=16,Oo[22]=al[22]=23,eo[82]=Io[82]=8,_o[82]=Oo[82]=19,eo[88]=Io[88]=8,_o[88]=Oo[88]=19,eo[73]=ol[73]=0,Kn[73]=_o[73]=13,eo[97]=ol[97]=0,Kn[97]=_o[97]=13,eo[145]=_o[145]=9,da[145]=al[145]=21,eo[25]=_o[25]=9,da[25]=al[25]=21,Kn[70]=ol[70]=1,Io[70]=Oo[70]=17,Kn[100]=ol[100]=1,Io[100]=Oo[100]=17,eo[34]=_o[34]=9,Kn[34]=Io[34]=12,da[34]=al[34]=21,Oo[34]=ol[34]=22,eo[136]=al[136]=4,Kn[136]=ol[136]=1,Io[136]=Oo[136]=17,_o[136]=da[136]=18,eo[35]=al[35]=4,Kn[35]=Io[35]=12,_o[35]=da[35]=18,Oo[35]=ol[35]=22,eo[153]=al[153]=4,_o[153]=da[153]=18,Kn[102]=Io[102]=12,Oo[102]=ol[102]=22,eo[155]=_o[155]=9,da[155]=al[155]=23,Kn[103]=ol[103]=1,Io[103]=Oo[103]=17,eo[152]=al[152]=4,Io[152]=Oo[152]=17,_o[152]=da[152]=18,eo[156]=Io[156]=8,_o[156]=da[156]=18,Oo[156]=al[156]=23,eo[137]=al[137]=4,Kn[137]=ol[137]=1,_o[137]=da[137]=18,eo[139]=al[139]=4,Kn[139]=_o[139]=13,da[139]=ol[139]=20,eo[98]=_o[98]=9,Kn[98]=Io[98]=12,Oo[98]=ol[98]=22,eo[99]=ol[99]=0,Kn[99]=Io[99]=12,_o[99]=Oo[99]=19,Kn[38]=Io[38]=12,da[38]=al[38]=21,Oo[38]=ol[38]=22,Kn[39]=al[39]=5,Io[39]=da[39]=16,Oo[39]=ol[39]=22;var mn=[];function qt(V,q,te){return(V-q)/(te-q)}function dM(V){return V.constructor.toString().indexOf("Array")>-1}function uE(V,q,te,ne,ue,pe){for(var Ee=V.cells[te][q],ve=Ee.cval_real,be=q+ne,Te=te+ue,Ye=[],Ge=!1;!Ge;){if(V.cells[Te]===void 0||V.cells[Te][be]===void 0)if(Te-=ue,be-=ne,ve=(Ee=V.cells[Te][be]).cval_real,ue===-1)if(pe===0)if(1&ve)Ye.push([be,Te]),ne=-1,ue=0,pe=0;else{if(!(4&ve)){Ye.push([be+Ee.bottomright,Te]),ne=0,ue=1,pe=1,Ge=!0;break}Ye.push([be+1,Te]),ne=1,ue=0,pe=0}else{if(!(1&ve)){if(4&ve){Ye.push([be+Ee.bottomright,Te]),ne=0,ue=1,pe=1,Ge=!0;break}Ye.push([be+Ee.bottomleft,Te]),ne=0,ue=1,pe=0,Ge=!0;break}Ye.push([be,Te]),ne=-1,ue=0,pe=0}else if(ue===1)if(pe===0){if(!(ve&Rp)){if(ve&ng){Ye.push([be+Ee.topleft,Te+1]),ne=0,ue=-1,pe=0,Ge=!0;break}Ye.push([be+Ee.topright,Te+1]),ne=0,ue=-1,pe=1,Ge=!0;break}Ye.push([be+1,Te+1]),ne=1,ue=0,pe=1}else Ye.push([be+1,Te+1]),ne=1,ue=0,pe=1;else if(ne===-1)if(pe===0){if(!(ve&ng)){if(1&ve){Ye.push([be,Te+Ee.leftbottom]),ne=1,ue=0,pe=0,Ge=!0;break}Ye.push([be,Te+Ee.lefttop]),ne=1,ue=0,pe=1,Ge=!0;break}Ye.push([be,Te+1]),ne=0,ue=1,pe=0}else{if(!(ve&ng)){console.log("MarchingSquaresJS-isoBands: wtf");break}Ye.push([be,Te+1]),ne=0,ue=1,pe=0}else{if(ne!==1){console.log("MarchingSquaresJS-isoBands: we came from nowhere!");break}if(pe===0){if(!(4&ve)){Ye.push([be+1,Te+Ee.rightbottom]),ne=-1,ue=0,pe=0,Ge=!0;break}Ye.push([be+1,Te]),ne=0,ue=-1,pe=1}else{if(!(4&ve)){if(ve&Rp){Ye.push([be+1,Te+Ee.righttop]),ne=-1,ue=0,pe=1;break}Ye.push([be+1,Te+Ee.rightbottom]),ne=-1,ue=0,pe=0,Ge=!0;break}Ye.push([be+1,Te]),ne=0,ue=-1,pe=1}}else if(ve=(Ee=V.cells[Te][be]).cval_real,ne===-1)if(pe===0)if(V.cells[Te-1]!==void 0&&V.cells[Te-1][be]!==void 0)ne=0,ue=-1,pe=1;else{if(!(1&ve)){Ye.push([be+Ee.bottomright,Te]),ne=0,ue=1,pe=1,Ge=!0;break}Ye.push([be,Te])}else{if(!(ve&ng)){console.log("MarchingSquaresJS-isoBands: found entry from top at "+be+","+Te);break}console.log("MarchingSquaresJS-isoBands: proceeding in x-direction!")}else if(ne===1){if(pe===0){console.log("MarchingSquaresJS-isoBands: wtf");break}if(V.cells[Te+1]!==void 0&&V.cells[Te+1][be]!==void 0)ne=0,ue=1,pe=0;else{if(!(ve&Rp)){Ye.push([be+Ee.topleft,Te+1]),ne=0,ue=-1,pe=0,Ge=!0;break}Ye.push([be+1,Te+1]),ne=1,ue=0,pe=1}}else if(ue===-1){if(pe!==1){console.log("MarchingSquaresJS-isoBands: wtf");break}if(V.cells[Te][be+1]!==void 0)ne=1,ue=0,pe=1;else{if(!(4&ve)){Ye.push([be+1,Te+Ee.righttop]),ne=-1,ue=0,pe=1,Ge=!0;break}Ye.push([be+1,Te]),ne=0,ue=-1,pe=1}}else{if(ue!==1){console.log("MarchingSquaresJS-isoBands: where did we came from???");break}if(pe!==0){console.log("MarchingSquaresJS-isoBands: wtf");break}if(V.cells[Te][be-1]!==void 0)ne=-1,ue=0,pe=0;else{if(!(ve&ng)){Ye.push([be,Te+Ee.leftbottom]),ne=1,ue=0,pe=0,Ge=!0;break}Ye.push([be,Te+1]),ne=0,ue=1,pe=0}}if(Te+=ue,(be+=ne)===q&&Te===te)break}return{path:Ye,i:be,j:Te,x:ne,y:ue,o:pe}}function uR(V){if(V.edges.length>0){var q=V.edges[V.edges.length-1],te=V.cval_real;switch(q){case 0:return te&Rp?{p:[1,V.righttop],x:-1,y:0,o:1}:{p:[V.topleft,1],x:0,y:-1,o:0};case 1:return 4&te?{p:[V.topleft,1],x:0,y:-1,o:0}:{p:[1,V.rightbottom],x:-1,y:0,o:0};case 2:return 4&te?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[V.topleft,1],x:0,y:-1,o:0};case 3:return 1&te?{p:[V.topleft,1],x:0,y:-1,o:0}:{p:[V.bottomleft,0],x:0,y:1,o:0};case 4:return te&Rp?{p:[1,V.righttop],x:-1,y:0,o:1}:{p:[V.topright,1],x:0,y:-1,o:1};case 5:return 4&te?{p:[V.topright,1],x:0,y:-1,o:1}:{p:[1,V.rightbottom],x:-1,y:0,o:0};case 6:return 4&te?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[V.topright,1],x:0,y:-1,o:1};case 7:return 1&te?{p:[V.topright,1],x:0,y:-1,o:1}:{p:[V.bottomleft,0],x:0,y:1,o:0};case 8:return 4&te?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[1,V.righttop],x:-1,y:0,o:1};case 9:return 1&te?{p:[1,V.righttop],x:-1,y:0,o:1}:{p:[V.bottomleft,0],x:0,y:1,o:0};case 10:return 1&te?{p:[0,V.leftbottom],x:1,y:0,o:0}:{p:[1,V.righttop],x:-1,y:0,o:1};case 11:return te&ng?{p:[1,V.righttop],x:-1,y:0,o:1}:{p:[0,V.lefttop],x:1,y:0,o:1};case 12:return 4&te?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[1,V.rightbottom],x:-1,y:0,o:0};case 13:return 1&te?{p:[1,V.rightbottom],x:-1,y:0,o:0}:{p:[V.bottomleft,0],x:0,y:1,o:0};case 14:return 1&te?{p:[0,V.leftbottom],x:1,y:0,o:0}:{p:[1,V.rightbottom],x:-1,y:0,o:0};case 15:return te&ng?{p:[1,V.rightbottom],x:-1,y:0,o:0}:{p:[0,V.lefttop],x:1,y:0,o:1};case 16:return 4&te?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[0,V.leftbottom],x:1,y:0,o:0};case 17:return te&ng?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[0,V.lefttop],x:1,y:0,o:1};case 18:return 1&te?{p:[0,V.leftbottom],x:1,y:0,o:0}:{p:[V.bottomleft,0],x:0,y:1,o:0};case 19:return te&ng?{p:[V.bottomleft,0],x:0,y:1,o:0}:{p:[0,V.lefttop],x:1,y:0,o:1};case 20:return te&ng?{p:[V.topleft,1],x:0,y:-1,o:0}:{p:[0,V.leftbottom],x:1,y:0,o:0};case 21:return te&Rp?{p:[0,V.leftbottom],x:1,y:0,o:0}:{p:[V.topright,1],x:0,y:-1,o:1};case 22:return te&ng?{p:[V.topleft,1],x:0,y:-1,o:0}:{p:[0,V.lefttop],x:1,y:0,o:1};case 23:return te&Rp?{p:[0,V.lefttop],x:1,y:0,o:1}:{p:[V.topright,1],x:0,y:-1,o:1};default:console.log("MarchingSquaresJS-isoBands: edge index out of range!"),console.log(V)}}return null}function gM(V,q,te,ne){var ue,pe,Ee,ve,be,Te=V.cval;switch(q){case-1:switch(ne){case 0:ue=Kn[Te],Ee=js[Te],ve=ka[Te],be=Xs[Te];break;default:ue=eo[Te],Ee=Ws[Te],ve=ns[Te],be=qs[Te]}break;case 1:switch(ne){case 0:ue=da[Te],Ee=fs[Te],ve=Cs[Te],be=nl[Te];break;default:ue=Oo[Te],Ee=il[Te],ve=rl[Te],be=Ss[Te]}break;default:switch(te){case-1:switch(ne){case 0:ue=ol[Te],Ee=zs[Te],ve=za[Te],be=Ys[Te];break;default:ue=al[Te],Ee=Js[Te],ve=Qs[Te],be=Ks[Te]}break;case 1:switch(ne){case 0:ue=_o[Te],Ee=Zs[Te],ve=$s[Te],be=el[Te];break;default:ue=Io[Te],Ee=tl[Te],ve=Fs[Te],be=Ns[Te]}}}if(pe=V.edges.indexOf(ue),V.edges[pe]===void 0)return null;switch(function(Ye,Ge){delete Ye.edges[Ge];for(var $e=Ge+1;$e0){var Ye=ne[be-1],Ge=hw(Te,Ye);Ge!==!1&&(Ye[1]=Ge,Te[0]=Ge),Ee.push(Ye[0]),be===pe.length-2&&(Ee.push(Te[0]),Ee.push(Te[1]))}pe.length===2&&(Ee.push(Te[0]),Ee.push(Te[1]))}var $e,ot,nt,lt,it,Dt,ei,st}),Q(Ee,V.properties)}function dR(V,q,te){var ne=q[0]-V[0],ue=q[1]-V[1],pe=te[0]-q[0];return function(Ee){return(Ee>0)-(Ee<0)||+Ee}(ne*(te[1]-q[1])-pe*ue)}function j3(V,q){return q.geometry.coordinates[0].every(function(te){return Mr(x(te),V)})}mn[1]=mn[169]=cM,mn[4]=mn[166]=Zb,mn[16]=mn[154]=Lp,mn[64]=mn[106]=$b,mn[168]=mn[2]=LI,mn[162]=mn[8]=Uf,mn[138]=mn[32]=AR,mn[42]=mn[128]=hM,mn[5]=mn[165]=function(V){return[[0,0],[0,V.leftbottom],[1,V.rightbottom],[1,0]]},mn[20]=mn[150]=function(V){return[[1,0],[V.bottomright,0],[V.topright,1],[1,1]]},mn[80]=mn[90]=function(V){return[[1,1],[1,V.righttop],[0,V.lefttop],[0,1]]},mn[65]=mn[105]=function(V){return[[V.bottomleft,0],[0,0],[0,1],[V.topleft,1]]},mn[160]=mn[10]=function(V){return[[1,V.righttop],[1,V.rightbottom],[0,V.leftbottom],[0,V.lefttop]]},mn[130]=mn[40]=function(V){return[[V.topleft,1],[V.topright,1],[V.bottomright,0],[V.bottomleft,0]]},mn[85]=function(){return[[0,0],[0,1],[1,1],[1,0]]},mn[101]=mn[69]=function(V){return[[1,V.rightbottom],[1,0],[0,0],[0,1],[V.topleft,1]]},mn[149]=mn[21]=function(V){return[[V.topright,1],[1,1],[1,0],[0,0],[0,V.leftbottom]]},mn[86]=mn[84]=function(V){return[[1,0],[V.bottomright,0],[0,V.lefttop],[0,1],[1,1]]},mn[89]=mn[81]=function(V){return[[1,1],[1,V.righttop],[V.bottomleft,0],[0,0],[0,1]]},mn[96]=mn[74]=function(V){return[[1,V.righttop],[1,V.rightbottom],[0,V.lefttop],[0,1],[V.topleft,1]]},mn[24]=mn[146]=function(V){return[[1,1],[1,V.righttop],[V.bottomright,0],[V.bottomleft,0],[V.topright,1]]},mn[6]=mn[164]=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0],[0,V.leftbottom],[0,V.lefttop]]},mn[129]=mn[41]=function(V){return[[V.topright,1],[V.bottomleft,0],[0,0],[0,V.leftbottom],[V.topleft,1]]},mn[66]=mn[104]=function(V){return[[V.bottomright,0],[V.bottomleft,0],[0,V.lefttop],[0,1],[V.topleft,1]]},mn[144]=mn[26]=function(V){return[[1,1],[1,V.righttop],[0,V.leftbottom],[0,V.lefttop],[V.topright,1]]},mn[36]=mn[134]=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0],[V.topleft,1],[V.topright,1]]},mn[9]=mn[161]=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.bottomleft,0],[0,0],[0,V.leftbottom]]},mn[37]=mn[133]=function(V){return[[1,V.rightbottom],[1,0],[0,0],[0,V.leftbottom],[V.topleft,1],[V.topright,1]]},mn[148]=mn[22]=function(V){return[[1,1],[1,0],[V.bottomright,0],[0,V.leftbottom],[0,V.lefttop],[V.topright,1]]},mn[82]=mn[88]=function(V){return[[1,1],[1,V.righttop],[V.bottomright,0],[V.bottomleft,0],[0,V.lefttop],[0,1]]},mn[73]=mn[97]=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.bottomleft,0],[0,0],[0,1],[V.topleft,1]]},mn[145]=mn[25]=function(V){return[[1,1],[1,V.righttop],[V.bottomleft,0],[0,0],[0,V.leftbottom],[V.topright,1]]},mn[70]=mn[100]=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0],[0,V.lefttop],[0,1],[V.topleft,1]]},mn[34]=function(V){return[hM(V),Uf(V)]},mn[35]=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.bottomright,0],[V.bottomleft,0],[0,V.leftbottom],[0,V.lefttop],[V.topleft,1],[V.topright,1]]},mn[136]=function(V){return[AR(V),LI(V)]},mn[153]=function(V){return[Lp(V),cM(V)]},mn[102]=function(V){return[Zb(V),$b(V)]},mn[155]=function(V){return[[1,1],[1,V.righttop],[V.bottomleft,0],[0,0],[0,V.leftbottom],[V.topright,1]]},mn[103]=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0],[0,V.lefttop],[0,1],[V.topleft,1]]},mn[152]=function(V){return[Lp(V),LI(V)]},mn[156]=function(V){return[[1,1],[1,V.righttop],[V.bottomright,0],[V.bottomleft,0],[0,V.leftbottom],[0,V.lefttop],[V.topright,1]]},mn[137]=function(V){return[AR(V),cM(V)]},mn[139]=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.bottomleft,0],[0,0],[0,V.leftbottom],[V.topleft,1],[V.topright,1]]},mn[98]=function(V){return[Uf(V),$b(V)]},mn[99]=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.bottomright,0],[V.bottomleft,0],[0,V.lefttop],[0,1],[V.topleft,1]]},mn[38]=function(V){return[Zb(V),hM(V)]},mn[39]=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0],[0,V.leftbottom],[0,V.lefttop],[V.topleft,1],[V.topright,1]]};var dw=function(){function V(q){this.id=V.buildId(q),this.coordinates=q,this.innerEdges=[],this.outerEdges=[],this.outerEdgesSorted=!1}return V.buildId=function(q){return q.join(",")},V.prototype.removeInnerEdge=function(q){this.innerEdges=this.innerEdges.filter(function(te){return te.from.id!==q.from.id})},V.prototype.removeOuterEdge=function(q){this.outerEdges=this.outerEdges.filter(function(te){return te.to.id!==q.to.id})},V.prototype.addOuterEdge=function(q){this.outerEdges.push(q),this.outerEdgesSorted=!1},V.prototype.sortOuterEdges=function(){var q=this;this.outerEdgesSorted||(this.outerEdges.sort(function(te,ne){var ue=te.to,pe=ne.to;if(ue.coordinates[0]-q.coordinates[0]>=0&&pe.coordinates[0]-q.coordinates[0]<0)return 1;if(ue.coordinates[0]-q.coordinates[0]<0&&pe.coordinates[0]-q.coordinates[0]>=0)return-1;if(ue.coordinates[0]-q.coordinates[0]==0&&pe.coordinates[0]-q.coordinates[0]==0)return ue.coordinates[1]-q.coordinates[1]>=0||pe.coordinates[1]-q.coordinates[1]>=0?ue.coordinates[1]-pe.coordinates[1]:pe.coordinates[1]-ue.coordinates[1];var Ee=dR(q.coordinates,ue.coordinates,pe.coordinates);return Ee<0?1:Ee>0?-1:Math.pow(ue.coordinates[0]-q.coordinates[0],2)+Math.pow(ue.coordinates[1]-q.coordinates[1],2)-(Math.pow(pe.coordinates[0]-q.coordinates[0],2)+Math.pow(pe.coordinates[1]-q.coordinates[1],2))}),this.outerEdgesSorted=!0)},V.prototype.getOuterEdges=function(){return this.sortOuterEdges(),this.outerEdges},V.prototype.getOuterEdge=function(q){return this.sortOuterEdges(),this.outerEdges[q]},V.prototype.addInnerEdge=function(q){this.innerEdges.push(q)},V}(),pM=function(){function V(q,te){this.from=q,this.to=te,this.next=void 0,this.label=void 0,this.symetric=void 0,this.ring=void 0,this.from.addOuterEdge(this),this.to.addInnerEdge(this)}return V.prototype.getSymetric=function(){return this.symetric||(this.symetric=new V(this.to,this.from),this.symetric.symetric=this),this.symetric},V.prototype.deleteEdge=function(){this.from.removeOuterEdge(this),this.to.removeInnerEdge(this)},V.prototype.isEqual=function(q){return this.from.id===q.from.id&&this.to.id===q.to.id},V.prototype.toString=function(){return"Edge { "+this.from.id+" -> "+this.to.id+" }"},V.prototype.toLineString=function(){return Q([this.from.coordinates,this.to.coordinates])},V.prototype.compareTo=function(q){return dR(q.from.coordinates,q.to.coordinates,this.to.coordinates)},V}(),X3=function(){function V(){this.edges=[],this.polygon=void 0,this.envelope=void 0}return V.prototype.push=function(q){this[this.edges.length]=q,this.edges.push(q),this.polygon=this.envelope=void 0},V.prototype.get=function(q){return this.edges[q]},Object.defineProperty(V.prototype,"length",{get:function(){return this.edges.length},enumerable:!0,configurable:!0}),V.prototype.forEach=function(q){this.edges.forEach(q)},V.prototype.map=function(q){return this.edges.map(q)},V.prototype.some=function(q){return this.edges.some(q)},V.prototype.isValid=function(){return!0},V.prototype.isHole=function(){var q=this,te=this.edges.reduce(function(Ee,ve,be){return ve.from.coordinates[1]>q.edges[Ee].from.coordinates[1]&&(Ee=be),Ee},0),ne=(te===0?this.length:te)-1,ue=(te+1)%this.length,pe=dR(this.edges[ne].from.coordinates,this.edges[te].from.coordinates,this.edges[ue].from.coordinates);return pe===0?this.edges[ne].from.coordinates[0]>this.edges[ue].from.coordinates[0]:pe>0},V.prototype.toMultiPoint=function(){return S(this.edges.map(function(q){return q.from.coordinates}))},V.prototype.toPolygon=function(){if(this.polygon)return this.polygon;var q=this.edges.map(function(te){return te.from.coordinates});return q.push(this.edges[0].from.coordinates),this.polygon=v([q])},V.prototype.getEnvelope=function(){return this.envelope?this.envelope:this.envelope=rE(this.toPolygon())},V.findEdgeRingContaining=function(q,te){var ne,ue,pe=q.getEnvelope();return te.forEach(function(Ee){var ve,be,Te,Ye,Ge,$e,ot=Ee.getEnvelope();if(ue&&(ne=ue.getEnvelope()),be=pe,Te=(ve=ot).geometry.coordinates.map(function(lt){return lt[0]}),Ye=ve.geometry.coordinates.map(function(lt){return lt[1]}),Ge=be.geometry.coordinates.map(function(lt){return lt[0]}),$e=be.geometry.coordinates.map(function(lt){return lt[1]}),(Math.max(null,Te)!==Math.max(null,Ge)||Math.max(null,Ye)!==Math.max(null,$e)||Math.min(null,Te)!==Math.min(null,Ge)||Math.min(null,Ye)!==Math.min(null,$e))&&j3(ot,pe)){var nt=q.map(function(lt){return lt.from.coordinates}).find(function(lt){return!Ee.some(function(it){return Dt=lt,ei=it.from.coordinates,Dt[0]===ei[0]&&Dt[1]===ei[1];var Dt,ei})});nt&&Ee.inside(x(nt))&&(ue&&!j3(ne,ot)||(ue=Ee))}}),ue},V.prototype.inside=function(q){return Mr(q,this.toPolygon())},V}(),gR=function(){function V(){this.edges=[],this.nodes={}}return V.fromGeoJson=function(q){(function(ne){if(!ne)throw new Error("No geojson passed");if(ne.type!=="FeatureCollection"&&ne.type!=="GeometryCollection"&&ne.type!=="MultiLineString"&&ne.type!=="LineString"&&ne.type!=="Feature")throw new Error("Invalid input type '"+ne.type+"'. Geojson must be FeatureCollection, GeometryCollection, LineString, MultiLineString or Feature")})(q);var te=new V;return He(q,function(ne){de(ne,"LineString","Graph::fromGeoJson"),re(ne,function(ue,pe){if(ue){var Ee=te.getNode(ue),ve=te.getNode(pe);te.addEdge(Ee,ve)}return pe})}),te},V.prototype.getNode=function(q){var te=dw.buildId(q),ne=this.nodes[te];return ne||(ne=this.nodes[te]=new dw(q)),ne},V.prototype.addEdge=function(q,te){var ne=new pM(q,te),ue=ne.getSymetric();this.edges.push(ne),this.edges.push(ue)},V.prototype.deleteDangles=function(){var q=this;Object.keys(this.nodes).map(function(te){return q.nodes[te]}).forEach(function(te){return q._removeIfDangle(te)})},V.prototype._removeIfDangle=function(q){var te=this;if(q.innerEdges.length<=1){var ne=q.getOuterEdges().map(function(ue){return ue.to});this.removeNode(q),ne.forEach(function(ue){return te._removeIfDangle(ue)})}},V.prototype.deleteCutEdges=function(){var q=this;this._computeNextCWEdges(),this._findLabeledEdgeRings(),this.edges.forEach(function(te){te.label===te.symetric.label&&(q.removeEdge(te.symetric),q.removeEdge(te))})},V.prototype._computeNextCWEdges=function(q){var te=this;q===void 0?Object.keys(this.nodes).forEach(function(ne){return te._computeNextCWEdges(te.nodes[ne])}):q.getOuterEdges().forEach(function(ne,ue){q.getOuterEdge((ue===0?q.getOuterEdges().length:ue)-1).symetric.next=ne})},V.prototype._computeNextCCWEdges=function(q,te){for(var ne,ue,pe=q.getOuterEdges(),Ee=pe.length-1;Ee>=0;--Ee){var ve=pe[Ee],be=ve.symetric,Te=void 0,Ye=void 0;ve.label===te&&(Te=ve),be.label===te&&(Ye=be),Te&&Ye&&(Ye&&(ue=Ye),Te&&(ue&&(ue.next=Te,ue=void 0),ne||(ne=Te)))}ue&&(ue.next=ne)},V.prototype._findLabeledEdgeRings=function(){var q=[],te=0;return this.edges.forEach(function(ne){if(!(ne.label>=0)){q.push(ne);var ue=ne;do ue.label=te,ue=ue.next;while(!ne.isEqual(ue));te++}}),q},V.prototype.getEdgeRings=function(){var q=this;this._computeNextCWEdges(),this.edges.forEach(function(ne){ne.label=void 0}),this._findLabeledEdgeRings().forEach(function(ne){q._findIntersectionNodes(ne).forEach(function(ue){q._computeNextCCWEdges(ue,ne.label)})});var te=[];return this.edges.forEach(function(ne){ne.ring||te.push(q._findEdgeRing(ne))}),te},V.prototype._findIntersectionNodes=function(q){var te=[],ne=q,ue=function(){var pe=0;ne.from.getOuterEdges().forEach(function(Ee){Ee.label===q.label&&++pe}),pe>1&&te.push(ne.from),ne=ne.next};do ue();while(!q.isEqual(ne));return te},V.prototype._findEdgeRing=function(q){var te=q,ne=new X3;do ne.push(te),te.ring=ne,te=te.next;while(!q.isEqual(te));return ne},V.prototype.removeNode=function(q){var te=this;q.getOuterEdges().forEach(function(ne){return te.removeEdge(ne)}),q.innerEdges.forEach(function(ne){return te.removeEdge(ne)}),delete this.nodes[q.id]},V.prototype.removeEdge=function(q){this.edges=this.edges.filter(function(te){return!te.isEqual(q)}),q.deleteEdge()},V}();function fR(V,q){var te=!0;return He(V,function(ne){He(q,function(ue){if(te===!1)return!1;te=function(pe,Ee){switch(pe.type){case"Point":switch(Ee.type){case"Point":return ve=pe.coordinates,be=Ee.coordinates,!(ve[0]===be[0]&&ve[1]===be[1]);case"LineString":return!Z3(Ee,pe);case"Polygon":return!Mr(pe,Ee)}break;case"LineString":switch(Ee.type){case"Point":return!Z3(pe,Ee);case"LineString":return!function(Te,Ye){return Tp(Te,Ye).features.length>0}(pe,Ee);case"Polygon":return!$3(Ee,pe)}break;case"Polygon":switch(Ee.type){case"Point":return!Mr(Ee,pe);case"LineString":return!$3(pe,Ee);case"Polygon":return!function(Te,Ye){for(var Ge=0,$e=Te.coordinates[0];Ge<$e.length;Ge++)if(Mr($e[Ge],Ye))return!0;for(var ot=0,nt=Ye.coordinates[0];ot0}(Ee,pe)}}var ve,be;return!1}(ne.geometry,ue.geometry)})}),te}function Z3(V,q){for(var te=0;te0}function uG(V,q,te){var ne=te[0]-V[0],ue=te[1]-V[1],pe=q[0]-V[0],Ee=q[1]-V[1];return ne*Ee-ue*pe==0&&(Math.abs(pe)>=Math.abs(Ee)?pe>0?V[0]<=te[0]&&te[0]<=q[0]:q[0]<=te[0]&&te[0]<=V[0]:Ee>0?V[1]<=te[1]&&te[1]<=q[1]:q[1]<=te[1]&&te[1]<=V[1])}function pR(V,q){return!(V[0]>q[0])&&!(V[2]q[1])&&!(V[3]0}function gw(V,q){for(var te=!1,ne=!1,ue=V.coordinates.length,pe=0;pe=Math.abs(ve)?Ee>0?V[0]<=te[0]&&te[0]<=q[0]:q[0]<=te[0]&&te[0]<=V[0]:ve>0?V[1]<=te[1]&&te[1]<=q[1]:q[1]<=te[1]&&te[1]<=V[1]:Math.abs(Ee)>=Math.abs(ve)?Ee>0?V[0]0?V[1]=0&&(te=[].concat(V.slice(ne,V.length),V.slice(1,ne+1))),te},Of.prototype.comparePath=function(V,q){var te=this;return V.every(function(ne,ue){return te.compareCoord(ne,this[ue])},q)},Of.prototype.comparePolygon=function(V,q){if(this.compareLine(V.coordinates[0],q.coordinates[0],1,!0)){var te=V.coordinates.slice(1,V.coordinates.length),ne=q.coordinates.slice(1,q.coordinates.length),ue=this;return te.every(function(pe){return this.some(function(Ee){return ue.compareLine(pe,Ee,1,!0)})},ne)}return!1},Of.prototype.compareFeature=function(V,q){return!(V.id!==q.id||!this.objectComparator(V.properties,q.properties)||!this.compareBBox(V,q))&&this.compare(V.geometry,q.geometry)},Of.prototype.compareBBox=function(V,q){return!!(!V.bbox&&!q.bbox||V.bbox&&q.bbox&&this.compareCoord(V.bbox,q.bbox))},Of.prototype.removePseudo=function(V){return V};var xR=Of;function CM(V,q){var te=G(V),ne=G(q),ue=te.type,pe=ne.type;if(ue==="MultiPoint"&&pe!=="MultiPoint"||(ue==="LineString"||ue==="MultiLineString")&&pe!=="LineString"&&pe!=="MultiLineString"||(ue==="Polygon"||ue==="MultiPolygon")&&pe!=="Polygon"&&pe!=="MultiPolygon")throw new Error("features must be of the same type");if(ue==="Point")throw new Error("Point geometry not supported");if(new xR({precision:6}).compare(V,q))return!1;var Ee=0;switch(ue){case"MultiPoint":for(var ve=0;ve0}function yR(V,q){var te=!1;return He(V,function(ne){He(q,function(ue){if(te===!0)return!0;te=!fR(ne.geometry,ue.geometry)})}),te}var vR=Ot(function(V){function q(te,ne,ue,pe){this.dataset=[],this.epsilon=1,this.minPts=2,this.distance=this._euclideanDistance,this.clusters=[],this.noise=[],this._visited=[],this._assigned=[],this._datasetLength=0,this._init(te,ne,ue,pe)}q.prototype.run=function(te,ne,ue,pe){this._init(te,ne,ue,pe);for(var Ee=0;Ee=this.minPts&&(ne=this._mergeArrays(ne,Ee))}this._assigned[pe]!==1&&this._addToCluster(pe,te)}},q.prototype._addToCluster=function(te,ne){this.clusters[ne].push(te),this._assigned[te]=1},q.prototype._regionQuery=function(te){for(var ne=[],ue=0;ue0){for(Ye=0;Ye<$e;Ye++)be[Ye]/=Te;this.centroids[ve]=be}else this.centroids[ve]=this.randomCentroid(),Ee=!0}}return this.getClusters()},q.prototype.randomCentroid=function(){var te,ne,ue=this.dataset.length-1;do ne=Math.round(Math.random()*ue),te=this.dataset[ne];while(this.centroids.indexOf(te)>=0);return te},q.prototype.assign=function(){for(var te,ne=!1,ue=this.dataset.length,pe=0;peEe&&(ue=pe):ne=this.minPts)return pe},te.prototype._regionQuery=function(ne,ue){ue=ue||this.epsilon;for(var pe=[],Ee=0,ve=this.dataset.length;Ee0;ne.length0;){var ve=V[Math.floor(Math.random()*pe)],be=Ee?ve.join("_"):""+ve;te[be]||(te[be]=!0,ne.push(ve))}if(ne.length0,Ee=V[Math.floor(Math.random()*ue)];for(pe&&Ee.join("_"),ne.push(Ee);ne.length0,ot=[];if(te)ue=te=="kmrand"?tk(V,q):te=="kmpp"?dG(V,q):te;else for(var nt={};ue.length0;){var be=Ee.pop();if(be===te)return xM(be);be.closed=!0;for(var Te=V.neighbors(be),Ye=0,Ge=Te.length;Ye0)){if(pe/=$e,$e<0){if(pe0){if(pe>Ge)return;pe>Ye&&(Ye=pe)}if(pe=ne-be,$e||!(pe<0)){if(pe/=$e,$e<0){if(pe>Ge)return;pe>Ye&&(Ye=pe)}else if($e>0){if(pe0)){if(pe/=ot,ot<0){if(pe0){if(pe>Ge)return;pe>Ye&&(Ye=pe)}if(pe=ue-Te,ot||!(pe<0)){if(pe/=ot,ot<0){if(pe>Ge)return;pe>Ye&&(Ye=pe)}else if(ot>0){if(pe0||Ge<1)||(Ye>0&&(V[0]=[be+Ye*$e,Te+Ye*ot]),Ge<1&&(V[1]=[be+Ge*$e,Te+Ge*ot]),!0)}}}}}function wR(V,q,te,ne,ue){var pe=V[1];if(pe)return!0;var Ee,ve,be=V[0],Te=V.left,Ye=V.right,Ge=Te[0],$e=Te[1],ot=Ye[0],nt=Ye[1],lt=(Ge+ot)/2,it=($e+nt)/2;if(nt===$e){if(lt=ne)return;if(Ge>ot){if(be){if(be[1]>=ue)return}else be=[lt,te];pe=[lt,ue]}else{if(be){if(be[1]1)if(Ge>ot){if(be){if(be[1]>=ue)return}else be=[(te-ve)/Ee,te];pe=[(ue-ve)/Ee,ue]}else{if(be){if(be[1]=ne)return}else be=[q,Ee*q+ve];pe=[ne,Ee*ne+ve]}else{if(be){if(be[0]0&&(this.content[0]=q,this.bubbleUp(0)),V},remove:function(V){var q=this.content.indexOf(V),te=this.content.pop();q!==this.content.length-1&&(this.content[q]=te,this.scoreFunction(te)0;){var te=(V+1>>1)-1,ne=this.content[te];if(!(this.scoreFunction(q)=-aQ)){var ot=be*be+Te*Te,nt=Ye*Ye+Ge*Ge,lt=(Ge*ot-Te*nt)/$e,it=(be*nt-Ye*ot)/$e,Dt=tC.pop()||new ak;Dt.arc=V,Dt.site=ue,Dt.x=lt+Ee,Dt.y=(Dt.cy=it+ve)+Math.sqrt(lt*lt+it*it),V.circle=Dt;for(var ei=null,st=kp._;st;)if(Dt.yNA)ve=ve.L;else{if(!((ue=pe-lk(ve,Ee))>NA)){ne>-NA?(q=ve.P,te=ve):ue>-NA?(q=ve,te=ve.N):q=te=ve;break}if(!ve.R){q=ve;break}ve=ve.R}(function(Rt){vd[Rt.index]={site:Rt,halfedges:[]}})(V);var be=sk(V);if(u_.insert(q,be),q||te){if(q===te)return FA(q),te=sk(q.site),u_.insert(be,te),be.edge=te.edge=nQ(q.site,be.site),cE(q),void cE(te);if(te){FA(q),FA(te);var Te=q.site,Ye=Te[0],Ge=Te[1],$e=V[0]-Ye,ot=V[1]-Ge,nt=te.site,lt=nt[0]-Ye,it=nt[1]-Ge,Dt=2*($e*it-ot*lt),ei=$e*$e+ot*ot,st=lt*lt+it*it,Qt=[(it*ei-ot*st)/Dt+Ye,($e*st-lt*ei)/Dt+Ge];oQ(te.edge,Te,nt,Qt),be.edge=nQ(Te,V,null,Qt),te.edge=nQ(V,nt,null,Qt),cE(q),cE(te)}else be.edge=nQ(q.site,be.site)}}function SR(V,q){var te=V.site,ne=te[0],ue=te[1],pe=ue-q;if(!pe)return ne;var Ee=V.P;if(!Ee)return-1/0;var ve=(te=Ee.site)[0],be=te[1],Te=be-q;if(!Te)return ve;var Ye=ve-ne,Ge=1/pe-1/Te,$e=Ye/Te;return Ge?(-$e+Math.sqrt($e*$e-2*Ge*(Ye*Ye/(-2*Te)-be+Te/2+ue-pe/2)))/Ge+ne:(ne+ve)/2}function lk(V,q){var te=V.N;if(te)return SR(te,q);var ne=V.site;return ne[1]===q?ne[0]:1/0}var u_,vd,kp,Th,NA=1e-6,aQ=1e-12;function Gf(V,q){return q[1]-V[1]||q[0]-V[0]}function rC(V,q){var te,ne,ue,pe=V.sort(Gf).pop();for(Th=[],vd=new Array(V.length),u_=new Np,kp=new Np;;)if(ue=vM,pe&&(!ue||pe[1]NA||Math.abs(nt[0][1]-nt[1][1])>NA)||delete Th[lt]})(Ee,ve,be,Te),function(Ye,Ge,$e,ot){var nt,lt,it,Dt,ei,st,Qt,Rt,Jt,Ft,tr,Hi,Cr=vd.length,ji=!0;for(nt=0;ntNA||Math.abs(Hi-Jt)>NA)&&(ei.splice(Dt,0,Th.push(id(it,Ft,Math.abs(tr-Ye)NA?[Ye,Math.abs(Rt-Ye)NA?[Math.abs(Jt-ot)NA?[$e,Math.abs(Rt-$e)NA?[Math.abs(Jt-Ge)=-270&&(nt=-nt),ot<-180&&ot>=-360&&(lt=-lt),pe==="degrees"){var it=nt*Math.cos(Ye)+lt*Math.sin(Ye),Dt=lt*Math.cos(Ye)-nt*Math.sin(Ye);nt=it,lt=Dt}Ge.push([nt+Te[0],lt+Te[1]])}return Ge.push(Ge[0]),pe==="degrees"?v([Ge],be):K3(v([Ge],be),Ee,{pivot:ve})}function BM(V){var q=V*Math.PI/180;return Math.tan(q)}function Cw(V,q){q===void 0&&(q={});var te=0,ne=0,ue=0;return Be(V,function(pe,Ee,ve){var be=q.weight?ve?.[q.weight]:void 0;if(!j(be=be??1))throw new Error("weight value must be a number for feature index "+Ee);(be=Number(be))>0&&O(pe,function(Te){te+=Te[0]*be,ne+=Te[1]*be,ue+=be})}),x([te/ue,ne/ue],q.properties,q)}function uk(V,q,te,ne,ue){var pe=ne.tolerance||.001,Ee=0,ve=0,be=0,Te=0;if(me(te,function($e){var ot,nt=(ot=$e.properties)===null||ot===void 0?void 0:ot.weight,lt=nt??1;if(!j(lt=Number(lt)))throw new Error("weight value must be a number");if(lt>0){Te+=1;var it=lt*jr($e,V);it===0&&(it=1);var Dt=lt/it;Ee+=$e.geometry.coordinates[0]*Dt,ve+=$e.geometry.coordinates[1]*Dt,be+=Dt}}),Te<1)throw new Error("no features to measure");var Ye=Ee/be,Ge=ve/be;return Te===1||ue===0||Math.abs(Ye-q[0])te&&(te=be,ne=pe,q.push([]));var Te=pe-ne,Ye=V.coordinates[be][Te+1],Ge=ue[0],$e=ue[1],ot=Ye[0],nt=Ye[1];q[be].push([.75*Ge+.25*ot,.75*$e+.25*nt]),q[be].push([.25*Ge+.75*ot,.25*$e+.75*nt])},!0),q.forEach(function(ue){ue.push(ue[0])})}function Es(V,q){var te=0,ne=0,ue=0;O(V,function(pe,Ee,ve,be,Te){be>ue&&(ue=be,ne=Ee,q.push([[]])),Te>te&&(te=Te,ne=Ee,q[be].push([]));var Ye=Ee-ne,Ge=V.coordinates[be][Te][Ye+1],$e=pe[0],ot=pe[1],nt=Ge[0],lt=Ge[1];q[be][Te].push([.75*$e+.25*nt,.75*ot+.25*lt]),q[be][Te].push([.25*$e+.75*nt,.25*ot+.75*lt])},!0),q.forEach(function(pe){pe.forEach(function(Ee){Ee.push(Ee[0])})})}function bM(V,q,te){te===void 0&&(te=2);var ne=le(V),ue=le(q),pe=ne[0]-ue[0],Ee=ne[1]-ue[1];return te===1?Math.abs(pe)+Math.abs(Ee):Math.pow(Math.pow(pe,te)+Math.pow(Ee,te),1/te)}function G0(V,q){var te=(q=q||{}).threshold||1e4,ne=q.p||2,ue=q.binary||!1,pe=q.alpha||-1,Ee=q.standardization||!1,ve=[];me(V,function(ot){ve.push(F0(ot))});for(var be=[],Te=0;Te0?1:0}(V[0]))*q,te*Math.log(Math.tan(.25*Math.PI+.5*V[1]*q))];return ue[0]>ne&&(ue[0]=ne),ue[0]<-ne&&(ue[0]=-ne),ue[1]>ne&&(ue[1]=ne),ue[1]<-ne&&(ue[1]=-ne),ue}function Ew(V){var q=180/Math.PI,te=6378137;return[V[0]*q/te,(.5*Math.PI-2*Math.atan(Math.exp(-V[1]/te)))*q]}rC.prototype={constructor:rC,polygons:function(){var V=this.edges;return this.cells.map(function(q){var te=q.halfedges.map(function(ne){return ok(q,V[ne])});return te.data=q.site.data,te})},triangles:function(){var V=[],q=this.edges;return this.cells.forEach(function(te,ne){if(pe=(ue=te.halfedges).length)for(var ue,pe,Ee,ve,be,Te,Ye=te.site,Ge=-1,$e=q[ue[pe-1]],ot=$e.left===Ye?$e.right:$e.left;++Ge=ve)return null;var be=V-ue.site[0],Te=q-ue.site[1],Ye=be*be+Te*Te;do ue=pe.cells[ne=Ee],Ee=null,ue.halfedges.forEach(function(Ge){var $e=pe.edges[Ge],ot=$e.left;if(ot!==ue.site&&ot||(ot=$e.right)){var nt=V-ot[0],lt=q-ot[1],it=nt*nt+lt*lt;it0?Te+Ge[Ye-1]:Te}),be.forEach(function(Te){Te=2*Te*Math.PI/be[be.length-1];var Ye=Math.random();ve.push([Ye*(q.max_radial_length||10)*Math.sin(Te),Ye*(q.max_radial_length||10)*Math.cos(Te)])}),ve[ve.length-1]=ve[0],ve=ve.map((Ee=lQ(q.bbox),function(Te){return[Te[0]+Ee[0],Te[1]+Ee[1]]})),te.push(v([ve]))},ue=0;ue * @license MIT * @preserve */function mG(V,q){return V>q?1:V0)||q.right===null||te(V,q.right.key)>0&&(ve=q.right,q.right=ve.left,ve.left=q,(q=ve).right===null))break;ue.right=q,ue=q,q=q.right}}return ue.right=q.left,pe.left=q.right,q.left=ne.right,q.right=ne.left,q}function Ph(V,q,te,ne){var ue=new ly(V,q);if(te===null)return ue.left=ue.right=null,ue;var pe=ne(V,(te=kI(V,te,ne)).key);return pe<0?(ue.left=te.left,ue.right=te,te.left=null):pe>=0&&(ue.right=te.right,ue.left=te,te.right=null),ue}function Tg(V,q,te){var ne=null,ue=null;if(q){var pe=te((q=kI(V,q,te)).key,V);pe===0?(ne=q.left,ue=q.right):pe<0?(ue=q.right,q.right=null,ne=q):(ne=q.left,q.left=null,ue=q)}return{left:ne,right:ue}}function PR(V,q,te,ne,ue){if(V){ne(q+(te?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 ")+ue(V)+` `);var pe=q+(te?" ":"\u2502 ");V.left&&PR(V.left,pe,!1,ne,ue),V.right&&PR(V.right,pe,!0,ne,ue)}}var RR=function(){function V(q){q===void 0&&(q=mG),this._root=null,this._size=0,this._comparator=q}return V.prototype.insert=function(q,te){return this._size++,this._root=Ph(q,te,this._root,this._comparator)},V.prototype.add=function(q,te){var ne=new ly(q,te);this._root===null&&(ne.left=ne.right=null,this._size++,this._root=ne);var ue=this._comparator,pe=kI(q,this._root,ue),Ee=ue(q,pe.key);return Ee===0?this._root=pe:(Ee<0?(ne.left=pe.left,ne.right=pe,pe.left=null):Ee>0&&(ne.right=pe.right,ne.left=pe,pe.right=null),this._size++,this._root=ne),this._root},V.prototype.remove=function(q){this._root=this._remove(q,this._root,this._comparator)},V.prototype._remove=function(q,te,ne){var ue;return te===null?null:ne(q,(te=kI(q,te,ne)).key)===0?(te.left===null?ue=te.right:(ue=kI(q,te.left,ne)).right=te.right,this._size--,ue):te},V.prototype.pop=function(){var q=this._root;if(q){for(;q.left;)q=q.left;return this._root=kI(q.key,this._root,this._comparator),this._root=this._remove(q.key,this._root,this._comparator),{key:q.key,data:q.data}}return null},V.prototype.findStatic=function(q){for(var te=this._root,ne=this._comparator;te;){var ue=ne(q,te.key);if(ue===0)return te;te=ue<0?te.left:te.right}return null},V.prototype.find=function(q){return this._root&&(this._root=kI(q,this._root,this._comparator),this._comparator(q,this._root.key)!==0)?null:this._root},V.prototype.contains=function(q){for(var te=this._root,ne=this._comparator;te;){var ue=ne(q,te.key);if(ue===0)return!0;te=ue<0?te.left:te.right}return!1},V.prototype.forEach=function(q,te){for(var ne=this._root,ue=[],pe=!1;!pe;)ne!==null?(ue.push(ne),ne=ne.left):ue.length!==0?(ne=ue.pop(),q.call(te,ne),ne=ne.right):pe=!0;return this},V.prototype.range=function(q,te,ne,ue){for(var pe=[],Ee=this._comparator,ve=this._root;pe.length!==0||ve;)if(ve)pe.push(ve),ve=ve.left;else{if(Ee((ve=pe.pop()).key,te)>0)break;if(Ee(ve.key,q)>=0&&ne.call(ue,ve))return this;ve=ve.right}return this},V.prototype.keys=function(){var q=[];return this.forEach(function(te){var ne=te.key;return q.push(ne)}),q},V.prototype.values=function(){var q=[];return this.forEach(function(te){var ne=te.data;return q.push(ne)}),q},V.prototype.min=function(){return this._root?this.minNode(this._root).key:null},V.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},V.prototype.minNode=function(q){if(q===void 0&&(q=this._root),q)for(;q.left;)q=q.left;return q},V.prototype.maxNode=function(q){if(q===void 0&&(q=this._root),q)for(;q.right;)q=q.right;return q},V.prototype.at=function(q){for(var te=this._root,ne=!1,ue=0,pe=[];!ne;)if(te)pe.push(te),te=te.left;else if(pe.length>0){if(te=pe.pop(),ue===q)return te;ue++,te=te.right}else ne=!0;return null},V.prototype.next=function(q){var te=this._root,ne=null;if(q.right){for(ne=q.right;ne.left;)ne=ne.left;return ne}for(var ue=this._comparator;te;){var pe=ue(q.key,te.key);if(pe===0)break;pe<0?(ne=te,te=te.left):te=te.right}return ne},V.prototype.prev=function(q){var te=this._root,ne=null;if(q.left!==null){for(ne=q.left;ne.right;)ne=ne.right;return ne}for(var ue=this._comparator;te;){var pe=ue(q.key,te.key);if(pe===0)break;pe<0?te=te.left:(ne=te,te=te.right)}return ne},V.prototype.clear=function(){return this._root=null,this._size=0,this},V.prototype.toList=function(){return function(q){for(var te=q,ne=[],ue=!1,pe=new ly(null,null),Ee=pe;!ue;)te?(ne.push(te),te=te.left):ne.length>0?te=(te=Ee=Ee.next=ne.pop()).right:ue=!0;return Ee.next=null,pe.next}(this._root)},V.prototype.load=function(q,te,ne){te===void 0&&(te=[]),ne===void 0&&(ne=!1);var ue=q.length,pe=this._comparator;if(ne&&og(q,te,0,ue-1,pe),this._root===null)this._root=LR(q,te,0,ue),this._size=ue;else{var Ee=function(ve,be,Te){for(var Ye=new ly(null,null),Ge=Ye,$e=ve,ot=be;$e!==null&&ot!==null;)Te($e.key,ot.key)<0?(Ge.next=$e,$e=$e.next):(Ge.next=ot,ot=ot.next),Ge=Ge.next;return $e!==null?Ge.next=$e:ot!==null&&(Ge.next=ot),Ye.next}(this.toList(),function(ve,be){for(var Te=new ly(null,null),Ye=Te,Ge=0;Ge0){var pe=te+Math.floor(ue/2),Ee=V[pe],ve=q[pe],be=new ly(Ee,ve);return be.left=LR(V,q,te,pe),be.right=LR(V,q,pe+1,ne),be}return null}function Op(V,q,te){var ne=te-q;if(ne>0){var ue=q+Math.floor(ne/2),pe=Op(V,q,ue),Ee=V.head;return Ee.left=pe,V.head=V.head.next,Ee.right=Op(V,ue+1,te),Ee}return null}function og(V,q,te,ne,ue){if(!(te>=ne)){for(var pe=V[te+ne>>1],Ee=te-1,ve=ne+1;;){do Ee++;while(ue(V[Ee],pe)<0);do ve--;while(ue(V[ve],pe)>0);if(Ee>=ve)break;var be=V[Ee];V[Ee]=V[ve],V[ve]=be,be=q[Ee],q[Ee]=q[ve],q[ve]=be}og(V,q,te,ve,ue),og(V,q,ve+1,ne,ue)}}function Hf(V,q){if(!(V instanceof q))throw new TypeError("Cannot call a class as a function")}function ck(V,q){for(var te=0;tete.x?1:q.yte.y?1:0}}]),Bd(V,[{key:"link",value:function(q){if(q.point===this.point)throw new Error("Tried to link already linked events");for(var te=q.point.events,ne=0,ue=te.length;ne=0&&Ge>=0?Te<$e?1:Te>$e?-1:0:be<0&&Ge<0?Te<$e?-1:Te>$e?1:0:Gebe?1:0}}}]),V}(),GR=0,gQ=function(){function V(q,te,ne,ue){Hf(this,V),this.id=++GR,this.leftSE=q,q.segment=this,q.otherSE=te,this.rightSE=te,te.segment=this,te.otherSE=q,this.rings=ne,this.windings=ue}return Bd(V,null,[{key:"compare",value:function(q,te){var ne=q.leftSE.point.x,ue=te.leftSE.point.x,pe=q.rightSE.point.x,Ee=te.rightSE.point.x;if(Eeve&&be>Te)return-1;var Ge=q.comparePoint(te.leftSE.point);if(Ge<0)return 1;if(Ge>0)return-1;var $e=te.comparePoint(q.rightSE.point);return $e!==0?$e:-1}if(ne>ue){if(vebe&&ve>Ye)return 1;var ot=te.comparePoint(q.leftSE.point);if(ot!==0)return ot;var nt=q.comparePoint(te.rightSE.point);return nt<0?1:nt>0?-1:1}if(vebe)return 1;if(peEe){var it=q.comparePoint(te.rightSE.point);if(it<0)return 1;if(it>0)return-1}if(pe!==Ee){var Dt=Te-ve,ei=pe-ne,st=Ye-be,Qt=Ee-ue;if(Dt>ei&&stQt)return-1}return pe>Ee?1:peYe?1:q.idte.id?1:0}}]),Bd(V,[{key:"replaceRightSE",value:function(q){this.rightSE=q,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}},{key:"bbox",value:function(){var q=this.leftSE.point.y,te=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:qte?q:te}}}},{key:"vector",value:function(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}},{key:"isAnEndpoint",value:function(q){return q.x===this.leftSE.point.x&&q.y===this.leftSE.point.y||q.x===this.rightSE.point.x&&q.y===this.rightSE.point.y}},{key:"comparePoint",value:function(q){if(this.isAnEndpoint(q))return 0;var te=this.leftSE.point,ne=this.rightSE.point,ue=this.vector();if(te.x===ne.x)return q.x===te.x?0:q.x0&&ve.swapEvents(),H0.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),ne&&(ue.checkForConsuming(),pe.checkForConsuming()),te}},{key:"swapEvents",value:function(){var q=this.rightSE;this.rightSE=this.leftSE,this.leftSE=q,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(var te=0,ne=this.windings.length;te0){var pe=te;te=ne,ne=pe}if(te.prev===ne){var Ee=te;te=ne,ne=Ee}for(var ve=0,be=ne.rings.length;ve0))throw new Error("Tried to create degenerate segment at [".concat(q.x,", ").concat(q.y,"]"));ue=te,pe=q,Ee=-1}return new V(new H0(ue,!0),new H0(pe,!1),[ne],[Ee])}}]),V}(),fQ=function(){function V(q,te,ne){if(Hf(this,V),!Array.isArray(q)||q.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=te,this.isExterior=ne,this.segments=[],typeof q[0][0]!="number"||typeof q[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");var ue=hQ.round(q[0][0],q[0][1]);this.bbox={ll:{x:ue.x,y:ue.y},ur:{x:ue.x,y:ue.y}};for(var pe=ue,Ee=1,ve=q.length;Eethis.bbox.ur.x&&(this.bbox.ur.x=be.x),be.y>this.bbox.ur.y&&(this.bbox.ur.y=be.y),pe=be)}ue.x===pe.x&&ue.y===pe.y||this.segments.push(gQ.fromRing(pe,ue,this))}return Bd(V,[{key:"getSweepEvents",value:function(){for(var q=[],te=0,ne=this.segments.length;tethis.bbox.ur.x&&(this.bbox.ur.x=pe.bbox.ur.x),pe.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=pe.bbox.ur.y),this.interiorRings.push(pe)}this.multiPoly=te}return Bd(V,[{key:"getSweepEvents",value:function(){for(var q=this.exteriorRing.getSweepEvents(),te=0,ne=this.interiorRings.length;tethis.bbox.ur.x&&(this.bbox.ur.x=pe.bbox.ur.x),pe.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=pe.bbox.ur.y),this.polys.push(pe)}this.isSubject=te}return Bd(V,[{key:"getSweepEvents",value:function(){for(var q=[],te=0,ne=this.polys.length;te0&&(q=ue)}for(var pe=q.segment.prevInResult(),Ee=pe?pe.prevInResult():null;;){if(!pe)return null;if(!Ee)return pe.ringOut;if(Ee.ringOut!==pe.ringOut)return Ee.ringOut.enclosingRing()!==pe.ringOut?pe.ringOut:pe.ringOut.enclosingRing();pe=Ee.prevInResult(),Ee=pe?pe.prevInResult():null}}}]),V}(),gk=function(){function V(q){Hf(this,V),this.exteriorRing=q,q.poly=this,this.interiorRings=[]}return Bd(V,[{key:"addInterior",value:function(q){this.interiorRings.push(q),q.poly=this}},{key:"getGeom",value:function(){var q=[this.exteriorRing.getGeom()];if(q[0]===null)return null;for(var te=0,ne=this.interiorRings.length;te1&&arguments[1]!==void 0?arguments[1]:gQ.compare;Hf(this,V),this.queue=q,this.tree=new RR(te),this.segments=[]}return Bd(V,[{key:"process",value:function(q){var te=q.segment,ne=[];if(q.consumedBy)return q.isLeft?this.queue.remove(q.otherSE):this.tree.remove(te),ne;var ue=q.isLeft?this.tree.insert(te):this.tree.find(te);if(!ue)throw new Error("Unable to find segment #".concat(te.id," ")+"[".concat(te.leftSE.point.x,", ").concat(te.leftSE.point.y,"] -> ")+"[".concat(te.rightSE.point.x,", ").concat(te.rightSE.point.y,"] ")+"in SweepLine tree. Please submit a bug report.");for(var pe=ue,Ee=ue,ve=void 0,be=void 0;ve===void 0;)(pe=this.tree.prev(pe))===null?ve=null:pe.key.consumedBy===void 0&&(ve=pe.key);for(;be===void 0;)(Ee=this.tree.next(Ee))===null?be=null:Ee.key.consumedBy===void 0&&(be=Ee.key);if(q.isLeft){var Te=null;if(ve){var Ye=ve.getIntersection(te);if(Ye!==null&&(te.isAnEndpoint(Ye)||(Te=Ye),!ve.isAnEndpoint(Ye)))for(var Ge=this._splitSafely(ve,Ye),$e=0,ot=Ge.length;$e0?(this.tree.remove(te),ne.push(q)):(this.segments.push(te),te.prev=ve)}else{if(ve&&be){var Ft=ve.getIntersection(be);if(Ft!==null){if(!ve.isAnEndpoint(Ft))for(var tr=this._splitSafely(ve,Ft),Hi=0,Cr=tr.length;Hipk)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big). Please file a bug report.");for(var Qt=new EG(nt),Rt=nt.size,Jt=nt.pop();Jt;){var Ft=Jt.key;if(nt.size===Rt){var tr=Ft.segment;throw new Error("Unable to pop() ".concat(Ft.isLeft?"left":"right"," SweepEvent ")+"[".concat(Ft.point.x,", ").concat(Ft.point.y,"] from segment #").concat(tr.id," ")+"[".concat(tr.leftSE.point.x,", ").concat(tr.leftSE.point.y,"] -> ")+"[".concat(tr.rightSE.point.x,", ").concat(tr.rightSE.point.y,"] from queue. ")+"Please file a bug report.")}if(nt.size>pk)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big). Please file a bug report.");if(Qt.segments.length>IG)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments). Please file a bug report.");for(var Hi=Qt.process(Ft),Cr=0,ji=Hi.length;Cr1?q-1:0),ne=1;ne1?q-1:0),ne=1;ne1?q-1:0),ne=1;neq.x?1:this.yq.y?1:0},Wi.prototype.clone=function(){},Wi.prototype.copy=function(){return new Wi(this)},Wi.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},Wi.prototype.distance3D=function(V){var q=this.x-V.x,te=this.y-V.y,ne=this.z-V.z;return Math.sqrt(q*q+te*te+ne*ne)},Wi.prototype.distance=function(V){var q=this.x-V.x,te=this.y-V.y;return Math.sqrt(q*q+te*te)},Wi.prototype.hashCode=function(){var V=17;return V=37*(V=37*V+Wi.hashCode(this.x))+Wi.hashCode(this.y)},Wi.prototype.setCoordinate=function(V){this.x=V.x,this.y=V.y,this.z=V.z},Wi.prototype.interfaces_=function(){return[sf,pQ,Vf]},Wi.prototype.getClass=function(){return Wi},Wi.hashCode=function(){if(arguments.length===1){var V=arguments[0],q=Ia.doubleToLongBits(V);return Math.trunc((q^q)>>>32)}},f_.DimensionalComparator.get=function(){return fE},f_.serialVersionUID.get=function(){return 6683108902428367e3},f_.NULL_ORDINATE.get=function(){return Ia.NaN},f_.X.get=function(){return 0},f_.Y.get=function(){return 1},f_.Z.get=function(){return 2},Object.defineProperties(Wi,f_);var fE=function(V){if(this._dimensionsToTest=2,arguments.length!==0&&arguments.length===1){var q=arguments[0];if(q!==2&&q!==3)throw new XA("only 2 or 3 dimensions may be specified");this._dimensionsToTest=q}};fE.prototype.compare=function(V,q){var te=V,ne=q,ue=fE.compare(te.x,ne.x);if(ue!==0)return ue;var pe=fE.compare(te.y,ne.y);return pe!==0?pe:this._dimensionsToTest<=2?0:fE.compare(te.z,ne.z)},fE.prototype.interfaces_=function(){return[g_]},fE.prototype.getClass=function(){return fE},fE.compare=function(V,q){return Vq?1:Ia.isNaN(V)?Ia.isNaN(q)?0:-1:Ia.isNaN(q)?1:0};var uy=function(){};uy.prototype.create=function(){},uy.prototype.interfaces_=function(){return[]},uy.prototype.getClass=function(){return uy};var or=function(){},vw={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};or.prototype.interfaces_=function(){return[]},or.prototype.getClass=function(){return or},or.toLocationSymbol=function(V){switch(V){case or.EXTERIOR:return"e";case or.BOUNDARY:return"b";case or.INTERIOR:return"i";case or.NONE:return"-"}throw new XA("Unknown location value: "+V)},vw.INTERIOR.get=function(){return 0},vw.BOUNDARY.get=function(){return 1},vw.EXTERIOR.get=function(){return 2},vw.NONE.get=function(){return-1},Object.defineProperties(or,vw);var Zo=function(V,q){return V.interfaces_&&V.interfaces_().indexOf(q)>-1},lf=function(){},Ck={LOG_10:{configurable:!0}};lf.prototype.interfaces_=function(){return[]},lf.prototype.getClass=function(){return lf},lf.log10=function(V){var q=Math.log(V);return Ia.isInfinite(q)||Ia.isNaN(q)?q:q/lf.LOG_10},lf.min=function(V,q,te,ne){var ue=V;return qte?te:V}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var ne=arguments[0],ue=arguments[1],pe=arguments[2];return nepe?pe:ne}},lf.wrap=function(V,q){return V<0?q- -V%q:V%q},lf.max=function(){if(arguments.length===3){var V=arguments[0],q=arguments[1],te=arguments[2],ne=V;return q>ne&&(ne=q),te>ne&&(ne=te),ne}if(arguments.length===4){var ue=arguments[0],pe=arguments[1],Ee=arguments[2],ve=arguments[3],be=ue;return pe>be&&(be=pe),Ee>be&&(be=Ee),ve>be&&(be=ve),be}},lf.average=function(V,q){return(V+q)/2},Ck.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(lf,Ck);var Hu=function(V){this.str=V};Hu.prototype.append=function(V){this.str+=V},Hu.prototype.setCharAt=function(V,q){this.str=this.str.substr(0,V)+q+this.str.substr(V+1)},Hu.prototype.toString=function(V){return this.str};var Hp=function(V){this.value=V};Hp.prototype.intValue=function(){return this.value},Hp.prototype.compareTo=function(V){return this.valueV?1:0},Hp.isNaN=function(V){return Number.isNaN(V)};var mQ=function(){};mQ.isWhitespace=function(V){return V<=32&&V>=0||V===127},mQ.toUpperCase=function(V){return V.toUpperCase()};var dr=function V(){if(this._hi=0,this._lo=0,arguments.length===0)this.init(0);else if(arguments.length===1){if(typeof arguments[0]=="number"){var q=arguments[0];this.init(q)}else if(arguments[0]instanceof V){var te=arguments[0];this.init(te)}else if(typeof arguments[0]=="string"){var ne=arguments[0];V.call(this,V.parse(ne))}}else if(arguments.length===2){var ue=arguments[0],pe=arguments[1];this.init(ue,pe)}},lu={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};dr.prototype.le=function(V){return(this._hi9?(Ye=!0,Ge="9"):Ge="0"+Te,Ee.append(Ge),te=te.subtract(dr.valueOf(Te)).multiply(dr.TEN),Ye&&te.selfAdd(dr.TEN);var $e=!0,ot=dr.magnitude(te._hi);if(ot<0&&Math.abs(ot)>=ve-be&&($e=!1),!$e)break}return q[0]=ne,Ee.toString()},dr.prototype.sqr=function(){return this.multiply(this)},dr.prototype.doubleValue=function(){return this._hi+this._lo},dr.prototype.subtract=function(){if(arguments[0]instanceof dr){var V=arguments[0];return this.add(V.negate())}if(typeof arguments[0]=="number"){var q=arguments[0];return this.add(-q)}},dr.prototype.equals=function(){if(arguments.length===1){var V=arguments[0];return this._hi===V._hi&&this._lo===V._lo}},dr.prototype.isZero=function(){return this._hi===0&&this._lo===0},dr.prototype.selfSubtract=function(){if(arguments[0]instanceof dr){var V=arguments[0];return this.isNaN()?this:this.selfAdd(-V._hi,-V._lo)}if(typeof arguments[0]=="number"){var q=arguments[0];return this.isNaN()?this:this.selfAdd(-q,0)}},dr.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},dr.prototype.min=function(V){return this.le(V)?this:V},dr.prototype.selfDivide=function(){if(arguments.length===1){if(arguments[0]instanceof dr){var V=arguments[0];return this.selfDivide(V._hi,V._lo)}if(typeof arguments[0]=="number"){var q=arguments[0];return this.selfDivide(q,0)}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1],ue=null,pe=null,Ee=null,ve=null,be=null,Te=null,Ye=null,Ge=null;return be=this._hi/te,Ge=(ue=(Te=dr.SPLIT*be)-(ue=Te-be))*(Ee=(Ge=dr.SPLIT*te)-(Ee=Ge-te))-(Ye=be*te)+ue*(ve=te-Ee)+(pe=be-ue)*Ee+pe*ve,Ge=be+(Te=(this._hi-Ye-Ge+this._lo-be*ne)/te),this._hi=Ge,this._lo=be-Ge+Te,this}},dr.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},dr.prototype.divide=function(){if(arguments[0]instanceof dr){var V=arguments[0],q=null,te=null,ne=null,ue=null,pe=null,Ee=null,ve=null,be=null;te=(pe=this._hi/V._hi)-(q=(Ee=dr.SPLIT*pe)-(q=Ee-pe)),be=q*(ne=(be=dr.SPLIT*V._hi)-(ne=be-V._hi))-(ve=pe*V._hi)+q*(ue=V._hi-ne)+te*ne+te*ue;var Te=be=pe+(Ee=(this._hi-ve-be+this._lo-pe*V._lo)/V._hi),Ye=pe-be+Ee;return new dr(Te,Ye)}if(typeof arguments[0]=="number"){var Ge=arguments[0];return Ia.isNaN(Ge)?dr.createNaN():dr.copy(this).selfDivide(Ge,0)}},dr.prototype.ge=function(V){return(this._hi>V._hi||this._hi===V._hi)&&this._lo>=V._lo},dr.prototype.pow=function(V){if(V===0)return dr.valueOf(1);var q=new dr(this),te=dr.valueOf(1),ne=Math.abs(V);if(ne>1)for(;ne>0;)ne%2==1&&te.selfMultiply(q),(ne/=2)>0&&(q=q.sqr());else te=q;return V<0?te.reciprocal():te},dr.prototype.ceil=function(){if(this.isNaN())return dr.NaN;var V=Math.ceil(this._hi),q=0;return V===this._hi&&(q=Math.ceil(this._lo)),new dr(V,q)},dr.prototype.compareTo=function(V){var q=V;return this._hiq._hi?1:this._loq._lo?1:0},dr.prototype.rint=function(){return this.isNaN()?this:this.add(.5).floor()},dr.prototype.setValue=function(){if(arguments[0]instanceof dr){var V=arguments[0];return this.init(V),this}if(typeof arguments[0]=="number"){var q=arguments[0];return this.init(q),this}},dr.prototype.max=function(V){return this.ge(V)?this:V},dr.prototype.sqrt=function(){if(this.isZero())return dr.valueOf(0);if(this.isNegative())return dr.NaN;var V=1/Math.sqrt(this._hi),q=this._hi*V,te=dr.valueOf(q),ne=this.subtract(te.sqr())._hi*(.5*V);return te.add(ne)},dr.prototype.selfAdd=function(){if(arguments.length===1){if(arguments[0]instanceof dr){var V=arguments[0];return this.selfAdd(V._hi,V._lo)}if(typeof arguments[0]=="number"){var q=arguments[0],te=null,ne=null,ue=null,pe=null,Ee=null,ve=null;return pe=(ue=this._hi+q)-(Ee=ue-this._hi),ne=(ve=(pe=q-Ee+(this._hi-pe))+this._lo)+(ue-(te=ue+ve)),this._hi=te+ne,this._lo=ne+(te-this._hi),this}}else if(arguments.length===2){var be=arguments[0],Te=arguments[1],Ye=null,Ge=null,$e=null,ot=null,nt=null,lt=null,it=null;ot=this._hi+be,Ge=this._lo+Te,nt=ot-(lt=ot-this._hi),$e=Ge-(it=Ge-this._lo);var Dt=(Ye=ot+(lt=(nt=be-lt+(this._hi-nt))+Ge))+(lt=($e=Te-it+(this._lo-$e))+(lt+(ot-Ye))),ei=lt+(Ye-Dt);return this._hi=Dt,this._lo=ei,this}},dr.prototype.selfMultiply=function(){if(arguments.length===1){if(arguments[0]instanceof dr){var V=arguments[0];return this.selfMultiply(V._hi,V._lo)}if(typeof arguments[0]=="number"){var q=arguments[0];return this.selfMultiply(q,0)}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1],ue=null,pe=null,Ee=null,ve=null,be=null,Te=null;ue=(be=dr.SPLIT*this._hi)-this._hi,Te=dr.SPLIT*te,ue=be-ue,pe=this._hi-ue,Ee=Te-te;var Ye=(be=this._hi*te)+(Te=ue*(Ee=Te-Ee)-be+ue*(ve=te-Ee)+pe*Ee+pe*ve+(this._hi*ne+this._lo*te)),Ge=Te+(ue=be-Ye);return this._hi=Ye,this._lo=Ge,this}},dr.prototype.selfSqr=function(){return this.selfMultiply(this)},dr.prototype.floor=function(){if(this.isNaN())return dr.NaN;var V=Math.floor(this._hi),q=0;return V===this._hi&&(q=Math.floor(this._lo)),new dr(V,q)},dr.prototype.negate=function(){return this.isNaN()?this:new dr(-this._hi,-this._lo)},dr.prototype.clone=function(){},dr.prototype.multiply=function(){if(arguments[0]instanceof dr){var V=arguments[0];return V.isNaN()?dr.createNaN():dr.copy(this).selfMultiply(V)}if(typeof arguments[0]=="number"){var q=arguments[0];return Ia.isNaN(q)?dr.createNaN():dr.copy(this).selfMultiply(q,0)}},dr.prototype.isNaN=function(){return Ia.isNaN(this._hi)},dr.prototype.intValue=function(){return Math.trunc(this._hi)},dr.prototype.toString=function(){var V=dr.magnitude(this._hi);return V>=-3&&V<=20?this.toStandardNotation():this.toSciNotation()},dr.prototype.toStandardNotation=function(){var V=this.getSpecialNumberString();if(V!==null)return V;var q=new Array(1).fill(null),te=this.extractSignificantDigits(!0,q),ne=q[0]+1,ue=te;if(te.charAt(0)===".")ue="0"+te;else if(ne<0)ue="0."+dr.stringOfChar("0",-ne)+te;else if(te.indexOf(".")===-1){var pe=ne-te.length;ue=te+dr.stringOfChar("0",pe)+".0"}return this.isNegative()?"-"+ue:ue},dr.prototype.reciprocal=function(){var V,q,te,ne,ue=null,pe=null,Ee=null,ve=null;V=(te=1/this._hi)-(ue=(Ee=dr.SPLIT*te)-(ue=Ee-te)),pe=(ve=dr.SPLIT*this._hi)-this._hi;var be=te+(Ee=(1-(ne=te*this._hi)-(ve=ue*(pe=ve-pe)-ne+ue*(q=this._hi-pe)+V*pe+V*q)-te*this._lo)/this._hi);return new dr(be,te-be+Ee)},dr.prototype.toSciNotation=function(){if(this.isZero())return dr.SCI_NOT_ZERO;var V=this.getSpecialNumberString();if(V!==null)return V;var q=new Array(1).fill(null),te=this.extractSignificantDigits(!1,q),ne=dr.SCI_NOT_EXPONENT_CHAR+q[0];if(te.charAt(0)==="0")throw new Error("Found leading zero: "+te);var ue="";te.length>1&&(ue=te.substring(1));var pe=te.charAt(0)+"."+ue;return this.isNegative()?"-"+pe+ne:pe+ne},dr.prototype.abs=function(){return this.isNaN()?dr.NaN:this.isNegative()?this.negate():new dr(this)},dr.prototype.isPositive=function(){return(this._hi>0||this._hi===0)&&this._lo>0},dr.prototype.lt=function(V){return(this._hiV._hi||this._hi===V._hi)&&this._lo>V._lo},dr.prototype.isNegative=function(){return(this._hi<0||this._hi===0)&&this._lo<0},dr.prototype.trunc=function(){return this.isNaN()?dr.NaN:this.isPositive()?this.floor():this.ceil()},dr.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},dr.prototype.interfaces_=function(){return[Vf,sf,pQ]},dr.prototype.getClass=function(){return dr},dr.sqr=function(V){return dr.valueOf(V).selfMultiply(V)},dr.valueOf=function(){if(typeof arguments[0]=="string"){var V=arguments[0];return dr.parse(V)}if(typeof arguments[0]=="number"){var q=arguments[0];return new dr(q)}},dr.sqrt=function(V){return dr.valueOf(V).sqrt()},dr.parse=function(V){for(var q=0,te=V.length;mQ.isWhitespace(V.charAt(q));)q++;var ne=!1;if(q=te);){var Te=V.charAt(q);if(q++,mQ.isDigit(Te)){var Ye=Te-"0";pe.selfMultiply(dr.TEN),pe.selfAdd(Ye),Ee++}else{if(Te!=="."){if(Te==="e"||Te==="E"){var Ge=V.substring(q);try{be=Hp.parseInt(Ge)}catch(it){throw it instanceof Error?new Error("Invalid exponent "+Ge+" in string "+V):it}break}throw new Error("Unexpected character '"+Te+"' at position "+q+" in string "+V)}ve=Ee}}var $e=pe,ot=Ee-ve-be;if(ot===0)$e=pe;else if(ot>0){var nt=dr.TEN.pow(ot);$e=pe.divide(nt)}else if(ot<0){var lt=dr.TEN.pow(-ot);$e=pe.multiply(lt)}return ne?$e.negate():$e},dr.createNaN=function(){return new dr(Ia.NaN,Ia.NaN)},dr.copy=function(V){return new dr(V)},dr.magnitude=function(V){var q=Math.abs(V),te=Math.log(q)/Math.log(10),ne=Math.trunc(Math.floor(te));return 10*Math.pow(10,ne)<=q&&(ne+=1),ne},dr.stringOfChar=function(V,q){for(var te=new Hu,ne=0;ne0){if(pe<=0)return wd.signum(Ee);ne=ue+pe}else{if(!(ue<0)||pe>=0)return wd.signum(Ee);ne=-ue-pe}var ve=wd.DP_SAFE_EPSILON*ne;return Ee>=ve||-Ee>=ve?wd.signum(Ee):2},wd.signum=function(V){return V>0?1:V<0?-1:0},Ek.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(wd,Ek);var Us=function(){},CQ={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};CQ.X.get=function(){return 0},CQ.Y.get=function(){return 1},CQ.Z.get=function(){return 2},CQ.M.get=function(){return 3},Us.prototype.setOrdinate=function(V,q,te){},Us.prototype.size=function(){},Us.prototype.getOrdinate=function(V,q){},Us.prototype.getCoordinate=function(){},Us.prototype.getCoordinateCopy=function(V){},Us.prototype.getDimension=function(){},Us.prototype.getX=function(V){},Us.prototype.clone=function(){},Us.prototype.expandEnvelope=function(V){},Us.prototype.copy=function(){},Us.prototype.getY=function(V){},Us.prototype.toCoordinateArray=function(){},Us.prototype.interfaces_=function(){return[pQ]},Us.prototype.getClass=function(){return Us},Object.defineProperties(Us,CQ);var LM=function(){},cy=function(V){function q(){V.call(this,"Projective point not representable on the Cartesian plane.")}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q}(LM),Rh=function(){};Rh.arraycopy=function(V,q,te,ne,ue){for(var pe=0,Ee=q;EeV._minx?this._minx:V._minx,te=this._miny>V._miny?this._miny:V._miny,ne=this._maxx=this._minx&&q.getMaxX()<=this._maxx&&q.getMinY()>=this._miny&&q.getMaxY()<=this._maxy}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1];return!this.isNull()&&te>=this._minx&&te<=this._maxx&&ne>=this._miny&&ne<=this._maxy}},xo.prototype.intersects=function(){if(arguments.length===1){if(arguments[0]instanceof xo){var V=arguments[0];return!this.isNull()&&!V.isNull()&&!(V._minx>this._maxx||V._maxxthis._maxy||V._maxythis._maxx||tethis._maxy||nethis._maxx&&(this._maxx=q._maxx),q._minythis._maxy&&(this._maxy=q._maxy))}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1];this.isNull()?(this._minx=te,this._maxx=te,this._miny=ne,this._maxy=ne):(tethis._maxx&&(this._maxx=te),nethis._maxy&&(this._maxy=ne))}},xo.prototype.minExtent=function(){if(this.isNull())return 0;var V=this.getWidth(),q=this.getHeight();return Vq._minx?1:this._minyq._miny?1:this._maxxq._maxx?1:this._maxyq._maxy?1:0},xo.prototype.translate=function(V,q){if(this.isNull())return null;this.init(this.getMinX()+V,this.getMaxX()+V,this.getMinY()+q,this.getMaxY()+q)},xo.prototype.toString=function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"},xo.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},xo.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},xo.prototype.maxExtent=function(){if(this.isNull())return 0;var V=this.getWidth(),q=this.getHeight();return V>q?V:q},xo.prototype.expandBy=function(){if(arguments.length===1){var V=arguments[0];this.expandBy(V,V)}else if(arguments.length===2){var q=arguments[0],te=arguments[1];if(this.isNull())return null;this._minx-=q,this._maxx+=q,this._miny-=te,this._maxy+=te,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}},xo.prototype.contains=function(){if(arguments.length===1){if(arguments[0]instanceof xo){var V=arguments[0];return this.covers(V)}if(arguments[0]instanceof Wi){var q=arguments[0];return this.covers(q)}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1];return this.covers(te,ne)}},xo.prototype.centre=function(){return this.isNull()?null:new Wi((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},xo.prototype.init=function(){if(arguments.length===0)this.setToNull();else if(arguments.length===1){if(arguments[0]instanceof Wi){var V=arguments[0];this.init(V.x,V.x,V.y,V.y)}else if(arguments[0]instanceof xo){var q=arguments[0];this._minx=q._minx,this._maxx=q._maxx,this._miny=q._miny,this._maxy=q._maxy}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1];this.init(te.x,ne.x,te.y,ne.y)}else if(arguments.length===4){var ue=arguments[0],pe=arguments[1],Ee=arguments[2],ve=arguments[3];ueV._maxx&&(q=this._minx-V._maxx);var te=0;return this._maxyV._maxy&&(te=this._miny-V._maxy),q===0?te:te===0?q:Math.sqrt(q*q+te*te)},xo.prototype.hashCode=function(){var V=17;return V=37*(V=37*(V=37*(V=37*V+Wi.hashCode(this._minx))+Wi.hashCode(this._maxx))+Wi.hashCode(this._miny))+Wi.hashCode(this._maxy)},xo.prototype.interfaces_=function(){return[sf,Vf]},xo.prototype.getClass=function(){return xo},xo.intersects=function(){if(arguments.length===3){var V=arguments[0],q=arguments[1],te=arguments[2];return te.x>=(V.xq.x?V.x:q.x)&&te.y>=(V.yq.y?V.y:q.y)}if(arguments.length===4){var ne=arguments[0],ue=arguments[1],pe=arguments[2],Ee=arguments[3],ve=Math.min(pe.x,Ee.x),be=Math.max(pe.x,Ee.x),Te=Math.min(ne.x,ue.x),Ye=Math.max(ne.x,ue.x);return!(Te>be)&&!(Yebe)&&!(Yete?(this._intLineIndex[V][0]=0,this._intLineIndex[V][1]=1):(this._intLineIndex[V][0]=1,this._intLineIndex[V][1]=0)}},Au.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},Au.prototype.setPrecisionModel=function(V){this._precisionModel=V},Au.prototype.isInteriorIntersection=function(){var V=this;if(arguments.length===0)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(arguments.length===1){for(var q=arguments[0],te=0;teue?ne:ue;else{var Ee=Math.abs(V.x-q.x),ve=Math.abs(V.y-q.y);(pe=ne>ue?Ee:ve)!==0||V.equals(q)||(pe=Math.max(Ee,ve))}return wa.isTrue(!(pe===0&&!V.equals(q)),"Bad distance calculation"),pe},Au.nonRobustComputeEdgeDistance=function(V,q,te){var ne=V.x-q.x,ue=V.y-q.y,pe=Math.sqrt(ne*ne+ue*ue);return wa.isTrue(!(pe===0&&!V.equals(q)),"Invalid distance calculation"),pe},p_.DONT_INTERSECT.get=function(){return 0},p_.DO_INTERSECT.get=function(){return 1},p_.COLLINEAR.get=function(){return 2},p_.NO_INTERSECTION.get=function(){return 0},p_.POINT_INTERSECTION.get=function(){return 1},p_.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(Au,p_);var hy=function(V){function q(){V.apply(this,arguments)}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.isInSegmentEnvelopes=function(te){var ne=new xo(this._inputLines[0][0],this._inputLines[0][1]),ue=new xo(this._inputLines[1][0],this._inputLines[1][1]);return ne.contains(te)&&ue.contains(te)},q.prototype.computeIntersection=function(){if(arguments.length!==3)return V.prototype.computeIntersection.apply(this,arguments);var te=arguments[0],ne=arguments[1],ue=arguments[2];if(this._isProper=!1,xo.intersects(ne,ue,te)&&Fn.orientationIndex(ne,ue,te)===0&&Fn.orientationIndex(ue,ne,te)===0)return this._isProper=!0,(te.equals(ne)||te.equals(ue))&&(this._isProper=!1),this._result=V.POINT_INTERSECTION,null;this._result=V.NO_INTERSECTION},q.prototype.normalizeToMinimum=function(te,ne,ue,pe,Ee){Ee.x=this.smallestInAbsValue(te.x,ne.x,ue.x,pe.x),Ee.y=this.smallestInAbsValue(te.y,ne.y,ue.y,pe.y),te.x-=Ee.x,te.y-=Ee.y,ne.x-=Ee.x,ne.y-=Ee.y,ue.x-=Ee.x,ue.y-=Ee.y,pe.x-=Ee.x,pe.y-=Ee.y},q.prototype.safeHCoordinateIntersection=function(te,ne,ue,pe){var Ee=null;try{Ee=Af.intersection(te,ne,ue,pe)}catch(ve){if(!(ve instanceof cy))throw ve;Ee=q.nearestEndpoint(te,ne,ue,pe)}return Ee},q.prototype.intersection=function(te,ne,ue,pe){var Ee=this.intersectionWithNormalization(te,ne,ue,pe);return this.isInSegmentEnvelopes(Ee)||(Ee=new Wi(q.nearestEndpoint(te,ne,ue,pe))),this._precisionModel!==null&&this._precisionModel.makePrecise(Ee),Ee},q.prototype.smallestInAbsValue=function(te,ne,ue,pe){var Ee=te,ve=Math.abs(Ee);return Math.abs(ne)1e-4&&Rh.out.println("Distance = "+Ee.distance(ve))},q.prototype.intersectionWithNormalization=function(te,ne,ue,pe){var Ee=new Wi(te),ve=new Wi(ne),be=new Wi(ue),Te=new Wi(pe),Ye=new Wi;this.normalizeToEnvCentre(Ee,ve,be,Te,Ye);var Ge=this.safeHCoordinateIntersection(Ee,ve,be,Te);return Ge.x+=Ye.x,Ge.y+=Ye.y,Ge},q.prototype.computeCollinearIntersection=function(te,ne,ue,pe){var Ee=xo.intersects(te,ne,ue),ve=xo.intersects(te,ne,pe),be=xo.intersects(ue,pe,te),Te=xo.intersects(ue,pe,ne);return Ee&&ve?(this._intPt[0]=ue,this._intPt[1]=pe,V.COLLINEAR_INTERSECTION):be&&Te?(this._intPt[0]=te,this._intPt[1]=ne,V.COLLINEAR_INTERSECTION):Ee&&be?(this._intPt[0]=ue,this._intPt[1]=te,!ue.equals(te)||ve||Te?V.COLLINEAR_INTERSECTION:V.POINT_INTERSECTION):Ee&&Te?(this._intPt[0]=ue,this._intPt[1]=ne,!ue.equals(ne)||ve||be?V.COLLINEAR_INTERSECTION:V.POINT_INTERSECTION):ve&&be?(this._intPt[0]=pe,this._intPt[1]=te,!pe.equals(te)||Ee||Te?V.COLLINEAR_INTERSECTION:V.POINT_INTERSECTION):ve&&Te?(this._intPt[0]=pe,this._intPt[1]=ne,!pe.equals(ne)||Ee||be?V.COLLINEAR_INTERSECTION:V.POINT_INTERSECTION):V.NO_INTERSECTION},q.prototype.normalizeToEnvCentre=function(te,ne,ue,pe,Ee){var ve=te.xne.x?te.x:ne.x,Ye=te.y>ne.y?te.y:ne.y,Ge=ue.xpe.x?ue.x:pe.x,nt=ue.y>pe.y?ue.y:pe.y,lt=((ve>Ge?ve:Ge)+(Te$e?be:$e)+(Ye0&&ve>0||Ee<0&&ve<0)return V.NO_INTERSECTION;var be=Fn.orientationIndex(ue,pe,te),Te=Fn.orientationIndex(ue,pe,ne);return be>0&&Te>0||be<0&&Te<0?V.NO_INTERSECTION:Ee===0&&ve===0&&be===0&&Te===0?this.computeCollinearIntersection(te,ne,ue,pe):(Ee===0||ve===0||be===0||Te===0?(this._isProper=!1,te.equals2D(ue)||te.equals2D(pe)?this._intPt[0]=te:ne.equals2D(ue)||ne.equals2D(pe)?this._intPt[0]=ne:Ee===0?this._intPt[0]=new Wi(ue):ve===0?this._intPt[0]=new Wi(pe):be===0?this._intPt[0]=new Wi(te):Te===0&&(this._intPt[0]=new Wi(ne))):(this._isProper=!0,this._intPt[0]=this.intersection(te,ne,ue,pe)),V.POINT_INTERSECTION)},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q.nearestEndpoint=function(te,ne,ue,pe){var Ee=te,ve=Fn.distancePointLine(te,ue,pe),be=Fn.distancePointLine(ne,ue,pe);return be0?te>0?-ue:ue:te>0?ue:-ue;if(q===0||te===0)return ne>0?V>0?ue:-ue:V>0?-ue:ue;if(q>0?ne>0?q<=ne||(ue=-ue,pe=V,V=te,te=pe,pe=q,q=ne,ne=pe):q<=-ne?(ue=-ue,te=-te,ne=-ne):(pe=V,V=-te,te=pe,pe=q,q=-ne,ne=pe):ne>0?-q<=ne?(ue=-ue,V=-V,q=-q):(pe=-V,V=te,te=pe,pe=-q,q=ne,ne=pe):q>=ne?(V=-V,q=-q,te=-te,ne=-ne):(ue=-ue,pe=-V,V=-te,te=pe,pe=-q,q=-ne,ne=pe),V>0){if(!(te>0)||!(V<=te))return ue}else{if(te>0||!(V>=te))return-ue;ue=-ue,V=-V,te=-te}for(;;){if((ne-=(Ee=Math.floor(te/V))*q)<0)return-ue;if(ne>q)return ue;if(V>(te-=Ee*V)+te){if(qne+ne)return-ue;te=V-te,ne=q-ne,ue=-ue}if(ne===0)return te===0?0:-ue;if(te===0||(q-=(Ee=Math.floor(V/te))*ne)<0)return ue;if(q>ne)return-ue;if(te>(V-=Ee*te)+V){if(neq+q)return ue;V=te-V,q=ne-q,ue=-ue}if(q===0)return V===0?0:ue;if(V===0)return-ue}};var zp=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var V=arguments[0];this._p=V};zp.prototype.countSegment=function(V,q){if(V.xne&&(te=q.x,ne=V.x),this._p.x>=te&&this._p.x<=ne&&(this._isPointOnSegment=!0),null}if(V.y>this._p.y&&q.y<=this._p.y||q.y>this._p.y&&V.y<=this._p.y){var ue=V.x-this._p.x,pe=V.y-this._p.y,Ee=q.x-this._p.x,ve=q.y-this._p.y,be=m_.signOfDet2x2(ue,pe,Ee,ve);if(be===0)return this._isPointOnSegment=!0,null;ve0&&this._crossingCount++}},zp.prototype.isPointInPolygon=function(){return this.getLocation()!==or.EXTERIOR},zp.prototype.getLocation=function(){return this._isPointOnSegment?or.BOUNDARY:this._crossingCount%2==1?or.INTERIOR:or.EXTERIOR},zp.prototype.isOnSegment=function(){return this._isPointOnSegment},zp.prototype.interfaces_=function(){return[]},zp.prototype.getClass=function(){return zp},zp.locatePointInRing=function(){if(arguments[0]instanceof Wi&&Zo(arguments[1],Us)){for(var V=arguments[0],q=arguments[1],te=new zp(V),ne=new Wi,ue=new Wi,pe=1;pe1||ve<0||ve>1)&&(ue=!0)}}else ue=!0;return ue?lf.min(Fn.distancePointLine(V,te,ne),Fn.distancePointLine(q,te,ne),Fn.distancePointLine(te,V,q),Fn.distancePointLine(ne,V,q)):0},Fn.isPointInRing=function(V,q){return Fn.locatePointInRing(V,q)!==or.EXTERIOR},Fn.computeLength=function(V){var q=V.size();if(q<=1)return 0;var te=0,ne=new Wi;V.getCoordinate(0,ne);for(var ue=ne.x,pe=ne.y,Ee=1;Eete.y&&(te=pe,ne=ue)}var Ee=ne;do(Ee-=1)<0&&(Ee=q);while(V[Ee].equals2D(te)&&Ee!==ne);var ve=ne;do ve=(ve+1)%q;while(V[ve].equals2D(te)&&ve!==ne);var be=V[Ee],Te=V[ve];if(be.equals2D(te)||Te.equals2D(te)||be.equals2D(Te))return!1;var Ye=Fn.computeOrientation(be,te,Te),Ge=!1;return Ge=Ye===0?be.x>Te.x:Ye>0,Ge},Fn.locatePointInRing=function(V,q){return zp.locatePointInRing(V,q)},Fn.distancePointLinePerpendicular=function(V,q,te){var ne=(te.x-q.x)*(te.x-q.x)+(te.y-q.y)*(te.y-q.y),ue=((q.y-V.y)*(te.x-q.x)-(q.x-V.x)*(te.y-q.y))/ne;return Math.abs(ue)*Math.sqrt(ne)},Fn.computeOrientation=function(V,q,te){return Fn.orientationIndex(V,q,te)},Fn.distancePointLine=function(){if(arguments.length===2){var V=arguments[0],q=arguments[1];if(q.length===0)throw new XA("Line array must contain at least one vertex");for(var te=V.distance(q[0]),ne=0;ne=1)return pe.distance(ve);var Ye=((Ee.y-pe.y)*(ve.x-Ee.x)-(Ee.x-pe.x)*(ve.y-Ee.y))/be;return Math.abs(Ye)*Math.sqrt(be)}},Fn.isOnLine=function(V,q){for(var te=new hy,ne=1;ne0},bw.prototype.interfaces_=function(){return[zf]},bw.prototype.getClass=function(){return bw};var Qw=function(){};Qw.prototype.isInBoundary=function(V){return V>1},Qw.prototype.interfaces_=function(){return[zf]},Qw.prototype.getClass=function(){return Qw};var E_=function(){};E_.prototype.isInBoundary=function(V){return V===1},E_.prototype.interfaces_=function(){return[zf]},E_.prototype.getClass=function(){return E_};var fc=function(){};function Sw(V){this.message=V||""}fc.prototype.add=function(){},fc.prototype.addAll=function(){},fc.prototype.isEmpty=function(){},fc.prototype.iterator=function(){},fc.prototype.size=function(){},fc.prototype.toArray=function(){},fc.prototype.remove=function(){},Sw.prototype=new Error,Sw.prototype.name="IndexOutOfBoundsException";var Dw=function(){};Dw.prototype.hasNext=function(){},Dw.prototype.next=function(){},Dw.prototype.remove=function(){};var xe=function(V){function q(){V.apply(this,arguments)}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.get=function(){},q.prototype.set=function(){},q.prototype.isEmpty=function(){},q}(fc);function Qe(V){this.message=V||""}Qe.prototype=new Error,Qe.prototype.name="NoSuchElementException";var We=function(V){function q(){V.call(this),this.array_=[],arguments[0]instanceof fc&&this.addAll(arguments[0])}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.ensureCapacity=function(){},q.prototype.interfaces_=function(){return[V,fc]},q.prototype.add=function(te){return arguments.length===1?this.array_.push(te):this.array_.splice(arguments[0],arguments[1]),!0},q.prototype.clear=function(){this.array_=[]},q.prototype.addAll=function(te){for(var ne=te.iterator();ne.hasNext();)this.add(ne.next());return!0},q.prototype.set=function(te,ne){var ue=this.array_[te];return this.array_[te]=ne,ue},q.prototype.iterator=function(){return new ct(this)},q.prototype.get=function(te){if(te<0||te>=this.size())throw new Sw;return this.array_[te]},q.prototype.isEmpty=function(){return this.array_.length===0},q.prototype.size=function(){return this.array_.length},q.prototype.toArray=function(){for(var te=[],ne=0,ue=this.array_.length;ne=1){var Te=this.get(this.size()-1);if(Te.equals2D(ve))return null}V.prototype.add.call(this,ve)}else if(arguments[0]instanceof Object&&typeof arguments[1]=="boolean"){var Ye=arguments[0],Ge=arguments[1];return this.add(Ye,Ge),!0}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var $e=arguments[0],ot=arguments[1],nt=arguments[2];if(nt)for(var lt=0;lt<$e.length;lt++)ne.add($e[lt],ot);else for(var it=$e.length-1;it>=0;it--)ne.add($e[it],ot);return!0}if(typeof arguments[2]=="boolean"&&Number.isInteger(arguments[0])&&arguments[1]instanceof Wi){var Dt=arguments[0],ei=arguments[1],st=arguments[2];if(!st){var Qt=this.size();if(Qt>0){if(Dt>0){var Rt=this.get(Dt-1);if(Rt.equals2D(ei))return null}if(DtCr&&(ji=-1);for(var Sr=Hi;Sr!==Cr;Sr+=ji)ne.add(Ft[Sr],tr);return!0}},q.prototype.closeRing=function(){this.size()>0&&this.add(new Wi(this.get(0)),!1)},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},Object.defineProperties(q,te),q}(We),Xt=function(){},wi={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};wi.ForwardComparator.get=function(){return Ui},wi.BidirectionalComparator.get=function(){return qi},wi.coordArrayType.get=function(){return new Array(0).fill(null)},Xt.prototype.interfaces_=function(){return[]},Xt.prototype.getClass=function(){return Xt},Xt.isRing=function(V){return!(V.length<4)&&!!V[0].equals2D(V[V.length-1])},Xt.ptNotInList=function(V,q){for(var te=0;te=V?q:[]},Xt.indexOf=function(V,q){for(var te=0;te0)&&(q=V[te]);return q},Xt.extract=function(V,q,te){q=lf.clamp(q,0,V.length);var ne=(te=lf.clamp(te,-1,V.length))-q+1;te<0&&(ne=0),q>=V.length&&(ne=0),tene.length)return 1;if(te.length===0)return 0;var ue=Xt.compare(te,ne);return Xt.isEqualReversed(te,ne)?0:ue},qi.prototype.OLDcompare=function(V,q){var te=V,ne=q;if(te.lengthne.length)return 1;if(te.length===0)return 0;for(var ue=Xt.increasingDirection(te),pe=Xt.increasingDirection(ne),Ee=ue>0?0:te.length-1,ve=pe>0?0:te.length-1,be=0;be0))return q.value;q=q.right}}return null},eA.prototype.put=function(V,q){if(this.root_===null)return this.root_={key:V,value:q,left:null,right:null,parent:null,color:0,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var te,ne,ue=this.root_;do if(te=ue,(ne=V.compareTo(ue.key))<0)ue=ue.left;else{if(!(ne>0)){var pe=ue.value;return ue.value=q,pe}ue=ue.right}while(ue!==null);var Ee={key:V,left:null,right:null,value:q,parent:te,color:0,getValue:function(){return this.value},getKey:function(){return this.key}};return ne<0?te.left=Ee:te.right=Ee,this.fixAfterInsertion(Ee),this.size_++,null},eA.prototype.fixAfterInsertion=function(V){var q=this;for(V.color=1;V!=null&&V!==this.root_&&V.parent.color===1;)if(Hn(V)===El(Hn(Hn(V)))){var te=Yf(Hn(Hn(V)));Is(te)===1?(Za(Hn(V),0),Za(te,0),Za(Hn(Hn(V)),1),V=Hn(Hn(V))):(V===Yf(Hn(V))&&(V=Hn(V),q.rotateLeft(V)),Za(Hn(V),0),Za(Hn(Hn(V)),1),q.rotateRight(Hn(Hn(V))))}else{var ne=El(Hn(Hn(V)));Is(ne)===1?(Za(Hn(V),0),Za(ne,0),Za(Hn(Hn(V)),1),V=Hn(Hn(V))):(V===El(Hn(V))&&(V=Hn(V),q.rotateRight(V)),Za(Hn(V),0),Za(Hn(Hn(V)),1),q.rotateLeft(Hn(Hn(V))))}this.root_.color=0},eA.prototype.values=function(){var V=new We,q=this.getFirstEntry();if(q!==null)for(V.add(q.value);(q=eA.successor(q))!==null;)V.add(q.value);return V},eA.prototype.entrySet=function(){var V=new Mo,q=this.getFirstEntry();if(q!==null)for(V.add(q);(q=eA.successor(q))!==null;)V.add(q);return V},eA.prototype.rotateLeft=function(V){if(V!=null){var q=V.right;V.right=q.left,q.left!=null&&(q.left.parent=V),q.parent=V.parent,V.parent===null?this.root_=q:V.parent.left===V?V.parent.left=q:V.parent.right=q,q.left=V,V.parent=q}},eA.prototype.rotateRight=function(V){if(V!=null){var q=V.left;V.left=q.right,q.right!=null&&(q.right.parent=V),q.parent=V.parent,V.parent===null?this.root_=q:V.parent.right===V?V.parent.right=q:V.parent.left=q,q.right=V,V.parent=q}},eA.prototype.getFirstEntry=function(){var V=this.root_;if(V!=null)for(;V.left!=null;)V=V.left;return V},eA.successor=function(V){if(V===null)return null;if(V.right!==null){for(var q=V.right;q.left!==null;)q=q.left;return q}for(var te=V.parent,ne=V;te!==null&&ne===te.right;)ne=te,te=te.parent;return te},eA.prototype.size=function(){return this.size_};var Lh=function(){};function kc(){}function Uc(){this.array_=[],arguments[0]instanceof fc&&this.addAll(arguments[0])}Lh.prototype.interfaces_=function(){return[]},Lh.prototype.getClass=function(){return Lh},kc.prototype=new Wn,Uc.prototype=new kc,Uc.prototype.contains=function(V){for(var q=0,te=this.array_.length;q=0;){var Ee=ue.substring(0,pe);ne.add(Ee),pe=(ue=ue.substring(pe+te)).indexOf(q)}ue.length>0&&ne.add(ue);for(var ve=new Array(ne.size()).fill(null),be=0;be0)for(var pe=ue;pe0&&ne.append(" ");for(var pe=0;pe0&&ne.append(","),ne.append(z0.toString(V.getOrdinate(ue,pe)))}return ne.append(")"),ne.toString()}},pc.ensureValidRing=function(V,q){var te=q.size();return te===0?q:te<=3?pc.createClosedRing(V,q,4):q.getOrdinate(0,Us.X)===q.getOrdinate(te-1,Us.X)&&q.getOrdinate(0,Us.Y)===q.getOrdinate(te-1,Us.Y)?q:pc.createClosedRing(V,q,te+1)},pc.createClosedRing=function(V,q,te){var ne=V.create(te,q.getDimension()),ue=q.size();pc.copy(q,0,ne,0,ue);for(var pe=ue;pe0&&pc.reverse(ne._points),null}},q.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},q.prototype.getBoundaryDimension=function(){return this.isClosed()?Rl.FALSE:0},q.prototype.isClosed=function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},q.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},q.prototype.getDimension=function(){return 1},q.prototype.getLength=function(){return Fn.computeLength(this._points)},q.prototype.getNumPoints=function(){return this._points.size()},q.prototype.reverse=function(){var ne=this._points.copy();return pc.reverse(ne),this.getFactory().createLineString(ne)},q.prototype.compareToSameClass=function(){var ne=this;if(arguments.length===1){for(var ue=arguments[0],pe=ue,Ee=0,ve=0;Ee= 2)");this._points=ne},q.prototype.isCoordinate=function(ne){for(var ue=0;ue=1&&this.getCoordinateSequence().size()= 4)")},q.prototype.getGeometryType=function(){return"LinearRing"},q.prototype.copy=function(){return new q(this._points.copy(),this._factory)},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},te.MINIMUM_VALID_SIZE.get=function(){return 4},te.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(q,te),q}(ec),IE=function(V){function q(){V.apply(this,arguments)}V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q;var te={serialVersionUID:{configurable:!0}};return q.prototype.getSortIndex=function(){return Vo.SORTINDEX_MULTIPOLYGON},q.prototype.equalsExact=function(){if(arguments.length===2){var ne=arguments[0],ue=arguments[1];return!!this.isEquivalentClass(ne)&&V.prototype.equalsExact.call(this,ne,ue)}return V.prototype.equalsExact.apply(this,arguments)},q.prototype.getBoundaryDimension=function(){return 1},q.prototype.getDimension=function(){return 2},q.prototype.reverse=function(){for(var ne=this._geometries.length,ue=new Array(ne).fill(null),pe=0;pe0?q.createPoint(te[0]):q.createPoint():V},YR.prototype.interfaces_=function(){return[Wp.GeometryEditorOperation]},YR.prototype.getClass=function(){return YR};var JR=function(){};JR.prototype.edit=function(V,q){return V instanceof uC?q.createLinearRing(this.edit(V.getCoordinateSequence(),V)):V instanceof ec?q.createLineString(this.edit(V.getCoordinateSequence(),V)):V instanceof ag?q.createPoint(this.edit(V.getCoordinateSequence(),V)):V},JR.prototype.interfaces_=function(){return[Wp.GeometryEditorOperation]},JR.prototype.getClass=function(){return JR};var mc=function(){var V=this;if(this._dimension=3,this._coordinates=null,arguments.length===1){if(arguments[0]instanceof Array)this._coordinates=arguments[0],this._dimension=3;else if(Number.isInteger(arguments[0])){var q=arguments[0];this._coordinates=new Array(q).fill(null);for(var te=0;te0){var V=new Hu(17*this._coordinates.length);V.append("("),V.append(this._coordinates[0]);for(var q=1;q3&&(ne=3),ne<2?new mc(te):new mc(te,ne)}},OI.prototype.interfaces_=function(){return[uy,Vf]},OI.prototype.getClass=function(){return OI},OI.instance=function(){return OI.instanceObject},BG.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},BG.instanceObject.get=function(){return new OI},Object.defineProperties(OI,BG);var IK=function(V){function q(){V.call(this),this.map_=new Map}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.get=function(te){return this.map_.get(te)||null},q.prototype.put=function(te,ne){return this.map_.set(te,ne),ne},q.prototype.values=function(){for(var te=new We,ne=this.map_.values(),ue=ne.next();!ue.done;)te.add(ue.value),ue=ne.next();return te},q.prototype.entrySet=function(){var te=new Mo;return this.map_.entries().forEach(function(ne){return te.add(ne)}),te},q.prototype.size=function(){return this.map_.size()},q}(Ur),Ll=function V(){if(this._modelType=null,this._scale=null,arguments.length===0)this._modelType=V.FLOATING;else if(arguments.length===1){if(arguments[0]instanceof Fh){var q=arguments[0];this._modelType=q,q===V.FIXED&&this.setScale(1)}else if(typeof arguments[0]=="number"){var te=arguments[0];this._modelType=V.FIXED,this.setScale(te)}else if(arguments[0]instanceof V){var ne=arguments[0];this._modelType=ne._modelType,this._scale=ne._scale}}},wG={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};Ll.prototype.equals=function(V){if(!(V instanceof Ll))return!1;var q=V;return this._modelType===q._modelType&&this._scale===q._scale},Ll.prototype.compareTo=function(V){var q=V,te=this.getMaximumSignificantDigits(),ne=q.getMaximumSignificantDigits();return new Hp(te).compareTo(new Hp(ne))},Ll.prototype.getScale=function(){return this._scale},Ll.prototype.isFloating=function(){return this._modelType===Ll.FLOATING||this._modelType===Ll.FLOATING_SINGLE},Ll.prototype.getType=function(){return this._modelType},Ll.prototype.toString=function(){var V="UNKNOWN";return this._modelType===Ll.FLOATING?V="Floating":this._modelType===Ll.FLOATING_SINGLE?V="Floating-Single":this._modelType===Ll.FIXED&&(V="Fixed (Scale="+this.getScale()+")"),V},Ll.prototype.makePrecise=function(){if(typeof arguments[0]=="number"){var V=arguments[0];return Ia.isNaN(V)||this._modelType===Ll.FLOATING_SINGLE?V:this._modelType===Ll.FIXED?Math.round(V*this._scale)/this._scale:V}if(arguments[0]instanceof Wi){var q=arguments[0];if(this._modelType===Ll.FLOATING)return null;q.x=this.makePrecise(q.x),q.y=this.makePrecise(q.y)}},Ll.prototype.getMaximumSignificantDigits=function(){var V=16;return this._modelType===Ll.FLOATING?V=16:this._modelType===Ll.FLOATING_SINGLE?V=6:this._modelType===Ll.FIXED&&(V=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),V},Ll.prototype.setScale=function(V){this._scale=Math.abs(V)},Ll.prototype.interfaces_=function(){return[Vf,sf]},Ll.prototype.getClass=function(){return Ll},Ll.mostPrecise=function(V,q){return V.compareTo(q)>=0?V:q},wG.serialVersionUID.get=function(){return 7777263578777804e3},wG.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(Ll,wG);var Fh=function V(q){this._name=q||null,V.nameToTypeMap.put(q,this)},bG={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};Fh.prototype.readResolve=function(){return Fh.nameToTypeMap.get(this._name)},Fh.prototype.toString=function(){return this._name},Fh.prototype.interfaces_=function(){return[Vf]},Fh.prototype.getClass=function(){return Fh},bG.serialVersionUID.get=function(){return-552860263173159e4},bG.nameToTypeMap.get=function(){return new IK},Object.defineProperties(Fh,bG),Ll.Type=Fh,Ll.FIXED=new Fh("FIXED"),Ll.FLOATING=new Fh("FLOATING"),Ll.FLOATING_SINGLE=new Fh("FLOATING SINGLE");var xs=function V(){this._precisionModel=new Ll,this._SRID=0,this._coordinateSequenceFactory=V.getDefaultCoordinateSequenceFactory(),arguments.length===0||(arguments.length===1?Zo(arguments[0],uy)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof Ll&&(this._precisionModel=arguments[0]):arguments.length===2?(this._precisionModel=arguments[0],this._SRID=arguments[1]):arguments.length===3&&(this._precisionModel=arguments[0],this._SRID=arguments[1],this._coordinateSequenceFactory=arguments[2]))},Tw={serialVersionUID:{configurable:!0}};xs.prototype.toGeometry=function(V){return V.isNull()?this.createPoint(null):V.getMinX()===V.getMaxX()&&V.getMinY()===V.getMaxY()?this.createPoint(new Wi(V.getMinX(),V.getMinY())):V.getMinX()===V.getMaxX()||V.getMinY()===V.getMaxY()?this.createLineString([new Wi(V.getMinX(),V.getMinY()),new Wi(V.getMaxX(),V.getMaxY())]):this.createPolygon(this.createLinearRing([new Wi(V.getMinX(),V.getMinY()),new Wi(V.getMinX(),V.getMaxY()),new Wi(V.getMaxX(),V.getMaxY()),new Wi(V.getMaxX(),V.getMinY()),new Wi(V.getMinX(),V.getMinY())]),null)},xs.prototype.createLineString=function(V){return V?V instanceof Array?new ec(this.getCoordinateSequenceFactory().create(V),this):Zo(V,Us)?new ec(V,this):void 0:new ec(this.getCoordinateSequenceFactory().create([]),this)},xs.prototype.createMultiLineString=function(){if(arguments.length===0)return new Mw(null,this);if(arguments.length===1){var V=arguments[0];return new Mw(V,this)}},xs.prototype.buildGeometry=function(V){for(var q=null,te=!1,ne=!1,ue=V.iterator();ue.hasNext();){var pe=ue.next(),Ee=pe.getClass();q===null&&(q=Ee),Ee!==q&&(te=!0),pe.isGeometryCollectionOrDerived()&&(ne=!0)}if(q===null)return this.createGeometryCollection();if(te||ne)return this.createGeometryCollection(xs.toGeometryArray(V));var ve=V.iterator().next();if(V.size()>1){if(ve instanceof sh)return this.createMultiPolygon(xs.toPolygonArray(V));if(ve instanceof ec)return this.createMultiLineString(xs.toLineStringArray(V));if(ve instanceof ag)return this.createMultiPoint(xs.toPointArray(V));wa.shouldNeverReachHere("Unhandled class: "+ve.getClass().getName())}return ve},xs.prototype.createMultiPointFromCoords=function(V){return this.createMultiPoint(V!==null?this.getCoordinateSequenceFactory().create(V):null)},xs.prototype.createPoint=function(){if(arguments.length===0)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof Wi){var V=arguments[0];return this.createPoint(V!==null?this.getCoordinateSequenceFactory().create([V]):null)}if(Zo(arguments[0],Us)){var q=arguments[0];return new ag(q,this)}}},xs.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},xs.prototype.createPolygon=function(){if(arguments.length===0)return new sh(null,null,this);if(arguments.length===1){if(Zo(arguments[0],Us)){var V=arguments[0];return this.createPolygon(this.createLinearRing(V))}if(arguments[0]instanceof Array){var q=arguments[0];return this.createPolygon(this.createLinearRing(q))}if(arguments[0]instanceof uC){var te=arguments[0];return this.createPolygon(te,null)}}else if(arguments.length===2){var ne=arguments[0],ue=arguments[1];return new sh(ne,ue,this)}},xs.prototype.getSRID=function(){return this._SRID},xs.prototype.createGeometryCollection=function(){if(arguments.length===0)return new Pg(null,this);if(arguments.length===1){var V=arguments[0];return new Pg(V,this)}},xs.prototype.createGeometry=function(V){return new Wp(this).edit(V,{edit:function(){if(arguments.length===2){var q=arguments[0];return this._coordinateSequenceFactory.create(q)}}})},xs.prototype.getPrecisionModel=function(){return this._precisionModel},xs.prototype.createLinearRing=function(){if(arguments.length===0)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof Array){var V=arguments[0];return this.createLinearRing(V!==null?this.getCoordinateSequenceFactory().create(V):null)}if(Zo(arguments[0],Us)){var q=arguments[0];return new uC(q,this)}}},xs.prototype.createMultiPolygon=function(){if(arguments.length===0)return new IE(null,this);if(arguments.length===1){var V=arguments[0];return new IE(V,this)}},xs.prototype.createMultiPoint=function(){var V=this;if(arguments.length===0)return new NM(null,this);if(arguments.length===1){if(arguments[0]instanceof Array){var q=arguments[0];return new NM(q,this)}if(arguments[0]instanceof Array){var te=arguments[0];return this.createMultiPoint(te!==null?this.getCoordinateSequenceFactory().create(te):null)}if(Zo(arguments[0],Us)){var ne=arguments[0];if(ne===null)return this.createMultiPoint(new Array(0).fill(null));for(var ue=new Array(ne.size()).fill(null),pe=0;pe=this.size())throw new Error;return this.array_[V]},xE.prototype.push=function(V){return this.array_.push(V),V},xE.prototype.pop=function(V){if(this.array_.length===0)throw new Bk;return this.array_.pop()},xE.prototype.peek=function(){if(this.array_.length===0)throw new Bk;return this.array_[this.array_.length-1]},xE.prototype.empty=function(){return this.array_.length===0},xE.prototype.isEmpty=function(){return this.empty()},xE.prototype.search=function(V){return this.array_.indexOf(V)},xE.prototype.size=function(){return this.array_.length},xE.prototype.toArray=function(){for(var V=[],q=0,te=this.array_.length;q0&&this._minIndexthis._minCoord.y&&te.y>this._minCoord.y&&ne===Fn.CLOCKWISE)&&(ue=!0),ue&&(this._minIndex=this._minIndex-1)},yE.prototype.getRightmostSideOfSegment=function(V,q){var te=V.getEdge().getCoordinates();if(q<0||q+1>=te.length||te[q].y===te[q+1].y)return-1;var ne=gn.LEFT;return te[q].yq._minCoord.x)&&(q._minDe=V,q._minIndex=ne,q._minCoord=te[ne])},yE.prototype.findRightmostEdgeAtNode=function(){var V=this._minDe.getNode().getEdges();this._minDe=V.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},yE.prototype.findEdge=function(V){for(var q=V.iterator();q.hasNext();){var te=q.next();te.isForward()&&this.checkForRightmostCoordinate(te)}wa.isTrue(this._minIndex!==0||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),this._minIndex===0?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe,this.getRightmostSide(this._minDe,this._minIndex)===gn.LEFT&&(this._orientedDe=this._minDe.getSym())},yE.prototype.interfaces_=function(){return[]},yE.prototype.getClass=function(){return yE};var vE=function(V){function q(te,ne){V.call(this,q.msgWithCoord(te,ne)),this.pt=ne?new Wi(ne):null,this.name="TopologyException"}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.getCoordinate=function(){return this.pt},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q.msgWithCoord=function(te,ne){return ne?te:te+" [ "+ne+" ]"},q}(pE),wk=function(){this.array_=[]};wk.prototype.addLast=function(V){this.array_.push(V)},wk.prototype.removeFirst=function(){return this.array_.shift()},wk.prototype.isEmpty=function(){return this.array_.length===0};var tc=function(){this._finder=null,this._dirEdgeList=new We,this._nodes=new We,this._rightMostCoord=null,this._env=null,this._finder=new yE};tc.prototype.clearVisitedEdges=function(){for(var V=this._dirEdgeList.iterator();V.hasNext();)V.next().setVisited(!1)},tc.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},tc.prototype.computeNodeDepth=function(V){for(var q=null,te=V.getEdges().iterator();te.hasNext();){var ne=te.next();if(ne.isVisited()||ne.getSym().isVisited()){q=ne;break}}if(q===null)throw new vE("unable to find edge to compute depths at "+V.getCoordinate());V.getEdges().computeDepths(q);for(var ue=V.getEdges().iterator();ue.hasNext();){var pe=ue.next();pe.setVisited(!0),this.copySymDepths(pe)}},tc.prototype.computeDepth=function(V){this.clearVisitedEdges();var q=this._finder.getEdge();q.setEdgeDepths(gn.RIGHT,V),this.copySymDepths(q),this.computeDepths(q)},tc.prototype.create=function(V){this.addReachable(V),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},tc.prototype.findResultEdges=function(){for(var V=this._dirEdgeList.iterator();V.hasNext();){var q=V.next();q.getDepth(gn.RIGHT)>=1&&q.getDepth(gn.LEFT)<=0&&!q.isInteriorAreaEdge()&&q.setInResult(!0)}},tc.prototype.computeDepths=function(V){var q=new Mo,te=new wk,ne=V.getNode();for(te.addLast(ne),q.add(ne),V.setVisited(!0);!te.isEmpty();){var ue=te.removeFirst();q.add(ue),this.computeNodeDepth(ue);for(var pe=ue.getEdges().iterator();pe.hasNext();){var Ee=pe.next().getSym();if(!Ee.isVisited()){var ve=Ee.getNode();q.contains(ve)||(te.addLast(ve),q.add(ve))}}}},tc.prototype.compareTo=function(V){var q=V;return this._rightMostCoord.xq._rightMostCoord.x?1:0},tc.prototype.getEnvelope=function(){if(this._env===null){for(var V=new xo,q=this._dirEdgeList.iterator();q.hasNext();)for(var te=q.next().getEdge().getCoordinates(),ne=0;nethis.location.length){var q=new Array(3).fill(null);q[gn.ON]=this.location[gn.ON],q[gn.LEFT]=or.NONE,q[gn.RIGHT]=or.NONE,this.location=q}for(var te=0;te1&&V.append(or.toLocationSymbol(this.location[gn.LEFT])),V.append(or.toLocationSymbol(this.location[gn.ON])),this.location.length>1&&V.append(or.toLocationSymbol(this.location[gn.RIGHT])),V.toString()},BA.prototype.setLocations=function(V,q,te){this.location[gn.ON]=V,this.location[gn.LEFT]=q,this.location[gn.RIGHT]=te},BA.prototype.get=function(V){return V1},BA.prototype.isAnyNull=function(){for(var V=0;VV._maxNodeDegree&&(V._maxNodeDegree=te),q=V.getNext(q)}while(q!==this._startDe);this._maxNodeDegree*=2},As.prototype.addPoints=function(V,q,te){var ne=V.getCoordinates();if(q){var ue=1;te&&(ue=0);for(var pe=ue;pe=0;ve--)this._pts.add(ne[ve])}},As.prototype.isHole=function(){return this._isHole},As.prototype.setInResult=function(){var V=this._startDe;do V.getEdge().setInResult(!0),V=V.getNext();while(V!==this._startDe)},As.prototype.containsPoint=function(V){var q=this.getLinearRing();if(!q.getEnvelopeInternal().contains(V)||!Fn.isPointInRing(V,q.getCoordinates()))return!1;for(var te=this._holes.iterator();te.hasNext();)if(te.next().containsPoint(V))return!1;return!0},As.prototype.addHole=function(V){this._holes.add(V)},As.prototype.isShell=function(){return this._shell===null},As.prototype.getLabel=function(){return this._label},As.prototype.getEdges=function(){return this._edges},As.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},As.prototype.getShell=function(){return this._shell},As.prototype.mergeLabel=function(){if(arguments.length===1){var V=arguments[0];this.mergeLabel(V,0),this.mergeLabel(V,1)}else if(arguments.length===2){var q=arguments[0],te=arguments[1],ne=q.getLocation(te,gn.RIGHT);if(ne===or.NONE)return null;if(this._label.getLocation(te)===or.NONE)return this._label.setLocation(te,ne),null}},As.prototype.setShell=function(V){this._shell=V,V!==null&&V.addHole(this)},As.prototype.toPolygon=function(V){for(var q=new Array(this._holes.size()).fill(null),te=0;te=2,"found partial label"),this.computeIM(V)},Y0.prototype.isInResult=function(){return this._isInResult},Y0.prototype.isVisited=function(){return this._isVisited},Y0.prototype.interfaces_=function(){return[]},Y0.prototype.getClass=function(){return Y0};var bk=function(V){function q(){V.call(this),this._coord=null,this._edges=null;var te=arguments[0],ne=arguments[1];this._coord=te,this._edges=ne,this._label=new wl(0,or.NONE)}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.isIncidentEdgeInResult=function(){for(var te=this.getEdges().getEdges().iterator();te.hasNext();)if(te.next().getEdge().isInResult())return!0;return!1},q.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},q.prototype.getCoordinate=function(){return this._coord},q.prototype.print=function(te){te.println("node "+this._coord+" lbl: "+this._label)},q.prototype.computeIM=function(te){},q.prototype.computeMergedLocation=function(te,ne){var ue=or.NONE;if(ue=this._label.getLocation(ne),!te.isNull(ne)){var pe=te.getLocation(ne);ue!==or.BOUNDARY&&(ue=pe)}return ue},q.prototype.setLabel=function(){if(arguments.length!==2)return V.prototype.setLabel.apply(this,arguments);var te=arguments[0],ne=arguments[1];this._label===null?this._label=new wl(te,ne):this._label.setLocation(te,ne)},q.prototype.getEdges=function(){return this._edges},q.prototype.mergeLabel=function(){var te=this;if(arguments[0]instanceof q){var ne=arguments[0];this.mergeLabel(ne._label)}else if(arguments[0]instanceof wl)for(var ue=arguments[0],pe=0;pe<2;pe++){var Ee=te.computeMergedLocation(ue,pe),ve=te._label.getLocation(pe);ve===or.NONE&&te._label.setLocation(pe,Ee)}},q.prototype.add=function(te){this._edges.insert(te),te.setNode(this)},q.prototype.setLabelBoundary=function(te){if(this._label===null)return null;var ne=or.NONE;this._label!==null&&(ne=this._label.getLocation(te));var ue=null;switch(ne){case or.BOUNDARY:ue=or.INTERIOR;break;case or.INTERIOR:default:ue=or.BOUNDARY}this._label.setLocation(te,ue)},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q}(Y0),_E=function(){this.nodeMap=new eA,this.nodeFact=null;var V=arguments[0];this.nodeFact=V};_E.prototype.find=function(V){return this.nodeMap.get(V)},_E.prototype.addNode=function(){if(arguments[0]instanceof Wi){var V=arguments[0],q=this.nodeMap.get(V);return q===null&&(q=this.nodeFact.createNode(V),this.nodeMap.put(V,q)),q}if(arguments[0]instanceof bk){var te=arguments[0],ne=this.nodeMap.get(te.getCoordinate());return ne===null?(this.nodeMap.put(te.getCoordinate(),te),te):(ne.mergeLabel(te),ne)}},_E.prototype.print=function(V){for(var q=this.iterator();q.hasNext();)q.next().print(V)},_E.prototype.iterator=function(){return this.nodeMap.values().iterator()},_E.prototype.values=function(){return this.nodeMap.values()},_E.prototype.getBoundaryNodes=function(V){for(var q=new We,te=this.iterator();te.hasNext();){var ne=te.next();ne.getLabel().getLocation(V)===or.BOUNDARY&&q.add(ne)}return q},_E.prototype.add=function(V){var q=V.getCoordinate();this.addNode(q).add(V)},_E.prototype.interfaces_=function(){return[]},_E.prototype.getClass=function(){return _E};var xA=function(){},KR={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};xA.prototype.interfaces_=function(){return[]},xA.prototype.getClass=function(){return xA},xA.isNorthern=function(V){return V===xA.NE||V===xA.NW},xA.isOpposite=function(V,q){return V!==q&&(V-q+4)%4===2},xA.commonHalfPlane=function(V,q){if(V===q)return V;if((V-q+4)%4===2)return-1;var te=Vq?V:q)===3?3:te},xA.isInHalfPlane=function(V,q){return q===xA.SE?V===xA.SE||V===xA.SW:V===q||V===q+1},xA.quadrant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var V=arguments[0],q=arguments[1];if(V===0&&q===0)throw new XA("Cannot compute the quadrant for point ( "+V+", "+q+" )");return V>=0?q>=0?xA.NE:xA.SE:q>=0?xA.NW:xA.SW}if(arguments[0]instanceof Wi&&arguments[1]instanceof Wi){var te=arguments[0],ne=arguments[1];if(ne.x===te.x&&ne.y===te.y)throw new XA("Cannot compute the quadrant for two identical points "+te);return ne.x>=te.x?ne.y>=te.y?xA.NE:xA.SE:ne.y>=te.y?xA.NW:xA.SW}},KR.NE.get=function(){return 0},KR.NW.get=function(){return 1},KR.SW.get=function(){return 2},KR.SE.get=function(){return 3},Object.defineProperties(xA,KR);var sg=function(){if(this._edge=null,this._label=null,this._node=null,this._p0=null,this._p1=null,this._dx=null,this._dy=null,this._quadrant=null,arguments.length===1){var V=arguments[0];this._edge=V}else if(arguments.length===3){var q=arguments[0],te=arguments[1],ne=arguments[2],ue=null;this._edge=q,this.init(te,ne),this._label=ue}else if(arguments.length===4){var pe=arguments[0],Ee=arguments[1],ve=arguments[2],be=arguments[3];this._edge=pe,this.init(Ee,ve),this._label=be}};sg.prototype.compareDirection=function(V){return this._dx===V._dx&&this._dy===V._dy?0:this._quadrant>V._quadrant?1:this._quadrant2){pe.linkDirectedEdgesForMinimalEdgeRings();var Ee=pe.buildMinimalRings(),ve=this.findShell(Ee);ve!==null?(this.placePolygonHoles(ve,Ee),q.add(ve)):te.addAll(Ee)}else ne.add(pe)}return ne},Jf.prototype.containsPoint=function(V){for(var q=this._shellList.iterator();q.hasNext();)if(q.next().containsPoint(V))return!0;return!1},Jf.prototype.buildMaximalEdgeRings=function(V){for(var q=new We,te=V.iterator();te.hasNext();){var ne=te.next();if(ne.isInResult()&&ne.getLabel().isArea()&&ne.getEdgeRing()===null){var ue=new xK(ne,this._geometryFactory);q.add(ue),ue.setInResult()}}return q},Jf.prototype.placePolygonHoles=function(V,q){for(var te=q.iterator();te.hasNext();){var ne=te.next();ne.isHole()&&ne.setShell(V)}},Jf.prototype.getPolygons=function(){return this.computePolygons(this._shellList)},Jf.prototype.findEdgeRingContaining=function(V,q){for(var te=V.getLinearRing(),ne=te.getEnvelopeInternal(),ue=te.getCoordinateN(0),pe=null,Ee=null,ve=q.iterator();ve.hasNext();){var be=ve.next(),Te=be.getLinearRing(),Ye=Te.getEnvelopeInternal();pe!==null&&(Ee=pe.getLinearRing().getEnvelopeInternal());var Ge=!1;Ye.contains(ne)&&Fn.isPointInRing(ue,Te.getCoordinates())&&(Ge=!0),Ge&&(pe===null||Ee.contains(Ye))&&(pe=be)}return pe},Jf.prototype.findShell=function(V){for(var q=0,te=null,ne=V.iterator();ne.hasNext();){var ue=ne.next();ue.isHole()||(te=ue,q++)}return wa.isTrue(q<=1,"found two shells in MinimalEdgeRing list"),te},Jf.prototype.add=function(){if(arguments.length===1){var V=arguments[0];this.add(V.getEdgeEnds(),V.getNodes())}else if(arguments.length===2){var q=arguments[0],te=arguments[1];uu.linkResultDirectedEdges(te);var ne=this.buildMaximalEdgeRings(q),ue=new We,pe=this.buildMinimalEdgeRings(ne,this._shellList,ue);this.sortShellsAndHoles(pe,this._shellList,ue),this.placeFreeHoles(this._shellList,ue)}},Jf.prototype.interfaces_=function(){return[]},Jf.prototype.getClass=function(){return Jf};var IQ=function(){};IQ.prototype.getBounds=function(){},IQ.prototype.interfaces_=function(){return[]},IQ.prototype.getClass=function(){return IQ};var Kf=function(){this._bounds=null,this._item=null;var V=arguments[0],q=arguments[1];this._bounds=V,this._item=q};Kf.prototype.getItem=function(){return this._item},Kf.prototype.getBounds=function(){return this._bounds},Kf.prototype.interfaces_=function(){return[IQ,Vf]},Kf.prototype.getClass=function(){return Kf};var kh=function(){this._size=null,this._items=null,this._size=0,this._items=new We,this._items.add(null)};kh.prototype.poll=function(){if(this.isEmpty())return null;var V=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),V},kh.prototype.size=function(){return this._size},kh.prototype.reorder=function(V){for(var q=this,te=null,ne=this._items.get(V);2*V<=this._size&&((te=2*V)!==q._size&&q._items.get(te+1).compareTo(q._items.get(te))<0&&te++,q._items.get(te).compareTo(ne)<0);V=te)q._items.set(V,q._items.get(te));this._items.set(V,ne)},kh.prototype.clear=function(){this._size=0,this._items.clear()},kh.prototype.isEmpty=function(){return this._size===0},kh.prototype.add=function(V){this._items.add(null),this._size+=1;var q=this._size;for(this._items.set(0,V);V.compareTo(this._items.get(Math.trunc(q/2)))<0;q/=2)this._items.set(q,this._items.get(Math.trunc(q/2)));this._items.set(q,V)},kh.prototype.interfaces_=function(){return[]},kh.prototype.getClass=function(){return kh};var qp=function(){};qp.prototype.visitItem=function(V){},qp.prototype.interfaces_=function(){return[]},qp.prototype.getClass=function(){return qp};var xQ=function(){};xQ.prototype.insert=function(V,q){},xQ.prototype.remove=function(V,q){},xQ.prototype.query=function(){},xQ.prototype.interfaces_=function(){return[]},xQ.prototype.getClass=function(){return xQ};var lh=function(){if(this._childBoundables=new We,this._bounds=null,this._level=null,arguments.length!==0&&arguments.length===1){var V=arguments[0];this._level=V}},yK={serialVersionUID:{configurable:!0}};lh.prototype.getLevel=function(){return this._level},lh.prototype.size=function(){return this._childBoundables.size()},lh.prototype.getChildBoundables=function(){return this._childBoundables},lh.prototype.addChildBoundable=function(V){wa.isTrue(this._bounds===null),this._childBoundables.add(V)},lh.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},lh.prototype.getBounds=function(){return this._bounds===null&&(this._bounds=this.computeBounds()),this._bounds},lh.prototype.interfaces_=function(){return[IQ,Vf]},lh.prototype.getClass=function(){return lh},yK.serialVersionUID.get=function(){return 6493722185909574e3},Object.defineProperties(lh,yK);var cC=function(){};cC.reverseOrder=function(){return{compare:function(V,q){return q.compareTo(V)}}},cC.min=function(V){return cC.sort(V),V.get(0)},cC.sort=function(V,q){var te=V.toArray();q?UI.sort(te,q):UI.sort(te);for(var ne=V.iterator(),ue=0,pe=te.length;ueOc.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,V,q),null):(this.expand(this._boundable2,this._boundable1,V,q),null);if(te)return this.expand(this._boundable1,this._boundable2,V,q),null;if(ne)return this.expand(this._boundable2,this._boundable1,V,q),null;throw new XA("neither boundable is composite")},Oc.prototype.isLeaves=function(){return!(Oc.isComposite(this._boundable1)||Oc.isComposite(this._boundable2))},Oc.prototype.compareTo=function(V){var q=V;return this._distanceq._distance?1:0},Oc.prototype.expand=function(V,q,te,ne){for(var ue=V.getChildBoundables().iterator();ue.hasNext();){var pe=ue.next(),Ee=new Oc(pe,q,this._itemDistance);Ee.getDistance()1,"Node capacity must be greater than 1"),this._nodeCapacity=te}},BE={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};Uh.prototype.getNodeCapacity=function(){return this._nodeCapacity},Uh.prototype.lastNode=function(V){return V.get(V.size()-1)},Uh.prototype.size=function(){var V=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.size(this._root));if(arguments.length===1){for(var q=arguments[0],te=0,ne=q.getChildBoundables().iterator();ne.hasNext();){var ue=ne.next();ue instanceof lh?te+=V.size(ue):ue instanceof Kf&&(te+=1)}return te}},Uh.prototype.removeItem=function(V,q){for(var te=null,ne=V.getChildBoundables().iterator();ne.hasNext();){var ue=ne.next();ue instanceof Kf&&ue.getItem()===q&&(te=ue)}return te!==null&&(V.getChildBoundables().remove(te),!0)},Uh.prototype.itemsTree=function(){var V=this;if(arguments.length===0){this.build();var q=this.itemsTree(this._root);return q===null?new We:q}if(arguments.length===1){for(var te=arguments[0],ne=new We,ue=te.getChildBoundables().iterator();ue.hasNext();){var pe=ue.next();if(pe instanceof lh){var Ee=V.itemsTree(pe);Ee!==null&&ne.add(Ee)}else pe instanceof Kf?ne.add(pe.getItem()):wa.shouldNeverReachHere()}return ne.size()<=0?null:ne}},Uh.prototype.insert=function(V,q){wa.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new Kf(V,q))},Uh.prototype.boundablesAtLevel=function(){var V=this;if(arguments.length===1){var q=arguments[0],te=new We;return this.boundablesAtLevel(q,this._root,te),te}if(arguments.length===3){var ne=arguments[0],ue=arguments[1],pe=arguments[2];if(wa.isTrue(ne>-2),ue.getLevel()===ne)return pe.add(ue),null;for(var Ee=ue.getChildBoundables().iterator();Ee.hasNext();){var ve=Ee.next();ve instanceof lh?V.boundablesAtLevel(ne,ve,pe):(wa.isTrue(ve instanceof Kf),ne===-1&&pe.add(ve))}return null}},Uh.prototype.query=function(){var V=this;if(arguments.length===1){var q=arguments[0];this.build();var te=new We;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),q)&&this.query(q,this._root,te),te}if(arguments.length===2){var ne=arguments[0],ue=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),ne)&&this.query(ne,this._root,ue)}else if(arguments.length===3){if(Zo(arguments[2],qp)&&arguments[0]instanceof Object&&arguments[1]instanceof lh)for(var pe=arguments[0],Ee=arguments[1],ve=arguments[2],be=Ee.getChildBoundables(),Te=0;Tete&&(te=pe)}}return te+1}},Uh.prototype.createParentBoundables=function(V,q){var te=this;wa.isTrue(!V.isEmpty());var ne=new We;ne.add(this.createNode(q));var ue=new We(V);cC.sort(ue,this.getComparator());for(var pe=ue.iterator();pe.hasNext();){var Ee=pe.next();te.lastNode(ne).getChildBoundables().size()===te.getNodeCapacity()&&ne.add(te.createNode(q)),te.lastNode(ne).addChildBoundable(Ee)}return ne},Uh.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},Uh.prototype.interfaces_=function(){return[Vf]},Uh.prototype.getClass=function(){return Uh},Uh.compareDoubles=function(V,q){return V>q?1:V0);for(var pe=new We,Ee=0;Ee0;){var nt=ot.poll(),lt=nt.getDistance();if(lt>=Ge)break;nt.isLeaves()?(Ge=lt,$e=nt):nt.expandToQueue(ot,Ge)}return[$e.getBoundable(0).getItem(),$e.getBoundable(1).getItem()]}}else if(arguments.length===3){var it=arguments[0],Dt=arguments[1],ei=arguments[2],st=new Kf(it,Dt),Qt=new Oc(this.getRoot(),st,ei);return this.nearestNeighbour(Qt)[0]}},q.prototype.interfaces_=function(){return[xQ,Vf]},q.prototype.getClass=function(){return q},q.centreX=function(ne){return q.avg(ne.getMinX(),ne.getMaxX())},q.avg=function(ne,ue){return(ne+ue)/2},q.centreY=function(ne){return q.avg(ne.getMinY(),ne.getMaxY())},te.STRtreeNode.get=function(){return SG},te.serialVersionUID.get=function(){return 0x39920f7d5f261e0},te.xComparator.get=function(){return{interfaces_:function(){return[g_]},compare:function(ne,ue){return V.compareDoubles(q.centreX(ne.getBounds()),q.centreX(ue.getBounds()))}}},te.yComparator.get=function(){return{interfaces_:function(){return[g_]},compare:function(ne,ue){return V.compareDoubles(q.centreY(ne.getBounds()),q.centreY(ue.getBounds()))}}},te.intersectsOp.get=function(){return{interfaces_:function(){return[V.IntersectsOp]},intersects:function(ne,ue){return ne.intersects(ue)}}},te.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(q,te),q}(Uh),SG=function(V){function q(){var te=arguments[0];V.call(this,te)}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.computeBounds=function(){for(var te=null,ne=this.getChildBoundables().iterator();ne.hasNext();){var ue=ne.next();te===null?te=new xo(ue.getBounds()):te.expandToInclude(ue.getBounds())}return te},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q}(lh),uf=function(){};uf.prototype.interfaces_=function(){return[]},uf.prototype.getClass=function(){return uf},uf.relativeSign=function(V,q){return Vq?1:0},uf.compare=function(V,q,te){if(q.equals2D(te))return 0;var ne=uf.relativeSign(q.x,te.x),ue=uf.relativeSign(q.y,te.y);switch(V){case 0:return uf.compareValue(ne,ue);case 1:return uf.compareValue(ue,ne);case 2:return uf.compareValue(ue,-ne);case 3:return uf.compareValue(-ne,ue);case 4:return uf.compareValue(-ne,-ue);case 5:return uf.compareValue(-ue,-ne);case 6:return uf.compareValue(-ue,ne);case 7:return uf.compareValue(ne,-ue)}return wa.shouldNeverReachHere("invalid octant value"),0},uf.compareValue=function(V,q){return V<0?-1:V>0?1:q<0?-1:q>0?1:0};var bl=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var V=arguments[0],q=arguments[1],te=arguments[2],ne=arguments[3];this._segString=V,this.coord=new Wi(q),this.segmentIndex=te,this._segmentOctant=ne,this._isInterior=!q.equals2D(V.getCoordinate(te))};bl.prototype.getCoordinate=function(){return this.coord},bl.prototype.print=function(V){V.print(this.coord),V.print(" seg # = "+this.segmentIndex)},bl.prototype.compareTo=function(V){var q=V;return this.segmentIndexq.segmentIndex?1:this.coord.equals2D(q.coord)?0:uf.compare(this._segmentOctant,this.coord,q.coord)},bl.prototype.isEndPoint=function(V){return this.segmentIndex===0&&!this._isInterior||this.segmentIndex===V},bl.prototype.isInterior=function(){return this._isInterior},bl.prototype.interfaces_=function(){return[sf]},bl.prototype.getClass=function(){return bl};var Rg=function(){this._nodeMap=new eA,this._edge=null;var V=arguments[0];this._edge=V};Rg.prototype.getSplitCoordinates=function(){var V=new Gt;this.addEndpoints();for(var q=this.iterator(),te=q.next();q.hasNext();){var ne=q.next();this.addEdgeCoordinates(te,ne,V),te=ne}return V.toCoordinateArray()},Rg.prototype.addCollapsedNodes=function(){var V=new We;this.findCollapsesFromInsertedNodes(V),this.findCollapsesFromExistingVertices(V);for(var q=V.iterator();q.hasNext();){var te=q.next().intValue();this.add(this._edge.getCoordinate(te),te)}},Rg.prototype.print=function(V){V.println("Intersections:");for(var q=this.iterator();q.hasNext();)q.next().print(V)},Rg.prototype.findCollapsesFromExistingVertices=function(V){for(var q=0;q=0?q>=0?te>=ne?0:1:te>=ne?7:6:q>=0?te>=ne?3:2:te>=ne?4:5}if(arguments[0]instanceof Wi&&arguments[1]instanceof Wi){var ue=arguments[0],pe=arguments[1],Ee=pe.x-ue.x,ve=pe.y-ue.y;if(Ee===0&&ve===0)throw new XA("Cannot compute the octant for two identical points "+ue);return Pw.octant(Ee,ve)}};var jp=function(){};jp.prototype.getCoordinates=function(){},jp.prototype.size=function(){},jp.prototype.getCoordinate=function(V){},jp.prototype.isClosed=function(){},jp.prototype.setData=function(V){},jp.prototype.getData=function(){},jp.prototype.interfaces_=function(){return[]},jp.prototype.getClass=function(){return jp};var WR=function(){};WR.prototype.addIntersection=function(V,q){},WR.prototype.interfaces_=function(){return[jp]},WR.prototype.getClass=function(){return WR};var Ec=function(){this._nodeList=new Rg(this),this._pts=null,this._data=null;var V=arguments[0],q=arguments[1];this._pts=V,this._data=q};Ec.prototype.getCoordinates=function(){return this._pts},Ec.prototype.size=function(){return this._pts.length},Ec.prototype.getCoordinate=function(V){return this._pts[V]},Ec.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Ec.prototype.getSegmentOctant=function(V){return V===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(V),this.getCoordinate(V+1))},Ec.prototype.setData=function(V){this._data=V},Ec.prototype.safeOctant=function(V,q){return V.equals2D(q)?0:Pw.octant(V,q)},Ec.prototype.getData=function(){return this._data},Ec.prototype.addIntersection=function(){if(arguments.length===2){var V=arguments[0],q=arguments[1];this.addIntersectionNode(V,q)}else if(arguments.length===4){var te=arguments[0],ne=arguments[1],ue=arguments[3],pe=new Wi(te.getIntersection(ue));this.addIntersection(pe,ne)}},Ec.prototype.toString=function(){return V0.toLineString(new mc(this._pts))},Ec.prototype.getNodeList=function(){return this._nodeList},Ec.prototype.addIntersectionNode=function(V,q){var te=q,ne=te+1;if(ne=0&&te>=0||q<=0&&te<=0?Math.max(q,te):0}if(arguments[0]instanceof Wi){var ne=arguments[0];return Fn.orientationIndex(this.p0,this.p1,ne)}},bo.prototype.toGeometry=function(V){return V.createLineString([this.p0,this.p1])},bo.prototype.isVertical=function(){return this.p0.x===this.p1.x},bo.prototype.equals=function(V){if(!(V instanceof bo))return!1;var q=V;return this.p0.equals(q.p0)&&this.p1.equals(q.p1)},bo.prototype.intersection=function(V){var q=new hy;return q.computeIntersection(this.p0,this.p1,V.p0,V.p1),q.hasIntersection()?q.getIntersection(0):null},bo.prototype.project=function(){if(arguments[0]instanceof Wi){var V=arguments[0];if(V.equals(this.p0)||V.equals(this.p1))return new Wi(V);var q=this.projectionFactor(V),te=new Wi;return te.x=this.p0.x+q*(this.p1.x-this.p0.x),te.y=this.p0.y+q*(this.p1.y-this.p0.y),te}if(arguments[0]instanceof bo){var ne=arguments[0],ue=this.projectionFactor(ne.p0),pe=this.projectionFactor(ne.p1);if(ue>=1&&pe>=1||ue<=0&&pe<=0)return null;var Ee=this.project(ne.p0);ue<0&&(Ee=this.p0),ue>1&&(Ee=this.p1);var ve=this.project(ne.p1);return pe<0&&(ve=this.p0),pe>1&&(ve=this.p1),new bo(Ee,ve)}},bo.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},bo.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},bo.prototype.getCoordinate=function(V){return V===0?this.p0:this.p1},bo.prototype.distancePerpendicular=function(V){return Fn.distancePointLinePerpendicular(V,this.p0,this.p1)},bo.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},bo.prototype.midPoint=function(){return bo.midPoint(this.p0,this.p1)},bo.prototype.projectionFactor=function(V){if(V.equals(this.p0))return 0;if(V.equals(this.p1))return 1;var q=this.p1.x-this.p0.x,te=this.p1.y-this.p0.y,ne=q*q+te*te;return ne<=0?Ia.NaN:((V.x-this.p0.x)*q+(V.y-this.p0.y)*te)/ne},bo.prototype.closestPoints=function(V){var q=this.intersection(V);if(q!==null)return[q,q];var te=new Array(2).fill(null),ne=Ia.MAX_VALUE,ue=null,pe=this.closestPoint(V.p0);ne=pe.distance(V.p0),te[0]=pe,te[1]=V.p0;var Ee=this.closestPoint(V.p1);(ue=Ee.distance(V.p1))0&&q<1?this.project(V):this.p0.distance(V)1||Ia.isNaN(q))&&(q=1),q},bo.prototype.toString=function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},bo.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},bo.prototype.distance=function(){if(arguments[0]instanceof bo){var V=arguments[0];return Fn.distanceLineLine(this.p0,this.p1,V.p0,V.p1)}if(arguments[0]instanceof Wi){var q=arguments[0];return Fn.distancePointLine(q,this.p0,this.p1)}},bo.prototype.pointAlong=function(V){var q=new Wi;return q.x=this.p0.x+V*(this.p1.x-this.p0.x),q.y=this.p0.y+V*(this.p1.y-this.p0.y),q},bo.prototype.hashCode=function(){var V=Ia.doubleToLongBits(this.p0.x);V^=31*Ia.doubleToLongBits(this.p0.y);var q=Math.trunc(V)^Math.trunc(V>>32),te=Ia.doubleToLongBits(this.p1.x);return te^=31*Ia.doubleToLongBits(this.p1.y),q^(Math.trunc(te)^Math.trunc(te>>32))},bo.prototype.interfaces_=function(){return[sf,Vf]},bo.prototype.getClass=function(){return bo},bo.midPoint=function(V,q){return new Wi((V.x+q.x)/2,(V.y+q.y)/2)},vK.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(bo,vK);var qR=function(){this.tempEnv1=new xo,this.tempEnv2=new xo,this._overlapSeg1=new bo,this._overlapSeg2=new bo};qR.prototype.overlap=function(){if(arguments.length!==2&&arguments.length===4){var V=arguments[0],q=arguments[1],te=arguments[2],ne=arguments[3];V.getLineSegment(q,this._overlapSeg1),te.getLineSegment(ne,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}},qR.prototype.interfaces_=function(){return[]},qR.prototype.getClass=function(){return qR};var Wf=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var V=arguments[0],q=arguments[1],te=arguments[2],ne=arguments[3];this._pts=V,this._start=q,this._end=te,this._context=ne};Wf.prototype.getLineSegment=function(V,q){q.p0=this._pts[V],q.p1=this._pts[V+1]},Wf.prototype.computeSelect=function(V,q,te,ne){var ue=this._pts[q],pe=this._pts[te];if(ne.tempEnv1.init(ue,pe),te-q==1)return ne.select(this,q),null;if(!V.intersects(ne.tempEnv1))return null;var Ee=Math.trunc((q+te)/2);q=V.length-1)return V.length-1;for(var ne=xA.quadrant(V[te],V[te+1]),ue=q+1;ueEe.getId()&&(Ee.computeOverlaps(be,ue),ne._nOverlaps++),ne._segInt.isDone())return null}},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},te.SegmentOverlapAction.get=function(){return _K},Object.defineProperties(q,te),q}(jR),_K=function(V){function q(){V.call(this),this._si=null;var te=arguments[0];this._si=te}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.overlap=function(){if(arguments.length!==4)return V.prototype.overlap.apply(this,arguments);var te=arguments[0],ne=arguments[1],ue=arguments[2],pe=arguments[3],Ee=te.getContext(),ve=ue.getContext();this._si.processIntersections(Ee,ne,ve,pe)},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q}(qR),Fl=function V(){if(this._quadrantSegments=V.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=V.CAP_ROUND,this._joinStyle=V.JOIN_ROUND,this._mitreLimit=V.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=V.DEFAULT_SIMPLIFY_FACTOR,arguments.length!==0){if(arguments.length===1){var q=arguments[0];this.setQuadrantSegments(q)}else if(arguments.length===2){var te=arguments[0],ne=arguments[1];this.setQuadrantSegments(te),this.setEndCapStyle(ne)}else if(arguments.length===4){var ue=arguments[0],pe=arguments[1],Ee=arguments[2],ve=arguments[3];this.setQuadrantSegments(ue),this.setEndCapStyle(pe),this.setJoinStyle(Ee),this.setMitreLimit(ve)}}},gy={CAP_ROUND:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},JOIN_ROUND:{configurable:!0},JOIN_MITRE:{configurable:!0},JOIN_BEVEL:{configurable:!0},DEFAULT_QUADRANT_SEGMENTS:{configurable:!0},DEFAULT_MITRE_LIMIT:{configurable:!0},DEFAULT_SIMPLIFY_FACTOR:{configurable:!0}};Fl.prototype.getEndCapStyle=function(){return this._endCapStyle},Fl.prototype.isSingleSided=function(){return this._isSingleSided},Fl.prototype.setQuadrantSegments=function(V){this._quadrantSegments=V,this._quadrantSegments===0&&(this._joinStyle=Fl.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=Fl.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),V<=0&&(this._quadrantSegments=1),this._joinStyle!==Fl.JOIN_ROUND&&(this._quadrantSegments=Fl.DEFAULT_QUADRANT_SEGMENTS)},Fl.prototype.getJoinStyle=function(){return this._joinStyle},Fl.prototype.setJoinStyle=function(V){this._joinStyle=V},Fl.prototype.setSimplifyFactor=function(V){this._simplifyFactor=V<0?0:V},Fl.prototype.getSimplifyFactor=function(){return this._simplifyFactor},Fl.prototype.getQuadrantSegments=function(){return this._quadrantSegments},Fl.prototype.setEndCapStyle=function(V){this._endCapStyle=V},Fl.prototype.getMitreLimit=function(){return this._mitreLimit},Fl.prototype.setMitreLimit=function(V){this._mitreLimit=V},Fl.prototype.setSingleSided=function(V){this._isSingleSided=V},Fl.prototype.interfaces_=function(){return[]},Fl.prototype.getClass=function(){return Fl},Fl.bufferDistanceError=function(V){var q=Math.PI/2/V;return 1-Math.cos(q/2)},gy.CAP_ROUND.get=function(){return 1},gy.CAP_FLAT.get=function(){return 2},gy.CAP_SQUARE.get=function(){return 3},gy.JOIN_ROUND.get=function(){return 1},gy.JOIN_MITRE.get=function(){return 2},gy.JOIN_BEVEL.get=function(){return 3},gy.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},gy.DEFAULT_MITRE_LIMIT.get=function(){return 5},gy.DEFAULT_SIMPLIFY_FACTOR.get=function(){return .01},Object.defineProperties(Fl,gy);var vu=function(V){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=Fn.COUNTERCLOCKWISE,this._inputLine=V||null},XR={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};vu.prototype.isDeletable=function(V,q,te,ne){var ue=this._inputLine[V],pe=this._inputLine[q],Ee=this._inputLine[te];return!!this.isConcave(ue,pe,Ee)&&!!this.isShallow(ue,pe,Ee,ne)&&this.isShallowSampled(ue,pe,V,te,ne)},vu.prototype.deleteShallowConcavities=function(){for(var V=this,q=1,te=this.findNextNonDeletedIndex(q),ne=this.findNextNonDeletedIndex(te),ue=!1;ne=0;ne--)this.addPt(V[ne])},cf.prototype.isRedundant=function(V){if(this._ptList.size()<1)return!1;var q=this._ptList.get(this._ptList.size()-1);return V.distance(q)Math.PI;)V-=ll.PI_TIMES_2;for(;V<=-Math.PI;)V+=ll.PI_TIMES_2;return V},ll.angle=function(){if(arguments.length===1){var V=arguments[0];return Math.atan2(V.y,V.x)}if(arguments.length===2){var q=arguments[0],te=arguments[1],ne=te.x-q.x,ue=te.y-q.y;return Math.atan2(ue,ne)}},ll.isAcute=function(V,q,te){var ne=V.x-q.x,ue=V.y-q.y;return ne*(te.x-q.x)+ue*(te.y-q.y)>0},ll.isObtuse=function(V,q,te){var ne=V.x-q.x,ue=V.y-q.y;return ne*(te.x-q.x)+ue*(te.y-q.y)<0},ll.interiorAngle=function(V,q,te){var ne=ll.angle(q,V),ue=ll.angle(q,te);return Math.abs(ue-ne)},ll.normalizePositive=function(V){if(V<0){for(;V<0;)V+=ll.PI_TIMES_2;V>=ll.PI_TIMES_2&&(V=0)}else{for(;V>=ll.PI_TIMES_2;)V-=ll.PI_TIMES_2;V<0&&(V=0)}return V},ll.angleBetween=function(V,q,te){var ne=ll.angle(q,V),ue=ll.angle(q,te);return ll.diff(ne,ue)},ll.diff=function(V,q){var te=null;return(te=VMath.PI&&(te=2*Math.PI-te),te},ll.toRadians=function(V){return V*Math.PI/180},ll.getTurn=function(V,q){var te=Math.sin(q-V);return te>0?ll.COUNTERCLOCKWISE:te<0?ll.CLOCKWISE:ll.NONE},ll.angleBetweenOriented=function(V,q,te){var ne=ll.angle(q,V),ue=ll.angle(q,te)-ne;return ue<=-Math.PI?ue+ll.PI_TIMES_2:ue>Math.PI?ue-ll.PI_TIMES_2:ue},vQ.PI_TIMES_2.get=function(){return 2*Math.PI},vQ.PI_OVER_2.get=function(){return Math.PI/2},vQ.PI_OVER_4.get=function(){return Math.PI/4},vQ.COUNTERCLOCKWISE.get=function(){return Fn.COUNTERCLOCKWISE},vQ.CLOCKWISE.get=function(){return Fn.CLOCKWISE},vQ.NONE.get=function(){return Fn.COLLINEAR},Object.defineProperties(ll,vQ);var us=function V(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new bo,this._seg1=new bo,this._offset0=new bo,this._offset1=new bo,this._side=0,this._hasNarrowConcaveAngle=!1;var q=arguments[0],te=arguments[1],ne=arguments[2];this._precisionModel=q,this._bufParams=te,this._li=new hy,this._filletAngleQuantum=Math.PI/2/te.getQuadrantSegments(),te.getQuadrantSegments()>=8&&te.getJoinStyle()===Fl.JOIN_ROUND&&(this._closingSegLengthFactor=V.MAX_CLOSING_SEG_LEN_FACTOR),this.init(ne)},Lg={OFFSET_SEGMENT_SEPARATION_FACTOR:{configurable:!0},INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},CURVE_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},MAX_CLOSING_SEG_LEN_FACTOR:{configurable:!0}};us.prototype.addNextSegment=function(V,q){if(this._s0=this._s1,this._s1=this._s2,this._s2=V,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var te=Fn.computeOrientation(this._s0,this._s1,this._s2),ne=te===Fn.CLOCKWISE&&this._side===gn.LEFT||te===Fn.COUNTERCLOCKWISE&&this._side===gn.RIGHT;te===0?this.addCollinear(q):ne?this.addOutsideTurn(te,q):this.addInsideTurn(te,q)},us.prototype.addLineEndCap=function(V,q){var te=new bo(V,q),ne=new bo;this.computeOffsetSegment(te,gn.LEFT,this._distance,ne);var ue=new bo;this.computeOffsetSegment(te,gn.RIGHT,this._distance,ue);var pe=q.x-V.x,Ee=q.y-V.y,ve=Math.atan2(Ee,pe);switch(this._bufParams.getEndCapStyle()){case Fl.CAP_ROUND:this._segList.addPt(ne.p1),this.addFilletArc(q,ve+Math.PI/2,ve-Math.PI/2,Fn.CLOCKWISE,this._distance),this._segList.addPt(ue.p1);break;case Fl.CAP_FLAT:this._segList.addPt(ne.p1),this._segList.addPt(ue.p1);break;case Fl.CAP_SQUARE:var be=new Wi;be.x=Math.abs(this._distance)*Math.cos(ve),be.y=Math.abs(this._distance)*Math.sin(ve);var Te=new Wi(ne.p1.x+be.x,ne.p1.y+be.y),Ye=new Wi(ue.p1.x+be.x,ue.p1.y+be.y);this._segList.addPt(Te),this._segList.addPt(Ye)}},us.prototype.getCoordinates=function(){return this._segList.getCoordinates()},us.prototype.addMitreJoin=function(V,q,te,ne){var ue=!0,pe=null;try{pe=Af.intersection(q.p0,q.p1,te.p0,te.p1),(ne<=0?1:pe.distance(V)/Math.abs(ne))>this._bufParams.getMitreLimit()&&(ue=!1)}catch(Ee){if(!(Ee instanceof cy))throw Ee;pe=new Wi(0,0),ue=!1}ue?this._segList.addPt(pe):this.addLimitedMitreJoin(q,te,ne,this._bufParams.getMitreLimit())},us.prototype.addFilletCorner=function(V,q,te,ne,ue){var pe=q.x-V.x,Ee=q.y-V.y,ve=Math.atan2(Ee,pe),be=te.x-V.x,Te=te.y-V.y,Ye=Math.atan2(Te,be);ne===Fn.CLOCKWISE?ve<=Ye&&(ve+=2*Math.PI):ve>=Ye&&(ve-=2*Math.PI),this._segList.addPt(q),this.addFilletArc(V,ve,Ye,ne,ue),this._segList.addPt(te)},us.prototype.addOutsideTurn=function(V,q){if(this._offset0.p1.distance(this._offset1.p0)0){var te=new Wi((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(te);var ne=new Wi((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(ne)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}},us.prototype.createCircle=function(V){var q=new Wi(V.x+this._distance,V.y);this._segList.addPt(q),this.addFilletArc(V,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},us.prototype.addBevelJoin=function(V,q){this._segList.addPt(V.p1),this._segList.addPt(q.p0)},us.prototype.init=function(V){this._distance=V,this._maxCurveSegmentError=V*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new cf,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(V*us.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},us.prototype.addCollinear=function(V){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===Fl.JOIN_BEVEL||this._bufParams.getJoinStyle()===Fl.JOIN_MITRE?(V&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,Fn.CLOCKWISE,this._distance))},us.prototype.closeRing=function(){this._segList.closeRing()},us.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},us.prototype.interfaces_=function(){return[]},us.prototype.getClass=function(){return us},Lg.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return .001},Lg.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return .001},Lg.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},Lg.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(us,Lg);var hf=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var V=arguments[0],q=arguments[1];this._precisionModel=V,this._bufParams=q};hf.prototype.getOffsetCurve=function(V,q){if(this._distance=q,q===0)return null;var te=q<0,ne=Math.abs(q),ue=this.getSegGen(ne);V.length<=1?this.computePointCurve(V[0],ue):this.computeOffsetCurve(V,te,ue);var pe=ue.getCoordinates();return te&&Xt.reverse(pe),pe},hf.prototype.computeSingleSidedBufferCurve=function(V,q,te){var ne=this.simplifyTolerance(this._distance);if(q){te.addSegments(V,!0);var ue=vu.simplify(V,-ne),pe=ue.length-1;te.initSideSegments(ue[pe],ue[pe-1],gn.LEFT),te.addFirstSegment();for(var Ee=pe-2;Ee>=0;Ee--)te.addNextSegment(ue[Ee],!0)}else{te.addSegments(V,!1);var ve=vu.simplify(V,ne),be=ve.length-1;te.initSideSegments(ve[0],ve[1],gn.LEFT),te.addFirstSegment();for(var Te=2;Te<=be;Te++)te.addNextSegment(ve[Te],!0)}te.addLastSegment(),te.closeRing()},hf.prototype.computeRingBufferCurve=function(V,q,te){var ne=this.simplifyTolerance(this._distance);q===gn.RIGHT&&(ne=-ne);var ue=vu.simplify(V,ne),pe=ue.length-1;te.initSideSegments(ue[pe-1],ue[0],q);for(var Ee=1;Ee<=pe;Ee++){var ve=Ee!==1;te.addNextSegment(ue[Ee],ve)}te.closeRing()},hf.prototype.computeLineBufferCurve=function(V,q){var te=this.simplifyTolerance(this._distance),ne=vu.simplify(V,te),ue=ne.length-1;q.initSideSegments(ne[0],ne[1],gn.LEFT);for(var pe=2;pe<=ue;pe++)q.addNextSegment(ne[pe],!0);q.addLastSegment(),q.addLineEndCap(ne[ue-1],ne[ue]);var Ee=vu.simplify(V,-te),ve=Ee.length-1;q.initSideSegments(Ee[ve],Ee[ve-1],gn.LEFT);for(var be=ve-2;be>=0;be--)q.addNextSegment(Ee[be],!0);q.addLastSegment(),q.addLineEndCap(Ee[1],Ee[0]),q.closeRing()},hf.prototype.computePointCurve=function(V,q){switch(this._bufParams.getEndCapStyle()){case Fl.CAP_ROUND:q.createCircle(V);break;case Fl.CAP_SQUARE:q.createSquare(V)}},hf.prototype.getLineCurve=function(V,q){if(this._distance=q,q<0&&!this._bufParams.isSingleSided()||q===0)return null;var te=Math.abs(q),ne=this.getSegGen(te);if(V.length<=1)this.computePointCurve(V[0],ne);else if(this._bufParams.isSingleSided()){var ue=q<0;this.computeSingleSidedBufferCurve(V,ue,ne)}else this.computeLineBufferCurve(V,ne);return ne.getCoordinates()},hf.prototype.getBufferParameters=function(){return this._bufParams},hf.prototype.simplifyTolerance=function(V){return V*this._bufParams.getSimplifyFactor()},hf.prototype.getRingCurve=function(V,q,te){if(this._distance=te,V.length<=2)return this.getLineCurve(V,te);if(te===0)return hf.copyCoordinates(V);var ne=this.getSegGen(te);return this.computeRingBufferCurve(V,q,ne),ne.getCoordinates()},hf.prototype.computeOffsetCurve=function(V,q,te){var ne=this.simplifyTolerance(this._distance);if(q){var ue=vu.simplify(V,-ne),pe=ue.length-1;te.initSideSegments(ue[pe],ue[pe-1],gn.LEFT),te.addFirstSegment();for(var Ee=pe-2;Ee>=0;Ee--)te.addNextSegment(ue[Ee],!0)}else{var ve=vu.simplify(V,ne),be=ve.length-1;te.initSideSegments(ve[0],ve[1],gn.LEFT),te.addFirstSegment();for(var Te=2;Te<=be;Te++)te.addNextSegment(ve[Te],!0)}te.addLastSegment()},hf.prototype.getSegGen=function(V){return new us(this._precisionModel,this._bufParams,V)},hf.prototype.interfaces_=function(){return[]},hf.prototype.getClass=function(){return hf},hf.copyCoordinates=function(V){for(var q=new Array(V.length).fill(null),te=0;tepe.getMaxY()||V.findStabbedSegments(q,ue.getDirectedEdges(),te)}return te}if(arguments.length===3){if(Zo(arguments[2],xe)&&arguments[0]instanceof Wi&&arguments[1]instanceof Qk)for(var Ee=arguments[0],ve=arguments[1],be=arguments[2],Te=ve.getEdge().getCoordinates(),Ye=0;YeV._seg.p1.y&&V._seg.reverse();var Ge=Math.max(V._seg.p0.x,V._seg.p1.x);if(!(GeV._seg.p1.y||Fn.computeOrientation(V._seg.p0,V._seg.p1,Ee)===Fn.RIGHT)){var $e=ve.getDepth(gn.LEFT);V._seg.p0.equals(Te[Ye])||($e=ve.getDepth(gn.RIGHT));var ot=new x_(V._seg,$e);be.add(ot)}}else if(Zo(arguments[2],xe)&&arguments[0]instanceof Wi&&Zo(arguments[1],xe))for(var nt=arguments[0],lt=arguments[1],it=arguments[2],Dt=lt.iterator();Dt.hasNext();){var ei=Dt.next();ei.isForward()&&V.findStabbedSegments(nt,ei,it)}}},_Q.prototype.getDepth=function(V){var q=this.findStabbedSegments(V);return q.size()===0?0:cC.min(q)._leftDepth},_Q.prototype.interfaces_=function(){return[]},_Q.prototype.getClass=function(){return _Q},wK.DepthSegment.get=function(){return x_},Object.defineProperties(_Q,wK);var x_=function(){this._upwardSeg=null,this._leftDepth=null;var V=arguments[0],q=arguments[1];this._upwardSeg=new bo(V),this._leftDepth=q};x_.prototype.compareTo=function(V){var q=V;if(this._upwardSeg.minX()>=q._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=q._upwardSeg.minX())return-1;var te=this._upwardSeg.orientationIndex(q._upwardSeg);return te!==0||(te=-1*q._upwardSeg.orientationIndex(this._upwardSeg))!==0?te:this._upwardSeg.compareTo(q._upwardSeg)},x_.prototype.compareX=function(V,q){var te=V.p0.compareTo(q.p0);return te!==0?te:V.p1.compareTo(q.p1)},x_.prototype.toString=function(){return this._upwardSeg.toString()},x_.prototype.interfaces_=function(){return[sf]},x_.prototype.getClass=function(){return x_};var Nl=function(V,q,te){this.p0=V||null,this.p1=q||null,this.p2=te||null};Nl.prototype.area=function(){return Nl.area(this.p0,this.p1,this.p2)},Nl.prototype.signedArea=function(){return Nl.signedArea(this.p0,this.p1,this.p2)},Nl.prototype.interpolateZ=function(V){if(V===null)throw new XA("Supplied point is null.");return Nl.interpolateZ(V,this.p0,this.p1,this.p2)},Nl.prototype.longestSideLength=function(){return Nl.longestSideLength(this.p0,this.p1,this.p2)},Nl.prototype.isAcute=function(){return Nl.isAcute(this.p0,this.p1,this.p2)},Nl.prototype.circumcentre=function(){return Nl.circumcentre(this.p0,this.p1,this.p2)},Nl.prototype.area3D=function(){return Nl.area3D(this.p0,this.p1,this.p2)},Nl.prototype.centroid=function(){return Nl.centroid(this.p0,this.p1,this.p2)},Nl.prototype.inCentre=function(){return Nl.inCentre(this.p0,this.p1,this.p2)},Nl.prototype.interfaces_=function(){return[]},Nl.prototype.getClass=function(){return Nl},Nl.area=function(V,q,te){return Math.abs(((te.x-V.x)*(q.y-V.y)-(q.x-V.x)*(te.y-V.y))/2)},Nl.signedArea=function(V,q,te){return((te.x-V.x)*(q.y-V.y)-(q.x-V.x)*(te.y-V.y))/2},Nl.det=function(V,q,te,ne){return V*ne-q*te},Nl.interpolateZ=function(V,q,te,ne){var ue=q.x,pe=q.y,Ee=te.x-ue,ve=ne.x-ue,be=te.y-pe,Te=ne.y-pe,Ye=Ee*Te-ve*be,Ge=V.x-ue,$e=V.y-pe,ot=(Te*Ge-ve*$e)/Ye,nt=(-be*Ge+Ee*$e)/Ye;return q.z+ot*(te.z-q.z)+nt*(ne.z-q.z)},Nl.longestSideLength=function(V,q,te){var ne=V.distance(q),ue=q.distance(te),pe=te.distance(V),Ee=ne;return ue>Ee&&(Ee=ue),pe>Ee&&(Ee=pe),Ee},Nl.isAcute=function(V,q,te){return!!ll.isAcute(V,q,te)&&!!ll.isAcute(q,te,V)&&!!ll.isAcute(te,V,q)},Nl.circumcentre=function(V,q,te){var ne=te.x,ue=te.y,pe=V.x-ne,Ee=V.y-ue,ve=q.x-ne,be=q.y-ue,Te=2*Nl.det(pe,Ee,ve,be),Ye=Nl.det(Ee,pe*pe+Ee*Ee,be,ve*ve+be*be),Ge=Nl.det(pe,pe*pe+Ee*Ee,ve,ve*ve+be*be);return new Wi(ne-Ye/Te,ue+Ge/Te)},Nl.perpendicularBisector=function(V,q){var te=q.x-V.x,ne=q.y-V.y,ue=new Af(V.x+te/2,V.y+ne/2,1),pe=new Af(V.x-ne+te/2,V.y+te+ne/2,1);return new Af(ue,pe)},Nl.angleBisector=function(V,q,te){var ne=q.distance(V),ue=ne/(ne+q.distance(te)),pe=te.x-V.x,Ee=te.y-V.y;return new Wi(V.x+ue*pe,V.y+ue*Ee)},Nl.area3D=function(V,q,te){var ne=q.x-V.x,ue=q.y-V.y,pe=q.z-V.z,Ee=te.x-V.x,ve=te.y-V.y,be=te.z-V.z,Te=ue*be-pe*ve,Ye=pe*Ee-ne*be,Ge=ne*ve-ue*Ee,$e=Te*Te+Ye*Ye+Ge*Ge,ot=Math.sqrt($e)/2;return ot},Nl.centroid=function(V,q,te){var ne=(V.x+q.x+te.x)/3,ue=(V.y+q.y+te.y)/3;return new Wi(ne,ue)},Nl.inCentre=function(V,q,te){var ne=q.distance(te),ue=V.distance(te),pe=V.distance(q),Ee=ne+ue+pe,ve=(ne*V.x+ue*q.x+pe*te.x)/Ee,be=(ne*V.y+ue*q.y+pe*te.y)/Ee;return new Wi(ve,be)};var Xp=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new We;var V=arguments[0],q=arguments[1],te=arguments[2];this._inputGeom=V,this._distance=q,this._curveBuilder=te};Xp.prototype.addPoint=function(V){if(this._distance<=0)return null;var q=V.getCoordinates(),te=this._curveBuilder.getLineCurve(q,this._distance);this.addCurve(te,or.EXTERIOR,or.INTERIOR)},Xp.prototype.addPolygon=function(V){var q=this,te=this._distance,ne=gn.LEFT;this._distance<0&&(te=-this._distance,ne=gn.RIGHT);var ue=V.getExteriorRing(),pe=Xt.removeRepeatedPoints(ue.getCoordinates());if(this._distance<0&&this.isErodedCompletely(ue,this._distance)||this._distance<=0&&pe.length<3)return null;this.addPolygonRing(pe,te,ne,or.EXTERIOR,or.INTERIOR);for(var Ee=0;Ee0&&q.isErodedCompletely(ve,-q._distance)||q.addPolygonRing(be,te,gn.opposite(ne),or.INTERIOR,or.EXTERIOR)}},Xp.prototype.isTriangleErodedCompletely=function(V,q){var te=new Nl(V[0],V[1],V[2]),ne=te.inCentre();return Fn.distancePointLine(ne,te.p0,te.p1)=uC.MINIMUM_VALID_SIZE&&Fn.isCCW(V)&&(pe=ue,Ee=ne,te=gn.opposite(te));var ve=this._curveBuilder.getRingCurve(V,te,q);this.addCurve(ve,pe,Ee)},Xp.prototype.add=function(V){if(V.isEmpty())return null;V instanceof sh?this.addPolygon(V):V instanceof ec?this.addLineString(V):V instanceof ag?this.addPoint(V):(V instanceof NM||V instanceof Mw||V instanceof IE||V instanceof Pg)&&this.addCollection(V)},Xp.prototype.isErodedCompletely=function(V,q){var te=V.getCoordinates();if(te.length<4)return q<0;if(te.length===4)return this.isTriangleErodedCompletely(te,q);var ne=V.getEnvelopeInternal(),ue=Math.min(ne.getHeight(),ne.getWidth());return q<0&&2*Math.abs(q)>ue},Xp.prototype.addCollection=function(V){for(var q=0;q=this._max)throw new Qe;var V=this._parent.getGeometryN(this._index++);return V instanceof Pg?(this._subcollectionIterator=new bE(V),this._subcollectionIterator.next()):V},bE.prototype.remove=function(){throw new Error(this.getClass().getName())},bE.prototype.hasNext=function(){if(this._atStart)return!0;if(this._subcollectionIterator!==null){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)},bE.prototype.interfaces_=function(){return[Dw]},bE.prototype.getClass=function(){return bE},bE.isAtomic=function(V){return!(V instanceof Pg)};var J0=function(){this._geom=null;var V=arguments[0];this._geom=V};J0.prototype.locate=function(V){return J0.locate(V,this._geom)},J0.prototype.interfaces_=function(){return[kM]},J0.prototype.getClass=function(){return J0},J0.isPointInRing=function(V,q){return!!q.getEnvelopeInternal().intersects(V)&&Fn.isPointInRing(V,q.getCoordinates())},J0.containsPointInPolygon=function(V,q){if(q.isEmpty())return!1;var te=q.getExteriorRing();if(!J0.isPointInRing(V,te))return!1;for(var ne=0;ne=0;ue--){var pe=this._edgeList.get(ue),Ee=pe.getSym();ne===null&&(ne=Ee),te!==null&&Ee.setNext(te),te=pe}ne.setNext(te)},q.prototype.computeDepths=function(){var te=this;if(arguments.length===1){var ne=arguments[0],ue=this.findIndex(ne),pe=ne.getDepth(gn.LEFT),Ee=ne.getDepth(gn.RIGHT),ve=this.computeDepths(ue+1,this._edgeList.size(),pe),be=this.computeDepths(0,ue,ve);if(be!==Ee)throw new vE("depth mismatch at "+ne.getCoordinate())}else if(arguments.length===3){for(var Te=arguments[0],Ye=arguments[1],Ge=arguments[2],$e=Ge,ot=Te;ot=0;ve--){var be=ne._resultAreaEdgeList.get(ve),Te=be.getSym();switch(ue===null&&be.getEdgeRing()===te&&(ue=be),Ee){case ne._SCANNING_FOR_INCOMING:if(Te.getEdgeRing()!==te)continue;pe=Te,Ee=ne._LINKING_TO_OUTGOING;break;case ne._LINKING_TO_OUTGOING:if(be.getEdgeRing()!==te)continue;pe.setNextMin(be),Ee=ne._SCANNING_FOR_INCOMING}}Ee===this._LINKING_TO_OUTGOING&&(wa.isTrue(ue!==null,"found null for first outgoing dirEdge"),wa.isTrue(ue.getEdgeRing()===te,"unable to link last incoming dirEdge"),pe.setNextMin(ue))},q.prototype.getOutgoingDegree=function(){if(arguments.length===0){for(var te=0,ne=this.iterator();ne.hasNext();){var ue=ne.next();ue.isInResult()&&te++}return te}if(arguments.length===1){for(var pe=arguments[0],Ee=0,ve=this.iterator();ve.hasNext();){var be=ve.next();be.getEdgeRing()===pe&&Ee++}return Ee}},q.prototype.getLabel=function(){return this._label},q.prototype.findCoveredLineEdges=function(){for(var te=or.NONE,ne=this.iterator();ne.hasNext();){var ue=ne.next(),pe=ue.getSym();if(!ue.isLineEdge()){if(ue.isInResult()){te=or.INTERIOR;break}if(pe.isInResult()){te=or.EXTERIOR;break}}}if(te===or.NONE)return null;for(var Ee=te,ve=this.iterator();ve.hasNext();){var be=ve.next(),Te=be.getSym();be.isLineEdge()?be.getEdge().setCovered(Ee===or.INTERIOR):(be.isInResult()&&(Ee=or.EXTERIOR),Te.isInResult()&&(Ee=or.INTERIOR))}},q.prototype.computeLabelling=function(te){V.prototype.computeLabelling.call(this,te),this._label=new wl(or.NONE);for(var ne=this.iterator();ne.hasNext();)for(var ue=ne.next().getEdge().getLabel(),pe=0;pe<2;pe++){var Ee=ue.getLocation(pe);Ee!==or.INTERIOR&&Ee!==or.BOUNDARY||this._label.setLocation(pe,or.INTERIOR)}},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q}(lg),MG=function(V){function q(){V.apply(this,arguments)}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.createNode=function(te){return new bk(te,new jne)},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q}(dy),fy=function V(){this._pts=null,this._orientation=null;var q=arguments[0];this._pts=q,this._orientation=V.orientation(q)};fy.prototype.compareTo=function(V){var q=V;return fy.compareOriented(this._pts,this._orientation,q._pts,q._orientation)},fy.prototype.interfaces_=function(){return[sf]},fy.prototype.getClass=function(){return fy},fy.orientation=function(V){return Xt.increasingDirection(V)===1},fy.compareOriented=function(V,q,te,ne){for(var ue=q?1:-1,pe=ne?1:-1,Ee=q?V.length:-1,ve=ne?te.length:-1,be=q?0:V.length-1,Te=ne?0:te.length-1;;){var Ye=V[be].compareTo(te[Te]);if(Ye!==0)return Ye;var Ge=(be+=ue)===Ee,$e=(Te+=pe)===ve;if(Ge&&!$e)return-1;if(!Ge&&$e)return 1;if(Ge&&$e)return 0}};var dC=function(){this._edges=new We,this._ocaMap=new eA};dC.prototype.print=function(V){V.print("MULTILINESTRING ( ");for(var q=0;q0&&V.print(","),V.print("(");for(var ne=te.getCoordinates(),ue=0;ue0&&V.print(","),V.print(ne[ue].x+" "+ne[ue].y);V.println(")")}V.print(") ")},dC.prototype.addAll=function(V){for(var q=V.iterator();q.hasNext();)this.add(q.next())},dC.prototype.findEdgeIndex=function(V){for(var q=0;q0||!q.coord.equals2D(ne);ue||te--;var pe=new Array(te).fill(null),Ee=0;pe[Ee++]=new Wi(V.coord);for(var ve=V.segmentIndex+1;ve<=q.segmentIndex;ve++)pe[Ee++]=this.edge.pts[ve];return ue&&(pe[Ee]=q.coord),new Sk(pe,new wl(this.edge._label))},qf.prototype.add=function(V,q,te){var ne=new QE(V,q,te),ue=this._nodeMap.get(ne);return ue!==null?ue:(this._nodeMap.put(ne,ne),ne)},qf.prototype.isIntersection=function(V){for(var q=this.iterator();q.hasNext();)if(q.next().coord.equals(V))return!0;return!1},qf.prototype.interfaces_=function(){return[]},qf.prototype.getClass=function(){return qf};var Fw=function(){};Fw.prototype.getChainStartIndices=function(V){var q=0,te=new We;te.add(new Hp(q));do{var ne=this.findChainEnd(V,q);te.add(new Hp(ne)),q=ne}while(qte?q:te},py.prototype.getMinX=function(V){var q=this.pts[this.startIndex[V]].x,te=this.pts[this.startIndex[V+1]].x;return qte&&(ue=1),V._depth[q][ne]=ue}}},bd.prototype.getDelta=function(V){return this._depth[V][gn.RIGHT]-this._depth[V][gn.LEFT]},bd.prototype.getLocation=function(V,q){return this._depth[V][q]<=0?or.EXTERIOR:or.INTERIOR},bd.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},bd.prototype.add=function(){var V=this;if(arguments.length===1)for(var q=arguments[0],te=0;te<2;te++)for(var ne=1;ne<3;ne++){var ue=q.getLocation(te,ne);ue!==or.EXTERIOR&&ue!==or.INTERIOR||(V.isNull(te,ne)?V._depth[te][ne]=bd.depthAtLocation(ue):V._depth[te][ne]+=bd.depthAtLocation(ue))}else if(arguments.length===3){var pe=arguments[0],Ee=arguments[1],ve=arguments[2];ve===or.INTERIOR&&this._depth[pe][Ee]++}},bd.prototype.interfaces_=function(){return[]},bd.prototype.getClass=function(){return bd},bd.depthAtLocation=function(V){return V===or.EXTERIOR?0:V===or.INTERIOR?1:bd.NULL_VALUE},bK.NULL_VALUE.get=function(){return-1},Object.defineProperties(bd,bK);var Sk=function(V){function q(){if(V.call(this),this.pts=null,this._env=null,this.eiList=new qf(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new bd,this._depthDelta=0,arguments.length===1){var te=arguments[0];q.call(this,te,null)}else if(arguments.length===2){var ne=arguments[0],ue=arguments[1];this.pts=ne,this._label=ue}}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.getDepth=function(){return this._depth},q.prototype.getCollapsedEdge=function(){var te=new Array(2).fill(null);return te[0]=this.pts[0],te[1]=this.pts[1],new q(te,wl.toLineLabel(this._label))},q.prototype.isIsolated=function(){return this._isIsolated},q.prototype.getCoordinates=function(){return this.pts},q.prototype.setIsolated=function(te){this._isIsolated=te},q.prototype.setName=function(te){this._name=te},q.prototype.equals=function(te){if(!(te instanceof q))return!1;var ne=te;if(this.pts.length!==ne.pts.length)return!1;for(var ue=!0,pe=!0,Ee=this.pts.length,ve=0;ve0?this.pts[0]:null;if(arguments.length===1){var te=arguments[0];return this.pts[te]}},q.prototype.print=function(te){te.print("edge "+this._name+": "),te.print("LINESTRING (");for(var ne=0;ne0&&te.print(","),te.print(this.pts[ne].x+" "+this.pts[ne].y);te.print(") "+this._label+" "+this._depthDelta)},q.prototype.computeIM=function(te){q.updateIM(this._label,te)},q.prototype.isCollapsed=function(){return!!this._label.isArea()&&this.pts.length===3&&!!this.pts[0].equals(this.pts[2])},q.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},q.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},q.prototype.getDepthDelta=function(){return this._depthDelta},q.prototype.getNumPoints=function(){return this.pts.length},q.prototype.printReverse=function(te){te.print("edge "+this._name+": ");for(var ne=this.pts.length-1;ne>=0;ne--)te.print(this.pts[ne]+" ");te.println("")},q.prototype.getMonotoneChainEdge=function(){return this._mce===null&&(this._mce=new py(this)),this._mce},q.prototype.getEnvelope=function(){if(this._env===null){this._env=new xo;for(var te=0;te0&&te.append(","),te.append(this.pts[ne].x+" "+this.pts[ne].y);return te.append(") "+this._label+" "+this._depthDelta),te.toString()},q.prototype.isPointwiseEqual=function(te){if(this.pts.length!==te.pts.length)return!1;for(var ne=0;nene||this._maxype;if(Ee)return!1;var ve=this.intersectsToleranceSquare(V,q);return wa.isTrue(!(Ee&&ve),"Found bad envelope test"),ve},df.prototype.initCorners=function(V){var q=.5;this._minx=V.x-q,this._maxx=V.x+q,this._miny=V.y-q,this._maxy=V.y+q,this._corner[0]=new Wi(this._maxx,this._maxy),this._corner[1]=new Wi(this._minx,this._maxy),this._corner[2]=new Wi(this._minx,this._miny),this._corner[3]=new Wi(this._maxx,this._miny)},df.prototype.intersects=function(V,q){return this._scaleFactor===1?this.intersectsScaled(V,q):(this.copyScaled(V,this._p0Scaled),this.copyScaled(q,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},df.prototype.scale=function(V){return Math.round(V*this._scaleFactor)},df.prototype.getCoordinate=function(){return this._originalPt},df.prototype.copyScaled=function(V,q){q.x=this.scale(V.x),q.y=this.scale(V.y)},df.prototype.getSafeEnvelope=function(){if(this._safeEnv===null){var V=df.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new xo(this._originalPt.x-V,this._originalPt.x+V,this._originalPt.y-V,this._originalPt.y+V)}return this._safeEnv},df.prototype.intersectsPixelClosure=function(V,q){return this._li.computeIntersection(V,q,this._corner[0],this._corner[1]),!!this._li.hasIntersection()||(this._li.computeIntersection(V,q,this._corner[1],this._corner[2]),!!this._li.hasIntersection()||(this._li.computeIntersection(V,q,this._corner[2],this._corner[3]),!!this._li.hasIntersection()||(this._li.computeIntersection(V,q,this._corner[3],this._corner[0]),!!this._li.hasIntersection())))},df.prototype.intersectsToleranceSquare=function(V,q){var te=!1,ne=!1;return this._li.computeIntersection(V,q,this._corner[0],this._corner[1]),!!this._li.isProper()||(this._li.computeIntersection(V,q,this._corner[1],this._corner[2]),!!this._li.isProper()||(this._li.hasIntersection()&&(te=!0),this._li.computeIntersection(V,q,this._corner[2],this._corner[3]),!!this._li.isProper()||(this._li.hasIntersection()&&(ne=!0),this._li.computeIntersection(V,q,this._corner[3],this._corner[0]),!!this._li.isProper()||!(!te||!ne)||!!V.equals(this._pt)||!!q.equals(this._pt))))},df.prototype.addSnappedNode=function(V,q){var te=V.getCoordinate(q),ne=V.getCoordinate(q+1);return!!this.intersects(te,ne)&&(V.addIntersection(this.getCoordinate(),q),!0)},df.prototype.interfaces_=function(){return[]},df.prototype.getClass=function(){return df},SK.SAFE_ENV_EXPANSION_FACTOR.get=function(){return .75},Object.defineProperties(df,SK);var ZR=function(){this.tempEnv1=new xo,this.selectedSegment=new bo};ZR.prototype.select=function(){if(arguments.length!==1&&arguments.length===2){var V=arguments[0],q=arguments[1];V.getLineSegment(q,this.selectedSegment),this.select(this.selectedSegment)}},ZR.prototype.interfaces_=function(){return[]},ZR.prototype.getClass=function(){return ZR};var UM=function(){this._index=null;var V=arguments[0];this._index=V},DK={HotPixelSnapAction:{configurable:!0}};UM.prototype.snap=function(){if(arguments.length===1){var V=arguments[0];return this.snap(V,null,-1)}if(arguments.length===3){var q=arguments[0],te=arguments[1],ne=arguments[2],ue=q.getSafeEnvelope(),pe=new MK(q,te,ne);return this._index.query(ue,{interfaces_:function(){return[qp]},visitItem:function(Ee){Ee.select(ue,pe)}}),pe.isNodeAdded()}},UM.prototype.interfaces_=function(){return[]},UM.prototype.getClass=function(){return UM},DK.HotPixelSnapAction.get=function(){return MK},Object.defineProperties(UM,DK);var MK=function(V){function q(){V.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var te=arguments[0],ne=arguments[1],ue=arguments[2];this._hotPixel=te,this._parentEdge=ne,this._hotPixelVertexIndex=ue}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.isNodeAdded=function(){return this._isNodeAdded},q.prototype.select=function(){if(arguments.length!==2)return V.prototype.select.apply(this,arguments);var te=arguments[0],ne=arguments[1],ue=te.getContext();if(this._parentEdge!==null&&ue===this._parentEdge&&ne===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(ue,ne)},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q}(ZR),BQ=function(){this._li=null,this._interiorIntersections=null;var V=arguments[0];this._li=V,this._interiorIntersections=new We};BQ.prototype.processIntersections=function(V,q,te,ne){if(V===te&&q===ne)return null;var ue=V.getCoordinates()[q],pe=V.getCoordinates()[q+1],Ee=te.getCoordinates()[ne],ve=te.getCoordinates()[ne+1];if(this._li.computeIntersection(ue,pe,Ee,ve),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var be=0;be=0;q--){try{V.bufferReducedPrecision(q)}catch(pe){if(!(pe instanceof vE))throw pe;V._saveException=pe}if(V._resultGeometry!==null)return null}throw this._saveException}if(arguments.length===1){var te=arguments[0],ne=Qd.precisionScaleFactor(this._argGeom,this._distance,te),ue=new Ll(ne);this.bufferFixedPrecision(ue)}},Qd.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),this._resultGeometry!==null)return null;var V=this._argGeom.getFactory().getPrecisionModel();V.getType()===Ll.FIXED?this.bufferFixedPrecision(V):this.bufferReducedPrecision()},Qd.prototype.setQuadrantSegments=function(V){this._bufParams.setQuadrantSegments(V)},Qd.prototype.bufferOriginalPrecision=function(){try{var V=new Ag(this._bufParams);this._resultGeometry=V.buffer(this._argGeom,this._distance)}catch(q){if(!(q instanceof pE))throw q;this._saveException=q}},Qd.prototype.getResultGeometry=function(V){return this._distance=V,this.computeGeometry(),this._resultGeometry},Qd.prototype.setEndCapStyle=function(V){this._bufParams.setEndCapStyle(V)},Qd.prototype.interfaces_=function(){return[]},Qd.prototype.getClass=function(){return Qd},Qd.bufferOp=function(){if(arguments.length===2){var V=arguments[0],q=arguments[1],te=new Qd(V),ne=te.getResultGeometry(q);return ne}if(arguments.length===3){if(Number.isInteger(arguments[2])&&arguments[0]instanceof Vo&&typeof arguments[1]=="number"){var ue=arguments[0],pe=arguments[1],Ee=arguments[2],ve=new Qd(ue);ve.setQuadrantSegments(Ee);var be=ve.getResultGeometry(pe);return be}if(arguments[2]instanceof Fl&&arguments[0]instanceof Vo&&typeof arguments[1]=="number"){var Te=arguments[0],Ye=arguments[1],Ge=arguments[2],$e=new Qd(Te,Ge),ot=$e.getResultGeometry(Ye);return ot}}else if(arguments.length===4){var nt=arguments[0],lt=arguments[1],it=arguments[2],Dt=arguments[3],ei=new Qd(nt);ei.setQuadrantSegments(it),ei.setEndCapStyle(Dt);var st=ei.getResultGeometry(lt);return st}},Qd.precisionScaleFactor=function(V,q,te){var ne=V.getEnvelopeInternal(),ue=lf.max(Math.abs(ne.getMaxX()),Math.abs(ne.getMaxY()),Math.abs(ne.getMinX()),Math.abs(ne.getMinY()))+2*(q>0?q:0),pe=te-Math.trunc(Math.log(ue)/Math.log(10)+1);return Math.pow(10,pe)},OM.CAP_ROUND.get=function(){return Fl.CAP_ROUND},OM.CAP_BUTT.get=function(){return Fl.CAP_FLAT},OM.CAP_FLAT.get=function(){return Fl.CAP_FLAT},OM.CAP_SQUARE.get=function(){return Fl.CAP_SQUARE},OM.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(Qd,OM);var Fg=function(){this._pt=[new Wi,new Wi],this._distance=Ia.NaN,this._isNull=!0};Fg.prototype.getCoordinates=function(){return this._pt},Fg.prototype.getCoordinate=function(V){return this._pt[V]},Fg.prototype.setMinimum=function(){if(arguments.length===1){var V=arguments[0];this.setMinimum(V._pt[0],V._pt[1])}else if(arguments.length===2){var q=arguments[0],te=arguments[1];if(this._isNull)return this.initialize(q,te),null;var ne=q.distance(te);nethis._distance&&this.initialize(q,te,ne)}},Fg.prototype.interfaces_=function(){return[]},Fg.prototype.getClass=function(){return Fg};var HI=function(){};HI.prototype.interfaces_=function(){return[]},HI.prototype.getClass=function(){return HI},HI.computeDistance=function(){if(arguments[2]instanceof Fg&&arguments[0]instanceof ec&&arguments[1]instanceof Wi)for(var V=arguments[0],q=arguments[1],te=arguments[2],ne=V.getCoordinates(),ue=new bo,pe=0;pe0||this._isIn?or.INTERIOR:or.EXTERIOR)},gC.prototype.interfaces_=function(){return[]},gC.prototype.getClass=function(){return gC};var Ng=function V(){if(this._component=null,this._segIndex=null,this._pt=null,arguments.length===2){var q=arguments[0],te=arguments[1];V.call(this,q,V.INSIDE_AREA,te)}else if(arguments.length===3){var ne=arguments[0],ue=arguments[1],pe=arguments[2];this._component=ne,this._segIndex=ue,this._pt=pe}},TK={INSIDE_AREA:{configurable:!0}};Ng.prototype.isInsideArea=function(){return this._segIndex===Ng.INSIDE_AREA},Ng.prototype.getCoordinate=function(){return this._pt},Ng.prototype.getGeometryComponent=function(){return this._component},Ng.prototype.getSegmentIndex=function(){return this._segIndex},Ng.prototype.interfaces_=function(){return[]},Ng.prototype.getClass=function(){return Ng},TK.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Ng,TK);var v_=function(V){this._pts=V||null};v_.prototype.filter=function(V){V instanceof ag&&this._pts.add(V)},v_.prototype.interfaces_=function(){return[CE]},v_.prototype.getClass=function(){return v_},v_.getPoints=function(){if(arguments.length===1){var V=arguments[0];return V instanceof ag?cC.singletonList(V):v_.getPoints(V,new We)}if(arguments.length===2){var q=arguments[0],te=arguments[1];return q instanceof ag?te.add(q):q instanceof Pg&&q.apply(new v_(te)),te}};var bQ=function(){this._locations=null;var V=arguments[0];this._locations=V};bQ.prototype.filter=function(V){(V instanceof ag||V instanceof ec||V instanceof sh)&&this._locations.add(new Ng(V,0,V.getCoordinate()))},bQ.prototype.interfaces_=function(){return[CE]},bQ.prototype.getClass=function(){return bQ},bQ.getLocations=function(V){var q=new We;return V.apply(new bQ(q)),q};var Oh=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new gC,this._minDistanceLocation=null,this._minDistance=Ia.MAX_VALUE,arguments.length===2){var V=arguments[0],q=arguments[1];this._geom=[V,q],this._terminateDistance=0}else if(arguments.length===3){var te=arguments[0],ne=arguments[1],ue=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=te,this._geom[1]=ne,this._terminateDistance=ue}};Oh.prototype.computeContainmentDistance=function(){var V=this;if(arguments.length===0){var q=new Array(2).fill(null);if(this.computeContainmentDistance(0,q),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,q)}else if(arguments.length===2){var te=arguments[0],ne=arguments[1],ue=1-te,pe=Cy.getPolygons(this._geom[te]);if(pe.size()>0){var Ee=bQ.getLocations(this._geom[ue]);if(this.computeContainmentDistance(Ee,pe,ne),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[ue]=ne[0],this._minDistanceLocation[te]=ne[1],null}}else if(arguments.length===3){if(arguments[2]instanceof Array&&Zo(arguments[0],xe)&&Zo(arguments[1],xe)){for(var ve=arguments[0],be=arguments[1],Te=arguments[2],Ye=0;Yethis._minDistance)return null;for(var ue=q.getCoordinates(),pe=te.getCoordinate(),Ee=0;Eethis._minDistance)return null;for(var ot=Ye.getCoordinates(),nt=Ge.getCoordinates(),lt=0;ltthis._distance&&this.initialize(q,te,ne)}},Dd.prototype.interfaces_=function(){return[]},Dd.prototype.getClass=function(){return Dd};var fC=function(){};fC.prototype.interfaces_=function(){return[]},fC.prototype.getClass=function(){return fC},fC.computeDistance=function(){if(arguments[2]instanceof Dd&&arguments[0]instanceof ec&&arguments[1]instanceof Wi)for(var V=arguments[0],q=arguments[1],te=arguments[2],ne=new bo,ue=V.getCoordinates(),pe=0;pe1||V<=0)throw new XA("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=V},Zp.prototype.compute=function(V,q){this.computeOrientedDistance(V,q,this._ptDist),this.computeOrientedDistance(q,V,this._ptDist)},Zp.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},Zp.prototype.computeOrientedDistance=function(V,q,te){var ne=new QQ(q);if(V.apply(ne),te.setMaximum(ne.getMaxPointDistance()),this._densifyFrac>0){var ue=new VI(q,this._densifyFrac);V.apply(ue),te.setMaximum(ue.getMaxPointDistance())}},Zp.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},Zp.prototype.interfaces_=function(){return[]},Zp.prototype.getClass=function(){return Zp},Zp.distance=function(){if(arguments.length===2){var V=arguments[0],q=arguments[1],te=new Zp(V,q);return te.distance()}if(arguments.length===3){var ne=arguments[0],ue=arguments[1],pe=arguments[2],Ee=new Zp(ne,ue);return Ee.setDensifyFraction(pe),Ee.distance()}},PG.MaxPointDistanceFilter.get=function(){return QQ},PG.MaxDensifiedByFractionDistanceFilter.get=function(){return VI},Object.defineProperties(Zp,PG);var QQ=function(){this._maxPtDist=new Dd,this._minPtDist=new Dd,this._euclideanDist=new fC,this._geom=null;var V=arguments[0];this._geom=V};QQ.prototype.filter=function(V){this._minPtDist.initialize(),fC.computeDistance(this._geom,V,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},QQ.prototype.getMaxPointDistance=function(){return this._maxPtDist},QQ.prototype.interfaces_=function(){return[sC]},QQ.prototype.getClass=function(){return QQ};var VI=function(){this._maxPtDist=new Dd,this._minPtDist=new Dd,this._geom=null,this._numSubSegs=0;var V=arguments[0],q=arguments[1];this._geom=V,this._numSubSegs=Math.trunc(Math.round(1/q))};VI.prototype.filter=function(V,q){var te=this;if(q===0)return null;for(var ne=V.getCoordinate(q-1),ue=V.getCoordinate(q),pe=(ue.x-ne.x)/this._numSubSegs,Ee=(ue.y-ne.y)/this._numSubSegs,ve=0;vete){this._isValid=!1;var ue=ne.getCoordinates();this._errorLocation=ue[1],this._errorIndicator=V.getFactory().createLineString(ue),this._errMsg="Distance between buffer curve and input is too large ("+this._maxDistanceFound+" at "+V0.toLineString(ue[0],ue[1])+")"}},jf.prototype.isValid=function(){var V=Math.abs(this._bufDistance),q=jf.MAX_DISTANCE_DIFF_FRAC*V;return this._minValidDistance=V-q,this._maxValidDistance=V+q,!(!this._input.isEmpty()&&!this._result.isEmpty())||(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),jf.VERBOSE&&Rh.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},jf.prototype.checkNegativeValid=function(){if(!(this._input instanceof sh||this._input instanceof IE||this._input instanceof Pg))return null;var V=this.getPolygonLines(this._input);if(this.checkMinimumDistance(V,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(V,this._result,this._maxValidDistance)},jf.prototype.getErrorIndicator=function(){return this._errorIndicator},jf.prototype.checkMinimumDistance=function(V,q,te){var ne=new Oh(V,q,te);if(this._minDistanceFound=ne.distance(),this._minDistanceFound0&&V>q&&(this._isValid=!1,this._errorMsg="Area of positive buffer is smaller than input",this._errorIndicator=this._result),this._distance<0&&V=2||this._distance>0?null:(this._result.isEmpty()||(this._isValid=!1,this._errorMsg="Result is non-empty",this._errorIndicator=this._result),void this.report("ExpectedEmpty"))},Md.prototype.report=function(V){if(!Md.VERBOSE)return null;Rh.out.println("Check "+V+": "+(this._isValid?"passed":"FAILED"))},Md.prototype.getErrorMessage=function(){return this._errorMsg},Md.prototype.interfaces_=function(){return[]},Md.prototype.getClass=function(){return Md},Md.isValidMsg=function(V,q,te){var ne=new Md(V,q,te);return ne.isValid()?null:ne.getErrorMessage()},Md.isValid=function(V,q,te){return!!new Md(V,q,te).isValid()},Xf.VERBOSE.get=function(){return!1},Xf.MAX_ENV_DIFF_FRAC.get=function(){return .012},Object.defineProperties(Md,Xf);var $p=function(){this._pts=null,this._data=null;var V=arguments[0],q=arguments[1];this._pts=V,this._data=q};$p.prototype.getCoordinates=function(){return this._pts},$p.prototype.size=function(){return this._pts.length},$p.prototype.getCoordinate=function(V){return this._pts[V]},$p.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},$p.prototype.getSegmentOctant=function(V){return V===this._pts.length-1?-1:Pw.octant(this.getCoordinate(V),this.getCoordinate(V+1))},$p.prototype.setData=function(V){this._data=V},$p.prototype.getData=function(){return this._data},$p.prototype.toString=function(){return V0.toLineString(new mc(this._pts))},$p.prototype.interfaces_=function(){return[jp]},$p.prototype.getClass=function(){return $p};var rd=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new We,this._intersectionCount=0,this._keepIntersections=!0;var V=arguments[0];this._li=V,this._interiorIntersection=null};rd.prototype.getInteriorIntersection=function(){return this._interiorIntersection},rd.prototype.setCheckEndSegmentsOnly=function(V){this._isCheckEndSegmentsOnly=V},rd.prototype.getIntersectionSegments=function(){return this._intSegments},rd.prototype.count=function(){return this._intersectionCount},rd.prototype.getIntersections=function(){return this._intersections},rd.prototype.setFindAllIntersections=function(V){this._findAllIntersections=V},rd.prototype.setKeepIntersections=function(V){this._keepIntersections=V},rd.prototype.processIntersections=function(V,q,te,ne){if(!this._findAllIntersections&&this.hasIntersection()||V===te&&q===ne||this._isCheckEndSegmentsOnly&&!(this.isEndSegment(V,q)||this.isEndSegment(te,ne)))return null;var ue=V.getCoordinates()[q],pe=V.getCoordinates()[q+1],Ee=te.getCoordinates()[ne],ve=te.getCoordinates()[ne+1];this._li.computeIntersection(ue,pe,Ee,ve),this._li.hasIntersection()&&this._li.isInteriorIntersection()&&(this._intSegments=new Array(4).fill(null),this._intSegments[0]=ue,this._intSegments[1]=pe,this._intSegments[2]=Ee,this._intSegments[3]=ve,this._interiorIntersection=this._li.getIntersection(0),this._keepIntersections&&this._intersections.add(this._interiorIntersection),this._intersectionCount++)},rd.prototype.isEndSegment=function(V,q){return q===0||q>=V.size()-2},rd.prototype.hasIntersection=function(){return this._interiorIntersection!==null},rd.prototype.isDone=function(){return!this._findAllIntersections&&this._interiorIntersection!==null},rd.prototype.interfaces_=function(){return[Lw]},rd.prototype.getClass=function(){return rd},rd.createAllIntersectionsFinder=function(V){var q=new rd(V);return q.setFindAllIntersections(!0),q},rd.createAnyIntersectionFinder=function(V){return new rd(V)},rd.createIntersectionCounter=function(V){var q=new rd(V);return q.setFindAllIntersections(!0),q.setKeepIntersections(!1),q};var pC=function(){this._li=new hy,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var V=arguments[0];this._segStrings=V};pC.prototype.execute=function(){if(this._segInt!==null)return null;this.checkInteriorIntersections()},pC.prototype.getIntersections=function(){return this._segInt.getIntersections()},pC.prototype.isValid=function(){return this.execute(),this._isValid},pC.prototype.setFindAllIntersections=function(V){this._findAllIntersections=V},pC.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new rd(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var V=new DG;if(V.setSegmentIntersector(this._segInt),V.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},pC.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new vE(this.getErrorMessage(),this._segInt.getInteriorIntersection())},pC.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var V=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+V0.toLineString(V[0],V[1])+" and "+V0.toLineString(V[2],V[3])},pC.prototype.interfaces_=function(){return[]},pC.prototype.getClass=function(){return pC},pC.computeIntersections=function(V){var q=new pC(V);return q.setFindAllIntersections(!0),q.isValid(),q.getIntersections()};var kw=function V(){this._nv=null;var q=arguments[0];this._nv=new pC(V.toSegmentStrings(q))};kw.prototype.checkValid=function(){this._nv.checkValid()},kw.prototype.interfaces_=function(){return[]},kw.prototype.getClass=function(){return kw},kw.toSegmentStrings=function(V){for(var q=new We,te=V.iterator();te.hasNext();){var ne=te.next();q.add(new $p(ne.getCoordinates(),ne))}return q},kw.checkValid=function(V){new kw(V).checkValid()};var SQ=function(V){this._mapOp=V};SQ.prototype.map=function(V){for(var q=new We,te=0;te0&&ne<4&&!this._preserveType?this._factory.createLineString(te):this._factory.createLinearRing(te)},ug.prototype.interfaces_=function(){return[]},ug.prototype.getClass=function(){return ug};var zI=function V(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new bo,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof ec&&typeof arguments[1]=="number"){var q=arguments[0],te=arguments[1];V.call(this,q.getCoordinates(),te)}else if(arguments[0]instanceof Array&&typeof arguments[1]=="number"){var ne=arguments[0],ue=arguments[1];this._srcPts=ne,this._isClosed=V.isClosed(ne),this._snapTolerance=ue}};zI.prototype.snapVertices=function(V,q){for(var te=this._isClosed?V.size()-1:V.size(),ne=0;ne=0&&V.add(pe+1,new Wi(ue),!1)}},zI.prototype.findSegmentIndexToSnap=function(V,q){for(var te=this,ne=Ia.MAX_VALUE,ue=-1,pe=0;peq&&(q=ne)}return q}if(arguments.length===2){var ue=arguments[0],pe=arguments[1];return Math.min(Ic.computeOverlaySnapTolerance(ue),Ic.computeOverlaySnapTolerance(pe))}},Ic.computeSizeBasedSnapTolerance=function(V){var q=V.getEnvelopeInternal();return Math.min(q.getHeight(),q.getWidth())*Ic.SNAP_PRECISION_FACTOR},Ic.snapToSelf=function(V,q,te){return new Ic(V).snapToSelf(q,te)},PK.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(Ic,PK);var RK=function(V){function q(te,ne,ue){V.call(this),this._snapTolerance=te||null,this._snapPts=ne||null,this._isSelfSnap=ue!==void 0&&ue}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.snapLine=function(te,ne){var ue=new zI(te,this._snapTolerance);return ue.setAllowSnappingToSourceVertices(this._isSelfSnap),ue.snapTo(ne)},q.prototype.transformCoordinates=function(te,ne){var ue=te.toCoordinateArray(),pe=this.snapLine(ue,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(pe)},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q}(ug),cg=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};cg.prototype.getCommon=function(){return Ia.longBitsToDouble(this._commonBits)},cg.prototype.add=function(V){var q=Ia.doubleToLongBits(V);return this._isFirst?(this._commonBits=q,this._commonSignExp=cg.signExpBits(this._commonBits),this._isFirst=!1,null):cg.signExpBits(q)!==this._commonSignExp?(this._commonBits=0,null):(this._commonMantissaBitsCount=cg.numCommonMostSigMantissaBits(this._commonBits,q),void(this._commonBits=cg.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))))},cg.prototype.toString=function(){if(arguments.length===1){var V=arguments[0],q=Ia.longBitsToDouble(V),te=Ia.toBinaryString(V),ne="0000000000000000000000000000000000000000000000000000000000000000"+te,ue=ne.substring(ne.length-64),pe=ue.substring(0,1)+" "+ue.substring(1,12)+"(exp) "+ue.substring(12)+" [ "+q+" ]";return pe}},cg.prototype.interfaces_=function(){return[]},cg.prototype.getClass=function(){return cg},cg.getBit=function(V,q){return V&1<>52},cg.zeroLowerBits=function(V,q){return V&~((1<=0;ne--){if(cg.getBit(V,ne)!==cg.getBit(q,ne))return te;te++}return 52};var __=function(){this._commonCoord=null,this._ccFilter=new MQ},LG={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};__.prototype.addCommonBits=function(V){var q=new YI(this._commonCoord);V.apply(q),V.geometryChanged()},__.prototype.removeCommonBits=function(V){if(this._commonCoord.x===0&&this._commonCoord.y===0)return V;var q=new Wi(this._commonCoord);q.x=-q.x,q.y=-q.y;var te=new YI(q);return V.apply(te),V.geometryChanged(),V},__.prototype.getCommonCoordinate=function(){return this._commonCoord},__.prototype.add=function(V){V.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},__.prototype.interfaces_=function(){return[]},__.prototype.getClass=function(){return __},LG.CommonCoordinateFilter.get=function(){return MQ},LG.Translater.get=function(){return YI},Object.defineProperties(__,LG);var MQ=function(){this._commonBitsX=new cg,this._commonBitsY=new cg};MQ.prototype.filter=function(V){this._commonBitsX.add(V.x),this._commonBitsY.add(V.y)},MQ.prototype.getCommonCoordinate=function(){return new Wi(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},MQ.prototype.interfaces_=function(){return[sC]},MQ.prototype.getClass=function(){return MQ};var YI=function(){this.trans=null;var V=arguments[0];this.trans=V};YI.prototype.filter=function(V,q){var te=V.getOrdinate(q,0)+this.trans.x,ne=V.getOrdinate(q,1)+this.trans.y;V.setOrdinate(q,0,te),V.setOrdinate(q,1,ne)},YI.prototype.isDone=function(){return!1},YI.prototype.isGeometryChanged=function(){return!0},YI.prototype.interfaces_=function(){return[AC]},YI.prototype.getClass=function(){return YI};var Ah=function(V,q){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=V,this._geom[1]=q,this.computeSnapTolerance()};Ah.prototype.selfSnap=function(V){return new Ic(V).snapTo(V,this._snapTolerance)},Ah.prototype.removeCommonBits=function(V){this._cbr=new __,this._cbr.add(V[0]),this._cbr.add(V[1]);var q=new Array(2).fill(null);return q[0]=this._cbr.removeCommonBits(V[0].copy()),q[1]=this._cbr.removeCommonBits(V[1].copy()),q},Ah.prototype.prepareResult=function(V){return this._cbr.addCommonBits(V),V},Ah.prototype.getResultGeometry=function(V){var q=this.snap(this._geom),te=Ie.overlayOp(q[0],q[1],V);return this.prepareResult(te)},Ah.prototype.checkValid=function(V){V.isValid()||Rh.out.println("Snapped geometry is invalid")},Ah.prototype.computeSnapTolerance=function(){this._snapTolerance=Ic.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},Ah.prototype.snap=function(V){var q=this.removeCommonBits(V);return Ic.snap(q[0],q[1],this._snapTolerance)},Ah.prototype.interfaces_=function(){return[]},Ah.prototype.getClass=function(){return Ah},Ah.overlayOp=function(V,q,te){return new Ah(V,q).getResultGeometry(te)},Ah.union=function(V,q){return Ah.overlayOp(V,q,Ie.UNION)},Ah.intersection=function(V,q){return Ah.overlayOp(V,q,Ie.INTERSECTION)},Ah.symDifference=function(V,q){return Ah.overlayOp(V,q,Ie.SYMDIFFERENCE)},Ah.difference=function(V,q){return Ah.overlayOp(V,q,Ie.DIFFERENCE)};var kg=function(V,q){this._geom=new Array(2).fill(null),this._geom[0]=V,this._geom[1]=q};kg.prototype.getResultGeometry=function(V){var q=null,te=!1,ne=null;try{q=Ie.overlayOp(this._geom[0],this._geom[1],V),te=!0}catch(ue){if(!(ue instanceof pE))throw ue;ne=ue}if(!te)try{q=Ah.overlayOp(this._geom[0],this._geom[1],V)}catch(ue){throw ue instanceof pE?ne:ue}return q},kg.prototype.interfaces_=function(){return[]},kg.prototype.getClass=function(){return kg},kg.overlayOp=function(V,q,te){return new kg(V,q).getResultGeometry(te)},kg.union=function(V,q){return kg.overlayOp(V,q,Ie.UNION)},kg.intersection=function(V,q){return kg.overlayOp(V,q,Ie.INTERSECTION)},kg.symDifference=function(V,q){return kg.overlayOp(V,q,Ie.SYMDIFFERENCE)},kg.difference=function(V,q){return kg.overlayOp(V,q,Ie.DIFFERENCE)};var $R=function(){this.mce=null,this.chainIndex=null;var V=arguments[0],q=arguments[1];this.mce=V,this.chainIndex=q};$R.prototype.computeIntersections=function(V,q){this.mce.computeIntersectsForChain(this.chainIndex,V.mce,V.chainIndex,q)},$R.prototype.interfaces_=function(){return[]},$R.prototype.getClass=function(){return $R};var Zf=function V(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,arguments.length===2){var q=arguments[0],te=arguments[1];this._eventType=V.DELETE,this._xValue=q,this._insertEvent=te}else if(arguments.length===3){var ne=arguments[0],ue=arguments[1],pe=arguments[2];this._eventType=V.INSERT,this._label=ne,this._xValue=ue,this._obj=pe}},FG={INSERT:{configurable:!0},DELETE:{configurable:!0}};Zf.prototype.isDelete=function(){return this._eventType===Zf.DELETE},Zf.prototype.setDeleteEventIndex=function(V){this._deleteEventIndex=V},Zf.prototype.getObject=function(){return this._obj},Zf.prototype.compareTo=function(V){var q=V;return this._xValueq._xValue?1:this._eventTypeq._eventType?1:0},Zf.prototype.getInsertEvent=function(){return this._insertEvent},Zf.prototype.isInsert=function(){return this._eventType===Zf.INSERT},Zf.prototype.isSameLabel=function(V){return this._label!==null&&this._label===V._label},Zf.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},Zf.prototype.interfaces_=function(){return[sf]},Zf.prototype.getClass=function(){return Zf},FG.INSERT.get=function(){return 1},FG.DELETE.get=function(){return 2},Object.defineProperties(Zf,FG);var Dk=function(){};Dk.prototype.interfaces_=function(){return[]},Dk.prototype.getClass=function(){return Dk};var Td=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;var V=arguments[0],q=arguments[1],te=arguments[2];this._li=V,this._includeProper=q,this._recordIsolated=te};Td.prototype.isTrivialIntersection=function(V,q,te,ne){if(V===te&&this._li.getIntersectionNum()===1){if(Td.isAdjacentSegments(q,ne))return!0;if(V.isClosed()){var ue=V.getNumPoints()-1;if(q===0&&ne===ue||ne===0&&q===ue)return!0}}return!1},Td.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},Td.prototype.setIsDoneIfProperInt=function(V){this._isDoneWhenProperInt=V},Td.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},Td.prototype.isBoundaryPointInternal=function(V,q){for(var te=q.iterator();te.hasNext();){var ne=te.next().getCoordinate();if(V.isIntersection(ne))return!0}return!1},Td.prototype.hasProperIntersection=function(){return this._hasProper},Td.prototype.hasIntersection=function(){return this._hasIntersection},Td.prototype.isDone=function(){return this._isDone},Td.prototype.isBoundaryPoint=function(V,q){return q!==null&&(!!this.isBoundaryPointInternal(V,q[0])||!!this.isBoundaryPointInternal(V,q[1]))},Td.prototype.setBoundaryNodes=function(V,q){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=V,this._bdyNodes[1]=q},Td.prototype.addIntersections=function(V,q,te,ne){if(V===te&&q===ne)return null;this.numTests++;var ue=V.getCoordinates()[q],pe=V.getCoordinates()[q+1],Ee=te.getCoordinates()[ne],ve=te.getCoordinates()[ne+1];this._li.computeIntersection(ue,pe,Ee,ve),this._li.hasIntersection()&&(this._recordIsolated&&(V.setIsolated(!1),te.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(V,q,te,ne)||(this._hasIntersection=!0,!this._includeProper&&this._li.isProper()||(V.addIntersections(this._li,q,0),te.addIntersections(this._li,ne,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))},Td.prototype.interfaces_=function(){return[]},Td.prototype.getClass=function(){return Td},Td.isAdjacentSegments=function(V,q){return Math.abs(V-q)===1};var Xne=function(V){function q(){V.call(this),this.events=new We,this.nOverlaps=null}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.prepareEvents=function(){cC.sort(this.events);for(var te=0;teq||this._maxpe?1:0},eL.prototype.interfaces_=function(){return[g_]},eL.prototype.getClass=function(){return eL};var Zne=function(V){function q(){V.call(this),this._item=null;var te=arguments[0],ne=arguments[1],ue=arguments[2];this._min=te,this._max=ne,this._item=ue}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.query=function(te,ne,ue){if(!this.intersects(te,ne))return null;ue.visitItem(this._item)},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q}(JI),$ne=function(V){function q(){V.call(this),this._node1=null,this._node2=null;var te=arguments[0],ne=arguments[1];this._node1=te,this._node2=ne,this.buildExtent(this._node1,this._node2)}return V&&(q.__proto__=V),q.prototype=Object.create(V&&V.prototype),q.prototype.constructor=q,q.prototype.buildExtent=function(te,ne){this._min=Math.min(te._min,ne._min),this._max=Math.max(te._max,ne._max)},q.prototype.query=function(te,ne,ue){if(!this.intersects(te,ne))return null;this._node1!==null&&this._node1.query(te,ne,ue),this._node2!==null&&this._node2.query(te,ne,ue)},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q}(JI),KI=function(){this._leaves=new We,this._root=null,this._level=0};KI.prototype.buildTree=function(){cC.sort(this._leaves,new JI.NodeComparator);for(var V=this._leaves,q=null,te=new We;;){if(this.buildLevel(V,te),te.size()===1)return te.get(0);q=V,V=te,te=q}},KI.prototype.insert=function(V,q,te){if(this._root!==null)throw new Error("Index cannot be added to once it has been queried");this._leaves.add(new Zne(V,q,te))},KI.prototype.query=function(V,q,te){this.init(),this._root.query(V,q,te)},KI.prototype.buildRoot=function(){if(this._root!==null)return null;this._root=this.buildTree()},KI.prototype.printNode=function(V){Rh.out.println(V0.toLineString(new Wi(V._min,this._level),new Wi(V._max,this._level)))},KI.prototype.init=function(){if(this._root!==null)return null;this.buildRoot()},KI.prototype.buildLevel=function(V,q){this._level++,q.clear();for(var te=0;te=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,ne[0]),this.insertBoundaryPoint(this._argIndex,ne[ne.length-1])},q.prototype.getInvalidPoint=function(){return this._invalidPoint},q.prototype.getBoundaryPoints=function(){for(var te=this.getBoundaryNodes(),ne=new Array(te.size()).fill(null),ue=0,pe=te.iterator();pe.hasNext();){var Ee=pe.next();ne[ue++]=Ee.getCoordinate().copy()}return ne},q.prototype.getBoundaryNodes=function(){return this._boundaryNodes===null&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},q.prototype.addSelfIntersectionNode=function(te,ne,ue){if(this.isBoundaryNode(te,ne))return null;ue===or.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(te,ne):this.insertPoint(te,ne,ue)},q.prototype.addPolygonRing=function(te,ne,ue){if(te.isEmpty())return null;var pe=Xt.removeRepeatedPoints(te.getCoordinates());if(pe.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=pe[0],null;var Ee=ne,ve=ue;Fn.isCCW(pe)&&(Ee=ue,ve=ne);var be=new Sk(pe,new wl(this._argIndex,or.BOUNDARY,Ee,ve));this._lineEdgeMap.put(te,be),this.insertEdge(be),this.insertPoint(this._argIndex,pe[0],or.BOUNDARY)},q.prototype.insertPoint=function(te,ne,ue){var pe=this._nodes.addNode(ne),Ee=pe.getLabel();Ee===null?pe._label=new wl(te,ue):Ee.setLocation(te,ue)},q.prototype.createEdgeSetIntersector=function(){return new Xne},q.prototype.addSelfIntersectionNodes=function(te){for(var ne=this._edges.iterator();ne.hasNext();)for(var ue=ne.next(),pe=ue.getLabel().getLocation(te),Ee=ue.eiList.iterator();Ee.hasNext();){var ve=Ee.next();this.addSelfIntersectionNode(te,ve.coord,pe)}},q.prototype.add=function(){if(arguments.length!==1)return V.prototype.add.apply(this,arguments);var te=arguments[0];if(te.isEmpty())return null;if(te instanceof IE&&(this._useBoundaryDeterminationRule=!1),te instanceof sh)this.addPolygon(te);else if(te instanceof ec)this.addLineString(te);else if(te instanceof ag)this.addPoint(te);else if(te instanceof NM)this.addCollection(te);else if(te instanceof Mw)this.addCollection(te);else if(te instanceof IE)this.addCollection(te);else{if(!(te instanceof Pg))throw new Error(te.getClass().getName());this.addCollection(te)}},q.prototype.addCollection=function(te){for(var ne=0;ne50?(this._areaPtLocator===null&&(this._areaPtLocator=new HM(this._parentGeom)),this._areaPtLocator.locate(te)):this._ptLocator.locate(te,this._parentGeom)},q.prototype.findEdge=function(){if(arguments.length===1){var te=arguments[0];return this._lineEdgeMap.get(te)}return V.prototype.findEdge.apply(this,arguments)},q.prototype.interfaces_=function(){return[]},q.prototype.getClass=function(){return q},q.determineBoundary=function(te,ne){return te.isInBoundary(ne)?or.BOUNDARY:or.INTERIOR},q}(uu),zM=function(){if(this._li=new hy,this._resultPrecisionModel=null,this._arg=null,arguments.length===1){var V=arguments[0];this.setComputationPrecision(V.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new tL(0,V)}else if(arguments.length===2){var q=arguments[0],te=arguments[1],ne=zf.OGC_SFS_BOUNDARY_RULE;q.getPrecisionModel().compareTo(te.getPrecisionModel())>=0?this.setComputationPrecision(q.getPrecisionModel()):this.setComputationPrecision(te.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new tL(0,q,ne),this._arg[1]=new tL(1,te,ne)}else if(arguments.length===3){var ue=arguments[0],pe=arguments[1],Ee=arguments[2];ue.getPrecisionModel().compareTo(pe.getPrecisionModel())>=0?this.setComputationPrecision(ue.getPrecisionModel()):this.setComputationPrecision(pe.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new tL(0,ue,Ee),this._arg[1]=new tL(1,pe,Ee)}};zM.prototype.getArgGeometry=function(V){return this._arg[V].getGeometry()},zM.prototype.setComputationPrecision=function(V){this._resultPrecisionModel=V,this._li.setPrecisionModel(this._resultPrecisionModel)},zM.prototype.interfaces_=function(){return[]},zM.prototype.getClass=function(){return zM};var Ow=function(){};Ow.prototype.interfaces_=function(){return[]},Ow.prototype.getClass=function(){return Ow},Ow.map=function(){if(arguments[0]instanceof Vo&&Zo(arguments[1],Ow.MapOp)){for(var V=arguments[0],q=arguments[1],te=new We,ne=0;ne=V.size()?null:V.get(q)},Mi.union=function(V){return new Mi(V).union()},Zi.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(Mi,Zi);var Yr=function(){};function Or(){return new sn}function sn(){this.reset()}Yr.prototype.interfaces_=function(){return[]},Yr.prototype.getClass=function(){return Yr},Yr.union=function(V,q){if(V.isEmpty()||q.isEmpty()){if(V.isEmpty()&&q.isEmpty())return Ie.createEmptyResult(Ie.UNION,V,q,V.getFactory());if(V.isEmpty())return q.copy();if(q.isEmpty())return V.copy()}return V.checkNotGeometryCollection(V),V.checkNotGeometryCollection(q),kg.overlayOp(V,q,Ie.UNION)},sn.prototype={constructor:sn,reset:function(){this.s=this.t=0},add:function(V){zo(Zn,V,this.t),zo(this,Zn.s,this.s),this.s?this.t+=Zn.t:this.s=Zn.t},valueOf:function(){return this.s}};var Zn=new sn;function zo(V,q,te){var ne=V.s=q+te,ue=ne-q,pe=ne-ue;V.t=q-pe+(te-ue)}var io=1e-6,lo=Math.PI,$o=lo/2,Ql=lo/4,ys=2*lo,Pd=180/lo,ic=lo/180,$A=Math.abs,nd=Math.atan,$f=Math.atan2,kA=Math.cos,Gc=Math.sin,kG=Math.sqrt;function XQe(V){return V>1?0:V<-1?lo:Math.acos(V)}function Mk(V){return V>1?$o:V<-1?-$o:Math.asin(V)}function UG(){}function FK(V,q){V&&$Qe.hasOwnProperty(V.type)&&$Qe[V.type](V,q)}var ZQe={Feature:function(V,q){FK(V.geometry,q)},FeatureCollection:function(V,q){for(var te=V.features,ne=-1,ue=te.length;++nelo?V-ys:V<-lo?V+ys:V,q]}function iSe(V){return function(q,te){return[(q+=V)>lo?q-ys:q<-lo?q+ys:q,te]}}function rSe(V){var q=iSe(V);return q.invert=iSe(-V),q}function nSe(V,q){var te=kA(V),ne=Gc(V),ue=kA(q),pe=Gc(q);function Ee(ve,be){var Te=kA(be),Ye=kA(ve)*Te,Ge=Gc(ve)*Te,$e=Gc(be),ot=$e*te+Ye*ne;return[$f(Ge*ue-ot*pe,Ye*te-$e*ne),Mk(ot*ue+Ge*pe)]}return Ee.invert=function(ve,be){var Te=kA(be),Ye=kA(ve)*Te,Ge=Gc(ve)*Te,$e=Gc(be),ot=$e*ue-Ge*pe;return[$f(Ge*ue+$e*pe,Ye*te+ot*ne),Mk(ot*te-Ye*ne)]},Ee}function oSe(V,q){(q=Tk(q))[0]-=V,roe(q);var te=XQe(-q[1]);return((-q[2]<0?-te:te)+ys-io)%ys}function aSe(){var V,q=[];return{point:function(te,ne){V.push([te,ne])},lineStart:function(){q.push(V=[])},lineEnd:UG,rejoin:function(){q.length>1&&q.push(q.pop().concat(q.shift()))},result:function(){var te=q;return q=[],V=null,te}}}function OK(V,q){return $A(V[0]-q[0])=0;--pe)ue.point((Ye=Te[pe])[0],Ye[1]);else ne($e.x,$e.p.x,-1,ue);$e=$e.p}Te=($e=$e.o).z,ot=!ot}while(!$e.v);ue.lineEnd()}}}function lSe(V){if(q=V.length){for(var q,te,ne=0,ue=V[0];++neq?1:V>=q?0:NaN}noe.invert=noe;var ooe,uSe;(ooe=ASe).length===1&&(uSe=ooe,ooe=function(V,q){return ASe(uSe(V),q)});function cSe(V){for(var q,te,ne,ue=V.length,pe=-1,Ee=0;++pe=0;)for(q=(ne=V[ue]).length;--q>=0;)te[--Ee]=ne[q];return te}var OG=1e9,HK=-OG;function Aat(V,q,te,ne){function ue(Te,Ye){return V<=Te&&Te<=te&&q<=Ye&&Ye<=ne}function pe(Te,Ye,Ge,$e){var ot=0,nt=0;if(Te==null||(ot=Ee(Te,Ge))!==(nt=Ee(Ye,Ge))||be(Te,Ye)<0^Ge>0)do $e.point(ot===0||ot===3?V:te,ot>1?ne:q);while((ot=(ot+Ge+4)%4)!==nt);else $e.point(Ye[0],Ye[1])}function Ee(Te,Ye){return $A(Te[0]-V)0?0:3:$A(Te[0]-te)0?2:1:$A(Te[1]-q)0?1:0:Ye>0?3:2}function ve(Te,Ye){return be(Te.x,Ye.x)}function be(Te,Ye){var Ge=Ee(Te,1),$e=Ee(Ye,1);return Ge!==$e?Ge-$e:Ge===0?Ye[1]-Te[1]:Ge===1?Te[0]-Ye[0]:Ge===2?Te[1]-Ye[1]:Ye[0]-Te[0]}return function(Te){var Ye,Ge,$e,ot,nt,lt,it,Dt,ei,st,Qt,Rt=Te,Jt=aSe(),Ft={point:tr,lineStart:function(){Ft.point=Hi,Ge&&Ge.push($e=[]),st=!0,ei=!1,it=Dt=NaN},lineEnd:function(){Ye&&(Hi(ot,nt),lt&&ei&&Jt.rejoin(),Ye.push(Jt.result())),Ft.point=tr,ei&&Rt.lineEnd()},polygonStart:function(){Rt=Jt,Ye=[],Ge=[],Qt=!0},polygonEnd:function(){var Cr=function(){for(var Xi=0,$i=0,Yi=Ge.length;$ine&&(ha-Er)*(ne-Ir)>(Va-Ir)*(V-Er)&&++Xi:Va<=ne&&(ha-Er)*(ne-Ir)<(Va-Ir)*(V-Er)&&--Xi;return Xi}(),ji=Qt&&Cr,Sr=(Ye=cSe(Ye)).length;(ji||Sr)&&(Te.polygonStart(),ji&&(Te.lineStart(),pe(null,null,1,Te),Te.lineEnd()),Sr&&sSe(Ye,ve,Cr,pe,Te),Te.polygonEnd()),Rt=Te,Ye=Ge=$e=null}};function tr(Cr,ji){ue(Cr,ji)&&Rt.point(Cr,ji)}function Hi(Cr,ji){var Sr=ue(Cr,ji);if(Ge&&$e.push([Cr,ji]),st)ot=Cr,nt=ji,lt=Sr,st=!1,Sr&&(Rt.lineStart(),Rt.point(Cr,ji));else if(Sr&&ei)Rt.point(Cr,ji);else{var Xi=[it=Math.max(HK,Math.min(OG,it)),Dt=Math.max(HK,Math.min(OG,Dt))],$i=[Cr=Math.max(HK,Math.min(OG,Cr)),ji=Math.max(HK,Math.min(OG,ji))];(function(Yi,Er,Ir,br,Qi,Dn){var Cn,ha=Yi[0],Va=Yi[1],dA=0,_u=1,dl=Er[0]-ha,Il=Er[1]-Va;if(Cn=Ir-ha,dl||!(Cn>0)){if(Cn/=dl,dl<0){if(Cn0){if(Cn>_u)return;Cn>dA&&(dA=Cn)}if(Cn=Qi-ha,dl||!(Cn<0)){if(Cn/=dl,dl<0){if(Cn>_u)return;Cn>dA&&(dA=Cn)}else if(dl>0){if(Cn0)){if(Cn/=Il,Il<0){if(Cn0){if(Cn>_u)return;Cn>dA&&(dA=Cn)}if(Cn=Dn-Va,Il||!(Cn<0)){if(Cn/=Il,Il<0){if(Cn>_u)return;Cn>dA&&(dA=Cn)}else if(Il>0){if(Cn0&&(Yi[0]=ha+dA*dl,Yi[1]=Va+dA*Il),_u<1&&(Er[0]=ha+_u*dl,Er[1]=Va+_u*Il),!0}}}}})(Xi,$i,V,q,te,ne)?(ei||(Rt.lineStart(),Rt.point(Xi[0],Xi[1])),Rt.point($i[0],$i[1]),Sr||Rt.lineEnd(),Qt=!1):Sr&&(Rt.lineStart(),Rt.point(Cr,ji),Qt=!1)}it=Cr,Dt=ji,ei=Sr}return Ft}}var aoe=Or();Or();function hSe(V){return V}Or(),Or();var Pk=1/0,VK=Pk,GG=-Pk,zK=GG,dSe={point:function(V,q){VGG&&(GG=V),qzK&&(zK=q)},lineStart:UG,lineEnd:UG,polygonStart:UG,polygonEnd:UG,result:function(){var V=[[Pk,VK],[GG,zK]];return GG=zK=-(VK=Pk=1/0),V}};Or();function gSe(V,q,te,ne){return function(ue,pe){var Ee,ve,be,Te=q(pe),Ye=ue.invert(ne[0],ne[1]),Ge=aSe(),$e=q(Ge),ot=!1,nt={point:lt,lineStart:Dt,lineEnd:ei,polygonStart:function(){nt.point=st,nt.lineStart=Qt,nt.lineEnd=Rt,ve=[],Ee=[]},polygonEnd:function(){nt.point=lt,nt.lineStart=Dt,nt.lineEnd=ei,ve=cSe(ve);var Jt=function(Ft,tr){var Hi=tr[0],Cr=tr[1],ji=[Gc(Hi),-kA(Hi),0],Sr=0,Xi=0;aoe.reset();for(var $i=0,Yi=Ft.length;$i=0?1:-1,VG=iL*od,Rk=VG>lo,JK=Cn*Il;if(aoe.add($f(JK*iL*Gc(VG),ha*W0+JK*kA(VG))),Sr+=Rk?od+iL*ys:od,Rk^Qi>=Hi^_u>=Hi){var Lk=kK(Tk(br),Tk(dA));roe(Lk);var KK=kK(ji,Lk);roe(KK);var WK=(Rk^od>=0?-1:1)*Mk(KK[2]);(Cr>WK||Cr===WK&&(Lk[0]||Lk[1]))&&(Xi+=Rk^od>=0?1:-1)}}return(Sr<-1e-6||Sr0){for(ot||(pe.polygonStart(),ot=!0),pe.lineStart(),Jt=0;Jt1&&2&Cr&&ji.push(ji.pop().concat(ji.shift())),ve.push(ji.filter(uat))}return nt}}function uat(V){return V.length>1}function cat(V,q){return((V=V.x)[0]<0?V[1]-$o-io:$o-V[1])-((q=q.x)[0]<0?q[1]-$o-io:$o-q[1])}var fSe=gSe(function(){return!0},function(V){var q,te=NaN,ne=NaN,ue=NaN;return{lineStart:function(){V.lineStart(),q=1},point:function(pe,Ee){var ve=pe>0?lo:-lo,be=$A(pe-te);$A(be-lo)0?$o:-$o),V.point(ue,ne),V.lineEnd(),V.lineStart(),V.point(ve,ne),V.point(pe,ne),q=0):ue!==ve&&be>=lo&&($A(te-ue)io?nd((Gc(Ye)*(nt=kA($e))*Gc(Ge)-Gc($e)*(ot=kA(Ye))*Gc(Te))/(ot*nt*lt)):(Ye+$e)/2}(te,ne,pe,Ee),V.point(ue,ne),V.lineEnd(),V.lineStart(),V.point(ve,ne),q=0),V.point(te=pe,ne=Ee),ue=ve},lineEnd:function(){V.lineEnd(),te=ne=NaN},clean:function(){return 2-q}}},function(V,q,te,ne){var ue;if(V==null)ue=te*$o,ne.point(-lo,ue),ne.point(0,ue),ne.point(lo,ue),ne.point(lo,0),ne.point(lo,-ue),ne.point(0,-ue),ne.point(-lo,-ue),ne.point(-lo,0),ne.point(-lo,ue);else if($A(V[0]-q[0])>io){var pe=V[0]0,ue=$A(te)>io;function pe(be,Te){return kA(be)*kA(Te)>te}function Ee(be,Te,Ye){var Ge=[1,0,0],$e=kK(Tk(be),Tk(Te)),ot=NK($e,$e),nt=$e[0],lt=ot-nt*nt;if(!lt)return!Ye&&be;var it=te*ot/lt,Dt=-te*nt/lt,ei=kK(Ge,$e),st=UK(Ge,it);ioe(st,UK($e,Dt));var Qt=ei,Rt=NK(st,Qt),Jt=NK(Qt,Qt),Ft=Rt*Rt-Jt*(NK(st,st)-1);if(!(Ft<0)){var tr=kG(Ft),Hi=UK(Qt,(-Rt-tr)/Jt);if(ioe(Hi,st),Hi=toe(Hi),!Ye)return Hi;var Cr,ji=be[0],Sr=Te[0],Xi=be[1],$i=Te[1];Sr0^Hi[1]<($A(Hi[0]-ji)lo^(ji<=Hi[0]&&Hi[0]<=Sr)){var Ir=UK(Qt,(-Rt+tr)/Jt);return ioe(Ir,st),[Hi,toe(Ir)]}}}function ve(be,Te){var Ye=ne?V:lo-V,Ge=0;return be<-Ye?Ge|=1:be>Ye&&(Ge|=2),Te<-Ye?Ge|=4:Te>Ye&&(Ge|=8),Ge}return gSe(pe,function(be){var Te,Ye,Ge,$e,ot;return{lineStart:function(){$e=Ge=!1,ot=1},point:function(nt,lt){var it,Dt=[nt,lt],ei=pe(nt,lt),st=ne?ei?0:ve(nt,lt):ei?ve(nt+(nt<0?lo:-lo),lt):0;if(!Te&&($e=Ge=ei)&&be.lineStart(),ei!==Ge&&(!(it=Ee(Te,Dt))||OK(Te,it)||OK(Dt,it))&&(Dt[0]+=io,Dt[1]+=io,ei=pe(Dt[0],Dt[1])),ei!==Ge)ot=0,ei?(be.lineStart(),it=Ee(Dt,Te),be.point(it[0],it[1])):(it=Ee(Te,Dt),be.point(it[0],it[1]),be.lineEnd()),Te=it;else if(ue&&Te&&ne^ei){var Qt;st&Ye||!(Qt=Ee(Dt,Te,!0))||(ot=0,ne?(be.lineStart(),be.point(Qt[0][0],Qt[0][1]),be.point(Qt[1][0],Qt[1][1]),be.lineEnd()):(be.point(Qt[1][0],Qt[1][1]),be.lineEnd(),be.lineStart(),be.point(Qt[0][0],Qt[0][1])))}!ei||Te&&OK(Te,Dt)||be.point(Dt[0],Dt[1]),Te=Dt,Ge=ei,Ye=st},lineEnd:function(){Ge&&be.lineEnd(),Te=null},clean:function(){return ot|($e&&Ge)<<1}}},function(be,Te,Ye,Ge){(function($e,ot,nt,lt,it,Dt){if(nt){var ei=kA(ot),st=Gc(ot),Qt=lt*nt;it==null?(it=ot+lt*ys,Dt=ot-Qt/2):(it=oSe(ei,it),Dt=oSe(ei,Dt),(lt>0?itDt)&&(it+=lt*ys));for(var Rt,Jt=it;lt>0?Jt>Dt:Jt4*ne&&Dt--){var Jt=be+nt,Ft=Te+lt,tr=Ye+it,Hi=kG(Jt*Jt+Ft*Ft+tr*tr),Cr=Mk(tr/=Hi),ji=$A($A(tr)-1)ne||$A((st*Yi+Qt*Er)/Rt-.5)>.3||be*nt+Te*lt+Ye*it2?Yi[2]%360*ic:0,Xi()):[Dt*Pd,ei*Pd,st*Pd]},Cr.precision=function(Yi){return arguments.length?(Hi=CSe(Sr,tr=Yi*Yi),$i()):kG(tr)},Cr.fitExtent=function(Yi,Er){return mSe(Cr,Yi,Er)},Cr.fitSize=function(Yi,Er){return function(Ir,br,Qi){return mSe(Ir,[[0,0],br],Qi)}(Cr,Yi,Er)},function(){return te=q.apply(this,arguments),Cr.invert=te.invert&&ji,Xi()}}(function(){return V})()}var ESe=function(V){return function(q,te){var ne=kA(q),ue=kA(te),pe=V(ne*ue);return[pe*ue*Gc(q),pe*Gc(te)]}}(function(V){return(V=XQe(V))&&V/Gc(V)});function pat(){return fat(ESe).scale(79.4188).clipAngle(179.999)}function YK(V,q,te,ne){var ue=V.properties||{},pe=V.type==="Feature"?V.geometry:V;if(pe.type==="GeometryCollection"){var Ee=[];return Be(V,function($e){var ot=YK($e,q,te,ne);ot&&Ee.push(ot)}),B(Ee)}var ve=function($e){var ot=nE($e).geometry.coordinates,nt=[-ot[0],-ot[1]];return pat().rotate(nt).scale(A)}(pe),be={type:pe.type,coordinates:xSe(pe.coordinates,ve)},Te=new QG().read(be),Ye=L(F(q,te),"meters"),Ge=Qd.bufferOp(Te,Ye,ne);if(!ISe((Ge=new I_().write(Ge)).coordinates))return E({type:Ge.type,coordinates:ySe(Ge.coordinates,ve)},ue)}function ISe(V){return Array.isArray(V[0])?ISe(V[0]):isNaN(V[0])}function xSe(V,q){return typeof V[0]!="object"?q(V):V.map(function(te){return xSe(te,q)})}function ySe(V,q){return typeof V[0]!="object"?q.invert(V):V.map(function(te){return ySe(te,q)})}function loe(V,q,te){te===void 0&&(te={});var ne=G(V),ue=G(q),pe=xG(ne.coordinates,ue.coordinates);return pe.length===0?null:pe.length===1?v(pe[0],te.properties):P(pe,te.properties)}function HG(V,q,te){te===void 0&&(te={});var ne=G(V),ue=G(q),pe=yG(ne.coordinates,ue.coordinates);return pe.length===0?null:pe.length===1?v(pe[0],te.properties):P(pe,te.properties)}/** * @license get-closest https://github.com/cosmosio/get-closest * * The MIT License (MIT) * * Copyright (c) 2014-2017 Olivier Scherrer */function mat(V,q){return function(te,ne,ue){var pe,Ee;if(!Array.isArray(ne))throw new Error("Get closest expects an array as second argument");return ne.forEach(function(ve,be){var Te=ue(ve,te);Te>=0&&(Ee===void 0||Te0}function vSe(V,q,te){te===void 0&&(te={});var ne=JSON.stringify(te.properties||{}),ue=V[0],pe=V[1],Ee=V[2],ve=V[3],be=(pe+ve)/2,Te=(ue+Ee)/2,Ye=2*q/jr([ue,be],[Ee,be],te)*(Ee-ue),Ge=2*q/jr([Te,pe],[Te,ve],te)*(ve-pe),$e=Ye/2,ot=2*$e,nt=Math.sqrt(3)/2*Ge,lt=Ee-ue,it=ve-pe,Dt=3/4*ot,ei=nt,st=(lt-ot)/(ot-$e/2),Qt=Math.floor(st),Rt=(Qt*Dt-$e/2-lt)/2-$e/2+Dt/2,Jt=Math.floor((it-nt)/nt),Ft=(it-Jt*nt)/2,tr=Jt*nt-it>nt/2;tr&&(Ft-=nt/4);for(var Hi=[],Cr=[],ji=0;ji<6;ji++){var Sr=2*Math.PI/6*ji;Hi.push(Math.cos(Sr)),Cr.push(Math.sin(Sr))}for(var Xi=[],$i=0;$i<=Qt;$i++)for(var Yi=0;Yi<=Jt;Yi++){var Er=$i%2==1;if((Yi!==0||!Er)&&(Yi!==0||!tr)){var Ir=$i*Dt+ue-Rt,br=Yi*ei+pe+Ft;if(Er&&(br-=nt/2),te.triangles===!0)Iat([Ir,br],Ye/2,Ge/2,JSON.parse(ne),Hi,Cr).forEach(function(Dn){te.mask?HG(te.mask,Dn)&&Xi.push(Dn):Xi.push(Dn)});else{var Qi=Eat([Ir,br],Ye/2,Ge/2,JSON.parse(ne),Hi,Cr);te.mask?HG(te.mask,Qi)&&Xi.push(Qi):Xi.push(Qi)}}}return B(Xi)}function Eat(V,q,te,ne,ue,pe){for(var Ee=[],ve=0;ve<6;ve++){var be=V[0]+q*ue[ve],Te=V[1]+te*pe[ve];Ee.push([be,Te])}return Ee.push(Ee[0].slice()),v([Ee],ne)}function Iat(V,q,te,ne,ue,pe){for(var Ee=[],ve=0;ve<6;ve++){var be=[];be.push(V),be.push([V[0]+q*ue[ve],V[1]+te*pe[ve]]),be.push([V[0]+q*ue[(ve+1)%6],V[1]+te*pe[(ve+1)%6]]),be.push(V),Ee.push(v([be],ne))}return Ee}function _Se(V){if(V.features.length<=1)return V;var q=function(ue){var pe=Bt(),Ee=[];return He(ue,function(ve,be){var Te=je(ve);Ee.push({minX:Te[0],minY:Te[1],maxX:Te[2],maxY:Te[3],geojson:ve,index:be})}),pe.load(Ee),pe}(V),te=[],ne={};return He(V,function(ue,pe){if(ne[pe])return!0;for(q.remove({index:pe},BSe),ne[pe]=!0;;){var Ee=je(ue),ve=q.search({minX:Ee[0],minY:Ee[1],maxX:Ee[2],maxY:Ee[3]});if(ve.length>0)for(var be=ve.map(function(Ge){return ne[Ge.index]=!0,q.remove({index:Ge.index},BSe),Ge.geojson}),Te=0,Ye=be.length;Te=ue&&pe===ne.length-1);pe++){if(ue>=q){var Ee=q-ue;if(Ee){var ve=Fc(ne[pe],ne[pe-1])-180;return Zu(ne[pe],Ee,ve,te)}return x(ne[pe])}ue+=jr(ne[pe],ne[pe+1],te)}return x(ne[ne.length-1])},o.angle=function(V,q,te,ne){if(ne===void 0&&(ne={}),!ee(ne))throw new Error("options is invalid");if(!V)throw new Error("startPoint is required");if(!q)throw new Error("midPoint is required");if(!te)throw new Error("endPoint is required");var ue=V,pe=q,Ee=te,ve=N(ne.mercator!==!0?Fc(ue,pe):td(ue,pe)),be=N(ne.mercator!==!0?Fc(Ee,pe):td(Ee,pe)),Te=Math.abs(ve-be);return ne.explementary===!0?360-Te:Te},o.applyFilter=PM,o.area=iR,o.areaFactors=C,o.bbox=je,o.bboxClip=function(V,q){var te=G(V),ne=te.type,ue=V.type==="Feature"?V.properties:{},pe=te.coordinates;switch(ne){case"LineString":case"MultiLineString":var Ee=[];return ne==="LineString"&&(pe=[pe]),pe.forEach(function(ve){(function(be,Te,Ye){var Ge,$e,ot,nt,lt,it=be.length,Dt=sw(be[0],Te),ei=[];for(Ye||(Ye=[]),Ge=1;Ge0)for(var be=0;bete&&(q.numberOfClusters=te),q.mutate!==!0&&(V=Uo(V));var ne=ye(V),ue=ne.slice(0,q.numberOfClusters),pe=Fp(ne,q.numberOfClusters,ue),Ee={};return pe.centroids.forEach(function(ve,be){Ee[be]=ve}),me(V,function(ve,be){var Te=pe.idxs[be];ve.properties.cluster=Te,ve.properties.centroid=Ee[Te]}),V},o.collect=function(V,q,te,ne){var ue=Bt(6),pe=q.features.map(function(Ee){var ve;return{minX:Ee.geometry.coordinates[0],minY:Ee.geometry.coordinates[1],maxX:Ee.geometry.coordinates[0],maxY:Ee.geometry.coordinates[1],property:(ve=Ee.properties)===null||ve===void 0?void 0:ve[te]}});return ue.load(pe),V.features.forEach(function(Ee){Ee.properties||(Ee.properties={});var ve=je(Ee),be=ue.search({minX:ve[0],minY:ve[1],maxX:ve[2],maxY:ve[3]}),Te=[];be.forEach(function(Ye){Mr([Ye.minX,Ye.minY],Ee)&&Te.push(Ye.property)}),Ee.properties[ne]=Te}),V},o.collectionOf=fe,o.combine=function(V){var q={MultiPoint:{coordinates:[],properties:[]},MultiLineString:{coordinates:[],properties:[]},MultiPolygon:{coordinates:[],properties:[]}};return me(V,function(te){var ne,ue,pe,Ee;switch((Ee=te.geometry)===null||Ee===void 0?void 0:Ee.type){case"Point":q.MultiPoint.coordinates.push(te.geometry.coordinates),q.MultiPoint.properties.push(te.properties);break;case"MultiPoint":(ne=q.MultiPoint.coordinates).push.apply(ne,te.geometry.coordinates),q.MultiPoint.properties.push(te.properties);break;case"LineString":q.MultiLineString.coordinates.push(te.geometry.coordinates),q.MultiLineString.properties.push(te.properties);break;case"MultiLineString":(ue=q.MultiLineString.coordinates).push.apply(ue,te.geometry.coordinates),q.MultiLineString.properties.push(te.properties);break;case"Polygon":q.MultiPolygon.coordinates.push(te.geometry.coordinates),q.MultiPolygon.properties.push(te.properties);break;case"MultiPolygon":(pe=q.MultiPolygon.coordinates).push.apply(pe,te.geometry.coordinates),q.MultiPolygon.properties.push(te.properties)}}),B(Object.keys(q).filter(function(te){return q[te].coordinates.length}).sort().map(function(te){return E({type:te,coordinates:q[te].coordinates},{collectedProperties:q[te].properties})}))},o.concave=function(V,q){q===void 0&&(q={});var te=q.maxEdge||1/0,ne=to(function(pe){var Ee=[],ve={};return me(pe,function(be){if(be.geometry){var Te=be.geometry.coordinates.join("-");ve.hasOwnProperty(Te)||(Ee.push(be),ve[Te]=!0)}}),B(Ee)}(V));if(ne.features=ne.features.filter(function(pe){var Ee=pe.geometry.coordinates[0][0],ve=pe.geometry.coordinates[0][1],be=pe.geometry.coordinates[0][2],Te=jr(Ee,ve,q),Ye=jr(ve,be,q),Ge=jr(Ee,be,q);return Te<=te&&Ye<=te&&Ge<=te}),ne.features.length<1)return null;var ue=li(ne);return ue.coordinates.length===1&&(ue.coordinates=ue.coordinates[0],ue.type="Polygon"),E(ue)},o.containsNumber=he,o.convertArea=X,o.convertDistance=K,o.convertLength=K,o.convex=en,o.coordAll=ye,o.coordEach=O,o.coordReduce=re,o.createBins=NI,o.degrees2radians=J,o.degreesToRadians=J,o.destination=Zu,o.difference=function(V,q){var te=G(V),ne=G(q),ue=V.properties||{},pe=vG(te.coordinates,ne.coordinates);return pe.length===0?null:pe.length===1?v(pe[0],ue):P(pe,ue)},o.dissolve=function(V,q){if(!ee(q=q||{}))throw new Error("options is invalid");var te=q.propertyName;fe(V,"Polygon","dissolve");var ne=Uo(V),ue=ne.features,pe=[];ue.forEach(function(Ye,Ge){Ye.properties.origIndexPosition=Ge});var Ee=Hl();for(var ve in Ee.load(ne),ue){var be=ue[ve],Te=!1;if(Ee.search(be).features.forEach(function(Ye){be=ue[ve];var Ge=Ye.properties.origIndexPosition;if(pe.length>0&&Ge!==0)if(Ge>pe[pe.length-1])Ge-=pe.length;else{var $e=mat(Ge,pe);$e!==0&&(Ge-=$e)}if(Ge!==+ve){var ot=ue[Ge];ot&&be&&(te!==void 0&&ot.properties[te]!==be.properties[te]||CM(be,ot)&&Cat(be,ot)&&(ue[ve]=loe(be,ot),pe.push(Ye.properties.origIndexPosition),pe.sort(function(nt,lt){return nt-lt}),Ee.remove(Ye),ue.splice(Ge,1),be.properties.origIndexPosition=ve,Ee.remove(be,function(nt,lt){return nt.properties.origIndexPosition===lt.properties.origIndexPosition}),Te=!0))}}),Te){if(!be)continue;be.properties.origIndexPosition=ve,Ee.insert(be),ve--}}return ue.forEach(function(Ye){delete Ye.properties.origIndexPosition,delete Ye.bbox}),ne},o.distance=jr,o.distanceToDegrees=U,o.distanceToRadians=F,o.distanceWeight=G0,o.earthRadius=A,o.ellipse=sQ,o.envelope=rE,o.explode=kf,o.factors=f,o.feature=E,o.featureCollection=B,o.featureEach=me,o.featureOf=de,o.featureReduce=Ce,o.filterProperties=TR,o.findPoint=ze,o.findSegment=Ue,o.flatten=function(V){if(!V)throw new Error("geojson is required");var q=[];return He(V,function(te){q.push(te)}),B(q)},o.flattenEach=He,o.flattenReduce=ke,o.flip=function(V,q){if(!ee(q=q||{}))throw new Error("options is invalid");var te=q.mutate;if(!V)throw new Error("geojson is required");return te!==!1&&te!==void 0||(V=Uo(V)),O(V,function(ne){var ue=ne[0],pe=ne[1];ne[0]=pe,ne[1]=ue}),V},o.geojsonType=ge,o.geomEach=Be,o.geomReduce=Me,o.geometry=I,o.geometryCollection=R,o.getCluster=Ea,o.getCoord=le,o.getCoords=Ae,o.getGeom=G,o.getType=Y,o.greatCircle=function(V,q,te){if(typeof(te=te||{})!="object")throw new Error("options is invalid");var ne=te.properties,ue=te.npoints,pe=te.offset;return V=le(V),q=le(q),ne=ne||{},ue=ue||100,pe=pe||10,new t_({x:V[0],y:V[1]},{x:q[0],y:q[1]},ne).Arc(ue,{offset:pe}).json()},o.helpers=oe,o.hexGrid=vSe,o.inside=Mr,o.interpolate=function(V,q,te){if(typeof(te=te||{})!="object")throw new Error("options is invalid");var ne=te.gridType,ue=te.property,pe=te.weight;if(!V)throw new Error("points is required");if(fe(V,"Point","input must contain Points"),!q)throw new Error("cellSize is required");if(pe!==void 0&&typeof pe!="number")throw new Error("weight must be a number");ue=ue||"elevation",ne=ne||"square",pe=pe||1;var Ee,ve=je(V);switch(ne){case"point":case"points":Ee=ny(ve,q,te);break;case"square":case"squares":Ee=wSe(ve,q,te);break;case"hex":case"hexes":Ee=vSe(ve,q,te);break;case"triangle":case"triangles":Ee=bSe(ve,q,te);break;default:throw new Error("invalid gridType")}var be=[];return me(Ee,function(Te){var Ye=0,Ge=0;me(V,function(ot){var nt,lt=jr(ne==="point"?Te:F0(Te),ot,te);if(ue!==void 0&&(nt=ot.properties[ue]),nt===void 0&&(nt=ot.geometry.coordinates[2]),nt===void 0)throw new Error("zValue is missing");lt===0&&(Ye=nt);var it=1/Math.pow(lt,pe);Ge+=it,Ye+=it*nt});var $e=Uo(Te);$e.properties[ue]=Ye/Ge,be.push($e)}),B(be)},o.intersect=HG,o.invariant=W,o.isNumber=j,o.isObject=ee,o.isobands=function(V,q,te){if(!ee(te=te||{}))throw new Error("options is invalid");var ne=te.zProperty||"elevation",ue=te.commonProperties||{},pe=te.breaksProperties||[];if(fe(V,"Point","Input must contain Points"),!q)throw new Error("breaks is required");if(!Array.isArray(q))throw new Error("breaks is not an Array");if(!ee(ue))throw new Error("commonProperties is not an Object");if(!Array.isArray(pe))throw new Error("breaksProperties is not an Array");var Ee=lG(V,{zProperty:ne,flip:!0}),ve=function(be,Te,Ye){for(var Ge=[],$e=1;$e0&&(be=v(ve).geometry),Up(be,Te),ve=Te.slice(0);te.push(v(ve,Ee));break;case"MultiPolygon":ve=[[[]]];for(var Ge=0;Ge0&&(be=P(ve).geometry),Es(be,Te),ve=Te.slice(0);te.push(P(ve,Ee));break;default:throw new Error("geometry is invalid, must be Polygon or MultiPolygon")}}),B(te)},o.polygonTangents=function(V,q){var te,ne,ue,pe,Ee=Ae(V),ve=Ae(q),be=je(q),Te=0,Ye=null;switch(Ee[0]>be[0]&&Ee[0]be[1]&&Ee[1] is required");if(typeof te!="boolean")throw new Error(" must be a boolean");if(typeof ne!="boolean")throw new Error(" must be a boolean");ne===!1&&(V=Uo(V));var ue=[];switch(V.type){case"GeometryCollection":return Be(V,function(pe){uM(pe,te)}),V;case"FeatureCollection":return me(V,function(pe){me(uM(pe,te),function(Ee){ue.push(Ee)})}),B(ue)}return uM(V,te)},o.rhumbBearing=td,o.rhumbDestination=uw,o.rhumbDistance=ca,o.round=T,o.sample=function(V,q){if(!V)throw new Error("featurecollection is required");if(q==null)throw new Error("num is required");if(typeof q!="number")throw new Error("num must be a number");return B(function(te,ne){for(var ue,pe,Ee=te.slice(0),ve=te.length,be=ve-ne;ve-- >be;)ue=Ee[pe=Math.floor((ve+1)*Math.random())],Ee[pe]=Ee[ve],Ee[ve]=ue;return Ee.slice(be)}(V.features,q))},o.sector=function(V,q,te,ne,ue){if(!ee(ue=ue||{}))throw new Error("options is invalid");var pe=ue.properties;if(!V)throw new Error("center is required");if(te==null)throw new Error("bearing1 is required");if(ne==null)throw new Error("bearing2 is required");if(!q)throw new Error("radius is required");if(typeof ue!="object")throw new Error("options must be an object");if(Aw(te)===Aw(ne))return bg(V,q,ue);var Ee=Ae(V),ve=i_(V,q,te,ne,ue),be=[[Ee]];return O(ve,function(Te){be[0].push(Te)}),be[0].push(Ee),v(be,pe)},o.segmentEach=Ne,o.segmentReduce=Pe,o.shortestPath=function(V,q,te){if(!ee(te=te||{}))throw new Error("options is invalid");var ne=te.resolution,ue=te.minDistance,pe=te.obstacles||B([]);if(!V)throw new Error("start is required");if(!q)throw new Error("end is required");if(ne&&!j(ne)||ne<=0)throw new Error("options.resolution must be a number, greater than 0");if(ue)throw new Error("options.minDistance is not yet implemented");var Ee=le(V),ve=le(q);switch(V=x(Ee),q=x(ve),Y(pe)){case"FeatureCollection":if(pe.features.length===0)return Q([Ee,ve]);break;case"Polygon":pe=B([E(G(pe))]);break;default:throw new Error("invalid obstacles")}var be=pe;be.features.push(V),be.features.push(q);var Te=je(W3(eg(je(be)),1.15));ne||(ne=jr([Te[0],Te[1]],[Te[2],Te[1]],te)/100),be.features.pop(),be.features.pop();for(var Ye=Te[0],Ge=Te[1],$e=Te[2],ot=Te[3],nt=ne/jr([Ye,Ge],[$e,Ge],te)*($e-Ye),lt=ne/jr([Ye,Ge],[Ye,ot],te)*(ot-Ge),it=$e-Ye,Dt=ot-Ge,ei=Math.floor(it/nt),st=Math.floor(Dt/lt),Qt=(it-ei*nt)/2,Rt=[],Jt=[],Ft=[],tr=[],Hi=1/0,Cr=1/0,ji=ot-(Dt-st*lt)/2,Sr=0;ji>=Ge;){for(var Xi=[],$i=[],Yi=Ye+Qt,Er=0;Yi<=$e;){var Ir=x([Yi,ji]),br=BR(Ir,pe);Xi.push(br?0:1),$i.push(Yi+"|"+ji);var Qi=jr(Ir,V);!br&&Qint[Il.isect].coord?-1:1}),Ge=[];Ft.length>0;){var Sr=Ft.pop(),Xi=Sr.isect,$i=Sr.parent,Yi=Sr.winding,Er=Ge.length,Ir=[nt[Xi].coord],br=Xi;if(nt[Xi].ringAndEdge1Walkable)var Qi=nt[Xi].ringAndEdge1,Dn=nt[Xi].nxtIsectAlongRingAndEdge1;else Qi=nt[Xi].ringAndEdge2,Dn=nt[Xi].nxtIsectAlongRingAndEdge2;for(;!e_(nt[Xi].coord,nt[Dn].coord);){Ir.push(nt[Dn].coord);var Cn=void 0;for(Ee=0;Ee1)for(Il=0;Il= shadowMap_lightPositionEC.w) { discard; } distance /= shadowMap_lightPositionEC.w; // radius out_FragColor = czm_packDepth(distance); `:f?v+=` out_FragColor = vec4(1.0); `:v+=` out_FragColor = czm_packDepth(gl_FragCoord.z); `,v+=`} `,E.push(v),new hr({defines:C,sources:E})};pN.getReceiveShaderKeyword=function(o,A,f,m){let C=o._usesDepthTexture,E=o._polygonOffsetSupported,I=o._isPointLight,x=o._isSpotLight,y=o._numberOfCascades>1,v=o.debugCascadeColors,w=o.softShadows;return`receivePerspectiveProjection ${C}${E}${I}${x}${y}${v}${w}${A}${f}${m}`};pN.createReceiveVertexShader=function(o,A,f){let m=o.defines.slice(0),C=o.sources.slice(0);return A&&(f?m.push("GENERATE_POSITION_AND_NORMAL"):m.push("GENERATE_POSITION")),new hr({defines:m,sources:C})};pN.createReceiveFragmentShader=function(o,A,f,m,C){let E=hr.findNormalVarying(o),I=!m&&k(E)||m&&C,x=hr.findPositionVarying(o),y=k(x),v=A._usesDepthTexture,w=A._polygonOffsetSupported,Q=A._isPointLight,M=A._isSpotLight,B=A._numberOfCascades>1,D=A.debugCascadeColors,S=A.softShadows,P=Q?A._pointBias:m?A._terrainBias:A._primitiveBias,R=o.defines.slice(0),T=o.sources.slice(0),L=T.length;for(let N=0;N0&&R.push("USE_NORMAL_SHADING_SMOOTH"));let F="";Q?F+=`uniform samplerCube shadowMap_textureCube; `:F+=`uniform sampler2D shadowMap_texture; `,F+="uniform sampler2D shadowMap_blendTextureArray[4];",F+=`uniform sampler2D shadowMap_projectionTextureArr[4]; `,F+=`uniform vec4 shadowMap_lightPositionECArr[4]; `,F+=`uniform mat4 shadowMap_matrixArr[4]; `,F+=`uniform mat4 shadowMap_calibrateParamArr[4]; `,F+=`uniform vec4 shadowMapCount; `;let U;return y?U=` return vec4(${x}, 1.0); `:U=`#ifndef LOG_DEPTH return czm_windowToEyeCoordinates(gl_FragCoord); #else return vec4(v_logPositionEC, 1.0); #endif `,F+=`uniform mat4 shadowMap_matrix; uniform vec3 shadowMap_lightDirectionEC; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; uniform vec4 shadowMap_opacityArr; #ifdef LOG_DEPTH in vec3 v_logPositionEC; #endif vec4 getPositionEC() { ${U}} vec3 getNormalEC() { ${I?` return normalize(${E}); `:` return vec3(1.0); `}} void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) { ${P.normalOffset&&I?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; float normalOffsetScale = 1.0 - nDotL; vec3 offset = normalOffset * normalOffsetScale * normalEC; positionEC.xyz += offset; `:""}} vec2 cameraDistortion(inout vec2 UV, mat4 calibParam) //imageSize, vec2 focalLength, vec2 opticalCenter, vec4 distortionCoeffs, vec2 tangentCoeffs) { vec2 imageSize = vec2(calibParam[0][0],calibParam[0][1]); vec2 focalLength = vec2(calibParam[0][2],calibParam[0][3]); vec2 opticalCenter = vec2(calibParam[1][0],calibParam[1][1]); vec2 tangentCoeffs = vec2(calibParam[1][2],calibParam[1][3]); vec4 distortionCoeffs = vec4(calibParam[2][0], calibParam[2][1],calibParam[2][2],calibParam[2][3]); vec2 opticalCenterUV = opticalCenter / imageSize; vec2 xy = (UV - opticalCenterUV ) * imageSize / focalLength; float x2 = xy.x * xy.x; float y2 = xy.y * xy.y; float r2 = x2 + y2; float _2xy = 2.0 * xy.x * xy.y; highp float kr = (1.0 + ((distortionCoeffs.z*r2 + distortionCoeffs.y)*r2 + distortionCoeffs.x)*r2); highp float dx = (xy.x*kr + tangentCoeffs.x*_2xy + tangentCoeffs.y*(r2 + 2.0*x2)); highp float dy = (xy.y*kr + tangentCoeffs.x*(r2 + 2.0*y2) + tangentCoeffs.y*_2xy); UV = vec2(dx,dy) * focalLength / imageSize + opticalCenterUV; return UV; } `,F+=`void main() { czm_shadow_receive_main(); vec4 positionEC = getPositionEC(); vec3 normalEC = getNormalEC(); float depth = -positionEC.z; `,M&&(F+=` for(int i = 0; i < 4; i++){ if(i < int(shadowMapCount.x)){ `),F+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionECArr[i].xyz); float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrixArr[i] * positionEC; // Spot light uses a perspective projection, so perform the perspective divide shadowPosition /= shadowPosition.w; vec2 oldUV = shadowPosition.xy; if(shadowMap_calibrateParamArr[i][0].y > 0.0){ shadowPosition.xy = cameraDistortion(shadowPosition.xy, shadowMap_calibrateParamArr[i] ); //imageSize, focalLength, opticalCenter, distortionCoefficients, tangentCoeffs); } // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { continue; } if(i == 0){ vec4 tempColor = texture(shadowMap_blendTextureArray[0], oldUV.xy); if(tempColor.a < 0.14 ) continue; tempColor = texture(shadowMap_projectionTextureArr[0], shadowPosition.xy) * tempColor; out_FragColor = mix(out_FragColor,tempColor, shadowMap_opacityArr.x * tempColor.a); }else if(i == 1){ vec4 tempColor = texture(shadowMap_blendTextureArray[1], oldUV.xy); if(tempColor.a < 0.14 ) continue; tempColor = texture(shadowMap_projectionTextureArr[1], shadowPosition.xy) * tempColor; out_FragColor = mix(out_FragColor,tempColor, shadowMap_opacityArr.y * tempColor.a); }else if(i == 2){ vec4 tempColor = texture(shadowMap_blendTextureArray[2], oldUV.xy); if(tempColor.a < 0.14 ) continue; tempColor = texture(shadowMap_projectionTextureArr[2], shadowPosition.xy) * tempColor; out_FragColor = mix(out_FragColor,tempColor, shadowMap_opacityArr.z * tempColor.a); }else { vec4 tempColor = texture(shadowMap_blendTextureArray[3], oldUV.xy); if(tempColor.a < 0.14 ) continue; tempColor = texture(shadowMap_projectionTextureArr[3], shadowPosition.xy) * tempColor; out_FragColor = mix(out_FragColor,tempColor, shadowMap_opacityArr.w * tempColor.a); } }else{ break; } } `,F+=`} `,T.push(F),new hr({defines:R,sources:T})};var NH=pN,Y7={gradient:!0,width:13,colorRamp:[{value:0,color:"rgba(255,255,255,0)"},{value:1,color:"rgba(255,255,255,1)"}]};function tb(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.context;this._enabled=ae(o.enabled,!0),this._softShadows=ae(o.softShadows,!1),this._normalOffset=ae(o.normalOffset,!0),this.dirty=!0,this._name=o.name||"",this._matchMaterials=o.matchMaterials||[],this._type="perspective",this.fromLightSource=ae(o.fromLightSource,!0),this.darkness=ae(o.darkness,0),this._darkness=this.darkness,this.maximumDistance=ae(o.maximumDistance,2e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0,this._outOfAngle=!1,this._outOfAnglePrevious=!1,this._angleDiff=0;let f=!0;(co.isInternetExplorer()||co.isEdge()||(co.isChrome()||co.isFirefox())&&co.isWindows()&&!A.depthTexture)&&(f=!0),this._polygonOffsetSupported=f,this._terrainBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:f,polygonOffsetFactor:-1.1,polygonOffsetUnits:-4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:o.depthBias||-2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new Re,this._shadowMapTexture=void 0,this._shadowMapProjectionTexture=void 0,this._castImage=void 0,this._lightDirectionEC=new Z,this._lightPositionEC=new kt,this._distance=0,this._lightCamera=o.lightCamera,this._shadowMapCamera=new G$,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new si,this._isPointLight=ae(o.isPointLight,!1),this._pointLightRadius=ae(o.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:ae(o.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?ae(o.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new tt,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Eg:k(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new kt,new kt],this._cascadeMatrices=[new Re,new Re,new Re,new Re],this._cascadeDistances=new kt;let m;this._isPointLight?m=6:this._cascadesEnabled?m=this._numberOfCascades:m=1,this._passes=new Array(m);for(let I=0;I=A?A:On.maximumCubeMapSize,C.x=A,C.y=A;let E=new _r(0,0,A,A);f[0].passState.viewport=E,f[1].passState.viewport=E,f[2].passState.viewport=E,f[3].passState.viewport=E,f[4].passState.viewport=E,f[5].passState.viewport=E}else m===1?(A=On.maximumTextureSize>=A?A:On.maximumTextureSize,C.x=A,C.y=A,f[0].passState.viewport=new _r(0,0,A,A)):m===4&&(A=On.maximumTextureSize>=A*2?A:On.maximumTextureSize/2,C.x=A*2,C.y=A*2,f[0].passState.viewport=new _r(0,0,A,A),f[1].passState.viewport=new _r(A,0,A,A),f[2].passState.viewport=new _r(0,A,A,A),f[3].passState.viewport=new _r(A,A,A,A));o._clearPassState.viewport=new _r(0,0,C.x,C.y);for(let E=0;E=o.maximumDistance){o._outOfView=!0,o._needsUpdate=!1;return}let E=A.mapProjection.ellipsoid.geodeticSurfaceNormal(f.positionWC,ANt),I=Z.negate(m.directionWC,uNt),x=Z.dot(E,I),y=De.clamp(x/.1,0,1);if(o._darkness=0,x<0){o._outOfView=!0,o._needsUpdate=!1;return}o._needsUpdate=!0,o._outOfView=!1}else if(o._isPointLight){if(C.center=m.positionWC,C.radius=o._pointLightRadius,o._outOfView=A.cullingVolume.computeVisibility(C)===Wo.OUTSIDE,!o._outOfView){let E=Z.distance(m.positionWC,f.positionWC);o._outOfView=E>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),si.clone(C,o._boundingSphere)}else{let E=m.frustum.far/2,I=Z.add(m.positionWC,Z.multiplyByScalar(m.directionWC,E,QPe),QPe);if(C.center=I,C.radius=E,o._outOfView=A.cullingVolume.computeVisibility(C)===Wo.OUTSIDE,!o._outOfView){let y=Z.distance(m.positionWC,f.positionWC);o._outOfView=y>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),si.clone(C,o._boundingSphere);let x=Math.acos(Z.dot(m.directionWC,f.direction));o._angleDiff=x,o._outOfAngle=x>o._maxDiffAngle}}function hNt(o,A){let f=A.camera,m=o._lightCamera,C=o._sceneCamera,E=o._shadowMapCamera;o._cascadesEnabled?Z.clone(m.directionWC,E.directionWC):o._isPointLight?Z.clone(m.positionWC,E.positionWC):E.clone(m);let I=o._lightDirectionEC;Re.multiplyByPointAsVector(f.viewMatrix,E.directionWC,I),Z.normalize(I,I),Z.negate(I,I),Re.multiplyByPoint(f.viewMatrix,E.positionWC,o._lightPositionEC),o._lightPositionEC.w=o._pointLightRadius;let x,y;o._fitNearFar?(x=Math.min(A.shadowState.nearPlane,o.maximumDistance),y=Math.min(A.shadowState.farPlane,o.maximumDistance+1)):(x=f.frustum.near,y=o.maximumDistance),o._sceneCamera=Ms.clone(f,C),f.frustum.clone(o._sceneCamera.frustum),o._sceneCamera.frustum.near=x,o._sceneCamera.frustum.far=y,o._distance=y-x,cNt(o,A);let v=A.frameNumber;!o._outOfViewPrevious&&o._outOfView&&(o._needsUpdate=!0),!o._outOfAnglePrevious&&o._outOfAngle?(kFt(o._linearSampler,v),o._outOfAnglePrevious=o._outOfAngle):o._outOfAnglePrevious&&!o._outOfAngle?(NFt(o._linearSampler,v),o._outOfAnglePrevious=o._outOfAngle):o._outOfAngle,eb.getValueExp(o._linearSampler,v),o._outOfViewPrevious=o._outOfView}function dNt(o,A){if(o._outOfView||o._linearSampler[4]<.01||o._isCastTextureDirty===!1||!k(o._castImage))return;let f=A.context,m=o._shadowMapProjectionTexture,C=o._castImage;if(C instanceof HTMLVideoElement){if(C.readyState>=2){if(k(m)){let E=new Date().getTime();m._lastCreateTextureTime===void 0&&(m._lastCreateTextureTime=0);let I=m._lastCreateTextureTime;if(E-I1&&eNt(this,o)),this._isPointLight)this._shadowMapCullingVolume=qg.fromBoundingSphere(this._boundingSphere);else{let A=this._shadowMapCamera,f=A.positionWC,m=A.directionWC,C=A.upWC;this._shadowMapCullingVolume=A.frustum.computeCullingVolume(f,m,C),this._passes.length===1&&this._passes[0].camera.clone(A)}if(this._passes.length===1){let A=this._sceneCamera.inverseViewMatrix;Re.multiply(this._shadowMapCamera.getViewProjection(),A,this._shadowMapMatrix)}this.debugShow&&qFt(this,o)};tb.prototype.updatePass=function(o,A){GFt(this,o,A)};var gNt=new tt;function fNt(o,A,f,m){let C=o._isPointLight?o._pointBias:f?o._terrainBias:o._primitiveBias,E={shadowMap_texture:function(){return o._shadowMapTexture},shadowMap_blendTextureArray:function(){let I=[];for(let x=0;x<4;x++)I[x]=m._shadowMapProjectionTextureArr[x]._shadowMapBlendTexture;return I},shadowMap_textureCube:function(){return o._shadowMapTexture},shadowMap_matrix:function(){return o._shadowMapMatrix},shadowMap_cascadeSplits:function(){return o._cascadeSplits},shadowMap_cascadeMatrices:function(){return o._cascadeMatrices},shadowMap_lightDirectionEC:function(){return o._lightDirectionEC},shadowMap_lightPositionEC:function(){return o._lightPositionEC},shadowMap_cascadeDistances:function(){return o._cascadeDistances},shadowMap_projectionTextureArr:function(){let I=[];for(let x=0;x<4;x++)I[x]=m._shadowMapProjectionTextureArr[x]._shadowMapProjectionTexture;return I},shadowMap_lightPositionECArr:function(){return m._lightPositionECArr},shadowMap_opacityArr:function(){return kt.fromElements(m._opacityArr[0],m._opacityArr[1],m._opacityArr[2],m._opacityArr[3])},shadowMapCount:function(){return kt.fromElements(m._shadowMapCount,0,0,0)},shadowMap_matrixArr:function(){return m._shadowMapMatrixArr},shadowMap_calibrateParamArr:function(){return m._calibrateParamArr},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let I=gNt;return I.x=1/o._textureSize.x,I.y=1/o._textureSize.y,C.depthBias,kt.fromElements(I.x,I.y,C.depthBias,C.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return kt.fromElements(C.normalOffsetScale,o._distance,o.maximumDistance,o._darkness,this.combinedUniforms2)},combinedUniforms1:new kt,combinedUniforms2:new kt};return yo(A,E,!1)}var pNt=function(){let o={};o._shadowMapProjectionTextureArr=new Array(4),o._shadowMapMatrixArr=new Array(4),o._lightPositionECArr=new Array(4),o._lightDirectionECArr=new Array(4),o._calibrateParamArr=new Array(4),o._opacityArr=[1,1,1,1];for(let A=0;A<4;A++)o._shadowMapMatrixArr[A]=new Re,o._calibrateParamArr[A]=new Re,o._lightPositionECArr[A]=new kt,o._lightDirectionECArr[A]=new Z;return o};function mNt(o,A,f){let m=!1;for(let C=0;C=0){y=!0;break}y&&(o.push(x),m=!0)}}}return o.sort(function(C,E){return C._angleDiff-E._angleDiff}),m}tb.createDerivedCommands=function(o,A,f,m,C,E,I,x){k(x)||(x={});let y=o.length>0,v=f.shaderProgram,w=v.vertexShaderSource,Q=v.fragmentShaderSource,M=f.pass===zi.GLOBE,B=!1;if(y&&k(f.receiveTextureProjectionList)&&f.receiveTextureProjectionList.length>0){let D=f.tpp;k(D)||(D=pNt(),f.tpp=D);let S=[];mNt(S,f.receiveTextureProjectionList,o);let P=Math.min(S.length,4);if(P===0)return;D.textureProjectionArray=S,D._shadowMapCount=P;let R,T;k(x.receiveCommand)&&(R=x.receiveCommand.shaderProgram,T=x.receiveCommand.uniformMap);let L=cn.shallowClone(f,x.receiveCommand);x.castShadows=!1,x.receiveShadows=!0;for(let F=0;F= shadowMap_lightPositionEC.w) { discard; } distance /= shadowMap_lightPositionEC.w; // radius out_FragColor = czm_packDepth(distance); `:f?v+=` out_FragColor = vec4(1.0); `:v+=` out_FragColor = czm_packDepth(gl_FragCoord.z); `,v+=`} `,E.push(v),new hr({defines:C,sources:E})};mN.getReceiveShaderKeyword=function(o,A,f,m){let C=o._usesDepthTexture,E=o._polygonOffsetSupported,I=o._isPointLight,x=o._isSpotLight,y=o._numberOfCascades>1,v=o.debugCascadeColors,w=o.softShadows;return`receivePerspectiveProjectionWithDepth ${C}${E}${I}${x}${y}${v}${w}${A}${f}${m}`};mN.createReceiveVertexShader=function(o,A,f){let m=o.defines.slice(0),C=o.sources.slice(0);return A&&(f?m.push("GENERATE_POSITION_AND_NORMAL"):m.push("GENERATE_POSITION")),new hr({defines:m,sources:C})};function CNt(o,A){let f="";return o?f+=` if(i == 0){ `:f+=`else if(i == ${A}){ `,f+=` vec2 blendOrigin = blendTextureOriginArr[${A}]; vec2 blendSize = blendTextureSizeArr[${A}]; vec2 videoOrigin = videoTextureOriginArr[${A}]; vec2 videoSize = videoTextureSizeArr[${A}]; vec2 shadowOrigin = shadowTextureOriginArr[${A}]; vec2 shadowSize = shadowTextureSizeArr[${A}]; vec2 videoTextureOrigin = vec2(videoOrigin.x/totalTextureSize.x, videoOrigin.y/totalTextureSize.y); vec2 videoTextureSize = vec2(videoSize.x/totalTextureSize.x, videoSize.y/totalTextureSize.y); vec2 videoTextureUV = vec2((videoTextureOrigin.x + videoTextureSize.x*oldUV.x), (videoTextureOrigin.y+videoTextureSize.y*oldUV.y)); vec2 blendTextureOrigin = vec2(blendOrigin.x/totalTextureSize.z, blendOrigin.y/totalTextureSize.z); vec2 blendTextureSize = vec2(blendSize.x/totalTextureSize.z, blendSize.y/totalTextureSize.z); vec2 blendTextureUV = vec2((blendTextureOrigin.x + blendTextureSize.x*oldUV.x), (blendTextureOrigin.y+blendTextureSize.y*oldUV.y)); vec4 tempColor = texture(mergedBlendTexture, videoTextureUV.xy); if(tempColor.a < 0.14 ) continue; vec2 shadowTextureOrigin = vec2(shadowOrigin.x/totalTextureSize.w, shadowOrigin.y/totalTextureSize.w); vec2 shadowTextureSize = vec2(shadowSize.x/totalTextureSize.w, shadowSize.y/totalTextureSize.w); shadowParameters.texCoords = vec2((shadowTextureOrigin.x + shadowTextureSize.x*oldUV.x), (shadowTextureOrigin.y+shadowTextureSize.y*oldUV.y)); float visibility = czm_shadowVisibility(mergedShadowTexture, shadowParameters); tempColor = texture(mergedVideoTexture, blendTextureUV.xy) * tempColor * visibility; out_FragColor = mix(out_FragColor,tempColor, shadowMap_opacityArr[${A}] * tempColor.a); }`,f}mN.createReceiveFragmentShader=function(o,A,f,m,C,E){let I=hr.findNormalVarying(o),x=!m&&k(I)||m&&C,y=hr.findPositionVarying(o),v=k(y),w=A._usesDepthTexture,Q=A._polygonOffsetSupported,M=A._isPointLight,B=A._isSpotLight,D=A._numberOfCascades>1,S=A.debugCascadeColors,P=A.softShadows,R=M?A._pointBias:m?A._terrainBias:A._primitiveBias,T=o.defines.slice(0),L=o.sources.slice(0),F=L.length;for(let H=0;H0&&T.push("USE_NORMAL_SHADING_SMOOTH"));let U="";U+=`uniform sampler2D mergedVideoTexture; `,U+=`uniform sampler2D mergedBlendTexture; `,U+=`uniform sampler2D mergedShadowTexture; `,U+=`uniform vec4 totalTextureSize; `,U+=`uniform vec2 blendTextureOriginArr[${E}]; `,U+=`uniform vec2 blendTextureSizeArr[${E}]; `,U+=`uniform vec2 videoTextureOriginArr[${E}]; `,U+=`uniform vec2 videoTextureSizeArr[${E}]; `,U+=`uniform vec2 shadowTextureOriginArr[${E}]; `,U+=`uniform vec2 shadowTextureSizeArr[${E}]; `,U+=`uniform vec4 shadowMap_lightPositionECArr[${E}]; `,U+=`uniform mat4 shadowMap_matrixArr[${E}]; `,U+=`uniform mat4 shadowMap_calibrateParamArr[${E}]; `,U+=`uniform vec4 shadowMapCount; `;let N;v?N=` return vec4(${y}, 1.0); `:N=`#ifndef LOG_DEPTH return czm_windowToEyeCoordinates(gl_FragCoord); #else return vec4(v_logPositionEC, 1.0); #endif `,U+=`uniform mat4 shadowMap_matrix; uniform vec3 shadowMap_lightDirectionEC; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; uniform float shadowMap_opacityArr[${E}]; #ifdef LOG_DEPTH in vec3 v_logPositionEC; #endif vec4 getPositionEC() { ${N}} vec3 getNormalEC() { ${x?` return normalize(${I}); `:` return vec3(1.0); `}} void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) { ${R.normalOffset&&x?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; float normalOffsetScale = 1.0 - nDotL; vec3 offset = normalOffset * normalOffsetScale * normalEC; positionEC.xyz += offset; `:""}} vec2 cameraDistortion(inout vec2 UV, mat4 calibParam) //imageSize, vec2 focalLength, vec2 opticalCenter, vec4 distortionCoeffs, vec2 tangentCoeffs) { vec2 imageSize = vec2(calibParam[0][0],calibParam[0][1]); vec2 focalLength = vec2(calibParam[0][2],calibParam[0][3]); vec2 opticalCenter = vec2(calibParam[1][0],calibParam[1][1]); vec2 tangentCoeffs = vec2(calibParam[1][2],calibParam[1][3]); vec4 distortionCoeffs = vec4(calibParam[2][0], calibParam[2][1],calibParam[2][2],calibParam[2][3]); vec2 opticalCenterUV = opticalCenter / imageSize; vec2 xy = (UV - opticalCenterUV ) * imageSize / focalLength; float x2 = xy.x * xy.x; float y2 = xy.y * xy.y; float r2 = x2 + y2; float _2xy = 2.0 * xy.x * xy.y; highp float kr = (1.0 + ((distortionCoeffs.z*r2 + distortionCoeffs.y)*r2 + distortionCoeffs.x)*r2); highp float dx = (xy.x*kr + tangentCoeffs.x*_2xy + tangentCoeffs.y*(r2 + 2.0*x2)); highp float dy = (xy.y*kr + tangentCoeffs.x*(r2 + 2.0*y2) + tangentCoeffs.y*_2xy); UV = vec2(dx,dy) * focalLength / imageSize + opticalCenterUV; return UV; } `,U+=`void main() { vec4 diffuseColor = out_FragColor; czm_shadow_receive_main(); vec4 positionEC = getPositionEC(); vec3 normalEC = getNormalEC(); float depth = -positionEC.z; `,U+=` czm_shadowParameters shadowParameters; shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; `,B&&(U+=` for(int i = 0; i < ${E}; i++){ if(i < int(shadowMapCount.x)){ `),U+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionECArr[i].xyz); float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrixArr[i] * positionEC; shadowPosition /= shadowPosition.w; shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; // Spot light uses a perspective projection, so perform the perspective divide vec2 oldUV = shadowPosition.xy; if(shadowMap_calibrateParamArr[i][0].y > 0.0){ shadowPosition.xy = cameraDistortion(shadowPosition.xy, shadowMap_calibrateParamArr[i] ); //imageSize, focalLength, opticalCenter, distortionCoefficients, tangentCoeffs); } // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { continue; } `;for(let H=0;H=A?A:On.maximumCubeMapSize,C.x=A,C.y=A;let E=new _r(0,0,A,A);f[0].passState.viewport=E,f[1].passState.viewport=E,f[2].passState.viewport=E,f[3].passState.viewport=E,f[4].passState.viewport=E,f[5].passState.viewport=E}else m===1?(A=On.maximumTextureSize>=A?A:On.maximumTextureSize,C.x=A,C.y=A,f[0].passState.viewport=new _r(0,0,A,A)):m===4&&(A=On.maximumTextureSize>=A*2?A:On.maximumTextureSize/2,C.x=A*2,C.y=A*2,f[0].passState.viewport=new _r(0,0,A,A),f[1].passState.viewport=new _r(A,0,A,A),f[2].passState.viewport=new _r(0,A,A,A),f[3].passState.viewport=new _r(A,A,A,A));o._clearPassState.viewport=new _r(0,0,C.x,C.y);for(let E=0;E=o.maximumDistance){o._outOfView=!0,o._needsUpdate=!1;return}let E=A.mapProjection.ellipsoid.geodeticSurfaceNormal(f.positionWC,WNt),I=Z.negate(m.directionWC,qNt),x=Z.dot(E,I),y=De.clamp(x/.1,0,1);if(o._darkness=0,x<0){o._outOfView=!0,o._needsUpdate=!1;return}o._needsUpdate=!0,o._outOfView=!1}else if(o._isPointLight){if(C.center=m.positionWC,C.radius=o._pointLightRadius,o._outOfView=A.cullingVolume.computeVisibility(C)===Wo.OUTSIDE,!o._outOfView){let E=Z.distance(m.positionWC,f.positionWC);o._outOfView=E>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),si.clone(C,o._boundingSphere)}else{let E=m.frustum.far/2,I=Z.add(m.positionWC,Z.multiplyByScalar(m.directionWC,E,MPe),MPe);if(C.center=I,C.radius=E,o._outOfView=A.cullingVolume.computeVisibility(C)===Wo.OUTSIDE,!o._outOfView){let y=Z.distance(m.positionWC,f.positionWC);o._outOfView=y>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),si.clone(C,o._boundingSphere);let x=Math.acos(Z.dot(m.directionWC,f.direction));o._angleDiff=x,o._outOfAngle=x>o._maxDiffAngle}}function XNt(o,A){let f=A.camera,m=o._lightCamera,C=o._sceneCamera,E=o._shadowMapCamera;o._cascadesEnabled?Z.clone(m.directionWC,E.directionWC):o._isPointLight?Z.clone(m.positionWC,E.positionWC):E.clone(m);let I=o._lightDirectionEC;Re.multiplyByPointAsVector(f.viewMatrix,E.directionWC,I),Z.normalize(I,I),Z.negate(I,I),Re.multiplyByPoint(f.viewMatrix,E.positionWC,o._lightPositionEC),o._lightPositionEC.w=o._pointLightRadius;let x,y;o._fitNearFar?(x=Math.min(A.shadowState.nearPlane,o.maximumDistance),y=Math.min(A.shadowState.farPlane,o.maximumDistance+1)):(x=f.frustum.near,y=o.maximumDistance),o._sceneCamera=Ms.clone(f,C),f.frustum.clone(o._sceneCamera.frustum),o._sceneCamera.frustum.near=x,o._sceneCamera.frustum.far=y,o._distance=y-x,jNt(o,A);let v=A.frameNumber;!o._outOfViewPrevious&&o._outOfView&&(o._needsUpdate=!0),!o._outOfAnglePrevious&&o._outOfAngle?(INt(o._linearSampler,v),o._outOfAnglePrevious=o._outOfAngle):o._outOfAnglePrevious&&!o._outOfAngle?(ENt(o._linearSampler,v),o._outOfAnglePrevious=o._outOfAngle):o._outOfAngle,eb.getValueExp(o._linearSampler,v),o._outOfViewPrevious=o._outOfView}function ZNt(o){let A=o._passes;if(A.length>0&&k(nU)){let f=A[0].framebuffer;f._bind(),nU.copyFromFramebuffer(o._shadowMapTextureOrigin.x,o._shadowMapTextureOrigin.y,0,0,o._shadowMapTextureSize.x,o._shadowMapTextureSize.y),f._unBind()}}function $Nt(o){if(o._outOfView||o._linearSampler[4]<.01||!o._isCastTextureDirty||!k(o._castImage)||!YL)return;o._blendCanvasDirty&&(kH.copyFrom({source:o._blendCanvas,xOffset:o._blendTextureOrigin.x,yOffset:o._blendTextureOrigin.y}),o._blendCanvasDirty=!1);let A=new Date().getTime();k(o._lastCreateTextureTime)||(o._lastCreateTextureTime=0);let f=A-o._lastCreateTextureTime,m=o._castImage;m instanceof HTMLVideoElement&&m.readyState>=2&&f>o._videoFrameInterval&&(YL.copyFrom({source:m,xOffset:o._videoTextureOrigin.x,yOffset:o._videoTextureOrigin.y}),o._lastCreateTextureTime=new Date().getTime())}rb.prototype.update=function(o){if(XNt(this,o),this._needsUpdate)if(wNt(this,o.context),this._isPointLight&&KNt(this,o),this._cascadesEnabled&&(VNt(this,o),this._numberOfCascades>1&&UNt(this,o)),this._isPointLight)this._shadowMapCullingVolume=qg.fromBoundingSphere(this._boundingSphere);else{let A=this._shadowMapCamera,f=A.positionWC,m=A.directionWC,C=A.upWC;this._shadowMapCullingVolume=A.frustum.computeCullingVolume(f,m,C),this._passes.length===1&&this._passes[0].camera.clone(A)}if(this._passes.length===1){let A=this._sceneCamera.inverseViewMatrix;Re.multiply(this._shadowMapCamera.getViewProjection(),A,this._shadowMapMatrix)}this.debugShow&&RNt(this,o)};rb.prototype.updatePass=function(o,A){oVe(this,o,A)};var e3t=new tt;function AVe(o,A,f,m,C){let E=o._isPointLight?o._pointBias:f?o._terrainBias:o._primitiveBias,I={blendTextureOriginArr:function(){let x=[];for(let y=0;y=0){y=!0;break}y&&(o.push(x),m=!0)}}}return o.sort(function(C,E){return C._angleDiff-E._angleDiff}),m}function n3t(o,A,f){let m=A,C=f;if(SPex)throw new ni("\u540C\u5C4F\u663E\u793A\u89C6\u9891\u6570\u91CF\u8D85\u8FC7\u673A\u5668\u627F\u8F7D\u4E0A\u9650\uFF0C\u8BF7\u8C03\u5C0F scene.maxProjectionCount \u7684\u503C");let y=Math.ceil(Math.sqrt(m)),v=Math.min(y,E,I);Zk=new Map;for(let M=0;M=C)break;for(let D=0;D=C);D++){let S=A[B+D];S._videoTextureOrigin.x=D*YQ,S._videoTextureOrigin.y=M*JQ,S._videoTextureSize.x=S._castImage.videoWidth,S._videoTextureSize.y=S._castImage.videoHeight,Zk.set(S._id,{videoRowIdx:M,videoColIdx:D})}}let w=v*v,Q=v;if(w=C)break;for(let D=0;D=C);D++){let S=A[B+D];S._videoTextureOrigin.x=D*YQ,S._videoTextureOrigin.y=M*JQ,S._videoTextureSize.x=S._castImage.videoWidth,S._videoTextureSize.y=S._castImage.videoHeight,Zk.set(S._id,{videoRowIdx:M,videoColIdx:D})}Q++}Vq=v*YQ,zq=Q*JQ,YL&&YL.destroy(),YL=new Rn({context:o,width:Vq,height:zq}),oH=y*256;for(let M=0;M=C);M++)for(let B=0;B=C);B++){let D=A[M*y+B];D._blendTextureOrigin.x=B*256,D._blendTextureOrigin.y=M*256,D._blendTextureSize.x=D._blendCanvas.width,D._blendTextureSize.y=D._blendCanvas.height,D._blendCanvasDirty=!0,D._shadowMapTextureOrigin.x=B*D.size,D._shadowMapTextureOrigin.y=M*D.size,D._shadowMapTextureSize.x=D.size,D._shadowMapTextureSize.y=D.size;let S=Zk.get(D._id);S.blendRowIdx=M,S.blendColIdx=B,S.shadowRowIdx=M,S.shadowColIdx=B}kH&&kH.destroy(),kH=new Rn({context:o,width:oH,height:oH}),aH=y*1024,nU&&nU.destroy(),nU=new Rn({context:o,width:aH,height:aH,pixelFormat:Jr.RGBA,pixelDatatype:Gr.UNSIGNED_BYTE,sampler:Ra.NEAREST})}else{let E=new Map,I=Vq/YQ,x=zq/JQ,y=oH/256,v=aH/1024,w=new Array(I*x),Q=new Array(y*y),M=new Array(v*v),B=[];for(let S=0;S0){for(let S=0;S0,w=m.shaderProgram,Q=w.vertexShaderSource,M=w.fragmentShaderSource,B=m.pass===zi.GLOBE,D=!1;if(m.castShadows){let S=y.castCommands;k(S)||(S=y.castCommands=[]);let P=y.castShaderProgramId,R=o.length;S.length=R;for(let T=0;T0)r3t(S,m.receiveTextureProjectionList,o);else for(let J in o){if(!o.hasOwnProperty(J))continue;let K=o[J];K._type==="perspective"&&!K._outOfView&&S.push(K)}let P=Math.min(o.length,x),R=m.tppd;k(R)||(R=i3t(x),m.tppd=R),S.length>P&&S.splice(P);let T=S.length;if(T===0)return;let L=n3t(o,YQ,JQ),F=L.maxWidth!==YQ||L.maxHeight!==JQ;F&&(JQ=L.maxHeight,YQ=L.maxWidth),o3t(E,S,F,x),R.textureProjectionArray=S,R._shadowMapCount=T;let U,N;k(y.receiveCommand)&&(U=y.receiveCommand.shaderProgram,N=y.receiveCommand.uniformMap);let H=cn.shallowClone(m,y.receiveCommand);y.castShadows=!1,y.receiveShadows=!0;for(let J=0;J=hVe.RENDERED_AND_KICKED},originalResult:function(o){return o&3},kick:function(o){return o|4}},To=hVe;function _C(o){this._tilingScheme=o.tilingScheme,this._x=o.x,this._y=o.y,this._level=o.level,this._parent=o.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=To.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=m0.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0,this.datazh=void 0}_C.createLevelZeroTiles=function(o){let A=o.getNumberOfXTilesAtLevel(0),f=o.getNumberOfYTilesAtLevel(0),m=new Array(A*f),C=0;for(let E=0;E=m&&(A-=m),!(f<0||f>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return o.filter(function(C){return C.x===A&&C.y===f})[0]};_C.prototype.findTileToWest=function(o){let A=this.parent;if(A===void 0)return this.findLevelZeroTile(o,this.x-1,this.y);if(A.southeastChild===this)return A.southwestChild;if(A.northeastChild===this)return A.northwestChild;let f=A.findTileToWest(o);if(f!==void 0)return A.southwestChild===this?f.southeastChild:f.northeastChild};_C.prototype.findTileToEast=function(o){let A=this.parent;if(A===void 0)return this.findLevelZeroTile(o,this.x+1,this.y);if(A.southwestChild===this)return A.southeastChild;if(A.northwestChild===this)return A.northeastChild;let f=A.findTileToEast(o);if(f!==void 0)return A.southeastChild===this?f.southwestChild:f.northwestChild};_C.prototype.findTileToSouth=function(o){let A=this.parent;if(A===void 0)return this.findLevelZeroTile(o,this.x,this.y+1);if(A.northwestChild===this)return A.southwestChild;if(A.northeastChild===this)return A.southeastChild;let f=A.findTileToSouth(o);if(f!==void 0)return A.southwestChild===this?f.northwestChild:f.northeastChild};_C.prototype.findTileToNorth=function(o){let A=this.parent;if(A===void 0)return this.findLevelZeroTile(o,this.x,this.y-1);if(A.southwestChild===this)return A.northwestChild;if(A.southeastChild===this)return A.northeastChild;let f=A.findTileToNorth(o);if(f!==void 0)return A.northwestChild===this?f.southwestChild:f.southeastChild};_C.prototype.freeResources=function(){this.state=m0.START,this.renderable=!1,this.upsampledFromParent=!1,k(this.data)&&k(this.data.freeResources)&&this.data.freeResources(),k(this.data)&&k(this.data.geometryPrimitive)&&(this.data.geometryPrimitive.destroy(),this.data.geometryPrimitive=void 0),W7(this._southwestChild),this._southwestChild=void 0,W7(this._southeastChild),this._southeastChild=void 0,W7(this._northwestChild),this._northwestChild=void 0,W7(this._northeastChild),this._northeastChild=void 0};function W7(o){k(o)&&o.freeResources()}var z$=_C;function Y$(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}Y$.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head};Y$.prototype.trimTiles=function(o){let A=this.tail,f=!0;for(;f&&k(this._lastBeforeStartOfFrame)&&this.count>o&&k(A);){f=A!==this._lastBeforeStartOfFrame;let m=A.replacementPrevious;A.eligibleForUnloading&&(A.freeResources(),dVe(this,A)),A=m}};function dVe(o,A){let f=A.replacementPrevious,m=A.replacementNext;A===o._lastBeforeStartOfFrame&&(o._lastBeforeStartOfFrame=m),A===o.head?o.head=m:f.replacementNext=m,A===o.tail?o.tail=f:m.replacementPrevious=f,A.replacementPrevious=void 0,A.replacementNext=void 0,--o.count}Y$.prototype.markTileRendered=function(o){let A=this.head;if(A===o){o===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=o.replacementNext);return}if(++this.count,!k(A)){o.replacementPrevious=void 0,o.replacementNext=void 0,this.head=o,this.tail=o;return}(k(o.replacementPrevious)||k(o.replacementNext))&&dVe(this,o),o.replacementPrevious=void 0,o.replacementNext=A,A.replacementPrevious=o,this.head=o};var J$=Y$;function Iv(o){this._tileProvider=o.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let A=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new J$,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=ae(o.maximumScreenSpaceError,2),this.tileCacheSize=ae(o.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new V$({ellipsoid:A}),this._tileLoadProgressEvent=new ir,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties(Iv.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});Iv.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function A3t(o){let A=o._tileReplacementQueue;A.head=void 0,A.tail=void 0,A.count=0,gVe(o);let f=o._levelZeroTiles;if(k(f))for(let m=0;m0)try{f.updateForPick(o)}catch(m){console.error(m)}};function u3t(o,A){let f=o._tileLoadQueueHigh.length+o._tileLoadQueueMedium.length+o._tileLoadQueueLow.length;(f!==o._lastTileLoadQueueLength||o._tilesInvalidated)&&(A.afterRender.push(ir.prototype.raiseEvent.bind(o._tileLoadProgressEvent,f)),o._lastTileLoadQueueLength=f);let m=o._debug;m.enableDebugOutput&&!m.suspendLodUpdate&&(m.maxDepth=o._tilesToRender.reduce(function(C,E){return Math.max(C,E.level)},-1),m.tilesRendered=o._tilesToRender.length,(m.tilesVisited!==m.lastTilesVisited||m.tilesRendered!==m.lastTilesRendered||m.tilesCulled!==m.lastTilesCulled||m.maxDepth!==m.lastMaxDepth||m.tilesWaitingForChildren!==m.lastTilesWaitingForChildren||m.maxDepthVisited!==m.lastMaxDepthVisited)&&(console.log(`Visited ${m.tilesVisited}, Rendered: ${m.tilesRendered}, Culled: ${m.tilesCulled}, Max Depth Rendered: ${m.maxDepth}, Max Depth Visited: ${m.maxDepthVisited}, Waiting for children: ${m.tilesWaitingForChildren}`),m.lastTilesVisited=m.tilesVisited,m.lastTilesRendered=m.tilesRendered,m.lastTilesCulled=m.tilesCulled,m.lastMaxDepth=m.maxDepth,m.lastTilesWaitingForChildren=m.tilesWaitingForChildren,m.lastMaxDepthVisited=m.maxDepthVisited))}Iv.prototype.endFrame=function(o){!o.passes.render||o.mode===ii.MORPHING||(E3t(this,o),y3t(this,o),u3t(this,o))};var sH,TPe=new Lt;function c3t(o,A){let f=hi.center(o.rectangle,TPe),m=f.longitude-sH.longitude,C=f.latitude-sH.latitude;f=hi.center(A.rectangle,TPe);let E=f.longitude-sH.longitude,I=f.latitude-sH.latitude;return m*m+C*C-(E*E+I*I)}var h3t=new Z,C8=[];function d3t(o,A){let f=o._debug;if(f.suspendLodUpdate)return;let m=o._tilesToRender;m.length=0;let C,E=o._tileProvider;if(!k(o._levelZeroTiles))if(E.ready){let S=E.tilingScheme;o._levelZeroTiles=z$.createLevelZeroTiles(S);let P=o._levelZeroTiles.length;if(C8.length1?o._occluders:void 0;sH=A.camera.positionCartographic,x.sort(c3t);let v=o._addHeightCallbacks,w=o._removeHeightCallbacks,Q=A.frameNumber,M;if(v.length>0||w.length>0){for(C=0,M=x.length;CE.maxDepthVisited&&(E.maxDepthVisited=f.level);let I=m3t(o,A,f)o.loadingDescendantLimit&&(o._tileLoadQueueLow.length=S,o._tileLoadQueueMedium.length=P,o._tileLoadQueueHigh.length=R,KQ(o,o._tileLoadQueueMedium,f,A),C.notYetRenderableCount=f.renderable?0:1,N=!0),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=J,J||o._tileToUpdateHeights.push(f),++E.tilesWaitingForChildren}o.preloadAncestors&&!N&&KQ(o,o._tileLoadQueueLow,f,A)}return}f._lastSelectionResultFrame=A.frameNumber,f._lastSelectionResult=To.RENDERED,q7(o,f),KQ(o,o._tileLoadQueueHigh,f,A),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=M===To.RENDERED,C.notYetRenderableCount=f.renderable?0:1}function f3t(o,A,f,m,C,E,I,x){let y=E.camera.positionCartographic,v=o._tileProvider,w=o._occluders,Q=Bue[A.level],M=Q.southwest,B=Q.southeast,D=Q.northwest,S=Q.northeast;y.longitude0;){let Q=m[0];if(!k(Q.data)||!k(Q.data.mesh)){let S=Q._lastSelectionResultFrame===o._lastSelectionFrameNumber?Q._lastSelectionResult:To.NONE;(S===To.RENDERED||S===To.CULLED_BUT_NEEDED)&&f.push(Q),m.shift(),o._lastTileIndex=0;continue}let M=Q.customData,B=M.length,D=!1;for(w=o._lastTileIndex;wS.level&&!R){if(k(S.positionOnEllipsoidSurface)||(S.positionOnEllipsoidSurface=Z.fromRadians(S.positionCartographic.longitude,S.positionCartographic.latitude,0,v)),x===ii.SCENE3D){let L=v.geodeticSurfaceNormal(S.positionOnEllipsoidSurface,$k.direction),F=v.getSurfaceNormalIntersectionWithZAxis(S.positionOnEllipsoidSurface,11500,$k.origin);if(!k(F)){let U;k(Q.data.tileBoundingRegion)&&(U=Q.data.tileBoundingRegion.minimumHeight);let N=Math.min(ae(U,0),-11500),H=Z.multiplyByScalar(L,Math.abs(N)+1,nT);Z.subtract(S.positionOnEllipsoidSurface,H,$k.origin)}}else Lt.clone(S.positionCartographic,fse),fse.height=-11500,y.project(fse,nT),Z.fromElements(nT.z,nT.x,nT.y,nT),Z.clone(nT,$k.origin),Z.clone(Z.UNIT_X,$k.direction);let T=Q.data.pick($k,x,y,!1,nT);k(T)&&(S.callback(T),S.level=Q.level)}if(HA()>=I){D=!0;break}}if(D){o._lastTileIndex=w;break}else o._lastTileIndex=0,m.shift()}for(w=0;w"),oe.contentDocument.write(le),oe.contentDocument.close()})};var L=function(H,J,K,X,j){var ee,ie,z,oe,le,Ae,he,ge,de,fe,G,Y=Math.max(H.scrollWidth,H.clientWidth),W=Math.max(H.scrollHeight,H.clientHeight);return J?(ee=(Ae=function(O,re){var se=O.querySelector(re);if(se)return se;if(O.ownerDocument.querySelector(re)===O)return O;throw{message:"Clipping selector not found"}}(H,J).getBoundingClientRect()).top,ie=Ae.left,z=Ae.width,oe=Ae.height):(ie=ee=0,z=Y,oe=W),ge={width:z,height:oe},de=K,fe=X,G=j,he={width:Math.max(ge.width*G,de),height:Math.max(ge.height*G,fe)},le=R.getComputedStyle(H.ownerDocument.documentElement).fontSize,{left:ie,top:ee,width:he.width,height:he.height,viewportWidth:Y,viewportHeight:W,rootFontSize:le}};T.calculateDocumentContentSize=function(H,J){return new Promise(function(K,X){var j,ee,ie,z,oe,le,Ae,he,ge,de,fe,G,Y=J.zoom||1;ee=J.width,ie=J.height,z=Y,ge=Math.floor(ee/z),de=Math.floor(ie/z),oe=R.document,le=ge,Ae=de,(he=oe.createElement("iframe")).style.width=le+"px",he.style.height=Ae+"px",he.style.visibility="hidden",he.style.position="absolute",he.style.top=-1e4-Ae+"px",he.style.left=-1e4-le+"px",he.style.borderWidth=0,he.sandbox="allow-same-origin",he.scrolling="no",j=he,R.document.getElementsByTagName("body")[0].appendChild(j),j.onload=function(){var W,O,re,se=j.contentDocument;try{W=L((O=se,re=H.tagName,O.querySelector(re)),J.clip,J.width,J.height,Y),K(W)}catch(ce){X(ce)}finally{R.document.getElementsByTagName("body")[0].removeChild(j)}},j.contentDocument.open(),j.contentDocument.write(""),j.contentDocument.write((G=(fe=H).tagName.toLowerCase())==="html"||G==="body"?fe.outerHTML:''+fe.outerHTML+""),j.contentDocument.close()})},T.parseHtmlFragment=function(H){var J=R.document.implementation.createHTMLDocument("");J.documentElement.innerHTML=H;var K=J.querySelector("body").firstChild;if(!K)throw"Invalid source";return K},T.parseHTML=function(H){var J=R.document.implementation.createHTMLDocument("");return J.documentElement.innerHTML=H,function(K,X){var j,ee,ie,z,oe=/]*)?)>/im.exec(X),le=R.document.implementation.createHTMLDocument("");if(oe)for(j="",le.documentElement.innerHTML=j,ie=le.querySelector("div"),ee=0;ee"],{type:"text/xml"}),!0}catch{}return!1})()&&D.URL?(K=R(L,!0),F(K).then(function(X){return T(K),!X&&F(R(L,!1)).then(function(j){return j})},function(){return!1})).then(function(X){H(!X)},function(){J()}):H(!1)})},N=function(H){return(S===void 0&&(S=U()),S).then(function(J){return R(H,J)})};return P.renderSvg=function(H){return new Promise(function(J,K){var X,j,ee=function(){X&&T(X)};(j=new Image).onload=function(){j.onload=null,j.onerror=null,ee(),J(j)},j.onerror=function(){ee(),K()},N(H).then(function(ie){X=ie,j.src=X},K)})},P}(window);return function(D,S,P){"use strict";var R={};R.drawDocument=function(){var L,F,U,N,H,J,K,X=arguments[0],j=Array.prototype.slice.call(arguments,1),ee=D.parseOptionalParameters(j),ie=X.documentElement?X.documentElement:X;return P.rasterize(ie,ee.canvas,(U=(L=ee).canvas,N=L.options,H=U?U.width:300,J=U?U.height:200,K={width:N.width!==void 0?N.width:H,height:N.height!==void 0?N.height:J},(F=D.clone(L.options)).width=K.width,F.height=K.height,F))},R.drawHTML=function(){var L,F,U,N,H=arguments[0],J=Array.prototype.slice.call(arguments,1),K=D.parseOptionalParameters(J);return L=H,F=K.canvas,U=K.options,N=S.parseHTML(L),R.drawDocument(N,F,U)};var T=function(L,F,U){return S.loadDocument(L,U).then(function(N){var H=function(J,K,X){var j=document.implementation.createHTMLDocument("");j.replaceChild(J.documentElement,j.documentElement);var ee=X?D.clone(X):{};return X.baseUrl||(ee.baseUrl=K),{document:j,options:ee}}(N,L,U);return R.drawDocument(H.document,F,H.options)})};return R.drawURL=function(){var L=arguments[0],F=Array.prototype.slice.call(arguments,1),U=D.parseOptionalParameters(F);return T(L,U.canvas,U.options)},R}(v,M,function(D,S,P,R,T,L){"use strict";var F={},U=function(J){return{message:"Error rendering page",originalError:J}},N=function(J){return T.renderSvg(J).then(function(K){return{image:K,svg:J}},function(K){throw U(K)})},H=function(J,K,X){return R.drawDocumentAsSvg(J,X).then(N).then(function(j){return K&&function(ee,ie){try{ie.getContext("2d").drawImage(ee,0,0)}catch(z){throw U(z)}}(j.image,K),j})};return F.rasterize=function(J,K,X){var j;return(j=D.clone(X)).inlineScripts=X.executeJs===!0,L.inlineReferences(J,j).then(function(ee){return X.executeJs?(ie=J,z=X,S.executeJavascript(ie,z).then(function(oe){var le=oe.document;return P.persistInputValues(le),{document:le,errors:oe.errors}})).then(function(oe){return{element:oe.document.documentElement,errors:ee.concat(oe.errors)}}):{element:J,errors:ee};var ie,z}).then(function(ee){return H(ee.element,K,X).then(function(ie){return{image:ie.image,svg:ie.svg,errors:ee.errors}})})},F}(v,M,Q,function(D,S,P,R){"use strict";var T={},L=function(U){var N=Object.keys(U);return N.length?" "+N.map(function(H){return H+'="'+U[H]+'"'}).join(" "):""},F=function(U,N,H){var J=R.serializeToString(U);S.validateXHTML(J);var K,X,j,ee,ie,z,oe,le,Ae=(K=N,X=Math.round(K.viewportWidth),j=Math.round(K.viewportHeight),{x:-K.left,y:-K.top,width:X,height:j});return ie=(ee=Ae).style||"",ee.style=ie+"float: left;",Ae.externalResourcesRequired=!0,'"+J+""};return T.getSvgForDocument=function(U,N,H){return P.rewriteTagNameSelectorsToLowerCase(U),F(U,N,H)},T.drawDocumentAsSvg=function(U,N){return["hover","active","focus","target"].forEach(function(H){N[H]&&P.fakeUserAction(U,N[H],H)}),S.calculateDocumentContentSize(U,N).then(function(H){return T.getSvgForDocument(U,H,N.zoom)})},T}(0,M,Q,I),B,y))},(m=this)===void 0&&window!==void 0&&(m=window),typeof A=="object"&&A.exports?A.exports=C(o("url"),o("xmlserializer"),o("sane-domparser-error"),o("inlineresources")):m.rasterizeHTML=C(m.url,m.xmlserializer,m.sanedomparsererror,m.inlineresources)},{inlineresources:5,"sane-domparser-error":14,url:15,xmlserializer:17}],2:[function(o,A,f){(function(m){(function(C){typeof f=="object"&&A!==void 0?A.exports=C():(typeof window<"u"?window:m!==void 0?m:typeof self<"u"?self:this).cssFontFaceSrc=C()})(function(){return function C(E,I,x){function y(Q,M){if(!I[Q]){if(!E[Q]){var B=typeof o=="function"&&o;if(!M&&B)return B(Q,!0);if(v)return v(Q,!0);var D=new Error("Cannot find module '"+Q+"'");throw D.code="MODULE_NOT_FOUND",D}var S=I[Q]={exports:{}};E[Q][0].call(S.exports,function(P){var R=E[Q][1][P];return y(R||P)},S,S.exports,C,E,I,x)}return I[Q].exports}for(var v=typeof o=="function"&&o,w=0;w= 0x80 (not a basic code point)","invalid-input":"Invalid input"},H=Q-M,J=Math.floor,K=String.fromCharCode;function X(ge){throw RangeError(N[ge])}function j(ge,de){for(var fe=ge.length,G=[];fe--;)G[fe]=de(ge[fe]);return G}function ee(ge,de){var fe=ge.split("@"),G="";return 1>>10&1023|55296),de=56320|1023&de),fe+=K(de)}).join("")}function oe(ge,de){return ge+22+75*(ge<26)-((de!=0)<<5)}function le(ge,de,fe){var G=0;for(ge=fe?J(ge/S):ge>>1,ge+=J(ge/de);H*B>>1J((w-Me)/O))&&X("overflow"),Me+=se*O,!(se<(ce=re<=ke?M:ke+B<=re?B:re-ke));re+=Q)O>J(w/(me=Q-ce))&&X("overflow"),O*=me;ke=le(Me-W,de=ye.length+1,W==0),J(Me/de)>w-He&&X("overflow"),He+=J(Me/de),Me%=de,ye.splice(Me++,0,He)}return z(ye)}function he(ge){var de,fe,G,Y,W,O,re,se,ce,me,Ce,ye,Be,Me,He,ke=[];for(ye=(ge=ie(ge)).length,de=R,W=P,O=fe=0;OJ((w-fe)/(Be=G+1))&&X("overflow"),fe+=(re-de)*Be,de=re,O=0;Ow&&X("overflow"),Ce==de){for(se=fe,ce=Q;!(se<(me=ce<=W?M:W+B<=ce?B:ce-W));ce+=Q)He=se-me,Me=Q-me,ke.push(K(oe(me+He%Me,0))),se=J(He/Me);ke.push(K(oe(se,0))),W=le(fe,Be,G==Y),fe=0,++G}++fe,++de}return ke.join("")}if(y={version:"1.3.2",ucs2:{decode:ie,encode:z},decode:Ae,encode:he,toASCII:function(ge){return ee(ge,function(de){return F.test(de)?"xn--"+he(de):de})},toUnicode:function(ge){return ee(ge,function(de){return L.test(de)?Ae(de.slice(4).toLowerCase()):de})}},E&&I)if(A.exports==E)I.exports=y;else for(v in y)y.hasOwnProperty(v)&&(E[v]=y[v]);else C.punycode=y})(this)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}],11:[function(o,A,f){"use strict";A.exports=function(C,E,I,x){E=E||"&",I=I||"=";var y={};if(typeof C!="string"||C.length===0)return y;var v=/\+/g;C=C.split(E);var w=1e3;x&&typeof x.maxKeys=="number"&&(w=x.maxKeys);var Q,M,B=C.length;0]*>This page contains the following errors:]*>(.+?) ?`),new RegExp(`^(.+) `)],C=function(E){var I,x,y,v,w=(I=E,x=new XMLSerializer,Array.prototype.map.call(I.childNodes,function(Q){return x.serializeToString(Q)}).join(""));for(y=0;y",'"',"`"," ","\r",` `," "]),w=["'"].concat(v),Q=["%","/","?",";","#"].concat(w),M=["/","?","#"],B=/^[+a-z0-9A-Z_-]{0,63}$/,D=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,S={javascript:!0,"javascript:":!0},P={javascript:!0,"javascript:":!0},R={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},T=o("querystring");function L(F,U,N){if(F&&C.isObject(F)&&F instanceof E)return F;var H=new E;return H.parse(F,U,N),H}E.prototype.parse=function(F,U,N){if(!C.isString(F))throw new TypeError("Parameter 'url' must be a string, not "+typeof F);var H=F.indexOf("?"),J=H!==-1&&H/g,">").replace(/"/g,""").replace(/'/g,"'")+'"')}),0",B+=I(v),B+=""):B+="/>",B},y=function(v,w){var Q,M=w&&w.rootNode;return v.nodeName==="#document"||v.nodeName==="#document-fragment"?I(v):v.tagName?x(v,M):v.nodeName==="#text"?((Q=v).nodeValue||Q.value||"").replace(/&/g,"&").replace(//g,">"):v.nodeName==="#comment"?"":v.nodeName==="#cdata-section"?"":void 0};return{serializeToString:function(v){return y(v,{rootNode:!0}).replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]/g,"")}}},typeof A=="object"&&A.exports?A.exports=C():m.xmlserializer=C()},{}]},{},[1])(1)});var Rpe=mVe.rasterizeHTML,e4=Rpe,_3t=qe.WHITE,B3t=qe.BLACK,w3t=1;function VU(o){o=ae(o,ae.EMPTY_OBJECT),this._definitionChanged=new ir,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this.color=o.color,this.outlineColor=o.outlineColor,this.outlineWidth=o.outlineWidth}Object.defineProperties(VU.prototype,{isConstant:{get:function(){return Ct.isConstant(this._color)&&Ct.isConstant(this._outlineColor)&&Ct.isConstant(this._outlineWidth)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ai("color"),outlineColor:ai("outlineColor"),outlineWidth:ai("outlineWidth")});VU.prototype.getType=function(o){return"PolylineOutline"};VU.prototype.getValue=function(o,A){return k(A)||(A={}),A.color=Ct.getValueOrClonedDefault(this._color,o,_3t,A.color),A.outlineColor=Ct.getValueOrClonedDefault(this._outlineColor,o,B3t,A.outlineColor),A.outlineWidth=Ct.getValueOrDefault(this._outlineWidth,o,w3t),A};VU.prototype.equals=function(o){return this===o||o instanceof VU&&Ct.equals(this._color,o._color)&&Ct.equals(this._outlineColor,o._outlineColor)&&Ct.equals(this._outlineWidth,o._outlineWidth)};var DS=VU,b3t=function(){function o(A,f){this.options={position:f.position,label:{text:f.labelText,font:"12pt monospace",style:fu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:on.BOTTOM,pixelOffset:new tt(0,-9),disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=f.positions,this.earthCtrl=A,this._init()}return o.prototype._init=function(){this.entity=this.earthCtrl.entities.add(this.options)},o.prototype.destory=function(){k(this.entity)&&this.earthCtrl.entities.remove(this.entity)},Object.defineProperties(o.prototype,{text:{get:function(){return this.entity.label.text},set:function(A){this.entity.label.text=A}},position:{get:function(){return this.entity.position},set:function(A){this.entity.position=A}}}),o}(),Q3t=function(){function o(A,f){this.primitive=new z9;for(let m in f.positions)f.positions.hasOwnProperty(m)&&this.primitive.add({show:!0,position:m,color:f.color,pixelSize:f.pixelSize,allowPicking:!1,disableDepthTestDistance:Number.POSITIVE_INFINITY,outlineColor:ae(f.outlineColor,qe.WHITE),outlineWidth:ae(f.outlineWidth,2)});this.earthCtrl=A,this.options=f,this._init()}return o.prototype._init=function(){this.earthCtrl.coreMap.scene.primitives.add(this.primitive)},o.prototype.destory=function(){this.earthCtrl.coreMap.scene.primitives.remove(this.primitive)},o.prototype.add=function(A){this.primitive.add({show:!0,position:A,color:this.options.color,pixelSize:this.options.pixelSize,disableDepthTestDistance:Number.POSITIVE_INFINITY})},o.prototype.count=function(A){return this.primitive.length},o.prototype.get=function(A){return this.primitive.get(A)},o.prototype.set=function(A,f){this.primitive.get(A).position=f},o}(),S3t=function(){function o(A,f){this.options={polyline:{positions:[],arcType:aa.NONE,material:f.color,width:f.width}},this.positions=f.positions,this.earthCtrl=A,this._init()}return o.prototype._init=function(){let A=this,f=function(){return A.positions};this.options.polyline.positions=new Kr(f,!1),this.entity=this.earthCtrl.entities.add(this.options)},o.prototype.destory=function(){k(this.entity)&&this.earthCtrl.entities.remove(this.entity)},o}(),D3t=function(){function o(A,f){this.options={polygon:{show:!0,hierarchy:{positions:f.positions},material:f.color,width:f.width,outline:!0,outlineColor:f.outlineColor,disableDepthTestDistance:1e4}},this.positions=f.positions,this.earthCtrl=A,this._init()}return o.prototype._init=function(){let A=this,f=function(){return{positions:A.positions}};this.options.polygon.hierarchy=new Kr(f,!1),this.entity=this.earthCtrl.entities.add(this.options)},o.prototype.destory=function(){this.entity!==null&&this.earthCtrl.entities.remove(this.entity)},o}(),t4=function(){};t4.createPointPrimitive=function(o,A){return o.entities.add(A)};t4.createLabelPrimitive=function(o,A){return new b3t(o,A)};t4.createPointsPrimitive=function(o,A){return new Q3t(o,A)};t4.createPolylinePrimitive=function(o,A){return new S3t(o,A)};t4.createPolygonPrimitive=function(o,A){return new D3t(o,A)};var zA=t4;function CVe(o){o=ae(o,ae.EMPTY_OBJECT),this.vertexArray=o.vertexArray,this.fragmentShaderSource=o.fragmentShaderSource,this.shaderProgram=o.shaderProgram,this.uniformMap=o.uniformMap,this.outputTexture=o.outputTexture,this.preExecute=o.preExecute,this.postExecute=o.postExecute,this.canceled=o.canceled,this.persists=ae(o.persists,!1),this.pass=zi.COMPUTE,this.owner=o.owner}CVe.prototype.execute=function(o){o.execute(this)};var QF=CVe,Lpe=`in vec2 v_textureCoordinates; uniform float originalSize; uniform sampler2D texture0; uniform sampler2D texture1; uniform sampler2D texture2; uniform sampler2D texture3; uniform sampler2D texture4; uniform sampler2D texture5; const float yMipLevel1 = 1.0 - (1.0 / pow(2.0, 1.0)); const float yMipLevel2 = 1.0 - (1.0 / pow(2.0, 2.0)); const float yMipLevel3 = 1.0 - (1.0 / pow(2.0, 3.0)); const float yMipLevel4 = 1.0 - (1.0 / pow(2.0, 4.0)); void main() { vec2 uv = v_textureCoordinates; vec2 textureSize = vec2(originalSize * 1.5 + 2.0, originalSize); vec2 pixel = 1.0 / textureSize; float mipLevel = 0.0; if (uv.x - pixel.x > (textureSize.y / textureSize.x)) { mipLevel = 1.0; if (uv.y - pixel.y > yMipLevel1) { mipLevel = 2.0; if (uv.y - pixel.y * 3.0 > yMipLevel2) { mipLevel = 3.0; if (uv.y - pixel.y * 5.0 > yMipLevel3) { mipLevel = 4.0; if (uv.y - pixel.y * 7.0 > yMipLevel4) { mipLevel = 5.0; } } } } } if (mipLevel > 0.0) { float scale = pow(2.0, mipLevel); uv.y -= (pixel.y * (mipLevel - 1.0) * 2.0); uv.x *= ((textureSize.x - 2.0) / textureSize.y); uv.x -= 1.0 + pixel.x; uv.y -= (1.0 - (1.0 / pow(2.0, mipLevel - 1.0))); uv *= scale; } else { uv.x *= (textureSize.x / textureSize.y); } if(mipLevel == 0.0) { out_FragColor = texture(texture0, uv); } else if(mipLevel == 1.0) { out_FragColor = texture(texture1, uv); } else if(mipLevel == 2.0) { out_FragColor = texture(texture2, uv); } else if(mipLevel == 3.0) { out_FragColor = texture(texture3, uv); } else if(mipLevel == 4.0) { out_FragColor = texture(texture4, uv); } else if(mipLevel == 5.0) { out_FragColor = texture(texture5, uv); } else { out_FragColor = vec4(0.0); } } `,Fpe=`in vec3 v_cubeMapCoordinates; uniform samplerCube cubeMap; void main() { vec4 rgba = czm_textureCube(cubeMap, v_cubeMapCoordinates); #ifdef RGBA_NORMALIZED out_FragColor = vec4(rgba.rgb, 1.0); #else float m = rgba.a * 16.0; vec3 r = rgba.rgb * m; out_FragColor = vec4(r * r, 1.0); #endif } `,Npe=`in vec4 position; in vec3 cubeMapCoordinates; out vec3 v_cubeMapCoordinates; void main() { gl_Position = position; v_cubeMapCoordinates = cubeMapCoordinates; } `;function SF(o){this._url=o,this._cubeMapBuffers=void 0,this._cubeMaps=void 0,this._texture=void 0,this._mipTextures=void 0,this._va=void 0,this._sp=void 0,this._maximumMipmapLevel=void 0,this._loading=!1,this._ready=!1,this._errorEvent=new ir}Object.defineProperties(SF.prototype,{url:{get:function(){return this._url}},errorEvent:{get:function(){return this._errorEvent}},texture:{get:function(){return this._texture}},maximumMipmapLevel:{get:function(){return this._maximumMipmapLevel}},ready:{get:function(){return this._ready}}});SF.isSupported=function(o){return o.colorBufferHalfFloat&&o.halfFloatingPointTexture||o.floatingPointTexture&&o.colorBufferFloat};var M3t=new Z(1,0,0),T3t=new Z(0,0,1),P3t=new Z(-1,0,0),R3t=new Z(0,0,-1),j7=new Z(0,1,0),L3t=new Z(0,-1,0),EVe=[j7,P3t,T3t,L3t,M3t,j7,R3t,j7,j7],IVe=EVe.length,xVe=new Float32Array(IVe*3),PPe=0;for(let o=0;o0||this._imageBasedLightingFactor.y>0}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},useDefaultSphericalHarmonics:{get:function(){return this._useDefaultSphericalHarmonics}},useSphericalHarmonicCoefficients:{get:function(){return k(this._sphericalHarmonicCoefficients)||this._useDefaultSphericalHarmonics}},specularEnvironmentMapAtlas:{get:function(){return this._specularEnvironmentMapAtlas}},useDefaultSpecularMaps:{get:function(){return this._useDefaultSpecularMaps}},useSpecularEnvironmentMaps:{get:function(){return k(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready||this._useDefaultSpecularMaps}}});function U3t(o,A){if(DF.isSupported(A)){if(o._specularEnvironmentMapAtlas=o._specularEnvironmentMapAtlas&&o._specularEnvironmentMapAtlas.destroy(),k(o._specularEnvironmentMaps)){let f=new DF(o._specularEnvironmentMaps);o._specularEnvironmentMapAtlas=f,o._removeErrorListener=f.errorEvent.addEventListener(m=>{console.error(`Error loading specularEnvironmentMaps: ${m}`)})}o._shouldRegenerateShaders=!0}}vz.prototype.update=function(o){if(o.frameNumber===this._previousFrameNumber)return;this._previousFrameNumber=o.frameNumber;let A=o.context;o.brdfLutGenerator.update(o),this._shouldRegenerateShaders=!1;let f=this._imageBasedLightingFactor,m=this._previousImageBasedLightingFactor;tt.equals(f,m)||(this._shouldRegenerateShaders=f.x>0&&m.x===0||f.x===0&&m.x>0,this._shouldRegenerateShaders=this._shouldRegenerateShaders||f.y>0&&m.y===0||f.y===0&&m.y>0,this._previousImageBasedLightingFactor=tt.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor)),this._luminanceAtZenith!==this._previousLuminanceAtZenith&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||k(this._luminanceAtZenith)!==k(this._previousLuminanceAtZenith),this._previousLuminanceAtZenith=this._luminanceAtZenith),this._previousSphericalHarmonicCoefficients!==this._sphericalHarmonicCoefficients&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||k(this._previousSphericalHarmonicCoefficients)!==k(this._sphericalHarmonicCoefficients),this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients),this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._previousSpecularEnvironmentMapLoaded!==this._specularEnvironmentMapLoaded,this._previousSpecularEnvironmentMapLoaded=this._specularEnvironmentMapLoaded,this._specularEnvironmentMapAtlasDirty&&(U3t(this,A),this._specularEnvironmentMapAtlasDirty=!1),k(this._specularEnvironmentMapAtlas)&&(this._specularEnvironmentMapAtlas.update(o),this._specularEnvironmentMapAtlas.ready&&(this._specularEnvironmentMapLoaded=!0));let C=!k(this._specularEnvironmentMapAtlas)&&k(o.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,E=!k(o.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,I=!k(this._sphericalHarmonicCoefficients)&&k(o.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,x=!k(o.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||C||E||I||x,this._useDefaultSpecularMaps=!k(this._specularEnvironmentMapAtlas)&&k(o.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!k(this._sphericalHarmonicCoefficients)&&k(o.sphericalHarmonicCoefficients)};vz.prototype.isDestroyed=function(){return!1};vz.prototype.destroy=function(){return this._specularEnvironmentMapAtlas=this._specularEnvironmentMapAtlas&&this._specularEnvironmentMapAtlas.destroy(),this._removeErrorListener=this._removeErrorListener&&this._removeErrorListener(),ar(this)};var K$=vz,yVe=Ku(dv(),1),X7,vVe="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJmYmE2YWEzOS1lZDUyLTQ0YWMtOTlkNS0wN2VhZWI3NTc4MmEiLCJpZCI6MjU5LCJpYXQiOjE2ODU2MzQ0Njl9.AswCMxsN03WYwuZL-r183OZicN64Ks9aPExWhA3fuLY",W$={};W$.defaultAccessToken=vVe;W$.defaultServer=new fr({url:"https://api.cesium.com/"});W$.getDefaultTokenCredit=function(o){if(o===vVe){if(!k(X7)){let A=` This application is using Cesium's default ion access token. Please assign Cesium.Ion.defaultAccessToken with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at https://cesium.com.`;X7=new la(A,!0),X7._isDefaultToken=!0}return X7}};var jT=W$;function MC(o,A){let f,m=o.externalType,C=k(m);if(!C)f={url:o.url,retryAttempts:1,retryCallback:O3t};else if(m==="3DTILES"||m==="STK_TERRAIN_SERVER")f={url:o.options.url};else throw new Ti("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");fr.call(this,f),this._ionEndpoint=o,this._ionEndpointDomain=C?void 0:new yVe.default(o.url).authority(),this._ionEndpointResource=A,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=C}k(Object.create)&&(MC.prototype=Object.create(fr.prototype),MC.prototype.constructor=MC);MC.fromAssetId=function(o,A){let f=MC._createEndpointResource(o,A);return f.fetchJson().then(function(m){return new MC(m,f)})};Object.defineProperties(MC.prototype,{credits:{get:function(){return k(this._ionRoot)?this._ionRoot.credits:k(this._credits)?this._credits:(this._credits=MC.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource),this._credits)}}});MC.getCreditsFromEndpoint=function(o,A){let f=o.attributions.map(la.getIonCredit),m=jT.getDefaultTokenCredit(A.queryParameters.access_token);return k(m)&&f.push(la.clone(m)),f};MC.prototype.clone=function(o){let A=ae(this._ionRoot,this);return k(o)||(o=new MC(A._ionEndpoint,A._ionEndpointResource)),o=fr.prototype.clone.call(this,o),o._ionRoot=A,o._isExternal=this._isExternal,o};MC.prototype.fetchImage=function(o){if(!this._isExternal){let A=o;o={preferBlob:!0},k(A)&&(o.flipY=A.flipY,o.preferImageBitmap=A.preferImageBitmap)}return fr.prototype.fetchImage.call(this,o)};MC.prototype._makeRequest=function(o){return this._isExternal||new yVe.default(this.url).authority()!==this._ionEndpointDomain?fr.prototype._makeRequest.call(this,o):(k(o.headers)||(o.headers={}),o.headers.Authorization=`Bearer ${this._ionEndpoint.accessToken}`,o.headers["X-Cesium-Client"]="CesiumJS",typeof CESIUM_VERSION<"u"&&(o.headers["X-Cesium-Client-Version"]=CESIUM_VERSION),fr.prototype._makeRequest.call(this,o))};MC._createEndpointResource=function(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=ae(A.server,jT.defaultServer),m=ae(A.accessToken,jT.defaultAccessToken);f=fr.createIfNeeded(f);let C={url:`v1/assets/${o}/endpoint`};return k(m)&&(C.queryParameters={access_token:m}),f.getDerivedResource(C)};function O3t(o,A){let f=ae(o._ionRoot,o),m=f._ionEndpointResource,C=typeof Image<"u";return!k(A)||A.statusCode!==401&&!(C&&A.target instanceof Image)?Promise.resolve(!1):(k(f._pendingPromise)||(f._pendingPromise=m.fetchJson().then(function(E){return f._ionEndpoint=E,E}).finally(function(E){return f._pendingPromise=void 0,E})),f._pendingPromise.then(function(E){return o._ionEndpoint=E,!0}))}var jy=MC;function ob(o){o=ae(o,0),this._array=new Array(o),this._length=o}Object.defineProperties(ob.prototype,{length:{get:function(){return this._length},set:function(o){let A=this._array,f=this._length;if(oA.length&&(A.length=o);this._length=o}},values:{get:function(){return this._array}}});ob.prototype.get=function(o){return this._array[o]};ob.prototype.set=function(o,A){o>=this._length&&(this.length=o+1),this._array[o]=A};ob.prototype.peek=function(){return this._array[this._length-1]};ob.prototype.push=function(o){let A=this.length++;this._array[A]=o};ob.prototype.pop=function(){if(this._length===0)return;let o=this._array[this._length-1];return--this.length,o};ob.prototype.reserve=function(o){o>this._array.length&&(this._array.length=o)};ob.prototype.resize=function(o){this.length=o};ob.prototype.trim=function(o){o=ae(o,this._length),this._array.length=o};var b1=ob,MS={X:0,Y:1,Z:2};MS.Y_UP_TO_Z_UP=Re.fromRotationTranslation(Nt.fromRotationX(De.PI_OVER_TWO));MS.Z_UP_TO_Y_UP=Re.fromRotationTranslation(Nt.fromRotationX(-De.PI_OVER_TWO));MS.X_UP_TO_Z_UP=Re.fromRotationTranslation(Nt.fromRotationY(-De.PI_OVER_TWO));MS.Z_UP_TO_X_UP=Re.fromRotationTranslation(Nt.fromRotationY(De.PI_OVER_TWO));MS.X_UP_TO_Y_UP=Re.fromRotationTranslation(Nt.fromRotationZ(De.PI_OVER_TWO));MS.Y_UP_TO_X_UP=Re.fromRotationTranslation(Nt.fromRotationZ(-De.PI_OVER_TWO));MS.fromName=function(o){return MS[o]};var ud=Object.freeze(MS);function _Ve(o){o=ae(o,ae.EMPTY_OBJECT),this._metadata=o.metadata}Object.defineProperties(_Ve.prototype,{metadata:{get:function(){return this._metadata}}});var q$=_Ve;function OT(o,A,f){return A=ae(A,0),f=ae(f,o.byteLength-A),o=o.subarray(A,A+f),OT.decode(o)}OT.decodeWithTextDecoder=function(o){return new TextDecoder("utf-8").decode(o)};OT.decodeWithFromCharCode=function(o){let A="",f=G3t(o),m=f.length;for(let C=0;C>10)+55296,(E&1023)+56320))}return A};function E8(o,A,f){return A<=o&&o<=f}function G3t(o){let A=0,f=0,m=0,C=128,E=191,I=[],x=o.length;for(let y=0;y{this._resolveContent=C})}Object.defineProperties(aB.prototype,{featurePropertiesDirty:{get:function(){let o=this._contents,A=o.length;for(let f=0;f0){let C=Math.min(A,On.maximumTextureSize),E=Math.ceil(A/On.maximumTextureSize),I=1/C,x=I*.5,y=1/E,v=y*.5;f=new tt(C,E),m=new kt(I,x,y,v)}this._translucentFeaturesLength=0,this._featuresLength=A,this._textureDimensions=f,this._textureStep=m,this._owner=o.owner,this._statistics=o.statistics,this._colorChangedCallback=o.colorChangedCallback}Object.defineProperties(Sm.prototype,{translucentFeaturesLength:{get:function(){return this._translucentFeaturesLength}},byteLength:{get:function(){let o=0;return k(this._pickTexture)&&(o+=this._pickTexture.sizeInBytes),k(this._batchTexture)&&(o+=this._batchTexture.sizeInBytes),o}},textureDimensions:{get:function(){return this._textureDimensions}},textureStep:{get:function(){return this._textureStep}},batchTexture:{get:function(){return this._batchTexture}},defaultTexture:{get:function(){return this._defaultTexture}},pickTexture:{get:function(){return this._pickTexture}}});Sm.DEFAULT_COLOR_VALUE=qe.WHITE;Sm.DEFAULT_SHOW_VALUE=!0;function BVe(o){let A=o._textureDimensions;return A.x*A.y*4}function wVe(o){if(!k(o._batchValues)){let A=BVe(o),f=new Uint8Array(A).fill(255);o._batchValues=f}return o._batchValues}function bVe(o){if(!k(o._showAlphaProperties)){let A=2*o._featuresLength,f=new Uint8Array(A).fill(255);o._showAlphaProperties=f}return o._showAlphaProperties}Sm.prototype.setShow=function(o,A){if(A&&!k(this._showAlphaProperties))return;let f=bVe(this),m=o*2,C=A?255:0;if(f[m]!==C){f[m]=C;let E=wVe(this),I=o*4+3;E[I]=A?f[m+1]:0,this._batchValuesDirty=!0}};Sm.prototype.setAllShow=function(o){let A=this._featuresLength;for(let f=0;f0){let m=o._pickIds,C=BVe(o),E=new Uint8Array(C),I=o._owner,x=o._statistics;for(let y=0;y0;){if(A=w.pop(),y[A]===v)continue;y[A]=v;let Q=f(o,A);if(k(Q))return Q;let M=C[A],B=I[A];for(let D=0;D0?(I="",o&&(I+=`uniform bool tile_translucentCommand; `),I+=`uniform sampler2D tile_batchTexture; out vec4 tile_featureColor; out vec2 tile_featureSt; out vec4 v_elevationPos;void main() { vec2 st = computeSt(${A}); vec4 featureProperties = texture(tile_batchTexture, st); tile_color(featureProperties); float show = ceil(featureProperties.a); gl_Position *= show; `,o&&(I+=` bool isStyleTranslucent = (featureProperties.a != 1.0); if (czm_pass == czm_passTranslucent) { if (!isStyleTranslucent && !tile_translucentCommand) { gl_Position *= 0.0; } } else { if (isStyleTranslucent) { gl_Position *= 0.0; } } `),I+=` tile_featureColor = featureProperties; tile_featureSt = st; v_elevationPos = czm_inverseModelViewProjection * gl_Position; }`):I=`out vec2 tile_featureSt; out vec4 v_elevationPos; void main() { tile_color(vec4(1.0)); tile_featureSt = computeSt(${A}); v_elevationPos = czm_inverseModelViewProjection * gl_Position; }`,`${E} ${dkt(m)}${I}`}};function LPe(o,A){return o=hr.replaceMain(o,"tile_main"),A?`${o}uniform float tile_colorBlend; void tile_color(vec4 tile_featureColor) { tile_main(); tile_featureColor = czm_gammaCorrect(tile_featureColor); out_FragColor.a *= tile_featureColor.a; float highlight = ceil(tile_colorBlend); out_FragColor.rgb *= mix(tile_featureColor.rgb, vec3(1.0), highlight); } `:`${o}void tile_color(vec4 tile_featureColor) { tile_main(); } `}function gkt(o,A){let f=`texture(${A}`,m=0,C=o.indexOf(f,m),E;for(;C>-1;){let I=0;for(let y=C;y0?(C+=`uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; in vec4 tile_featureColor; in vec4 v_elevationPos;void main() { tile_color(tile_featureColor); `,k(m)&&(C+=m),f&&(C+=` out_FragColor.rgb *= out_FragColor.a; `),C+="}"):(o&&(C+=`uniform bool tile_translucentCommand; `),C+=`uniform sampler2D tile_pickTexture; uniform sampler2D tile_batchTexture; in vec2 tile_featureSt; void main() { vec4 featureProperties = texture(tile_batchTexture, tile_featureSt); if (featureProperties.a == 0.0) { discard; } `,o&&(C+=` bool isStyleTranslucent = (featureProperties.a != 1.0); if (czm_pass == czm_passTranslucent) { if (!isStyleTranslucent && !tile_translucentCommand) { discard; } } else { if (isStyleTranslucent) { discard; } } `),C+=` tile_color(featureProperties); `,f&&(C+=` out_FragColor.rgb *= out_FragColor.a; `),C+=`} `),C}};Iu.prototype.getClassificationFragmentShaderCallback=function(){if(this.featuresLength!==0)return function(o){return o=hr.replaceMain(o,"tile_main"),On.maximumVertexTextureImageUnits>0?o+=`uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; in vec4 tile_featureColor; void main() { tile_main(); out_FragColor = tile_featureColor; out_FragColor.rgb *= out_FragColor.a; }`:o+=`uniform sampler2D tile_batchTexture; uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; void main() { tile_main(); vec4 featureProperties = texture(tile_batchTexture, tile_featureSt); if (featureProperties.a == 0.0) { discard; } out_FragColor = featureProperties; out_FragColor.rgb *= out_FragColor.a; } `,o}};function fkt(o){let A=o._content.tileset,f=A.colorBlendMode,m=A.colorBlendAmount;if(f===f1.HIGHLIGHT)return 0;if(f===f1.REPLACE)return 1;if(f===f1.MIX)return De.clamp(m,De.EPSILON4,1)}Iu.prototype.getUniformMapCallback=function(){if(this.featuresLength===0)return;let o=this;return function(A){return yo(A,{tile_batchTexture:function(){return ae(o._batchTexture.batchTexture,o._batchTexture.defaultTexture)},tile_textureDimensions:function(){return o._batchTexture.textureDimensions},tile_textureStep:function(){return o._batchTexture.textureStep},tile_colorBlend:function(){return fkt(o)},tile_pickTexture:function(){return o._batchTexture.pickTexture}})}};Iu.prototype.getPickId=function(){return"texture(tile_pickTexture, tile_featureSt)"};var TT={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};Iu.prototype.addDerivedCommands=function(o,A){let f=o.commandList,m=f.length,C=this._content._tile,E=C._finalResolution,I=C.tileset,x=I.isSkippingLevelOfDetail&&I.hasMixedContent&&o.context.stencilBuffer,y=pkt(this);for(let v=A;v>>No.SKIP_LOD_BIT_SHIFT}function _kt(o){let A=En(o,!0);return A.cull.enabled=!1,A.depthTest.enabled=!0,A.depthMask=!1,A.blending=Sl.ALPHA_BLEND,A.stencilTest=No.setCesium3DTileBit(),A.stencilMask=No.CESIUM_3D_TILE_MASK,Hr.fromCache(A)}function Bkt(o){let A=En(o,!0);return A.stencilTest=No.setCesium3DTileBit(),A.stencilMask=No.CESIUM_3D_TILE_MASK,Hr.fromCache(A)}Iu.prototype.update=function(o,A){this._batchTexture.update(o,A)};Iu.prototype.isDestroyed=function(){return!1};Iu.prototype.destroy=function(){return this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),ar(this)};var Bz=Iu;function wkt(o){this.offset=o.offset,this.count=o.count,this.color=o.color,this.batchIds=o.batchIds}var zU=wkt,zj=`in vec3 position; in float a_batchId; uniform mat4 u_modifiedModelViewProjection; void main() { gl_Position = czm_depthClamp(u_modifiedModelViewProjection * vec4(position, 1.0)); } `;function sv(o,A){this._content=o,this._batchId=A,this._color=void 0}Object.defineProperties(sv.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(o){this._content.batchTable.setShow(this._batchId,o)}},color:{get:function(){return k(this._color)||(this._color=new qe),this._content.batchTable.getColor(this._batchId,this._color)},set:function(o){this._content.batchTable.setColor(this._batchId,o)}},polylinePositions:{get:function(){if(k(this._content.getPolylinePositions))return this._content.getPolylinePositions(this._batchId)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},featureId:{get:function(){return this._batchId}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}});sv.prototype.hasProperty=function(o){return this._content.batchTable.hasProperty(this._batchId,o)};sv.prototype.getPropertyIds=function(o){return this._content.batchTable.getPropertyIds(this._batchId,o)};sv.prototype.getProperty=function(o){return this._content.batchTable.getProperty(this._batchId,o)};sv.getPropertyInherited=function(o,A,f){let m=o.batchTable;if(k(m)){if(m.hasPropertyBySemantic(A,f))return m.getPropertyBySemantic(A,f);if(m.hasProperty(A,f))return m.getProperty(A,f)}let C=o.metadata;if(k(C)){if(C.hasPropertyBySemantic(f))return C.getPropertyBySemantic(f);if(C.hasProperty(f))return C.getProperty(f)}let E=o.tile,I=E.metadata;if(k(I)){if(I.hasPropertyBySemantic(f))return I.getPropertyBySemantic(f);if(I.hasProperty(f))return I.getProperty(f)}let x;if(k(E.implicitSubtree)&&(x=E.implicitSubtree.metadata),k(x)){if(x.hasPropertyBySemantic(f))return x.getPropertyBySemantic(f);if(x.hasProperty(f))return x.getProperty(f)}let y=k(o.group)?o.group.metadata:void 0;if(k(y)){if(y.hasPropertyBySemantic(f))return y.getPropertyBySemantic(f);if(y.hasProperty(f))return y.getProperty(f)}let v=o.tileset.metadata;if(k(v)){if(v.hasPropertyBySemantic(f))return v.getPropertyBySemantic(f);if(v.hasProperty(f))return v.getProperty(f)}};sv.prototype.getPropertyInherited=function(o){return sv.getPropertyInherited(this._content,this._batchId,o)};sv.prototype.setProperty=function(o,A){this._content.batchTable.setProperty(this._batchId,o,A),this._content.featurePropertiesDirty=!0};sv.prototype.isExactClass=function(o){return this._content.batchTable.isExactClass(this._batchId,o)};sv.prototype.isClass=function(o){return this._content.batchTable.isClass(this._batchId,o)};sv.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var Ga=sv;function $S(o){o=ae(o,ae.EMPTY_OBJECT),this._batchTable=o.batchTable,this._batchIds=o.batchIds,this._positions=o.positions,this._vertexBatchIds=o.vertexBatchIds,this._indices=o.indices,this._indexCounts=o.indexCounts,this._indexOffsets=o.indexOffsets,this._batchedIndices=o.batchedIndices,this._boundingVolume=o.boundingVolume,this._boundingVolumes=o.boundingVolumes,this._center=ae(o.center,Z.ZERO),this._va=void 0,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._uniformMap=void 0,this._vaSwap=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._rsWireframe=void 0,this._commands=[],this._commandsIgnoreShow=[],this._pickCommands=[],this._constantColor=qe.clone(qe.WHITE),this._highlightColor=this._constantColor,this._batchDirty=!0,this._pickCommandsDirty=!0,this._framesSinceLastRebatch=0,this._updatingAllCommands=!1,this._trianglesLength=this._indices.length/3,this._geometryByteLength=this._indices.byteLength+this._positions.byteLength+this._vertexBatchIds.byteLength,this.debugWireframe=!1,this._debugWireframe=this.debugWireframe,this._wireframeDirty=!1,this.forceRebatch=!1,this.classificationType=ae(o.classificationType,nA.BOTH),this._vertexShaderSource=o._vertexShaderSource,this._fragmentShaderSource=o._fragmentShaderSource,this._attributeLocations=o._attributeLocations,this._uniformMap=o._uniformMap,this._pickId=o._pickId,this._modelMatrix=o._modelMatrix,this._boundingSphere=o._boundingSphere,this._batchIdLookUp={};let A=this._batchIds.length;for(let f=0;f0;){let w=A.pop();if(qe.equals(w.color,x.color))v=Cse(f,I,v,m,C,w.batchIds,E),x.batchIds=x.batchIds.concat(w.batchIds),x.count=v-x.offset;else{let Q=v;v=Cse(f,I,v,m,C,w.batchIds,E),w.offset=Q,w.count=v-Q,y.push(w),x=w}}o._va.indexBuffer.copyFromArrayView(I),o._indices=I,o._batchedIndices=y}function Ese(o,A,f,m,C,E,I){let x=o.bytesPerIndex,y=E.length;for(let v=0;v0;){let Q=A.pop();if(qe.equals(Q.color,E.color))v=Ese(x,y,v,f,m,Q.batchIds,C),E.batchIds=E.batchIds.concat(Q.batchIds),E.count=v-E.offset;else{let M=v;v=Ese(x,y,v,f,m,Q.batchIds,C),Q.offset=M,Q.count=v-M,I.push(Q),E=Q}}let w=o._va;o._va=o._vaSwap,o._vaSwap=w,o._batchedIndices=I}function Fkt(o,A){return A.color.toRgba()-o.color.toRgba()}function Nkt(o,A){if(!o._batchDirty)return!1;let f=o._batchedIndices,m=f.length,C=!1,E={};for(let I=0;I=S&&I{o.isDestroyed()||(o._error=D)}):void 0}}function $kt(o){k(o._primitive)||(o._primitive=new X$({batchTable:o._batchTable,positions:o._positions,batchIds:o._batchIds,vertexBatchIds:o._vertexBatchIds,indices:o._indices,indexOffsets:o._indexOffsets,indexCounts:o._indexCounts,batchedIndices:o._batchedIndices,boundingVolume:o._boundingVolume,boundingVolumes:o._boundingVolumes,center:o._center,pickObject:ae(o._pickObject,o)}),o._boxes=void 0,o._boxBatchIds=void 0,o._cylinders=void 0,o._cylinderBatchIds=void 0,o._ellipsoids=void 0,o._ellipsoidBatchIds=void 0,o._spheres=void 0,o._sphereBatchIds=void 0,o._center=void 0,o._modelMatrix=void 0,o._batchTable=void 0,o._boundingVolume=void 0,o._boundingVolumes=void 0,o._batchedIndices=void 0,o._indices=void 0,o._indexOffsets=void 0,o._indexCounts=void 0,o._positions=void 0,o._vertexBatchIds=void 0,o._batchIds=void 0,o._batchTableColors=void 0,o._packedBuffer=void 0,o._verticesPromise=void 0)}Gx.prototype.createFeatures=function(o,A){this._primitive.createFeatures(o,A)};Gx.prototype.applyDebugSettings=function(o,A){this._primitive.applyDebugSettings(o,A)};Gx.prototype.applyStyle=function(o,A){this._primitive.applyStyle(o,A)};Gx.prototype.updateCommands=function(o,A){this._primitive.updateCommands(o,A)};Gx.prototype.update=function(o){if(!this._ready){if(k(this._promise)||(this._promise=Zkt(this)),k(this._error)){let A=this._error;throw this._error=void 0,A}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(o)};Gx.prototype.isDestroyed=function(){return!1};Gx.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ar(this)};var NL=Gx;function eD(o,A,f,m,C){this._tileset=o,this._tile=A,this._resource=f,this._geometries=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,this._resolveContent=void 0,this._readyPromise=new Promise(E=>{this._resolveContent=E}),i5t(this,m,C)}Object.defineProperties(eD.prototype,{featuresLength:{get:function(){return k(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return k(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return k(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return k(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return $t("Geometry3DTileContent.readyPromise","Geometry3DTileContent.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Geometry3DTileContent.ready to return true instead."),this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(o){this._metadata=o}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(o){this._group=o}}});function e5t(o){return function(A,f){k(o._geometries)&&o._geometries.updateCommands(A,f)}}function t5t(o,A){let f,m,C,E,I,x=ae(o.BOXES_LENGTH,0),y=ae(o.CYLINDERS_LENGTH,0),v=ae(o.ELLIPSOIDS_LENGTH,0),w=ae(o.SPHERES_LENGTH,0);if(x>0&&k(o.BOX_BATCH_IDS)){let B=A.byteOffset+o.BOX_BATCH_IDS.byteOffset;f=new Uint16Array(A.buffer,B,x)}if(y>0&&k(o.CYLINDER_BATCH_IDS)){let B=A.byteOffset+o.CYLINDER_BATCH_IDS.byteOffset;m=new Uint16Array(A.buffer,B,y)}if(v>0&&k(o.ELLIPSOID_BATCH_IDS)){let B=A.byteOffset+o.ELLIPSOID_BATCH_IDS.byteOffset;C=new Uint16Array(A.buffer,B,v)}if(w>0&&k(o.SPHERE_BATCH_IDS)){let B=A.byteOffset+o.SPHERE_BATCH_IDS.byteOffset;E=new Uint16Array(A.buffer,B,w)}let Q=k(f)||k(m)||k(C)||k(E),M=x>0&&!k(f)||y>0&&!k(m)||v>0&&!k(C)||w>0&&!k(E);if(Q&&M)throw new Ti("If one group of batch ids is defined, then all batch ids must be defined");if(!k(f)&&!k(m)&&!k(C)&&!k(E)){let B=0;if(!k(f)&&x>0)for(f=new Uint16Array(x),I=0;I0)for(m=new Uint16Array(y),I=0;I0)for(C=new Uint16Array(v),I=0;I0)for(E=new Uint16Array(w),I=0;I0&&(B=Ap(m,f,v),f+=v,w>0&&(D=new Uint8Array(A,f,w),D=new Uint8Array(D)));let S=ae(Q.BOXES_LENGTH,0),P=ae(Q.CYLINDERS_LENGTH,0),R=ae(Q.ELLIPSOIDS_LENGTH,0),T=ae(Q.SPHERES_LENGTH,0),L=S+P+R+T,F=new Bz(o,L,B,D,e5t(o));if(o._batchTable=F,L===0)return;let U=o.tile.computedTransform,N;k(Q.RTC_CENTER)&&(N=Z.unpack(Q.RTC_CENTER),Re.multiplyByPoint(U,N,N));let H=t5t(Q,M);if(S>0||P>0||R>0||T>0){let J,K,X,j;if(S>0){let ee=M.byteOffset+Q.BOXES.byteOffset;J=new Float32Array(M.buffer,ee,NL.packedBoxLength*S)}if(P>0){let ee=M.byteOffset+Q.CYLINDERS.byteOffset;K=new Float32Array(M.buffer,ee,NL.packedCylinderLength*P)}if(R>0){let ee=M.byteOffset+Q.ELLIPSOIDS.byteOffset;X=new Float32Array(M.buffer,ee,NL.packedEllipsoidLength*R)}if(T>0){let ee=M.byteOffset+Q.SPHERES.byteOffset;j=new Float32Array(M.buffer,ee,NL.packedSphereLength*T)}return o._geometries=new NL({boxes:J,boxBatchIds:H.boxes,cylinders:K,cylinderBatchIds:H.cylinders,ellipsoids:X,ellipsoidBatchIds:H.ellipsoids,spheres:j,sphereBatchIds:H.spheres,center:N,modelMatrix:U,batchTable:F,boundingVolume:o.tile.boundingVolume.boundingVolume}),o}return Promise.resolve(o)}function MVe(o){let A=o.featuresLength;if(!k(o._features)&&A>0){let f=new Array(A);k(o._geometries)&&o._geometries.createFeatures(o,f),o._features=f}}eD.prototype.hasProperty=function(o,A){return this._batchTable.hasProperty(o,A)};eD.prototype.getFeature=function(o){return MVe(this),this._features[o]};eD.prototype.applyDebugSettings=function(o,A){k(this._geometries)&&this._geometries.applyDebugSettings(o,A)};eD.prototype.applyStyle=function(o){MVe(this),k(this._geometries)&&this._geometries.applyStyle(o,this._features)};eD.prototype.update=function(o,A){k(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(A)),k(this._batchTable)&&this._geometries.ready&&(this._batchTable.update(o,A),this._ready=!0,this._resolveContent(this))};eD.prototype.isDestroyed=function(){return!1};eD.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),ar(this)};var Upe=eD,Ope={};Ope.encode2D=function(o,A,f){let m=Math.pow(2,o),C={x:A,y:f},E,I,x,y=BigInt(0);for(x=m/2;x>0;x/=2)E=(C.x&x)>0?1:0,I=(C.y&x)>0?1:0,y+=BigInt((3*E^I)*x*x),TVe(m,C,E,I);return y};Ope.decode2D=function(o,A){let f=Math.pow(2,o),m={x:0,y:0},C,E,I,x;for(I=1,x=A;I>>0,Gpe=2*CN+1,bT=4,PVe=[],RVe=[],o5t=[[0,1,3,2],[0,2,3,1],[3,2,0,1],[3,1,0,2]],GT=1,V5=2,Z7=[GT,0,0,GT|V5];function Od(o){if(!co.supportsBigInt())throw new Ti("S2 required BigInt support");this._cellId=o,this._level=Od.getLevel(o)}Od.fromToken=function(o){return new Od(Od.getIdFromToken(o))};Od.isValidId=function(o){return!(o<=0||o>>BigInt(Gpe)>5||!(o&~o+BigInt(1)&BigInt("0x1555555555555555")))};Od.isValidToken=function(o){return/^[0-9a-fA-F]{1,16}$/.test(o)?Od.isValidId(Od.getIdFromToken(o)):!1};Od.getIdFromToken=function(o){return BigInt("0x"+o+"0".repeat(16-o.length))};Od.getTokenFromId=function(o){let A=Math.floor(f5t(o)/4),f=o.toString(16).replace(/0*$/,"");return Array(17-A-f.length).join("0")+f};Od.getLevel=function(o){let A=0;for(;o!==BigInt(0)&&!(o&BigInt(1));)A++,o=o>>BigInt(1);return CN-(A>>1)};Od.prototype.getChild=function(o){let A=NVe(this._cellId)>>BigInt(2),f=this._cellId+BigInt(2*o+1-4)*A;return new Od(f)};Od.prototype.getParent=function(){let o=NVe(this._cellId)<>1&1;return FVe(m[0],C[0][E^f&1],C[1][E])}function l5t(o,A){let f=LVe(o),m=f[0],C=f[1],E=f[2],I=A===30,x=!I&&(BigInt(C)^o>>BigInt(2))&BigInt(1),y=I?1:x?2:0,v=(C<<1)+y,w=(E<<1)+y;return[m,v,w]}function LVe(o){PVe.length===0&&h5t();let A=Number(o>>BigInt(Gpe)),f=A>,m=(1<=0;I--){let x=(1<<2*(I===7?CN-7*bT:bT))-1;f+=Number(o>>BigInt(I*2*bT+1)&BigInt(x))<<2,f=RVe[f];let y=I*bT;C+=f>>bT+2<>2&m)<=.5?1/3*(4*o*o-1):1/3*(1-4*(1-o)*(1-o))}function UPe(o){return 1/n5t*o}function u5t(o,A){let f=[[],[]],m=c5t(A);for(let C=0;C<2;++C){let E=o[C]&-m,I=E+m;f[C][0]=Jj(OPe(E)),f[C][1]=Jj(OPe(I))}return f}function c5t(o){return 1<>>0}function OPe(o){return 1/r5t*o}function HT(o,A,f,m,C,E){if(o===bT){let I=(A<>1),f+(I[0]&1),m,C,E^Z7[0]),HT(o,A+(I[1]>>1),f+(I[1]&1),m,C+1,E^Z7[1]),HT(o,A+(I[2]>>1),f+(I[2]&1),m,C+2,E^Z7[2]),HT(o,A+(I[3]>>1),f+(I[3]&1),m,C+3,E^Z7[3])}}function h5t(){HT(0,0,0,0,0,0),HT(0,0,0,GT,0,GT),HT(0,0,0,V5,0,V5),HT(0,0,0,GT|V5,0,GT|V5)}function NVe(o){return o&~o+BigInt(1)}function d5t(o){return BigInt(1)<>3,E=m%8;f+=o[C]>>E&1}return f}Object.defineProperties(Hpe.prototype,{lengthBits:{get:function(){return this._lengthBits}},availableCount:{get:function(){return this._availableCount}}});Hpe.prototype.getBit=function(o){if(k(this._constant))return this._constant;let A=o>>3,f=o%8;return(this._bitstream[A]>>f&1)===1};var Kj=Hpe;function tD(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.metadataTable,f=o.class,m=o.entityId,C=o.propertyTableJson;this._class=f,this._metadataTable=A,this._entityId=m,this._extensions=C.extensions,this._extras=C.extras}Object.defineProperties(tD.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});tD.prototype.hasProperty=function(o){return this._metadataTable.hasProperty(o)};tD.prototype.hasPropertyBySemantic=function(o){return this._metadataTable.hasPropertyBySemantic(o)};tD.prototype.getPropertyIds=function(o){return this._metadataTable.getPropertyIds(o)};tD.prototype.getProperty=function(o){return this._metadataTable.getProperty(this._entityId,o)};tD.prototype.setProperty=function(o,A){return this._metadataTable.setProperty(this._entityId,o,A)};tD.prototype.getPropertyBySemantic=function(o){return this._metadataTable.getPropertyBySemantic(this._entityId,o)};tD.prototype.setPropertyBySemantic=function(o,A){return this._metadataTable.setPropertyBySemantic(this._entityId,o,A)};var Z$=tD,Yq={QUADTREE:"QUADTREE",OCTREE:"OCTREE"};Yq.getBranchingFactor=function(o){switch(o){case Yq.OCTREE:return 8;case Yq.QUADTREE:return 4}};var d0=Object.freeze(Yq);function C0(){}Object.defineProperties(C0.prototype,{class:{get:function(){ni.throwInstantiationError()}}});C0.prototype.hasProperty=function(o){ni.throwInstantiationError()};C0.prototype.hasPropertyBySemantic=function(o){ni.throwInstantiationError()};C0.prototype.getPropertyIds=function(o){ni.throwInstantiationError()};C0.prototype.getProperty=function(o){ni.throwInstantiationError()};C0.prototype.setProperty=function(o,A){ni.throwInstantiationError()};C0.prototype.getPropertyBySemantic=function(o){ni.throwInstantiationError()};C0.prototype.setPropertyBySemantic=function(o,A){ni.throwInstantiationError()};C0.hasProperty=function(o,A,f){if(k(A[o]))return!0;let m=f.properties;if(!k(m))return!1;let C=m[o];return!!(k(C)&&k(C.default))};C0.hasPropertyBySemantic=function(o,A,f){let m=f.propertiesBySemantic;if(!k(m))return!1;let C=m[o];return k(C)};C0.getPropertyIds=function(o,A,f){f=k(f)?f:[],f.length=0;for(let C in o)o.hasOwnProperty(C)&&k(o[C])&&f.push(C);let m=A.properties;if(k(m))for(let C in m)m.hasOwnProperty(C)&&!k(o[C])&&k(m[C].default)&&f.push(C);return f};C0.getProperty=function(o,A,f){let m=f.properties[o],C=A[o];Array.isArray(C)&&(C=C.slice());let E=!0;if(C=m.handleNoData(C),!k(C)&&k(m.default))return C=En(m.default,!0),m.unpackVectorAndMatrixTypes(C,E);if(k(C))return C=m.normalize(C),C=m.applyValueTransform(C),m.unpackVectorAndMatrixTypes(C,E)};C0.setProperty=function(o,A,f,m){if(!k(f[o]))return!1;Array.isArray(A)&&(A=A.slice());let C,E=m.properties;k(E)&&(C=E[o]);let I=!0;return k(C)&&(A=C.packVectorAndMatrixTypes(A,I),A=C.unapplyValueTransform(A),A=C.unnormalize(A)),f[o]=A,!0};C0.getPropertyBySemantic=function(o,A,f){let m=f.propertiesBySemantic;if(!k(m))return;let C=m[o];if(k(C))return C0.getProperty(C.id,A,f)};C0.setPropertyBySemantic=function(o,A,f,m){let C=m.propertiesBySemantic;if(!k(C))return!1;let E=m.propertiesBySemantic[o];return k(E)?C0.setProperty(E.id,A,f,m):!1};var ml=C0;function iD(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.subtreeMetadata,f=o.class,m=k(A.properties)?A.properties:{};this._class=f,this._properties=m,this._extras=A.extras,this._extensions=A.extensions}Object.defineProperties(iD.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});iD.prototype.hasProperty=function(o){return ml.hasProperty(o,this._properties,this._class)};iD.prototype.hasPropertyBySemantic=function(o){return ml.hasPropertyBySemantic(o,this._properties,this._class)};iD.prototype.getPropertyIds=function(o){return ml.getPropertyIds(this._properties,this._class,o)};iD.prototype.getProperty=function(o){return ml.getProperty(o,this._properties,this._class)};iD.prototype.setProperty=function(o,A){return ml.setProperty(o,A,this._properties,this._class)};iD.prototype.getPropertyBySemantic=function(o){return ml.getPropertyBySemantic(o,this._properties,this._class)};iD.prototype.setPropertyBySemantic=function(o,A){return ml.setPropertyBySemantic(o,A,this._properties,this._class)};var Vpe=iD,zn={INT8:"INT8",UINT8:"UINT8",INT16:"INT16",UINT16:"UINT16",INT32:"INT32",UINT32:"UINT32",INT64:"INT64",UINT64:"UINT64",FLOAT32:"FLOAT32",FLOAT64:"FLOAT64"};zn.getMinimum=function(o){switch(o){case zn.INT8:return-128;case zn.UINT8:return 0;case zn.INT16:return-32768;case zn.UINT16:return 0;case zn.INT32:return-2147483648;case zn.UINT32:return 0;case zn.INT64:return co.supportsBigInt()?BigInt("-9223372036854775808"):-Math.pow(2,63);case zn.UINT64:return co.supportsBigInt()?BigInt(0):0;case zn.FLOAT32:return-34028234663852886e22;case zn.FLOAT64:return-Number.MAX_VALUE}};zn.getMaximum=function(o){switch(o){case zn.INT8:return 127;case zn.UINT8:return 255;case zn.INT16:return 32767;case zn.UINT16:return 65535;case zn.INT32:return 2147483647;case zn.UINT32:return 4294967295;case zn.INT64:return co.supportsBigInt()?BigInt("9223372036854775807"):Math.pow(2,63)-1;case zn.UINT64:return co.supportsBigInt()?BigInt("18446744073709551615"):Math.pow(2,64)-1;case zn.FLOAT32:return 34028234663852886e22;case zn.FLOAT64:return Number.MAX_VALUE}};zn.isIntegerType=function(o){switch(o){case zn.INT8:case zn.UINT8:case zn.INT16:case zn.UINT16:case zn.INT32:case zn.UINT32:case zn.INT64:case zn.UINT64:return!0;default:return!1}};zn.isUnsignedIntegerType=function(o){switch(o){case zn.UINT8:case zn.UINT16:case zn.UINT32:case zn.UINT64:return!0;default:return!1}};zn.isVectorCompatible=function(o){switch(o){case zn.INT8:case zn.UINT8:case zn.INT16:case zn.UINT16:case zn.INT32:case zn.UINT32:case zn.FLOAT32:case zn.FLOAT64:return!0;default:return!1}};zn.normalize=function(o,A){return Math.max(Number(o)/Number(zn.getMaximum(A)),-1)};zn.unnormalize=function(o,A){let f=zn.getMaximum(A),m=zn.isUnsignedIntegerType(A)?0:-f;return o=De.sign(o)*Math.round(Math.abs(o)*Number(f)),(A===zn.INT64||A===zn.UINT64)&&co.supportsBigInt()&&(o=BigInt(o)),o>f?f:o1;if(!f&&C===1)return o;if(!f)return new Array(C).fill(o);if(!E)return new Array(m).fill(o);if(!A)return new Array(this._arrayLength*C).fill(o);let I=new Array(C).fill(o);return new Array(this._arrayLength).fill(I)};up.prototype.handleNoData=function(o){let A=this._noData;if(!k(A)||!kVe(o,A))return o};function kVe(o,A){if(!Array.isArray(o))return o===A;if(!Array.isArray(A)||o.length!==A.length)return!1;for(let f=0;f1;return k(f)?A&&E?o.map(function(I){return f.unpack(I)}):m?f.unpackArray(o):f.unpack(o):o};up.prototype.packVectorAndMatrixTypes=function(o,A){A=ae(A,!1);let f=Po.getMathType(this._type),m=this._isArray,C=Po.getComponentCount(this._type),E=m&&C>1;return k(f)?A&&E?o.map(function(I){return f.pack(I,[])}):m?f.packArray(o,[]):f.pack(o,[]):o};up.prototype.validate=function(o){if(!(!k(o)&&k(this._default)))return this._required&&!k(o)?"required property must have a value":this._isArray?I5t(this,o):UVe(this,o)};function I5t(o,A){if(!Array.isArray(A))return`value ${A} must be an array`;let f=A.length;if(!o._isVariableLengthArray&&f!==o._arrayLength)return"Array length does not match property.arrayLength";for(let m=0;mC?GPe(o,A,f):void 0}if(ona.getMaximum(A))return GPe(o,A,f)}function VPe(o,A){return`value ${o} of type ${A} must be finite`}function zpe(o,A,f){if(!Array.isArray(o))return f(o,A);for(let m=0;m>3,m=o%8;return(A.typedArray[f]>>m&1)===1}function M5t(o,A,f){let m=o>>3,C=o%8;f?A.typedArray[m]|=1<0,I=!0;for(let x=0;x<8;++x){let y=f.getUint8(m+x);E&&(I?y!==0&&(y=~(y-1)&255,I=!1):y=~y&255),C+=y*Math.pow(256,x)}return E&&(C=-C),C}function P5t(o,A){let f=A.dataView,m=o*8,C=BigInt(0),E=(f.getUint8(m+7)&128)>0,I=!0;for(let x=0;x<8;++x){let y=f.getUint8(m+x);E&&(I?y!==0&&(y=~(y-1)&255,I=!1):y=~y&255),C+=BigInt(y)*(BigInt(1)<96?S-97:S>64?S-39:S+4}for(var P=0,D=0;D0&&D<=256),E(D%4==0);var S=f.exports.meshopt_encodeVertexBufferBound(B,D);return y(f.exports.meshopt_encodeVertexBuffer,S,M,B,D)},encodeIndexBuffer:function(M,B,D){E(D==2||D==4),E(B%3==0);var S=w(M,D),P=f.exports.meshopt_encodeIndexBufferBound(B,v(S)+1);return y(f.exports.meshopt_encodeIndexBuffer,P,S,B,4)},encodeIndexSequence:function(M,B,D){E(D==2||D==4);var S=w(M,D),P=f.exports.meshopt_encodeIndexSequenceBound(B,v(S)+1);return y(f.exports.meshopt_encodeIndexSequence,P,S,B,4)},encodeGltfBuffer:function(M,B,D,S){var P={ATTRIBUTES:this.encodeVertexBuffer,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return E(P[S]),P[S](M,B,D)},encodeFilterOct:function(M,B,D,S){return E(D==4||D==8),E(S>=1&&S<=16),Q(f.exports.meshopt_encodeFilterOct,M,B,D,S,16)},encodeFilterQuat:function(M,B,D,S){return E(D==8),E(S>=4&&S<=16),Q(f.exports.meshopt_encodeFilterQuat,M,B,D,S,16)},encodeFilterExp:function(M,B,D,S,P){E(D>0&&D%4==0),E(S>=1&&S<=24);var R={Separate:0,SharedVector:1,SharedComponent:2};return Q(f.exports.meshopt_encodeFilterExp,M,B,D,S,D,P?R[P]:1)}}}(),z5t=function(){"use strict";var o="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:78Yqdbk:qzezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlinalgic9Wfglawcj;cbffhOdndndndndnaHalco4fRbbalci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOaoRblaoRbbgAco4glalciSgCE86bbawcj;cbfaifglcGfaoclfaCfgORbbaAcl4ciGgCaCciSgCE86bbalcVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbalc7faOaCfgORbbaAciGgAaAciSgAE86bbalctfaOaAfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkaOaoRbwaoRbbgAcl4glalcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgORbbaAcsGgAaAcsSgAE86bbalcVfaOaAfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekaOao8Pbb83bbaOcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhPdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkaCcefhCamcefgmad6hsamad9hmbkaPhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaPhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj;8ifcjjj98G::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb",A="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;a9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;d8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgAclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb",f=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),m=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var C=WebAssembly.validate(f)?A:o,E,I=WebAssembly.instantiate(x(C),{}).then(function(R){E=R.instance,E.exports.__wasm_call_ctors()});function x(R){for(var T=new Uint8Array(R.length),L=0;L96?F-97:F>64?F-39:F+4}for(var U=0,L=0;L0?S(R,T,L,w[F],v[U]):I.then(function(){var N=new Uint8Array(R*T);return y(E.exports[w[F]],N,R,T,L,E.exports[v[U]]),N})}}}(),dSi=function(){"use strict";var o="b9H79TebbbecD9Geueu9Geub9Gbb9Gquuuuuuu99uueu9Gvuuuuub9Gluuuue999Giuuue999Gluuuueu9Giuuueuimxdilvorbwwbewlve9Weiiviebeoweuecj;jekr7oo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95beX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbla9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbvl79IV9RboDwebcekdDqq:XJxdbkp8WiKuP99Hu8Jjjjjbcj;bb9Rgq8KjjjjbaqcKfcbc;Kbz1jjjb8AaqcualcdtgkalcFFFFi0Egxcbyd;S1jjbHjjjjbbgmBdKaqceBd94aqamBdwaqaxcbyd;S1jjbHjjjjbbgPBd3aqcdBd94aqaPBdxaqcuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbgsBdaaqciBd94aqasBdzaqcwfaeadalcbz:cjjjbaqaxcbyd;S1jjbHjjjjbbgzBd8KaqclBd94aqaxcbyd;S1jjbHjjjjbbgHBdyaqcvBd94alcd4alfhOcehAinaAgCcethAaCaO6mbkcbhXaqcuaCcdtgAaCcFFFFi0Ecbyd;S1jjbHjjjjbbgOBd8SaqcoBd94aOcFeaAz1jjjbhQdnalTmbavcd4hLaCcufhKinaiaXaL2cdtfgYydlgCcH4aC7c:F:b:DD2aYydbgCcH4aC7c;D;O:B8J27aYydwgCcH4aC7c:3F;N8N27hOcbhCdndninaQaOaKGgOcdtfg8AydbgAcuSmeaiaAaL2cdtfaYcxz:ljjjbTmdaCcefgCaOfhOaCaK9nmbxdkka8AaXBdbaXhAkazaXcdtfaABdbaXcefgXal9hmbkcbhCaHhAinaAaCBdbaAclfhAalaCcefgC9hmbkcbhCazhAaHhOindnaCaAydbgKSmbaOaHaKcdtfgKydbBdbaKaCBdbkaAclfhAaOclfhOalaCcefgC9hmbkkcbhOaqalcbyd;S1jjbHjjjjbbgYBd8WaqcrBd94aqaxcbyd;S1jjbHjjjjbbgCBd80aqcwBd94aqaxcbyd;S1jjbHjjjjbbgABdUaqcDBd94aCcFeakz1jjjbhEaAcFeakz1jjjbh3dnalTmbascwfh5indnamaOcdtgCfydbg8ETmbasaPaCfydbcitfh8Fa3aCfhaaEaCfhXcbhLindndna8FaLcitfydbgQaO9hmbaXaOBdbaaaOBdbxekdnamaQcdtgkfydbghTmbasaPakfydbcitgCfydbaOSmeahcufh8Aa5aCfhAcbhCina8AaCSmeaCcefhCaAydbhKaAcwfhAaKaO9hmbkaCah6meka3akfgCaOaQaCydbcuSEBdbaXaQaOaXydbcuSEBdbkaLcefgLa8E9hmbkkaOcefgOal9hmbkazhAaHhOa3hKaEhLcbhCindndnaCaAydbg8A9hmbdnaCaOydbg8A9hmbaLydbh8AdnaKydbgQcu9hmba8Acu9hmbaYaCfcb86bbxikaYaCfhXdnaCaQSmbaCa8ASmbaXce86bbxikaXcl86bbxdkdnaCaHa8AcdtgQfydb9hmbdnaKydbgXcuSmbaCaXSmbaLydbgkcuSmbaCakSmba3aQfydbg8EcuSmba8Ea8ASmbaEaQfydbgQcuSmbaQa8ASmbdnazaXcdtfydbazaQcdtfydb9hmbazakcdtfydbaza8Ecdtfydb9hmbaYaCfcd86bbxlkaYaCfcl86bbxikaYaCfcl86bbxdkaYaCfcl86bbxekaYaCfaYa8AfRbb86bbkaAclfhAaOclfhOaKclfhKaLclfhLalaCcefgC9hmbkawceGTmbaYhCalhAindnaCRbbce9hmbaCcl86bbkaCcefhCaAcufgAmbkkcbhLcualcx2alc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhmaqcKfaqyd94gCcdtfamBdbaqaCcefgABd94amaialavz:djjjb8AaqcKfaAcdtfcualc8S2gAalc;D;O;f8U0Ecbyd;S1jjbHjjjjbbgOBdbaqaCcdfBd94aOcbaAz1jjjbhsdnadTmbaehAindnamaAclfydbg8Acx2fgCIdbamaAydbgQcx2fgOIdbgg:tg8JamaAcwfydbgXcx2fgKIdlaOIdlg8K:tg8LNaKIdbag:tg8MaCIdla8K:tg8NN:tgyayNa8NaKIdwaOIdwg8P:tgINa8LaCIdwa8P:tg8NN:tg8La8LNa8Na8MNaIa8JN:tg8Ja8JNMM:rg8MJbbbb9ETmbaya8M:vhya8Ja8M:vh8Ja8La8M:vh8LkasazaQcdtfydbc8S2fgCa8La8M:rg8Ma8LNNg8NaCIdbMUdbaCa8Ja8Ma8JNg8RNgIaCIdlMUdlaCaya8MayNg8SNgRaCIdwMUdwaCa8Ra8LNg8RaCIdxMUdxaCa8Sa8LNg8UaCIdzMUdzaCa8Sa8JNg8SaCIdCMUdCaCa8La8Maya8PNa8LagNa8Ka8JNMM:mg8KNggNg8LaCIdKMUdKaCa8JagNg8JaCId3MUd3aCayagNgyaCIdaMUdaaCaga8KNggaCId8KMUd8KaCa8MaCIdyMUdyasaza8Acdtfydbc8S2fgCa8NaCIdbMUdbaCaIaCIdlMUdlaCaRaCIdwMUdwaCa8RaCIdxMUdxaCa8UaCIdzMUdzaCa8SaCIdCMUdCaCa8LaCIdKMUdKaCa8JaCId3MUd3aCayaCIdaMUdaaCagaCId8KMUd8KaCa8MaCIdyMUdyasazaXcdtfydbc8S2fgCa8NaCIdbMUdbaCaIaCIdlMUdlaCaRaCIdwMUdwaCa8RaCIdxMUdxaCa8UaCIdzMUdzaCa8SaCIdCMUdCaCa8LaCIdKMUdKaCa8JaCId3MUd3aCayaCIdaMUdaaCagaCId8KMUd8KaCa8MaCIdyMUdyaAcxfhAaLcifgLad6mbkcbh8AaehXincbhAinaYaeaAc:81jjbfydbgQa8AfcdtfydbgOfRbbhCdndnaYaXaAfydbgKfRbbgLc99fcFeGcpe0mbaCceSmbaCcd9hmekdnaLcufcFeGce0mbaEaKcdtfydbaO9hmekdnaCcufcFeGce0mba3aOcdtfydbaK9hmekdnaLcv2aCfc:G1jjbfRbbTmbazaOcdtfydbazaKcdtfydb0mekJbbacJbbjZaCceSEh8MaLceShkamaeaQcdtc:81jjbfydba8Afcdtfydbcx2fhCdnamaOcx2fgLIdwamaKcx2fgQIdwg8K:tg8La8LNaLIdbaQIdbg8P:tg8Ja8JNaLIdlaQIdlg8N:tgyayNMM:rggJbbbb9ETmba8Lag:vh8Layag:vhya8Jag:vh8JkJbbaca8MakEh8SdnaCIdwa8K:tg8Ma8La8Ma8LNaCIdba8P:tgRa8JNayaCIdla8N:tg8RNMMgIN:tg8Ma8MNaRa8JaIN:tg8La8LNa8RayaIN:tg8Ja8JNMM:rgyJbbbb9ETmba8May:vh8Ma8Jay:vh8Ja8Lay:vh8LkasazaKcdtfydbc8S2fgCa8La8SagNgya8LNNgIaCIdbMUdbaCa8Jaya8JNg8SNgRaCIdlMUdlaCa8Maya8MNggNg8RaCIdwMUdwaCa8Sa8LNg8SaCIdxMUdxaCaga8LNg8UaCIdzMUdzaCaga8JNg8VaCIdCMUdCaCa8Laya8Ma8KNa8La8PNa8Na8JNMM:mg8KNggNg8LaCIdKMUdKaCa8JagNg8JaCId3MUd3aCa8MagNg8MaCIdaMUdaaCaga8KNggaCId8KMUd8KaCayaCIdyMUdyasazaOcdtfydbc8S2fgCaIaCIdbMUdbaCaRaCIdlMUdlaCa8RaCIdwMUdwaCa8SaCIdxMUdxaCa8UaCIdzMUdzaCa8VaCIdCMUdCaCa8LaCIdKMUdKaCa8JaCId3MUd3aCa8MaCIdaMUdaaCagaCId8KMUd8KaCayaCIdyMUdykaAclfgAcx9hmbkaXcxfhXa8Acifg8Aad6mbkkdnabaeSmbabaeadcdtz:hjjjb8Akcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhaaqcKfaqyd94gCcdtfaaBdbaqaCcefgABd94aqcKfaAcdtfcuadcdtadcFFFFi0Ecbyd;S1jjbHjjjjbbg5BdbaqaCcdfgABd94aqcKfaAcdtfaxcbyd;S1jjbHjjjjbbgiBdbaqaCcifgABd94aqcKfaAcdtfalcbyd;S1jjbHjjjjbbg8WBdbaqaCclfBd94JbbbbhRdnadao9nmbararNh8Saacwfh8Xaqydwh8Yaqydxh8Zaqydzh80JbbbbhRinaqcwfabadgPalazz:cjjjbcbhhabhXcbhkincbhCindnazaXaCfydbgOcdtgefydbgLazabaCc:81jjbfydbakfcdtfydbgAcdtfydbg8ASmbaYaAfRbbgQcv2aYaOfRbbgKfc;q1jjbfRbbg8FaKcv2aQfg8Ec;q1jjbfRbbgdVcFeGTmbdna8Ec:G1jjbfRbbTmba8AaL0mekdnaKaQ9hmbaKcufcFeGce0mbaEaefydbaA9hmekaaahcx2fgKaAaOadcFeGgLEBdlaKaOaAaLEBdbaKaLa8FGcb9hBdwahcefhhkaCclfgCcx9hmbkaXcxfhXakcifgkaP6mbkdndnahTmbaahAahh8AinaAcwfgQJbbbbJbbjZasazaAydbgOcdtfydbc8S2fgCIdyg8L:va8LJbbbb9BEaCIdwamaAclfgeydbgKcx2fgLIdwg8LNaCIdzaLIdbg8JNaCIdaMg8Ma8MMMa8LNaCIdlaLIdlg8MNaCIdCa8LNaCId3Mg8La8LMMa8MNaCIdba8JNaCIdxa8MNaCIdKMg8La8LMMa8JNaCId8KMMM:lNgyJbbbbJbbjZasazaKaOaQydbgLEgQcdtfydbc8S2fgCIdyg8L:va8LJbbbb9BEaCIdwamaOaKaLEgXcx2fgLIdwg8LNaCIdzaLIdbg8JNaCIdaMg8Ma8MMMa8LNaCIdlaLIdlg8MNaCIdCa8LNaCId3Mg8La8LMMa8MNaCIdba8JNaCIdxa8MNaCIdKMg8La8LMMa8JNaCId8KMMM:lNg8Laya8L9FgCEUdbaeaKaXaCEBdbaAaOaQaCEBdbaAcxfhAa8Acufg8Ambkaqcjefcbcj;abz1jjjb8Aa8XhCahhAinaqcjefaCydbcO4c;8ZGfgOaOydbcefBdbaCcxfhCaAcufgAmbkcbhCcbhAinaqcjefaCfgOydbhKaOaABdbaKaAfhAaCclfgCcj;ab9hmbkcbhCa8XhAinaqcjefaAydbcO4c;8ZGfgOaOydbgOcefBdba5aOcdtfaCBdbaAcxfhAahaCcefgC9hmbkaPao9RgOci9Uh81dnalTmbcbhCaihAinaAaCBdbaAclfhAalaCcefgC9hmbkkcbhBa8Wcbalz1jjjbh83aOcO9UhUa81ce4h85cbh86cbhkdninaaa5akcdtfydbcx2fgXIdwg8Ja8S9Emea86a819pmeJFFuuh8Ldna85ah9pmbaaa5a85cdtfydbcx2fIdwJbb;aZNh8Lkdna8Ja8L9ETmba86aU0mdkdna83azaXydlg87cdtg88fydbgOfg89Rbba83azaXydbgecdtg8:fydbgZfgnRbbVmbdna8YaZcdtgCfydbgKTmba80a8ZaCfydbcitfhCamaOcx2fg8Ecwfhda8EclfhxamaZcx2fg8Fcwfhva8FclfhwcbhAcehQdnindnaiaCydbcdtfydbgLaOSmbaiaCclfydbcdtfydbg8AaOSmbama8Acx2fg8AIdbamaLcx2fgLIdbg8M:tg8LawIdbaLIdlgy:tggNa8FIdba8M:tg8Ka8AIdlay:tg8JN:ta8LaxIdbay:tg8PNa8EIdba8M:tg8Na8JN:tNa8JavIdbaLIdwgy:tgINaga8AIdway:tg8MN:ta8JadIdbay:tgyNa8Pa8MN:tNa8Ma8KNaIa8LN:ta8Ma8NNaya8LN:tNMMJbbbb9DmdkaCcwfhCaAcefgAaK6hQaKaA9hmbkkaQceGTmba85cefh85xekaXcwfhKasaOc8S2fgCasaZc8S2fgAIdbaCIdbMUdbaCaAIdlaCIdlMUdlaCaAIdwaCIdwMUdwaCaAIdxaCIdxMUdxaCaAIdzaCIdzMUdzaCaAIdCaCIdCMUdCaCaAIdKaCIdKMUdKaCaAId3aCId3MUd3aCaAIdaaCIdaMUdaaCaAId8KaCId8KMUd8KaCaAIdyaCIdyMUdydndndndnaYaefgARbbc9:fPdebdkaehCinaiaCcdtgCfaOBdbaHaCfydbgCae9hmbxikkaHa88fydbhCaHa8:fydbheaia8:fa87BdbaCh87kaiaecdtfa87Bdbkance86bba89ce86bbaKIdbg8LaRaRa8L9DEhRaBcefhBcecdaARbbceSEa86fh86kakcefgkah9hmbkkaBTmbdnalTmbcbhAaEhCindnaCydbgOcuSmbdnaAaiaOcdtgKfydbgO9hmbaEaKfydbhOkaCaOBdbkaCclfhCalaAcefgA9hmbkcbhAa3hCindnaCydbgOcuSmbdnaAaiaOcdtgKfydbgO9hmba3aKfydbhOkaCaOBdbkaCclfhCalaAcefgA9hmbkkcbhdabhCcbhLindnaiaCydbcdtfydbgAaiaCclfydbcdtfydbgOSmbaAaiaCcwfydbcdtfydbgKSmbaOaKSmbabadcdtfg8AaABdba8AclfaOBdba8AcwfaKBdbadcifhdkaCcxfhCaLcifgLaP9pmdxbkkaPhdxdkadao0mbkkdnaDTmbaDaR:rUdbkaqyd94gCcdtaqcKffc98fhzdninaCTmeazydbcbyd;W1jjbH:bjjjbbazc98fhzaCcufhCxbkkaqcj;bbf8Kjjjjbadk;pleouabydbcbaicdtz1jjjb8Aadci9UhvdnadTmbabydbhodnalTmbaehradhwinaoalarydbcdtfydbcdtfgDaDydbcefBdbarclfhrawcufgwmbxdkkaehradhwinaoarydbcdtfgDaDydbcefBdbarclfhrawcufgwmbkkdnaiTmbabydbhrabydlhwcbhDaihoinawaDBdbawclfhwarydbaDfhDarclfhraocufgombkkdnadci6mbavceavce0EhqabydlhvabydwhrinaecwfydbhwaeclfydbhDaeydbhodnalTmbalawcdtfydbhwalaDcdtfydbhDalaocdtfydbhokaravaocdtfgdydbcitfaDBdbaradydbcitfawBdladadydbcefBdbaravaDcdtfgdydbcitfawBdbaradydbcitfaoBdladadydbcefBdbaravawcdtfgwydbcitfaoBdbarawydbcitfaDBdlawawydbcefBdbaecxfheaqcufgqmbkkdnaiTmbabydlhrabydbhwinararydbawydb9RBdbawclfhwarclfhraicufgimbkkk:3ldouv998Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdnadTmbaicd4hvdnabTmbavcdthocbhraehwinabarcx2fgiaearav2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinalczfaifgDawaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawaofhwarcefgrad9hmbxdkkavcdthrcbhwincbhiinalczfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbkkalIdbalIdzgk:tJbbbb:xgqalIdlalIdCgx:tgmamaq9DEgqalIdwalIdKgm:tgPaPaq9DEhPdnabTmbadTmbJbbbbJbbjZaP:vaPJbbbb9BEhqinabaqabIdbak:tNUdbabclfgiaqaiIdbax:tNUdbabcwfgiaqaiIdbam:tNUdbabcxfhbadcufgdmbkkaPk:Qdidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgoaDIdbgrarao9EEUdbaladfgDaoaDIdbgrarao9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkavJbbbb:xgvaoaoav9DEgoararao9DEk9DeeuabcFeaicdtz1jjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;01jjbgeabcifc98GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;01jjbgeabcrfc94GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;01jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;01jjbfgdBd;01jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:cedbcjwk9PFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbeeebeebebbeeebebbbbbebebbbbbebbbdbbbbbbbbbbbbbbbeeeeebebbbbbebbbbbeebbbbbbc;Swkxebbbdbbbj9Kbb",A=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var f,m=WebAssembly.instantiate(C(o),{}).then(function(M){f=M.instance,f.exports.__wasm_call_ctors()});function C(M){for(var B=new Uint8Array(M.length),D=0;D96?S-97:S>64?S-39:S+4}for(var P=0,D=0;D=3),E(S%3==0),E(P>=0&&P<=1);for(var T=0,L=0;L<(R?R.length:0);++L)T|=Q[R[L]];var F=M.BYTES_PER_ELEMENT==4?M:new Uint32Array(M),U=v(f.exports.meshopt_simplify,F,M.length,B,B.length/D,D*4,S,P,T);return U[0]=M instanceof Uint32Array?U[0]:new M.constructor(U[0]),U},getScale:function(M,B){return E(M instanceof Float32Array),E(M.length%B==0),w(f.exports.meshopt_simplifyScale,M,M.length/B,B*4)}}}();function nF(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.resourceCache,f=o.gltf,m=o.bufferViewId,C=o.gltfResource,E=o.baseResource,I=o.cacheKey,x=f.bufferViews[m],y=x.buffer,v=x.byteOffset,w=x.byteLength,Q=!1,M,B,D,S;if(Lu(x,"EXT_meshopt_compression")){let R=x.extensions.EXT_meshopt_compression;y=R.buffer,v=ae(R.byteOffset,0),w=R.byteLength,Q=!0,M=R.byteStride,B=R.count,D=R.mode,S=ae(R.filter,"NONE")}let P=f.buffers[y];this._hasMeshopt=Q,this._meshoptByteStride=M,this._meshoptCount=B,this._meshoptMode=D,this._meshoptFilter=S,this._resourceCache=A,this._gltfResource=C,this._baseResource=E,this._buffer=P,this._bufferId=y,this._byteOffset=v,this._byteLength=w,this._cacheKey=I,this._bufferLoader=void 0,this._typedArray=void 0,this._state=oo.UNLOADED,this._promise=void 0}k(Object.create)&&(nF.prototype=Object.create(cp.prototype),nF.prototype.constructor=nF);Object.defineProperties(nF.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});async function Y5t(o){try{let A=J5t(o);if(o._bufferLoader=A,await A.load(),o.isDestroyed())return;let f=A.typedArray,m=new Uint8Array(f.buffer,f.byteOffset+o._byteOffset,o._byteLength);if(o.unload(),o._typedArray=m,o._hasMeshopt){let C=o._meshoptCount,E=o._meshoptByteStride,I=new Uint8Array(C*E);z5t.decodeGltfBuffer(I,C,E,o._typedArray,o._meshoptMode,o._meshoptFilter),o._typedArray=I}return o._state=oo.READY,o}catch(A){if(o.isDestroyed())return;o.unload(),o._state=oo.FAILED;let f="Failed to load buffer view";throw o.getError(f,A)}}nF.prototype.load=async function(){return k(this._promise)?this._promise:(this._state=oo.LOADING,this._promise=Y5t(this),this._promise)};function J5t(o){let A=o._resourceCache,f=o._buffer;if(k(f.uri)){let m=o._baseResource.getDerivedResource({url:f.uri});return A.getExternalBufferLoader({resource:m})}return A.getEmbeddedBufferLoader({parentResource:o._gltfResource,bufferId:o._bufferId})}nF.prototype.unload=function(){k(this._bufferLoader)&&!this._bufferLoader.isDestroyed()&&this._resourceCache.unload(this._bufferLoader),this._bufferLoader=void 0,this._typedArray=void 0};var $$=nF;function pm(){}pm._maxDecodingConcurrency=Math.max(co.hardwareConcurrency-1,1);pm._decoderTaskProcessor=void 0;pm._taskProcessorReady=!1;pm._getDecoderTaskProcessor=function(){if(!k(pm._decoderTaskProcessor)){let o=new Yh("decodeDraco",pm._maxDecodingConcurrency);o.initWebAssemblyModule({modulePath:"ThirdParty/Workers/draco_decoder_nodejs.js",wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then(function(){pm._taskProcessorReady=!0}),pm._decoderTaskProcessor=o}return pm._decoderTaskProcessor};pm.decodePointCloud=function(o){let A=pm._getDecoderTaskProcessor();if(pm._taskProcessorReady)return A.scheduleTask(o,[o.buffer.buffer])};pm.decodeBufferView=function(o){let A=pm._getDecoderTaskProcessor();if(pm._taskProcessorReady)return A.scheduleTask(o,[o.array.buffer])};var Sz=pm;function XT(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.resourceCache,f=o.gltf,m=o.draco,C=o.gltfResource,E=o.baseResource,I=o.cacheKey;this._resourceCache=A,this._gltfResource=C,this._baseResource=E,this._gltf=f,this._draco=m,this._cacheKey=I,this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodePromise=void 0,this._decodedData=void 0,this._state=oo.UNLOADED,this._promise=void 0,this._dracoError=void 0}k(Object.create)&&(XT.prototype=Object.create(cp.prototype),XT.prototype.constructor=XT);Object.defineProperties(XT.prototype,{cacheKey:{get:function(){return this._cacheKey}},decodedData:{get:function(){return this._decodedData}}});async function K5t(o){let A=o._resourceCache;try{let f=A.getBufferViewLoader({gltf:o._gltf,bufferViewId:o._draco.bufferView,gltfResource:o._gltfResource,baseResource:o._baseResource});return o._bufferViewLoader=f,await f.load(),o.isDestroyed()?void 0:(o._bufferViewTypedArray=f.typedArray,o._state=oo.PROCESSING,o)}catch(f){if(o.isDestroyed())return;VVe(o,f)}}XT.prototype.load=async function(){return k(this._promise)?this._promise:(this._state=oo.LOADING,this._promise=K5t(this),this._promise)};function VVe(o,A){o.unload(),o._state=oo.FAILED;let f="Failed to load Draco";throw o.getError(f,A)}async function W5t(o,A){try{let f=await A;return o.isDestroyed()?void 0:(o.unload(),o._decodedData={indices:f.indexArray,vertexAttributes:f.attributeData},o._state=oo.READY,o._baseResource)}catch(f){if(o.isDestroyed())return;o._dracoError=f}}XT.prototype.process=function(o){if(this._state===oo.READY)return!0;if(this._state!==oo.PROCESSING||(k(this._dracoError)&&VVe(this,this._dracoError),!k(this._bufferViewTypedArray))||k(this._decodePromise))return!1;let A=this._draco,f=this._gltf.bufferViews,m=A.bufferView,C=f[m],E=A.attributes,I={array:new Uint8Array(this._bufferViewTypedArray),bufferView:C,compressedAttributes:E,dequantizeInShader:!0},x=Sz.decodeBufferView(I);if(!k(x))return!1;this._decodePromise=W5t(this,x)};XT.prototype.unload=function(){k(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodedData=void 0,this._gltf=void 0};var eee=XT;function q5t(o){let A=o.uint8Array,f=o.format,m=o.request,C=ae(o.flipY,!1),E=ae(o.skipColorSpaceConversion,!1),I=new Blob([A],{type:f}),x;return fr.supportsImageBitmapOptions().then(function(y){return y?Promise.resolve(fr.createImageBitmapFromBlob(I,{flipY:C,premultiplyAlpha:!1,skipColorSpaceConversion:E})):(x=window.URL.createObjectURL(I),new fr({url:x,request:m}).fetchImage({flipY:C,skipColorSpaceConversion:E}))}).then(function(y){return k(x)&&window.URL.revokeObjectURL(x),y}).catch(function(y){return k(x)&&window.URL.revokeObjectURL(x),Promise.reject(y)})}var tee=q5t;function hS(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.resourceCache,f=o.gltf,m=o.imageId,C=o.gltfResource,E=o.baseResource,I=o.cacheKey,x=f.images[m],y=x.bufferView,v=x.uri;this._resourceCache=A,this._gltfResource=C,this._baseResource=E,this._gltf=f,this._bufferViewId=y,this._uri=v,this._cacheKey=I,this._bufferViewLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._state=oo.UNLOADED,this._promise=void 0}k(Object.create)&&(hS.prototype=Object.create(cp.prototype),hS.prototype.constructor=hS);Object.defineProperties(hS.prototype,{cacheKey:{get:function(){return this._cacheKey}},image:{get:function(){return this._image}},mipLevels:{get:function(){return this._mipLevels}}});hS.prototype.load=function(){return k(this._promise)?this._promise:k(this._bufferViewId)?(this._promise=j5t(this),this._promise):(this._promise=X5t(this),this._promise)};function zVe(o){let A;return Array.isArray(o)&&(A=o.slice(1,o.length).map(function(f){return f.bufferView}),o=o[0]),{image:o,mipLevels:A}}async function j5t(o){o._state=oo.LOADING;let A=o._resourceCache;try{let f=A.getBufferViewLoader({gltf:o._gltf,bufferViewId:o._bufferViewId,gltfResource:o._gltfResource,baseResource:o._baseResource});if(o._bufferViewLoader=f,await f.load(),o.isDestroyed())return;let m=f.typedArray,C=await $5t(m);if(o.isDestroyed())return;let E=zVe(C);return o.unload(),o._image=E.image,o._mipLevels=E.mipLevels,o._state=oo.READY,o}catch(f){return o.isDestroyed()?void 0:YVe(o,f,"Failed to load embedded image")}}async function X5t(o){o._state=oo.LOADING;let A=o._baseResource,f=o._uri,m=A.getDerivedResource({url:f});try{let C=await tUt(m);if(o.isDestroyed())return;let E=zVe(C);return o.unload(),o._image=E.image,o._mipLevels=E.mipLevels,o._state=oo.READY,o}catch(C){return o.isDestroyed()?void 0:YVe(o,C,`Failed to load image: ${f}`)}}function YVe(o,A,f){return o.unload(),o._state=oo.FAILED,Promise.reject(o.getError(f,A))}function Z5t(o){let A=o.subarray(0,2),f=o.subarray(0,4),m=o.subarray(8,12);if(A[0]===255&&A[1]===216)return"image/jpeg";if(A[0]===137&&A[1]===80)return"image/png";if(A[0]===171&&A[1]===75)return"image/ktx2";if(f[0]===82&&f[1]===73&&f[2]===70&&f[3]===70&&m[0]===87&&m[1]===69&&m[2]===66&&m[3]===80)return"image/webp";throw new Ti("Image format is not recognized")}async function $5t(o){let A=Z5t(o);if(A==="image/ktx2"){let f=new Uint8Array(o);return $2(f)}return hS._loadImageFromTypedArray({uint8Array:o,format:A,flipY:!1,skipColorSpaceConversion:!0})}var eUt=/(^data:image\/ktx2)|(\.ktx2$)/i;function tUt(o){let A=o.getUrlComponent(!1,!0);return eUt.test(A)?$2(o):o.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0})}hS.prototype.unload=function(){k(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._uri=void 0,this._image=void 0,this._mipLevels=void 0,this._gltf=void 0};hS._loadImageFromTypedArray=tee;var iee=hS,iUt={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3},VE=Object.freeze(iUt);function ZT(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.resourceCache,f=o.gltf,m=o.accessorId,C=o.gltfResource,E=o.baseResource,I=o.draco,x=o.cacheKey,y=ae(o.asynchronous,!0),v=ae(o.loadBuffer,!1),w=ae(o.loadTypedArray,!1),Q=f.accessors[m].componentType;this._resourceCache=A,this._gltfResource=C,this._baseResource=E,this._gltf=f,this._accessorId=m,this._indexDatatype=Q,this._draco=I,this._cacheKey=x,this._asynchronous=y,this._loadBuffer=v,this._loadTypedArray=w,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=oo.UNLOADED,this._promise=void 0}k(Object.create)&&(ZT.prototype=Object.create(cp.prototype),ZT.prototype.constructor=ZT);Object.defineProperties(ZT.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},indexDatatype:{get:function(){return this._indexDatatype}}});var rUt=new Kpe;ZT.prototype.load=async function(){return k(this._promise)?this._promise:k(this._draco)?(this._promise=nUt(this),this._promise):(this._promise=oUt(this),this._promise)};async function nUt(o){o._state=oo.LOADING;let A=o._resourceCache;try{let f=A.getDracoLoader({gltf:o._gltf,draco:o._draco,gltfResource:o._gltfResource,baseResource:o._baseResource});return o._dracoLoader=f,await f.load(),o.isDestroyed()?void 0:(o._state=oo.LOADED,o)}catch(f){if(o.isDestroyed())return;Jpe(o,f)}}async function oUt(o){let A=o._gltf,f=o._accessorId,m=A.accessors[f].bufferView;o._state=oo.LOADING;let C=o._resourceCache;try{let E=C.getBufferViewLoader({gltf:A,bufferViewId:m,gltfResource:o._gltfResource,baseResource:o._baseResource});if(o._bufferViewLoader=E,await E.load(),o.isDestroyed())return;let I=E.typedArray;return o._typedArray=aUt(o,I),o._state=oo.PROCESSING,o}catch(E){if(o.isDestroyed())return;Jpe(o,E)}}function aUt(o,A){let f=o._gltf,m=o._accessorId,C=f.accessors[m],E=C.count,I=C.componentType,x=fn.getSizeInBytes(I),y=A.buffer,v=A.byteOffset+C.byteOffset;if(v%x!==0){let Q=E*x,M=new Uint8Array(y,v,Q);y=new Uint8Array(M).buffer,v=0,$t("index-buffer-unaligned",`The index array is not aligned to a ${x}-byte boundary.`)}let w;return I===fn.UNSIGNED_BYTE?w=new Uint8Array(y,v,E):I===fn.UNSIGNED_SHORT?w=new Uint16Array(y,v,E):I===fn.UNSIGNED_INT&&(w=new Uint32Array(y,v,E)),w}function Jpe(o,A){o.unload(),o._state=oo.FAILED;let f="Failed to load index buffer";throw o.getError(f,A)}function Kpe(){this.typedArray=void 0,this.indexDatatype=void 0,this.context=void 0,this.buffer=void 0}Kpe.prototype.set=function(o,A,f){this.typedArray=o,this.indexDatatype=A,this.context=f};Kpe.prototype.execute=function(){this.buffer=JVe(this.typedArray,this.indexDatatype,this.context)};function JVe(o,A,f){let m=jn.createIndexBuffer({typedArray:o,context:f,usage:Fr.STATIC_DRAW,indexDatatype:A});return m.vertexArrayDestroyable=!1,m}ZT.prototype.process=function(o){if(this._state===oo.READY)return!0;if(this._state!==oo.LOADED&&this._state!==oo.PROCESSING)return!1;let A=this._typedArray,f=this._indexDatatype;if(k(this._dracoLoader))try{this._dracoLoader.process(o)&&(A=this._dracoLoader.decodedData.indices.typedArray,this._typedArray=A,f=Mt.fromTypedArray(A),this._indexDatatype=f)}catch(C){Jpe(this,C)}if(!k(A))return!1;let m;if(this._loadBuffer&&this._asynchronous){let C=rUt;if(C.set(A,f,o.context),!o.jobScheduler.execute(C,VE.BUFFER))return!1;m=C.buffer}else this._loadBuffer&&(m=JVe(A,f,o.context));return this.unload(),this._buffer=m,this._typedArray=this._loadTypedArray?A:void 0,this._state=oo.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};ZT.prototype.unload=function(){k(this._buffer)&&this._buffer.destroy();let o=this._resourceCache;k(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&o.unload(this._bufferViewLoader),k(this._dracoLoader)&&o.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var ree=ZT;function sUt(o,A,f){if(f=ae(f,!1),f){let m=o.indexOf(A);if(m>-1)return m}return o.push(A),o.length-1}var fx=sUt;function lUt(o,A){return k(o.extensionsUsed)&&o.extensionsUsed.indexOf(A)>=0}var Wg=lUt;function Ao(){}Ao.objectLegacy=function(o,A){if(k(o)){for(let f in o)if(Object.prototype.hasOwnProperty.call(o,f)){let m=o[f],C=A(m,f);if(k(C))return C}}};Ao.object=function(o,A){if(k(o)){let f=o.length;for(let m=0;m0)return m.byteStride}return Mt.getSizeInBytes(A.componentType)*EN(A.type)}var gP=uUt;function cUt(o){xr.accessor(o,function(f){k(f.bufferView)&&(f.byteOffset=ae(f.byteOffset,0))}),xr.bufferView(o,function(f){k(f.buffer)&&(f.byteOffset=ae(f.byteOffset,0))}),xr.mesh(o,function(f){xr.meshPrimitive(f,function(m){if(m.mode=ae(m.mode,ri.TRIANGLES),!k(m.material)){k(o.materials)||(o.materials=[]);let C={name:"default"};m.material=fx(o.materials,C)}})}),xr.accessorContainingVertexAttributeData(o,function(f){let m=o.accessors[f],C=m.bufferView;if(m.normalized=ae(m.normalized,!1),k(C)){let E=o.bufferViews[C];E.byteStride=gP(o,m),E.target=ri.ARRAY_BUFFER}}),xr.accessorContainingIndexData(o,function(f){let m=o.accessors[f].bufferView;if(k(m)){let C=o.bufferViews[m];C.target=ri.ELEMENT_ARRAY_BUFFER}}),xr.material(o,function(f){let m=ae(f.extensions,ae.EMPTY_OBJECT),C=m.KHR_materials_common;if(k(C)){let y=C.technique,v=k(C.values)?C.values:{};C.values=v,v.ambient=k(v.ambient)?v.ambient:[0,0,0,1],v.emission=k(v.emission)?v.emission:[0,0,0,1],v.transparency=ae(v.transparency,1),y!=="CONSTANT"&&(v.diffuse=k(v.diffuse)?v.diffuse:[0,0,0,1],y!=="LAMBERT"&&(v.specular=k(v.specular)?v.specular:[0,0,0,1],v.shininess=ae(v.shininess,0))),C.transparent=ae(C.transparent,!1),C.doubleSided=ae(C.doubleSided,!1);return}f.emissiveFactor=ae(f.emissiveFactor,[0,0,0]),f.alphaMode=ae(f.alphaMode,"OPAQUE"),f.doubleSided=ae(f.doubleSided,!1),f.alphaMode==="MASK"&&(f.alphaCutoff=ae(f.alphaCutoff,.5));let E=m.KHR_techniques_webgl;k(E)&&xr.materialValue(f,function(y){k(y.index)&&EL(y)}),EL(f.emissiveTexture),EL(f.normalTexture),EL(f.occlusionTexture);let I=f.pbrMetallicRoughness;k(I)&&(I.baseColorFactor=ae(I.baseColorFactor,[1,1,1,1]),I.metallicFactor=ae(I.metallicFactor,1),I.roughnessFactor=ae(I.roughnessFactor,1),EL(I.baseColorTexture),EL(I.metallicRoughnessTexture));let x=m.KHR_materials_pbrSpecularGlossiness;k(x)&&(x.diffuseFactor=ae(x.diffuseFactor,[1,1,1,1]),x.specularFactor=ae(x.specularFactor,[1,1,1]),x.glossinessFactor=ae(x.glossinessFactor,1),EL(x.specularGlossinessTexture))}),xr.animation(o,function(f){xr.animationSampler(f,function(m){m.interpolation=ae(m.interpolation,"LINEAR")})});let A=hUt(o);return xr.node(o,function(f,m){k(A[m])||k(f.translation)||k(f.rotation)||k(f.scale)?(f.translation=ae(f.translation,[0,0,0]),f.rotation=ae(f.rotation,[0,0,0,1]),f.scale=ae(f.scale,[1,1,1])):f.matrix=ae(f.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}),xr.sampler(o,function(f){f.wrapS=ae(f.wrapS,ri.REPEAT),f.wrapT=ae(f.wrapT,ri.REPEAT)}),k(o.scenes)&&!k(o.scene)&&(o.scene=0),o}function hUt(o){let A={};return xr.animation(o,function(f){xr.animationChannel(f,function(m){let C=m.target,E=C.node,I=C.path;(I==="translation"||I==="rotation"||I==="scale")&&(A[E]=!0)})}),A}function EL(o){k(o)&&(o.texCoord=ae(o.texCoord,0))}var Wpe=cUt;function dUt(o){return xr.shader(o,function(A){$7(A)}),xr.buffer(o,function(A){$7(A)}),xr.image(o,function(A){$7(A)}),$7(o),o}function $7(o){o.extras=k(o.extras)?o.extras:{},o.extras._pipeline=k(o.extras._pipeline)?o.extras._pipeline:{}}var Dz=dUt;function gUt(o,A){let f=o.extensionsRequired;if(k(f)){let m=f.indexOf(A);m>=0&&f.splice(m,1),f.length===0&&delete o.extensionsRequired}}var qpe=gUt;function fUt(o,A){let f=o.extensionsUsed;if(k(f)){let m=f.indexOf(A);m>=0&&f.splice(m,1),qpe(o,A),f.length===0&&delete o.extensionsUsed}}var nee=fUt,pUt=4;function mUt(o){if(i4(o)!=="glTF")throw new Ti("File is not valid binary glTF");let A=KVe(o,0,5),f=A[1];if(f!==1&&f!==2)throw new Ti("Binary glTF version is not 1 or 2");return f===1?CUt(o,A):EUt(o,A)}function KVe(o,A,f){let m=new DataView(o.buffer),C=new Array(f);for(let E=0;E0){let w=ae(v.binary_glTF,v.KHR_binary_glTF);k(w)&&(w.extras._pipeline.source=y,delete w.uri)}return nee(x,"KHR_binary_glTF"),x}function EUt(o,A){let f=A[2],m=12,C,E;for(;m0){let x=I[0];x.extras._pipeline.source=E}}return C}var jpe=mUt;function IUt(o){return xr.shader(o,function(A){eW(A)}),xr.buffer(o,function(A){eW(A)}),xr.image(o,function(A){eW(A)}),eW(o),o}function eW(o){k(o.extras)&&(k(o.extras._pipeline)&&delete o.extras._pipeline,Object.keys(o.extras).length===0&&delete o.extras)}var Xpe=IUt;function xUt(o,A){let f=o.extensionsUsed;k(f)||(f=[],o.extensionsUsed=f),fx(f,A,!0)}var IN=xUt;function yUt(o){switch(o){case Mt.BYTE:return function(A,f,m,C,E){for(let I=0;I-1:!1}var wUt=[ri.ZERO,ri.ONE,ri.SRC_COLOR,ri.ONE_MINUS_SRC_COLOR,ri.SRC_ALPHA,ri.ONE_MINUS_SRC_ALPHA,ri.DST_ALPHA,ri.ONE_MINUS_DST_ALPHA,ri.DST_COLOR,ri.ONE_MINUS_DST_COLOR];function bUt(o,A){if(!k(o))return A;for(let f=0;f<4;f++)if(wUt.indexOf(o[f])===-1)return A;return o}function QUt(o){let A={},f={},m=o.techniques;return k(m)&&(xr.technique(o,function(C,E){let I=C.states;if(k(I)){let x=f[E]={};if(YPe(I,ri.BLEND)){x.alphaMode="BLEND";let y=I.functions;k(y)&&(k(y.blendEquationSeparate)||k(y.blendFuncSeparate))&&(A[E]={blendEquation:ae(y.blendEquationSeparate,_Ut),blendFactors:bUt(y.blendFuncSeparate,BUt)})}YPe(I,ri.CULL_FACE)||(x.doubleSided=!0),delete C.states}}),Object.keys(A).length>0&&(k(o.extensions)||(o.extensions={}),IN(o,"KHR_blend")),xr.material(o,function(C){if(k(C.technique)){let E=f[C.technique];xr.objectLegacy(E,function(x,y){C[y]=x});let I=A[C.technique];k(I)&&(k(C.extensions)||(C.extensions={}),C.extensions.KHR_blend=I)}})),o}var Zpe=QUt;function SUt(o,A){let f=o.extensionsRequired;k(f)||(f=[],o.extensionsRequired=f),fx(f,A,!0),IN(o,A)}var $pe=SUt;function DUt(o){let A=o.techniques,f={},m={},C={};if(k(A)){let E={programs:[],shaders:[],techniques:[]},I=o.glExtensionsUsed;delete o.glExtensionsUsed,xr.technique(o,function(x,y){let v={name:x.name,program:void 0,attributes:{},uniforms:{}},w;if(xr.techniqueAttribute(x,function(Q,M){w=x.parameters[Q],v.attributes[M]={semantic:w.semantic}}),xr.techniqueUniform(x,function(Q,M){w=x.parameters[Q],v.uniforms[M]={count:w.count,node:w.node,type:w.type,semantic:w.semantic,value:w.value},k(f[y])||(f[y]={}),f[y][Q]=M}),k(C[x.program]))v.program=C[x.program];else{let Q=o.programs[x.program],M={name:Q.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:I},B=o.shaders[Q.fragmentShader];M.fragmentShader=fx(E.shaders,B,!0);let D=o.shaders[Q.vertexShader];M.vertexShader=fx(E.shaders,D,!0),v.program=fx(E.programs,M),C[x.program]=v.program}m[y]=fx(E.techniques,v)}),E.techniques.length>0&&(k(o.extensions)||(o.extensions={}),o.extensions.KHR_techniques_webgl=E,IN(o,"KHR_techniques_webgl"),$pe(o,"KHR_techniques_webgl"))}return xr.material(o,function(E){if(k(E.technique)){let I={technique:m[E.technique]};xr.objectLegacy(E.values,function(x,y){k(I.values)||(I.values={});let v=f[E.technique][y];k(v)&&(I.values[v]=x)}),k(E.extensions)||(E.extensions={}),E.extensions.KHR_techniques_webgl=I}delete E.technique,delete E.values}),delete o.techniques,delete o.programs,delete o.shaders,o}var eme=DUt;function MUt(o,A){Du.typeOf.object("material",o),Du.defined("handler",A);let f=o.pbrMetallicRoughness;if(k(f)){if(k(f.baseColorTexture)){let C=f.baseColorTexture,E=A(C.index,C);if(k(E))return E}if(k(f.metallicRoughnessTexture)){let C=f.metallicRoughnessTexture,E=A(C.index,C);if(k(E))return E}}if(k(o.extensions)){let C=o.extensions.KHR_materials_pbrSpecularGlossiness;if(k(C)){if(k(C.diffuseTexture)){let I=C.diffuseTexture,x=A(I.index,I);if(k(x))return x}if(k(C.specularGlossinessTexture)){let I=C.specularGlossinessTexture,x=A(I.index,I);if(k(x))return x}}let E=o.extensions.KHR_materials_common;if(k(E)&&k(E.values)){let I=E.values.diffuse,x=E.values.ambient,y=E.values.emission,v=E.values.specular;if(k(I)&&k(I.index)){let w=A(I.index,I);if(k(w))return w}if(k(x)&&k(x.index)){let w=A(x.index,x);if(k(w))return w}if(k(y)&&k(y.index)){let w=A(y.index,y);if(k(w))return w}if(k(v)&&k(v.index)){let w=A(v.index,v);if(k(w))return w}}}let m=xr.materialValue(o,function(C){if(k(C.index)){let E=A(C.index,C);if(k(E))return E}});if(k(m))return m;if(k(o.emissiveTexture)){let C=o.emissiveTexture,E=A(C.index,C);if(k(E))return E}if(k(o.normalTexture)){let C=o.normalTexture,E=A(C.index,C);if(k(E))return E}if(k(o.occlusionTexture)){let C=o.occlusionTexture,E=A(C.index,C);if(k(E))return E}}var oee=MUt,JPe=["mesh","node","material","accessor","bufferView","buffer","texture","sampler","image"];function TUt(o,A){return A=ae(A,JPe),JPe.forEach(function(f){A.indexOf(f)>-1&&RUt(o,f)}),o}var PUt={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",image:"images",node:"nodes",material:"materials",mesh:"meshes",sampler:"samplers",texture:"textures"};function RUt(o,A){let f=PUt[A],m=o[f];if(k(m)){let C=0,E=lb[A](o),I=m.length;for(let x=0;xA&&m.attributes[I]--}),xr.meshPrimitiveTarget(m,function(E){xr.meshPrimitiveTargetAttribute(E,function(I,x){I>A&&E[x]--})});let C=m.indices;k(C)&&C>A&&m.indices--})}),xr.skin(o,function(f){k(f.inverseBindMatrices)&&f.inverseBindMatrices>A&&f.inverseBindMatrices--}),xr.animation(o,function(f){xr.animationSampler(f,function(m){k(m.input)&&m.input>A&&m.input--,k(m.output)&&m.output>A&&m.output--})})};sb.buffer=function(o,A){o.buffers.splice(A,1),xr.bufferView(o,function(f){k(f.buffer)&&f.buffer>A&&f.buffer--,k(f.extensions)&&k(f.extensions.EXT_meshopt_compression)&&f.extensions.EXT_meshopt_compression.buffer--})};sb.bufferView=function(o,A){if(o.bufferViews.splice(A,1),xr.accessor(o,function(f){k(f.bufferView)&&f.bufferView>A&&f.bufferView--}),xr.shader(o,function(f){k(f.bufferView)&&f.bufferView>A&&f.bufferView--}),xr.image(o,function(f){k(f.bufferView)&&f.bufferView>A&&f.bufferView--}),Wg(o,"KHR_draco_mesh_compression")&&xr.mesh(o,function(f){xr.meshPrimitive(f,function(m){k(m.extensions)&&k(m.extensions.KHR_draco_mesh_compression)&&m.extensions.KHR_draco_mesh_compression.bufferView>A&&m.extensions.KHR_draco_mesh_compression.bufferView--})}),Wg(o,"EXT_feature_metadata")){let f=o.extensions.EXT_feature_metadata.featureTables;for(let m in f)if(f.hasOwnProperty(m)){let C=f[m].properties;if(k(C)){for(let E in C)if(C.hasOwnProperty(E)){let I=C[E];k(I.bufferView)&&I.bufferView>A&&I.bufferView--,k(I.arrayOffsetBufferView)&&I.arrayOffsetBufferView>A&&I.arrayOffsetBufferView--,k(I.stringOffsetBufferView)&&I.stringOffsetBufferView>A&&I.stringOffsetBufferView--}}}}if(Wg(o,"EXT_structural_metadata")){let f=o.extensions.EXT_structural_metadata.propertyTables;if(k(f)){let m=f.length;for(let C=0;CA&&x.values--,k(x.arrayOffsets)&&x.arrayOffsets>A&&x.arrayOffsets--,k(x.stringOffsets)&&x.stringOffsets>A&&x.stringOffsets--}}}}};sb.image=function(o,A){o.images.splice(A,1),xr.texture(o,function(f){k(f.source)&&f.source>A&&--f.source;let m=f.extensions;k(m)&&k(m.EXT_texture_webp)&&m.EXT_texture_webp.source>A?--f.extensions.EXT_texture_webp.source:k(m)&&k(m.KHR_texture_basisu)&&m.KHR_texture_basisu.source>A&&--f.extensions.KHR_texture_basisu.source})};sb.mesh=function(o,A){o.meshes.splice(A,1),xr.node(o,function(f){k(f.mesh)&&(f.mesh>A?f.mesh--:f.mesh===A&&delete f.mesh)})};sb.node=function(o,A){o.nodes.splice(A,1),xr.skin(o,function(f){k(f.skeleton)&&f.skeleton>A&&f.skeleton--,f.joints=f.joints.map(function(m){return m>A?m-1:m})}),xr.animation(o,function(f){xr.animationChannel(f,function(m){k(m.target)&&k(m.target.node)&&m.target.node>A&&m.target.node--})}),xr.technique(o,function(f){xr.techniqueUniform(f,function(m){k(m.node)&&m.node>A&&m.node--})}),xr.node(o,function(f){k(f.children)&&(f.children=f.children.filter(function(m){return m!==A}).map(function(m){return m>A?m-1:m}))}),xr.scene(o,function(f){f.nodes=f.nodes.filter(function(m){return m!==A}).map(function(m){return m>A?m-1:m})})};sb.material=function(o,A){o.materials.splice(A,1),xr.mesh(o,function(f){xr.meshPrimitive(f,function(m){k(m.material)&&m.material>A&&m.material--})})};sb.sampler=function(o,A){o.samplers.splice(A,1),xr.texture(o,function(f){k(f.sampler)&&f.sampler>A&&--f.sampler})};sb.texture=function(o,A){if(o.textures.splice(A,1),xr.material(o,function(f){oee(f,function(m,C){C.index>A&&--C.index})}),Wg(o,"EXT_feature_metadata")){xr.mesh(o,function(m){xr.meshPrimitive(m,function(C){let E=C.extensions;if(k(E)&&k(E.EXT_feature_metadata)){let I=E.EXT_feature_metadata.featureIdTextures;if(k(I)){let x=I.length;for(let y=0;yA&&--v.index}}}})});let f=o.extensions.EXT_feature_metadata.featureTextures;for(let m in f)if(f.hasOwnProperty(m)){let C=f[m].properties;if(k(C)){for(let E in C)if(C.hasOwnProperty(E)){let I=C[E].texture;I.index>A&&--I.index}}}}if(Wg(o,"EXT_mesh_features")&&xr.mesh(o,function(f){xr.meshPrimitive(f,function(m){let C=m.extensions;if(k(C)&&k(C.EXT_mesh_features)){let E=C.EXT_mesh_features.featureIds;if(k(E)){let I=E.length;for(let x=0;xA&&--y.texture.index}}}})}),Wg(o,"EXT_structural_metadata")){let f=o.extensions.EXT_structural_metadata.propertyTextures;if(k(f)){let m=f.length;for(let C=0;CA&&--x.index}}}}};function lb(){}lb.accessor=function(o){let A={};return xr.mesh(o,function(f){xr.meshPrimitive(f,function(m){xr.meshPrimitiveAttribute(m,function(E){A[E]=!0}),xr.meshPrimitiveTarget(m,function(E){xr.meshPrimitiveTargetAttribute(E,function(I){A[I]=!0})});let C=m.indices;k(C)&&(A[C]=!0)})}),xr.skin(o,function(f){k(f.inverseBindMatrices)&&(A[f.inverseBindMatrices]=!0)}),xr.animation(o,function(f){xr.animationSampler(f,function(m){k(m.input)&&(A[m.input]=!0),k(m.output)&&(A[m.output]=!0)})}),Wg(o,"EXT_mesh_gpu_instancing")&&xr.node(o,function(f){k(f.extensions)&&k(f.extensions.EXT_mesh_gpu_instancing)&&Object.keys(f.extensions.EXT_mesh_gpu_instancing.attributes).forEach(function(m){let C=f.extensions.EXT_mesh_gpu_instancing.attributes[m];A[C]=!0})}),A};lb.buffer=function(o){let A={};return xr.bufferView(o,function(f){k(f.buffer)&&(A[f.buffer]=!0),k(f.extensions)&&k(f.extensions.EXT_meshopt_compression)&&(A[f.extensions.EXT_meshopt_compression.buffer]=!0)}),A};lb.bufferView=function(o){let A={};if(xr.accessor(o,function(f){k(f.bufferView)&&(A[f.bufferView]=!0)}),xr.shader(o,function(f){k(f.bufferView)&&(A[f.bufferView]=!0)}),xr.image(o,function(f){k(f.bufferView)&&(A[f.bufferView]=!0)}),Wg(o,"KHR_draco_mesh_compression")&&xr.mesh(o,function(f){xr.meshPrimitive(f,function(m){k(m.extensions)&&k(m.extensions.KHR_draco_mesh_compression)&&(A[m.extensions.KHR_draco_mesh_compression.bufferView]=!0)})}),Wg(o,"EXT_feature_metadata")){let f=o.extensions.EXT_feature_metadata.featureTables;for(let m in f)if(f.hasOwnProperty(m)){let C=f[m].properties;if(k(C)){for(let E in C)if(C.hasOwnProperty(E)){let I=C[E];k(I.bufferView)&&(A[I.bufferView]=!0),k(I.arrayOffsetBufferView)&&(A[I.arrayOffsetBufferView]=!0),k(I.stringOffsetBufferView)&&(A[I.stringOffsetBufferView]=!0)}}}}if(Wg(o,"EXT_structural_metadata")){let f=o.extensions.EXT_structural_metadata.propertyTables;if(k(f)){let m=f.length;for(let C=0;C0&&(A[f.mesh]=!0)}}),A};function WVe(o,A,f){let m=o.nodes[A];return k(m.mesh)||k(m.camera)||k(m.skin)||k(m.weights)||k(m.extras)||k(m.extensions)&&Object.keys(m.extensions).length!==0||k(f[A])?!1:!k(m.children)||m.children.filter(function(C){return!WVe(o,C,f)}).length===0}lb.node=function(o){let A={};return xr.skin(o,function(f){k(f.skeleton)&&(A[f.skeleton]=!0),xr.skinJoint(f,function(m){A[m]=!0})}),xr.animation(o,function(f){xr.animationChannel(f,function(m){k(m.target)&&k(m.target.node)&&(A[m.target.node]=!0)})}),xr.technique(o,function(f){xr.techniqueUniform(f,function(m){k(m.node)&&(A[m.node]=!0)})}),xr.node(o,function(f,m){WVe(o,m,A)||(A[m]=!0)}),A};lb.material=function(o){let A={};return xr.mesh(o,function(f){xr.meshPrimitive(f,function(m){k(m.material)&&(A[m.material]=!0)})}),A};lb.texture=function(o){let A={};if(xr.material(o,function(f){oee(f,function(m){A[m]=!0})}),Wg(o,"EXT_feature_metadata")){xr.mesh(o,function(m){xr.meshPrimitive(m,function(C){let E=C.extensions;if(k(E)&&k(E.EXT_feature_metadata)){let I=E.EXT_feature_metadata.featureIdTextures;if(k(I)){let x=I.length;for(let y=0;y0)for(I.mesh=f.meshes[y[0]],A=1;A0&&k(I.skin)){let v=o.skins[I.skin];v.skeleton=f.nodes[y[0]]}delete I.skeletons}k(I.jointName)&&delete I.jointName}),xr.skin(o,function(I){k(I.inverseBindMatrices)&&(I.inverseBindMatrices=f.accessors[I.inverseBindMatrices]);let x=I.jointNames;if(k(x)){let y=[],v=x.length;for(A=0;A=0&&(x=E.substring(0,I),y=E.substring(I));let v,w=rOt[x];k(w)?(v=w+y,A[E]=v):k(iOt[x])||(v=`_${E}`,A[E]=v)}});for(let C in A)if(Object.prototype.hasOwnProperty.call(A,C)){let E=A[C],I=m.attributes[C];k(I)&&(delete m.attributes[C],m.attributes[E]=I)}})}),xr.technique(o,function(f){xr.techniqueParameter(f,function(m){let C=A[m.semantic];k(C)&&(m.semantic=C)})})}function oOt(o){xr.camera(o,function(A){let f=A.perspective;if(k(f)){let m=f.aspectRatio;k(m)&&m===0&&delete f.aspectRatio;let C=f.yfov;k(C)&&C===0&&(f.yfov=1)}})}function Que(o,A){return k(A.byteStride)&&A.byteStride!==0?A.byteStride:gP(o,A)}function aOt(o){xr.buffer(o,function(A){k(A.byteLength)||(A.byteLength=A.extras._pipeline.source.length)}),xr.accessor(o,function(A){let f=A.bufferView;if(k(f)){let m=o.bufferViews[f],C=Que(o,A),E=A.byteOffset+A.count*C;m.byteLength=Math.max(ae(m.byteLength,0),E)}})}function sOt(o){let A,f,m,C=o.bufferViews,E={};xr.accessorContainingVertexAttributeData(o,function(x){let y=o.accessors[x];k(y.bufferView)&&(E[y.bufferView]=!0)});let I={};xr.accessor(o,function(x){k(x.bufferView)&&(I[x.bufferView]=ae(I[x.bufferView],[]),I[x.bufferView].push(x))});for(let x in I)if(Object.prototype.hasOwnProperty.call(I,x)){m=C[x];let y=I[x];y.sort(function(M,B){return M.byteOffset-B.byteOffset});let v=0,w=0,Q=y.length;for(A=0;A=0;--E)if(m[E]===A){m.splice(E,1);return}}}),xr.node(o,function(f,m){if(k(f.children)){let C=f.children.indexOf(A);C>-1&&(f.children.splice(C,1),jVe(f)&&XVe(o,m))}}),delete o.nodes[A]}function AOt(o){return xr.node(o,function(A,f){jVe(A)&&XVe(o,f)}),o}function uOt(o){xr.animation(o,function(A){xr.animationSampler(A,function(f){let m=o.accessors[f.input];if(!k(m.min)||!k(m.max)){let C=Tz(o,m);m.min=C.min,m.max=C.max}})})}function cOt(o){xr.accessor(o,function(A){if(k(A.min)||k(A.max)){let f=Tz(o,A);k(A.min)&&(A.min=f.min),k(A.max)&&(A.max=f.max)}})}function hOt(o){o.asset=ae(o.asset,{}),o.asset.version="2.0",qVe(o),JUt(o),AOt(o),KUt(o),WUt(o),jUt(o),ZUt(o),aOt(o),sOt(o),lOt(o),uOt(o),cOt(o),$Ut(o),eOt(o),tOt(o),nOt(o),nme(o),oOt(o),Zpe(o),eme(o),qUt(o)}var dOt=["u_tex","u_diffuse","u_emission"],gOt=["u_diffuse"];function Sue(o){o.pbrMetallicRoughness=k(o.pbrMetallicRoughness)?o.pbrMetallicRoughness:{},o.pbrMetallicRoughness.roughnessFactor=1,o.pbrMetallicRoughness.metallicFactor=0}function Jq(o){return k(o.index)}function Kq(o){return Array.isArray(o)&&o.length===4}function ZVe(o){let A=new Array(4);A[3]=o[3];for(let f=0;f<3;f++){let m=o[f];m<=.04045?A[f]=o[f]*.07739938080495357:A[f]=Math.pow((m+.055)*.9478672985781991,2.4)}return A}function fOt(o){xr.material(o,function(A){xr.materialValue(A,function(f,m){dOt.indexOf(m)!==-1&&Jq(f)?(Sue(A),A.pbrMetallicRoughness.baseColorTexture=f):gOt.indexOf(m)!==-1&&Kq(f)&&(Sue(A),A.pbrMetallicRoughness.baseColorFactor=ZVe(f))})}),VV(o,"KHR_techniques_webgl"),VV(o,"KHR_blend")}function pOt(o){xr.material(o,function(A){let f=ae(A.extensions,ae.EMPTY_OBJECT).KHR_materials_common;if(k(f)){f.technique==="CONSTANT"&&(IN(o,"KHR_materials_unlit"),A.extensions=k(A.extensions)?A.extensions:{},A.extensions.KHR_materials_unlit={});let m=k(f.values)?f.values:{},C=m.ambient,E=m.diffuse,I=m.emission,x=m.transparency,y=f.doubleSided,v=f.transparent;Sue(A),k(C)&&(Kq(C)?A.emissiveFactor=C.slice(0,3):Jq(C)&&(A.emissiveTexture=C)),k(E)&&(Kq(E)?A.pbrMetallicRoughness.baseColorFactor=ZVe(E):Jq(E)&&(A.pbrMetallicRoughness.baseColorTexture=E)),k(y)&&(A.doubleSided=y),k(I)&&(Kq(I)?A.emissiveFactor=I.slice(0,3):Jq(I)&&(A.emissiveTexture=I)),k(x)&&(k(A.pbrMetallicRoughness.baseColorFactor)?A.pbrMetallicRoughness.baseColorFactor[3]*=x:A.pbrMetallicRoughness.baseColorFactor=[1,1,1,x]),k(v)&&(A.alphaMode=v?"BLEND":"OPAQUE")}}),VV(o,"KHR_materials_common")}var ome=OUt,fl={POSITION:"POSITION",NORMAL:"NORMAL",TANGENT:"TANGENT",TEXCOORD:"TEXCOORD",COLOR:"COLOR",JOINTS:"JOINTS",WEIGHTS:"WEIGHTS",FEATURE_ID:"_FEATURE_ID"};function mOt(o){switch(o){case fl.POSITION:return"positionMC";case fl.NORMAL:return"normalMC";case fl.TANGENT:return"tangentMC";case fl.TEXCOORD:return"texCoord";case fl.COLOR:return"color";case fl.JOINTS:return"joints";case fl.WEIGHTS:return"weights";case fl.FEATURE_ID:return"featureId"}}fl.hasSetIndex=function(o){switch(o){case fl.POSITION:case fl.NORMAL:case fl.TANGENT:return!1;case fl.TEXCOORD:case fl.COLOR:case fl.JOINTS:case fl.WEIGHTS:case fl.FEATURE_ID:return!0}};fl.fromGltfSemantic=function(o){let A=o,f=/^(\w+)_\d+$/.exec(o);switch(f!==null&&(A=f[1]),A){case"POSITION":return fl.POSITION;case"NORMAL":return fl.NORMAL;case"TANGENT":return fl.TANGENT;case"TEXCOORD":return fl.TEXCOORD;case"COLOR":return fl.COLOR;case"JOINTS":return fl.JOINTS;case"WEIGHTS":return fl.WEIGHTS;case"_FEATURE_ID":return fl.FEATURE_ID}};fl.fromPntsSemantic=function(o){switch(o){case"POSITION":case"POSITION_QUANTIZED":return fl.POSITION;case"RGBA":case"RGB":case"RGB565":return fl.COLOR;case"NORMAL":case"NORMAL_OCT16P":return fl.NORMAL;case"BATCH_ID":return fl.FEATURE_ID}};fl.getGlslType=function(o){switch(o){case fl.POSITION:case fl.NORMAL:case fl.TANGENT:return"vec3";case fl.TEXCOORD:return"vec2";case fl.COLOR:return"vec4";case fl.JOINTS:return"ivec4";case fl.WEIGHTS:return"vec4";case fl.FEATURE_ID:return"int"}};fl.getVariableName=function(o,A){let f=mOt(o);return k(A)&&(f+=`_${A}`),f};var uo=Object.freeze(fl);function Dm(){}Dm.getError=function(o,A,f){let m=`Failed to load ${o}: ${A}`;k(f)&&k(f.message)&&(m+=` ${f.message}`);let C=new Ti(m);return k(f)&&(C.stack=`Original stack: ${f.stack} Handler stack: ${C.stack}`),C};Dm.getNodeTransform=function(o){return k(o.matrix)?o.matrix:Re.fromTranslationQuaternionRotationScale(k(o.translation)?o.translation:Z.ZERO,k(o.rotation)?o.rotation:yr.IDENTITY,k(o.scale)?o.scale:Z.ONE)};Dm.getAttributeBySemantic=function(o,A,f){let m=o.attributes,C=m.length;for(let E=0;E>A};E0.fromSubtreeJson=async function(o,A,f,m,C){let E=new E0(o,m,C),I;k(A)?I={json:A,binary:void 0}:I=a4t(f);let x=I.json;E._subtreeJson=x;let y;if(Lu(x,"3DTILES_metadata"))y=x.extensions["3DTILES_metadata"];else if(k(x.tileMetadata)){let T=x.tileMetadata;y=x.propertyTables[T]}let v=[];if(k(x.contentMetadata)){let T=x.contentMetadata.length;for(let L=0;L0;w=w||Q;for(let M=0;M>BigInt(61)),v=y%2===0?Yj.encode2D(m,C,E):Yj.encode2D(m,E,C),w=oU.fromFacePositionLevel(y,BigInt(v),m),Q,M;if(k(I)){let B=(x.maximumHeight+x.minimumHeight)/2;Q=f<4?x.minimumHeight:B,M=f<4?B:x.maximumHeight}else Q=x.minimumHeight,M=x.maximumHeight;return{extensions:{"3DTILES_bounding_volume_S2":{token:oU.getTokenFromId(w._cellId),minimumHeight:Q,maximumHeight:M}}}}var S4t=new Z,D4t=new Z,yse=new Z,M4t=new Nt;function c9e(o,A,f,m,C){if(A===0)return o;let E=Z.unpack(o,0,D4t),I=Nt.unpack(o,3,M4t),x=Math.pow(2,-A),y=-1+(2*f+1)*x,v=-1+(2*m+1)*x,w=0,Q=Z.fromElements(x,x,1,S4t);k(C)&&(w=-1+(2*C+1)*x,Q.z=x);let M=Z.fromElements(y,v,w,yse);M=Nt.multiplyByVector(I,M,yse),M=Z.add(M,E,yse);let B=Nt.clone(I);B=Nt.multiplyByScale(B,Q,B);let D=new Array(12);return Z.pack(M,D),Nt.pack(B,D,3),D}var T4t=new hi;function h9e(o,A,f,m,C){if(A===0)return o.slice();let E=hi.unpack(o,0,T4t),I=o[4],x=o[5],y=Math.pow(2,-A),v=y*E.width,w=De.negativePiToPi(E.west+f*v),Q=De.negativePiToPi(w+v),M=y*E.height,B=De.negativePiToPi(E.south+m*M),D=De.negativePiToPi(B+M),S=I,P=x;if(k(C)){let R=y*(x-I);S+=C*R,P=S+R}return[w,B,Q,D,S,P]}function P4t(o,A,f){let m=o._implicitTileset,C=A.implicitCoordinates.getChildCoordinates(f),E=A9e(m,C,f,!1,A),I=l9e(void 0,m,C),x=m.subtreeUriTemplate.getDerivedResource({templateValues:C.getTemplateValues()}).url,y={boundingVolume:E,geometricError:I,refine:m.refine,contents:[{uri:x}]},v=d9e(o,m.baseResource,y,A);return v.implicitTileset=m,v.implicitCoordinates=C,v}function d9e(o,A,f,m){let C=o._tile.constructor;return new C(o._tileset,A,f,m)}lI.prototype.hasProperty=function(o,A){return!1};lI.prototype.getFeature=function(o){};lI.prototype.applyDebugSettings=function(o,A){};lI.prototype.applyStyle=function(o){};lI.prototype.update=function(o,A){};lI.prototype.isDestroyed=function(){return!1};lI.prototype.destroy=function(){return this._implicitSubtree=this._implicitSubtree&&this._implicitSubtree.destroy(),ar(this)};lI._deriveBoundingBox=c9e;lI._deriveBoundingRegion=h9e;lI._deriveBoundingVolumeS2=u9e;var $j=lI,R4t={NONE:0,REPEAT:1,MIRRORED_REPEAT:2},rS=Object.freeze(R4t);function JU(o,A){this._distance=A,this._normal=new g9e(o,this),this.onChangeCallback=void 0,this.index=-1}Object.defineProperties(JU.prototype,{distance:{get:function(){return this._distance},set:function(o){k(this.onChangeCallback)&&o!==this._distance&&this.onChangeCallback(this.index),this._distance=o}},normal:{get:function(){return this._normal},set:function(o){k(this.onChangeCallback)&&!Z.equals(this._normal._cartesian3,o)&&this.onChangeCallback(this.index),Z.clone(o,this._normal._cartesian3)}}});JU.fromPlane=function(o,A){return k(A)?(A.normal=o.normal,A.distance=o.distance):A=new JU(o.normal,o.distance),A};JU.clone=function(o,A){return k(A)?(A.normal=o.normal,A.distance=o.distance,A):new JU(o.normal,o.distance)};function g9e(o,A){this._clippingPlane=A,this._cartesian3=Z.clone(o)}Object.defineProperties(g9e.prototype,{x:{get:function(){return this._cartesian3.x},set:function(o){k(this._clippingPlane.onChangeCallback)&&o!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=o}},y:{get:function(){return this._cartesian3.y},set:function(o){k(this._clippingPlane.onChangeCallback)&&o!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=o}},z:{get:function(){return this._cartesian3.z},set:function(o){k(this._clippingPlane.onChangeCallback)&&o!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=o}}});var PS=JU;function Mm(o){o=ae(o,ae.EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=ae(o.enabled,!0),this.modelMatrix=Re.clone(ae(o.modelMatrix,Re.IDENTITY)),this.edgeColor=qe.clone(ae(o.edgeColor,qe.WHITE)),this.edgeWidth=ae(o.edgeWidth,0),this.planeAdded=new ir,this.planeRemoved=new ir,this._owner=void 0;let A=ae(o.unionClippingRegions,!1);this._unionClippingRegions=A,this._testIntersection=A?f9e:p9e,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;let f=o.planes;if(k(f)){let m=f.length;for(let C=0;C0&&(E=Wo.OUTSIDE);for(let I=0;I=E;)R=C[R-E];C.push(R),I[S]=P}P>s6t&&(A instanceof Uint16Array||A instanceof Uint8Array)?A=new Uint32Array(A):P>l6t&&A instanceof Uint8Array&&(A=new Uint16Array(A)),S===y?(y=P,A[x]=P):S===v?(v=P,A[x+1]=P):(w=P,A[x+2]=P),S=rRe(m,y,v,w,M,B,D)}}o._triangleIndices=A,o._outlineCoordinatesTypedArray=new Float32Array(m)}function rRe(o,A,f,m,C,E,I){let x=I?1:0,y=C?1:0,v=0,w=_se(o,A,x,y,v);if(w===0)return A;let Q=0,M=C?1:0,B=E?1:0,D=_se(o,f,Q,M,B);if(D===0)return f;let S=I?1:0,P=0,R=E?1:0,T=_se(o,m,S,P,R);if(T===0)return m;let L=w&D&T,F,U,N;if(L&1)F=0,U=1,N=2;else if(L&2)F=0,N=1,U=2;else if(L&4)U=0,F=1,N=2;else if(L&8)U=0,N=1,F=2;else if(L&16)N=0,F=1,U=2;else if(L&32)N=0,U=1,F=2;else{let X=Bse(w),j=Bse(D),ee=Bse(T);return X>1&1)+(o>>2&1)+(o>>3&1)+(o>>4&1)+(o>>5&1)}pee.prototype.updateAttribute=function(o){let A=this._extraVertices,f=o.length,m=f/this._originalVertexCount,C=A.length,E=o.constructor,I=new E(o.length+C*m);I.set(o);for(let x=0;x1;)m>>=1,E.push(nRe(m));let I=new Rn({context:o,source:{arrayBufferView:C,mipLevels:E},width:f,height:1,pixelFormat:Jr.LUMINANCE,sampler:new Ra({wrapS:oa.CLAMP_TO_EDGE,wrapT:oa.CLAMP_TO_EDGE,minificationFilter:ya.LINEAR_MIPMAP_LINEAR,magnificationFilter:mu.LINEAR})});return A.outlineTexture=I,I};function nRe(o){let A=new Uint8Array(o);return A[o-1]=192,o===8?A[o-1]=96:o===4?A[o-1]=48:o===2?A[o-1]=24:o===1&&(A[o-1]=12),A}function y9e(o,A){this._originalVertexCount=A,this._edges=new Set;for(let f=0;f{this._resourcesLoaded=!0}).catch(C=>{this._processError=C})),k(this._processError)){this._state=rc.FAILED;let C=this._processError;this._processError=void 0,Wq(this,C)}let A=this._textureErrors.pop();if(k(A)){let C=this.getError("Failed to load glTF texture",A);throw C.name="TextureError",C}if(this._state===rc.FAILED)return!1;let f=!1;try{f=this._process(o)}catch(C){this._state=rc.FAILED,Wq(this,C)}let m=!1;try{m=this._processTextures(o)}catch(C){this._textureState=rc.FAILED,Wq(this,C)}return this._incrementallyLoadTextures?f:f&&m};function H6t(o,A,f,m,C,E,I,x){let y=A.accessors[f].bufferView;return Ju.getVertexBufferLoader({gltf:A,gltfResource:o._gltfResource,baseResource:o._baseResource,frameState:x,bufferViewId:y,draco:C,attributeSemantic:m,accessorId:f,asynchronous:o._asynchronous,loadBuffer:E,loadTypedArray:I})}function V6t(o,A,f,m,C,E,I){return Ju.getIndexBufferLoader({gltf:A,accessorId:f,gltfResource:o._gltfResource,baseResource:o._baseResource,frameState:I,draco:m,asynchronous:o._asynchronous,loadBuffer:C,loadTypedArray:E})}function z6t(o,A,f){let m=Ju.getBufferViewLoader({gltf:A,bufferViewId:f,gltfResource:o._gltfResource,baseResource:o._baseResource});return o._bufferViewLoaders.push(m),m}function b9e(o,A,f){let m=A.byteOffset,C=gP(o,A),E=A.count,I=EN(A.type),x=A.componentType,y=Mt.getSizeInBytes(x),v=y*I,w=E*I;if(C===v)return f=new Uint8Array(f),Mt.createArrayBufferView(x,f.buffer,f.byteOffset+m,w);let Q=Mt.createTypedArray(x,w),M=new DataView(f.buffer),B=new Array(I),D=Mz(A.componentType);m=f.byteOffset+m;for(let S=0;S{k(C)&&k(C.attributes)&&k(C.attributes[w])?iGt(D,S,E,I):rGt(A,y,D,S,E,I)},D}function D9e(o,A,f,m,C,E,I,x){let y=m.modelSemantic,v=y===uo.POSITION,w=y===uo.FEATURE_ID,Q=v&&!E&&o._loadAttributesFor2D&&!x.scene3DOnly,M=o._loadForClassification&&w,B=o._loadAttributesAsTypedArray,D=!B,S=B||Q||M,P=S9e(o,A,f,m,C,I?!1:D,I?!0:S,x),R=new Oz.AttributeLoadPlan(P);return R.loadBuffer=D,R.loadTypedArray=S,R}function nGt(o,A,f,m,C,E){let I=k(m.ROTATION),x=k(m.TRANSLATION)&&k(A.accessors[m.TRANSLATION].min)&&k(A.accessors[m.TRANSLATION].max),y=_me(o,A0,C),v=y.modelSemantic,w=v===A0.TRANSLATION||v===A0.ROTATION||v===A0.SCALE,Q=v===A0.TRANSLATION,M=o._loadAttributesAsTypedArray||I&&w||!E.context.instancedArrays,B=!M,D=o._loadAttributesFor2D&&!E.scene3DOnly;return S9e(o,A,f,y,void 0,B,M||Q&&(!x||D),E)}function oGt(o,A,f,m,C,E,I){let x=A.accessors[f],y=x.bufferView;if(!k(m)&&!k(y))return;let v=new C6t;v.count=x.count;let w=o._loadAttributesAsTypedArray,Q=o._loadIndicesForWireframe&&!I.context.webgl2,M=o._loadForClassification&&C,B=!w,D=w||Q||M,S=V6t(o,A,f,m,E?!1:B,E?!0:D,I),P=o._geometryLoaders.length;o._geometryLoaders.push(S);let R=S.load();o._loaderPromises.push(R),o._geometryCallbacks[P]=()=>{v.indexDatatype=S.indexDatatype,v.buffer=S.buffer,v.typedArray=S.typedArray};let T=new Oz.IndicesLoadPlan(v);return T.loadBuffer=B,T.loadTypedArray=D,T}function VQ(o,A,f,m,C,E){let I=TS.getImageIdFromTexture({gltf:A,textureId:f.index,supportedImageFormats:m});if(!k(I))return;let x=Ju.getTextureLoader({gltf:A,textureInfo:f,gltfResource:o._gltfResource,baseResource:o._baseResource,supportedImageFormats:m,frameState:C,asynchronous:o._asynchronous}),y=TS.createModelTextureReader({textureInfo:f}),v=o._textureLoaders.length;o._textureLoaders.push(x);let w=x.load().catch(Q=>{if(!o.isDestroyed()){if(!o._incrementallyLoadTextures)throw Q;o._textureState=rc.FAILED,o._textureErrors.push(Q)}});return o._texturesPromises.push(w),o._textureCallbacks[v]=()=>{y.texture=x.texture,k(E)&&(y.texture.sampler=E)},y}function aGt(o,A,f,m,C){let E=new F6t,I=ae(f.extensions,ae.EMPTY_OBJECT),x=I.KHR_materials_pbrSpecularGlossiness,y=f.pbrMetallicRoughness;if(E.unlit=k(I.KHR_materials_unlit),k(x)){let v=new L6t;E.specularGlossiness=v,k(x.diffuseTexture)&&(v.diffuseTexture=VQ(o,A,x.diffuseTexture,m,C)),k(x.specularGlossinessTexture)&&k(x.specularGlossinessTexture)&&(v.specularGlossinessTexture=VQ(o,A,x.specularGlossinessTexture,m,C)),v.diffuseFactor=Jy(kt,x.diffuseFactor),v.specularFactor=Jy(Z,x.specularFactor),v.glossinessFactor=x.glossinessFactor,E.pbrSpecularGlossiness=x}else if(k(y)){let v=new R6t;k(y.baseColorTexture)&&(v.baseColorTexture=VQ(o,A,y.baseColorTexture,m,C)),k(y.metallicRoughnessTexture)&&(v.metallicRoughnessTexture=VQ(o,A,y.metallicRoughnessTexture,m,C)),v.baseColorFactor=Jy(kt,y.baseColorFactor),v.metallicFactor=y.metallicFactor,v.roughnessFactor=y.roughnessFactor,E.metallicRoughness=v}return k(f.emissiveTexture)&&(E.emissiveTexture=VQ(o,A,f.emissiveTexture,m,C)),k(f.normalTexture)&&!o._loadForClassification&&(E.normalTexture=VQ(o,A,f.normalTexture,m,C)),k(f.occlusionTexture)&&(E.occlusionTexture=VQ(o,A,f.occlusionTexture,m,C)),E.emissiveFactor=Jy(Z,f.emissiveFactor),E.alphaMode=f.alphaMode,E.alphaCutoff=f.alphaCutoff,E.doubleSided=f.doubleSided,E}function M9e(o,A){let f=new _9e;return f.featureCount=o.featureCount,f.nullFeatureId=o.nullFeatureId,f.propertyTableId=o.propertyTable,f.setIndex=o.attribute,f.label=o.label,f.positionalLabel=A,f}function T9e(o,A,f,m){let C=new _9e,E=o.featureIds;return C.featureCount=f,C.propertyTableId=A,C.setIndex=Q9e(E.attribute),C.positionalLabel=m,C}function P9e(o,A){let f=new w9e;return f.propertyTableId=o.propertyTable,f.featureCount=o.featureCount,f.nullFeatureId=o.nullFeatureId,f.label=o.label,f.positionalLabel=A,f.offset=0,f.repeat=1,f}function R9e(o,A,f,m){let C=new w9e,E=o.featureIds;C.propertyTableId=A,C.featureCount=f,C.offset=ae(E.constant,0);let I=ae(E.divisor,0);return C.repeat=I===0?void 0:I,C.positionalLabel=m,C}function sGt(o,A,f,m,C,E){let I=new B9e;I.featureCount=f.featureCount,I.nullFeatureId=f.nullFeatureId,I.propertyTableId=f.propertyTable,I.label=f.label,I.positionalLabel=E;let x=f.texture;I.textureReader=VQ(o,A,x,m,C,Ra.NEAREST);let y=(k(x.channels)?x.channels:[0]).map(function(v){return"rgba".charAt(v)}).join("");return I.textureReader.channels=y,I}function lGt(o,A,f,m,C,E,I,x){let y=new B9e,v=f.featureIds,w=v.texture;return y.featureCount=I,y.propertyTableId=m,y.textureReader=VQ(o,A,w,C,E,Ra.NEAREST),y.textureReader.channels=v.channels,y.positionalLabel=x,y}function AGt(o,A,f,m,C,E){let I=new E6t,x,y=!1;for(let v in f)if(f.hasOwnProperty(v)){let w=f[v],Q=_me(o,uo,v),M=D9e(o,A,w,Q,x,y,m,E);I.attributes.push(M.attribute),C.attributePlans.push(M)}return I}function uGt(o,A,f,m,C,E){let I=new I6t,x=new Oz(I);o._primitiveLoadPlans.push(x);let y=f.material;k(y)&&(I.material=aGt(o,A,A.materials[y],C,E));let v=ae(f.extensions,ae.EMPTY_OBJECT),w=!1,Q=v.CESIUM_primitive_outline;o._loadPrimitiveOutline&&k(Q)&&(w=!0,x.needsOutlines=!0,x.outlineIndices=cGt(o,A,Q,x));let M=o._loadForClassification,B=v.KHR_draco_mesh_compression,D=!1,S=f.attributes;if(k(S)){for(let H in S)if(S.hasOwnProperty(H)){let J=S[H],K=_me(o,uo,H),X=K.modelSemantic;if(M&&!tGt(X))continue;X===uo.FEATURE_ID&&(D=!0);let j=D9e(o,A,J,K,B,m,w,E);x.attributePlans.push(j),I.attributes.push(j.attribute)}}let P=f.targets;if(k(P)&&!M){let H=P.length;for(let J=0;J=0&&R.receiveTextureProjectionList.push(L.name)}}let B=ae(f.weights,w.weights),D=E.primitives[0].morphTargets.length;E.morphWeights=k(B)?B.slice():new Array(D).fill(0)}return E}function IGt(o,A,f,m){if(!k(A.nodes))return[];let C,E,I=A.nodes.length,x=new Array(I);for(C=0;C0&&(m|=f.COLOR_BUFFER_BIT),k(this._colorFramebuffer.depthStencilTexture)&&(m|=f.DEPTH_BUFFER_BIT|(A?f.STENCIL_BUFFER_BIT:0)),f.blitFramebuffer(0,0,this._width,this._height,0,0,this._width,this._height,m,f.NEAREST),f.bindFramebuffer(f.READ_FRAMEBUFFER,null),f.bindFramebuffer(f.DRAW_FRAMEBUFFER,null)};o4.prototype.isDestroyed=function(){return!1};o4.prototype.destroy=function(){return this._renderFramebuffer.destroy(),this._colorFramebuffer.destroy(),ar(this)};var Bme=o4;function jg(o){o=ae(o,ae.EMPTY_OBJECT),this._numSamples=ae(o.numSamples,1),this._colorAttachmentsLength=ae(o.colorAttachmentsLength,1),this._color=ae(o.color,!0),this._depth=ae(o.depth,!1),this._depthStencil=ae(o.depthStencil,!1),this._supportsDepthTexture=ae(o.supportsDepthTexture,!1),this._createColorAttachments=ae(o.createColorAttachments,!0),this._createDepthAttachments=ae(o.createDepthAttachments,!0),this._pixelDatatype=o.pixelDatatype,this._pixelFormat=o.pixelFormat,this._width=void 0,this._height=void 0,this._framebuffer=void 0,this._multisampleFramebuffer=void 0,this._colorTextures=void 0,this._color&&(this._colorTextures=new Array(this._colorAttachmentsLength),this._colorRenderbuffers=new Array(this._colorAttachmentsLength)),this._colorRenderbuffer=void 0,this._depthStencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthRenderbuffer=void 0,this._depthTexture=void 0,this._attachmentsDirty=!1}Object.defineProperties(jg.prototype,{framebuffer:{get:function(){return this._numSamples>1?this._multisampleFramebuffer.getRenderFramebuffer():this._framebuffer}},numSamples:{get:function(){return this._numSamples}},status:{get:function(){return this.framebuffer.status}}});jg.prototype.isDirty=function(o,A,f,m,C){f=ae(f,1);let E=this._width!==o||this._height!==A,I=this._numSamples!==f,x=k(m)&&this._pixelDatatype!==m||k(C)&&this._pixelFormat!==C,y=k(f===1?this._framebuffer:this._multisampleFramebuffer);return this._attachmentsDirty||E||I||x||!y||this._color&&!k(this._colorTextures[0])};jg.prototype.update=function(o,A,f,m,C,E){if(m=o.msaa?ae(m,1):1,C=ae(C,this._color?ae(this._pixelDatatype,Gr.UNSIGNED_BYTE):void 0),E=ae(E,this._color?ae(this._pixelFormat,Jr.RGBA):void 0),this.isDirty(A,f,m,C,E)){if(this.destroy(),this._width=A,this._height=f,this._numSamples=m,this._pixelDatatype=C,this._pixelFormat=E,this._attachmentsDirty=!1,this._color&&this._createColorAttachments){for(let I=0;I1){let x=XE.getColorFormat(C);this._colorRenderbuffers[I]=new gx({context:o,width:A,height:f,format:x,numSamples:this._numSamples})}}this._depthStencil&&this._createDepthAttachments&&(this._supportsDepthTexture&&o.depthTexture?(this._depthStencilTexture=new Rn({context:o,width:A,height:f,pixelFormat:Jr.DEPTH_STENCIL,pixelDatatype:Gr.UNSIGNED_INT_24_8,sampler:Ra.NEAREST}),this._numSamples>1&&(this._depthStencilRenderbuffer=new gx({context:o,width:A,height:f,format:XE.DEPTH24_STENCIL8,numSamples:this._numSamples}))):this._depthStencilRenderbuffer=new gx({context:o,width:A,height:f,format:XE.DEPTH_STENCIL})),this._depth&&this._createDepthAttachments&&(this._supportsDepthTexture&&o.depthTexture?this._depthTexture=new Rn({context:o,width:A,height:f,pixelFormat:Jr.DEPTH_COMPONENT,pixelDatatype:Gr.UNSIGNED_INT,sampler:Ra.NEAREST}):this._depthRenderbuffer=new gx({context:o,width:A,height:f,format:XE.DEPTH_COMPONENT16})),this._numSamples>1?this._multisampleFramebuffer=new Bme({context:o,width:this._width,height:this._height,colorTextures:this._colorTextures,colorRenderbuffers:this._colorRenderbuffers,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}):this._framebuffer=new Gd({context:o,colorTextures:this._colorTextures,depthTexture:this._depthTexture,depthRenderbuffer:this._depthRenderbuffer,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1})}};jg.prototype.getColorTexture=function(o){return o=ae(o,0),this._colorTextures[o]};jg.prototype.setColorTexture=function(o,A){A=ae(A,0),this._attachmentsDirty=o!==this._colorTextures[A],this._colorTextures[A]=o};jg.prototype.getColorRenderbuffer=function(o){return o=ae(o,0),this._colorRenderbuffers[o]};jg.prototype.setColorRenderbuffer=function(o,A){A=ae(A,0),this._attachmentsDirty=o!==this._colorRenderbuffers[A],this._colorRenderbuffers[A]=o};jg.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer};jg.prototype.setDepthRenderbuffer=function(o){this._attachmentsDirty=o!==this._depthRenderbuffer,this._depthRenderbuffer=o};jg.prototype.getDepthTexture=function(){return this._depthTexture};jg.prototype.setDepthTexture=function(o){this._attachmentsDirty=o!==this._depthTexture,this._depthTexture=o};jg.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer};jg.prototype.setDepthStencilRenderbuffer=function(o){this._attachmentsDirty=o!==this._depthStencilRenderbuffer,this._depthStencilRenderbuffer=o};jg.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture};jg.prototype.setDepthStencilTexture=function(o){this._attachmentsDirty=o!==this._depthStencilTexture,this._depthStencilTexture=o};jg.prototype.prepareTextures=function(o,A){this._numSamples>1&&this._multisampleFramebuffer.blitFramebuffers(o,A)};jg.prototype.clear=function(o,A,f){let m=A.framebuffer;A.framebuffer=this.framebuffer,A.execute(o,f),A.framebuffer=m};jg.prototype.destroyFramebuffer=function(){this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._multisampleFramebuffer=this._multisampleFramebuffer&&this._multisampleFramebuffer.destroy()};jg.prototype.destroy=function(){if(this._color){let o,A=this._colorTextures.length;for(o=0;o=570425344?(A-=kQ*2,Q=x,v=y,w=0,x=0,y=0,z5._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")):w>=570425344&&(A-=kQ,Q=v,v=x,w=y,x=0,y=0,z5._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel."));let M;x===0?M={BATCH_LENGTH:ae(Q,0)}:(M=Ap(m,A,x),A+=x);let B=new Uint8Array(o,A,y);A+=y;let D,S;v>0&&(D=Ap(m,A,v),A+=v,w>0&&(S=new Uint8Array(o,A,w),S=new Uint8Array(S),A+=w));let P=f+I-A;if(P===0)throw new Ti("glTF byte length must be greater than 0.");let R;return A%4===0?R=new Uint8Array(o,A,P):(z5._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),R=new Uint8Array(m.subarray(A,A+P))),{batchLength:Q,featureTableJson:M,featureTableBinary:B,batchTableJson:D,batchTableBinary:S,gltf:R}};var bme=z5;function Hz(o,A){this.json=o,this.buffer=A,this._cachedTypedArrays={},this.featuresLength=0}function k9e(o,A,f,m,C,E){let I=o._cachedTypedArrays,x=I[A];return k(x)||(x=Mt.createArrayBufferView(f,o.buffer.buffer,o.buffer.byteOffset+E,C*m),I[A]=x),x}function YGt(o,A,f,m){let C=o._cachedTypedArrays,E=C[A];return k(E)||(E=Mt.createTypedArray(f,m),C[A]=E),E}Hz.prototype.getGlobalProperty=function(o,A,f){let m=this.json[o];if(k(m))return k(m.byteOffset)?(A=ae(A,Mt.UNSIGNED_INT),f=ae(f,1),k9e(this,o,A,f,1,m.byteOffset)):m};Hz.prototype.hasProperty=function(o){return k(this.json[o])};Hz.prototype.getPropertyArray=function(o,A,f){let m=this.json[o];if(k(m))return k(m.byteOffset)?(k(m.componentType)&&(A=Mt.fromName(m.componentType)),k9e(this,o,A,f,this.featuresLength,m.byteOffset)):YGt(this,o,A,m)};Hz.prototype.getProperty=function(o,A,f,m,C){let E=this.json[o];if(!k(E))return;let I=this.getPropertyArray(o,A,f);if(f===1)return I[m];for(let x=0;x0&&(D=Ap(m,A,v),A+=v,w>0&&(S=new Uint8Array(o,A,w),S=new Uint8Array(S),A+=w));let P=f+I-A;if(P===0)throw new Ti("glTF byte length must be greater than 0.");let R;return A%4===0?R=new Uint8Array(o,A,P):(iX._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),R=new Uint8Array(m.subarray(A,A+P))),{gltfFormat:Q,featureTableJson:M,featureTableBinary:B,batchTableJson:D,batchTableBinary:S,gltf:R}};var Tme=iX,dS={NOT_LOADED:0,LOADING:1,PROCESSING:2,POST_PROCESSING:3,READY:4,FAILED:5,UNLOADED:6},rW=So.Attribute,h8t=So.FeatureIdAttribute,V9e=So.Instances;function gS(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.i3dmResource,f=o.arrayBuffer,m=o.baseResource,C=ae(o.byteOffset,0),E=ae(o.releaseGltfJson,!1),I=ae(o.asynchronous,!0),x=ae(o.incrementallyLoadTextures,!0),y=ae(o.upAxis,ud.Y),v=ae(o.forwardAxis,ud.X),w=ae(o.loadAttributesAsTypedArray,!1),Q=ae(o.loadIndicesForWireframe,!1),M=ae(o.loadPrimitiveOutline,!0);m=k(m)?m:A.clone(),this._i3dmResource=A,this._baseResource=m,this._arrayBuffer=f,this._byteOffset=C,this._releaseGltfJson=E,this._asynchronous=I,this._incrementallyLoadTextures=x,this._upAxis=y,this._forwardAxis=v,this._loadAttributesAsTypedArray=w,this._loadIndicesForWireframe=Q,this._loadPrimitiveOutline=M,this._state=dS.NOT_LOADED,this._promise=void 0,this._gltfLoader=void 0,this._buffers=[],this._components=void 0,this._transform=Re.IDENTITY,this._batchTable=void 0,this._featureTable=void 0,this._instancesLength=0}k(Object.create)&&(gS.prototype=Object.create(cp.prototype),gS.prototype.constructor=gS);Object.defineProperties(gS.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});gS.prototype.load=function(){if(k(this._promise))return this._promise;let o=Tme.parse(this._arrayBuffer,this._byteOffset),A=o.featureTableJson,f=o.featureTableBinary,m=o.batchTableJson,C=o.batchTableBinary,E=o.gltfFormat,I=new l4(A,f);this._featureTable=I;let x=I.getGlobalProperty("INSTANCES_LENGTH");if(I.featuresLength=x,!k(x))throw new Ti("Feature table global property: INSTANCES_LENGTH must be defined");this._instancesLength=x;let y=I.getGlobalProperty("RTC_CENTER",Mt.FLOAT,3);k(y)&&(this._transform=Re.fromTranslation(Z.fromArray(y))),this._batchTable={json:m,binary:C};let v={upAxis:this._upAxis,forwardAxis:this._forwardAxis,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline};if(E===0){let Q=ab(o.gltf);Q=Q.replace(/[\s\0]+$/,"");let M=this._baseResource.getDerivedResource({url:Q});v.gltfResource=M,v.baseResource=M}else v.gltfResource=this._i3dmResource,v.typedArray=o.gltf;let w=new n4(v);return this._gltfLoader=w,this._state=dS.LOADING,this._promise=w.load().then(()=>{if(!this.isDestroyed())return this._state=dS.PROCESSING,this}).catch(Q=>{if(!this.isDestroyed())throw d8t(this,Q)}),this._promise};function d8t(o,A){o.unload(),o._state=dS.FAILED;let f="Failed to load i3dm";return o.getError(f,A)}gS.prototype.process=function(o){if(this._state===dS.READY)return!0;let A=this._gltfLoader,f=!1;if(this._state===dS.PROCESSING&&(f=A.process(o)),!f)return!1;let m=A.components;return m.transform=Re.multiplyTransformation(this._transform,m.transform,m.transform),p8t(this,m,o),g8t(this,m),this._components=m,this._arrayBuffer=void 0,this._state=dS.READY,!0};function g8t(o,A){let f=o._batchTable,m=o._instancesLength;if(m===0)return;let C;if(k(f.json))C=zz({count:m,batchTable:f.json,binaryBody:f.binary});else{let E=new fP({name:r4.BATCH_TABLE_CLASS_NAME,count:m});C=new rD({schema:{},propertyTables:[E]})}A.structuralMetadata=C}var nW=new Z,Mue=new Array(4),f8t=new Re;function p8t(o,A,f){let m,C=o._featureTable,E=o._instancesLength;if(E===0)return;let I=C.getGlobalProperty("RTC_CENTER",Mt.FLOAT,3),x=C.getGlobalProperty("EAST_NORTH_UP"),y=C.hasProperty("NORMAL_UP")||C.hasProperty("NORMAL_UP_OCT32P")||x,v=C.hasProperty("SCALE")||C.hasProperty("SCALE_NON_UNIFORM"),w=C8t(C,E),Q;y&&(Q=new Float32Array(4*E));let M;v&&(M=new Float32Array(3*E));let B=new Float32Array(E),D=Z.unpackArray(w),S=new Z,P=new Z,R=new Z,T=new Z,L=new Nt,F=new yr,U=new Array(4),N=new Z,H=new Array(3),J=new Re;if(!k(I)){let he=si.fromPoints(D);for(m=0;m0&&(he.instances=Ae?m8t(K):K,Ae=!0)}}function m8t(o){let A=new V9e;A.transformInWorldSpace=o.transformInWorldSpace;let f=o.attributes,m=f.length;for(let C=0;C=f[A]){if(A+1=0&&o>=f[A-1])return A-1;let C;if(o>f[A])for(C=A;C=f[C]&&o=0&&!(o>=f[C]&&of&&(E=Math.floor((o-f)/C)+1,o-=E*C),o};A4.prototype.clampTime=function(o){let A=this.times;return De.clamp(o,A[0],A[A.length-1])};var Ih=A4;function u4(o){this._value=o,this._valueType=Ih.getPointType(o)}Object.defineProperties(u4.prototype,{value:{get:function(){return this._value}}});u4.prototype.findTimeInterval=function(o){};u4.prototype.wrapTime=function(o){return 0};u4.prototype.clampTime=function(o){return 0};u4.prototype.evaluate=function(o,A){let f=this._value,m=this._valueType;return m===Number?f:m.clone(f,A)};var Rme=u4;function c4(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.points,f=o.times;this._times=f,this._points=A,this._pointType=Ih.getPointType(A[0]),this._lastTimeIndex=0}Object.defineProperties(c4.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});c4.prototype.findTimeInterval=Ih.prototype.findTimeInterval;c4.prototype.wrapTime=Ih.prototype.wrapTime;c4.prototype.clampTime=Ih.prototype.clampTime;c4.prototype.evaluate=function(o,A){let f=this.points,m=this.times,C=this._lastTimeIndex=this.findTimeInterval(o,this._lastTimeIndex),E=(o-m[C])/(m[C+1]-m[C]);return this._pointType===Number?(1-E)*f[C]+E*f[C+1]:(k(A)||(A=new Z),Z.lerp(f[C],f[C+1],E,A))};var Yz=c4,z9e={};z9e.solve=function(o,A,f,m){let C=new Array(f.length),E=new Array(m.length),I=new Array(m.length),x;for(x=0;x=0;--x)I[x]=Z.subtract(E[x],Z.multiplyByScalar(I[x+1],C[x],I[x]),I[x]);return I};var Eee=z9e,Y9e=[],J9e=[],K9e=[],W9e=[];function v8t(o,A,f){let m=Y9e,C=K9e,E=J9e,I=W9e;m.length=C.length=o.length-1,E.length=I.length=o.length;let x;m[0]=E[0]=1,C[0]=0;let y=I[0];for(k(y)||(y=I[0]=new Z),Z.clone(A,y),x=1;x0&&o.afterRender.push(x._raiseStartEvent)),x.loop===rS.REPEAT)B=B-Math.floor(B);else if(x.loop===rS.MIRRORED_REPEAT){let R=Math.floor(B),T=B-R;B=R%2===1?1-T:T}x.reverse&&(B=1-B);let P=B*v*x.multiplier;P=De.clamp(P,x.localStartTime,x.localStopTime),x.animate(P),x.update.numberOfListeners>0&&(x._updateEventTime=P,o.afterRender.push(x._raiseUpdateEvent)),m=!0,S||(x._state=PT.STOPPED,x.stop.numberOfListeners>0&&o.afterRender.push(x._raiseStopEvent),x.removeOnStop&&oW.push(x))}}f=oW.length;for(let I=0;Ibounds.x && point.xbounds.w); } float unpackDepth(const in vec4 rgba_depth) { // \u89E3\u7801\u6DF1\u5EA6 const vec4 bitShifts = vec4(1.0, 1.0 / 255.0, 1.0 / (255.0 * 255.0), 1.0 / (255.0 * 255.0 * 255.0)); float depth=dot(rgba_depth, bitShifts); return depth; } czm_modelMaterial defaultModelMaterial() { czm_modelMaterial material; material.diffuse = vec3(0.0); material.specular = vec3(1.0); material.roughness = 1.0; material.occlusion = 1.0; material.normalEC = vec3(0.0, 0.0, 1.0); material.emissive = vec3(0.0); material.alpha = 1.0; return material; } vec4 handleAlpha(vec3 color, float alpha) { #ifdef ALPHA_MODE_MASK if (alpha < u_alphaCutoff) { discard; } #endif return vec4(color, alpha); } SelectedFeature selectedFeature; ProcessedAttributes attributes; void main() { #ifdef HAS_MODEL_SPLITTER modelSplitterStage(); #endif czm_modelMaterial material = defaultModelMaterial(); geometryStage(attributes); FeatureIds featureIds; featureIdStage(featureIds, attributes); Metadata metadata; MetadataClass metadataClass; MetadataStatistics metadataStatistics; metadataStage(metadata, metadataClass, metadataStatistics, attributes); #ifdef HAS_SELECTED_FEATURE_ID selectedFeatureIdStage(selectedFeature, featureIds); #endif #ifndef CUSTOM_SHADER_REPLACE_MATERIAL materialStage(material, attributes, selectedFeature); #endif // \u6269\u5C55\u6837\u5F0F -- begin #ifdef HAS_CUSTOM_FRAGMENT_SHADER #ifdef HAS_CUSTOM_FRAGMENT_SHADER_AND_STYLE customShaderStageAndStyle(material, attributes, featureIds, metadata, metadataClass, metadataStatistics, selectedFeature); #else customShaderStage(material, attributes, featureIds, metadata, metadataClass, metadataStatistics); #endif #endif // \u6269\u5C55\u6837\u5F0F -- end #ifdef MODEL_FLATTEN if (u_bFlatten && u_clipPlaneOfFlatten) { // \u53D8\u6362\u5230\u4E16\u754C\u4F4D\u7F6E\uFF0C\u7136\u540E\u53C8\u5230 vec4 m_position = u_r_eastNorthUpToFixedFrame *vec4(v_position, 1.0); // \u662F\u5426\u5728\u8303\u56F4\u5185 if (isPointInBound(m_position, u_polygonBounds)) { vec2 texCoord; texCoord.x = (m_position.x-u_polygonBounds.x)/(u_polygonBounds.z-u_polygonBounds.x); texCoord.y = (m_position.y-u_polygonBounds.w)/(u_polygonBounds.y-u_polygonBounds.w); // \u56FE\u7247\u5927\u5C0F\u662F float texelSize = 1.0/4096.0; // \u89E3\u7801\u6DF1\u5EA6 float depth0 = unpackDepth(texture(u_polygonTexture, texCoord.xy)); float depth1 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(-texelSize, 0.0))); float depth2 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(texelSize, 0.0))); float depth3 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, -texelSize))); float depth4 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, texelSize))); // \u83B7\u53D6\u6700\u5C0F\u7684\u6DF1\u5EA6 float minDepth = min(min(min(min(depth0, depth1), depth2), depth3), depth4); // if (minDepth*5000.0 > 1.0) { if(m_position.z > minDepth*5000.0) { discard; } } } } #endif lightingStage(material, attributes); // \u6269\u5C55\u6837\u5F0F -- begin #ifdef HAS_SELECTED_FEATURE_ID #ifndef HAS_CUSTOM_FRAGMENT_SHADER_AND_STYLE cpuStylingStage(material, selectedFeature); #endif #endif // \u6269\u5C55\u6837\u5F0F -- end #ifdef HAS_MODEL_COLOR modelColorStage(material); #endif #ifdef HAS_PRIMITIVE_OUTLINE primitiveOutlineStage(material); #endif vec4 color = handleAlpha(material.diffuse, material.alpha); #ifdef HAS_CLIPPING_PLANES modelClippingPlanesStage(color); #endif #if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS) silhouetteStage(color); #endif out_FragColor = color; } `,Yme=`precision highp float; #ifdef MODEL_FLATTEN out vec3 v_position; #endif czm_modelVertexOutput defaultVertexOutput(vec3 positionMC) { czm_modelVertexOutput vsOutput; vsOutput.positionMC = positionMC; vsOutput.pointSize = 1.0; return vsOutput; } SelectedFeature feature; ProcessedAttributes attributes; void main() { // Initialize the attributes struct with all // attributes except quantized ones. initializeAttributes(attributes); // Dequantize the quantized ones and add them to the // attributes struct. #ifdef USE_DEQUANTIZATION dequantizationStage(attributes); #endif #ifdef HAS_MORPH_TARGETS morphTargetsStage(attributes); #endif #ifdef HAS_SKINNING skinningStage(attributes); #endif #ifdef HAS_PRIMITIVE_OUTLINE primitiveOutlineStage(); #endif // Compute the bitangent according to the formula in the glTF spec. // Normal and tangents can be affected by morphing and skinning, so // the bitangent should not be computed until their values are finalized. #ifdef HAS_BITANGENTS attributes.bitangentMC = normalize(cross(attributes.normalMC, attributes.tangentMC) * attributes.tangentSignMC); #endif FeatureIds featureIds; featureIdStage(featureIds, attributes); #ifdef HAS_SELECTED_FEATURE_ID selectedFeatureIdStage(feature, featureIds); // Handle any show properties that come from the style. cpuStylingStage(attributes.positionMC, feature); #endif #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING) // The scene mode 2D pipeline stage and instancing stage add a different // model view matrix to accurately project the model to 2D. However, the // output positions and normals should be transformed by the 3D matrices // to keep the data the same for the fragment shader. mat4 modelView = czm_modelView3D; mat3 normal = czm_normal3D; #else // These are used for individual model projection because they will // automatically change based on the scene mode. mat4 modelView = czm_modelView; mat3 normal = czm_normal; #endif // Update the position for this instance in place #ifdef HAS_INSTANCING // The legacy instance stage is used when rendering i3dm models that // encode instances transforms in world space, as opposed to glTF models // that use EXT_mesh_gpu_instancing, where instance transforms are encoded // in object space. #ifdef USE_LEGACY_INSTANCING mat4 instanceModelView; mat3 instanceModelViewInverseTranspose; legacyInstancingStage(attributes, instanceModelView, instanceModelViewInverseTranspose); modelView = instanceModelView; normal = instanceModelViewInverseTranspose; #else instancingStage(attributes); #endif #ifdef USE_PICKING v_pickColor = a_pickColor; #endif #endif Metadata metadata; MetadataClass metadataClass; MetadataStatistics metadataStatistics; metadataStage(metadata, metadataClass, metadataStatistics, attributes); #ifdef HAS_CUSTOM_VERTEX_SHADER czm_modelVertexOutput vsOutput = defaultVertexOutput(attributes.positionMC); customShaderStage(vsOutput, attributes, featureIds, metadata, metadataClass, metadataStatistics); #endif // Compute the final position in each coordinate system needed. // This returns the value that will be assigned to gl_Position. vec4 positionClip = geometryStage(attributes, modelView, normal); #ifdef HAS_SILHOUETTE silhouetteStage(attributes, positionClip); #endif #ifdef HAS_POINT_CLOUD_SHOW_STYLE float show = pointCloudShowStylingStage(attributes, metadata); #else float show = 1.0; #endif #ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING show *= pointCloudBackFaceCullingStage(); #endif #ifdef HAS_POINT_CLOUD_COLOR_STYLE v_pointCloudColor = pointCloudColorStylingStage(attributes, metadata); #endif #ifdef PRIMITIVE_TYPE_POINTS #ifdef HAS_CUSTOM_VERTEX_SHADER gl_PointSize = vsOutput.pointSize; #elif defined(HAS_POINT_CLOUD_POINT_SIZE_STYLE) || defined(HAS_POINT_CLOUD_ATTENUATION) gl_PointSize = pointCloudPointSizeStylingStage(attributes, metadata); #else gl_PointSize = 1.0; #endif gl_PointSize *= show; #endif gl_Position = show * positionClip; } `;function Jme(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.command,f=o.primitiveRenderResources,m=f.model;this._command=A,this._model=m,this._runtimePrimitive=f.runtimePrimitive,this._modelMatrix=A.modelMatrix,this._boundingVolume=A.boundingVolume,this._cullFace=A.renderState.cull.face;let C=m.classificationType;this._classificationType=C,this._classifiesTerrain=C!==nA.CESIUM_3D_TILE,this._classifies3DTiles=C!==nA.TERRAIN,this._useDebugWireframe=m._enableDebugWireframe&&m.debugWireframe,this._pickId=f.pickId,this._commandListTerrain=[],this._commandList3DTiles=[],this._commandListIgnoreShow=[],this._commandListDebugWireframe=[],this._commandListTerrainPicking=[],this._commandList3DTilesPicking=[],N8t(this)}function R8t(o){return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:o,frontOperation:{fail:kn.KEEP,zFail:kn.DECREMENT_WRAP,zPass:kn.KEEP},backFunction:o,backOperation:{fail:kn.KEEP,zFail:kn.INCREMENT_WRAP,zPass:kn.KEEP},reference:No.CESIUM_3D_TILE_MASK,mask:No.CESIUM_3D_TILE_MASK},stencilMask:No.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:aI.LESS_OR_EQUAL},depthMask:!1}}var L8t={stencilTest:{enabled:!0,frontFunction:sA.NOT_EQUAL,frontOperation:{fail:kn.ZERO,zFail:kn.ZERO,zPass:kn.ZERO},backFunction:sA.NOT_EQUAL,backOperation:{fail:kn.ZERO,zFail:kn.ZERO,zPass:kn.ZERO},reference:0,mask:No.CLASSIFICATION_MASK},stencilMask:No.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:Sl.PRE_MULTIPLIED_ALPHA_BLEND},F8t={stencilTest:{enabled:!0,frontFunction:sA.NOT_EQUAL,frontOperation:{fail:kn.ZERO,zFail:kn.ZERO,zPass:kn.ZERO},backFunction:sA.NOT_EQUAL,backOperation:{fail:kn.ZERO,zFail:kn.ZERO,zPass:kn.ZERO},reference:0,mask:No.CLASSIFICATION_MASK},stencilMask:No.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1},q9e=[];function N8t(o){let A=o._command,f=q9e;if(o._useDebugWireframe){A.pass=zi.OPAQUE,f.length=0,f.push(A),o._commandListDebugWireframe=UH(o,f,o._commandListDebugWireframe);let C=o._commandListDebugWireframe,E=C.length;for(let I=0;IE||m<-E&&C>-E}function t5(o,A){if(!k(A))return;let f=WQ.clone(A),m=cn.shallowClone(A.command);return m.modelMatrix=o._modelMatrix2D,m.boundingVolume=o._boundingVolume2D,f.command=m,f.updateShadows=!1,f.is2D=!0,A.derivedCommand2D=f,o._derivedCommands.push(f),f}function Y8t(o){t5(o,o._originalCommand),t5(o,o._translucentCommand),t5(o,o._skipLodBackfaceCommand),t5(o,o._skipLodStencilCommand),t5(o,o._silhouetteModelCommand),t5(o,o._silhouetteColorCommand)}function J8t(o){let A=cn.shallowClone(o);A.pass=zi.TRANSLUCENT;let f=En(o.renderState,!0);return f.cull.enabled=!1,f.depthMask=!1,f.blending=Sl.ALPHA_BLEND,A.renderState=Hr.fromCache(f),A}function K8t(o,A){let f=A._silhouetteId%255,m=cn.shallowClone(o),C=En(o.renderState,!0);return C.stencilTest={enabled:!0,frontFunction:ri.ALWAYS,backFunction:ri.ALWAYS,reference:f,mask:-1,frontOperation:{fail:ri.KEEP,zFail:ri.KEEP,zPass:ri.REPLACE},backOperation:{fail:ri.KEEP,zFail:ri.KEEP,zPass:ri.REPLACE}},A.isInvisible()&&(C.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),m.renderState=Hr.fromCache(C),m}function W8t(o,A){let f=A._silhouetteId%255,m=cn.shallowClone(o),C=En(o.renderState,!0);C.cull.enabled=!1,(o.pass===zi.TRANSLUCENT||A.silhouetteColor.alpha<1)&&(m.pass=zi.TRANSLUCENT,C.depthMask=!1,C.blending=Sl.ALPHA_BLEND),C.stencilTest={enabled:!0,frontFunction:ri.NOTEQUAL,backFunction:ri.NOTEQUAL,reference:f,mask:-1,frontOperation:{fail:ri.KEEP,zFail:ri.KEEP,zPass:ri.KEEP},backOperation:{fail:ri.KEEP,zFail:ri.KEEP,zPass:ri.KEEP}};let E=En(o.uniformMap);return E.model_silhouettePass=function(){return!0},m.renderState=Hr.fromCache(C),m.uniformMap=E,m.castShadows=!1,m.receiveShadows=!1,m}function q8t(o,A,f){let m=o._skipLodStencilCommand,C=m.command,E=A._selectionDepth,I=j8t(C);if(E!==I){let x=X8t(E),y=En(C.renderState,!0);y.stencilTest.reference=x,C.renderState=Hr.fromCache(y),f&&(m.derivedCommand2D.renderState=y)}}function j8t(o){return(o.renderState.stencilTest.reference&No.SKIP_LOD_MASK)>>>No.SKIP_LOD_BIT_SHIFT}function X8t(o){return No.CESIUM_3D_TILE_MASK|o<= shadowMap_lightPositionEC.w) { discard; } distance /= shadowMap_lightPositionEC.w; // radius out_FragColor = czm_packDepth(distance); `:f?v+=` out_FragColor = vec4(1.0); `:v+=` out_FragColor = czm_packDepth(gl_FragCoord.z); `,v+=`} `,E.push(v),new hr({defines:C,sources:E})};vN.getShadowReceiveShaderKeyword=function(o,A,f,m){let C=o._usesDepthTexture,E=o._polygonOffsetSupported,I=o._isPointLight,x=o._isSpotLight,y=o._numberOfCascades>1,v=o.debugCascadeColors,w=o.softShadows;return`receiveShadow ${C}${E}${I}${x}${y}${v}${w}${A}${f}${m}`};vN.createShadowReceiveVertexShader=function(o,A,f){let m=o.defines.slice(0),C=o.sources.slice(0);return m.push("SHADOW_MAP"),A&&(f?m.push("GENERATE_POSITION_AND_NORMAL"):m.push("GENERATE_POSITION")),new hr({defines:m,sources:C})};vN.createShadowReceiveFragmentShader=function(o,A,f,m,C){let E=hr.findNormalVarying(o),I=!m&&k(E)||m&&C,x=hr.findPositionVarying(o),y=k(x),v=A._usesDepthTexture,w=A._polygonOffsetSupported,Q=A._isPointLight,M=A._isSpotLight,B=A._numberOfCascades>1,D=A.debugCascadeColors,S=A.softShadows,P=Q?A._pointBias:m?A._terrainBias:A._primitiveBias,R=o.defines.slice(0),T=o.sources.slice(0),L=T.length;for(let N=0;N0&&R.push("USE_NORMAL_SHADING_SMOOTH"));let F="";Q?F+=`uniform samplerCube shadowMap_textureCube; `:F+=`uniform sampler2D shadowMap_texture; `;let U;return y?U=` return vec4(${x}, 1.0); `:U=`#ifndef LOG_DEPTH return czm_windowToEyeCoordinates(gl_FragCoord); #else return vec4(v_logPositionEC, 1.0); #endif `,F+=`uniform mat4 shadowMap_matrix; uniform vec3 shadowMap_lightDirectionEC; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; #ifdef LOG_DEPTH in vec3 v_logPositionEC; #endif vec4 getPositionEC() { ${U}} vec3 getNormalEC() { ${I?` return normalize(${E}); `:` return vec3(1.0); `}} void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) { ${P.normalOffset&&I?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; float normalOffsetScale = 1.0 - nDotL; vec3 offset = normalOffset * normalOffsetScale * normalEC; positionEC.xyz += offset; `:""}} `,F+=`void main() { czm_shadow_receive_main(); vec4 positionEC = getPositionEC(); vec3 normalEC = getNormalEC(); float depth = -positionEC.z; `,F+=` czm_shadowParameters shadowParameters; shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; `,m?F+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); `:w||(F+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); `),Q?F+=` vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; float distance = length(directionEC); directionEC = normalize(directionEC); float radius = shadowMap_lightPositionEC.w; // Stop early if the fragment is beyond the point light radius if (distance > radius) { return; } vec3 directionWC = czm_inverseViewRotation * directionEC; shadowParameters.depth = distance / radius; shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); shadowParameters.texCoords = directionWC; float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); `:M?F+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrix * positionEC; // Spot light uses a perspective projection, so perform the perspective divide shadowPosition /= shadowPosition.w; // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { return; } shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); `:B?F+=` float maxDepth = shadowMap_cascadeSplits[1].w; // Stop early if the eye depth exceeds the last cascade if (depth > maxDepth) { return; } // Get the cascade based on the eye-space depth vec4 weights = czm_cascadeWeights(depth); // Apply normal offset float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); // Transform position into the cascade vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; // Get visibility shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); // Fade out shadows that are far away float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); visibility = mix(visibility, 1.0, fade); ${D?` // Draw cascade colors for debugging out_FragColor *= czm_cascadeColor(weights); `:""}`:F+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrix * positionEC; // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { return; } shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); `,F+=` out_FragColor.rgb *= visibility; } `,T.push(F),new hr({defines:R,sources:T})};var s2=vN;function Ab(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.context;this._enabled=ae(o.enabled,!0),this._softShadows=ae(o.softShadows,!1),this._normalOffset=ae(o.normalOffset,!0),this.dirty=!0,this.fromLightSource=ae(o.fromLightSource,!0),this.darkness=ae(o.darkness,.3),this._darkness=this.darkness,this.fadingEnabled=ae(o.fadingEnabled,!0),this.maximumDistance=ae(o.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let f=!0;(co.isInternetExplorer()||co.isEdge()||(co.isChrome()||co.isFirefox())&&co.isWindows()&&!A.depthTexture)&&(f=!1),this._polygonOffsetSupported=f,this._terrainBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new Re,this._shadowMapTexture=void 0,this._lightDirectionEC=new Z,this._lightPositionEC=new kt,this._distance=0,this._lightCamera=o.lightCamera,this._shadowMapCamera=new yee,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new si,this._isPointLight=ae(o.isPointLight,!1),this._pointLightRadius=ae(o.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:ae(o.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?ae(o.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new tt,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Eg:k(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new kt,new kt],this._cascadeMatrices=[new Re,new Re,new Re,new Re],this._cascadeDistances=new kt;let m;this._isPointLight?m=6:this._cascadesEnabled?m=this._numberOfCascades:m=1,this._passes=new Array(m);for(let C=0;C=A?A:On.maximumCubeMapSize,C.x=A,C.y=A;let E=new _r(0,0,A,A);f[0].passState.viewport=E,f[1].passState.viewport=E,f[2].passState.viewport=E,f[3].passState.viewport=E,f[4].passState.viewport=E,f[5].passState.viewport=E}else m===1?(A=On.maximumTextureSize>=A?A:On.maximumTextureSize,C.x=A,C.y=A,f[0].passState.viewport=new _r(0,0,A,A)):m===4&&(A=On.maximumTextureSize>=A*2?A:On.maximumTextureSize/2,C.x=A*2,C.y=A*2,f[0].passState.viewport=new _r(0,0,A,A),f[1].passState.viewport=new _r(A,0,A,A),f[2].passState.viewport=new _r(0,A,A,A),f[3].passState.viewport=new _r(A,A,A,A));o._clearPassState.viewport=new _r(0,0,C.x,C.y);for(let E=0;E=o.maximumDistance){o._outOfView=!0,o._needsUpdate=!1;return}let E=A.mapProjection.ellipsoid.geodeticSurfaceNormal(f.positionWC,bHt),I=Z.negate(m.directionWC,QHt),x=Z.dot(E,I);if(o.fadingEnabled){let y=De.clamp(x/.1,0,1);o._darkness=De.lerp(1,o.darkness,y)}else o._darkness=o.darkness;if(x<0){o._outOfView=!0,o._needsUpdate=!1;return}o._needsUpdate=!0,o._outOfView=!1}else if(o._isPointLight)C.center=m.positionWC,C.radius=o._pointLightRadius,o._outOfView=A.cullingVolume.computeVisibility(C)===Wo.OUTSIDE,o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),si.clone(C,o._boundingSphere);else{let E=m.frustum.far/2,I=Z.add(m.positionWC,Z.multiplyByScalar(m.directionWC,E,uRe),uRe);C.center=I,C.radius=E,o._outOfView=A.cullingVolume.computeVisibility(C)===Wo.OUTSIDE,o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),si.clone(C,o._boundingSphere)}}function DHt(o,A){let f=A.camera,m=o._lightCamera,C=o._sceneCamera,E=o._shadowMapCamera;o._cascadesEnabled?Z.clone(m.directionWC,E.directionWC):o._isPointLight?Z.clone(m.positionWC,E.positionWC):E.clone(m);let I=o._lightDirectionEC;Re.multiplyByPointAsVector(f.viewMatrix,E.directionWC,I),Z.normalize(I,I),Z.negate(I,I),Re.multiplyByPoint(f.viewMatrix,E.positionWC,o._lightPositionEC),o._lightPositionEC.w=o._pointLightRadius;let x,y;o._fitNearFar?(x=Math.min(A.shadowState.nearPlane,o.maximumDistance),y=Math.min(A.shadowState.farPlane,o.maximumDistance),y=Math.max(y,x+1)):(x=f.frustum.near,y=o.maximumDistance),o._sceneCamera=Ms.clone(f,C),f.frustum.clone(o._sceneCamera.frustum),o._sceneCamera.frustum.near=x,o._sceneCamera.frustum.far=y,o._distance=y-x,SHt(o,A),!o._outOfViewPrevious&&o._outOfView&&(o._needsUpdate=!0),o._outOfViewPrevious=o._outOfView}Ab.prototype.update=function(o){if(DHt(this,o),this._needsUpdate)if(oHt(this,o.context),this._isPointLight&&wHt(this,o),this._cascadesEnabled&&(yHt(this,o),this._numberOfCascades>1&&CHt(this,o)),this._isPointLight)this._shadowMapCullingVolume=qg.fromBoundingSphere(this._boundingSphere);else{let A=this._shadowMapCamera,f=A.positionWC,m=A.directionWC,C=A.upWC;this._shadowMapCullingVolume=A.frustum.computeCullingVolume(f,m,C),this._passes.length===1&&this._passes[0].camera.clone(A)}if(this._passes.length===1){let A=this._sceneCamera.inverseViewMatrix;Re.multiply(this._shadowMapCamera.getViewProjection(),A,this._shadowMapMatrix)}this.debugShow&&dHt(this,o)};Ab.prototype.updatePass=function(o,A){Z9e(this,o,A)};var MHt=new tt;function ize(o,A,f){let m=o._isPointLight?o._pointBias:f?o._terrainBias:o._primitiveBias,C={shadowMap_texture:function(){return o._shadowMapTexture},shadowMap_textureCube:function(){return o._shadowMapTexture},shadowMap_matrix:function(){return o._shadowMapMatrix},shadowMap_cascadeSplits:function(){return o._cascadeSplits},shadowMap_cascadeMatrices:function(){return o._cascadeMatrices},shadowMap_lightDirectionEC:function(){return o._lightDirectionEC},shadowMap_lightPositionEC:function(){return o._lightPositionEC},shadowMap_cascadeDistances:function(){return o._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let E=MHt;return E.x=1/o._textureSize.x,E.y=1/o._textureSize.y,kt.fromElements(E.x,E.y,m.depthBias,m.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return kt.fromElements(m.normalOffsetScale,o._distance,o.maximumDistance,o._darkness,this.combinedUniforms2)},combinedUniforms1:new kt,combinedUniforms2:new kt};return yo(A,C,!1)}function THt(o,A,f,m,C,E){let I,x,y;if(k(E)&&(I=E.shaderProgram,x=E.renderState,y=E.uniformMap),E=cn.shallowClone(f,E),E.castShadows=!0,E.receiveShadows=!1,!k(I)||C!==f.shaderProgram.id||A){let v=f.shaderProgram,w=f.pass===zi.GLOBE,Q=f.pass!==zi.TRANSLUCENT,M=o._isPointLight,B=o._usesDepthTexture,D=s2.getShadowCastShaderKeyword(M,w,B,Q);if(I=m.shaderCache.getDerivedShaderProgram(v,D),!k(I)){let S=v.vertexShaderSource,P=v.fragmentShaderSource,R=s2.createShadowCastVertexShader(S,M,w),T=s2.createShadowCastFragmentShader(P,M,B,Q);I=m.shaderCache.createDerivedShaderProgram(v,D,{vertexShaderSource:R,fragmentShaderSource:T,attributeLocations:v._attributeLocations})}x=o._primitiveRenderState,M?x=o._pointRenderState:w&&(x=o._terrainRenderState),f.renderState.cull.enabled||(x=En(x,!1),x.cull=En(x.cull,!1),x.cull.enabled=!1,x=Hr.fromCache(x)),y=ize(o,f.uniformMap,w)}return E.shaderProgram=I,E.renderState=x,E.uniformMap=y,E}Ab.createReceiveDerivedCommand=function(o,A,f,m,C){k(C)||(C={});let E=o.length>0,I=A.shaderProgram,x=I.vertexShaderSource,y=I.fragmentShaderSource,v=A.pass===zi.GLOBE,w=!1;if(v&&(w=A.owner.data.renderedMesh.encoding.hasVertexNormals),A.receiveShadows&&E){let Q,M;k(C.receiveCommand)&&(Q=C.receiveCommand.shaderProgram,M=C.receiveCommand.uniformMap),C.receiveCommand=cn.shallowClone(A,C.receiveCommand),C.castShadows=!1,C.receiveShadows=!0;let B=C.receiveShaderCastShadows!==A.castShadows,D=C.receiveShaderProgramId!==A.shaderProgram.id;if(!k(Q)||D||f||B){let S=s2.getShadowReceiveShaderKeyword(o[0],A.castShadows,v,w);if(Q=m.shaderCache.getDerivedShaderProgram(I,S),!k(Q)){let P=s2.createShadowReceiveVertexShader(x,v,w),R=s2.createShadowReceiveFragmentShader(y,o[0],A.castShadows,v,w);Q=m.shaderCache.createDerivedShaderProgram(I,S,{vertexShaderSource:P,fragmentShaderSource:R,attributeLocations:I._attributeLocations})}M=ize(o[0],A.uniformMap,v)}C.receiveCommand.shaderProgram=Q,C.receiveCommand.uniformMap=M,C.receiveShaderProgramId=A.shaderProgram.id,C.receiveShaderCastShadows=A.castShadows}return C};Ab.createCastDerivedCommand=function(o,A,f,m,C){if(k(C)||(C={}),A.castShadows){let E=C.castCommands;k(E)||(E=C.castCommands=[]);let I=C.castShaderProgramId,x=o.length;E.length=x;for(let y=0;y0?(o._ready=!1,o._texturePromise=Promise.all(w).then(function(){o._ready=!0,o._texturePromise=void 0})):o._ready=!0}function aze(o){k(o._command)&&(o._command.shaderProgram=o._command.shaderProgram&&o._command.shaderProgram.destroy(),o._command=void 0),o._selectedIdTexture=o._selectedIdTexture&&o._selectedIdTexture.destroy();let A=o._textureCache;if(!k(A))return;let f=o._uniforms,m=o._actualUniforms;for(let C in m)m.hasOwnProperty(C)&&m[C]instanceof Rn&&(k(A.getStageByName(f[C]))||m[C].destroy(),o._dirtyUniforms.push(C))}function qHt(o){let A=k(o._selected)?o._selected.length:0,f=k(o._parentSelected)?o._parentSelected:0,m=o._selected!==o._selectedShadow||A!==o._selectedLength;if(m=m||o._parentSelected!==o._parentSelectedShadow||f!==o._parentSelectedLength,k(o._selected)&&k(o._parentSelected)?o._combinedSelected=o._selected.concat(o._parentSelected):k(o._parentSelected)?o._combinedSelected=o._parentSelected:o._combinedSelected=o._selected,!m&&k(o._combinedSelected)){if(!k(o._combinedSelectedShadow))return!0;A=o._combinedSelected.length;for(let C=0;C0&&this.scissorRectangle.height>0?this._passState:void 0;k(C)&&(C.context=o),this._command.execute(o,C)};_N.prototype.isDestroyed=function(){return!1};_N.prototype.destroy=function(){return aze(this),ar(this)};var Jo=_N,XHt=` uniform mat4 u_eastNorthUpToFixedFrame; uniform mat4 u_r_eastNorthUpToFixedFrame; uniform bool u_bFlatten; uniform vec4 u_polygonBounds; uniform sampler2D u_polygonTexture; uniform bool u_clipPlaneOfFlatten; //out vec3 v_positionWC; //FlattenVS_v_positionEC //FlattenVS_v_normal //FlattenVS_a_normal // \u5728\u8303\u56F4\u5185 bool isPointInBound(vec4 point, vec4 bounds) { return (point.x>bounds.x && point.xbounds.w); } float unpackDepth(const in vec4 rgba_depth) { // \u89E3\u7801\u6DF1\u5EA6 const vec4 bitShifts = vec4(1.0, 1.0 / 255.0, 1.0 / (255.0 * 255.0), 1.0 / (255.0 * 255.0 * 255.0)); float depth=dot(rgba_depth, bitShifts); return depth; } void main(void) { // \u4E4B\u524D\u7684\u529F\u80FD zhiu_flatten_main(); if (u_bFlatten && !u_clipPlaneOfFlatten) { // \u53D8\u6362\u5230\u4E16\u754C\u4F4D\u7F6E\uFF0C\u7136\u540E\u53C8\u5230 vec4 m_position = u_r_eastNorthUpToFixedFrame * vec4(FlattenVS_a_pos, 1.0); // \u662F\u5426\u5728\u8303\u56F4\u5185 if (isPointInBound(m_position, u_polygonBounds)) { vec2 texCoord; // texCoord.x = (m_position.x-u_polygonBounds.x)/(u_polygonBounds.z-u_polygonBounds.x); texCoord.y = (m_position.y-u_polygonBounds.w)/(u_polygonBounds.y-u_polygonBounds.w); // \u56FE\u7247\u5927\u5C0F\u662F float texelSize = 1.0/4096.0; // \u89E3\u7801\u6DF1\u5EA6 float depth0 = unpackDepth(texture(u_polygonTexture, texCoord.xy)); float depth1 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(-texelSize, 0.0))); float depth2 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(texelSize, 0.0))); float depth3 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, -texelSize))); float depth4 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, texelSize))); // \u83B7\u53D6\u6700\u5C0F\u7684\u6DF1\u5EA6 float minDepth = min(min(min(min(depth0, depth1), depth2), depth3), depth4); if (minDepth*5000.0 > 1.0) { float depth = max(max(max(max(depth0, depth1), depth2), depth3), depth4); m_position.z = depth*5000.0 + m_position.z * 0.01; } gl_Position = FlattenVS_u_proj * FlattenVS_u_mv * u_eastNorthUpToFixedFrame * m_position; vec3 weightedPosition = FlattenVS_a_pos; //vec3 weightedNormal = a_normal; vec4 position = vec4(weightedPosition, 1.0); v_positionWC = (czm_model * position).xyz; v_positionEC = position.xyz; } } if (u_bFlatten && u_clipPlaneOfFlatten) { v_position = FlattenVS_a_pos; } }`,$me=XHt,ZHt=`out vec3 v_elevationPos; out vec3 vtxf_a_position; uniform mat4 u_inverseElevationMatrix; void main(){ zhiu_height_main(); vtxf_a_position = a_position.xyz; vtxf_a_position = gltf_u_dec_position_min + vtxf_a_position * gltf_u_dec_position_normConstant; v_elevationPos = (u_inverseElevationMatrix * vec4(vtxf_a_position, 1.0)).xyz; vtxf_a_position = (vtxf_a_position - gltf_u_dec_position_min) / gltf_u_dec_position_normConstant; }`,sze=ZHt,$Ht=`in vec3 v_elevationPos; void main(){ zhiu_clip_main(); float vtxf_a11 = fract(czm_frameNumber / 120.0) * 3.14159265 * 2.0; float vtxf_a12 = v_elevationPos.z / 60.0 + sin(vtxf_a11) * 0.1; out_FragColor *= vec4(vtxf_a12, vtxf_a12, vtxf_a12, 1.0); float vtxf_a13 = fract(czm_frameNumber / 360.0); float vtxf_h = clamp(v_elevationPos.z / 300.0, 0.0, 1.0); vtxf_a13 = abs(vtxf_a13 - 0.5) * 2.0; float vtxf_diff = step(0.005, abs(vtxf_h - vtxf_a13)); out_FragColor.rgb += out_FragColor.rgb * (1.0 - vtxf_diff); }`,lze=$Ht,eVt=`#define USE_CUBE_MAP_SHADOW true uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform mat4 camera_projection_matrix; uniform mat4 camera_view_matrix; uniform float far; uniform samplerCube shadowMap_textureCube; uniform mat4 shadowMap_matrix; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; struct zx_shadowParameters { vec3 texCoords; float depthBias; float depth; float nDotL; vec2 texelStepSize; float normalShadingSmooth; float darkness; }; float czm_shadowVisibility(samplerCube shadowMap, zx_shadowParameters shadowParameters) { float depthBias = shadowParameters.depthBias; float depth = shadowParameters.depth; float nDotL = shadowParameters.nDotL; float normalShadingSmooth = shadowParameters.normalShadingSmooth; float darkness = shadowParameters.darkness; vec3 uvw = shadowParameters.texCoords; depth -= depthBias; float visibility = czm_shadowDepthCompare(shadowMap, uvw, depth); return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); } vec4 getPositionEC(){ return czm_windowToEyeCoordinates(gl_FragCoord); } vec3 getNormalEC(){ return vec3(1.); } vec4 toEye(in vec2 uv,in float depth){ vec2 xy=vec2((uv.x*2.-1.),(uv.y*2.-1.)); vec4 posInCamera=czm_inverseProjection*vec4(xy,depth,1.); posInCamera=posInCamera/posInCamera.w; return posInCamera; } vec3 pointProjectOnPlane(in vec3 planeNormal,in vec3 planeOrigin,in vec3 point){ vec3 v01=point-planeOrigin; float d=dot(planeNormal,v01); return(point-planeNormal*d); } float getDepth(in vec4 depth){ float z_window=czm_unpackDepth(depth); z_window=czm_reverseLogDepth(z_window); float n_range=czm_depthRange.near; float f_range=czm_depthRange.far; return(2.*z_window-n_range-f_range)/(f_range-n_range); } float shadow( in vec4 positionEC ){ vec3 normalEC=getNormalEC(); zx_shadowParameters shadowParameters; shadowParameters.texelStepSize=shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; shadowParameters.depthBias=shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; shadowParameters.normalShadingSmooth=shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; shadowParameters.darkness=shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; vec3 directionEC=positionEC.xyz-shadowMap_lightPositionEC.xyz; float distance=length(directionEC); directionEC=normalize(directionEC); float radius=shadowMap_lightPositionEC.w; if(distance>radius) { return 2.0; } vec3 directionWC=czm_inverseViewRotation*directionEC; shadowParameters.depth=distance/radius-0.0003; shadowParameters.nDotL=clamp(dot(normalEC,-directionEC),0.,1.); shadowParameters.texCoords=directionWC; float visibility=czm_shadowVisibility(shadowMap_textureCube,shadowParameters); return visibility; } bool visible(in vec4 result) { result.x/=result.w; result.y/=result.w; result.z/=result.w; return result.x>=-1.&&result.x<=1. &&result.y>=-1.&&result.y<=1. &&result.z>=-1.&&result.z<=1.; } void main(){ // \u5F97\u5230\u91C9\u8272=\u7ED3\u6784\u4E8C\u7EF4(\u5F69\u8272\u7EB9\u7406,\u7EB9\u7406\u5750\u6807) out_FragColor=texture(colorTexture,v_textureCoordinates); // \u6DF1\u5EA6=(\u91C9\u8272=\u7ED3\u6784\u4E8C\u7EF4(\u6DF1\u5EA6\u7EB9\u7406,\u7EB9\u7406\u5750\u6807)) float depth=getDepth(texture(depthTexture,v_textureCoordinates)); // \u89C6\u89D2=(\u7EB9\u7406\u5750\u6807,\u6DF1\u5EA6) vec4 viewPos=toEye(v_textureCoordinates,depth); // \u4E16\u754C\u5750\u6807 vec4 wordPos=czm_inverseView*viewPos; // \u865A\u62DF\u76F8\u673A\u4E2D\u5750\u6807 vec4 vcPos=camera_view_matrix*wordPos; float near=.001*far; float dis=length(vcPos.xyz); if(dis>near&&dis0.3){ out_FragColor=mix(out_FragColor,v_color,.5); } else{ out_FragColor=mix(out_FragColor,inv_color,.5); } } } }`,Aze=eVt,aT=Ku(mht(),1),tVt={getsharder(o){let A="a_pos",f="u_mv",m="u_proj",C="a_texc",E="v_texc",I="out vec3 v_positionEC;",x="out vec3 v_normal;",y="in vec3 a_normal;";o.indexOf("attributes.positionMC")>-1&&(A="attributes.positionMC"),o.indexOf("czm_modelView")>-1&&(f="czm_modelView"),o.indexOf("czm_projection")>-1&&(m="czm_projection"),o.indexOf("a_texcoord0")>-1&&(C="a_texcoord0"),o.indexOf("a_texcoord_0")>-1&&(C="a_texcoord_0"),o.indexOf("v_texcoord_0")>-1&&(E="v_texcoord_0"),o.indexOf("v_texcoord0")>-1&&(E="v_texcoord0"),o.indexOf("v_positionEC")>-1&&(I=""),o.indexOf("v_normal")>-1&&(x=""),o.indexOf("a_normal")>-1&&(y="");let v=$me;return v=aT.default.replace(v,new RegExp("FlattenVS_a_pos","g"),A),v=aT.default.replace(v,new RegExp("FlattenVS_u_mv","g"),f),v=aT.default.replace(v,new RegExp("FlattenVS_u_proj","g"),m),v=aT.default.replace(v,new RegExp("FlattenVS_a_texc","g"),C),v=aT.default.replace(v,new RegExp("FlattenVS_v_texc","g"),E),v=aT.default.replace(v,new RegExp("//FlattenVS_v_positionEC","g"),I),v=aT.default.replace(v,new RegExp("//FlattenVS_v_normal","g"),x),v=aT.default.replace(v,new RegExp("//FlattenVS_a_normal","g"),y),o=hr.replaceMain(o,"zhiu_flatten_main"),o+=v,o},setflatUniformMap(o,A,f){let m=A._tileset;if(k(f._rtcCenter)&&k(m._flattenOriginPoint)){let E=new Z,I=new Z,x=new Re;Re.inverse(m.localViewMatrix,x),Re.multiplyByPoint(x,m._flattenOriginPoint,E),Re.multiplyByPoint(x,f._rtcCenter,I);let y=new Z;Z.subtract(I,E,y);let v=Vr.eastNorthUpToFixedFrame(f._rtcCenter),w=new Re;Re.setTranslation(v,new Z(0,0,0),w);let Q=new Re;Re.inverse(w,Q);let M=new Z;Re.getTranslation(Q,M);let B=new Z;Z.add(M,y,B);let D=new Re;Re.setTranslation(Q,B,D);let S=new Re;Re.inverse(D,S)}let C={};C.u_polygonTexture=function(){return k(m._polygonDepth)?m._polygonDepth._colorTexture:m._defautTexture},C.u_polygonBounds=function(){return m._flattenBounds},C.u_bFlatten=function(){return m._needUpdateFlatten===!0&&k(m._polygonDepth)},C.u_eastNorthUpToFixedFrameA=function(){return m._matMW},C.u_r_eastNorthUpToFixedFrameA=function(){return Re.inverse(m._matMW,new Re)},C.u_clipPlaneOfFlatten=function(){return m.clipPlaneOfFlatten},o.flatUniformMap=C},FlattenEXInit(o){o._needUpdateFlatten=!1,o._flattenPolygons=[],o._defautTexture=void 0,o._updateFlattenInternal=!1,o._flattenBounds=new kt,o._polygonDepth=void 0,o._matMW=Re.IDENTITY,o._flattenOriginPoint=void 0,o._clipPlaneOfFlatten=!1,o.initFlattenPolygon=function(A){if(o._flattenPolygons.length>0){k(o._polygonDepth)||(o._polygonDepth=new KU),o._polygonDepth._flattenPolygonDrawCommands=[];let f={position:0},m=new Re;Re.inverse(o._matMW,m);let C=new _r,E=[];for(let I=0;I0&&(o._updateFlattenInternal===!0&&(k(o._polygonDepth)&&(o._polygonDepth.destroy(),o._polygonDepth=void 0),o.initFlattenPolygon(A)),k(o._polygonDepth)&&o._polygonDepth.update(A),o._updateFlattenInternal=!1)}},g4=tVt,cRe=new Re;function iVt(o,A,f){let m=o.shaderBuilder;m.addVertexLines(Yme),m.addFragmentLines(zme);let C=rVt(o),E=new VA({context:A.context,indexBuffer:C,attributes:o.attributes}),I=o.model;I._pipelineResources.push(E);let x;I.type===zd.TILE_B3DM&&(x=function(F,U){let N=g4.getsharder(F);return N=`#define MODEL_FLATTEN ${N}`,U=`#define MODEL_FLATTEN ${U}`,{vs:N,fs:U}});let y=m.buildShaderProgram(A.context,x);I._pipelineResources.push(y);let v=o.alphaOptions.pass,w=I.sceneGraph,Q=A.mode===ii.SCENE3D,M,B;if(!Q&&!A.scene3DOnly&&I._projectTo2D)M=Re.multiplyTransformation(w._computedModelMatrix,o.runtimeNode.computedTransform,new Re),B=o.runtimePrimitive.boundingSphere2D;else{let F=Q?w._computedModelMatrix:w._computedModelMatrix2D;M=Re.multiplyTransformation(F,o.runtimeNode.computedTransform,new Re),B=si.transform(o.boundingSphere,M,o.boundingSphere)}let D=En(Hr.fromCache(o.renderStateOptions),!0);D.cull.face=Ts.getCullFace(M,o.primitiveType),D=Hr.fromCache(D);let S=k(I.classificationType),P=S?!1:_s.castShadows(I.shadows),R=S?!1:_s.receiveShadows(I.shadows),T=S?void 0:o.pickId;if(I.type===zd.TILE_B3DM&&k(I.flatUniformMap)&&(I.flatUniformMap.u_r_eastNorthUpToFixedFrame=function(){let F=I.flatUniformMap.u_r_eastNorthUpToFixedFrameA(),U=new Re;return Re.multiply(F,M,U),U},I.flatUniformMap.u_eastNorthUpToFixedFrame=function(){let F=new Re;Re.inverse(M,F);let U=I.flatUniformMap.u_eastNorthUpToFixedFrameA(),N=new Re;return Re.multiply(F,U,N),N},o.uniformMap=yo(o.uniformMap,I.flatUniformMap)),o.uniformMap.u_rtcNormalize){let F=new Z;Re.getTranslation(M,F);let U=new Z;Re.getScale(M,U);let N=new Z(0,0,0),H=F,J=A.mapProjection.ellipsoid;H=J.cartesianToCartographic(H),H.height=0,H=J.cartographicToCartesian(H),J.geodeticSurfaceNormal(H,N),o.uniformMap.u_rtcNormalize=function(){return N},o.uniformMap.u_rtcScale=function(){return U}}I.underGroundMode.enabled&&(o.uniformMap.u_underGroundModeMatrix=function(){let F=A.context.uniformState.view;return Re.multiply(F,I.referenceMatrix,cRe),cRe});let L=new cn({boundingVolume:B,modelMatrix:M,uniformMap:o.uniformMap,renderState:D,vertexArray:E,shaderProgram:y,cull:I.cull,pass:v,count:o.count,owner:I,pickId:T,instanceCount:o.instanceCount,primitiveType:o.primitiveType,debugShowBoundingVolume:I.debugShowBoundingVolume,castShadows:P,receiveShadows:R,receiveTextureProjectionList:f});return S?new Kme({primitiveRenderResources:o,command:L}):new Wme({primitiveRenderResources:o,command:L})}function rVt(o){let A=o.wireframeIndexBuffer;if(k(A))return A;let f=o.indices;if(k(f))return f.buffer}var eCe=iVt,lF={VERTEX:0,FRAGMENT:1,BOTH:2};lF.includesVertexShader=function(o){return o===lF.VERTEX||o===lF.BOTH};lF.includesFragmentShader=function(o){return o===lF.FRAGMENT||o===lF.BOTH};var Gi=Object.freeze(lF),uze={name:"TilesetPipelineStage"};uze.process=function(o,A,f){if(A.hasSkipLevelOfDetail(f)){o.shaderBuilder.addDefine("POLYGON_OFFSET",void 0,Gi.FRAGMENT);let C={u_polygonOffset:function(){return tt.ZERO}};o.uniformMap=yo(C,o.uniformMap),o.hasSkipLevelOfDetail=!0}let m=o.renderStateOptions;m.stencilTest=No.setCesium3DTileBit(),m.stencilMask=No.CESIUM_3D_TILE_MASK};var tCe=uze,iCe=`vec3 proceduralIBL( vec3 positionEC, vec3 normalEC, vec3 lightDirectionEC, vec3 lightColorHdr, czm_pbrParameters pbrParameters ) { vec3 v = -positionEC; vec3 positionWC = vec3(czm_inverseView * vec4(positionEC, 1.0)); vec3 vWC = -normalize(positionWC); vec3 l = normalize(lightDirectionEC); vec3 n = normalEC; vec3 r = normalize(czm_inverseViewRotation * normalize(reflect(v, n))); float NdotL = clamp(dot(n, l), 0.001, 1.0); float NdotV = abs(dot(n, v)) + 0.001; // Figure out if the reflection vector hits the ellipsoid float vertexRadius = length(positionWC); float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / vertexRadius); float reflectionDotNadir = dot(r, normalize(positionWC)); // Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z. r.x = -r.x; r = -normalize(czm_temeToPseudoFixed * r); r.x = -r.x; vec3 diffuseColor = pbrParameters.diffuseColor; float roughness = pbrParameters.roughness; vec3 specularColor = pbrParameters.f0; float inverseRoughness = 1.04 - roughness; inverseRoughness *= inverseRoughness; vec3 sceneSkyBox = czm_textureCube(czm_environmentMap, r).rgb * inverseRoughness; float atmosphereHeight = 0.05; float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - horizonDotNadir); float blendRegionOffset = roughness * -1.0; float farAboveHorizon = clamp(horizonDotNadir - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999); float aroundHorizon = clamp(horizonDotNadir + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999); float farBelowHorizon = clamp(horizonDotNadir + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999); float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir); vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), smoothstepHeight); vec3 nadirColor = belowHorizonColor * 0.5; vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5); vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, reflectionDotNadir * inverseRoughness * 0.5 + 0.75); vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, smoothstepHeight); vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9); float diffuseIrradianceFromEarth = (1.0 - horizonDotNadir) * (reflectionDotNadir * 0.25 + 0.75) * smoothstepHeight; float diffuseIrradianceFromSky = (1.0 - smoothstepHeight) * (1.0 - (reflectionDotNadir * 0.25 + 0.25)); vec3 diffuseIrradiance = blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0); float notDistantRough = (1.0 - horizonDotNadir * roughness * 0.8); vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, reflectionDotNadir) * notDistantRough); specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, reflectionDotNadir) * inverseRoughness); specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, reflectionDotNadir) * inverseRoughness); // Luminance model from page 40 of http://silviojemma.com/public/papers/lighting/spherical-harmonic-lighting.pdf #ifdef USE_SUN_LUMINANCE // Angle between sun and zenith float LdotZenith = clamp(dot(normalize(czm_inverseViewRotation * l), vWC), 0.001, 1.0); float S = acos(LdotZenith); // Angle between zenith and current pixel float NdotZenith = clamp(dot(normalize(czm_inverseViewRotation * n), vWC), 0.001, 1.0); // Angle between sun and current pixel float gamma = acos(NdotL); float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * pow(NdotL, 2.0)) * (1.0 - exp(-0.32 / NdotZenith))); float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * pow(LdotZenith,2.0)) * (1.0 - exp(-0.32)); float luminance = model_luminanceAtZenith * (numerator / denominator); #endif vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; vec3 iblColor = (diffuseIrradiance * diffuseColor * model_iblFactor.x) + (specularIrradiance * czm_srgbToLinear(specularColor * brdfLut.x + brdfLut.y) * model_iblFactor.y); float maximumComponent = max(max(lightColorHdr.x, lightColorHdr.y), lightColorHdr.z); vec3 lightColor = lightColorHdr / max(maximumComponent, 1.0); iblColor *= lightColor; #ifdef USE_SUN_LUMINANCE iblColor *= luminance; #endif return iblColor; } #if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) vec3 textureIBL( vec3 positionEC, vec3 normalEC, vec3 lightDirectionEC, czm_pbrParameters pbrParameters ) { vec3 diffuseColor = pbrParameters.diffuseColor; float roughness = pbrParameters.roughness; vec3 specularColor = pbrParameters.f0; vec3 v = -positionEC; vec3 n = normalEC; vec3 l = normalize(lightDirectionEC); vec3 h = normalize(v + l); float NdotV = abs(dot(n, v)) + 0.001; float VdotH = clamp(dot(v, h), 0.0, 1.0); const mat3 yUpToZUp = mat3( -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0 ); vec3 cubeDir = normalize(yUpToZUp * model_iblReferenceFrameMatrix * normalize(reflect(-v, n))); #ifdef DIFFUSE_IBL #ifdef CUSTOM_SPHERICAL_HARMONICS vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients); #else vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); #endif #else vec3 diffuseIrradiance = vec3(0.0); #endif #ifdef SPECULAR_IBL vec3 r0 = specularColor.rgb; float reflectance = max(max(r0.r, r0.g), r0.b); vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0)); vec3 F = fresnelSchlick2(r0, r90, VdotH); vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; #ifdef CUSTOM_SPECULAR_IBL vec3 specularIBL = czm_sampleOctahedralProjection(model_specularEnvironmentMaps, model_specularEnvironmentMapsSize, cubeDir, roughness * model_specularEnvironmentMapsMaximumLOD, model_specularEnvironmentMapsMaximumLOD); #else vec3 specularIBL = czm_sampleOctahedralProjection(czm_specularEnvironmentMaps, czm_specularEnvironmentMapSize, cubeDir, roughness * czm_specularEnvironmentMapsMaximumLOD, czm_specularEnvironmentMapsMaximumLOD); #endif specularIBL *= F * brdfLut.x + brdfLut.y; #else vec3 specularIBL = vec3(0.0); #endif return diffuseColor * diffuseIrradiance + specularColor * specularIBL; } #endif vec3 imageBasedLightingStage( vec3 positionEC, vec3 normalEC, vec3 lightDirectionEC, vec3 lightColorHdr, czm_pbrParameters pbrParameters ) { #if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) // Environment maps were provided, use them for IBL return textureIBL( positionEC, normalEC, lightDirectionEC, pbrParameters ); #else // Use the procedural IBL if there are no environment maps return proceduralIBL( positionEC, normalEC, lightDirectionEC, lightColorHdr, pbrParameters ); #endif }`,cze={name:"ImageBasedLightingPipelineStage"};cze.process=function(o,A,f){let m=A.imageBasedLighting,C=o.shaderBuilder;C.addDefine("USE_IBL_LIGHTING",void 0,Gi.FRAGMENT),C.addUniform("vec2","model_iblFactor",Gi.FRAGMENT),DF.isSupported(f.context)&&((m.useSphericalHarmonics||m.useSpecularEnvironmentMaps||m.enabled)&&C.addUniform("mat3","model_iblReferenceFrameMatrix",Gi.FRAGMENT),k(m.sphericalHarmonicCoefficients)?(C.addDefine("DIFFUSE_IBL",void 0,Gi.FRAGMENT),C.addDefine("CUSTOM_SPHERICAL_HARMONICS",void 0,Gi.FRAGMENT),C.addUniform("vec3","model_sphericalHarmonicCoefficients[9]",Gi.FRAGMENT)):m.useDefaultSphericalHarmonics&&C.addDefine("DIFFUSE_IBL",void 0,Gi.FRAGMENT),k(m.specularEnvironmentMapAtlas)&&m.specularEnvironmentMapAtlas.ready?(C.addDefine("SPECULAR_IBL",void 0,Gi.FRAGMENT),C.addDefine("CUSTOM_SPECULAR_IBL",void 0,Gi.FRAGMENT),C.addUniform("sampler2D","model_specularEnvironmentMaps",Gi.FRAGMENT),C.addUniform("vec2","model_specularEnvironmentMapsSize",Gi.FRAGMENT),C.addUniform("float","model_specularEnvironmentMapsMaximumLOD",Gi.FRAGMENT)):A.useDefaultSpecularMaps&&C.addDefine("SPECULAR_IBL",void 0,Gi.FRAGMENT)),k(m.luminanceAtZenith)&&(C.addDefine("USE_SUN_LUMINANCE",void 0,Gi.FRAGMENT),C.addUniform("float","model_luminanceAtZenith",Gi.FRAGMENT)),C.addFragmentLines(iCe);let E={model_iblFactor:function(){return m.imageBasedLightingFactor},model_iblReferenceFrameMatrix:function(){return A._iblReferenceFrameMatrix},model_luminanceAtZenith:function(){return m.luminanceAtZenith},model_sphericalHarmonicCoefficients:function(){return m.sphericalHarmonicCoefficients},model_specularEnvironmentMaps:function(){return m.specularEnvironmentMapAtlas.texture},model_specularEnvironmentMapsSize:function(){return m.specularEnvironmentMapAtlas.texture.dimensions},model_specularEnvironmentMapsMaximumLOD:function(){return m.specularEnvironmentMapAtlas.maximumMipmapLevel}};o.uniformMap=yo(E,o.uniformMap)};var rCe=cze,nVt=De.EPSILON16;function nCe(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.stage,f=o.runtimeArticulation;this._stage=A,this._runtimeArticulation=f,this._name=A.name,this._type=A.type,this._minimumValue=A.minimumValue,this._maximumValue=A.maximumValue,this._currentValue=A.initialValue}Object.defineProperties(nCe.prototype,{stage:{get:function(){return this._stage}},runtimeArticulation:{get:function(){return this._runtimeArticulation}},name:{get:function(){return this._name}},type:{get:function(){return this._type}},minimumValue:{get:function(){return this._minimumValue}},maximumValue:{get:function(){return this._maximumValue}},currentValue:{get:function(){return this._currentValue},set:function(o){o=De.clamp(o,this.minimumValue,this.maximumValue),De.equalsEpsilon(this._currentValue,o,nVt)||(this._currentValue=o,this.runtimeArticulation._dirty=!0)}}});var oVt=new Z,Qse=new Nt;nCe.prototype.applyStageToMatrix=function(o){let A=this.type,f=this.currentValue,m=oVt,C;switch(A){case ex.XROTATE:C=Nt.fromRotationX(De.toRadians(f),Qse),o=Re.multiplyByMatrix3(o,C,o);break;case ex.YROTATE:C=Nt.fromRotationY(De.toRadians(f),Qse),o=Re.multiplyByMatrix3(o,C,o);break;case ex.ZROTATE:C=Nt.fromRotationZ(De.toRadians(f),Qse),o=Re.multiplyByMatrix3(o,C,o);break;case ex.XTRANSLATE:m.x=f,m.y=0,m.z=0,o=Re.multiplyByTranslation(o,m,o);break;case ex.YTRANSLATE:m.x=0,m.y=f,m.z=0,o=Re.multiplyByTranslation(o,m,o);break;case ex.ZTRANSLATE:m.x=0,m.y=0,m.z=f,o=Re.multiplyByTranslation(o,m,o);break;case ex.XSCALE:m.x=f,m.y=1,m.z=1,o=Re.multiplyByScale(o,m,o);break;case ex.YSCALE:m.x=1,m.y=f,m.z=1,o=Re.multiplyByScale(o,m,o);break;case ex.ZSCALE:m.x=1,m.y=1,m.z=f,o=Re.multiplyByScale(o,m,o);break;case ex.UNIFORMSCALE:o=Re.multiplyByUniformScale(o,f,o);break;default:break}return o};var oCe=nCe;function Bee(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.articulation,f=o.sceneGraph;this._articulation=A,this._sceneGraph=f,this._name=A.name,this._runtimeStages=[],this._runtimeStagesByName={},this._runtimeNodes=[],this._dirty=!0,aVt(this)}Object.defineProperties(Bee.prototype,{articulation:{get:function(){return this._articulation}},sceneGraph:{get:function(){return this._sceneGraph}},name:{get:function(){return this._name}},runtimeStages:{get:function(){return this._runtimeStages}},runtimeNodes:{get:function(){return this._runtimeNodes}}});function aVt(o){let A=o.articulation.stages,f=A.length,m=o._runtimeStages,C=o._runtimeStagesByName;for(let E=0;E 0.0 && clipDistance < clippingPlanesEdgeWidth) { color = clippingPlanesEdgeColor; } } `,hze={name:"ModelClippingPlanesPipelineStage"},AVt=new tt;hze.process=function(o,A,f){let m=A.clippingPlanes,C=f.context,E=o.shaderBuilder;E.addDefine("HAS_CLIPPING_PLANES",void 0,Gi.FRAGMENT),E.addDefine("CLIPPING_PLANES_LENGTH",m.length,Gi.FRAGMENT),m.unionClippingRegions&&E.addDefine("UNION_CLIPPING_REGIONS",void 0,Gi.FRAGMENT),AI.useFloatTexture(C)&&E.addDefine("USE_CLIPPING_PLANES_FLOAT_TEXTURE",void 0,Gi.FRAGMENT);let I=AI.getTextureResolution(m,C,AVt);E.addDefine("CLIPPING_PLANES_TEXTURE_WIDTH",I.x,Gi.FRAGMENT),E.addDefine("CLIPPING_PLANES_TEXTURE_HEIGHT",I.y,Gi.FRAGMENT),E.addUniform("sampler2D","model_clippingPlanes",Gi.FRAGMENT),E.addUniform("vec4","model_clippingPlanesEdgeStyle",Gi.FRAGMENT),E.addUniform("mat4","model_clippingPlanesMatrix",Gi.FRAGMENT),E.addFragmentLines(lCe);let x={model_clippingPlanes:function(){return m.texture},model_clippingPlanesEdgeStyle:function(){let y=qe.clone(m.edgeColor);return y.alpha=m.edgeWidth,y},model_clippingPlanesMatrix:function(){return A._clippingPlanesMatrix}};o.uniformMap=yo(x,o.uniformMap)};var ACe=hze;function dze(o,A){this._model=o,this._runtimeNode=A}Object.defineProperties(dze.prototype,{name:{get:function(){return this._runtimeNode._name}},id:{get:function(){return this._runtimeNode._id}},show:{get:function(){return this._runtimeNode.show},set:function(o){this._runtimeNode.show=o}},matrix:{get:function(){return this._runtimeNode.transform},set:function(o){k(o)?(this._runtimeNode.transform=o,this._runtimeNode.userAnimated=!0,this._model._userAnimationDirty=!0):(this._runtimeNode.transform=this.originalMatrix,this._runtimeNode.userAnimated=!1)}},originalMatrix:{get:function(){return this._runtimeNode.originalTransform}}});var uCe=dze,cCe=`mat4 getInstancingTransform() { mat4 instancingTransform; #ifdef HAS_INSTANCE_MATRICES instancingTransform = mat4( a_instancingTransformRow0.x, a_instancingTransformRow1.x, a_instancingTransformRow2.x, 0.0, // Column 1 a_instancingTransformRow0.y, a_instancingTransformRow1.y, a_instancingTransformRow2.y, 0.0, // Column 2 a_instancingTransformRow0.z, a_instancingTransformRow1.z, a_instancingTransformRow2.z, 0.0, // Column 3 a_instancingTransformRow0.w, a_instancingTransformRow1.w, a_instancingTransformRow2.w, 1.0 // Column 4 ); #else vec3 translation = vec3(0.0, 0.0, 0.0); vec3 scale = vec3(1.0, 1.0, 1.0); #ifdef HAS_INSTANCE_TRANSLATION translation = a_instanceTranslation; #endif #ifdef HAS_INSTANCE_SCALE scale = a_instanceScale; #endif instancingTransform = mat4( scale.x, 0.0, 0.0, 0.0, 0.0, scale.y, 0.0, 0.0, 0.0, 0.0, scale.z, 0.0, translation.x, translation.y, translation.z, 1.0 ); #endif return instancingTransform; } #ifdef USE_2D_INSTANCING mat4 getInstancingTransform2D() { mat4 instancingTransform2D; #ifdef HAS_INSTANCE_MATRICES instancingTransform2D = mat4( a_instancingTransform2DRow0.x, a_instancingTransform2DRow1.x, a_instancingTransform2DRow2.x, 0.0, // Column 1 a_instancingTransform2DRow0.y, a_instancingTransform2DRow1.y, a_instancingTransform2DRow2.y, 0.0, // Column 2 a_instancingTransform2DRow0.z, a_instancingTransform2DRow1.z, a_instancingTransform2DRow2.z, 0.0, // Column 3 a_instancingTransform2DRow0.w, a_instancingTransform2DRow1.w, a_instancingTransform2DRow2.w, 1.0 // Column 4 ); #else vec3 translation2D = vec3(0.0, 0.0, 0.0); vec3 scale = vec3(1.0, 1.0, 1.0); #ifdef HAS_INSTANCE_TRANSLATION translation2D = a_instanceTranslation2D; #endif #ifdef HAS_INSTANCE_SCALE scale = a_instanceScale; #endif instancingTransform2D = mat4( scale.x, 0.0, 0.0, 0.0, 0.0, scale.y, 0.0, 0.0, 0.0, 0.0, scale.z, 0.0, translation2D.x, translation2D.y, translation2D.z, 1.0 ); #endif return instancingTransform2D; } #endif `,hCe=`void instancingStage(inout ProcessedAttributes attributes) { vec3 positionMC = attributes.positionMC; mat4 instancingTransform = getInstancingTransform(); attributes.positionMC = (instancingTransform * vec4(positionMC, 1.0)).xyz; #ifdef HAS_NORMALS vec3 normalMC = attributes.normalMC; attributes.normalMC = (instancingTransform * vec4(normalMC, 0.0)).xyz; #endif #ifdef USE_2D_INSTANCING mat4 instancingTransform2D = getInstancingTransform2D(); attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; #endif } `,dCe=`void legacyInstancingStage( inout ProcessedAttributes attributes, out mat4 instanceModelView, out mat3 instanceModelViewInverseTranspose) { vec3 positionMC = attributes.positionMC; mat4 instancingTransform = getInstancingTransform(); mat4 instanceModel = instancingTransform * u_instance_nodeTransform; instanceModelView = u_instance_modifiedModelView; instanceModelViewInverseTranspose = mat3(u_instance_modifiedModelView * instanceModel); attributes.positionMC = (instanceModel * vec4(positionMC, 1.0)).xyz; #ifdef USE_2D_INSTANCING mat4 instancingTransform2D = getInstancingTransform2D(); attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; #endif } `,aW=new Re,uVt=new Re,cVt=new Re,gze={name:"InstancingPipelineStage",_getInstanceTransformsAsMatrices:Eze,_transformsToTypedArray:Lue};gze.process=function(o,A,f){let m=A.instances,C=m.attributes[0].count,E=o.shaderBuilder;E.addDefine("HAS_INSTANCING"),E.addVertexLines(cCe);let I=o.model,x=I.sceneGraph,y=o.runtimeNode,v=f.mode!==ii.SCENE3D&&!f.scene3DOnly&&I._projectTo2D,w=[];wVt(o,f,m,w,v),SVt(o,f,m,w);let Q={};if(m.transformInWorldSpace?(E.addDefine("USE_LEGACY_INSTANCING",void 0,Gi.VERTEX),E.addUniform("mat4","u_instance_modifiedModelView",Gi.VERTEX),E.addUniform("mat4","u_instance_nodeTransform",Gi.VERTEX),Q.u_instance_modifiedModelView=function(){let M=Re.multiplyTransformation(I.modelMatrix,x.components.transform,aW);return v?Re.multiplyTransformation(f.context.uniformState.view3D,M,aW):(f.mode!==ii.SCENE3D&&(M=Vr.basisTo2D(f.mapProjection,M,aW)),Re.multiplyTransformation(f.context.uniformState.view,M,aW))},Q.u_instance_nodeTransform=function(){return Re.multiplyTransformation(x.axisCorrectionMatrix,y.computedTransform,uVt)},E.addVertexLines(dCe)):E.addVertexLines(hCe),v){E.addDefine("USE_2D_INSTANCING",void 0,Gi.VERTEX),E.addUniform("mat4","u_modelView2D",Gi.VERTEX);let M=f.context,B=Re.fromTranslation(y.instancingReferencePoint2D,new Re);Q.u_modelView2D=function(){return Re.multiplyTransformation(M.uniformState.view,B,cVt)}}o.uniformMap=yo(Q,o.uniformMap),o.instanceCount=C,o.attributes.push.apply(o.attributes,w)};var OH=new Re,hVt=new Z;function dVt(o,A,f,m,C){let E=Re.multiplyTransformation(A,o,OH);return E=Re.multiplyTransformation(E,f,OH),C=Vr.basisTo2D(m.mapProjection,E,C),C}function gVt(o,A,f,m,C){let E=Re.fromTranslation(o,OH),I=Re.multiplyTransformation(A,E,OH);I=Re.multiplyTransformation(I,f,OH);let x=Re.getTranslation(I,hVt);return C=ms.computeActualWgs84Position(m,x,C),C}function fze(o,A,f){let m=o.model,C=m.sceneGraph;o.runtimeNode.node.instances.transformInWorldSpace?(A=Re.multiplyTransformation(m.modelMatrix,C.components.transform,A),f=Re.multiplyTransformation(C.axisCorrectionMatrix,o.runtimeNode.computedTransform,f)):(A=Re.clone(C.computedModelMatrix,A),A=Re.multiplyTransformation(A,o.runtimeNode.computedTransform,A),f=Re.clone(Re.IDENTITY,f))}var pze=new Re,mze=new Re,fVt=new Re,pVt=new Z;function mVt(o,A,f,m){let C=pze,E=mze;fze(A,C,E);let I=A.runtimeNode.instancingReferencePoint2D,x=o.length;for(let y=0;y=o.featureIdVertexAttributeSetIndex&&(o.featureIdVertexAttributeSetIndex=x.setIndex+1),m.push({index:o.attributeIndex++,vertexBuffer:x.buffer,componentsPerAttribute:Ka.getNumberOfComponents(x.type),componentDatatype:x.componentDatatype,normalize:!1,offsetInBytes:x.byteOffset,strideInBytes:x.byteStride,instanceDivisor:1}),E.addAttribute("float",`a_instanceFeatureId_${x.setIndex}`))}}var gCe=gze,fCe={};fCe.name="ModelMatrixUpdateStage";fCe.update=function(o,A,f){let m=f.mode!==ii.SCENE3D;if(!(m&&A._model._projectTo2D)&&o._transformDirty){let C=m?A._computedModelMatrix2D:A._computedModelMatrix;Ize(o,A,C,o.transformToRoot),o._transformDirty=!1}};function Ize(o,A,f,m){let C;m=Re.multiplyTransformation(m,o.transform,new Re),o.updateComputedTransform();let E=o.runtimePrimitives.length;for(C=0;C1&&(m.addDefine("MULTILINE_BATCH_TEXTURE"),m.addUniform("vec2","model_textureDimensions"),C.model_textureDimensions=function(){return y.textureDimensions}),o.uniformMap=yo(C,o.uniformMap)};var ICe=Bze,wze={name:"ClassificationPipelineStage"};wze.process=function(o,A,f){o.shaderBuilder.addDefine("HAS_CLASSIFICATION",void 0,Gi.BOTH);let m=o.runtimePrimitive;k(m.batchLengths)||MVt(A,m)};function MVt(o,A){let f=Ts.getAttributeBySemantic(o,uo.POSITION);if(!k(f))throw new Ti("Primitives must have a position attribute to be used for classification.");let m,C=o.indices,E=k(C);E&&(m=C.typedArray,C.typedArray=void 0);let I=E?C.count:f.count,x=Ts.getAttributeBySemantic(o,uo.FEATURE_ID,0);if(!k(x)){A.batchLengths=[I],A.batchOffsets=[0];return}let y=x.typedArray;x.typedArray=void 0;let v=[],w=[0],Q=E?m[0]:0,M=y[Q],B=0;for(let S=1;SGVt(m,A,f)):[]}function GVt(o,A,f){let{getAttributeByName:m,getAttributeInfo:C,sanitizeGlslIdentifier:E}=Ts,I=o.class.id,x=f?.classes[I],y=Object.entries(o.properties),v=new Array(y.length);for(let w=0;wVVt(f,A)):[]}function VVt(o,A){let{sanitizeGlslIdentifier:f}=Ts,m=o.class.id,C=A?.classes[m],E=Object.entries(o.properties).filter(([x,y])=>y.isGpuCompatible()),I=new Array(E.length);for(let x=0;xw),f.addStructField(zl.STRUCT_ID_METADATA_FS,E,C);let M=`attributes.texCoord_${x}`,B=`texture(${Q}, ${M}).${y}`,D=I.unpackInShader(B),S=Pze({valueExpression:D,renderResources:o,glslType:E,metadataVariable:C,shaderDestination:Gi.FRAGMENT,property:I}),P=`metadata.${C} = ${S};`;f.addFunctionLines(zl.FUNCTION_ID_INITIALIZE_METADATA_FS,[P])}function Dze(o,A){let{classProperty:f}=A.property,{metadataVariable:m,glslType:C,shaderDestination:E}=A,I=Tze(zl.METADATA_CLASS_FIELDS,f,`metadataClass.${m}`,C),x=`${C}MetadataClass`;o.addStructField(zl.STRUCT_ID_METADATA_CLASS_FS,x,m),o.addFunctionLines(zl.FUNCTION_ID_INITIALIZE_METADATA_FS,I),Gi.includesVertexShader(E)&&(o.addStructField(zl.STRUCT_ID_METADATA_CLASS_VS,x,m),o.addFunctionLines(zl.FUNCTION_ID_INITIALIZE_METADATA_VS,I))}function Mze(o,A){let{propertyStatistics:f}=A;if(!k(f))return;let{metadataVariable:m,type:C,glslType:E}=A;if(C===Po.ENUM)return;let I=zl.METADATA_STATISTICS_FIELDS,x=`metadataStatistics.${m}`,y=Tze(I,f,x,E),v=`${E}MetadataStatistics`;o.addStructField(zl.STRUCT_ID_METADATA_STATISTICS_FS,v,m),o.addFunctionLines(zl.FUNCTION_ID_INITIALIZE_METADATA_FS,y),Gi.includesVertexShader(A.shaderDestination)&&(o.addStructField(zl.STRUCT_ID_METADATA_STATISTICS_VS,v,m),o.addFunctionLines(zl.FUNCTION_ID_INITIALIZE_METADATA_VS,y))}function Tze(o,A,f,m){function C(E){let I=A[E.specName];if(k(I))return`${f}.${E.shaderName} = ${m}(${I});`}return k(A)?o.map(C).filter(k):[]}function Pze(o){let{valueExpression:A,property:f}=o;if(!f.hasValueTransform)return A;let m=o.metadataVariable,C=`u_${m}_offset`,E=`u_${m}_scale`,{shaderBuilder:I,uniformMap:x}=o.renderResources,{glslType:y,shaderDestination:v}=o;I.addUniform(y,C,v),I.addUniform(y,E,v);let{offset:w,scale:Q}=f;return x[C]=()=>w,x[E]=()=>Q,`czm_valueTransform(${C}, ${E}, ${A})`}var fS=zl,s0={name:"CustomShaderPipelineStage",STRUCT_ID_ATTRIBUTES_VS:"AttributesVS",STRUCT_ID_ATTRIBUTES_FS:"AttributesFS",STRUCT_NAME_ATTRIBUTES:"Attributes",STRUCT_ID_VERTEX_INPUT:"VertexInput",STRUCT_NAME_VERTEX_INPUT:"VertexInput",STRUCT_ID_FRAGMENT_INPUT:"FragmentInput",STRUCT_NAME_FRAGMENT_INPUT:"FragmentInput",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS:"initializeInputStructVS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS:"void initializeInputStruct(out VertexInput vsInput, ProcessedAttributes attributes)",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS:"initializeInputStructFS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS:"void initializeInputStruct(out FragmentInput fsInput, ProcessedAttributes attributes)",_oneTimeWarning:Ro};s0.process=function(o,A,f){let m=o.shaderBuilder,C=o.model.customShader;k(C.lightingModel)&&(o.lightingOptions.lightingModel=C.lightingModel);let E=o.alphaOptions;C.translucencyMode===I2.TRANSLUCENT?E.pass=zi.TRANSLUCENT:C.translucencyMode===I2.OPAQUE&&(E.pass=void 0);let I=o9t(C,A);if(!I.customShaderEnabled)return;if(A9t(m,C,I),k(C.andStyle)&&m.addDefine("HAS_CUSTOM_FRAGMENT_SHADER_AND_STYLE",void 0,Gi.BOTH),I.shouldComputePositionWC&&m.addDefine("COMPUTE_POSITION_WC_CUSTOM_SHADER",void 0,Gi.BOTH),k(C.vertexShaderText)&&m.addDefine("HAS_CUSTOM_VERTEX_SHADER",void 0,Gi.VERTEX),k(C.fragmentShaderText)){m.addDefine("HAS_CUSTOM_FRAGMENT_SHADER",void 0,Gi.FRAGMENT);let v=j9.getDefineName(C.mode);m.addDefine(v,void 0,Gi.FRAGMENT)}let x=C.uniforms;for(let v in x)if(x.hasOwnProperty(v)){let w=x[v];m.addUniform(w.type,v)}let y=C.varyings;for(let v in y)if(y.hasOwnProperty(v)){let w=y[v];m.addVarying(w,v)}o.uniformMap=yo(o.uniformMap,C.uniformMap)};function ZVt(o){let A={};for(let f=0;f1?(B=o.attributeIndex,o.attributeIndex+=Q):M&&!x?B=0:B=o.attributeIndex++,p9t(o,w,B,Q,E,I)}B9t(m,A.attributes),A.primitiveType===$r.POINTS&&m.addDefine("PRIMITIVE_TYPE_POINTS"),m.addVertexLines(RCe),m.addFragmentLines(PCe)};function p9t(o,A,f,m,C,E){let I=o.shaderBuilder,x=Ts.getAttributeInfo(A),y=C&&!E;m>1?E9t(o,A,f,m):C9t(o,A,f,y),x9t(I,x,y),I9t(I,x),k(A.semantic)&&m9t(I,A),y9t(I,x,C),v9t(I,x,y),_9t(I,x)}function m9t(o,A){let f=A.semantic,m=A.setIndex;switch(f){case uo.NORMAL:o.addDefine("HAS_NORMALS");break;case uo.TANGENT:o.addDefine("HAS_TANGENTS");break;case uo.FEATURE_ID:o.addDefine(`HAS${f}_${m}`);break;case uo.TEXCOORD:case uo.COLOR:o.addDefine(`HAS_${f}_${m}`)}}function C9t(o,A,f,m){let C=A.quantization,E,I;k(C)?(E=C.type,I=C.componentDatatype):(E=A.type,I=A.componentDatatype);let x=A.semantic,y=A.setIndex;x===uo.FEATURE_ID&&y>=o.featureIdVertexAttributeSetIndex&&(o.featureIdVertexAttributeSetIndex=y+1);let v=x===uo.POSITION,w=v?0:f,Q=Ka.getNumberOfComponents(E),M={index:w,value:k(A.buffer)?void 0:A.constant,vertexBuffer:A.buffer,count:A.count,componentsPerAttribute:Q,componentDatatype:I,offsetInBytes:A.byteOffset,strideInBytes:A.byteStride,normalize:A.normalized};if(o.attributes.push(M),!v||!m)return;let B=o.runtimePrimitive.positionBuffer2D,D={index:f,vertexBuffer:B,count:A.count,componentsPerAttribute:Q,componentDatatype:Mt.FLOAT,offsetInBytes:0,strideInBytes:void 0,normalize:A.normalized};o.attributes.push(D)}function E9t(o,A,f,m){let C=A.quantization,E,I;k(C)?(E=C.type,I=C.componentDatatype):(E=A.type,I=A.componentDatatype);let x=A.normalized,y=Ka.getNumberOfComponents(E)/m,v=Mt.getSizeInBytes(I),w=y*v,Q=A.byteStride;for(let M=0;M0,v=!k(x)&&y;if(k(E)&&!v){let S=z9t(x),P=Y9t(E,S);J9t(m,P);let R=K9t(P).indexOf("normalMC")>=0,T=Ts.getAttributeBySemantic(A,uo.NORMAL);if(R&&!T)throw new Ti("Style references the NORMAL semantic but the point cloud does not have normals");m.addDefine("COMPUTE_POSITION_WC_STYLE",void 0,Gi.VERTEX),P.styleTranslucent&&(o.alphaOptions.pass=zi.TRANSLUCENT)}let w=C.pointCloudShading;w.attenuation&&m.addDefine("HAS_POINT_CLOUD_ATTENUATION",void 0,Gi.VERTEX),w.backFaceCulling&&m.addDefine("HAS_POINT_CLOUD_BACK_FACE_CULLING",void 0,Gi.VERTEX);let Q,M,B;zd.is3DTiles(C.type)&&(M=!0,Q=C.content,B=Q.tile.refine===If.ADD),m.addUniform("vec4","model_pointCloudParameters",Gi.VERTEX),m.addVertexLines(VCe);let D=o.uniformMap;D.model_pointCloudParameters=function(){let S=O9t,P=1;M&&(P=B?5:Q.tileset.maximumScreenSpaceError),S.x=ae(w.maximumAttenuation,P),S.x*=f.pixelRatio;let R=G9t(o,A,w,Q);S.y=R*w.geometricErrorScale;let T=f.context,L=f.camera.frustum,F;return f.mode===ii.SCENE2D||L instanceof $a?F=Number.POSITIVE_INFINITY:F=T.drawingBufferHeight/f.camera.frustum.sseDenominator,S.z=F,M&&(S.w=Q.tileset.timeSinceLoad),S}};var pRe=new Z;function G9t(o,A,f,m){if(k(m)){let v=m.tile.geometricError;if(v>0)return v}if(k(f.baseResolution))return f.baseResolution;let C=Ts.getAttributeBySemantic(A,uo.POSITION),E=C.count,I=o.runtimeNode.transform,x=Z.subtract(C.max,C.min,pRe);x=Re.multiplyByPointAsVector(I,x,pRe);let y=x.x*x.y*x.z;return De.cbrt(y/E)}var H9t={colorStyleFunction:void 0,showStyleFunction:void 0,pointSizeStyleFunction:void 0,styleTranslucent:!1},V9t={POSITION:"attributes.positionMC",POSITION_ABSOLUTE:"v_positionWC",COLOR:"attributes.color_0",NORMAL:"attributes.normalMC"};function z9t(o){let A=En(V9t);if(!k(o))return A;for(let f=0;f0,w=k(m.skin),Q=k(E),M=!(Q&&k(E.fragmentShaderText))||E.mode!==j9.REPLACE_MATERIAL,B=Ts.hasQuantizedAttributes(f.attributes),D=C.debugWireframe&&$r.isTriangles(f.primitiveType)&&(C._enableDebugWireframe||x),S=C.pointCloudShading,P=k(S)&&S.attenuation,R=k(S)&&S.backFaceCulling,T=f.primitiveType===$r.POINTS&&(k(I)||P||R),L=C._enableShowOutline&&k(f.outlineCoordinates),F=gzt(C,m,f),U=k(C.classificationType);y&&A.push(qCe),A.push(LCe),D&&A.push($Ce),U&&A.push(xCe),v&&A.push(GCe),w&&A.push(XCe),T&&A.push(zCe),B&&A.push(TCe),M&&A.push(UCe),A.push(Jz),A.push(fS),F.hasPropertyTable&&(A.push(KV),A.push(ICe),A.push(_Ce)),Q&&A.push(MCe),A.push(NCe),C.allowPicking&&A.push(HCe),L&&A.push(KCe),A.push(ECe),A.push(WCe)};function gzt(o,A,f){let m;return k(A.instances)&&(m=Ts.getFeatureIdsByLabel(A.instances.featureIds,o.instanceFeatureIdLabel),k(m))?{hasFeatureIds:!0,hasPropertyTable:k(m.propertyTableId)}:(m=Ts.getFeatureIdsByLabel(f.featureIds,o.featureIdLabel),k(m)?{hasFeatureIds:!0,hasPropertyTable:k(m.propertyTableId)}:{hasFeatureIds:!1,hasPropertyTable:!1})}var eEe=$ze;function tEe(o){o=ae(o,ae.EMPTY_OBJECT),this._sceneGraph=o.sceneGraph;let A=o.skin;this._skin=A,this._inverseBindMatrices=void 0,this._joints=[],this._jointMatrices=[],fzt(this)}Object.defineProperties(tEe.prototype,{skin:{get:function(){return this._skin}},sceneGraph:{get:function(){return this._sceneGraph}},inverseBindMatrices:{get:function(){return this._inverseBindMatrices}},joints:{get:function(){return this._joints}},jointMatrices:{get:function(){return this._jointMatrices}}});function fzt(o){let A=o.skin,f=A.inverseBindMatrices;o._inverseBindMatrices=f;let m=A.joints,C=m.length,E=o.sceneGraph._runtimeNodes,I=o.joints,x=o._jointMatrices;for(let y=0;y czm_splitPosition) discard; if (model_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; #endif } `,qq={name:"ModelSplitterPipelineStage",SPLIT_DIRECTION_UNIFORM_NAME:"model_splitDirection"};qq.process=function(o,A,f){let m=o.shaderBuilder;m.addDefine("HAS_MODEL_SPLITTER",void 0,Gi.FRAGMENT),m.addFragmentLines(hEe);let C={};m.addUniform("float",qq.SPLIT_DIRECTION_UNIFORM_NAME,Gi.FRAGMENT),C[qq.SPLIT_DIRECTION_UNIFORM_NAME]=function(){return A.splitDirection},o.uniformMap=yo(C,o.uniformMap)};var dEe=qq;function xzt(o,A){this.model=o.model,this.shaderBuilder=o.shaderBuilder.clone(),this.uniformMap=En(o.uniformMap),this.alphaOptions=En(o.alphaOptions),this.renderStateOptions=En(o.renderStateOptions,!0),this.hasSilhouette=o.hasSilhouette,this.hasSkipLevelOfDetail=o.hasSkipLevelOfDetail,this.runtimeNode=A,this.attributes=[],this.attributeIndex=1,this.featureIdVertexAttributeSetIndex=0,this.instanceCount=0}var gEe=xzt;function yzt(o){o=ae(o,ae.EMPTY_OBJECT),this.lightingModel=ae(o.lightingModel,oI.UNLIT)}var fEe=yzt;function vzt(o,A){this.model=o.model,this.runtimeNode=o.runtimeNode,this.attributes=o.attributes.slice(),this.attributeIndex=o.attributeIndex,this.featureIdVertexAttributeSetIndex=o.featureIdVertexAttributeSetIndex,this.uniformMap=En(o.uniformMap),this.alphaOptions=En(o.alphaOptions),this.renderStateOptions=En(o.renderStateOptions,!0),this.hasSilhouette=o.hasSilhouette,this.hasSkipLevelOfDetail=o.hasSkipLevelOfDetail,this.shaderBuilder=o.shaderBuilder.clone(),this.instanceCount=o.instanceCount,this.runtimePrimitive=A;let f=A.primitive;this.count=k(f.indices)?f.indices.count:Ts.getAttributeBySemantic(f,"POSITION").count,this.hasPropertyTable=!1,this.indices=f.indices,this.wireframeIndexBuffer=void 0,this.primitiveType=f.primitiveType;let m=Ts.getPositionMinMax(f,this.runtimeNode.instancingTranslationMin,this.runtimeNode.instancingTranslationMax);this.positionMin=Z.clone(m.min,new Z),this.positionMax=Z.clone(m.max,new Z),this.boundingSphere=si.fromCornerPoints(this.positionMin,this.positionMax,new si),this.lightingOptions=new fEe,this.pickId=void 0}var pEe=vzt;function Hx(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.modelComponents;this._model=o.model,this._components=A,this._pipelineStages=[],this._updateStages=[],this._runtimeNodes=[],this._rootNodes=[],this._skinnedNodes=[],this._runtimeSkins=[],this.modelPipelineStages=[],this._boundingSphere=void 0,this._boundingSphere2D=void 0,this._computedModelMatrix=Re.clone(Re.IDENTITY),this._computedModelMatrix2D=Re.clone(Re.IDENTITY),this._axisCorrectionMatrix=Ts.getAxisCorrectionMatrix(A.upAxis,A.forwardAxis,new Re),this._runtimeArticulations={},_zt(this)}Object.defineProperties(Hx.prototype,{components:{get:function(){return this._components}},computedModelMatrix:{get:function(){return this._computedModelMatrix}},axisCorrectionMatrix:{get:function(){return this._axisCorrectionMatrix}},boundingSphere:{get:function(){return this._boundingSphere}}});function _zt(o){let A=o._components,f=A.scene,m=o._model.modelMatrix;tYe(o,m);let C=A.articulations,E=C.length,I=o._runtimeArticulations;for(let P=0;P0&&(Q=Ap(f,A,x),A+=x,y>0&&(M=new Uint8Array(o,A,y),A+=y));let B=new l4(v,w),D=B.getGlobalProperty("POINTS_LENGTH");if(B.featuresLength=D,!k(D))throw new Ti("Feature table global property: POINTS_LENGTH must be defined");let S=B.getGlobalProperty("RTC_CENTER",Mt.FLOAT,3);k(S)&&(S=Z.unpack(S));let P=Ozt(B,Q);if(P.rtcCenter=S,P.pointsLength=D,!P.hasPositions){let R=Gzt(B);P.positions=R,P.hasPositions=P.hasPositions||k(R)}if(!P.hasPositions)throw new Ti("Either POSITION or POSITION_QUANTIZED must be defined.");if(!P.hasNormals){let R=Vzt(B);P.normals=R,P.hasNormals=P.hasNormals||k(R)}if(!P.hasColors){let R=Hzt(B);P.colors=R,P.hasColors=P.hasColors||k(R),P.hasConstantColor=k(P.constantColor),P.isTranslucent=k(R)&&R.isTranslucent}if(!P.hasBatchIds){let R=zzt(B);P.batchIds=R,P.hasBatchIds=P.hasBatchIds||k(R)}if(P.hasBatchIds){let R=B.getGlobalProperty("BATCH_LENGTH");if(!k(R))throw new Ti("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");P.batchLength=R}return k(M)&&(M=new Uint8Array(M),P.batchTableJson=Q,P.batchTableBinary=M),P};function Ozt(o,A){let f=o.json,m,C,E,I=k(f.extensions)?f.extensions["3DTILES_draco_point_compression"]:void 0,x=k(A)&&k(A.extensions)?A.extensions["3DTILES_draco_point_compression"]:void 0;k(x)&&(E=x.properties);let y,v,w,Q,M;if(k(I)){C=I.properties;let D=I.byteOffset,S=I.byteLength;if(!k(C)||!k(D)||!k(S))throw new Ti("Draco properties, byteOffset, and byteLength must be defined");m=o.buffer.slice(D,D+S),y=k(C.POSITION),v=k(C.RGB)||k(C.RGBA),w=k(C.NORMAL),Q=k(C.BATCH_ID),M=k(C.RGBA)}let B;return k(m)&&(B={buffer:m,featureTableProperties:C,batchTableProperties:E,properties:yo(C,E),dequantizeInShader:!0}),{draco:B,hasPositions:y,hasColors:v,isTranslucent:M,hasNormals:w,hasBatchIds:Q}}function Gzt(o){let A=o.json,f;if(k(A.POSITION))return f=o.getPropertyArray("POSITION",Mt.FLOAT,3),{name:uo.POSITION,semantic:uo.POSITION,typedArray:f,isQuantized:!1,componentDatatype:Mt.FLOAT,type:Ka.VEC3};if(k(A.POSITION_QUANTIZED)){f=o.getPropertyArray("POSITION_QUANTIZED",Mt.UNSIGNED_SHORT,3);let m=o.getGlobalProperty("QUANTIZED_VOLUME_SCALE",Mt.FLOAT,3);if(!k(m))throw new Ti("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let C=65536-1,E=o.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",Mt.FLOAT,3);if(!k(E))throw new Ti("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");return{name:uo.POSITION,semantic:uo.POSITION,typedArray:f,isQuantized:!0,componentDatatype:Mt.FLOAT,type:Ka.VEC3,quantizedRange:C,quantizedVolumeOffset:Z.unpack(E),quantizedVolumeScale:Z.unpack(m),quantizedComponentDatatype:Mt.UNSIGNED_SHORT,quantizedType:Ka.VEC3}}}function Hzt(o){let A=o.json,f;if(k(A.RGBA))return f=o.getPropertyArray("RGBA",Mt.UNSIGNED_BYTE,4),{name:uo.COLOR,semantic:uo.COLOR,setIndex:0,typedArray:f,componentDatatype:Mt.UNSIGNED_BYTE,type:Ka.VEC4,normalized:!0,isRGB565:!1,isTranslucent:!0};if(k(A.RGB))return f=o.getPropertyArray("RGB",Mt.UNSIGNED_BYTE,3),{name:"COLOR",semantic:uo.COLOR,setIndex:0,typedArray:f,componentDatatype:Mt.UNSIGNED_BYTE,type:Ka.VEC3,normalized:!0,isRGB565:!1,isTranslucent:!1};if(k(A.RGB565))return f=o.getPropertyArray("RGB565",Mt.UNSIGNED_SHORT,1),{name:"COLOR",semantic:uo.COLOR,setIndex:0,typedArray:f,componentDatatype:Mt.FLOAT,type:Ka.VEC3,normalized:!1,isRGB565:!0,isTranslucent:!1};if(k(A.CONSTANT_RGBA)){let m=o.getGlobalProperty("CONSTANT_RGBA",Mt.UNSIGNED_BYTE,4),C=m[3],E=qe.fromBytes(m[0],m[1],m[2],C),I=C<255;return{name:uo.COLOR,semantic:uo.COLOR,setIndex:0,constantColor:E,componentDatatype:Mt.FLOAT,type:Ka.VEC4,isQuantized:!1,isTranslucent:I}}}function Vzt(o){let A=o.json,f;if(k(A.NORMAL))return f=o.getPropertyArray("NORMAL",Mt.FLOAT,3),{name:uo.NORMAL,semantic:uo.NORMAL,typedArray:f,octEncoded:!1,octEncodedZXY:!1,componentDatatype:Mt.FLOAT,type:Ka.VEC3};if(k(A.NORMAL_OCT16P)){f=o.getPropertyArray("NORMAL_OCT16P",Mt.UNSIGNED_BYTE,2);let m=8;return{name:uo.NORMAL,semantic:uo.NORMAL,typedArray:f,octEncoded:!0,octEncodedZXY:!1,quantizedRange:(1<0&&hYt(o,x,Q,A),k(f.rtcCenter)&&(w.transform=Re.multiplyByTranslation(w.transform,f.rtcCenter,w.transform));let M=f.positions;k(M)&&M.isQuantized&&(w.transform=Re.multiplyByTranslation(w.transform,M.quantizedVolumeOffset,w.transform)),o._components=w,o._parsedContent=void 0,o._arrayBuffer=void 0}function hYt(o,A,f,m){let C=A.attributes,E=f.length;for(let I=0;I{this._completeLoad=()=>(y(this),!1),this._rejectLoad=w=>(v(w),!1)}),this._loader instanceof Dee?this._texturesLoadedPromise=Promise.resolve(this):this._texturesLoadedPromise=new Promise((y,v)=>{this._completeTexturesLoad=()=>(y(this),!1),this._rejectTexturesLoad=w=>(v(w),!1)}),this._loader.load().catch(y=>{this.isDestroyed()||!k(this._loader)||this._loader.isDestroyed()||(this._rejectLoad=this._rejectLoad(Ts.getError("model",this._resource,y)))})),this._errorEvent=new ir,this._readyEvent=new ir,this._texturesReadyEvent=new ir,this._sceneGraph=void 0,this._nodesByName={},this.pickObject=o.pickObject,this.underGroundMode={enabled:!1}}function lW(o,A){if(o._errorEvent.numberOfListeners>0){o._errorEvent.raiseEvent(A);return}console.log(A)}function dYt(o,A){let f=o._featureTables,m=A.propertyTables,C=m.length;for(let E=0;E0&&A===0||o===0&&A>0;this._silhouetteDirty=this._silhouetteDirty||f,this._backFaceCullingDirty=this._backFaceCullingDirty||f}this._silhouetteSize=o}},boundingSphere:{get:function(){let o=k(this._clampedModelMatrix)?this._clampedModelMatrix:this.modelMatrix;return sYe(this,o),this._boundingSphere}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(o){this._debugShowBoundingVolume!==o&&(this._debugShowBoundingVolumeDirty=!0),this._debugShowBoundingVolume=o}},debugWireframe:{get:function(){return this._debugWireframe},set:function(o){this._debugWireframe!==o&&this.resetDrawCommands(),this._debugWireframe=o,this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===zd.GLTF&&Ro("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltfAsync, otherwise debugWireframe will be ignored.")}},show:{get:function(){return this._show},set:function(o){this._show=o}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(o){typeof o=="number"&&(o=`featureId_${o}`),o!==this._featureIdLabel&&(this._featureTableIdDirty=!0),this._featureIdLabel=o}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(o){typeof o=="number"&&(o=`instanceFeatureId_${o}`),o!==this._instanceFeatureIdLabel&&(this._featureTableIdDirty=!0),this._instanceFeatureIdLabel=o}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(o){o!==this._clippingPlanes&&(AI.setOwner(o,this,"_clippingPlanes"),this.resetDrawCommands())}},lightColor:{get:function(){return this._lightColor},set:function(o){k(o)!==k(this._lightColor)&&this.resetDrawCommands(),this._lightColor=Z.clone(o,this._lightColor)}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(o){o!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=o,this._shouldDestroyImageBasedLighting=!1,this.resetDrawCommands())}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(o){o!==this._backFaceCulling&&(this._backFaceCullingDirty=!0),this._backFaceCulling=o}},scale:{get:function(){return this._scale},set:function(o){o!==this._scale&&(this._updateModelMatrix=!0),this._scale=o}},computedScale:{get:function(){return this._computedScale}},minimumPixelSize:{get:function(){return this._minimumPixelSize},set:function(o){o!==this._minimumPixelSize&&(this._updateModelMatrix=!0),this._minimumPixelSize=o}},maximumScale:{get:function(){return this._maximumScale},set:function(o){o!==this._maximumScale&&(this._updateModelMatrix=!0),this._maximumScale=o}},shadows:{get:function(){return this._shadows},set:function(o){o!==this._shadows&&(this._shadowsDirty=!0),this._shadows=o}},credit:{get:function(){return this._credit}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(o){this._showCreditsOnScreen!==o&&(this._showCreditsOnScreenDirty=!0),this._showCreditsOnScreen=o}},splitDirection:{get:function(){return this._splitDirection},set:function(o){this._splitDirection!==o&&this.resetDrawCommands(),this._splitDirection=o}},classificationType:{get:function(){return this._classificationType}},pickIds:{get:function(){return this._pickIds}},styleCommandsNeeded:{get:function(){return this._styleCommandsNeeded}}});Cu.prototype.getNode=function(o){return this._nodesByName[o]};Cu.prototype.setArticulationStage=function(o,A){this._sceneGraph.setArticulationStage(o,A)};Cu.prototype.applyArticulations=function(){this._sceneGraph.applyArticulations()};Cu.prototype.makeStyleDirty=function(){this._styleDirty=!0};Cu.prototype.resetDrawCommands=function(){this._drawCommandsBuilt=!1};var fYt=new Re,pYt=new Nt,mYt=new Re;Cu.prototype.update=function(o){let A=!1;try{A=CYt(this,o)}catch(f){if(this._loader.incrementallyLoadTextures)if(f.name==="TextureError")lW(this,f),this._rejectTexturesLoad=this._rejectTexturesLoad&&this._rejectTexturesLoad(f);else{let m=Ts.getError("model",this._resource,f);lW(this,m),this._rejectLoad=this._rejectLoad&&this._rejectLoad(m)}else{let m=Ts.getError("model",this._resource,f);lW(this,m),this._rejectLoad=this._rejectLoad&&this._rejectLoad(m),this._rejectTexturesLoad=this._rejectTexturesLoad&&this._rejectTexturesLoad(m)}}if(EYt(this,o),IYt(this,o),!this._resourcesLoaded&&A){this._resourcesLoaded=!0;let f=this._loader.components;if(!k(f)){if(this._loader.isUnloaded())return;let E=Ts.getError("model",this._resource,new Ti("Failed to load model."));lW(E),this._rejectLoad=this._rejectLoad&&this._rejectLoad(E)}let m=f.structuralMetadata;k(m)&&m.propertyTableCount>0&&dYt(this,m);let C=new mEe({model:this,modelComponents:f});this._sceneGraph=C,this._gltfCredits=C.components.asset.credits}if(!(!this._resourcesLoaded||o.mode===ii.MORPHING)){if(xYt(this),yYt(this),vYt(this,o),_Yt(this),BYt(this,o),wYt(this,o),bYt(this,o),QYt(this,o),this._defaultTexture=o.context.defaultTexture,SYt(this,o),DYt(this,o),MYt(this),TYt(this,o),LYt(this,o),!this._ready){o.afterRender.push(()=>{this._ready=!0,this._readyEvent.raiseEvent(this),this._completeLoad=this._completeLoad&&this._completeLoad(),this._loader.incrementallyLoadTextures||(this._texturesLoaded=!0,this._texturesReadyEvent.raiseEvent(this),this._completeTexturesLoad=this._completeTexturesLoad&&this._completeTexturesLoad())});return}this._loader.incrementallyLoadTextures&&!this._texturesLoaded&&this._loader.texturesLoaded&&(this.resetDrawCommands(),this._texturesLoaded=!0,this._texturesReadyEvent.raiseEvent(this),this._completeTexturesLoad=this._completeTexturesLoad&&this._completeTexturesLoad()),RYt(this),FYt(this,o),NYt(this),kYt(this,o)}};function CYt(o,A){return!o._resourcesLoaded||!o._texturesLoaded?(A.afterRender.push(()=>!0),o._loader.process(A)):!0}function EYt(o,A){k(o._customShader)&&o._customShader.update(A)}function IYt(o,A){o._imageBasedLighting.update(A),o._imageBasedLighting.shouldRegenerateShaders&&o.resetDrawCommands()}function xYt(o){if(!o._featureTableIdDirty)return;o._featureTableIdDirty=!1;let A=o._sceneGraph.components,f=A.structuralMetadata;k(f)&&f.propertyTableCount>0&&(o.featureTableId=gYt(A,o),o._styleDirty=!0,o.resetDrawCommands())}function yYt(o){o._styleDirty&&(o.applyStyle(o._style),o._styleDirty=!1)}function vYt(o,A){let f=o._featureTables,m=f.length,C=!1;for(let E=0;E=m&&E<=C}function HYt(o,A){let f=A.creditDisplay,m=o._credit;k(m)&&f.addCreditToNextFrame(m);let C=o._resourceCredits,E=C.length;for(let y=0;y0&&o.alpha<1};Cu.prototype.isInvisible=function(){let o=this.color;return k(o)&&o.alpha===0};function lYe(o){return o.context.stencilBuffer}Cu.prototype.hasSilhouette=function(o){return lYe(o)&&this._silhouetteSize>0&&this._silhouetteColor.alpha>0&&!k(this._classificationType)};Cu.prototype.hasSkipLevelOfDetail=function(o){if(!zd.is3DTiles(this.type))return!1;let A=o.context.stencilBuffer,f=this._content.tileset;return A&&f.isSkippingLevelOfDetail};Cu.prototype.isClippingEnabled=function(){let o=this._clippingPlanes;return k(o)&&o.enabled&&o.length!==0};Cu.prototype.isDestroyed=function(){return!1};Cu.prototype.destroy=function(){let o=this._loader;k(o)&&o.destroy();let A=this._featureTables;if(k(A)){let m=A.length;for(let C=0;C0,m=k(this.structuralMetadata)?this.structuralMetadata.propertyAttributes:void 0,C=k(m)&&k(m[0]);if(A&&(!f||C)){this.resetDrawCommands();return}f?(this.featureTables[this.featureTableId].applyStyle(o),aYe(this,o)):(this.applyColorAndShow(o),this._styleCommandsNeeded=void 0)};function m4(o,A,f){return{loader:o,type:A,resource:f.resource,show:f.show,modelMatrix:f.modelMatrix,scale:f.scale,minimumPixelSize:f.minimumPixelSize,maximumScale:f.maximumScale,id:f.id,allowPicking:f.allowPicking,clampAnimations:f.clampAnimations,shadows:f.shadows,debugShowBoundingVolume:f.debugShowBoundingVolume,enableDebugWireframe:f.enableDebugWireframe,debugWireframe:f.debugWireframe,cull:f.cull,opaquePass:f.opaquePass,customShader:f.customShader,content:f.content,heightReference:f.heightReference,scene:f.scene,distanceDisplayCondition:f.distanceDisplayCondition,color:f.color,colorBlendAmount:f.colorBlendAmount,colorBlendMode:f.colorBlendMode,silhouetteColor:f.silhouetteColor,silhouetteSize:f.silhouetteSize,enableShowOutline:f.enableShowOutline,showOutline:f.showOutline,outlineColor:f.outlineColor,clippingPlanes:f.clippingPlanes,lightColor:f.lightColor,imageBasedLighting:f.imageBasedLighting,backFaceCulling:f.backFaceCulling,credit:f.credit,showCreditsOnScreen:f.showCreditsOnScreen,splitDirection:f.splitDirection,projectTo2D:f.projectTo2D,featureIdLabel:f.featureIdLabel,instanceFeatureIdLabel:f.instanceFeatureIdLabel,pointCloudShading:f.pointCloudShading,classificationType:f.classificationType,pickObject:f.pickObject}}var yv=Cu;function _f(o,A,f){this._tileset=o,this._tile=A,this._resource=f,this._model=void 0,this._metadata=void 0,this._group=void 0,this._ready=!1,this._resolveContent=void 0,this._readyPromise=void 0}Object.defineProperties(_f.prototype,{featuresLength:{get:function(){let o=this._model,A=o.featureTables,f=o.featureTableId;return k(A)&&k(A[f])?A[f].featuresLength:0}},pointsLength:{get:function(){return this._model.statistics.pointsLength}},trianglesLength:{get:function(){return this._model.statistics.trianglesLength}},geometryByteLength:{get:function(){return this._model.statistics.geometryByteLength}},texturesByteLength:{get:function(){return this._model.statistics.texturesByteLength}},batchTableByteLength:{get:function(){let o=this._model.statistics;return o.propertyTablesByteLength+o.batchTexturesByteLength}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return $t("Model3DTileContent.readyPromise","Model3DTileContent.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Model3DTileContent.ready to return true instead."),this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){let o=this._model,A=o.featureTables,f=o.featureTableId;if(k(A)&&k(A[f]))return A[f]}},metadata:{get:function(){return this._metadata},set:function(o){this._metadata=o}},group:{get:function(){return this._group},set:function(o){this._group=o}}});_f.prototype.getFeature=function(o){let A=this._model,f=A.featureTableId;return A.featureTables[f].getFeature(o)};_f.prototype.hasProperty=function(o,A){let f=this._model,m=f.featureTableId;return k(m)?f.featureTables[m].hasProperty(o,A):!1};_f.prototype.applyDebugSettings=function(o,A){A=o?A:qe.WHITE,this.featuresLength===0?this._model.color=A:k(this.batchTable)&&this.batchTable.setAllColor(A)};_f.prototype.applyStyle=function(o){this._model.style=o};_f.prototype.update=function(o,A){let f=this._model,m=this._tile;f.colorBlendAmount=o.colorBlendAmount,f.colorBlendMode=o.colorBlendMode,f.modelMatrix=m.computedTransform,f.customShader=o.customShader,f.featureIdLabel=o.featureIdLabel,f.instanceFeatureIdLabel=o.instanceFeatureIdLabel,f.lightColor=o.lightColor,f.imageBasedLighting=o.imageBasedLighting,f.backFaceCulling=o.backFaceCulling,f.shadows=o.shadows,f.showCreditsOnScreen=o.showCreditsOnScreen,f.splitDirection=o.splitDirection,f.debugWireframe=o.debugWireframe,f.showOutline=o.showOutline,f.outlineColor=o.outlineColor,f.pointCloudShading=o.pointCloudShading;let C=o.clippingPlanes;f.referenceMatrix=o.clippingPlanesOriginMatrix,k(C)&&m.clippingPlanesDirty&&(f._clippingPlanes=C.enabled&&m._isClipped?C:void 0),k(C)&&k(f._clippingPlanes)&&f._clippingPlanes!==C&&(f._clippingPlanes=C,f._clippingPlanesState=0),f.update(A),!this._ready&&f.ready&&(f.activeAnimations.addAll({loop:rS.REPEAT}),this._ready=!0,this._resolveContent=this._resolveContent&&this._resolveContent(this))};_f.prototype.isDestroyed=function(){return!1};_f.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),ar(this)};_f.fromGltf=async function(o,A,f,m){let C=new _f(o,A,f),E=Kz(o,A,C,{gltf:m,basePath:f}),I=o.vectorClassificationOnly?void 0:o.classificationType;E.classificationType=I;let x=await yv.fromGltfAsync(E);return C._model=x,C._readyPromise=new Promise(y=>{C._resolveContent=y}),C};_f.fromB3dm=async function(o,A,f,m,C){let E=new _f(o,A,f),I=Kz(o,A,E,{arrayBuffer:m,byteOffset:C,resource:f}),x=o.vectorClassificationOnly?void 0:o.classificationType;I.classificationType=x;let y=await yv.fromB3dm(I);return y.underGroundMode=o._underGroundMode,E._model=y,E._readyPromise=new Promise(v=>{E._resolveContent=v}),E};_f.fromI3dm=async function(o,A,f,m,C){let E=new _f(o,A,f),I=Kz(o,A,E,{arrayBuffer:m,byteOffset:C,resource:f}),x=await yv.fromI3dm(I);return E._model=x,E._readyPromise=new Promise(y=>{E._resolveContent=y}),E};_f.fromPnts=async function(o,A,f,m,C){let E=new _f(o,A,f),I=Kz(o,A,E,{arrayBuffer:m,byteOffset:C,resource:f}),x=await yv.fromPnts(I);return E._model=x,E._readyPromise=new Promise(y=>{E._resolveContent=y}),E};_f.fromGeoJson=async function(o,A,f,m){let C=new _f(o,A,f),E=Kz(o,A,C,{geoJson:m,resource:f}),I=await yv.fromGeoJson(E);return C._model=I,C._readyPromise=new Promise(x=>{C._resolveContent=x}),C};function Kz(o,A,f,m){let C={cull:!1,releaseGltfJson:!0,opaquePass:zi.CESIUM_3D_TILE,modelMatrix:A.computedTransform,upAxis:o._modelUpAxis,forwardAxis:o._modelForwardAxis,incrementallyLoadTextures:!1,customShader:o.customShader,content:f,colorBlendMode:o.colorBlendMode,colorBlendAmount:o.colorBlendAmount,lightColor:o.lightColor,imageBasedLighting:o.imageBasedLighting,featureIdLabel:o.featureIdLabel,instanceFeatureIdLabel:o.instanceFeatureIdLabel,pointCloudShading:o.pointCloudShading,clippingPlanes:o.clippingPlanes,backFaceCulling:o.backFaceCulling,shadows:o.shadows,showCreditsOnScreen:o.showCreditsOnScreen,splitDirection:o.splitDirection,enableDebugWireframe:o._enableDebugWireframe,debugWireframe:o.debugWireframe,projectTo2D:o._projectTo2D,enableShowOutline:o._enableShowOutline,showOutline:o.showOutline,outlineColor:o.outlineColor};return yo(m,C)}var QT=_f;function sB(o,A,f){this._tileset=o,this._tile=A,this._resource=f,this.featurePropertiesDirty=!1,this._metadata=void 0,this._group=void 0,this._ready=!1,this._readyPromise=Promise.resolve(this)}Object.defineProperties(sB.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return $t("Tileset3DTileContent.readyPromise","Tileset3DTileContent.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Tileset3DTileContent.ready to return true instead."),this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}},metadata:{get:function(){return this._metadata},set:function(o){this._metadata=o}},group:{get:function(){return this._group},set:function(o){this._group=o}}});sB.fromJson=function(o,A,f,m){let C=new sB(o,A,f);return C._tileset.loadTileset(C._resource,m,C._tile),C._ready=!0,C};sB.prototype.hasProperty=function(o,A){return!1};sB.prototype.getFeature=function(o){};sB.prototype.applyDebugSettings=function(o,A){};sB.prototype.applyStyle=function(o){};sB.prototype.update=function(o,A){};sB.prototype.isDestroyed=function(){return!1};sB.prototype.destroy=function(){return ar(this)};var EEe=sB;function VYt(o,A,f,m,C){return function(){let E=document.createElement("canvas"),I=C+2*m;E.height=E.width=I;let x=E.getContext("2d");return x.clearRect(0,0,I,I),m!==0&&(x.beginPath(),x.arc(I/2,I/2,I/2,0,2*Math.PI,!0),x.closePath(),x.fillStyle=f,x.fill(),o<1&&(x.save(),x.globalCompositeOperation="destination-out",x.beginPath(),x.arc(I/2,I/2,C/2,0,2*Math.PI,!0),x.closePath(),x.fillStyle="black",x.fill(),x.restore())),x.beginPath(),x.arc(I/2,I/2,C/2,0,2*Math.PI,!0),x.closePath(),x.fillStyle=A,x.fill(),E}}var Mee=VYt;function c0(o,A,f,m,C){this._content=o,this._billboard=f,this._label=m,this._polyline=C,this._batchId=A,this._billboardImage=void 0,this._billboardColor=void 0,this._billboardOutlineColor=void 0,this._billboardOutlineWidth=void 0,this._billboardSize=void 0,this._pointSize=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._heightOffset=void 0,this._pickIds=new Array(3),w5(this)}var zYt=new Lt;Object.defineProperties(c0.prototype,{show:{get:function(){return this._label.show},set:function(o){this._label.show=o,this._billboard.show=o,this._polyline.show=o}},color:{get:function(){return this._color},set:function(o){this._color=qe.clone(o,this._color),w5(this)}},pointSize:{get:function(){return this._pointSize},set:function(o){this._pointSize=o,w5(this)}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(o){this._pointOutlineColor=qe.clone(o,this._pointOutlineColor),w5(this)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(o){this._pointOutlineWidth=o,w5(this)}},labelColor:{get:function(){return this._label.fillColor},set:function(o){this._label.fillColor=o,this._polyline.show=this._label.show&&o.alpha>0}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(o){this._label.outlineColor=o}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(o){this._label.outlineWidth=o}},font:{get:function(){return this._label.font},set:function(o){this._label.font=o}},labelStyle:{get:function(){return this._label.style},set:function(o){this._label.style=o}},labelText:{get:function(){return this._label.text},set:function(o){k(o)||(o=""),this._label.text=o}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(o){this._label.backgroundColor=o}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(o){this._label.backgroundPadding=o}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(o){this._label.showBackground=o}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(o){this._label.scaleByDistance=o,this._billboard.scaleByDistance=o}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(o){this._label.translucencyByDistance=o,this._billboard.translucencyByDistance=o}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(o){this._label.distanceDisplayCondition=o,this._polyline.distanceDisplayCondition=o,this._billboard.distanceDisplayCondition=o}},heightOffset:{get:function(){return this._heightOffset},set:function(o){let A=ae(this._heightOffset,0),f=this._content.tileset.ellipsoid,m=f.cartesianToCartographic(this._billboard.position,zYt);m.height=m.height-A+o;let C=f.cartographicToCartesian(m);this._billboard.position=C,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],C],this._heightOffset=o}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(o){this._polyline.show=o}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(o){this._polyline.material.uniforms.color=qe.clone(o,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(o){let A=this._billboardImage!==o;this._billboardImage=o,A&&w5(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(o){this._label.disableDepthTestDistance=o,this._billboard.disableDepthTestDistance=o}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(o){this._billboard.horizontalOrigin=o}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(o){this._billboard.verticalOrigin=o}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(o){this._label.horizontalOrigin=o}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(o){this._label.verticalOrigin=o}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){let o=this._pickIds;return o[0]=this._billboard.pickId,o[1]=this._label.pickId,o[2]=this._polyline.pickId,o}}});c0.defaultColor=qe.WHITE;c0.defaultPointOutlineColor=qe.BLACK;c0.defaultPointOutlineWidth=0;c0.defaultPointSize=8;function w5(o){let A=o._billboard;if(k(o._billboardImage)&&o._billboardImage!==A.image){A.image=o._billboardImage;return}if(k(o._billboardImage))return;let f=ae(o._color,c0.defaultColor),m=ae(o._pointOutlineColor,c0.defaultPointOutlineColor),C=ae(o._pointOutlineWidth,c0.defaultPointOutlineWidth),E=ae(o._pointSize,c0.defaultPointSize),I=o._billboardColor,x=o._billboardOutlineColor,y=o._billboardOutlineWidth,v=o._billboardSize;if(qe.equals(f,I)&&qe.equals(m,x)&&C===y&&E===v)return;o._billboardColor=qe.clone(f,o._billboardColor),o._billboardOutlineColor=qe.clone(m,o._billboardOutlineColor),o._billboardOutlineWidth=C,o._billboardSize=E;let w=f.alpha,Q=f.toCssColorString(),M=m.toCssColorString(),B=JSON.stringify([Q,E,M,C]);A.setImage(B,Mee(w,Q,M,C,E))}c0.prototype.hasProperty=function(o){return this._content.batchTable.hasProperty(this._batchId,o)};c0.prototype.getPropertyIds=function(o){return this._content.batchTable.getPropertyIds(this._batchId,o)};c0.prototype.getProperty=function(o){return this._content.batchTable.getProperty(this._batchId,o)};c0.prototype.getPropertyInherited=function(o){return Ga.getPropertyInherited(this._content,this._batchId,o)};c0.prototype.setProperty=function(o,A){this._content.batchTable.setProperty(this._batchId,o,A),this._content.featurePropertiesDirty=!0};c0.prototype.isExactClass=function(o){return this._content.batchTable.isExactClass(this._batchId,o)};c0.prototype.isClass=function(o){return this._content.batchTable.isClass(this._batchId,o)};c0.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var KL=c0;function pP(o){this._positions=o.positions,this._batchTable=o.batchTable,this._batchIds=o.batchIds,this._rectangle=o.rectangle,this._minHeight=o.minimumHeight,this._maxHeight=o.maximumHeight,this._billboardCollection=new nI({batchTable:o.batchTable}),this._labelCollection=new iP({batchTable:o.batchTable}),this._polylineCollection=new AP,this._polylineCollection._useHighlightColor=!0,this._packedBuffer=void 0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(pP.prototype,{ready:{get:function(){return this._ready}},pointsLength:{get:function(){return this._billboardCollection.length}},texturesByteLength:{get:function(){let o=this._billboardCollection.textureAtlas.texture.sizeInBytes,A=this._labelCollection._textureAtlas.texture.sizeInBytes;return o+A}}});function YYt(o,A){let f=o._rectangle,m=o._minHeight,C=o._maxHeight,E=2+hi.packedLength+gi.packedLength,I=new Float64Array(E),x=0;return I[x++]=m,I[x++]=C,hi.pack(f,I,x),x+=hi.packedLength,gi.pack(A,I,x),I}var JYt=new Yh("createVectorTilePoints",5),KYt=new Z;function WYt(o,A){let f=o._positions,m=o._packedBuffer;k(m)||(f=o._positions=f.slice(),o._batchIds=o._batchIds.slice(),m=o._packedBuffer=YYt(o,A));let C=[f.buffer,m.buffer],E={positions:f.buffer,packedBuffer:m.buffer},I=JYt.scheduleTask(E,C);if(k(I))return I.then(x=>{if(o.isDestroyed())return;o._positions=new Float64Array(x.positions);let y=o._billboardCollection,v=o._labelCollection,w=o._polylineCollection;f=o._positions;let Q=o._batchIds,M=f.length/3;for(let B=0;B{o.isDestroyed()||(o._error=x)})}pP.prototype.createFeatures=function(o,A){let f=this._billboardCollection,m=this._labelCollection,C=this._polylineCollection,E=this._batchIds,I=E.length;for(let x=0;x{if(o.isDestroyed())return;o._positions=void 0,o._counts=void 0,o._polygonMinimumHeights=void 0,o._polygonMaximumHeights=void 0;let D=new Float64Array(B.packedBuffer),S=D[0];rJt(o,D),o._indices=fn.getSizeInBytes(S)===2?new Uint16Array(B.indices):new Uint32Array(B.indices),o._indexOffsets=new Uint32Array(B.indexOffsets),o._indexCounts=new Uint32Array(B.indexCounts),o._batchedPositions=new Float32Array(B.positions),o._vertexBatchIds=new Uint16Array(B.batchIds),sJt(o),o._ready=!0}).catch(B=>{o.isDestroyed()||(o._error=B)})}function sJt(o){k(o._primitive)||(o._primitive=new X$({batchTable:o._batchTable,positions:o._batchedPositions,batchIds:o._batchIds,vertexBatchIds:o._vertexBatchIds,indices:o._indices,indexOffsets:o._indexOffsets,indexCounts:o._indexCounts,batchedIndices:o._batchedIndices,boundingVolume:o._boundingVolume,boundingVolumes:o._boundingVolumes,center:o._center}),o._batchTable=void 0,o._batchIds=void 0,o._positions=void 0,o._counts=void 0,o._indices=void 0,o._indexCounts=void 0,o._indexOffsets=void 0,o._batchTableColors=void 0,o._packedBuffer=void 0,o._batchedPositions=void 0,o._transferrableBatchIds=void 0,o._vertexBatchIds=void 0,o._ellipsoid=void 0,o._minimumHeight=void 0,o._maximumHeight=void 0,o._polygonMinimumHeights=void 0,o._polygonMaximumHeights=void 0,o._center=void 0,o._rectangle=void 0,o._boundingVolume=void 0,o._boundingVolumes=void 0,o._batchedIndices=void 0)}oD.prototype.createFeatures=function(o,A){this._primitive.createFeatures(o,A)};oD.prototype.applyDebugSettings=function(o,A){this._primitive.applyDebugSettings(o,A)};oD.prototype.applyStyle=function(o,A){this._primitive.applyStyle(o,A)};oD.prototype.updateCommands=function(o,A){this._primitive.updateCommands(o,A)};oD.prototype.update=function(o){if(!this._ready){if(k(this._promise)||(this._promise=aJt(this)),k(this._error)){let A=this._error;throw this._error=void 0,A}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(o)};oD.prototype.isDestroyed=function(){return!1};oD.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ar(this)};var xEe=oD,yEe=`in vec4 currentPosition; in vec4 previousPosition; in vec4 nextPosition; in vec2 expandAndWidth; in float a_batchId; uniform mat4 u_modifiedModelView; void main() { float expandDir = expandAndWidth.x; float width = abs(expandAndWidth.y) + 0.5; bool usePrev = expandAndWidth.y < 0.0; vec4 p = u_modifiedModelView * currentPosition; vec4 prev = u_modifiedModelView * previousPosition; vec4 next = u_modifiedModelView * nextPosition; float angle; vec4 positionWC = getPolylineWindowCoordinatesEC(p, prev, next, expandDir, width, usePrev, angle); gl_Position = czm_viewportOrthographic * positionWC; } `;function lB(o){this._positions=o.positions,this._widths=o.widths,this._counts=o.counts,this._batchIds=o.batchIds,this._ellipsoid=ae(o.ellipsoid,gi.WGS84),this._minimumHeight=o.minimumHeight,this._maximumHeight=o.maximumHeight,this._center=o.center,this._rectangle=o.rectangle,this._boundingVolume=o.boundingVolume,this._batchTable=o.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._keepDecodedPositions=o.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=qe.clone(qe.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(lB.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function lJt(o){let A=o._rectangle,f=o._minimumHeight,m=o._maximumHeight,C=o._ellipsoid,E=o._center,I=2+hi.packedLength+gi.packedLength+Z.packedLength,x=new Float64Array(I),y=0;return x[y++]=f,x[y++]=m,hi.pack(A,x,y),y+=hi.packedLength,gi.pack(C,x,y),y+=gi.packedLength,Z.pack(E,x,y),x}var AJt=new Yh("createVectorTilePolylines",5),b5={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function uJt(o,A){if(k(o._va))return;let f=o._positions,m=o._widths,C=o._counts,E=o._transferrableBatchIds,I=o._packedBuffer;k(I)||(f=o._positions=f.slice(),m=o._widths=m.slice(),C=o._counts=C.slice(),E=o._transferrableBatchIds=o._batchIds.slice(),I=o._packedBuffer=lJt(o));let x=[f.buffer,m.buffer,C.buffer,E.buffer,I.buffer],y={positions:f.buffer,widths:m.buffer,counts:C.buffer,batchIds:E.buffer,packedBuffer:I.buffer,keepDecodedPositions:o._keepDecodedPositions},v=AJt.scheduleTask(y,x);if(k(v))return v.then(function(w){if(o.isDestroyed())return;o._keepDecodedPositions&&(o._decodedPositions=new Float64Array(w.decodedPositions),o._decodedPositionOffsets=new Uint32Array(w.decodedPositionOffsets)),o._currentPositions=new Float32Array(w.currentPositions),o._previousPositions=new Float32Array(w.previousPositions),o._nextPositions=new Float32Array(w.nextPositions),o._expandAndWidth=new Float32Array(w.expandAndWidth),o._vertexBatchIds=new Uint16Array(w.batchIds);let Q=w.indexDatatype;o._indices=Q===fn.UNSIGNED_SHORT?new Uint16Array(w.indices):new Uint32Array(w.indices),cJt(o,A),o._ready=!0}).catch(w=>{o.isDestroyed()||(o._error=w)})}function cJt(o,A){if(!k(o._va)){let f=o._currentPositions,m=o._previousPositions,C=o._nextPositions,E=o._expandAndWidth,I=o._vertexBatchIds,x=o._indices,y=m.byteLength+f.byteLength+C.byteLength;y+=E.byteLength+I.byteLength+x.byteLength,o._trianglesLength=x.length/3,o._geometryByteLength=y;let v=jn.createVertexBuffer({context:A,typedArray:m,usage:Fr.STATIC_DRAW}),w=jn.createVertexBuffer({context:A,typedArray:f,usage:Fr.STATIC_DRAW}),Q=jn.createVertexBuffer({context:A,typedArray:C,usage:Fr.STATIC_DRAW}),M=jn.createVertexBuffer({context:A,typedArray:E,usage:Fr.STATIC_DRAW}),B=jn.createVertexBuffer({context:A,typedArray:I,usage:Fr.STATIC_DRAW}),D=jn.createIndexBuffer({context:A,typedArray:x,usage:Fr.STATIC_DRAW,indexDatatype:x.BYTES_PER_ELEMENT===2?fn.UNSIGNED_SHORT:fn.UNSIGNED_INT}),S=[{index:b5.previousPosition,vertexBuffer:v,componentDatatype:Mt.FLOAT,componentsPerAttribute:3},{index:b5.currentPosition,vertexBuffer:w,componentDatatype:Mt.FLOAT,componentsPerAttribute:3},{index:b5.nextPosition,vertexBuffer:Q,componentDatatype:Mt.FLOAT,componentsPerAttribute:3},{index:b5.expandAndWidth,vertexBuffer:M,componentDatatype:Mt.FLOAT,componentsPerAttribute:2},{index:b5.a_batchId,vertexBuffer:B,componentDatatype:Mt.UNSIGNED_SHORT,componentsPerAttribute:1}];o._va=new VA({context:A,attributes:S,indexBuffer:D}),o._positions=void 0,o._widths=void 0,o._counts=void 0,o._ellipsoid=void 0,o._minimumHeight=void 0,o._maximumHeight=void 0,o._rectangle=void 0,o._transferrableBatchIds=void 0,o._packedBuffer=void 0,o._currentPositions=void 0,o._previousPositions=void 0,o._nextPositions=void 0,o._expandAndWidth=void 0,o._vertexBatchIds=void 0,o._indices=void 0}}var _8=new Re,IRe=new Z;function hJt(o,A){k(o._uniformMap)||(o._uniformMap={u_modifiedModelView:function(){let f=A.uniformState.view;return Re.clone(f,_8),Re.multiplyByPoint(_8,o._center,IRe),Re.setTranslation(_8,IRe,_8),_8},u_highlightColor:function(){return o._highlightColor}})}function dJt(o){if(k(o._rs))return;let A={enabled:!0,factor:-5,units:-5};o._rs=Hr.fromCache({blending:Sl.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:A})}var gJt=`uniform vec4 u_highlightColor; void main() { out_FragColor = u_highlightColor; } `;function fJt(o,A){if(k(o._sp))return;let f=o._batchTable,m=f.getVertexShaderCallback(!1,"a_batchId",void 0)(yEe),C=f.getFragmentShaderCallback(!1,void 0,!1)(gJt),E=new hr({defines:["VECTOR_TILE",co.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[AN,m]}),I=new hr({defines:["VECTOR_TILE"],sources:[C]});o._sp=Wa.fromCache({context:A,vertexShaderSource:E,fragmentShaderSource:I,attributeLocations:b5})}function pJt(o,A){if(!k(o._command)){let f=o._batchTable.getUniformMapCallback()(o._uniformMap);o._command=new cn({owner:o,vertexArray:o._va,renderState:o._rs,shaderProgram:o._sp,uniformMap:f,boundingVolume:o._boundingVolume,pass:zi.TRANSLUCENT,pickId:o._batchTable.getPickId()})}A.commandList.push(o._command)}lB.getPolylinePositions=function(o,A){let f=o._batchIds,m=o._decodedPositions,C=o._decodedPositionOffsets;if(!k(f)||!k(m))return;let E,I,x=f.length,y=0,v=0;for(E=0;E // vec3 scratchNormal = mix(-startFaceNormalAndVertexCorner.xyz, endFaceNormalAndHalfWidth.xyz, isEnd); scratchNormal = cross(scratchNormal, mix(startEllipsoidNormal, endEllipsoidNormal, isEnd)); vec3 miterPushNormal = czm_normal * normalize(scratchNormal); offset = 2.0 * endFaceNormalAndHalfWidth.w * max(0.0, czm_metersPerPixel(position)); // offset = widthEC offset = offset / dot(miterPushNormal, right); position.xyz += miterPushNormal * (offset * sign(0.5 - mod(startFaceNormalAndVertexCorner.w, 2.0))); gl_Position = czm_depthClamp(czm_projection * position); position = u_modifiedModelView * vec4(startPositionAndHeight.xyz, 1.0); vec3 startNormalEC = czm_normal * startFaceNormalAndVertexCorner.xyz; v_startPlaneEC = vec4(startNormalEC, -dot(startNormalEC, position.xyz)); v_rightPlaneEC = vec4(right, -dot(right, position.xyz)); position = u_modifiedModelView * vec4(endPositionAndHeight.xyz, 1.0); vec3 endNormalEC = czm_normal * endFaceNormalAndHalfWidth.xyz; v_endPlaneEC = vec4(endNormalEC, -dot(endNormalEC, position.xyz)); v_halfWidth = endFaceNormalAndHalfWidth.w; } `,_Ee=`in vec4 v_startPlaneEC; in vec4 v_endPlaneEC; in vec4 v_rightPlaneEC; in float v_halfWidth; in vec3 v_volumeUpEC; uniform vec4 u_highlightColor; void main() { float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw))); // Discard for sky if (logDepthOrDepth == 0.0) { #ifdef DEBUG_SHOW_VOLUME out_FragColor = vec4(0.0, 0.0, 1.0, 0.5); return; #else // DEBUG_SHOW_VOLUME discard; #endif // DEBUG_SHOW_VOLUME } vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); eyeCoordinate /= eyeCoordinate.w; float halfMaxWidth = v_halfWidth * czm_metersPerPixel(eyeCoordinate); // Expand halfMaxWidth if direction to camera is almost perpendicular with the volume's up direction halfMaxWidth += halfMaxWidth * (1.0 - dot(-normalize(eyeCoordinate.xyz), v_volumeUpEC)); // Check distance of the eye coordinate against the right-facing plane float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz); // Check eye coordinate against the mitering planes float distanceFromStart = czm_planeDistance(v_startPlaneEC, eyeCoordinate.xyz); float distanceFromEnd = czm_planeDistance(v_endPlaneEC, eyeCoordinate.xyz); if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) { #ifdef DEBUG_SHOW_VOLUME out_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5); return; #else // DEBUG_SHOW_VOLUME discard; #endif // DEBUG_SHOW_VOLUME } out_FragColor = u_highlightColor; czm_writeDepthClamp(); } `;function aD(o){this._positions=o.positions,this._widths=o.widths,this._counts=o.counts,this._batchIds=o.batchIds,this._ellipsoid=ae(o.ellipsoid,gi.WGS84),this._minimumHeight=o.minimumHeight,this._maximumHeight=o.maximumHeight,this._center=o.center,this._rectangle=o.rectangle,this._batchTable=o.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._minimumMaximumVectorHeights=new tt(Tu._defaultMinTerrainHeight,Tu._defaultMaxTerrainHeight),this._boundingVolume=MA.fromRectangle(o.rectangle,Tu._defaultMinTerrainHeight,Tu._defaultMaxTerrainHeight,this._ellipsoid),this._classificationType=o.classificationType,this._keepDecodedPositions=o.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._startEllipsoidNormals=void 0,this._endEllipsoidNormals=void 0,this._startPositionAndHeights=void 0,this._startFaceNormalAndVertexCornerIds=void 0,this._endPositionAndHeights=void 0,this._endFaceNormalAndHalfWidths=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=qe.clone(qe.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(aD.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function xJt(o,A,f){let m=Tu.getMinimumMaximumHeights(A,f),C=m.minimumTerrainHeight,E=m.maximumTerrainHeight,I=o._minimumMaximumVectorHeights;I.x=C,I.y=E;let x=o._boundingVolume,y=o._rectangle;MA.fromRectangle(y,C,E,f,x)}function yJt(o){let A=o._rectangle,f=o._minimumHeight,m=o._maximumHeight,C=o._ellipsoid,E=o._center,I=2+hi.packedLength+gi.packedLength+Z.packedLength,x=new Float64Array(I),y=0;return x[y++]=f,x[y++]=m,hi.pack(A,x,y),y+=hi.packedLength,gi.pack(C,x,y),y+=gi.packedLength,Z.pack(E,x,y),x}var vJt=new Yh("createVectorTileClampedPolylines"),xT={startEllipsoidNormal:0,endEllipsoidNormal:1,startPositionAndHeight:2,endPositionAndHeight:3,startFaceNormalAndVertexCorner:4,endFaceNormalAndHalfWidth:5,a_batchId:6};function _Jt(o,A){if(k(o._va))return;let f=o._positions,m=o._widths,C=o._counts,E=o._transferrableBatchIds,I=o._packedBuffer;k(I)||(f=o._positions=f.slice(),m=o._widths=m.slice(),C=o._counts=C.slice(),E=o._transferrableBatchIds=o._batchIds.slice(),I=o._packedBuffer=yJt(o));let x=[f.buffer,m.buffer,C.buffer,E.buffer,I.buffer],y={positions:f.buffer,widths:m.buffer,counts:C.buffer,batchIds:E.buffer,packedBuffer:I.buffer,keepDecodedPositions:o._keepDecodedPositions},v=vJt.scheduleTask(y,x);if(k(v))return v.then(function(w){if(o.isDestroyed())return;o._keepDecodedPositions&&(o._decodedPositions=new Float64Array(w.decodedPositions),o._decodedPositionOffsets=new Uint32Array(w.decodedPositionOffsets)),o._startEllipsoidNormals=new Float32Array(w.startEllipsoidNormals),o._endEllipsoidNormals=new Float32Array(w.endEllipsoidNormals),o._startPositionAndHeights=new Float32Array(w.startPositionAndHeights),o._startFaceNormalAndVertexCornerIds=new Float32Array(w.startFaceNormalAndVertexCornerIds),o._endPositionAndHeights=new Float32Array(w.endPositionAndHeights),o._endFaceNormalAndHalfWidths=new Float32Array(w.endFaceNormalAndHalfWidths),o._vertexBatchIds=new Uint16Array(w.vertexBatchIds);let Q=w.indexDatatype;o._indices=Q===fn.UNSIGNED_SHORT?new Uint16Array(w.indices):new Uint32Array(w.indices),BJt(o,A),o._ready=!0}).catch(w=>{o.isDestroyed()||(o._error=w)})}function BJt(o,A){if(!k(o._va)){let f=o._startEllipsoidNormals,m=o._endEllipsoidNormals,C=o._startPositionAndHeights,E=o._endPositionAndHeights,I=o._startFaceNormalAndVertexCornerIds,x=o._endFaceNormalAndHalfWidths,y=o._vertexBatchIds,v=o._indices,w=f.byteLength+m.byteLength;w+=C.byteLength+E.byteLength,w+=I.byteLength+x.byteLength,w+=y.byteLength+v.byteLength,o._trianglesLength=v.length/3,o._geometryByteLength=w;let Q=jn.createVertexBuffer({context:A,typedArray:f,usage:Fr.STATIC_DRAW}),M=jn.createVertexBuffer({context:A,typedArray:m,usage:Fr.STATIC_DRAW}),B=jn.createVertexBuffer({context:A,typedArray:C,usage:Fr.STATIC_DRAW}),D=jn.createVertexBuffer({context:A,typedArray:E,usage:Fr.STATIC_DRAW}),S=jn.createVertexBuffer({context:A,typedArray:I,usage:Fr.STATIC_DRAW}),P=jn.createVertexBuffer({context:A,typedArray:x,usage:Fr.STATIC_DRAW}),R=jn.createVertexBuffer({context:A,typedArray:y,usage:Fr.STATIC_DRAW}),T=jn.createIndexBuffer({context:A,typedArray:v,usage:Fr.STATIC_DRAW,indexDatatype:v.BYTES_PER_ELEMENT===2?fn.UNSIGNED_SHORT:fn.UNSIGNED_INT}),L=[{index:xT.startEllipsoidNormal,vertexBuffer:Q,componentDatatype:Mt.FLOAT,componentsPerAttribute:3},{index:xT.endEllipsoidNormal,vertexBuffer:M,componentDatatype:Mt.FLOAT,componentsPerAttribute:3},{index:xT.startPositionAndHeight,vertexBuffer:B,componentDatatype:Mt.FLOAT,componentsPerAttribute:4},{index:xT.endPositionAndHeight,vertexBuffer:D,componentDatatype:Mt.FLOAT,componentsPerAttribute:4},{index:xT.startFaceNormalAndVertexCorner,vertexBuffer:S,componentDatatype:Mt.FLOAT,componentsPerAttribute:4},{index:xT.endFaceNormalAndHalfWidth,vertexBuffer:P,componentDatatype:Mt.FLOAT,componentsPerAttribute:4},{index:xT.a_batchId,vertexBuffer:R,componentDatatype:Mt.UNSIGNED_SHORT,componentsPerAttribute:1}];o._va=new VA({context:A,attributes:L,indexBuffer:T}),o._positions=void 0,o._widths=void 0,o._counts=void 0,o._ellipsoid=void 0,o._minimumHeight=void 0,o._maximumHeight=void 0,o._rectangle=void 0,o._transferrableBatchIds=void 0,o._packedBuffer=void 0,o._startEllipsoidNormals=void 0,o._endEllipsoidNormals=void 0,o._startPositionAndHeights=void 0,o._startFaceNormalAndVertexCornerIds=void 0,o._endPositionAndHeights=void 0,o._endFaceNormalAndHalfWidths=void 0,o._vertexBatchIds=void 0,o._indices=void 0}}var B8=new Re,xRe=new Z;function wJt(o,A){k(o._uniformMap)||(o._uniformMap={u_modifiedModelView:function(){let f=A.uniformState.view;return Re.clone(f,B8),Re.multiplyByPoint(B8,o._center,xRe),Re.setTranslation(B8,xRe,B8),B8},u_highlightColor:function(){return o._highlightColor},u_minimumMaximumVectorHeights:function(){return o._minimumMaximumVectorHeights}})}function yRe(o){return Hr.fromCache({cull:{enabled:!0,face:tu.FRONT},blending:Sl.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:o,frontFunction:sA.EQUAL,frontOperation:{fail:kn.KEEP,zFail:kn.KEEP,zPass:kn.KEEP},backFunction:sA.EQUAL,backOperation:{fail:kn.KEEP,zFail:kn.KEEP,zPass:kn.KEEP},reference:No.CESIUM_3D_TILE_MASK,mask:No.CESIUM_3D_TILE_MASK}})}function bJt(o){k(o._rs)||(o._rs=yRe(!1),o._rs3DTiles=yRe(!0))}function QJt(o,A){if(k(o._sp))return;let f=o._batchTable,m=f.getVertexShaderCallback(!1,"a_batchId",void 0)(vEe),C=f.getFragmentShaderCallback(!1,void 0,!0)(_Ee),E=new hr({defines:["VECTOR_TILE",co.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[AN,m]}),I=new hr({defines:["VECTOR_TILE"],sources:[C]});o._sp=Wa.fromCache({context:A,vertexShaderSource:E,fragmentShaderSource:I,attributeLocations:xT})}function SJt(o,A){let f=o._command;if(!k(o._command)){let C=o._batchTable.getUniformMapCallback()(o._uniformMap);f=o._command=new cn({owner:o,vertexArray:o._va,renderState:o._rs,shaderProgram:o._sp,uniformMap:C,boundingVolume:o._boundingVolume,pass:zi.TERRAIN_CLASSIFICATION,pickId:o._batchTable.getPickId()});let E=cn.shallowClone(f,f.derivedCommands.tileset);E.renderState=o._rs3DTiles,E.pass=zi.CESIUM_3D_TILE_CLASSIFICATION,f.derivedCommands.tileset=E}let m=o._classificationType;(m===nA.TERRAIN||m===nA.BOTH)&&A.commandList.push(f),(m===nA.CESIUM_3D_TILE||m===nA.BOTH)&&A.commandList.push(f.derivedCommands.tileset)}aD.prototype.getPositions=function(o){return Tee.getPolylinePositions(this,o)};aD.prototype.createFeatures=function(o,A){let f=this._batchIds,m=f.length;for(let C=0;C{o.isDestroyed()||(o._error=A)})}aD.prototype.update=function(o){let A=o.context;if(!this._ready){if(k(this._promise)||(this._promise=RJt(this).then(_Jt(this,A))),k(this._error)){let m=this._error;throw this._error=void 0,m}return}wJt(this,A),QJt(this,A),bJt(this);let f=o.passes;(f.render||f.pick)&&SJt(this,o)};aD.prototype.isDestroyed=function(){return!1};aD.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),ar(this)};var BEe=aD,Nse=32767,LJt=new Lt,FJt=new Z;function NJt(o,A,f,m,C){let E=o.length/3,I=o.subarray(0,E),x=o.subarray(E,2*E),y=o.subarray(2*E,3*E);Yl.zigZagDeltaDecode(I,x,y);let v=new Float64Array(o.length);for(let w=0;w{this._resolveContent=E}),HJt(this,m,C)}Object.defineProperties(cb.prototype,{featuresLength:{get:function(){return k(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return k(this._points)?this._points.pointsLength:0}},trianglesLength:{get:function(){let o=0;return k(this._polygons)&&(o+=this._polygons.trianglesLength),k(this._polylines)&&(o+=this._polylines.trianglesLength),o}},geometryByteLength:{get:function(){let o=0;return k(this._polygons)&&(o+=this._polygons.geometryByteLength),k(this._polylines)&&(o+=this._polylines.geometryByteLength),o}},texturesByteLength:{get:function(){return k(this._points)?this._points.texturesByteLength:0}},batchTableByteLength:{get:function(){return k(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return $t("Vector3DTileContent.readyPromise","Vector3DTileContent.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Vector3DTileContent.ready to return true instead."),this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(o){this._metadata=o}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(o){this._group=o}}});function kJt(o){return function(A,f){k(o._polygons)&&o._polygons.updateCommands(A,f)}}function UJt(o,A){let f,m,C,E,I=ae(o.POLYGONS_LENGTH,0),x=ae(o.POLYLINES_LENGTH,0),y=ae(o.POINTS_LENGTH,0);if(I>0&&k(o.POLYGON_BATCH_IDS)){let Q=A.byteOffset+o.POLYGON_BATCH_IDS.byteOffset;f=new Uint16Array(A.buffer,Q,I)}if(x>0&&k(o.POLYLINE_BATCH_IDS)){let Q=A.byteOffset+o.POLYLINE_BATCH_IDS.byteOffset;m=new Uint16Array(A.buffer,Q,x)}if(y>0&&k(o.POINT_BATCH_IDS)){let Q=A.byteOffset+o.POINT_BATCH_IDS.byteOffset;C=new Uint16Array(A.buffer,Q,y)}let v=k(f)||k(m)||k(C),w=I>0&&!k(f)||x>0&&!k(m)||y>0&&!k(C);if(v&&w)throw new Ti("If one group of batch ids is defined, then all batch ids must be defined");if(!k(f)&&!k(m)&&!k(C)){let Q=0;if(!k(f)&&I>0)for(f=new Uint16Array(I),E=0;E0)for(m=new Uint16Array(x),E=0;E0)for(C=new Uint16Array(y),E=0;E0&&(R=Ap(m,f,v),f+=v,w>0&&(T=new Uint8Array(A,f,w),T=new Uint8Array(T),f+=w));let L=ae(S.POLYGONS_LENGTH,0),F=ae(S.POLYLINES_LENGTH,0),U=ae(S.POINTS_LENGTH,0),N=L+F+U,H=new Bz(o,N,R,T,kJt(o));if(o._batchTable=H,N===0)return;let J=new l4(S,P),K=J.getGlobalProperty("REGION");if(!k(K))throw new Ti("Feature table global property: REGION must be defined");let X=hi.unpack(K),j=K[4],ee=K[5],ie=o._tile.computedTransform,z=J.getGlobalProperty("RTC_CENTER",Mt.FLOAT,3);k(z)?(z=Z.unpack(z),Re.multiplyByPoint(ie,z,z)):(z=hi.center(X),z.height=De.lerp(j,ee,.5),z=gi.WGS84.cartographicToCartesian(z));let oe=UJt(S,P);if(f+=(4-f%4)%4,L>0){J.featuresLength=L;let le=ae(J.getPropertyArray("POLYGON_COUNTS",Mt.UNSIGNED_INT,1),J.getPropertyArray("POLYGON_COUNT",Mt.UNSIGNED_INT,1));if(!k(le))throw new Ti("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let Ae=ae(J.getPropertyArray("POLYGON_INDEX_COUNTS",Mt.UNSIGNED_INT,1),J.getPropertyArray("POLYGON_INDEX_COUNT",Mt.UNSIGNED_INT,1));if(!k(Ae))throw new Ti("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let he=le.reduce(function(W,O){return W+O*2},0),ge=Ae.reduce(function(W,O){return W+O},0),de=new Uint32Array(A,f,ge);f+=Q;let fe=new Uint16Array(A,f,he);f+=M;let G,Y;k(S.POLYGON_MINIMUM_HEIGHTS)&&k(S.POLYGON_MAXIMUM_HEIGHTS)&&(G=J.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",Mt.FLOAT,1),Y=J.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",Mt.FLOAT,1)),o._polygons=new xEe({positions:fe,counts:le,indexCounts:Ae,indices:de,minimumHeight:j,maximumHeight:ee,polygonMinimumHeights:G,polygonMaximumHeights:Y,center:z,rectangle:X,boundingVolume:o.tile.boundingVolume.boundingVolume,batchTable:H,batchIds:oe.polygons,modelMatrix:ie})}if(F>0){J.featuresLength=F;let le=ae(J.getPropertyArray("POLYLINE_COUNTS",Mt.UNSIGNED_INT,1),J.getPropertyArray("POLYLINE_COUNT",Mt.UNSIGNED_INT,1));if(!k(le))throw new Ti("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");let Ae=J.getPropertyArray("POLYLINE_WIDTHS",Mt.UNSIGNED_SHORT,1);if(!k(Ae)){Ae=new Uint16Array(F);for(let Y=0;Y0){let le=new Uint16Array(A,f,U*3);f+=D,o._points=new IEe({positions:le,batchIds:oe.points,minimumHeight:j,maximumHeight:ee,rectangle:X,batchTable:H})}}function bEe(o){let A=o.featuresLength;if(!k(o._features)&&A>0){let f=new Array(A);k(o._polygons)&&o._polygons.createFeatures(o,f),k(o._polylines)&&o._polylines.createFeatures(o,f),k(o._points)&&o._points.createFeatures(o,f),o._features=f}}cb.prototype.hasProperty=function(o,A){return this._batchTable.hasProperty(o,A)};cb.prototype.getFeature=function(o){return k(this._features)||bEe(this),this._features[o]};cb.prototype.applyDebugSettings=function(o,A){k(this._polygons)&&this._polygons.applyDebugSettings(o,A),k(this._polylines)&&this._polylines.applyDebugSettings(o,A),k(this._points)&&this._points.applyDebugSettings(o,A)};cb.prototype.applyStyle=function(o){k(this._features)||bEe(this),k(this._polygons)&&this._polygons.applyStyle(o,this._features),k(this._polylines)&&this._polylines.applyStyle(o,this._features),k(this._points)&&this._points.applyStyle(o,this._features)};cb.prototype.update=function(o,A){let f=!0;k(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(A),f=f&&this._polygons.ready),k(this._polylines)&&(this._polylines.update(A),f=f&&this._polylines.ready),k(this._points)&&(this._points.update(A),f=f&&this._points.ready),k(this._batchTable)&&f&&(k(this._features)||bEe(this),this._batchTable.update(o,A),this._ready=!0,this._resolveContent(this))};cb.prototype.getPolylinePositions=function(o){let A=this._polylines;if(k(A))return A.getPositions(o)};cb.prototype.isDestroyed=function(){return!1};cb.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),ar(this)};function VJt(o,A,f,m,C,E){let I=A.length,x=0;for(let y=0;y=0?m[E]:void 0}var Lee=JJt;function uD(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.tile,f=o.class;this._class=f,this._properties=A.properties,this._extensions=A.extensions,this._extras=A.extras}Object.defineProperties(uD.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});uD.prototype.hasProperty=function(o){return ml.hasProperty(o,this._properties,this._class)};uD.prototype.hasPropertyBySemantic=function(o){return ml.hasPropertyBySemantic(o,this._properties,this._class)};uD.prototype.getPropertyIds=function(o){return ml.getPropertyIds(this._properties,this._class,o)};uD.prototype.getProperty=function(o){return ml.getProperty(o,this._properties,this._class)};uD.prototype.setProperty=function(o,A){return ml.setProperty(o,A,this._properties,this._class)};uD.prototype.getPropertyBySemantic=function(o){return ml.getPropertyBySemantic(o,this._properties,this._class)};uD.prototype.setPropertyBySemantic=function(o,A){return ml.setPropertyBySemantic(o,A,this._properties,this._class)};var MEe=uD;function TEe(o,A){let f=Lu(A,"3DTILES_metadata")?A.extensions["3DTILES_metadata"]:A.metadata;if(!k(f))return;if(!k(o.schema)){TEe._oneTimeWarning("findTileMetadata-missing-root-schema","Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let m=ae(o.schema.classes,ae.EMPTY_OBJECT);if(k(f.class)){let C=m[f.class];return new MEe({tile:f,class:C})}}TEe._oneTimeWarning=Ro;var PEe=TEe;function KJt(o){let A=new Uint8Array(o),f=i4(A);if(f==="glTF"&&(f="glb"),mm.isBinaryFormat(f))return{contentType:f,binaryPayload:A};let m=WJt(A);if(k(m.root))return{contentType:mm.EXTERNAL_TILESET,jsonPayload:m};if(k(m.asset))return{contentType:mm.GLTF,jsonPayload:m};if(k(m.tileAvailability))return{contentType:mm.IMPLICIT_SUBTREE_JSON,jsonPayload:m};if(k(m.type))return{contentType:mm.GEOJSON,jsonPayload:m};if(k(m.voxelTable))return{contentType:mm.VOXEL_JSON,jsonPayload:m};throw new Ti("Invalid tile content.")}function WJt(o){let A;try{A=Ap(o)}catch{throw new Ti("Invalid tile content.")}return A}var C4=KJt;function vB(o,A,f,m){this._tileset=o,this._tile=A,this._tilesetResource=f,this._contents=[],this._contentsCreated=!1;let C=k(m.contents)?m.contents:m.content;this._innerContentHeaders=C,this._requestsInFlight=0,this._cancelCount=0;let E=this._innerContentHeaders.length;this._arrayFetchPromises=new Array(E),this._requests=new Array(E),this._ready=!1,this._resolveContent=void 0,this._readyPromise=new Promise(I=>{this._resolveContent=I}),this._innerContentResources=new Array(E),this._serverKeys=new Array(E);for(let I=0;IZJt(o,E,I)),C=await Promise.all(m);return o._contentsCreated=!0,o._contents=C.filter(k),C}async function ZJt(o,A,f){if(k(A))try{let m=C4(A);if(m.contentType===mm.EXTERNAL_TILESET)throw new Ti("External tilesets are disallowed inside multiple contents");o._disableSkipLevelOfDetail=o._disableSkipLevelOfDetail||m.contentType===mm.GEOMETRY||m.contentType===mm.VECTOR;let C=o._tileset,E=o._innerContentResources[f],I=o._tile,x,y=Pee[m.contentType];k(m.binaryPayload)?x=await Promise.resolve(y(C,I,E,m.binaryPayload.buffer,0)):x=await Promise.resolve(y(C,I,E,m.jsonPayload));let v=o._innerContentHeaders[f];if(I.hasImplicitContentMetadata){let Q=I.implicitSubtree,M=I.implicitCoordinates;x.metadata=Q.getContentMetadataView(M,f)}else I.hasImplicitContent||(x.metadata=Ree(C,v));let w=Lee(C,v);return k(w)&&(x.group=new q$({metadata:w})),x}catch(m){uYe(o,f,m)}}function uYe(o,A,f){let m=o._tileset,C=o._innerContentResources[A].url,E=k(f.message)?f.message:f.toString();m.tileFailed.numberOfListeners>0?m.tileFailed.raiseEvent({url:C,message:E}):(console.log(`A content failed to load: ${C}`),console.log(`Error: ${E}`))}vB.prototype.cancelRequests=function(){for(let o=0;ox?B=De.TWO_PI-y+x:B=x-y;let S=Math.ceil(B/A)+1,P=Math.ceil(D/A)+1,R=B/(S-1),T=D/(P-1),L=hi.northwest(o,E),F=hi.center(o,tKt);(f!==0||m!==0)&&(F.longitude=0;D--)ap.computePosition(A,f,!1,B,D,S),Q[M++]=S.x,Q[M++]=S.y,Q[M++]=S.z;for(D=0,B=m-2;B>0;B--)ap.computePosition(A,f,!1,B,D,S),Q[M++]=S.x,Q[M++]=S.y,Q[M++]=S.z;let P=Q.length/3*2,R=fn.createTypedArray(Q.length/3,P),T=0;for(let F=0;F0){wy.longitude=(A.west+A.east)*.5,wy.latitude=v;let S=f.cartographicToCartesian(wy,r5.origin);Z.clone(y,r5.direction);let P=va.fromPointNormal(o.southwestCornerCartesian,o.westNormal,SRe);mh.rayPlane(r5,P,o.southwestCornerCartesian),w=f.geodeticSurfaceNormal(S,AW)}else w=f.geodeticSurfaceNormalCartographic(hi.southeast(A),AW);let Q=Z.cross(w,x,QRe);Z.normalize(Q,o.southNormal);let M=A.north,B;if(M<0){wy.longitude=(A.west+A.east)*.5,wy.latitude=M;let S=f.cartographicToCartesian(wy,r5.origin);Z.negate(y,r5.direction);let P=va.fromPointNormal(o.northeastCornerCartesian,o.eastNormal,SRe);mh.rayPlane(r5,P,o.northeastCornerCartesian),B=f.geodeticSurfaceNormal(S,AW)}else B=f.geodeticSurfaceNormalCartographic(hi.northwest(A),AW);let D=Z.cross(x,B,QRe);Z.normalize(D,o.northNormal)}var dKt=new Z,gKt=new Z,fKt=new Z(0,-1,0),pKt=new Z(0,0,-1),DRe=new Z;function mKt(o,A){let f=A.camera,m=f.positionWC,C=f.positionCartographic,E=0;if(!hi.contains(o.rectangle,C)){let v=o.southwestCornerCartesian,w=o.northeastCornerCartesian,Q=o.westNormal,M=o.southNormal,B=o.eastNormal,D=o.northNormal;A.mode!==ii.SCENE3D&&(v=A.mapProjection.project(hi.southwest(o.rectangle),dKt),v.z=v.y,v.y=v.x,v.x=0,w=A.mapProjection.project(hi.northeast(o.rectangle),gKt),w.z=w.y,w.y=w.x,w.x=0,Q=fKt,B=Z.UNIT_Y,M=pKt,D=Z.UNIT_Z);let S=Z.subtract(m,v,DRe),P=Z.dot(S,Q),R=Z.dot(S,M),T=Z.subtract(m,w,DRe),L=Z.dot(T,B),F=Z.dot(T,D);P>0?E+=P*P:L>0&&(E+=L*L),R>0?E+=R*R:F>0&&(E+=F*F)}let I,x,y;if(A.mode===ii.SCENE3D?(I=C.height,x=o.minimumHeight,y=o.maximumHeight):(I=m.x,x=0,y=0),I>y){let v=I-y;E+=v*v}else if(I0?(f.push(0),m.push(this._planeVertices[0]),C=this._edgeNormals[0]):va.getPointDistance(this._boundingPlanes[1],A)>0&&(f.push(1),m.push(this._planeVertices[1]),C=this._edgeNormals[1]);let E,I;for(E=0;E<4;E++)I=2+E,va.getPointDistance(this._boundingPlanes[I],A)>0&&(f.push(I),m.push(this._planeVertices[I]),C=this._edgeNormals[I]);if(f.length===0)return 0;let x,y;if(f.length===1)return y=this._boundingPlanes[f[0]],x=Kse(va.projectPointOntoPlane(y,A,Jse),m[0],y,C),Z.distance(x,A);if(f.length===2){if(f[0]===0){let M=[this._vertices[4*f[0]+(f[1]-2)],this._vertices[4*f[0]+(f[1]-2+1)%4]];return x=EYe(A,M[0],M[1]),Z.distance(x,A)}let w=Number.MAX_VALUE,Q;for(E=0;E<2;E++)y=this._boundingPlanes[f[E]],x=Kse(va.projectPointOntoPlane(y,A,Jse),m[E],y,this._edgeNormals[f[E]]),Q=Z.distanceSquared(x,A),Q3)return x=Kse(va.projectPointOntoPlane(this._boundingPlanes[1],A,Jse),this._planeVertices[1],this._boundingPlanes[1],this._edgeNormals[1]),Z.distance(x,A);let v=f[1]===2&&f[2]===5?0:1;return f[0]===0?Z.distance(A,this._vertices[(f[1]-2+v)%4]):Z.distance(A,this._vertices[4+(f[1]-2+v)%4])};var RKt=new Z,LKt=new Z;function EYe(o,A,f){let m=Z.subtract(f,A,RKt),C=Z.subtract(o,A,LKt),E=Z.dot(m,C);if(E<=0)return A;let I=Z.dot(m,m);return E>=I?f:(E=E/I,new Z((1-E)*A.x+E*f.x,(1-E)*A.y+E*f.y,(1-E)*A.z+E*f.z))}var FKt=new va(Z.UNIT_X,0);function Kse(o,A,f,m){let C=Number.MAX_VALUE,E,I,x;for(let y=0;y1||Lu(f,"3DTILES_multiple_contents"),I=C&&!E?f.contents[0]:f.content;this._contentHeader=I,this.transform=k(f.transform)?Re.unpack(f.transform):Re.clone(Re.IDENTITY);let x=k(m)?m.computedTransform:o.modelMatrix,y=Re.multiply(x,this.transform,new Re),v=k(m)?m._initialTransform:Re.IDENTITY;this._initialTransform=Re.multiply(v,this.transform,new Re),this.computedTransform=y,this._boundingVolume=this.createBoundingVolume(f.boundingVolume,y),this._boundingVolume2D=void 0;let w;this._contentBoundingVolume=w,this._contentBoundingVolume2D=void 0;let Q;k(f.viewerRequestVolume)&&(Q=this.createBoundingVolume(f.viewerRequestVolume,y)),this._viewerRequestVolume=Q,this.geometricError=f.geometricError,this._geometricError=f.geometricError,k(this._geometricError)||(this._geometricError=k(m)?m._geometricError:o._geometricError,jc._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale();let M;k(f.refine)?((f.refine==="replace"||f.refine==="add")&&jc._deprecationWarning("lowercase-refine",`This tile uses a lowercase refine "${f.refine}". Instead use "${f.refine.toUpperCase()}".`),M=f.refine.toUpperCase()==="REPLACE"?If.REPLACE:If.ADD):k(m)?M=m.refine:M=If.REPLACE,this.refine=M,this.children=[],this.parent=m;let B,D=!1,S,P,R;if(A=fr.createIfNeeded(A),E)S=oc.UNLOADED,P=A.clone();else if(k(I)){let U=I.uri;k(I.url)&&(jc._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),U=I.url),U===""?(jc._deprecationWarning("contentUriEmpty","content.uri property is an empty string, which creates a circular dependency, making this tileset invalid. Omit the content property instead"),B=new WV(o,this),D=!0,S=oc.READY):(S=oc.UNLOADED,P=A.getDerivedResource({url:U}),R=iv.getServerKey(P.getUrlComponent()))}else B=new WV(o,this),D=!0,S=oc.READY;this._content=B,this._contentResource=P,this._contentState=S,this._expiredContent=void 0,this._serverKey=R,this.hasEmptyContent=D,this.hasTilesetContent=!1,this.hasImplicitContent=!1,this.hasImplicitContentMetadata=!1,this.hasMultipleContents=E,this.metadata=PEe(o,f),this.cacheNode=void 0;let T=f.expire,L,F;k(T)&&(L=T.duration,k(T.date)&&(F=jt.fromIso8601(T.date))),this.expireDuration=L,this.expireDate=F,this.lastStyleTime=0,this._optimChildrenWithinParent=zT.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.priorityDeferred=!1,this.implicitTileset=void 0,this.implicitCoordinates=void 0,this.implicitSubtree=void 0,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._clippingPlanesState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=qe.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,this._priorityHolder=this,this._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new jt,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}jc._deprecationWarning=$t;Object.defineProperties(jc.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return ae(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},isVisible:{get:function(){return this._visible&&this._inRequestVolume}},extras:{get:function(){return this._header.extras}},color:{get:function(){return k(this._color)||(this._color=new qe),qe.clone(this._color)},set:function(o){this._color=qe.clone(o,this._color),this._colorDirty=!0}},hasRenderableContent:{get:function(){return!this.hasEmptyContent&&!this.hasTilesetContent&&!this.hasImplicitContent}},contentAvailable:{get:function(){return this.contentReady&&this.hasRenderableContent||k(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===oc.READY}},contentUnloaded:{get:function(){return this._contentState===oc.UNLOADED}},hasUnloadedRenderableContent:{get:function(){return this.hasRenderableContent&&this.contentUnloaded}},contentExpired:{get:function(){return this._contentState===oc.EXPIRED}},contentFailed:{get:function(){return this._contentState===oc.FAILED}},commandsLength:{get:function(){return this._commandsLength}}});var lT=new Z;function GKt(o,A){let{tileset:f,boundingSphere:m}=o,{radius:C,center:E}=m,{camera:I}=A,x=Z.multiplyByScalar(I.directionWC,o._centerZDepth,lT),y=Z.add(I.positionWC,x,lT),v=Z.subtract(y,E,lT);if(Z.magnitude(v)>C){let T=Z.normalize(v,lT),L=Z.multiplyByScalar(T,C,lT),F=Z.add(E,L,lT),U=Z.subtract(F,I.positionWC,lT),N=Z.normalize(U,lT);o._foveatedFactor=1-Math.abs(Z.dot(I.directionWC,N))}else o._foveatedFactor=0;let w=o.refine===If.REPLACE,Q=f.isSkippingLevelOfDetail;if(w&&!Q||!f.foveatedScreenSpaceError||f.foveatedConeSize===1||o._priorityProgressiveResolution&&w&&Q||f._pass===kd.PRELOAD_FLIGHT||f._pass===kd.PRELOAD)return!1;let M=1-Math.cos(I.frustum.fov*.5),B=f.foveatedConeSize*M;if(o._foveatedFactor<=B)return!1;let D=M-B,S=De.clamp((o._foveatedFactor-B)/D,0,1),P=f.foveatedInterpolationCallback(f.foveatedMinimumScreenSpaceErrorRelaxation,f.maximumScreenSpaceError,S),R=o._screenSpaceError===0&&k(o.parent)?o.parent._screenSpaceError*.5:o._screenSpaceError;return f.maximumScreenSpaceError-P<=R}var xYe=new jt;jc.prototype.getScreenSpaceError=function(o,A,f){let m=this._tileset,C=ae(f,1),E=k(this.parent)?this.parent.geometricError:m._scaledGeometricError,I=A?E:this.geometricError;if(I===0)return 0;let{camera:x,context:y}=o,v=x.frustum,w=y.drawingBufferWidth,Q=y.drawingBufferHeight*C,M;if(o.mode===ii.SCENE2D||v instanceof $a){let B=v.offCenterFrustum;k(B)&&(v=B);let D=Math.max(v.top-v.bottom,v.right-v.left)/Math.max(w,Q);M=I/D}else{let B=Math.max(this._distanceToCamera,De.EPSILON7),D=v.sseDenominator;if(M=I*Q/(B*D),m.dynamicScreenSpaceError){let S=m._dynamicScreenSpaceErrorComputedDensity,P=m.dynamicScreenSpaceErrorFactor,R=De.fog(B,S)*P;M-=R}}return M/=o.pixelRatio,M};function HKt(o,A){if(o.progressiveResolutionHeightFraction<=0||o.progressiveResolutionHeightFraction>.5)return!1;let f=A._screenSpaceErrorProgressiveResolution>o._maximumScreenSpaceError;A._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;let m=A.parent,C=o._maximumScreenSpaceError,E=A._screenSpaceErrorProgressiveResolution<=C,I=k(m)&&m._screenSpaceErrorProgressiveResolution>C;return E&&I&&(A._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0,f=!0),f}function VKt(o,A){let f=A.parent,m=k(f)&&(!o.isSkippingLevelOfDetail||A._screenSpaceError===0||f.hasTilesetContent||f.hasImplicitContent)?f._screenSpaceError:A._screenSpaceError;return o.root._screenSpaceError-m}jc.prototype.updateVisibility=function(o){let{parent:A,tileset:f}=this;if(this._updatedVisibilityFrame===f._updatedVisibilityFrame)return;let m=k(A)?A.computedTransform:f.modelMatrix,C=k(A)?A._visibilityPlaneMask:qg.MASK_INDETERMINATE;this.updateTransform(m),this._distanceToCamera=this.distanceToTile(o),this._centerZDepth=this.distanceToTileCenter(o),this._screenSpaceError=this.getScreenSpaceError(o,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(o,!1,f.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(o,C),this._visible=this._visibilityPlaneMask!==qg.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(o),this._priorityReverseScreenSpaceError=VKt(f,this),this._priorityProgressiveResolution=HKt(f,this),this.priorityDeferred=GKt(this,o),this._updatedVisibilityFrame=f._updatedVisibilityFrame};jc.prototype.updateExpiration=function(){if(k(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&!this.hasMultipleContents){let o=jt.now(xYe);jt.lessThan(this.expireDate,o)&&(this._contentState=oc.EXPIRED,this._expiredContent=this._content)}};function zKt(o){if(!k(o.expireDuration))return;let A=jt.now(xYe);jt.addSeconds(A,o.expireDuration,A),k(o.expireDate)?jt.lessThan(o.expireDate,A)&&jt.clone(A,o.expireDate):o.expireDate=jt.clone(A)}function YKt(o){return function(){return o._priority}}jc.prototype.requestContent=function(){if(!this.hasEmptyContent)return this.hasMultipleContents?JKt(this):WKt(this)};function JKt(o){let A=o._content,f=o._tileset;if(!k(A)){let C=Lu(o._header,"3DTILES_multiple_contents")?o._header.extensions["3DTILES_multiple_contents"]:o._header;A=new REe(f,o,o._contentResource.clone(),C),o._content=A}let m=A.requestInnerContents();if(k(m))return o._contentState=oc.LOADING,m.then(C=>{if(!o.isDestroyed()&&k(C))return o._contentState=oc.PROCESSING,A}).catch(C=>{if(!o.isDestroyed())throw o._contentState=oc.FAILED,C})}async function KKt(o,A,f,m,C){let E=o._contentState;o._contentState=oc.LOADING,++A.statistics.numberOfPendingRequests;let I;try{I=await C}catch(x){if(--A.statistics.numberOfPendingRequests,o.isDestroyed())return;if(f.cancelled||f.state===SA.CANCELLED){o._contentState=E,++A.statistics.numberOfAttemptedRequests;return}throw o._contentState=oc.FAILED,x}if(o.isDestroyed()){--A.statistics.numberOfPendingRequests;return}if(f.cancelled||f.state===SA.CANCELLED){o._contentState=E,--A.statistics.numberOfPendingRequests,++A.statistics.numberOfAttemptedRequests;return}try{let x=await qKt(o,I);return--A.statistics.numberOfPendingRequests,o.isDestroyed()?void 0:(m&&(o.expireDate=void 0),o._content=x,o._contentState=oc.PROCESSING,x)}catch(x){if(--A.statistics.numberOfPendingRequests,o.isDestroyed())return;throw o._contentState=oc.FAILED,x}}function WKt(o){let A=o._contentResource.clone(),f=o.contentExpired;f&&A.setQueryParameters({expired:o.expireDate.toString()});let m=new g0({throttle:!0,throttleByServer:!0,type:kx.TILES3D,priorityFunction:YKt(o),serverKey:o._serverKey});o._request=m,A.request=m;let C=o._tileset,E=A.fetchArrayBuffer();if(!k(E)){++C.statistics.numberOfAttemptedRequests;return}return KKt(o,C,m,f,E)}async function qKt(o,A){let f=C4(A),m=o._tileset;m._disableSkipLevelOfDetail=m._disableSkipLevelOfDetail||f.contentType===mm.GEOMETRY||f.contentType===mm.VECTOR,(f.contentType===mm.IMPLICIT_SUBTREE||f.contentType===mm.IMPLICIT_SUBTREE_JSON)&&(o.hasImplicitContent=!0),f.contentType===mm.EXTERNAL_TILESET&&(o.hasTilesetContent=!0);let C,E=Pee[f.contentType];if(o.isDestroyed())return;k(f.binaryPayload)?C=await Promise.resolve(E(m,o,o._contentResource,f.binaryPayload.buffer,0)):C=await Promise.resolve(E(m,o,o._contentResource,f.jsonPayload));let I=o._contentHeader;if(o.hasImplicitContentMetadata){let y=o.implicitSubtree,v=o.implicitCoordinates;C.metadata=y.getContentMetadataView(v,0)}else o.hasImplicitContent||(C.metadata=Ree(m,I));let x=Lee(m,I);return k(x)&&(C.group=new q$({metadata:x})),C}jc.prototype.cancelRequests=function(){this.hasMultipleContents?this._content.cancelRequests():this._request.cancel()};jc.prototype.unloadContent=function(){this.hasRenderableContent&&(this._content=this._content&&this._content.destroy(),this._contentState=oc.UNLOADED,this.lastStyleTime=0,this.clippingPlanesDirty=this._clippingPlanesState===0,this._clippingPlanesState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};var yYe=new si;function NEe(o,A){if(A.mode!==ii.SCENE3D&&!k(o._boundingVolume2D)){let f=o._boundingVolume.boundingSphere,m=si.projectTo2D(f,A.mapProjection,yYe);o._boundingVolume2D=new cD(m.center,m.radius)}return A.mode!==ii.SCENE3D?o._boundingVolume2D:o._boundingVolume}function jKt(o,A){if(A.mode!==ii.SCENE3D&&!k(o._contentBoundingVolume2D)){let f=o._contentBoundingVolume.boundingSphere,m=si.projectTo2D(f,A.mapProjection,yYe);o._contentBoundingVolume2D=new cD(m.center,m.radius)}return A.mode!==ii.SCENE3D?o._contentBoundingVolume2D:o._contentBoundingVolume}jc.prototype.visibility=function(o,A){let f=o.cullingVolume,m=NEe(this,o),C=this._tileset,E=C.clippingPlanes;if(k(E)&&E.enabled){let I=E.computeIntersectionWithBoundingVolume(m,C.clippingPlanesOriginMatrix);if(this._isClipped=I!==Wo.INSIDE,I===Wo.OUTSIDE)return qg.MASK_OUTSIDE}return f.computeVisibilityWithPlaneMask(m,A)};jc.prototype.contentVisibility=function(o){if(!k(this._contentBoundingVolume)||this._visibilityPlaneMask===qg.MASK_INSIDE)return Wo.INSIDE;let A=o.cullingVolume,f=jKt(this,o),m=this._tileset,C=m.clippingPlanes;if(k(C)&&C.enabled){let E=C.computeIntersectionWithBoundingVolume(f,m.clippingPlanesOriginMatrix);if(this._isClipped=E!==Wo.INSIDE,E===Wo.OUTSIDE)return Wo.OUTSIDE}return A.computeVisibility(f)};jc.prototype.distanceToTile=function(o){return NEe(this,o).distanceToCamera(o)};var XKt=new Z;jc.prototype.distanceToTileCenter=function(o){let A=NEe(this,o).boundingVolume,f=Z.subtract(A.center,o.camera.positionWC,XKt);return Z.dot(o.camera.directionWC,f)};jc.prototype.insideViewerRequestVolume=function(o){let A=this._viewerRequestVolume;return!k(A)||A.distanceToCamera(o)===0};var vYe=new Nt,_Ye=new Z,ZKt=new Nt,BYe=new Z,wYe=new hi,$Kt=new MA,Oue=new Re;function e7t(o,A,f){let m=Z.fromElements(o[0],o[1],o[2],BYe),C=Nt.fromArray(o,3,ZKt);m=Re.multiplyByPoint(A,m,m);let E=Re.getMatrix3(A,vYe);return C=Nt.multiply(E,C,C),k(f)?(f.update(m,C),f):new S2(m,C)}function t7t(o,A,f,m){let C=hi.unpack(o,0,wYe),E=o[4],I=o[5],x=MA.fromRectangle(C,E,I,gi.WGS84,$Kt),y=x.center,v=x.halfAxes;A=Re.multiplyTransformation(A,Re.inverseTransformation(f,Oue),Oue),y=Re.multiplyByPoint(A,y,y);let w=Re.getMatrix3(A,vYe);return v=Nt.multiply(w,v,v),k(m)&&m instanceof S2?(m.update(y,v),m):new S2(y,v)}function i7t(o,A,f,m){if(!Re.equalsEpsilon(A,f,De.EPSILON8))return t7t(o,A,f,m);if(k(m))return m;let C=hi.unpack(o,0,wYe);return new TF({rectangle:C,minimumHeight:o[4],maximumHeight:o[5]})}function r7t(o,A,f){let m=Z.fromElements(o[0],o[1],o[2],BYe),C=o[3];m=Re.multiplyByPoint(A,m,m);let E=Re.getScale(A,_Ye),I=Z.maximumComponent(E);return C*=I,k(f)?(f.update(m,C),f):new cD(m,C)}jc.prototype.createBoundingVolume=function(o,A,f){if(!k(o))throw new Ti("boundingVolume must be defined");if(Lu(o,"3DTILES_bounding_volume_S2"))return new FEe(o.extensions["3DTILES_bounding_volume_S2"]);let{box:m,region:C,sphere:E}=o;if(k(m))return e7t(m,A,f);if(k(C))return i7t(o.region,A,this._initialTransform,f);if(k(E))return r7t(E,A,f);throw new Ti("boundingVolume must contain a sphere, region, or box")};jc.prototype.updateTransform=function(o){o=ae(o,Re.IDENTITY);let A=Re.multiplyTransformation(o,this.transform,Oue);if(Re.equals(A,this.computedTransform))return;Re.clone(A,this.computedTransform);let f=this._header,m=this._contentHeader;this._boundingVolume=this.createBoundingVolume(f.boundingVolume,this.computedTransform,this._boundingVolume),k(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(m.boundingVolume,this.computedTransform,this._contentBoundingVolume)),k(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(f.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy()};jc.prototype.updateGeometricErrorScale=function(){let o=Re.getScale(this.computedTransform,_Ye),A=Z.maximumComponent(o);if(this.geometricError=this._geometricError*A,!k(this.parent)){let f=this._tileset;f._scaledGeometricError=f._geometricError*A}};function n7t(o,A,f,m){if(!m.isRender)return;let C=k(o._contentHeader)&&k(o._contentHeader.boundingVolume),E=A.debugShowBoundingVolume||A.debugShowContentBoundingVolume&&!C;if(E){let y;o._finalResolution?o.hasRenderableContent?y=qe.WHITE:y=qe.DARKGRAY:y=qe.YELLOW,k(o._debugBoundingVolume)||(o._debugBoundingVolume=o._boundingVolume.createDebugVolume(y)),o._debugBoundingVolume.update(f);let v=o._debugBoundingVolume.getGeometryInstanceAttributes("outline");v.color=vo.toValue(y,v.color)}else!E&&k(o._debugBoundingVolume)&&(o._debugBoundingVolume=o._debugBoundingVolume.destroy());A.debugShowContentBoundingVolume&&C?(k(o._debugContentBoundingVolume)||(o._debugContentBoundingVolume=o._contentBoundingVolume.createDebugVolume(qe.BLUE)),o._debugContentBoundingVolume.update(f)):!A.debugShowContentBoundingVolume&&k(o._debugContentBoundingVolume)&&(o._debugContentBoundingVolume=o._debugContentBoundingVolume.destroy()),A.debugShowViewerRequestVolume&&k(o._viewerRequestVolume)?(k(o._debugViewerRequestVolume)||(o._debugViewerRequestVolume=o._viewerRequestVolume.createDebugVolume(qe.YELLOW)),o._debugViewerRequestVolume.update(f)):!A.debugShowViewerRequestVolume&&k(o._debugViewerRequestVolume)&&(o._debugViewerRequestVolume=o._debugViewerRequestVolume.destroy());let I=A.debugColorizeTiles&&!o._debugColorizeTiles||k(A._heatmap.tilePropertyName),x=!A.debugColorizeTiles&&o._debugColorizeTiles;I?(A._heatmap.colorize(o,f),o._debugColorizeTiles=!0,o.color=o._debugColor):x&&(o._debugColorizeTiles=!1,o.color=qe.WHITE),o._colorDirty&&(o._colorDirty=!1,o._content.applyDebugSettings(!0,o._color)),x&&A.makeStyleDirty()}function o7t(o,A,f){let m=o._expiredContent;if(!o.hasMultipleContents&&k(m)){if(!o.contentReady){try{m.update(A,f)}catch{}return}o._expiredContent.destroy(),o._expiredContent=void 0}if(k(o.content))try{o.content.update(A,f)}catch(C){throw o._contentState=oc.FAILED,C}}function a7t(o,A){let f=A.clippingPlanes,m=0;k(f)&&o._isClipped&&f.enabled&&(m=f.clippingPlanesState),m!==o._clippingPlanesState&&(o._clippingPlanesState=m,o.clippingPlanesDirty=!0)}jc.prototype.update=function(o,A,f){let{commandList:m}=A,C=m.length;a7t(this,o),n7t(this,o,A,f),o7t(this,o,A);let E=m.length;this._commandsLength=E-C;for(let I=C;IC||f);){let x=I.item;I=I.next,this.unloadTile(o,x,A)}};BN.prototype.trim=function(){this._trimTiles=!0};var OEe=BN;function kee(o){this.tilePropertyName=o,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function Gue(o,A){let f;return A==="_loadTimestamp"?f=jt.toDate(o).getTime():f=o,f}kee.prototype.setReferenceMinimumMaximum=function(o,A,f){this._referenceMinimum[f]=Gue(o,f),this._referenceMaximum[f]=Gue(A,f)};function A7t(o,A){let f=o.tilePropertyName;if(k(f)){let m=Gue(A[f],f);return k(m)?(o._maximum=Math.max(m,o._maximum),o._minimum=Math.min(m,o._minimum),m):(o.tilePropertyName=void 0,m)}}var qse=[new qe(.1,.1,.1,1),new qe(.153,.278,.878,1),new qe(.827,.231,.49,1),new qe(.827,.188,.22,1),new qe(1,.592,.259,1),new qe(1,.843,0,1)];kee.prototype.colorize=function(o,A){let f=this.tilePropertyName;if(!k(f)||!o.contentAvailable||o._selectedFrame!==A.frameNumber)return;let m=A7t(this,o),C=this._previousMinimum,E=this._previousMaximum;if(C===Number.MAX_VALUE||E===-Number.MAX_VALUE)return;let I=E-C+De.EPSILON7,x=De.clamp(m-C,0,I)/I,y=qse.length-1,v=x*y,w=Math.floor(v),Q=Math.ceil(v),M=v-w,B=qse[w],D=qse[Q],S=qe.clone(qe.WHITE);S.red=De.lerp(B.red,D.red,M),S.green=De.lerp(B.green,D.green,M),S.blue=De.lerp(B.blue,D.blue,M),o._debugColor=S};kee.prototype.resetMinimumMaximum=function(){let o=this.tilePropertyName;if(k(o)){let A=this._referenceMinimum[o],f=this._referenceMaximum[o],m=k(A)&&k(f);this._previousMinimum=m?A:this._minimum,this._previousMaximum=m?f:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE}};var GEe=kee;function y4(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.batchTableByteLength=0}y4.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0};function Uee(o,A,f,m){let C=A.innerContents,E=A.pointsLength,I=A.trianglesLength,x=A.featuresLength,y=A.geometryByteLength,v=A.texturesByteLength,w=A.batchTableByteLength;if(m?(o.numberOfFeaturesLoaded+=f?-x:x,o.numberOfPointsLoaded+=f?-E:E,o.geometryByteLength+=f?-y:y,o.texturesByteLength+=f?-v:v,o.batchTableByteLength+=f?-w:w):(o.numberOfFeaturesSelected+=f?-x:x,o.numberOfPointsSelected+=f?-E:E,o.numberOfTrianglesSelected+=f?-I:I),k(C)){let Q=C.length;for(let M=0;M>1)&858993459,o=(o^o>>2)&252645135,o=(o^o>>4)&16711935,o=(o^o>>8)&65535,o}function Xse(o){return o&=153391689,o=(o^o>>2)&51130563,o=(o^o>>4)&50393103,o=(o^o>>8)&4278190335,o=(o^o>>16)&1023,o}eY.encode2D=function(o,A){return(RRe(o)|RRe(A)<<1)>>>0};eY.decode2D=function(o,A){return k(A)||(A=new Array(2)),A[0]=LRe(o),A[1]=LRe(o>>1),A};eY.encode3D=function(o,A,f){return jse(o)|jse(A)<<1|jse(f)<<2};eY.decode3D=function(o,A){return k(A)||(A=new Array(3)),A[0]=Xse(o),A[1]=Xse(o>>1),A[2]=Xse(o>>2),A};var qU=eY;function Bc(o){this.subdivisionScheme=o.subdivisionScheme,this.subtreeLevels=o.subtreeLevels,this.level=o.level,this.x=o.x,this.y=o.y,this.z=void 0,o.subdivisionScheme===d0.OCTREE&&(this.z=o.z)}Object.defineProperties(Bc.prototype,{childIndex:{get:function(){let o=0;return o|=this.x&1,o|=(this.y&1)<<1,this.subdivisionScheme===d0.OCTREE&&(o|=(this.z&1)<<2),o}},mortonIndex:{get:function(){return this.subdivisionScheme===d0.OCTREE?qU.encode3D(this.x,this.y,this.z):qU.encode2D(this.x,this.y)}},tileIndex:{get:function(){let o=this.subdivisionScheme===d0.OCTREE?((1<<3*this.level)-1)/7:((1<<2*this.level)-1)/3,A=this.mortonIndex;return o+A}}});Bc.prototype.getDescendantCoordinates=function(o){let A=this.level+o.level,f=(this.x<>A,m=o.y>>A,C=this.x===f,E=this.y===m;if(this.subdivisionScheme===d0.OCTREE){let I=o.z>>A,x=this.z===I;return C&&E&&x}return C&&E};Bc.prototype.isEqual=function(o){return this.subdivisionScheme===o.subdivisionScheme&&this.subtreeLevels===o.subtreeLevels&&this.level===o.level&&this.x===o.x&&this.y===o.y&&(this.subdivisionScheme===d0.OCTREE?this.z===o.z:!0)};Bc.prototype.isImplicitTilesetRoot=function(){return this.level===0};Bc.prototype.isSubtreeRoot=function(){return this.level%this.subtreeLevels===0};Bc.prototype.isBottomOfSubtree=function(){return this.level%this.subtreeLevels===this.subtreeLevels-1};Bc.prototype.getTemplateValues=function(){let o={level:this.level,x:this.x,y:this.y};return this.subdivisionScheme===d0.OCTREE&&(o.z=this.z),o};var FRe=[0,0,0];Bc.fromMortonIndex=function(o,A,f,m){let C;return o===d0.OCTREE?(C=qU.decode3D(m,FRe),new Bc({subdivisionScheme:o,subtreeLevels:A,level:f,x:C[0],y:C[1],z:C[2]})):(C=qU.decode2D(m,FRe),new Bc({subdivisionScheme:o,subtreeLevels:A,level:f,x:C[0],y:C[1]}))};Bc.fromTileIndex=function(o,A,f){let m,C,E;return o===d0.OCTREE?(m=Math.floor(De.log2(7*f+1)/3),C=((1<<3*m)-1)/7,E=f-C):(m=Math.floor(De.log2(3*f+1)/2),C=((1<<2*m)-1)/3,E=f-C),Bc.fromMortonIndex(o,A,m,E)};var Oee=Bc;function gD(){}gD.selectTiles=function(o,A){ni.throwInstantiationError()};gD.sortChildrenByDistanceToCamera=function(o,A){return A._distanceToCamera===0&&o._distanceToCamera===0?A._centerZDepth-o._centerZDepth:A._distanceToCamera-o._distanceToCamera};gD.canTraverse=function(o){return o.children.length===0?!1:o.hasTilesetContent||o.hasImplicitContent?!o.contentExpired:o._screenSpaceError>o.tileset._maximumScreenSpaceError};gD.selectTile=function(o,A){if(o.contentVisibility(A)===Wo.OUTSIDE)return;let{content:f,tileset:m}=o;f.featurePropertiesDirty?(f.featurePropertiesDirty=!1,o.lastStyleTime=0,m._selectedTilesToStyle.push(o)):o._selectedFrame0;if((o.hasTilesetContent||o.hasImplicitContent)&&f){let E=o.children[0];DYe(E,A),o._visible=E._visible;return}if(g7t(o,A)){o._visible=!1;return}let m=o.refine===If.REPLACE,C=o._optimChildrenWithinParent===zT.USE_OPTIMIZATION;if(m&&C&&f&&!f7t(o,A)){++o.tileset._statistics.numberOfTilesCulledWithChildrenUnion,o._visible=!1;return}}function g7t(o,A){let{parent:f,tileset:m}=o;return!k(f)||f.hasTilesetContent||f.hasImplicitContent||f.refine!==If.ADD?!1:o.getScreenSpaceError(A,!0)<=m._maximumScreenSpaceError}function f7t(o,A){let f=!1,m=o.children;for(let C=0;C0;){w8.stackMaximumLength=Math.max(w8.stackMaximumLength,I.length);let x=I.pop(),y=x.refine===If.ADD,v=x.refine===If.REPLACE,w=m7t(x);w&&C7t(x,I,A),(y||v&&!w)&&(E7t(o,x),C(x,A),I7t(x,A),x.hasRenderableContent&&!x.contentAvailable&&(f=!1)),E(x,A)}return w8.stack.trim(w8.stackMaximumLength),f};function m7t(o){return o.children.length===0?!1:o.hasTilesetContent||o.hasImplicitContent?!o.contentExpired:(o.hasEmptyContent,!0)}function C7t(o,A,f){let{children:m}=o;for(let C=0;C0;){VH.stackMaximumLength=Math.max(VH.stackMaximumLength,x.length);let y=x.pop(),v=y.parent,w=!k(v)||v._refines;y._refines=m(y)?x7t(y,x,A)&&w:!1;let Q=!y._refines&&w;y.hasRenderableContent?y.refine===If.ADD?(Zse(y,A),C(y,A)):y.refine===If.REPLACE&&(C(y,A),Q&&Zse(y,A)):(f._emptyTiles.push(y),C(y,A),Q&&Zse(y,A)),E(y,A),I(y,A)}}function v7t(o,A){let{canTraverse:f,updateTile:m,loadTile:C,touchTile:E}=NC,I=!0,x=zH.stack;for(x.push(o);x.length>0;){zH.stackMaximumLength=Math.max(zH.stackMaximumLength,x.length);let y=x.pop(),v=y.children,w=v.length,Q=!y.hasRenderableContent&&f(y),M=!y.hasRenderableContent&&y.children.length===0;if(!Q&&!y.contentAvailable&&!M&&(I=!1),m(y,A),y.isVisible||(C(y,A),E(y,A)),Q)for(let B=0;B0;){JH.stackMaximumLength=Math.max(JH.stackMaximumLength,E.length);let I=E.pop().children;for(let x=0;xf._depth+o.skipLevels)}function Q7t(o,A,f){let{tileset:m,children:C}=o,{updateTile:E,loadTile:I,touchTile:x}=NC;for(let v=0;vA:o._screenSpaceError>A:!0}function D7t(o,A){let{tileset:f}=o,m=f.immediatelyLoadDesiredLevelOfDetail?Number.MAX_VALUE:Math.max(f.baseScreenSpaceError,f.maximumScreenSpaceError),{canTraverse:C,loadTile:E,visitTile:I,touchTile:x}=NC,y=YH.stack;for(y.push(o);y.length>0;){YH.stackMaximumLength=Math.max(YH.stackMaximumLength,y.length);let v=y.pop();w7t(v,A);let w=v.parent,Q=!k(w)||w._refines;v._refines=C(v)?Q7t(v,y,A)&&Q:!1;let M=!v._refines&&Q;v.hasRenderableContent?v.refine===If.ADD?(hW(v,A),E(v,A)):v.refine===If.REPLACE&&(S7t(v,m)?(E(v,A),M&&hW(v,A)):M?(hW(v,A),E(v,A)):b7t(f,v)&&E(v,A)):(f._emptyTiles.push(v),E(v,A),M&&hW(v,A)),I(v,A),x(v,A)}}function M7t(o,A){let{selectTile:f,canTraverse:m}=NC,{stack:C,ancestorStack:E}=ZQ,I;for(C.push(o);C.length>0||E.length>0;){if(ZQ.stackMaximumLength=Math.max(ZQ.stackMaximumLength,C.length),ZQ.ancestorStackMaximumLength=Math.max(ZQ.ancestorStackMaximumLength,E.length),E.length>0){let v=E.peek();if(v._stackLength===C.length){E.pop(),v!==I&&(v._finalResolution=!1),f(v,A);continue}}let x=C.pop();if(!k(x))continue;let y=m(x);if(x._shouldSelect)if(x.refine===If.ADD)f(x,A);else{if(x._selectionDepth=E.length,x._selectionDepth>0&&(x.tileset.hasMixedContent=!0),I=x,!y){f(x,A);continue}E.push(x),x._stackLength=C.length}if(y){let v=x.children;for(let w=0;w(m._metadataExtension=I,E))}).then(function(E){if(m.isDestroyed())return;m._geometricError=E.geometricError,m._scaledGeometricError=E.geometricError,m._root=m.loadTileset(C,E);let I=k(E.asset.gltfUpAxis)?ud.fromName(E.asset.gltfUpAxis):ud.Y,x=ae(o.modelUpAxis,I),y=ae(o.modelForwardAxis,ud.X),v=E.asset;m._asset=v,m._properties=E.properties,m._extensionsUsed=E.extensionsUsed,m._extensions=E.extensions,m._modelUpAxis=x,m._modelForwardAxis=y,m._extras=E.extras;let w=v.extras;if(k(w)&&k(w.cesium)&&k(w.cesium.credits)){let S=w.cesium.credits,P=m._credits;k(P)||(P=[],m._credits=P);for(let R=0;RTu._defaultMinTerrainHeight&&(m._initialClippingPlanesOriginMatrix=Vr.eastNorthUpToFixedFrame(Q)),m._clippingPlanesOriginMatrix=Re.clone(m._initialClippingPlanesOriginMatrix);let B=Lt.fromCartesian(m.boundingSphere.center),D=Z.fromRadians(B.longitude,B.latitude,0);return m._matMW=Vr.eastNorthUpToFixedFrame(D),m._flattenOriginPoint=D,m._ready=!0,m}),g4.FlattenEXInit(this)}}gu.prototype.isAvailable=function(o){let A=this._availability;return!k(A)||A.contains(o)};Object.defineProperties(gu.prototype,{availability:ox("availability"),definitionChanged:{get:function(){return this._definitionChanged}},isCesium3DTileset:{get:function(){return!0}},asset:{get:function(){return this._asset}},extensions:{get:function(){return this._extensions}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(o){AI.setOwner(o,this,"_clippingPlanes")}},properties:{get:function(){return this._properties}},ready:{get:function(){return $t("Cesium3DTileset.ready","Cesium3DTileset.ready was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use Cesium3DTileset.fromUrl instead."),k(this._root)}},readyPromise:{get:function(){return $t("Cesium3DTileset.readyPromise","Cesium3DTileset.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use Cesium3DTileset.fromUrl instead."),this._readyPromise}},tilesLoaded:{get:function(){return this._tilesLoaded}},resource:{get:function(){return this._resource}},basePath:{get:function(){return $t("Cesium3DTileset.basePath","Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead."),this._basePath}},style:{get:function(){return this._styleEngine.style},set:function(o){this._styleEngine.style=o}},customShader:{get:function(){return this._customShader},set:function(o){this._customShader=o}},hasMixedContent:{get:function(){return this._hasMixedContent},set:function(o){this._hasMixedContent=o}},isSkippingLevelOfDetail:{get:function(){return this.skipLevelOfDetail&&!k(this._classificationType)&&!this._disableSkipLevelOfDetail&&!this._allTilesAdditive}},metadataExtension:{get:function(){return this._metadataExtension}},metadata:{get:function(){if(k(this._metadataExtension))return this._metadataExtension.tileset}},schema:{get:function(){if(k(this._metadataExtension))return this._metadataExtension.schema}},maximumScreenSpaceError:{get:function(){return this._maximumScreenSpaceError},set:function(o){this._maximumScreenSpaceError=o}},maximumMemoryUsage:{get:function(){return this._maximumMemoryUsage},set:function(o){this._maximumMemoryUsage=o}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(o){this._pointCloudShading=o}},root:{get:function(){return this._root}},boundingSphere:{get:function(){return this._root.updateTransform(this._modelMatrix),this._root.boundingSphere}},modelMatrix:{get:function(){return this._modelMatrix},set:function(o){this._modelMatrix=Re.clone(o,this._modelMatrix)}},timeSinceLoad:{get:function(){return this._timeSinceLoad}},totalMemoryUsageInBytes:{get:function(){let o=this._statistics;return o.texturesByteLength+o.geometryByteLength+o.batchTableByteLength}},clippingPlanesOriginMatrix:{get:function(){return k(this._clippingPlanesOriginMatrix)?(this._clippingPlanesOriginMatrixDirty&&(Re.multiply(this.root.computedTransform,this._initialClippingPlanesOriginMatrix,this._clippingPlanesOriginMatrix),this._clippingPlanesOriginMatrixDirty=!1),this._clippingPlanesOriginMatrix):Re.IDENTITY}},styleEngine:{get:function(){return this._styleEngine}},statistics:{get:function(){return this._statistics}},classificationType:{get:function(){return this._classificationType}},ellipsoid:{get:function(){return this._ellipsoid}},foveatedConeSize:{get:function(){return this._foveatedConeSize},set:function(o){this._foveatedConeSize=o}},foveatedMinimumScreenSpaceErrorRelaxation:{get:function(){return this._foveatedMinimumScreenSpaceErrorRelaxation},set:function(o){this._foveatedMinimumScreenSpaceErrorRelaxation=o}},extras:{get:function(){return this._extras}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(o){o!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=o,this._shouldDestroyImageBasedLighting=!1)}},vectorClassificationOnly:{get:function(){return this._vectorClassificationOnly}},vectorKeepDecodedPositions:{get:function(){return this._vectorKeepDecodedPositions}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(o){this._showCreditsOnScreen=o}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(o){typeof o=="number"&&(o=`featureId_${o}`),this._featureIdLabel=o}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(o){typeof o=="number"&&(o=`instanceFeatureId_${o}`),this._instanceFeatureIdLabel=o}},underGroundMode:{get:function(){return this._underGroundMode.enabled},set:function(o){this._underGroundMode.enabled=o,k(this._underGroundCustomShader)||(this._underGroundCustomShader=gu.createUnderGroundCustomShader()),o?(this._otherCustomShader=this.customShader,this.customShader=this._underGroundCustomShader):this.customShader=this._otherCustomShader,this._underGroundCustomShader&&this._underGroundCustomShader.uniforms&&this._underGroundCustomShader.uniforms.u_underGroundModel&&(this._underGroundCustomShader.uniforms.u_underGroundModel.value=o)}},underGroundModeAlpha:{get:function(){k(this._underGroundCustomShader)||(this._underGroundCustomShader=gu.createUnderGroundCustomShader());let o=this._underGroundCustomShader;return o&&o.uniforms&&o.uniforms.u_underGroundModelAlpha?o.uniforms.u_underGroundModelAlpha.value:0},set:function(o){k(this._underGroundCustomShader)||(this._underGroundCustomShader=gu.createUnderGroundCustomShader());let A=this._underGroundCustomShader;A&&A.uniforms&&A.uniforms.u_underGroundModelAlpha&&(A.uniforms.u_underGroundModelAlpha.value=o)}},underGroundModePosition:{get:function(){k(this._underGroundCustomShader)||(this._underGroundCustomShader=gu.createUnderGroundCustomShader());let o=this._underGroundCustomShader;return o&&o.uniforms&&o.uniforms.u_underGroundModelPosition?o.uniforms.u_underGroundModelPosition.value:new Z(0,-0,0)},set:function(o){let A=this._underGroundCustomShader;A&&A.uniforms&&A.uniforms.u_underGroundModelPosition&&(A.uniforms.u_underGroundModelPosition.value=o)}},underGroundModeNormal:{get:function(){k(this._underGroundCustomShader)||(this._underGroundCustomShader=gu.createUnderGroundCustomShader());let o=this._underGroundCustomShader;return o&&o.uniforms&&o.uniforms.u_underGroundModelNormal?o.uniforms.u_underGroundModelNormal.value:new Z(0,-0,0)},set:function(o){let A=this._underGroundCustomShader;A&&A.uniforms&&A.uniforms.u_underGroundModelNormal&&(A.uniforms.u_underGroundModelNormal.value=o)}},useCustomCullingVolume:{get:function(){return this._useCustomCullingVolume},set:function(o){this._useCustomCullingVolume=o}},cullingDistance:{get:function(){return this._cullingDistance},set:function(o){this._cullingDistance=o}},useCameraHeightRangeLimit:{get:function(){return this._useCameraHeightRangeLimit},set:function(o){this._useCameraHeightRangeLimit=o}},cameraHeightRange:{get:function(){return this._cameraHeightRange},set:function(o){this._cameraHeightRange=o}}});gu.createUnderGroundCustomShader=function(){return new pB({uniforms:{u_underGroundModel:{type:Yo.BOOL,value:!0},u_underGroundModelAlpha:{type:Yo.FLOAT,value:.8},u_underGroundModelPosition:{type:Yo.VEC3,value:new Z(0,0,20)},u_underGroundModelNormal:{type:Yo.VEC3,value:new Z(0,0,1)}},fragmentShaderText:` uniform mat4 u_underGroundModeMatrix; void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { if(!u_underGroundModel) return; vec3 transNor = (u_underGroundModeMatrix * vec4(u_underGroundModelNormal, 0.0)).xyz; vec3 transPos = (u_underGroundModeMatrix * vec4(u_underGroundModelPosition, 1.0)).xyz; vec3 relectPos = fsInput.attributes.positionEC - transPos; float d = dot(transNor, relectPos); #ifdef TRANSLUCENT_PLANES if(d < 0.0) discard; material.alpha *= u_underGroundModelAlpha; #else if(d > 0.0) discard; #endif }`})};gu.fromIonAssetId=async function(o,A){let f=await jy.fromAssetId(o);return gu.fromUrl(f,A)};gu.fromUrl=async function(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=fr.createIfNeeded(o),m;f.extension==="json"?m=f.getBaseUri(!0):f.isDataUri&&(m="");let C=await gu.loadJson(f),E=await RYe(f,C),I=new gu(A);I._resource=f,I._url=f.url,I._basePath=m,I._metadataExtension=E,I._geometricError=C.geometricError,I._scaledGeometricError=C.geometricError;let x=C.asset;I._asset=x,I._extras=C.extras;let y=f.credits;k(y)||(y=[]);let v=x.extras;if(k(v)&&k(v.cesium)&&k(v.cesium.credits)){let S=v.cesium.credits;for(let P=0;PTu._defaultMinTerrainHeight&&(I._initialClippingPlanesOriginMatrix=Vr.eastNorthUpToFixedFrame(B)),I._clippingPlanesOriginMatrix=Re.clone(I._initialClippingPlanesOriginMatrix),I._readyPromise=Promise.resolve(I),I._ready=!0,I};gu.loadJson=function(o){return fr.createIfNeeded(o).fetchJson()};gu.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()};gu.prototype.loadTileset=function(o,A,f){let m=A.asset;if(!k(m))throw new Ti("Tileset must have an asset property.");if(m.version!=="0.0"&&m.version!=="1.0"&&m.version!=="1.1")throw new Ti("The tileset must be 3D Tiles version 0.0, 1.0, or 1.1");k(A.extensionsRequired)&&gu.checkSupportedExtensions(A.extensionsRequired);let C=this._statistics,E=m.tilesetVersion;k(E)&&(this._basePath+=`?v=${E}`,o=o.clone(),o.setQueryParameters({v:E}));let I=NRe(this,o,A.root,f);k(f)&&(f.children.push(I),I._depth=f._depth+1);let x=[];for(x.push(I);x.length>0;){let y=x.pop();++C.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&y.refine===If.ADD;let v=y._header.children;if(k(v))for(let w=0;wP.minimumRadius){let L=Lt.fromCartesian(T,P,T7t);f=Z.normalize(x.positionWC,kRe),m=x.directionWC,C=x.positionCartographic.height,E=0,I=L.height*2}else{let L=Re.multiplyByPoint(S,x.positionWC,L7t);if(f=Z.UNIT_Z,m=Re.multiplyByPointAsVector(S,x.directionWC,F7t),m=Z.normalize(m,m),C=L.z,v instanceof S2){let F=y._header.boundingVolume.box[11];E=T.z-F,I=T.z+F}else if(v instanceof cD){let F=R.radius;E=T.z-F,I=T.z+F}}}let w=o.dynamicScreenSpaceErrorHeightFalloff,Q=E+(I-E)*w,M=I,B=De.clamp((C-Q)/(M-Q),0,1),D=1-Math.abs(Z.dot(m,f));D=D*(1-B),o._dynamicScreenSpaceErrorComputedDensity=o.dynamicScreenSpaceErrorDensity*D}function k7t(o,A){if(A.hasEmptyContent)return;let{statistics:f}=o,m=A.contentExpired,C=A.requestContent();k(C)&&(C.then(E=>{!k(E)||A.isDestroyed()||o.isDestroyed()||(o._processingQueue.push(A),++f.numberOfTilesProcessing)}).catch(E=>{LYe(E,o,A)}),m&&(A.hasTilesetContent||A.hasImplicitContent?K7t(o,A):(f.decrementLoadCounts(A.content),--f.numberOfTilesWithContentReady)),o._requestedTilesInFlight.push(A))}function U7t(o,A){return o._priority-A._priority}gu.prototype.postPassesUpdate=function(o){k(this._root)&&(O7t(this,o),q7t(this,o),this._cache.unloadTiles(this,NYe),this._styleApplied&&this._styleEngine.resetDirty(),this._styleApplied=!1)};gu.prototype.prePassesUpdate=function(o){if(!k(this._root))return;V7t(this,o);let A=this._clippingPlanes;this._clippingPlanesOriginMatrixDirty=!0,k(A)&&A.enabled&&A.update(o),k(this._loadTimestamp)||(this._loadTimestamp=jt.clone(o.time)),this._timeSinceLoad=Math.max(jt.secondsDifference(o.time,this._loadTimestamp)*1e3,0),this.dynamicScreenSpaceError&&N7t(this,o),o.newFrame&&this._cache.reset()};function O7t(o,A){let f=o._requestedTilesInFlight,m=0;for(let C=0;C=1;if(E._contentState!==oc.LOADING){++m;continue}else if(I){E.cancelRequests(),++m;continue}m>0&&(f[C-m]=E)}f.length-=m}function G7t(o){let A=o._requestedTiles;A.sort(U7t);for(let f=0;f0?A.tileFailed.raiseEvent({url:m,message:C}):(console.log(`A 3D tile failed to load: ${m}`),console.log(`Error: ${C}`))}function H7t(o){let A=o._processingQueue,f=0;for(let m=0;m0&&(A[m-f]=C)}A.length-=f}function V7t(o,A){H7t(o);let f=o._processingQueue,m=o._statistics,C;for(let E=0;E0&&(m+=` Points: ${o.content.pointsLength}`,C++),o.content.trianglesLength>0&&(m+=` Triangles: ${o.content.trianglesLength}`,C++),m+=` Features: ${o.content.featuresLength}`,C++),A.debugShowMemoryUsage&&(m+=` Texture Memory: ${URe(o.content.texturesByteLength)}`,m+=` Geometry Memory: ${URe(o.content.geometryByteLength)}`,C+=2),A.debugShowUrl)if(o.hasMultipleContents){m+=` Urls:`;let I=o.content.innerContentUrls;for(let x=0;x0;o._backfaceCommands.length=0,x&&(k(o._stencilClearCommand)||(o._stencilClearCommand=new QA({stencil:0,pass:zi.CESIUM_3D_TILE,renderState:Hr.fromCache({stencilMask:No.SKIP_LOD_MASK})})),m.push(o._stencilClearCommand));let{statistics:y,tileVisible:v}=o,w=f.isRender,Q=m.length;for(let D=0;D=0;--P)m[Q+S+P]=m[Q+P];for(let P=0;P0&&o._pointCloudEyeDomeLighting.update(A,E,o.pointCloudShading,o.boundingSphere),o.debugShowGeometricError||o.debugShowRenderingStatistics||o.debugShowMemoryUsage||o.debugShowUrl?(k(o._tileDebugLabels)||(o._tileDebugLabels=new iP),Y7t(o,A)):o._tileDebugLabels=o._tileDebugLabels&&o._tileDebugLabels.destroy())}var FYe=[];function K7t(o,A){let f=A,m=FYe;for(m.push(A);m.length>0;){A=m.pop();let C=A.children;for(let E=0;Ethis._cameraHeightRange.y)return}this.updateForPass(o,o.tilesetPassState)};gu.prototype.updateForPass=function(o,A){let f=A.pass;if(f===kd.PRELOAD&&(!this.preloadWhenHidden||this.show)||f===kd.PRELOAD_FLIGHT&&(!this.preloadFlightDestinations||!this.show&&!this.preloadWhenHidden)||f===kd.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show))return;let m=o.commandList,C=o.camera,E=o.cullingVolume;A.ready=!1;let I=kd.getPassOptions(f),x=I.ignoreCommands,y=ae(A.commandList,m),v=y.length;o.commandList=y,o.camera=ae(A.camera,C),o.cullingVolume=ae(A.cullingVolume,E),C.frustum.farForTileset=this._cullingDistance,this._useCustomCullingVolume&&(o.cullingVolume=o.cullingVolumeForTileset);let w=this._statisticsPerPass[f];(this.show||x)&&(this._pass=f,A.ready=Z7t(this,o,w,I)),x&&(y.length=v),o.commandList=m,o.camera=C,o.cullingVolume=E};gu.prototype.hasExtension=function(o){return k(this._extensionsUsed)?this._extensionsUsed.indexOf(o)>-1:!1};gu.prototype.isDestroyed=function(){return!1};gu.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),k(this._root)){let o=FYe;for(o.push(this._root);o.length>0;){let A=o.pop();A.destroy();let f=A.children;for(let m=0;m{if(!S._childrenAreLoaded){let P=S._tileset._baseResource,R="./data/path/"+S._header.content.uri,T=P.getDerivedResource({url:R});for(let L=0;L> 11) & 0x1f; let green = (value >> 5) & 0x3f; let blue = value & 0x1f; colour[offset + 0] = ( red << 3 ) | ( red >> 2 ); colour[offset + 1] = ( green << 2 ) | ( green >> 4 ); colour[offset + 2] = ( blue << 3 ) | ( blue >> 2 ); colour[offset + 3] = 255; return value; } function DecompressColour(rgba, block, nOffset, isDxt1) { let codes = new Uint8Array(16); let a = Unpack565(block[nOffset + 0], block[nOffset + 1], codes, 0); let b = Unpack565(block[nOffset + 2], block[nOffset + 3], codes, 4); for (let i = 0; i < 3; i++) { let c = codes[i]; let d = codes[4 + i]; if (isDxt1 && a <= b) { codes[8 + i] = ( c + d ) / 2; codes[12 + i] = 0; } else { codes[8 + i] = ( 2 * c + d ) / 3; codes[12 + i] = ( c + 2 * d ) / 3; } } codes[8 + 3] = 255; codes[12 + 3] = ( isDxt1 && a <= b ) ? 0 : 255; let indices = new Uint8Array(16); for (let i = 0; i < 4; ++i) { let packed = block[nOffset + 4 + i]; indices[4 * i + 0] = packed & 0x3; indices[4 * i + 1] = ( packed >> 2 ) & 0x3; indices[4 * i + 2] = ( packed >> 4 ) & 0x3; indices[4 * i + 3] = ( packed >> 6 ) & 0x3; } for (let i = 0; i < 16; ++i) { let offset = 4 * indices[i]; for (let j = 0; j < 4; ++j) rgba[4 * i + j] = codes[offset + j]; } } function DecompressAlphaDxt3(rgba, block, nOffset) { // unpack the alpha values pairwise for (let i = 0; i < 8; ++i) { // quantise down to 4 bits let quant = bytes[nOffset + i]; // unpack the values let lo = quant & 0x0f; let hi = quant & 0xf0; // convert back up to bytes rgba[8 * i + 3] = lo | ( lo << 4 ); rgba[8 * i + 7] = hi | ( hi >> 4 ); } } function DecompressAlphaDxt5(rgba, block, nOffset) { let alpha0 = block[nOffset + 0]; let alpha1 = block[nOffset + 1]; let codes = new Uint8Array(8); codes[0] = alpha0; codes[1] = alpha1; if (alpha0 <= alpha1) { // use 5-alpha codebook for (let i = 1; i < 5; ++i) codes[1 + i] = ( ( 5 - i ) * alpha0 + i * alpha1 ) / 5; codes[6] = 0; codes[7] = 255; } else { // use 7-alpha codebook for (let i = 1; i < 7; ++i) codes[1 + i] = ( ( 7 - i ) * alpha0 + i * alpha1 ) / 7; } let indices = new Uint8Array(16); nOffset = nOffset + 2; let nBegin = 0; for (let i = 0; i < 2; ++i) { // grab 3 bytes let value = 0; for (let j = 0; j < 3; ++j) { let byte = block[nOffset++]; value |= ( byte << 8 * j ); } // unpack 8 3-bit values from it for (let j = 0; j < 8; ++j) { let index = ( value >> 3 * j ) & 0x7; indices[nBegin++] = index; } } for (let i = 0; i < 16; ++i) rgba[4 * i + 3] = codes[indices[i]]; } function Decompress(rgba, block, nOffset, flags) { let nOffset2 = 0; if (( flags & ( kDxt3 | kDxt5 ) ) != 0) nOffset2 = 8; DecompressColour(rgba, block, nOffset + nOffset2, ( flags & kDxt1 ) != 0); if (( flags & kDxt3 ) != 0) { DecompressAlphaDxt3(rgba, block, nOffset); } else if (( flags & kDxt5 ) != 0) { DecompressAlphaDxt5(rgba, block, nOffset); } } function DecompressImage565(rgb565, width, height, blocks) { let c = new Uint16Array(4); let dst = rgb565; let m = 0; let dstI = 0; let i = 0; let r0 = 0, g0 = 0, b0 = 0, r1 = 0, g1 = 0, b1 = 0; let blockWidth = width / 4; let blockHeight = height / 4; for (let blockY = 0; blockY < blockHeight; blockY++) { for (let blockX = 0; blockX < blockWidth; blockX++) { // flip Y i = 4 * ((blockHeight - blockY) * blockWidth + blockX); c[0] = blocks[i]; c[1] = blocks[i + 1]; r0 = c[0] & 0x1f; g0 = c[0] & 0x7e0; b0 = c[0] & 0xf800; r1 = c[1] & 0x1f; g1 = c[1] & 0x7e0; b1 = c[1] & 0xf800; // Interpolate between c0 and c1 to get c2 and c3. ~ // Note that we approximate 1/3 as 3/8 and 2/3 as 5/8 for // speed. This also appears to be what the hardware DXT // decoder in many GPUs does :) c[2] = ((5 * r0 + 3 * r1) >> 3) | (((5 * g0 + 3 * g1) >> 3) & 0x7e0) | (((5 * b0 + 3 * b1) >> 3) & 0xf800); c[3] = ((5 * r1 + 3 * r0) >> 3) | (((5 * g1 + 3 * g0) >> 3) & 0x7e0) | (((5 * b1 + 3 * b0) >> 3) & 0xf800); m = blocks[i + 2]; dstI = (blockY * 4) * width + blockX * 4; dst[dstI+2] = c[m & 0x3]; dst[dstI + 1] = c[(m >> 2) & 0x3]; dst[dstI + 0] = c[(m >> 4) & 0x3]; dst[dstI + 3] = c[(m >> 6) & 0x3]; dstI += width; dst[dstI+2] = c[(m >> 8) & 0x3]; dst[dstI + 1] = c[(m >> 10) & 0x3]; dst[dstI + 0] = c[(m >> 12) & 0x3]; dst[dstI + 3] = c[(m >> 14)]; m = blocks[i + 3]; dstI += width; dst[dstI+2] = c[m & 0x3]; dst[dstI + 1] = c[(m >> 2) & 0x3]; dst[dstI + 0] = c[(m >> 4) & 0x3]; dst[dstI + 3] = c[(m >> 6) & 0x3]; dstI += width; dst[dstI+2] = c[(m >> 8) & 0x3]; dst[dstI + 1] = c[(m >> 10) & 0x3]; dst[dstI + 0] = c[(m >> 12) & 0x3]; dst[dstI + 3] = c[(m >> 14)]; } } return dst; } function DecompressImage(rgba, width, height, blocks, flags) { let bytesPerBlock = ( ( flags & kDxt1 ) != 0 ) ? 8 : 16; let nOffset = 0; for (let y = 0; y < height; y += 4) { for (let x = 0; x < width; x += 4) { let targetRgba = new Uint8Array(4 * 16); Decompress(targetRgba, blocks, nOffset, flags); let nOffsetTarget = 0; for (let py = 0; py < 4; ++py) { for (let px = 0; px < 4; ++px) { let sx = x + px; let sy = y + py; if (sx < width && sy < height) { // flip Y let nBegin = 4 * ( width * (height - sy) + sx ); rgba[nBegin+2] = targetRgba[nOffsetTarget++] rgba[nBegin+1] = targetRgba[nOffsetTarget++] rgba[nBegin+0] = targetRgba[nOffsetTarget++] rgba[nBegin+3] = targetRgba[nOffsetTarget++] } else { nOffsetTarget += 4; } } } // advance nOffset += bytesPerBlock; } } } function DXTTextureDecode(options){ } DXTTextureDecode.decode = function(out, width, height, block, format){ if (out == null || block == null || height == 0 || width == 0) { return; } let flags = 0; //\u6709alpha\u901A\u9053,\u8F6C\u4E3ARGBA\uFF0C\u5426\u5219\u8F6C\u4E3Argb565 if (format > S3MPixelFormat.BGR || format === S3MPixelFormat.LUMINANCE_ALPHA) { flags = kDxt5; } else { flags = kDxt1 | krgb565; } if ((flags & kDxt1) && (flags & krgb565)) { DecompressImage565(out, width, height, block); } else { DecompressImage(out, width, height, block, flags); } }; // --------------------- DXT decode S3MModelParser.prototype.parseString = function(buffer, view, bytesOffset) { let length = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let stringBufferView = new Uint8Array(buffer, bytesOffset, length); let string = this.getStringFromTypedArray(stringBufferView); bytesOffset += length; return { string: string, bytesOffset: bytesOffset } }; S3MModelParser.prototype.parseGeode = function(buffer, view, bytesOffset, geodes) { let geode = {}; let skeletonNames = []; let geoMatrix = new Array(16); for(let i = 0; i < 16; i++) { geoMatrix[i] = view.getFloat64(bytesOffset, true); bytesOffset += Float64Array.BYTES_PER_ELEMENT; } geode.matrix = geoMatrix; geode.skeletonNames = skeletonNames; let skeletonCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < skeletonCount; i++) { let res = this.parseString(buffer, view, bytesOffset); skeletonNames.push(res.string); bytesOffset = res.bytesOffset; } geodes.push(geode); return bytesOffset; }; S3MModelParser.prototype.parsePageLOD = function(buffer, view, bytesOffset, pageLods) { let pageLOD = {}; pageLOD.rangeList = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; pageLOD.rangeMode = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let center = {}; center.x = view.getFloat64(bytesOffset, true); bytesOffset += Float64Array.BYTES_PER_ELEMENT; center.y = view.getFloat64(bytesOffset, true); bytesOffset += Float64Array.BYTES_PER_ELEMENT; center.z = view.getFloat64(bytesOffset, true); bytesOffset += Float64Array.BYTES_PER_ELEMENT; let radius = view.getFloat64(bytesOffset, true); bytesOffset += Float64Array.BYTES_PER_ELEMENT; pageLOD.boundingSphere = { center: center, radius: radius }; let res = this.parseString(buffer, view, bytesOffset); let strChildTile = res.string; bytesOffset = res.bytesOffset; let index = strChildTile.indexOf('Geometry'); if(index !== -1) { let ignoreString = strChildTile.substring(index); strChildTile = strChildTile.replace(ignoreString, ''); } pageLOD.childTile = strChildTile; pageLOD.geodes = []; let geodeCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < geodeCount; i++) { bytesOffset = this.parseGeode(buffer, view, bytesOffset, pageLOD.geodes); } pageLods.push(pageLOD); return bytesOffset; }; S3MModelParser.prototype.parseGroupNode = function(buffer, view, bytesOffset, result) { let groupNode = {}; let pageLods = []; bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let count = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { bytesOffset = this.parsePageLOD(buffer, view, bytesOffset, pageLods); } groupNode.pageLods = pageLods; let align = bytesOffset % 4; if(align !== 0) { bytesOffset += (4 - align); } result.groupNode = groupNode; return bytesOffset; }; S3MModelParser.prototype.parseVertex = function(buffer, view, bytesOffset, vertexPackage) { let verticesCount = view.getUint32(bytesOffset, true); vertexPackage.verticesCount = verticesCount; bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if(bytesOffset <= 0) { return bytesOffset; } let vertexDimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let vertexStride = view.getUint16(bytesOffset, true); vertexStride = vertexDimension * Float32Array.BYTES_PER_ELEMENT; bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let byteLength = verticesCount * vertexDimension * Float32Array.BYTES_PER_ELEMENT; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation['aPosition'] = attributes.length; let vertexBuffer = new Uint8Array(buffer).subarray(bytesOffset, bytesOffset + byteLength); attributes.push({ index: attrLocation['aPosition'], componentsPerAttribute: vertexDimension, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, offsetInBytes: bytesOffset, strideInBytes: vertexStride, byteLength: byteLength, normalize: false, typedArray: vertexBuffer }); bytesOffset += byteLength; return bytesOffset; }; S3MModelParser.prototype.parseNormal = function(buffer, view, bytesOffset, vertexPackage) { let normalCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if(normalCount <= 0) { return bytesOffset; } let normalDimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let normalStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let byteLength = normalCount * normalDimension * Float32Array.BYTES_PER_ELEMENT; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation['aNormal'] = attributes.length; attributes.push({ index: attrLocation['aNormal'], componentsPerAttribute: normalDimension, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, offsetInBytes: bytesOffset, strideInBytes: normalStride, byteLength: byteLength, normalize: false }); bytesOffset += byteLength; return bytesOffset; }; S3MModelParser.prototype.parseVertexColor = function(buffer, view, bytesOffset, vertexPackage) { let colorCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let verticesCount = vertexPackage.verticesCount; let vertexColor; if(colorCount > 0) { let colorStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; bytesOffset += Uint8Array.BYTES_PER_ELEMENT * 2; let byteLength = colorCount * Uint8Array.BYTES_PER_ELEMENT * 4; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation['aColor'] = attributes.length; attributes.push({ index: attrLocation['aColor'], typedArray: vertexColor, componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.UNSIGNED_BYTE, offsetInBytes: bytesOffset, strideInBytes: 4, byteLength: byteLength, normalize: true }); bytesOffset += byteLength; } return bytesOffset; }; S3MModelParser.prototype.parseSecondColor = function(buffer, view, bytesOffset, vertexPackage) { let secondColorCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if(secondColorCount <= 0) { return bytesOffset; } let secondColorStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; bytesOffset += Uint8Array.BYTES_PER_ELEMENT * 2; let byteLength = secondColorCount * Uint8Array.BYTES_PER_ELEMENT * 4; bytesOffset += byteLength; return bytesOffset; }; S3MModelParser.prototype.parseTexCoord = function(buffer, view, bytesOffset, vertexPackage) { let count = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; bytesOffset += Uint16Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { let texCoordCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let dimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let texCoordStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let byteLength = texCoordCount * dimension * Float32Array.BYTES_PER_ELEMENT; let str = 'aTexCoord' + i; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation[str] = attributes.length; attributes.push({ index: attrLocation[str], componentsPerAttribute: dimension, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, offsetInBytes: bytesOffset, strideInBytes: dimension * Float32Array.BYTES_PER_ELEMENT, byteLength: byteLength, normalize: false }); bytesOffset += byteLength; } return bytesOffset; }; S3MModelParser.prototype.parseInstanceInfo = function(buffer, view, bytesOffset, vertexPackage) { let count = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; for(let i = 0; i < count; i++) { let texCoordCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let texDimensions = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let texCoordStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let byteLength = texCoordCount * texDimensions * Float32Array.BYTES_PER_ELEMENT; if(texDimensions === 17 || texDimensions === 29) { let instanceBuffer = new Uint8Array(buffer, bytesOffset, byteLength); vertexPackage.instanceCount = texCoordCount; vertexPackage.instanceMode = texDimensions; vertexPackage.instanceBuffer = instanceBuffer; vertexPackage.instanceIndex = 1; let len = texDimensions * texCoordCount * 4; let vertexColorInstance = instanceBuffer.slice(0, len); vertexPackage.vertexColorInstance = vertexColorInstance; let byteStride; if(texDimensions === 17) { byteStride = Float32Array.BYTES_PER_ELEMENT * 17; attrLocation['uv2'] = attributes.length; attributes.push({ index: attrLocation['uv2'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 0, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv3'] = attributes.length; attributes.push({ index: attrLocation['uv3'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 4 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv4'] = attributes.length; attributes.push({ index: attrLocation['uv4'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 8 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['secondary_colour'] = attributes.length; attributes.push({ index: attrLocation['secondary_colour'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 12 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv6'] = attributes.length; attributes.push({ index: attrLocation['uv6'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.UNSIGNED_BYTE, normalize: true, offsetInBytes: 16 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); } else if(texDimensions === 29) { byteStride = Float32Array.BYTES_PER_ELEMENT * 29; attrLocation['uv1'] = attributes.length; attributes.push({ index: attrLocation['uv1'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 0, strideInBytes: byteStride, instanceDivisor: 1, byteLength: byteLength }); attrLocation['uv2'] = attributes.length; attributes.push({ index: attrLocation['uv2'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 4 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv3'] = attributes.length; attributes.push({ index: attrLocation['uv3'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 8 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv4'] = attributes.length; attributes.push({ index: attrLocation['uv4'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 12 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv5'] = attributes.length; attributes.push({ index: attrLocation['uv5'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 16 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv6'] = attributes.length; attributes.push({ index: attrLocation['uv6'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 20 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv7'] = attributes.length; attributes.push({ index: attrLocation['uv7'], componentsPerAttribute: 3, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 24 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['secondary_colour'] = attributes.length; attributes.push({ index: attrLocation['secondary_colour'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.UNSIGNED_BYTE, normalize: true, offsetInBytes: 27 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv9'] = attributes.length; attributes.push({ index: attrLocation['uv9'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.UNSIGNED_BYTE, normalize: true, offsetInBytes: 28 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); } } else { let len = texCoordCount * texDimensions; vertexPackage.instanceBounds = new Float32Array(len); for(let k = 0; k < len; k++) { vertexPackage.instanceBounds[k] = view.getFloat32(bytesOffset + k * Float32Array.BYTES_PER_ELEMENT, true); } } bytesOffset += byteLength; } return bytesOffset; }; S3MModelParser.prototype.parseCompressVertex = function(buffer, view, bytesOffset, vertexPackage) { let verticesCount = view.getUint32(bytesOffset, true); vertexPackage.verticesCount = verticesCount; bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if(bytesOffset <= 0) { return bytesOffset; } let vertexDimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let vertexStride = view.getUint16(bytesOffset, true); vertexStride = vertexDimension * Int16Array.BYTES_PER_ELEMENT; bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let vertCompressConstant = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; let minVerticesValue = {}; minVerticesValue.x = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minVerticesValue.y = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minVerticesValue.z = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minVerticesValue.w = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; vertexPackage.vertCompressConstant = vertCompressConstant; vertexPackage.minVerticesValue = minVerticesValue; let byteLength = verticesCount * vertexDimension * Int16Array.BYTES_PER_ELEMENT; let vertexBuffer = new Uint8Array(buffer, bytesOffset, byteLength); bytesOffset += byteLength; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation['aPosition'] = attributes.length; attributes.push({ index: attrLocation['aPosition'], typedArray: vertexBuffer, componentsPerAttribute: vertexDimension, componentDatatype: ComponentDatatype.SHORT, offsetInBytes: 0, strideInBytes: vertexStride, normalize: false }); return bytesOffset; }; S3MModelParser.prototype.parseCompressNormal = function(buffer, view, bytesOffset, vertexPackage) { let normalCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if(normalCount <= 0) { return bytesOffset; } let normalDimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let normalStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let byteLength = normalCount * 2 * Int16Array.BYTES_PER_ELEMENT; let normalBuffer = new Uint8Array(buffer, bytesOffset, byteLength); bytesOffset += byteLength; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation['aNormal'] = attributes.length; attributes.push({ index: attrLocation['aNormal'], typedArray: normalBuffer, componentsPerAttribute: 2, componentDatatype: ComponentDatatype.SHORT, offsetInBytes: 0, strideInBytes: normalStride, normalize: false }); return bytesOffset; }; S3MModelParser.prototype.parseCompressTexCoord = function(buffer, view, bytesOffset, vertexPackage) { vertexPackage.texCoordCompressConstant = []; vertexPackage.minTexCoordValue = []; let count = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; bytesOffset += Uint16Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { let bNeedTexCoordZ = view.getUint8(bytesOffset, true); bytesOffset += Uint8Array.BYTES_PER_ELEMENT; bytesOffset += Uint8Array.BYTES_PER_ELEMENT * 3; let texCoordCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let dimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let texCoordStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let texCoordCompressConstant = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; vertexPackage.texCoordCompressConstant.push(texCoordCompressConstant); let minTexCoordValue = {}; minTexCoordValue.x = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minTexCoordValue.y = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minTexCoordValue.z = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minTexCoordValue.w = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; vertexPackage.minTexCoordValue.push(minTexCoordValue); let byteLength = texCoordCount * dimension * Int16Array.BYTES_PER_ELEMENT; let texCoordBuffer = new Uint8Array(buffer, bytesOffset, byteLength); bytesOffset += byteLength; let align = bytesOffset % 4; if(align !== 0) { bytesOffset += (4 - align); } let str = 'aTexCoord' + i; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation[str] = attributes.length; attributes.push({ index: attrLocation[str], typedArray: texCoordBuffer, componentsPerAttribute: dimension, componentDatatype: ComponentDatatype.SHORT, offsetInBytes: 0, strideInBytes: dimension * Int16Array.BYTES_PER_ELEMENT, normalize: false }); if(bNeedTexCoordZ) { byteLength = texCoordCount * Float32Array.BYTES_PER_ELEMENT; let texCoordZBuffer = new Uint8Array(buffer, bytesOffset, byteLength); bytesOffset += byteLength; vertexPackage.texCoordZMatrix = true; str = 'aTexCoordZ' + i; attrLocation[str] = attributes.length; attributes.push({ index: attrLocation[str], typedArray: texCoordZBuffer, componentsPerAttribute: 1, componentDatatype: ComponentDatatype.FLOAT, offsetInBytes: 0, strideInBytes: Float32Array.BYTES_PER_ELEMENT, normalize: false }); } } return bytesOffset; }; S3MModelParser.prototype.parseStandardSkeleton = function(buffer, view, bytesOffset, vertexPackage) { bytesOffset = this.parseVertex(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseNormal(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseVertexColor(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseSecondColor(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseTexCoord(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseInstanceInfo(buffer, view, bytesOffset, vertexPackage); return bytesOffset; }; S3MModelParser.prototype.parseCompressSkeleton = function(buffer, view, bytesOffset, vertexPackage) { let compressOptions = view.getUint32(bytesOffset, true); vertexPackage.compressOptions = compressOptions; bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if((compressOptions & S3MModelParser.VertexCompressOption.SVC_Vertex) === S3MModelParser.VertexCompressOption.SVC_Vertex) { bytesOffset = this.parseCompressVertex(buffer, view, bytesOffset, vertexPackage); } else { bytesOffset = this.parseVertex(buffer, view, bytesOffset, vertexPackage); } if((compressOptions & S3MModelParser.VertexCompressOption.SVC_Normal) === S3MModelParser.VertexCompressOption.SVC_Normal) { bytesOffset = this.parseCompressNormal(buffer, view, bytesOffset, vertexPackage); } else { bytesOffset = this.parseNormal(buffer, view, bytesOffset, vertexPackage); } bytesOffset = this.parseVertexColor(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseSecondColor(buffer, view, bytesOffset, vertexPackage); if((compressOptions & S3MModelParser.VertexCompressOption.SVC_TexutreCoord) === S3MModelParser.VertexCompressOption.SVC_TexutreCoord) { bytesOffset = this.parseCompressTexCoord(buffer, view, bytesOffset, vertexPackage); } else { bytesOffset = this.parseTexCoord(buffer, view, bytesOffset, vertexPackage); } if((compressOptions & S3MModelParser.VertexCompressOption.SVC_TexutreCoordIsW) === S3MModelParser.VertexCompressOption.SVC_TexutreCoordIsW) { vertexPackage.textureCoordIsW = true; } bytesOffset = this.parseInstanceInfo(buffer, view, bytesOffset, vertexPackage); return bytesOffset; }; S3MModelParser.prototype.parseIndexPackage = function(buffer, view, bytesOffset, arrIndexPackage) { let count = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { let indexPackage = {}; let indexCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let indexType = view.getUint8(bytesOffset, true); bytesOffset += Uint8Array.BYTES_PER_ELEMENT; let bUseIndex = view.getUint8(bytesOffset, true); bytesOffset += Uint8Array.BYTES_PER_ELEMENT; let primitiveType = view.getUint8(bytesOffset, true); bytesOffset += Uint8Array.BYTES_PER_ELEMENT; bytesOffset += Uint8Array.BYTES_PER_ELEMENT; if(indexCount > 0) { let byteLength; if(indexType === 1 || indexType === 3) { byteLength = indexCount * Uint32Array.BYTES_PER_ELEMENT; indexPackage.bytesOffset = bytesOffset; indexPackage.byteLength = byteLength; } else { byteLength = indexCount * Uint16Array.BYTES_PER_ELEMENT; indexPackage.bytesOffset = bytesOffset; indexPackage.byteLength = byteLength; if(indexCount % 2 !== 0) { byteLength += 2; } } bytesOffset += byteLength; } indexPackage.indicesCount = indexCount; indexPackage.indexType = indexType; indexPackage.primitiveType = primitiveType; let arrPassName = []; let passNameCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let j = 0; j < passNameCount; j++) { let res = this.parseString(buffer, view, bytesOffset); let passName = res.string; bytesOffset = res.bytesOffset; arrPassName.push(passName); indexPackage.materialCode = passName; } let align = bytesOffset % 4; if(align !== 0) { let nReserved = 4 - bytesOffset % 4; bytesOffset += nReserved; } arrIndexPackage.push(indexPackage); } return bytesOffset; }; S3MModelParser.prototype.parseSkeleton = function(buffer, view, bytesOffset, geoPackage) { let size = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let count = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { let res = this.parseString(buffer, view, bytesOffset); let geometryName = res.string; bytesOffset = res.bytesOffset; let align = bytesOffset % 4; if(align !== 0) { bytesOffset += (4 - align); } let tag = view.getUint32(bytesOffset, true); bytesOffset += Int32Array.BYTES_PER_ELEMENT; let vertexPackage = { vertexAttributes: [], attrLocation: {}, instanceCount: 0, instanceMode: 0, instanceIndex: -1 }; if(tag === S3MModelParser.S3MBVertexTag.SV_Standard) { bytesOffset = this.parseStandardSkeleton(buffer, view, bytesOffset, vertexPackage); } else if(tag === S3MModelParser.S3MBVertexTag.SV_Compressed) { bytesOffset = this.parseCompressSkeleton(buffer, view, bytesOffset, vertexPackage); } let arrIndexPackage = []; bytesOffset = this.parseIndexPackage(buffer, view, bytesOffset, arrIndexPackage); geoPackage[geometryName] = { vertexPackage: vertexPackage, arrIndexPackage: arrIndexPackage }; } let secColorSize = view.getUint32(bytesOffset, true); bytesOffset += secColorSize; bytesOffset += Uint32Array.BYTES_PER_ELEMENT; return bytesOffset; }; S3MModelParser.prototype.parseTexturePackage = function(buffer, view, bytesOffset, texturePackage) { let size = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let count = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { let res = this.parseString(buffer, view, bytesOffset); let textureCode = res.string; bytesOffset = res.bytesOffset; let align = bytesOffset % 4; if(align !== 0) { bytesOffset += (4 - align); } let level = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let width = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let height = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let compressType = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let size = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let pixelFormat = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let textureData = new Uint8Array(buffer, bytesOffset, size); bytesOffset += size; texturePackage[textureCode] = { id: textureCode, width: width, height: height, compressType: compressType, nFormat: pixelFormat, internalFormat: S3MModelParser.PixelFormat.RGBA_DXT5, imageBuffer: textureData }; } return bytesOffset; }; S3MModelParser.prototype.parseMaterial = function(buffer, view, bytesOffset, result) { let byteLength = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let materialBuffer = new Uint8Array(buffer, bytesOffset, byteLength); let strMaterials = this.getStringFromTypedArray(materialBuffer); bytesOffset += byteLength; result.materials = JSON.parse(strMaterials); return bytesOffset; }; S3MModelParser.prototype.parseBuffer = function(unzipBuffer, bytesOffset) { let result = { version: undefined, groupNode: undefined, geoPackage: {}, matrials: undefined, texturePackage: {} }; result.byteLength = unzipBuffer.byteLength; result.buffer = unzipBuffer; view = new DataView(unzipBuffer); bytesOffset = 0; let nOptions = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; bytesOffset = this.parseGroupNode(unzipBuffer, view, bytesOffset, result); bytesOffset = this.parseSkeleton(unzipBuffer, view, bytesOffset, result.geoPackage); bytesOffset = this.parseTexturePackage(unzipBuffer, view, bytesOffset, result.texturePackage); bytesOffset = this.parseMaterial(unzipBuffer, view, bytesOffset, result); return result; }; function _fillBMPHeader(buffer,width,height){ let extraBytes = width%4; let rgbSize = height * (4 * width + extraBytes); let headerInfoSize = 108; /******************header***********************/ let flag = "BM"; let reserved = 0; let offset_header = 122; let fileSize = rgbSize + offset; let planes = 1; let bitPP = 32; let compress = 3; let hr = 2835; let vr = 2835; let colors = 0; let importantColors = 0; let view = new DataView(buffer); let offset = 0; view.setUint16(offset, 0x4d42, true);offset += 2; view.setUint32(offset, fileSize, true);offset += 4; view.setUint32(offset, reserved, true);offset += 4; view.setUint32(offset, offset_header, true);offset += 4; view.setUint32(offset, headerInfoSize, true);offset += 4; view.setUint32(offset, width, true);offset += 4; view.setUint32(offset, height, true);offset += 4; view.setUint16(offset, planes, true);offset += 2; view.setUint16(offset, bitPP, true);offset += 2; view.setUint32(offset, this.compress, true);offset += 4; view.setUint32(offset, rgbSize, true);offset += 4; view.setUint32(offset, hr, true);offset += 4; view.setUint32(offset, vr, true);offset += 4; view.setUint8(offset, colors, true);offset += 4; view.setUint32(offset, importantColors, true);offset += 4; view.setUint32(offset, 0xff0000, true);offset += 4; view.setUint32(offset, 0xff00, true);offset += 4; view.setUint32(offset, 0xff, true);offset += 4; view.setUint32(offset, 0xff000000, true);offset += 4; view.setUint32(offset, 0x57696e20, true);offset += 4; }; S3MModelParser.prototype.generateGLTFBuffer = function( vertexCount, indicesArr, positionsArr, normalsArr, uv0sArr, colorsArr, texturePackage, geoMat, min, max, textureCodes, materialArr ) { return new Promise(function(resolve, reject) { (function(vertexCount, indicesArr, positionsArr, normalsArr, uv0sArr, colorsArr, texturePackage, geoMat, min, max, textureCodes, materialArr) { if( vertexCount === 0 || positionsArr === undefined || positionsArr.length === 0 ) { return { buffers: [], bufferViews: [], accessors: [], meshes: [], nodes: [], nodesInScene: [], }; } let buffers = []; let bufferViews = []; let accessors = []; let meshes = []; let nodes = []; let nodesInScene = []; let posIndex = 0; let normalIndex = 0; let uv0Index = 0; let colorIndex = 0; let indicesIndex = 0; let currentIndex = posIndex; for(let meshIndex = 0; meshIndex < positionsArr.length; meshIndex++) { let indices = indicesArr ? indicesArr[meshIndex] : undefined; let positions = positionsArr ? positionsArr[meshIndex] : undefined; let normals = normalsArr ? normalsArr[meshIndex] : undefined; let uv0s = uv0sArr ? uv0sArr[meshIndex] : undefined; let colors = colorsArr ? colorsArr[meshIndex] : undefined; // if we provide indices, then the vertex count is the length // of that array, otherwise we assume non-indexed triangle if(indices) { vertexCount = indices.length; } // allocate array let indexArray = new Uint32Array(vertexCount); if(indices) { // set the indices for(let vertexIndex = 0; vertexIndex < vertexCount; ++vertexIndex) { indexArray[vertexIndex] = indices[vertexIndex]; } } else { // generate indices for(let vertexIndex = 0; vertexIndex < vertexCount; ++vertexIndex) { indexArray[vertexIndex] = vertexIndex; } } // push to the buffers, bufferViews and accessors let indicesBlob = new Blob([indexArray], { type: "application/binary" }); let indicesURL = URL.createObjectURL(indicesBlob); let endIndex = vertexCount; // POSITIONS let meshPositions = positions.subarray(0, endIndex * 3); let positionsBlob = new Blob([meshPositions], { type: "application/binary", }); let positionsURL = URL.createObjectURL(positionsBlob); // NORMALS let meshNormals = normals ? normals.subarray(0, endIndex * 3) : null; let normalsURL = null; if(meshNormals) { let normalsBlob = new Blob([meshNormals], { type: "application/binary", }); normalsURL = URL.createObjectURL(normalsBlob); } // UV0s let meshUv0s = uv0s ? uv0s.subarray(0, endIndex * 2) : null; let uv0URL = null; if(meshUv0s) { let uv0Blob = new Blob([meshUv0s], { type: "application/binary" }); uv0URL = URL.createObjectURL(uv0Blob); } // Colors // @TODO: check we can directly import vertex colors as bytes instead // of having to convert to float let meshColorsInBytes = colors ? colors.subarray(0, endIndex * 4) : null; let meshColors = null; let colorsURL = null; if(meshColorsInBytes) { let colorCount = meshColorsInBytes.length; meshColors = new Float32Array(colorCount); for(let i = 0; i < colorCount; ++i) { meshColors[i] = meshColorsInBytes[i] / 255.0; } let colorsBlob = new Blob([meshColors], { type: "application/binary" }); colorsURL = URL.createObjectURL(colorsBlob); } let attributes = {}; // POSITIONS attributes.POSITION = currentIndex; buffers.push({ uri: positionsURL, byteLength: meshPositions.byteLength, }); bufferViews.push({ buffer: currentIndex, byteOffset: 0, byteLength: meshPositions.byteLength, target: 34962, }); accessors.push({ bufferView: currentIndex, byteOffset: 0, componentType: 5126, count: vertexCount, type: "VEC3", max: max, min: min }); // NORMALS if(normalsURL) { ++currentIndex; normalIndex = currentIndex; attributes.NORMAL = normalIndex; buffers.push({ uri: normalsURL, byteLength: meshNormals.byteLength, }); bufferViews.push({ buffer: normalIndex, byteOffset: 0, byteLength: meshNormals.byteLength, target: 34962, }); accessors.push({ bufferView: normalIndex, byteOffset: 0, componentType: 5126, count: vertexCount, type: "VEC3", max: [0, 0, 0], min: [0, 0, 0], }); } // UV0 if(uv0URL) { ++currentIndex; uv0Index = currentIndex; attributes.TEXCOORD_0 = uv0Index; buffers.push({ uri: uv0URL, byteLength: meshUv0s.byteLength, }); bufferViews.push({ buffer: uv0Index, byteOffset: 0, byteLength: meshUv0s.byteLength, target: 34962, }); accessors.push({ bufferView: uv0Index, byteOffset: 0, componentType: 5126, count: vertexCount, type: "VEC2", max: [0, 0], min: [0, 0], }); } // COLORS if(colorsURL) { ++currentIndex; colorIndex = currentIndex; attributes.COLOR_0 = colorIndex; buffers.push({ uri: colorsURL, byteLength: meshColors.byteLength, }); bufferViews.push({ buffer: colorIndex, byteOffset: 0, byteLength: meshColors.byteLength, target: 34962, }); accessors.push({ bufferView: colorIndex, byteOffset: 0, componentType: 5126, count: vertexCount, type: "VEC4", max: [0, 0, 0, 0], min: [0, 0, 0, 0], }); } // INDICES ++currentIndex; indicesIndex = currentIndex; buffers.push({ uri: indicesURL, byteLength: indexArray.byteLength, }); bufferViews.push({ buffer: indicesIndex, byteOffset: 0, byteLength: indexArray.byteLength, target: 34963, }); accessors.push({ bufferView: indicesIndex, byteOffset: 0, componentType: 5125, count: vertexCount, type: "SCALAR", max: [0], min: [0], }); // create a new mesh for this page meshes.push({ primitives: [{ attributes: attributes, indices: indicesIndex, material: meshIndex, }, ], }); nodesInScene.push(meshIndex); nodes.push({ mesh: meshIndex, }); currentIndex++; } let gltfTextures = []; let gltfImages = []; let gltfSamplers = [{ magFilter: 9729, minFilter: 9729, wrapS: 10497, wrapT: 10497, }]; let gltfMaterials = new Array(textureCodes.length); let imageIndex = 0; let materialIndex = 0; let textureCount = 0; let blobs = []; let materialDefer = new Promise(function(subResolve, subReject) { for(let k = 0; k < materialArr.length; k++) { (function(k) { let hasTexture = materialArr[k].textureunitstates[0]; if(hasTexture) { textureCount++; let textureId = materialArr[k].textureunitstates[0].textureunitstate.id; let textureObj = texturePackage[textureId]; let imageBuffer = textureObj.imageBuffer; let imageTypedArray = null; let pixelFormat = textureObj.nFormat; let bmpHeaderLength = 122; if (pixelFormat > S3MPixelFormat.BGR || pixelFormat === S3MPixelFormat.LUMINANCE_ALPHA) { imageTypedArray = new Uint8Array(bmpHeaderLength + textureObj.width * textureObj.height * 4); } else { imageTypedArray = new Uint16Array(bmpHeaderLength / 2 + textureObj.width * textureObj.height); } DXTTextureDecode.decode(imageTypedArray.subarray(bmpHeaderLength), textureObj.width, textureObj.height, imageBuffer, pixelFormat); _fillBMPHeader(imageTypedArray.buffer, textureObj.width, textureObj.height); let bmpblob = new Blob([imageTypedArray],{type:"image/bmp"}); let textureURL = URL.createObjectURL(bmpblob); buffers.push({ uri: textureURL, byteLength: imageTypedArray.byteLength, }); bufferViews.push({ buffer: buffers.length - 1, byteOffset: 0, byteLength: imageTypedArray.byteLength, target: 34962, }); gltfImages.push({ "mimeType": "image/bmp", "bufferView": bufferViews.length - 1 }); gltfTextures.push({ sampler: 0, source: imageIndex++, }); blobs.push(bmpblob); if(blobs.length === textureCount) { // materialDefer.resolve(); subResolve(); } } gltfMaterials.push({ pbrMetallicRoughness: { metallicFactor: 0.0, baseColorTexture: hasTexture ? { index: materialIndex++, texCoord: 0 } : undefined }, doubleSided: true, name: textureId, }); })(k); } }); let rawGLTF = { scene: 0, scenes: [{ nodes: nodesInScene, }, ], nodes: nodes, meshes: meshes, buffers: buffers, bufferViews: bufferViews, accessors: accessors, materials: gltfMaterials, textures: gltfTextures, images: gltfImages, samplers: gltfSamplers, asset: { version: "2.0", }, }; if(textureCount === 0) { resolve(rawGLTF); } materialDefer.then(function() { resolve(rawGLTF); }); })(vertexCount, indicesArr, positionsArr, normalsArr, uv0sArr, colorsArr, texturePackage, geoMat, min, max, textureCodes, materialArr); }); }; S3MModelParser.prototype._binarizeGLTF = function(rawGLTF) { let encoder = new TextEncoder(); let rawGLTFData = encoder.encode(JSON.stringify(rawGLTF)); let binaryGLTFData = new Uint8Array(rawGLTFData.byteLength + 20); let binaryGLTF = { magic: new Uint8Array(binaryGLTFData.buffer, 0, 4), version: new Uint32Array(binaryGLTFData.buffer, 4, 1), length: new Uint32Array(binaryGLTFData.buffer, 8, 1), chunkLength: new Uint32Array(binaryGLTFData.buffer, 12, 1), chunkType: new Uint32Array(binaryGLTFData.buffer, 16, 1), chunkData: new Uint8Array( binaryGLTFData.buffer, 20, rawGLTFData.byteLength ), }; binaryGLTF.magic[0] = "g".charCodeAt(); binaryGLTF.magic[1] = "l".charCodeAt(); binaryGLTF.magic[2] = "T".charCodeAt(); binaryGLTF.magic[3] = "F".charCodeAt(); binaryGLTF.version[0] = 2; binaryGLTF.length[0] = binaryGLTFData.byteLength; binaryGLTF.chunkLength[0] = rawGLTFData.byteLength; binaryGLTF.chunkType[0] = 0x4e4f534a; // JSON binaryGLTF.chunkData.set(rawGLTFData); return binaryGLTFData; }; S3MModelParser.prototype._binarizeB3DM = function(featureTableJSON, batchTabelJSON, binaryGLTFData) { let encoder = new TextEncoder(); // Feature Table let featureTableOffset = 28; let featureTableJSONData = encoder.encode(featureTableJSON); let featureTableLength = featureTableJSONData.byteLength; // Batch Table let batchTableOffset = featureTableOffset + featureTableLength; let batchTableJSONData = encoder.encode(batchTabelJSON); // Calculate alignment buffer by padding the remainder of the batch table let paddingCount = (batchTableOffset + batchTableJSONData.byteLength) % 8; let batchTableLength = batchTableJSONData.byteLength + paddingCount; let paddingStart = batchTableJSONData.byteLength; let paddingStop = batchTableLength; // Binary GLTF let binaryGLTFOffset = batchTableOffset + batchTableLength; let binaryGLTFLength = binaryGLTFData.byteLength; let dataSize = featureTableLength + batchTableLength + binaryGLTFLength; let b3dmRawData = new Uint8Array(28 + dataSize); let b3dmData = { magic: new Uint8Array(b3dmRawData.buffer, 0, 4), version: new Uint32Array(b3dmRawData.buffer, 4, 1), byteLength: new Uint32Array(b3dmRawData.buffer, 8, 1), featureTableJSONByteLength: new Uint32Array(b3dmRawData.buffer, 12, 1), featureTableBinaryByteLength: new Uint32Array(b3dmRawData.buffer, 16, 1), batchTableJSONByteLength: new Uint32Array(b3dmRawData.buffer, 20, 1), batchTableBinaryByteLength: new Uint32Array(b3dmRawData.buffer, 24, 1), featureTable: new Uint8Array( b3dmRawData.buffer, featureTableOffset, featureTableLength ), batchTable: new Uint8Array( b3dmRawData.buffer, batchTableOffset, batchTableLength ), binaryGLTF: new Uint8Array( b3dmRawData.buffer, binaryGLTFOffset, binaryGLTFLength ), }; b3dmData.magic[0] = "b".charCodeAt(); b3dmData.magic[1] = "3".charCodeAt(); b3dmData.magic[2] = "d".charCodeAt(); b3dmData.magic[3] = "m".charCodeAt(); b3dmData.version[0] = 1; b3dmData.byteLength[0] = b3dmRawData.byteLength; b3dmData.featureTable.set(featureTableJSONData); b3dmData.featureTableJSONByteLength[0] = featureTableLength; b3dmData.featureTableBinaryByteLength[0] = 0; b3dmData.batchTable.set(batchTableJSONData); for(let index = paddingStart; index < paddingStop; ++index) { b3dmData.batchTable[index] = 0x20; } b3dmData.batchTableJSONByteLength[0] = batchTableLength; b3dmData.batchTableBinaryByteLength[0] = 0; b3dmData.binaryGLTF.set(binaryGLTFData); return b3dmRawData; }; let modelParser = new S3MModelParser(); onmessage = function (e) { let buffer = e.data.buffer; let bytesOffset = e.data.bytesOffset; let result = modelParser.parseBuffer(buffer, bytesOffset); let geoPackage = result.geoPackage; let pageLods = result.groupNode.pageLods; let verticesCount; let indices; let positionsArr = []; let positions_4; let positions; let indexArr = []; let uvArr = []; let colorArr = []; let materialArr = []; let totalVerticesCount = 0; let mat = pageLods[0].geodes[0].matrix; let textureCodes = []; let materialsMap = {} for(let i = 0; i < result.materials.material.length; i++) { materialsMap[result.materials.material[i].material.id] = result.materials.material[i].material; } let scratchCartesian = { x: 0, y: 0, z: 0 }; let indicesCount = 0; let minX = Number.MAX_VALUE, minY = Number.MAX_VALUE, minZ = Number.MAX_VALUE; let maxX = Number.MIN_VALUE, maxY = Number.MIN_VALUE, maxZ = Number.MIN_VALUE; for(let geoName in geoPackage) { let vertexPackage = geoPackage[geoName].vertexPackage; verticesCount = vertexPackage.verticesCount; let buffer = vertexPackage.vertexAttributes[0].typedArray.buffer; let componentsPerAttribute = vertexPackage.vertexAttributes[0].componentsPerAttribute; positions_4 = new Float32Array(buffer, vertexPackage.vertexAttributes[0].offsetInBytes, verticesCount * componentsPerAttribute); positions = new Float32Array(verticesCount * 3); for(let i = 0; i < verticesCount; i++) { let x = positions_4[i * componentsPerAttribute]; let y = positions_4[i * componentsPerAttribute + 1]; let z = positions_4[i * componentsPerAttribute + 2]; S3MModelParser.multiplyByPoint(mat, {x: x, y: y, z: z}, scratchCartesian); positions[i * 3] = scratchCartesian.x; positions[i * 3 + 1] = scratchCartesian.y; positions[i * 3 + 2] = scratchCartesian.z; minX = Math.min(minX, positions[i * 3]); minY = Math.min(minY, positions[i * 3 + 1]); minZ = Math.min(minZ, positions[i * 3 + 2]); maxX = Math.max(maxX, positions[i * 3]); maxY = Math.max(maxY, positions[i * 3 + 1]); maxZ = Math.max(maxZ, positions[i * 3 + 2]); } positionsArr.push(positions); let attrLocation = vertexPackage.attrLocation['aTexCoord0']; if(attrLocation) { let uvNum = vertexPackage.vertexAttributes[attrLocation].componentsPerAttribute; let uvsOri = new Float32Array(buffer, vertexPackage.vertexAttributes[attrLocation].offsetInBytes, verticesCount * uvNum ); let uvs = new Float32Array(verticesCount * 2); for(let i = 0; i < verticesCount; i++) { uvs[i * 2] = uvsOri[i * uvNum]; uvs[i * 2 + 1] = uvsOri[i * uvNum + 1]; } uvArr.push(uvs); } else { uvArr.push(undefined); } indices = new Uint16Array(result.buffer, geoPackage[geoName].arrIndexPackage[0].bytesOffset, geoPackage[geoName].arrIndexPackage[0].byteLength / 2); indexArr.push(indices); indicesCount += indices.length; totalVerticesCount += verticesCount; let materialCode = geoPackage[geoName].arrIndexPackage[0].materialCode; materialArr.push(materialsMap[materialCode]); } let min = [minX, minY, minZ]; let max = [maxX, maxY, maxZ]; let rawGLTFPromise = modelParser.generateGLTFBuffer(totalVerticesCount, indexArr, positionsArr, null, uvArr, null, result.texturePackage, mat, min, max, textureCodes, materialArr); rawGLTFPromise.then(function(rawGLTF) { let binaryGLTFData = modelParser._binarizeGLTF(rawGLTF); let featureTableJSON = JSON.stringify({ BATCH_LENGTH: 0 }); let batchTableJSON = JSON.stringify({}); let b3dmBuffer = modelParser._binarizeB3DM( featureTableJSON, batchTableJSON, binaryGLTFData ); postMessage({ b3dmBuffer: b3dmBuffer, pageLods: pageLods }); }); }; `;function UYe(o){this._ownerTile=o,this._dataSource=o._tileset._s3mDataSource,this._ready=!1,this._relativePath="",o._depth<=1?this._relativePath=o._header.content.uri.substring(0,o._header.content.uri.lastIndexOf("/")+1):this._relativePath=o.parent._s3mTile._relativePath}function iWt(o){return function(){return o.priority}}UYe.prototype.requestContent=function(){let o=this._ownerTile,A=o._tileset._baseResource,f=o._header.content.uri,m="./data/path/"+f;if(f===""){o._contentState=oc.UNLOADED,this._ready=!0,o._content=new WV(o.tileset,o),o.hasEmptyContent=!0;return}let C=A.getDerivedResource({url:m}),E=new g0({throttle:!0,throttleByServer:!0,type:kx.TILES3D,priorityFunction:iWt(o),serverKey:o._serverKey});o._request=E,C.request=E;let I=C.fetchArrayBuffer();if(!k(I))return!1;o._contentState=oc.LOADING;let x=this;return I.then(function(y){x._dataSource._GLTFProcessingQueue.addTask(y).then(function(v){let w=v.gltfData,Q=new Blob([w],{type:"application/binary"});o._pageLods=v.pageLods,o._contentResource._url=URL.createObjectURL(Q),o._contentState=oc.UNLOADED,x._ready=!0,o._resolveHookedObject()})}).catch(function(y){o._contentState=oc.UNLOADED}),!1};cI.prototype._resolveHookedObject=function(){let o=this._contentReadyToProcessPromise,A=this._contentReadyPromise;this._S3MhookedRequestContent(),o&&this._contentReadyToProcessPromise.then(()=>{o.resolve()}),A&&this._contentReadyPromise.then(()=>{this._isLoading=!1,this._content._contentReadyPromise.resolve()})};cI.prototype._S3MhookedRequestContent=cI.prototype.requestContent;cI.prototype.requestContent=function(){if(!this.tileset._isS3MTileSet)return this._S3MhookedRequestContent();k(this._s3mTile)||(this._s3mTile=new UYe(this),this._contentReadyToProcessPromise=Promise.resolve(!0),this._contentReadyPromise=Promise.resolve(!0)),this._s3mTile.requestContent()};function Gee(){this._queue=[],this._processing=!1,this._createWorkers(()=>{this._process()})}Gee.prototype._process=function(){for(let o of this._workers)o.isReadyToWork&&this._queue.length>0&&this._queue.shift().execute(o);setTimeout(()=>{this._process()},100)};Gee.prototype._createWorkers=function(o){let A=tWt,f=[],m="",C=[];for(let x=0;x{y=w});C.push(v),fetch(f[x]).then(w=>{w.text().then(Q=>{m+=Q,y()})})}let E=Promise.all(C),I=this;E.then(function(){let x=new Blob([m+A],{type:"test/javascript"}),y=1;I._workers=[];for(let v=0;v=2){let T=S.getUint32(B,!0);B+=Uint32Array.BYTES_PER_ELEMENT}let P=S.getUint32(B,!0);B+=Uint32Array.BYTES_PER_ELEMENT;let R=eWt(M,B);w.postMessage({buffer:R,bytesOffset:B})},w.onmessage=function(Q){let M=w._task,B=Q.data.b3dmBuffer,D=Q.data.pageLods;w._task=null,w.isReadyToWork=!0,M.resolve({gltfData:B,pageLods:D})},w.isReadyToWork=!0,I._workers.push(w)})();o()})};Gee.prototype.addTask=function(o){let A={_data:o,execute:function(f){f.setTask(this)}};return new Promise((f,m)=>{A.resolve=f,A.reject=m,this._queue.push(A)})};var OYe=kYe,ORe=new kt;function rWt(o,A,f){let m=o.length,C,E,I;if(f){C=Jr.LUMINANCE,E=Gr.FLOAT,I=new Float32Array(m);for(let x=0;x distanceLimit ? 0.0: 1.0; vec3 vl = normalize(positionEC - spotPosition.xyz); float theta = dot(spotDirection, vl); float epsilon = cutOff - outerCutOff; float factor = clamp((theta - outerCutOff) / epsilon, 0.0, 1.0); sumSpotColor += vec3(colorX * factor * distanceFactor, colorY * factor * distanceFactor, colorZ * factor * distanceFactor); //float distance = length(positionEC - spotPosition.xyz); //attenuation += 1.0 / (constant + distance * linear + distance * distance * quadratic); } attenuation = 1.0; diffuse = diffuse * sumSpotColor * attenuation; color = color * u_backgroundBrightness + diffuse; return color; }`,uniforms:{u_spotmodelViewMatrix:sX,u_spotPointTexture:"123",u_backgroundBrightness:m}},translucent:!1});return C._textures.u_spotPointTexture=o,C.uniforms.u_spotPointTextureDimensions.x=A.length,C.uniforms.u_spotPointTextureDimensions.y=1,C}var oWt=new Re;function GYe(o,A,f,m,C){return new pB({lightingModel:C,uniforms:{u_spotPointTextureDimensions:{type:Yo.INT_VEC2,value:new tt(A.length,1)},u_spotPointTexture:{type:Yo.SAMPLER_2D,value:o},u_spotmodelViewMatrix:{type:Yo.MAT4,value:oWt},u_backgroundBrightness:{type:Yo.FLOAT,value:m}},fragmentShaderText:` #define Spot_Texture_Width ${A.length} ${f?"#define use_texture_float":""} float getPointComponent(int idx, float invTexSize) { vec2 uv = vec2((float(idx) + 0.5) * invTexSize, 0.5); #ifdef use_texture_float return texture(u_spotPointTexture, uv).x; #else return czm_unpackFloat(texture(u_spotPointTexture, uv)); #endif } void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { if(u_spotPointTextureDimensions.x == 1) { material.diffuse *= 1.0; } vec3 diffuse = material.diffuse; vec3 positionEC = fsInput.attributes.positionEC.xyz; float constant = 1.0; float linear = 0.022; float quadratic = 0.0019; float attenuation = 0.0; vec3 sumSpotColor = vec3(0.0); float invTexSize = 1.0 / float(u_spotPointTextureDimensions.x); for(int idx = 0; idx distanceLimit ? 0.0: 1.0; vec3 vl = normalize(positionEC - spotPosition.xyz); float theta = dot(spotDirection, vl); float epsilon = cutOff - outerCutOff; float factor = clamp((theta - outerCutOff) / epsilon, 0.0, 1.0); sumSpotColor += vec3(colorX * factor * distanceFactor, colorY * factor * distanceFactor, colorZ * factor * distanceFactor); //float distance = length(positionEC - spotPosition.xyz); //attenuation += 1.0 / (constant + distance * linear + distance * distance * quadratic); } attenuation = 1.0; diffuse = diffuse * sumSpotColor * attenuation; material.diffuse = material.diffuse * u_backgroundBrightness + diffuse; }`})}function aWt(o,A,f,m,C,E,I){let x=nWt(A,f,E,I);o.spotMaterial=x,m.preUpdate.addEventListener(function(){let y=m.camera.viewMatrix,v=new Re;Re.multiply(y,C,v),Re.toArray(v,sX),x&&(x.uniforms.u_spotmodelViewMatrix=sX)})}function sWt(o,A,f,m,C,E,I,x){let y=GYe(A,f,E,I,x);o.customShader=y,m.preUpdate.addEventListener(function(){let v=m.camera.viewMatrix,w=new Re;Re.multiply(v,C,w),y.setUniform("u_spotmodelViewMatrix",w)})}function lWt(o,A,f,m,C,E,I){let x=GYe(A,f,E,I);o.customShader=x,m.preUpdate.addEventListener(function(){let y=m.camera.viewMatrix,v=new Re;Re.multiply(y,C,v),x.setUniform("u_spotmodelViewMatrix",v)})}function Hee(o,A={},f=[]){k(o)&&(this._viewer=o,this._texture=void 0,!(!k(A)&&!(k(A.globe)&&k(A.tileset)&&k(A.gltf)))&&this.initialize(o,A,f))}Hee.prototype.reSet=function(o={},A=[]){this._texture&&(this._texture.destroy(),this._texture=void 0),this.initialize(this._viewer,o,A)};Hee.prototype.destroy=function(o){!k(o)&&!(k(o.globe)&&k(o.tileset)&&k(o.gltf))||(k(o.globe)&&o.globe.spotMaterial&&(o.globe.spotMaterial=void 0),k(o.tileset)&&o.tileset.customShader&&(o.tileset.customShader=null),k(o.gltf)&&o.gltf.customShader&&(o.gltf.customShader=null),this._texture&&(this._texture.destroy(),this._texture=void 0))};Hee.prototype.initialize=function(o,A,f){if(!k(A)&&!(k(A.globe)&&k(A.tileset)&&k(A.gltf)))return;let m=ae(A.globeBrightness,.2),C=ae(A.gltfBrightness,.2),E=ae(A.tilesetBrightness,.2),I=ae(A.gltfLightModel,oI.PBR),x=ae(A.tilesetLightModel,oI.PBR);if(!Array.isArray(f)||f.length===0)return;let y=o.scene,v=Vr.eastNorthUpToFixedFrame(f[0].position),w=new Re;Re.inverseTransformation(v,w);let Q=[],M=new Z;for(let S=0;S0?A._subdomains=A._subdomains.split(""):A._subdomains=["a","b","c"],A._tileWidth=ae(f.tileWidth,256),A._tileHeight=ae(f.tileHeight,256),A._minimumLevel=ae(f.minimumLevel,0),A._maximumLevel=f.maximumLevel,A._tilingScheme=ae(f.tilingScheme,new Sf({ellipsoid:f.ellipsoid})),A._rectangle=ae(f.rectangle,A._tilingScheme.rectangle),A._rectangle=hi.intersection(A._rectangle,A._tilingScheme.rectangle),A._hasAlphaChannel=ae(f.hasAlphaChannel,!0);let y=f.credit;return typeof y=="string"&&(y=new la(y)),A._credit=y,A._resource=I,A._tags=C,A._pickFeaturesResource=x,A._pickFeaturesTags=E,!0})};wN.prototype.getTileCredits=function(o,A,f){};wN.prototype.requestImage=function(o,A,f,m){let C=uWt(this,o,A,f,m),E=$1.loadImage(this,C);return typeof this.loadtitle=="function"&&this.loadtitle(C),E};wN.prototype.loadtitle=function(o){};wN.prototype.pickFeatures=function(o,A,f,m,C){if(!this.enablePickFeatures||!k(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let E=0,I=this;function x(v,w){return v.callback(w)}function y(){if(E>=I._getFeatureInfoFormats.length)return Promise.resolve([]);let v=I._getFeatureInfoFormats[E],w=cWt(I,o,A,f,m,C,v.format);return++E,v.type==="json"?w.fetchJson().then(v.callback).otherwise(y):v.type==="xml"?w.fetchXML().then(v.callback).otherwise(y):v.type==="text"||v.type==="html"?w.fetchText().then(v.callback).otherwise(y):w.fetch({responseType:v.format}).then(x.bind(void 0,v)).otherwise(y)}return y()};var lX=!1,tx=new hi,AX=!1,tY=new hi;function uWt(o,A,f,m,C){lX=!1,AX=!1;let E=o._resource,I=E.getUrlComponent(!0),x=o._tags,y={},v=I.match(VYe);return k(v)&&v.forEach(function(w){let Q=w.substring(1,w.length-1);k(x[Q])&&(y[Q]=x[Q](o,A,f,m))}),E.getDerivedResource({request:C,templateValues:y})}var Hue=!1,jU=new tt,Vue=!1;function cWt(o,A,f,m,C,E,I){lX=!1,AX=!1,Hue=!1,Vue=!1;let x=o._pickFeaturesResource,y=x.getUrlComponent(!0),v=o._pickFeaturesTags,w={},Q=y.match(VYe);return k(Q)&&Q.forEach(function(M){let B=M.substring(1,M.length-1);k(v[B])&&(w[B]=v[B](o,A,f,m,C,E,I))}),x.getDerivedResource({templateValues:w})}function v4(o,A,f){if(o&&o.urlSchemeZeroPadding&&o.urlSchemeZeroPadding.hasOwnProperty(A)){let m=o.urlSchemeZeroPadding[A];if(typeof m=="string"){let C=m.length;C>1&&(f=f.length>=C?f:new Array(C-f.toString().length+1).join("0")+f)}}return f}function hWt(o,A,f,m){return v4(o,"{x}",A)}function dWt(o,A,f,m){let C=o.tilingScheme.getNumberOfXTilesAtLevel(m)-A-1;return v4(o,"{reverseX}",C)}function gWt(o,A,f,m){return v4(o,"{y}",f)}function fWt(o,A,f,m){let C=o.tilingScheme.getNumberOfYTilesAtLevel(m)-f-1;return v4(o,"{reverseY}",C)}function pWt(o,A,f,m){let C=o.maximumLevel,E=k(C)&&m= shadowMap_lightPositionEC.w) { discard; } distance /= shadowMap_lightPositionEC.w; // radius out_FragColor = czm_packDepth(distance); `:f?v+=` out_FragColor = vec4(1.0); `:v+=` out_FragColor = czm_packDepth(gl_FragCoord.z); `,v+=`} `,E.push(v),new hr({defines:C,sources:E})};bN.getShadowReceiveShaderKeyword=function(o,A,f,m){let C=o._usesDepthTexture,E=o._polygonOffsetSupported,I=o._isPointLight,x=o._isSpotLight,y=o._numberOfCascades>1,v=o.debugCascadeColors,w=o.softShadows;return`receiveViewShed ${C}${E}${I}${x}${y}${v}${w}${A}${f}${m}`};bN.createShadowReceiveVertexShader=function(o,A,f){let m=o.defines.slice(0),C=o.sources.slice(0);return m.push("SHADOW_MAP"),A&&(f?m.push("GENERATE_POSITION_AND_NORMAL"):m.push("GENERATE_POSITION")),new hr({defines:m,sources:C})};bN.createShadowReceiveFragmentShader=function(o,A,f,m,C){let E=hr.findNormalVarying(o),I=!m&&k(E)||m&&C,x=hr.findPositionVarying(o),y=k(x),v=A._usesDepthTexture,w=A._polygonOffsetSupported,Q=A._isPointLight,M=A._isSpotLight,B=A._numberOfCascades>1,D=A.debugCascadeColors,S=A.softShadows,P=Q?A._pointBias:m?A._terrainBias:A._primitiveBias,R=o.defines.slice(0),T=o.sources.slice(0),L=T.length;for(let N=0;N0&&R.push("USE_NORMAL_SHADING_SMOOTH"));let F="";Q?F+=`uniform samplerCube shadowMap_textureCube; `:F+=`uniform sampler2D shadowMap_texture; `;let U;return y?U=` return vec4(${x}, 1.0); `:U=`#ifndef LOG_DEPTH return czm_windowToEyeCoordinates(gl_FragCoord); #else return vec4(v_logPositionEC, 1.0); #endif `,F+=`uniform mat4 shadowMap_matrix; uniform vec3 shadowMap_lightDirectionEC; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; uniform mat4 camera_projection_matrix; uniform mat4 camera_view_matrix; uniform float far; uniform vec4 u_visibleColor; uniform vec4 u_invisibleColor; #ifdef LOG_DEPTH in vec3 v_logPositionEC; #endif vec4 getPositionEC() { ${U}} vec3 getNormalEC() { ${I?` return normalize(${E}); `:` return vec3(1.0); `} return vec3(1.0); } void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) { ${P.normalOffset&&I?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; float normalOffsetScale = 1.0 - nDotL; vec3 offset = normalOffset * normalOffsetScale * normalEC; positionEC.xyz += offset; `:""}} `,F+=` bool visible(in vec4 result) { result.x/=result.w; result.y/=result.w; result.z/=result.w; return result.x>=-1.&&result.x<=1.&&result.y>=-1.&&result.y<=1.&&result.z>=-1.&&result.z<=1.; } `,F+=`void main() { czm_shadow_receive_main(); vec4 positionEC = getPositionEC(); vec4 wordPos = czm_inverseView * positionEC; vec4 vcPos = camera_view_matrix * wordPos; vec3 normalEC = getNormalEC(); float depth = -positionEC.z; `,F+=` czm_shadowParameters shadowParameters; shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; `,m?F+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); `:w||(F+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); `),Q?F+=` vec4 posInEye = camera_projection_matrix * vcPos; if(!visible(posInEye)) { return; } vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; float distance = length(directionEC); directionEC = normalize(directionEC); float radius = shadowMap_lightPositionEC.w; // Stop early if the fragment is beyond the point light radius if (distance > radius) { return; } vec3 directionWC = czm_inverseViewRotation * directionEC; shadowParameters.depth = distance / radius - 0.0003; shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); shadowParameters.texCoords = directionWC; float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); `:M?F+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrix * positionEC; // Spot light uses a perspective projection, so perform the perspective divide shadowPosition /= shadowPosition.w; // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { return; } shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); `:B?F+=` float maxDepth = shadowMap_cascadeSplits[1].w; // Stop early if the eye depth exceeds the last cascade if (depth > maxDepth) { return; } // Get the cascade based on the eye-space depth vec4 weights = czm_cascadeWeights(depth); // Apply normal offset float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); // Transform position into the cascade vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; // Get visibility shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); // Fade out shadows that are far away float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); visibility = mix(visibility, 1.0, fade); ${D?` // Draw cascade colors for debugging out_FragColor *= czm_cascadeColor(weights); `:""}`:F+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrix * positionEC; // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { return; } shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); `,F+=` if(visibility > 0.3){ out_FragColor = mix(out_FragColor, u_visibleColor, .5); } else { out_FragColor = mix(out_FragColor, u_invisibleColor, .5); } } `,T.push(F),new hr({defines:R,sources:T})};var u2=bN;function hb(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.context;this._enabled=ae(o.enabled,!0),this._softShadows=ae(o.softShadows,!1),this._normalOffset=ae(o.normalOffset,!0),this.dirty=!0,this.fromLightSource=ae(o.fromLightSource,!0),this.darkness=ae(o.darkness,.3),this._darkness=this.darkness,this.maximumDistance=ae(o.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let f=!0;(co.isInternetExplorer()||co.isEdge()||(co.isChrome()||co.isFirefox())&&co.isWindows()&&!A.depthTexture)&&(f=!1),this._polygonOffsetSupported=f,this._terrainBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new Re,this._shadowMapTexture=void 0,this._lightDirectionEC=new Z,this._lightPositionEC=new kt,this._distance=0,this._lightCamera=o.lightCamera,this._shadowMapCamera=new Jee,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new si,this._isPointLight=ae(o.isPointLight,!1),this._pointLightRadius=ae(o.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:ae(o.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?ae(o.numberOfCascades,4):0,this._fitNearFar=!1,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new tt,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Eg:k(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new kt,new kt],this._cascadeMatrices=[new Re,new Re,new Re,new Re],this._cascadeDistances=new kt;let m;this._isPointLight?m=6:this._cascadesEnabled?m=this._numberOfCascades:m=1,this._passes=new Array(m);for(let C=0;C=A?A:On.maximumCubeMapSize,C.x=A,C.y=A;let E=new _r(0,0,A,A);f[0].passState.viewport=E,f[1].passState.viewport=E,f[2].passState.viewport=E,f[3].passState.viewport=E,f[4].passState.viewport=E,f[5].passState.viewport=E}else m===1?(A=On.maximumTextureSize>=A?A:On.maximumTextureSize,C.x=A,C.y=A,f[0].passState.viewport=new _r(0,0,A,A)):m===4&&(A=On.maximumTextureSize>=A*2?A:On.maximumTextureSize/2,C.x=A*2,C.y=A*2,f[0].passState.viewport=new _r(0,0,A,A),f[1].passState.viewport=new _r(A,0,A,A),f[2].passState.viewport=new _r(0,A,A,A),f[3].passState.viewport=new _r(A,A,A,A));o._clearPassState.viewport=new _r(0,0,C.x,C.y);for(let E=0;E=o.maximumDistance){o._outOfView=!0,o._needsUpdate=!1;return}let E=A.mapProjection.ellipsoid.geodeticSurfaceNormal(f.positionWC,dqt),I=Z.negate(m.directionWC,gqt),x=Z.dot(E,I),y=De.clamp(x/.1,0,1);if(o._darkness=De.lerp(1,o.darkness,y),x<0){o._outOfView=!0,o._needsUpdate=!1;return}o._needsUpdate=!0,o._outOfView=!1}else if(o._isPointLight)C.center=m.positionWC,C.radius=o._pointLightRadius,o._outOfView=A.cullingVolume.computeVisibility(C)===Wo.OUTSIDE,o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),si.clone(C,o._boundingSphere);else{let E=m.frustum.far/2,I=Z.add(m.positionWC,Z.multiplyByScalar(m.directionWC,E,HRe),HRe);C.center=I,C.radius=E,o._outOfView=A.cullingVolume.computeVisibility(C)===Wo.OUTSIDE,o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),si.clone(C,o._boundingSphere)}}function pqt(o,A){let f=A.camera,m=o._lightCamera,C=o._sceneCamera,E=o._shadowMapCamera;o._cascadesEnabled?Z.clone(m.directionWC,E.directionWC):o._isPointLight?Z.clone(m.positionWC,E.positionWC):E.clone(m);let I=o._lightDirectionEC;Re.multiplyByPointAsVector(f.viewMatrix,E.directionWC,I),Z.normalize(I,I),Z.negate(I,I),Re.multiplyByPoint(f.viewMatrix,E.positionWC,o._lightPositionEC),o._lightPositionEC.w=o._pointLightRadius;let x,y;o._fitNearFar?(x=Math.min(A.viewShedState.nearPlane,o.maximumDistance),y=Math.min(A.viewShedState.farPlane,o.maximumDistance+1)):(x=f.frustum.near,y=o.maximumDistance),o._sceneCamera=Ms.clone(f,C),f.frustum.clone(o._sceneCamera.frustum),o._sceneCamera.frustum.near=x,o._sceneCamera.frustum.far=y,o._distance=y-x,fqt(o,A),!o._outOfViewPrevious&&o._outOfView&&(o._needsUpdate=!0),o._outOfViewPrevious=o._outOfView}hb.prototype.update=function(o){if(pqt(this,o),this._needsUpdate)if(YWt(this,o.context),this._isPointLight&&hqt(this,o),this._cascadesEnabled&&(lqt(this,o),this._numberOfCascades>1&&nqt(this,o)),this._isPointLight)this._shadowMapCullingVolume=qg.fromBoundingSphere(this._boundingSphere);else{let A=this._shadowMapCamera,f=A.positionWC,m=A.directionWC,C=A.upWC;this._shadowMapCullingVolume=A.frustum.computeCullingVolume(f,m,C),this._passes.length===1&&this._passes[0].camera.clone(A)}if(this._passes.length===1){let A=this._sceneCamera.inverseViewMatrix;Re.multiply(this._shadowMapCamera.getViewProjection(),A,this._shadowMapMatrix)}this.debugShow&&$Wt(this,o)};hb.prototype.updatePass=function(o,A){KYe(this,o,A)};var mqt=new tt;function XYe(o,A,f){let m=o._isPointLight?o._pointBias:f?o._terrainBias:o._primitiveBias,C={shadowMap_texture:function(){return o._shadowMapTexture},shadowMap_textureCube:function(){return o._shadowMapTexture},shadowMap_matrix:function(){return o._shadowMapMatrix},shadowMap_cascadeSplits:function(){return o._cascadeSplits},shadowMap_cascadeMatrices:function(){return o._cascadeMatrices},shadowMap_lightDirectionEC:function(){return o._lightDirectionEC},shadowMap_lightPositionEC:function(){return o._lightPositionEC},shadowMap_cascadeDistances:function(){return o._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let E=mqt;return E.x=1/o._textureSize.x,E.y=1/o._textureSize.y,kt.fromElements(E.x,E.y,m.depthBias,m.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return kt.fromElements(m.normalOffsetScale,o._distance,o.maximumDistance,o._darkness,this.combinedUniforms2)},camera_projection_matrix:function(){return o._lightCamera.frustum.projectionMatrix},camera_view_matrix:function(){return o._lightCamera.viewMatrix},far:function(){return o._pointLightRadius},u_visibleColor:function(){return o.visibleColor},u_invisibleColor:function(){return o.invisibleColor},combinedUniforms1:new kt,combinedUniforms2:new kt};return yo(A,C,!1)}function Cqt(o,A,f,m,C,E){let I,x,y;if(k(E)&&(I=E.shaderProgram,x=E.renderState,y=E.uniformMap),E=cn.shallowClone(f,E),E.castShadows=!0,E.receiveShadows=!1,!k(I)||C!==f.shaderProgram.id||A){let v=f.shaderProgram,w=f.pass===zi.GLOBE,Q=f.pass!==zi.TRANSLUCENT,M=o._isPointLight,B=o._usesDepthTexture,D=u2.getShadowCastShaderKeyword(M,w,B,Q);if(I=m.shaderCache.getDerivedShaderProgram(v,D),!k(I)){let S=v.vertexShaderSource,P=v.fragmentShaderSource,R=u2.createShadowCastVertexShader(S,M,w),T=u2.createShadowCastFragmentShader(P,M,B,Q);I=m.shaderCache.createDerivedShaderProgram(v,D,{vertexShaderSource:R,fragmentShaderSource:T,attributeLocations:v._attributeLocations})}x=o._primitiveRenderState,M?x=o._pointRenderState:w&&(x=o._terrainRenderState),f.renderState.cull.enabled||(x=En(x,!1),x.cull=En(x.cull,!1),x.cull.enabled=!1,x=Hr.fromCache(x)),y=XYe(o,f.uniformMap,w)}return E.shaderProgram=I,E.renderState=x,E.uniformMap=y,E}hb.createReceiveDerivedCommand=function(o,A,f,m,C){k(C)||(C={});let E=o.length>0,I=A.shaderProgram,x=I.vertexShaderSource,y=I.fragmentShaderSource,v=A.pass===zi.GLOBE,w=!1;if(v&&(w=A.owner.data.renderedMesh.encoding.hasVertexNormals),A.receiveShadows&&E){let Q,M;k(C.receiveCommand)&&(Q=C.receiveCommand.shaderProgram,M=C.receiveCommand.uniformMap),C.receiveCommand=cn.shallowClone(A,C.receiveCommand),C.castShadows=!1,C.receiveShadows=!0;let B=C.receiveShaderCastShadows!==A.castShadows,D=C.receiveShaderProgramId!==A.shaderProgram.id;if(!k(Q)||D||f||B){let S=u2.getShadowReceiveShaderKeyword(o[0],A.castShadows,v,w);if(Q=m.shaderCache.getDerivedShaderProgram(I,S),!k(Q)){let P=u2.createShadowReceiveVertexShader(x,v,w),R=u2.createShadowReceiveFragmentShader(y,o[0],A.castShadows,v,w);Q=m.shaderCache.createDerivedShaderProgram(I,S,{vertexShaderSource:P,fragmentShaderSource:R,attributeLocations:I._attributeLocations})}M=XYe(o[0],A.uniformMap,v)}C.receiveCommand.shaderProgram=Q,C.receiveCommand.uniformMap=M,C.receiveShaderProgramId=A.shaderProgram.id,C.receiveShaderCastShadows=A.castShadows}return C};hb.createCastDerivedCommand=function(o,A,f,m,C){if(k(C)||(C={}),A.castShadows){let E=C.castCommands;k(E)||(E=C.castCommands=[]);let I=C.castShaderProgramId,x=o.length;E.length=x;for(let y=0;y-1&&m.derivedKeywords.splice(I,1)}return this.createDerivedShaderProgram(o,A,f)};_B.prototype.getDerivedShaderProgram=function(o,A){let f=o._cachedShader,m=A+f.keyword,C=this._shaders[m];if(k(C))return C.shaderProgram};_B.prototype.createDerivedShaderProgram=function(o,A,f){let m=o._cachedShader,C=A+m.keyword,E=f.vertexShaderSource,I=f.fragmentShaderSource,x=f.attributeLocations;typeof E=="string"&&(E=new hr({sources:[E]})),typeof I=="string"&&(I=new hr({sources:[I]}));let y=this._context,v=E.createCombinedVertexShader(y),w=I.createCombinedFragmentShader(y),Q=new Wa({gl:y._gl,logShaderCompilation:y.logShaderCompilation,debugShaders:y.debugShaders,vertexShaderSource:E,vertexShaderText:v,fragmentShaderSource:I,fragmentShaderText:w,attributeLocations:x}),M={cache:this,shaderProgram:Q,keyword:C,derivedKeywords:[],count:0};return m.derivedKeywords.push(A),Q._cachedShader=M,this._shaders[C]=M,Q};function XEe(o,A){let f=A.derivedKeywords,m=f.length;for(let C=0;CTqt;++E){C=m;let I=C-A*Math.sin(C)-o,x=1-A*Math.cos(C);m=C-I/x}return C=m+f*De.TWO_PI,C}function Rqt(o,A){let f=Math.floor(o/De.TWO_PI);o-=f*De.TWO_PI;let m=Math.cos(o)-A,C=Math.sin(o)*Math.sqrt(1-A*A),E=Math.atan2(C,m);return E=De.zeroToTwoPi(E),o<0&&(E-=De.TWO_PI),E+=f*De.TWO_PI,E}function Lqt(o,A,f,m){let C=Math.cos(o),E=Math.sin(o),I=Math.cos(A),x=Math.sin(A),y=Math.cos(f),v=Math.sin(f);return k(m)?(m[0]=y*C-v*E*I,m[1]=v*C+y*E*I,m[2]=E*x,m[3]=-y*E-v*C*I,m[4]=-v*E+y*C*I,m[5]=C*x,m[6]=v*x,m[7]=-y*x,m[8]=I):m=new Nt(y*C-v*E*I,-y*E-v*C*I,v*x,v*C+y*E*I,-v*E+y*C*I,-y*x,E*x,C*x,I),m}var Fqt=1.0000010178*hp,Nqt=100.46645683*Ty,kqt=129597742283429e-5*ix,zRe=16002,YRe=21863,JRe=32004,KRe=10931,WRe=14529,qRe=16368,jRe=15318,XRe=32794,Uqt=64*1e-7*hp,Oqt=-152*1e-7*hp,Gqt=62*1e-7*hp,Hqt=-8*1e-7*hp,Vqt=32*1e-7*hp,zqt=-41*1e-7*hp,Yqt=19*1e-7*hp,Jqt=-11*1e-7*hp,Kqt=-150*1e-7*hp,Wqt=-46*1e-7*hp,qqt=68*1e-7*hp,jqt=54*1e-7*hp,Xqt=14*1e-7*hp,Zqt=24*1e-7*hp,$qt=-28*1e-7*hp,ejt=22*1e-7*hp,ZRe=10,$Re=16002,eLe=21863,tLe=10931,iLe=1473,rLe=32004,nLe=4387,oLe=73,tjt=-325*1e-7,ijt=-322*1e-7,rjt=-79*1e-7,njt=232*1e-7,ojt=-52*1e-7,ajt=97*1e-7,sjt=55*1e-7,ljt=-41*1e-7,Ajt=-105*1e-7,ujt=-137*1e-7,cjt=258*1e-7,hjt=35*1e-7,djt=-116*1e-7,gjt=-88*1e-7,fjt=-112*1e-7,pjt=-80*1e-7,lU=new jt(0,0,gl.TAI);function mjt(o,A){$Ye(o,lU);let f=(lU.dayNumber-uX.dayNumber+(lU.secondsOfDay-uX.secondsOfDay)/rA.SECONDS_PER_DAY)/(rA.DAYS_PER_JULIAN_CENTURY*10),m=.3595362*f,C=Fqt+Uqt*Math.cos(zRe*m)+Kqt*Math.sin(zRe*m)+Oqt*Math.cos(YRe*m)+Wqt*Math.sin(YRe*m)+Gqt*Math.cos(JRe*m)+qqt*Math.sin(JRe*m)+Hqt*Math.cos(KRe*m)+jqt*Math.sin(KRe*m)+Vqt*Math.cos(WRe*m)+Xqt*Math.sin(WRe*m)+zqt*Math.cos(qRe*m)+Zqt*Math.sin(qRe*m)+Yqt*Math.cos(jRe*m)+$qt*Math.sin(jRe*m)+Jqt*Math.cos(XRe*m)+ejt*Math.sin(XRe*m),E=Nqt+kqt*f+tjt*Math.cos(ZRe*m)+Ajt*Math.sin(ZRe*m)+ijt*Math.cos($Re*m)+ujt*Math.sin($Re*m)+rjt*Math.cos(eLe*m)+cjt*Math.sin(eLe*m)+njt*Math.cos(tLe*m)+hjt*Math.sin(tLe*m)+ojt*Math.cos(iLe*m)+djt*Math.sin(iLe*m)+ajt*Math.cos(rLe*m)+gjt*Math.sin(rLe*m)+sjt*Math.cos(nLe*m)+fjt*Math.sin(nLe*m)+ljt*Math.cos(oLe*m)+pjt*Math.sin(oLe*m),I=.0167086342-.0004203654*f,x=102.93734808*Ty+11612.3529*ix*f,y=469.97289*ix*f,v=174.87317577*Ty-8679.27034*ix*f;return eJe(C,I,y,x,v,E,A)}function tJe(o,A){$Ye(o,lU);let f=(lU.dayNumber-uX.dayNumber+(lU.secondsOfDay-uX.secondsOfDay)/rA.SECONDS_PER_DAY)/rA.DAYS_PER_JULIAN_CENTURY,m=f*f,C=m*f,E=C*f,I=383397.7725+.004*f,x=.055545526-16e-9*f,y=5.15668983*Ty,v=-8e-5*f+.02966*m-42e-6*C-13e-8*E,w=83.35324312*Ty,Q=146434202669e-4*f-38.2702*m-.045047*C+21301e-8*E,M=125.04455501*Ty,B=-69679193631e-4*f+6.3602*m+.007625*C-3586e-8*E,D=218.31664563*Ty,S=17325593434847e-4*f-6.391*m+.006588*C-3169e-8*E,P=297.85019547*Ty+ix*(1602961601209e-3*f-6.3706*m+.006593*C-3169e-8*E),R=93.27209062*Ty+ix*(17395272628478e-4*f-12.7512*m-.001037*C+417e-8*E),T=134.96340251*Ty+ix*(17179159232178e-4*f+31.8792*m+.051635*C-2447e-7*E),L=357.52910918*Ty+ix*(1295965810481e-4*f-.5532*m+136e-6*C-1149e-8*E),F=310.17137918*Ty-ix*(6967051436e-3*f+6.2068*m+.007618*C-3219e-8*E),U=2*P,N=4*P,H=6*P,J=2*T,K=3*T,X=4*T,j=2*R;I+=3400.4*Math.cos(U)-635.6*Math.cos(U-T)-235.6*Math.cos(T)+218.1*Math.cos(U-L)+181*Math.cos(U+T),x+=.014216*Math.cos(U-T)+.008551*Math.cos(U-J)-.001383*Math.cos(T)+.001356*Math.cos(U+T)-.001147*Math.cos(N-K)-914e-6*Math.cos(N-J)+869e-6*Math.cos(U-L-T)-627e-6*Math.cos(U)-394e-6*Math.cos(N-X)+282e-6*Math.cos(U-L-J)-279e-6*Math.cos(P-T)-236e-6*Math.cos(J)+231e-6*Math.cos(N)+229e-6*Math.cos(H-X)-201e-6*Math.cos(J-j),v+=486.26*Math.cos(U-j)-40.13*Math.cos(U)+37.51*Math.cos(j)+25.73*Math.cos(J-j)+19.97*Math.cos(U-L-j),Q+=-55609*Math.sin(U-T)-34711*Math.sin(U-J)-9792*Math.sin(T)+9385*Math.sin(N-K)+7505*Math.sin(N-J)+5318*Math.sin(U+T)+3484*Math.sin(N-X)-3417*Math.sin(U-L-T)-2530*Math.sin(H-X)-2376*Math.sin(U)-2075*Math.sin(U-K)-1883*Math.sin(J)-1736*Math.sin(H-5*T)+1626*Math.sin(L)-1370*Math.sin(H-K),B+=-5392*Math.sin(U-j)-540*Math.sin(L)-441*Math.sin(U)+423*Math.sin(j)-288*Math.sin(J-j),S+=-3332.9*Math.sin(U)+1197.4*Math.sin(U-T)-662.5*Math.sin(L)+396.3*Math.sin(T)-218*Math.sin(U-L);let ee=2*F,ie=3*F;v+=46.997*Math.cos(F)*f-.614*Math.cos(U-j+F)*f+.614*Math.cos(U-j-F)*f-.0297*Math.cos(ee)*m-.0335*Math.cos(F)*m+.0012*Math.cos(U-j+ee)*m-16e-5*Math.cos(F)*C+4e-5*Math.cos(ie)*C+4e-5*Math.cos(ee)*C;let z=2.116*Math.sin(F)*f-.111*Math.sin(U-j-F)*f-.0015*Math.sin(F)*m;Q+=z,S+=z,B+=-520.77*Math.sin(F)*f+13.66*Math.sin(U-j+F)*f+1.12*Math.sin(U-F)*f-1.06*Math.sin(j-F)*f+.66*Math.sin(ee)*m+.371*Math.sin(F)*m-.035*Math.sin(U-j+ee)*m-.015*Math.sin(U-j+F)*m+.0014*Math.sin(F)*C-.0011*Math.sin(ie)*C-9e-4*Math.sin(ee)*C,I*=Qqt;let oe=y+v*ix,le=w+Q*ix,Ae=D+S*ix,he=M+B*ix;return eJe(I,x,oe,le,he,Ae,A)}var aLe=.012300034,Cjt=aLe/(aLe+1)*-1;function Ejt(o,A){return A=tJe(o,A),Z.multiplyByScalar(A,Cjt,A)}var iJe=new Nt(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819),Q8=new Z;eIe.computeSunPositionInEarthInertialFrame=function(o,A){return k(o)||(o=jt.now()),k(A)||(A=new Z),Q8=mjt(o,Q8),A=Z.negate(Q8,A),Ejt(o,Q8),Z.subtract(A,Q8,A),Nt.multiplyByVector(iJe,A,A),A};eIe.computeMoonPositionInEarthInertialFrame=function(o,A){return k(o)||(o=jt.now()),A=tJe(o,A),Nt.multiplyByVector(iJe,A,A),A};var qV=eIe;function Ijt(o){o=ae(o,ae.EMPTY_OBJECT),this.color=qe.clone(ae(o.color,qe.WHITE)),this.intensity=ae(o.intensity,2)}var B4=Ijt;function w4(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new _r,this._viewportCartesian4=new kt,this._viewportDirty=!1,this._viewportOrthographicMatrix=Re.clone(Re.IDENTITY),this._viewportTransformation=Re.clone(Re.IDENTITY),this._model=Re.clone(Re.IDENTITY),this._view=Re.clone(Re.IDENTITY),this._inverseView=Re.clone(Re.IDENTITY),this._projection=Re.clone(Re.IDENTITY),this._infiniteProjection=Re.clone(Re.IDENTITY),this._entireFrustum=new tt,this._currentFrustum=new tt,this._frustumPlanes=new kt,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=Nt.clone(Re.IDENTITY),this._view3DDirty=!0,this._view3D=new Re,this._inverseView3DDirty=!0,this._inverseView3D=new Re,this._inverseModelDirty=!0,this._inverseModel=new Re,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new Nt,this._viewRotation=new Nt,this._inverseViewRotation=new Nt,this._viewRotation3D=new Nt,this._inverseViewRotation3D=new Nt,this._inverseProjectionDirty=!0,this._inverseProjection=new Re,this._modelViewDirty=!0,this._modelView=new Re,this._modelView3DDirty=!0,this._modelView3D=new Re,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new Re,this._inverseModelViewDirty=!0,this._inverseModelView=new Re,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new Re,this._viewProjectionDirty=!0,this._viewProjection=new Re,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new Re,this._modelViewProjectionDirty=!0,this._modelViewProjection=new Re,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new Re,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new Re,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new Re,this._normalDirty=!0,this._normal=new Nt,this._normal3DDirty=!0,this._normal3D=new Nt,this._inverseNormalDirty=!0,this._inverseNormal=new Nt,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new Nt,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new Jl,this._cameraPosition=new Z,this._sunPositionWC=new Z,this._sunPositionColumbusView=new Z,this._sunDirectionWC=new Z,this._sunDirectionEC=new Z,this._moonDirectionEC=new Z,this._lightDirectionWC=new Z,this._lightDirectionEC=new Z,this._lightColor=new Z,this._lightColorHdr=new Z,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new Z,this._cameraRight=new Z,this._cameraUp=new Z,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new tt,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new qe,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsDimensions=new tt,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._invertClassificationColor=void 0,this._splitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}Object.defineProperties(w4.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(o){if(!_r.equals(o,this._viewport)){_r.clone(o,this._viewport);let A=this._viewport,f=this._viewportCartesian4;f.x=A.x,f.y=A.y,f.z=A.width,f.w=A.height,this._viewportDirty=!0}}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return ALe(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return ALe(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(o){Re.clone(o,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,Re.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){let o=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,Re.getMatrix3(this.inverseModel,o),Nt.transpose(o,o)),o}},view:{get:function(){return this._view}},view3D:{get:function(){return ile(this),this._view3D}},viewRotation:{get:function(){return ile(this),this._viewRotation}},viewRotation3D:{get:function(){return ile(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return hLe(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return hLe(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return Djt(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return Mjt(this),this._modelView}},modelView3D:{get:function(){return Tjt(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return kjt(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return Pjt(this),this._inverseModelView}},inverseModelView3D:{get:function(){return Rjt(this),this._inverseModelView3D}},viewProjection:{get:function(){return Ljt(this),this._viewProjection}},inverseViewProjection:{get:function(){return Fjt(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return Njt(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return Ujt(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return Ojt(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return Gjt(this),this._modelViewInfiniteProjection}},normal:{get:function(){return Hjt(this),this._normal}},normal3D:{get:function(){return Vjt(this),this._normal3D}},inverseNormal:{get:function(){return zjt(this),this._inverseNormal}},inverseNormal3D:{get:function(){return Yjt(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return cLe(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return cLe(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsDimensions:{get:function(){return this._specularEnvironmentMapsDimensions}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},splitPosition:{get:function(){return this._splitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return ae(this._ellipsoid,gi.WGS84)}}});function xjt(o,A){Re.clone(A,o._view),Re.getMatrix3(A,o._viewRotation),o._view3DDirty=!0,o._inverseView3DDirty=!0,o._modelViewDirty=!0,o._modelView3DDirty=!0,o._modelViewRelativeToEyeDirty=!0,o._inverseModelViewDirty=!0,o._inverseModelView3DDirty=!0,o._viewProjectionDirty=!0,o._inverseViewProjectionDirty=!0,o._modelViewProjectionDirty=!0,o._modelViewProjectionRelativeToEyeDirty=!0,o._modelViewInfiniteProjectionDirty=!0,o._normalDirty=!0,o._inverseNormalDirty=!0,o._normal3DDirty=!0,o._inverseNormal3DDirty=!0}function yjt(o,A){Re.clone(A,o._inverseView),Re.getMatrix3(A,o._inverseViewRotation)}function vjt(o,A){Re.clone(A,o._projection),o._inverseProjectionDirty=!0,o._viewProjectionDirty=!0,o._inverseViewProjectionDirty=!0,o._modelViewProjectionDirty=!0,o._modelViewProjectionRelativeToEyeDirty=!0}function _jt(o,A){Re.clone(A,o._infiniteProjection),o._modelViewInfiniteProjectionDirty=!0}function Bjt(o,A){Z.clone(A.positionWC,o._cameraPosition),Z.clone(A.directionWC,o._cameraDirection),Z.clone(A.rightWC,o._cameraRight),Z.clone(A.upWC,o._cameraUp);let f=A.positionCartographic;k(f)?o._eyeHeight=f.height:o._eyeHeight=-o._ellipsoid.maximumRadius,o._encodedCameraPositionMCDirty=!0}var S8=new Nt,wjt=new Lt,sLe=new Z,lLe=new Z;function bjt(o,A){k(Vr.computeIcrfToFixedMatrix(A.time,S8))||(S8=Vr.computeTemeToPseudoFixedMatrix(A.time,S8));let f=qV.computeSunPositionInEarthInertialFrame(A.time,o._sunPositionWC);if(Nt.multiplyByVector(S8,f,f),Z.normalize(f,o._sunDirectionWC),DC.isMoon()&&Z.clone(o._sunPositionWC,sLe),f=Nt.multiplyByVector(o.viewRotation3D,f,o._sunDirectionEC),Z.normalize(f,f),f=qV.computeMoonPositionInEarthInertialFrame(A.time,o._moonDirectionEC),Nt.multiplyByVector(S8,f,f),DC.isMoon()){Z.clone(f,lLe);let E=Z.subtract(sLe,lLe,new Z),I=Nt.multiplyByVector(o.viewRotation3D,E,o._sunDirectionEC);Z.normalize(I,I)}Nt.multiplyByVector(o.viewRotation3D,f,f),Z.normalize(f,f);let m=A.mapProjection,C=m.ellipsoid.cartesianToCartographic(o._sunPositionWC,wjt);m.project(C,o._sunPositionColumbusView)}w4.prototype.updateCamera=function(o){xjt(this,o.viewMatrix),yjt(this,o.inverseViewMatrix),Bjt(this,o),this._entireFrustum.x=o.frustum.near,this._entireFrustum.y=o.frustum.far,this.updateFrustum(o.frustum),this._orthographicIn3D=this._mode!==ii.SCENE2D&&o.frustum instanceof $a};w4.prototype.updateFrustum=function(o){vjt(this,o.projectionMatrix),k(o.infiniteProjectionMatrix)&&_jt(this,o.infiniteProjectionMatrix),this._currentFrustum.x=o.near,this._currentFrustum.y=o.far,this._farDepthFromNearPlusOne=o.far-o.near+1,this._log2FarDepthFromNearPlusOne=De.log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne;let A=o.offCenterFrustum;k(A)&&(o=A),this._frustumPlanes.x=o.top,this._frustumPlanes.y=o.bottom,this._frustumPlanes.z=o.left,this._frustumPlanes.w=o.right};w4.prototype.updatePass=function(o){this._pass=o};var Qjt=[],Sjt=new B4;w4.prototype.update=function(o){this._mode=o.mode,this._mapProjection=o.mapProjection,this._ellipsoid=o.mapProjection.ellipsoid,this._pixelRatio=o.pixelRatio;let A=o.camera;this.updateCamera(A),o.mode===ii.SCENE2D?(this._frustum2DWidth=A.frustum.right-A.frustum.left,this._eyeHeight2D.x=this._frustum2DWidth*.5,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),bjt(this,o);let f=ae(o.light,Sjt);f instanceof B4?(this._lightDirectionWC=Z.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=Z.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=Z.normalize(Z.negate(f.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=Nt.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));let m=f.color,C=Z.fromElements(m.red,m.green,m.blue,this._lightColorHdr);C=Z.multiplyByScalar(C,f.intensity,C);let E=Z.maximumComponent(C);E>1?Z.divideByScalar(C,E,this._lightColor):Z.clone(C,this._lightColor);let I=o.brdfLutGenerator,x=k(I)?I.colorTexture:void 0;this._brdfLut=x,this._environmentMap=ae(o.environmentMap,o.context.defaultCubeMap),this._sphericalHarmonicCoefficients=ae(o.sphericalHarmonicCoefficients,Qjt),this._specularEnvironmentMaps=o.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=o.specularEnvironmentMapsMaximumLOD,k(this._specularEnvironmentMaps)&&tt.clone(this._specularEnvironmentMaps.dimensions,this._specularEnvironmentMapsDimensions),this._fogDensity=o.fog.density,this._invertClassificationColor=o.invertClassificationColor,this._frameState=o,this._temeToPseudoFixed=Vr.computeTemeToPseudoFixedMatrix(o.time,this._temeToPseudoFixed),this._splitPosition=o.splitPosition*o.context.drawingBufferWidth;let y=A.frustum.fov,v=this._viewport,w;k(y)?v.height>v.width?w=Math.tan(.5*y)*2/v.height:w=Math.tan(.5*y)*2/v.width:w=1/Math.max(v.width,v.height),this._geometricToleranceOverMeter=w*o.maximumScreenSpaceError,qe.clone(o.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=o.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};function ALe(o){if(o._viewportDirty){let A=o._viewport;Re.computeOrthographicOffCenter(A.x,A.x+A.width,A.y,A.y+A.height,0,1,o._viewportOrthographicMatrix),Re.computeViewportTransformation(A,0,1,o._viewportTransformation),o._viewportDirty=!1}}function Djt(o){o._inverseProjectionDirty&&(o._inverseProjectionDirty=!1,o._mode!==ii.SCENE2D&&o._mode!==ii.MORPHING&&!o._orthographicIn3D?Re.inverse(o._projection,o._inverseProjection):Re.clone(Re.ZERO,o._inverseProjection))}function Mjt(o){o._modelViewDirty&&(o._modelViewDirty=!1,Re.multiplyTransformation(o._view,o._model,o._modelView))}function Tjt(o){o._modelView3DDirty&&(o._modelView3DDirty=!1,Re.multiplyTransformation(o.view3D,o._model,o._modelView3D))}function Pjt(o){o._inverseModelViewDirty&&(o._inverseModelViewDirty=!1,Re.inverse(o.modelView,o._inverseModelView))}function Rjt(o){o._inverseModelView3DDirty&&(o._inverseModelView3DDirty=!1,Re.inverse(o.modelView3D,o._inverseModelView3D))}function Ljt(o){o._viewProjectionDirty&&(o._viewProjectionDirty=!1,Re.multiply(o._projection,o._view,o._viewProjection))}function Fjt(o){o._inverseViewProjectionDirty&&(o._inverseViewProjectionDirty=!1,Re.inverse(o.viewProjection,o._inverseViewProjection))}function Njt(o){o._modelViewProjectionDirty&&(o._modelViewProjectionDirty=!1,Re.multiply(o._projection,o.modelView,o._modelViewProjection))}function kjt(o){if(o._modelViewRelativeToEyeDirty){o._modelViewRelativeToEyeDirty=!1;let A=o.modelView,f=o._modelViewRelativeToEye;f[0]=A[0],f[1]=A[1],f[2]=A[2],f[3]=A[3],f[4]=A[4],f[5]=A[5],f[6]=A[6],f[7]=A[7],f[8]=A[8],f[9]=A[9],f[10]=A[10],f[11]=A[11],f[12]=0,f[13]=0,f[14]=0,f[15]=A[15]}}function Ujt(o){o._inverseModelViewProjectionDirty&&(o._inverseModelViewProjectionDirty=!1,Re.inverse(o.modelViewProjection,o._inverseModelViewProjection))}function Ojt(o){o._modelViewProjectionRelativeToEyeDirty&&(o._modelViewProjectionRelativeToEyeDirty=!1,Re.multiply(o._projection,o.modelViewRelativeToEye,o._modelViewProjectionRelativeToEye))}function Gjt(o){o._modelViewInfiniteProjectionDirty&&(o._modelViewInfiniteProjectionDirty=!1,Re.multiply(o._infiniteProjection,o.modelView,o._modelViewInfiniteProjection))}function Hjt(o){if(o._normalDirty){o._normalDirty=!1;let A=o._normal;Re.getMatrix3(o.inverseModelView,A),Nt.getRotation(A,A),Nt.transpose(A,A)}}function Vjt(o){if(o._normal3DDirty){o._normal3DDirty=!1;let A=o._normal3D;Re.getMatrix3(o.inverseModelView3D,A),Nt.getRotation(A,A),Nt.transpose(A,A)}}function zjt(o){o._inverseNormalDirty&&(o._inverseNormalDirty=!1,Re.getMatrix3(o.inverseModelView,o._inverseNormal),Nt.getRotation(o._inverseNormal,o._inverseNormal))}function Yjt(o){o._inverseNormal3DDirty&&(o._inverseNormal3DDirty=!1,Re.getMatrix3(o.inverseModelView3D,o._inverseNormal3D),Nt.getRotation(o._inverseNormal3D,o._inverseNormal3D))}var uLe=new Z;function cLe(o){o._encodedCameraPositionMCDirty&&(o._encodedCameraPositionMCDirty=!1,Re.multiplyByPoint(o.inverseModel,o._cameraPosition,uLe),Jl.fromCartesian(uLe,o._encodedCameraPositionMC))}var Jjt=new Z,Kjt=new Z,Wjt=new Z,qjt=new Z,jjt=new Lt,Xjt=new Z,Zjt=new Re;function $jt(o,A,f,m,C,E,I,x){let y=Jjt;y.x=o.y,y.y=o.z,y.z=o.x;let v=Kjt;v.x=f.y,v.y=f.z,v.z=f.x;let w=Wjt;w.x=m.y,w.y=m.z,w.z=m.x;let Q=qjt;Q.x=A.y,Q.y=A.z,Q.z=A.x,E===ii.SCENE2D&&(y.z=C*.5);let M=I.unproject(y,jjt);M.longitude=De.clamp(M.longitude,-Math.PI,Math.PI),M.latitude=De.clamp(M.latitude,-De.PI_OVER_TWO,De.PI_OVER_TWO);let B=I.ellipsoid,D=B.cartographicToCartesian(M,Xjt),S=Vr.eastNorthUpToFixedFrame(D,B,Zjt);return Re.multiplyByPointAsVector(S,v,v),Re.multiplyByPointAsVector(S,w,w),Re.multiplyByPointAsVector(S,Q,Q),k(x)||(x=new Re),x[0]=v.x,x[1]=w.x,x[2]=-Q.x,x[3]=0,x[4]=v.y,x[5]=w.y,x[6]=-Q.y,x[7]=0,x[8]=v.z,x[9]=w.z,x[10]=-Q.z,x[11]=0,x[12]=-Z.dot(v,D),x[13]=-Z.dot(w,D),x[14]=Z.dot(Q,D),x[15]=1,x}function ile(o){o._view3DDirty&&(o._mode===ii.SCENE3D?Re.clone(o._view,o._view3D):$jt(o._cameraPosition,o._cameraDirection,o._cameraRight,o._cameraUp,o._frustum2DWidth,o._mode,o._mapProjection,o._view3D),Re.getMatrix3(o._view3D,o._viewRotation3D),o._view3DDirty=!1)}function hLe(o){o._inverseView3DDirty&&(Re.inverseTransformation(o.view3D,o._inverseView3D),Re.getMatrix3(o._inverseView3D,o._inverseViewRotation3D),o._inverseView3DDirty=!1)}var tIe=w4;function Vx(o,A){let{getWebGLStub:f,requestWebgl1:m,webgl:C={},allowTextureFilterAnisotropic:E=!0}=ae(A,{});C.alpha=ae(C.alpha,!1),C.stencil=ae(C.stencil,!0),C.powerPreference=ae(C.powerPreference,"high-performance");let I=k(f)?f(o,C):eXt(o,C,m),x=typeof WebGL2RenderingContext<"u"&&I instanceof WebGL2RenderingContext;this._canvas=o,this._originalGLContext=I,this._gl=I,this._webgl2=x,this._id=Kl(),this.validateFramebuffer=!1,this.validateShaderProgram=!1,this.logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new ZEe(this),this._textureCache=new $Ee;let y=I;this._stencilBits=y.getParameter(y.STENCIL_BITS),On._maximumCombinedTextureImageUnits=y.getParameter(y.MAX_COMBINED_TEXTURE_IMAGE_UNITS),On._maximumCubeMapSize=y.getParameter(y.MAX_CUBE_MAP_TEXTURE_SIZE),On._maximumFragmentUniformVectors=y.getParameter(y.MAX_FRAGMENT_UNIFORM_VECTORS),On._maximumTextureImageUnits=y.getParameter(y.MAX_TEXTURE_IMAGE_UNITS),On._maximumRenderbufferSize=y.getParameter(y.MAX_RENDERBUFFER_SIZE),On._maximumTextureSize=y.getParameter(y.MAX_TEXTURE_SIZE),On._maximumVaryingVectors=y.getParameter(y.MAX_VARYING_VECTORS),On._maximumVertexAttributes=y.getParameter(y.MAX_VERTEX_ATTRIBS),On._maximumVertexTextureImageUnits=y.getParameter(y.MAX_VERTEX_TEXTURE_IMAGE_UNITS),On._maximumVertexUniformVectors=y.getParameter(y.MAX_VERTEX_UNIFORM_VECTORS),On._maximumSamples=this._webgl2?y.getParameter(y.MAX_SAMPLES):0;let v=y.getParameter(y.ALIASED_LINE_WIDTH_RANGE);On._minimumAliasedLineWidth=v[0],On._maximumAliasedLineWidth=v[1];let w=y.getParameter(y.ALIASED_POINT_SIZE_RANGE);On._minimumAliasedPointSize=w[0],On._maximumAliasedPointSize=w[1];let Q=y.getParameter(y.MAX_VIEWPORT_DIMS);On._maximumViewportWidth=Q[0],On._maximumViewportHeight=Q[1];let M=y.getShaderPrecisionFormat(y.FRAGMENT_SHADER,y.HIGH_FLOAT);On._highpFloatSupported=M.precision!==0;let B=y.getShaderPrecisionFormat(y.FRAGMENT_SHADER,y.HIGH_INT);On._highpIntSupported=B.rangeMax!==0,this._antialias=y.getContextAttributes().antialias,this._standardDerivatives=!!ad(y,["OES_standard_derivatives"]),this._blendMinmax=!!ad(y,["EXT_blend_minmax"]),this._elementIndexUint=!!ad(y,["OES_element_index_uint"]),this._depthTexture=!!ad(y,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._fragDepth=!!ad(y,["EXT_frag_depth"]),this._debugShaders=ad(y,["WEBGL_debug_shaders"]),this._textureFloat=!!ad(y,["OES_texture_float"]),this._textureHalfFloat=!!ad(y,["OES_texture_half_float"]),this._textureFloatLinear=!!ad(y,["OES_texture_float_linear"]),this._textureHalfFloatLinear=!!ad(y,["OES_texture_half_float_linear"]),this._colorBufferFloat=!!ad(y,["EXT_color_buffer_float","WEBGL_color_buffer_float"]),this._floatBlend=!!ad(y,["EXT_float_blend"]),this._colorBufferHalfFloat=!!ad(y,["EXT_color_buffer_half_float"]),this._s3tc=!!ad(y,["WEBGL_compressed_texture_s3tc","MOZ_WEBGL_compressed_texture_s3tc","WEBKIT_WEBGL_compressed_texture_s3tc"]),this._pvrtc=!!ad(y,["WEBGL_compressed_texture_pvrtc","WEBKIT_WEBGL_compressed_texture_pvrtc"]),this._astc=!!ad(y,["WEBGL_compressed_texture_astc"]),this._etc=!!ad(y,["WEBG_compressed_texture_etc"]),this._etc1=!!ad(y,["WEBGL_compressed_texture_etc1"]),this._bc7=!!ad(y,["EXT_texture_compression_bptc"]),$2.setKTX2SupportedFormats(this._s3tc,this._pvrtc,this._astc,this._etc,this._etc1,this._bc7);let D=E?ad(y,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=D,On._maximumTextureFilterAnisotropy=k(D)?y.getParameter(D.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1;let S,P,R,T,L,F,U,N,H,J;if(x){let ee=this;S=function(){return ee._gl.createVertexArray()},P=function(ie){ee._gl.bindVertexArray(ie)},R=function(ie){ee._gl.deleteVertexArray(ie)},T=function(ie,z,oe,le,Ae){y.drawElementsInstanced(ie,z,oe,le,Ae)},L=function(ie,z,oe,le){y.drawArraysInstanced(ie,z,oe,le)},F=function(ie,z){y.vertexAttribDivisor(ie,z)},U=function(ie){y.drawBuffers(ie)}}else N=ad(y,["OES_vertex_array_object"]),k(N)&&(S=function(){return N.createVertexArrayOES()},P=function(ee){N.bindVertexArrayOES(ee)},R=function(ee){N.deleteVertexArrayOES(ee)}),H=ad(y,["ANGLE_instanced_arrays"]),k(H)&&(T=function(ee,ie,z,oe,le){H.drawElementsInstancedANGLE(ee,ie,z,oe,le)},L=function(ee,ie,z,oe){H.drawArraysInstancedANGLE(ee,ie,z,oe)},F=function(ee,ie){H.vertexAttribDivisorANGLE(ee,ie)}),J=ad(y,["WEBGL_draw_buffers"]),k(J)&&(U=function(ee){J.drawBuffersWEBGL(ee)});this.glCreateVertexArray=S,this.glBindVertexArray=P,this.glDeleteVertexArray=R,this.glDrawElementsInstanced=T,this.glDrawArraysInstanced=L,this.glVertexAttribDivisor=F,this.glDrawBuffers=U,this._vertexArrayObject=!!N,this._instancedArrays=!!H,this._drawBuffers=!!J,On._maximumDrawBuffers=this.drawBuffers?y.getParameter(ri.MAX_DRAW_BUFFERS):1,On._maximumColorAttachments=this.drawBuffers?y.getParameter(ri.MAX_COLOR_ATTACHMENTS):1,this._clearColor=new qe(0,0,0,0),this._clearDepth=1,this._clearStencil=0;let K=new tIe,X=new Qf(this),j=Hr.fromCache();this._defaultPassState=X,this._defaultRenderState=j,this._defaultTexture=void 0,this._defaultEmissiveTexture=void 0,this._defaultNormalTexture=void 0,this._defaultCubeMap=void 0,this._us=K,this._currentRenderState=j,this._currentPassState=X,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._vertexAttribDivisors=[],this._previousDrawInstanced=!1;for(let ee=0;ee"u")throw new Ti("The browser does not support WebGL. Visit http://get.webgl.org.");!f&&!(typeof WebGL2RenderingContext<"u")&&(f=!0);let m=f?"webgl":"webgl2",C=o.getContext(m,A);if(!k(C))throw new Ti("The browser supports WebGL, but initialization failed.");return C}function tXt(o,A){let f="WebGL Error: ";switch(A){case o.INVALID_ENUM:f+="INVALID_ENUM";break;case o.INVALID_VALUE:f+="INVALID_VALUE";break;case o.INVALID_OPERATION:f+="INVALID_OPERATION";break;case o.OUT_OF_MEMORY:f+="OUT_OF_MEMORY";break;case o.CONTEXT_LOST_WEBGL:f+="CONTEXT_LOST_WEBGL lost";break;default:f+=`Unknown (${A})`}return f}function iXt(o,A,f,m){let C=`${tXt(o,m)}: ${A.name}(`;for(let E=0;E=8}},antialias:{get:function(){return this._antialias}},msaa:{get:function(){return this._webgl2}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},astc:{get:function(){return this._astc}},etc:{get:function(){return this._etc}},etc1:{get:function(){return this._etc1}},bc7:{get:function(){return this._bc7}},supportsBasis:{get:function(){return this._s3tc||this._pvrtc||this._astc||this._etc||this._etc1||this._bc7}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(o){this._throwOnWebGLError=o,this._gl=oXt(this._originalGLContext,o?rXt:void 0)}},defaultTexture:{get:function(){return this._defaultTexture===void 0&&(this._defaultTexture=new Rn({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultEmissiveTexture:{get:function(){return this._defaultEmissiveTexture===void 0&&(this._defaultEmissiveTexture=new Rn({context:this,pixelFormat:Jr.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([0,0,0])},flipY:!1})),this._defaultEmissiveTexture}},defaultNormalTexture:{get:function(){return this._defaultNormalTexture===void 0&&(this._defaultNormalTexture=new Rn({context:this,pixelFormat:Jr.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([128,128,255])},flipY:!1})),this._defaultNormalTexture}},defaultCubeMap:{get:function(){if(this._defaultCubeMap===void 0){let o={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=new dB({context:this,source:{positiveX:o,negativeX:o,positiveY:o,negativeY:o,positiveZ:o,negativeZ:o},flipY:!1})}return this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return aXt}}});function rJe(o,A,f,m){let C=o._currentRenderState,E=o._currentPassState;o._currentRenderState=A,o._currentPassState=f,Hr.partialApply(o._gl,C,A,E,f,m)}var iIe;typeof WebGLRenderingContext<"u"&&(iIe=[ri.BACK]);function jV(o,A){if(A!==o._currentFramebuffer){o._currentFramebuffer=A;let f=iIe;if(k(A))A._bind(),f=A._getActiveColorAttachments();else{let m=o._gl;m.bindFramebuffer(m.FRAMEBUFFER,null)}o.drawBuffers&&o.glDrawBuffers(f)}}var sXt=new QA;Vx.prototype.clear=function(o,A){o=ae(o,sXt),A=ae(A,this._defaultPassState);let f=this._gl,m=0,C=o.color,E=o.depth,I=o.stencil;k(C)&&(qe.equals(this._clearColor,C)||(qe.clone(C,this._clearColor),f.clearColor(C.red,C.green,C.blue,C.alpha)),m|=f.COLOR_BUFFER_BIT),k(E)&&(E!==this._clearDepth&&(this._clearDepth=E,f.clearDepth(E)),m|=f.DEPTH_BUFFER_BIT),k(I)&&(I!==this._clearStencil&&(this._clearStencil=I,f.clearStencil(I)),m|=f.STENCIL_BUFFER_BIT);let x=ae(o.renderState,this._defaultRenderState);rJe(this,x,A,!0);let y=ae(o.framebuffer,A.framebuffer);jV(this,y),f.clear(m)};function lXt(o,A,f,m,C){jV(o,A),rJe(o,C,f,!1),m._bind(),o._maxFrameTextureUnitIndex=Math.max(o._maxFrameTextureUnitIndex,m.maximumTextureUnitIndex)}function AXt(o,A,f,m){let C=A._primitiveType,E=A._vertexArray,I=A._offset,x=A._count,y=A.instanceCount;o._us.model=ae(A._modelMatrix,Re.IDENTITY),f._setUniforms(m,o._us,o.validateShaderProgram),E._bind();let v=E.indexBuffer;k(v)?(I=I*v.bytesPerIndex,x=ae(x,v.numberOfIndices),y===0?o._gl.drawElements(C,x,v.indexDatatype,I):o.glDrawElementsInstanced(C,x,v.indexDatatype,I,y)):(x=ae(x,E.numberOfVertices),y===0?o._gl.drawArrays(C,I,x):o.glDrawArraysInstanced(C,I,x,y)),E._unBind()}Vx.prototype.draw=function(o,A,f,m){A=ae(A,this._defaultPassState);let C=ae(o._framebuffer,A.framebuffer);k(A.framebuffer)&&k(o._framebuffer)&&o._framebuffer._externalDepthStencil&&(o._framebuffer.depthStencilTexture=A.framebuffer.depthStencilTexture);let E=ae(o._renderState,this._defaultRenderState);f=ae(f,o._shaderProgram),m=ae(m,o._uniformMap),lXt(this,C,A,f,E),AXt(this,o,f,m)};Vx.prototype.endFrame=function(){let o=this._gl;o.useProgram(null),this._currentFramebuffer=void 0,o.bindFramebuffer(o.FRAMEBUFFER,null);let A=iIe;this.drawBuffers&&this.glDrawBuffers(A);let f=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(let m=0;m0&&(x=I.getColorTexture(0).pixelDatatype);let y=Jr.createTypedArray(Jr.RGBA,x,C,E);return jV(this,I),A.readPixels(f,m,C,E,Jr.RGBA,Gr.toWebGLConstant(x,this),y),y};var nJe={position:0,textureCoordinates:1};Vx.prototype.getViewportQuadVertexArray=function(){let o=this.cache.viewportQuad_vertexArray;if(!k(o)){let A=new Bo({attributes:{position:new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:$r.TRIANGLES});o=VA.fromGeometry({context:this,geometry:A,attributeLocations:nJe,bufferUsage:Fr.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=o}return o};Vx.prototype.createViewportQuadCommand=function(o,A){return A=ae(A,ae.EMPTY_OBJECT),new cn({vertexArray:this.getViewportQuadVertexArray(),primitiveType:$r.TRIANGLES,renderState:A.renderState,shaderProgram:Wa.fromCache({context:this,vertexShaderSource:Kee,fragmentShaderSource:o,attributeLocations:nJe}),uniformMap:A.uniformMap,owner:A.owner,framebuffer:A.framebuffer,pass:A.pass})};Vx.prototype.getObjectByPickColor=function(o){return this._pickObjects[o.toRgba()]};function rIe(o,A,f){this._pickObjects=o,this.key=A,this.color=f}Object.defineProperties(rIe.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(o){this._pickObjects[this.key]=o}}});rIe.prototype.destroy=function(){delete this._pickObjects[this.key]};Vx.prototype.createPickId=function(o){++this._nextPickColor[0];let A=this._nextPickColor[0];if(A===0)throw new Ti("Out of unique Pick IDs.");return this._pickObjects[A]=o,new rIe(this._pickObjects,A,qe.fromRgba(A))};Vx.prototype.isDestroyed=function(){return!1};Vx.prototype.destroy=function(){let o=this.cache;for(let A in o)if(o.hasOwnProperty(A)){let f=o[A];k(f.destroy)&&f.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultEmissiveTexture=this._defaultEmissiveTexture&&this._defaultEmissiveTexture.destroy(),this._defaultNormalTexture=this._defaultNormalTexture&&this._defaultNormalTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),ar(this)};Vx.prototype.clearFrameBuffer=function(o){let A=this._gl;A.clearColor(0,0,0,0,0),jV(this,o),A.clear(A.COLOR_BUFFER_BIT),A.clearColor(this._clearColor.red,this._clearColor.green,this._clearColor.blue,this._clearColor.alpha),jV(this,this._currentFramebuffer)};var nIe=Vx;function uXt(o,A,f){let m={flipY:!0,skipColorSpaceConversion:f,preferImageBitmap:!0},C=[fr.createIfNeeded(A.positiveX).fetchImage(m),fr.createIfNeeded(A.negativeX).fetchImage(m),fr.createIfNeeded(A.positiveY).fetchImage(m),fr.createIfNeeded(A.negativeY).fetchImage(m),fr.createIfNeeded(A.positiveZ).fetchImage(m),fr.createIfNeeded(A.negativeZ).fetchImage(m)];return Promise.all(C).then(function(E){return new dB({context:o,source:{positiveX:E[0],negativeX:E[1],positiveY:E[2],negativeY:E[3],positiveZ:E[4],negativeZ:E[5]}})})}var oIe=uXt;function XU(o){o=ae(o,ae.EMPTY_OBJECT),Du.defined("options.context",o.context);let A=o.context,f=o.width,m=o.height,C=o.depth,E=o.source,I=ae(o.pixelFormat,Jr.RGBA),x=ae(o.pixelDataType,Gr.UNSIGNED_BYTE),y=Jr.toInternalFormat(I,x,A);if(!k(f)||!k(m)||!k(C))throw new ni("options requires a source field to create an 3d texture. width or height or dimension fileds");if(Du.typeOf.number.greaterThan("width",f,0),f>On.maximumTextureSize)throw new ni("width must be less than or equal to the maximum texture size");if(Du.typeOf.number.greaterThan("height",m,0),m>On.maximumTextureSize)throw new ni("height must be less than or equal to the maximum texture size");if(Du.typeOf.number.greaterThan("dimensions",C,0),C>On.maximumTextureSize)throw new ni("dimension must be less than or equal to the maximum texture size");if(!Jr.validate(I))throw new ni("Invalid options.pixelFormat.");if(!Gr.validate(x))throw new ni("Invalid options.pixelDatatype.");let v=!0,w=A._gl,Q=w.TEXTURE_3D,M=w.createTexture();w.activeTexture(w.TEXTURE0),w.bindTexture(Q,M);let B=4;if(k(E)&&k(E.arrayBufferView)&&(B=Jr.alignmentInBytes(I,x,f)),w.pixelStorei(w.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),w.pixelStorei(w.UNPACK_FLIP_Y_WEBGL,!1),w.pixelStorei(w.UNPACK_ALIGNMENT,B),w.pixelStorei(w.UNPACK_COLORSPACE_CONVERSION_WEBGL,w.BROWSER_DEFAULT_WEBGL),k(E)&&k(E.arrayBufferView)){let D=E.arrayBufferView;w.texImage3D(Q,0,y,f,m,C,0,I,Gr.toWebGLConstant(x,A),D),v=!0}w.bindTexture(Q,null),this._id=Kl(),this._context=A,this._textureFilterAnisotropic=A._textureFilterAnisotropic,this._textureTarget=Q,this._texture=M,this._internalFormat=y,this._pixelFormat=I,this._pixelDatatype=x,this._width=f,this._height=m,this._depth=C,this._dimensions=new Z(f,m,C),this._hasMinmap=!1,this._sizeInBytes=4,this._preMultiplyAlpha=!1,this._flipY=!1,this._initialized=v,this._sampler=void 0,this.sampler=k(o.sampler)?o.sampler:new Ra}XU.fromFramebuffer=function(o){o=ae(o,ae.EMPTY_OBJECT),Du.defined("options.context",o.context);let A=o.context,f=A._gl,m=ae(o.pixelFormat,Jr.RGB),C=ae(o.width,f.drawingBufferWidth),E=ae(o.height,f.drawingBufferHeight),I=ae(o.depth,128),x=o.framebuffer;return new XU({context:A,width:C,height:E,pixelFormat:m,source:{framebuffer:k(x)?x:A.defaultFramebuffer,width:C,height:E,depth:I}})};Object.defineProperties(XU.prototype,{id:{get:function(){return this._id}},sampler:{get:function(){return this._sampler},set:function(o){let A=o.minificationFilter,f=o.magnificationFilter,m=this._context._gl,C=this._textureTarget;m.activeTexture(m.TEXTURE0),m.bindTexture(C,this._texture),m.texParameteri(C,m.TEXTURE_MIN_FILTER,A),m.texParameteri(C,m.TEXTURE_MAG_FILTER,f),m.texParameteri(C,m.TEXTURE_WRAP_R,o.wrapR),m.texParameteri(C,m.TEXTURE_WRAP_S,o.wrapS),m.texParameteri(C,m.TEXTURE_WRAP_T,o.wrapT),m.bindTexture(C,null),this._sampler=o}},dimensions:{get:function(){return this._dimensions}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},depth:{get:function(){return this._depth}},_target:{get:function(){return this._textureTarget}}});XU.prototype.isDestroyed=function(){return!1};XU.prototype.destory=function(){return this._context._gl.deleteTexture(this._texture),ar(this)};var aIe=XU,cX=`#ifdef MRT layout (location = 0) out vec4 out_FragData_0; layout (location = 1) out vec4 out_FragData_1; #else layout (location = 0) out vec4 out_FragColor; #endif uniform vec4 u_bgColor; uniform sampler2D u_depthTexture; in vec2 v_textureCoordinates; void main() { if (texture(u_depthTexture, v_textureCoordinates).r < 1.0) { #ifdef MRT out_FragData_0 = u_bgColor; out_FragData_1 = vec4(u_bgColor.a); #else out_FragColor = u_bgColor; #endif return; } discard; } `,ZU=`uniform vec3 u_radiiAndDynamicAtmosphereColor; uniform float u_atmosphereLightIntensity; uniform float u_atmosphereRayleighScaleHeight; uniform float u_atmosphereMieScaleHeight; uniform float u_atmosphereMieAnisotropy; uniform vec3 u_atmosphereRayleighCoefficient; uniform vec3 u_atmosphereMieCoefficient; const float ATMOSPHERE_THICKNESS = 111e3; // The thickness of the atmosphere in meters. const int PRIMARY_STEPS_MAX = 16; // Maximum number of times the ray from the camera to the world position (primary ray) is sampled. const int LIGHT_STEPS_MAX = 4; // Maximum number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. /** * Rational approximation to tanh(x) */ float approximateTanh(float x) { float x2 = x * x; return max(-1.0, min(+1.0, x * (27.0 + x2) / (27.0 + 9.0 * x2))); } /** * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as * the transmittance value for the ray. * * @param {czm_ray} primaryRay The ray from the camera to the position. * @param {float} primaryRayLength The length of the primary ray. * @param {vec3} lightDirection The direction of the light to calculate the scattering from. * @param {vec3} rayleighColor The variable the Rayleigh scattering will be written to. * @param {vec3} mieColor The variable the Mie scattering will be written to. * @param {float} opacity The variable the transmittance will be written to. * @glslFunction */ void computeScattering( czm_ray primaryRay, float primaryRayLength, vec3 lightDirection, float atmosphereInnerRadius, out vec3 rayleighColor, out vec3 mieColor, out float opacity ) { // Initialize the default scattering amounts to 0. rayleighColor = vec3(0.0); mieColor = vec3(0.0); opacity = 0.0; float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; vec3 origin = vec3(0.0); // Calculate intersection from the camera to the outer ring of the atmosphere. czm_raySegment primaryRayAtmosphereIntersect = czm_raySphereIntersectionInterval(primaryRay, origin, atmosphereOuterRadius); // Return empty colors if no intersection with the atmosphere geometry. if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) { return; } // To deal with smaller values of PRIMARY_STEPS (e.g. 4) // we implement a split strategy: sky or horizon. // For performance reasons, instead of a if/else branch // a soft choice is implemented through a weight 0.0 <= w_stop_gt_lprl <= 1.0 float x = 1e-7 * primaryRayAtmosphereIntersect.stop / length(primaryRayLength); // Value close to 0.0: close to the horizon // Value close to 1.0: above in the sky float w_stop_gt_lprl = 0.5 * (1.0 + approximateTanh(x)); // The ray should start from the first intersection with the outer atmopshere, or from the camera position, if it is inside the atmosphere. float start_0 = primaryRayAtmosphereIntersect.start; primaryRayAtmosphereIntersect.start = max(primaryRayAtmosphereIntersect.start, 0.0); // The ray should end at the exit from the atmosphere or at the distance to the vertex, whichever is smaller. primaryRayAtmosphereIntersect.stop = min(primaryRayAtmosphereIntersect.stop, length(primaryRayLength)); // For the number of ray steps, distinguish inside or outside atmosphere (outer space) // (1) from outer space we have to use more ray steps to get a realistic rendering // (2) within atmosphere we need fewer steps for faster rendering float x_o_a = start_0 - ATMOSPHERE_THICKNESS; // ATMOSPHERE_THICKNESS used as an ad-hoc constant, no precise meaning here, only the order of magnitude matters float w_inside_atmosphere = 1.0 - 0.5 * (1.0 + approximateTanh(x_o_a)); int PRIMARY_STEPS = PRIMARY_STEPS_MAX - int(w_inside_atmosphere * 12.0); // Number of times the ray from the camera to the world position (primary ray) is sampled. int LIGHT_STEPS = LIGHT_STEPS_MAX - int(w_inside_atmosphere * 2.0); // Number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. // Setup for sampling positions along the ray - starting from the intersection with the outer ring of the atmosphere. float rayPositionLength = primaryRayAtmosphereIntersect.start; // (1) Outside the atmosphere: constant rayStepLength // (2) Inside atmosphere: variable rayStepLength to compensate the rough rendering of the smaller number of ray steps float totalRayLength = primaryRayAtmosphereIntersect.stop - rayPositionLength; float rayStepLengthIncrease = w_inside_atmosphere * ((1.0 - w_stop_gt_lprl) * totalRayLength / (float(PRIMARY_STEPS * (PRIMARY_STEPS + 1)) / 2.0)); float rayStepLength = max(1.0 - w_inside_atmosphere, w_stop_gt_lprl) * totalRayLength / max(7.0 * w_inside_atmosphere, float(PRIMARY_STEPS)); vec3 rayleighAccumulation = vec3(0.0); vec3 mieAccumulation = vec3(0.0); vec2 opticalDepth = vec2(0.0); vec2 heightScale = vec2(u_atmosphereRayleighScaleHeight, u_atmosphereMieScaleHeight); // Sample positions on the primary ray. for (int i = 0; i < PRIMARY_STEPS_MAX; ++i) { // The loop should be: for (int i = 0; i < PRIMARY_STEPS; ++i) {...} but WebGL1 cannot // loop with non-constant condition, so it has to break early instead if (i >= PRIMARY_STEPS) { break; } // Calculate sample position along viewpoint ray. vec3 samplePosition = primaryRay.origin + primaryRay.direction * (rayPositionLength + rayStepLength); // Calculate height of sample position above ellipsoid. float sampleHeight = length(samplePosition) - atmosphereInnerRadius; // Calculate and accumulate density of particles at the sample position. vec2 sampleDensity = exp(-sampleHeight / heightScale) * rayStepLength; opticalDepth += sampleDensity; // Generate ray from the sample position segment to the light source, up to the outer ring of the atmosphere. czm_ray lightRay = czm_ray(samplePosition, lightDirection); czm_raySegment lightRayAtmosphereIntersect = czm_raySphereIntersectionInterval(lightRay, origin, atmosphereOuterRadius); float lightStepLength = lightRayAtmosphereIntersect.stop / float(LIGHT_STEPS); float lightPositionLength = 0.0; vec2 lightOpticalDepth = vec2(0.0); // Sample positions along the light ray, to accumulate incidence of light on the latest sample segment. for (int j = 0; j < LIGHT_STEPS_MAX; ++j) { // The loop should be: for (int j = 0; i < LIGHT_STEPS; ++j) {...} but WebGL1 cannot // loop with non-constant condition, so it has to break early instead if (j >= LIGHT_STEPS) { break; } // Calculate sample position along light ray. vec3 lightPosition = samplePosition + lightDirection * (lightPositionLength + lightStepLength * 0.5); // Calculate height of the light sample position above ellipsoid. float lightHeight = length(lightPosition) - atmosphereInnerRadius; // Calculate density of photons at the light sample position. lightOpticalDepth += exp(-lightHeight / heightScale) * lightStepLength; // Increment distance on light ray. lightPositionLength += lightStepLength; } // Compute attenuation via the primary ray and the light ray. vec3 attenuation = exp(-((u_atmosphereMieCoefficient * (opticalDepth.y + lightOpticalDepth.y)) + (u_atmosphereRayleighCoefficient * (opticalDepth.x + lightOpticalDepth.x)))); // Accumulate the scattering. rayleighAccumulation += sampleDensity.x * attenuation; mieAccumulation += sampleDensity.y * attenuation; // Increment distance on primary ray. rayPositionLength += (rayStepLength += rayStepLengthIncrease); } // Compute the scattering amount. rayleighColor = u_atmosphereRayleighCoefficient * rayleighAccumulation; mieColor = u_atmosphereMieCoefficient * mieAccumulation; // Compute the transmittance i.e. how much light is passing through the atmosphere. opacity = length(exp(-((u_atmosphereMieCoefficient * opticalDepth.y) + (u_atmosphereRayleighCoefficient * opticalDepth.x)))); } vec4 computeAtmosphereColor( vec3 positionWC, vec3 lightDirection, vec3 rayleighColor, vec3 mieColor, float opacity ) { // Setup the primary ray: from the camera position to the vertex position. vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); float cosAngle = dot(cameraToPositionWCDirection, lightDirection); float cosAngleSq = cosAngle * cosAngle; float G = u_atmosphereMieAnisotropy; float GSq = G * G; // The Rayleigh phase function. float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); // The Mie phase function. float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); // The final color is generated by combining the effects of the Rayleigh and Mie scattering. vec3 rayleigh = rayleighPhase * rayleighColor; vec3 mie = miePhase * mieColor; vec3 color = (rayleigh + mie) * u_atmosphereLightIntensity; return vec4(color, opacity); } `,sIe=`in vec2 v_textureCoordinates; const float M_PI = 3.141592653589793; float vdcRadicalInverse(int i) { float r; float base = 2.0; float value = 0.0; float invBase = 1.0 / base; float invBi = invBase; for (int x = 0; x < 100; x++) { if (i <= 0) { break; } r = mod(float(i), base); value += r * invBi; invBi *= invBase; i = int(float(i) * invBase); } return value; } vec2 hammersley2D(int i, int N) { return vec2(float(i) / float(N), vdcRadicalInverse(i)); } vec3 importanceSampleGGX(vec2 xi, float roughness, vec3 N) { float a = roughness * roughness; float phi = 2.0 * M_PI * xi.x; float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (a * a - 1.0) * xi.y)); float sinTheta = sqrt(1.0 - cosTheta * cosTheta); vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); vec3 tangentX = normalize(cross(upVector, N)); vec3 tangentY = cross(N, tangentX); return tangentX * H.x + tangentY * H.y + N * H.z; } float G1_Smith(float NdotV, float k) { return NdotV / (NdotV * (1.0 - k) + k); } float G_Smith(float roughness, float NdotV, float NdotL) { float k = roughness * roughness / 2.0; return G1_Smith(NdotV, k) * G1_Smith(NdotL, k); } vec2 integrateBrdf(float roughness, float NdotV) { vec3 V = vec3(sqrt(1.0 - NdotV * NdotV), 0.0, NdotV); float A = 0.0; float B = 0.0; const int NumSamples = 1024; for (int i = 0; i < NumSamples; i++) { vec2 xi = hammersley2D(i, NumSamples); vec3 H = importanceSampleGGX(xi, roughness, vec3(0.0, 0.0, 1.0)); vec3 L = 2.0 * dot(V, H) * H - V; float NdotL = clamp(L.z, 0.0, 1.0); float NdotH = clamp(H.z, 0.0, 1.0); float VdotH = clamp(dot(V, H), 0.0, 1.0); if (NdotL > 0.0) { float G = G_Smith(roughness, NdotV, NdotL); float G_Vis = G * VdotH / (NdotH * NdotV); float Fc = pow(1.0 - VdotH, 5.0); A += (1.0 - Fc) * G_Vis; B += Fc * G_Vis; } } return vec2(A, B) / float(NumSamples); } void main() { out_FragColor = vec4(integrateBrdf(v_textureCoordinates.y, v_textureCoordinates.x), 0.0, 1.0); } `,oJe=`uniform sampler2D u_floatTexture; void main() { float actual = texture(u_floatTexture, vec2(0.5, 0.5)).r; float expected = 123456.0; out_FragColor = vec4(abs(actual - expected), 0.0, 0.0, 1.0); } `,lIe=`uniform sampler2D u_noiseTexture; uniform vec3 u_noiseTextureDimensions; uniform float u_noiseDetail; in vec2 v_offset; in vec3 v_maximumSize; in vec4 v_color; in float v_slice; in float v_brightness; float wrap(float value, float rangeLength) { if(value < 0.0) { float absValue = abs(value); float modValue = mod(absValue, rangeLength); return mod(rangeLength - modValue, rangeLength); } return mod(value, rangeLength); } vec3 wrapVec(vec3 value, float rangeLength) { return vec3(wrap(value.x, rangeLength), wrap(value.y, rangeLength), wrap(value.z, rangeLength)); } vec2 voxelToUV(vec3 voxelIndex) { float textureSliceWidth = u_noiseTextureDimensions.x; float noiseTextureRows = u_noiseTextureDimensions.y; float inverseNoiseTextureRows = u_noiseTextureDimensions.z; float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth; vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared, inverseNoiseTextureRows / textureSliceWidth); vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth); float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows); float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows); float xPixelCoord = wrappedIndex.x + column * textureSliceWidth; float yPixelCoord = wrappedIndex.y + row * textureSliceWidth; return vec2(xPixelCoord, yPixelCoord) * inverseNoiseTextureDimensions; } // Interpolate a voxel with its neighbor (along the positive X-axis) vec4 lerpSamplesX(vec3 voxelIndex, float x) { vec2 uv0 = voxelToUV(voxelIndex); vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0)); vec4 sample0 = texture(u_noiseTexture, uv0); vec4 sample1 = texture(u_noiseTexture, uv1); return mix(sample0, sample1, x); } vec4 sampleNoiseTexture(vec3 position) { float textureSliceWidth = u_noiseTextureDimensions.x; vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0); vec3 lerpValue = fract(recenteredPos); vec3 voxelIndex = floor(recenteredPos); vec4 xLerp00 = lerpSamplesX(voxelIndex, lerpValue.x); vec4 xLerp01 = lerpSamplesX(voxelIndex + vec3(0.0, 0.0, 1.0), lerpValue.x); vec4 xLerp10 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 0.0), lerpValue.x); vec4 xLerp11 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 1.0), lerpValue.x); vec4 yLerp0 = mix(xLerp00, xLerp10, lerpValue.y); vec4 yLerp1 = mix(xLerp01, xLerp11, lerpValue.y); return mix(yLerp0, yLerp1, lerpValue.z); } // Intersection with a unit sphere with radius 0.5 at center (0, 0, 0). bool intersectSphere(vec3 origin, vec3 dir, float slice, out vec3 point, out vec3 normal) { float A = dot(dir, dir); float B = dot(origin, dir); float C = dot(origin, origin) - 0.25; float discriminant = (B * B) - (A * C); if(discriminant < 0.0) { return false; } float root = sqrt(discriminant); float t = (-B - root) / A; if(t < 0.0) { t = (-B + root) / A; } point = origin + t * dir; if(slice >= 0.0) { point.z = (slice / 2.0) - 0.5; if(length(point) > 0.5) { return false; } } normal = normalize(point); point -= czm_epsilon2 * normal; return true; } // Transforms the ray origin and direction into unit sphere space, // then transforms the result back into the ellipsoid's space. bool intersectEllipsoid(vec3 origin, vec3 dir, vec3 center, vec3 scale, float slice, out vec3 point, out vec3 normal) { if(scale.x <= 0.01 || scale.y < 0.01 || scale.z < 0.01) { return false; } vec3 o = (origin - center) / scale; vec3 d = dir / scale; vec3 p, n; bool intersected = intersectSphere(o, d, slice, p, n); if(intersected) { point = (p * scale) + center; normal = n; } return intersected; } // Assume that if phase shift is being called for octave i, // the frequency is of i - 1. This saves us from doing extra // division / multiplication operations. vec2 phaseShift2D(vec2 p, vec2 freq) { return (czm_pi / 2.0) * sin(freq.yx * p.yx); } vec2 phaseShift3D(vec3 p, vec2 freq) { return phaseShift2D(p.xy, freq) + czm_pi * vec2(sin(freq.x * p.z)); } // The cloud texture function derived from Gardner's 1985 paper, // "Visual Simulation of Clouds." // https://www.cs.drexel.edu/~david/Classes/Papers/p297-gardner.pdf const float T0 = 0.6; // contrast of the texture pattern const float k = 0.1; // computed to produce a maximum value of 1 const float C0 = 0.8; // coefficient const float FX0 = 0.6; // frequency X const float FY0 = 0.6; // frequency Y const int octaves = 5; float T(vec3 point) { vec2 sum = vec2(0.0); float Ci = C0; vec2 FXY = vec2(FX0, FY0); vec2 PXY = vec2(0.0); for(int i = 1; i <= octaves; i++) { PXY = phaseShift3D(point, FXY); Ci *= 0.707; FXY *= 2.0; vec2 sinTerm = sin(FXY * point.xy + PXY); sum += Ci * sinTerm + vec2(T0); } return k * sum.x * sum.y; } const float a = 0.5; // fraction of surface reflection due to ambient or scattered light, const float t = 0.4; // fraction of texture shading const float s = 0.25; // fraction of specular reflection float I(float Id, float Is, float It) { return (1.0 - a) * ((1.0 - t) * ((1.0 - s) * Id + s * Is) + t * It) + a; } const vec3 lightDir = normalize(vec3(0.2, -1.0, 0.7)); vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, float cloudSlice, float brightness) { vec3 cloudPoint, cloudNormal; if(!intersectEllipsoid(rayOrigin, rayDir, cloudCenter, cloudScale, cloudSlice, cloudPoint, cloudNormal)) { return vec4(0.0); } float Id = clamp(dot(cloudNormal, -lightDir), 0.0, 1.0); // diffuse reflection float Is = max(pow(dot(-lightDir, -rayDir), 2.0), 0.0); // specular reflection float It = T(cloudPoint); // texture function float intensity = I(Id, Is, It); vec3 color = vec3(intensity * clamp(brightness, 0.1, 1.0)); vec4 noise = sampleNoiseTexture(u_noiseDetail * cloudPoint); float W = noise.x; float W2 = noise.y; float W3 = noise.z; // The dot product between the cloud's normal and the ray's direction is greatest // in the center of the ellipsoid's surface. It decreases towards the edge. // Thus, it is used to blur the areas leading to the edges of the ellipsoid, // so that no harsh lines appear. // The first (and biggest) layer of worley noise is then subtracted from this. // The final result is scaled up so that the base cloud is not too translucent. float ndDot = clamp(dot(cloudNormal, -rayDir), 0.0, 1.0); float TR = pow(ndDot, 3.0) - W; // translucency TR *= 1.3; // Subtracting the second and third layers of worley noise is more complicated. // If these layers of noise were simply subtracted from the current translucency, // the shape derived from the first layer of noise would be completely deleted. // The erosion of this noise should thus be constricted to the edges of the cloud. // However, because the edges of the ellipsoid were already blurred away, mapping // the noise to (1.0 - ndDot) will have no impact on most of the cloud's appearance. // The value of (0.5 - ndDot) provides the best compromise. float minusDot = 0.5 - ndDot; // Even with the previous calculation, subtracting the second layer of wnoise // erode too much of the cloud. The addition of it, however, will detailed // volume to the cloud. As long as the noise is only added and not subtracted, // the results are aesthetically pleasing. // The minusDot product is mapped in a way that it is larger at the edges of // the ellipsoid, so a subtraction and min operation are used instead of // an addition and max one. TR -= min(minusDot * W2, 0.0); // The third level of worley noise is subtracted from the result, with some // modifications. First, a scalar is added to minusDot so that the noise // starts affecting the shape farther away from the center of the ellipsoid's // surface. Then, it is scaled down so its impact is not too intense. TR -= 0.8 * (minusDot + 0.25) * W3; // The texture function's shading does not correlate with the shape of the cloud // produced by the layers of noise, so an extra shading scalar is calculated. // The darkest areas of the cloud are assigned to be where the noise erodes // the cloud the most. This is then interpolated based on the translucency // and the diffuse shading term of that point in the cloud. float shading = mix(1.0 - 0.8 * W * W, 1.0, Id * TR); // To avoid values that are too dark, this scalar is increased by a small amount // and clamped so it never goes to zero. shading = clamp(shading + 0.2, 0.3, 1.0); // Finally, the contrast of the cloud's color is increased. vec3 finalColor = mix(vec3(0.5), shading * color, 1.15); return vec4(finalColor, clamp(TR, 0.0, 1.0)) * v_color; } void main() { #ifdef DEBUG_BILLBOARDS out_FragColor = vec4(0.0, 0.5, 0.5, 1.0); #endif // To avoid calculations with high values, // we raycast from an arbitrarily smaller space. vec2 coordinate = v_maximumSize.xy * v_offset; vec3 ellipsoidScale = 0.82 * v_maximumSize; vec3 ellipsoidCenter = vec3(0.0); float zOffset = max(ellipsoidScale.z - 10.0, 0.0); vec3 eye = vec3(0, 0, -10.0 - zOffset); vec3 rayDir = normalize(vec3(coordinate, 1.0) - eye); vec3 rayOrigin = eye; #ifdef DEBUG_ELLIPSOIDS vec3 point, normal; if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice, point, normal)) { out_FragColor = v_brightness * v_color; } #else #ifndef DEBUG_BILLBOARDS vec4 cloud = drawCloud(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice, v_brightness); if(cloud.w < 0.01) { discard; } out_FragColor = cloud; #endif #endif } `,AIe=`#ifdef INSTANCED in vec2 direction; #endif in vec4 positionHighAndScaleX; in vec4 positionLowAndScaleY; in vec4 packedAttribute0; in vec4 packedAttribute1; in vec4 color; out vec2 v_offset; out vec3 v_maximumSize; out vec4 v_color; out float v_slice; out float v_brightness; void main() { // Unpack attributes. vec3 positionHigh = positionHighAndScaleX.xyz; vec3 positionLow = positionLowAndScaleY.xyz; vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w); float show = packedAttribute0.x; float brightness = packedAttribute0.y; vec2 coordinates = packedAttribute0.wz; vec3 maximumSize = packedAttribute1.xyz; float slice = packedAttribute1.w; #ifdef INSTANCED vec2 dir = direction; #else vec2 dir = coordinates; #endif vec2 offset = dir - vec2(0.5, 0.5); vec2 scaledOffset = scale * offset; vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); vec4 positionEC = czm_modelViewRelativeToEye * p; positionEC.xy += scaledOffset; positionEC.xyz *= show; gl_Position = czm_projection * positionEC; v_offset = offset; v_maximumSize = maximumSize; v_color = color; v_slice = slice; v_brightness = brightness; } `,uIe=`uniform vec3 u_noiseTextureDimensions; uniform float u_noiseDetail; uniform vec3 u_noiseOffset; in vec2 v_position; float wrap(float value, float rangeLength) { if(value < 0.0) { float absValue = abs(value); float modValue = mod(absValue, rangeLength); return mod(rangeLength - modValue, rangeLength); } return mod(value, rangeLength); } vec3 wrapVec(vec3 value, float rangeLength) { return vec3(wrap(value.x, rangeLength), wrap(value.y, rangeLength), wrap(value.z, rangeLength)); } vec3 random3(vec3 p) { float dot1 = dot(p, vec3(127.1, 311.7, 932.8)); float dot2 = dot(p, vec3(269.5, 183.3, 421.4)); return fract(vec3(sin(dot1 - dot2), cos(dot1 * dot2), dot1 * dot2)); } // Frequency corresponds to cell size. // The higher the frequency, the smaller the cell size. vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) { float textureSliceWidth = u_noiseTextureDimensions.x; vec3 cell = centerCell + offset; cell = wrapVec(cell, textureSliceWidth / u_noiseDetail); cell += floor(u_noiseOffset / u_noiseDetail); vec3 p = offset + random3(cell); return p; } float worleyNoise(vec3 p, float freq) { vec3 centerCell = floor(p * freq); vec3 pointInCell = fract(p * freq); float shortestDistance = 1000.0; for(float z = -1.0; z <= 1.0; z++) { for(float y = -1.0; y <= 1.0; y++) { for(float x = -1.0; x <= 1.0; x++) { vec3 offset = vec3(x, y, z); vec3 point = getWorleyCellPoint(centerCell, offset, freq); float distance = length(pointInCell - point); if(distance < shortestDistance) { shortestDistance = distance; } } } } return shortestDistance; } const float MAX_FBM_ITERATIONS = 10.0; float worleyFBMNoise(vec3 p, float octaves, float scale) { float noise = 0.0; float freq = 1.0; float persistence = 0.625; for(float i = 0.0; i < MAX_FBM_ITERATIONS; i++) { if(i >= octaves) { break; } noise += worleyNoise(p * scale, freq * scale) * persistence; persistence *= 0.5; freq *= 2.0; } return noise; } void main() { float textureSliceWidth = u_noiseTextureDimensions.x; float inverseNoiseTextureRows = u_noiseTextureDimensions.z; float x = mod(v_position.x, textureSliceWidth); float y = mod(v_position.y, textureSliceWidth); float sliceRow = floor(v_position.y / textureSliceWidth); float z = floor(v_position.x / textureSliceWidth) + sliceRow * inverseNoiseTextureRows * textureSliceWidth; vec3 position = vec3(x, y, z); position /= u_noiseDetail; float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0); float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0); float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0); out_FragColor = vec4(worley0, worley1, worley2, 1.0); } `,cIe=`uniform vec3 u_noiseTextureDimensions; in vec2 position; out vec2 v_position; void main() { gl_Position = vec4(position, 0.1, 1.0); float textureSliceWidth = u_noiseTextureDimensions.x; float noiseTextureRows = u_noiseTextureDimensions.y; float inverseNoiseTextureRows = u_noiseTextureDimensions.z; vec2 transformedPos = (position * 0.5) + vec2(0.5); transformedPos *= textureSliceWidth; transformedPos.x *= textureSliceWidth * inverseNoiseTextureRows; transformedPos.y *= noiseTextureRows; v_position = transformedPos; } `,hIe=`uniform sampler2D u_opaqueDepthTexture; uniform sampler2D u_translucentDepthTexture; in vec2 v_textureCoordinates; void main() { float opaqueDepth = texture(u_opaqueDepthTexture, v_textureCoordinates).r; float translucentDepth = texture(u_translucentDepthTexture, v_textureCoordinates).r; translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth); out_FragColor = czm_packDepth(translucentDepth); } `,dIe=`/** * Compositing for Weighted Blended Order-Independent Transparency. See: * - http://jcgt.org/published/0002/02/09/ * - http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html */ uniform sampler2D u_opaque; uniform sampler2D u_accumulation; uniform sampler2D u_revealage; in vec2 v_textureCoordinates; void main() { vec4 opaque = texture(u_opaque, v_textureCoordinates); vec4 accum = texture(u_accumulation, v_textureCoordinates); float r = texture(u_revealage, v_textureCoordinates).r; #ifdef MRT vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a); #else vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r); #endif out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque; if (opaque != czm_backgroundColor) { out_FragColor.a = 1.0; } } `,gIe=`in vec4 positionEC; void main() { vec3 position; vec3 direction; if (czm_orthographicIn3D == 1.0) { vec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw; vec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y); // left, bottom vec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x); // right, top position = vec3(mix(minPlane, maxPlane, uv), 0.0); direction = vec3(0.0, 0.0, -1.0); } else { position = vec3(0.0); direction = normalize(positionEC.xyz); } czm_ray ray = czm_ray(position, direction); vec3 ellipsoid_center = czm_view[3].xyz; czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); if (!czm_isEmpty(intersection)) { out_FragColor = vec4(1.0, 1.0, 0.0, 1.0); } else { discard; } czm_writeLogDepth(); } `,fIe=`in vec4 position; out vec4 positionEC; void main() { positionEC = czm_modelView * position; gl_Position = czm_projection * positionEC; czm_vertexLogDepth(); } `,hX=`uniform vec3 u_radii; uniform vec3 u_oneOverEllipsoidRadiiSquared; in vec3 v_positionEC; vec4 computeEllipsoidColor(czm_ray ray, float intersection, float side) { vec3 positionEC = czm_pointAlongRay(ray, intersection); vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz; vec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared)); vec3 sphericalNormal = normalize(positionMC / u_radii); vec3 normalMC = geodeticNormal * side; // normalized surface normal (always facing the viewer) in model coordinates vec3 normalEC = normalize(czm_normal * normalMC); // normalized surface normal in eye coordiantes vec2 st = czm_ellipsoidWgs84TextureCoordinates(sphericalNormal); vec3 positionToEyeEC = -positionEC; czm_materialInput materialInput; materialInput.s = st.s; materialInput.st = st; materialInput.str = (positionMC + u_radii) / u_radii; materialInput.normalEC = normalEC; materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); materialInput.positionToEyeEC = positionToEyeEC; czm_material material = czm_getMaterial(materialInput); #ifdef ONLY_SUN_LIGHTING return czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC); #else return czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); #endif } void main() { // PERFORMANCE_TODO: When dynamic branching is available, compute ratio of maximum and minimum radii // in the vertex shader. Only when it is larger than some constant, march along the ray. // Otherwise perform one intersection test which will be the common case. // Test if the ray intersects a sphere with the ellipsoid's maximum radius. // For very oblate ellipsoids, using the ellipsoid's radii for an intersection test // may cause false negatives. This will discard fragments before marching the ray forward. float maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5; vec3 direction = normalize(v_positionEC); vec3 ellipsoidCenter = czm_modelView[3].xyz; float t1 = -1.0; float t2 = -1.0; float b = -2.0 * dot(direction, ellipsoidCenter); float c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius; float discriminant = b * b - 4.0 * c; if (discriminant >= 0.0) { t1 = (-b - sqrt(discriminant)) * 0.5; t2 = (-b + sqrt(discriminant)) * 0.5; } if (t1 < 0.0 && t2 < 0.0) { discard; } float t = min(t1, t2); if (t < 0.0) { t = 0.0; } // March ray forward to intersection with larger sphere and find czm_ray ray = czm_ray(t * direction, direction); vec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z); czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii); if (czm_isEmpty(intersection)) { discard; } // If the viewer is outside, compute outsideFaceColor, with normals facing outward. vec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0); // If the viewer either is inside or can see inside, compute insideFaceColor, with normals facing inward. vec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0); out_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a); out_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a); #if (defined(WRITE_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) t = (intersection.start != 0.0) ? intersection.start : intersection.stop; vec3 positionEC = czm_pointAlongRay(ray, t); vec4 positionCC = czm_projection * vec4(positionEC, 1.0); #ifdef LOG_DEPTH czm_writeLogDepth(1.0 + positionCC.w); #else float z = positionCC.z / positionCC.w; float n = czm_depthRange.near; float f = czm_depthRange.far; gl_FragDepth = (z * (f - n) + f + n) * 0.5; #endif #endif } `,dX=`in vec3 position; uniform vec3 u_radii; out vec3 v_positionEC; void main() { // In the vertex data, the cube goes from (-1.0, -1.0, -1.0) to (1.0, 1.0, 1.0) in model coordinates. // Scale to consider the radii. We could also do this once on the CPU when using the BoxGeometry, // but doing it here allows us to change the radii without rewriting the vertex data, and // allows all ellipsoids to reuse the same vertex data. vec4 p = vec4(u_radii * position, 1.0); v_positionEC = (czm_modelView * p).xyz; // position in eye coordinates gl_Position = czm_modelViewProjection * p; // position in clip coordinates // With multi-frustum, when the ellipsoid primitive is positioned on the intersection of two frustums // and close to terrain, the terrain (writes depth) in the closest frustum can overwrite part of the // ellipsoid (does not write depth) that was rendered in the farther frustum. // // Here, we clamp the depth in the vertex shader to avoid being overwritten; however, this creates // artifacts since some fragments can be alpha blended twice. This is solved by only rendering // the ellipsoid in the closest frustum to the viewer. gl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far); czm_vertexLogDepth(); } `;/** * @license * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of NVIDIA CORPORATION nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */var pIe=`/** * @license * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of NVIDIA CORPORATION nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS \`\`AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ // NVIDIA GameWorks Graphics Samples GitHub link: https://github.com/NVIDIAGameWorks/GraphicsSamples // Original FXAA 3.11 shader link: https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h // Steps used to integrate into Cesium: // * The following defines are set: // #define FXAA_PC 1 // #define FXAA_WEBGL_1 1 // #define FXAA_GREEN_AS_LUMA 1 // #define FXAA_EARLY_EXIT 1 // #define FXAA_GLSL_120 1 // * All other preprocessor directives besides the FXAA_QUALITY__P* directives were removed. // * Double underscores are invalid for preprocessor directives so replace them with a single underscore. Replace // /FXAA_QUALITY__P(.*)/g with /FXAA_QUALITY__P$1/. // * There are no implicit conversions from ivec* to vec* so replace: // #define FxaaInt2 ivec2 // with // #define FxaaInt2 vec2 // * The texture2DLod function is only available in vertex shaders so replace: // #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0) // #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0) // with // #define FxaaTexTop(t, p) texture(t, p) // #define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) // * FXAA_QUALITY_PRESET is prepended in the javascript code. We may want to expose that setting in the future. // * The following parameters to FxaaPixelShader are unused and can be removed: // fxaaConsolePosPos // fxaaConsoleRcpFrameOpt // fxaaConsoleRcpFrameOpt2 // fxaaConsole360RcpFrameOpt2 // fxaaConsoleEdgeSharpness // fxaaConsoleEdgeThreshold // fxaaConsoleEdgeThresholdMi // fxaaConsole360ConstDir // // Choose the quality preset. // This needs to be compiled into the shader as it effects code. // Best option to include multiple presets is to // in each shader define the preset, then include this file. // // OPTIONS // ----------------------------------------------------------------------- // 10 to 15 - default medium dither (10=fastest, 15=highest quality) // 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) // 39 - no dither, very expensive // // NOTES // ----------------------------------------------------------------------- // 12 = slightly faster then FXAA 3.9 and higher edge quality (default) // 13 = about same speed as FXAA 3.9 and better than 12 // 23 = closest to FXAA 3.9 visually and performance wise // _ = the lowest digit is directly related to performance // _ = the highest digit is directly related to style // //#define FXAA_QUALITY_PRESET 12 #if (FXAA_QUALITY_PRESET == 10) #define FXAA_QUALITY_PS 3 #define FXAA_QUALITY_P0 1.5 #define FXAA_QUALITY_P1 3.0 #define FXAA_QUALITY_P2 12.0 #endif #if (FXAA_QUALITY_PRESET == 11) #define FXAA_QUALITY_PS 4 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 3.0 #define FXAA_QUALITY_P3 12.0 #endif #if (FXAA_QUALITY_PRESET == 12) #define FXAA_QUALITY_PS 5 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 4.0 #define FXAA_QUALITY_P4 12.0 #endif #if (FXAA_QUALITY_PRESET == 13) #define FXAA_QUALITY_PS 6 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 4.0 #define FXAA_QUALITY_P5 12.0 #endif #if (FXAA_QUALITY_PRESET == 14) #define FXAA_QUALITY_PS 7 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 4.0 #define FXAA_QUALITY_P6 12.0 #endif #if (FXAA_QUALITY_PRESET == 15) #define FXAA_QUALITY_PS 8 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 4.0 #define FXAA_QUALITY_P7 12.0 #endif #if (FXAA_QUALITY_PRESET == 20) #define FXAA_QUALITY_PS 3 #define FXAA_QUALITY_P0 1.5 #define FXAA_QUALITY_P1 2.0 #define FXAA_QUALITY_P2 8.0 #endif #if (FXAA_QUALITY_PRESET == 21) #define FXAA_QUALITY_PS 4 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 8.0 #endif #if (FXAA_QUALITY_PRESET == 22) #define FXAA_QUALITY_PS 5 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 8.0 #endif #if (FXAA_QUALITY_PRESET == 23) #define FXAA_QUALITY_PS 6 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 8.0 #endif #if (FXAA_QUALITY_PRESET == 24) #define FXAA_QUALITY_PS 7 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 3.0 #define FXAA_QUALITY_P6 8.0 #endif #if (FXAA_QUALITY_PRESET == 25) #define FXAA_QUALITY_PS 8 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 4.0 #define FXAA_QUALITY_P7 8.0 #endif #if (FXAA_QUALITY_PRESET == 26) #define FXAA_QUALITY_PS 9 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 2.0 #define FXAA_QUALITY_P7 4.0 #define FXAA_QUALITY_P8 8.0 #endif #if (FXAA_QUALITY_PRESET == 27) #define FXAA_QUALITY_PS 10 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 2.0 #define FXAA_QUALITY_P7 2.0 #define FXAA_QUALITY_P8 4.0 #define FXAA_QUALITY_P9 8.0 #endif #if (FXAA_QUALITY_PRESET == 28) #define FXAA_QUALITY_PS 11 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 2.0 #define FXAA_QUALITY_P7 2.0 #define FXAA_QUALITY_P8 2.0 #define FXAA_QUALITY_P9 4.0 #define FXAA_QUALITY_P10 8.0 #endif #if (FXAA_QUALITY_PRESET == 29) #define FXAA_QUALITY_PS 12 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 2.0 #define FXAA_QUALITY_P7 2.0 #define FXAA_QUALITY_P8 2.0 #define FXAA_QUALITY_P9 2.0 #define FXAA_QUALITY_P10 4.0 #define FXAA_QUALITY_P11 8.0 #endif #if (FXAA_QUALITY_PRESET == 39) #define FXAA_QUALITY_PS 12 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.0 #define FXAA_QUALITY_P2 1.0 #define FXAA_QUALITY_P3 1.0 #define FXAA_QUALITY_P4 1.0 #define FXAA_QUALITY_P5 1.5 #define FXAA_QUALITY_P6 2.0 #define FXAA_QUALITY_P7 2.0 #define FXAA_QUALITY_P8 2.0 #define FXAA_QUALITY_P9 2.0 #define FXAA_QUALITY_P10 4.0 #define FXAA_QUALITY_P11 8.0 #endif #define FxaaBool bool #define FxaaFloat float #define FxaaFloat2 vec2 #define FxaaFloat3 vec3 #define FxaaFloat4 vec4 #define FxaaHalf float #define FxaaHalf2 vec2 #define FxaaHalf3 vec3 #define FxaaHalf4 vec4 #define FxaaInt2 vec2 #define FxaaTex sampler2D #define FxaaSat(x) clamp(x, 0.0, 1.0) #define FxaaTexTop(t, p) texture(t, p) #define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } FxaaFloat4 FxaaPixelShader( // // Use noperspective interpolation here (turn off perspective interpolation). // {xy} = center of pixel FxaaFloat2 pos, // // Input color texture. // {rgb_} = color in linear or perceptual color space // if (FXAA_GREEN_AS_LUMA == 0) // {___a} = luma in perceptual color space (not linear) FxaaTex tex, // // Only used on FXAA Quality. // This must be from a constant/uniform. // {x_} = 1.0/screenWidthInPixels // {_y} = 1.0/screenHeightInPixels FxaaFloat2 fxaaQualityRcpFrame, // // Only used on FXAA Quality. // This used to be the FXAA_QUALITY_SUBPIX define. // It is here now to allow easier tuning. // Choose the amount of sub-pixel aliasing removal. // This can effect sharpness. // 1.00 - upper limit (softer) // 0.75 - default amount of filtering // 0.50 - lower limit (sharper, less sub-pixel aliasing removal) // 0.25 - almost off // 0.00 - completely off FxaaFloat fxaaQualitySubpix, // // Only used on FXAA Quality. // This used to be the FXAA_QUALITY_EDGE_THRESHOLD define. // It is here now to allow easier tuning. // The minimum amount of local contrast required to apply algorithm. // 0.333 - too little (faster) // 0.250 - low quality // 0.166 - default // 0.125 - high quality // 0.063 - overkill (slower) FxaaFloat fxaaQualityEdgeThreshold, // // Only used on FXAA Quality. // This used to be the FXAA_QUALITY_EDGE_THRESHOLD_MIN define. // It is here now to allow easier tuning. // Trims the algorithm from processing darks. // 0.0833 - upper limit (default, the start of visible unfiltered edges) // 0.0625 - high quality (faster) // 0.0312 - visible limit (slower) // Special notes when using FXAA_GREEN_AS_LUMA, // Likely want to set this to zero. // As colors that are mostly not-green // will appear very dark in the green channel! // Tune by looking at mostly non-green content, // then start at zero and increase until aliasing is a problem. FxaaFloat fxaaQualityEdgeThresholdMin ) { /*--------------------------------------------------------------------------*/ FxaaFloat2 posM; posM.x = pos.x; posM.y = pos.y; FxaaFloat4 rgbyM = FxaaTexTop(tex, posM); #define lumaM rgbyM.y FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy)); FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy)); FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy)); FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy)); /*--------------------------------------------------------------------------*/ FxaaFloat maxSM = max(lumaS, lumaM); FxaaFloat minSM = min(lumaS, lumaM); FxaaFloat maxESM = max(lumaE, maxSM); FxaaFloat minESM = min(lumaE, minSM); FxaaFloat maxWN = max(lumaN, lumaW); FxaaFloat minWN = min(lumaN, lumaW); FxaaFloat rangeMax = max(maxWN, maxESM); FxaaFloat rangeMin = min(minWN, minESM); FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold; FxaaFloat range = rangeMax - rangeMin; FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled); FxaaBool earlyExit = range < rangeMaxClamped; /*--------------------------------------------------------------------------*/ if(earlyExit) return rgbyM; /*--------------------------------------------------------------------------*/ FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy)); FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy)); FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy)); FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy)); /*--------------------------------------------------------------------------*/ FxaaFloat lumaNS = lumaN + lumaS; FxaaFloat lumaWE = lumaW + lumaE; FxaaFloat subpixRcpRange = 1.0/range; FxaaFloat subpixNSWE = lumaNS + lumaWE; FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS; FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE; /*--------------------------------------------------------------------------*/ FxaaFloat lumaNESE = lumaNE + lumaSE; FxaaFloat lumaNWNE = lumaNW + lumaNE; FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE; FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE; /*--------------------------------------------------------------------------*/ FxaaFloat lumaNWSW = lumaNW + lumaSW; FxaaFloat lumaSWSE = lumaSW + lumaSE; FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2); FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2); FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW; FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE; FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4; FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4; /*--------------------------------------------------------------------------*/ FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE; FxaaFloat lengthSign = fxaaQualityRcpFrame.x; FxaaBool horzSpan = edgeHorz >= edgeVert; FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE; /*--------------------------------------------------------------------------*/ if(!horzSpan) lumaN = lumaW; if(!horzSpan) lumaS = lumaE; if(horzSpan) lengthSign = fxaaQualityRcpFrame.y; FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM; /*--------------------------------------------------------------------------*/ FxaaFloat gradientN = lumaN - lumaM; FxaaFloat gradientS = lumaS - lumaM; FxaaFloat lumaNN = lumaN + lumaM; FxaaFloat lumaSS = lumaS + lumaM; FxaaBool pairN = abs(gradientN) >= abs(gradientS); FxaaFloat gradient = max(abs(gradientN), abs(gradientS)); if(pairN) lengthSign = -lengthSign; FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange); /*--------------------------------------------------------------------------*/ FxaaFloat2 posB; posB.x = posM.x; posB.y = posM.y; FxaaFloat2 offNP; offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x; offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y; if(!horzSpan) posB.x += lengthSign * 0.5; if( horzSpan) posB.y += lengthSign * 0.5; /*--------------------------------------------------------------------------*/ FxaaFloat2 posN; posN.x = posB.x - offNP.x * FXAA_QUALITY_P0; posN.y = posB.y - offNP.y * FXAA_QUALITY_P0; FxaaFloat2 posP; posP.x = posB.x + offNP.x * FXAA_QUALITY_P0; posP.y = posB.y + offNP.y * FXAA_QUALITY_P0; FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0; FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN)); FxaaFloat subpixE = subpixC * subpixC; FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP)); /*--------------------------------------------------------------------------*/ if(!pairN) lumaNN = lumaSS; FxaaFloat gradientScaled = gradient * 1.0/4.0; FxaaFloat lumaMM = lumaM - lumaNN * 0.5; FxaaFloat subpixF = subpixD * subpixE; FxaaBool lumaMLTZero = lumaMM < 0.0; /*--------------------------------------------------------------------------*/ lumaEndN -= lumaNN * 0.5; lumaEndP -= lumaNN * 0.5; FxaaBool doneN = abs(lumaEndN) >= gradientScaled; FxaaBool doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P1; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P1; FxaaBool doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P1; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P1; /*--------------------------------------------------------------------------*/ if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P2; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P2; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P2; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P2; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 3) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P3; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P3; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P3; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P3; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 4) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P4; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P4; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P4; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P4; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 5) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P5; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P5; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P5; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P5; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 6) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P6; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P6; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P6; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P6; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 7) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P7; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P7; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P7; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P7; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 8) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P8; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P8; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P8; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P8; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 9) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P9; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P9; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P9; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P9; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 10) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P10; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P10; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P10; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P10; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 11) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P11; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P11; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P11; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P11; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 12) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P12; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P12; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P12; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P12; /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } /*--------------------------------------------------------------------------*/ FxaaFloat dstN = posM.x - posN.x; FxaaFloat dstP = posP.x - posM.x; if(!horzSpan) dstN = posM.y - posN.y; if(!horzSpan) dstP = posP.y - posM.y; /*--------------------------------------------------------------------------*/ FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; FxaaFloat spanLength = (dstP + dstN); FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; FxaaFloat spanLengthRcp = 1.0/spanLength; /*--------------------------------------------------------------------------*/ FxaaBool directionN = dstN < dstP; FxaaFloat dst = min(dstN, dstP); FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; FxaaFloat subpixG = subpixF * subpixF; FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; FxaaFloat subpixH = subpixG * fxaaQualitySubpix; /*--------------------------------------------------------------------------*/ FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); } `,mIe=`uniform vec4 u_initialColor; #if TEXTURE_UNITS > 0 uniform sampler2D u_dayTextures[TEXTURE_UNITS]; uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS]; uniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS]; #ifdef APPLY_ALPHA uniform float u_dayTextureAlpha[TEXTURE_UNITS]; #endif #ifdef APPLY_DAY_NIGHT_ALPHA uniform float u_dayTextureNightAlpha[TEXTURE_UNITS]; uniform float u_dayTextureDayAlpha[TEXTURE_UNITS]; #endif #ifdef APPLY_SPLIT uniform float u_dayTextureSplit[TEXTURE_UNITS]; #endif #ifdef APPLY_BRIGHTNESS uniform float u_dayTextureBrightness[TEXTURE_UNITS]; #endif #ifdef APPLY_CONTRAST uniform float u_dayTextureContrast[TEXTURE_UNITS]; #endif #ifdef APPLY_HUE uniform float u_dayTextureHue[TEXTURE_UNITS]; #endif #ifdef APPLY_SATURATION uniform float u_dayTextureSaturation[TEXTURE_UNITS]; #endif #ifdef APPLY_GAMMA uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS]; #endif #ifdef APPLY_IMAGERY_CUTOUT uniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS]; #endif #ifdef APPLY_COLOR_TO_ALPHA uniform vec4 u_colorsToAlpha[TEXTURE_UNITS]; #endif uniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS]; #endif #ifdef SHOW_REFLECTIVE_OCEAN uniform sampler2D u_waterMask; uniform vec4 u_waterMaskTranslationAndScale; uniform float u_zoomedOutOceanSpecularIntensity; #endif #ifdef SHOW_OCEAN_WAVES uniform sampler2D u_oceanNormalMap; #endif #if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) uniform vec2 u_lightingFadeDistance; #endif #ifdef TILE_LIMIT_RECTANGLE uniform vec4 u_cartographicLimitRectangle; #endif #ifdef GROUND_ATMOSPHERE uniform vec2 u_nightFadeDistance; #endif #ifdef ENABLE_SLOPE_MAP uniform sampler2D u_slopeColorsTexture; #endif #ifdef ENABLE_CLIPPING_PLANES uniform highp sampler2D u_clippingPlanes; uniform mat4 u_clippingPlanesMatrix; uniform vec4 u_clippingPlanesEdgeStyle; #endif #if defined(GROUND_ATMOSPHERE) || defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) uniform float u_minimumBrightness; #endif #ifdef COLOR_CORRECT uniform vec3 u_hsbShift; // Hue, saturation, brightness #endif #ifdef HIGHLIGHT_FILL_TILE uniform vec4 u_fillHighlightColor; #endif #ifdef TRANSLUCENT uniform vec4 u_frontFaceAlphaByDistance; uniform vec4 u_backFaceAlphaByDistance; uniform vec4 u_translucencyRectangle; #endif #ifdef UNDERGROUND_COLOR uniform vec4 u_undergroundColor; uniform vec4 u_undergroundColorAlphaByDistance; #endif #ifdef ENABLE_VERTEX_LIGHTING uniform float u_lambertDiffuseMultiplier; uniform float u_vertexShadowDarkness; #endif in vec3 v_positionMC; in vec3 v_positionEC; in vec3 v_textureCoordinates; in vec3 v_normalMC; in vec3 v_normalEC; #ifdef APPLY_MATERIAL in float v_height; in float v_slope; in float v_aspect; #endif #ifdef APPLY_FLATTEN in float v_flattenDiscard; #endif #if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) in float v_distance; #endif #if defined(GROUND_ATMOSPHERE) || defined(FOG) in vec3 v_atmosphereRayleighColor; in vec3 v_atmosphereMieColor; in float v_atmosphereOpacity; #endif #if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) float interpolateByDistance(vec4 nearFarScalar, float distance) { float startDistance = nearFarScalar.x; float startValue = nearFarScalar.y; float endDistance = nearFarScalar.z; float endValue = nearFarScalar.w; float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); return mix(startValue, endValue, t); } #endif #if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL) vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor) { return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a); } #endif #ifdef TRANSLUCENT bool inTranslucencyRectangle() { return v_textureCoordinates.x > u_translucencyRectangle.x && v_textureCoordinates.x < u_translucencyRectangle.z && v_textureCoordinates.y > u_translucencyRectangle.y && v_textureCoordinates.y < u_translucencyRectangle.w; } #endif vec4 sampleAndBlend( vec4 previousColor, sampler2D textureToSample, vec2 tileTextureCoordinates, vec4 textureCoordinateRectangle, vec4 textureCoordinateTranslationAndScale, float textureAlpha, float textureNightAlpha, float textureDayAlpha, float textureBrightness, float textureContrast, float textureHue, float textureSaturation, float textureOneOverGamma, float split, vec4 colorToAlpha, float nightBlend) { // This crazy step stuff sets the alpha to 0.0 if this following condition is true: // tileTextureCoordinates.s < textureCoordinateRectangle.s || // tileTextureCoordinates.s > textureCoordinateRectangle.p || // tileTextureCoordinates.t < textureCoordinateRectangle.t || // tileTextureCoordinates.t > textureCoordinateRectangle.q // In other words, the alpha is zero if the fragment is outside the rectangle // covered by this texture. Would an actual 'if' yield better performance? vec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates); textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; alphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates); textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; #if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) textureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend); #endif vec2 translation = textureCoordinateTranslationAndScale.xy; vec2 scale = textureCoordinateTranslationAndScale.zw; vec2 textureCoordinates = tileTextureCoordinates * scale + translation; vec4 value = texture(textureToSample, textureCoordinates); vec3 color = value.rgb; float alpha = value.a; #ifdef APPLY_COLOR_TO_ALPHA vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb); colorDiff.r = max(max(colorDiff.r, colorDiff.g), colorDiff.b); alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha); #endif #if !defined(APPLY_GAMMA) vec4 tempColor = czm_gammaCorrect(vec4(color, alpha)); color = tempColor.rgb; alpha = tempColor.a; #else color = pow(color, vec3(textureOneOverGamma)); #endif #ifdef APPLY_SPLIT float splitPosition = czm_splitPosition; // Split to the left if (split < 0.0 && gl_FragCoord.x > splitPosition) { alpha = 0.0; } // Split to the right else if (split > 0.0 && gl_FragCoord.x < splitPosition) { alpha = 0.0; } #endif #ifdef APPLY_BRIGHTNESS color = mix(vec3(0.0), color, textureBrightness); #endif #ifdef APPLY_CONTRAST color = mix(vec3(0.5), color, textureContrast); #endif #ifdef APPLY_HUE color = czm_hue(color, textureHue); #endif #ifdef APPLY_SATURATION color = czm_saturation(color, textureSaturation); #endif float sourceAlpha = alpha * textureAlpha; float outAlpha = mix(previousColor.a, 1.0, sourceAlpha); outAlpha += sign(outAlpha) - 1.0; vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha; // When rendering imagery for a tile in multiple passes, // some GPU/WebGL implementation combinations will not blend fragments in // additional passes correctly if their computation includes an unmasked // divide-by-zero operation, // even if it's not in the output or if the output has alpha zero. // // For example, without sanitization for outAlpha, // this renders without artifacts: // if (outAlpha == 0.0) { outColor = vec3(0.0); } // // but using czm_branchFreeTernary will cause portions of the tile that are // alpha-zero in the additional pass to render as black instead of blending // with the previous pass: // outColor = czm_branchFreeTernary(outAlpha == 0.0, vec3(0.0), outColor); // // So instead, sanitize against divide-by-zero, // store this state on the sign of outAlpha, and correct on return. return vec4(outColor, max(outAlpha, 0.0)); } vec3 colorCorrect(vec3 rgb) { #ifdef COLOR_CORRECT // Convert rgb color to hsb vec3 hsb = czm_RGBToHSB(rgb); // Perform hsb shift hsb.x += u_hsbShift.x; // hue hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness // Convert shifted hsb back to rgb rgb = czm_HSBToRGB(hsb); #endif return rgb; } vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend); vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade); const float fExposure = 2.0; vec3 computeEllipsoidPosition() { float mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0); vec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0); xy *= czm_viewport.zw * mpp * 0.5; vec3 direction = normalize(vec3(xy, -czm_currentFrustum.x)); czm_ray ray = czm_ray(vec3(0.0), direction); vec3 ellipsoid_center = czm_view[3].xyz; czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); vec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start); return (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz; } void main() { #ifdef TILE_LIMIT_RECTANGLE if (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x || v_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y) { discard; } #endif #ifdef ENABLE_CLIPPING_PLANES float clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix); #endif #if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR) vec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)); // normalized surface normal in model coordinates vec3 normalEC = czm_normal3D * normalMC; // normalized surface normal in eye coordiantes #endif #if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) float nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0); #else float nightBlend = 0.0; #endif // The clamp below works around an apparent bug in Chrome Canary v23.0.1241.0 // where the fragment shader sees textures coordinates < 0.0 and > 1.0 for the // fragments on the edges of tiles even though the vertex shader is outputting // coordinates strictly in the 0-1 range. vec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend); #ifdef SHOW_TILE_BOUNDARIES if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) || v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0)) { color = vec4(1.0, 0.0, 0.0, 1.0); } #endif #if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) float cameraDist; if (czm_sceneMode == czm_sceneMode2D) { cameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5; } else if (czm_sceneMode == czm_sceneModeColumbusView) { cameraDist = -czm_view[3].z; } else { cameraDist = length(czm_view[3]); } float fadeOutDist = u_lightingFadeDistance.x; float fadeInDist = u_lightingFadeDistance.y; if (czm_sceneMode != czm_sceneMode3D) { vec3 radii = czm_ellipsoidRadii; float maxRadii = max(radii.x, max(radii.y, radii.z)); fadeOutDist -= maxRadii; fadeInDist -= maxRadii; } float fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0); #else float fade = 0.0; #endif #ifdef SHOW_REFLECTIVE_OCEAN vec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy; vec2 waterMaskScale = u_waterMaskTranslationAndScale.zw; vec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation; waterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y; float mask = texture(u_waterMask, waterMaskTextureCoordinates).r; if (mask > 0.0) { mat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC); vec2 ellipsoidTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC); vec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC.zyx); vec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z)); color = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade); } #endif #ifdef APPLY_MATERIAL czm_materialInput materialInput; materialInput.st = v_textureCoordinates.st; materialInput.normalEC = normalize(v_normalEC); materialInput.positionToEyeEC = -v_positionEC; materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC)); materialInput.slope = v_slope; materialInput.height = v_height; materialInput.aspect = v_aspect; czm_material material = czm_getMaterial(materialInput); vec4 materialColor = vec4(material.diffuse, material.alpha); color = alphaBlend(materialColor, color); #endif #ifdef APPLY_FLATTEN if(v_flattenDiscard > 0.0) discard; #endif // \u805A\u5149\u706F --begin #ifdef APPLY_SPOT vec3 spotMaterialColor = czm_getMaterial_spot(v_positionEC, color.rgb); color = vec4(spotMaterialColor.xyz, color.a); #endif // \u805A\u5149\u706F --end #ifdef ENABLE_VERTEX_LIGHTING float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + u_vertexShadowDarkness, 0.0, 1.0); vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); #elif defined(ENABLE_DAYNIGHT_SHADING) float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0); diffuseIntensity = mix(1.0, diffuseIntensity, fade); vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); #else vec4 finalColor = color; #endif // SmartEarth \u4FEE\u6539 \u5761\u5EA6\u5206\u6790 #ifdef ENABLE_SLOPE_MAP #ifdef SMOOTH_SLOPE_AT_HIGHER_ALT finalColor = vec4(texture(u_slopeColorsTexture, vec2(0., 1.)).rgb * 0.5 + color.rgb * 0.5, 1.); #else vec3 ellipsoidNormal = normalize(v_positionMC.xyz); float n; if(v_normalMC.r >= 123.456 - 1.0 && v_normalMC.r <= 123.456 + 1.0){ out_FragColor = vec4(vec3(0.66) * 0.5 + finalColor.rgb * 0.5, 1.0); return; }else{ n = abs(dot(v_normalMC, ellipsoidNormal)); } vec3 texColor = texture(u_slopeColorsTexture, vec2(0., n)).rgb; finalColor = vec4(texColor * 0.5 + color.rgb * 0.5, 1.); #endif #endif // SmartEarth \u4FEE\u6539 \u5761\u5EA6\u5206\u6790 #ifdef ENABLE_CLIPPING_PLANES vec4 clippingPlanesEdgeColor = vec4(1.0); clippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb; float clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a; if (clipDistance < clippingPlanesEdgeWidth) { finalColor = clippingPlanesEdgeColor; } #endif #ifdef HIGHLIGHT_FILL_TILE finalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a); #endif #if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) vec3 atmosphereLightDirection = czm_sunDirectionWC; #else vec3 atmosphereLightDirection = czm_lightDirectionWC; #endif #if defined(GROUND_ATMOSPHERE) || defined(FOG) if (!czm_backFacing()) { bool dynamicLighting = false; #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) dynamicLighting = true; #endif vec3 rayleighColor; vec3 mieColor; float opacity; vec3 positionWC; vec3 lightDirection; // When the camera is far away (camera distance > nightFadeOutDistance), the scattering is computed in the fragment shader. // Otherwise, the scattering is computed in the vertex shader. #ifdef PER_FRAGMENT_GROUND_ATMOSPHERE positionWC = computeEllipsoidPosition(); lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); computeAtmosphereScattering( positionWC, lightDirection, rayleighColor, mieColor, opacity ); #else positionWC = v_positionMC; lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); rayleighColor = v_atmosphereRayleighColor; mieColor = v_atmosphereMieColor; opacity = v_atmosphereOpacity; #endif rayleighColor = colorCorrect(rayleighColor); mieColor = colorCorrect(mieColor); vec4 groundAtmosphereColor = computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); // Fog is applied to tiles selected for fog, close to the Earth. #ifdef FOG vec3 fogColor = groundAtmosphereColor.rgb; // If there is lighting, apply that to the fog. #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) float darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0); fogColor *= darken; #endif #ifndef HDR fogColor.rgb = czm_acesTonemapping(fogColor.rgb); fogColor.rgb = czm_inverseGamma(fogColor.rgb); #endif const float modifier = 0.15; finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, modifier), finalColor.a); #else // The transmittance is based on optical depth i.e. the length of segment of the ray inside the atmosphere. // This value is larger near the "circumference", as it is further away from the camera. We use it to // brighten up that area of the ground atmosphere. const float transmittanceModifier = 0.5; float transmittance = transmittanceModifier + clamp(1.0 - groundAtmosphereColor.a, 0.0, 1.0); vec3 finalAtmosphereColor = finalColor.rgb + groundAtmosphereColor.rgb * transmittance; #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) float fadeInDist = u_nightFadeDistance.x; float fadeOutDist = u_nightFadeDistance.y; float sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.05, 1.0); float darken = clamp(dot(normalize(positionWC), atmosphereLightDirection), 0.0, 1.0); vec3 darkenendGroundAtmosphereColor = mix(groundAtmosphereColor.rgb, finalAtmosphereColor.rgb, darken); finalAtmosphereColor = mix(darkenendGroundAtmosphereColor, finalAtmosphereColor, sunlitAtmosphereIntensity); #endif #ifndef HDR finalAtmosphereColor.rgb = vec3(1.0) - exp(-fExposure * finalAtmosphereColor.rgb); #else finalAtmosphereColor.rgb = czm_saturation(finalAtmosphereColor.rgb, 1.6); #endif finalColor.rgb = mix(finalColor.rgb, finalAtmosphereColor.rgb, fade); #endif } #endif #ifdef UNDERGROUND_COLOR if (czm_backFacing()) { float distanceFromEllipsoid = max(czm_eyeHeight, 0.0); float distance = max(v_distance - distanceFromEllipsoid, 0.0); float blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance); vec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount); finalColor = alphaBlend(undergroundColor, finalColor); } #endif #ifdef TRANSLUCENT if (inTranslucencyRectangle()) { vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance; finalColor.a *= interpolateByDistance(alphaByDistance, v_distance); } #endif out_FragColor = finalColor; } #ifdef SHOW_REFLECTIVE_OCEAN float waveFade(float edge0, float edge1, float x) { float y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); return pow(1.0 - y, 5.0); } float linearFade(float edge0, float edge1, float x) { return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); } // Based on water rendering by Jonas Wagner: // http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog // low altitude wave settings const float oceanFrequencyLowAltitude = 825000.0; const float oceanAnimationSpeedLowAltitude = 0.004; const float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0; const float oceanSpecularIntensity = 0.5; // high altitude wave settings const float oceanFrequencyHighAltitude = 125000.0; const float oceanAnimationSpeedHighAltitude = 0.008; const float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0; vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade) { vec3 positionToEyeEC = -positionEyeCoordinates; float positionToEyeECLength = length(positionToEyeEC); // The double normalize below works around a bug in Firefox on Android devices. vec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC)); // Fade out the waves as the camera moves far from the surface. float waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength); #ifdef SHOW_OCEAN_WAVES // high altitude waves float time = czm_frameNumber * oceanAnimationSpeedHighAltitude; vec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0); vec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude); // low altitude waves time = czm_frameNumber * oceanAnimationSpeedLowAltitude; noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0); vec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude); // blend the 2 wave layers based on distance to surface float highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength); float lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength); vec3 normalTangentSpace = (highAltitudeFade * normalTangentSpaceHighAltitude) + (lowAltitudeFade * normalTangentSpaceLowAltitude); normalTangentSpace = normalize(normalTangentSpace); // fade out the normal perturbation as we move farther from the water surface normalTangentSpace.xy *= waveIntensity; normalTangentSpace = normalize(normalTangentSpace); #else vec3 normalTangentSpace = vec3(0.0, 0.0, 1.0); #endif vec3 normalEC = enuToEye * normalTangentSpace; const vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6); // Use diffuse light to highlight the waves float diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue; vec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade); #ifdef SHOW_OCEAN_WAVES // Where diffuse light is low or non-existent, use wave highlights based solely on // the wave bumpiness and no particular light direction. float tsPerturbationRatio = normalTangentSpace.z; vec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity); #else vec3 nonDiffuseHighlight = vec3(0.0); #endif // Add specular highlights in 3D, and in all modes when zoomed in. float specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0); float surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue); float specular = specularIntensity * surfaceReflectance; #ifdef HDR specular *= 1.4; float e = 0.2; float d = 3.3; float c = 1.7; vec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular)); #else vec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular; #endif return vec4(color, imageryColor.a); } #endif // #ifdef SHOW_REFLECTIVE_OCEAN `,CIe=`#ifdef QUANTIZATION_BITS12 in vec4 compressed0; in float compressed1; #else in vec4 position3DAndHeight; in vec4 textureCoordAndEncodedNormals; #endif in float skirt; #ifdef GEODETIC_SURFACE_NORMALS in vec3 geodeticSurfaceNormal; #endif #ifdef EXAGGERATION uniform vec2 u_terrainExaggerationAndRelativeHeight; #endif #ifdef APPLY_FLATTEN uniform mat4 u_eastNorthUpToFixedFrame; uniform mat4 u_eastNorthUpToFixedFrameA; uniform mat4 u_r_eastNorthUpToFixedFrame; uniform mat4 u_r_eastNorthUpToFixedFrameA; uniform bool u_bFlatten; uniform vec4 u_polygonBounds; uniform sampler2D u_polygonTexture; uniform float u_minFlattenHeight; uniform bool u_clipPlaneOfFlatten; #endif // \u5730\u5FC3\u4F4D\u7F6E uniform vec3 u_center3D; uniform mat4 u_modifiedModelView; uniform mat4 u_modifiedModelViewProjection; uniform vec4 u_tileRectangle; // Uniforms for 2D Mercator projection uniform vec2 u_southAndNorthLatitude; uniform vec2 u_southMercatorYAndOneOverHeight; out vec3 v_positionMC; out vec3 v_positionEC; out vec3 v_textureCoordinates; out vec3 v_normalMC; out vec3 v_normalEC; #ifdef APPLY_MATERIAL out float v_slope; out float v_aspect; out float v_height; #endif #ifdef APPLY_FLATTEN out float v_flattenDiscard; #endif #if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) out float v_distance; #endif #if defined(FOG) || defined(GROUND_ATMOSPHERE) out vec3 v_atmosphereRayleighColor; out vec3 v_atmosphereMieColor; out float v_atmosphereOpacity; #endif // These functions are generated at runtime. vec4 getPosition(vec3 position, float height, vec2 textureCoordinates); float get2DYPositionFraction(vec2 textureCoordinates); vec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates) { return u_modifiedModelViewProjection * vec4(position, 1.0); } float get2DMercatorYPositionFraction(vec2 textureCoordinates) { // The width of a tile at level 11, in radians and assuming a single root tile, is // 2.0 * czm_pi / pow(2.0, 11.0) // We want to just linearly interpolate the 2D position from the texture coordinates // when we're at this level or higher. The constant below is the expression // above evaluated and then rounded up at the 4th significant digit. const float maxTileWidth = 0.003068; float positionFraction = textureCoordinates.y; float southLatitude = u_southAndNorthLatitude.x; float northLatitude = u_southAndNorthLatitude.y; if (northLatitude - southLatitude > maxTileWidth) { float southMercatorY = u_southMercatorYAndOneOverHeight.x; float oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y; float currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y); currentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude); positionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight); } return positionFraction; } float get2DGeographicYPositionFraction(vec2 textureCoordinates) { return textureCoordinates.y; } vec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates) { float yPositionFraction = get2DYPositionFraction(textureCoordinates); vec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); return u_modifiedModelViewProjection * rtcPosition2D; } vec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates) { return getPositionPlanarEarth(position, 0.0, textureCoordinates); } vec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates) { return getPositionPlanarEarth(position, height, textureCoordinates); } vec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates) { // We do not do RTC while morphing, so there is potential for jitter. // This is unlikely to be noticeable, though. vec3 position3DWC = position + u_center3D; float yPositionFraction = get2DYPositionFraction(textureCoordinates); vec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); vec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime); return czm_modelViewProjection * morphPosition; } // \u5728\u8303\u56F4\u5185 bool isPointInBound(vec4 point, vec4 bounds) { return (point.x>bounds.x && point.xbounds.w); } float unpackDepth(const in vec4 rgba_depth) { // \u89E3\u7801\u6DF1\u5EA6 const vec4 bitShifts = vec4(1.0, 1.0 / 255.0, 1.0 / (255.0 * 255.0), 1.0 / (255.0 * 255.0 * 255.0)); float depth=dot(rgba_depth, bitShifts); return depth; } #ifdef QUANTIZATION_BITS12 uniform vec2 u_minMaxHeight; uniform mat4 u_scaleAndBias; #endif void main() { #ifdef QUANTIZATION_BITS12 vec2 xy = czm_decompressTextureCoordinates(compressed0.x); vec2 zh = czm_decompressTextureCoordinates(compressed0.y); vec3 position = vec3(xy, zh.x); float height = zh.y; vec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z); height = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x; position = (u_scaleAndBias * vec4(position, 1.0)).xyz; #if defined(ENABLE_SLOPE_MAP) || ((defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y)) float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; float encodedNormal = compressed1; #elif defined(INCLUDE_WEB_MERCATOR_Y) float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; float encodedNormal = 0.0; #elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) float webMercatorT = textureCoordinates.y; float encodedNormal = compressed0.w; #else float webMercatorT = textureCoordinates.y; float encodedNormal = 0.0; #endif #else // A single float per element vec3 position = position3DAndHeight.xyz; float height = position3DAndHeight.w; vec2 textureCoordinates = textureCoordAndEncodedNormals.xy; #if defined(ENABLE_SLOPE_MAP) || ((defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y)) float webMercatorT = textureCoordAndEncodedNormals.z; float encodedNormal = textureCoordAndEncodedNormals.w; #elif defined(ENABLE_SLOPE_MAP) || defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) float webMercatorT = textureCoordinates.y; float encodedNormal = textureCoordAndEncodedNormals.z; #elif defined(INCLUDE_WEB_MERCATOR_Y) float webMercatorT = textureCoordAndEncodedNormals.z; float encodedNormal = 0.0; #else float webMercatorT = textureCoordinates.y; float encodedNormal = 0.0; #endif #endif vec3 position3DWC = position + u_center3D; #ifdef GEODETIC_SURFACE_NORMALS vec3 ellipsoidNormal = geodeticSurfaceNormal; #else vec3 ellipsoidNormal = normalize(position3DWC); #endif // \u5904\u7406\u5730\u5F62\u5938\u5F20 #if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) // \u5938\u5F20\u6BD4\u4F8B float exaggeration = u_terrainExaggerationAndRelativeHeight.x; // \u5938\u5F20\u76F8\u5BF9\u9AD8\u5EA6 float relativeHeight = u_terrainExaggerationAndRelativeHeight.y; // \u5728\u6B64\u76F8\u5BF9\u9AD8\u5EA6\u5904\u8FDB\u884C\u5938\u5F20 float newHeight = (height - relativeHeight) * exaggeration + relativeHeight; // stop from going through center of earth // \u6700\u5C0F\u534A\u5F84 float minRadius = min(min(czm_ellipsoidRadii.x, czm_ellipsoidRadii.y), czm_ellipsoidRadii.z); // \u5938\u5F20\u9AD8\u5EA6\u4E0D\u80FD\u7A7F\u8D8A\u6700\u5C0F\u5730\u7403\u534A\u5F84 newHeight = max(newHeight, -minRadius); // \u8BA1\u7B97\u504F\u79FB vec3 offset = ellipsoidNormal * (newHeight - height); // \u5F53\u524D\u4F4D\u7F6E\u589E\u52A0\u504F\u79FB position += offset; // \u5F53\u524D\u4F4D\u7F6E\u4E16\u754C\u5750\u6807\u589E\u52A0\u504F\u79FB position3DWC += offset; // \u65B0\u7684\u9AD8\u5EA6 height = newHeight; #endif #ifdef APPLY_FLATTEN v_flattenDiscard = 0.0; if (u_bFlatten) { // \u53D8\u6362\u5230\u4E16\u754C\u4F4D\u7F6E\uFF0C\u7136\u540E\u53C8\u5230 vec4 m_position = u_r_eastNorthUpToFixedFrameA *vec4(position, 1.0); // \u662F\u5426\u5728\u8303\u56F4\u5185 if (isPointInBound(m_position, u_polygonBounds)) { vec2 texCoord; // texCoord.x = (m_position.x-u_polygonBounds.x)/(u_polygonBounds.z-u_polygonBounds.x); texCoord.y = (m_position.y-u_polygonBounds.w)/(u_polygonBounds.y-u_polygonBounds.w); // \u56FE\u7247\u5927\u5C0F\u662F float texelSize = 1.0/4096.0; // \u89E3\u7801\u6DF1\u5EA6 float depth0 = unpackDepth(texture(u_polygonTexture, texCoord.xy)); float depth1 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(-texelSize, 0.0))); float depth2 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(texelSize, 0.0))); float depth3 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, -texelSize))); float depth4 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, texelSize))); // \u83B7\u53D6\u6700\u5C0F\u7684\u6DF1\u5EA6 float minDepth = min(min(min(min(depth0, depth1), depth2), depth3), depth4); if (minDepth*5000.0 > 1.0) { if(u_clipPlaneOfFlatten){ v_flattenDiscard = 1.0; } else { float depth = max(max(max(max(depth0, depth1), depth2), depth3), depth4); m_position.z = depth*5000.0 + m_position.z * 0.001; } } vec4 offset_Position = u_eastNorthUpToFixedFrameA * m_position - vec4(position, 1.0); position += offset_Position.xyz; position3DWC += offset_Position.xyz; if(skirt > 0.0) { position += ellipsoidNormal * u_minFlattenHeight; position3DWC += ellipsoidNormal * u_minFlattenHeight; } } } #endif // \u8BA1\u7B97\u4F4D\u7F6E gl_Position = getPosition(position, height, textureCoordinates); v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz; v_positionMC = position3DWC; // position in model coordinates v_textureCoordinates = vec3(textureCoordinates, webMercatorT); #if defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) vec3 normalMC = czm_octDecode(encodedNormal); #if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) vec3 projection = dot(normalMC, ellipsoidNormal) * ellipsoidNormal; vec3 rejection = normalMC - projection; normalMC = normalize(projection + rejection * exaggeration); #endif v_normalMC = normalMC; v_normalEC = czm_normal3D * v_normalMC; #endif #if defined(FOG) || (defined(GROUND_ATMOSPHERE) && !defined(PER_FRAGMENT_GROUND_ATMOSPHERE)) bool dynamicLighting = false; #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) dynamicLighting = true; #endif #if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) vec3 atmosphereLightDirection = czm_sunDirectionWC; #else vec3 atmosphereLightDirection = czm_lightDirectionWC; #endif vec3 lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(position3DWC)); computeAtmosphereScattering( position3DWC, lightDirection, v_atmosphereRayleighColor, v_atmosphereMieColor, v_atmosphereOpacity ); #endif #if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) v_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz); #endif #ifdef APPLY_MATERIAL float northPoleZ = czm_ellipsoidRadii.z; vec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ); vec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal)); float dotProd = abs(dot(ellipsoidNormal, v_normalMC)); v_slope = acos(dotProd); vec3 normalRejected = ellipsoidNormal * dotProd; vec3 normalProjected = v_normalMC - normalRejected; vec3 aspectVector = normalize(normalProjected); v_aspect = acos(dot(aspectVector, vectorEastMC)); float determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal); v_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect); v_height = height; #endif } `,gX=`void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity) { vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); float atmosphereInnerRadius = length(positionWC); computeScattering( primaryRay, length(cameraToPositionWC), lightDirection, atmosphereInnerRadius, rayleighColor, mieColor, opacity ); } `,EIe=`uniform sampler2D u_texture; in vec2 v_textureCoordinates; void main() { out_FragColor = texture(u_texture, v_textureCoordinates); } `,IIe=`in vec4 position; in float webMercatorT; uniform vec2 u_textureDimensions; out vec2 v_textureCoordinates; void main() { v_textureCoordinates = vec2(position.x, webMercatorT); gl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0)); } `,fX=`float interpolateByDistance(vec4 nearFarScalar, float distance) { float startDistance = nearFarScalar.x; float startValue = nearFarScalar.y; float endDistance = nearFarScalar.z; float endValue = nearFarScalar.w; float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); return mix(startValue, endValue, t); } vec3 getLightDirection(vec3 positionWC) { float lightEnum = u_radiiAndDynamicAtmosphereColor.z; vec3 lightDirection = positionWC * float(lightEnum == 0.0) + czm_lightDirectionWC * float(lightEnum == 1.0) + czm_sunDirectionWC * float(lightEnum == 2.0); return normalize(lightDirection); } void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity, out float underTranslucentGlobe) { float ellipsoidRadiiDifference = czm_ellipsoidRadii.x - czm_ellipsoidRadii.z; // Adjustment to the atmosphere radius applied based on the camera height. float distanceAdjustMin = czm_ellipsoidRadii.x / 4.0; float distanceAdjustMax = czm_ellipsoidRadii.x; float distanceAdjustModifier = ellipsoidRadiiDifference / 2.0; float distanceAdjust = distanceAdjustModifier * clamp((czm_eyeHeight - distanceAdjustMin) / (distanceAdjustMax - distanceAdjustMin), 0.0, 1.0); // Since atmosphere scattering assumes the atmosphere is a spherical shell, we compute an inner radius of the atmosphere best fit // for the position on the ellipsoid. float radiusAdjust = (ellipsoidRadiiDifference / 4.0) + distanceAdjust; float atmosphereInnerRadius = (length(czm_viewerPositionWC) - czm_eyeHeight) - radiusAdjust; // Setup the primary ray: from the camera position to the vertex position. vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); underTranslucentGlobe = 0.0; // Brighten the sky atmosphere under the Earth's atmosphere when translucency is enabled. #if defined(GLOBE_TRANSLUCENT) // Check for intersection with the inner radius of the atmopshere. czm_raySegment primaryRayEarthIntersect = czm_raySphereIntersectionInterval(primaryRay, vec3(0.0), atmosphereInnerRadius + radiusAdjust); if (primaryRayEarthIntersect.start > 0.0 && primaryRayEarthIntersect.stop > 0.0) { // Compute position on globe. vec3 direction = normalize(positionWC); czm_ray ellipsoidRay = czm_ray(positionWC, -direction); czm_raySegment ellipsoidIntersection = czm_rayEllipsoidIntersectionInterval(ellipsoidRay, vec3(0.0), czm_ellipsoidInverseRadii); vec3 onEarth = positionWC - (direction * ellipsoidIntersection.start); // Control the color using the camera angle. float angle = dot(normalize(czm_viewerPositionWC), normalize(onEarth)); // Control the opacity using the distance from Earth. opacity = interpolateByDistance(vec4(0.0, 1.0, czm_ellipsoidRadii.x, 0.0), length(czm_viewerPositionWC - onEarth)); vec3 horizonColor = vec3(0.1, 0.2, 0.3); vec3 nearColor = vec3(0.0); rayleighColor = mix(nearColor, horizonColor, exp(-angle) * opacity); // Set the traslucent flag to avoid alpha adjustment in computeFinalColor funciton. underTranslucentGlobe = 1.0; return; } #endif computeScattering( primaryRay, length(cameraToPositionWC), lightDirection, atmosphereInnerRadius, rayleighColor, mieColor, opacity ); // Alter the opacity based on how close the viewer is to the ground. // (0.0 = At edge of atmosphere, 1.0 = On ground) float cameraHeight = czm_eyeHeight + atmosphereInnerRadius; float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; opacity = clamp((atmosphereOuterRadius - cameraHeight) / (atmosphereOuterRadius - atmosphereInnerRadius), 0.0, 1.0); // Alter alpha based on time of day (0.0 = night , 1.0 = day) float nightAlpha = (u_radiiAndDynamicAtmosphereColor.z != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0; opacity *= pow(nightAlpha, 0.5); } `,xIe=`in vec3 v_outerPositionWC; uniform vec3 u_hsbShift; #ifndef PER_FRAGMENT_ATMOSPHERE in vec3 v_mieColor; in vec3 v_rayleighColor; in float v_opacity; in float v_translucent; #endif void main (void) { vec3 lightDirection = getLightDirection(v_outerPositionWC); vec3 mieColor; vec3 rayleighColor; float opacity; float translucent; #ifdef PER_FRAGMENT_ATMOSPHERE computeAtmosphereScattering( v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity, translucent ); #else mieColor = v_mieColor; rayleighColor = v_rayleighColor; opacity = v_opacity; translucent = v_translucent; #endif vec4 color = computeAtmosphereColor(v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity); #ifndef HDR color.rgb = czm_acesTonemapping(color.rgb); color.rgb = czm_inverseGamma(color.rgb); #endif #ifdef COLOR_CORRECT // Convert rgb color to hsb vec3 hsb = czm_RGBToHSB(color.rgb); // Perform hsb shift hsb.x += u_hsbShift.x; // hue hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness // Convert shifted hsb back to rgb color.rgb = czm_HSBToRGB(hsb); #endif // For the parts of the sky atmosphere that are not behind a translucent globe, // we mix in the default opacity so that the sky atmosphere still appears at distance. // This is needed because the opacity in the sky atmosphere is initially adjusted based // on the camera height. if (translucent == 0.0) { color.a = mix(color.b, 1.0, color.a) * smoothstep(0.0, 1.0, czm_morphTime); } out_FragColor = color; } `,yIe=`in vec4 position; out vec3 v_outerPositionWC; #ifndef PER_FRAGMENT_ATMOSPHERE out vec3 v_mieColor; out vec3 v_rayleighColor; out float v_opacity; out float v_translucent; #endif void main(void) { vec4 positionWC = czm_model * position; vec3 lightDirection = getLightDirection(positionWC.xyz); #ifndef PER_FRAGMENT_ATMOSPHERE computeAtmosphereScattering( positionWC.xyz, lightDirection, v_rayleighColor, v_mieColor, v_opacity, v_translucent ); #endif v_outerPositionWC = positionWC.xyz; gl_Position = czm_modelViewProjection * position; } `,vIe=`uniform samplerCube u_cubeMap; in vec3 v_texCoord; void main() { vec4 color = czm_textureCube(u_cubeMap, normalize(v_texCoord)); out_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime); } `,_Ie=`in vec3 position; out vec3 v_texCoord; void main() { vec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position)); gl_Position = czm_projection * vec4(p, 1.0); v_texCoord = position.xyz; } `,BIe=`uniform sampler2D u_texture; in vec2 v_textureCoordinates; void main() { vec4 color = texture(u_texture, v_textureCoordinates); out_FragColor = czm_gammaCorrect(color); } `,wIe=`uniform float u_radiusTS; in vec2 v_textureCoordinates; vec2 rotate(vec2 p, vec2 direction) { return vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x); } vec4 addBurst(vec2 position, vec2 direction, float lengthScalar) { vec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75); float radius = length(rotatedPosition) * lengthScalar; float burst = 1.0 - smoothstep(0.0, 0.55, radius); return vec4(burst); } void main() { float lengthScalar = 2.0 / sqrt(2.0); vec2 position = v_textureCoordinates - vec2(0.5); float radius = length(position) * lengthScalar; float surface = step(radius, u_radiusTS); vec4 color = vec4(vec2(1.0), surface + 0.2, surface); float glow = 1.0 - smoothstep(0.0, 0.55, radius); color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75; vec4 burst = vec4(0.0); // The following loop has been manually unrolled for speed, to // avoid sin() and cos(). // //for (float i = 0.4; i < 3.2; i += 1.047) { // vec2 direction = vec2(sin(i), cos(i)); // burst += 0.4 * addBurst(position, direction, lengthScalar); // // direction = vec2(sin(i - 0.08), cos(i - 0.08)); // burst += 0.3 * addBurst(position, direction, lengthScalar); //} burst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar); // angle == 0.4 burst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar); // angle == 0.4 + 1.047 burst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar); // angle == 0.4 + 1.047 * 2.0 burst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar); // angle == 0.4 - 0.08 burst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar); // angle == 0.4 + 1.047 - 0.08 burst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar); // angle == 0.4 + 1.047 * 2.0 - 0.08 // End of manual loop unrolling. color += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15; out_FragColor = clamp(color, vec4(0.0), vec4(1.0)); } `,aJe=`//created by zq uniform float u_radiusTS; in vec2 v_textureCoordinates; const float _BlurRadius = 0.3;//0.05; const int _Iteration = 30;//10; vec4 getColor(vec2 p) { float lengthScalar = 2.0 / sqrt(2.0); //float lengthScalar = 5.0 / sqrt(5.0); vec2 position = p - vec2(0.5); float radius = length(position) * lengthScalar; float surface = step(radius, u_radiusTS); vec4 color = vec4(vec2(1.0), surface + 0.2, surface); float glow = 1.0 - smoothstep(0.0, 0.55, radius); //float glow = 1.0 - smoothstep(0.0, 1.0, radius); color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75; return color; } void main() { //vec2 blurVector = (vec2(0.5) - v_textureCoordinates) * _BlurRadius; vec2 blurVector = (v_textureCoordinates - vec2(0.5)) * _BlurRadius; vec4 acumulateColor = vec4(0, 0, 0, 0); vec2 texcoord = v_textureCoordinates; //out_FragColor = vec4(1.0, 1.0, 0.0, 1.0); out_FragColor = getColor(texcoord); } `,bIe=`uniform sampler2D depthTexture; uniform sampler2D colorTexture; //uniform sampler2D u_texture; in vec2 v_textureCoordinates; const float threshold = 0.95;//0.5;//1.0; const float exposure = 1.0; const float gamma = 2.2; void main(void) { float depth = czm_readDepth(depthTexture, v_textureCoordinates); //float depth = czm_readDepth(colorTexture, v_textureCoordinates); //float sunDepth = gl_FragCoord.z / gl_FragCoord.w; //if(sunDepth > depth) if(depth < 1.0) //if(gl_FragCoord.z < 0.7) { out_FragColor = vec4(vec3(0.0), 1.0); //out_FragColor = vec4(0.0, 0.0, 1.0, 1.0); } else { vec4 color = texture(colorTexture, v_textureCoordinates); color = czm_gammaCorrect(color); float brightness = dot(color.rgb, vec3(0.2126, 0.7152, 0.0722)); out_FragColor = brightness > threshold ? vec4(color.rgb * 1.1, 1.0) : vec4(0.0, 0.0, 0.0, 1.0); //color = brightness > threshold ? vec4(color.rgb * 1.5, 1.0) : vec4(0.0, 0.0, 0.0, 1.0); // tone mapping //vec3 result = vec3(1.0) - exp(-color.rgb * exposure); // also gamma correct while we're at it //result = pow(result, vec3(1.0 / gamma)); //out_FragColor = vec4(result, 1.0); //out_FragColor = color; //out_FragColor = vec4(1.0, 0.0, 0.0, 1.0); } //out_FragColor = vec4(1.0, 0.0, 1.0, 1.0); //out_FragColor = vec4(v_textureCoordinates, 0.0, 1.0); } `,QIe=`in vec2 direction; uniform float u_size; out vec2 v_textureCoordinates; void main() { vec4 position; if (czm_morphTime == 1.0) { position = vec4(czm_sunPositionWC, 1.0); } else { position = vec4(czm_sunPositionColumbusView.zxy, 1.0); } vec4 positionEC = czm_view * position; vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); vec2 halfSize = vec2(u_size * 0.5); halfSize *= ((direction * 2.0) - 1.0); gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0); v_textureCoordinates = direction; } `,SIe=` in vec2 v_textureCoordinates; void main() { czm_materialInput materialInput; materialInput.s = v_textureCoordinates.s; materialInput.st = v_textureCoordinates; materialInput.str = vec3(v_textureCoordinates, 0.0); materialInput.normalEC = vec3(0.0, 0.0, -1.0); czm_material material = czm_getMaterial(materialInput); out_FragColor = vec4(material.diffuse + material.emission, material.alpha); } `,cXt=function(){var o=import.meta.url;return function(A){return A=A||{},A.ready}}(),Xq={};Xq.onRuntimeInitialized||(Xq.onRuntimeInitialized=function(){},cXt(Xq));var sJe=Xq,D8=Ku(pUe(),1),lJe={};(function(o,A){o.FlowEcharts=A(D8.default,o.Geoworld)})(lJe,function(o,A){return function(f){var m={};function C(E){if(m[E])return m[E].exports;var I=m[E]={i:E,l:!1,exports:{}};return f[E].call(I.exports,I,I.exports,C),I.l=!0,I.exports}return C.m=f,C.c=m,C.d=function(E,I,x){C.o(E,I)||Object.defineProperty(E,I,{enumerable:!0,get:x})},C.r=function(E){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(E,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(E,"__esModule",{value:!0})},C.t=function(E,I){if(I&1&&(E=C(E)),I&8||I&4&&typeof E=="object"&&E&&E.__esModule)return E;var x=Object.create(null);if(C.r(x),Object.defineProperty(x,"default",{enumerable:!0,value:E}),I&2&&typeof E!="string")for(var y in E)C.d(x,y,function(v){return E[v]}.bind(null,y));return x},C.n=function(E){var I=E&&E.__esModule?function(){return E.default}:function(){return E};return C.d(I,"a",I),I},C.o=function(E,I){return Object.prototype.hasOwnProperty.call(E,I)},C.p="",C(C.s=0)}([function(f,m,C){C(1);var E=C(7);f.exports=E},function(f,m,C){var E;E=function(I){return C(2).registerCoordinateSystem("GLMap",C(3)),C(5),C(6),C(2).registerAction({type:"GLMapRoam",event:"GLMapRoam",update:"updateLayout"},function(x,y){}),{version:"1.0.0"}}.call(m,C,m,f),E!==void 0&&(f.exports=E)},function(f,m){f.exports=o},function(f,m,C){var E;E=function(I){var x=C(2);function y(v,w){this._GLMap=v,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=w}return y.prototype.dimensions=["lng","lat"],y.prototype.setMapOffset=function(v){this._mapOffset=v},y.prototype.getBMap=function(){return this._GLMap},y.prototype.dataToPoint=function(v){var w=De.toRadians(80),Q=[99999,99999],M=Z.fromDegrees(v[0],v[1]);if(!M)return Q;var B=this._GLMap.cartesianToCanvasCoordinates(M);if(!B)return Q;var D=this._GLMap;return D.mode===ii.SCENE3D&&Z.angleBetween(D.camera.position,M)>w?!1:[B.x-this._mapOffset[0],B.y-this._mapOffset[1]]},y.prototype.pointToData=function(Q){var w=this._mapOffset,Q=this._bmap.project([Q[0]+w[0],Q[1]+w[1]]);return[Q.lng,Q.lat]},y.prototype.getViewRect=function(){var v=this._api;return new x.graphic.BoundingRect(0,0,v.getWidth(),v.getHeight())},y.prototype.getRoamTransform=function(){return x.matrix.create()},y.dimensions=y.prototype.dimensions,y.create=function(v,w){var Q;v.eachComponent("GLMap",function(M){var B=w.getZr().painter.getViewportRoot(),D=x.glMap;Q=new y(D,w),Q.setMapOffset(M.__mapOffset||[0,0]),M.coordinateSystem=Q}),v.eachSeries(function(M){M.get("coordinateSystem")==="GLMap"&&(M.coordinateSystem=Q)})},y}.call(m,C,m,f),E!==void 0&&(f.exports=E)},function(f,m){f.exports=A},function(f,m,C){var E;E=function(I){return C(2).extendComponentModel({type:"GLMap",getBMap:function(){return this.__GLMap},defaultOption:{roam:!1}})}.call(m,C,m,f),E!==void 0&&(f.exports=E)},function(f,m,C){var E;E=function(I){return C(2).extendComponentView({type:"GLMap",init:function(x,y){this.api=y,D8.default.glMap.postRender.addEventListener(this.moveHandler,this)},moveHandler:function(){this.api.dispatchAction({type:"GLMapRoam"})},render:function(x,y,v){},dispose:function(x,y){D8.default.glMap.postRender.removeEventListener(this.moveHandler,this)}})}.call(m,C,m,f),E!==void 0&&(f.exports=E)},function(f,m){function C(E,I){this._mapContainer=E,this._overlay=this._createChartOverlay(),this._overlay.setOption(I)}C.prototype._createChartOverlay=function(){var E=this._mapContainer.scene;E.canvas.setAttribute("tabIndex",0);var I=document.createElement("div");return I.style.position="absolute",I.style.top="0px",I.style.left="0px",I.style.width=E.canvas.width+"px",I.style.height=E.canvas.height+"px",I.style.pointerEvents="none",I.setAttribute("id","echarts"),I.setAttribute("class","echartMap"),this._mapContainer.container.appendChild(I),this._echartsContainer=I,D8.default.glMap=E,D8.default.init(I)},C.prototype.dispose=function(){this._echartsContainer&&(this._mapContainer.container.removeChild(this._echartsContainer),this._echartsContainer=null),this._overlay&&(this._overlay.dispose(),this._overlay=null)},C.prototype.destroy=function(){this.dispose()},C.prototype.updateOverlay=function(E){this._overlay&&this._overlay.setOption(E)},C.prototype.getMap=function(){return this._mapContainer},C.prototype.getOverlay=function(){return this._overlay},f.exports=C}])});var qee=lJe.FlowEcharts,hXt={DONE:0,PENDING:1,FAILED:2},Vn=Object.freeze(hXt),dXt=qe.WHITE,gXt=Z.ZERO,fXt=tn.NONE,pXt=tt.ZERO,mXt=1,CXt=0,EXt=Z.ZERO,IXt=iu.CENTER,xXt=on.CENTER,yXt=!1,vXt=new Z,_Xt=new qe,BXt=new Z,wXt=new tt,bXt=new no,QXt=new no,SXt=new no,DXt=new _r,MXt=new wo;function dLe(o){this.entity=o,this.billboard=void 0,this.textureValue=void 0}function M2(o,A){A.collectionChanged.addEventListener(M2.prototype._onCollectionChanged,this),this._cluster=o,this._entityCollection=A,this._items=new mo,this._onCollectionChanged(A,A.values,[],[])}M2.prototype.update=function(o){let A=this._items.values,f=this._cluster;for(let m=0,C=A.length;m-1;C--)E=A[C],k(E._billboard)&&k(E._position)&&I.set(E.id,new dLe(E));for(C=m.length-1;C>-1;C--)E=m[C],k(E._billboard)&&k(E._position)?I.contains(E.id)||I.set(E.id,new dLe(E)):(zue(I.get(E.id),E,x),I.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],zue(I.get(E.id),E,x),I.remove(E.id)};function zue(o,A,f){k(o)&&(o.billboard=void 0,f.removeBillboard(A))}var DIe=M2,TXt=new Z;function Cx(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.minimum,f=o.maximum,m=ae(o.vertexFormat,wr.DEFAULT);this._minimum=Z.clone(A),this._maximum=Z.clone(f),this._vertexFormat=m,this._offsetAttribute=o.offsetAttribute,this._workerName="createBoxGeometry"}Cx.fromDimensions=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.dimensions,f=Z.multiplyByScalar(A,.5,new Z);return new Cx({minimum:Z.negate(f,new Z),maximum:f,vertexFormat:o.vertexFormat,offsetAttribute:o.offsetAttribute})};Cx.fromAxisAlignedBoundingBox=function(o){return new Cx({minimum:o.minimum,maximum:o.maximum})};Cx.packedLength=2*Z.packedLength+wr.packedLength+1;Cx.pack=function(o,A,f){return f=ae(f,0),Z.pack(o._minimum,A,f),Z.pack(o._maximum,A,f+Z.packedLength),wr.pack(o._vertexFormat,A,f+2*Z.packedLength),A[f+2*Z.packedLength+wr.packedLength]=ae(o._offsetAttribute,-1),A};var AJe=new Z,uJe=new Z,cJe=new wr,gLe={minimum:AJe,maximum:uJe,vertexFormat:cJe,offsetAttribute:void 0};Cx.unpack=function(o,A,f){A=ae(A,0);let m=Z.unpack(o,A,AJe),C=Z.unpack(o,A+Z.packedLength,uJe),E=wr.unpack(o,A+2*Z.packedLength,cJe),I=o[A+2*Z.packedLength+wr.packedLength];return k(f)?(f._minimum=Z.clone(m,f._minimum),f._maximum=Z.clone(C,f._maximum),f._vertexFormat=wr.clone(E,f._vertexFormat),f._offsetAttribute=I===-1?void 0:I,f):(gLe.offsetAttribute=I===-1?void 0:I,new Cx(gLe))};Cx.createGeometry=function(o){let A=o._minimum,f=o._maximum,m=o._vertexFormat;if(Z.equals(A,f))return;let C=new vA,E,I;if(m.position&&(m.st||m.normal||m.tangent||m.bitangent)){if(m.position&&(I=new Float64Array(6*4*3),I[0]=A.x,I[1]=A.y,I[2]=f.z,I[3]=f.x,I[4]=A.y,I[5]=f.z,I[6]=f.x,I[7]=f.y,I[8]=f.z,I[9]=A.x,I[10]=f.y,I[11]=f.z,I[12]=A.x,I[13]=A.y,I[14]=A.z,I[15]=f.x,I[16]=A.y,I[17]=A.z,I[18]=f.x,I[19]=f.y,I[20]=A.z,I[21]=A.x,I[22]=f.y,I[23]=A.z,I[24]=f.x,I[25]=A.y,I[26]=A.z,I[27]=f.x,I[28]=f.y,I[29]=A.z,I[30]=f.x,I[31]=f.y,I[32]=f.z,I[33]=f.x,I[34]=A.y,I[35]=f.z,I[36]=A.x,I[37]=A.y,I[38]=A.z,I[39]=A.x,I[40]=f.y,I[41]=A.z,I[42]=A.x,I[43]=f.y,I[44]=f.z,I[45]=A.x,I[46]=A.y,I[47]=f.z,I[48]=A.x,I[49]=f.y,I[50]=A.z,I[51]=f.x,I[52]=f.y,I[53]=A.z,I[54]=f.x,I[55]=f.y,I[56]=f.z,I[57]=A.x,I[58]=f.y,I[59]=f.z,I[60]=A.x,I[61]=A.y,I[62]=A.z,I[63]=f.x,I[64]=A.y,I[65]=A.z,I[66]=f.x,I[67]=A.y,I[68]=f.z,I[69]=A.x,I[70]=A.y,I[71]=f.z,C.position=new Br({componentDatatype:Mt.DOUBLE,componentsPerAttribute:3,values:I})),m.normal){let v=new Float32Array(72);v[0]=0,v[1]=0,v[2]=1,v[3]=0,v[4]=0,v[5]=1,v[6]=0,v[7]=0,v[8]=1,v[9]=0,v[10]=0,v[11]=1,v[12]=0,v[13]=0,v[14]=-1,v[15]=0,v[16]=0,v[17]=-1,v[18]=0,v[19]=0,v[20]=-1,v[21]=0,v[22]=0,v[23]=-1,v[24]=1,v[25]=0,v[26]=0,v[27]=1,v[28]=0,v[29]=0,v[30]=1,v[31]=0,v[32]=0,v[33]=1,v[34]=0,v[35]=0,v[36]=-1,v[37]=0,v[38]=0,v[39]=-1,v[40]=0,v[41]=0,v[42]=-1,v[43]=0,v[44]=0,v[45]=-1,v[46]=0,v[47]=0,v[48]=0,v[49]=1,v[50]=0,v[51]=0,v[52]=1,v[53]=0,v[54]=0,v[55]=1,v[56]=0,v[57]=0,v[58]=1,v[59]=0,v[60]=0,v[61]=-1,v[62]=0,v[63]=0,v[64]=-1,v[65]=0,v[66]=0,v[67]=-1,v[68]=0,v[69]=0,v[70]=-1,v[71]=0,C.normal=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,values:v})}if(m.st){let v=new Float32Array(48);v[0]=0,v[1]=0,v[2]=1,v[3]=0,v[4]=1,v[5]=1,v[6]=0,v[7]=1,v[8]=1,v[9]=0,v[10]=0,v[11]=0,v[12]=0,v[13]=1,v[14]=1,v[15]=1,v[16]=0,v[17]=0,v[18]=1,v[19]=0,v[20]=1,v[21]=1,v[22]=0,v[23]=1,v[24]=1,v[25]=0,v[26]=0,v[27]=0,v[28]=0,v[29]=1,v[30]=1,v[31]=1,v[32]=1,v[33]=0,v[34]=0,v[35]=0,v[36]=0,v[37]=1,v[38]=1,v[39]=1,v[40]=0,v[41]=0,v[42]=1,v[43]=0,v[44]=1,v[45]=1,v[46]=0,v[47]=1,C.st=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:2,values:v})}if(m.tangent){let v=new Float32Array(72);v[0]=1,v[1]=0,v[2]=0,v[3]=1,v[4]=0,v[5]=0,v[6]=1,v[7]=0,v[8]=0,v[9]=1,v[10]=0,v[11]=0,v[12]=-1,v[13]=0,v[14]=0,v[15]=-1,v[16]=0,v[17]=0,v[18]=-1,v[19]=0,v[20]=0,v[21]=-1,v[22]=0,v[23]=0,v[24]=0,v[25]=1,v[26]=0,v[27]=0,v[28]=1,v[29]=0,v[30]=0,v[31]=1,v[32]=0,v[33]=0,v[34]=1,v[35]=0,v[36]=0,v[37]=-1,v[38]=0,v[39]=0,v[40]=-1,v[41]=0,v[42]=0,v[43]=-1,v[44]=0,v[45]=0,v[46]=-1,v[47]=0,v[48]=-1,v[49]=0,v[50]=0,v[51]=-1,v[52]=0,v[53]=0,v[54]=-1,v[55]=0,v[56]=0,v[57]=-1,v[58]=0,v[59]=0,v[60]=1,v[61]=0,v[62]=0,v[63]=1,v[64]=0,v[65]=0,v[66]=1,v[67]=0,v[68]=0,v[69]=1,v[70]=0,v[71]=0,C.tangent=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,values:v})}if(m.bitangent){let v=new Float32Array(72);v[0]=0,v[1]=1,v[2]=0,v[3]=0,v[4]=1,v[5]=0,v[6]=0,v[7]=1,v[8]=0,v[9]=0,v[10]=1,v[11]=0,v[12]=0,v[13]=1,v[14]=0,v[15]=0,v[16]=1,v[17]=0,v[18]=0,v[19]=1,v[20]=0,v[21]=0,v[22]=1,v[23]=0,v[24]=0,v[25]=0,v[26]=1,v[27]=0,v[28]=0,v[29]=1,v[30]=0,v[31]=0,v[32]=1,v[33]=0,v[34]=0,v[35]=1,v[36]=0,v[37]=0,v[38]=1,v[39]=0,v[40]=0,v[41]=1,v[42]=0,v[43]=0,v[44]=1,v[45]=0,v[46]=0,v[47]=1,v[48]=0,v[49]=0,v[50]=1,v[51]=0,v[52]=0,v[53]=1,v[54]=0,v[55]=0,v[56]=1,v[57]=0,v[58]=0,v[59]=1,v[60]=0,v[61]=0,v[62]=1,v[63]=0,v[64]=0,v[65]=1,v[66]=0,v[67]=0,v[68]=1,v[69]=0,v[70]=0,v[71]=1,C.bitangent=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,values:v})}E=new Uint16Array(6*2*3),E[0]=0,E[1]=1,E[2]=2,E[3]=0,E[4]=2,E[5]=3,E[6]=4+2,E[7]=4+1,E[8]=4+0,E[9]=4+3,E[10]=4+2,E[11]=4+0,E[12]=8+0,E[13]=8+1,E[14]=8+2,E[15]=8+0,E[16]=8+2,E[17]=8+3,E[18]=12+2,E[19]=12+1,E[20]=12+0,E[21]=12+3,E[22]=12+2,E[23]=12+0,E[24]=16+2,E[25]=16+1,E[26]=16+0,E[27]=16+3,E[28]=16+2,E[29]=16+0,E[30]=20+0,E[31]=20+1,E[32]=20+2,E[33]=20+0,E[34]=20+2,E[35]=20+3}else I=new Float64Array(8*3),I[0]=A.x,I[1]=A.y,I[2]=A.z,I[3]=f.x,I[4]=A.y,I[5]=A.z,I[6]=f.x,I[7]=f.y,I[8]=A.z,I[9]=A.x,I[10]=f.y,I[11]=A.z,I[12]=A.x,I[13]=A.y,I[14]=f.z,I[15]=f.x,I[16]=A.y,I[17]=f.z,I[18]=f.x,I[19]=f.y,I[20]=f.z,I[21]=A.x,I[22]=f.y,I[23]=f.z,C.position=new Br({componentDatatype:Mt.DOUBLE,componentsPerAttribute:3,values:I}),E=new Uint16Array(6*2*3),E[0]=4,E[1]=5,E[2]=6,E[3]=4,E[4]=6,E[5]=7,E[6]=1,E[7]=0,E[8]=3,E[9]=1,E[10]=3,E[11]=2,E[12]=1,E[13]=6,E[14]=5,E[15]=1,E[16]=2,E[17]=6,E[18]=2,E[19]=3,E[20]=7,E[21]=2,E[22]=7,E[23]=6,E[24]=3,E[25]=0,E[26]=4,E[27]=3,E[28]=4,E[29]=7,E[30]=0,E[31]=1,E[32]=5,E[33]=0,E[34]=5,E[35]=4;let x=Z.subtract(f,A,TXt),y=Z.magnitude(x)*.5;if(k(o._offsetAttribute)){let v=I.length,w=o._offsetAttribute===vs.NONE?0:1,Q=new Uint8Array(v/3).fill(w);C.applyOffset=new Br({componentDatatype:Mt.UNSIGNED_BYTE,componentsPerAttribute:1,values:Q})}return new Bo({attributes:C,indices:E,primitiveType:$r.TRIANGLES,boundingSphere:new si(Z.ZERO,y),offsetAttribute:o._offsetAttribute})};var rle;Cx.getUnitBox=function(){return k(rle)||(rle=Cx.createGeometry(Cx.fromDimensions({dimensions:new Z(1,1,1),vertexFormat:wr.POSITION_ONLY}))),rle};var RS=Cx;function XV(o,A){o=ae(o,0),A=ae(A,Number.MAX_VALUE),this.value=new Float32Array([o,A])}Object.defineProperties(XV.prototype,{componentDatatype:{get:function(){return Mt.FLOAT}},componentsPerAttribute:{get:function(){return 2}},normalize:{get:function(){return!1}}});XV.fromDistanceDisplayCondition=function(o){return new XV(o.near,o.far)};XV.toValue=function(o,A){return k(A)?(A[0]=o.near,A[1]=o.far,A):new Float32Array([o.near,o.far])};var Eu=XV;function b4(){ni.throwInstantiationError()}Object.defineProperties(b4.prototype,{isConstant:{get:ni.throwInstantiationError},definitionChanged:{get:ni.throwInstantiationError}});b4.prototype.getType=ni.throwInstantiationError;b4.prototype.getValue=ni.throwInstantiationError;b4.prototype.equals=ni.throwInstantiationError;b4.getValue=function(o,A,f){let m;return k(A)&&(m=A.getType(o),k(m))?((!k(f)||f.type!==m)&&(f=fa.fromType(m)),A.getValue(o,f.uniforms),f):((!k(f)||f.type!==fa.ColorType)&&(f=fa.fromType(fa.ColorType)),qe.clone(qe.WHITE,f.uniforms.color),f)};var h0=b4;function SN(o,A,f){this._primitives=A,this._orderedGroundPrimitives=f,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=o,this._options=o._options,this._entity=o._entity,this._material=void 0}SN.prototype._isHidden=function(o,A,f){return!o.isShowing||!o.isAvailable(f)||!Ct.getValueOrDefault(A.show,f,!0)};SN.prototype._setOptions=ni.throwInstantiationError;SN.prototype.update=function(o){let A=this._geometryUpdater,f=A._onTerrain,m=this._primitives,C=this._orderedGroundPrimitives;f?C.remove(this._primitive):(m.removeAndDestroy(this._primitive),m.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;let E=this._entity,I=E[this._geometryUpdater._geometryPropertyName];if(this._setOptions(E,I,o),this._isHidden(E,I,o))return;let x=this._geometryUpdater.shadowsProperty.getValue(o),y=this._options;if(!k(I.fill)||I.fill.getValue(o)){let v=A.fillMaterialProperty,w=v instanceof sa,Q,M=A._getIsClosed(y);if(w)Q=new ma({closed:M,flat:f&&!A._supportsMaterialsforEntitiesOnTerrain});else{let B=h0.getValue(o,v,this._material);this._material=B,Q=new cd({material:B,translucent:B.isTranslucent(),closed:M})}if(f)y.vertexFormat=ma.VERTEX_FORMAT,this._primitive=C.add(new sP({geometryInstances:this._geometryUpdater.createFillGeometryInstance(o),appearance:Q,asynchronous:!1,shadows:x,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(o)}),Ct.getValueOrUndefined(this._geometryUpdater.zIndex,o));else{y.vertexFormat=Q.vertexFormat;let B=this._geometryUpdater.createFillGeometryInstance(o);w&&(Q.translucent=B.attributes.color.value[3]!==255),this._primitive=m.add(new pa({geometryInstances:B,appearance:Q,asynchronous:!1,shadows:x}))}}if(!f&&k(I.outline)&&I.outline.getValue(o)){let v=this._geometryUpdater.createOutlineGeometryInstance(o),w=Ct.getValueOrDefault(I.outlineWidth,o,1);this._outlinePrimitive=m.add(new pa({geometryInstances:v,appearance:new ma({flat:!0,translucent:v.attributes.color.value[3]!==255,renderState:{lineWidth:A._scene.clampLineWidth(w)}}),asynchronous:!1,shadows:x}))}};SN.prototype.getBoundingSphere=function(o){let A=this._entity,f=this._primitive,m=this._outlinePrimitive,C;return k(f)&&f.show&&f.ready&&(C=f.getGeometryInstanceAttributes(A),k(C)&&k(C.boundingSphere))||k(m)&&m.show&&m.ready&&(C=m.getGeometryInstanceAttributes(A),k(C)&&k(C.boundingSphere))?(si.clone(C.boundingSphere,o),Vn.DONE):k(f)&&!f.ready||k(m)&&!m.ready?Vn.PENDING:Vn.FAILED};SN.prototype.isDestroyed=function(){return!1};SN.prototype.destroy=function(){let o=this._primitives,A=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?A.remove(this._primitive):o.removeAndDestroy(this._primitive),o.removeAndDestroy(this._outlinePrimitive),ar(this)};var xu=SN,PXt=new sa(qe.WHITE),RXt=new bA(!0),LXt=new bA(!0),FXt=new bA(!1),NXt=new bA(qe.BLACK),kXt=new bA(_s.DISABLED),UXt=new bA(new wo),OXt=new bA(nA.BOTH);function HC(o){let A=o.entity,f=o.geometryPropertyName;this._entity=A,this._scene=o.scene,this._fillEnabled=!1,this._isClosed=!1,this._onTerrain=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new ir,this._showProperty=void 0,this._materialProperty=void 0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._outlineWidth=1,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._options=o.geometryOptions,this._geometryPropertyName=f,this._id=`${f}-${A.id}`,this._observedPropertyNames=o.observedPropertyNames,this._supportsMaterialsforEntitiesOnTerrain=Fu.supportsMaterialsforEntitiesOnTerrain(o.scene)}Object.defineProperties(HC.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!k(this._entity.availability)&&Ct.isConstant(this._showProperty)&&Ct.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!k(this._entity.availability)&&Ct.isConstant(this._showProperty)&&Ct.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},outlineWidth:{get:function(){return this._outlineWidth}},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},onTerrain:{get:function(){return this._onTerrain}},geometryChanged:{get:function(){return this._geometryChanged}}});HC.prototype.isOutlineVisible=function(o){let A=this._entity,f=this._outlineEnabled&&A.isAvailable(o)&&this._showProperty.getValue(o)&&this._showOutlineProperty.getValue(o);return ae(f,!1)};HC.prototype.isFilled=function(o){let A=this._entity,f=this._fillEnabled&&A.isAvailable(o)&&this._showProperty.getValue(o)&&this._fillProperty.getValue(o);return ae(f,!1)};HC.prototype.createFillGeometryInstance=ni.throwInstantiationError;HC.prototype.createOutlineGeometryInstance=ni.throwInstantiationError;HC.prototype.isDestroyed=function(){return!1};HC.prototype.destroy=function(){ar(this)};HC.prototype._isHidden=function(o,A){let f=A.show;return k(f)&&f.isConstant&&!f.getValue(Zr.MINIMUM_VALUE)};HC.prototype._isOnTerrain=function(o,A){return!1};HC.prototype._getIsClosed=function(o){return!0};HC.prototype._isDynamic=ni.throwInstantiationError;HC.prototype._setStaticOptions=ni.throwInstantiationError;HC.prototype._onEntityPropertyChanged=function(o,A,f,m){if(this._observedPropertyNames.indexOf(A)===-1)return;let C=this._entity[this._geometryPropertyName];if(!k(C)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let E=C.fill,I=k(E)&&E.isConstant?E.getValue(Zr.MINIMUM_VALUE):!0,x=C.outline,y=k(x);if(y&&x.isConstant&&(y=x.getValue(Zr.MINIMUM_VALUE)),!I&&!y){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let v=C.show;if(this._isHidden(o,C)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}this._materialProperty=ae(C.material,PXt),this._fillProperty=ae(E,LXt),this._showProperty=ae(v,RXt),this._showOutlineProperty=ae(C.outline,FXt),this._outlineColorProperty=y?ae(C.outlineColor,NXt):void 0,this._shadowsProperty=ae(C.shadows,kXt),this._distanceDisplayConditionProperty=ae(C.distanceDisplayCondition,UXt),this._classificationTypeProperty=ae(C.classificationType,OXt),this._fillEnabled=I;let w=this._isOnTerrain(o,C)&&(this._supportsMaterialsforEntitiesOnTerrain||this._materialProperty instanceof sa);if(y&&w&&(Ro(Ro.geometryOutlines),y=!1),this._onTerrain=w,this._outlineEnabled=y,this._isDynamic(o,C))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{this._setStaticOptions(o,C),this._isClosed=this._getIsClosed(this._options);let Q=C.outlineWidth;this._outlineWidth=k(Q)?Q.getValue(Zr.MINIMUM_VALUE):1,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};HC.prototype.createDynamicUpdater=function(o,A){return new this.constructor.DynamicGeometryUpdater(this,o,A)};var qu=HC,hJe=new Z,GXt=new Lt;function Q4(o,A,f,m){this._scene=o,this._heightReference=f,this._extrudedHeightReference=m,this._positionProperty=A,this._position=new Z,this._cartographicPosition=new Lt,this._normal=new Z,this._definitionChanged=new ir,this._terrainHeight=0,this._removeCallbackFunc=void 0,this._removeEventListener=void 0,this._removeModeListener=void 0;let C=this;if(k(o.globe)&&(this._removeEventListener=o.terrainProviderChanged.addEventListener(function(){C._updateClamping()}),this._removeModeListener=o.morphComplete.addEventListener(function(){C._updateClamping()})),A.isConstant){let E=A.getValue(Zr.MINIMUM_VALUE,hJe);if(!k(E)||Z.equals(E,Z.ZERO)||!k(o.globe))return;this._position=Z.clone(E,this._position),this._updateClamping(),this._normal=o.globe.ellipsoid.geodeticSurfaceNormal(E,this._normal)}}Object.defineProperties(Q4.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}}});Q4.prototype._updateClamping=function(){k(this._removeCallbackFunc)&&this._removeCallbackFunc();let o=this._scene,A=o.globe,f=this._position;if(!k(A)||Z.equals(f,Z.ZERO)){this._terrainHeight=0;return}let m=A.ellipsoid,C=A._surface,E=this,I=m.cartesianToCartographic(f,this._cartographicPosition),x=A.getHeight(I);k(x)?this._terrainHeight=x:this._terrainHeight=0;function y(v){if(o.mode===ii.SCENE3D){let w=m.cartesianToCartographic(v,GXt);E._terrainHeight=w.height}else E._terrainHeight=v.x;E.definitionChanged.raiseEvent()}this._removeCallbackFunc=C.updateHeight(I,y)};Q4.prototype.getValue=function(o,A){let f=Ct.getValueOrDefault(this._heightReference,o,tn.NONE),m=Ct.getValueOrDefault(this._extrudedHeightReference,o,tn.NONE);if(f===tn.NONE&&m!==tn.RELATIVE_TO_GROUND)return this._position=Z.clone(Z.ZERO,this._position),Z.clone(Z.ZERO,A);if(this._positionProperty.isConstant)return Z.multiplyByScalar(this._normal,this._terrainHeight,A);let C=this._scene,E=this._positionProperty.getValue(o,hJe);if(!k(E)||Z.equals(E,Z.ZERO)||!k(C.globe))return Z.clone(Z.ZERO,A);if(Z.equalsEpsilon(this._position,E,De.EPSILON10))return Z.multiplyByScalar(this._normal,this._terrainHeight,A);this._position=Z.clone(E,this._position),this._updateClamping();let I=C.globe.ellipsoid.geodeticSurfaceNormal(E,this._normal);return Z.multiplyByScalar(I,this._terrainHeight,A)};Q4.prototype.isDestroyed=function(){return!1};Q4.prototype.destroy=function(){return k(this._removeEventListener)&&this._removeEventListener(),k(this._removeModeListener)&&this._removeModeListener(),k(this._removeCallbackFunc)&&this._removeCallbackFunc(),ar(this)};var jee=Q4;function HXt(o,A,f,m){if(qu.prototype._onEntityPropertyChanged.call(this,o,A,f,m),this._observedPropertyNames.indexOf(A)===-1)return;let C=this._entity[this._geometryPropertyName];if(!k(C))return;k(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let E=C.heightReference;if(k(E)){let I=new Kr(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new jee(this._scene,I,E)}}var iY=HXt,dJe=Z.ZERO,gJe=new Z,VXt=new Z,fJe=new qe;function zXt(o){this.id=o,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function Ex(o,A){qu.call(this,{entity:o,scene:A,geometryOptions:new zXt(o),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(o,"box",o.box,void 0)}k(Object.create)&&(Ex.prototype=Object.create(qu.prototype),Ex.prototype.constructor=Ex);Object.defineProperties(Ex.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});Ex.prototype.createFillGeometryInstance=function(o){let A=this._entity,f=A.isAvailable(o),m=new kl(f&&A.isShowing&&this._showProperty.getValue(o)&&this._fillProperty.getValue(o)),C=this._distanceDisplayConditionProperty.getValue(o),E=Eu.fromDistanceDisplayCondition(C),I={show:m,distanceDisplayCondition:E,color:void 0,offset:void 0};if(this._materialProperty instanceof sa){let x;k(this._materialProperty.color)&&(this._materialProperty.color.isConstant||f)&&(x=this._materialProperty.color.getValue(o,fJe)),k(x)||(x=qe.WHITE),I.color=vo.fromColor(x)}return k(this._options.offsetAttribute)&&(I.offset=Hd.fromCartesian3(Ct.getValueOrDefault(this._terrainOffsetProperty,o,dJe,gJe))),new Un({id:A,geometry:RS.fromDimensions(this._options),modelMatrix:A.computeModelMatrixForHeightReference(o,A.box.heightReference,this._options.dimensions.z*.5,this._scene.mapProjection.ellipsoid),attributes:I})};Ex.prototype.createOutlineGeometryInstance=function(o){let A=this._entity,f=A.isAvailable(o),m=Ct.getValueOrDefault(this._outlineColorProperty,o,qe.BLACK,fJe),C=this._distanceDisplayConditionProperty.getValue(o),E={show:new kl(f&&A.isShowing&&this._showProperty.getValue(o)&&this._showOutlineProperty.getValue(o)),color:vo.fromColor(m),distanceDisplayCondition:Eu.fromDistanceDisplayCondition(C),offset:void 0};return k(this._options.offsetAttribute)&&(E.offset=Hd.fromCartesian3(Ct.getValueOrDefault(this._terrainOffsetProperty,o,dJe,gJe))),new Un({id:A,geometry:j1.fromDimensions(this._options),modelMatrix:A.computeModelMatrixForHeightReference(o,A.box.heightReference,this._options.dimensions.z*.5,this._scene.mapProjection.ellipsoid),attributes:E})};Ex.prototype._computeCenter=function(o,A){return Ct.getValueOrUndefined(this._entity.position,o,A)};Ex.prototype._isHidden=function(o,A){return!k(A.dimensions)||!k(o.position)||qu.prototype._isHidden.call(this,o,A)};Ex.prototype._isDynamic=function(o,A){return!o.position.isConstant||!Ct.isConstant(o.orientation)||!A.dimensions.isConstant||!Ct.isConstant(A.outlineWidth)};Ex.prototype._setStaticOptions=function(o,A){let f=Ct.getValueOrDefault(A.heightReference,Zr.MINIMUM_VALUE,tn.NONE),m=this._options;m.vertexFormat=this._materialProperty instanceof sa?ma.VERTEX_FORMAT:cd.MaterialSupport.TEXTURED.vertexFormat,m.dimensions=A.dimensions.getValue(Zr.MINIMUM_VALUE,m.dimensions),m.offsetAttribute=f!==tn.NONE?vs.ALL:void 0};Ex.prototype._onEntityPropertyChanged=iY;Ex.DynamicGeometryUpdater=AU;function AU(o,A,f){xu.call(this,o,A,f)}k(Object.create)&&(AU.prototype=Object.create(xu.prototype),AU.prototype.constructor=AU);AU.prototype._isHidden=function(o,A,f){let m=Ct.getValueOrUndefined(o.position,f,VXt),C=this._options.dimensions;return!k(m)||!k(C)||xu.prototype._isHidden.call(this,o,A,f)};AU.prototype._setOptions=function(o,A,f){let m=Ct.getValueOrDefault(A.heightReference,f,tn.NONE),C=this._options;C.dimensions=Ct.getValueOrUndefined(A.dimensions,f,C.dimensions),C.offsetAttribute=m!==tn.NONE?vs.ALL:void 0};var MIe=Ex,YXt=new Re;function T2(o,A){A.collectionChanged.addEventListener(T2.prototype._onCollectionChanged,this),this._scene=o,this._primitives=o.primitives,this._entityCollection=A,this._tilesetHash={},this._entitiesToVisualize=new mo,this._onCollectionChanged(A,A.values,[],[])}T2.prototype.update=function(o){let A=this._entitiesToVisualize.values,f=this._tilesetHash,m=this._primitives;for(let C=0,E=A.length;C-1;m--)Yue(this,o[m],A,f);return ar(this)};T2.prototype.getBoundingSphere=function(o,A){let f=this._tilesetHash[o.id];if(!k(f)||f.loadFail)return Vn.FAILED;let m=f.tilesetPrimitive;return k(m)?m.show?(si.clone(m.boundingSphere,A),Vn.DONE):Vn.FAILED:Vn.PENDING};T2.prototype._onCollectionChanged=function(o,A,f,m){let C,E,I=this._entitiesToVisualize,x=this._tilesetHash,y=this._primitives;for(C=A.length-1;C>-1;C--)E=A[C],k(E._tileset)&&I.set(E.id,E);for(C=m.length-1;C>-1;C--)E=m[C],k(E._tileset)?I.set(E.id,E):(Yue(this,E,x,y),I.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],Yue(this,E,x,y),I.remove(E.id)};function Yue(o,A,f,m){let C=f[A.id];k(C)&&(k(C.tilesetPrimitive)&&m.removeAndDestroy(C.tilesetPrimitive),delete f[A.id])}async function JXt(o,A,f,m){A[f.id]={url:o.url,loadFail:!1};try{let C=await B0.fromUrl(o);if(C.id=f,m.add(C),!k(A[f.id]))return;A[f.id].tilesetPrimitive=C}catch(C){console.error(C),A[f.id].loadFail=!0}}var TIe=T2,KXt=qe.WHITE,WXt=qe.BLACK,qXt=new tt(2,2);function $U(o){o=ae(o,ae.EMPTY_OBJECT),this._definitionChanged=new ir,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=o.evenColor,this.oddColor=o.oddColor,this.repeat=o.repeat}Object.defineProperties($U.prototype,{isConstant:{get:function(){return Ct.isConstant(this._evenColor)&&Ct.isConstant(this._oddColor)&&Ct.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:ai("evenColor"),oddColor:ai("oddColor"),repeat:ai("repeat")});$U.prototype.getType=function(o){return"Checkerboard"};$U.prototype.getValue=function(o,A){return k(A)||(A={}),A.lightColor=Ct.getValueOrClonedDefault(this._evenColor,o,KXt,A.lightColor),A.darkColor=Ct.getValueOrClonedDefault(this._oddColor,o,WXt,A.darkColor),A.repeat=Ct.getValueOrDefault(this._repeat,o,qXt),A};$U.prototype.equals=function(o){return this===o||o instanceof $U&&Ct.equals(this._evenColor,o._evenColor)&&Ct.equals(this._oddColor,o._oddColor)&&Ct.equals(this._repeat,o._repeat)};var pX=$U,mX={id:void 0},uU=new Array(2);function Jue(o){let A=o.propertyNames,f=A.length;for(let m=0;m-1;y--)I=x[y],mJe(o,M,B,I);for(E=f-1;E>=0;E--)for(v=A[E],v.collectionChanged.addEventListener(pd.prototype._onCollectionChanged,o),x=v.values,B=v.id,y=x.length-1;y>-1;y--){I=x[y],pJe(o,M,B,I);let S=Q.getById(I.id);k(S)||(S=w.getById(I.id),k(S)?Jue(S):(mX.id=I.id,S=new Fu(mX)),Q.add(S)),S.merge(I)}o._collectionsCopy=A.slice(0),w.suspendEvents(),w.removeAll();let D=Q.values;for(E=0;E=0;x--)y=m[x].getById(S),k(y)&&(k(v)||(v=E.getById(S),Jue(v)),v.merge(y));k(v)||E.removeById(S),v=void 0}let B=A.length;for(I=0;I=0;x--)y=m[x].getById(S),k(y)&&(k(v)||(v=E.getById(S),k(v)?Jue(v):(mX.id=S,v=new Fu(mX),E.add(v))),v.merge(y));v=void 0}E.resumeEvents()};pd.prototype._onDefinitionChanged=function(o,A,f,m){let C=this._collections,E=this._composite,I=C.length,x=o.id,y=E.getById(x),v=y[A],w=!k(v),Q=!0;for(let M=I-1;M>=0;M--){let B=C[M].getById(o.id);if(k(B)){let D=B[A];if(k(D)){if(Q)if(Q=!1,k(D.merge)&&k(D.clone))v=D.clone(v);else{v=D;break}v.merge(D)}}}w&&y.propertyNames.indexOf(A)===-1&&y.addProperty(A),y[A]=v};var EJe=pd;function P2(){this._definitionChanged=new ir,this._composite=new zy,this._composite.definitionChanged.addEventListener(P2.prototype._raiseDefinitionChanged,this)}Object.defineProperties(P2.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite._intervals}}});P2.prototype.getType=function(o){let A=this._composite._intervals.findDataForIntervalContainingDate(o);if(k(A))return A.getType(o)};P2.prototype.getValue=function(o,A){let f=this._composite._intervals.findDataForIntervalContainingDate(o);if(k(f))return f.getValue(o,A)};P2.prototype.equals=function(o){return this===o||o instanceof P2&&this._composite.equals(o._composite,Ct.equals)};P2.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var CX=P2,jXt={ROUNDED:0,MITERED:1,BEVELED:2},zu=Object.freeze(jXt),t0=[new Z,new Z],XXt=new Z,ZXt=new Z,$Xt=new Z,eZt=new Z,tZt=new Z,iZt=new Z,rZt=new Z,nZt=new Z,oZt=new Z,Q5=new Z,gW=new Z,ZV={},nle=new Lt;function aZt(o,A){let f=new Array(o.length);for(let m=0;m=0?-x:x}var lZt=new Z(-1,0,0),_L=new Re,AZt=new Re,ale=new Nt,uZt=Nt.IDENTITY.clone(),cZt=new Z,hZt=new kt,fLe=new Z;function $Q(o,A,f,m,C,E,I,x){let y=cZt,v=hZt;_L=Vr.eastNorthUpToFixedFrame(o,C,_L),y=Re.multiplyByPointAsVector(_L,lZt,y),y=Z.normalize(y,y);let w=sZt(y,A,o,C);ale=Nt.fromRotationZ(w,ale),fLe.z=E,_L=Re.multiplyTransformation(_L,Re.fromRotationTranslation(ale,fLe,AZt),_L);let Q=uZt;Q[0]=I;for(let M=0;M0){let S=v?2:1;for(let P=0;P=0};var fZt=new Z,pZt=new Z;ZV.computePositions=function(o,A,f,m,C){let E=m._ellipsoid,I=aZt(o,E),x=m._granularity,y=m._cornerType,v=C?gZt(A,f):pLe(A,f),w=C?pLe(A,f):void 0,Q=f.height/2,M=f.width/2,B=o.length,D=[],S=C?[]:void 0,P=XXt,R=ZXt,T=$Xt,L=eZt,F=tZt,U=iZt,N=rZt,H=nZt,J=oZt,K=o[0],X=o[1];L=E.geodeticSurfaceNormal(K,L),P=Z.subtract(X,K,P),P=Z.normalize(P,P),H=Z.cross(L,P,H),H=Z.normalize(H,H);let j=I[0],ee=I[1];C&&(S=$Q(K,H,w,S,E,j+Q,1,1)),J=Z.clone(K,J),K=X,R=Z.negate(P,R);let ie,z;for(let Ae=1;AeBe;M--)ye=De.PI_OVER_TWO-M*Ce,re[me++]=1-se*(1+Math.cos(ye)),re[me++]=.5*(1+Math.sin(ye));for(M=Be;M>0;M--)ye=De.PI_OVER_TWO-Ce*M,re[me++]=1-ce*(1+Math.cos(ye)),re[me++]=.5*(1+Math.sin(ye));for(M=w-P;M>0;M--)re[me++]=M*ce,re[me++]=1;for(M=1;M0;M--)re[me++]=(M-1)*ce,re[me++]=1}y.st=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:2,values:re})}return A.normal&&(y.normal=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,values:N.normals})),A.tangent&&(y.tangent=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,values:N.tangents})),A.bitangent&&(y.bitangent=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,values:N.bitangents})),{attributes:y,indices:he}}function SZt(o,A){if(!A.normal&&!A.tangent&&!A.bitangent&&!A.st)return o;let f=o.position.values,m,C;(A.normal||A.bitangent)&&(m=o.normal.values,C=o.bitangent.values);let E=o.position.values.length/18,I=E*3,x=E*2,y=I*2,v;if(A.normal||A.bitangent||A.tangent){let w=A.normal?new Float32Array(I*6):void 0,Q=A.tangent?new Float32Array(I*6):void 0,M=A.bitangent?new Float32Array(I*6):void 0,B=_Je,D=BJe,S=Zq,P=$q,R=QZt,T=wJe,L=y;for(v=0;v0){let S=Math.min(E,C);v=Math.round(C/S),y+=S}let w=fn.createTypedArray(I,y*2),Q=0,M;for(M=0;M0)for(M=0;M0){for(y=0;yy&&o!==Object}let D=typeof o.unpack=="function"&&o!==S1;if(!B&&!M){Q?A[f]=new bA(D?o.unpack(v,0):v):A[f]=PLe(o,I,m);return}let S=A[f],P,R=m.epoch;if(k(R)&&(P=jt.fromIso8601(R)),B&&!M){S instanceof tS||(A[f]=S=new tS(o)),S.addSamplesPackedArray(v,P),BX(m,S);return}let T;if(!B&&M){x=x.clone(),Q?x.data=D?o.unpack(v,0):v:x.data=PLe(o,I,m),k(S)||(A[f]=S=Q?new UU:new zy),Q&&S instanceof UU?S.intervals.addInterval(x):S instanceof zy?(Q&&(x.data=new bA(x.data)),S.intervals.addInterval(x)):(A[f]=S=ULe(S),Q&&(x.data=new bA(x.data)),S.intervals.addInterval(x));return}k(S)||(A[f]=S=new zy),S instanceof zy||(A[f]=S=ULe(S));let L=S.intervals;T=L.findInterval(x),(!k(T)||!(T.data instanceof tS))&&(T=x.clone(),T.data=new tS(o),L.addInterval(T)),T.data.addSamplesPackedArray(v,P),BX(m,T.data)}function VJe(o,A){if(o instanceof tS){o.removeSamples(A);return}else if(o instanceof UU){o.intervals.removeInterval(A);return}else if(o instanceof zy){let f=o.intervals;for(let m=0;my),!D&&!M){Q?o[A]=new d1(Z.unpack(v),B):o[A]=t9(E,f.reference);return}let S=o[A],P,R=f.epoch;if(k(R)&&(P=jt.fromIso8601(R)),D&&!M){(!(S instanceof Yy)||k(B)&&S.referenceFrame!==B)&&(o[A]=S=new Yy(B,x)),S.addSamplesPackedArray(v,P),BX(f,S);return}let T;if(!D&&M){I=I.clone(),Q?I.data=Z.unpack(v):I.data=t9(E,f.reference),k(S)||(Q?S=new aO(B):S=new dx(B),o[A]=S),Q&&S instanceof aO&&k(B)&&S.referenceFrame===B?S.intervals.addInterval(I):S instanceof dx?(Q&&(I.data=new d1(I.data,B)),S.intervals.addInterval(I)):(o[A]=S=OLe(S),Q&&(I.data=new d1(I.data,B)),S.intervals.addInterval(I));return}k(S)?S instanceof dx||(o[A]=S=OLe(S)):o[A]=S=new dx(B);let L=S.intervals;T=L.findInterval(I),(!k(T)||!(T.data instanceof Yy)||k(B)&&T.data.referenceFrame!==B)&&(T=I.clone(),T.data=new Yy(B,x),L.addInterval(T)),T.data.addSamplesPackedArray(v,P),BX(f,T.data)}function zJe(o,A){if(o instanceof Yy){o.removeSamples(A);return}else if(o instanceof aO){o.intervals.removeInterval(A);return}else if(o instanceof dx){let f=o.intervals;for(let m=0;m. version format.");let m=A._documentPacket;k(o.name)&&(m.name=o.name);let C=o.clock;if(k(C)){let E=m.clock;k(E)?(E.interval=ae(C.interval,E.interval),E.currentTime=ae(C.currentTime,E.currentTime),E.range=ae(C.range,E.range),E.step=ae(C.step,E.step),E.multiplier=ae(C.multiplier,E.multiplier)):m.clock={interval:C.interval,currentTime:C.currentTime,range:C.range,step:C.step,multiplier:C.multiplier}}}function G$t(o,A,f,m){let C=A.ellipse;if(!k(C))return;let E=Ch(C.interval),I=o.ellipse;k(I)||(o.ellipse=I=new u$),vi(Boolean,I,"show",C.show,E,m,f),vi(Number,I,"semiMajorAxis",C.semiMajorAxis,E,m,f),vi(Number,I,"semiMinorAxis",C.semiMinorAxis,E,m,f),vi(Number,I,"height",C.height,E,m,f),vi(tn,I,"heightReference",C.heightReference,E,m,f),vi(Number,I,"extrudedHeight",C.extrudedHeight,E,m,f),vi(tn,I,"extrudedHeightReference",C.extrudedHeightReference,E,m,f),vi(S1,I,"rotation",C.rotation,E,m,f),vi(S1,I,"stRotation",C.stRotation,E,m,f),vi(Number,I,"granularity",C.granularity,E,m,f),vi(Boolean,I,"fill",C.fill,E,m,f),Px(I,"material",C.material,E,m,f),vi(Boolean,I,"outline",C.outline,E,m,f),vi(qe,I,"outlineColor",C.outlineColor,E,m,f),vi(Number,I,"outlineWidth",C.outlineWidth,E,m,f),vi(Number,I,"numberOfVerticalLines",C.numberOfVerticalLines,E,m,f),vi(_s,I,"shadows",C.shadows,E,m,f),vi(wo,I,"distanceDisplayCondition",C.distanceDisplayCondition,E,m,f),vi(nA,I,"classificationType",C.classificationType,E,m,f),vi(Number,I,"zIndex",C.zIndex,E,m,f)}function H$t(o,A,f,m){let C=A.ellipsoid;if(!k(C))return;let E=Ch(C.interval),I=o.ellipsoid;k(I)||(o.ellipsoid=I=new zO),vi(Boolean,I,"show",C.show,E,m,f),vi(Z,I,"radii",C.radii,E,m,f),vi(Z,I,"innerRadii",C.innerRadii,E,m,f),vi(Number,I,"minimumClock",C.minimumClock,E,m,f),vi(Number,I,"maximumClock",C.maximumClock,E,m,f),vi(Number,I,"minimumCone",C.minimumCone,E,m,f),vi(Number,I,"maximumCone",C.maximumCone,E,m,f),vi(tn,I,"heightReference",C.heightReference,E,m,f),vi(Boolean,I,"fill",C.fill,E,m,f),Px(I,"material",C.material,E,m,f),vi(Boolean,I,"outline",C.outline,E,m,f),vi(qe,I,"outlineColor",C.outlineColor,E,m,f),vi(Number,I,"outlineWidth",C.outlineWidth,E,m,f),vi(Number,I,"stackPartitions",C.stackPartitions,E,m,f),vi(Number,I,"slicePartitions",C.slicePartitions,E,m,f),vi(Number,I,"subdivisions",C.subdivisions,E,m,f),vi(_s,I,"shadows",C.shadows,E,m,f),vi(wo,I,"distanceDisplayCondition",C.distanceDisplayCondition,E,m,f)}function V$t(o,A,f,m){let C=A.label;if(!k(C))return;let E=Ch(C.interval),I=o.label;k(I)||(o.label=I=new YO),vi(Boolean,I,"show",C.show,E,m,f),vi(String,I,"text",C.text,E,m,f),vi(String,I,"font",C.font,E,m,f),vi(fu,I,"style",C.style,E,m,f),vi(Number,I,"scale",C.scale,E,m,f),vi(Boolean,I,"showBackground",C.showBackground,E,m,f),vi(qe,I,"backgroundColor",C.backgroundColor,E,m,f),vi(tt,I,"backgroundPadding",C.backgroundPadding,E,m,f),vi(tt,I,"pixelOffset",C.pixelOffset,E,m,f),vi(Z,I,"eyeOffset",C.eyeOffset,E,m,f),vi(iu,I,"horizontalOrigin",C.horizontalOrigin,E,m,f),vi(on,I,"verticalOrigin",C.verticalOrigin,E,m,f),vi(tn,I,"heightReference",C.heightReference,E,m,f),vi(qe,I,"fillColor",C.fillColor,E,m,f),vi(qe,I,"outlineColor",C.outlineColor,E,m,f),vi(Number,I,"outlineWidth",C.outlineWidth,E,m,f),vi(no,I,"translucencyByDistance",C.translucencyByDistance,E,m,f),vi(no,I,"pixelOffsetScaleByDistance",C.pixelOffsetScaleByDistance,E,m,f),vi(no,I,"scaleByDistance",C.scaleByDistance,E,m,f),vi(wo,I,"distanceDisplayCondition",C.distanceDisplayCondition,E,m,f),vi(Number,I,"disableDepthTestDistance",C.disableDepthTestDistance,E,m,f)}function z$t(o,A,f,m){let C=A.model;if(!k(C))return;let E=Ch(C.interval),I=o.model;k(I)||(o.model=I=new nz),vi(Boolean,I,"show",C.show,E,m,f),vi(ete.default,I,"uri",C.gltf,E,m,f),vi(Number,I,"scale",C.scale,E,m,f),vi(Number,I,"minimumPixelSize",C.minimumPixelSize,E,m,f),vi(Number,I,"maximumScale",C.maximumScale,E,m,f),vi(Boolean,I,"incrementallyLoadTextures",C.incrementallyLoadTextures,E,m,f),vi(Boolean,I,"runAnimations",C.runAnimations,E,m,f),vi(Boolean,I,"clampAnimations",C.clampAnimations,E,m,f),vi(_s,I,"shadows",C.shadows,E,m,f),vi(tn,I,"heightReference",C.heightReference,E,m,f),vi(qe,I,"silhouetteColor",C.silhouetteColor,E,m,f),vi(Number,I,"silhouetteSize",C.silhouetteSize,E,m,f),vi(qe,I,"color",C.color,E,m,f),vi(Q1,I,"colorBlendMode",C.colorBlendMode,E,m,f),vi(Number,I,"colorBlendAmount",C.colorBlendAmount,E,m,f),vi(wo,I,"distanceDisplayCondition",C.distanceDisplayCondition,E,m,f);let x,y,v=C.nodeTransformations;if(k(v))if(Array.isArray(v))for(x=0,y=v.length;x-1;y--)f[y](I,o,A,m)}Kue=void 0}function eei(o){let A,f=o._documentPacket.clock;if(!k(f)){if(!k(o._clock)){let C=o._entityCollection.computeAvailability();if(!C.start.equals(Zr.MINIMUM_VALUE)){let E=C.start,I=C.stop,x=jt.secondsDifference(I,E),y=Math.round(x/120);return A=new yF,A.startTime=jt.clone(E),A.stopTime=jt.clone(I),A.clockRange=u0.LOOP_STOP,A.multiplier=y,A.currentTime=jt.clone(E),A.clockStep=vc.SYSTEM_CLOCK_MULTIPLIER,o._clock=A,!0}}return!1}k(o._clock)?A=o._clock.clone():(A=new yF,A.startTime=Zr.MINIMUM_VALUE.clone(),A.stopTime=Zr.MAXIMUM_VALUE.clone(),A.currentTime=Zr.MINIMUM_VALUE.clone(),A.clockRange=u0.LOOP_STOP,A.clockStep=vc.SYSTEM_CLOCK_MULTIPLIER,A.multiplier=1);let m=Ch(f.interval);return k(m)&&(A.startTime=m.start,A.stopTime=m.stop),k(f.currentTime)&&(A.currentTime=jt.fromIso8601(f.currentTime)),k(f.range)&&(A.clockRange=ae(u0[f.range],u0.LOOP_STOP)),k(f.step)&&(A.clockStep=ae(vc[f.step],vc.SYSTEM_CLOCK_MULTIPLIER)),k(f.multiplier)&&(A.multiplier=f.multiplier),A.equals(o._clock)?!1:(o._clock=A.clone(o._clock),!0)}function JJe(o,A,f,m){f=ae(f,ae.EMPTY_OBJECT);let C=A,E=f.sourceUri,I=f.credit;if(typeof I=="string"&&(I=new la(I)),o._credit=I,typeof A=="string"||A instanceof fr){A=fr.createIfNeeded(A),C=A.fetchJson(),E=ae(E,A.clone());let x=o._resourceCredits,y=A.credits;if(k(y)){let v=y.length;for(let w=0;w1;--j){if(R=De.PI_OVER_TWO-(j-1)*P,U=RL(-R,E,D,B,y,w,v,Q,M,U),N=RL(R+Math.PI,E,D,B,y,w,v,Q,M,N),A){for(L[F++]=U.x,L[F++]=U.y,L[F++]=U.z,ie=2*(j-1)+2,ee=1;ee1;--I){for(A[f++]=m++,A[f++]=m,A[f++]=E,C=2*I,x=0;xDe.PI&&(w.north=w.north>0?De.PI_OVER_TWO-De.EPSILON7:w.north,w.south=w.south<0?De.EPSILON7-De.PI_OVER_TWO:w.south,w.east=De.PI,w.west=-De.PI),w}function D1(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.center,f=ae(o.ellipsoid,gi.WGS84),m=o.semiMajorAxis,C=o.semiMinorAxis,E=ae(o.granularity,De.RADIANS_PER_DEGREE),I=ae(o.vertexFormat,wr.DEFAULT),x=ae(o.height,0),y=ae(o.extrudedHeight,x);this._center=Z.clone(A),this._semiMajorAxis=m,this._semiMinorAxis=C,this._ellipsoid=gi.clone(f),this._rotation=ae(o.rotation,0),this._stRotation=ae(o.stRotation,0),this._height=Math.max(y,x),this._granularity=E,this._vertexFormat=wr.clone(I),this._extrudedHeight=Math.min(y,x),this._shadowVolume=ae(o.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=o.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}D1.packedLength=Z.packedLength+gi.packedLength+wr.packedLength+9;D1.pack=function(o,A,f){return f=ae(f,0),Z.pack(o._center,A,f),f+=Z.packedLength,gi.pack(o._ellipsoid,A,f),f+=gi.packedLength,wr.pack(o._vertexFormat,A,f),f+=wr.packedLength,A[f++]=o._semiMajorAxis,A[f++]=o._semiMinorAxis,A[f++]=o._rotation,A[f++]=o._stRotation,A[f++]=o._height,A[f++]=o._granularity,A[f++]=o._extrudedHeight,A[f++]=o._shadowVolume?1:0,A[f]=ae(o._offsetAttribute,-1),A};var sKe=new Z,lKe=new gi,AKe=new wr,Kw={center:sKe,ellipsoid:lKe,vertexFormat:AKe,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};D1.unpack=function(o,A,f){A=ae(A,0);let m=Z.unpack(o,A,sKe);A+=Z.packedLength;let C=gi.unpack(o,A,lKe);A+=gi.packedLength;let E=wr.unpack(o,A,AKe);A+=wr.packedLength;let I=o[A++],x=o[A++],y=o[A++],v=o[A++],w=o[A++],Q=o[A++],M=o[A++],B=o[A++]===1,D=o[A];return k(f)?(f._center=Z.clone(m,f._center),f._ellipsoid=gi.clone(C,f._ellipsoid),f._vertexFormat=wr.clone(E,f._vertexFormat),f._semiMajorAxis=I,f._semiMinorAxis=x,f._rotation=y,f._stRotation=v,f._height=w,f._granularity=Q,f._extrudedHeight=M,f._shadowVolume=B,f._offsetAttribute=D===-1?void 0:D,f):(Kw.height=w,Kw.extrudedHeight=M,Kw.granularity=Q,Kw.stRotation=v,Kw.rotation=y,Kw.semiMajorAxis=I,Kw.semiMinorAxis=x,Kw.shadowVolume=B,Kw.offsetAttribute=D===-1?void 0:D,new D1(Kw))};D1.computeRectangle=function(o,A){o=ae(o,ae.EMPTY_OBJECT);let f=o.center,m=ae(o.ellipsoid,gi.WGS84),C=o.semiMajorAxis,E=o.semiMinorAxis,I=ae(o.granularity,De.RADIANS_PER_DEGREE),x=ae(o.rotation,0);return aKe(f,C,E,x,I,m,A)};D1.createGeometry=function(o){if(o._semiMajorAxis<=0||o._semiMinorAxis<=0)return;let A=o._height,f=o._extrudedHeight,m=!De.equalsEpsilon(A,f,0,De.EPSILON2);o._center=o._ellipsoid.scaleToGeodeticSurface(o._center,o._center);let C={center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,ellipsoid:o._ellipsoid,rotation:o._rotation,height:A,granularity:o._granularity,vertexFormat:o._vertexFormat,stRotation:o._stRotation},E;if(m)C.extrudedHeight=f,C.shadowVolume=o._shadowVolume,C.offsetAttribute=o._offsetAttribute,E=uei(C);else if(E=sei(C),k(o._offsetAttribute)){let I=E.attributes.position.values.length,x=o._offsetAttribute===vs.NONE?0:1,y=new Uint8Array(I/3).fill(x);E.attributes.applyOffset=new Br({componentDatatype:Mt.UNSIGNED_BYTE,componentsPerAttribute:1,values:y})}return new Bo({attributes:E.attributes,indices:E.indices,primitiveType:$r.TRIANGLES,boundingSphere:E.boundingSphere,offsetAttribute:o._offsetAttribute})};D1.createShadowVolume=function(o,A,f){let m=o._granularity,C=o._ellipsoid,E=A(m,C),I=f(m,C);return new D1({center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,ellipsoid:C,rotation:o._rotation,stRotation:o._stRotation,granularity:m,extrudedHeight:E,height:I,vertexFormat:wr.POSITION_ONLY,shadowVolume:!0})};function cei(o){let A=-o._stRotation;if(A===0)return[0,0,0,1,1,0];let f=Rx.computeEllipsePositions({center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,rotation:o._rotation,granularity:o._granularity},!1,!0).outerPositions,m=f.length/3,C=new Array(m);for(let x=0;x0){let D=Math.min(v,y);B=Math.round(y/D);let S=Math.min(B*v,y);for(M=0;M0&&(F=!0,R+=y-1),I0&&w!==S-1&&Q!==0&&Q!==P-1&&(X[G]=!0),G++;M=0;let Y,W;for(w=1;w=Fe&&w1||U>1))for(let ee=0;ee0;w-=v)ye=w*3,fe=s5(fe,re,ye,M,P),re+=6,C.st&&(W=l5(W,se,w*2,U),se+=4),f&&(ce+=3,G[ce++]=N[ye],G[ce++]=N[ye+1],G[ce++]=N[ye+2]),O&&(Y[me++]=1,me+=1);if(ie){let Fe=Ce;for(ye=Fe*3,w=0;w<2;w++)fe=s5(fe,re,ye,M,P),re+=6,C.st&&(W=l5(W,se,Fe*2,U),se+=4),f&&(ce+=3,G[ce++]=N[ye],G[ce++]=N[ye+1],G[ce++]=N[ye+2]),O&&(Y[me++]=1,me+=1)}else for(w=v-1;w>=0;w--)ye=w*3,fe=s5(fe,re,ye,M,P),re+=6,C.st&&(W=l5(W,se,w*2,U),se+=4),f&&(ce+=3,G[ce++]=N[ye],G[ce++]=N[ye+1],G[ce++]=N[ye+2]),O&&(Y[me++]=1,me+=1);let Be=gti(fe,C,x);C.st&&(Be.attributes.st=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:2,values:W})),f&&(Be.attributes.extrudeDirection=new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,values:G})),J&&(Be.attributes.applyOffset=new Br({componentDatatype:Mt.UNSIGNED_BYTE,componentsPerAttribute:1,values:Y}));let Me=fn.createTypedArray(de,Ae*6),He,ke,Ne,Pe;B=fe.length/3;let we=0;for(w=0;w0){k(m)&&(k(this.oldPrimitive)?C.remove(m):this.oldPrimitive=m);let x;k(this.depthFailAppearanceType)&&(k(this.depthFailMaterialProperty)&&(this.depthFailMaterial=h0.getValue(o,this.depthFailMaterialProperty,this.depthFailMaterial)),x=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),m=new pa({show:!1,asynchronous:!0,geometryInstances:I.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:x,shadows:this.shadows}),C.add(m),A=!1}else{k(m)&&(C.remove(m),m=void 0);let x=this.oldPrimitive;k(x)&&(C.remove(x),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=m,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(k(m)&&m.ready){m.show=!0,k(this.oldPrimitive)&&(C.remove(this.oldPrimitive),this.oldPrimitive=void 0),k(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof sa)&&(this.depthFailMaterial=h0.getValue(o,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let I=this.updatersWithAttributes.values,x=I.length,y=this.waitingOnCreate;for(E=0;E=0;m--){let C=o[m];if(C.remove(A))return C.updaters.length===0&&(o.splice(m,1),C.destroy()),!0}return!1}D4.prototype.remove=function(o){lFe(this._solidItems,o)||lFe(this._translucentItems,o)};function AFe(o,A,f){let m=!1,C=A.length;for(let E=0;E0)for(E=0;E=0;E--){let I=A[E];if(I.invalidated){A.splice(E,1);let x=I.updaters.values,y=x.length;for(let v=0;v0){k(f)&&(k(this.oldPrimitive)?m.remove(f):this.oldPrimitive=f),this.material=h0.getValue(o,this.materialProperty,this.material);let I;k(this.depthFailMaterialProperty)&&(this.depthFailMaterial=h0.getValue(o,this.depthFailMaterialProperty,this.depthFailMaterial),I=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),f=new pa({show:!1,asynchronous:!0,geometryInstances:C.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:I,shadows:this.shadows}),m.add(f),A=!1}else{k(f)&&(m.remove(f),f=void 0);let I=this.oldPrimitive;k(I)&&(m.remove(I),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=f,this.createPrimitive=!1}else if(k(f)&&f.ready){f.show=!0,k(this.oldPrimitive)&&(m.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=h0.getValue(o,this.materialProperty,this.material),this.primitive.appearance.material=this.material,k(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof sa)&&(this.depthFailMaterial=h0.getValue(o,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let I=this.updatersWithAttributes.values,x=I.length;for(E=0;E=0;m--){let C=A[m];if(C.remove(o)){C.updaters.length===0&&(A.splice(m,1),C.destroy());break}}};M4.prototype.update=function(o){let A,f=this._items,m=f.length;for(A=m-1;A>=0;A--){let E=f[A];if(E.invalidated){f.splice(A,1);let I=E.updaters.values,x=I.length;for(let y=0;y0)k(m)&&(k(this.oldPrimitive)?C.remove(m):this.oldPrimitive=m),m=new sP({show:!1,asynchronous:!0,geometryInstances:I.slice(),classificationType:this.classificationType}),C.add(m,this.zIndex),A=!1;else{k(m)&&(C.remove(m),m=void 0);let x=this.oldPrimitive;k(x)&&(C.remove(x),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=m,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(k(m)&&m.ready){m.show=!0,k(this.oldPrimitive)&&(C.remove(this.oldPrimitive),this.oldPrimitive=void 0);let I=this.updatersWithAttributes.values,x=I.length,y=this.waitingOnCreate;for(E=0;E=0;--A){let I=C[A];I.isDirty&&(m=C[A].update(o)&&m,I.isDirty=!1),I.geometry.length===0&&C.splice(A,1)}return m};T4.prototype.getBoundingSphere=function(o,A){let f=this._batches,m=f.length;for(let C=0;C0)k(f)&&(k(this.oldPrimitive)?m.remove(f):this.oldPrimitive=f),this.material=h0.getValue(o,this.materialProperty,this.material),f=new sP({show:!1,asynchronous:!0,geometryInstances:C.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),m.add(f,this.zIndex),A=!1;else{k(f)&&(m.remove(f),f=void 0);let I=this.oldPrimitive;k(I)&&(m.remove(I),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=f,this.createPrimitive=!1}else if(k(f)&&f.ready){f.show=!0,k(this.oldPrimitive)&&(m.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=h0.getValue(o,this.materialProperty,this.material),this.primitive.appearance.material=this.material;let I=this.updatersWithAttributes.values,x=I.length;for(E=0;E=0;m--){let C=A[m];if(C.remove(o)){C.updaters.length===0&&(A.splice(m,1),C.destroy());break}}};P4.prototype.update=function(o){let A,f=this._items,m=f.length;for(A=m-1;A>=0;A--){let E=f[A];if(E.invalidated){f.splice(A,1);let I=E.updaters.values,x=I.length;for(let y=0;y0)k(m)&&(k(this.oldPrimitive)?C.remove(m):this.oldPrimitive=m),m=new pa({show:!1,asynchronous:!0,geometryInstances:I.slice(),appearance:new ma({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),C.add(m),A=!1;else{k(m)&&(C.remove(m),m=void 0);let x=this.oldPrimitive;k(x)&&(C.remove(x),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=m,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(k(m)&&m.ready){m.show=!0,k(this.oldPrimitive)&&(C.remove(this.oldPrimitive),this.oldPrimitive=void 0);let I=this.updatersWithAttributes.values,x=I.length,y=this.waitingOnCreate;for(E=0;E0)for(Q=!0,A=0;A0)for(Q=!0,A=0;A0)for(I=new Array(C),m=0;m0)for(x=new Array(C),m=0;m0)for(I=new Array(C),m=0;m0)for(x=new Array(C),m=0;m-1;x--)y=I[x],v=y.id,w=this._updaterSets.get(v),w.entity===y?w.forEach(function(S){Q._removeUpdater(S),Q._insertUpdaterIntoBatch(o,S)}):(C.push(y),f.push(y));for(x=C.length-1;x>-1;x--)y=C[x],v=y.id,w=this._updaterSets.get(v),w.forEach(this._removeUpdater.bind(this)),w.destroy(),this._updaterSets.remove(v),this._subscriptions.get(v)(),this._subscriptions.remove(v);for(x=f.length-1;x>-1;x--)y=f[x],v=y.id,w=new sY(y,this._scene),this._updaterSets.set(v,w),w.forEach(function(S){Q._insertUpdaterIntoBatch(o,S)}),this._subscriptions.set(v,w.geometryChanged.addEventListener(Av._onGeometryChanged,this));A.removeAll(),m.removeAll(),E.removeAll();let M=!0,B=this._batches,D=B.length;for(x=0;x-1;I--)y=f[I],x=y.id,m.remove(x)||(C.set(x,y),E.remove(x));for(I=A.length-1;I>-1;I--)y=A[I],x=y.id,C.remove(x)?E.set(x,y):m.set(x,y)};var Exe=Av,cii=1,hii="30px sans-serif",dii=fu.FILL,gii=qe.WHITE,fii=qe.BLACK,pii=1,mii=!1,Cii=new qe(.165,.165,.165,.8),Eii=new tt(7,5),Iii=tt.ZERO,xii=Z.ZERO,yii=tn.NONE,vii=iu.CENTER,_ii=on.CENTER,Bii=new Z,wii=new qe,bii=new qe,Qii=new qe,Sii=new tt,Dii=new Z,Mii=new tt,Tii=new no,Pii=new no,Rii=new no,Lii=new wo;function pFe(o){this.entity=o,this.label=void 0,this.index=void 0}function U2(o,A){A.collectionChanged.addEventListener(U2.prototype._onCollectionChanged,this),this._cluster=o,this._entityCollection=A,this._items=new mo,this._onCollectionChanged(A,A.values,[],[])}U2.prototype.update=function(o){let A=this._items.values,f=this._cluster;for(let m=0,C=A.length;m-1;C--)E=A[C],k(E._label)&&k(E._position)&&I.set(E.id,new pFe(E));for(C=m.length-1;C>-1;C--)E=m[C],k(E._label)&&k(E._position)?I.contains(E.id)||I.set(E.id,new pFe(E)):(Zue(I.get(E.id),E,x),I.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],Zue(I.get(E.id),E,x),I.remove(E.id)};function Zue(o,A,f){k(o)&&(o.label=void 0,f.removeLabel(A))}var Ixe=U2;async function Fii(o,A,f){return k(o._readyPromise)?await o._readyPromise:k(o.readyPromise)&&await o.readyPromise,Uii(o,A,f)}function Nii(o,A){let f=o[0],m=f.terrainProvider.requestTileGeometry(f.x,f.y,f.level);if(!m)return!1;let C=m.then(Oii(f)).catch(Gii(f));return o.shift(),A.push(C),!0}function kii(o){return new Promise(function(A){setTimeout(A,o)})}function $ue(o,A){return o.length?Nii(o,A)?$ue(o,A):kii(100).then(()=>$ue(o,A)):Promise.resolve()}function Uii(o,A,f){let m=o.tilingScheme,C,E=[],I={};for(C=0;C0&&await XKe(o,I),A}var bB=XKe,Hii=1,Vii=0,zii=!0,Yii=!0,Jii=_s.ENABLED,Kii=tn.NONE,Wii=qe.RED,qii=0,jii=qe.WHITE,Xii=Q1.HIGHLIGHT,Zii=.5,$ii=new tt(1,1),eri=new Re,tri=new Re,CFe=new qe,EFe=new Array(4),iri=new Z;function P1(o,A){A.collectionChanged.addEventListener(P1.prototype._onCollectionChanged,this),this._scene=o,this._primitives=o.primitives,this._entityCollection=A,this._modelHash={},this._entitiesToVisualize=new mo,this._onCollectionChanged(A,A.values,[],[])}async function rri(o,A,f,m){let C=o._primitives,E=o._modelHash;try{let I=await yv.fromGltfAsync({url:f,incrementallyLoadTextures:m,scene:o._scene});if(o.isDestroyed()||!k(E[A.id]))return;I.id=A,C.add(I),E[A.id].modelPrimitive=I,I.errorEvent.addEventListener(x=>{k(E[A.id])&&(console.log(x),x.name!=="TextureError"&&I.incrementallyLoadTextures&&(E[A.id].loadFailed=!0))})}catch(I){if(o.isDestroyed()||!k(E[A.id]))return;console.log(I),E[A.id].loadFailed=!0}}P1.prototype.update=function(o){let A=this._entitiesToVisualize.values,f=this._modelHash,m=this._primitives;for(let C=0,E=A.length;C-1;m--)ece(this,o[m],A,f);return ar(this)};P1._sampleTerrainMostDetailed=bB;var A5=new Z,IFe=new Lt;P1.prototype.getBoundingSphere=function(o,A){let f=this._modelHash[o.id];if(!k(f)||f.loadFailed)return Vn.FAILED;let m=f.modelPrimitive;if(!k(m)||!m.show||!m.ready||!f.modelUpdated)return Vn.PENDING;let C=this._scene.globe,E=k(C)?C.terrainProvider:void 0,I=m.heightReference!==tn.NONE;if(k(C)&&I){let x=C.ellipsoid;if(k(E)&&(k(E._ready)?!E._ready:k(E.ready)&&!E.ready))return Vn.PENDING;let y=m.modelMatrix;A5.x=y[12],A5.y=y[13],A5.z=y[14];let v=x.cartesianToCartographic(A5);if(!k(E.availability)){m.heightReference===tn.CLAMP_TO_GROUND&&(v.height=0);let Q=x.cartographicToCartesian(v);return si.clone(m.boundingSphere,A),A.center=Q,Vn.DONE}let w=this._modelHash[o.id].clampedBoundingSphere;return this._modelHash[o.id].sampleTerrainFailed?(this._modelHash[o.id].sampleTerrainFailed=!1,Vn.FAILED):k(w)?(si.clone(w,A),this._modelHash[o.id].clampedBoundingSphere=void 0,Vn.DONE):(w=new si,this._modelHash[o.id].awaitingSampleTerrain||(Lt.clone(v,IFe),this._modelHash[o.id].awaitingSampleTerrain=!0,P1._sampleTerrainMostDetailed(E,[IFe]).then(Q=>{if(this.isDestroyed())return;this._modelHash[o.id].awaitingSampleTerrain=!1;let M=Q[0];m.heightReference===tn.RELATIVE_TO_GROUND&&(M.height+=v.height),x.cartographicToCartesian(M,A5),si.clone(m.boundingSphere,w),w.center=A5,this._modelHash[o.id].clampedBoundingSphere=si.clone(w)}).catch(Q=>{this.isDestroyed()||(this._modelHash[o.id].sampleTerrainFailed=!0,this._modelHash[o.id].awaitingSampleTerrain=!1)})),Vn.PENDING)}return si.clone(m.boundingSphere,A),Vn.DONE};P1.prototype._onCollectionChanged=function(o,A,f,m){let C,E,I=this._entitiesToVisualize,x=this._modelHash,y=this._primitives;for(C=A.length-1;C>-1;C--)E=A[C],k(E._model)&&k(E._position)&&I.set(E.id,E);for(C=m.length-1;C>-1;C--)E=m[C],k(E._model)&&k(E._position)?(nri(E,x),I.set(E.id,E)):(ece(this,E,x,y),I.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],ece(this,E,x,y),I.remove(E.id)};function ece(o,A,f,m){let C=f[A.id];k(C)&&(m.removeAndDestroy(C.modelPrimitive),delete f[A.id])}function nri(o,A){let f=A[o.id];k(f)&&(f.nodeTransformationsScratch={},f.articulationsScratch={})}var xxe=P1,ori=60,ari=1,ZKe=new cs,mle=new cs,Cle=new cs;function xFe(o){this.entity=o,this.polyline=void 0,this.index=void 0,this.updater=void 0}function sri(o,A,f,m,C,E,I,x,y){let v=x,w;w=o.getValueInReferenceFrame(A,E,y[v]),k(w)&&(y[v++]=w);let Q=!k(C)||jt.lessThanOrEquals(C,A)||jt.greaterThanOrEquals(C,f),M=0,B=m.length,D=m[M],S=f,P=!1,R,T,L;for(;M0&&!P){let F=m[M+1],U=jt.secondsDifference(F,D);P=U>I,P&&(R=Math.ceil(U/I),T=0,L=U/Math.max(R,2),R=Math.max(R-1,1))}if(P&&T0){let M=Q.pop();y=this._polylineCollection.get(M),A.index=M}else A.index=this._polylineCollection.length,y=this._polylineCollection.add();y.id=f,A.polyline=y}let w=Ct.getValueOrDefault(m._resolution,o,ori);y.show=!0,y.positions=e7e(C,E,I,o,this._referenceFrame,w,y.positions.slice()),y.material=h0.getValue(o,m._material,y.material),y.width=Ct.getValueOrDefault(m._width,o,ari),y.distanceDisplayCondition=Ct.getValueOrUndefined(m._distanceDisplayCondition,o,y.distanceDisplayCondition)};AY.prototype.removeObject=function(o){let A=o.polyline;k(A)&&(this._unusedIndexes.push(o.index),o.polyline=void 0,A.show=!1,A.id=void 0,o.index=void 0)};AY.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),ar(this)};function O2(o,A){A.collectionChanged.addEventListener(O2.prototype._onCollectionChanged,this),this._scene=o,this._updaters={},this._entityCollection=A,this._items=new mo,this._onCollectionChanged(A,A.values,[],[])}O2.prototype.update=function(o){let A=this._updaters;for(let m in A)A.hasOwnProperty(m)&&A[m].update(o);let f=this._items.values;if(f.length===0&&k(this._updaters)&&Object.keys(this._updaters).length>0){for(let m in A)A.hasOwnProperty(m)&&A[m].destroy();this._updaters={}}for(let m=0,C=f.length;m-1;C--)E=A[C],k(E._path)&&k(E._position)&&x.set(E.id,new xFe(E));for(C=m.length-1;C>-1;C--)E=m[C],k(E._path)&&k(E._position)?x.contains(E.id)||x.set(E.id,new xFe(E)):(I=x.get(E.id),k(I)&&(k(I.updater)&&I.updater.removeObject(I),x.remove(E.id)));for(C=f.length-1;C>-1;C--)E=f[C],I=x.get(E.id),k(I)&&(k(I.updater)&&I.updater.removeObject(I),x.remove(E.id))};O2._subSample=e7e;var yxe=O2,vFe=qe.WHITE,_Fe=qe.BLACK,BFe=0,wFe=1,bFe=0,QFe=new qe,hri=new Z,SFe=new qe,DFe=new no,MFe=new no,TFe=new wo;function PFe(o){this.entity=o,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function G2(o,A){A.collectionChanged.addEventListener(G2.prototype._onCollectionChanged,this),this._cluster=o,this._entityCollection=A,this._items=new mo,this._onCollectionChanged(A,A.values,[],[])}G2.prototype.update=function(o){let A=this._items.values,f=this._cluster;for(let m=0,C=A.length;m0?(v.scale=1,B=B||R!==E.outlineWidth||T!==E.pixelSize||!qe.equals(S,E.color)||!qe.equals(P,E.outlineColor)):(v.scale=T/50,T=50,B=B||R!==E.outlineWidth||!qe.equals(S,E.color)||!qe.equals(P,E.outlineColor)),B){E.color=qe.clone(S,E.color),E.outlineColor=qe.clone(P,E.outlineColor),E.pixelSize=T,E.outlineWidth=R;let L=S.alpha,F=S.toCssColorString(),U=P.toCssColorString(),N=JSON.stringify([F,T,U,R]);v.setImage(N,Mee(L,F,U,R,T))}D&&v._updateClamping()}}return!0};G2.prototype.getBoundingSphere=function(o,A){let f=this._items.get(o.id);if(!k(f)||!(k(f.pointPrimitive)||k(f.billboard)))return Vn.FAILED;if(k(f.pointPrimitive))A.center=Z.clone(f.pointPrimitive.position,A.center);else{let m=f.billboard;if(!k(m._clampedPosition))return Vn.PENDING;A.center=Z.clone(m._clampedPosition,A.center)}return A.radius=0,Vn.DONE};G2.prototype.isDestroyed=function(){return!1};G2.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(G2.prototype._onCollectionChanged,this);let o=this._entityCollection.values;for(let A=0;A-1;C--)E=A[C],k(E._point)&&k(E._position)&&I.set(E.id,new PFe(E));for(C=m.length-1;C>-1;C--)E=m[C],k(E._point)&&k(E._position)?I.contains(E.id)||I.set(E.id,new PFe(E)):(WH(I.get(E.id),E,x),I.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],WH(I.get(E.id),E,x),I.remove(E.id)};function WH(o,A,f){if(k(o)){let m=o.pointPrimitive;if(k(m)){o.pointPrimitive=void 0,f.removePoint(A);return}let C=o.billboard;k(C)&&(o.billboard=void 0,f.removeBillboard(A))}}var vxe=G2,dri=new bA(0),MX={},RFe=new qe,gri=new sa(qe.WHITE),fri=new bA(!0),pri=new bA(_s.DISABLED),mri=new bA(new wo),Cri=new bA(nA.BOTH);function Eri(){this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function Iri(){this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function QB(o,A){this._entity=o,this._scene=A,this._entitySubscription=o.definitionChanged.addEventListener(QB.prototype._onEntityPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._geometryChanged=new ir,this._showProperty=void 0,this._materialProperty=void 0,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._depthFailMaterialProperty=void 0,this._geometryOptions=new Eri,this._groundGeometryOptions=new Iri,this._id=`polyline-${o.id}`,this._clampToGround=!1,this._supportsPolylinesOnTerrain=Fu.supportsPolylinesOnTerrain(A),this._zIndex=0,this._onEntityPropertyChanged(o,"polyline",o.polyline,void 0)}Object.defineProperties(QB.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!k(this._entity.availability)&&Ct.isConstant(this._showProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},depthFailMaterialProperty:{get:function(){return this._depthFailMaterialProperty}},outlineEnabled:{value:!1},hasConstantOutline:{value:!0},outlineColorProperty:{value:void 0},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!1},geometryChanged:{get:function(){return this._geometryChanged}},arcType:{get:function(){return this._arcType}},clampToGround:{get:function(){return this._clampToGround&&this._supportsPolylinesOnTerrain}},zIndex:{get:function(){return this._zIndex}}});QB.prototype.isOutlineVisible=function(o){return!1};QB.prototype.isFilled=function(o){let A=this._entity,f=this._fillEnabled&&A.isAvailable(o)&&this._showProperty.getValue(o);return ae(f,!1)};QB.prototype.createFillGeometryInstance=function(o){let A=this._entity,f=A.isAvailable(o),m=new kl(f&&A.isShowing&&this._showProperty.getValue(o)),C=this._distanceDisplayConditionProperty.getValue(o),E=Eu.fromDistanceDisplayCondition(C),I={show:m,distanceDisplayCondition:E},x;return this._materialProperty instanceof sa&&(k(this._materialProperty.color)&&(this._materialProperty.color.isConstant||f)&&(x=this._materialProperty.color.getValue(o,RFe)),k(x)||(x=qe.WHITE),I.color=vo.fromColor(x)),this.clampToGround?new Un({id:A,geometry:new t$(this._groundGeometryOptions),attributes:I}):(k(this._depthFailMaterialProperty)&&this._depthFailMaterialProperty instanceof sa&&(k(this._depthFailMaterialProperty.color)&&(this._depthFailMaterialProperty.color.isConstant||f)&&(x=this._depthFailMaterialProperty.color.getValue(o,RFe)),k(x)||(x=qe.WHITE),I.depthFailColor=vo.fromColor(x)),new Un({id:A,geometry:new AS(this._geometryOptions),attributes:I}))};QB.prototype.createOutlineGeometryInstance=function(o){};QB.prototype.isDestroyed=function(){return!1};QB.prototype.destroy=function(){this._entitySubscription(),ar(this)};QB.prototype._onEntityPropertyChanged=function(o,A,f,m){if(!(A==="availability"||A==="polyline"))return;let C=this._entity.polyline;if(!k(C)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let E=C.positions,I=C.show;if(k(I)&&I.isConstant&&!I.getValue(Zr.MINIMUM_VALUE)||!k(E)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let x=C.zIndex,y=ae(C.material,gri),v=y instanceof sa;this._materialProperty=y,this._depthFailMaterialProperty=C.depthFailMaterial,this._showProperty=ae(I,fri),this._shadowsProperty=ae(C.shadows,pri),this._distanceDisplayConditionProperty=ae(C.distanceDisplayCondition,mri),this._classificationTypeProperty=ae(C.classificationType,Cri),this._fillEnabled=!0,this._zIndex=ae(x,dri);let w=C.width,Q=C.arcType,M=C.clampToGround,B=C.granularity;if(!E.isConstant||!Ct.isConstant(w)||!Ct.isConstant(Q)||!Ct.isConstant(B)||!Ct.isConstant(M)||!Ct.isConstant(x))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{let D=this._geometryOptions,S=E.getValue(Zr.MINIMUM_VALUE,D.positions);if(!k(S)||S.length<2){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let P;v&&(!k(this._depthFailMaterialProperty)||this._depthFailMaterialProperty instanceof sa)?P=op.VERTEX_FORMAT:P=vC.VERTEX_FORMAT,D.vertexFormat=P,D.positions=S,D.width=k(w)?w.getValue(Zr.MINIMUM_VALUE):void 0,D.arcType=k(Q)?Q.getValue(Zr.MINIMUM_VALUE):void 0,D.granularity=k(B)?B.getValue(Zr.MINIMUM_VALUE):void 0;let R=this._groundGeometryOptions;R.positions=S,R.width=D.width,R.arcType=D.arcType,R.granularity=D.granularity,this._clampToGround=k(M)?M.getValue(Zr.MINIMUM_VALUE):!1,!this._clampToGround&&k(x)&&Ro("Entity polylines must have clampToGround: true when using zIndex. zIndex will be ignored."),this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};QB.prototype.createDynamicUpdater=function(o,A){return new uY(o,A,this)};var u5={positions:void 0,granularity:void 0,height:void 0,ellipsoid:void 0};function uY(o,A,f){this._line=void 0,this._primitives=o,this._groundPrimitives=A,this._groundPolylinePrimitive=void 0,this._material=void 0,this._geometryUpdater=f,this._positions=[]}function t7e(o){if(k(o._line))return o._line;let A=o._geometryUpdater._scene.id,f=MX[A],m=o._primitives;!k(f)||f.isDestroyed()?(f=new AP,MX[A]=f,m.add(f)):m.contains(f)||m.add(f);let C=f.add();return C.id=o._geometryUpdater._entity,o._line=C,C}uY.prototype.update=function(o){let A=this._geometryUpdater,f=A._entity,m=f.polyline,C=m.positions,E=Ct.getValueOrUndefined(C,o,this._positions);A._clampToGround=Ct.getValueOrDefault(m._clampToGround,o,!1),A._groundGeometryOptions.positions=E,A._groundGeometryOptions.width=Ct.getValueOrDefault(m._width,o,1),A._groundGeometryOptions.arcType=Ct.getValueOrDefault(m._arcType,o,aa.GEODESIC),A._groundGeometryOptions.granularity=Ct.getValueOrDefault(m._granularity,o,9999);let I=this._groundPrimitives;if(k(this._groundPolylinePrimitive)&&(I.remove(this._groundPolylinePrimitive),this._groundPolylinePrimitive=void 0),A.clampToGround){if(!f.isShowing||!f.isAvailable(o)||!Ct.getValueOrDefault(m._show,o,!0)||!k(E)||E.length<2)return;let w=A.fillMaterialProperty,Q;if(w instanceof sa)Q=new op;else{let M=h0.getValue(o,w,this._material);Q=new vC({material:M,translucent:M.isTranslucent()}),this._material=M}this._groundPolylinePrimitive=I.add(new GO({geometryInstances:A.createFillGeometryInstance(o),appearance:Q,classificationType:A.classificationTypeProperty.getValue(o),asynchronous:!1}),Ct.getValueOrUndefined(A.zIndex,o)),k(this._line)&&(this._line.show=!1);return}let x=t7e(this);if(!f.isShowing||!f.isAvailable(o)||!Ct.getValueOrDefault(m._show,o,!0)){x.show=!1;return}if(!k(E)||E.length<2){x.show=!1;return}let y=aa.GEODESIC;y=Ct.getValueOrDefault(m._arcType,o,y);let v=A._scene.globe;y!==aa.NONE&&k(v)&&(u5.ellipsoid=v.ellipsoid,u5.positions=E,u5.granularity=Ct.getValueOrUndefined(m._granularity,o),u5.height=Vu.extractHeights(E,v.ellipsoid),y===aa.GEODESIC?E=Vu.generateCartesianArc(u5):E=Vu.generateCartesianRhumbArc(u5)),x.show=!0,x.positions=E.slice(),x.material=h0.getValue(o,A.fillMaterialProperty,x.material),x.width=Ct.getValueOrDefault(m._width,o,1),x.distanceDisplayCondition=Ct.getValueOrUndefined(m._distanceDisplayCondition,o,x.distanceDisplayCondition)};uY.prototype.getBoundingSphere=function(o){if(this._geometryUpdater.clampToGround){let A=this._groundPolylinePrimitive;if(k(A)&&A.show&&A.ready){let f=A.getGeometryInstanceAttributes(this._geometryUpdater._entity);if(k(f)&&k(f.boundingSphere))return si.clone(f.boundingSphere,o),Vn.DONE}return k(A)&&!A.ready?Vn.PENDING:Vn.DONE}else{let A=t7e(this);if(A.show&&A.positions.length>0)return si.fromPoints(A.positions,o),Vn.DONE}return Vn.FAILED};uY.prototype.isDestroyed=function(){return!1};uY.prototype.destroy=function(){let o=this._geometryUpdater._scene.id,A=MX[o];k(A)&&(A.remove(this._line),A.length===0&&(this._primitives.removeAndDestroy(A),delete MX[o])),k(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),ar(this)};var _xe=QB,xri=new qe,yri=new wo,vri=new wo;function SB(o,A,f,m,C){let E;f instanceof sa?E=op:E=vC,this.orderedGroundPrimitives=o,this.classificationType=A,this.appearanceType=E,this.materialProperty=f,this.updaters=new mo,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new mo,this.material=void 0,this.updatersWithAttributes=new mo,this.attributes=new mo,this.invalidated=!1,this.removeMaterialSubscription=f.definitionChanged.addEventListener(SB.prototype.onMaterialChanged,this),this.subscriptions=new mo,this.showsUpdated=new mo,this.zIndex=m,this._asynchronous=C}SB.prototype.onMaterialChanged=function(){this.invalidated=!0};SB.prototype.isMaterial=function(o){let A=this.materialProperty,f=o.fillMaterialProperty;return f===A||f instanceof sa&&A instanceof sa?!0:k(A)&&A.equals(f)};SB.prototype.add=function(o,A,f){let m=A.id;if(this.updaters.set(m,A),this.geometry.set(m,f),!A.hasConstantFill||!A.fillMaterialProperty.isConstant||!Ct.isConstant(A.distanceDisplayConditionProperty))this.updatersWithAttributes.set(m,A);else{let C=this;this.subscriptions.set(m,A.entity.definitionChanged.addEventListener(function(E,I,x,y){I==="isShowing"&&C.showsUpdated.set(A.id,A)}))}this.createPrimitive=!0};SB.prototype.remove=function(o){let A=o.id;if(this.createPrimitive=this.geometry.remove(A)||this.createPrimitive,this.updaters.remove(A)){this.updatersWithAttributes.remove(A);let f=this.subscriptions.get(A);return k(f)&&(f(),this.subscriptions.remove(A)),!0}return!1};SB.prototype.update=function(o){let A=!0,f=this.primitive,m=this.orderedGroundPrimitives,C=this.geometry.values,E;if(this.createPrimitive){if(C.length>0)k(f)&&(k(this.oldPrimitive)?m.remove(f):this.oldPrimitive=f),f=new GO({show:!1,asynchronous:this._asynchronous,geometryInstances:C.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===vC&&(this.material=h0.getValue(o,this.materialProperty,this.material),f.appearance.material=this.material),m.add(f,this.zIndex),A=!1;else{k(f)&&(m.remove(f),f=void 0);let I=this.oldPrimitive;k(I)&&(m.remove(I),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=f,this.createPrimitive=!1}else if(k(f)&&f.ready){f.show=!0,k(this.oldPrimitive)&&(m.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===vC&&(this.material=h0.getValue(o,this.materialProperty,this.material),this.primitive.appearance.material=this.material);let I=this.updatersWithAttributes.values,x=I.length;for(E=0;E=0;m--){let C=A[m];if(C.remove(o)){C.updaters.length===0&&(A.splice(m,1),C.destroy());break}}};L4.prototype.update=function(o){let A,f=this._items,m=f.length;for(A=m-1;A>=0;A--){let E=f[A];if(E.invalidated){f.splice(A,1);let I=E.updaters.values,x=I.length;for(let y=0;y-1;x--)y=I[x],v=y.id,w=this._updaters.get(v),w.entity===y?(LFe(this,w),FFe(this,o,w)):(C.push(y),f.push(y));for(x=C.length-1;x>-1;x--)y=C[x],v=y.id,w=this._updaters.get(v),LFe(this,w),w.destroy(),this._updaters.remove(v),this._subscriptions.get(v)(),this._subscriptions.remove(v);for(x=f.length-1;x>-1;x--)y=f[x],v=y.id,w=new _xe(y,this._scene),this._updaters.set(v,w),FFe(this,o,w),this._subscriptions.set(v,w.geometryChanged.addEventListener(R1._onGeometryChanged,this));A.removeAll(),m.removeAll(),E.removeAll();let Q=!0,M=this._batches,B=M.length;for(x=0;x-1;I--)y=f[I],x=y.id,m.remove(x)||(C.set(x,y),E.remove(x));for(I=A.length-1;I>-1;I--)y=A[I],x=y.id,C.remove(x)?E.set(x,y):m.set(x,y)};var wxe=R1;function _v(o){sP.initializeTerrainHeights(),GO.initializeTerrainHeights();let A=o.scene,f=o.dataSourceCollection;this._eventHelper=new Lm,this._eventHelper.add(f.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(f.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(f.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(A.postRender,this._postRender,this),this._dataSourceCollection=f,this._scene=A,this._visualizersCallback=ae(o.visualizersCallback,_v.defaultVisualizersCallback);let m=!1,C=new I1,E=new I1;f.length>0&&(A.primitives.add(C),A.groundPrimitives.add(E),m=!0),this._primitives=C,this._groundPrimitives=E;for(let v=0,w=f.length;vDri*I.maximumRadius?(Q=OFe,Z.normalize(y,Q),Z.negate(Q,Q),B=Z.clone(Z.UNIT_Z,Ele),M=Z.cross(B,Q,wW),Z.magnitude(M)>De.EPSILON7&&(Z.normalize(Q,Q),Z.normalize(M,M),B=Z.cross(Q,M,Ele),Z.normalize(B,B),v=!0)):Z.equalsEpsilon(y,T,De.EPSILON7)||(B=OFe,Z.normalize(N,B),Z.normalize(H,H),M=Z.cross(B,H,Ele),w&&(M=Z.multiplyByScalar(M,-1,M)),Z.equalsEpsilon(M,Z.ZERO,De.EPSILON7)||(Q=Z.cross(M,B,wW),Nt.multiplyByVector(U,Q,Q),Nt.multiplyByVector(U,M,M),Nt.multiplyByVector(U,B,B),Z.normalize(Q,Q),Z.normalize(M,M),Z.normalize(B,B),v=!0))}}k(o.boundingSphere)&&(y=o.boundingSphere.center);let D,S,P;m&&(D=Z.clone(A.position,Ile),S=Z.clone(A.direction,GFe),P=Z.clone(A.up,HFe));let R=Sri;v?(R[0]=Q.x,R[1]=Q.y,R[2]=Q.z,R[3]=0,R[4]=M.x,R[5]=M.y,R[6]=M.z,R[7]=0,R[8]=B.x,R[9]=B.y,R[10]=B.z,R[11]=0,R[12]=y.x,R[13]=y.y,R[14]=y.z,R[15]=0):Vr.eastNorthUpToFixedFrame(y,I,R),A._setTransform(R),m&&(Z.clone(D,A.position),Z.clone(S,A.direction),Z.clone(P,A.up),Z.cross(S,P,A.right))}if(f){let v=x===ii.SCENE2D||Z.equals(o._offset3D,Z.ZERO)?void 0:o._offset3D;A.lookAtTransform(A.transform,v)}}function o9(o,A,f){this.entity=o,this.scene=A,this.ellipsoid=ae(f,gi.WGS84),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new Z,this._defaultOffset3D=void 0,this._offset3D=new Z}Object.defineProperties(o9,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(o){this._defaultOffset3D=Z.clone(o,new Z)}}});o9.defaultOffset3D=new Z(-14e3,3500,3500);var bW=new sI,Tri=new Z;o9.prototype.update=function(o,A){let f=this.scene,m=this.ellipsoid,C=f.mode;if(C===ii.MORPHING)return;let E=this.entity,I=E.position;if(!k(I))return;let x=E!==this._lastEntity,y=C!==this._mode,v=f.camera,w=x||y,Q=!0;if(x){let M=E.viewFrom,B=k(M);if(!B&&k(A)){bW.pitch=-De.PI_OVER_FOUR,bW.range=0;let D=I.getValue(o,Tri);if(k(D)){let S=2-1/Math.max(1,Z.magnitude(D)/m.maximumRadius);bW.pitch*=S}v.viewBoundingSphere(A,bW),this.boundingSphere=A,w=!1,Q=!1}else(!B||!k(M.getValue(o,this._offset3D)))&&Z.clone(o9._defaultOffset3D,this._offset3D)}else!y&&this._mode!==ii.SCENE2D&&Z.clone(v.position,this._offset3D);this._lastEntity=E,this._mode=C,Mri(this,v,w,Q,I,o,m)};var bxe=o9,tce=32,Pri="http://www.opengis.net/kml/2.2",H_="http://www.google.com/kml/ext/2.2",Rri="http://www.w3.org/2000/xmlns/";function ute(o){this._files={},this._promises=[],this._count=0,this._modelCallback=o}var Lri=/^data:image\/([^,;]+)/;ute.prototype.texture=function(o){let A=this,f;if(typeof o=="string"||o instanceof fr){if(o=fr.createIfNeeded(o),!o.isDataUri)return o.url;let m=o.url.match(Lri);f=`texture_${++this._count}`,k(m)&&(f+=`.${m[1]}`);let C=o.fetchBlob().then(function(E){A._files[f]=E});return this._promises.push(C),f}if(o instanceof HTMLCanvasElement){f=`texture_${++this._count}.png`;let m=new Promise(C=>{o.toBlob(function(E){A._files[f]=E,C()})});return this._promises.push(m),f}return""};function Fri(o,A){return function(f){o._files[A]=f}}ute.prototype.model=function(o,A){let f=this._modelCallback;if(!k(f))throw new Ti("Encountered a model entity while exporting to KML, but no model callback was supplied.");let m={},C=f(o,A,m);for(let E in m)if(m.hasOwnProperty(E)){let I=Promise.resolve(m[E]);this._promises.push(I),I.then(Fri(this,E))}return C};Object.defineProperties(ute.prototype,{promise:{get:function(){return Promise.all(this._promises)}},files:{get:function(){return this._files}}});function cte(o){this._time=o}cte.prototype.get=function(o,A,f){let m;return k(o)&&(m=k(o.getValue)?o.getValue(this._time,f):o),ae(m,A)};cte.prototype.getColor=function(o,A){let f=this.get(o,A);if(k(f))return OL(f)};cte.prototype.getMaterialType=function(o){if(k(o))return o.getType(this._time)};function Qxe(){this._ids={},this._styles={},this._count=0}Qxe.prototype.get=function(o){let A=this._ids,f=o.innerHTML;if(k(A[f]))return A[f];let m=`style-${++this._count}`;return o.setAttribute("id",m),m=`#${m}`,A[f]=m,this._styles[f]=o,m};Qxe.prototype.save=function(o){let A=this._styles,f=o.childNodes[0];for(let m in A)A.hasOwnProperty(m)&&o.insertBefore(A[m],f)};function i7e(){this._ids={}}i7e.prototype.get=function(o){if(!k(o))return this.get(Kl());let A=this._ids;return k(A[o])?`${o.toString()}-${++A[o]}`:(A[o]=0,o)};function Sxe(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.entities,f=ae(o.kmz,!1),m=Sxe._createState(o),C=A.values.filter(function(v){return!k(v.parent)}),E=m.kmlDoc,I=E.documentElement;I.setAttributeNS(Rri,"xmlns:gx",H_);let x=E.createElement("Document");I.appendChild(x),n7e(m,x,C),m.styleCache.save(x);let y=m.externalFileHandler;return y.promise.then(function(){let v=new XMLSerializer().serializeToString(m.kmlDoc);return f?Nri(v,y.files):{kml:v,externalFiles:y.files}})}function Nri(o,A){let f=Ja("ThirdParty/Workers/z-worker-pako.js");D0e({workerScripts:{deflate:[f,"./pako_deflate.min.js"],inflate:[f,"./pako_inflate.min.js"]}});let m=new w8e,C=new lTt(m);return C.add("doc.kml",new MMt(o)).then(function(){let E=Object.keys(A);return r7e(C,E,A,0)}).then(function(){return C.close()}).then(function(E){return{kmz:E}})}function r7e(o,A,f,m){if(A.length===m)return;let C=A[m];return o.add(C,new L0e(f[C])).then(function(){return r7e(o,A,f,m+1)})}Sxe._createState=function(o){let A=o.entities,f=new Qxe,m=A.computeAvailability(),C=k(o.time)?o.time:m.start,E=ae(o.defaultAvailability,m),I=ae(o.sampleDuration,60);E.start===Zr.MINIMUM_VALUE?E.stop===Zr.MAXIMUM_VALUE?E=new cs:jt.addSeconds(E.stop,-10*I,E.start):E.stop===Zr.MAXIMUM_VALUE&&jt.addSeconds(E.start,10*I,E.stop);let x=new ute(o.modelCallback);return{kmlDoc:document.implementation.createDocument(Pri,"kml"),ellipsoid:ae(o.ellipsoid,gi.WGS84),idManager:new i7e,styleCache:f,externalFileHandler:x,time:C,valueGetter:new cte(C),sampleDuration:I,defaultAvailability:new vm([E])}};function n7e(o,A,f){let m=o.kmlDoc,C=o.styleCache,E=o.valueGetter,I=o.idManager,x=f.length,y,v,w;for(let Q=0;Q0){let R=m.createElement("Placemark");R.setAttribute("id",I.get(M.id));let T=M.name,L=M.label;if(k(L)){let U=m.createElement("LabelStyle"),N=E.get(L.text);T=k(N)&&N.length>0?N:T;let H=E.getColor(L.fillColor);k(H)&&(U.appendChild(Ko(m,"color",H)),U.appendChild(Ko(m,"colorMode","normal")));let J=E.get(L.scale);k(J)&&U.appendChild(Ko(m,"scale",J)),w.push(U)}R.appendChild(Ko(m,"name",T)),R.appendChild(Ko(m,"visibility",M.show)),R.appendChild(Ko(m,"description",M.description)),k(B)&&R.appendChild(B),A.appendChild(R);let F=w.length;if(F>0){let U=m.createElement("Style");for(let N=0;N1){let U=m.createElement("MultiGeometry");for(let N=0;N0){let R=m.createElement("Folder");R.setAttribute("id",I.get(M.id)),R.appendChild(Ko(m,"name",M.name)),R.appendChild(Ko(m,"visibility",M.show)),R.appendChild(Ko(m,"description",M.description)),A.appendChild(R),n7e(o,R,P)}}}var UE=new Z,SC=new Lt,M_=new jt;function kri(o,A,f,m){let C=o.kmlDoc,E=o.ellipsoid,I=o.valueGetter,x=ae(A.billboard,A.point);if(!k(x)&&!k(A.path))return;let y=A.position;if(!y.isConstant){o7e(o,A,x,f,m);return}I.get(y,void 0,UE);let v=Ko(C,"coordinates",UL(UE,E)),w=C.createElement("Point"),Q=C.createElement("altitudeMode");Q.appendChild(uF(o,x.heightReference)),w.appendChild(Q),w.appendChild(v),f.push(w);let M=x instanceof qS?s7e(o,x):a7e(o,x);m.push(M)}function o7e(o,A,f,m,C){let E=o.kmlDoc,I=o.ellipsoid,x=o.valueGetter,y,v=A.position,w=!0;v instanceof dx?(y=v.intervals,w=!1):y=ae(A.availability,o.defaultAvailability);let Q=f instanceof nz,M,B,D,S=[];for(M=0;M1){let R=E.createElementNS(H_,"MultiTrack");for(M=0;M0&&(E=f);let I=A.coordinates,x=C.get(I),y=[],v=[hi.northeast,hi.southeast,hi.southwest,hi.northwest];for(let B=0;B<4;++B)v[B](x,SC),y.push(`${De.toDegrees(SC.longitude)},${De.toDegrees(SC.latitude)},${E}`);let w=Ko(m,"coordinates",y.join(" ")),Q=m.createElement("outerBoundaryIs"),M=m.createElement("LinearRing");return M.appendChild(w),Q.appendChild(M),[Q]}function VFe(o,A,f,m){let C=o.kmlDoc,E=o.ellipsoid,I=[],x=A.length;for(let w=0;w0&&(E=f);let x=[],y=A.hierarchy,v=C.get(y),w=Array.isArray(v)?v:v.positions,Q=m.createElement("outerBoundaryIs");Q.appendChild(VFe(o,w,E,I)),x.push(Q);let M=v.holes;if(k(M)){let B=M.length;for(let D=0;D0&&y.appendChild(Ko(E,"extrude",!0));let w=x?Ori(o,A,v):Gri(o,A,v),Q=w.length;for(let P=0;P=0;--m)A+=f[m]<16?`0${f[m].toString(16)}`:f[m].toString(16);return A}var A7e=Sxe,u7e;typeof DOMParser<"u"&&(u7e=new DOMParser);var zri=new ZGe({stripPrefix:!1,email:!1,replaceFn:function(o,A){return A.urlMatchType==="scheme"||A.urlMatchType==="www"}}),TX=32,YFe=2414016,JFe=1,KFe=16093e3,WFe=.1,Yri=[null,void 0,"http://www.topografix.com/GPX/1/1"],Yu={gpx:Yri};function Jri(o){return new Promise((A,f)=>{let m=new FileReader;m.addEventListener("load",function(){A(m.result)}),m.addEventListener("error",function(){f(m.error)}),m.readAsText(o)})}function Mxe(o,A){let f=a9(o,"id");return f=k(f)?f:Kl(),A.getOrCreateEntity(f)}function Txe(o){let A=qFe(o,"lon"),f=qFe(o,"lat"),m=cH(o,"ele",Yu.gpx);return Z.fromDegrees(A,f,m)}function qFe(o,A){if(!k(o))return;let f=o.getAttribute(A);if(f!==null){let m=parseFloat(f);return isNaN(m)?void 0:m}}function a9(o,A){if(!k(o))return;let f=o.getAttribute(A);return f!==null?f:void 0}function CP(o,A,f){if(!k(o))return;let m=o.childNodes,C=m.length;for(let E=0;E${Q.text}: ${Q.value}

`)}if(!k(m)||m==="")return;m=zri.link(m),hH.innerHTML=m;let I=hH.querySelectorAll("a");for(f=0;f',v+=`${hH.innerHTML}`,hH.innerHTML="",v}function d7e(o,A,f,m){let C=Txe(A),E=Mxe(A,f);E.position=C;let I=k(m.waypointImage)?m.waypointImage:o._pinBuilder.fromMakiIconId("marker",qe.RED,TX);E.billboard=c7e(I);let x=ZE(A,"name",Yu.gpx);E.name=x,E.label=Kri(),E.label.text=x,E.description=Rxe(A,E),m.clampToGround&&(E.billboard.heightReference=tn.CLAMP_TO_GROUND,E.label.heightReference=tn.CLAMP_TO_GROUND)}function Wri(o,A,f,m){let C=Mxe(A,f);C.description=Rxe(A,C);let E=Pxe(A,"rtept",Yu.gpx),I=new Array(E.length);for(let x=0;x0?(x=x.concat(y.times),w.addSamples(x,I),v=v&&!0):v=!1;if(v){let Q=k(m.waypointImage)?m.waypointImage:o._pinBuilder.fromMakiIconId("marker",qe.RED,TX);C.billboard=c7e(Q),C.position=w,m.clampToGround&&(C.billboard.heightReference=tn.CLAMP_TO_GROUND),C.availability=new vm,C.availability.addInterval(new cs({start:x[0],stop:x[x.length-1]}))}C.polyline=h7e(m.trackColor),C.polyline.positions=I,m.clampToGround&&(C.polyline.clampToGround=!0)}function jri(o){let A={positions:[],times:[]},f=Pxe(o,"trkpt",Yu.gpx),m;for(let C=0;CMath.min(E[0],I[0])&&o[0]<=Math.max(E[0],I[0])&&o[1]<=Math.max(E[1],I[1])&&E[0]!==I[0]&&(C=(o[0]-E[0])*(I[1]-E[1])/(I[0]-E[0])+E[1],(E[1]===I[1]||o[1]<=C)&&f++),E=I;return f%2!==0}qw.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var xle=new Z,dni=new Re,gni=new Z,fni=new Z;qw.computeVertices=function(o){let A=o.flattenPolygonHeight||[1],f=o.flattenPolygon||[],m=o.VTN,C=Math.cos,E=Math.sin,I=Math.sqrt,x=Math.atan,y=Math.exp,v=De.PI_OVER_TWO,w=De.toRadians,Q=o.heightmap,M=o.width,B=o.height,D=o.skirtHeight,S=D>0,P=ae(o.isGeographic,!0),R=ae(o.ellipsoid,gi.WGS84),T=1/R.maximumRadius,L=hi.clone(o.nativeRectangle),F=hi.clone(o.rectangle),U,N,H,J;k(F)?(U=F.west,N=F.south,H=F.east,J=F.north):P?(U=w(L.west),N=w(L.south),H=w(L.east),J=w(L.north)):(U=L.west*T,N=v-2*x(y(-L.south*T)),H=L.east*T,J=v-2*x(y(-L.north*T)));let K=o.relativeToCenter,X=k(K);K=X?K:Z.ZERO;let j=ae(o.includeWebMercatorT,!1),ee=ae(o.exaggeration,1),ie=ae(o.exaggerationRelativeHeight,0),z=ee!==1,oe=ae(o.structure,qw.DEFAULT_STRUCTURE),le=ae(oe.heightScale,qw.DEFAULT_STRUCTURE.heightScale),Ae=ae(oe.heightOffset,qw.DEFAULT_STRUCTURE.heightOffset),he=ae(oe.elementsPerHeight,qw.DEFAULT_STRUCTURE.elementsPerHeight),ge=ae(oe.stride,qw.DEFAULT_STRUCTURE.stride),de=ae(oe.elementMultiplier,qw.DEFAULT_STRUCTURE.elementMultiplier),fe=ae(oe.isBigEndian,qw.DEFAULT_STRUCTURE.isBigEndian),G=hi.computeWidth(L),Y=hi.computeHeight(L),W=G/(M-1),O=Y/(B-1);P||(G*=T,Y*=T);let re=R.radiiSquared,se=re.x,ce=re.y,me=re.z,Ce=65536,ye=-65536,Be=Vr.eastNorthUpToFixedFrame(K,R),Me=Re.inverseTransformation(Be,dni),He,ke;j&&(He=Pu.geodeticLatitudeToMercatorAngle(N),ke=1/(Pu.geodeticLatitudeToMercatorAngle(J)-He));let Ne=gni;Ne.x=Number.POSITIVE_INFINITY,Ne.y=Number.POSITIVE_INFINITY,Ne.z=Number.POSITIVE_INFINITY;let Pe=fni;Pe.x=Number.NEGATIVE_INFINITY,Pe.y=Number.NEGATIVE_INFINITY,Pe.z=Number.NEGATIVE_INFINITY;let we=Number.POSITIVE_INFINITY,Fe=M*B,Ue=D>0?M*2+B*2:0,ze=Fe+Ue,Je=new Array(ze),je=new Array(ze),Ze=new Array(ze),rt=j?new Array(ze):[],At=z?new Array(ze):[],yt=new Array(ze),at=0,ft=B,_t=0,et=M;S&&(--at,++ft,--_t,++et);let pt=1e-5;for(let vt=at;vt=B&&(wt=B-1);let Bt=L.north-O*wt;P?Bt=w(Bt):Bt=v-2*x(y(-Bt*T));let bi=(Bt-N)/(J-N);bi=De.clamp(bi,0,1);let nr=vt===at,Ai=vt===ft-1;D>0&&(nr?Bt+=pt*Y:Ai&&(Bt-=pt*Y));let xi=C(Bt),Fi=E(Bt),pi=me*Fi,Vt;j&&(Vt=(Pu.geodeticLatitudeToMercatorAngle(Bt)-He)*ke);for(let Kt=_t;Kt=M&&(di=M-1);let ui=wt*(M*ge)+di*ge,Ht;if(he===1)Ht=Q[ui];else{Ht=0;let Ho;if(fe)for(Ho=0;Ho=0;--Ho)Ht=Ht*de+Q[ui+Ho]}Ht=Ht*le+Ae,ye=Math.max(ye,Ht),Ce=Math.min(Ce,Ht);let Ei=L.west+W*di;P?Ei=w(Ei):Ei=Ei*T;let gt=(Ei-U)/(H-U);gt=De.clamp(gt,0,1);let bt=wt*M+di;if(yt[bt]=0,D>0){let Ho=Kt===_t,Ol=Kt===et-1,au=nr||Ai||Ho||Ol;if((nr||Ai)&&(Ho||Ol))continue;au&&(Ht-=D,Ho?(bt=Fe+(B-wt-1),Ei-=pt*G):Ai?bt=Fe+B+(M-di-1):Ol?(bt=Fe+B+M+wt,Ei+=pt*G):nr&&(bt=Fe+B+M+B+di),yt[bt]=1)}let Ot=xi*C(Ei),Wt=xi*E(Ei),Oi=se*Ot,Ci=ce*Wt,so=1/I(Oi*Ot+Ci*Wt+pi*Fi),Mn=Oi*so,Gn=Ci*so,Da=pi*so;for(let Ho=0;Ho0){let vt=0;for(let wt=0;wt=B-1&&(bi=0);for(let nr=0;nr=M-1&&(xi=0),vt=wt*M+nr;try{let Fi=Je[(wt+Bt)*M+nr],pi=Je[(wt+bi)*M+nr],Vt=Je[wt*M+(nr+Ai)],Kt=Je[wt*M+(nr+xi)],di=Z.subtract(Vt,Kt,new Z),ui=Z.subtract(Fi,pi,new Z),Ht=Z.cross(di,ui,new Z),Ei=Z.normalize(Ht,new Z);zt[vt]=Yl.octEncodeFloat(Ei)}catch{zt[vt]=0}}}}let It=si.fromPoints(Je),Pt;k(F)&&(Pt=MA.fromRectangle(F,Ce,ye,R));let St;X&&(St=new nN(R).computeHorizonCullingPointPossiblyUnderEllipsoid(K,Je,Ce));let dt=new iz(Ne,Pe,K),Le=new NS(K,dt,we,ye,Be,m?D>0:!1,j,z,ee,ie),_e=new Float32Array(ze*Le.stride),Oe=0;for(let vt=0;vt0?zt[vt]:void 0,rt[vt],At[vt],D>0||void 0,void 0,yt[vt]);return{vertices:_e,maximumHeight:ye,minimumHeight:Ce,encoding:Le,boundingSphere3D:It,orientedBoundingBox:Pt,occludeePointInScaledSpace:St}};var hte=qw;function EP(){ni.throwInstantiationError()}Object.defineProperties(EP.prototype,{credits:{get:ni.throwInstantiationError},waterMask:{get:ni.throwInstantiationError}});EP.prototype.interpolateHeight=ni.throwInstantiationError;EP.prototype.isChildAvailable=ni.throwInstantiationError;EP.prototype.createMesh=ni.throwInstantiationError;EP.prototype.upsample=ni.throwInstantiationError;EP.prototype.wasCreatedByUpsampling=ni.throwInstantiationError;EP.maximumAsynchronousTasks=5;var MN=EP;function pni(o,A,f,m,C,E,I,x,y,v,w,Q,M,B,D,S){this.center=o,this.vertices=A,this.stride=ae(v,6),this.indices=f,this.indexCountWithoutSkirts=m,this.vertexCountWithoutSkirts=C,this.minimumHeight=E,this.maximumHeight=I,this.boundingSphere3D=x,this.occludeePointInScaledSpace=y,this.orientedBoundingBox=w,this.encoding=Q,this.westIndicesSouthToNorth=M,this.southIndicesEastToWest=B,this.eastIndicesNorthToSouth=D,this.northIndicesWestToEast=S}var TN=pni;function kC(){ni.throwInstantiationError()}Object.defineProperties(kC.prototype,{errorEvent:{get:ni.throwInstantiationError},credit:{get:ni.throwInstantiationError},tilingScheme:{get:ni.throwInstantiationError},ready:{get:ni.throwInstantiationError},readyPromise:{get:ni.throwInstantiationError},hasWaterMask:{get:ni.throwInstantiationError},hasVertexNormals:{get:ni.throwInstantiationError},availability:{get:ni.throwInstantiationError}});var $Fe=[];kC.getRegularGridIndices=function(o,A){let f=$Fe[o];k(f)||($Fe[o]=f=[]);let m=f[A];return k(m)||(o*A0?R=_m.getRegularGridAndSkirtIndicesAndEdgeIndices(P.gridWidth,P.gridHeight):R=_m.getRegularGridIndicesAndEdgeIndices(P.gridWidth,P.gridHeight);let T=P.gridWidth*P.gridHeight;return S._mesh=new TN(Q,new Float32Array(P.vertices),R.indices,R.indexCountWithoutSkirts,T,P.minimumHeight,P.maximumHeight,si.clone(P.boundingSphere3D),Z.clone(P.occludeePointInScaledSpace),P.numberOfAttributes,MA.clone(P.orientedBoundingBox),NS.clone(P.encoding),R.westIndicesSouthToNorth,R.southIndicesEastToWest,R.eastIndicesNorthToSouth,R.northIndicesWestToEast),S._buffer=void 0,S._mesh})};kS.prototype._createMeshSync=function(o){let A=o.tilingScheme,f=o.x,m=o.y,C=o.level,E=ae(o.exaggeration,1),I=ae(o.exaggerationRelativeHeight,0),x=A.ellipsoid,y=A.tileXYToNativeRectangle(f,m,C),v=A.tileXYToRectangle(f,m,C),w=x.cartographicToCartesian(hi.center(v)),Q=this._structure,M=_m.getEstimatedLevelZeroGeometricErrorForAHeightmap(x,this._width,A.getNumberOfXTilesAtLevel(0))/(1<0?D=_m.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):D=_m.getRegularGridIndicesAndEdgeIndices(this._width,this._height);let S=B.gridWidth*B.gridHeight;return this._mesh=new TN(w,B.vertices,D.indices,D.indexCountWithoutSkirts,S,B.minimumHeight,B.maximumHeight,B.boundingSphere3D,B.occludeePointInScaledSpace,B.encoding.stride,B.orientedBoundingBox,B.encoding,D.westIndicesSouthToNorth,D.southIndicesEastToWest,D.eastIndicesNorthToSouth,D.northIndicesWestToEast),this._mesh};kS.prototype.interpolateHeight=function(o,A,f){let m=this._width,C=this._height,E=this._structure,I=E.stride,x=E.elementsPerHeight,y=E.elementMultiplier,v=E.isBigEndian,w=E.heightOffset,Q=E.heightScale,M=k(this._mesh),B=this._encoding===H2.LERC;if(!M&&B)return;let D;if(M){let S=this._mesh.vertices,P=this._mesh.encoding;D=I7e(S,P,w,Q,o,m,C,A,f)}else D=Eni(this._buffer,x,y,I,v,o,m,C,A,f),D=D*Q+w;return D};kS.prototype.upsample=function(o,A,f,m,C,E,I){let x=this._mesh;if(!k(x))return;let y=this._width,v=this._height,w=this._structure,Q=w.stride,M=new this._bufferType(y*v*Q),B=x.vertices,D=x.encoding,S=o.tileXYToRectangle(A,f,m),P=o.tileXYToRectangle(C,E,I),R=w.heightOffset,T=w.heightScale,L=w.elementsPerHeight,F=w.elementMultiplier,U=w.isBigEndian,N=Math.pow(F,L-1);for(let H=0;Hw.highestEncodedHeight?w.highestEncodedHeight:j,Ini(M,L,F,N,Q,U,H*y+K,j)}}return Promise.resolve(new kS({buffer:M,width:y,height:v,childTileMask:0,structure:this._structure,createdByUpsampling:!0,flattenPolygonHeight:this._flattenPolygonHeight,flattenPolygon:this._flattenPolygon}))};kS.prototype.isChildAvailable=function(o,A,f,m){let C=2;return f!==o*2&&++C,m!==A*2&&(C-=2),(this._childTileMask&1<=I&&(B=I-1,M=I-2);let D=Q|0,S=D+1;S>=x&&(S=x-1,D=x-2);let P=w-M,R=Q-D;D=x-1-D,S=x-1-S;let T=DW(o,A,f,m,C,D*I+M),L=DW(o,A,f,m,C,D*I+B),F=DW(o,A,f,m,C,S*I+M),U=DW(o,A,f,m,C,S*I+B);return x7e(P,R,T,L,F,U)}function I7e(o,A,f,m,C,E,I,x,y){let v=(x-C.west)*(E-1)/(C.east-C.west),w=(y-C.south)*(I-1)/(C.north-C.south),Q=v|0,M=Q+1;M>=E&&(M=E-1,Q=E-2);let B=w|0,D=B+1;D>=I&&(D=I-1,B=I-2);let S=v-Q,P=w-B;B=I-1-B,D=I-1-D;let R=(A.decodeHeight(o,B*E+Q)-f)/m,T=(A.decodeHeight(o,B*E+M)-f)/m,L=(A.decodeHeight(o,D*E+Q)-f)/m,F=(A.decodeHeight(o,D*E+M)-f)/m;return x7e(S,P,R,T,L,F)}function x7e(o,A,f,m,C,E){return A=0;--x)I=I*f+o[E+x];return I}function Ini(o,A,f,m,C,E,I,x){I*=C;let y;if(E)for(y=0;y0;--y)o[I+y]=x/m|0,x-=o[I+y]*m,m/=f;o[I+y]=x}var DB=kS;function F4(o){o=ae(o,ae.EMPTY_OBJECT),this._tilingScheme=o.tilingScheme,k(this._tilingScheme)||(this._tilingScheme=new ph({ellipsoid:ae(o.ellipsoid,gi.WGS84)})),this._levelZeroMaximumGeometricError=_m.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new ir,this._ready=!0,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(F4.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return $t("EllipsoidTerrainProvider.ready","EllipsoidTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),!0}},readyPromise:{get:function(){return $t("EllipsoidTerrainProvider.readyPromise","EllipsoidTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});F4.prototype.requestTileGeometry=function(o,A,f,m){return Promise.resolve(new DB({buffer:new Uint8Array(16*16),width:16,height:16}))};F4.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<0&&(me=N?H.clippingPlanesState:0);let Ce=f.surfaceShader;if(k(Ce)&&Ce.numberOfDayTextures===m&&Ce.flags===ce&&Ce.material===this.material&&Ce.clippingShaderState===me&&Ce.enableFlatten===Ae)return Ce.shaderProgram;let ye=this._shadersByTexturesFlags[m];if(k(ye)||(ye=this._shadersByTexturesFlags[m]=[]),Ce=ye[ce],!k(Ce)||Ce.material!==this.material||Ce.clippingShaderState!==me||Ce.enableFlatten!==Ae){let Be=this.baseVertexShaderSource.clone(),Me=this.baseFragmentShaderSource.clone();me!==0&&Me.sources.unshift(dY(H,A.context)),Be.defines.push(fe),Me.defines.push(`TEXTURE_UNITS ${m}`,W,re),C&&Me.defines.push("APPLY_BRIGHTNESS"),E&&Me.defines.push("APPLY_CONTRAST"),I&&Me.defines.push("APPLY_HUE"),x&&Me.defines.push("APPLY_SATURATION"),y&&Me.defines.push("APPLY_GAMMA"),v&&Me.defines.push("APPLY_ALPHA"),w&&Me.defines.push("APPLY_DAY_NIGHT_ALPHA"),M&&(Me.defines.push("SHOW_REFLECTIVE_OCEAN"),Be.defines.push("SHOW_REFLECTIVE_OCEAN")),B&&Me.defines.push("SHOW_OCEAN_WAVES"),he&&(Be.defines.push("ENABLE_SLOPE_MAP"),Me.defines.push("ENABLE_SLOPE_MAP")),ge&&Me.defines.push("SMOOTH_SLOPE_AT_HIGHER_ALT"),ee&&Me.defines.push("APPLY_COLOR_TO_ALPHA"),oe&&(Be.defines.push("UNDERGROUND_COLOR"),Me.defines.push("UNDERGROUND_COLOR")),le&&(Be.defines.push("TRANSLUCENT"),Me.defines.push("TRANSLUCENT")),D&&(L?(Be.defines.push("ENABLE_VERTEX_LIGHTING"),Me.defines.push("ENABLE_VERTEX_LIGHTING")):(Be.defines.push("ENABLE_DAYNIGHT_SHADING"),Me.defines.push("ENABLE_DAYNIGHT_SHADING"))),S&&(Be.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),Me.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),P&&(Be.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"),Me.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"))),R&&(Be.defines.push("GROUND_ATMOSPHERE"),Me.defines.push("GROUND_ATMOSPHERE"),T&&(Be.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"),Me.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"))),Be.defines.push("INCLUDE_WEB_MERCATOR_Y"),Me.defines.push("INCLUDE_WEB_MERCATOR_Y"),U&&(Be.defines.push("FOG"),Me.defines.push("FOG")),Q&&Me.defines.push("APPLY_SPLIT"),N&&Me.defines.push("ENABLE_CLIPPING_PLANES"),X&&Me.defines.push("COLOR_CORRECT"),j&&Me.defines.push("HIGHLIGHT_FILL_TILE"),ie&&Be.defines.push("GEODETIC_SURFACE_NORMALS"),z&&Be.defines.push("EXAGGERATION");let He=` vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend) { vec4 color = initialColor; `;K&&(He+=` vec4 cutoutAndColorResult; bool texelUnclipped; `);for(let Ne=0;Ne0?f.raiseEvent(y):k(A)&&console.log(`An error occurred in "${A.constructor.name}": ${dO(m)}`),y};PX.reportSuccess=function(o){k(o)&&(o.timesRetried=-1)};var Wc=PX,Dni={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7},mA=Object.freeze(Dni),Mni={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6},nc=Object.freeze(Mni);function qc(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new kt(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new Z,this.boundingVolumeSourceTile=void 0,this.boundingVolumeIsFromMesh=!1,this.terrainState=nc.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new si,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1}Object.defineProperties(qc.prototype,{eligibleForUnloading:{get:function(){let o=this.terrainState,A=!(o===nc.RECEIVING||o===nc.TRANSFORMING),f=this.imagery;for(let m=0,C=f.length;A&&m=0&&(w=T)}return w!==Number.MAX_VALUE?Oa.getPoint(o,w,C):void 0};qc.prototype.freeResources=function(){k(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.terrainData=void 0,this.terrainState=nc.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();let o=this.imagery;for(let A=0,f=o.length;A=nc.RECEIVED&&I.waterMaskTexture===void 0&&f.hasWaterMask)if(I.terrainData.waterMask!==void 0)zni(A.context,I);else{let y=I._findAncestorTileWithTerrainData(o);k(y)&&k(y.data.waterMaskTexture)&&(I.waterMaskTexture=y.data.waterMaskTexture,++I.waterMaskTexture.referenceCount,I._computeWaterMaskTranslationAndScale(o,y,I.waterMaskTranslationAndScale))}}function kni(o,A,f,m,C,E,I){let x=A.parent;if(!x){A.state=m0.FAILED;return}let y=x.data.terrainData,v=x.x,w=x.y,Q=x.level;if(!k(y))return;let M=y.upsample(m.tilingScheme,v,w,Q,C,E,I);k(M)&&(o.terrainState=nc.RECEIVING,Promise.resolve(M).then(function(B){o.terrainData=B,o.terrainState=nc.RECEIVED}).catch(function(){o.terrainState=nc.FAILED}))}function Uni(o,A,f,m,C){function E(y){o.terrainData=y,o.terrainState=nc.RECEIVED,o.request=void 0}function I(y){if(o.request.state===SA.CANCELLED){o.terrainData=void 0,o.terrainState=nc.UNLOADED,o.request=void 0;return}o.terrainState=nc.FAILED,o.request=void 0;let v=`Failed to obtain terrain tile X: ${f} Y: ${m} Level: ${C}. Error message: "${y}"`;A._requestError=Wc.reportError(A._requestError,A,A.errorEvent,v,f,m,C),A._requestError.retry&&x()}function x(){let y=new g0({throttle:!1,throttleByServer:!0,type:kx.TERRAIN});o.request=y;let v=A.requestTileGeometry(f,m,C,y);k(v)?(o.terrainState=nc.RECEIVING,Promise.resolve(v).then(function(w){E(w)}).catch(function(w){I(w)})):(o.terrainState=nc.UNLOADED,o.request=void 0)}x()}var Oni={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0,throttle:!0};function Gni(o,A,f,m,C,E){let I=f.tilingScheme,x=Oni;x.tilingScheme=I,x.x=m,x.y=C,x.level=E,x.exaggeration=A.terrainExaggeration,x.exaggerationRelativeHeight=A.terrainExaggerationRelativeHeight,x.throttle=!0;let y=o.terrainData.createMesh(x);k(y)&&(o.terrainState=nc.TRANSFORMING,Promise.resolve(y).then(function(v){o.mesh=v,o.terrainState=nc.TRANSFORMED}).catch(function(){o.terrainState=nc.FAILED}))}qc._createVertexArrayForMesh=function(o,A){let f=A.vertices,m=jn.createVertexBuffer({context:o,typedArray:f,usage:Fr.STATIC_DRAW}),C=A.encoding.getAttributes(m),E=A.indices.indexBuffers||{},I=E[o.id];if(!k(I)||I.isDestroyed()){let x=A.indices;I=jn.createIndexBuffer({context:o,typedArray:x,usage:Fr.STATIC_DRAW,indexDatatype:fn.fromSizeInBytes(x.BYTES_PER_ELEMENT)}),I.vertexArrayDestroyable=!1,I.referenceCount=1,E[o.id]=I,A.indices.indexBuffers=E}else++I.referenceCount;return new VA({context:o,attributes:C,indexBuffer:I})};qc._freeVertexArray=function(o){if(k(o)){let A=o.indexBuffer;o.isDestroyed()||o.destroy(),k(A)&&!A.isDestroyed()&&k(A.referenceCount)&&(--A.referenceCount,A.referenceCount===0&&A.destroy())}};function Hni(o,A,f,m,C,E,I){o.vertexArray=qc._createVertexArrayForMesh(A,o.mesh),o.terrainState=nc.READY,o.fill=o.fill&&o.fill.destroy(I)}function Vni(o){let A=o.cache.tile_waterMaskData;if(!k(A)){let f=Rn.create({context:o,pixelFormat:Jr.LUMINANCE,pixelDatatype:Gr.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}});f.referenceCount=1;let m=new Ra({wrapS:oa.CLAMP_TO_EDGE,wrapT:oa.CLAMP_TO_EDGE,minificationFilter:ya.LINEAR,magnificationFilter:mu.LINEAR});A={allWaterTexture:f,sampler:m,destroy:function(){this.allWaterTexture.destroy()}},o.cache.tile_waterMaskData=A}return A}function zni(o,A){let f=A.terrainData.waterMask,m=Vni(o),C,E=f.length;if(E===1)if(f[0]!==0)C=m.allWaterTexture;else return;else{let I=Math.sqrt(E);C=Rn.create({context:o,pixelFormat:Jr.LUMINANCE,pixelDatatype:Gr.UNSIGNED_BYTE,source:{width:I,height:I,arrayBufferView:f},sampler:m.sampler,flipY:!1}),C.referenceCount=0}++C.referenceCount,A.waterMaskTexture=C,kt.fromElements(0,0,1,1,A.waterMaskTranslationAndScale)}qc.prototype._findAncestorTileWithTerrainData=function(o){let A=o.parent;for(;k(A)&&(!k(A.data)||!k(A.data.terrainData)||A.data.terrainData.wasCreatedByUpsampling());)A=A.parent;return A};qc.prototype._computeWaterMaskTranslationAndScale=function(o,A,f){let m=A.rectangle,C=o.rectangle,E=C.width,I=C.height,x=E/m.width,y=I/m.height;return f.x=x*(C.west-m.west)/E,f.y=y*(C.south-m.south)/I,f.z=x,f.w=y,f};var US=qc,MW,v7e="AAPKac82a6d80f1340a4aa9587f789d07e96a_Jj1a4fbA59cggYHArDizxxA2U4QDofLUm36VivpUsSRyK7O1JjRPwy916Y-7ld",N4={};N4.defaultAccessToken=v7e;N4.defaultWorldImageryServer=new fr({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer"});N4.defaultWorldHillshadeServer=new fr({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer"});N4.defaultWorldOceanServer=new fr({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer"});N4.getDefaultTokenCredit=function(o){if(o===v7e){if(!k(MW)){let A=' This application is using a default ArcGIS access token. Please assign Cesium.ArcGisMapService.defaultAccessToken with an API key from your ArcGIS Developer account before using the ArcGIS tile services. You can sign up for a free ArcGIS Developer account at https://developers.arcgis.com/.';MW=new la(A,!0),MW._isDefaultToken=!0}return MW}};var R_=N4;function kxe(o){o=ae(o,ae.EMPTY_OBJECT),this._pixelsToCheck=o.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;let A=fr.createIfNeeded(o.missingImageUrl),f=this;function m(E){k(E.blob)&&(f._missingImageByteLength=E.blob.size);let I=gF(E);if(o.disableCheckIfAllPixelsAreTransparent){let x=!0,y=E.width,v=o.pixelsToCheck;for(let w=0,Q=v.length;x&&w0&&(x=!1)}x&&(I=void 0)}f._missingImagePixels=I,f._isReady=!0}function C(){f._missingImagePixels=void 0,f._isReady=!0}A.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(m).catch(C)}kxe.prototype.isReady=function(){return this._isReady};kxe.prototype.shouldDiscardImage=function(o){let A=this._pixelsToCheck,f=this._missingImagePixels;if(!k(f)||k(o.blob)&&o.blob.size!==this._missingImageByteLength)return!1;let m=gF(o),C=o.width;for(let E=0,I=A.length;E1&&C==="name"?(A=1,f=m):A>2&&C==="title"?(A=2,f=m):A>3&&/name/i.test(m)?(A=3,f=m):A>4&&/title/i.test(m)&&(A=4,f=m)}k(f)&&(this.name=o[f])};Oxe.prototype.configureDescriptionFromProperties=function(o){function A(f){let m='';for(let C in f)if(f.hasOwnProperty(C)){let E=f[C];k(E)&&(typeof E=="object"?m+=``:m+=``)}return m+="
${C}${A(E)}
${C}${E}
",m}this.description=A(o)};var IP=Oxe,Yni={SATELLITE:1,OCEANS:2,HILLSHADE:3},c2=Object.freeze(Yni);function Gxe(o){this.useTiles=ae(o.usePreCachedTilesIfAvailable,!0);let A=o.ellipsoid;this.tilingScheme=ae(o.tilingScheme,new ph({ellipsoid:A})),this.rectangle=ae(o.rectangle,this.tilingScheme.rectangle),this.ellipsoid=A;let f=o.credit;typeof f=="string"&&(f=new la(f)),this.credit=f,this.tileCredits=void 0,this.tileDiscardPolicy=o.tileDiscardPolicy,this.tileWidth=ae(o.tileWidth,256),this.tileHeight=ae(o.tileHeight,256),this.maximumLevel=o.maximumLevel}Gxe.prototype.build=function(o){o._useTiles=this.useTiles,o._tilingScheme=this.tilingScheme,o._rectangle=this.rectangle,o._credit=this.credit,o._tileCredits=this.tileCredits,o._tileDiscardPolicy=this.tileDiscardPolicy,o._tileWidth=this.tileWidth,o._tileHeight=this.tileHeight,o._maximumLevel=this.maximumLevel,this.useTiles&&!k(this.tileDiscardPolicy)&&(o._tileDiscardPolicy=new Uxe({missingImageUrl:B7e(o,0,0,this.maximumLevel).url,pixelsToCheck:[new tt(0,0),new tt(200,20),new tt(20,200),new tt(80,110),new tt(160,130)],disableCheckIfAllPixelsAreTransparent:!0})),o._ready=!0};var iNe=void 0;function Jni(o,A){let f=o.tileInfo;if(!k(f))A.useTiles=!1;else{if(A.tileWidth=f.rows,A.tileHeight=f.cols,f.spatialReference.wkid===102100||f.spatialReference.wkid===102113)A.tilingScheme=new Sf({ellipsoid:A.ellipsoid});else if(o.tileInfo.spatialReference.wkid===4326)A.tilingScheme=new ph({ellipsoid:A.ellipsoid});else if(o.fullExtent.spatialReference.wkid===4490)iNe._tilingScheme=new ph({ellipsoid:A.ellipsoid,tileInfo:o.tileInfo});else{let m=`Tile spatial reference WKID ${o.tileInfo.spatialReference.wkid} is not supported.`;throw new Ti(m)}if(A.maximumLevel=o.tileInfo.lods.length-1,k(o.fullExtent)){if(k(o.fullExtent.spatialReference)&&k(o.fullExtent.spatialReference.wkid))if(o.fullExtent.spatialReference.wkid===102100||o.fullExtent.spatialReference.wkid===102113){let m=new Pu,C=o.fullExtent,E=m.unproject(new Z(Math.max(C.xmin,-A.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(C.ymin,-A.tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),I=m.unproject(new Z(Math.min(C.xmax,A.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(C.ymax,A.tilingScheme.ellipsoid.maximumRadius*Math.PI),0));A.rectangle=new hi(E.longitude,E.latitude,I.longitude,I.latitude)}else if(o.fullExtent.spatialReference.wkid===4326)A.rectangle=hi.fromDegrees(o.fullExtent.xmin,o.fullExtent.ymin,o.fullExtent.xmax,o.fullExtent.ymax);else if(o.fullExtent.spatialReference.wkid===4490)iNe._rectangle=hi.fromDegrees(o.fullExtent.xmin,o.fullExtent.ymin,o.fullExtent.xmax,o.fullExtent.ymax);else{let m=`fullExtent.spatialReference WKID ${o.fullExtent.spatialReference.wkid} is not supported.`;throw new Ti(m)}}else A.rectangle=A.tilingScheme.rectangle;A.useTiles=!0}k(o.copyrightText)&&o.copyrightText.length>0&&(k(A.credit)?A.tileCredits=[new la(o.copyrightText)]:A.credit=new la(o.copyrightText))}function Kni(o,A,f){let m=`An error occurred while accessing ${o.url}`;throw k(A)&&k(A.message)&&(m+=`: ${A.message}`),Wc.reportError(void 0,f,k(f)?f._errorEvent:void 0,m,void 0,void 0,void 0,A),new Ti(m)}async function _7e(o,A,f){let m=o.getDerivedResource({queryParameters:{f:"json"}});try{let C=await m.fetchJson();Jni(C,A)}catch(C){Kni(o,C,f)}}function L1(o){o=ae(o,ae.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=o.tileDiscardPolicy,this._tileWidth=ae(o.tileWidth,256),this._tileHeight=ae(o.tileHeight,256),this._maximumLevel=o.maximumLevel,this._tilingScheme=ae(o.tilingScheme,new ph({ellipsoid:o.ellipsoid})),this._useTiles=ae(o.usePreCachedTilesIfAvailable,!0),this._rectangle=ae(o.rectangle,this._tilingScheme.rectangle),this._layers=o.layers,this._credit=o.credit,this._tileCredits=void 0;let A=o.credit;if(typeof A=="string"&&(A=new la(A)),this.enablePickFeatures=ae(o.enablePickFeatures,!0),this._errorEvent=new ir,this._ready=!1,k(o.url)){$t("ArcGisMapServerImageryProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead.");let f=fr.createIfNeeded(o.url);f.appendForwardSlash(),this._tileDiscardPolicy=o.tileDiscardPolicy,k(o.token)&&f.setQueryParameters({token:o.token}),this._resource=f;let m=new Gxe(o);m.useTiles?this._readyPromise=_7e(f,m,this).then(()=>(m.build(this),!0)):(m.build(this),this._readyPromise=Promise.resolve(!0))}}L1.fromBasemapType=async function(o,A){A=ae(A,ae.EMPTY_OBJECT);let f,m,C;switch(o){case c2.SATELLITE:{f=ae(A.token,R_.defaultAccessToken),m=fr.createIfNeeded(ae(A.url,R_.defaultWorldImageryServer)),m.appendForwardSlash();let E=R_.getDefaultTokenCredit(f);k(E)&&(C=la.clone(E))}break;case c2.OCEANS:{f=ae(A.token,R_.defaultAccessToken),m=fr.createIfNeeded(ae(A.url,R_.defaultWorldOceanServer)),m.appendForwardSlash();let E=R_.getDefaultTokenCredit(f);k(E)&&(C=la.clone(E))}break;case c2.HILLSHADE:{f=ae(A.token,R_.defaultAccessToken),m=fr.createIfNeeded(ae(A.url,R_.defaultWorldHillshadeServer)),m.appendForwardSlash();let E=R_.getDefaultTokenCredit(f);k(E)&&(C=la.clone(E))}break;default:}return L1.fromUrl(m,{...A,token:f,credit:C,usePreCachedTilesIfAvailable:!0})};function B7e(o,A,f,m,C){let E;if(o._useTiles)E=o._resource.getDerivedResource({url:`tile/${m}/${f}/${A}`,request:C});else{let I=o._tilingScheme.tileXYToNativeRectangle(A,f,m),x={bbox:`${I.west},${I.south},${I.east},${I.north}`,size:`${o._tileWidth},${o._tileHeight}`,format:"png32",transparent:!0,f:"image"};o._tilingScheme.projection instanceof md?(x.bboxSR=4326,x.imageSR=4326):(x.bboxSR=3857,x.imageSR=3857),o.layers&&(x.layers=`show:${o.layers}`),E=o._resource.getDerivedResource({url:"export",request:C,queryParameters:x})}return E}Object.defineProperties(L1.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return $t("ArcGisMapServerImageryProvider.ready","ArcGisMapServerImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return $t("ArcGisMapServerImageryProvider.readyPromise","ArcGisMapServerImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."),this._readyPromise}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}},defaultAlpha:{get:function(){return $t("ArcGisMapServerImageryProvider.defaultAlpha","ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("ArcGisMapServerImageryProvider.defaultAlpha","ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("ArcGisMapServerImageryProvider.defaultNightAlpha","ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){$t("ArcGisMapServerImageryProvider.defaultNightAlpha","ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("ArcGisMapServerImageryProvider.defaultDayAlpha","ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("ArcGisMapServerImageryProvider.defaultDayAlpha","ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("ArcGisMapServerImageryProvider.defaultBrightness","ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("ArcGisMapServerImageryProvider.defaultBrightness","ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("ArcGisMapServerImageryProvider.defaultContrast","ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("ArcGisMapServerImageryProvider.defaultContrast","ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("ArcGisMapServerImageryProvider.defaultHue","ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("ArcGisMapServerImageryProvider.defaultHue","ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("ArcGisMapServerImageryProvider.defaultSaturation","ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("ArcGisMapServerImageryProvider.defaultSaturation","ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("ArcGisMapServerImageryProvider.defaultGamma","ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("ArcGisMapServerImageryProvider.defaultGamma","ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("ArcGisMapServerImageryProvider.defaultMinificationFilter","ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("ArcGisMapServerImageryProvider.defaultMinificationFilter","ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("ArcGisMapServerImageryProvider.defaultMagnificationFilter","ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("ArcGisMapServerImageryProvider.defaultMagnificationFilter","ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});L1.fromUrl=async function(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=fr.createIfNeeded(o);f.appendForwardSlash(),k(A.token)&&f.setQueryParameters({token:A.token});let m=new L1(A);m._resource=f;let C=new Gxe(A);return ae(A.usePreCachedTilesIfAvailable,!0)&&await _7e(f,C),C.build(m),m._readyPromise=Promise.resolve(!0),m};L1.prototype.getTileCredits=function(o,A,f){return this._tileCredits};L1.prototype.requestImage=function(o,A,f,m){return $1.loadImage(this,B7e(this,o,A,f,m))};L1.prototype.pickFeatures=function(o,A,f,m,C){if(!this.enablePickFeatures)return;let E=this._tilingScheme.tileXYToNativeRectangle(o,A,f),I,x,y;if(this._tilingScheme.projection instanceof md)I=De.toDegrees(m),x=De.toDegrees(C),y="4326";else{let Q=this._tilingScheme.projection.project(new Lt(m,C,0));I=Q.x,x=Q.y,y="3857"}let v="visible";k(this._layers)&&(v+=`:${this._layers}`);let w={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:`${I},${x}`,mapExtent:`${E.west},${E.south},${E.east},${E.north}`,imageDisplay:`${this._tileWidth},${this._tileHeight},96`,sr:y,layers:v};return this._resource.getDerivedResource({url:"identify",queryParameters:w}).fetchJson().then(function(Q){let M=[],B=Q.results;if(!k(B))return M;for(let D=0;D`),this._tilingScheme=new Sf({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:o.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._attributionList=void 0,this._errorEvent=new ir,this._ready=!1,k(o.url)){$t("BingMapsImageryProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead.");let A=o.tileProtocol;k(A)?A.length>0&&A[A.length-1]===":"&&(A=A.substr(0,A.length-1)):A=document.location.protocol==="http:"?"http":"https";let f=fr.createIfNeeded(o.url);this._resource=f,f.appendForwardSlash();let m=f.getDerivedResource({url:`REST/v1/Imagery/Metadata/${this._mapStyle}`,queryParameters:{incl:"ImageryProviders",key:o.key,uriScheme:A}}),C=new Hxe(o);this._readyPromise=w7e(m,C,this).then(()=>(C.build(this),!0))}}Object.defineProperties(Jg.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},culture:{get:function(){return this._culture}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return $t("BingMapsImageryProvider.ready","BingMapsImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return $t("BingMapsImageryProvider.readyPromise","BingMapsImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}},defaultAlpha:{get:function(){return $t("BingMapsImageryProvider.defaultAlpha","BingMapsImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("BingMapsImageryProvider.defaultAlpha","BingMapsImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("BingMapsImageryProvider.defaultNightAlpha","BingMapsImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){$t("BingMapsImageryProvider.defaultNightAlpha","BingMapsImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("BingMapsImageryProvider.defaultDayAlpha","BingMapsImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("BingMapsImageryProvider.defaultDayAlpha","BingMapsImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("BingMapsImageryProvider.defaultBrightness","BingMapsImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("BingMapsImageryProvider.defaultBrightness","BingMapsImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("BingMapsImageryProvider.defaultContrast","BingMapsImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("BingMapsImageryProvider.defaultContrast","BingMapsImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("BingMapsImageryProvider.defaultHue","BingMapsImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("BingMapsImageryProvider.defaultHue","BingMapsImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("BingMapsImageryProvider.defaultSaturation","BingMapsImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("BingMapsImageryProvider.defaultSaturation","BingMapsImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("BingMapsImageryProvider.defaultGamma","BingMapsImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("BingMapsImageryProvider.defaultGamma","BingMapsImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("BingMapsImageryProvider.defaultMinificationFilter","BingMapsImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("BingMapsImageryProvider.defaultMinificationFilter","BingMapsImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("BingMapsImageryProvider.defaultMagnificationFilter","BingMapsImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("BingMapsImageryProvider.defaultMagnificationFilter","BingMapsImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});Jg.fromUrl=async function(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=A.tileProtocol;k(f)?f.length>0&&f[f.length-1]===":"&&(f=f.substr(0,f.length-1)):f=document.location.protocol==="http:"?"http":"https";let m=ae(A.mapStyle,dte.AERIAL),C=fr.createIfNeeded(o);C.appendForwardSlash();let E=C.getDerivedResource({url:`REST/v1/Imagery/Metadata/${m}`,queryParameters:{incl:"ImageryProviders",key:A.key,uriScheme:f}}),I=new Jg(A);I._resource=C;let x=new Hxe(A);return await w7e(E,x),x.build(I),I._readyPromise=Promise.resolve(!0),I};var Xni=new hi;Jg.prototype.getTileCredits=function(o,A,f){let m=this._tilingScheme.tileXYToRectangle(o,A,f,Xni);return eoi(this._attributionList,f,m)};Jg.prototype.requestImage=function(o,A,f,m){let C=$1.loadImage(this,Zni(this,o,A,f,m));if(k(C))return C.catch(function(E){return k(E.blob)&&E.blob.size===0?gte.EMPTY_IMAGE:Promise.reject(E)})};Jg.prototype.pickFeatures=function(o,A,f,m,C){};Jg.tileXYToQuadKey=function(o,A,f){let m="";for(let C=f;C>=0;--C){let E=1<=0;--C){let E=1<=Q.zoomMin&&A<=Q.zoomMax){let M=hi.intersection(f,Q.bbox,$ni);k(M)&&(y=!0)}}y&&m.push(I.credit)}return m}Jg._metadataCache={};var fte=Jg,b7e=/{[^}]+}/g,Vxe={x:roi,y:ooi,z:loi,s:Aoi,reverseX:noi,reverseY:aoi,reverseZ:soi,westDegrees:uoi,southDegrees:coi,eastDegrees:hoi,northDegrees:doi,westProjected:goi,southProjected:foi,eastProjected:poi,northProjected:moi,width:Coi,height:Eoi},Q7e=yo(Vxe,{i:Ioi,j:xoi,reverseI:yoi,reverseJ:voi,longitudeDegrees:Boi,latitudeDegrees:woi,longitudeProjected:boi,latitudeProjected:Qoi,format:Doi});function PN(o){if(o=ae(o,ae.EMPTY_OBJECT),this._errorEvent=new ir,k(o.then)){this._reinitialize(o);return}let A=fr.createIfNeeded(o.url),f=fr.createIfNeeded(o.pickFeaturesUrl);this._resource=A,this._urlSchemeZeroPadding=o.urlSchemeZeroPadding,this._getFeatureInfoFormats=o.getFeatureInfoFormats,this._pickFeaturesResource=f;let m=o.subdomains;Array.isArray(m)?m=m.slice():k(m)&&m.length>0?m=m.split(""):m=["a","b","c"],this._subdomains=m,this._tileWidth=ae(o.tileWidth,256),this._tileHeight=ae(o.tileHeight,256),this._minimumLevel=ae(o.minimumLevel,0),this._maximumLevel=o.maximumLevel,this._tilingScheme=ae(o.tilingScheme,new Sf({ellipsoid:o.ellipsoid})),this._rectangle=ae(o.rectangle,this._tilingScheme.rectangle),this._rectangle=hi.intersection(this._rectangle,this._tilingScheme.rectangle),this._tileDiscardPolicy=o.tileDiscardPolicy;let C=o.credit;typeof C=="string"&&(C=new la(C)),this._credit=C,this._hasAlphaChannel=ae(o.hasAlphaChannel,!0);let E=o.customTags,I=yo(Vxe,E),x=yo(Q7e,E);this._tags=I,this._pickFeaturesTags=x,this._readyPromise=Promise.resolve(!0),this._ready=!0,this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this.enablePickFeatures=ae(o.enablePickFeatures,!0)}Object.defineProperties(PN.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return $t("UrlTemplateImageryProvider.ready","UrlTemplateImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._ready&&k(this._resource)}},readyPromise:{get:function(){return $t("UrlTemplateImageryProvider.readyPromise","UrlTemplateImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return this._hasAlphaChannel}},defaultAlpha:{get:function(){return $t("UrlTemplateImageryProvider.defaultAlpha","UrlTemplateImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("UrlTemplateImageryProvider.defaultAlpha","UrlTemplateImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("UrlTemplateImageryProvider.defaultNightAlpha","UrlTemplateImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){$t("UrlTemplateImageryProvider.defaultNightAlpha","UrlTemplateImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("UrlTemplateImageryProvider.defaultDayAlpha","UrlTemplateImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("UrlTemplateImageryProvider.defaultDayAlpha","UrlTemplateImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("UrlTemplateImageryProvider.defaultBrightness","UrlTemplateImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("UrlTemplateImageryProvider.defaultBrightness","UrlTemplateImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("UrlTemplateImageryProvider.defaultContrast","UrlTemplateImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("UrlTemplateImageryProvider.defaultContrast","UrlTemplateImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("UrlTemplateImageryProvider.defaultHue","UrlTemplateImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("UrlTemplateImageryProvider.defaultHue","UrlTemplateImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("UrlTemplateImageryProvider.defaultSaturation","UrlTemplateImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("UrlTemplateImageryProvider.defaultSaturation","UrlTemplateImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("UrlTemplateImageryProvider.defaultGamma","UrlTemplateImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("UrlTemplateImageryProvider.defaultGamma","UrlTemplateImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("UrlTemplateImageryProvider.defaultMinificationFilter","UrlTemplateImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("UrlTemplateImageryProvider.defaultMinificationFilter","UrlTemplateImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("UrlTemplateImageryProvider.defaultMagnificationFilter","UrlTemplateImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("UrlTemplateImageryProvider.defaultMagnificationFilter","UrlTemplateImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});PN.prototype.reinitialize=function(o){return $t("UrlTemplateImageryProvider.reinitialize","UrlTemplateImageryProvider.reinitialize was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._reinitialize(o)};PN.prototype._reinitialize=function(o){let A=this;A._readyPromise=Promise.resolve(o).then(function(f){let m=f.customTags,C=yo(Vxe,m),E=yo(Q7e,m),I=fr.createIfNeeded(f.url),x=fr.createIfNeeded(f.pickFeaturesUrl);A.enablePickFeatures=ae(f.enablePickFeatures,A.enablePickFeatures),A._urlSchemeZeroPadding=ae(f.urlSchemeZeroPadding,A.urlSchemeZeroPadding),A._tileDiscardPolicy=f.tileDiscardPolicy,A._getFeatureInfoFormats=f.getFeatureInfoFormats,A._subdomains=f.subdomains,Array.isArray(A._subdomains)?A._subdomains=A._subdomains.slice():k(A._subdomains)&&A._subdomains.length>0?A._subdomains=A._subdomains.split(""):A._subdomains=["a","b","c"],A._tileWidth=ae(f.tileWidth,256),A._tileHeight=ae(f.tileHeight,256),A._minimumLevel=ae(f.minimumLevel,0),A._maximumLevel=f.maximumLevel,A._tilingScheme=ae(f.tilingScheme,new Sf({ellipsoid:f.ellipsoid})),A._rectangle=ae(f.rectangle,A._tilingScheme.rectangle),A._rectangle=hi.intersection(A._rectangle,A._tilingScheme.rectangle),A._hasAlphaChannel=ae(f.hasAlphaChannel,!0);let y=f.credit;return typeof y=="string"&&(y=new la(y)),A._credit=y,A._resource=I,A._tags=C,A._pickFeaturesResource=x,A._pickFeaturesTags=E,A._ready=!0,!0})};PN.prototype.getTileCredits=function(o,A,f){};PN.prototype.requestImage=function(o,A,f,m){return $1.loadImage(this,toi(this,o,A,f,m))};PN.prototype.pickFeatures=function(o,A,f,m,C){if(!this.enablePickFeatures||!k(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let E=0,I=this;function x(v,w){return v.callback(w)}function y(){if(E>=I._getFeatureInfoFormats.length)return Promise.resolve([]);let v=I._getFeatureInfoFormats[E],w=ioi(I,o,A,f,m,C,v.format);return++E,v.type==="json"?w.fetchJson().then(v.callback).catch(y):v.type==="xml"?w.fetchXML().then(v.callback).catch(y):v.type==="text"||v.type==="html"?w.fetchText().then(v.callback).catch(y):w.fetch({responseType:v.format}).then(x.bind(void 0,v)).catch(y)}return y()};var RX=!1,rx=new hi,LX=!1,gY=new hi;function toi(o,A,f,m,C){RX=!1,LX=!1;let E=o._resource,I=E.getUrlComponent(!0),x=o._tags,y={},v=I.match(b7e);return k(v)&&v.forEach(function(w){let Q=w.substring(1,w.length-1);k(x[Q])&&(y[Q]=x[Q](o,A,f,m))}),E.getDerivedResource({request:C,templateValues:y})}var ice=!1,gO=new tt,rce=!1;function ioi(o,A,f,m,C,E,I){RX=!1,LX=!1,ice=!1,rce=!1;let x=o._pickFeaturesResource,y=x.getUrlComponent(!0),v=o._pickFeaturesTags,w={},Q=y.match(b7e);return k(Q)&&Q.forEach(function(M){let B=M.substring(1,M.length-1);k(v[B])&&(w[B]=v[B](o,A,f,m,C,E,I))}),x.getDerivedResource({templateValues:w})}function k4(o,A,f){if(o&&o.urlSchemeZeroPadding&&o.urlSchemeZeroPadding.hasOwnProperty(A)){let m=o.urlSchemeZeroPadding[A];if(typeof m=="string"){let C=m.length;C>1&&(f=f.length>=C?f:new Array(C-f.toString().length+1).join("0")+f)}}return f}function roi(o,A,f,m){return k4(o,"{x}",A)}function noi(o,A,f,m){let C=o.tilingScheme.getNumberOfXTilesAtLevel(m)-A-1;return k4(o,"{reverseX}",C)}function ooi(o,A,f,m){return k4(o,"{y}",f)}function aoi(o,A,f,m){let C=o.tilingScheme.getNumberOfYTilesAtLevel(m)-f-1;return k4(o,"{reverseY}",C)}function soi(o,A,f,m){let C=o.maximumLevel,E=k(C)&&mPromise.reject(C));pI.call(this,m),this._promise=m}}vx._requestMetadata=async function(o,A,f,m){try{let C=await f.fetchXML();return vx._metadataSuccess(C,o,A,f,m)}catch(C){if(C instanceof fF)return vx._metadataFailure(o,A);throw C}};vx.fromUrl=async function(o,A){let f=fr.createIfNeeded(o);f.appendForwardSlash();let m=f,C=f.getDerivedResource({url:"tilemapresource.xml"});A=ae(A,ae.EMPTY_OBJECT);let E=await vx._requestMetadata(A,m,C),I=new vx;return pI.call(I,E),I};k(Object.create)&&(vx.prototype=Object.create(pI.prototype),vx.prototype.constructor=vx);function S7e(o,A){return o.westA.rectangle.east&&(o.east=A.rectangle.east),o.southA.rectangle.north&&(o.north=A.rectangle.north),o}function D7e(o,A,f){let m=o.positionToTileXY(hi.southwest(A),f),C=o.positionToTileXY(hi.northeast(A),f);return(Math.abs(C.x-m.x)+1)*(Math.abs(C.y-m.y)+1)>4?0:f}vx._metadataSuccess=function(o,A,f,m,C){let E=/tileformat/i,I=/tileset/i,x=/tilesets/i,y=/boundingbox/i,v,w,Q,M=[],B=o.childNodes[0].childNodes;for(let H=0;H`),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=o.maximumLevel,this._errorEvent=new ir,k(o.url)||k(o.channel)){$t("GoogleEarthEnterpriseMapsProvider.url","GoogleEarthEnterpriseMapsProvider.url and GoogleEarthEnterpriseMapsProvider.channel were deprecated in CesiumJS 1.104. They will be in CesiumJS 1.107. Use GoogleEarthEnterpriseMapsProvider.fromUrl instead.");let A=o.url,f=ae(o.path,"/default_map"),m=fr.createIfNeeded(A).getDerivedResource({url:f[0]==="/"?f.substring(1):f});m.appendForwardSlash(),this._resource=m,this._url=A,this._path=f,this._ready=!1;let C=m.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),E=new Yxe(o);this._readyPromise=M7e(C,E,this).then(()=>(E.build(this),this._ready=!0,!0))}}Object.defineProperties(KE.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},version:{get:function(){return this._version}},requestType:{get:function(){return this._requestType}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.ready","GoogleEarthEnterpriseMapsProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseMapsProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.readyPromise","GoogleEarthEnterpriseMapsProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseMapsProvider.fromUrl instead."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},defaultAlpha:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.defaultAlpha","GoogleEarthEnterpriseMapsProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("GoogleEarthEnterpriseMapsProvider.defaultAlpha","GoogleEarthEnterpriseMapsProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.defaultNightAlpha","GoogleEarthEnterpriseMapsProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){$t("GoogleEarthEnterpriseMapsProvider.defaultNightAlpha","GoogleEarthEnterpriseMapsProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.defaultDayAlpha","GoogleEarthEnterpriseMapsProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("GoogleEarthEnterpriseMapsProvider.defaultDayAlpha","GoogleEarthEnterpriseMapsProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.defaultBrightness","GoogleEarthEnterpriseMapsProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("GoogleEarthEnterpriseMapsProvider.defaultBrightness","GoogleEarthEnterpriseMapsProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.defaultContrast","GoogleEarthEnterpriseMapsProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("GoogleEarthEnterpriseMapsProvider.defaultContrast","GoogleEarthEnterpriseMapsProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.defaultHue","GoogleEarthEnterpriseMapsProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("GoogleEarthEnterpriseMapsProvider.defaultHue","GoogleEarthEnterpriseMapsProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.defaultSaturation","GoogleEarthEnterpriseMapsProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("GoogleEarthEnterpriseMapsProvider.defaultSaturation","GoogleEarthEnterpriseMapsProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.defaultGamma","GoogleEarthEnterpriseMapsProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("GoogleEarthEnterpriseMapsProvider.defaultGamma","GoogleEarthEnterpriseMapsProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.defaultMinificationFilter","GoogleEarthEnterpriseMapsProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("GoogleEarthEnterpriseMapsProvider.defaultMinificationFilter","GoogleEarthEnterpriseMapsProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("GoogleEarthEnterpriseMapsProvider.defaultMagnificationFilter","GoogleEarthEnterpriseMapsProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("GoogleEarthEnterpriseMapsProvider.defaultMagnificationFilter","GoogleEarthEnterpriseMapsProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});KE.fromUrl=async function(o,A,f){f=ae(f,{});let m=ae(f.path,"/default_map"),C=fr.createIfNeeded(o).getDerivedResource({url:m[0]==="/"?m.substring(1):m});C.appendForwardSlash();let E=C.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),I=new Yxe(f);I.channel=A,await M7e(E,I);let x=new KE(f);return I.build(x),x._readyPromise=Promise.resolve(!0),x._ready=!0,x._resource=C,x._url=o,x._path=m,x};KE.prototype.getTileCredits=function(o,A,f){};KE.prototype.requestImage=function(o,A,f,m){let C=this._resource.getDerivedResource({url:"query",request:m,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:o,y:A,z:f+1}});return $1.loadImage(this,C)};KE.prototype.pickFeatures=function(o,A,f,m,C){};KE._logoUrl=void 0;Object.defineProperties(KE,{logoUrl:{get:function(){return k(KE._logoUrl)||(KE._logoUrl=Ja("Assets/Images/google_earth_credit.png")),KE._logoUrl},set:function(o){KE._logoUrl=o}}});var Ete=KE,Poi=/\/$/,T7e=new la('© Mapbox © OpenStreetMap Improve this map');function U4(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.mapId,f=o.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let m=fr.createIfNeeded(ae(o.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=A,this._accessToken=f;let C=ae(o.format,"png");/\./.test(C)||(C=`.${C}`),this._format=C;let E=m.getUrlComponent();Poi.test(E)||(E+="/"),E+=`${A}/{z}/{x}/{y}${this._format}`,m.url=E,m.setQueryParameters({access_token:f});let I;k(o.credit)?(I=o.credit,typeof I=="string"&&(I=new la(I))):I=T7e,this._resource=m,this._imageryProvider=new pI({url:m,credit:I,ellipsoid:o.ellipsoid,minimumLevel:o.minimumLevel,maximumLevel:o.maximumLevel,rectangle:o.rectangle}),this._ready=!0,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(U4.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return $t("MapboxImageryProvider.ready","MapboxImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._imageryProvider.ready}},readyPromise:{get:function(){return $t("MapboxImageryProvider.readyPromise","MapboxImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._imageryProvider._readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},defaultAlpha:{get:function(){return $t("MapboxImageryProvider.defaultAlpha","MapboxImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("MapboxImageryProvider.defaultAlpha","MapboxImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("MapboxImageryProvider.defaultNightAlpha","MapboxImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){$t("MapboxImageryProvider.defaultNightAlpha","MapboxImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("MapboxImageryProvider.defaultDayAlpha","MapboxImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("MapboxImageryProvider.defaultDayAlpha","MapboxImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("MapboxImageryProvider.defaultBrightness","MapboxImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("MapboxImageryProvider.defaultBrightness","MapboxImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("MapboxImageryProvider.defaultContrast","MapboxImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("MapboxImageryProvider.defaultContrast","MapboxImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("MapboxImageryProvider.defaultHue","MapboxImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("MapboxImageryProvider.defaultHue","MapboxImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("MapboxImageryProvider.defaultSaturation","MapboxImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("MapboxImageryProvider.defaultSaturation","MapboxImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("MapboxImageryProvider.defaultGamma","MapboxImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("MapboxImageryProvider.defaultGamma","MapboxImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("MapboxImageryProvider.defaultMinificationFilter","MapboxImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("MapboxImageryProvider.defaultMinificationFilter","MapboxImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("MapboxImageryProvider.defaultMagnificationFilter","MapboxImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("MapboxImageryProvider.defaultMagnificationFilter","MapboxImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});U4.prototype.getTileCredits=function(o,A,f){};U4.prototype.requestImage=function(o,A,f,m){return this._imageryProvider.requestImage(o,A,f,m)};U4.prototype.pickFeatures=function(o,A,f,m,C){return this._imageryProvider.pickFeatures(o,A,f,m,C)};U4._defaultCredit=T7e;var O4=U4;function OF(o){o=ae(o,ae.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let A=ae(o.rectangle,hi.MAX_VALUE),f=new ph({rectangle:A,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:o.ellipsoid});this._tilingScheme=f,this._image=void 0,this._texture=void 0,this._hasError=!1,this._errorEvent=new ir,this._ready=!1;let m=o.credit;typeof m=="string"&&(m=new la(m)),this._credit=m;let C=fr.createIfNeeded(o.url);if(this._resource=C,k(o.tileWidth)||k(o.tileHeight)){this._tileWidth=o.tileWidth,this._tileHeight=o.tileHeight,this._ready=!0,this._readyPromise=Promise.resolve(!0);return}$t("SingleTileImageryProvider options","options.tileHeight and options.tileWidth became required in CesiumJS 1.104. Omitting these properties will result in an error in 1.107. Provide options.tileHeight and options.tileWidth, or use SingleTileImageryProvider.fromUrl instead."),this._tileWidth=0,this._tileHeight=0,this._readyPromise=Ite(C,this).then(E=>(Wc.reportSuccess(this._errorEvent),this._image=E,this._tileWidth=E.width,this._tileHeight=E.height,this._ready=!0,!0))}Object.defineProperties(OF.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return 0}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return $t("SingleTileImageryProvider.ready","SingleTileImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use SingleTileImageryProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return $t("SingleTileImageryProvider.readyPromise","SingleTileImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use SingleTileImageryProvider.fromUrl instead."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},defaultAlpha:{get:function(){return $t("SingleTileImageryProvider.defaultAlpha","SingleTileImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("SingleTileImageryProvider.defaultAlpha","SingleTileImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("SingleTileImageryProvider.defaultNightAlpha","SingleTileImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){$t("SingleTileImageryProvider.defaultNightAlpha","SingleTileImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("SingleTileImageryProvider.defaultDayAlpha","SingleTileImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("SingleTileImageryProvider.defaultDayAlpha","SingleTileImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("SingleTileImageryProvider.defaultBrightness","SingleTileImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("SingleTileImageryProvider.defaultBrightness","SingleTileImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("SingleTileImageryProvider.defaultContrast","SingleTileImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("SingleTileImageryProvider.defaultContrast","SingleTileImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("SingleTileImageryProvider.defaultHue","SingleTileImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("SingleTileImageryProvider.defaultHue","SingleTileImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("SingleTileImageryProvider.defaultSaturation","SingleTileImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("SingleTileImageryProvider.defaultSaturation","SingleTileImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("SingleTileImageryProvider.defaultGamma","SingleTileImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("SingleTileImageryProvider.defaultGamma","SingleTileImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("SingleTileImageryProvider.defaultMinificationFilter","SingleTileImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("SingleTileImageryProvider.defaultMinificationFilter","SingleTileImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("SingleTileImageryProvider.defaultMagnificationFilter","SingleTileImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("SingleTileImageryProvider.defaultMagnificationFilter","SingleTileImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});function Roi(o,A,f,m){let C=`Failed to load image ${o.url}`;k(A)&&k(A.message)&&(C+=`: ${A.message}`);let E=Wc.reportError(m,f,k(f)?f._errorEvent:void 0,C,0,0,0,A);if(E.retry)return Ite(o,f,E);throw k(f)&&(f._hasError=!0),new Ti(C)}async function Ite(o,A,f){try{return await $1.loadImage(null,o)}catch(m){return Roi(o,m,A,f)}}OF.fromUrl=async function(o,A){let f=fr.createIfNeeded(o),m=await Ite(f);A=ae(A,ae.EMPTY_OBJECT);let C=new OF({...A,url:o,tileWidth:m.width,tileHeight:m.height});return C._image=m,C};OF.prototype.getTileCredits=function(o,A,f){};OF.prototype.requestImage=async function(o,A,f,m){if(!this._hasError&&!k(this._image)){let C=await Ite(this._resource,this);return this._image=C,Wc.reportSuccess(this._errorEvent),C}return this._image};OF.prototype.pickFeatures=function(o,A,f,m,C){};var Bv=OF;function Loi(o,A,f){this.type=o,k(A)||(o==="json"?A="application/json":o==="xml"?A="text/xml":o==="html"?A="text/html":o==="text"&&(A="text/plain")),this.format=A,k(f)||(o==="json"?f=Foi:o==="xml"?f=Ooi:(o==="html"||o==="text")&&(f=qoi)),this.callback=f}function Foi(o){let A=[],f=o.features;for(let m=0;m0)for(let E=0;E\s*<\/body>/im,Koi=//im,Woi=/([\s\S]*)<\/title>/im;function qoi(o){if(Joi.test(o)||Koi.test(o))return;let A,f=Woi.exec(o);f&&f.length>1&&(A=f[1]);let m=new IP;return m.name=A,m.description=o,m.data=o,[m]}var qH=Loi;function fY(o){o=ae(o,ae.EMPTY_OBJECT),this._tileCache={},this._tilesRequestedForInterval=[];let A=this._clock=o.clock;this._times=o.times,this._requestImageFunction=o.requestImageFunction,this._reloadFunction=o.reloadFunction,this._currentIntervalIndex=-1,A.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(A)}Object.defineProperties(fY.prototype,{clock:{get:function(){return this._clock},set:function(o){this._clock!==o&&(this._clock=o,this._clockOnTick(o),this._reloadFunction())}},times:{get:function(){return this._times},set:function(o){this._times!==o&&(this._times=o,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}});fY.prototype.getFromCache=function(o,A,f,m){let C=P7e(o,A,f),E,I=this._tileCache[this._currentIntervalIndex];if(k(I)&&k(I[C])){let x=I[C];E=x.promise.catch(function(y){throw m.state=x.request.state,y}),delete I[C]}return E};fY.prototype.checkApproachingInterval=function(o,A,f,m){let C=P7e(o,A,f),E=this._tilesRequestedForInterval,I=R7e(this),x={key:C,priorityFunction:m.priorityFunction};(!k(I)||!L7e(this,x,I))&&E.push(x),E.length>=512&&E.splice(0,256)};fY.prototype._clockOnTick=function(o){let A=o.currentTime,f=this._times.indexOf(A),m=this._currentIntervalIndex;if(f!==m){let E=this._tileCache[m];for(let I in E)E.hasOwnProperty(I)&&E[I].request.cancel();delete this._tileCache[m],this._tilesRequestedForInterval=[],this._currentIntervalIndex=f,this._reloadFunction();return}let C=R7e(this);if(k(C)){let E=this._tilesRequestedForInterval,I=!0;for(;I&&E.length!==0;){let x=E.pop();I=L7e(this,x,C),I||E.push(x)}}};function P7e(o,A,f){return`${o}-${A}-${f}`}function joi(o){let A=o.split("-");if(A.length===3)return{x:Number(A[0]),y:Number(A[1]),level:Number(A[2])}}function R7e(o){let A=o._times;if(!k(A))return;let f=o._clock,m=f.currentTime,C=f.canAnimate&&f.shouldAnimate,E=f.multiplier;if(!C&&E!==0)return;let I,x=A.indexOf(m);if(x<0)return;let y=A.get(x);return E>0?(I=jt.secondsDifference(y.stop,m),++x):(I=jt.secondsDifference(y.start,m),--x),I/=E,x>=0&&I<=5?A.get(x):void 0}function L7e(o,A,f){let m=o._times.indexOf(f.start),C=o._tileCache,E=C[m];k(E)||(E=C[m]={});let I=A.key;if(k(E[I]))return!0;let x=joi(I),y=new g0({throttle:!1,throttleByServer:!0,type:kx.IMAGERY,priorityFunction:A.priorityFunction}),v=o._requestImageFunction(x.x,x.y,x.level,y,f);return k(v)?(E[I]={promise:v,request:y},!0):!1}var xte=fY,Xoi=[3034,3035,3042,3043,3044],Zoi=[4471,4559,4544];function Z_(o){if(o=ae(o,ae.EMPTY_OBJECT),k(o.times)&&!k(o.clock))throw new ni("options.times was specified, so options.clock is required.");this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._getFeatureInfoUrl=ae(o.getFeatureInfoUrl,o.url);let A=fr.createIfNeeded(o.url),f=fr.createIfNeeded(this._getFeatureInfoUrl);A.setQueryParameters(Z_.DefaultParameters,!0),f.setQueryParameters(Z_.GetFeatureInfoDefaultParameters,!0),k(o.parameters)&&A.setQueryParameters(rNe(o.parameters)),k(o.getFeatureInfoParameters)&&f.setQueryParameters(rNe(o.getFeatureInfoParameters));let m=this;this._reload=void 0,k(o.times)&&(this._timeDynamicImagery=new xte({clock:o.clock,times:o.times,requestImageFunction:function(I,x,y,v,w){return F7e(m,I,x,y,v,w)},reloadFunction:function(){k(m._reload)&&m._reload()}}));let C={};if(C.layers=o.layers,C.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",C.width="{width}",C.height="{height}",parseFloat(A.queryParameters.version)>=1.3){C.crs=ae(o.crs,o.tilingScheme&&o.tilingScheme.projection instanceof Pu?"EPSG:3857":"CRS:84");let I=C.crs.split(":");if(I[0]==="EPSG"&&I.length===2){let x=Number(I[1]),y=ae(o.reverseAxis,!0);(x>=4e3&&x<5e3&&!Zoi.includes(x)&&y||Xoi.includes(x))&&(C.bbox="{southProjected},{westProjected},{northProjected},{eastProjected}")}}else C.srs=ae(o.srs,o.tilingScheme&&o.tilingScheme.projection instanceof Pu?"EPSG:3857":"EPSG:4326");A.setQueryParameters(C,!0),f.setQueryParameters(C,!0);let E={query_layers:o.layers,info_format:"{format}"};parseFloat(f.queryParameters.version)>=1.3?(E.i="{i}",E.j="{j}"):(E.x="{i}",E.y="{j}"),f.setQueryParameters(E,!0),this._resource=A,this._pickFeaturesResource=f,this._layers=o.layers,this._tileProvider=new pI({url:A,pickFeaturesUrl:f,tilingScheme:ae(o.tilingScheme,new ph({ellipsoid:o.ellipsoid})),rectangle:o.rectangle,tileWidth:o.tileWidth,tileHeight:o.tileHeight,minimumLevel:o.minimumLevel,maximumLevel:o.maximumLevel,subdomains:o.subdomains,tileDiscardPolicy:o.tileDiscardPolicy,credit:o.credit,getFeatureInfoFormats:ae(o.getFeatureInfoFormats,Z_.DefaultGetFeatureInfoFormats),enablePickFeatures:o.enablePickFeatures}),this._ready=!0,this._readyPromise=Promise.resolve(!0)}function F7e(o,A,f,m,C,E){let I=k(E)?E.data:void 0,x=o._tileProvider;return k(I)&&x._resource.setQueryParameters(I),x.requestImage(A,f,m,C)}function $oi(o,A,f,m,C,E,I){let x=k(I)?I.data:void 0,y=o._tileProvider;return k(x)&&y._pickFeaturesResource.setQueryParameters(x),y.pickFeatures(A,f,m,C,E)}Object.defineProperties(Z_.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},ready:{get:function(){return $t("WebMapServiceImageryProvider.ready","WebMapServiceImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._tileProvider.ready}},readyPromise:{get:function(){return $t("WebMapServiceImageryProvider.readyPromise","WebMapServiceImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._tileProvider.readyPromise}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(o){this._tileProvider.enablePickFeatures=o}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(o){this._timeDynamicImagery.clock=o}},times:{get:function(){return this._timeDynamicImagery.times},set:function(o){this._timeDynamicImagery.times=o}},getFeatureInfoUrl:{get:function(){return this._getFeatureInfoUrl}},defaultAlpha:{get:function(){return $t("WebMapServiceImageryProvider.defaultAlpha","WebMapServiceImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("WebMapServiceImageryProvider.defaultAlpha","WebMapServiceImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("WebMapServiceImageryProvider.defaultNightAlpha","WebMapServiceImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){$t("WebMapServiceImageryProvider.defaultNightAlpha","WebMapServiceImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("WebMapServiceImageryProvider.defaultDayAlpha","WebMapServiceImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("WebMapServiceImageryProvider.defaultDayAlpha","WebMapServiceImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("WebMapServiceImageryProvider.defaultBrightness","WebMapServiceImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("WebMapServiceImageryProvider.defaultBrightness","WebMapServiceImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("WebMapServiceImageryProvider.defaultContrast","WebMapServiceImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("WebMapServiceImageryProvider.defaultContrast","WebMapServiceImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("WebMapServiceImageryProvider.defaultHue","WebMapServiceImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("WebMapServiceImageryProvider.defaultHue","WebMapServiceImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("WebMapServiceImageryProvider.defaultSaturation","WebMapServiceImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("WebMapServiceImageryProvider.defaultSaturation","WebMapServiceImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("WebMapServiceImageryProvider.defaultGamma","WebMapServiceImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("WebMapServiceImageryProvider.defaultGamma","WebMapServiceImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("WebMapServiceImageryProvider.defaultMinificationFilter","WebMapServiceImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("WebMapServiceImageryProvider.defaultMinificationFilter","WebMapServiceImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("WebMapServiceImageryProvider.defaultMagnificationFilter","WebMapServiceImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("WebMapServiceImageryProvider.defaultMagnificationFilter","WebMapServiceImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});Z_.prototype.getTileCredits=function(o,A,f){return this._tileProvider.getTileCredits(o,A,f)};Z_.prototype.requestImage=function(o,A,f,m){let C,E=this._timeDynamicImagery,I;return k(E)&&(I=E.currentInterval,C=E.getFromCache(o,A,f,m)),k(C)||(C=F7e(this,o,A,f,m,I)),k(C)&&k(E)&&E.checkApproachingInterval(o,A,f,m),C};Z_.prototype.pickFeatures=function(o,A,f,m,C){let E=this._timeDynamicImagery,I=k(E)?E.currentInterval:void 0;return $oi(this,o,A,f,m,C,I)};Z_.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"});Z_.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"});Z_.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new qH("json","application/json")),Object.freeze(new qH("xml","text/xml")),Object.freeze(new qH("text","text/html"))]);function rNe(o){let A={};for(let f in o)o.hasOwnProperty(f)&&(A[f.toLowerCase()]=o[f]);return A}var G4=Z_,eai=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function pY(o){o=ae(o,ae.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let A=fr.createIfNeeded(o.url),f=o.style,m=o.tileMatrixSetID,C=A.url,E=C.match(/{/g);if(!k(E)||E.length===1&&/{s}/.test(C))A.setQueryParameters(eai),this._useKvp=!0;else{let Q={style:f,Style:f,TileMatrixSet:m};A.setTemplateValues(Q),this._useKvp=!1}this._resource=A,this._layer=o.layer,this._style=f,this._tileMatrixSetID=m,this._tileMatrixLabels=o.tileMatrixLabels,this._format=ae(o.format,"image/jpeg"),this._tileDiscardPolicy=o.tileDiscardPolicy,this._tilingScheme=k(o.tilingScheme)?o.tilingScheme:new Sf({ellipsoid:o.ellipsoid}),this._tileWidth=ae(o.tileWidth,256),this._tileHeight=ae(o.tileHeight,256),this._minimumLevel=ae(o.minimumLevel,0),this._maximumLevel=o.maximumLevel,this._rectangle=ae(o.rectangle,this._tilingScheme.rectangle),this._dimensions=o.dimensions;let I=this;this._reload=void 0,k(o.times)&&(this._timeDynamicImagery=new xte({clock:o.clock,times:o.times,requestImageFunction:function(Q,M,B,D,S){return N7e(I,Q,M,B,D,S)},reloadFunction:function(){k(I._reload)&&I._reload()}})),this._readyPromise=Promise.resolve(!0),this._ready=!0;let x=this._tilingScheme.positionToTileXY(hi.southwest(this._rectangle),this._minimumLevel),y=this._tilingScheme.positionToTileXY(hi.northeast(this._rectangle),this._minimumLevel),v=(Math.abs(y.x-x.x)+1)*(Math.abs(y.y-x.y)+1);this._errorEvent=new ir;let w=o.credit;this._credit=typeof w=="string"?new la(w):w,this._subdomains=o.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():k(this._subdomains)&&this._subdomains.length>0?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function N7e(o,A,f,m,C,E){let I=o._tileMatrixLabels,x=k(I)?I[m]:m.toString(),y=o._subdomains,v=o._dimensions,w=k(E)?E.data:void 0,Q,M;if(!o._useKvp)M={TileMatrix:x,TileRow:f.toString(),TileCol:A.toString(),s:y[(A+f+m)%y.length]},Q=o._resource.getDerivedResource({request:C}),Q.setTemplateValues(M),k(v)&&Q.setTemplateValues(v),k(w)&&Q.setTemplateValues(w);else{let B={};B.tilematrix=x,B.layer=o._layer,B.style=o._style,B.tilerow=f,B.tilecol=A,B.tilematrixset=o._tileMatrixSetID,B.format=o._format,k(v)&&(B=yo(B,v)),k(w)&&(B=yo(B,w)),M={s:y[(A+f+m)%y.length]},Q=o._resource.getDerivedResource({queryParameters:B,request:C}),Q.setTemplateValues(M)}return $1.loadImage(o,Q)}Object.defineProperties(pY.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},ready:{get:function(){return $t("WebMapTileServiceImageryProvider.ready","WebMapTileServiceImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),!0}},readyPromise:{get:function(){return $t("WebMapTileServiceImageryProvider.readyPromise","WebMapTileServiceImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(o){this._timeDynamicImagery.clock=o}},times:{get:function(){return this._timeDynamicImagery.times},set:function(o){this._timeDynamicImagery.times=o}},dimensions:{get:function(){return this._dimensions},set:function(o){this._dimensions!==o&&(this._dimensions=o,k(this._reload)&&this._reload())}},defaultAlpha:{get:function(){return $t("WebMapTileServiceImageryProvider.defaultAlpha","WebMapTileServiceImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("WebMapTileServiceImageryProvider.defaultAlpha","WebMapTileServiceImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("WebMapTileServiceImageryProvider.defaultNightAlpha","WebMapTileServiceImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){$t("WebMapTileServiceImageryProvider.defaultNightAlpha","WebMapTileServiceImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("WebMapTileServiceImageryProvider.defaultDayAlpha","WebMapTileServiceImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("WebMapTileServiceImageryProvider.defaultDayAlpha","WebMapTileServiceImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("WebMapTileServiceImageryProvider.defaultBrightness","WebMapTileServiceImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("WebMapTileServiceImageryProvider.defaultBrightness","WebMapTileServiceImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("WebMapTileServiceImageryProvider.defaultContrast","WebMapTileServiceImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("WebMapTileServiceImageryProvider.defaultContrast","WebMapTileServiceImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("WebMapTileServiceImageryProvider.defaultHue","WebMapTileServiceImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("WebMapTileServiceImageryProvider.defaultHue","WebMapTileServiceImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("WebMapTileServiceImageryProvider.defaultSaturation","WebMapTileServiceImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("WebMapTileServiceImageryProvider.defaultSaturation","WebMapTileServiceImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("WebMapTileServiceImageryProvider.defaultGamma","WebMapTileServiceImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("WebMapTileServiceImageryProvider.defaultGamma","WebMapTileServiceImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("WebMapTileServiceImageryProvider.defaultMinificationFilter","WebMapTileServiceImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("WebMapTileServiceImageryProvider.defaultMinificationFilter","WebMapTileServiceImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("WebMapTileServiceImageryProvider.defaultMagnificationFilter","WebMapTileServiceImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("WebMapTileServiceImageryProvider.defaultMagnificationFilter","WebMapTileServiceImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});pY.prototype.getTileCredits=function(o,A,f){};pY.prototype.requestImage=function(o,A,f,m){let C,E=this._timeDynamicImagery,I;return k(E)&&(I=E.currentInterval,C=E.getFromCache(o,A,f,m)),k(C)||(C=N7e(this,o,A,f,m,I)),k(C)&&k(E)&&E.checkApproachingInterval(o,A,f,m),C};pY.prototype.pickFeatures=function(o,A,f,m,C){};var RN=pY;function GQ(o){return function(A){return new o(A)}}var tai={ARCGIS_MAPSERVER:GQ(Zy),BING:GQ(fte),GOOGLE_EARTH:GQ(Ete),MAPBOX:GQ(O4),SINGLE_TILE:GQ(Bv),TMS:GQ(MB),URL_TEMPLATE:GQ(pI),WMS:GQ(G4),WMTS:GQ(RN)},iai={ARCGIS_MAPSERVER:Zy.fromUrl,BING:async(o,A)=>fte.fromUrl(o,A),GOOGLE_EARTH:async(o,A)=>{let f=A.channel;return delete A.channel,Ete.fromUrl(o,f,A)},MAPBOX:(o,A)=>new O4({url:o,...A}),SINGLE_TILE:Bv.fromUrl,TMS:MB.fromUrl,URL_TEMPLATE:(o,A)=>new pI({url:o,...A}),WMS:(o,A)=>new G4({url:o,...A}),WMTS:(o,A)=>new RN({url:o,...A})};function $E(o){o=ae(o,ae.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._ready=!1,this._tileCredits=void 0,this._errorEvent=new ir;let A=o.assetId;k(A)&&($t("IonImageryProvider options.assetId","options.assetId was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use IonImageryProvider.fromAssetId instead."),$E._initialize(this,A,o))}Object.defineProperties($E.prototype,{ready:{get:function(){return $t("IonImageryProvider.ready","IonImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use IonImageryProvider.fromAssetId instead."),this._ready}},readyPromise:{get:function(){return $t("IonImageryProvider.readyPromise","IonImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use IonImageryProvider.fromAssetId instead."),this._readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},proxy:{get:function(){}},defaultAlpha:{get:function(){return $t("IonImageryProvider.defaultAlpha","IonImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("IonImageryProvider.defaultAlpha","IonImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("IonImageryProvider.defaultNightAlpha","IonImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){$t("IonImageryProvider.defaultNightAlpha","IonImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("IonImageryProvider.defaultDayAlpha","IonImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("IonImageryProvider.defaultDayAlpha","IonImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("IonImageryProvider.defaultBrightness","IonImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("IonImageryProvider.defaultBrightness","IonImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("IonImageryProvider.defaultContrast","IonImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("IonImageryProvider.defaultContrast","IonImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("IonImageryProvider.defaultHue","IonImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("IonImageryProvider.defaultHue","IonImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("IonImageryProvider.defaultSaturation","IonImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("IonImageryProvider.defaultSaturation","IonImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("IonImageryProvider.defaultGamma","IonImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("IonImageryProvider.defaultGamma","IonImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("IonImageryProvider.defaultMinificationFilter","IonImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("IonImageryProvider.defaultMinificationFilter","IonImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("IonImageryProvider.defaultMagnificationFilter","IonImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("IonImageryProvider.defaultMagnificationFilter","IonImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});$E._initialize=function(o,A,f){let m=jy._createEndpointResource(A,f),C=A.toString()+f.accessToken+f.server,E=$E._endpointCache[C];k(E)||(E=m.fetchJson(),$E._endpointCache[C]=E),o._readyPromise=E.then(function(I){if(I.type!=="IMAGERY")return Promise.reject(new Ti(`Cesium ion asset ${A} is not an imagery asset.`));let x,y=I.externalType;if(!k(y))x=new MB({url:new jy(I,m)});else{let v=tai[y];if(!k(v))return Promise.reject(new Ti(`Unrecognized Cesium ion imagery type: ${y}`));x=v(I.options)}return o._tileCredits=jy.getCreditsFromEndpoint(I,m),x.errorEvent.addEventListener(function(v){v.provider=o,o._errorEvent.raiseEvent(v)}),o._imageryProvider=x,Promise.resolve(x._readyPromise).then(function(){return o._ready=!0,!0})})};$E.fromAssetId=async function(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=jy._createEndpointResource(o,A),m=o.toString()+A.accessToken+A.server,C=$E._endpointCache[m];k(C)||(C=f.fetchJson(),$E._endpointCache[m]=C);let E=await C;if(E.type!=="IMAGERY")throw new Ti(`Cesium ion asset ${o} is not an imagery asset.`);let I,x=E.externalType;if(!k(x))I=await MB.fromUrl(new jy(E,f));else{let v=iai[x];if(!k(v))throw new Ti(`Unrecognized Cesium ion imagery type: ${x}`);let w={...E.options},Q=w.url;delete w.url,I=await v(Q,w)}let y=new $E(A);return I.errorEvent.addEventListener(function(v){v.provider=y,y._errorEvent.raiseEvent(v)}),y._tileCredits=jy.getCreditsFromEndpoint(E,f),y._imageryProvider=I,y._ready=!0,y._readyPromise=Promise.resolve(!0),y};$E.prototype.getTileCredits=function(o,A,f){let m=this._imageryProvider.getTileCredits(o,A,f);return k(m)?this._tileCredits.concat(m):this._tileCredits};$E.prototype.requestImage=function(o,A,f,m){return this._imageryProvider.requestImage(o,A,f,m)};$E.prototype.pickFeatures=function(o,A,f,m,C){return this._imageryProvider.pickFeatures(o,A,f,m,C)};$E._endpointCache={};var h2=$E,rai={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4},cF=Object.freeze(rai);function nai(o){o=ae(o,ae.EMPTY_OBJECT);let A=ae(o.style,cF.AERIAL);return h2.fromAssetId(A)}var xU=nai;function fO(o,A,f,m,C){if(this.imageryLayer=o,this.x=A,this.y=f,this.level=m,this.request=void 0,m!==0){let I=A/2|0,x=f/2|0,y=m-1;this.parent=o.getImageryFromCache(I,x,y)}this.state=mA.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0;let E=o.imageryProvider;!k(C)&&o.ready&&(k(E._ready)?E._ready:!k(E.ready)||E.ready)&&(C=o.imageryProvider.tilingScheme.tileXYToRectangle(A,f,m)),this.rectangle=C}fO.createPlaceholder=function(o){let A=new fO(o,0,0,0);return A.addReference(),A.state=mA.PLACEHOLDER,A};fO.prototype.addReference=function(){++this.referenceCount};fO.prototype.releaseReference=function(){return--this.referenceCount,this.referenceCount===0?(this.imageryLayer.removeImageryFromCache(this),k(this.parent)&&this.parent.releaseReference(),k(this.image)&&k(this.image.destroy)&&this.image.destroy(),k(this.texture)&&this.texture.destroy(),k(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),ar(this),0):this.referenceCount};fO.prototype.processStateMachine=function(o,A,f){this.state===mA.UNLOADED&&!f&&(this.state=mA.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===mA.RECEIVED&&(this.state=mA.TRANSITIONING,this.imageryLayer._createTexture(o.context,this));let m=this.state===mA.READY&&A&&!this.texture;(this.state===mA.TEXTURE_LOADED||m)&&(this.state=mA.TRANSITIONING,this.imageryLayer._reprojectTexture(o,this,A))};var yte=fO;function Kxe(o,A,f){this.readyImagery=void 0,this.loadingImagery=o,this.textureCoordinateRectangle=A,this.textureTranslationAndScale=void 0,this.useWebMercatorT=f}Kxe.prototype.freeResources=function(){k(this.readyImagery)&&this.readyImagery.releaseReference(),k(this.loadingImagery)&&this.loadingImagery.releaseReference()};Kxe.prototype.processStateMachine=function(o,A,f){let m=this.loadingImagery,C=m.imageryLayer;if(m.processStateMachine(A,!this.useWebMercatorT,f),m.state===mA.READY)return k(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=C._calculateTextureTranslationAndScale(o,this),!0;let E=m.parent,I;for(;k(E)&&(E.state!==mA.READY||!this.useWebMercatorT&&!k(E.texture));)E.state!==mA.FAILED&&E.state!==mA.INVALID&&(I=I||E),E=E.parent;return this.readyImagery!==E&&(k(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=E,k(E)&&(E.addReference(),this.textureTranslationAndScale=C._calculateTextureTranslationAndScale(o,this))),m.state===mA.FAILED||m.state===mA.INVALID?k(I)?(I.processStateMachine(A,!this.useWebMercatorT,f),!1):!0:!1};var vte=Kxe;function xl(o,A){this._imageryProvider=o,this._readyEvent=new ir,this._errorEvent=new ir,A=ae(A,ae.EMPTY_OBJECT),o=ae(o,ae.EMPTY_OBJECT),this._availability=void 0,this._definitionChanged=new ir,this.availability=ae(this.availability,A.availability),this.alpha=ae(A.alpha,ae(o._defaultAlpha,1)),this.nightAlpha=ae(A.nightAlpha,ae(o._defaultNightAlpha,1)),this.dayAlpha=ae(A.dayAlpha,ae(o._defaultDayAlpha,1)),this.brightness=ae(A.brightness,ae(o._defaultBrightness,xl.DEFAULT_BRIGHTNESS)),this.contrast=ae(A.contrast,ae(o._defaultContrast,xl.DEFAULT_CONTRAST)),this.hue=ae(A.hue,ae(o._defaultHue,xl.DEFAULT_HUE)),this.saturation=ae(A.saturation,ae(o._defaultSaturation,xl.DEFAULT_SATURATION)),this.gamma=ae(A.gamma,ae(o._defaultGamma,xl.DEFAULT_GAMMA)),this.splitDirection=ae(A.splitDirection,xl.DEFAULT_SPLIT),this.minificationFilter=ae(A.minificationFilter,ae(o._defaultMinificationFilter,xl.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=ae(A.magnificationFilter,ae(o._defaultMagnificationFilter,xl.DEFAULT_MAGNIFICATION_FILTER)),this.show=ae(A.show,!0),this._minimumTerrainLevel=A.minimumTerrainLevel,this._maximumTerrainLevel=A.maximumTerrainLevel,this._rectangle=ae(A.rectangle,hi.MAX_VALUE),this._maximumAnisotropy=A.maximumAnisotropy,this._imageryCache={},this._imageryCacheAdd={},this._skeletonPlaceholder=new vte(yte.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=A.cutoutRectangle,this.colorToAlpha=A.colorToAlpha,this.colorToAlphaThreshold=ae(A.colorToAlphaThreshold,xl.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD)}Object.defineProperties(xl.prototype,{availability:ox("availability"),definitionChanged:{get:function(){return this._definitionChanged}},imageryProvider:{get:function(){return this._imageryProvider}},ready:{get:function(){return k(this._imageryProvider)}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},rectangle:{get:function(){return this._rectangle}}});xl.DEFAULT_BRIGHTNESS=1;xl.DEFAULT_CONTRAST=1;xl.DEFAULT_HUE=0;xl.DEFAULT_SATURATION=1;xl.DEFAULT_GAMMA=1;xl.DEFAULT_SPLIT=fI.NONE;xl.DEFAULT_MINIFICATION_FILTER=ya.LINEAR;xl.DEFAULT_MAGNIFICATION_FILTER=mu.LINEAR;xl.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004;xl.fromProviderAsync=function(o,A){let f=new xl(void 0,A);return Aai(f,Promise.resolve(o)),f};xl.fromWorldImagery=function(o){return o=ae(o,ae.EMPTY_OBJECT),xl.fromProviderAsync(xU({style:o.style}),o)};xl.prototype.isBaseLayer=function(){return this._isBaseLayer};xl.prototype.isDestroyed=function(){return!1};xl.prototype.destroy=function(){return ar(this)};var k7e=new hi,nNe=new hi,vle=new hi,U7e=new hi;xl.prototype.getViewableRectangle=async function(){$t("ImageryLayer.getViewableRectangle","ImageryLayer.getViewableRectangle was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.getImageryRectangle instead.");let o=this._imageryProvider,A=this._rectangle;return k(o._readyPromise)?await o._readyPromise:k(o.readyPromise)&&await o.readyPromise,hi.intersection(o.rectangle,A)};xl.prototype.getImageryRectangle=function(){let o=this._imageryProvider,A=this._rectangle;return hi.intersection(o.rectangle,A)};xl.prototype._createTileImagerySkeletons=function(o,A,f){let m=o.data;if(!k(A)||k(this._minimumTerrainLevel)&&o.level<this._minimumTerrainLevel||k(this._maximumTerrainLevel)&&o.level>this._maximumTerrainLevel)return!1;k(f)||(f=m.imagery.length);let C=this._imageryProvider;if(!this.ready||(k(C._ready)?!C._ready:k(C.ready)&&!C.ready))return this._skeletonPlaceholder.loadingImagery.addReference(),m.imagery.splice(f,0,this._skeletonPlaceholder),!0;let E=(C.tilingScheme.projection instanceof Pu||C.tilingScheme.projection instanceof FO)&&o.rectangle.north<Pu.MaximumLatitude&&o.rectangle.south>-Pu.MaximumLatitude,I=hi.intersection(C.rectangle,this._rectangle,k7e),x=hi.intersection(o.rectangle,I,nNe);if(!k(x)){if(!this.isBaseLayer())return!1;let ee=I,ie=o.rectangle;x=nNe,ie.south>=ee.north?x.north=x.south=ee.north:ie.north<=ee.south?x.north=x.south=ee.south:(x.south=Math.max(ie.south,ee.south),x.north=Math.min(ie.north,ee.north)),ie.west>=ee.east?x.west=x.east=ee.east:ie.east<=ee.west?x.west=x.east=ee.west:(x.west=Math.max(ie.west,ee.west),x.east=Math.min(ie.east,ee.east))}let y=0;x.south>0?y=x.south:x.north<0&&(y=x.north);let v=1*A.getLevelMaximumGeometricError(o.level),w=sai(this,v,y);w=Math.max(0,w);let Q=C.maximumLevel;if(w>Q&&(w=Q),k(C.minimumLevel)){let ee=C.minimumLevel;w<ee&&(w=ee)}let M=C.tilingScheme,B=M.positionToTileXY(hi.northwest(x),w),D=M.positionToTileXY(hi.southeast(x),w),S=o.rectangle.width/512,P=o.rectangle.height/512,R=M.tileXYToRectangle(B.x,B.y,w);Math.abs(R.south-o.rectangle.north)<P&&B.y<D.y&&++B.y,Math.abs(R.east-o.rectangle.west)<S&&B.x<D.x&&++B.x;let T=M.tileXYToRectangle(D.x,D.y,w);Math.abs(T.north-o.rectangle.south)<P&&D.y>B.y&&--D.y,Math.abs(T.west-o.rectangle.east)<S&&D.x>B.x&&--D.x;let L=hi.clone(o.rectangle,U7e),F=M.tileXYToRectangle(B.x,B.y,w),U=hi.intersection(F,I,vle),N;E?(M.rectangleToNativeRectangle(L,L),M.rectangleToNativeRectangle(F,F),M.rectangleToNativeRectangle(U,U),M.rectangleToNativeRectangle(I,I),N=M.tileXYToNativeRectangle.bind(M),S=L.width/512,P=L.height/512):N=M.tileXYToRectangle.bind(M);let H,J=0,K=1,X;!this.isBaseLayer()&&Math.abs(U.west-L.west)>=S&&(J=Math.min(1,(U.west-L.west)/L.width)),!this.isBaseLayer()&&Math.abs(U.north-L.north)>=P&&(K=Math.max(0,(U.north-L.south)/L.height));let j=K;for(let ee=B.x;ee<=D.x;ee++)if(H=J,F=N(ee,B.y,w),U=hi.simpleIntersection(F,I,vle),!!k(U)){J=Math.min(1,(U.east-L.west)/L.width),ee===D.x&&(this.isBaseLayer()||Math.abs(U.east-L.east)<S)&&(J=1),K=j;for(let ie=B.y;ie<=D.y;ie++){if(X=K,F=N(ee,ie,w),U=hi.simpleIntersection(F,I,vle),!k(U))continue;K=Math.max(0,(U.south-L.south)/L.height),ie===D.y&&(this.isBaseLayer()||Math.abs(U.south-L.south)<P)&&(K=0);let z=new kt(H,K,J,X),oe=this.getImageryFromCache(ee,ie,w);m.imagery.splice(f,0,new vte(oe,z,E)),++f}}return!0};xl.prototype._calculateTextureTranslationAndScale=function(o,A){let f=A.readyImagery.rectangle,m=o.rectangle;if(A.useWebMercatorT){let y=A.readyImagery.imageryLayer.imageryProvider.tilingScheme;f=y.rectangleToNativeRectangle(f,k7e),m=y.rectangleToNativeRectangle(m,U7e)}let C=m.width,E=m.height,I=C/f.width,x=E/f.height;return new kt(I*(m.west-f.west)/C,x*(m.south-f.south)/E,I,x)};xl.prototype._requestImagery=function(o){let A=this._imageryProvider,f=this,m=pO(o.x,o.y,o.level);A.addLevel&&this._imageryCache[m]&&(delete this._imageryCache[m],o.level+=A.addLevel,m=pO(o.x,o.y,o.level),this._imageryCacheAdd[m]=o);function C(x){if(!k(x))return E();o.image=x,o.state=mA.RECEIVED,o.request=void 0,Wc.reportSuccess(f._requestImageError)}function E(x){if(o.request.state===SA.CANCELLED){o.state=mA.UNLOADED,o.request=void 0;return}o.state=mA.FAILED,o.request=void 0;let y=`Failed to obtain image tile X: ${o.x} Y: ${o.y} Level: ${o.level}.`;f._requestImageError=Wc.reportError(f._requestImageError,A,A.errorEvent,y,o.x,o.y,o.level,x),f._requestImageError.retry&&I()}function I(){let x=new g0({throttle:!1,throttleByServer:!0,type:kx.IMAGERY});o.request=x,o.state=mA.TRANSITIONING;let y=A.requestImage(o.x,o.y,o.level,x);if(!k(y)){o.state=mA.UNLOADED,o.request=void 0;return}k(A.getTileCredits)&&(o.credits=A.getTileCredits(o.x,o.y,o.level)),y.then(function(v){C(v)}).catch(function(v){E(v)})}I()};xl.prototype._createTextureWebGL=function(o,A){let f=new Ra({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),m=A.image;return k(m.internalFormat)?new Rn({context:o,pixelFormat:m.internalFormat,width:m.width,height:m.height,source:{arrayBufferView:m.bufferView},sampler:f}):new Rn({context:o,source:m,pixelFormat:this._imageryProvider.hasAlphaChannel?Jr.RGBA:Jr.RGB,sampler:f})};xl.prototype._createTexture=function(o,A){let f=this._imageryProvider,m=A.image;if(k(f.tileDiscardPolicy)){let E=f.tileDiscardPolicy;if(k(E)){if(!E.isReady()){A.state=mA.RECEIVED;return}if(E.shouldDiscardImage(m)){A.state=mA.INVALID;return}}}let C=this._createTextureWebGL(o,A);f.tilingScheme.projection instanceof Pu||f.tilingScheme.projection instanceof FO?A.textureWebMercator=C:A.texture=C,A.image=void 0,A.state=mA.TEXTURE_LOADED};function oNe(o,A,f){return`${o}:${A}:${f}`}xl.prototype._finalizeReprojectTexture=function(o,A){let f=this.minificationFilter,m=this.magnificationFilter;if(f===ya.LINEAR&&m===mu.LINEAR&&!Jr.isCompressedFormat(A.pixelFormat)&&De.isPowerOfTwo(A.width)&&De.isPowerOfTwo(A.height)){f=ya.LINEAR_MIPMAP_LINEAR;let C=On.maximumTextureFilterAnisotropy,E=Math.min(C,ae(this._maximumAnisotropy,C)),I=oNe(f,m,E),x=o.cache.imageryLayerMipmapSamplers;k(x)||(x={},o.cache.imageryLayerMipmapSamplers=x);let y=x[I];k(y)||(y=x[I]=new Ra({wrapS:oa.CLAMP_TO_EDGE,wrapT:oa.CLAMP_TO_EDGE,minificationFilter:f,magnificationFilter:m,maximumAnisotropy:E})),A.generateMipmap(MO.NICEST),A.sampler=y}else{let C=oNe(f,m,0),E=o.cache.imageryLayerNonMipmapSamplers;k(E)||(E={},o.cache.imageryLayerNonMipmapSamplers=E);let I=E[C];k(I)||(I=E[C]=new Ra({wrapS:oa.CLAMP_TO_EDGE,wrapT:oa.CLAMP_TO_EDGE,minificationFilter:f,magnificationFilter:m})),A.sampler=I}};xl.prototype._reprojectTexture=function(o,A,f){let m=A.textureWebMercator||A.texture,C=A.rectangle,E=o.context;if(f=ae(f,!0),f&&!(this._imageryProvider.tilingScheme.projection instanceof md)&&C.width/m.width>1e-5){let I=this;A.addReference();let x=new QF({persists:!0,owner:this,preExecute:function(y){aai(y,E,m,A.rectangle)},postExecute:function(y){A.texture=y,I._finalizeReprojectTexture(E,y),A.state=mA.READY,A.releaseReference()},canceled:function(){A.state=mA.TEXTURE_LOADED,A.releaseReference()}});this._reprojectComputeCommands.push(x)}else f&&(A.texture=m),this._finalizeReprojectTexture(E,m),A.state=mA.READY};xl.prototype.queueReprojectionCommands=function(o){let A=this._reprojectComputeCommands,f=A.length;for(let m=0;m<f;++m)o.commandList.push(A[m]);A.length=0};xl.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach(function(o){k(o.canceled)&&o.canceled()}),this._reprojectComputeCommands.length=0};xl.prototype.getImageryFromCache=function(o,A,f,m){let C=pO(o,A,f),E=this._imageryCache[C];if(this._imageryProvider.addLevel){let I=pO(o,A,f+this._imageryProvider.addLevel);E||(E=this._imageryCacheAdd[I])}return k(E)||(E=new yte(this,o,A,f,m),this._imageryCache[C]=E),E.addReference(),E};xl.prototype.removeImageryFromCache=function(o){let A=pO(o.x,o.y,o.level);if(this._imageryProvider.addLevel){this._imageryCacheAdd[A]&&delete this._imageryCacheAdd[A],this._imageryCache[A]&&delete this._imageryCache[A];let f=pO(o.x,o.y,o.level+this._imageryProvider.addLevel);this._imageryCacheAdd[f]&&delete this._imageryCacheAdd[f];return}delete this._imageryCache[A]};xl.prototype.isAvailable=function(o){let A=this._availability;return!k(A)||A.contains(o)};function pO(o,A,f){return JSON.stringify([o,A,f])}var PW={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new tt,texture:void 0},oai=co.supportsTypedArrays()?new Float32Array(2*64):void 0;function aai(o,A,f,m){let C=A.cache.imageryLayer_reproject;if(!k(C)){C=A.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){k(this.framebuffer)&&this.framebuffer.destroy(),k(this.vertexArray)&&this.vertexArray.destroy(),k(this.shaderProgram)&&this.shaderProgram.destroy()}};let S=new Float32Array(2*64*2),P=0;for(let U=0;U<64;++U){let N=U/63;S[P++]=0,S[P++]=N,S[P++]=1,S[P++]=N}let R={position:0,webMercatorT:1},T=_m.getRegularGridIndices(2,64),L=jn.createIndexBuffer({context:A,typedArray:T,usage:Fr.STATIC_DRAW,indexDatatype:fn.UNSIGNED_SHORT});C.vertexArray=new VA({context:A,attributes:[{index:R.position,vertexBuffer:jn.createVertexBuffer({context:A,typedArray:S,usage:Fr.STATIC_DRAW}),componentsPerAttribute:2},{index:R.webMercatorT,vertexBuffer:jn.createVertexBuffer({context:A,sizeInBytes:64*2*4,usage:Fr.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:L});let F=new hr({sources:[IIe]});C.shaderProgram=Wa.fromCache({context:A,vertexShaderSource:F,fragmentShaderSource:EIe,attributeLocations:R}),C.sampler=new Ra({wrapS:oa.CLAMP_TO_EDGE,wrapT:oa.CLAMP_TO_EDGE,minificationFilter:ya.LINEAR,magnificationFilter:mu.LINEAR})}f.sampler=C.sampler;let E=f.width,I=f.height;PW.textureDimensions.x=E,PW.textureDimensions.y=I,PW.texture=f;let x=Math.sin(m.south),y=.5*Math.log((1+x)/(1-x));x=Math.sin(m.north);let v=1/(.5*Math.log((1+x)/(1-x))-y),w=new Rn({context:A,width:E,height:I,pixelFormat:f.pixelFormat,pixelDatatype:f.pixelDatatype,preMultiplyAlpha:f.preMultiplyAlpha});De.isPowerOfTwo(E)&&De.isPowerOfTwo(I)&&w.generateMipmap(MO.NICEST);let Q=m.south,M=m.north,B=oai,D=0;for(let S=0;S<64;++S){let P=S/63,R=De.lerp(Q,M,P);x=Math.sin(R);let T=(.5*Math.log((1+x)/(1-x))-y)*v;B[D++]=T,B[D++]=T}C.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(B),o.shaderProgram=C.shaderProgram,o.outputTexture=w,o.uniformMap=PW,o.vertexArray=C.vertexArray}function sai(o,A,f){let m=o._imageryProvider,C=m.tilingScheme,E=C.ellipsoid,I=o._imageryProvider.tilingScheme.projection instanceof md?1:Math.cos(f),x=C.rectangle,y=E.maximumRadius*x.width*I/(m.tileWidth*C.getNumberOfXTilesAtLevel(0))/A,v=Math.log(y)/Math.log(2);return Math.round(v)|0}function lai(o,A){o.numberOfListeners>0?o.raiseEvent(A):console.error(A)}async function Aai(o,A){let f;try{if(f=await Promise.resolve(A),o.isDestroyed())return;o._imageryProvider=f,o._readyEvent.raiseEvent(f)}catch(m){lai(o._errorEvent,m)}}var ux=xl,uai={WEST:0,NORTH:1,EAST:2,SOUTH:3,NORTHWEST:4,NORTHEAST:5,SOUTHWEST:6,SOUTHEAST:7},ga=uai;function H4(o){this.tile=o,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new kt}H4.prototype.update=function(o,A,f){this.changedThisFrame&&(O7e(o,A,this.tile,f),this.changedThisFrame=!1)};H4.prototype.destroy=function(o){this._destroyVertexArray(o),k(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)};H4.prototype._destroyVertexArray=function(o){k(this.vertexArray)&&(k(o)?o.push(this.vertexArray):US._freeVertexArray(this.vertexArray),this.vertexArray=void 0)};var cai=new _F;H4.updateFillTiles=function(o,A,f,m){let C=o._quadtree,E=C._levelZeroTiles,I=C._lastSelectionFrameNumber,x=cai;x.clear();for(let v=0;v<A.length;++v){let w=A[v];k(w.data.vertexArray)&&x.enqueue(A[v])}let y=x.dequeue();for(;y!==void 0;){let v=y.findTileToWest(E),w=y.findTileToSouth(E),Q=y.findTileToEast(E),M=y.findTileToNorth(E);Og(o,f,y,v,I,ga.EAST,!1,x,m),Og(o,f,y,w,I,ga.NORTH,!1,x,m),Og(o,f,y,Q,I,ga.WEST,!1,x,m),Og(o,f,y,M,I,ga.SOUTH,!1,x,m);let B=v.findTileToNorth(E),D=v.findTileToSouth(E),S=Q.findTileToNorth(E),P=Q.findTileToSouth(E);Og(o,f,y,B,I,ga.SOUTHEAST,!1,x,m),Og(o,f,y,S,I,ga.SOUTHWEST,!1,x,m),Og(o,f,y,D,I,ga.NORTHEAST,!1,x,m),Og(o,f,y,P,I,ga.NORTHWEST,!1,x,m),y=x.dequeue()}};function Og(o,A,f,m,C,E,I,x,y){if(m===void 0)return;let v=m;for(;v&&(v._lastSelectionResultFrame!==C||To.wasKicked(v._lastSelectionResult)||To.originalResult(v._lastSelectionResult)===To.CULLED);){if(I)return;let w=v.parent;if(E>=ga.NORTHWEST&&w!==void 0)switch(E){case ga.NORTHWEST:v=v===w.northwestChild?w:void 0;break;case ga.NORTHEAST:v=v===w.northeastChild?w:void 0;break;case ga.SOUTHWEST:v=v===w.southwestChild?w:void 0;break;case ga.SOUTHEAST:v=v===w.southeastChild?w:void 0;break}else v=w}if(v!==void 0){if(v._lastSelectionResult===To.RENDERED){if(k(v.data.vertexArray))return;hai(o,A,f,v,E,C,x,y);return}if(To.originalResult(m._lastSelectionResult)!==To.CULLED)switch(E){case ga.WEST:Og(o,A,f,m.northwestChild,C,E,!0,x,y),Og(o,A,f,m.southwestChild,C,E,!0,x,y);break;case ga.EAST:Og(o,A,f,m.southeastChild,C,E,!0,x,y),Og(o,A,f,m.northeastChild,C,E,!0,x,y);break;case ga.SOUTH:Og(o,A,f,m.southwestChild,C,E,!0,x,y),Og(o,A,f,m.southeastChild,C,E,!0,x,y);break;case ga.NORTH:Og(o,A,f,m.northeastChild,C,E,!0,x,y),Og(o,A,f,m.northwestChild,C,E,!0,x,y);break;case ga.NORTHWEST:Og(o,A,f,m.northwestChild,C,E,!0,x,y);break;case ga.NORTHEAST:Og(o,A,f,m.northeastChild,C,E,!0,x,y);break;case ga.SOUTHWEST:Og(o,A,f,m.southwestChild,C,E,!0,x,y);break;case ga.SOUTHEAST:Og(o,A,f,m.southeastChild,C,E,!0,x,y);break;default:throw new ni("Invalid edge")}}}function hai(o,A,f,m,C,E,I,x){let y=m.data;if(y.fill===void 0)y.fill=new H4(m);else if(y.fill.visitedFrame===E)return;y.fill.enqueuedFrame!==E&&(y.fill.enqueuedFrame=E,y.fill.changedThisFrame=!1,I.enqueue(m)),dai(o,A,f,m,C,x)}function dai(o,A,f,m,C,E){let I=m.data.fill,x,y=f.data.fill;k(y)?(y.visitedFrame=A.frameNumber,y.changedThisFrame&&(O7e(o,A,f,E),y.changedThisFrame=!1),x=f.data.fill.mesh):x=f.data.mesh;let v,w;switch(C){case ga.WEST:v=I.westMeshes,w=I.westTiles;break;case ga.SOUTH:v=I.southMeshes,w=I.southTiles;break;case ga.EAST:v=I.eastMeshes,w=I.eastTiles;break;case ga.NORTH:v=I.northMeshes,w=I.northTiles;break;case ga.NORTHWEST:I.changedThisFrame=I.changedThisFrame||I.northwestMesh!==x,I.northwestMesh=x,I.northwestTile=f;return;case ga.NORTHEAST:I.changedThisFrame=I.changedThisFrame||I.northeastMesh!==x,I.northeastMesh=x,I.northeastTile=f;return;case ga.SOUTHWEST:I.changedThisFrame=I.changedThisFrame||I.southwestMesh!==x,I.southwestMesh=x,I.southwestTile=f;return;case ga.SOUTHEAST:I.changedThisFrame=I.changedThisFrame||I.southeastMesh!==x,I.southeastMesh=x,I.southeastTile=f;return}if(f.level<=m.level){I.changedThisFrame=I.changedThisFrame||v[0]!==x||v.length!==1,v[0]=x,w[0]=f,v.length=1,w.length=1;return}let Q,M,B,D,S=f.rectangle,P,R=m.rectangle;switch(C){case ga.WEST:for(P=(R.north-R.south)*De.EPSILON5,Q=0;Q<w.length&&(B=w[Q],D=B.rectangle,!De.greaterThan(S.north,D.south,P));++Q);for(M=Q;M<w.length&&(B=w[M],D=B.rectangle,!De.greaterThanOrEquals(S.south,D.north,P));++M);break;case ga.SOUTH:for(P=(R.east-R.west)*De.EPSILON5,Q=0;Q<w.length&&(B=w[Q],D=B.rectangle,!De.lessThan(S.west,D.east,P));++Q);for(M=Q;M<w.length&&(B=w[M],D=B.rectangle,!De.lessThanOrEquals(S.east,D.west,P));++M);break;case ga.EAST:for(P=(R.north-R.south)*De.EPSILON5,Q=0;Q<w.length&&(B=w[Q],D=B.rectangle,!De.lessThan(S.south,D.north,P));++Q);for(M=Q;M<w.length&&(B=w[M],D=B.rectangle,!De.lessThanOrEquals(S.north,D.south,P));++M);break;case ga.NORTH:for(P=(R.east-R.west)*De.EPSILON5,Q=0;Q<w.length&&(B=w[Q],D=B.rectangle,!De.greaterThan(S.east,D.west,P));++Q);for(M=Q;M<w.length&&(B=w[M],D=B.rectangle,!De.greaterThanOrEquals(S.west,D.east,P));++M);break}M-Q===1?(I.changedThisFrame=I.changedThisFrame||v[Q]!==x,v[Q]=x,w[Q]=f):(I.changedThisFrame=!0,v.splice(Q,M-Q,x),w.splice(Q,M-Q,f))}var WL=new Lt,gai=new Lt,yU=new Z,Wxe=new Z,oce=new tt,ace=new tt,ax=new tt;function _te(){this.height=0,this.encodedNormal=new tt}function RW(o,A,f,m,C,E,I,x,y){if(k(C))return C;let v;if(k(E)&&k(I))v=(E.height+I.height)*.5;else if(k(E))v=E.height;else if(k(I))v=I.height;else if(k(x))v=x.height;else{let w=o.tile.data.tileBoundingRegion,Q=0,M=0;k(w)&&(Q=w.minimumHeight,M=w.maximumHeight),v=(Q+M)*.5}return G7e(o,A,f,m,v,y),y}var fai={minimumHeight:0,maximumHeight:0},pai=new Z,aNe=new _te,sNe=new _te,lNe=new _te,ANe=new _te,mai=typeof Uint8Array<"u"?new Uint8Array(9*9):void 0,Cai={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0};function O7e(o,A,f,m){US.initialize(f,o.terrainProvider,o._imageryLayers);let C=f.data,E=C.fill,I=f.rectangle,x=A.terrainExaggeration,y=A.terrainExaggerationRelativeHeight,v=x!==1,w=f.tilingScheme.ellipsoid,Q=FW(E,w,0,1,E.northwestTile,E.northwestMesh,E.northTiles,E.northMeshes,E.westTiles,E.westMeshes,lNe),M=FW(E,w,0,0,E.southwestTile,E.southwestMesh,E.westTiles,E.westMeshes,E.southTiles,E.southMeshes,aNe),B=FW(E,w,1,0,E.southeastTile,E.southeastMesh,E.southTiles,E.southMeshes,E.eastTiles,E.eastMeshes,sNe),D=FW(E,w,1,1,E.northeastTile,E.northeastMesh,E.eastTiles,E.eastMeshes,E.northTiles,E.northMeshes,ANe);Q=RW(E,w,0,1,Q,M,D,B,lNe),M=RW(E,w,0,0,M,Q,B,D,aNe),B=RW(E,w,1,1,B,M,D,Q,sNe),D=RW(E,w,1,1,D,B,Q,M,ANe);let S=M.height,P=B.height,R=Q.height,T=D.height,L=Math.min(S,P,R,T),F=Math.max(S,P,R,T),U=(L+F)*.5,N,H,J=o.getLevelMaximumGeometricError(f.level),K=w.maximumRadius-J,X=Math.acos(K/w.maximumRadius)*4;if(X*=1.5,I.width>X&&F-L<=J){let ie=new DB({width:9,height:9,buffer:mai,structure:{heightOffset:F},flattenPolygonHeight:[1],flattenPolygon:[]}),z=Cai;z.tilingScheme=f.tilingScheme,z.x=f.x,z.y=f.y,z.level=f.level,z.exaggeration=x,z.exaggerationRelativeHeight=y,E.mesh=ie._createMeshSync(z)}else{let ie=v,z=hi.center(I,gai);z.height=U;let oe=w.cartographicToCartesian(z,pai),le=new NS(oe,void 0,void 0,void 0,void 0,!0,!0,ie,x,y),Ae=5,he;for(he=E.westMeshes,N=0,H=he.length;N<H;++N)Ae+=he[N].eastIndicesNorthToSouth.length;for(he=E.southMeshes,N=0,H=he.length;N<H;++N)Ae+=he[N].northIndicesWestToEast.length;for(he=E.eastMeshes,N=0,H=he.length;N<H;++N)Ae+=he[N].westIndicesSouthToNorth.length;for(he=E.northMeshes,N=0,H=he.length;N<H;++N)Ae+=he[N].southIndicesEastToWest.length;let ge=fai;ge.minimumHeight=L,ge.maximumHeight=F;let de=le.stride,fe=new Float32Array(Ae*de),G=0,Y=G;G=LW(w,I,le,fe,G,0,1,Q.height,Q.encodedNormal,1,ge),G=kW(E,w,le,fe,G,E.westTiles,E.westMeshes,ga.EAST,ge);let W=G;G=LW(w,I,le,fe,G,0,0,M.height,M.encodedNormal,0,ge),G=kW(E,w,le,fe,G,E.southTiles,E.southMeshes,ga.NORTH,ge);let O=G;G=LW(w,I,le,fe,G,1,0,B.height,B.encodedNormal,0,ge),G=kW(E,w,le,fe,G,E.eastTiles,E.eastMeshes,ga.WEST,ge);let re=G;G=LW(w,I,le,fe,G,1,1,D.height,D.encodedNormal,1,ge),G=kW(E,w,le,fe,G,E.northTiles,E.northMeshes,ga.SOUTH,ge),L=ge.minimumHeight,F=ge.maximumHeight;let se=MA.fromRectangle(I,L,F,f.tilingScheme.ellipsoid),ce=Pu.geodeticLatitudeToMercatorAngle(I.south),me=1/(Pu.geodeticLatitudeToMercatorAngle(I.north)-ce),Ce=(Pu.geodeticLatitudeToMercatorAngle(z.latitude)-ce)*me,ye=w.geodeticSurfaceNormalCartographic(WL,Wxe),Be=Yl.octEncode(ye,oce),Me=G;le.encode(fe,G*de,se.center,tt.fromElements(.5,.5,ax),U,Be,Ce,ye),++G;let He=G,ke=He<256?1:2,Ne=(He-1)*3,Pe=Ne*ke,we=(fe.length-He*de)*Float32Array.BYTES_PER_ELEMENT,Fe;if(we>=Pe){let rt=He*de*Float32Array.BYTES_PER_ELEMENT;Fe=He<256?new Uint8Array(fe.buffer,rt,Ne):new Uint16Array(fe.buffer,rt,Ne)}else Fe=He<256?new Uint8Array(Ne):new Uint16Array(Ne);fe=new Float32Array(fe.buffer,0,He*de);let Ue=0;for(N=0;N<He-2;++N)Fe[Ue++]=Me,Fe[Ue++]=N,Fe[Ue++]=N+1;Fe[Ue++]=Me,Fe[Ue++]=N,Fe[Ue++]=0;let ze=[];for(N=W;N>=Y;--N)ze.push(N);let Je=[];for(N=O;N>=W;--N)Je.push(N);let je=[];for(N=re;N>=O;--N)je.push(N);let Ze=[];for(Ze.push(0),N=Me-1;N>=re;--N)Ze.push(N);E.mesh=new TN(le.center,fe,Fe,Ne,He,L,F,si.fromOrientedBoundingBox(se),Bai(o,se.center,I,L,F),le.stride,se,le,ze,Je,je,Ze)}let j=A.context;E._destroyVertexArray(m),E.vertexArray=US._createVertexArrayForMesh(j,E.mesh),C.processImagery(f,o.terrainProvider,A,!0);let ee=E.waterMaskTexture;if(E.waterMaskTexture=void 0,o.terrainProvider.hasWaterMask){let ie=C._findAncestorTileWithTerrainData(f);k(ie)&&k(ie.data.waterMaskTexture)&&(E.waterMaskTexture=ie.data.waterMaskTexture,++E.waterMaskTexture.referenceCount,C._computeWaterMaskTranslationAndScale(f,ie,E.waterMaskTranslationAndScale))}k(ee)&&(--ee.referenceCount,ee.referenceCount===0&&ee.destroy())}function LW(o,A,f,m,C,E,I,x,y,v,w){let Q=WL;Q.longitude=De.lerp(A.west,A.east,E),Q.latitude=De.lerp(A.south,A.north,I),Q.height=x;let M=o.cartographicToCartesian(Q,yU),B;f.hasGeodeticSurfaceNormals&&(B=o.geodeticSurfaceNormal(M,Wxe));let D=ace;return D.x=E,D.y=I,f.encode(m,C*f.stride,M,D,x,y,v,B),w.minimumHeight=Math.min(w.minimumHeight,x),w.maximumHeight=Math.max(w.maximumHeight,x),C+1}var NX=new hi;function l9(o,A,f,m){let C=o.rectangle,E=A.rectangle;A.x===0&&f.x===1&&o.x===o.tilingScheme.getNumberOfXTilesAtLevel(o.level)-1?(C=hi.clone(o.rectangle,NX),C.west-=De.TWO_PI,C.east-=De.TWO_PI):o.x===0&&f.x===0&&A.x===A.tilingScheme.getNumberOfXTilesAtLevel(A.level)-1&&(C=hi.clone(o.rectangle,NX),C.west+=De.TWO_PI,C.east+=De.TWO_PI);let I=C.east-C.west,x=(E.west-C.west)/I,y=(E.east-C.west)/I,v=C.north-C.south,w=(E.south-C.south)/v,Q=(E.north-C.south)/v,M=(f.x-x)/(y-x),B=(f.y-w)/(Q-w);return Math.abs(M)<Math.EPSILON5?M=0:Math.abs(M-1)<Math.EPSILON5&&(M=1),Math.abs(B)<Math.EPSILON5?B=0:Math.abs(B-1)<Math.EPSILON5&&(B=1),m.x=M,m.y=B,m}var Eai=new tt;function sce(o,A,f,m,C){let E=o.encoding,I=o.vertices;if(C.height=E.decodeHeight(I,A),E.hasVertexNormals)E.getOctEncodedNormal(I,A,C.encodedNormal);else{let x=C.encodedNormal;x.x=0,x.y=0}}var Iai=new tt,xai=new Z;function yai(o,A,f,m,C,E,I,x,y,v){let w=m.encoding,Q=m.vertices,M=l9(A,f,w.decodeTextureCoordinates(Q,C,ax),ax),B=l9(A,f,w.decodeTextureCoordinates(Q,E,ace),ace),D;y?D=(I-M.x)/(B.x-M.x):D=(x-M.y)/(B.y-M.y);let S=w.decodeHeight(Q,C),P=w.decodeHeight(Q,E),R=f.rectangle;WL.longitude=De.lerp(R.west,R.east,I),WL.latitude=De.lerp(R.south,R.north,x),v.height=WL.height=De.lerp(S,P,D);let T;if(w.hasVertexNormals){let L=w.getOctEncodedNormal(Q,C,Eai),F=w.getOctEncodedNormal(Q,E,Iai),U=Yl.octDecode(L.x,L.y,yU),N=Yl.octDecode(F.x,F.y,xai);T=Z.lerp(U,N,D,yU),Z.normalize(T,T),Yl.octEncode(T,v.encodedNormal)}else T=o.geodeticSurfaceNormalCartographic(WL,yU),Yl.octEncode(T,v.encodedNormal)}function G7e(o,A,f,m,C,E){E.height=C;let I=A.geodeticSurfaceNormalCartographic(WL,yU);Yl.octEncode(I,E.encodedNormal)}function FW(o,A,f,m,C,E,I,x,y,v,w){if(cNe(o,A,x,I,!1,f,m,w)||cNe(o,A,v,y,!0,f,m,w))return w;let Q;if(qxe(C,E))return f===0?m===0?Q=E.eastIndicesNorthToSouth[0]:Q=E.southIndicesEastToWest[0]:m===0?Q=E.northIndicesWestToEast[0]:Q=E.westIndicesSouthToNorth[0],sce(E,Q,f,m,w),w;let M;if(f===0?m===0?M=NW(o.westMeshes,o.westTiles,ga.EAST,o.southMeshes,o.southTiles,ga.NORTH,f,m):M=NW(o.northMeshes,o.northTiles,ga.SOUTH,o.westMeshes,o.westTiles,ga.EAST,f,m):m===0?M=NW(o.southMeshes,o.southTiles,ga.NORTH,o.eastMeshes,o.eastTiles,ga.WEST,f,m):M=NW(o.eastMeshes,o.eastTiles,ga.WEST,o.northMeshes,o.northTiles,ga.SOUTH,f,m),k(M))return G7e(o,A,f,m,M,w),w}function NW(o,A,f,m,C,E,I,x){let y=uNe(o,A,!1,f,I,x),v=uNe(m,C,!0,E,I,x);return k(y)&&k(v)?(y+v)*.5:k(y)?y:v}function kW(o,A,f,m,C,E,I,x,y){for(let v=0;v<E.length;++v)C=vai(o,A,f,m,C,E[v],I[v],x,y);return C}function vai(o,A,f,m,C,E,I,x,y){let v=E.rectangle;x===ga.EAST&&o.tile.x===0?(v=hi.clone(E.rectangle,NX),v.west-=De.TWO_PI,v.east-=De.TWO_PI):x===ga.WEST&&E.x===0&&(v=hi.clone(E.rectangle,NX),v.west+=De.TWO_PI,v.east+=De.TWO_PI);let w=o.tile.rectangle,Q,M;C>0&&(f.decodeTextureCoordinates(m,C-1,ax),Q=ax.x,M=ax.y);let B,D;switch(x){case ga.WEST:B=I.westIndicesSouthToNorth,D=!1;break;case ga.NORTH:B=I.northIndicesWestToEast,D=!0;break;case ga.EAST:B=I.eastIndicesNorthToSouth,D=!1;break;case ga.SOUTH:B=I.southIndicesEastToWest,D=!0;break}let S=E,P=o.tile,R=I.encoding,T=I.vertices,L=f.stride,F,U;R.hasWebMercatorT&&(F=Pu.geodeticLatitudeToMercatorAngle(w.south),U=1/(Pu.geodeticLatitudeToMercatorAngle(w.north)-F));for(let N=0;N<B.length;++N){let H=B[N],J=R.decodeTextureCoordinates(T,H,ax);l9(S,P,J,J);let K=J.x,X=J.y,j=D?K:X;if(j<0||j>1||Math.abs(K-Q)<De.EPSILON5&&Math.abs(X-M)<De.EPSILON5)continue;let ee=Math.abs(K)<De.EPSILON5||Math.abs(K-1)<De.EPSILON5,ie=Math.abs(X)<De.EPSILON5||Math.abs(X-1)<De.EPSILON5;if(ee&&ie)continue;let z=R.decodePosition(T,H,yU),oe=R.decodeHeight(T,H),le;R.hasVertexNormals?le=R.getOctEncodedNormal(T,H,oce):(le=oce,le.x=0,le.y=0);let Ae=X;if(R.hasWebMercatorT){let ge=De.lerp(w.south,w.north,X);Ae=(Pu.geodeticLatitudeToMercatorAngle(ge)-F)*U}let he;f.hasGeodeticSurfaceNormals&&(he=A.geodeticSurfaceNormal(z,Wxe)),f.encode(m,C*L,z,J,oe,le,Ae,he),y.minimumHeight=Math.min(y.minimumHeight,oe),y.maximumHeight=Math.max(y.maximumHeight,oe),++C}return C}function uNe(o,A,f,m,C,E){let I,x,y;f?(I=0,x=o.length,y=1):(I=o.length-1,x=-1,y=-1);for(let v=I;v!==x;v+=y){let w=o[v],Q=A[v];if(!qxe(Q,w))continue;let M;switch(m){case ga.WEST:M=w.westIndicesSouthToNorth;break;case ga.SOUTH:M=w.southIndicesEastToWest;break;case ga.EAST:M=w.eastIndicesNorthToSouth;break;case ga.NORTH:M=w.northIndicesWestToEast;break}let B=M[f?0:M.length-1];if(k(B))return w.encoding.decodeHeight(w.vertices,B)}}function qxe(o,A){return k(A)&&(!k(o.data.fill)||!o.data.fill.changedThisFrame)}function cNe(o,A,f,m,C,E,I,x){let y,v,w,Q,M,B=m[C?0:f.length-1],D=f[C?0:f.length-1];if(qxe(B,D)&&(E===0?I===0?(y=C?D.northIndicesWestToEast:D.eastIndicesNorthToSouth,v=C,w=C):(y=C?D.eastIndicesNorthToSouth:D.southIndicesEastToWest,v=!C,w=!1):I===0?(y=C?D.westIndicesSouthToNorth:D.northIndicesWestToEast,v=!C,w=!0):(y=C?D.southIndicesEastToWest:D.westIndicesSouthToNorth,v=C,w=!C),y.length>0)){Q=C?0:y.length-1,M=y[Q],D.encoding.decodeTextureCoordinates(D.vertices,M,ax);let S=l9(B,o.tile,ax,ax);if(S.x===E&&S.y===I)return sce(D,M,E,I,x),!0;if(Q=yf(y,v?E:I,function(P,R){D.encoding.decodeTextureCoordinates(D.vertices,P,ax);let T=l9(B,o.tile,ax,ax);return w?v?T.x-E:T.y-I:v?E-T.x:I-T.y}),Q<0){if(Q=~Q,Q>0&&Q<y.length)return yai(A,B,o.tile,D,y[Q-1],y[Q],E,I,v,x),!0}else return sce(D,y[Q],E,I,x),!0}return!1}var _ai=[new Z,new Z,new Z,new Z];function Bai(o,A,f,m,C,E){let I=o.quadtree._occluders.ellipsoid,x=I.ellipsoid,y=_ai;return Z.fromRadians(f.west,f.south,C,x,y[0]),Z.fromRadians(f.east,f.south,C,x,y[1]),Z.fromRadians(f.west,f.north,C,x,y[2]),Z.fromRadians(f.east,f.north,C,x,y[3]),I.computeHorizonCullingPointPossiblyUnderEllipsoid(A,y,m,E)}var Bte=H4;function Xc(o){this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=_s.RECEIVE_ONLY,this.vertexShadowDarkness=.3,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.lambertDiffuseMultiplier=0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=o.terrainProvider,this._imageryLayers=o.imageryLayers,this._surfaceShaderSet=o.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new ir,this._removeLayerAddedListener=this._imageryLayers.layerAdded.addEventListener(Xc.prototype._onLayerAdded,this),this._removeLayerRemovedListener=this._imageryLayers.layerRemoved.addEventListener(Xc.prototype._onLayerRemoved,this),this._removeLayerMovedListener=this._imageryLayers.layerMoved.addEventListener(Xc.prototype._onLayerMoved,this),this._removeLayerShownListener=this._imageryLayers.layerShownOrHidden.addEventListener(Xc.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new ir,this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new qe(0,0,.5,1),this._clippingPlanes=void 0,this._multiClippingPlanes=void 0,this.cartographicLimitRectangle=hi.clone(hi.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1,this._oldTerrainExaggeration=void 0,this._oldTerrainExaggerationRelativeHeight=void 0,this._flattenPolygonRegion={}}Object.defineProperties(Xc.prototype,{baseColor:{get:function(){return this._baseColor},set:function(o){this._baseColor=o,this._firstPassInitialColor=kt.fromColor(o,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(o){this._quadtree=o}},ready:{get:function(){let o=this._terrainProvider;if(!k(o)||(k(o._ready)?!o._ready:k(o.ready)&&!o.ready))return!1;if(this._imageryLayers.length===0)return!0;let A=this._imageryLayers.get(0);if(!A.ready)return!1;let f=A.imageryProvider;return k(f._ready)?f._ready:!k(f.ready)||f.ready}},tilingScheme:{get:function(){return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(o){this._terrainProvider!==o&&(this._terrainProvider=o,k(this._quadtree)&&this._quadtree.invalidateAllTiles())}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(o){AI.setOwner(o,this,"_clippingPlanes")}},multiClippingPlanes:{get:function(){return this._multiClippingPlanes},set:function(o){k(o)?this._multiClippingPlanes=o:this._multiClippingPlanes=void 0}}});function wai(o,A){let f=o.loadingImagery;k(f)||(f=o.readyImagery);let m=A.loadingImagery;return k(m)||(m=A.readyImagery),f.imageryLayer._layerIndex-m.imageryLayer._layerIndex}Xc.prototype.update=function(o){this._imageryLayers._update()};function bai(o,A){let f=A.creditDisplay,m=o._terrainProvider;k(m)&&(k(m._ready)?m._ready:!k(m.ready)||m.ready)&&k(m.credit)&&f.addCreditToNextFrame(m.credit);let C=o._imageryLayers;for(let E=0,I=C.length;E<I;++E){let x=C.get(E);if(x.ready){let y=x.imageryProvider;(k(y._ready)?y._ready:!k(y.ready)||y.ready)&&k(x.imageryProvider.credit)&&f.addCreditToNextFrame(x.imageryProvider.credit)}}}Xc.prototype.initialize=function(o){this._imageryLayers.queueReprojectionCommands(o),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile(function(m){m.data.imagery.sort(wai)})),bai(this,o);let A=this._vertexArraysToDestroy,f=A.length;for(let m=0;m<f;++m)US._freeVertexArray(A[m]);A.length=0};Xc.prototype.beginUpdate=function(o){let A=this._tilesToRenderByTextureCount;for(let C=0,E=A.length;C<E;++C){let I=A[C];k(I)&&(I.length=0)}let f=this._clippingPlanes;k(f)&&f.enabled&&f.update(o);let m=this._multiClippingPlanes;k(m)&&m.update(o),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1};Xc.prototype.endUpdate=function(o){if(!k(this._renderState)){this._renderState=Hr.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:aI.LESS}}),this._blendRenderState=Hr.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:aI.LESS_OR_EQUAL},blending:Sl.ALPHA_BLEND});let I=En(this._renderState,!0);I.cull.enabled=!1,this._disableCullingRenderState=Hr.fromCache(I),I=En(this._blendRenderState,!0),I.cull.enabled=!1,this._disableCullingBlendRenderState=Hr.fromCache(I)}this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&Bte.updateFillTiles(this,this._quadtree._tilesToRender,o,this._vertexArraysToDestroy);let A=this.quadtree,f=o.terrainExaggeration,m=o.terrainExaggerationRelativeHeight,C=this._oldTerrainExaggeration!==f||this._oldTerrainExaggerationRelativeHeight!==m;this._oldTerrainExaggeration=f,this._oldTerrainExaggerationRelativeHeight=m,C&&A.forEachLoadedTile(function(I){I.data.updateExaggeration(I,o,A)});let E=this._tilesToRenderByTextureCount;for(let I=0,x=E.length;I<x;++I){let y=E[I];if(k(y))for(let v=0,w=y.length;v<w;++v){let Q=y[v],M=Q.data.tileBoundingRegion;Zai(this,Q,o),o.minimumTerrainHeight=Math.min(o.minimumTerrainHeight,M.minimumHeight)}}};function H7e(o,A){let f=A.globeTranslucencyState;if(f.translucent){let m=o.renderState.blending.enabled;f.pushDerivedCommands(o,m,A)}else A.commandList.push(o)}Xc.prototype.updateForPick=function(o){let A=this._drawCommands;for(let f=0,m=this._usedDrawCommands;f<m;++f)H7e(A[f],o)};Xc.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()};Xc.prototype.getLevelMaximumGeometricError=function(o){return k(this._terrainProvider)?this._terrainProvider.getLevelMaximumGeometricError(o):0};Xc.prototype.loadTile=function(o,A){let f=A.data,m=!0,C;k(f)&&(m=f.boundingVolumeSourceTile!==A||A._lastSelectionResult===To.CULLED_BUT_NEEDED,C=f.terrainState),US.processStateMachine(A,o,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,m),f=A.data,m&&C!==A.data.terrainState&&this.computeTileVisibility(A,o,this.quadtree.occluders)!==ld.NONE&&f.boundingVolumeSourceTile===A&&(m=!1,US.processStateMachine(A,o,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,m))};var Qai=new si,V7e=new hi,Sai=new hi,Dai=new Lt;function ej(o,A){if(A.west<A.east)return A;let f=hi.clone(A,Sai);return hi.center(o,Dai).longitude>0?f.east=De.PI:f.west=-De.PI,f}function z7e(o,A){if(A.cameraUnderground||A.globeTranslucencyState.translucent)return!0;if(o.backFaceCulling)return!1;let f=o._clippingPlanes;return!!(k(f)&&f.enabled||k(o._multiClippingPlanes)||!hi.equals(o.cartographicLimitRectangle,hi.MAX_VALUE))}Xc.prototype.computeTileVisibility=function(o,A,f){let m=this.computeDistanceToTile(o,A);o._distance=m;let C=z7e(this,A);if(A.fog.enabled&&!C&&De.fog(m,A.fog.density)>=1)return ld.NONE;let E=o.data,I=E.tileBoundingRegion;if(E.boundingVolumeSourceTile===void 0)return ld.PARTIAL;let x=A.cullingVolume,y=I.boundingVolume;k(y)||(y=I.boundingSphere),E.clippedByBoundaries=!1;let v=ej(o.rectangle,this.cartographicLimitRectangle),w=hi.simpleIntersection(v,o.rectangle,V7e);if(!k(w))return ld.NONE;if(hi.equals(w,o.rectangle)||(E.clippedByBoundaries=!0),A.mode!==ii.SCENE3D&&(y=Qai,si.fromRectangleWithHeights2D(o.rectangle,A.mapProjection,I.minimumHeight,I.maximumHeight,y),Z.fromElements(y.center.z,y.center.x,y.center.y,y.center),A.mode===ii.MORPHING&&k(E.renderedMesh)&&(y=si.union(I.boundingSphere,y,y))),!k(y))return ld.PARTIAL;let Q=this._clippingPlanes;if(k(Q)&&Q.enabled){let P=Q.computeIntersectionWithBoundingVolume(y);if(o.isClipped=P!==Wo.INSIDE,P===Wo.OUTSIDE)return ld.NONE}let M=this._multiClippingPlanes;if(k(M)&&M.enabled)for(let P=0;M.length;P++){let R=M[P].computeIntersectionWithBoundingVolume(y);if(o.isClipped=R!==Wo.INSIDE,R===Wo.OUTSIDE)return ld.NONE}let B,D=x.computeVisibility(y);if(D===Wo.OUTSIDE?B=ld.NONE:D===Wo.INTERSECTING?B=ld.PARTIAL:D===Wo.INSIDE&&(B=ld.FULL),B===ld.NONE)return B;let S=A.mode===ii.SCENE3D&&A.camera.frustum instanceof $a;if(A.mode===ii.SCENE3D&&!S&&k(f)&&!C){let P=E.occludeePointInScaledSpace;return!k(P)||f.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(P,I.minimumHeight)?B:ld.NONE}return B};Xc.prototype.canRefine=function(o){return k(o.data.terrainData)?!0:this.terrainProvider.getTileDataAvailable(o.x*2,o.y*2,o.level+1)!==void 0};var Mai=[],Tai=[];Xc.prototype.canRenderWithoutLosingDetail=function(o,A){let f=o.data,m=Mai;m.length=this._imageryLayers.length;let C=!1,E=!1,I;k(f)&&(C=f.terrainState===nc.READY,E=!0,I=f.imagery);let x,y;for(x=0,y=m.length;x<y;++x)m[x]=E;if(k(I))for(x=0,y=I.length;x<y;++x){let Q=I[x],M=Q.loadingImagery,B=!k(M)||M.state===mA.FAILED||M.state===mA.INVALID,D=(Q.loadingImagery||Q.readyImagery).imageryLayer._layerIndex;m[D]=B&&m[D]}let v=this.quadtree._lastSelectionFrameNumber,w=Tai;for(w.length=0,w.push(o.southwestChild,o.southeastChild,o.northwestChild,o.northeastChild);w.length>0;){let Q=w.pop(),M=Q._lastSelectionResultFrame===v?Q._lastSelectionResult:To.NONE;if(M===To.RENDERED){let B=Q.data;if(!k(B))continue;if(!C&&Q.data.terrainState===nc.READY)return!1;let D=Q.data.imagery;for(x=0,y=D.length;x<y;++x){let S=D[x],P=S.loadingImagery,R=!k(P)||P.state===mA.FAILED||P.state===mA.INVALID,T=(S.loadingImagery||S.readyImagery).imageryLayer._layerIndex;if(R&&!m[T])return!1}}else M===To.REFINED&&w.push(Q.southwestChild,Q.southeastChild,Q.northwestChild,Q.northeastChild)}return!0};var Pai=new Z;Xc.prototype.computeTileLoadPriority=function(o,A){let f=o.data;if(f===void 0)return 0;let m=f.tileBoundingRegion.boundingVolume;if(m===void 0)return 0;let C=A.camera.positionWC,E=A.camera.directionWC,I=Z.subtract(m.center,C,Pai),x=Z.magnitude(I);return x<De.EPSILON5?0:(Z.divideByScalar(I,x,I),(1-Z.dot(I,E))*o._distance)};var hNe=new Re,UW=new Re,Rai=new kt,Lai=new kt,Fai=new kt,Nai=new Z,dNe=new Z,kai=new Z,Uai=new Z;Xc.prototype.showTileThisFrame=function(o,A){let f=0,m=o.data.imagery;for(let x=0,y=m.length;x<y;++x){let v=m[x];k(v.readyImagery)&&v.readyImagery.imageryLayer.alpha!==0&&++f}let C=this._tilesToRenderByTextureCount[f];k(C)||(C=[],this._tilesToRenderByTextureCount[f]=C),C.push(o);let E=o.data;k(E.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;let I=this._debug;++I.tilesRendered,I.texturesRendered+=f};var Oai=[new Z,new Z,new Z,new Z];function gNe(o,A,f,m,C,E){let I=o.quadtree._occluders.ellipsoid,x=I.ellipsoid,y=Oai;return Z.fromRadians(f.west,f.south,C,x,y[0]),Z.fromRadians(f.east,f.south,C,x,y[1]),Z.fromRadians(f.west,f.north,C,x,y[2]),Z.fromRadians(f.east,f.north,C,x,y[3]),I.computeHorizonCullingPointPossiblyUnderEllipsoid(A,y,m,E)}Xc.prototype.computeDistanceToTile=function(o,A){zai(o,this,A);let f=o.data;if(f.boundingVolumeSourceTile===void 0)return 9999999999;let m=f.tileBoundingRegion,C=m.minimumHeight,E=m.maximumHeight;if(f.boundingVolumeSourceTile!==o){let x=A.camera.positionCartographic.height,y=Math.abs(x-C),v=Math.abs(x-E);y>v?(m.minimumHeight=C,m.maximumHeight=C):(m.minimumHeight=E,m.maximumHeight=E)}let I=m.distanceToCamera(A);return m.minimumHeight=C,m.maximumHeight=E,I};function Gai(o,A){let f=0,m,C,E,I,x=A.length;for(E=A[0],m=1;m<=x;m++)I=A[m%x],o[0]>Math.min(E[0],I[0])&&o[0]<=Math.max(E[0],I[0])&&o[1]<=Math.max(E[1],I[1])&&E[0]!==I[0]&&(C=(o[0]-E[0])*(I[1]-E[1])/(I[0]-E[0])+E[1],(E[1]===I[1]||o[1]<=C)&&f++),E=I;return f%2!==0}function Hai(o,A,f,m){let C=(o.x-f.x)*(A.y-f.y)-(o.y-f.y)*(A.x-f.x),E=(o.x-m.x)*(A.y-m.y)-(o.y-m.y)*(A.x-m.x);if(C*E>=0)return!1;let I=(f.x-o.x)*(m.y-o.y)-(f.y-o.y)*(m.x-o.x),x=I+C-E;if(I*x>=0)return!1;let y=I/(E-C),v=y*(A.x-o.x),w=y*(A.y-o.y);return{x:o.x+v,y:o.y+w}}var OW=new Lt,k8=[],GW=[];function Vai(o,A,f){if(!k(o._flattenPolygonRegion.flattenPolygons))return!1;let m=o._flattenPolygonRegion.flattenPolygons,C=o._flattenPolygonRegion.flattenPolygonHeights,E=f.rectangle,I=E.west,x=E.south,y=E.east,v=E.north;k8.length=0,GW.length=0;let w=!1,Q=[[I,x],[y,x],[y,v],[I,v]];for(let M=0;M<C.length;M++){w=!1;for(let B=0;B<m[M].length;B++){let D=m[M][B];if(OW.longitude=D[0],OW.latitude=D[1],OW.height=0,hi.contains(E,OW)){k8.push(C[M]),GW.push(m[M]),w=!0;break}}if(!w){for(let B=0;B<Q.length;B++)if(Gai(Q[B],m[M])){k8.push(C[M]),GW.push(m[M]),w=!0;break}}if(!w)for(let B=0;B<m[M].length-1;B++){for(let D=0;D<Q.length-1;D++){let S={x:Q[D][0],y:Q[D][1]},P={x:Q[D+1][0],y:Q[D+1][1]},R={x:m[M][B][0],y:m[M][B][1]},T={x:m[M][B+1][0],y:m[M][B+1][1]};if(Hai(S,P,R,T)){k8.push(C[M]),GW.push(m[M]),w=!0;break}}if(w)break}if(w){let B=k8[0],D=B.maxHeight,S=B.minHeight,P=f.maximumHeight,R=f.minimumHeight;S>R&&D<P,D>=P&&(P=D),S<=R&&(R=S),f.maximumHeight=P,f.minimumHeight=R}}return!0}function zai(o,A,f){let m=o.data;m===void 0&&(m=o.data=new US);let C=o.tilingScheme.ellipsoid;m.tileBoundingRegion===void 0&&(m.tileBoundingRegion=new TF({computeBoundingVolumes:!1,rectangle:o.rectangle,ellipsoid:C,minimumHeight:0,maximumHeight:0}));let E=m.tileBoundingRegion,I=E.minimumHeight,x=E.maximumHeight,y=!1,v=o,w=m.mesh,Q=m.terrainData;if(w!==void 0&&w.minimumHeight!==void 0&&w.maximumHeight!==void 0)E.minimumHeight=w.minimumHeight,E.maximumHeight=w.maximumHeight,y=!0;else if(Q!==void 0&&Q._minimumHeight!==void 0&&Q._maximumHeight!==void 0)E.minimumHeight=Q._minimumHeight,E.maximumHeight=Q._maximumHeight;else{E.minimumHeight=Number.NaN,E.maximumHeight=Number.NaN;let M=o.parent;for(;M!==void 0;){let B=M.data;if(B!==void 0){let D=B.mesh,S=B.terrainData;if(D!==void 0&&D.minimumHeight!==void 0&&D.maximumHeight!==void 0){E.minimumHeight=D.minimumHeight,E.maximumHeight=D.maximumHeight;break}else if(S!==void 0&&S._minimumHeight!==void 0&&S._maximumHeight!==void 0){E.minimumHeight=S._minimumHeight,E.maximumHeight=S._maximumHeight;break}}M=M.parent}v=M}if(v!==void 0){let M=f.terrainExaggeration,B=f.terrainExaggerationRelativeHeight;if(M!==1&&(y=!1,E.minimumHeight=h1.getHeight(E.minimumHeight,M,B),E.maximumHeight=h1.getHeight(E.maximumHeight,M,B)),Vai(A,C,E)&&(y=!1),y)m.boundingVolumeIsFromMesh||(E._orientedBoundingBox=MA.clone(w.orientedBoundingBox,E._orientedBoundingBox),E._boundingSphere=si.clone(w.boundingSphere3D,E._boundingSphere),m.occludeePointInScaledSpace=Z.clone(w.occludeePointInScaledSpace,m.occludeePointInScaledSpace),k(m.occludeePointInScaledSpace)||(m.occludeePointInScaledSpace=gNe(A,E._orientedBoundingBox.center,o.rectangle,E.minimumHeight,E.maximumHeight,m.occludeePointInScaledSpace)));else{let D=E._orientedBoundingBox===void 0||E._boundingSphere===void 0;(E.minimumHeight!==I||E.maximumHeight!==x||D)&&(E.computeBoundingVolumes(C),m.occludeePointInScaledSpace=gNe(A,E._orientedBoundingBox.center,o.rectangle,E.minimumHeight,E.maximumHeight,m.occludeePointInScaledSpace))}m.boundingVolumeSourceTile=v,m.boundingVolumeIsFromMesh=y}else m.boundingVolumeSourceTile=void 0,m.boundingVolumeIsFromMesh=!1}Xc.prototype.isDestroyed=function(){return!1};Xc.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),k(this._multiClippingPlanes)&&(this._multiClippingPlanes.destroy(),this._multiClippingPlanes=void 0),this._removeLayerAddedListener=this._removeLayerAddedListener&&this._removeLayerAddedListener(),this._removeLayerRemovedListener=this._removeLayerRemovedListener&&this._removeLayerRemovedListener(),this._removeLayerMovedListener=this._removeLayerMovedListener&&this._removeLayerMovedListener(),this._removeLayerShownListener=this._removeLayerShownListener&&this._removeLayerShownListener(),ar(this)};function Yai(o,A,f){return function(m){let C,E,I=-1,x=m.data.imagery,y=x.length,v;for(v=0;v<y;++v)if(C=x[v],E=ae(C.readyImagery,C.loadingImagery),E.imageryLayer===A){I=v;break}if(I!==-1){let w=I+o;if(C=x[w],E=k(C)?ae(C.readyImagery,C.loadingImagery):void 0,!k(E)||E.imageryLayer!==A)return!A._createTileImagerySkeletons(m,f,w);for(v=I;v<w;++v)x[v].freeResources();x.splice(I,o)}return!0}}Xc.prototype._onLayerAdded=function(o,A){if(!this.isDestroyed()&&o.show){let f=this._terrainProvider,m=this,C=this._imageryLayersUpdatedEvent,E=function(){o._imageryCache={},m._quadtree.forEachLoadedTile(function(I){if(k(I._loadedCallbacks[o._layerIndex]))return;let x,y=I.data.imagery,v=y.length,w=-1,Q=0;for(x=0;x<v;++x){let B=y[x];if(ae(B.readyImagery,B.loadingImagery).imageryLayer===o)w===-1&&(w=x),++Q;else if(w!==-1)break}if(w===-1)return;let M=w+Q;o._createTileImagerySkeletons(I,f,M)&&(I._loadedCallbacks[o._layerIndex]=Yai(Q,o,f),I.state=m0.LOADING)})};if(o.ready){let I=o.imageryProvider;I._reload=E}this._quadtree.forEachLoadedTile(function(I){o._createTileImagerySkeletons(I,f)&&(I.state=m0.LOADING,I.level!==0&&(I._lastSelectionResultFrame!==m.quadtree._lastSelectionFrameNumber||I._lastSelectionResult!==To.RENDERED)&&(I.renderable=!1))}),this._layerOrderChanged=!0,C.raiseEvent()}};Xc.prototype._onLayerRemoved=function(o,A){this._quadtree.forEachLoadedTile(function(f){let m=f.data.imagery,C=-1,E=0;for(let I=0,x=m.length;I<x;++I){let y=m[I],v=y.loadingImagery;if(k(v)||(v=y.readyImagery),v.imageryLayer===o)C===-1&&(C=I),y.freeResources(),++E;else if(C!==-1)break}C!==-1&&m.splice(C,E)}),k(o.imageryProvider)&&(o.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()};Xc.prototype._onLayerMoved=function(o,A,f){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()};Xc.prototype._onLayerShownOrHidden=function(o,A,f){f?this._onLayerAdded(o,A):this._onLayerRemoved(o,A)};var fNe=new Re,pNe=new Re;function mNe(o,A){let f={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_atmosphereLightIntensity:function(){return this.properties.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return this.properties.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return this.properties.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return this.properties.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return this.properties.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return this.properties.atmosphereMieAnisotropy},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_terrainExaggerationAndRelativeHeight:function(){return this.properties.terrainExaggerationAndRelativeHeight},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){let C=o.context.uniformState.view,E=Re.multiplyByPoint(C,this.properties.rtc,dNe);return Re.setTranslation(C,E,hNe),hNe},u_modifiedModelViewProjection:function(){let C=o.context.uniformState.view,E=o.context.uniformState.projection,I=Re.multiplyByPoint(C,this.properties.rtc,dNe);return Re.setTranslation(C,I,UW),Re.multiply(E,UW,UW),UW},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_slopeColorsTexture:function(){return kE.isSlopeDirty&&(kE._slopeTex=kE.createElevationTextureFromPallete(kE.SlopeMapPallete,o),this.properties.slopeColorsTexture2=kE._slopeTex,kE.isSlopeDirty=!1),kE._slopeTex},u_clippingPlanes:function(){let C=A._multiClippingPlanes;if(k(C)&&k(C.dataTexture))return C.dataTexture;let E=A._clippingPlanes;return k(E)&&k(E.texture)?E.texture:o.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){let C=A._multiClippingPlanes;if(k(C)){let x=Re.multiply(o.context.uniformState.view,C.modelMatrix,fNe);return Re.inverseTranspose(x,pNe)}let E=A._clippingPlanes,I=k(E)?Re.multiply(o.context.uniformState.view,E.modelMatrix,fNe):Re.IDENTITY;return Re.inverseTranspose(I,pNe)},u_clippingPlanesEdgeStyle:function(){let C=A._multiClippingPlanes;if(k(C)){let I=C.edgeColor.clone();return I.alpha=C.edgeWidth,I}let E=this.properties.clippingPlanesEdgeColor;return E.alpha=this.properties.clippingPlanesEdgeWidth,E},u_multiClippingPlanesLength:function(){let C=A._multiClippingPlanes;if(k(C)){let E=C.lengthTexture;if(k(E))return E}return k(C)?C:o.context.defaultTexture},u_minimumBrightness:function(){return o.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},u_lambertDiffuseMultiplier:function(){return this.properties.lambertDiffuseMultiplier},u_vertexShadowDarkness:function(){return this.properties.vertexShadowDarkness},properties:{initialColor:new kt(0,0,.5,1),fillHighlightColor:new qe(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new tt(65e5,9e6),nightFadeDistance:new tt(1e7,4e7),atmosphereLightIntensity:10,atmosphereRayleighCoefficient:new Z(55e-7,13e-6,284e-7),atmosphereMieCoefficient:new Z(21e-6,21e-6,21e-6),atmosphereRayleighScaleHeight:1e4,atmosphereMieScaleHeight:3200,atmosphereMieAnisotropy:.9,hsbShift:new Z,center3D:void 0,rtc:new Z,modifiedModelView:new Re,tileRectangle:new kt,terrainExaggerationAndRelativeHeight:new tt(1,0),dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new tt,southMercatorYAndOneOverHeight:new tt,waterMask:void 0,waterMaskTranslationAndScale:new kt,minMaxHeight:new tt,scaleAndBias:new Re,clippingPlanesEdgeColor:qe.clone(qe.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new kt,frontFaceAlphaByDistance:new kt,backFaceAlphaByDistance:new kt,localizedTranslucencyRectangle:new kt,undergroundColor:qe.clone(qe.TRANSPARENT),undergroundColorAlphaByDistance:new kt,lambertDiffuseMultiplier:0,slopeColorsTexture2:k(kE._slopeTex)?kE._slopeTex:kE.createElevationTextureFromPallete(kE.SlopeMapPallete,o),vertexShadowDarkness:0}};if(k(A.cutPolygonUniformMap))return yo(f,A.cutPolygonUniformMap);let m=A.materialUniformMap;if(k(m)){let C=m.u_bFlatten;if(k(C)&&C()){let E=m.u_r_eastNorthUpToFixedFrame(),I=m.u_eastNorthUpToFixedFrame(),x=function(){let v=new Re;return Re.fromTranslation(f.properties.rtc,v),v},y=function(){let v=new Re;Re.fromTranslation(f.properties.rtc,v);let w=new Re;return Re.inverse(v,w),w};f=yo(f,{u_eastNorthUpToFixedFrameA:function(){let v=y(),w=new Re;return Re.multiply(v,I,w),w},u_r_eastNorthUpToFixedFrameA:function(){let v=x(),w=new Re;return Re.multiply(E,v,w),w}})}return yo(f,m)}return f}function Jai(o,A,f){let m=f.data,C,E;if(k(m.vertexArray)?(C=m.mesh,E=m.vertexArray):k(m.fill)&&k(m.fill.vertexArray)&&(C=m.fill.mesh,E=m.fill.vertexArray),!(!k(C)||!k(E))){if(k(m.wireframeVertexArray)){if(m.wireframeVertexArray.mesh===C)return;m.wireframeVertexArray.destroy(),m.wireframeVertexArray=void 0}m.wireframeVertexArray=Kai(o,E,C),m.wireframeVertexArray.mesh=C}}function Kai(o,A,f){let m={indices:f.indices,primitiveType:$r.TRIANGLES};gA.toWireframe(m);let C=m.indices,E=jn.createIndexBuffer({context:o,typedArray:C,usage:Fr.STATIC_DRAW,indexDatatype:fn.fromSizeInBytes(C.BYTES_PER_ELEMENT)});return new VA({context:o,attributes:A._attributes,indexBuffer:E})}var Y7e,J7e,tj;(function(){let o=new Un({geometry:j1.fromDimensions({dimensions:new Z(2,2,2)})}),A=new Un({geometry:new jS({radius:1})}),f=new Re,m,C;function E(I){return new pa({geometryInstances:I,appearance:new ma({translucent:!1,flat:!0}),asynchronous:!1})}Y7e=function(I,x){return I===m||(tj(),m=I,f=Re.fromRotationTranslation(I.halfAxes,I.center,f),o.modelMatrix=f,o.attributes.color=vo.fromColor(x),C=E(o)),C},J7e=function(I,x){return I===m||(tj(),m=I,f=Re.fromTranslation(I.center,f),f=Re.multiplyByUniformScale(f,I.radius,f),A.modelMatrix=f,A.attributes.color=vo.fromColor(x),C=E(A)),C},tj=function(){k(C)&&(C.destroy(),C=void 0,m=void 0)}})();var Wai=new kt(0,0,0,0),qai={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0,hasGeodeticSurfaceNormals:void 0,hasExaggeration:void 0},jai=qe.TRANSPARENT,Xai=new no;function Zai(o,A,f){let m=A.data;k(m.vertexArray)||(m.fill===void 0&&(m.fill=new Bte(A)),m.fill.update(o,f));let C=f.creditDisplay,E=m.terrainData;if(k(E)&&k(E.credits)){let je=E.credits;for(let Ze=0,rt=je.length;Ze<rt;++Ze)C.addCreditToNextFrame(je[Ze])}let I=On.maximumTextureImageUnits,x=m.waterMaskTexture,y=m.waterMaskTranslationAndScale;!k(x)&&k(m.fill)&&(x=m.fill.waterMaskTexture,y=m.fill.waterMaskTranslationAndScale);let v=f.cameraUnderground,w=f.globeTranslucencyState,Q=w.translucent,M=w.frontFaceAlphaByDistance,B=w.backFaceAlphaByDistance,D=w.rectangle,S=ae(o.undergroundColor,jai),P=ae(o.undergroundColorAlphaByDistance,Xai),R=z7e(o,f)&&f.mode===ii.SCENE3D&&S.alpha>0&&(P.nearValue>0||P.farValue>0),T=o.lambertDiffuseMultiplier,L=o.vertexShadowDarkness,F=o.hasWaterMask&&k(x),U=o.oceanNormalMap,N=F&&k(U),H=o.terrainProvider,J=k(H)&&(k(H._ready)?H._ready:!k(H.ready)||H.ready)&&o.terrainProvider.hasVertexNormals,K=f.fog.enabled&&f.fog.renderable&&!v,X=o.showGroundAtmosphere&&f.mode===ii.SCENE3D,j=_s.castShadows(o.shadows)&&!Q,ee=_s.receiveShadows(o.shadows)&&!Q,ie=o.hueShift,z=o.saturationShift,oe=o.brightnessShift,le=!(De.equalsEpsilon(ie,0,De.EPSILON7)&&De.equalsEpsilon(z,0,De.EPSILON7)&&De.equalsEpsilon(oe,0,De.EPSILON7)),Ae=!1;if(X){let je=Z.magnitude(f.camera.positionWC),Ze=o.nightFadeOutDistance;Ae=je>Ze}F&&--I,N&&--I,k(f.shadowState)&&f.shadowState.shadowsEnabled&&--I,k(o.clippingPlanes)&&o.clippingPlanes.enabled&&--I,I-=w.numberOfTextureUniforms;let he=m.renderedMesh,ge=he.center,de=he.encoding,fe=m.tileBoundingRegion,G=f.terrainExaggeration,Y=f.terrainExaggerationRelativeHeight,W=G!==1,O=de.hasGeodeticSurfaceNormals,re=Rai,se=0,ce=0,me=0,Ce=0,ye=!1;if(f.mode!==ii.SCENE3D){let je=f.mapProjection,Ze=je.project(hi.southwest(A.rectangle),kai),rt=je.project(hi.northeast(A.rectangle),Uai);if(re.x=Ze.x,re.y=Ze.y,re.z=rt.x,re.w=rt.y,f.mode!==ii.MORPHING&&(ge=Nai,ge.x=0,ge.y=(re.z+re.x)*.5,ge.z=(re.w+re.y)*.5,re.x-=ge.y,re.y-=ge.z,re.z-=ge.y,re.w-=ge.z),f.mode===ii.SCENE2D&&de.quantization===PC.BITS12){let At=1/(Math.pow(2,12)-1)*.5,yt=(re.z-re.x)*At,at=(re.w-re.y)*At;re.x-=yt,re.y-=at,re.z+=yt,re.w+=at}(je instanceof Pu||je instanceof FO)&&(se=A.rectangle.south,ce=A.rectangle.north,me=Pu.geodeticLatitudeToMercatorAngle(se),Ce=1/(Pu.geodeticLatitudeToMercatorAngle(ce)-me),ye=!0)}let Be=qai;Be.frameState=f,Be.surfaceTile=m,Be.showReflectiveOcean=F,Be.showOceanWaves=N,Be.enableLighting=o.enableLighting,Be.dynamicAtmosphereLighting=o.dynamicAtmosphereLighting,Be.dynamicAtmosphereLightingFromSun=o.dynamicAtmosphereLightingFromSun,Be.showGroundAtmosphere=X,Be.atmosphereLightIntensity=o.atmosphereLightIntensity,Be.atmosphereRayleighCoefficient=o.atmosphereRayleighCoefficient,Be.atmosphereMieCoefficient=o.atmosphereMieCoefficient,Be.atmosphereRayleighScaleHeight=o.atmosphereRayleighScaleHeight,Be.atmosphereMieScaleHeight=o.atmosphereMieScaleHeight,Be.atmosphereMieAnisotropy=o.atmosphereMieAnisotropy,Be.perFragmentGroundAtmosphere=Ae,Be.hasVertexNormals=J,Be.useWebMercatorProjection=ye,Be.clippedByBoundaries=m.clippedByBoundaries,Be.hasGeodeticSurfaceNormals=O,Be.hasExaggeration=W;let Me=m.imagery,He=0,ke=Me.length,Ne=o.showSkirts&&!v&&!Q,Pe=o.backFaceCulling&&!v&&!Q,we=Pe?o._renderState:o._disableCullingRenderState,Fe=Pe?o._blendRenderState:o._disableCullingBlendRenderState,Ue=we,ze=o._firstPassInitialColor,Je=f.context;if(k(o._debug.boundingSphereTile)||tj(),o._materialUniformMap!==o.materialUniformMap){o._materialUniformMap=o.materialUniformMap;let je=o._drawCommands.length;for(let Ze=0;Ze<je;++Ze)o._uniformMaps[Ze]=mNe(f,o)}do{let je=0,Ze,rt;if(o._drawCommands.length<=o._usedDrawCommands?(Ze=new cn,Ze.owner=A,Ze.cull=!1,Ze.boundingVolume=new si,Ze.orientedBoundingBox=void 0,rt=mNe(f,o),o._drawCommands.push(Ze),o._uniformMaps.push(rt)):(Ze=o._drawCommands[o._usedDrawCommands],rt=o._uniformMaps[o._usedDrawCommands]),Ze.owner=A,++o._usedDrawCommands,A===o._debug.boundingSphereTile){let ui=fe.boundingVolume,Ht=fe.boundingSphere;k(ui)?Y7e(ui,qe.RED).update(f):k(Ht)&&J7e(Ht,qe.RED).update(f)}let At=rt.properties;kt.clone(ze,At.initialColor),At.oceanNormalMap=U,At.lightingFadeDistance.x=o.lightingFadeOutDistance,At.lightingFadeDistance.y=o.lightingFadeInDistance,At.nightFadeDistance.x=o.nightFadeOutDistance,At.nightFadeDistance.y=o.nightFadeInDistance,At.atmosphereLightIntensity=o.atmosphereLightIntensity,At.atmosphereRayleighCoefficient=o.atmosphereRayleighCoefficient,At.atmosphereMieCoefficient=o.atmosphereMieCoefficient,At.atmosphereRayleighScaleHeight=o.atmosphereRayleighScaleHeight,At.atmosphereMieScaleHeight=o.atmosphereMieScaleHeight,At.atmosphereMieAnisotropy=o.atmosphereMieAnisotropy,At.zoomedOutOceanSpecularIntensity=o.zoomedOutOceanSpecularIntensity;let yt=v?B:M,at=v?M:B;k(yt)&&(kt.fromElements(yt.near,yt.nearValue,yt.far,yt.farValue,At.frontFaceAlphaByDistance),kt.fromElements(at.near,at.nearValue,at.far,at.farValue,At.backFaceAlphaByDistance)),kt.fromElements(P.near,P.nearValue,P.far,P.farValue,At.undergroundColorAlphaByDistance),qe.clone(S,At.undergroundColor),At.lambertDiffuseMultiplier=T,At.vertexShadowDarkness=L;let ft=!k(m.vertexArray)&&k(o.fillHighlightColor)&&o.fillHighlightColor.alpha>0;ft&&qe.clone(o.fillHighlightColor,At.fillHighlightColor),At.terrainExaggerationAndRelativeHeight.x=G,At.terrainExaggerationAndRelativeHeight.y=Y,At.center3D=he.center,Z.clone(ge,At.rtc),kt.clone(re,At.tileRectangle),At.southAndNorthLatitude.x=se,At.southAndNorthLatitude.y=ce,At.southMercatorYAndOneOverHeight.x=me,At.southMercatorYAndOneOverHeight.y=Ce;let _t=Lai,et=ej(A.rectangle,o.cartographicLimitRectangle),pt=Fai,zt=ej(A.rectangle,D);Z.fromElements(ie,z,oe,At.hsbShift);let It=A.rectangle,Pt=1/It.width,St=1/It.height;_t.x=(et.west-It.west)*Pt,_t.y=(et.south-It.south)*St,_t.z=(et.east-It.west)*Pt,_t.w=(et.north-It.south)*St,kt.clone(_t,At.localizedCartographicLimitRectangle),pt.x=(zt.west-It.west)*Pt,pt.y=(zt.south-It.south)*St,pt.z=(zt.east-It.west)*Pt,pt.w=(zt.north-It.south)*St,kt.clone(pt,At.localizedTranslucencyRectangle);let dt=K&&De.fog(A._distance,f.fog.density)>De.EPSILON3;le=le&&(dt||X);let Le=!1,_e=!1,Oe=!1,vt=!1,wt=!1,Bt=!1,bi=!1,nr=!1,Ai=!1,xi=!1;for(;je<I&&He<ke;){let ui=Me[He],Ht=ui.readyImagery;if(++He,!k(Ht)||Ht.imageryLayer.alpha===0)continue;let Ei=ui.useWebMercatorT?Ht.textureWebMercator:Ht.texture,gt=Ht.imageryLayer;k(ui.textureTranslationAndScale)||(ui.textureTranslationAndScale=gt._calculateTextureTranslationAndScale(A,ui)),At.dayTextures[je]=Ei,At.dayTextureTranslationAndScale[je]=ui.textureTranslationAndScale,At.dayTextureTexCoordsRectangle[je]=ui.textureCoordinateRectangle,At.dayTextureUseWebMercatorT[je]=ui.useWebMercatorT,At.dayTextureAlpha[je]=gt.alpha,Bt=Bt||At.dayTextureAlpha[je]!==1,At.dayTextureNightAlpha[je]=gt.nightAlpha,bi=bi||At.dayTextureNightAlpha[je]!==1,At.dayTextureDayAlpha[je]=gt.dayAlpha,bi=bi||At.dayTextureDayAlpha[je]!==1,At.dayTextureBrightness[je]=gt.brightness,Le=Le||At.dayTextureBrightness[je]!==ux.DEFAULT_BRIGHTNESS,At.dayTextureContrast[je]=gt.contrast,_e=_e||At.dayTextureContrast[je]!==ux.DEFAULT_CONTRAST,At.dayTextureHue[je]=gt.hue,Oe=Oe||At.dayTextureHue[je]!==ux.DEFAULT_HUE,At.dayTextureSaturation[je]=gt.saturation,vt=vt||At.dayTextureSaturation[je]!==ux.DEFAULT_SATURATION,At.dayTextureOneOverGamma[je]=1/gt.gamma,wt=wt||At.dayTextureOneOverGamma[je]!==1/ux.DEFAULT_GAMMA,At.dayTextureSplit[je]=gt.splitDirection,nr=nr||At.dayTextureSplit[je]!==0;let bt=At.dayTextureCutoutRectangles[je];if(k(bt)||(bt=At.dayTextureCutoutRectangles[je]=new kt),kt.clone(kt.ZERO,bt),k(gt.cutoutRectangle)){let Oi=ej(It,gt.cutoutRectangle),Ci=hi.simpleIntersection(Oi,It,V7e);Ai=k(Ci)||Ai,bt.x=(Oi.west-It.west)*Pt,bt.y=(Oi.south-It.south)*St,bt.z=(Oi.east-It.west)*Pt,bt.w=(Oi.north-It.south)*St}let Ot=At.colorsToAlpha[je];k(Ot)||(Ot=At.colorsToAlpha[je]=new kt);let Wt=k(gt.colorToAlpha)&>.colorToAlphaThreshold>0;if(xi=xi||Wt,Wt){let Oi=gt.colorToAlpha;Ot.x=Oi.red,Ot.y=Oi.green,Ot.z=Oi.blue,Ot.w=gt.colorToAlphaThreshold}else Ot.w=-1;if(k(Ht.credits)){let Oi=Ht.credits;for(let Ci=0,so=Oi.length;Ci<so;++Ci)C.addCreditToNextFrame(Oi[Ci])}++je}At.dayTextures.length=je,At.waterMask=x,kt.clone(y,At.waterMaskTranslationAndScale),At.minMaxHeight.x=de.minimumHeight,At.minMaxHeight.y=de.maximumHeight,Re.clone(de.matrix,At.scaleAndBias);let Fi=o._clippingPlanes,pi=k(Fi)&&Fi.enabled&&A.isClipped;pi&&(At.clippingPlanesEdgeColor=qe.clone(Fi.edgeColor,At.clippingPlanesEdgeColor),At.clippingPlanesEdgeWidth=Fi.edgeWidth),Be.numberOfDayTextures=je,Be.applyBrightness=Le,Be.applyContrast=_e,Be.applyHue=Oe,Be.applySaturation=vt,Be.applyGamma=wt,Be.applyAlpha=Bt,Be.applyDayNightAlpha=bi,Be.applySplit=nr,Be.enableFog=dt,Be.enableClippingPlanes=pi,Be.clippingPlanes=Fi,Be.hasImageryLayerCutout=Ai,Be.colorCorrect=le,Be.highlightFillTile=ft,Be.colorToAlpha=xi,Be.showUndergroundColor=R,Be.translucent=Q,Be.enableFlatten=o._flattenPolygonRegion.enableFlatten,Be.showSlopeMap=kE.displaySlopeMap,Be.smoothSlopeAtHigherAlt=!1,Be.multiClippingPlanes=o._multiClippingPlanes;let Vt=m.renderedMesh.indices.length;Ne||(Vt=m.renderedMesh.indexCountWithoutSkirts),Ze.shaderProgram=o._surfaceShaderSet.getShaderProgram(Be),Ze.castShadows=j,Ze.receiveShadows=ee,Ze.renderState=Ue,Ze.primitiveType=$r.TRIANGLES,Ze.vertexArray=m.vertexArray||m.fill.vertexArray,Ze.count=Vt,Ze.uniformMap=rt,Ze.pass=zi.GLOBE,o._debug.wireframe&&(Jai(Je,o,A),k(m.wireframeVertexArray)&&(Ze.vertexArray=m.wireframeVertexArray,Ze.primitiveType=$r.LINES,Ze.count=Vt*2));let Kt=Ze.boundingVolume,di=Ze.orientedBoundingBox;f.mode!==ii.SCENE3D?(si.fromRectangleWithHeights2D(A.rectangle,f.mapProjection,fe.minimumHeight,fe.maximumHeight,Kt),Z.fromElements(Kt.center.z,Kt.center.x,Kt.center.y,Kt.center),f.mode===ii.MORPHING&&(Kt=si.union(fe.boundingSphere,Kt,Kt))):(Ze.boundingVolume=si.clone(fe.boundingSphere,Kt),Ze.orientedBoundingBox=MA.clone(fe.boundingVolume,di)),Ze.dirty=!0,Q&&w.updateDerivedCommands(Ze,f),H7e(Ze,f),Ue=Fe,ze=Wai}while(He<ke)}var jxe=Xc;function K7e(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=hi.clone(hi.MAX_VALUE)}Object.defineProperties(K7e.prototype,{enabled:{get:function(){return this._enabled},set:function(o){this._enabled=o}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(o){this._frontFaceAlpha=o}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(o){this._frontFaceAlphaByDistance=no.clone(o,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(o){this._backFaceAlpha=o}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(o){this._backFaceAlphaByDistance=no.clone(o,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(o){k(o)||(o=hi.clone(hi.MAX_VALUE)),hi.clone(o,this._rectangle)}}});var mY=K7e;function Xg(){this._layers=[],this.layerAdded=new ir,this.layerRemoved=new ir,this.layerMoved=new ir,this.layerShownOrHidden=new ir}Object.defineProperties(Xg.prototype,{length:{get:function(){return this._layers.length}}});Xg.prototype.add=function(o,A){k(A)?this._layers.splice(A,0,o):(A=this._layers.length,this._layers.push(o)),this._update(),this.layerAdded.raiseEvent(o,A);let f=o.readyEvent.addEventListener(()=>{this.layerShownOrHidden.raiseEvent(o,o._layerIndex,o.show),f()})};Xg.prototype.addImageryProvider=function(o,A){let f=new ux(o);return this.add(f,A),f};Xg.prototype.remove=function(o,A){A=ae(A,!0);let f=this._layers.indexOf(o);return f!==-1?(this._layers.splice(f,1),this._update(),this.layerRemoved.raiseEvent(o,f),A&&o.destroy(),!0):!1};Xg.prototype.removeAll=function(o){o=ae(o,!0);let A=this._layers;for(let f=0,m=A.length;f<m;f++){let C=A[f];this.layerRemoved.raiseEvent(C,f),o&&C.destroy()}this._layers=[]};Xg.prototype.contains=function(o){return this.indexOf(o)!==-1};Xg.prototype.indexOf=function(o){return this._layers.indexOf(o)};Xg.prototype.get=function(o){return this._layers[o]};function wte(o,A){return o.indexOf(A)}function W7e(o,A,f){let m=o._layers;if(A=De.clamp(A,0,m.length-1),f=De.clamp(f,0,m.length-1),A===f)return;let C=m[A];m[A]=m[f],m[f]=C,o._update(),o.layerMoved.raiseEvent(C,f,A)}Xg.prototype.raise=function(o){let A=wte(this._layers,o);W7e(this,A,A+1)};Xg.prototype.lower=function(o){let A=wte(this._layers,o);W7e(this,A,A-1)};Xg.prototype.raiseToTop=function(o){let A=wte(this._layers,o);A!==this._layers.length-1&&(this._layers.splice(A,1),this._layers.push(o),this._update(),this.layerMoved.raiseEvent(o,this._layers.length-1,A))};Xg.prototype.lowerToBottom=function(o){let A=wte(this._layers,o);A!==0&&(this._layers.splice(A,1),this._layers.splice(0,0,o),this._update(),this.layerMoved.raiseEvent(o,0,A))};var $ai=new hi;function q7e(o,A,f,m){let C=o.globe._surface._tilesToRender,E;for(let x=0;!k(E)&&x<C.length;++x){let y=C[x];hi.contains(y.rectangle,A)&&(E=y)}if(!k(E))return;let I=E.data.imagery;for(let x=I.length-1;x>=0;--x){let y=I[x],v=y.readyImagery;if(!k(v)||!v.imageryLayer.ready)continue;let w=v.imageryLayer.imageryProvider;if(f&&!k(w.pickFeatures)||!hi.contains(v.rectangle,A))continue;let Q=$ai,M=1/1024;Q.west=De.lerp(E.rectangle.west,E.rectangle.east,y.textureCoordinateRectangle.x-M),Q.east=De.lerp(E.rectangle.west,E.rectangle.east,y.textureCoordinateRectangle.z+M),Q.south=De.lerp(E.rectangle.south,E.rectangle.north,y.textureCoordinateRectangle.y-M),Q.north=De.lerp(E.rectangle.south,E.rectangle.north,y.textureCoordinateRectangle.w+M),hi.contains(Q,A)&&m(v)}}Xg.prototype.pickImageryLayers=function(o,A){let f=A.globe.pick(o,A);if(!k(f))return;let m=A.globe.ellipsoid.cartesianToCartographic(f),C=[];if(q7e(A,m,!1,function(E){C.push(E.imageryLayer)}),C.length!==0)return C};Xg.prototype.pickImageryLayerFeatures=function(o,A){let f=A.globe.pick(o,A);if(!k(f))return;let m=A.globe.ellipsoid.cartesianToCartographic(f),C=[],E=[];if(q7e(A,m,!0,function(I){if(!I.imageryLayer.ready)return;let x=I.imageryLayer.imageryProvider.pickFeatures(I.x,I.y,I.level,m.longitude,m.latitude);k(x)&&(C.push(x),E.push(I.imageryLayer))}),C.length!==0)return Promise.all(C).then(function(I){let x=[];for(let y=0;y<I.length;++y){let v=I[y],w=E[y];if(k(v)&&v.length>0)for(let Q=0;Q<v.length;++Q){let M=v[Q];M.imageryLayer=w,k(M.position)||(M.position=m),x.push(M)}}return x})};Xg.prototype.queueReprojectionCommands=function(o){let A=this._layers;for(let f=0,m=A.length;f<m;++f)A[f].queueReprojectionCommands(o)};Xg.prototype.cancelReprojections=function(){let o=this._layers;for(let A=0,f=o.length;A<f;++A)o[A].cancelReprojections()};Xg.prototype.isDestroyed=function(){return!1};Xg.prototype.destroy=function(){return this.removeAll(!0),ar(this)};Xg.prototype._update=function(){let o=!0,A=this._layers,f,m,C,E;for(C=0,E=A.length;C<E;++C)m=A[C],m._layerIndex=C,m.show?(m._isBaseLayer=o,o=!1):m._isBaseLayer=!1,m.show!==m._show&&(k(m._show)&&(k(f)||(f=[]),f.push(m)),m._show=m.show);if(k(f))for(C=0,E=f.length;C<E;++C)m=f[C],this.layerShownOrHidden.raiseEvent(m,m._layerIndex,m.show)};var Xxe=Xg;function wv(o){this._tileProvider=o.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let A=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new J$,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=ae(o.maximumScreenSpaceError,2),this.tileCacheSize=ae(o.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new V$({ellipsoid:A}),this._tileLoadProgressEvent=new ir,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties(wv.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});wv.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function esi(o){let A=o._tileReplacementQueue;A.head=void 0,A.tail=void 0,A.count=0,j7e(o);let f=o._levelZeroTiles;if(k(f))for(let m=0;m<f.length;++m){let C=f[m].customData,E=C.length;for(let I=0;I<E;++I){let x=C[I];x.level=0,o._addHeightCallbacks.push(x)}f[m].freeResources()}o._levelZeroTiles=void 0,o._tileProvider.cancelReprojections()}wv.prototype.forEachLoadedTile=function(o){let A=this._tileReplacementQueue.head;for(;k(A);)A.state!==m0.START&&o(A),A=A.replacementNext};wv.prototype.forEachRenderedTile=function(o){let A=this._tilesToRender;for(let f=0,m=A.length;f<m;++f)o(A[f])};wv.prototype.updateHeight=function(o,A){let f=this,m={positionOnEllipsoidSurface:void 0,positionCartographic:o,level:-1,callback:A};return m.removeFunc=function(){let C=f._addHeightCallbacks,E=C.length;for(let I=0;I<E;++I)if(C[I]===m){C.splice(I,1);break}f._removeHeightCallbacks.push(m),m.callback&&(m.callback=void 0)},f._addHeightCallbacks.push(m),m.removeFunc};wv.prototype.update=function(o){k(this._tileProvider.update)&&this._tileProvider.update(o)};function j7e(o){let A=o._debug;A.maxDepth=0,A.maxDepthVisited=0,A.tilesVisited=0,A.tilesCulled=0,A.tilesRendered=0,A.tilesWaitingForChildren=0,o._tileLoadQueueHigh.length=0,o._tileLoadQueueMedium.length=0,o._tileLoadQueueLow.length=0}wv.prototype.beginFrame=function(o){o.passes.render&&(this._tilesInvalidated&&(esi(this),this._tilesInvalidated=!1),this._tileProvider.initialize(o),j7e(this),!this._debug.suspendLodUpdate&&this._tileReplacementQueue.markStartOfRenderFrame())};wv.prototype.render=function(o){let A=o.passes,f=this._tileProvider;A.render&&(f.beginUpdate(o),nsi(this,o),gsi(this,o),f.endUpdate(o)),A.pick&&this._tilesToRender.length>0&&f.updateForPick(o)};function tsi(o,A){let f=o._tileLoadQueueHigh.length+o._tileLoadQueueMedium.length+o._tileLoadQueueLow.length;if(f!==o._lastTileLoadQueueLength||o._tilesInvalidated){let C=ir.prototype.raiseEvent.bind(o._tileLoadProgressEvent,f);A.afterRender.push(()=>(C(),!0)),o._lastTileLoadQueueLength=f}let m=o._debug;m.enableDebugOutput&&!m.suspendLodUpdate&&(m.maxDepth=o._tilesToRender.reduce(function(C,E){return Math.max(C,E.level)},-1),m.tilesRendered=o._tilesToRender.length,(m.tilesVisited!==m.lastTilesVisited||m.tilesRendered!==m.lastTilesRendered||m.tilesCulled!==m.lastTilesCulled||m.maxDepth!==m.lastMaxDepth||m.tilesWaitingForChildren!==m.lastTilesWaitingForChildren||m.maxDepthVisited!==m.lastMaxDepthVisited)&&(console.log(`Visited ${m.tilesVisited}, Rendered: ${m.tilesRendered}, Culled: ${m.tilesCulled}, Max Depth Rendered: ${m.maxDepth}, Max Depth Visited: ${m.maxDepthVisited}, Waiting for children: ${m.tilesWaitingForChildren}`),m.lastTilesVisited=m.tilesVisited,m.lastTilesRendered=m.tilesRendered,m.lastTilesCulled=m.tilesCulled,m.lastMaxDepth=m.maxDepth,m.lastTilesWaitingForChildren=m.tilesWaitingForChildren,m.lastMaxDepthVisited=m.maxDepthVisited))}wv.prototype.endFrame=function(o){!o.passes.render||o.mode===ii.MORPHING||(usi(this,o),dsi(this,o),tsi(this,o))};wv.prototype.isDestroyed=function(){return!1};wv.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};var fH,CNe=new Lt;function isi(o,A){let f=hi.center(o.rectangle,CNe),m=f.longitude-fH.longitude,C=f.latitude-fH.latitude;f=hi.center(A.rectangle,CNe);let E=f.longitude-fH.longitude,I=f.latitude-fH.latitude;return m*m+C*C-(E*E+I*I)}var rsi=new Z,U8=[];function nsi(o,A){let f=o._debug;if(f.suspendLodUpdate)return;let m=o._tilesToRender;m.length=0;let C,E=o._tileProvider;if(!k(o._levelZeroTiles))if(E.ready){let S=E.tilingScheme;o._levelZeroTiles=z$.createLevelZeroTiles(S);let P=o._levelZeroTiles.length;if(U8.length<P)for(U8=new Array(P),C=0;C<P;++C)U8[C]===void 0&&(U8[C]=new pH)}else return;o._occluders.ellipsoid.cameraPosition=A.camera.positionWC;let I,x=o._levelZeroTiles,y=x.length>1?o._occluders:void 0;fH=A.camera.positionCartographic,x.sort(isi);let v=o._addHeightCallbacks,w=o._removeHeightCallbacks,Q=A.frameNumber,M;if(v.length>0||w.length>0){for(C=0,M=x.length;C<M;++C)I=x[C],I._updateCustomData(Q,v,w);v.length=0,w.length=0}let B=A.camera;o._cameraPositionCartographic=B.positionCartographic;let D=Re.getTranslation(B.transform,rsi);for(o._cameraReferenceFrameOriginCartographic=o.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(D,o._cameraReferenceFrameOriginCartographic),C=0,M=x.length;C<M;++C)I=x[C],o._tileReplacementQueue.markTileRendered(I),I.renderable?Z0(o,I,E,A,y,!1,U8[C]):(jQ(o,o._tileLoadQueueHigh,I,A),++f.tilesWaitingForChildren);o._lastSelectionFrameNumber=Q}function jQ(o,A,f,m){f.needsLoading&&(o.tileProvider.computeTileLoadPriority!==void 0&&(f._loadPriority=o.tileProvider.computeTileLoadPriority(f,m)),A.push(f))}function pH(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function X7e(){this.southwest=new pH,this.southeast=new pH,this.northwest=new pH,this.northeast=new pH}X7e.prototype.combine=function(o){let A=this.southwest,f=this.southeast,m=this.northwest,C=this.northeast;o.allAreRenderable=A.allAreRenderable&&f.allAreRenderable&&m.allAreRenderable&&C.allAreRenderable,o.anyWereRenderedLastFrame=A.anyWereRenderedLastFrame||f.anyWereRenderedLastFrame||m.anyWereRenderedLastFrame||C.anyWereRenderedLastFrame,o.notYetRenderableCount=A.notYetRenderableCount+f.notYetRenderableCount+m.notYetRenderableCount+C.notYetRenderableCount};var lce=new Array(31);for(let o=0;o<lce.length;++o)lce[o]=new X7e;function osi(o,A,f,m,C){let E=o._debug;++E.tilesVisited,o._tileReplacementQueue.markTileRendered(f),f._updateCustomData(A.frameNumber),f.level>E.maxDepthVisited&&(E.maxDepthVisited=f.level);let I=lsi(o,A,f)<o.maximumScreenSpaceError,x=f.southwestChild,y=f.southeastChild,v=f.northwestChild,w=f.northeastChild,Q=o._lastSelectionFrameNumber,M=f._lastSelectionResultFrame===Q?f._lastSelectionResult:To.NONE,B=o.tileProvider;if(I||m){let D=To.originalResult(M)===To.RENDERED,S=To.originalResult(M)===To.CULLED||M===To.NONE,P=f.state===m0.DONE,R=D||S||P;if(R||k(B.canRenderWithoutLosingDetail)&&(R=B.canRenderWithoutLosingDetail(f)),R){I&&jQ(o,o._tileLoadQueueMedium,f,A),HW(o,f),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=M===To.RENDERED,C.notYetRenderableCount=f.renderable?0:1,f._lastSelectionResultFrame=A.frameNumber,f._lastSelectionResult=To.RENDERED,C.anyWereRenderedLastFrame||o._tileToUpdateHeights.push(f);return}m=!0,I&&jQ(o,o._tileLoadQueueHigh,f,A)}if(B.canRefine(f)){if(x.upsampledFromParent&&y.upsampledFromParent&&v.upsampledFromParent&&w.upsampledFromParent){HW(o,f),jQ(o,o._tileLoadQueueMedium,f,A),o._tileReplacementQueue.markTileRendered(x),o._tileReplacementQueue.markTileRendered(y),o._tileReplacementQueue.markTileRendered(v),o._tileReplacementQueue.markTileRendered(w),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=M===To.RENDERED,C.notYetRenderableCount=f.renderable?0:1,f._lastSelectionResultFrame=A.frameNumber,f._lastSelectionResult=To.RENDERED,C.anyWereRenderedLastFrame||o._tileToUpdateHeights.push(f);return}f._lastSelectionResultFrame=A.frameNumber,f._lastSelectionResult=To.REFINED;let D=o._tilesToRender.length,S=o._tileLoadQueueLow.length,P=o._tileLoadQueueMedium.length,R=o._tileLoadQueueHigh.length,T=o._tileToUpdateHeights.length;if(asi(o,x,y,v,w,A,m,C),D!==o._tilesToRender.length){let L=C.allAreRenderable,F=C.anyWereRenderedLastFrame,U=C.notYetRenderableCount,N=!1;if(!L&&!F){let H=o._tilesToRender;for(let K=D;K<H.length;++K){let X=H[K];for(;X!==void 0&&X._lastSelectionResult!==To.KICKED&&X!==f;)X._lastSelectionResult=To.kick(X._lastSelectionResult),X=X.parent}o._tilesToRender.length=D,o._tileToUpdateHeights.length=T,HW(o,f),f._lastSelectionResult=To.RENDERED;let J=M===To.RENDERED;!J&&U>o.loadingDescendantLimit&&(o._tileLoadQueueLow.length=S,o._tileLoadQueueMedium.length=P,o._tileLoadQueueHigh.length=R,jQ(o,o._tileLoadQueueMedium,f,A),C.notYetRenderableCount=f.renderable?0:1,N=!0),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=J,J||o._tileToUpdateHeights.push(f),++E.tilesWaitingForChildren}o.preloadAncestors&&!N&&jQ(o,o._tileLoadQueueLow,f,A)}return}f._lastSelectionResultFrame=A.frameNumber,f._lastSelectionResult=To.RENDERED,HW(o,f),jQ(o,o._tileLoadQueueHigh,f,A),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=M===To.RENDERED,C.notYetRenderableCount=f.renderable?0:1}function asi(o,A,f,m,C,E,I,x){let y=E.camera.positionCartographic,v=o._tileProvider,w=o._occluders,Q=lce[A.level],M=Q.southwest,B=Q.southeast,D=Q.northwest,S=Q.northeast;y.longitude<A.rectangle.east?y.latitude<A.rectangle.north?(Z0(o,A,v,E,w,I,M),Z0(o,f,v,E,w,I,B),Z0(o,m,v,E,w,I,D),Z0(o,C,v,E,w,I,S)):(Z0(o,m,v,E,w,I,D),Z0(o,A,v,E,w,I,M),Z0(o,C,v,E,w,I,S),Z0(o,f,v,E,w,I,B)):y.latitude<A.rectangle.north?(Z0(o,f,v,E,w,I,B),Z0(o,A,v,E,w,I,M),Z0(o,C,v,E,w,I,S),Z0(o,m,v,E,w,I,D)):(Z0(o,C,v,E,w,I,S),Z0(o,m,v,E,w,I,D),Z0(o,f,v,E,w,I,B),Z0(o,A,v,E,w,I,M)),Q.combine(x)}function ssi(o,A){let f=A.rectangle;return k(o._cameraPositionCartographic)&&hi.contains(f,o._cameraPositionCartographic)||k(o._cameraReferenceFrameOriginCartographic)&&hi.contains(f,o._cameraReferenceFrameOriginCartographic)}function Z0(o,A,f,m,C,E,I){if(f.computeTileVisibility(A,m,C)!==ld.NONE)return osi(o,m,A,E,I);if(++o._debug.tilesCulled,o._tileReplacementQueue.markTileRendered(A),I.allAreRenderable=!0,I.anyWereRenderedLastFrame=!1,I.notYetRenderableCount=0,ssi(o,A)){(!k(A.data)||!k(A.data.vertexArray))&&jQ(o,o._tileLoadQueueMedium,A,m);let x=o._lastSelectionFrameNumber,y=A._lastSelectionResultFrame===x?A._lastSelectionResult:To.NONE;y!==To.CULLED_BUT_NEEDED&&y!==To.RENDERED&&o._tileToUpdateHeights.push(A),A._lastSelectionResult=To.CULLED_BUT_NEEDED}else(o.preloadSiblings||A.level===0)&&jQ(o,o._tileLoadQueueLow,A,m),A._lastSelectionResult=To.CULLED;A._lastSelectionResultFrame=m.frameNumber}function lsi(o,A,f){if(A.mode===ii.SCENE2D||A.camera.frustum instanceof $a||A.camera.frustum instanceof Eg)return Asi(o,A,f);let m=o._tileProvider.getLevelMaximumGeometricError(f.level),C=f._distance,E=A.context.drawingBufferHeight,I=A.camera.frustum.sseDenominator,x=m*E/(C*I);return A.fog.enabled&&(x-=De.fog(C,A.fog.density)*A.fog.sse),x/=A.pixelRatio,x}function Asi(o,A,f){let m=A.camera.frustum,C=m.offCenterFrustum;k(C)&&(m=C);let E=A.context,I=E.drawingBufferWidth,x=E.drawingBufferHeight,y=o._tileProvider.getLevelMaximumGeometricError(f.level),v=Math.max(m.top-m.bottom,m.right-m.left)/Math.max(I,x),w=y/v;return A.fog.enabled&&A.mode!==ii.SCENE2D&&(w-=De.fog(f._distance,A.fog.density)*A.fog.sse),w/=A.pixelRatio,w}function HW(o,A){o._tilesToRender.push(A)}function usi(o,A){let f=o._tileLoadQueueHigh,m=o._tileLoadQueueMedium,C=o._tileLoadQueueLow;if(f.length===0&&m.length===0&&C.length===0)return;o._tileReplacementQueue.trimTiles(o.tileCacheSize);let E=HA()+o._loadQueueTimeSlice,I=o._tileProvider,x=_le(o,A,I,E,f,!1);x=_le(o,A,I,E,m,x),_le(o,A,I,E,C,x)}function csi(o,A){return o._loadPriority-A._loadPriority}function _le(o,A,f,m,C,E){f.computeTileLoadPriority!==void 0&&C.sort(csi);for(let I=0,x=C.length;I<x&&(HA()<m||!E);++I){let y=C[I];o._tileReplacementQueue.markTileRendered(y),f.loadTile(A,y),E=!0}return E}var h5=new Oa,Ble=new Lt,dT=new Z,hsi=[];function dsi(o,A){if(!o.tileProvider.ready)return;let f=hsi;f.length=0;let m=o._tileToUpdateHeights,C=HA(),E=o._updateHeightsTimeSlice,I=C+E,x=A.mode,y=A.mapProjection,v=o.tileProvider.tilingScheme.ellipsoid,w;for(;m.length>0;){let Q=m[0];if(!k(Q.data)||!k(Q.data.mesh)){let S=Q._lastSelectionResultFrame===o._lastSelectionFrameNumber?Q._lastSelectionResult:To.NONE;(S===To.RENDERED||S===To.CULLED_BUT_NEEDED)&&f.push(Q),m.shift(),o._lastTileIndex=0;continue}let M=Q.customData,B=M.length,D=!1;for(w=o._lastTileIndex;w<B;++w){let S=M[w],P=Q.data.terrainData,R=k(P)&&P.wasCreatedByUpsampling();if(Q.level>S.level&&!R){if(k(S.positionOnEllipsoidSurface)||(S.positionOnEllipsoidSurface=Z.fromRadians(S.positionCartographic.longitude,S.positionCartographic.latitude,0,v)),x===ii.SCENE3D){let L=v.geodeticSurfaceNormal(S.positionOnEllipsoidSurface,h5.direction),F=v.getSurfaceNormalIntersectionWithZAxis(S.positionOnEllipsoidSurface,11500,h5.origin);if(!k(F)){let U=0;k(Q.data.tileBoundingRegion)&&(U=Q.data.tileBoundingRegion.minimumHeight);let N=Math.min(U,-11500),H=Z.multiplyByScalar(L,Math.abs(N)+1,dT);Z.subtract(S.positionOnEllipsoidSurface,H,h5.origin)}}else Lt.clone(S.positionCartographic,Ble),Ble.height=-11500,y.project(Ble,dT),Z.fromElements(dT.z,dT.x,dT.y,dT),Z.clone(dT,h5.origin),Z.clone(Z.UNIT_X,h5.direction);let T=Q.data.pick(h5,x,y,!1,dT);k(T)&&(k(S.callback)&&S.callback(T),S.level=Q.level)}if(HA()>=I){D=!0;break}}if(D){o._lastTileIndex=w;break}else o._lastTileIndex=0,m.shift()}for(w=0;w<f.length;w++)m.push(f[w])}function gsi(o,A){let f=o._tileProvider,m=o._tilesToRender;for(let C=0,E=m.length;C<E;++C){let I=m[C];f.showTileThisFrame(I,A)}}var mD=wv;function TB(o){o=ae(o,gi.WGS84);let A=new pD({ellipsoid:o}),f=new Xxe;this._ellipsoid=o,this._imageryLayerCollection=f,this._spotMaterial=void 0,this._surfaceShaderSet=new Nxe,this._material=void 0,this._surface=new mD({tileProvider:new jxe({terrainProvider:A,imageryLayers:f,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=A,this._terrainProviderChanged=new ir,this._undergroundColor=qe.clone(qe.BLACK),this._undergroundColorAlphaByDistance=new no(o.maximumRadius/1e3,0,o.maximumRadius/5,1),this._translucency=new mY,mH(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new fr({url:Ja("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.lambertDiffuseMultiplier=.9,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!0,this.atmosphereLightIntensity=10,this.atmosphereRayleighCoefficient=new Z(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new Z(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.lightingFadeOutDistance=1e7,this.lightingFadeInDistance=2e7,this.nightFadeOutDistance=1e7,this.nightFadeInDistance=5e7,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!0,this.shadows=_s.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.terrainExaggeration=1,this.terrainExaggerationRelativeHeight=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0,this.vertexShadowDarkness=.3,this._flattenPolygonRegion={},this._flattenUniforms=void 0}Object.defineProperties(TB.prototype,{flattenPolygonRegion:{get:function(){return this._flattenPolygonRegion},set:function(o){this._flattenPolygonRegion=o}},flattenUniforms:{get:function(){return this._flattenUniforms},set:function(o){this._flattenUniforms!==o&&(this._flattenUniforms=o,mH(this))}},ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return k(this._surface)?this._surface.tileProvider.ready&&this._surface._tileLoadQueueHigh.length===0&&this._surface._tileLoadQueueMedium.length===0&&this._surface._tileLoadQueueLow.length===0:!0}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(o){this._surface.tileProvider.baseColor=o}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(o){this._surface.tileProvider.clippingPlanes=o}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(o){k(o)||(o=hi.clone(hi.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=o}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(o){this._oceanNormalMapResource.url=o,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(o){o!==this._terrainProvider&&(this._terrainProvider=o,this._terrainProviderChanged.raiseEvent(o),k(this._material)&&mH(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(o){this._material!==o&&(this._material=o,mH(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(o){this._undergroundColor=qe.clone(o,this._undergroundColor)}},spotMaterial:{get:function(){return this._spotMaterial},set:function(o){this._spotMaterial!==o&&(this._spotMaterial=o,mH(this))}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(o){this._undergroundColorAlphaByDistance=no.clone(o,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}}});function mH(o){let A=[],f=k(o._material)&&(o._material.shaderSource.match(/slope/)||o._material.shaderSource.match("normalEC")),m=[ZU,gX];k(o._material)&&(!f||o._terrainProvider.requestVertexNormals)?(m.push(o._material.shaderSource),A.push("APPLY_MATERIAL"),o._surface._tileProvider.materialUniformMap=o._material._uniforms):k(o._spotMaterial)?(m.push(o._spotMaterial.shaderSource),A.push("APPLY_SPOT"),o._surface._tileProvider.materialUniformMap=o._spotMaterial._uniforms):o.flattenUniforms?(o._surface._tileProvider.materialUniformMap=o.flattenUniforms,A.push("APPLY_FLATTEN")):o._surface._tileProvider.materialUniformMap=void 0,m.push(mIe),o._surfaceShaderSet.baseVertexShaderSource=new hr({sources:[ZU,gX,CIe],defines:A}),o._surfaceShaderSet.baseFragmentShaderSource=new hr({sources:m,defines:A}),o._material?o._surfaceShaderSet.material=o._material:o._spotMaterial?o._surfaceShaderSet.material=o._spotMaterial:o._surfaceShaderSet.material=void 0}function fsi(o){return function(A,f){let m=si.distanceSquaredTo(A.pickBoundingSphere,o),C=si.distanceSquaredTo(f.pickBoundingSphere,o);return m-C}}var psi=[],msi={start:0,stop:0};TB.prototype.pickWorldCoordinates=function(o,A,f,m){f=ae(f,!0);let C=A.mode,E=A.mapProjection,I=psi;I.length=0;let x=this._surface._tilesToRender,y=x.length,v,w;for(w=0;w<y;++w){v=x[w];let M=v.data;if(!k(M))continue;let B=M.pickBoundingSphere;if(C!==ii.SCENE3D)M.pickBoundingSphere=B=si.fromRectangleWithHeights2D(v.rectangle,E,M.tileBoundingRegion.minimumHeight,M.tileBoundingRegion.maximumHeight,B),Z.fromElements(B.center.z,B.center.x,B.center.y,B.center);else if(k(M.renderedMesh))si.clone(M.tileBoundingRegion.boundingSphere,B);else continue;let D=mh.raySphere(o,B,msi);k(D)&&I.push(M)}I.sort(fsi(o.origin));let Q;for(y=I.length,w=0;w<y&&(Q=I[w].pick(o,A.mode,A.mapProjection,f,m),!k(Q));++w);return Q};var Csi=new Lt;TB.prototype.pick=function(o,A,f){if(f=this.pickWorldCoordinates(o,A,!0,f),k(f)&&A.mode!==ii.SCENE3D){f=Z.fromElements(f.y,f.z,f.x,f);let m=A.mapProjection.unproject(f,Csi);f=A.globe.ellipsoid.cartographicToCartesian(m,f)}return f};var Esi=new Z,ENe=new Z,Isi=new Lt,xsi=new Oa;function wle(o,A){return k(o)&&hi.contains(o.rectangle,A)?o:void 0}TB.prototype.getHeight=function(o){let A=this._surface._levelZeroTiles;if(!k(A))return;let f,m,C=A.length;for(m=0;m<C&&(f=A[m],!hi.contains(f.rectangle,o));++m);if(m>=C)return;let E=f;for(;k(f);)f=wle(f._southwestChild,o)||wle(f._southeastChild,o)||wle(f._northwestChild,o)||f._northeastChild,k(f)&&k(f.data)&&k(f.data.renderedMesh)&&(E=f);if(f=E,!k(f)||!k(f.data)||!k(f.data.renderedMesh))return;let I=this._surface._tileProvider.tilingScheme.projection,x=this._surface._tileProvider.tilingScheme.ellipsoid,y=Z.fromRadians(o.longitude,o.latitude,0,x,Esi),v=xsi,w=x.geodeticSurfaceNormal(y,v.direction),Q=x.getSurfaceNormalIntersectionWithZAxis(y,11500,v.origin);if(!k(Q)){let B;k(f.data.tileBoundingRegion)&&(B=f.data.tileBoundingRegion.minimumHeight);let D=Math.min(ae(B,0),-11500),S=Z.multiplyByScalar(w,Math.abs(D)+1,ENe);Z.subtract(y,S,v.origin)}let M=f.data.pick(v,void 0,I,!1,ENe);if(k(M))return x.cartesianToCartographic(M,Isi).height};TB.prototype.update=function(o){this.show&&o.passes.render&&this._surface.update(o)};TB.prototype.beginFrame=function(o){let A=this._surface,f=A.tileProvider,m=this.terrainProvider,C=k(m)&&(k(m._ready)?m._ready:!k(m.ready)||m.ready),E=this.showWaterEffect&&C&&m.hasWaterMask&&m.hasWaterMask;if(E&&this._oceanNormalMapResourceDirty){this._oceanNormalMapResourceDirty=!1;let y=this._oceanNormalMapResource,v=y.url;if(k(v)){let w=this;y.fetchImage().then(function(Q){v===w._oceanNormalMapResource.url&&(w._oceanNormalMap=w._oceanNormalMap&&w._oceanNormalMap.destroy(),w._oceanNormalMap=new Rn({context:o.context,source:Q}))})}else this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy()}let I=o.passes,x=o.mode;I.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,A.maximumScreenSpaceError=this.maximumScreenSpaceError,A.tileCacheSize=this.tileCacheSize,A.loadingDescendantLimit=this.loadingDescendantLimit,A.preloadAncestors=this.preloadAncestors,A.preloadSiblings=this.preloadSiblings,f.terrainProvider=this.terrainProvider,f.lightingFadeOutDistance=this.lightingFadeOutDistance,f.lightingFadeInDistance=this.lightingFadeInDistance,f.nightFadeOutDistance=this.nightFadeOutDistance,f.nightFadeInDistance=this.nightFadeInDistance,f.zoomedOutOceanSpecularIntensity=x===ii.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,f.hasWaterMask=E,f.oceanNormalMap=this._oceanNormalMap,f.enableLighting=this.enableLighting,f.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,f.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,f.showGroundAtmosphere=this.showGroundAtmosphere,f.atmosphereLightIntensity=this.atmosphereLightIntensity,f.atmosphereRayleighCoefficient=this.atmosphereRayleighCoefficient,f.atmosphereMieCoefficient=this.atmosphereMieCoefficient,f.atmosphereRayleighScaleHeight=this.atmosphereRayleighScaleHeight,f.atmosphereMieScaleHeight=this.atmosphereMieScaleHeight,f.atmosphereMieAnisotropy=this.atmosphereMieAnisotropy,f.shadows=this.shadows,f.hueShift=this.atmosphereHueShift,f.saturationShift=this.atmosphereSaturationShift,f.brightnessShift=this.atmosphereBrightnessShift,f.fillHighlightColor=this.fillHighlightColor,f.showSkirts=this.showSkirts,f.backFaceCulling=this.backFaceCulling,f.vertexShadowDarkness=this.vertexShadowDarkness,f.undergroundColor=this._undergroundColor,f.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,f.lambertDiffuseMultiplier=this.lambertDiffuseMultiplier,f._flattenPolygonRegion=this._flattenPolygonRegion,A.beginFrame(o))};TB.prototype.render=function(o){this.show&&(k(this._material)&&this._material.update(o.context),this._surface.render(o))};TB.prototype.endFrame=function(o){this.show&&o.passes.render&&this._surface.endFrame(o)};TB.prototype.isDestroyed=function(){return!1};TB.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),ar(this)};var Zxe=TB;function ysi(o,A,f,m){this.rightAscension=o,this.declination=A,this.rotation=f,this.rotationRate=m}var $xe=ysi,Z7e={},vsi=32.184,_si=2451545,INe=-.0529921,xNe=-.1059842,yNe=13.0120009,vNe=13.3407154,_Ne=.9856003,BNe=26.4057084,wNe=13.064993,bNe=.3287146,QNe=1.7484877,SNe=-.1589763,DNe=.0036096,MNe=.1643573,TNe=12.9590088,ble=new jt;Z7e.ComputeMoon=function(o,A){k(o)||(o=jt.now()),ble=jt.addSeconds(o,vsi,ble);let f=jt.totalDays(ble)-_si,m=f/rA.DAYS_PER_JULIAN_CENTURY,C=(125.045+INe*f)*De.RADIANS_PER_DEGREE,E=(250.089+xNe*f)*De.RADIANS_PER_DEGREE,I=(260.008+yNe*f)*De.RADIANS_PER_DEGREE,x=(176.625+vNe*f)*De.RADIANS_PER_DEGREE,y=(357.529+_Ne*f)*De.RADIANS_PER_DEGREE,v=(311.589+BNe*f)*De.RADIANS_PER_DEGREE,w=(134.963+wNe*f)*De.RADIANS_PER_DEGREE,Q=(276.617+bNe*f)*De.RADIANS_PER_DEGREE,M=(34.226+QNe*f)*De.RADIANS_PER_DEGREE,B=(15.134+SNe*f)*De.RADIANS_PER_DEGREE,D=(119.743+DNe*f)*De.RADIANS_PER_DEGREE,S=(239.961+MNe*f)*De.RADIANS_PER_DEGREE,P=(25.053+TNe*f)*De.RADIANS_PER_DEGREE,R=Math.sin(C),T=Math.sin(E),L=Math.sin(I),F=Math.sin(x),U=Math.sin(y),N=Math.sin(v),H=Math.sin(w),J=Math.sin(Q),K=Math.sin(M),X=Math.sin(B),j=Math.sin(D),ee=Math.sin(S),ie=Math.sin(P),z=Math.cos(C),oe=Math.cos(E),le=Math.cos(I),Ae=Math.cos(x),he=Math.cos(y),ge=Math.cos(v),de=Math.cos(w),fe=Math.cos(Q),G=Math.cos(M),Y=Math.cos(B),W=Math.cos(D),O=Math.cos(S),re=Math.cos(P),se=(269.9949+.0031*m-3.8787*R-.1204*T+.07*L-.0172*F+.0072*N-.0052*X+.0043*ie)*De.RADIANS_PER_DEGREE,ce=(66.5392+.013*m+1.5419*z+.0239*oe-.0278*le+.0068*Ae-.0029*ge+9e-4*de+8e-4*Y-9e-4*re)*De.RADIANS_PER_DEGREE,me=(38.3213+13.17635815*f-14e-13*f*f+3.561*R+.1208*T-.0642*L+.0158*F+.0252*U-.0066*N-.0047*H-.0046*J+.0028*K+.0052*X+.004*j+.0019*ee-.0044*ie)*De.RADIANS_PER_DEGREE,Ce=(13.17635815-14e-13*(2*f)+3.561*z*INe+.1208*oe*xNe-.0642*le*yNe+.0158*Ae*vNe+.0252*he*_Ne-.0066*ge*BNe-.0047*de*wNe-.0046*fe*bNe+.0028*G*QNe+.0052*Y*SNe+.004*W*DNe+.0019*O*MNe-.0044*re*TNe)/86400*De.RADIANS_PER_DEGREE;return k(A)||(A=new $xe),A.rightAscension=se,A.declination=ce,A.rotation=me,A.rotationRate=Ce,A};var eye=Z7e;function $7e(o){(!k(o)||typeof o!="function")&&(o=eye.ComputeMoon),this._computeFunction=o}var Bsi=new Z,wsi=new Z,bsi=new Z;function Qsi(o,A,f){let m=Bsi;m.x=Math.cos(o+De.PI_OVER_TWO),m.y=Math.sin(o+De.PI_OVER_TWO),m.z=0;let C=Math.cos(A),E=bsi;E.x=C*Math.cos(o),E.y=C*Math.sin(o),E.z=Math.sin(A);let I=Z.cross(E,m,wsi);return k(f)||(f=new Nt),f[0]=m.x,f[1]=I.x,f[2]=E.x,f[3]=m.y,f[4]=I.y,f[5]=E.y,f[6]=m.z,f[7]=I.z,f[8]=E.z,f}var Ssi=new Nt,Dsi=new yr;$7e.prototype.evaluate=function(o,A){k(o)||(o=jt.now());let f=this._computeFunction(o),m=Qsi(f.rightAscension,f.declination,A),C=De.zeroToTwoPi(f.rotation),E=yr.fromAxisAngle(Z.UNIT_Z,C,Dsi),I=Nt.fromQuaternion(yr.conjugate(E,E),Ssi);return Nt.multiply(I,m,m)};var tye=$7e,Ace={position:0};function bte(o){o=ae(o,ae.EMPTY_OBJECT),this.center=Z.clone(ae(o.center,Z.ZERO)),this._center=new Z,this.radii=Z.clone(o.radii),this._radii=new Z,this._oneOverEllipsoidRadiiSquared=new Z,this._boundingSphere=new si,this.modelMatrix=Re.clone(ae(o.modelMatrix,Re.IDENTITY)),this._modelMatrix=new Re,this._computedModelMatrix=new Re,this.show=ae(o.show,!0),this.material=ae(o.material,fa.fromType(fa.ColorType)),this._material=void 0,this._translucent=void 0,this.id=o.id,this._id=void 0,this.debugShowBoundingVolume=ae(o.debugShowBoundingVolume,!1),this.onlySunLighting=ae(o.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=ae(o.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new cn({owner:ae(o._owner,this)}),this._pickCommand=new cn({owner:ae(o._owner,this),pickOnly:!0});let A=this;this._uniforms={u_radii:function(){return A.radii},u_oneOverEllipsoidRadiiSquared:function(){return A._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return A._pickId.color}}}function Msi(o){let A=o.cache.ellipsoidPrimitive_vertexArray;if(k(A))return A;let f=RS.createGeometry(RS.fromDimensions({dimensions:new Z(2,2,2),vertexFormat:wr.POSITION_ONLY}));return A=VA.fromGeometry({context:o,geometry:f,attributeLocations:Ace,bufferUsage:Fr.STATIC_DRAW,interleave:!0}),o.cache.ellipsoidPrimitive_vertexArray=A,A}bte.prototype.update=function(o){if(!this.show||o.mode!==ii.SCENE3D||!k(this.center)||!k(this.radii))return;let A=o.context,f=this.material.isTranslucent(),m=this._translucent!==f;(!k(this._rs)||m)&&(this._translucent=f,this._rs=Hr.fromCache({cull:{enabled:!0,face:tu.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!f&&A.fragmentDepth,blending:f?Sl.ALPHA_BLEND:void 0})),k(this._va)||(this._va=Msi(A));let C=!1,E=this.radii;if(!Z.equals(this._radii,E)){Z.clone(E,this._radii);let S=this._oneOverEllipsoidRadiiSquared;S.x=1/(E.x*E.x),S.y=1/(E.y*E.y),S.z=1/(E.z*E.z),C=!0}(!Re.equals(this.modelMatrix,this._modelMatrix)||!Z.equals(this.center,this._center))&&(Re.clone(this.modelMatrix,this._modelMatrix),Z.clone(this.center,this._center),Re.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),C=!0),C&&(Z.clone(Z.ZERO,this._boundingSphere.center),this._boundingSphere.radius=Z.maximumComponent(E),si.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));let I=this._material!==this.material;this._material=this.material,this._material.update(A);let x=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;let y=o.useLogDepth,v=this._useLogDepth!==y;this._useLogDepth=y;let w=this._colorCommand,Q,M;(I||x||m||v)&&(Q=new hr({sources:[dX]}),M=new hr({sources:[this.material.shaderSource,hX]}),this.onlySunLighting&&M.defines.push("ONLY_SUN_LIGHTING"),!f&&A.fragmentDepth&&M.defines.push("WRITE_DEPTH"),this._useLogDepth&&(Q.defines.push("LOG_DEPTH"),M.defines.push("LOG_DEPTH")),this._sp=Wa.replaceCache({context:A,shaderProgram:this._sp,vertexShaderSource:Q,fragmentShaderSource:M,attributeLocations:Ace}),w.vertexArray=this._va,w.renderState=this._rs,w.shaderProgram=this._sp,w.uniformMap=yo(this._uniforms,this.material._uniforms),w.executeInClosestFrustum=f);let B=o.commandList,D=o.passes;if(D.render&&(w.boundingVolume=this._boundingSphere,w.debugShowBoundingVolume=this.debugShowBoundingVolume,w.modelMatrix=this._computedModelMatrix,w.pass=f?zi.TRANSLUCENT:zi.OPAQUE,B.push(w)),D.pick){let S=this._pickCommand;(!k(this._pickId)||this._id!==this.id)&&(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=A.createPickId({primitive:this,id:this.id})),(I||x||!k(this._pickSP)||v)&&(Q=new hr({sources:[dX]}),M=new hr({sources:[this.material.shaderSource,hX],pickColorQualifier:"uniform"}),this.onlySunLighting&&M.defines.push("ONLY_SUN_LIGHTING"),!f&&A.fragmentDepth&&M.defines.push("WRITE_DEPTH"),this._useLogDepth&&(Q.defines.push("LOG_DEPTH"),M.defines.push("LOG_DEPTH")),this._pickSP=Wa.replaceCache({context:A,shaderProgram:this._pickSP,vertexShaderSource:Q,fragmentShaderSource:M,attributeLocations:Ace}),S.vertexArray=this._va,S.renderState=this._rs,S.shaderProgram=this._pickSP,S.uniformMap=yo(yo(this._uniforms,this._pickUniforms),this.material._uniforms),S.executeInClosestFrustum=f),S.boundingVolume=this._boundingSphere,S.modelMatrix=this._computedModelMatrix,S.pass=f?zi.TRANSLUCENT:zi.OPAQUE,B.push(S)}};bte.prototype.isDestroyed=function(){return!1};bte.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),ar(this)};var iye=bte;function CY(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.textureUrl;k(A)||(A=Ja("Assets/Textures/moonSmall.jpg")),this.show=ae(o.show,!0),this.textureUrl=A,this._ellipsoid=ae(o.ellipsoid,gi.MOON),this.onlySunLighting=ae(o.onlySunLighting,!0),this._ellipsoidPrimitive=new iye({radii:this.ellipsoid.radii,material:fa.fromType(fa.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new tye}Object.defineProperties(CY.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var VW=new Nt,Tsi=new Nt,Psi=new Z,zW=[];CY.prototype.update=function(o){if(!this.show)return;let A=this._ellipsoidPrimitive;A.material.uniforms.image=this.textureUrl,A.onlySunLighting=this.onlySunLighting;let f=o.time;k(Vr.computeIcrfToFixedMatrix(f,VW))||Vr.computeTemeToPseudoFixedMatrix(f,VW);let m=this._axes.evaluate(f,Tsi);Nt.transpose(m,m),Nt.multiply(VW,m,m);let C=qV.computeMoonPositionInEarthInertialFrame(f,Psi);Nt.multiplyByVector(VW,C,C),Re.fromRotationTranslation(m,C,A.modelMatrix);let E=o.commandList;return o.commandList=zW,zW.length=0,A.update(o),o.commandList=E,zW.length===1?zW[0]:void 0};CY.prototype.isDestroyed=function(){return!1};CY.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),ar(this)};var rye=CY,uce=[],cce=[];function Rsi(o,A,f,m,C,E){let I=C-m+1,x=E-C,y=uce,v=cce,w,Q;for(w=0;w<I;++w)y[w]=o[m+w];for(Q=0;Q<x;++Q)v[Q]=o[C+Q+1];w=0,Q=0;for(let M=m;M<=E;++M){let B=y[w],D=v[Q];w<I&&(Q>=x||A(B,D,f)<=0)?(o[M]=B,++w):Q<x&&(o[M]=D,++Q)}}function hce(o,A,f,m,C){if(m>=C)return;let E=Math.floor((m+C)*.5);hce(o,A,f,m,E),hce(o,A,f,E+1,C),Rsi(o,A,f,m,E,C)}function Lsi(o,A,f){let m=o.length,C=Math.ceil(m*.5);uce.length=C,cce.length=C,hce(o,A,f,0,m-1),uce.length=0,cce.length=0}var V4=Lsi;function Im(o,A){this._occluderPosition=Z.clone(o.center),this._occluderRadius=o.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.cameraPosition=A}var YW=new Z;Object.defineProperties(Im.prototype,{position:{get:function(){return this._occluderPosition}},radius:{get:function(){return this._occluderRadius}},cameraPosition:{set:function(o){o=Z.clone(o,this._cameraPosition);let A=Z.subtract(this._occluderPosition,o,YW),f=Z.magnitudeSquared(A),m=this._occluderRadius*this._occluderRadius,C,E,I;if(f>m){C=Math.sqrt(f-m),f=1/Math.sqrt(f),E=Z.multiplyByScalar(A,f,YW);let x=C*C*f;I=Z.add(o,Z.multiplyByScalar(E,x,YW),YW)}else C=Number.MAX_VALUE;this._horizonDistance=C,this._horizonPlaneNormal=E,this._horizonPlanePosition=I,this._cameraPosition=o}}});Im.fromBoundingSphere=function(o,A,f){return k(f)?(Z.clone(o.center,f._occluderPosition),f._occluderRadius=o.radius,f.cameraPosition=A,f):new Im(o,A)};var eWe=new Z;Im.prototype.isPointVisible=function(o){if(this._horizonDistance!==Number.MAX_VALUE){let A=Z.subtract(o,this._occluderPosition,eWe),f=this._occluderRadius;if(f=Z.magnitudeSquared(A)-f*f,f>0)return f=Math.sqrt(f)+this._horizonDistance,A=Z.subtract(o,this._cameraPosition,A),f*f>Z.magnitudeSquared(A)}return!1};var Fsi=new Z;Im.prototype.isBoundingSphereVisible=function(o){let A=Z.clone(o.center,Fsi),f=o.radius;if(this._horizonDistance!==Number.MAX_VALUE){let m=Z.subtract(A,this._occluderPosition,eWe),C=this._occluderRadius-f;if(C=Z.magnitudeSquared(m)-C*C,f<this._occluderRadius)return C>0?(C=Math.sqrt(C)+this._horizonDistance,m=Z.subtract(A,this._cameraPosition,m),C*C+f*f>Z.magnitudeSquared(m)):!1;if(C>0){m=Z.subtract(A,this._cameraPosition,m);let E=Z.magnitudeSquared(m),I=this._occluderRadius*this._occluderRadius,x=f*f;return(this._horizonDistance*this._horizonDistance+I)*x>E*I?!0:(C=Math.sqrt(C)+this._horizonDistance,C*C+x>E)}return!0}return!1};var Nsi=new Z;Im.prototype.computeVisibility=function(o){let A=Z.clone(o.center),f=o.radius;if(f>this._occluderRadius)return ld.FULL;if(this._horizonDistance!==Number.MAX_VALUE){let m=Z.subtract(A,this._occluderPosition,Nsi),C=this._occluderRadius-f,E=Z.magnitudeSquared(m);if(C=E-C*C,C>0){C=Math.sqrt(C)+this._horizonDistance,m=Z.subtract(A,this._cameraPosition,m);let I=Z.magnitudeSquared(m);return C*C+f*f<I?ld.NONE:(C=this._occluderRadius+f,C=E-C*C,C>0?(C=Math.sqrt(C)+this._horizonDistance,I<C*C+f*f?ld.FULL:ld.PARTIAL):(m=Z.subtract(A,this._horizonPlanePosition,m),Z.dot(m,this._horizonPlaneNormal)>-f?ld.PARTIAL:ld.FULL))}}return ld.NONE};var JW=new Z;Im.computeOccludeePoint=function(o,A,f){let m=Z.clone(A),C=Z.clone(o.center),E=o.radius,I=f.length,x=Z.normalize(Z.subtract(m,C,JW),JW),y=-Z.dot(x,C),v=Im._anyRotationVector(C,x,y),w=Im._horizonToPlaneNormalDotProduct(o,x,y,v,f[0]);if(!w)return;let Q;for(let B=1;B<I;++B){if(Q=Im._horizonToPlaneNormalDotProduct(o,x,y,v,f[B]),!Q)return;Q<w&&(w=Q)}if(w<.0017453283658983088)return;let M=E/w;return Z.add(C,Z.multiplyByScalar(x,M,JW),JW)};var ksi=[];Im.computeOccludeePointFromRectangle=function(o,A){A=ae(A,gi.WGS84);let f=hi.subsample(o,A,0,ksi),m=si.fromPoints(f),C=Z.ZERO;if(!Z.equals(C,m.center))return Im.computeOccludeePoint(new si(C,A.minimumRadius),m.center,f)};var Usi=new Z;Im._anyRotationVector=function(o,A,f){let m=Z.abs(A,Usi),C=m.x>m.y?0:1;(C===0&&m.z>m.x||C===1&&m.z>m.y)&&(C=2);let E=new Z,I;C===0?(m.x=o.x,m.y=o.y+1,m.z=o.z+1,I=Z.UNIT_X):C===1?(m.x=o.x+1,m.y=o.y,m.z=o.z+1,I=Z.UNIT_Y):(m.x=o.x+1,m.y=o.y+1,m.z=o.z,I=Z.UNIT_Z);let x=(Z.dot(A,m)+f)/-Z.dot(A,I);return Z.normalize(Z.subtract(Z.add(m,Z.multiplyByScalar(I,x,E),m),o,m),m)};var Osi=new Z;Im._rotationVector=function(o,A,f,m,C){let E=Z.subtract(m,o,Osi);if(E=Z.normalize(E,E),Z.dot(A,E)<.9999999847691291){let I=Z.cross(A,E,E);if(Z.magnitude(I)>De.EPSILON13)return Z.normalize(I,new Z)}return C};var Qle=new Z,Gsi=new Z,KW=new Z,PNe=new Z;Im._horizonToPlaneNormalDotProduct=function(o,A,f,m,C){let E=Z.clone(C,Qle),I=Z.clone(o.center,Gsi),x=o.radius,y=Z.subtract(I,E,KW),v=Z.magnitudeSquared(y),w=x*x;if(v<w)return!1;let Q=v-w,M=Math.sqrt(Q),B=1/Math.sqrt(v),D=M*B*M;y=Z.normalize(y,y);let S=Z.add(E,Z.multiplyByScalar(y,D,PNe),PNe),P=Math.sqrt(Q-D*D),R=this._rotationVector(I,A,f,E,m),T=Z.fromElements(R.x*R.x*y.x+(R.x*R.y-R.z)*y.y+(R.x*R.z+R.y)*y.z,(R.x*R.y+R.z)*y.x+R.y*R.y*y.y+(R.y*R.z-R.x)*y.z,(R.x*R.z-R.y)*y.x+(R.y*R.z+R.x)*y.y+R.z*R.z*y.z,Qle);T=Z.normalize(T,T);let L=Z.multiplyByScalar(T,P,Qle);R=Z.normalize(Z.subtract(Z.add(S,L,KW),I,KW),KW);let F=Z.dot(A,R);R=Z.normalize(Z.subtract(Z.subtract(S,L,R),I,R),R);let U=Z.dot(A,R);return F<U?F:U};var nye=Im;function EY(){this._colorTexture=void 0,this._drawCommand=void 0}Object.defineProperties(EY.prototype,{colorTexture:{get:function(){return this._colorTexture}}});function Hsi(o,A,f){let m=A.createViewportQuadCommand(sIe,{framebuffer:f,renderState:Hr.fromCache({viewport:new _r(0,0,256,256)})});o._drawCommand=m}EY.prototype.update=function(o){if(!k(this._colorTexture)){let A=o.context,f=new Rn({context:A,width:256,height:256,pixelFormat:Jr.RGBA,pixelDatatype:Gr.UNSIGNED_BYTE,sampler:Ra.NEAREST});this._colorTexture=f;let m=new Gd({context:A,colorTextures:[f],destroyAttachments:!1});Hsi(this,A,m),this._drawCommand.execute(A),m.destroy(),this._drawCommand.shaderProgram=this._drawCommand.shaderProgram&&this._drawCommand.shaderProgram.destroy()}};EY.prototype.isDestroyed=function(){return!1};EY.prototype.destroy=function(){return this._colorTexture=this._colorTexture&&this._colorTexture.destroy(),ar(this)};var oye=EY;function Vsi(o){this.pass=o.pass,this.commandList=o.commandList,this.camera=o.camera,this.cullingVolume=o.cullingVolume,this.ready=!1}var CD=Vsi,zsi=Ku(dv(),1),RNe=576,Ysi=100,O8="#ffffff",Sle="#48b";function tWe(o,A){this.credit=o,this.count=ae(A,1)}function iWe(o,A){let f=o.length;for(let m=0;m<f;m++){let C=o[m];if(la.equals(C,A))return!0}return!1}function Jsi(o){let A=o._previousCesiumCredit,f=o._currentCesiumCredit;la.equals(f,A)||(k(A)&&o._cesiumCreditContainer.removeChild(A.element),k(f)&&o._cesiumCreditContainer.appendChild(f.element),o._previousCesiumCredit=f)}var rWe="cesium-credit-delimiter";function LNe(o){let A=document.createElement("span");return A.textContent=o,A.className=rWe,A}function FNe(o,A){if(k(A)){let f=document.createElement(A);f._creditId=o._creditId,f.appendChild(o),o=f}return o}function NNe(o,A,f,m){let C=o.childNodes,E=-1;A.sort(function(I,x){return x.count-I.count});for(let I=0;I<A.length;++I){let x=A[I].credit;if(k(x)){if(E=I,k(f)&&(E*=2,I>0)){let v=E-1;if(C.length<=v)o.appendChild(LNe(f));else{let w=C[v];w.className!==rWe&&o.replaceChild(LNe(f),w)}}let y=x.element;if(C.length<=E)o.appendChild(FNe(y,m));else{let v=C[E];v._creditId!==x._id&&o.replaceChild(FNe(y,m),v)}}}for(++E;E<C.length;)o.removeChild(C[E])}function Ksi(o){let A=o._lightboxCredits,f=o.viewport.clientWidth,m=o.viewport.clientHeight;f!==o._lastViewportWidth&&(f<RNe?(A.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",A.style.marginTop="0"):(A.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",A.style.marginTop=`${Math.floor((m-A.clientHeight)*.5)}px`),o._lastViewportWidth=f),f>=RNe&&m!==o._lastViewportHeight&&(A.style.marginTop=`${Math.floor((m-A.clientHeight)*.5)}px`,o._lastViewportHeight=m)}function am(o,A){let f=`${o} {`;for(let m in A)A.hasOwnProperty(m)&&(f+=`${m}: ${A[m]}; `);return f+=` } `,f}function Wsi(o){let A="";A+=am(".cesium-credit-lightbox-overlay",{display:"none","z-index":"1",position:"absolute",top:"0",left:"0",width:"100%",height:"100%","background-color":"rgba(80, 80, 80, 0.8)"}),A+=am(".cesium-credit-lightbox",{"background-color":"#303336",color:O8,position:"relative","min-height":`${Ysi}px`,margin:"auto"}),A+=am(".cesium-credit-lightbox > ul > li a, .cesium-credit-lightbox > ul > li a:visited",{color:O8}),A+=am(".cesium-credit-lightbox > ul > li a:hover",{color:Sle}),A+=am(".cesium-credit-lightbox.cesium-credit-lightbox-expanded",{border:"1px solid #444","border-radius":"5px","max-width":"370px"}),A+=am(".cesium-credit-lightbox.cesium-credit-lightbox-mobile",{height:"100%",width:"100%"}),A+=am(".cesium-credit-lightbox-title",{padding:"20px 20px 0 20px"}),A+=am(".cesium-credit-lightbox-close",{"font-size":"18pt",cursor:"pointer",position:"absolute",top:"0",right:"6px",color:O8}),A+=am(".cesium-credit-lightbox-close:hover",{color:Sle}),A+=am(".cesium-credit-lightbox > ul",{margin:"0",padding:"12px 20px 12px 40px","font-size":"13px"}),A+=am(".cesium-credit-lightbox > ul > li",{"padding-bottom":"6px"}),A+=am(".cesium-credit-lightbox > ul > li *",{padding:"0",margin:"0"}),A+=am(".cesium-credit-expand-link",{"padding-left":"5px",cursor:"pointer","text-decoration":"underline",color:O8}),A+=am(".cesium-credit-expand-link:hover",{color:Sle}),A+=am(".cesium-credit-text",{color:O8}),A+=am(".cesium-credit-textContainer *, .cesium-credit-logoContainer *",{display:"inline"});function f(E){if(E.shadowRoot)return E.shadowRoot;if(E.getRootNode){let I=E.getRootNode();if(I instanceof ShadowRoot)return I}}let m=ae(f(o),document.head),C=document.createElement("style");C.innerHTML=A,m.appendChild(C)}function ac(o,A,f){let m=this;f=ae(f,document.body);let C=document.createElement("div");C.className="cesium-credit-lightbox-overlay",f.appendChild(C);let E=document.createElement("div");E.className="cesium-credit-lightbox",C.appendChild(E);function I(D){E.contains(D.target)||m.hideLightbox()}C.addEventListener("click",I,!1);let x=document.createElement("div");x.className="cesium-credit-lightbox-title",x.textContent="Data provided by:",E.appendChild(x);let y=document.createElement("a");y.onclick=this.hideLightbox.bind(this),y.innerHTML="×",y.className="cesium-credit-lightbox-close",E.appendChild(y);let v=document.createElement("ul");E.appendChild(v);let w=document.createElement("div");w.className="cesium-credit-logoContainer",w.style.display="inline",o.appendChild(w);let Q=document.createElement("div");Q.className="cesium-credit-textContainer",Q.style.display="inline",o.appendChild(Q);let M=document.createElement("a");M.className="cesium-credit-expand-link",M.onclick=this.showLightbox.bind(this),M.textContent="Data attribution",o.appendChild(M),Wsi(o);let B=la.clone(ac.cesiumCredit);this._delimiter=ae(A," \u2022 "),this._screenContainer=Q,this._cesiumCreditContainer=w,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=E,this._creditList=v,this._lightbox=C,this._hideLightbox=I,this._expandLink=M,this._expanded=!1,this._staticCredits=[],this._cesiumCredit=B,this._previousCesiumCredit=void 0,this._currentCesiumCredit=B,this._creditDisplayElementPool=[],this._creditDisplayElementIndex=0,this._currentFrameCredits={screenCredits:new mo,lightboxCredits:new mo},this._defaultCredit=void 0,this.viewport=f,this.container=o}function nWe(o,A,f,m){m=ae(m,1);let C=A.get(f.id);if(k(C))C.count<Number.MAX_VALUE&&(C.count+=m);else{let E=o._creditDisplayElementPool,I=o._creditDisplayElementPoolIndex;I<E.length?(C=E[I],C.credit=f,C.count=m):(C=new tWe(f,m),E.push(C)),++o._creditDisplayElementPoolIndex,A.set(f.id,C)}}ac.prototype.addCredit=function(o){$t("CreditDisplay.addCredit","CreditDisplay.addCredit was deprecated in CesiumJS 1.105. It will be removed in CesiumJS 1.107. Use CreditDisplay.addCreditToNextFrame instead."),this.addCreditToNextFrame(o)};ac.prototype.addCreditToNextFrame=function(o){if(o._isIon){k(this._defaultCredit)||(this._defaultCredit=la.clone(oWe())),this._currentCesiumCredit=this._defaultCredit;return}let A;o.showOnScreen?A=this._currentFrameCredits.screenCredits:A=this._currentFrameCredits.lightboxCredits,nWe(this,A,o)};ac.prototype.addDefaultCredit=function(o){$t("CreditDisplay.addDefaultCredit","CreditDisplay.addDefaultCredit was deprecated in CesiumJS 1.105. It will be removed in CesiumJS 1.107. Use CreditDisplay.addStaticCredit instead.");let A=this._staticCredits;iWe(A,o)||(o.showOnScreen=!0,A.push(o))};ac.prototype.addStaticCredit=function(o){let A=this._staticCredits;iWe(A,o)||A.push(o)};ac.prototype.removeStaticCredit=function(o){let A=this._staticCredits,f=A.indexOf(o);f!==-1&&A.splice(f,1)};ac.prototype.removeDefaultCredit=function(o){$t("CreditDisplay.removeDefaultCredit","CreditDisplay.removeDefaultCredit was deprecated in CesiumJS 1.105. It will be removed in CesiumJS 1.107. Use CreditDisplay.addStaticCredit instead."),this.removeStaticCredit(o)};ac.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0};ac.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1};ac.prototype.update=function(){this._expanded&&Ksi(this)};ac.prototype.beginFrame=function(){let o=this._currentFrameCredits;this._creditDisplayElementPoolIndex=0;let A=o.screenCredits,f=o.lightboxCredits;A.removeAll(),f.removeAll();let m=this._staticCredits;for(let C=0;C<m.length;++C){let E=m[C],I=E.showOnScreen?A:f;E._isIon&&la.equals(ac.cesiumCredit,this._cesiumCredit)||nWe(this,I,E,Number.MAX_VALUE)}la.equals(ac.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=la.clone(ac.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit};ac.prototype.endFrame=function(){let o=this._currentFrameCredits.screenCredits.values;NNe(this._screenContainer,o,this._delimiter,void 0);let A=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=A.length>0?"inline":"none",NNe(this._creditList,A,void 0,"li"),Jsi(this)};ac.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),ar(this)};ac.prototype.isDestroyed=function(){return!1};ac._cesiumCredit=void 0;ac._cesiumCreditInitialized=!1;var WW;function oWe(){if(!k(WW)){let o=Ja("Assets/Images/ion-credit.png");o.indexOf("http://")!==0&&o.indexOf("https://")!==0&&o.indexOf("data:")!==0&&(o=new zsi.default(o).path()),WW=new la(`<a href="https://cesium.com/" target="_blank"><img src="${o}" title="Cesium ion"/></a>`,!0)}return ac._cesiumCreditInitialized||(ac._cesiumCredit=WW,ac._cesiumCreditInitialized=!0),WW}Object.defineProperties(ac,{cesiumCredit:{get:function(){return oWe(),ac._cesiumCredit},set:function(o){ac._cesiumCredit=o,ac._cesiumCreditInitialized=!0}}});ac.CreditDisplayElement=tWe;var aye=ac;function IY(o){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1,this._ellipsoidOffset=ae(o,0)}var G8=co.supportsTypedArrays()?new Float32Array(12):[],kNe=new Z,UNe=new Z,Dle=new Z,ONe=new Z,qW=new Z;function qsi(o,A){let f=o.radii,m=A.camera,C,E,I;if(m.frustum instanceof $a)C=Z.ZERO,E=m.rightWC,I=m.upWC;else{let Q=m.positionWC,M=Z.multiplyComponents(o.oneOverRadii,Q,kNe),B=Z.normalize(M,UNe),D=Z.normalize(Z.cross(Z.UNIT_Z,M,Dle),Dle),S=Z.normalize(Z.cross(B,D,ONe),ONe),P=Z.magnitude(M),R=Math.sqrt(P*P-1);C=Z.multiplyByScalar(B,1/P,kNe);let T=R/P;E=Z.multiplyByScalar(D,T,UNe),I=Z.multiplyByScalar(S,T,Dle)}let x=Z.add(C,I,qW);Z.subtract(x,E,x),Z.multiplyComponents(f,x,x),Z.pack(x,G8,0);let y=Z.subtract(C,I,qW);Z.subtract(y,E,y),Z.multiplyComponents(f,y,y),Z.pack(y,G8,3);let v=Z.add(C,I,qW);Z.add(v,E,v),Z.multiplyComponents(f,v,v),Z.pack(v,G8,6);let w=Z.subtract(C,I,qW);return Z.add(w,E,w),Z.multiplyComponents(f,w,w),Z.pack(w,G8,9),G8}IY.prototype.update=function(o){if(this._mode=o.mode,o.mode!==ii.SCENE3D)return;let A=o.context,f=o.mapProjection.ellipsoid.radii,m=new gi(f.x+this._ellipsoidOffset,f.y+this._ellipsoidOffset,f.z+this._ellipsoidOffset),C=o.useLogDepth;if(k(this._command)||(this._rs=Hr.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new cn({renderState:this._rs,boundingVolume:new si(Z.ZERO,m.maximumRadius),pass:zi.OPAQUE,owner:this})),!k(this._sp)||this._useLogDepth!==C){this._useLogDepth=C;let I=new hr({sources:[fIe]}),x=new hr({sources:[gIe]});C&&(x.defines.push("LOG_DEPTH"),I.defines.push("LOG_DEPTH")),this._sp=Wa.replaceCache({shaderProgram:this._sp,context:A,vertexShaderSource:I,fragmentShaderSource:x,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp}let E=qsi(m,o);if(k(this._va))this._va.getAttribute(0).vertexBuffer.copyFromArrayView(E);else{let I=new Bo({attributes:{position:new Br({componentDatatype:Mt.FLOAT,componentsPerAttribute:3,values:E})},indices:[0,1,2,2,1,3],primitiveType:$r.TRIANGLES});this._va=VA.fromGeometry({context:A,geometry:I,attributeLocations:{position:0},bufferUsage:Fr.DYNAMIC_DRAW}),this._command.vertexArray=this._va}};IY.prototype.execute=function(o,A){this._mode===ii.SCENE3D&&this._command.execute(o,A)};IY.prototype.isDestroyed=function(){return!1};IY.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var sye=IY;function xY(){}var jsi=/\bgl_FragDepth\b/,Xsi=/\bdiscard\b/;function Zsi(o,A){let f=o.shaderCache.getDerivedShaderProgram(A,"depthOnly");if(!k(f)){let m=A._attributeLocations,C=A.fragmentShaderSource,E,I=!1,x=C.sources,y=x.length;for(E=0;E<y;++E)if(jsi.test(x[E])||Xsi.test(x[E])){I=!0;break}let v=!1,w=C.defines;for(y=w.length,E=0;E<y;++E)if(w[E]==="LOG_DEPTH"){v=!0;break}let Q;!I&&!v?(Q=`void main() { out_FragColor = vec4(1.0); } `,C=new hr({sources:[Q]})):!I&&v&&(Q=`void main() { out_FragColor = vec4(1.0); czm_writeLogDepth(); } `,C=new hr({defines:["LOG_DEPTH"],sources:[Q]})),f=o.shaderCache.createDerivedShaderProgram(A,"depthOnly",{vertexShaderSource:A.vertexShaderSource,fragmentShaderSource:C,attributeLocations:m})}return f}function $si(o,A){let f=o._depthOnlyRenderStateCache,m=f[A.id];if(!k(m)){let C=Hr.getState(A);C.depthMask=!0,C.colorMask={red:!1,green:!1,blue:!1,alpha:!1},m=Hr.fromCache(C),f[A.id]=m}return m}xY.createDepthOnlyDerivedCommand=function(o,A,f,m){k(m)||(m={});let C,E;return k(m.depthOnlyCommand)&&(C=m.depthOnlyCommand.shaderProgram,E=m.depthOnlyCommand.renderState),m.depthOnlyCommand=cn.shallowClone(A,m.depthOnlyCommand),!k(C)||m.shaderProgramId!==A.shaderProgram.id?(m.depthOnlyCommand.shaderProgram=Zsi(f,A.shaderProgram),m.depthOnlyCommand.renderState=$si(o,A.renderState),m.shaderProgramId=A.shaderProgram.id):(m.depthOnlyCommand.shaderProgram=C,m.depthOnlyCommand.renderState=E),m};var eli=/\s+czm_writeLogDepth\(/,tli=/\s+czm_vertexLogDepth\(/;function ili(o,A){if(A.fragmentShaderSource.defines.indexOf("LOG_DEPTH_READ_ONLY")>=0)return A;let f=o.shaderCache.getDerivedShaderProgram(A,"logDepth");if(!k(f)){let m=A._attributeLocations,C=A.vertexShaderSource.clone(),E=A.fragmentShaderSource.clone();C.defines=k(C.defines)?C.defines.slice(0):[],C.defines.push("LOG_DEPTH"),E.defines=k(E.defines)?E.defines.slice(0):[],E.defines.push("LOG_DEPTH");let I,x,y=!1,v=C.sources,w=v.length;for(I=0;I<w;++I)if(tli.test(v[I])){y=!0;break}if(!y){for(I=0;I<w;++I)v[I]=hr.replaceMain(v[I],"czm_log_depth_main");x=` void main() { czm_log_depth_main(); czm_vertexLogDepth(); } `,v.push(x)}for(v=E.sources,w=v.length,y=!1,I=0;I<w;++I)eli.test(v[I])&&(y=!0);E.defines.indexOf("LOG_DEPTH_WRITE")!==-1&&(y=!0);let Q="";if(!y){for(I=0;I<w;I++)v[I]=hr.replaceMain(v[I],"czm_log_depth_main");Q+=` void main() { czm_log_depth_main(); czm_writeLogDepth(); } `}v.push(Q),f=o.shaderCache.createDerivedShaderProgram(A,"logDepth",{vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:m})}return f}xY.createLogDepthCommand=function(o,A,f){k(f)||(f={});let m;return k(f.command)&&(m=f.command.shaderProgram),f.command=cn.shallowClone(o,f.command),!k(m)||f.shaderProgramId!==o.shaderProgram.id?(f.command.shaderProgram=ili(A,o.shaderProgram),f.shaderProgramId=o.shaderProgram.id):f.command.shaderProgram=m,f};function rli(o,A,f){let m=o.shaderCache.getDerivedShaderProgram(A,"pick");if(!k(m)){let C=A._attributeLocations,E=A.fragmentShaderSource,I=E.sources,x=I.length,y=`void main() { czm_non_pick_main(); if (out_FragColor.a == 0.0) { discard; } out_FragColor = ${f}; } `,v=new Array(x+1);for(let w=0;w<x;++w)v[w]=hr.replaceMain(I[w],"czm_non_pick_main");v[x]=y,E=new hr({sources:v,defines:E.defines}),m=o.shaderCache.createDerivedShaderProgram(A,"pick",{vertexShaderSource:A.vertexShaderSource,fragmentShaderSource:E,attributeLocations:C})}return m}function nli(o,A){let f=o.picking.pickRenderStateCache,m=f[A.id];if(!k(m)){let C=Hr.getState(A);C.blending.enabled=!1,C.depthMask=!0,m=Hr.fromCache(C),f[A.id]=m}return m}xY.createPickDerivedCommand=function(o,A,f,m){k(m)||(m={});let C,E;return k(m.pickCommand)&&(C=m.pickCommand.shaderProgram,E=m.pickCommand.renderState),m.pickCommand=cn.shallowClone(A,m.pickCommand),!k(C)||m.shaderProgramId!==A.shaderProgram.id?(m.pickCommand.shaderProgram=rli(f,A.shaderProgram,A.pickId),m.pickCommand.renderState=nli(o,A.renderState),m.shaderProgramId=A.shaderProgram.id):(m.pickCommand.shaderProgram=C,m.pickCommand.renderState=E),m};function oli(o,A){let f=o.shaderCache.getDerivedShaderProgram(A,"HDR");if(!k(f)){let m=A._attributeLocations,C=A.vertexShaderSource.clone(),E=A.fragmentShaderSource.clone();C.defines=k(C.defines)?C.defines.slice(0):[],C.defines.push("HDR"),E.defines=k(E.defines)?E.defines.slice(0):[],E.defines.push("HDR"),f=o.shaderCache.createDerivedShaderProgram(A,"HDR",{vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:m})}return f}xY.createHdrCommand=function(o,A,f){k(f)||(f={});let m;return k(f.command)&&(m=f.command.shaderProgram),f.command=cn.shallowClone(o,f.command),!k(m)||f.shaderProgramId!==o.shaderProgram.id?(f.command.shaderProgram=oli(A,o.shaderProgram),f.shaderProgramId=o.shaderProgram.id):f.command.shaderProgram=m,f};var xm=xY;function Qte(o){this._scene=o,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;let A=this;function f(m){let C=m.alpha;if(!k(C)){A._alpha=void 0,A._beta=void 0,A._gamma=void 0;return}A._alpha=De.toRadians(C),A._beta=De.toRadians(m.beta),A._gamma=De.toRadians(m.gamma)}window.addEventListener("deviceorientation",f,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",f,!1)}}var ali=new yr,GNe=new yr,sli=new Nt;function lli(o,A,f,m){let C=o.direction,E=o.right,I=o.up,x=yr.fromAxisAngle(C,f,GNe),y=yr.fromAxisAngle(E,m,ali),v=yr.multiply(y,x,y),w=yr.fromAxisAngle(I,A,GNe);yr.multiply(w,v,v);let Q=Nt.fromQuaternion(v,sli);Nt.multiplyByVector(Q,E,E),Nt.multiplyByVector(Q,I,I),Nt.multiplyByVector(Q,C,C)}Qte.prototype.update=function(){if(!k(this._alpha))return;k(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma);let o=this._lastAlpha-this._alpha,A=this._lastBeta-this._beta,f=this._lastGamma-this._gamma;lli(this._scene.camera,-o,A,f),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma};Qte.prototype.isDestroyed=function(){return!1};Qte.prototype.destroy=function(){return this._removeListener(),ar(this)};var lye=Qte;function aWe(){this.enabled=!0,this.renderable=!0,this.density=2e-4,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}var ij=[359.393,800.749,1275.6501,2151.1192,3141.7763,4777.5198,6281.2493,12364.307,15900.765,49889.0549,78026.8259,99260.7344,120036.3873,151011.0158,156091.1953,203849.3112,274866.9803,319916.3149,493552.0528,628733.5874],m1=[2e-5,2e-4,1e-4,7e-5,5e-5,4e-5,3e-5,19e-6,1e-5,85e-7,62e-7,58e-7,53e-7,52e-7,51e-7,42e-7,4e-6,34e-7,26e-7,22e-7];for(let o=0;o<m1.length;++o)m1[o]*=1e6;var sWe=m1[1],dce=m1[m1.length-1];for(let o=0;o<m1.length;++o)m1[o]=(m1[o]-dce)/(sWe-dce);var i0=0;function Ali(o){let A=ij,f=A.length;if(o<A[0])return i0=0,i0;if(o>A[f-1])return i0=f-2,i0;if(o>=A[i0]){if(i0+1<f&&o<A[i0+1])return i0;if(i0+2<f&&o<A[i0+2])return++i0,i0}else if(i0-1>=0&&o>=A[i0-1])return--i0,i0;let m;for(m=0;m<f-2&&!(o>=A[m]&&o<A[m+1]);++m);return i0=m,i0}var uli=new Z;aWe.prototype.update=function(o){if(!(o.fog.enabled=this.enabled))return;o.fog.renderable=this.renderable;let A=o.camera,f=A.positionCartographic;if(!k(f)||f.height>8e5||o.mode!==ii.SCENE3D){o.fog.enabled=!1;return}let m=f.height,C=Ali(m),E=De.clamp((m-ij[C])/(ij[C+1]-ij[C]),0,1),I=De.lerp(m1[C],m1[C+1],E),x=this.density*1e6,y=x/sWe*dce;I=I*(x-y)*1e-6;let v=Z.normalize(A.positionWC,uli),w=Math.abs(Z.dot(A.directionWC,v));I*=1-w,o.fog.density=I,o.fog.sse=this.screenSpaceErrorFactor,o.fog.minimumBrightness=this.minimumBrightness};var Aye=aWe;function cli(o,A,f){this.context=o,this.commandList=[],this.shadowMaps=[],this.textureProjectionMaps=[],this.viewShedMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=ii.SCENE3D,this.morphTime=ii.getMorphTime(ii.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=f,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.cullingVolumeForTileset=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=A,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,density:void 0,sse:void 0,minimumBrightness:void 0},this.terrainExaggeration=1,this.terrainExaggerationRelativeHeight=0,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.textureProjecitonHints={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.viewShedState={shadowsEnabled:!0,lightShadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.splitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0}var uye=cli,n0={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},qL=n0.DERIVED_COMMANDS_MAXIMUM_LENGTH,lWe=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function LN(){this._frontFaceAlphaByDistance=new no(0,1,0,1),this._backFaceAlphaByDistance=new no(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=hi.clone(hi.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array(qL),this._derivedBlendCommandTypes=new Array(qL),this._derivedPickCommandTypes=new Array(qL),this._derivedCommandTypesToUpdate=new Array(qL),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}Object.defineProperties(LN.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}});LN.prototype.update=function(o){let A=o.globe;if(!k(A)||!A.show){this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,this._useDepthPlane=!1;return}this._frontFaceAlphaByDistance=HNe(A.translucency.enabled,A.translucency.frontFaceAlpha,A.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=HNe(A.translucency.enabled,A.translucency.backFaceAlpha,A.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=VNe(A.translucency.enabled,this._frontFaceAlphaByDistance,A),this._backFaceTranslucent=VNe(A.translucency.enabled,this._backFaceAlphaByDistance,A),this._requiresManualDepthTest=fli(this,o,A),this._sunVisibleThroughGlobe=hli(this,o),this._environmentVisible=dli(this,o),this._useDepthPlane=gli(this,o),this._numberOfTextureUniforms=pli(this),this._rectangle=hi.clone(A.translucency.rectangle,this._rectangle),mli(this,o)};function HNe(o,A,f,m){return o?k(f)?(no.clone(f,m),m.nearValue*=A,m.farValue*=A,m):(m.nearValue=A,m.farValue=A,m):(m.nearValue=1,m.farValue=1,m)}function VNe(o,A,f){return o&&(f.baseColor.alpha<1||A.nearValue<1||A.farValue<1)}function hli(o,A){let f=o._frontFaceTranslucent,m=o._backFaceTranslucent;return f&&(A.cameraUnderground||m)}function dli(o,A){return!A.cameraUnderground||o._frontFaceTranslucent}function gli(o,A){return!A.cameraUnderground&&!o._frontFaceTranslucent}function fli(o,A,f){return o._frontFaceTranslucent&&!o._backFaceTranslucent&&!f.depthTestAgainstTerrain&&A.mode!==ii.SCENE2D&&A.context.depthTexture}function pli(o){let A=0;return o._frontFaceTranslucent&&++A,o._requiresManualDepthTest&&++A,A}function mli(o,A){o._derivedCommandsLength=Mle(o,A,!1,!1,o._derivedCommandTypes),o._derivedBlendCommandsLength=Mle(o,A,!0,!1,o._derivedBlendCommandTypes),o._derivedPickCommandsLength=Mle(o,A,!1,!0,o._derivedPickCommandTypes);let f,m=0;for(f=0;f<o._derivedCommandsLength;++f)m|=1<<o._derivedCommandTypes[f];for(f=0;f<o._derivedBlendCommandsLength;++f)m|=1<<o._derivedBlendCommandTypes[f];for(f=0;f<o._derivedPickCommandsLength;++f)m|=1<<o._derivedPickCommandTypes[f];let C=0;for(f=0;f<qL;++f)(m&1<<f)>0&&(o._derivedCommandTypesToUpdate[C++]=f);o._derivedCommandsToUpdateLength=C;let E=m!==o._derivedCommandKey;o._derivedCommandKey=m,o._derivedCommandsDirty=E,!k(o._derivedCommandPacks)&&o._frontFaceTranslucent&&(o._derivedCommandPacks=Tli())}function Mle(o,A,f,m,C){let E=0,I=o._frontFaceTranslucent,x=o._backFaceTranslucent;if(!I)return E;let y=A.cameraUnderground,v=o._requiresManualDepthTest,w=m?n0.PICK_FRONT_FACE:v?n0.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:n0.TRANSLUCENT_FRONT_FACE,Q=m?n0.PICK_BACK_FACE:v?n0.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:n0.TRANSLUCENT_BACK_FACE;return A.mode===ii.SCENE2D?(C[E++]=n0.DEPTH_ONLY_FRONT_FACE,C[E++]=w,E):(x?(f||(C[E++]=n0.DEPTH_ONLY_FRONT_AND_BACK_FACE),y?(C[E++]=w,C[E++]=Q):(C[E++]=Q,C[E++]=w)):y?(f||(C[E++]=n0.DEPTH_ONLY_BACK_FACE),C[E++]=n0.OPAQUE_FRONT_FACE,C[E++]=Q):(f||(C[E++]=n0.DEPTH_ONLY_FRONT_FACE),C[E++]=n0.OPAQUE_BACK_FACE,C[E++]=w),E)}function Oy(o,A){let f=o.indexOf(A);f>-1&&o.splice(f,1)}function zNe(o,A){return o.indexOf(A)>-1}function Cli(o,A){Oy(o.defines,"TRANSLUCENT"),Oy(A.defines,"TRANSLUCENT")}function Eli(o,A){Oy(o.defines,"GROUND_ATMOSPHERE"),Oy(A.defines,"GROUND_ATMOSPHERE"),Oy(o.defines,"FOG"),Oy(A.defines,"FOG"),Oy(o.defines,"TRANSLUCENT"),Oy(A.defines,"TRANSLUCENT")}function Tle(o,A){if(zNe(A.defines,"TILE_LIMIT_RECTANGLE")||zNe(A.defines,"ENABLE_CLIPPING_PLANES"))return;let f=`void main() { out_FragColor = vec4(1.0); } `;A.sources=[f]}function cye(o,A){let f=A.sources,m=f.length;for(let E=0;E<m;++E)f[E]=hr.replaceMain(f[E],"czm_globe_translucency_main");let C=` uniform sampler2D u_classificationTexture; void main() { vec2 st = gl_FragCoord.xy / czm_viewport.zw; #ifdef MANUAL_DEPTH_TEST float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); if (logDepthOrDepth != 0.0) { vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); float depthEC = eyeCoordinate.z / eyeCoordinate.w; if (v_positionEC.z < depthEC) { discard; } } #endif czm_globe_translucency_main(); vec4 classificationColor = texture(u_classificationTexture, st); if (classificationColor.a > 0.0) { // Reverse premultiplication process to get the correct composited result of the classification primitives classificationColor.rgb /= classificationColor.a; } out_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + out_FragColor * (1.0 - classificationColor.a); } `;f.push(C)}function AWe(o,A){cye(o,A),Oy(o.defines,"GROUND_ATMOSPHERE"),Oy(A.defines,"GROUND_ATMOSPHERE"),Oy(o.defines,"FOG"),Oy(A.defines,"FOG")}function Ili(o,A){cye(o,A),o.defines.push("GENERATE_POSITION"),A.defines.push("MANUAL_DEPTH_TEST")}function xli(o,A){AWe(o,A),o.defines.push("GENERATE_POSITION"),A.defines.push("MANUAL_DEPTH_TEST")}function YNe(o,A){let f=`uniform sampler2D u_classificationTexture; void main() { vec2 st = gl_FragCoord.xy / czm_viewport.zw; vec4 pickColor = texture(u_classificationTexture, st); if (pickColor == vec4(0.0)) { discard; } out_FragColor = pickColor; } `;A.sources=[f]}function yli(o,A,f,m,C,E){if(!k(C))return A;if(!m&&k(f))return f;let I=o.shaderCache.getDerivedShaderProgram(A,E);if(!k(I)){let x=A._attributeLocations,y=A.vertexShaderSource.clone(),v=A.fragmentShaderSource.clone();y.defines=k(y.defines)?y.defines.slice(0):[],v.defines=k(v.defines)?v.defines.slice(0):[],C(y,v),I=o.shaderCache.createDerivedShaderProgram(A,E,{vertexShaderSource:y,fragmentShaderSource:v,attributeLocations:x})}return I}function vli(o){o.cull.face=tu.BACK,o.cull.enabled=!0}function _li(o){o.cull.face=tu.FRONT,o.cull.enabled=!0}function Bli(o){o.cull.face=tu.BACK,o.cull.enabled=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function wli(o){o.cull.face=tu.FRONT,o.cull.enabled=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function bli(o){o.cull.enabled=!1,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function JNe(o){o.cull.face=tu.BACK,o.cull.enabled=!0,o.depthMask=!1,o.blending=Sl.ALPHA_BLEND}function KNe(o){o.cull.face=tu.FRONT,o.cull.enabled=!0,o.depthMask=!1,o.blending=Sl.ALPHA_BLEND}function Qli(o){o.cull.face=tu.BACK,o.cull.enabled=!0,o.blending.enabled=!1}function Sli(o){o.cull.face=tu.FRONT,o.cull.enabled=!0,o.blending.enabled=!1}function Dli(o,A,f,m,C){if(!k(m))return o;if(!f&&k(A))return A;let E=C[o.id];if(!k(E)){let I=Hr.getState(o);m(I),E=Hr.fromCache(I),C[o.id]=E}return E}function d5(o){return{u_classificationTexture:function(){return o._globeTranslucencyFramebuffer.classificationTexture}}}function Mli(o,A,f,m,C){return k(C)?!m&&k(f)?f:yo(A,C(o),!1):A}function T_(o){this.pass=o.pass,this.pickOnly=o.pickOnly,this.getShaderProgramFunction=o.getShaderProgramFunction,this.getRenderStateFunction=o.getRenderStateFunction,this.getUniformMapFunction=o.getUniformMapFunction,this.renderStateCache={}}function Tli(){return[new T_({pass:zi.GLOBE,pickOnly:!1,getShaderProgramFunction:Cli,getRenderStateFunction:vli,getUniformMapFunction:void 0}),new T_({pass:zi.GLOBE,pickOnly:!1,getShaderProgramFunction:Eli,getRenderStateFunction:_li,getUniformMapFunction:void 0}),new T_({pass:zi.GLOBE,pickOnly:!1,getShaderProgramFunction:Tle,getRenderStateFunction:Bli,getUniformMapFunction:void 0}),new T_({pass:zi.GLOBE,pickOnly:!1,getShaderProgramFunction:Tle,getRenderStateFunction:wli,getUniformMapFunction:void 0}),new T_({pass:zi.GLOBE,pickOnly:!1,getShaderProgramFunction:Tle,getRenderStateFunction:bli,getUniformMapFunction:void 0}),new T_({pass:zi.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:cye,getRenderStateFunction:JNe,getUniformMapFunction:d5}),new T_({pass:zi.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:AWe,getRenderStateFunction:KNe,getUniformMapFunction:d5}),new T_({pass:zi.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Ili,getRenderStateFunction:JNe,getUniformMapFunction:d5}),new T_({pass:zi.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:xli,getRenderStateFunction:KNe,getUniformMapFunction:d5}),new T_({pass:zi.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:YNe,getRenderStateFunction:Qli,getUniformMapFunction:d5}),new T_({pass:zi.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:YNe,getRenderStateFunction:Sli,getUniformMapFunction:d5})]}var WNe=new Array(qL),qNe=new Array(qL);LN.prototype.updateDerivedCommands=function(o,A){let f=this._derivedCommandTypesToUpdate,m=this._derivedCommandsToUpdateLength;if(m!==0){for(let C=0;C<m;++C)qNe[C]=this._derivedCommandPacks[f[C]],WNe[C]=lWe[f[C]];Pli(this,o,m,f,WNe,qNe,A)}};function Pli(o,A,f,m,C,E,I){let x=A.derivedCommands.globeTranslucency,y=o._derivedCommandsDirty;if(A.dirty||!k(x)||y){A.dirty=!1,k(x)||(x={},A.derivedCommands.globeTranslucency=x);let v=I.frameNumber,w=ae(x.uniformMapDirtyFrame,0),Q=ae(x.shaderProgramDirtyFrame,0),M=ae(x.renderStateDirtyFrame,0),B=x.uniformMap!==A.uniformMap,D=x.shaderProgramId!==A.shaderProgram.id,S=x.renderStateId!==A.renderState.id;B&&(x.uniformMapDirtyFrame=v),D&&(x.shaderProgramDirtyFrame=v),S&&(x.renderStateDirtyFrame=v),x.uniformMap=A.uniformMap,x.shaderProgramId=A.shaderProgram.id,x.renderStateId=A.renderState.id;for(let P=0;P<f;++P){let R=E[P],T=m[P],L=C[P],F=x[L],U,N,H;k(F)?(U=F.uniformMap,N=F.shaderProgram,H=F.renderState):(U=void 0,N=void 0,H=void 0),F=cn.shallowClone(A,F),x[L]=F;let J=ae(F.derivedCommands.uniformMapDirtyFrame,0),K=ae(F.derivedCommands.shaderProgramDirtyFrame,0),X=ae(F.derivedCommands.renderStateDirtyFrame,0),j=B||J<w,ee=D||K<Q,ie=S||X<M;j&&(F.derivedCommands.uniformMapDirtyFrame=v),ee&&(F.derivedCommands.shaderProgramDirtyFrame=v),ie&&(F.derivedCommands.renderStateDirtyFrame=v),F.derivedCommands.type=T,F.pass=R.pass,F.pickOnly=R.pickOnly,F.uniformMap=Mli(o,A.uniformMap,U,j,R.getUniformMapFunction),F.shaderProgram=yli(I.context,A.shaderProgram,N,ee,R.getShaderProgramFunction,L),F.renderState=Dli(A.renderState,H,ie,R.getRenderStateFunction,R.renderStateCache)}}}LN.prototype.pushDerivedCommands=function(o,A,f){let m=f.passes.pick;if(m&&A)return;let C=this._derivedCommandTypes,E=this._derivedCommandsLength;if(m?(C=this._derivedPickCommandTypes,E=this._derivedPickCommandsLength):A&&(C=this._derivedBlendCommandTypes,E=this._derivedBlendCommandsLength),E===0){f.commandList.push(o);return}let I=o.derivedCommands.globeTranslucency;for(let x=0;x<E;++x){let y=lWe[C[x]];f.commandList.push(I[y])}};function uWe(o,A,f,m,C,E,I){for(let x=0;x<A;++x){let y=o[x],v=y.derivedCommands.type;(!k(I)||I.indexOf(v)>-1)&&f(y,m,C,E)}}function jNe(o,A,f,m,C,E){for(let I=0;I<A;++I)f(o[I],m,C,E)}var Rli=[n0.OPAQUE_FRONT_FACE,n0.OPAQUE_BACK_FACE],Lli=[n0.DEPTH_ONLY_FRONT_FACE,n0.DEPTH_ONLY_BACK_FACE,n0.DEPTH_ONLY_FRONT_AND_BACK_FACE];LN.prototype.executeGlobeCommands=function(o,A,f,m,C){let E=m.context,I=o.commands[zi.GLOBE],x=o.indices[zi.GLOBE];x!==0&&(this._globeTranslucencyFramebuffer=f,f.clearClassification(E,C),uWe(I,x,A,m,E,C,Rli))};LN.prototype.executeGlobeClassificationCommands=function(o,A,f,m,C){let E=m.context,I=o.commands[zi.GLOBE],x=o.indices[zi.GLOBE],y=o.commands[zi.TERRAIN_CLASSIFICATION],v=o.indices[zi.TERRAIN_CLASSIFICATION];if(x===0||v===0)return;let w=this._frontFaceTranslucent,Q=this._backFaceTranslucent;if((!w||!Q)&&jNe(y,v,A,m,E,C),!w&&!Q)return;this._globeTranslucencyFramebuffer=f;let M=E.uniformState.globeDepthTexture,B=C.framebuffer;if(C.framebuffer=f.classificationFramebuffer,uWe(I,x,A,m,E,C,Lli),E.depthTexture){let D=f.packDepth(E,C);E.uniformState.globeDepthTexture=D}jNe(y,v,A,m,E,C),E.uniformState.globeDepthTexture=M,C.framebuffer=B};var hye=LN,OS=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; void main() { out_FragColor = texture(colorTexture, v_textureCoordinates); } `;function fb(){this._numSamples=1,this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._fbo=new _c({depthStencil:!0,createDepthAttachments:!1}),this._fboClassified=new _c({depthStencil:!0,createDepthAttachments:!1}),this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new QA({color:new qe(0,0,0,0),owner:this}),this._clearCommand=new QA({color:new qe(0,0,0,0),depth:1,stencil:0});let o=this;this._uniformMap={colorTexture:function(){return o._fbo.getColorTexture()},depthTexture:function(){return o._depthStencilTexture},classifiedTexture:function(){return o._fboClassified.getColorTexture()}}}Object.defineProperties(fb.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}});fb.isTranslucencySupported=function(o){return o.depthTexture&&o.fragmentDepth};var Fli={depthMask:!1,stencilTest:{enabled:!0,frontFunction:sA.EQUAL,frontOperation:{fail:kn.KEEP,zFail:kn.KEEP,zPass:kn.KEEP},backFunction:sA.NEVER,reference:0,mask:No.CLASSIFICATION_MASK},blending:Sl.ALPHA_BLEND},Nli={depthMask:!1,stencilTest:{enabled:!0,frontFunction:sA.NOT_EQUAL,frontOperation:{fail:kn.KEEP,zFail:kn.KEEP,zPass:kn.KEEP},backFunction:sA.NEVER,reference:0,mask:No.CLASSIFICATION_MASK},blending:Sl.ALPHA_BLEND},kli={depthMask:!0,depthTest:{enabled:!0},stencilTest:No.setCesium3DTileBit(),stencilMask:No.CESIUM_3D_TILE_MASK,blending:Sl.ALPHA_BLEND},Uli=`uniform sampler2D colorTexture; uniform sampler2D depthTexture; uniform sampler2D classifiedTexture; in vec2 v_textureCoordinates; void main() { vec4 color = texture(colorTexture, v_textureCoordinates); if (color.a == 0.0) { discard; } bool isClassified = all(equal(texture(classifiedTexture, v_textureCoordinates), vec4(0.0))); #ifdef UNCLASSIFIED vec4 highlightColor = czm_invertClassificationColor; if (isClassified) { discard; } #else vec4 highlightColor = vec4(1.0); if (!isClassified) { discard; } #endif out_FragColor = color * highlightColor; gl_FragDepth = texture(depthTexture, v_textureCoordinates).r; } `,Oli=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; void main() { vec4 color = texture(colorTexture, v_textureCoordinates); if (color.a == 0.0) { discard; } #ifdef UNCLASSIFIED out_FragColor = color * czm_invertClassificationColor; #else out_FragColor = color; #endif } `;fb.prototype.update=function(o,A,f){let m=this._fbo.getColorTexture(),C=this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;let E=this._numSamples!==A,I=o.drawingBufferWidth,x=o.drawingBufferHeight,y=!k(m)||m.width!==I||m.height!==x;if((y||C||E)&&(this._numSamples=A,this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),k(this._previousFramebuffer)||(this._depthStencilTexture=new Rn({context:o,width:I,height:x,pixelFormat:Jr.DEPTH_STENCIL,pixelDatatype:Gr.UNSIGNED_INT_24_8}),A>1&&(this._depthStencilRenderbuffer=new gx({context:o,width:I,height:x,format:XE.DEPTH24_STENCIL8,numSamples:A})))),!k(this._fbo.framebuffer)||y||C||E){this._fbo.destroy(),this._fboClassified.destroy();let v,w;k(this._previousFramebuffer)?(v=f.getDepthStencilTexture(),w=f.getDepthStencilRenderbuffer()):(v=this._depthStencilTexture,w=this._depthStencilRenderbuffer),this._fbo.setDepthStencilTexture(v),k(w)&&this._fbo.setDepthStencilRenderbuffer(w),this._fbo.update(o,I,x,A),k(this._previousFramebuffer)||(this._fboClassified.setDepthStencilTexture(v),this._fboClassified.update(o,I,x))}if(k(this._rsUnclassified)||(this._rsUnclassified=Hr.fromCache(Fli),this._rsClassified=Hr.fromCache(Nli),this._rsDefault=Hr.fromCache(kli)),!k(this._unclassifiedCommand)||C||E){k(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy());let v=k(this._previousFramebuffer)?Oli:Uli,w=new hr({defines:["UNCLASSIFIED"],sources:[v]}),Q=new hr({sources:[v]});this._unclassifiedCommand=o.createViewportQuadCommand(w,{renderState:k(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=o.createViewportQuadCommand(Q,{renderState:k(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),k(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),k(this._previousFramebuffer)||(this._translucentCommand=o.createViewportQuadCommand(OS,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this}))}};fb.prototype.prepareTextures=function(o,A){this._fbo._numSamples>1&&this._fbo.prepareTextures(o,A)};fb.prototype.clear=function(o,A){k(this._previousFramebuffer)?this._fbo.clear(o,this._clearColorCommand,A):(this._fbo.clear(o,this._clearCommand,A),this._fboClassified.clear(o,this._clearCommand,A))};fb.prototype.executeClassified=function(o,A){if(!k(this._previousFramebuffer)){let f=A.framebuffer;this.prepareTextures(o,!0),A.framebuffer=this._fboClassified.framebuffer,this._translucentCommand.execute(o,A),A.framebuffer=f}this._classifiedCommand.execute(o,A)};fb.prototype.executeUnclassified=function(o,A){this._unclassifiedCommand.execute(o,A)};fb.prototype.isDestroyed=function(){return!1};fb.prototype.destroy=function(){return this._fbo.destroy(),this._fboClassified.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),k(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),ar(this)};var Ste=fb;function rj(o){this._total=o,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}Object.defineProperties(rj.prototype,{total:{get:function(){return this._total}}});function d2(o){let A=new Array(VE.NUMBER_OF_JOB_TYPES);A[VE.TEXTURE]=new rj(k(o)?o[VE.TEXTURE]:10),A[VE.PROGRAM]=new rj(k(o)?o[VE.PROGRAM]:10),A[VE.BUFFER]=new rj(k(o)?o[VE.BUFFER]:30);let f=A.length,m,C=0;for(m=0;m<f;++m)C+=A[m].total;let E=new Array(f);for(m=0;m<f;++m)E[m]=!1;this._totalBudget=C,this._totalUsedThisFrame=0,this._budgets=A,this._executedThisFrame=E}d2.getTimestamp=HA;Object.defineProperties(d2.prototype,{totalBudget:{get:function(){return this._totalBudget}}});d2.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget};d2.prototype.resetBudgets=function(){let o=this._budgets,A=o.length;for(let f=0;f<A;++f){let m=o[f];m.starvedLastFrame=m.starvedThisFrame,m.starvedThisFrame=!1,m.usedThisFrame=0,m.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0};d2.prototype.execute=function(o,A){let f=this._budgets,m=f[A],C=this._executedThisFrame[A];if(this._totalUsedThisFrame>=this._totalBudget&&C)return m.starvedThisFrame=!0,!1;let E;if(m.usedThisFrame+m.stolenFromMeThisFrame>=m.total){let y=f.length,v;for(v=0;v<y&&(E=f[v],!(E.usedThisFrame+E.stolenFromMeThisFrame<E.total&&!E.starvedLastFrame));++v);if(v===y&&C)return!1;C&&(m.starvedThisFrame=!0)}let I=d2.getTimestamp();o.execute();let x=d2.getTimestamp()-I;return this._totalUsedThisFrame+=x,E?E.stolenFromMeThisFrame+=x:m.usedThisFrame+=x,this._executedThisFrame[A]=!0,!0};var dye=d2;function Dte(o){o=ae(o,ae.EMPTY_OBJECT);let A=Ru(o.container);this._container=A;let f=document.createElement("div");f.className="cesium-performanceDisplay";let m=document.createElement("div");m.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),m.appendChild(this._fpsText);let C=document.createElement("div");C.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),C.appendChild(this._msText),f.appendChild(C),f.appendChild(m),this._container.appendChild(f),this._lastFpsSampleTime=HA(),this._lastMsSampleTime=HA(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;let E=document.createElement("div");E.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),E.appendChild(this._throttledText),f.appendChild(E)}Object.defineProperties(Dte.prototype,{throttled:{get:function(){return this._throttled},set:function(o){this._throttled!==o&&(o?this._throttledText.nodeValue="(throttled)":this._throttledText.nodeValue="",this._throttled=o)}}});Dte.prototype.update=function(o){let A=HA(),f=ae(o,!0);this._fpsFrameCount++;let m=A-this._lastFpsSampleTime;if(m>1e3){let E="N/A";f&&(E=this._fpsFrameCount*1e3/m|0),this._fpsText.nodeValue=`${E} FPS`,this._lastFpsSampleTime=A,this._fpsFrameCount=0}this._msFrameCount++;let C=A-this._lastMsSampleTime;if(C>200){let E="N/A";f&&(E=(C/this._msFrameCount).toFixed(2)),this._msText.nodeValue=`${E} MS`,this._lastMsSampleTime=A,this._msFrameCount=0}};Dte.prototype.destroy=function(){return ar(this)};var yY=Dte;function FN(){this._framebuffer=new _c,this._textureToCopy=void 0,this._copyDepthCommand=void 0}Object.defineProperties(FN.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function Gli(o,A,f){let m=f.width,C=f.height;o._framebuffer.update(A,m,C)}function Hli(o,A,f){if(!k(o._copyDepthCommand)){let m=`uniform highp sampler2D u_texture; in vec2 v_textureCoordinates; void main() { out_FragColor = czm_packDepth(texture(u_texture, v_textureCoordinates).r); } `;o._copyDepthCommand=A.createViewportQuadCommand(m,{renderState:Hr.fromCache(),uniformMap:{u_texture:function(){return o._textureToCopy}},owner:o})}o._textureToCopy=f,o._copyDepthCommand.framebuffer=o.framebuffer}FN.prototype.update=function(o,A){Gli(this,o,A),Hli(this,o,A)};var Vli=new kt,zli=new kt(1,1/255,1/65025,1/16581375);FN.prototype.getDepth=function(o,A,f){if(!k(this.framebuffer))return;let m=o.readPixels({x:A,y:f,width:1,height:1,framebuffer:this.framebuffer}),C=kt.unpack(m,0,Vli);return kt.divideByScalar(C,255,C),kt.dot(C,zli)};FN.prototype.executeCopyDepth=function(o,A){this._copyDepthCommand.execute(o,A)};FN.prototype.isDestroyed=function(){return!1};FN.prototype.destroy=function(){return this._framebuffer.destroy(),k(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=k(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),ar(this)};var gye=FN;function Yli(o,A){this.near=ae(o,0),this.far=ae(A,0);let f=zi.NUMBER_OF_PASSES,m=new Array(f),C=new Array(f);for(let E=0;E<f;++E)m[E]=[],C[E]=0;this.commands=m,this.indices=C}var fye=Yli,A9=`uniform highp sampler2D u_depthTexture; in vec2 v_textureCoordinates; void main() { out_FragColor = czm_packDepth(texture(u_depthTexture, v_textureCoordinates).r); } `;function pb(){this._picking=!1,this._numSamples=1,this._tempCopyDepthTexture=void 0,this._pickColorFramebuffer=new _c({depthStencil:!0,supportsDepthTexture:!0}),this._outputFramebuffer=new _c({depthStencil:!0,supportsDepthTexture:!0}),this._copyDepthFramebuffer=new _c,this._tempCopyDepthFramebuffer=new _c,this._updateDepthFramebuffer=new _c({createColorAttachments:!1,createDepthAttachments:!1,depthStencil:!0}),this._clearGlobeColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._viewport=new _r,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0}Object.defineProperties(pb.prototype,{colorFramebufferManager:{get:function(){return this._picking?this._pickColorFramebuffer:this._outputFramebuffer}},framebuffer:{get:function(){return this.colorFramebufferManager.framebuffer}},depthStencilTexture:{get:function(){return this.colorFramebufferManager.getDepthStencilTexture()}},picking:{get:function(){return this._picking},set:function(o){this._picking=o}}});function Jli(o){o._pickColorFramebuffer.destroy(),o._outputFramebuffer.destroy(),o._copyDepthFramebuffer.destroy(),o._tempCopyDepthFramebuffer.destroy(),o._updateDepthFramebuffer.destroy()}function cWe(o,A,f,m,C){o._viewport.width=f,o._viewport.height=m;let E=!_r.equals(o._viewport,C.viewport),I=E!==o._useScissorTest;o._useScissorTest=E,_r.equals(o._scissorRectangle,C.viewport)||(o._scissorRectangle=_r.clone(C.viewport,o._scissorRectangle),I=!0),(!k(o._rs)||!_r.equals(o._viewport,o._rs.viewport)||I)&&(o._rs=Hr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle}}),o._rsBlend=Hr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle},blending:Sl.ALPHA_BLEND}),o._rsUpdate=Hr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle},stencilTest:{enabled:!0,frontFunction:sA.EQUAL,frontOperation:{fail:kn.KEEP,zFail:kn.KEEP,zPass:kn.KEEP},backFunction:sA.NEVER,reference:No.CESIUM_3D_TILE_MASK,mask:No.CESIUM_3D_TILE_MASK}})),k(o._copyDepthCommand)||(o._copyDepthCommand=A.createViewportQuadCommand(A9,{uniformMap:{u_depthTexture:function(){return o.colorFramebufferManager.getDepthStencilTexture()}},owner:o})),o._copyDepthCommand.framebuffer=o._copyDepthFramebuffer.framebuffer,o._copyDepthCommand.renderState=o._rs,k(o._copyColorCommand)||(o._copyColorCommand=A.createViewportQuadCommand(OS,{uniformMap:{colorTexture:function(){return o.colorFramebufferManager.getColorTexture()}},owner:o})),o._copyColorCommand.renderState=o._rs,k(o._tempCopyDepthCommand)||(o._tempCopyDepthCommand=A.createViewportQuadCommand(A9,{uniformMap:{u_depthTexture:function(){return o._tempCopyDepthTexture}},owner:o})),o._tempCopyDepthCommand.framebuffer=o._tempCopyDepthFramebuffer.framebuffer,o._tempCopyDepthCommand.renderState=o._rs,k(o._updateDepthCommand)||(o._updateDepthCommand=A.createViewportQuadCommand(OS,{uniformMap:{colorTexture:function(){return o._tempCopyDepthFramebuffer.getColorTexture()}},owner:o})),o._updateDepthCommand.framebuffer=o._updateDepthFramebuffer.framebuffer,o._updateDepthCommand.renderState=o._rsUpdate,k(o._clearGlobeColorCommand)||(o._clearGlobeColorCommand=new QA({color:new qe(0,0,0,0),stencil:0,owner:o})),o._clearGlobeColorCommand.framebuffer=o.framebuffer}pb.prototype.update=function(o,A,f,m,C,E){let I=f.width,x=f.height,y=C?o.halfFloatingPointTexture?Gr.HALF_FLOAT:Gr.FLOAT:Gr.UNSIGNED_BYTE;this._numSamples=m,this.picking?this._pickColorFramebuffer.update(o,I,x):this._outputFramebuffer.update(o,I,x,m,y),this._copyDepthFramebuffer.update(o,I,x),cWe(this,o,I,x,A),o.uniformState.globeDepthTexture=void 0,this._useHdr=C,this._clearGlobeDepth=E};pb.prototype.prepareColorTextures=function(o,A){!this.picking&&this._numSamples>1&&this._outputFramebuffer.prepareTextures(o,A)};pb.prototype.executeCopyDepth=function(o,A){k(this._copyDepthCommand)&&(this.prepareColorTextures(o),this._copyDepthCommand.execute(o,A),o.uniformState.globeDepthTexture=this._copyDepthFramebuffer.getColorTexture())};pb.prototype.executeUpdateDepth=function(o,A,f,m){let C=k(m)?m:A.framebuffer.depthStencilTexture;if(f||C!==this.colorFramebufferManager.getDepthStencilTexture()){if(k(this._updateDepthCommand)){if(!k(this._updateDepthFramebuffer.framebuffer)||this._updateDepthFramebuffer.getDepthStencilTexture()!==C||this._updateDepthFramebuffer.getColorTexture()!==this._copyDepthFramebuffer.getColorTexture()){let E=this._copyDepthFramebuffer.getColorTexture().width,I=this._copyDepthFramebuffer.getColorTexture().height;this._tempCopyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.update(o,E,I);let x=this._copyDepthFramebuffer.getColorTexture();this._updateDepthFramebuffer.setColorTexture(x,0),this._updateDepthFramebuffer.setDepthStencilTexture(C),this._updateDepthFramebuffer.update(o,E,I),cWe(this,o,E,I,A)}this._tempCopyDepthTexture=C,this._tempCopyDepthCommand.execute(o,A),this._updateDepthCommand.execute(o,A)}return}k(this._copyDepthCommand)&&this._copyDepthCommand.execute(o,A)};pb.prototype.executeCopyColor=function(o,A){k(this._copyColorCommand)&&this._copyColorCommand.execute(o,A)};pb.prototype.clear=function(o,A,f){let m=this._clearGlobeColorCommand;k(m)&&(qe.clone(f,m.color),this.colorFramebufferManager.clear(o,m,A))};pb.prototype.isDestroyed=function(){return!1};pb.prototype.destroy=function(){return Jli(this),k(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),k(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),k(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),k(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),ar(this)};var pye=pb;function NN(){this._framebuffer=new _c({depthStencil:!0,supportsDepthTexture:!0}),this._packedDepthFramebuffer=new _c,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new _r,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}Object.defineProperties(NN.prototype,{classificationTexture:{get:function(){return this._framebuffer.getColorTexture()}},classificationFramebuffer:{get:function(){return this._framebuffer.framebuffer}},packedDepthFramebuffer:{get:function(){return this._packedDepthFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._framebuffer.getDepthStencilTexture()}},depthStencilRenderbuffer:{get:function(){return this._framebuffer.getDepthStencilRenderbuffer()}},packedDepthTexture:{get:function(){return this._packedDepthFramebuffer.getColorTexture()}}});function Kli(o){o._framebuffer.destroy(),o._packedDepthFramebuffer.destroy()}function Wli(o,A,f,m,C){let E=C?A.halfFloatingPointTexture?Gr.HALF_FLOAT:Gr.FLOAT:Gr.UNSIGNED_BYTE;o._framebuffer.update(A,f,m,1,E),o._packedDepthFramebuffer.update(A,f,m)}function qli(o,A,f,m,C){o._viewport.width=f,o._viewport.height=m;let E=!_r.equals(o._viewport,C.viewport),I=E!==o._useScissorTest;o._useScissorTest=E,_r.equals(o._scissorRectangle,C.viewport)||(o._scissorRectangle=_r.clone(C.viewport,o._scissorRectangle),I=!0),(!k(o._renderState)||!_r.equals(o._viewport,o._renderState.viewport)||I)&&(o._renderState=Hr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle}})),k(o._packedDepthCommand)||(o._packedDepthCommand=A.createViewportQuadCommand(A9,{uniformMap:{u_depthTexture:function(){return o.depthStencilTexture}},owner:o})),k(o._clearCommand)||(o._clearCommand=new QA({color:new qe(0,0,0,0),depth:1,stencil:0,owner:o})),o._packedDepthCommand.framebuffer=o._packedDepthFramebuffer.framebuffer,o._packedDepthCommand.renderState=o._renderState,o._clearCommand.framebuffer=o.classificationFramebuffer,o._clearCommand.renderState=o._renderState}NN.prototype.updateAndClear=function(o,A,f,m){let C=A.width,E=A.height;Wli(this,f,C,E,o),qli(this,f,C,E,m),this._useHdr=o};NN.prototype.clearClassification=function(o,A){this._clearCommand.execute(o,A)};NN.prototype.packDepth=function(o,A){return this._packedDepthCommand.execute(o,A),this.packedDepthTexture};NN.prototype.isDestroyed=function(){return!1};NN.prototype.destroy=function(){return Kli(this),ar(this)};var mye=NN;function ED(o){this._numSamples=1,this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;let A=o.colorBufferFloat&&o.depthTexture&&o.floatBlend;this._translucentMRTSupport=o.drawBuffers&&A,this._translucentMultipassSupport=!this._translucentMRTSupport&&A,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=new _c({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._alphaFBO=new _c({createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._adjustTranslucentFBO=new _c({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1}),this._adjustAlphaFBO=new _c({createColorAttachments:!1}),this._opaqueClearCommand=new QA({color:new qe(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new QA({color:new qe(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new QA({color:new qe(0,0,0,0),owner:this}),this._alphaClearCommand=new QA({color:new qe(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new _r,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function hWe(o){o._accumulationTexture=o._accumulationTexture&&!o._accumulationTexture.isDestroyed()&&o._accumulationTexture.destroy(),o._revealageTexture=o._revealageTexture&&!o._revealageTexture.isDestroyed()&&o._revealageTexture.destroy()}function gce(o){o._translucentFBO.destroy(),o._alphaFBO.destroy(),o._adjustTranslucentFBO.destroy(),o._adjustAlphaFBO.destroy()}function dWe(o){hWe(o),gce(o)}function jli(o,A,f,m){hWe(o),o._accumulationTexture=new Rn({context:A,width:f,height:m,pixelFormat:Jr.RGBA,pixelDatatype:Gr.FLOAT});let C=new Float32Array(f*m*4);o._revealageTexture=new Rn({context:A,pixelFormat:Jr.RGBA,pixelDatatype:Gr.FLOAT,source:{arrayBufferView:C,width:f,height:m},flipY:!1})}function Xli(o,A){gce(o);let f=ri.FRAMEBUFFER_COMPLETE,m=!0,{width:C,height:E}=o._accumulationTexture;if(o._translucentMRTSupport&&(o._translucentFBO.setColorTexture(o._accumulationTexture,0),o._translucentFBO.setColorTexture(o._revealageTexture,1),o._translucentFBO.setDepthStencilTexture(o._depthStencilTexture),o._translucentFBO.update(A,C,E),o._adjustTranslucentFBO.setColorTexture(o._accumulationTexture,0),o._adjustTranslucentFBO.setColorTexture(o._revealageTexture,1),o._adjustTranslucentFBO.update(A,C,E),(o._translucentFBO.status!==f||o._adjustTranslucentFBO.status!==f)&&(gce(o),o._translucentMRTSupport=!1)),!o._translucentMRTSupport){o._translucentFBO.setColorTexture(o._accumulationTexture),o._translucentFBO.setDepthStencilTexture(o._depthStencilTexture),o._translucentFBO.update(A,C,E),o._alphaFBO.setColorTexture(o._revealageTexture),o._alphaFBO.setDepthStencilTexture(o._depthStencilTexture),o._alphaFBO.update(A,C,E),o._adjustTranslucentFBO.setColorTexture(o._accumulationTexture),o._adjustTranslucentFBO.update(A,C,E),o._adjustAlphaFBO.setColorTexture(o._revealageTexture),o._adjustAlphaFBO.update(A,C,E);let I=o._translucentFBO.status===f,x=o._alphaFBO.status===f,y=o._adjustTranslucentFBO.status===f,v=o._adjustAlphaFBO.status===f;(!I||!x||!y||!v)&&(dWe(o),o._translucentMultipassSupport=!1,m=!1)}return m}ED.prototype.update=function(o,A,f,m,C){if(!this.isSupported())return;this._opaqueFBO=f,this._opaqueTexture=f.getColorTexture(0),this._depthStencilTexture=f.getDepthStencilTexture();let{width:E,height:I}=this._opaqueTexture,x=this._accumulationTexture,y=!k(x)||x.width!==E||x.height!==I||m!==this._useHDR,v=this._numSamples!==C;if((y||v)&&(this._numSamples=C,jli(this,o,E,I)),(!k(this._translucentFBO.framebuffer)||y||v)&&!Xli(this,o))return;this._useHDR=m;let w=this,Q,M;k(this._compositeCommand)||(Q=new hr({sources:[dIe]}),this._translucentMRTSupport&&Q.defines.push("MRT"),M={u_opaque:function(){return w._opaqueTexture},u_accumulation:function(){return w._accumulationTexture},u_revealage:function(){return w._revealageTexture}},this._compositeCommand=o.createViewportQuadCommand(Q,{uniformMap:M,owner:this})),k(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(Q=new hr({defines:["MRT"],sources:[cX]}),M={u_bgColor:function(){return w._translucentMRTClearCommand.color},u_depthTexture:function(){return w._depthStencilTexture}},this._adjustTranslucentCommand=o.createViewportQuadCommand(Q,{uniformMap:M,owner:this})):this._translucentMultipassSupport&&(Q=new hr({sources:[cX]}),M={u_bgColor:function(){return w._translucentMultipassClearCommand.color},u_depthTexture:function(){return w._depthStencilTexture}},this._adjustTranslucentCommand=o.createViewportQuadCommand(Q,{uniformMap:M,owner:this}),M={u_bgColor:function(){return w._alphaClearCommand.color},u_depthTexture:function(){return w._depthStencilTexture}},this._adjustAlphaCommand=o.createViewportQuadCommand(Q,{uniformMap:M,owner:this}))),this._viewport.width=E,this._viewport.height=I;let B=!_r.equals(this._viewport,A.viewport),D=B!==this._useScissorTest;this._useScissorTest=B,_r.equals(this._scissorRectangle,A.viewport)||(this._scissorRectangle=_r.clone(A.viewport,this._scissorRectangle),D=!0),(!k(this._rs)||!_r.equals(this._viewport,this._rs.viewport)||D)&&(this._rs=Hr.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),k(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),k(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)};var Zli={enabled:!0,color:new qe(0,0,0,0),equationRgb:dm.ADD,equationAlpha:dm.ADD,functionSourceRgb:Su.ONE,functionDestinationRgb:Su.ONE,functionSourceAlpha:Su.ZERO,functionDestinationAlpha:Su.ONE_MINUS_SOURCE_ALPHA},$li={enabled:!0,color:new qe(0,0,0,0),equationRgb:dm.ADD,equationAlpha:dm.ADD,functionSourceRgb:Su.ONE,functionDestinationRgb:Su.ONE,functionSourceAlpha:Su.ONE,functionDestinationAlpha:Su.ONE},eAi={enabled:!0,color:new qe(0,0,0,0),equationRgb:dm.ADD,equationAlpha:dm.ADD,functionSourceRgb:Su.ZERO,functionDestinationRgb:Su.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:Su.ZERO,functionDestinationAlpha:Su.ONE_MINUS_SOURCE_ALPHA};function Cye(o,A,f,m){let C=f[m.id];if(!k(C)){let E=Hr.getState(m);E.depthMask=!1,E.blending=A,C=Hr.fromCache(E),f[m.id]=C}return C}function tAi(o,A,f){return Cye(A,Zli,o._translucentRenderStateCache,f)}function iAi(o,A,f){return Cye(A,$li,o._translucentRenderStateCache,f)}function rAi(o,A,f){return Cye(A,eAi,o._alphaRenderStateCache,f)}var nAi=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; float ai = czm_out_FragColor.a; float wzi = czm_alphaWeight(ai); out_FragData_0 = vec4(Ci * wzi, ai); out_FragData_1 = vec4(ai * wzi); `,oAi=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; float ai = czm_out_FragColor.a; float wzi = czm_alphaWeight(ai); out_FragColor = vec4(Ci, ai) * wzi; `,aAi=` float ai = czm_out_FragColor.a; out_FragColor = vec4(ai); `;function Eye(o,A,f,m){let{shaderCache:C}=o,E=C.getDerivedShaderProgram(A,f);if(k(E))return E;let I=A._attributeLocations,x=A.fragmentShaderSource.clone();x.sources=x.sources.map(function(w){return hr.replaceMain(w,"czm_translucent_main").replace(/out_FragColor/g,"czm_out_FragColor").replace(/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,"").replace(/\bdiscard\b/g,"czm_discard = true").replace(/czm_phong/g,"czm_translucentPhong")}),x.defines.push("TRANSLUCENT_PLANES"),x.sources.splice(0,0,`vec4 czm_out_FragColor; bool czm_discard = false; `);let y=[...m.matchAll(/out_FragData_(\d+)/g)],v="";for(let w=0;w<y.length;w++){let Q=y[w];v=`layout (location = ${Q[1]}) out vec4 ${Q[0]}; ${v}`}return x.sources.push(v),x.sources.push(`void main() { czm_translucent_main(); if (czm_discard) { discard; } ${m}} `),C.createDerivedShaderProgram(A,f,{vertexShaderSource:A.vertexShaderSource,fragmentShaderSource:x,attributeLocations:I})}function sAi(o,A){return Eye(o,A,"translucentMRT",nAi)}function lAi(o,A){return Eye(o,A,"translucentMultipass",oAi)}function AAi(o,A){return Eye(o,A,"alphaMultipass",aAi)}ED.prototype.createDerivedCommands=function(o,A,f){if(k(f)||(f={}),this._translucentMRTSupport){let x,y;return k(f.translucentCommand)&&(x=f.translucentCommand.shaderProgram,y=f.translucentCommand.renderState),f.translucentCommand=cn.shallowClone(o,f.translucentCommand),!k(x)||f.shaderProgramId!==o.shaderProgram.id?(f.translucentCommand.shaderProgram=sAi(A,o.shaderProgram),f.translucentCommand.renderState=tAi(this,A,o.renderState),f.shaderProgramId=o.shaderProgram.id):(f.translucentCommand.shaderProgram=x,f.translucentCommand.renderState=y),f}let m,C,E,I;return k(f.translucentCommand)&&(m=f.translucentCommand.shaderProgram,C=f.translucentCommand.renderState,E=f.alphaCommand.shaderProgram,I=f.alphaCommand.renderState),f.translucentCommand=cn.shallowClone(o,f.translucentCommand),f.alphaCommand=cn.shallowClone(o,f.alphaCommand),!k(m)||f.shaderProgramId!==o.shaderProgram.id?(f.translucentCommand.shaderProgram=lAi(A,o.shaderProgram),f.translucentCommand.renderState=iAi(this,A,o.renderState),f.alphaCommand.shaderProgram=AAi(A,o.shaderProgram),f.alphaCommand.renderState=rAi(this,A,o.renderState),f.shaderProgramId=o.shaderProgram.id):(f.translucentCommand.shaderProgram=m,f.translucentCommand.renderState=C,f.alphaCommand.shaderProgram=E,f.alphaCommand.renderState=I),f};function uAi(o,A,f,m,C,E){let I,x,y,{context:v,frameState:w}=A,{useLogDepth:Q,shadowState:M}=w,B=A._hdr,D=m.framebuffer,S=M.lightShadowsEnabled;m.framebuffer=o._adjustTranslucentFBO.framebuffer,o._adjustTranslucentCommand.execute(v,m),m.framebuffer=o._adjustAlphaFBO.framebuffer,o._adjustAlphaCommand.execute(v,m);let P=o._opaqueFBO.framebuffer;for(m.framebuffer=o._translucentFBO.framebuffer,y=0;y<C.length;++y)I=C[y],I=Q?I.derivedCommands.logDepth.command:I,I=B?I.derivedCommands.hdr.command:I,x=S&&I.receiveShadows?I.derivedCommands.oit.shadows.translucentCommand:I.derivedCommands.oit.translucentCommand,f(x,A,v,m,P);for(k(E)&&(I=E.unclassifiedCommand,x=S&&I.receiveShadows?I.derivedCommands.oit.shadows.translucentCommand:I.derivedCommands.oit.translucentCommand,f(x,A,v,m,P)),m.framebuffer=o._alphaFBO.framebuffer,y=0;y<C.length;++y)I=C[y],I=Q?I.derivedCommands.logDepth.command:I,I=B?I.derivedCommands.hdr.command:I,x=S&&I.receiveShadows?I.derivedCommands.oit.shadows.alphaCommand:I.derivedCommands.oit.alphaCommand,f(x,A,v,m,P);k(E)&&(I=E.unclassifiedCommand,x=S&&I.receiveShadows?I.derivedCommands.oit.shadows.alphaCommand:I.derivedCommands.oit.alphaCommand,f(x,A,v,m,P)),m.framebuffer=D}function cAi(o,A,f,m,C,E){let{context:I,frameState:x}=A,{useLogDepth:y,shadowState:v}=x,w=A._hdr,Q=m.framebuffer,M=v.lightShadowsEnabled;m.framebuffer=o._adjustTranslucentFBO.framebuffer,o._adjustTranslucentCommand.execute(I,m);let B=o._opaqueFBO.framebuffer;m.framebuffer=o._translucentFBO.framebuffer;let D,S;for(let P=0;P<C.length;++P)D=C[P],D=y?D.derivedCommands.logDepth.command:D,D=w?D.derivedCommands.hdr.command:D,S=M&&D.receiveShadows?D.derivedCommands.oit.shadows.translucentCommand:D.derivedCommands.oit.translucentCommand,f(S,A,I,m,B);k(E)&&(D=E.unclassifiedCommand,S=M&&D.receiveShadows?D.derivedCommands.oit.shadows.translucentCommand:D.derivedCommands.oit.translucentCommand,f(S,A,I,m,B)),m.framebuffer=Q}ED.prototype.executeCommands=function(o,A,f,m,C){if(this._translucentMRTSupport){cAi(this,o,A,f,m,C);return}uAi(this,o,A,f,m,C)};ED.prototype.execute=function(o,A){this._compositeCommand.execute(o,A)};ED.prototype.clear=function(o,A,f){let m=A.framebuffer;A.framebuffer=this._opaqueFBO.framebuffer,qe.clone(f,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(o,A),A.framebuffer=this._translucentFBO.framebuffer,(this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand).execute(o,A),this._translucentMultipassSupport&&(A.framebuffer=this._alphaFBO.framebuffer,this._alphaClearCommand.execute(o,A)),A.framebuffer=m};ED.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport};ED.prototype.isDestroyed=function(){return!1};ED.prototype.destroy=function(){return dWe(this),k(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),k(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),k(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),ar(this)};var Iye=ED;function vY(){this._framebuffer=new _c({color:!1,depthStencil:!0,supportsDepthTexture:!0}),this._passState=void 0}Object.defineProperties(vY.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function hAi(o){o._framebuffer.destroy()}function dAi(o,A){let f=A.drawingBufferWidth,m=A.drawingBufferHeight;o._framebuffer.update(A,f,m);let C=new Qf(A);C.blendingEnabled=!1,C.scissorTest={enabled:!0,rectangle:new _r},C.viewport=new _r,o._passState=C}vY.prototype.update=function(o,A,f){let m=f.width,C=f.height;this._framebuffer.isDirty(m,C)&&dAi(this,o);let E=this.framebuffer,I=this._passState;return I.framebuffer=E,I.viewport.width=m,I.viewport.height=C,I.scissorTest.rectangle.x=A.x,I.scissorTest.rectangle.y=C-A.y,I.scissorTest.rectangle.width=1,I.scissorTest.rectangle.height=1,I};vY.prototype.isDestroyed=function(){return!1};vY.prototype.destroy=function(){return hAi(this),ar(this)};var xye=vY;function _Y(o){let A=new Qf(o);A.blendingEnabled=!1,A.scissorTest={enabled:!0,rectangle:new _r},A.viewport=new _r,this._context=o,this._fb=new _c({depthStencil:!0}),this._passState=A,this._width=0,this._height=0}_Y.prototype.begin=function(o,A){let f=this._context,m=A.width,C=A.height;return _r.clone(o,this._passState.scissorTest.rectangle),this._width=m,this._height=C,this._fb.update(f,m,C),this._passState.framebuffer=this._fb.framebuffer,this._passState.viewport.width=m,this._passState.viewport.height=C,this._passState};var H8=new qe;_Y.prototype.end=function(o){let A=ae(o.width,1),f=ae(o.height,1),m=this._context,C=m.readPixels({x:o.x,y:o.y,width:A,height:f,framebuffer:this._fb.framebuffer}),E=Math.max(A,f),I=E*E,x=Math.floor(A*.5),y=Math.floor(f*.5),v=0,w=0,Q=0,M=-1;for(let B=0;B<I;++B){if(-x<=v&&v<=x&&-y<=w&&w<=y){let D=4*((y-w)*A+v+x);H8.red=qe.byteToFloat(C[D]),H8.green=qe.byteToFloat(C[D+1]),H8.blue=qe.byteToFloat(C[D+2]),H8.alpha=qe.byteToFloat(C[D+3]);let S=m.getObjectByPickColor(H8);if(k(S))return S}if(v===w||v<0&&-v===w||v>0&&v===1-w){let D=Q;Q=-M,M=D}v+=Q,w+=M}};_Y.prototype.isDestroyed=function(){return!1};_Y.prototype.destroy=function(){return this._fb.destroy(),ar(this)};var yye=_Y;function ID(){this._numSamples=1,this._colorFramebuffer=new _c({depthStencil:!0,supportsDepthTexture:!0}),this._idFramebuffer=new _c({depthStencil:!0,supportsDepthTexture:!0}),this._idClearColor=new qe(0,0,0,0),this._clearCommand=new QA({color:new qe(0,0,0,0),depth:1,owner:this})}function gAi(o){o._colorFramebuffer.destroy(),o._idFramebuffer.destroy()}Object.defineProperties(ID.prototype,{framebuffer:{get:function(){return this._colorFramebuffer.framebuffer}},idFramebuffer:{get:function(){return this._idFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._colorFramebuffer.getDepthStencilTexture()}}});ID.prototype.update=function(o,A,f,m){let C=A.width,E=A.height,I=f?o.halfFloatingPointTexture?Gr.HALF_FLOAT:Gr.FLOAT:Gr.UNSIGNED_BYTE;this._numSamples=m,this._colorFramebuffer.update(o,C,E,m,I),this._idFramebuffer.update(o,C,E)};ID.prototype.clear=function(o,A,f){qe.clone(f,this._clearCommand.color),qe.clone(this._idClearColor,this._clearCommand.color),this._colorFramebuffer.clear(o,this._clearCommand,A),this._idFramebuffer.clear(o,this._clearCommand,A)};ID.prototype.getFramebuffer=function(){return this._colorFramebuffer.framebuffer};ID.prototype.getIdFramebuffer=function(){return this._idFramebuffer.framebuffer};ID.prototype.prepareColorTextures=function(o){this._numSamples>1&&this._colorFramebuffer.prepareTextures(o)};ID.prototype.isDestroyed=function(){return!1};ID.prototype.destroy=function(){return gAi(this),ar(this)};var Mte=ID,jH=`uniform sampler2D colorTexture; #ifdef DEBUG_SHOW_DEPTH uniform sampler2D u_packedTranslucentDepth; #endif in vec2 v_textureCoordinates; void main() { #ifdef DEBUG_SHOW_DEPTH if (v_textureCoordinates.x < 0.5) { out_FragColor.rgb = vec3(czm_unpackDepth(texture(u_packedTranslucentDepth, v_textureCoordinates))); out_FragColor.a = 1.0; } #else vec4 color = texture(colorTexture, v_textureCoordinates); #ifdef PICK if (color == vec4(0.0)) { discard; } #else // Reverse premultiplication process to get the correct composited result of the classification primitives color.rgb /= color.a; #endif out_FragColor = color; #endif } `,fAi=!1;function xP(o){this._drawClassificationFBO=new _c({createDepthAttachments:!1}),this._accumulationFBO=new _c({createDepthAttachments:!1}),this._packFBO=new _c,this._opaqueDepthStencilTexture=void 0,this._textureToComposite=void 0,this._translucentDepthStencilTexture=void 0,this._packDepthCommand=void 0,this._accumulateCommand=void 0,this._compositeCommand=void 0,this._copyCommand=void 0,this._clearColorCommand=new QA({color:new qe(0,0,0,0),owner:this}),this._clearDepthStencilCommand=new QA({depth:1,stencil:0,owner:this}),this._supported=o.depthTexture,this._viewport=new _r,this._rsDepth=void 0,this._rsAccumulate=void 0,this._rsComp=void 0,this._useScissorTest=void 0,this._scissorRectangle=void 0,this._hasTranslucentDepth=!1,this._frustumsDrawn=0}Object.defineProperties(xP.prototype,{hasTranslucentDepth:{get:function(){return this._hasTranslucentDepth}}});function gWe(o){o._textureToComposite=void 0,o._translucentDepthStencilTexture=o._translucentDepthStencilTexture&&!o._translucentDepthStencilTexture.isDestroyed()&&o._translucentDepthStencilTexture.destroy()}function fWe(o){o._drawClassificationFBO.destroy(),o._accumulationFBO.destroy(),o._packFBO.destroy()}function pAi(o,A,f,m){gWe(o),o._translucentDepthStencilTexture=new Rn({context:A,width:f,height:m,pixelFormat:Jr.DEPTH_STENCIL,pixelDatatype:Gr.UNSIGNED_INT_24_8,sampler:Ra.NEAREST})}function mAi(o,A,f,m){fWe(o),o._drawClassificationFBO.setDepthStencilTexture(o._translucentDepthStencilTexture),o._drawClassificationFBO.update(A,f,m),o._accumulationFBO.setDepthStencilTexture(o._translucentDepthStencilTexture),o._accumulationFBO.update(A,f,m),o._packFBO.update(A,f,m)}function CAi(o,A,f,m){if(!o.isSupported())return;o._opaqueDepthStencilTexture=m;let C=o._opaqueDepthStencilTexture.width,E=o._opaqueDepthStencilTexture.height;o._drawClassificationFBO.isDirty(C,E)&&(pAi(o,A,C,E),mAi(o,A,C,E));let I,x;if(k(o._packDepthCommand)||(I=new hr({sources:[hIe]}),x={u_opaqueDepthTexture:function(){return o._opaqueDepthStencilTexture},u_translucentDepthTexture:function(){return o._translucentDepthStencilTexture}},o._packDepthCommand=A.createViewportQuadCommand(I,{uniformMap:x,owner:o})),!k(o._compositeCommand)){I=new hr({sources:[jH]}),x={colorTexture:function(){return o._textureToComposite}},fAi&&(I.defines=["DEBUG_SHOW_DEPTH"],x.u_packedTranslucentDepth=function(){return o._packFBO.getColorTexture()}),o._compositeCommand=A.createViewportQuadCommand(I,{uniformMap:x,owner:o});let w=o._compositeCommand,Q=w.shaderProgram,M=A.shaderCache.createDerivedShaderProgram(Q,"pick",{vertexShaderSource:Q.vertexShaderSource,fragmentShaderSource:new hr({sources:I.sources,defines:["PICK"]}),attributeLocations:Q._attributeLocations}),B=cn.shallowClone(w);B.shaderProgram=M,w.derivedCommands.pick=B}k(o._copyCommand)||(I=new hr({sources:[jH]}),x={colorTexture:function(){return o._drawClassificationFBO.getColorTexture()}},o._copyCommand=A.createViewportQuadCommand(I,{uniformMap:x,owner:o})),k(o._accumulateCommand)||(I=new hr({sources:[jH]}),x={colorTexture:function(){return o._drawClassificationFBO.getColorTexture()}},o._accumulateCommand=A.createViewportQuadCommand(I,{uniformMap:x,owner:o})),o._viewport.width=C,o._viewport.height=E;let y=!_r.equals(o._viewport,f.viewport),v=y!==o._useScissorTest;o._useScissorTest=y,_r.equals(o._scissorRectangle,f.viewport)||(o._scissorRectangle=_r.clone(f.viewport,o._scissorRectangle),v=!0),(!k(o._rsDepth)||!_r.equals(o._viewport,o._rsDepth.viewport)||v)&&(o._rsDepth=Hr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle}})),k(o._packDepthCommand)&&(o._packDepthCommand.renderState=o._rsDepth),(!k(o._rsAccumulate)||!_r.equals(o._viewport,o._rsAccumulate.viewport)||v)&&(o._rsAccumulate=Hr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle},stencilTest:{enabled:!0,frontFunction:sA.EQUAL,reference:No.CESIUM_3D_TILE_MASK}})),k(o._accumulateCommand)&&(o._accumulateCommand.renderState=o._rsAccumulate),(!k(o._rsComp)||!_r.equals(o._viewport,o._rsComp.viewport)||v)&&(o._rsComp=Hr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle},blending:Sl.ALPHA_BLEND})),k(o._compositeCommand)&&(o._compositeCommand.renderState=o._rsComp,o._compositeCommand.derivedCommands.pick.renderState=o._rsComp)}xP.prototype.executeTranslucentCommands=function(o,A,f,m,C){let E=m.length,I,x,y=o.frameState.useLogDepth,v=o.context,w=f.framebuffer;for(x=0;x<E;++x)if(I=m[x],I=y?I.derivedCommands.logDepth.command:I,I.depthForTranslucentClassification){this._hasTranslucentDepth=!0;break}if(this._hasTranslucentDepth){for(CAi(this,v,f,C),f.framebuffer=this._drawClassificationFBO.framebuffer,this._clearDepthStencilCommand.execute(v,f),x=0;x<E;++x){if(I=m[x],I=y?I.derivedCommands.logDepth.command:I,!I.depthForTranslucentClassification)continue;let Q=I.derivedCommands.depth.depthOnlyCommand;A(Q,o,v,f)}this._frustumsDrawn+=this._hasTranslucentDepth?1:0,this._hasTranslucentDepth&&(f.framebuffer=this._packFBO.framebuffer,this._packDepthCommand.execute(v,f)),f.framebuffer=w}};xP.prototype.executeClassificationCommands=function(o,A,f,m){if(!this._hasTranslucentDepth)return;let C=o.context,E=C.uniformState,I=f.framebuffer;this._frustumsDrawn===2&&(f.framebuffer=this._accumulationFBO.framebuffer,this._copyCommand.execute(C,f)),f.framebuffer=this._drawClassificationFBO.framebuffer,this._frustumsDrawn>1&&this._clearColorCommand.execute(C,f),E.updatePass(zi.CESIUM_3D_TILE_CLASSIFICATION);let x=E.globeDepthTexture;E.globeDepthTexture=this._packFBO.getColorTexture();let y=m.commands[zi.CESIUM_3D_TILE_CLASSIFICATION],v=m.indices[zi.CESIUM_3D_TILE_CLASSIFICATION];for(let w=0;w<v;++w)A(y[w],o,C,f);E.globeDepthTexture=x,f.framebuffer=I,this._frustumsDrawn!==1&&(f.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(C,f),f.framebuffer=I)};xP.prototype.execute=function(o,A){!this._hasTranslucentDepth||(this._frustumsDrawn===1?this._textureToComposite=this._drawClassificationFBO.getColorTexture():this._textureToComposite=this._accumulationFBO.getColorTexture(),(o.frameState.passes.pick?this._compositeCommand.derivedCommands.pick:this._compositeCommand).execute(o.context,A),EAi(this,o,A))};function EAi(o,A,f){if(!o._hasTranslucentDepth)return;let m=f.framebuffer;f.framebuffer=o._drawClassificationFBO.framebuffer,o._clearColorCommand.execute(A._context,f),f.framebuffer=m,o._frustumsDrawn>1&&(f.framebuffer=o._accumulationFBO.framebuffer,o._clearColorCommand.execute(A._context,f)),o._hasTranslucentDepth=!1,o._frustumsDrawn=0}xP.prototype.isSupported=function(){return this._supported};xP.prototype.isDestroyed=function(){return!1};xP.prototype.destroy=function(){return gWe(this),fWe(this),k(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),k(this._packDepthCommand)&&(this._packDepthCommand.shaderProgram=this._packDepthCommand.shaderProgram&&this._packDepthCommand.shaderProgram.destroy()),ar(this)};var vye=xP;function IAi(){this.command=void 0,this.near=void 0,this.far=void 0}function Tte(o,A,f){let m=o.context,C;m.depthTexture&&(C=new pye);let E;o._useOIT&&m.depthTexture&&(E=new Iye(m));let I=new Qf(m);I.viewport=_r.clone(f),this.camera=A,this._cameraClone=Ms.clone(A),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=f,this.passState=I,this.pickFramebuffer=new yye(m),this.pickDepthFramebuffer=new xye,this.sceneFramebuffer=new Mte,this.globeDepth=C,this.globeTranslucencyFramebuffer=new mye,this.oit=E,this.translucentTileClassification=new vye(m),this.pickDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}var XNe=new Z,ZNe=new Z;function xAi(o,A){let f=Math.max(Math.abs(o.x),Math.abs(A.x)),m=Math.max(Math.abs(o.y),Math.abs(A.y)),C=Math.max(Math.abs(o.z),Math.abs(A.z));return Math.max(Math.max(f,m),C)}function yAi(o,A,f){let m=1/Math.max(1,xAi(o.position,A.position));return Z.multiplyByScalar(o.position,m,XNe),Z.multiplyByScalar(A.position,m,ZNe),Z.equalsEpsilon(XNe,ZNe,f)&&Z.equalsEpsilon(o.direction,A.direction,f)&&Z.equalsEpsilon(o.up,A.up,f)&&Z.equalsEpsilon(o.right,A.right,f)&&Re.equalsEpsilon(o.transform,A.transform,f)&&o.frustum.equalsEpsilon(A.frustum,f)}Tte.prototype.checkForCameraUpdates=function(o){let A=this.camera,f=this._cameraClone;return yAi(A,f,De.EPSILON15)?(this._cameraStartFired&&HA()-this._cameraMovedTime>o.cameraEventWaitTime&&(A.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(A.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=HA(),Ms.clone(A,f),!0)};function vAi(o,A,f,m){let C=A.frameState,E=C.camera,I=C.useLogDepth?A.logarithmicDepthFarToNearRatio:A.farToNearRatio,x=A.mode===ii.SCENE2D,y=A.nearToFarDistance2D;m*=1+De.EPSILON2,f=Math.min(Math.max(f,E.frustum.near),E.frustum.far),m=Math.max(Math.min(m,E.frustum.far),f);let v;x?(m=Math.min(m,E.position.z+A.nearToFarDistance2D),f=Math.min(f,m),v=Math.ceil(Math.max(1,m-f)/A.nearToFarDistance2D)):v=Math.ceil(Math.log(m/f)/Math.log(I));let w=o.frustumCommandsList;w.length=v;for(let Q=0;Q<v;++Q){let M,B;x?(M=Math.min(m-y,f+Q*y),B=Math.min(m,M+y)):(M=Math.max(f,Math.pow(I,Q)*f),B=Math.min(m,I*M));let D=w[Q];k(D)?(D.near=M,D.far=B):D=w[Q]=new fye(M,B)}}function _Ai(o,A,f,m,C){A.debugShowFrustums&&(f.debugOverlappingFrustums=0);let E=o.frustumCommandsList,I=E.length;for(let x=0;x<I;++x){let y=E[x],v=y.near,w=y.far;if(m>w)continue;if(C<v)break;let Q=f.pass,M=y.indices[Q]++;if(y.commands[Q][M]=f,A.debugShowFrustums&&(f.debugOverlappingFrustums|=1<<x),f.executeInClosestFrustum)break}if(A.debugShowFrustums){let x=o.debugFrustumStatistics.commandsInFrustums;x[f.debugOverlappingFrustums]=k(x[f.debugOverlappingFrustums])?x[f.debugOverlappingFrustums]+1:1,++o.debugFrustumStatistics.totalCommands}A.updateDerivedCommands(f)}var $Ne=new qg,BAi=new r1;Tte.prototype.createPotentiallyVisibleSet=function(o){let A=o.frameState,f=A.camera,m=f.directionWC,C=f.positionWC,E=o._computeCommandList,I=o._overlayCommandList,x=A.commandList;o.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});let y=this.frustumCommandsList,v=y.length,w=zi.NUMBER_OF_PASSES;for(let ee=0;ee<v;++ee)for(let ie=0;ie<w;++ie)y[ee].indices[ie]=0;E.length=0,I.length=0;let Q=this._commandExtents,M=Q.length,B=0,D=+Number.MAX_VALUE,S=-Number.MAX_VALUE,P=A.shadowState.shadowsEnabled,R=+Number.MAX_VALUE,T=-Number.MAX_VALUE,L=Number.MAX_VALUE,F=A.mode===ii.SCENE3D?A.occluder:void 0,U=A.cullingVolume,N=$Ne.planes;for(let ee=0;ee<5;++ee)N[ee]=U.planes[ee];U=$Ne;let H=x.length;for(let ee=0;ee<H;++ee){let ie=x[ee],z=ie.pass;if(z===zi.COMPUTE)E.push(ie);else if(z===zi.OVERLAY)I.push(ie);else{let oe,le,Ae=ie.boundingVolume;if(k(Ae)){if(!o.isVisible(ie,U,F))continue;let ge=Ae.computePlaneDistances(C,m,BAi);if(oe=ge.start,le=ge.stop,D=Math.min(D,oe),S=Math.max(S,le),P&&ie.receiveShadows&&oe<yB.MAXIMUM_DISTANCE&&!(z===zi.GLOBE&&oe<-100&&le>100)){let de=le-oe;z!==zi.GLOBE&&oe<100&&(L=Math.min(L,de)),R=Math.min(R,oe),T=Math.max(T,le)}}else ie instanceof QA?(oe=f.frustum.near,le=f.frustum.far):(oe=f.frustum.near,le=f.frustum.far,D=Math.min(D,oe),S=Math.max(S,le));let he=Q[B];k(he)||(he=Q[B]=new IAi),he.command=ie,he.near=oe,he.far=le,B++}}P&&(R=Math.min(Math.max(R,f.frustum.near),f.frustum.far),T=Math.max(Math.min(T,f.frustum.far),R)),P&&(A.shadowState.nearPlane=R,A.shadowState.farPlane=T,A.shadowState.closestObjectSize=L),vAi(this,o,D,S);let J,K;for(J=0;J<B;J++)K=Q[J],_Ai(this,o,K.command,K.near,K.far);if(B<M)for(J=B;J<M&&(K=Q[J],!!k(K.command));J++)K.command=void 0;let X=y.length,j=A.frustumSplits;j.length=X+1;for(let ee=0;ee<X;++ee)j[ee]=y[ee].near,ee===X-1&&(j[ee+1]=y[ee].far)};Tte.prototype.destroy=function(){this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.translucentTileClassification=this.translucentTileClassification&&this.translucentTileClassification.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();let o,A=this.pickDepths,f=A.length;for(o=0;o<f;++o)A[o].destroy()};var Pte=Tte,pWe=.1,wAi=new CD({pass:kd.MOST_DETAILED_PRELOAD}),bAi=new CD({pass:kd.MOST_DETAILED_PICK}),_ye=new CD({pass:kd.PICK});function dp(o){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;let A=new _r(0,0,1,1),f=new Ms(o);f.frustum=new $a({width:pWe,aspectRatio:1,near:.1}),this._pickOffscreenView=new Pte(o,f,A)}dp.prototype.update=function(){this._pickPositionCacheDirty=!0};dp.prototype.getPickDepth=function(o,A){let f=o.view.pickDepths,m=f[A];return k(m)||(m=new gye,f[A]=m),m};var QAi=new Eg,SAi=new Z,jW=new Z,DAi=new tt,MAi=new Re;function TAi(o,A,f,m,C){let E=o.camera,I=E.frustum,x=I.offCenterFrustum;k(x)&&(I=x);let y=2*(A.x-C.x)/C.width-1;y*=(I.right-I.left)*.5;let v=2*(C.height-A.y-C.y)/C.height-1;v*=(I.top-I.bottom)*.5;let w=Re.clone(E.transform,MAi);E._setTransform(Re.IDENTITY);let Q=Z.clone(E.position,SAi);Z.multiplyByScalar(E.right,y,jW),Z.add(jW,Q,Q),Z.multiplyByScalar(E.up,v,jW),Z.add(jW,Q,Q),E._setTransform(w),o.mode===ii.SCENE2D&&Z.fromElements(Q.z,Q.x,Q.y,Q);let M=I.getPixelDimensions(C.width,C.height,1,1,DAi),B=QAi;return B.right=M.x*.5,B.left=-B.right,B.top=M.y*.5,B.bottom=-B.top,B.near=I.near,B.far=I.far,B.computeCullingVolume(Q,E.directionWC,E.upWC)}var PAi=new X1,RAi=new tt;function LAi(o,A,f,m,C){let E=o.camera,I=E.frustum,x=I.near,y=Math.tan(I.fovy*.5),v=I.aspectRatio*y,w=2*(A.x-C.x)/C.width-1,Q=2*(C.height-A.y-C.y)/C.height-1,M=w*x*v,B=Q*x*y,D=I.getPixelDimensions(C.width,C.height,1,1,RAi),S=D.x*f*.5,P=D.y*m*.5,R=PAi;return R.top=B+P,R.bottom=B-P,R.right=M+S,R.left=M-S,R.near=x,R.far=I.far,R.computeCullingVolume(E.positionWC,E.directionWC,E.upWC)}function mWe(o,A,f,m,C){let E=o.camera.frustum;return E instanceof $a||E instanceof Eg?TAi(o,A,f,m,C):LAi(o,A,f,m,C)}var S5=3,CH=3,Zw=new _r(0,0,S5,CH),CWe=new tt,Bye=new qe(0,0,0,0);dp.prototype.pick=function(o,A,f,m){S5=ae(f,3),CH=ae(m,S5);let C=o.context,E=C.uniformState,I=o.frameState,x=o.defaultView;o.view=x;let y=x.viewport;y.x=0,y.y=0,y.width=C.drawingBufferWidth,y.height=C.drawingBufferHeight;let v=x.passState;v.viewport=_r.clone(y,v.viewport);let w=ms.transformWindowToDrawingBuffer(o,A,CWe);o.jobScheduler.disableThisFrame(),o.updateFrameState(),I.cullingVolume=mWe(o,w,S5,CH,y),I.invertClassification=!1,I.passes.pick=!0,I.tilesetPassState=_ye,E.update(I),o.updateEnvironment(),Zw.x=w.x-(S5-1)*.5,Zw.y=o.drawingBufferHeight-w.y-(CH-1)*.5,Zw.width=S5,Zw.height=CH,v=x.pickFramebuffer.begin(Zw,x.viewport),o.updateAndExecuteCommandszh(v,Bye),o.resolveFramebuffers(v);let Q=x.pickFramebuffer.end(Zw);return C.endFrame(),Q};function FAi(o,A){let f=o.context,m=o.frameState,C=o.environmentState,E=o.defaultView;o.view=E;let I=E.viewport;I.x=0,I.y=0,I.width=f.drawingBufferWidth,I.height=f.drawingBufferHeight;let x=E.passState;x.viewport=_r.clone(I,x.viewport),o.clearPasses(m.passes),m.passes.pick=!0,m.passes.depth=!0,m.cullingVolume=mWe(o,A,1,1,I),m.tilesetPassState=_ye,o.updateEnvironment(),C.renderTranslucentDepthForPick=!0,x=E.pickDepthFramebuffer.update(f,A,I),o.updateAndExecuteCommands(x,Bye),o.resolveFramebuffers(x),f.endFrame()}var NAi=new lA,kAi=new X1,UAi=new $a,OAi=new Eg;dp.prototype.pickPositionWorldCoordinates=function(o,A,f){if(!o.useDepthPicking)return;let m=A.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(m))return Z.clone(this._pickPositionCache[m],f);let C=o.frameState,E=o.context,I=E.uniformState,x=o.defaultView;o.view=x;let y=ms.transformWindowToDrawingBuffer(o,A,CWe);o.pickTranslucentDepth?FAi(o,y):(o.updateFrameState(),I.update(C),o.updateEnvironment()),y.y=o.drawingBufferHeight-y.y;let v=o.camera,w;k(v.frustum.fov)?w=v.frustum.clone(NAi):k(v.frustum.infiniteProjectionMatrix)?w=v.frustum.clone(kAi):k(v.frustum.width)?w=v.frustum.clone(UAi):w=v.frustum.clone(OAi);let Q=x.frustumCommandsList,M=Q.length;for(let B=0;B<M;++B){let D=this.getPickDepth(o,B).getDepth(E,y.x,y.y);if(k(D)&&D>0&&D<1){let S=Q[B],P;return o.mode===ii.SCENE2D?(P=v.position.z,v.position.z=P-S.near+1,w.far=Math.max(1,S.far-S.near),w.near=1,I.update(C),I.updateFrustum(w)):(w.near=S.near*(B!==0?o.opaqueFrustumNearOffset:1),w.far=S.far,I.updateFrustum(w)),f=ms.drawingBufferToWgs84Coordinates(o,y,D,f),o.mode===ii.SCENE2D&&(v.position.z=P,I.update(C)),this._pickPositionCache[m]=Z.clone(f),f}}this._pickPositionCache[m]=void 0};var GAi=new Lt;dp.prototype.pickPosition=function(o,A,f){if(f=this.pickPositionWorldCoordinates(o,A,f),k(f)&&o.mode!==ii.SCENE3D){Z.fromElements(f.y,f.z,f.x,f);let m=o.mapProjection,C=m.ellipsoid,E=m.unproject(f,GAi);C.cartographicToCartesian(E,f)}return f};function EWe(o,A){let f,m,C=[],E=[],I=[],x=[];k(o)||(o=Number.MAX_VALUE);let y=A();for(;k(y);){let v=y.object,w=y.position,Q=y.exclude;if(k(w)&&!k(v)){C.push(y);break}if(!k(v)||!k(v.primitive)||!Q&&(C.push(y),0>=--o))break;let M=v.primitive,B=!1;typeof M.getGeometryInstanceAttributes=="function"&&k(v.id)&&(m=M.getGeometryInstanceAttributes(v.id),k(m)&&k(m.show)&&(B=!0,m.show=kl.toValue(!1,m.show),I.push(m))),v instanceof Ga&&(B=!0,v.show=!1,x.push(v)),B||(M.show=!1,E.push(M)),y=A()}for(f=0;f<E.length;++f)E[f].show=!0;for(f=0;f<I.length;++f)m=I[f],m.show=kl.toValue(!0,m.show);for(f=0;f<x.length;++f)x[f].show=!0;return C}dp.prototype.drillPick=function(o,A,f,m,C){let E=this;return EWe(f,function(){let I=E.pick(o,A,m,C);if(k(I))return{object:I,position:void 0,exclude:!1}}).map(function(I){return I.object})};var e3e=new Z,HAi=new Z;function VAi(o,A,f){this.ray=o,this.width=A,this.tilesets=f,this.ready=!1;let m=this;this.promise=new Promise(C=>{m._completePick=()=>{C()}})}function IWe(o,A,f,m){let C=A.direction,E=Z.mostOrthogonalAxis(C,e3e),I=Z.cross(C,E,e3e),x=Z.cross(C,I,HAi);return m.position=A.origin,m.direction=C,m.up=x,m.right=I,m.frustum.width=ae(f,pWe),m.frustum.computeCullingVolume(m.positionWC,m.directionWC,m.upWC)}function zAi(o,A,f){let m=A.frameState,C=f.ray,E=f.width,I=f.tilesets,x=o._pickOffscreenView.camera,y=IWe(o,C,E,x),v=wAi;v.camera=x,v.cullingVolume=y;let w=!0,Q=I.length;for(let M=0;M<Q;++M){let B=I[M];B.show&&A.primitives.contains(B)&&(B.updateForPass(m,v),w=w&&v.ready)}return w&&f._completePick(),w}dp.prototype.updateMostDetailedRayPicks=function(o){let A=this._mostDetailedRayPicks;for(let f=0;f<A.length;++f)zAi(this,o,A[f])&&A.splice(f--,1)};function xWe(o,A,f){let m=o.length;for(let C=0;C<m;++C){let E=o.get(C);E.show&&(k(E.isCesium3DTileset)?(!k(A)||A.indexOf(E)===-1)&&f.push(E):E instanceof I1&&xWe(E,A,f))}}function Rte(o,A,f,m,C,E){let I=[];if(xWe(A.primitives,m,I),I.length===0)return Promise.resolve(E());let x=new VAi(f,C,I);return o._mostDetailedRayPicks.push(x),x.promise.then(function(){return E()})}function YAi(o,A){return!k(o)||!k(A)||A.length===0?!1:A.indexOf(o)>-1||A.indexOf(o.primitive)>-1||A.indexOf(o.id)>-1}function JAi(o,A,f,m,C,E,I){let x=A.context,y=x.uniformState,v=A.frameState,w=o._pickOffscreenView;A.view=w,IWe(o,f,C,w.camera),Zw=_r.clone(w.viewport,Zw);let Q=w.pickFramebuffer.begin(Zw,w.viewport);A.jobScheduler.disableThisFrame(),A.updateFrameState(),v.invertClassification=!1,v.passes.pick=!0,v.passes.offscreen=!0,I?v.tilesetPassState=bAi:v.tilesetPassState=_ye,y.update(v),A.updateEnvironment(),A.updateAndExecuteCommands(Q,Bye),A.resolveFramebuffers(Q);let M,B=w.pickFramebuffer.end(Zw);if(A.context.depthTexture){let D=w.frustumCommandsList.length;for(let S=0;S<D;++S){let P=o.getPickDepth(A,S).getDepth(x,0,0);if(k(P)&&P>0&&P<1){let R=w.frustumCommandsList[S],T=R.near*(S!==0?A.opaqueFrustumNearOffset:1),L=R.far,F=T+P*(L-T);M=Oa.getPoint(f,F);break}}}if(A.view=A.defaultView,x.endFrame(),k(B)||k(M))return{object:B,position:M,exclude:!k(M)&&E||YAi(B,m)}}function yWe(o,A,f,m,C,E,I,x){return EWe(m,function(){return JAi(o,A,f,C,E,I,x)})}function z4(o,A,f,m,C,E,I){let x=yWe(o,A,f,1,m,C,E,I);if(x.length>0)return x[0]}function vWe(o,A,f,m,C,E,I,x){return yWe(o,A,f,m,C,E,I,x)}function Lte(o,A){return new Promise((f,m)=>{A.then(function(C){let E=o.postRender.addEventListener(function(){E(),f(C)});o.requestRender()}).catch(function(C){m(C)})})}dp.prototype.pickFromRay=function(o,A,f,m){return z4(this,o,A,f,m,!1,!1)};dp.prototype.drillPickFromRay=function(o,A,f,m,C){return vWe(this,o,A,f,m,C,!1,!1)};dp.prototype.pickFromRayMostDetailed=function(o,A,f,m){let C=this;return A=Oa.clone(A),f=k(f)?f.slice():f,Lte(o,Rte(C,o,A,f,m,function(){return z4(C,o,A,f,m,!1,!0)}))};dp.prototype.drillPickFromRayMostDetailed=function(o,A,f,m,C){let E=this;return A=Oa.clone(A),m=k(m)?m.slice():m,Lte(o,Rte(E,o,A,m,C,function(){return vWe(E,o,A,f,m,C,!1,!0)}))};var KAi=new Z,WAi=new Z,qAi=new Oa,_We=new Lt;function wye(o,A){let f=o.globe,m=k(f)?f.ellipsoid:o.mapProjection.ellipsoid,C=Tu._defaultMaxTerrainHeight,E=m.geodeticSurfaceNormalCartographic(A,WAi),I=Lt.toCartesian(A,m,KAi),x=qAi;x.origin=I,x.direction=E;let y=new Oa;return Oa.getPoint(x,C,y.origin),Z.negate(E,y.direction),y}function BWe(o,A){let f=o.globe,m=k(f)?f.ellipsoid:o.mapProjection.ellipsoid,C=Lt.fromCartesian(A,m,_We);return wye(o,C)}function wWe(o,A){let f=o.globe,m=k(f)?f.ellipsoid:o.mapProjection.ellipsoid;return Lt.fromCartesian(A,m,_We).height}function jAi(o,A,f,m,C){let E=wye(A,f);return Rte(o,A,E,m,C,function(){let I=z4(o,A,E,m,C,!0,!0);if(k(I))return wWe(A,I.position)})}function XAi(o,A,f,m,C,E){let I=BWe(A,f);return Rte(o,A,I,m,C,function(){let x=z4(o,A,I,m,C,!0,!0);if(k(x))return Z.clone(x.position,E)})}dp.prototype.sampleHeight=function(o,A,f,m){let C=wye(o,A),E=z4(this,o,C,f,m,!0,!1);if(k(E))return wWe(o,E.position)};dp.prototype.clampToHeight=function(o,A,f,m,C){let E=BWe(o,A),I=z4(this,o,E,f,m,!0,!1);if(k(I))return Z.clone(I.position,C)};dp.prototype.sampleHeightMostDetailed=function(o,A,f,m){f=k(f)?f.slice():f;let C=A.length,E=new Array(C);for(let I=0;I<C;++I)E[I]=jAi(this,o,A[I],f,m);return Lte(o,Promise.all(E).then(function(I){let x=I.length;for(let y=0;y<x;++y)A[y].height=I[y];return A}))};dp.prototype.clampToHeightMostDetailed=function(o,A,f,m){f=k(f)?f.slice():f;let C=A.length,E=new Array(C);for(let I=0;I<C;++I)E[I]=XAi(this,o,A[I],f,m,A[I]);return Lte(o,Promise.all(E).then(function(I){let x=I.length;for(let y=0;y<x;++y)A[y]=I[y];return A}))};dp.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var bye=dp,Qye=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; #ifdef AUTO_EXPOSURE uniform sampler2D autoExposure; #endif void main() { vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); vec3 color = fragmentColor.rgb; #ifdef AUTO_EXPOSURE color /= texture(autoExposure, vec2(0.5)).r; #endif color = czm_acesTonemapping(color); color = czm_inverseGamma(color); out_FragColor = vec4(color, fragmentColor.a); } `,Sye=`uniform sampler2D randomTexture; uniform sampler2D depthTexture; uniform float intensity; uniform float bias; uniform float lengthCap; uniform float stepSize; uniform float frustumLength; in vec2 v_textureCoordinates; vec4 clipToEye(vec2 uv, float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0); posEC = posEC / posEC.w; return posEC; } //Reconstruct Normal Without Edge Removation vec3 getNormalXEdge(vec3 posInCamera, float depthU, float depthD, float depthL, float depthR, vec2 pixelSize) { vec4 posInCameraUp = clipToEye(v_textureCoordinates - vec2(0.0, pixelSize.y), depthU); vec4 posInCameraDown = clipToEye(v_textureCoordinates + vec2(0.0, pixelSize.y), depthD); vec4 posInCameraLeft = clipToEye(v_textureCoordinates - vec2(pixelSize.x, 0.0), depthL); vec4 posInCameraRight = clipToEye(v_textureCoordinates + vec2(pixelSize.x, 0.0), depthR); vec3 up = posInCamera.xyz - posInCameraUp.xyz; vec3 down = posInCameraDown.xyz - posInCamera.xyz; vec3 left = posInCamera.xyz - posInCameraLeft.xyz; vec3 right = posInCameraRight.xyz - posInCamera.xyz; vec3 DX = length(left) < length(right) ? left : right; vec3 DY = length(up) < length(down) ? up : down; return normalize(cross(DY, DX)); } void main(void) { float depth = czm_readDepth(depthTexture, v_textureCoordinates); vec4 posInCamera = clipToEye(v_textureCoordinates, depth); if (posInCamera.z > frustumLength) { out_FragColor = vec4(1.0); return; } vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; float depthU = czm_readDepth(depthTexture, v_textureCoordinates - vec2(0.0, pixelSize.y)); float depthD = czm_readDepth(depthTexture, v_textureCoordinates + vec2(0.0, pixelSize.y)); float depthL = czm_readDepth(depthTexture, v_textureCoordinates - vec2(pixelSize.x, 0.0)); float depthR = czm_readDepth(depthTexture, v_textureCoordinates + vec2(pixelSize.x, 0.0)); vec3 normalInCamera = getNormalXEdge(posInCamera.xyz, depthU, depthD, depthL, depthR, pixelSize); float ao = 0.0; vec2 sampleDirection = vec2(1.0, 0.0); float gapAngle = 90.0 * czm_radiansPerDegree; // RandomNoise float randomVal = texture(randomTexture, v_textureCoordinates / pixelSize / 255.0).x; //Loop for each direction for (int i = 0; i < 4; i++) { float newGapAngle = gapAngle * (float(i) + randomVal); float cosVal = cos(newGapAngle); float sinVal = sin(newGapAngle); //Rotate Sampling Direction vec2 rotatedSampleDirection = vec2(cosVal * sampleDirection.x - sinVal * sampleDirection.y, sinVal * sampleDirection.x + cosVal * sampleDirection.y); float localAO = 0.0; float localStepSize = stepSize; //Loop for each step for (int j = 0; j < 6; j++) { vec2 newCoords = v_textureCoordinates + rotatedSampleDirection * localStepSize * pixelSize; //Exception Handling if(newCoords.x > 1.0 || newCoords.y > 1.0 || newCoords.x < 0.0 || newCoords.y < 0.0) { break; } float stepDepthInfo = czm_readDepth(depthTexture, newCoords); vec4 stepPosInCamera = clipToEye(newCoords, stepDepthInfo); vec3 diffVec = stepPosInCamera.xyz - posInCamera.xyz; float len = length(diffVec); if (len > lengthCap) { break; } float dotVal = clamp(dot(normalInCamera, normalize(diffVec)), 0.0, 1.0 ); float weight = len / lengthCap; weight = 1.0 - weight * weight; if (dotVal < bias) { dotVal = 0.0; } localAO = max(localAO, dotVal * weight); localStepSize += stepSize; } ao += localAO; } ao /= 4.0; ao = 1.0 - clamp(ao, 0.0, 1.0); ao = pow(ao, intensity); out_FragColor = vec4(vec3(ao), 1.0); } `,Dye=`uniform sampler2D colorTexture; uniform sampler2D ambientOcclusionTexture; uniform bool ambientOcclusionOnly; in vec2 v_textureCoordinates; void main(void) { vec4 color = texture(colorTexture, v_textureCoordinates); vec4 ao = texture(ambientOcclusionTexture, v_textureCoordinates); out_FragColor = ambientOcclusionOnly ? ao : ao * color; } `,Mye=`uniform sampler2D colorTexture; uniform float gradations; in vec2 v_textureCoordinates; void main(void) { vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; #ifdef CZM_SELECTED_FEATURE if (czm_selected()) { out_FragColor = vec4(rgb, 1.0); return; } #endif float luminance = czm_luminance(rgb); float darkness = luminance * gradations; darkness = (darkness - fract(darkness)) / gradations; out_FragColor = vec4(vec3(darkness), 1.0); } `,Tye=`uniform sampler2D colorTexture; uniform sampler2D bloomTexture; uniform bool glowOnly; in vec2 v_textureCoordinates; void main(void) { vec4 color = texture(colorTexture, v_textureCoordinates); #ifdef CZM_SELECTED_FEATURE if (czm_selected()) { out_FragColor = color; return; } #endif vec4 bloom = texture(bloomTexture, v_textureCoordinates); out_FragColor = glowOnly ? bloom : bloom + color; } `,Pye=`uniform sampler2D colorTexture; uniform float brightness; in vec2 v_textureCoordinates; void main(void) { vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; vec3 target = vec3(0.0); out_FragColor = vec4(mix(target, rgb, brightness), 1.0); } `,Rye=`uniform sampler2D colorTexture; uniform float contrast; uniform float brightness; in vec2 v_textureCoordinates; void main(void) { vec3 sceneColor = texture(colorTexture, v_textureCoordinates).xyz; sceneColor = czm_RGBToHSB(sceneColor); sceneColor.z += brightness; sceneColor = czm_HSBToRGB(sceneColor); float factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast)); sceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5); out_FragColor = vec4(sceneColor, 1.0); } `,Lye=`uniform sampler2D colorTexture; uniform sampler2D blurTexture; uniform sampler2D depthTexture; uniform float focalDistance; in vec2 v_textureCoordinates; vec4 toEye(vec2 uv, float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera = posInCamera / posInCamera.w; return posInCamera; } float computeDepthBlur(float depth) { float f; if (depth < focalDistance) { f = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x); } else { f = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance); f = pow(f, 0.1); } f *= f; f = clamp(f, 0.0, 1.0); return pow(f, 0.5); } void main(void) { float depth = czm_readDepth(depthTexture, v_textureCoordinates); vec4 posInCamera = toEye(v_textureCoordinates, depth); float d = computeDepthBlur(-posInCamera.z); out_FragColor = mix(texture(colorTexture, v_textureCoordinates), texture(blurTexture, v_textureCoordinates), d); } `,Fye=`uniform sampler2D depthTexture; in vec2 v_textureCoordinates; void main(void) { float depth = czm_readDepth(depthTexture, v_textureCoordinates); out_FragColor = vec4(vec3(depth), 1.0); } `,Nye=`uniform sampler2D depthTexture; uniform float length; uniform float width; uniform vec4 color; in vec2 v_textureCoordinates; void main(void) { float directions[3]; directions[0] = -1.0; directions[1] = 0.0; directions[2] = 1.0; float scalars[3]; scalars[0] = 3.0; scalars[1] = 10.0; scalars[2] = 3.0; float padx = czm_pixelRatio / czm_viewport.z; float pady = width / czm_viewport.w; // Geoworld add \u5929\u9645\u7EBF\u5BBD\u5EA6 #ifdef CZM_SELECTED_FEATURE bool selected = false; for (int i = 0; i < 3; ++i) { float dir = directions[i]; selected = selected || czm_selected(vec2(-padx, dir * pady)); selected = selected || czm_selected(vec2(padx, dir * pady)); selected = selected || czm_selected(vec2(dir * padx, -pady)); selected = selected || czm_selected(vec2(dir * padx, pady)); if (selected) { break; } } if (!selected) { out_FragColor = vec4(color.rgb, 0.0); return; } #endif float horizEdge = 0.0; float vertEdge = 0.0; for (int i = 0; i < 3; ++i) { float dir = directions[i]; float scale = scalars[i]; horizEdge -= texture(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale; horizEdge += texture(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale; vertEdge -= texture(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale; vertEdge += texture(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale; } float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); out_FragColor = vec4(color.rgb, len > length ? color.a : 0.0); } `,kye=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; #ifdef AUTO_EXPOSURE uniform sampler2D autoExposure; #endif // See slides 142 and 143: // http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting void main() { vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); vec3 color = fragmentColor.rgb; #ifdef AUTO_EXPOSURE float exposure = texture(autoExposure, vec2(0.5)).r; color /= exposure; #endif const float A = 0.22; // shoulder strength const float B = 0.30; // linear strength const float C = 0.10; // linear angle const float D = 0.20; // toe strength const float E = 0.01; // toe numerator const float F = 0.30; // toe denominator const float white = 11.2; // linear white point value vec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F; float w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F; c = czm_inverseGamma(c / w); out_FragColor = vec4(c, fragmentColor.a); } `,Uye=`in vec2 v_textureCoordinates; uniform sampler2D colorTexture; const float fxaaQualitySubpix = 0.5; const float fxaaQualityEdgeThreshold = 0.125; const float fxaaQualityEdgeThresholdMin = 0.0833; void main() { vec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw; vec4 color = FxaaPixelShader( v_textureCoordinates, colorTexture, fxaaQualityRcpFrame, fxaaQualitySubpix, fxaaQualityEdgeThreshold, fxaaQualityEdgeThresholdMin); float alpha = texture(colorTexture, v_textureCoordinates).a; out_FragColor = vec4(color.rgb, alpha); } `,u9=`#define SAMPLES 8 uniform float delta; uniform float sigma; uniform float direction; // 0.0 for x direction, 1.0 for y direction uniform sampler2D colorTexture; #ifdef USE_STEP_SIZE uniform float stepSize; #else uniform vec2 step; #endif in vec2 v_textureCoordinates; // Incremental Computation of the Gaussian: // https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html void main() { vec2 st = v_textureCoordinates; vec2 dir = vec2(1.0 - direction, direction); #ifdef USE_STEP_SIZE vec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw)); #else vec2 step = step; #endif vec3 g; g.x = 1.0 / (sqrt(czm_twoPi) * sigma); g.y = exp((-0.5 * delta * delta) / (sigma * sigma)); g.z = g.y * g.y; vec4 result = texture(colorTexture, st) * g.x; for (int i = 1; i < SAMPLES; ++i) { g.xy *= g.yz; vec2 offset = float(i) * dir * step; result += texture(colorTexture, st - offset) * g.x; result += texture(colorTexture, st + offset) * g.x; } out_FragColor = result; } `,Oye=`uniform sampler2D colorTexture; uniform sampler2D dirtTexture; uniform sampler2D starTexture; uniform vec2 dirtTextureDimensions; uniform float distortion; uniform float ghostDispersal; uniform float haloWidth; uniform float dirtAmount; uniform float earthRadius; uniform float intensity; in vec2 v_textureCoordinates; // whether it is in space or not // 6500000.0 is empirical value #define DISTANCE_TO_SPACE 6500000.0 // return ndc from world coordinate biased earthRadius vec4 getNDCFromWC(vec3 WC, float earthRadius) { vec4 positionEC = czm_view * vec4(WC, 1.0); positionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0); vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); return czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0); } // Check if current pixel is included Earth // if then mask it gradually float isInEarth(vec2 texcoord, vec2 sceneSize) { vec2 NDC = texcoord * 2.0 - 1.0; vec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0); vec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5); NDC.xy -= earthPosSC.xy; float X = abs(NDC.x) * sceneSize.x; float Y = abs(NDC.y) * sceneSize.y; return clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0)); } // For Chromatic effect vec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace) { vec2 sceneSize = czm_viewport.zw; vec3 color; if(isSpace) { color.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture(tex, texcoord + direction * distortion.r).r; color.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture(tex, texcoord + direction * distortion.g).g; color.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture(tex, texcoord + direction * distortion.b).b; } else { color.r = texture(tex, texcoord + direction * distortion.r).r; color.g = texture(tex, texcoord + direction * distortion.g).g; color.b = texture(tex, texcoord + direction * distortion.b).b; } return vec4(clamp(color, 0.0, 1.0), 0.0); } void main(void) { vec4 originalColor = texture(colorTexture, v_textureCoordinates); vec3 rgb = originalColor.rgb; bool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE; // Sun position vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); vec4 sunPositionEC = czm_view * sunPos; vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); // If sun is not in the screen space, use original color. if(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1))) { // Lens flare is disabled when not in space until #5932 is fixed. // https://github.com/CesiumGS/cesium/issues/5932 out_FragColor = originalColor; return; } vec2 texcoord = vec2(1.0) - v_textureCoordinates; vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; vec2 invPixelSize = 1.0 / pixelSize; vec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion); // ghost vector to image centre: vec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal; vec3 direction = normalize(vec3(ghostVec, 0.0)); // sample ghosts: vec4 result = vec4(0.0); vec4 ghost = vec4(0.0); for (int i = 0; i < 4; ++i) { vec2 offset = fract(texcoord + ghostVec * float(i)); // Only bright spots from the centre of the source image ghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace); } result += ghost; // sample halo vec2 haloVec = normalize(ghostVec) * haloWidth; float weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5)); weightForHalo = pow(1.0 - weightForHalo, 5.0); result += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5; // dirt on lens vec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions; if (dirtTexCoords.x > 1.0) { dirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x); } if (dirtTexCoords.y > 1.0) { dirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y); } result += dirtAmount * texture(dirtTexture, dirtTexCoords); // Rotating starburst texture's coordinate // dot(czm_view[0].xyz, vec3(0.0, 0.0, 1.0)) + dot(czm_view[1].xyz, vec3(0.0, 1.0, 0.0)) float camrot = czm_view[0].z + czm_view[1].y; float cosValue = cos(camrot); float sinValue = sin(camrot); mat3 rotation = mat3( cosValue, -sinValue, 0.0, sinValue, cosValue, 0.0, 0.0, 0.0, 1.0 ); vec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0); vec3 st2 = vec3((rotation * st1).xy, 1.0); vec3 st3 = st2 * 0.5 + vec3(0.5); vec2 lensStarTexcoord = st3.xy; float weightForLensFlare = length(vec3(sunPos.xy, 0.0)); float oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0); if (!isSpace) { result *= oneMinusWeightForLensFlare * intensity * 0.2; } else { result *= oneMinusWeightForLensFlare * intensity; result *= texture(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0; } result += texture(colorTexture, v_textureCoordinates); out_FragColor = result; } `,Gye=`uniform sampler2D colorTexture; uniform vec3 white; in vec2 v_textureCoordinates; #ifdef AUTO_EXPOSURE uniform sampler2D autoExposure; #endif // See equation 4: // http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf void main() { vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); vec3 color = fragmentColor.rgb; #ifdef AUTO_EXPOSURE float exposure = texture(autoExposure, vec2(0.5)).r; color /= exposure; #endif color = (color * (1.0 + color / white)) / (1.0 + color); color = czm_inverseGamma(color); out_FragColor = vec4(color, fragmentColor.a); } `,Hye=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float rand(vec2 co) { return fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453); } void main(void) { float noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1; vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; vec3 green = vec3(0.0, 1.0, 0.0); out_FragColor = vec4((noiseValue + rgb) * green, 1.0); } `,Vye=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; #ifdef AUTO_EXPOSURE uniform sampler2D autoExposure; #endif // See equation 3: // http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf void main() { vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); vec3 color = fragmentColor.rgb; #ifdef AUTO_EXPOSURE float exposure = texture(autoExposure, vec2(0.5)).r; color /= exposure; #endif color = color / (1.0 + color); color = czm_inverseGamma(color); out_FragColor = vec4(color, fragmentColor.a); } `,zye=`uniform sampler2D colorTexture; uniform sampler2D silhouetteTexture; in vec2 v_textureCoordinates; void main(void) { vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates); vec4 color = texture(colorTexture, v_textureCoordinates); out_FragColor = mix(color, silhouetteColor, silhouetteColor.a); } `;function kN(){this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._ready=!1,this._name="czm_autoexposure",this._logDepthChanged=void 0,this._useLogDepth=void 0,this._framebuffers=void 0,this._previousLuminance=new _c,this._commands=void 0,this._clearCommand=void 0,this._minMaxLuminance=new tt,this.enabled=!0,this._enabled=!0,this.minimumLuminance=.1,this.maximumLuminance=10}Object.defineProperties(kN.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},outputTexture:{get:function(){let o=this._framebuffers;if(k(o))return o[o.length-1].getColorTexture(0)}}});function bWe(o){let A=o._framebuffers;if(!k(A))return;let f=A.length;for(let m=0;m<f;++m)A[m].destroy();o._framebuffers=void 0,o._previousLuminance.destroy(),o._previousLuminance=void 0}function ZAi(o,A){bWe(o);let f=o._width,m=o._height,C=A.halfFloatingPointTexture?Gr.HALF_FLOAT:Gr.FLOAT,E=Math.ceil(Math.log(Math.max(f,m))/Math.log(3)),I=new Array(E);for(let y=0;y<E;++y)f=Math.max(Math.ceil(f/3),1),m=Math.max(Math.ceil(m/3),1),I[y]=new _c,I[y].update(A,f,m,1,C);let x=I[E-1].getColorTexture(0);o._previousLuminance.update(A,x.width,x.height,1,C),o._framebuffers=I}function QWe(o){let A=o._commands;if(!k(A))return;let f=A.length;for(let m=0;m<f;++m)A[m].shaderProgram.destroy();o._commands=void 0}function $Ai(o,A){let f;if(A===0)f={colorTexture:function(){return o._colorTexture},colorTextureDimensions:function(){return o._colorTexture.dimensions}};else{let m=o._framebuffers[A-1].getColorTexture(0);f={colorTexture:function(){return m},colorTextureDimensions:function(){return m.dimensions}}}return f.minMaxLuminance=function(){return o._minMaxLuminance},f.previousLuminance=function(){return o._previousLuminance.getColorTexture(0)},f}function eui(o,A){let f=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float sampleTexture(vec2 offset) { `;return o===0?f+=` vec4 color = texture(colorTexture, v_textureCoordinates + offset); return czm_luminance(color.rgb); `:f+=` return texture(colorTexture, v_textureCoordinates + offset).r; `,f+=`} `,f+=`uniform vec2 colorTextureDimensions; uniform vec2 minMaxLuminance; uniform sampler2D previousLuminance; void main() { float color = 0.0; float xStep = 1.0 / colorTextureDimensions.x; float yStep = 1.0 / colorTextureDimensions.y; int count = 0; for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { vec2 offset; offset.x = -xStep + float(i) * xStep; offset.y = -yStep + float(j) * yStep; if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) { continue; } color += sampleTexture(offset); ++count; } } if (count > 0) { color /= float(count); } `,o===A-1&&(f+=` float previous = texture(previousLuminance, vec2(0.5)).r; color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); color = previous + (color - previous) / (60.0 * 1.5); color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); `),f+=` out_FragColor = vec4(color); } `,f}function tui(o,A){QWe(o);let f=o._framebuffers,m=f.length,C=new Array(m);for(let E=0;E<m;++E)C[E]=A.createViewportQuadCommand(eui(E,m),{framebuffer:f[E].framebuffer,uniformMap:$Ai(o,E)});o._commands=C}kN.prototype.clear=function(o){let A=this._framebuffers;if(!k(A))return;let f=this._clearCommand;k(f)||(f=this._clearCommand=new QA({color:new qe(0,0,0,0),framebuffer:void 0}));let m=A.length;for(let C=0;C<m;++C)A[C].clear(o,f)};kN.prototype.update=function(o){let A=o.drawingBufferWidth,f=o.drawingBufferHeight;(A!==this._width||f!==this._height)&&(this._width=A,this._height=f,ZAi(this,o),tui(this,o),this._ready||(this._ready=!0)),this._minMaxLuminance.x=this.minimumLuminance,this._minMaxLuminance.y=this.maximumLuminance;let m=this._framebuffers,C=m[m.length-1];m[m.length-1]=this._previousLuminance,this._commands[this._commands.length-1].framebuffer=this._previousLuminance.framebuffer,this._previousLuminance=C};kN.prototype.execute=function(o,A){this._colorTexture=A;let f=this._commands;if(!k(f))return;let m=f.length;for(let C=0;C<m;++C)f[C].execute(o)};kN.prototype.isDestroyed=function(){return!1};kN.prototype.destroy=function(){return bWe(this),QWe(this),ar(this)};var Yye=kN;function UN(o){o=ae(o,ae.EMPTY_OBJECT),this._stages=o.stages,this._inputPreviousStageTexture=ae(o.inputPreviousStageTexture,!0);let A=o.name;k(A)||(A=Kl()),this._name=A,this._uniforms=o.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}Object.defineProperties(UN.prototype,{ready:{get:function(){let o=this._stages,A=o.length;for(let f=0;f<A;++f)if(!o[f].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(o){let A=this._stages,f=A.length;for(let m=0;m<f;++m)A[m].enabled=o}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(o){this._selected=o}},parentSelected:{get:function(){return this._parentSelected},set:function(o){this._parentSelected=o}}});UN.prototype._isSupported=function(o){let A=this._stages,f=A.length;for(let m=0;m<f;++m)if(!A[m]._isSupported(o))return!1;return!0};UN.prototype.get=function(o){return this._stages[o]};function iui(o){let A=k(o._selected)?o._selected.length:0,f=k(o._parentSelected)?o._parentSelected:0,m=o._selected!==o._selectedShadow||A!==o._selectedLength;if(m=m||o._parentSelected!==o._parentSelectedShadow||f!==o._parentSelectedLength,k(o._selected)&&k(o._parentSelected)?o._combinedSelected=o._selected.concat(o._parentSelected):k(o._parentSelected)?o._combinedSelected=o._parentSelected:o._combinedSelected=o._selected,!m&&k(o._combinedSelected)){if(!k(o._combinedSelectedShadow))return!0;A=o._combinedSelected.length;for(let C=0;C<A;++C)if(o._combinedSelected[C]!==o._combinedSelectedShadow[C])return!0}return m}UN.prototype.update=function(o,A){this._selectedDirty=iui(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=k(this._selected)?this._selected.length:0,this._parentSelectedLength=k(this._parentSelected)?this._parentSelected.length:0;let f=this._stages,m=f.length;for(let C=0;C<m;++C){let E=f[C];this._selectedDirty&&(E.parentSelected=this._combinedSelected),E.update(o,A)}};UN.prototype.isDestroyed=function(){return!1};UN.prototype.destroy=function(){let o=this._stages,A=o.length;for(let f=0;f<A;++f)o[f].destroy();return ar(this)};var x0=UN,Jye=`varying vec2 v_textureCoordinates; uniform sampler2D sunShaftTexture; uniform sampler2D colorTexture; //uniform float exposure = 1.0; const float exposure = 1.0; void main() { const float gamma = 2.2; vec3 hdrColor = texture(colorTexture, v_textureCoordinates).rgb; vec3 bloomColor = texture(sunShaftTexture, v_textureCoordinates).rgb; //vec3 bloomColor = texture(colorTexture, v_textureCoordinates).rgb; hdrColor += bloomColor; // additive blending // tone mapping //vec3 result = vec3(1.0) - exp(-hdrColor * exposure); // also gamma correct while we're at it //result = pow(result, vec3(1.0 / gamma)); //out_FragColor = vec4(result, 1.0); out_FragColor = vec4(hdrColor, 1.0); } `,Kye=`#define SAMPLES 8 uniform float delta; uniform float sigma; uniform float direction; // 0.0 for x direction, 1.0 for y direction uniform sampler2D sunTexture; #ifdef USE_STEP_SIZE uniform float stepSize; #else uniform vec2 step; #endif in vec2 v_textureCoordinates; // Incremental Computation of the Gaussian: // https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html void main() { vec2 st = v_textureCoordinates; vec2 dir = vec2(1.0 - direction, direction); #ifdef USE_STEP_SIZE vec2 step = vec2(stepSize / czm_viewport.zw); #else vec2 step = step; #endif vec3 g; g.x = 1.0 / (sqrt(czm_twoPi) * sigma); g.y = exp((-0.5 * delta * delta) / (sigma * sigma)); g.z = g.y * g.y; vec4 result = texture(sunTexture, st) * g.x; for (int i = 1; i < SAMPLES; ++i) { g.xy *= g.yz; vec2 offset = float(i) * dir * step; result += texture(sunTexture, st - offset) * g.x; result += texture(sunTexture, st + offset) * g.x; } out_FragColor = result; } `,Wye=`in vec2 v_textureCoordinates; uniform sampler2D colorTexture; uniform sampler2D sunVisibleTexture; const float _BlurRadius = 0.04;//0.0293;//0.05;//0.06;//0.3; const float _Iteration = 26.0;//27.0;//30.0;//30; const float nFrag = 1.0 / 30.0; const float _SunScreenRadius = 0.1; const float exposure = 1.0; const float gamma = 2.2; const float strength = 0.1; float rnd(vec3 scale, float seed) { return fract(sin(dot(gl_FragCoord.stp + seed, scale)) * 43758.5453 + seed); } vec4 fragRadialBlur(vec2 p, vec2 sunCoord) { vec2 fc = p; vec2 fcc = fc - sunCoord; vec3 destColor = vec3(0.0); float random = rnd(vec3(12.9898, 78.233, 151.7182), 0.0); float totalWeight = 0.0; for (float i = 0.0; i <= _Iteration; i++) { float percent = (i + random) * nFrag; float weight = percent - percent * percent; vec2 t = fc - fcc * percent * strength * nFrag; destColor += texture(sunVisibleTexture, t).rgb * weight; totalWeight += weight; } return vec4(destColor / totalWeight, 1.0); } vec2 getCenter(vec2 sunCoord) { vec4 sunColor = texture(sunVisibleTexture, sunCoord); if(sunColor.x > 0.0) { return sunCoord; } vec2 step = vec2(0.0, 0.02); vec2 tmp = vec2(0.0, 0.0); for(float i = 0.0; i < 1.0; i += 0.02) { tmp = vec2(sunCoord.x, sunCoord.y + i); if(texture(sunVisibleTexture, tmp).r > 0.0 || tmp.y >= 1.0) { break; } } vec2 low = vec2(0.0, 0.0); if(texture(sunVisibleTexture, tmp).r > 0.0) { low = tmp; } else { return sunCoord; } for(float i = 0.0; i < 1.0; i += 0.02) { tmp = vec2(low.x, low.y + i); if(texture(sunVisibleTexture, tmp).r > 0.0 || tmp.y >= 1.0) { break; } } vec2 high; if(texture(sunVisibleTexture, tmp).r > 0.0) { high = tmp; } else { return sunCoord; } return (low + high) / 2.0; } vec4 getColor(vec2 p, vec2 sunCoord) { vec2 blurVector = (sunCoord - p) * _BlurRadius; //vec2 blurVector = (p - sunCoord) * _BlurRadius; vec4 acumulateColor = vec4(0, 0, 0, 0); vec2 texcoord = p; for (int j = 0; j < int(_Iteration); j ++) { acumulateColor += texture(sunVisibleTexture, texcoord); //acumulateColor += texture(colorTexture, texcoord); texcoord += blurVector; } vec4 color = acumulateColor / float(_Iteration); return color; } void main() { // Sun position vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); vec4 sunPositionEC = czm_view * sunPos; vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); //sunPos = sunPositionWC; vec2 sunTexcoord = sunPos.xy * 0.5 + vec2(0.5); //out_FragColor = length(sunTexcoord - v_textureCoordinates) > _SunScreenRadius // ? texture(sunVisibleTexture, v_textureCoordinates): getColor(v_textureCoordinates, sunTexcoord); vec2 center = getCenter(sunTexcoord); out_FragColor = getColor(v_textureCoordinates, center); //out_FragColor = fragRadialBlur(v_textureCoordinates, center); //vec4 color = getColor(v_textureCoordinates, center); // tone mapping //vec3 result = vec3(1.0) - exp(-color.rgb * exposure); // also gamma correct while we're at it //result = pow(result, vec3(1.0 / gamma)); //out_FragColor = vec4(result, 1.0); } `,Jh={};function BY(o){let A=`#define USE_STEP_SIZE ${u9}`,f=new Jo({name:`${o}_x_direction`,fragmentShader:A,uniforms:{delta:1,sigma:2,stepSize:1,direction:0},sampleMode:QC.LINEAR}),m=new Jo({name:`${o}_y_direction`,fragmentShader:A,uniforms:{delta:1,sigma:2,stepSize:1,direction:1},sampleMode:QC.LINEAR}),C={};return Object.defineProperties(C,{delta:{get:function(){return f.uniforms.delta},set:function(E){let I=f.uniforms,x=m.uniforms;I.delta=x.delta=E}},sigma:{get:function(){return f.uniforms.sigma},set:function(E){let I=f.uniforms,x=m.uniforms;I.sigma=x.sigma=E}},stepSize:{get:function(){return f.uniforms.stepSize},set:function(E){let I=f.uniforms,x=m.uniforms;I.stepSize=x.stepSize=E}}}),new x0({name:o,stages:[f,m],uniforms:C})}Jh.createBlurStage=function(){return BY("czm_blur")};Jh.createDepthOfFieldStage=function(){let o=BY("czm_depth_of_field_blur"),A=new Jo({name:"czm_depth_of_field_composite",fragmentShader:Lye,uniforms:{focalDistance:5,blurTexture:o.name}}),f={};return Object.defineProperties(f,{focalDistance:{get:function(){return A.uniforms.focalDistance},set:function(m){A.uniforms.focalDistance=m}},delta:{get:function(){return o.uniforms.delta},set:function(m){o.uniforms.delta=m}},sigma:{get:function(){return o.uniforms.sigma},set:function(m){o.uniforms.sigma=m}},stepSize:{get:function(){return o.uniforms.stepSize},set:function(m){o.uniforms.stepSize=m}}}),new x0({name:"czm_depth_of_field",stages:[o,A],inputPreviousStageTexture:!1,uniforms:f})};Jh.isDepthOfFieldSupported=function(o){return o.context.depthTexture};Jh.createEdgeDetectionStage=function(o){let A=Kl();return new Jo({name:`czm_edge_detection_${A}`,fragmentShader:Nye,uniforms:{length:.25,color:qe.clone(qe.BLACK),width:ae(o.width,1)}})};Jh.isEdgeDetectionSupported=function(o){return o.context.depthTexture};function rui(o){if(!k(o))return Jh.createEdgeDetectionStage();let A=new x0({name:"czm_edge_detection_multiple",stages:o,inputPreviousStageTexture:!1}),f={},m="",C="";for(let x=0;x<o.length;++x)m+=`uniform sampler2D edgeTexture${x}; `,C+=` vec4 edge${x} = texture(edgeTexture${x}, v_textureCoordinates); if (edge${x}.a > 0.0) { color = edge${x}; break; } `,f[`edgeTexture${x}`]=o[x].name;let E=`${m}in vec2 v_textureCoordinates; void main() { vec4 color = vec4(0.0); for (int i = 0; i < ${o.length}; i++) { ${C} } out_FragColor = color; } `,I=new Jo({name:"czm_edge_detection_combine",fragmentShader:E,uniforms:f});return new x0({name:"czm_edge_detection_composite",stages:[A,I]})}Jh.createSilhouetteStage=function(o){let A=rui(o),f=new Jo({name:"czm_silhouette_color_edges",fragmentShader:zye,uniforms:{silhouetteTexture:A.name}});return new x0({name:"czm_silhouette",stages:[A,f],inputPreviousStageTexture:!1,uniforms:A.uniforms})};Jh.isSilhouetteSupported=function(o){return o.context.depthTexture};Jh.createBloomStage=function(){let o=new Jo({name:"czm_bloom_contrast_bias",fragmentShader:Rye,uniforms:{contrast:128,brightness:-.3}}),A=BY("czm_bloom_blur"),f=new x0({name:"czm_bloom_contrast_bias_blur",stages:[o,A]}),m=new Jo({name:"czm_bloom_generate_composite",fragmentShader:Tye,uniforms:{glowOnly:!1,bloomTexture:f.name}}),C={};return Object.defineProperties(C,{glowOnly:{get:function(){return m.uniforms.glowOnly},set:function(E){m.uniforms.glowOnly=E}},contrast:{get:function(){return o.uniforms.contrast},set:function(E){o.uniforms.contrast=E}},brightness:{get:function(){return o.uniforms.brightness},set:function(E){o.uniforms.brightness=E}},delta:{get:function(){return A.uniforms.delta},set:function(E){A.uniforms.delta=E}},sigma:{get:function(){return A.uniforms.sigma},set:function(E){A.uniforms.sigma=E}},stepSize:{get:function(){return A.uniforms.stepSize},set:function(E){A.uniforms.stepSize=E}}}),new x0({name:"czm_bloom",stages:[f,m],inputPreviousStageTexture:!1,uniforms:C})};Jh.createAmbientOcclusionStage=function(){let o=new Jo({name:"czm_ambient_occlusion_generate",fragmentShader:Sye,uniforms:{intensity:3,bias:.1,lengthCap:.26,stepSize:1.95,frustumLength:1e3,randomTexture:void 0}}),A=BY("czm_ambient_occlusion_blur");A.uniforms.stepSize=.86;let f=new x0({name:"czm_ambient_occlusion_generate_blur",stages:[o,A]}),m=new Jo({name:"czm_ambient_occlusion_composite",fragmentShader:Dye,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:f.name}}),C={};return Object.defineProperties(C,{intensity:{get:function(){return o.uniforms.intensity},set:function(E){o.uniforms.intensity=E}},bias:{get:function(){return o.uniforms.bias},set:function(E){o.uniforms.bias=E}},lengthCap:{get:function(){return o.uniforms.lengthCap},set:function(E){o.uniforms.lengthCap=E}},stepSize:{get:function(){return o.uniforms.stepSize},set:function(E){o.uniforms.stepSize=E}},frustumLength:{get:function(){return o.uniforms.frustumLength},set:function(E){o.uniforms.frustumLength=E}},randomTexture:{get:function(){return o.uniforms.randomTexture},set:function(E){o.uniforms.randomTexture=E}},delta:{get:function(){return A.uniforms.delta},set:function(E){A.uniforms.delta=E}},sigma:{get:function(){return A.uniforms.sigma},set:function(E){A.uniforms.sigma=E}},blurStepSize:{get:function(){return A.uniforms.stepSize},set:function(E){A.uniforms.stepSize=E}},ambientOcclusionOnly:{get:function(){return m.uniforms.ambientOcclusionOnly},set:function(E){m.uniforms.ambientOcclusionOnly=E}}}),new x0({name:"czm_ambient_occlusion",stages:[f,m],inputPreviousStageTexture:!1,uniforms:C})};Jh.isAmbientOcclusionSupported=function(o){return o.context.depthTexture};var nui=`#define FXAA_QUALITY_PRESET 39 ${pIe} ${Uye}`;Jh.createFXAAStage=function(){return new Jo({name:"czm_FXAA",fragmentShader:nui,sampleMode:QC.LINEAR})};Jh.createAcesTonemappingStage=function(o){let A=o?`#define AUTO_EXPOSURE `:"";return A+=Qye,new Jo({name:"czm_aces",fragmentShader:A,uniforms:{autoExposure:void 0}})};Jh.createFilmicTonemappingStage=function(o){let A=o?`#define AUTO_EXPOSURE `:"";return A+=kye,new Jo({name:"czm_filmic",fragmentShader:A,uniforms:{autoExposure:void 0}})};Jh.createReinhardTonemappingStage=function(o){let A=o?`#define AUTO_EXPOSURE `:"";return A+=Vye,new Jo({name:"czm_reinhard",fragmentShader:A,uniforms:{autoExposure:void 0}})};Jh.createModifiedReinhardTonemappingStage=function(o){let A=o?`#define AUTO_EXPOSURE `:"";return A+=Gye,new Jo({name:"czm_modified_reinhard",fragmentShader:A,uniforms:{white:qe.WHITE,autoExposure:void 0}})};Jh.createAutoExposureStage=function(){return new Yye};Jh.createBlackAndWhiteStage=function(){return new Jo({name:"czm_black_and_white",fragmentShader:Mye,uniforms:{gradations:5}})};Jh.createBrightnessStage=function(){return new Jo({name:"czm_brightness",fragmentShader:Pye,uniforms:{brightness:.5}})};Jh.createNightVisionStage=function(){return new Jo({name:"czm_night_vision",fragmentShader:Hye})};Jh.createDepthViewStage=function(){return new Jo({name:"czm_depth_view",fragmentShader:Fye})};Jh.createLensFlareStage=function(){return new Jo({name:"czm_lens_flare",fragmentShader:Oye,uniforms:{dirtTexture:Ja("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:Ja("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:gi.WGS84.maximumRadius}})};Jh.createSunShaftStage=function(){let o=new Jo({name:"czm_SunVisible",fragmentShader:bIe,isShaft:!0,sampleMode:QC.LINEAR,uniforms:{u_size:210}}),A=new Jo({name:"czm_SunVisibleShaft",fragmentShader:Wye,sampleMode:QC.LINEAR,uniforms:{sunVisibleTexture:o.name}}),f=BY("czm_sun_shaft_blur"),m=1,C=2,E=1,I=`#define USE_STEP_SIZE ${Kye}`,x=new Jo({name:"czm_sun_shaft_x_direction",fragmentShader:I,uniforms:{delta:m,sigma:C,stepSize:E,direction:0,sunTexture:A.name},sampleMode:QC.LINEAR}),y=new Jo({name:"czm_sun_shaft_y_direction",fragmentShader:I,uniforms:{delta:m,sigma:C,stepSize:E,direction:1,sunTexture:x.name},sampleMode:QC.LINEAR}),v=new Jo({name:"czm_SunShaft_Modulate",fragmentShader:Jye,uniforms:{exposure:1,sunShaftTexture:y.name}}),w={};return Object.defineProperties(w,{exposure:{get:function(){return v.uniforms.exposure},set:function(Q){v.uniforms.exposure=Q}},u_size:{get:function(){return o.uniforms.u_size},set:function(Q){o.uniforms.u_size=Q}},delta:{get:function(){return x.uniforms.delta},set:function(Q){let M=x.uniforms,B=y.uniforms;M.delta=B.delta=Q}},sigma:{get:function(){return x.uniforms.sigma},set:function(Q){let M=x.uniforms,B=y.uniforms;M.sigma=B.sigma=Q}},stepSize:{get:function(){return x.uniforms.stepSize},set:function(Q){let M=x.uniforms,B=y.uniforms;M.stepSize=B.stepSize=Q}}}),new x0({name:"czm_SunShaft_All",inputPreviousStageTexture:!1,stages:[o,A,x,y,v],uniforms:w})};var BC=Jh;function xD(o){this._collection=o,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function XH(o){for(;k(o.length);)o=o.get(o.length-1);return o.name}function fce(o,A,f,m,C){if(!m.enabled||!m._isSupported(A))return C;let E=f[m.name]={};if(k(C)){let x=o.getStageByName(C);E[XH(x)]=!0}let I=m.uniforms;if(k(I)){let x=Object.getOwnPropertyNames(I),y=x.length;for(let v=0;v<y;++v){let w=I[x[v]];if(typeof w=="string"){let Q=o.getStageByName(w);k(Q)&&(E[XH(Q)]=!0)}}}return m.name}function D5(o,A,f,m,C){if(k(m.enabled)&&!m.enabled||k(m._isSupported)&&!m._isSupported(A))return C;let E=C,I=!k(m.inputPreviousStageTexture)||m.inputPreviousStageTexture,x=C,y=m.length;for(let Q=0;Q<y;++Q){let M=m.get(Q);k(M.length)?x=D5(o,A,f,M,C):x=fce(o,A,f,M,C),I&&(C=x)}let v,w;if(I)for(v=1;v<y;++v)w=XH(m.get(v)),k(f[w])||(f[w]={}),f[w][E]=!0;else for(v=1;v<y;++v){w=XH(m.get(v));let Q=f[w];for(let M=0;M<v;++M)Q[XH(m.get(M))]=!0}return x}function oui(o,A){let f={};if(k(o.ambientOcclusion)){let m=o.ambientOcclusion,C=o.bloom,E=o._tonemapping,I=o.fxaa,x=D5(o,A,f,m,void 0);x=D5(o,A,f,C,x),x=fce(o,A,f,E,x),x=D5(o,A,f,o,x);let y=o.sunShaft;x=D5(o,A,f,y,x),fce(o,A,f,I,x)}else D5(o,A,f,o,void 0);return f}function aui(o,A,f){let m=o._collection.getStageByName(A),C=m._textureScale,E=m._forcePowerOfTwo,I=m._pixelFormat,x=m._pixelDatatype,y=m._clearColor,v,w,Q=o._framebuffers,M=Q.length;for(v=0;v<M;++v){if(w=Q[v],C!==w.textureScale||E!==w.forcePowerOfTwo||I!==w.pixelFormat||x!==w.pixelDatatype||!qe.equals(y,w.clearColor))continue;let B=w.stages,D=B.length,S=!1;for(let P=0;P<D;++P)if(f[B[P]]){S=!0;break}if(!S)break}return k(w)&&v<M?(w.stages.push(A),w):(w={textureScale:C,forcePowerOfTwo:E,pixelFormat:I,pixelDatatype:x,clearColor:y,stages:[A],buffer:new _c({pixelFormat:I,pixelDatatype:x}),clear:void 0},Q.push(w),w)}function sui(o,A){let f=oui(o._collection,A);for(let m in f)f.hasOwnProperty(m)&&(o._stageNameToFramebuffer[m]=aui(o,m,f[m]))}function pce(o){let A=o._framebuffers,f=A.length;for(let m=0;m<f;++m)A[m].buffer.destroy()}function lui(o,A){let f=o._width,m=o._height,C=o._framebuffers,E=C.length;for(let I=0;I<E;++I){let x=C[I],y=x.textureScale,v=Math.ceil(f*y),w=Math.ceil(m*y),Q=Math.min(v,w);x.forcePowerOfTwo&&(De.isPowerOfTwo(Q)||(Q=De.nextPowerOfTwo(Q)),v=Q,w=Q),x.buffer.update(A,v,w),x.clear=new QA({color:x.clearColor,framebuffer:x.buffer.framebuffer})}}xD.prototype.updateDependencies=function(){this._updateDependencies=!0};xD.prototype.update=function(o){let A=this._collection,f=this._updateDependencies,m=k(A.ambientOcclusion)&&A.ambientOcclusion.enabled&&A.ambientOcclusion._isSupported(o),C=k(A.bloom)&&A.bloom.enabled&&A.bloom._isSupported(o),E=k(A._tonemapping)&&A._tonemapping.enabled&&A._tonemapping._isSupported(o),I=k(A.fxaa)&&A.fxaa.enabled&&A.fxaa._isSupported(o),x=!k(A._activeStages)||A._activeStages.length>0||m||C||E||I,y=k(A.sunShaft)&&A.sunShaft.enabled&&A.sunShaft._isSupported(o);if(x=!k(A._activeStages)||A._activeStages.length>0||m||C||E||I||y,(f||!x&&this._framebuffers.length>0)&&(pce(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),!f&&!x)return;this._framebuffers.length===0&&sui(this,o);let v=o.drawingBufferWidth,w=o.drawingBufferHeight,Q=this._width!==v||this._height!==w;!f&&!Q||(this._width=v,this._height=w,this._updateDependencies=!1,pce(this),lui(this,o))};xD.prototype.clear=function(o){let A=this._framebuffers;for(let f=0;f<A.length;++f)A[f].clear.execute(o)};xD.prototype.getStageByName=function(o){return this._collection.getStageByName(o)};xD.prototype.getOutputTexture=function(o){return this._collection.getOutputTexture(o)};xD.prototype.getFramebuffer=function(o){let A=this._stageNameToFramebuffer[o];if(k(A))return A.buffer.framebuffer};xD.prototype.isDestroyed=function(){return!1};xD.prototype.destroy=function(){return pce(this),ar(this)};var Fte=xD,EH={REINHARD:0,MODIFIED_REINHARD:1,FILMIC:2,ACES:3,validate:function(o){return o===EH.REINHARD||o===EH.MODIFIED_REINHARD||o===EH.FILMIC||o===EH.ACES}},vU=Object.freeze(EH),qye=[];function zC(){let o=BC.createFXAAStage(),A=BC.createAmbientOcclusionStage(),f=BC.createBloomStage(),m=BC.createSunShaftStage();this._autoExposureEnabled=!1,this._autoExposure=BC.createAutoExposureStage(),this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=vU.ACES;let C=this._tonemapping;o.enabled=!1,A.enabled=!1,f.enabled=!1,C.enabled=!1,m.enabled=!1;let E=new Fte(this),I={},x=qye;for(x.push(o,A,f,C,m);x.length>0;){let v=x.pop();I[v.name]=v,v._textureCache=E;let w=v.length;if(k(w))for(let Q=0;Q<w;++Q)x.push(v.get(Q))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;let y=this;A.uniforms.randomTexture=function(){return y._randomTexture},this._ao=A,this._bloom=f,this._fxaa=o,this._sunShaft=m,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._sunShaftEnabled=void 0,this._activeStagesChanged=!1,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=I,this._textureCache=E}Object.defineProperties(zC.prototype,{ready:{get:function(){let o=!1,A=this._stages,f=A.length;for(let y=f-1;y>=0;--y){let v=A[y];o=o||v.ready&&v.enabled}let m=this._fxaa,C=this._ao,E=this._bloom,I=this._tonemapping,x=this._sunShaft;return o=o||m.ready&&m.enabled,o=o||C.ready&&C.enabled,o=o||E.ready&&E.enabled,o=o||I.ready&&I.enabled,o=o||x.ready&&x.enabled,o}},fxaa:{get:function(){return this._fxaa}},sunShaft:{get:function(){return this._sunShaft}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return jye(this),this._stages.length}},outputTexture:{get:function(){let o=this._fxaa;if(o.enabled&&o.ready)return this.getOutputTexture(o.name);let A=this._stages,f=A.length;for(let x=f-1;x>=0;--x){let y=A[x];if(k(y)&&y.ready&&y.enabled)return this.getOutputTexture(y.name)}let m=this._tonemapping;if(m.enabled&&m.ready)return this.getOutputTexture(m.name);let C=this._bloom;if(C.enabled&&C.ready)return this.getOutputTexture(C.name);let E=this._ao;if(E.enabled&&E.ready)return this.getOutputTexture(E.name);let I=this._sunShaft;if(I.enabled&&I.ready)return this.getOutputTexture(I.name)}},hasSelected:{get:function(){let o=this._stages.slice();for(;o.length>0;){let A=o.pop();if(!k(A))continue;if(k(A.selected))return!0;let f=A.length;if(k(f))for(let m=0;m<f;++m)o.push(A.get(m))}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(o){if(this._tonemapper===o)return;k(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());let A=this._autoExposureEnabled,f;switch(o){case vU.REINHARD:f=BC.createReinhardTonemappingStage(A);break;case vU.MODIFIED_REINHARD:f=BC.createModifiedReinhardTonemappingStage(A);break;case vU.FILMIC:f=BC.createFilmicTonemappingStage(A);break;default:f=BC.createAcesTonemappingStage(A);break}if(A){let m=this._autoExposure;f.uniforms.autoExposure=function(){return m.outputTexture}}this._tonemapper=o,this._tonemapping=f,k(this._stageNames)&&(this._stageNames[f.name]=f,f._textureCache=this._textureCache),this._textureCacheDirty=!0}}});function jye(o){if(!o._stagesRemoved)return;o._stagesRemoved=!1;let A=[],f=o._stages,m=f.length;for(let C=0,E=0;C<m;++C){let I=f[C];I&&(I._index=E++,A.push(I))}o._stages=A}zC.prototype.add=function(o){let A=this._stageNames,f=qye;for(f.push(o);f.length>0;){let C=f.pop();A[C.name]=C,C._textureCache=this._textureCache;let E=C.length;if(k(E))for(let I=0;I<E;++I)f.push(C.get(I))}let m=this._stages;return o._index=m.length,m.push(o),this._textureCacheDirty=!0,o};zC.prototype.remove=function(o){if(!this.contains(o))return!1;let A=this._stageNames,f=qye;for(f.push(o);f.length>0;){let m=f.pop();delete A[m.name];let C=m.length;if(k(C))for(let E=0;E<C;++E)f.push(m.get(E))}return this._stages[o._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,o._index=void 0,o._textureCache=void 0,o.destroy(),!0};zC.prototype.contains=function(o){return k(o)&&k(o._index)&&o._textureCache===this._textureCache};zC.prototype.get=function(o){return jye(this),this._stages[o]};zC.prototype.removeAll=function(){let o=this._stages,A=o.length;for(let f=0;f<A;++f)this.remove(o[f]);o.length=0};zC.prototype.getStageByName=function(o){return this._stageNames[o]};zC.prototype.update=function(o,A,f){jye(this);let m=this._activeStages,C=this._activeStages=this._previousActiveStages;this._previousActiveStages=m;let E=this._stages,I=C.length=E.length,x,y,v=0;for(x=0;x<I;++x)y=E[x],y.ready&&y.enabled&&y._isSupported(o)&&(C[v++]=y);C.length=v;let w=v!==m.length;if(!w){for(x=0;x<v;++x)if(C[x]!==m[x]){w=!0;break}}let Q=this._ao,M=this._bloom,B=this._autoExposure,D=this._tonemapping,S=this._fxaa,P=this._sunShaft;D.enabled=f;let R=Q.enabled&&Q._isSupported(o),T=M.enabled&&M._isSupported(o),L=D.enabled&&D._isSupported(o),F=S.enabled&&S._isSupported(o),U=P.enabled&&P._isSupported(o);if((w||this._textureCacheDirty||R!==this._aoEnabled||T!==this._bloomEnabled||L!==this._tonemappingEnabled||F!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._aoEnabled=R,this._bloomEnabled=T,this._tonemappingEnabled=L,this._fxaaEnabled=F,this._sunShaftEnabled=U,this._textureCacheDirty=!1),k(this._randomTexture)&&!R&&(this._randomTexture.destroy(),this._randomTexture=void 0),!k(this._randomTexture)&&R){I=256*256*3;let N=new Uint8Array(I);for(x=0;x<I;x+=3)N[x]=Math.floor(Math.random()*255);this._randomTexture=new Rn({context:o,pixelFormat:Jr.RGB,pixelDatatype:Gr.UNSIGNED_BYTE,source:{arrayBufferView:N,width:256,height:256},sampler:new Ra({wrapS:oa.REPEAT,wrapT:oa.REPEAT,minificationFilter:ya.NEAREST,magnificationFilter:mu.NEAREST})})}for(this._textureCache.update(o),S.update(o,A),U&&P.update(o,A),Q.update(o,A),M.update(o,A),D.update(o,A),this._autoExposureEnabled&&B.update(o,A),I=E.length,x=0;x<I;++x)E[x].update(o,A);for(v=0,x=0;x<I;++x)y=E[x],y.ready&&y.enabled&&y._isSupported(o)&&v++;w=v!==C.length,w&&this.update(o,A,f)};zC.prototype.clear=function(o){this._textureCache.clear(o),this._autoExposureEnabled&&this._autoExposure.clear(o)};function DT(o){for(;k(o.length);)o=o.get(o.length-1);return o.outputTexture}zC.prototype.getOutputTexture=function(o){let A=this.getStageByName(o);if(k(A))return DT(A)};function N_(o,A,f,m,C){if(k(o.execute)){o.execute(A,f,m,C);return}let E=o.length,I;if(o.inputPreviousStageTexture)for(N_(o.get(0),A,f,m,C),I=1;I<E;++I)N_(o.get(I),A,DT(o.get(I-1)),m,C);else for(I=0;I<E;++I)N_(o.get(I),A,f,m,C)}zC.prototype.execute=function(o,A,f,m){let C=this._activeStages,E=C.length,I=this._fxaa,x=this._ao,y=this._bloom,v=this._autoExposure,w=this._tonemapping,Q=this._sunShaft,M=x.enabled&&x._isSupported(o),B=y.enabled&&y._isSupported(o),D=this._autoExposureEnabled,S=w.enabled&&w._isSupported(o),P=I.enabled&&I._isSupported(o),R=Q.enabled&&Q._isSupported(o);if(!R&&!P&&!M&&!B&&!S&&E===0)return;let T=A;R&&Q.ready&&(N_(Q,o,T,f,m),T=DT(Q)),M&&x.ready&&(N_(x,o,T,f,m),T=DT(x)),B&&y.ready&&(N_(y,o,T,f,m),T=DT(y)),D&&v.ready&&N_(v,o,T,f,m),S&&w.ready&&(N_(w,o,T,f,m),T=DT(w));let L=T;if(E>0){N_(C[0],o,T,f,m);for(let F=1;F<E;++F)N_(C[F],o,DT(C[F-1]),f,m);L=DT(C[E-1])}P&&I.ready&&N_(I,o,L,f,m)};zC.prototype.copy=function(o,A){if(!k(this._copyColorCommand)){let f=this;this._copyColorCommand=o.createViewportQuadCommand(OS,{uniformMap:{colorTexture:function(){return f.outputTexture}},owner:this})}this._copyColorCommand.framebuffer=A,this._copyColorCommand.execute(o)};zC.prototype.isDestroyed=function(){return!1};zC.prototype.destroy=function(){return this._fxaa.destroy(),this._sunShaft.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),ar(this)};var Xye=zC,Aui={SHIFT:0,CTRL:1,ALT:2},iI=Object.freeze(Aui),uui={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19},_i=Object.freeze(uui);function yP(o,A,f){let m=o._element;if(m===document)return f.x=A.clientX,f.y=A.clientY,f;let C=m.getBoundingClientRect();return f.x=A.clientX-C.left,f.y=A.clientY-C.top,f}function Zye(o,A){let f=o;return k(A)&&(f+=`+${A}`),f}function ON(o){if(o.shiftKey)return iI.SHIFT;if(o.ctrlKey)return iI.CTRL;if(o.altKey)return iI.ALT}var Vg={LEFT:0,MIDDLE:1,RIGHT:2};function XI(o,A,f,m){function C(E){m(o,E)}co.isInternetExplorer()?f.addEventListener(A,C,!1):f.addEventListener(A,C,{capture:!1,passive:!1}),o._removalFunctions.push(function(){f.removeEventListener(A,C,!1)})}function cui(o){let A=o._element,f=k(A.disableRootEvents)?A:document;co.supportsPointerEvents()?(XI(o,"pointerdown",A,mui),XI(o,"pointerup",A,u3e),XI(o,"pointermove",A,Cui),XI(o,"pointercancel",A,u3e)):(XI(o,"mousedown",A,SWe),XI(o,"mouseup",f,DWe),XI(o,"mousemove",f,MWe),XI(o,"touchstart",A,fui),XI(o,"touchend",f,o3e),XI(o,"touchmove",f,pui),XI(o,"touchcancel",f,o3e)),XI(o,"dblclick",A,dui);let m;"onwheel"in A?m="wheel":document.onmousewheel!==void 0?m="mousewheel":m="DOMMouseScroll",XI(o,m,A,gui)}function hui(o){let A=o._removalFunctions;for(let f=0;f<A.length;++f)A[f]()}var t3e={position:new tt};function $ye(o){o._lastSeenTouchEvent=HA()}function eve(o){return HA()-o._lastSeenTouchEvent>PB.mouseEmulationIgnoreMilliseconds}function mce(o,A,f){let m=o.x-A.x,C=o.y-A.y;return Math.sqrt(m*m+C*C)<f}function SWe(o,A){if(!eve(o))return;let f=A.button;o._buttonDown[f]=!0;let m;if(f===Vg.LEFT)m=_i.LEFT_DOWN;else if(f===Vg.MIDDLE)m=_i.MIDDLE_DOWN;else if(f===Vg.RIGHT)m=_i.RIGHT_DOWN;else return;let C=yP(o,A,o._primaryPosition);tt.clone(C,o._primaryStartPosition),tt.clone(C,o._primaryPreviousPosition);let E=ON(A),I=o.getInputAction(m,E);k(I)&&(tt.clone(C,t3e.position),I(t3e),A.preventDefault())}var i3e={position:new tt},r3e={position:new tt};function Ple(o,A,f,m){let C=ON(m),E=o.getInputAction(A,C),I=o.getInputAction(f,C);if(k(E)||k(I)){let x=yP(o,m,o._primaryPosition);if(k(E)&&(tt.clone(x,i3e.position),E(i3e)),k(I)){let y=o._primaryStartPosition;mce(y,x,o._clickPixelTolerance)&&(tt.clone(x,r3e.position),I(r3e))}}}function DWe(o,A){if(!eve(o))return;let f=A.button;f!==Vg.LEFT&&f!==Vg.MIDDLE&&f!==Vg.RIGHT||(o._buttonDown[Vg.LEFT]&&(Ple(o,_i.LEFT_UP,_i.LEFT_CLICK,A),o._buttonDown[Vg.LEFT]=!1),o._buttonDown[Vg.MIDDLE]&&(Ple(o,_i.MIDDLE_UP,_i.MIDDLE_CLICK,A),o._buttonDown[Vg.MIDDLE]=!1),o._buttonDown[Vg.RIGHT]&&(Ple(o,_i.RIGHT_UP,_i.RIGHT_CLICK,A),o._buttonDown[Vg.RIGHT]=!1))}var Rle={startPosition:new tt,endPosition:new tt};function MWe(o,A){if(!eve(o))return;let f=ON(A),m=yP(o,A,o._primaryPosition),C=o._primaryPreviousPosition,E=o.getInputAction(_i.MOUSE_MOVE,f);k(E)&&(tt.clone(C,Rle.startPosition),tt.clone(m,Rle.endPosition),E(Rle)),tt.clone(m,C),(o._buttonDown[Vg.LEFT]||o._buttonDown[Vg.MIDDLE]||o._buttonDown[Vg.RIGHT])&&A.preventDefault()}var n3e={position:new tt};function dui(o,A){let f=A.button,m;if(f===Vg.LEFT)m=_i.LEFT_DOUBLE_CLICK;else return;let C=ON(A),E=o.getInputAction(m,C);k(E)&&(yP(o,A,n3e.position),E(n3e))}function gui(o,A){let f;if(k(A.deltaY)){let E=A.deltaMode;E===A.DOM_DELTA_PIXEL?f=-A.deltaY:E===A.DOM_DELTA_LINE?f=-A.deltaY*40:f=-A.deltaY*120}else A.detail>0?f=A.detail*-120:f=A.wheelDelta;if(!k(f))return;let m=ON(A),C=o.getInputAction(_i.WHEEL,m);k(C)&&(C(f),A.preventDefault())}function fui(o,A){$ye(o);let f=A.changedTouches,m,C=f.length,E,I,x=o._positions;for(m=0;m<C;++m)E=f[m],I=E.identifier,x.set(I,yP(o,E,new tt));Nte(o,A);let y=o._previousPositions;for(m=0;m<C;++m)E=f[m],I=E.identifier,y.set(I,tt.clone(x.get(I)))}function o3e(o,A){$ye(o);let f=A.changedTouches,m,C=f.length,E,I,x=o._positions;for(m=0;m<C;++m)E=f[m],I=E.identifier,x.remove(I);Nte(o,A);let y=o._previousPositions;for(m=0;m<C;++m)E=f[m],I=E.identifier,y.remove(I)}var a3e={position:new tt},Lle={position1:new tt,position2:new tt},s3e={position:new tt},l3e={position:new tt},A3e={position:new tt};function Nte(o,A){let f=ON(A),m=o._positions,C=m.length,E,I,x=o._isPinching;if(C!==1&&o._buttonDown[Vg.LEFT]){if(o._buttonDown[Vg.LEFT]=!1,k(o._touchHoldTimer)&&(clearTimeout(o._touchHoldTimer),o._touchHoldTimer=void 0),E=o.getInputAction(_i.LEFT_UP,f),k(E)&&(tt.clone(o._primaryPosition,s3e.position),E(s3e)),C===0&&!o._isTouchHolding&&(I=o.getInputAction(_i.LEFT_CLICK,f),k(I))){let y=o._primaryStartPosition,v=o._previousPositions.values[0];mce(y,v,o._clickPixelTolerance)&&(tt.clone(o._primaryPosition,l3e.position),I(l3e))}o._isTouchHolding=!1}if(C===0&&x&&(o._isPinching=!1,E=o.getInputAction(_i.PINCH_END,f),k(E)&&E()),C===1&&!x){let y=m.values[0];tt.clone(y,o._primaryPosition),tt.clone(y,o._primaryStartPosition),tt.clone(y,o._primaryPreviousPosition),o._buttonDown[Vg.LEFT]=!0,E=o.getInputAction(_i.LEFT_DOWN,f),k(E)&&(tt.clone(y,a3e.position),E(a3e)),o._touchHoldTimer=setTimeout(function(){if(!o.isDestroyed()&&(o._touchHoldTimer=void 0,o._isTouchHolding=!0,I=o.getInputAction(_i.RIGHT_CLICK,f),k(I))){let v=o._primaryStartPosition,w=o._previousPositions.values[0];mce(v,w,o._holdPixelTolerance)&&(tt.clone(o._primaryPosition,A3e.position),I(A3e))}},PB.touchHoldDelayMilliseconds),A.preventDefault()}C===2&&!x&&(o._isPinching=!0,E=o.getInputAction(_i.PINCH_START,f),k(E)&&(tt.clone(m.values[0],Lle.position1),tt.clone(m.values[1],Lle.position2),E(Lle),A.preventDefault()))}function pui(o,A){$ye(o);let f=A.changedTouches,m,C=f.length,E,I,x=o._positions;for(m=0;m<C;++m){E=f[m],I=E.identifier;let v=x.get(I);k(v)&&yP(o,E,v)}TWe(o,A);let y=o._previousPositions;for(m=0;m<C;++m)E=f[m],I=E.identifier,tt.clone(x.get(I),y.get(I))}var Fle={startPosition:new tt,endPosition:new tt},V8={distance:{startPosition:new tt,endPosition:new tt},angleAndHeight:{startPosition:new tt,endPosition:new tt}};function TWe(o,A){let f=ON(A),m=o._positions,C=o._previousPositions,E=m.length,I;if(E===1&&o._buttonDown[Vg.LEFT]){let x=m.values[0];tt.clone(x,o._primaryPosition);let y=o._primaryPreviousPosition;I=o.getInputAction(_i.MOUSE_MOVE,f),k(I)&&(tt.clone(y,Fle.startPosition),tt.clone(x,Fle.endPosition),I(Fle)),tt.clone(x,y),A.preventDefault()}else if(E===2&&o._isPinching&&(I=o.getInputAction(_i.PINCH_MOVE,f),k(I))){let x=m.values[0],y=m.values[1],v=C.values[0],w=C.values[1],Q=y.x-x.x,M=y.y-x.y,B=Math.sqrt(Q*Q+M*M)*.25,D=w.x-v.x,S=w.y-v.y,P=Math.sqrt(D*D+S*S)*.25,R=(y.y+x.y)*.125,T=(w.y+v.y)*.125,L=Math.atan2(M,Q),F=Math.atan2(S,D);tt.fromElements(0,P,V8.distance.startPosition),tt.fromElements(0,B,V8.distance.endPosition),tt.fromElements(F,T,V8.angleAndHeight.startPosition),tt.fromElements(L,R,V8.angleAndHeight.endPosition),I(V8)}}function mui(o,A){if(A.target.setPointerCapture(A.pointerId),A.pointerType==="touch"){let f=o._positions,m=A.pointerId;f.set(m,yP(o,A,new tt)),Nte(o,A),o._previousPositions.set(m,tt.clone(f.get(m)))}else SWe(o,A)}function u3e(o,A){if(A.pointerType==="touch"){let f=o._positions,m=A.pointerId;f.remove(m),Nte(o,A),o._previousPositions.remove(m)}else DWe(o,A)}function Cui(o,A){if(A.pointerType==="touch"){let f=o._positions,m=A.pointerId,C=f.get(m);if(!k(C))return;yP(o,A,C),TWe(o,A);let E=o._previousPositions;tt.clone(f.get(m),E.get(m))}else MWe(o,A)}function PB(o){this._inputEvents={},this._buttonDown={LEFT:!1,MIDDLE:!1,RIGHT:!1},this._isPinching=!1,this._isTouchHolding=!1,this._lastSeenTouchEvent=-PB.mouseEmulationIgnoreMilliseconds,this._primaryStartPosition=new tt,this._primaryPosition=new tt,this._primaryPreviousPosition=new tt,this._positions=new mo,this._previousPositions=new mo,this._removalFunctions=[],this._touchHoldTimer=void 0,this._clickPixelTolerance=5,this._holdPixelTolerance=25,this._element=ae(o,document),cui(this)}PB.prototype.setInputAction=function(o,A,f){let m=Zye(A,f);this._inputEvents[m]=o};PB.prototype.getInputAction=function(o,A){let f=Zye(o,A);return this._inputEvents[f]};PB.prototype.removeInputAction=function(o,A){let f=Zye(o,A);delete this._inputEvents[f]};PB.prototype.isDestroyed=function(){return!1};PB.prototype.destroy=function(){return hui(this),ar(this)};PB.mouseEmulationIgnoreMilliseconds=800;PB.touchHoldDelayMilliseconds=1500;var pr=PB;function GN(o){this._scene=o,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}GN.prototype.completeMorph=function(){k(this._completeMorph)&&this._completeMorph()};GN.prototype.morphTo2D=function(o,A){k(this._completeMorph)&&this._completeMorph();let f=this._scene;this._previousMode=f.mode,this._morphToOrthographic=f.camera.frustum instanceof $a,!(this._previousMode===ii.SCENE2D||this._previousMode===ii.MORPHING)&&(this._scene.morphStart.raiseEvent(this,this._previousMode,ii.SCENE2D,!0),f._mode=ii.MORPHING,f.camera._setTransform(Re.IDENTITY),this._previousMode===ii.COLUMBUS_VIEW?Xui(this,o):nci(this,o,A),o===0&&k(this._completeMorph)&&this._completeMorph())};var Eui=new Z,Iui=new Z,xui=new Z,yui=new Z,vui=new Z,_ui=new Z,Bui=new Z,wui=new Lt,bui=new Re,Qui=new lA,Sui=new $a,Dui={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};GN.prototype.morphToColumbusView=function(o,A){k(this._completeMorph)&&this._completeMorph();let f=this._scene;if(this._previousMode=f.mode,this._previousMode===ii.COLUMBUS_VIEW||this._previousMode===ii.MORPHING)return;this._scene.morphStart.raiseEvent(this,this._previousMode,ii.COLUMBUS_VIEW,!0),f.camera._setTransform(Re.IDENTITY);let m=Eui,C=Iui,E=xui;if(o>0)m.x=0,m.y=-1,m.z=1,m=Z.multiplyByScalar(Z.normalize(m,m),5*A.maximumRadius,m),Z.negate(Z.normalize(m,C),C),Z.cross(Z.UNIT_X,C,E);else{let v=f.camera;if(this._previousMode===ii.SCENE2D)Z.clone(v.position,m),m.z=v.frustum.right-v.frustum.left,Z.negate(Z.UNIT_Z,C),Z.clone(Z.UNIT_Y,E);else{Z.clone(v.positionWC,m),Z.clone(v.directionWC,C),Z.clone(v.upWC,E);let w=A.scaleToGeodeticSurface(m,Bui),Q=Vr.eastNorthUpToFixedFrame(w,A,bui);Re.inverseTransformation(Q,Q),f.mapProjection.project(A.cartesianToCartographic(m,wui),m),Re.multiplyByPointAsVector(Q,C,C),Re.multiplyByPointAsVector(Q,E,E)}}let I;this._morphToOrthographic?(I=Sui,I.width=f.camera.frustum.right-f.camera.frustum.left,I.aspectRatio=f.drawingBufferWidth/f.drawingBufferHeight):(I=Qui,I.aspectRatio=f.drawingBufferWidth/f.drawingBufferHeight,I.fov=De.toRadians(60));let x=Dui;x.position=m,x.direction=C,x.up=E,x.frustum=I;let y=aci(x);wY(this,y),this._previousMode===ii.SCENE2D?oci(this,o,x,y):(x.position2D=Re.multiplyByPoint(Ms.TRANSFORM_2D,m,yui),x.direction2D=Re.multiplyByPointAsVector(Ms.TRANSFORM_2D,C,vui),x.up2D=Re.multiplyByPointAsVector(Ms.TRANSFORM_2D,E,_ui),f._mode=ii.MORPHING,HWe(this,o,x,y)),o===0&&k(this._completeMorph)&&this._completeMorph()};var tve={position:new Z,direction:new Z,up:new Z,frustum:void 0},PWe=new lA;GN.prototype.morphTo3D=function(o,A){k(this._completeMorph)&&this._completeMorph();let f=this._scene;if(this._previousMode=f.mode,!(this._previousMode===ii.SCENE3D||this._previousMode===ii.MORPHING)){if(this._scene.morphStart.raiseEvent(this,this._previousMode,ii.SCENE3D,!0),f._mode=ii.MORPHING,f.camera._setTransform(Re.IDENTITY),this._previousMode===ii.SCENE2D)Gui(this,o,A);else{let m;o>0?(m=tve,Z.fromDegrees(0,0,5*A.maximumRadius,A,m.position),Z.negate(m.position,m.direction),Z.normalize(m.direction,m.direction),Z.clone(Z.UNIT_Z,m.up)):m=RWe(this,A);let C,E=f.camera;E.frustum instanceof $a?C=E.frustum.clone():(C=PWe,C.aspectRatio=f.drawingBufferWidth/f.drawingBufferHeight,C.fov=De.toRadians(60)),m.frustum=C;let I=zWe(m);wY(this,I),Cce(this,o,m,I)}o===0&&k(this._completeMorph)&&this._completeMorph()}};GN.prototype.isDestroyed=function(){return!1};GN.prototype.destroy=function(){return kte(this),ar(this)};function wY(o,A){if(o._scene.completeMorphOnUserInput){o._morphHandler=new pr(o._scene.canvas);let f=function(){o._morphCancelled=!0,o._scene.camera.cancelFlight(),A(o)};o._completeMorph=f,o._morphHandler.setInputAction(f,_i.LEFT_DOWN),o._morphHandler.setInputAction(f,_i.MIDDLE_DOWN),o._morphHandler.setInputAction(f,_i.RIGHT_DOWN),o._morphHandler.setInputAction(f,_i.WHEEL)}}function kte(o){let A=o._currentTweens;for(let f=0;f<A.length;++f)A[f].cancelTween();o._currentTweens.length=0,o._morphHandler=o._morphHandler&&o._morphHandler.destroy()}var Mui=new Lt,Tui=new Z,Pui=new Re;function RWe(o,A){let f=o._scene,m=f.camera,C=tve,E=C.position,I=C.direction,x=C.up,y=f.mapProjection.unproject(m.position,Mui);A.cartographicToCartesian(y,E);let v=A.scaleToGeodeticSurface(E,Tui),w=Vr.eastNorthUpToFixedFrame(v,A,Pui);return Re.multiplyByPointAsVector(w,m.direction,I),Re.multiplyByPointAsVector(w,m.up,x),C}var Rui=new Z,Lui=new Z,Fui=new Z,Nui=new Z,kui=new Z,Uui=new Z;function Cce(o,A,f,m){A*=.5;let C=o._scene,E=C.camera,I=Z.clone(E.position,Rui),x=Z.clone(E.direction,Lui),y=Z.clone(E.up,Fui),v=Re.multiplyByPoint(Ms.TRANSFORM_2D_INVERSE,f.position,Nui),w=Re.multiplyByPointAsVector(Ms.TRANSFORM_2D_INVERSE,f.direction,kui),Q=Re.multiplyByPointAsVector(Ms.TRANSFORM_2D_INVERSE,f.up,Uui);function M(D){$y(I,v,D.time,E.position),$y(x,w,D.time,E.direction),$y(y,Q,D.time,E.up),Z.cross(E.direction,E.up,E.right),Z.normalize(E.right,E.right)}let B=C.tweens.add({duration:A,easingFunction:Qm.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:M,complete:function(){VWe(o,C,0,1,A,m)}});o._currentTweens.push(B)}var Oui=new $a,LWe=new Z,FWe=new Z,NWe=new Z,ive=new Z,kWe=new Z,UWe=new Z;function Gui(o,A,f){A/=3;let m=o._scene,C=m.camera,E;A>0?(E=tve,Z.fromDegrees(0,0,5*f.maximumRadius,f,E.position),Z.negate(E.position,E.direction),Z.normalize(E.direction,E.direction),Z.clone(Z.UNIT_Z,E.up)):(C.position.z=C.frustum.right-C.frustum.left,E=RWe(o,f));let I;o._morphToOrthographic?(I=Oui,I.aspectRatio=m.drawingBufferWidth/m.drawingBufferHeight,I.width=C.frustum.right-C.frustum.left):(I=PWe,I.aspectRatio=m.drawingBufferWidth/m.drawingBufferHeight,I.fov=De.toRadians(60)),E.frustum=I;let x=zWe(E);wY(o,x);let y;o._morphToOrthographic?y=function(){Cce(o,A,E,x)}:y=function(){GWe(o,A,E,function(){Cce(o,A,E,x)})},A>0?(m._mode=ii.SCENE2D,C.flyTo({duration:A,destination:Z.fromDegrees(0,0,5*f.maximumRadius,f,ive),complete:function(){m._mode=ii.MORPHING,y()}})):y()}function $y(o,A,f,m){return Z.lerp(o,A,f,m)}function OWe(o,A,f,m,C){let E=o._scene,I=E.camera;if(I.frustum instanceof $a)return;let x=I.frustum.fov,y=De.RADIANS_PER_DEGREE*.5,v=f.position.z*Math.tan(x*.5);I.frustum.far=v/Math.tan(y*.5)+1e7;function w(M){I.frustum.fov=De.lerp(x,y,M.time);let B=v/Math.tan(I.frustum.fov*.5);m(I,B)}let Q=E.tweens.add({duration:A,easingFunction:Qm.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:w,complete:function(){I.frustum=f.frustum.clone(),C(o)}});o._currentTweens.push(Q)}var Hui=new Z,Vui=new Z,zui=new Z,Nle=new Z,Yui=new Z,Jui=new Z,Kui=new Eg,Wui=new Oa,qui=new Z,jui={position:void 0,direction:void 0,up:void 0,frustum:void 0};function Xui(o,A){A*=.5;let f=o._scene,m=f.camera,C=Z.clone(m.position,Hui),E=Z.clone(m.direction,Vui),I=Z.clone(m.up,zui),x=Z.negate(Z.UNIT_Z,Yui),y=Z.clone(Z.UNIT_Y,Jui),v=Nle;if(A>0)Z.clone(Z.ZERO,Nle),v.z=5*f.mapProjection.ellipsoid.maximumRadius;else{Z.clone(C,Nle);let P=Wui;Re.multiplyByPoint(Ms.TRANSFORM_2D,C,P.origin),Re.multiplyByPointAsVector(Ms.TRANSFORM_2D,E,P.direction);let R=f.globe;if(k(R)){let T=R.pickWorldCoordinates(P,f,!0,qui);k(T)&&(Re.multiplyByPoint(Ms.TRANSFORM_2D_INVERSE,T,v),v.z+=Z.distance(C,v))}}let w=Kui;w.right=v.z*.5,w.left=-w.right,w.top=w.right*(f.drawingBufferHeight/f.drawingBufferWidth),w.bottom=-w.top;let Q=jui;Q.position=v,Q.direction=x,Q.up=y,Q.frustum=w;let M=YWe(Q);wY(o,M);function B(P){$y(C,v,P.time,m.position),$y(E,x,P.time,m.direction),$y(I,y,P.time,m.up),Z.cross(m.direction,m.up,m.right),Z.normalize(m.right,m.right),m._adjustOrthographicFrustum(!0)}function D(P,R){P.position.z=R}let S=f.tweens.add({duration:A,easingFunction:Qm.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:B,complete:function(){OWe(o,A,Q,D,M)}});o._currentTweens.push(S)}var c3e=new Lt,Zui={position:new Z,direction:new Z,up:new Z,position2D:new Z,direction2D:new Z,up2D:new Z,frustum:new Eg},$ui={position:new Z,direction:new Z,up:new Z,frustum:void 0},eci=new Z,tci=new Oa,ici=new Re,rci=new Z;function nci(o,A,f){A*=.5;let m=o._scene,C=m.camera,E=Zui;if(A>0)Z.clone(Z.ZERO,E.position),E.position.z=5*f.maximumRadius,Z.negate(Z.UNIT_Z,E.direction),Z.clone(Z.UNIT_Y,E.up);else{f.cartesianToCartographic(C.positionWC,c3e),m.mapProjection.project(c3e,E.position),Z.negate(Z.UNIT_Z,E.direction),Z.clone(Z.UNIT_Y,E.up);let Q=tci;Z.clone(E.position2D,Q.origin);let M=Z.clone(C.directionWC,Q.direction),B=f.scaleToGeodeticSurface(C.positionWC,rci),D=Vr.eastNorthUpToFixedFrame(B,f,ici);Re.inverseTransformation(D,D),Re.multiplyByPointAsVector(D,M,M),Re.multiplyByPointAsVector(Ms.TRANSFORM_2D,M,M);let S=m.globe;if(k(S)){let P=S.pickWorldCoordinates(Q,m,!0,eci);if(k(P)){let R=Z.distance(E.position2D,P);P.x+=R,Z.clone(P,E.position2D)}}}function I(Q,M){Q.position.x=M}Re.multiplyByPoint(Ms.TRANSFORM_2D,E.position,E.position2D),Re.multiplyByPointAsVector(Ms.TRANSFORM_2D,E.direction,E.direction2D),Re.multiplyByPointAsVector(Ms.TRANSFORM_2D,E.up,E.up2D);let x=E.frustum;x.right=E.position.z*.5,x.left=-x.right,x.top=x.right*(m.drawingBufferHeight/m.drawingBufferWidth),x.bottom=-x.top;let y=$ui;Re.multiplyByPoint(Ms.TRANSFORM_2D_INVERSE,E.position2D,y.position),Z.clone(E.direction,y.direction),Z.clone(E.up,y.up),y.frustum=x;let v=YWe(y);wY(o,v);function w(){OWe(o,A,E,I,v)}HWe(o,A,E,w)}function GWe(o,A,f,m){let C=o._scene,E=C.camera,I=E.frustum.right-E.frustum.left;E.frustum=f.frustum.clone();let x=E.frustum.fov,y=De.RADIANS_PER_DEGREE*.5,v=I*Math.tan(x*.5);E.frustum.far=v/Math.tan(y*.5)+1e7,E.frustum.fov=y;function w(M){E.frustum.fov=De.lerp(y,x,M.time),E.position.z=v/Math.tan(E.frustum.fov*.5)}let Q=C.tweens.add({duration:A,easingFunction:Qm.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:w,complete:function(){m(o)}});o._currentTweens.push(Q)}function oci(o,A,f,m){A*=.5;let C=o._scene,E=C.camera,I=Z.clone(f.position,ive),x=Z.clone(f.direction,kWe),y=Z.clone(f.up,UWe);C._mode=ii.MORPHING;function v(){E.frustum=f.frustum.clone();let w=Z.clone(E.position,LWe),Q=Z.clone(E.direction,FWe),M=Z.clone(E.up,NWe);w.z=I.z;function B(S){$y(w,I,S.time,E.position),$y(Q,x,S.time,E.direction),$y(M,y,S.time,E.up),Z.cross(E.direction,E.up,E.right),Z.normalize(E.right,E.right)}let D=C.tweens.add({duration:A,easingFunction:Qm.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:B,complete:function(){m(o)}});o._currentTweens.push(D)}o._morphToOrthographic?v():GWe(o,0,f,v)}function HWe(o,A,f,m){let C=o._scene,E=C.camera,I=Z.clone(E.position,LWe),x=Z.clone(E.direction,FWe),y=Z.clone(E.up,NWe),v=Z.clone(f.position2D,ive),w=Z.clone(f.direction2D,kWe),Q=Z.clone(f.up2D,UWe);function M(D){$y(I,v,D.time,E.position),$y(x,w,D.time,E.direction),$y(y,Q,D.time,E.up),Z.cross(E.direction,E.up,E.right),Z.normalize(E.right,E.right),E._adjustOrthographicFrustum(!0)}let B=C.tweens.add({duration:A,easingFunction:Qm.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:M,complete:function(){VWe(o,C,1,0,A,m)}});o._currentTweens.push(B)}function VWe(o,A,f,m,C,E){let I={object:A,property:"morphTime",startValue:f,stopValue:m,duration:C,easingFunction:Qm.QUARTIC_OUT};k(E)&&(I.complete=function(){E(o)});let x=A.tweens.addProperty(I);o._currentTweens.push(x)}function zWe(o){return function(A){let f=A._scene;f._mode=ii.SCENE3D,f.morphTime=ii.getMorphTime(ii.SCENE3D),kte(A);let m=f.camera;(A._previousMode!==ii.MORPHING||A._morphCancelled)&&(A._morphCancelled=!1,Z.clone(o.position,m.position),Z.clone(o.direction,m.direction),Z.clone(o.up,m.up),Z.cross(m.direction,m.up,m.right),Z.normalize(m.right,m.right),m.frustum=o.frustum.clone());let C=m.frustum;f.frameState.useLogDepth&&(C.near=.1,C.far=1e10);let E=k(A._completeMorph);A._completeMorph=void 0,f.camera.update(f.mode),A._scene.morphComplete.raiseEvent(A,A._previousMode,ii.SCENE3D,E)}}function YWe(o){return function(A){let f=A._scene;f._mode=ii.SCENE2D,f.morphTime=ii.getMorphTime(ii.SCENE2D),kte(A);let m=f.camera;Z.clone(o.position,m.position),m.position.z=f.mapProjection.ellipsoid.maximumRadius*2,Z.clone(o.direction,m.direction),Z.clone(o.up,m.up),Z.cross(m.direction,m.up,m.right),Z.normalize(m.right,m.right),m.frustum=o.frustum.clone();let C=k(A._completeMorph);A._completeMorph=void 0,f.camera.update(f.mode),A._scene.morphComplete.raiseEvent(A,A._previousMode,ii.SCENE2D,C)}}function aci(o){return function(A){let f=A._scene;f._mode=ii.COLUMBUS_VIEW,f.morphTime=ii.getMorphTime(ii.COLUMBUS_VIEW),kte(A);let m=f.camera;(A._previousModeMode!==ii.MORPHING||A._morphCancelled)&&(A._morphCancelled=!1,Z.clone(o.position,m.position),Z.clone(o.direction,m.direction),Z.clone(o.up,m.up),Z.cross(m.direction,m.up,m.right),Z.normalize(m.right,m.right));let C=m.frustum;f.frameState.useLogDepth&&(C.near=.1,C.far=1e10);let E=k(A._completeMorph);A._completeMorph=void 0,f.camera.update(f.mode),A._scene.morphComplete.raiseEvent(A,A._previousMode,ii.COLUMBUS_VIEW,E)}}var rve=GN,sci={LEFT_DRAG:0,RIGHT_DRAG:1,MIDDLE_DRAG:2,WHEEL:3,PINCH:4},wA=Object.freeze(sci);function ym(o,A){let f=o;return k(A)&&(f+=`+${A}`),f}function lci(o,A){tt.clone(o.distance.startPosition,A.distance.startPosition),tt.clone(o.distance.endPosition,A.distance.endPosition),tt.clone(o.angleAndHeight.startPosition,A.angleAndHeight.startPosition),tt.clone(o.angleAndHeight.endPosition,A.angleAndHeight.endPosition)}function h3e(o,A,f){let m=ym(wA.PINCH,A),C=o._update,E=o._isDown,I=o._eventStartPosition,x=o._pressTime,y=o._releaseTime;C[m]=!0,E[m]=!1,I[m]=new tt;let v=o._movement[m];k(v)||(v=o._movement[m]={}),v.distance={startPosition:new tt,endPosition:new tt},v.angleAndHeight={startPosition:new tt,endPosition:new tt},v.prevAngle=0,o._eventHandler.setInputAction(function(w){o._buttonsDown++,E[m]=!0,x[m]=new Date,tt.lerp(w.position1,w.position2,.5,I[m])},_i.PINCH_START,A),o._eventHandler.setInputAction(function(){o._buttonsDown=Math.max(o._buttonsDown-1,0),E[m]=!1,y[m]=new Date},_i.PINCH_END,A),o._eventHandler.setInputAction(function(w){if(E[m]){C[m]?(lci(w,v),C[m]=!1,v.prevAngle=v.angleAndHeight.startPosition.x):(tt.clone(w.distance.endPosition,v.distance.endPosition),tt.clone(w.angleAndHeight.endPosition,v.angleAndHeight.endPosition));let Q=v.angleAndHeight.endPosition.x,M=v.prevAngle,B=Math.PI*2;for(;Q>=M+Math.PI;)Q-=B;for(;Q<M-Math.PI;)Q+=B;v.angleAndHeight.endPosition.x=-Q*f.clientWidth/12,v.angleAndHeight.startPosition.x=-M*f.clientWidth/12}},_i.PINCH_MOVE,A)}function d3e(o,A){let f=ym(wA.WHEEL,A),m=o._pressTime,C=o._releaseTime,E=o._update;E[f]=!0;let I=o._movement[f];k(I)||(I=o._movement[f]={});let x=o._lastMovement[f];k(x)||(x=o._lastMovement[f]={startPosition:new tt,endPosition:new tt,valid:!1}),I.startPosition=new tt,tt.clone(tt.ZERO,I.startPosition),I.endPosition=new tt,o._eventHandler.setInputAction(function(y){let v=7.5*De.toRadians(y);m[f]=C[f]=new Date,I.endPosition.x=0,I.endPosition.y=v,tt.clone(I.endPosition,x.endPosition),x.valid=!0,E[f]=!1},_i.WHEEL,A)}function g5(o,A,f){let m=ym(f,A),C=o._isDown,E=o._eventStartPosition,I=o._pressTime,x=o._releaseTime;C[m]=!1,E[m]=new tt;let y=o._lastMovement[m];k(y)||(y=o._lastMovement[m]={startPosition:new tt,endPosition:new tt,valid:!1});let v,w;f===wA.LEFT_DRAG?(v=_i.LEFT_DOWN,w=_i.LEFT_UP):f===wA.RIGHT_DRAG?(v=_i.RIGHT_DOWN,w=_i.RIGHT_UP):f===wA.MIDDLE_DRAG&&(v=_i.MIDDLE_DOWN,w=_i.MIDDLE_UP),o._eventHandler.setInputAction(function(Q){o._buttonsDown++,y.valid=!1,C[m]=!0,I[m]=new Date,tt.clone(Q.position,E[m])},v,A),o._eventHandler.setInputAction(function(){o._buttonsDown=Math.max(o._buttonsDown-1,0),C[m]=!1,x[m]=new Date},w,A)}function g3e(o,A){tt.clone(o.startPosition,A.startPosition),tt.clone(o.endPosition,A.endPosition)}function f3e(o,A){let f=o._update,m=o._movement,C=o._lastMovement,E=o._isDown;for(let I in wA)if(wA.hasOwnProperty(I)){let x=wA[I];if(k(x)){let y=ym(x,A);f[y]=!0,k(o._lastMovement[y])||(o._lastMovement[y]={startPosition:new tt,endPosition:new tt,valid:!1}),k(o._movement[y])||(o._movement[y]={startPosition:new tt,endPosition:new tt})}}o._eventHandler.setInputAction(function(I){for(let x in wA)if(wA.hasOwnProperty(x)){let y=wA[x];if(k(y)){let v=ym(y,A);E[v]&&(f[v]?(g3e(m[v],C[v]),C[v].valid=!0,g3e(I,m[v]),f[v]=!1):tt.clone(I.endPosition,m[v].endPosition))}}tt.clone(I.endPosition,o._currentMousePosition)},_i.MOUSE_MOVE,A)}function bv(o){this._eventHandler=new pr(o),this._update={},this._movement={},this._lastMovement={},this._isDown={},this._eventStartPosition={},this._pressTime={},this._releaseTime={},this._buttonsDown=0,this._currentMousePosition=new tt,d3e(this,void 0),h3e(this,void 0,o),g5(this,void 0,wA.LEFT_DRAG),g5(this,void 0,wA.RIGHT_DRAG),g5(this,void 0,wA.MIDDLE_DRAG),f3e(this,void 0);for(let A in iI)if(iI.hasOwnProperty(A)){let f=iI[A];k(f)&&(d3e(this,f),h3e(this,f,o),g5(this,f,wA.LEFT_DRAG),g5(this,f,wA.RIGHT_DRAG),g5(this,f,wA.MIDDLE_DRAG),f3e(this,f))}}Object.defineProperties(bv.prototype,{currentMousePosition:{get:function(){return this._currentMousePosition}},anyButtonDown:{get:function(){let o=!this._update[ym(wA.WHEEL)]||!this._update[ym(wA.WHEEL,iI.SHIFT)]||!this._update[ym(wA.WHEEL,iI.CTRL)]||!this._update[ym(wA.WHEEL,iI.ALT)];return this._buttonsDown>0||o}}});bv.prototype.isMoving=function(o,A){let f=ym(o,A);return!this._update[f]};bv.prototype.getMovement=function(o,A){let f=ym(o,A);return this._movement[f]};bv.prototype.getLastMovement=function(o,A){let f=ym(o,A),m=this._lastMovement[f];if(m.valid)return m};bv.prototype.isButtonDown=function(o,A){let f=ym(o,A);return this._isDown[f]};bv.prototype.getStartMousePosition=function(o,A){if(o===wA.WHEEL)return this._currentMousePosition;let f=ym(o,A);return this._eventStartPosition[f]};bv.prototype.getButtonPressTime=function(o,A){let f=ym(o,A);return this._pressTime[f]};bv.prototype.getButtonReleaseTime=function(o,A){let f=ym(o,A);return this._releaseTime[f]};bv.prototype.reset=function(){for(let o in this._update)this._update.hasOwnProperty(o)&&(this._update[o]=!0)};bv.prototype.isDestroyed=function(){return!1};bv.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),ar(this)};var nve=bv;function kX(o,A,f,m,C,E,I,x,y,v){this._tweens=o,this._tweenjs=A,this._startObject=En(f),this._stopObject=En(m),this._duration=C,this._delay=E,this._easingFunction=I,this._update=x,this._complete=y,this.cancel=v,this.needsStart=!0}Object.defineProperties(kX.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}});kX.prototype.cancelTween=function(){this._tweens.remove(this)};function RB(){this._tweens=[]}Object.defineProperties(RB.prototype,{length:{get:function(){return this._tweens.length}}});RB.prototype.add=function(o){if(o=ae(o,ae.EMPTY_OBJECT),o.duration===0)return k(o.complete)&&o.complete(),new kX(this);let A=o.duration/rA.SECONDS_PER_MILLISECOND,f=ae(o.delay,0),m=f/rA.SECONDS_PER_MILLISECOND,C=ae(o.easingFunction,Qm.LINEAR_NONE),E=o.startObject,I=new xTt(E);I.to(En(o.stopObject),A),I.delay(m),I.easing(C),k(o.update)&&I.onUpdate(function(){o.update(E)}),I.onComplete(ae(o.complete,null)),I.repeat(ae(o._repeat,0));let x=new kX(this,I,o.startObject,o.stopObject,o.duration,f,C,o.update,o.complete,o.cancel);return this._tweens.push(x),x};RB.prototype.addProperty=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.object,f=o.property,m=o.startValue,C=o.stopValue;function E(I){A[f]=I.value}return this.add({startObject:{value:m},stopObject:{value:C},duration:ae(o.duration,3),delay:o.delay,easingFunction:o.easingFunction,update:E,complete:o.complete,cancel:o.cancel,_repeat:o._repeat})};RB.prototype.addAlpha=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.material,f=[];for(let C in A.uniforms)A.uniforms.hasOwnProperty(C)&&k(A.uniforms[C])&&k(A.uniforms[C].alpha)&&f.push(C);function m(C){let E=f.length;for(let I=0;I<E;++I)A.uniforms[f[I]].alpha=C.alpha}return this.add({startObject:{alpha:ae(o.startValue,0)},stopObject:{alpha:ae(o.stopValue,1)},duration:ae(o.duration,3),delay:o.delay,easingFunction:o.easingFunction,update:m,complete:o.complete,cancel:o.cancel})};RB.prototype.addOffsetIncrement=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.material.uniforms;return this.addProperty({object:A,property:"offset",startValue:A.offset,stopValue:A.offset+1,duration:o.duration,delay:o.delay,easingFunction:o.easingFunction,update:o.update,cancel:o.cancel,_repeat:1/0})};RB.prototype.remove=function(o){if(!k(o))return!1;let A=this._tweens.indexOf(o);return A!==-1?(o.tweenjs.stop(),k(o.cancel)&&o.cancel(),this._tweens.splice(A,1),!0):!1};RB.prototype.removeAll=function(){let o=this._tweens;for(let A=0;A<o.length;++A){let f=o[A];f.tweenjs.stop(),k(f.cancel)&&f.cancel()}o.length=0};RB.prototype.contains=function(o){return k(o)&&this._tweens.indexOf(o)!==-1};RB.prototype.get=function(o){return this._tweens[o]};RB.prototype.update=function(o){let A=this._tweens,f=0;for(o=k(o)?o/rA.SECONDS_PER_MILLISECOND:HA();f<A.length;){let m=A[f],C=m.tweenjs;m.needsStart?(m.needsStart=!1,C.start(o)):C.update(o)?f++:(C.stop(),A.splice(f,1))}};var Ute=RB;function bY(o){this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.translateEventTypes=wA.LEFT_DRAG,this.zoomEventTypes=[wA.RIGHT_DRAG,wA.WHEEL,wA.PINCH],this.rotateEventTypes=wA.LEFT_DRAG,this.tiltEventTypes=[wA.MIDDLE_DRAG,wA.PINCH,{eventType:wA.LEFT_DRAG,modifier:iI.CTRL},{eventType:wA.RIGHT_DRAG,modifier:iI.CTRL}],this.lookEventTypes={eventType:wA.LEFT_DRAG,modifier:iI.SHIFT},this.minimumPickingTerrainHeight=15e4,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumPickingTerrainDistanceWithInertia=4e3,this.minimumCollisionTerrainHeight=15e3,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=75e5,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this.enableModelCollisionDetection=!1,this.enableGroundRoaming=!1,this.enableModelGroundCollisionDetection=!1,this.defaultGroundRoamingHeight=1.8,this.defaultCollisionRayWidth=.5,this._scene=o,this._globe=void 0,this._ellipsoid=void 0,this._aggregator=new nve(o.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new Ute,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new tt(-1,-1),this._tiltCenter=new Z,this._rotateMousePosition=new tt(-1,-1),this._rotateStartPosition=new Z,this._strafeStartPosition=new Z,this._strafeMousePosition=new tt,this._strafeEndMousePosition=new tt,this._zoomMouseStart=new tt(-1,-1),this._zoomWorldPosition=new Z,this._useZoomWorldPosition=!1,this._panLastMousePosition=new tt,this._panLastWorldPosition=new Z,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;let A=o.mapProjection;this._maxCoord=A.project(new Lt(Math.PI,De.PI_OVER_TWO)),this._zoomFactor=5,this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=1/5e3,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function Aci(o,A){if(o<0)return 0;let f=(1-A)*25;return Math.exp(-f*o)}function uci(o){return tt.equalsEpsilon(o.startPosition,o.endPosition,De.EPSILON14)}var cci=.4;function hci(o,A,f,m,C,E,I){let x=E[I];k(x)||(x=E[I]={startPosition:new tt,endPosition:new tt,motion:new tt,inertiaEnabled:!0});let y=o.getButtonPressTime(A,f),v=o.getButtonReleaseTime(A,f),w=y&&v&&(v.getTime()-y.getTime())/1e3,Q=v&&(new Date().getTime()-v.getTime())/1e3;if(y&&v&&w<cci){let M=Aci(Q,m),B=o.getLastMovement(A,f);if(!k(B)||uci(B)||!x.inertiaEnabled||(x.motion.x=(B.endPosition.x-B.startPosition.x)*.5,x.motion.y=(B.endPosition.y-B.startPosition.y)*.5,x.startPosition=tt.clone(B.startPosition,x.startPosition),x.endPosition=tt.multiplyByScalar(x.motion,M,x.endPosition),x.endPosition=tt.add(x.startPosition,x.endPosition,x.endPosition),isNaN(x.endPosition.x)||isNaN(x.endPosition.y)||tt.distance(x.startPosition,x.endPosition)<.5))return;if(!o.isButtonDown(A,f)){let D=o.getStartMousePosition(A,f);C(E,D,x)}}}function dci(o,A){if(k(A)){let f=o[A];k(f)&&(f.inertiaEnabled=!0);let m=o._inertiaDisablers[A];if(k(m)){let C=m.length;for(let E=0;E<C;++E)f=o[m[E]],k(f)&&(f.inertiaEnabled=!1)}}}var p3e=[];function xC(o,A,f,m,C,E){if(!k(f))return;let I=o._aggregator;Array.isArray(f)||(p3e[0]=f,f=p3e);let x=f.length;for(let y=0;y<x;++y){let v=f[y],w=k(v.eventType)?v.eventType:v,Q=v.modifier,M=I.isMoving(w,Q)&&I.getMovement(w,Q),B=I.getStartMousePosition(w,Q);o.enableInputs&&A&&(M?(m(o,B,M),dci(o,E)):C<1&&hci(I,w,Q,C,m,o,E))}}var XW=new Oa,gci=new Z,fci=new tt,pci=new Z,mci=new tt,Cci=new Z,Eci=new Z,Ici=new Z,xci=new Z,JWe=new Z,yci=new Z,vci=new Z,_ci=new Z,Bci=new Z,wci=new Z,bci=new Z,Qci=new Z,Sci=new Z,Dci=new Z,Mci=new Z,QL=new Z,m3e=new Z,C3e=new Z,kle={orientation:new Wl};function ove(o,A,f,m,C,E){let I=1;k(E)&&(I=De.clamp(Math.abs(E),.25,1));let x=f.endPosition.y-f.startPosition.y,y=x>0?o.minimumZoomDistance*I:0,v=o.maximumZoomDistance,w=C-y,Q=m*w;Q=De.clamp(Q,o._minimumZoomRate,o._maximumZoomRate);let M=x/o._scene.canvas.clientHeight;M=Math.min(M,o.maximumMovementRatio);let B=Q*M;if(o.enableCollisionDetection||o.minimumZoomDistance===0||!k(o._globe)){if(B>0&&Math.abs(C-y)<1||B<0&&Math.abs(C-v)<1)return;C-B<y?B=C-y-1:C-B>v&&(B=C-v)}let D=o._scene,S=D.camera,P=D.mode,R=kle.orientation;if(R.heading=S.heading,R.pitch=S.pitch,R.roll=S.roll,S.frustum instanceof $a){Math.abs(B)>0&&(S.zoomIn(B),S._adjustOrthographicFrustum(!0));return}let T=ae(f.inertiaEnabled,tt.equals(A,o._zoomMouseStart)),L=o._zoomingOnVector,F=o._rotatingZoom,U;if(T||(o._zoomMouseStart=tt.clone(A,o._zoomMouseStart),k(o._globe)&&P===ii.SCENE2D?(U=S.getPickRay(A,XW).origin,U=Z.fromElements(U.y,U.z,U.x)):k(o._globe)&&(U=GS(o,A,gci)),k(U)?(o._useZoomWorldPosition=!0,o._zoomWorldPosition=Z.clone(U,o._zoomWorldPosition)):o._useZoomWorldPosition=!1,L=o._zoomingOnVector=!1,F=o._rotatingZoom=!1,o._zoomingUnderground=o._cameraUnderground),!o._useZoomWorldPosition){S.zoomIn(B);return}let N=P===ii.COLUMBUS_VIEW;if(S.positionCartographic.height<2e6&&(F=!0),!T||F){if(P===ii.SCENE2D){let H=o._zoomWorldPosition,J=S.position;if(!Z.equals(H,J)&&S.positionCartographic.height<o._maxCoord.x*2){let K=S.position.x,X=Z.subtract(H,J,pci);Z.normalize(X,X);let j=Z.distance(H,J)*B/(S.getMagnitude()*.5);S.move(X,j*.5),(S.position.x<0&&K>0||S.position.x>0&&K<0)&&(U=S.getPickRay(A,XW).origin,U=Z.fromElements(U.y,U.z,U.x),o._zoomWorldPosition=Z.clone(U,o._zoomWorldPosition))}}else if(P===ii.SCENE3D){let H=Z.normalize(S.position,JWe);if(o._cameraUnderground||o._zoomingUnderground||S.positionCartographic.height<3e3&&Math.abs(Z.dot(S.direction,H))<.6)N=!0;else{let J=D.canvas,K=mci;K.x=J.clientWidth/2,K.y=J.clientHeight/2;let X=GS(o,K,Cci);if(!k(X))N=!0;else if(S.positionCartographic.height<1e6)if(Z.dot(S.direction,H)>=-.5)N=!0;else{let j=vci;Z.clone(S.position,j);let ee=o._zoomWorldPosition,ie=yci;if(ie=Z.normalize(ee,ie),Z.dot(ie,H)<0)return;let z=Mci,oe=wci;Z.clone(S.direction,oe),Z.add(j,Z.multiplyByScalar(oe,1e3,QL),z);let le=bci,Ae=Qci;Z.subtract(ee,j,le),Z.normalize(le,Ae);let he=Z.dot(H,Ae);if(he>=0){o._zoomMouseStart.x=-1;return}let ge=Math.acos(-he),de=Z.magnitude(j),fe=Z.magnitude(ee),G=de-B,Y=Z.magnitude(le),W=Math.asin(De.clamp(Y/fe*Math.sin(ge),-1,1)),O=Math.asin(De.clamp(G/fe*Math.sin(ge),-1,1)),re=W-O+ge,se=_ci;Z.normalize(j,se);let ce=Bci;ce=Z.cross(Ae,se,ce),ce=Z.normalize(ce,ce),Z.normalize(Z.cross(se,ce,QL),oe),Z.multiplyByScalar(Z.normalize(z,QL),Z.magnitude(z)-B,z),Z.normalize(j,j),Z.multiplyByScalar(j,G,j);let me=Sci;Z.multiplyByScalar(Z.add(Z.multiplyByScalar(se,Math.cos(re)-1,m3e),Z.multiplyByScalar(oe,Math.sin(re),C3e),QL),G,me),Z.add(j,me,j),Z.normalize(z,se),Z.normalize(Z.cross(se,ce,QL),oe);let Ce=Dci;Z.multiplyByScalar(Z.add(Z.multiplyByScalar(se,Math.cos(re)-1,m3e),Z.multiplyByScalar(oe,Math.sin(re),C3e),QL),Z.magnitude(z),Ce),Z.add(z,Ce,z),Z.clone(j,S.position),Z.normalize(Z.subtract(z,j,QL),S.direction),Z.clone(S.direction,S.direction),Z.cross(S.direction,S.up,S.right),Z.cross(S.right,S.direction,S.up),S.setView(kle);return}else{let j=Z.normalize(X,Eci),ee=Z.normalize(o._zoomWorldPosition,Ici),ie=Z.dot(ee,j);if(ie>0&&ie<1){let z=De.acosClamped(ie),oe=Z.cross(ee,j,xci),le=Math.abs(z)>De.toRadians(20)?S.positionCartographic.height*.75:S.positionCartographic.height-B,Ae=B/le;S.rotate(oe,z*Ae)}}}}o._rotatingZoom=!N}if(!T&&N||L){let H,J=ms.wgs84ToWindowCoordinates(D,o._zoomWorldPosition,fci);P!==ii.COLUMBUS_VIEW&&tt.equals(A,o._zoomMouseStart)&&k(J)?H=S.getPickRay(J,XW):H=S.getPickRay(A,XW);let K=H.direction;(P===ii.COLUMBUS_VIEW||P===ii.SCENE2D)&&Z.fromElements(K.y,K.z,K.x,K),S.move(K,B),o._zoomingOnVector=!0}else S.zoomIn(B);o._cameraUnderground||S.setView(kle)}var Tci=new Oa,Pci=new Oa,Rci=new Z;function Lci(o,A,f){let m=o._scene.camera,C=m.getPickRay(f.startPosition,Tci).origin,E=m.getPickRay(f.endPosition,Pci).origin;C=Z.fromElements(C.y,C.z,C.x,C),E=Z.fromElements(E.y,E.z,E.x,E);let I=Z.subtract(C,E,Rci),x=Z.magnitude(I);x>0&&(Z.normalize(I,I),m.move(I,x))}function E3e(o,A,f){k(f.distance)&&(f=f.distance);let m=o._scene.camera;ove(o,A,f,o._zoomFactor,m.getMagnitude())}var Fci=new tt,Nci=new tt;function I3e(o,A,f){if(k(f.angleAndHeight)){kci(o,A,f.angleAndHeight);return}let m=o._scene,C=m.camera,E=m.canvas,I=E.clientWidth,x=E.clientHeight,y=Fci;y.x=2/I*f.startPosition.x-1,y.y=2/x*(x-f.startPosition.y)-1,y=tt.normalize(y,y);let v=Nci;v.x=2/I*f.endPosition.x-1,v.y=2/x*(x-f.endPosition.y)-1,v=tt.normalize(v,v);let w=De.acosClamped(y.x);y.y<0&&(w=De.TWO_PI-w);let Q=De.acosClamped(v.x);v.y<0&&(Q=De.TWO_PI-Q);let M=Q-w;C.twistRight(M)}function kci(o,A,f){let m=o._rotateFactor*o._rotateRateRangeAdjustment;m>o._maximumRotateRate&&(m=o._maximumRotateRate),m<o._minimumRotateRate&&(m=o._minimumRotateRate);let C=o._scene,E=C.camera,I=C.canvas,x=(f.endPosition.x-f.startPosition.x)/I.clientWidth;x=Math.min(x,o.maximumMovementRatio);let y=m*x*Math.PI*4;E.twistRight(y)}function Uci(o){let A=o._scene.mapMode2D===oB.ROTATE;Re.equals(Re.IDENTITY,o._scene.camera.transform)?(xC(o,o.enableTranslate,o.translateEventTypes,Lci,o.inertiaTranslate,"_lastInertiaTranslateMovement"),xC(o,o.enableZoom,o.zoomEventTypes,E3e,o.inertiaZoom,"_lastInertiaZoomMovement"),A&&xC(o,o.enableRotate,o.tiltEventTypes,I3e,o.inertiaSpin,"_lastInertiaTiltMovement")):(xC(o,o.enableZoom,o.zoomEventTypes,E3e,o.inertiaZoom,"_lastInertiaZoomMovement"),A&&xC(o,o.enableRotate,o.translateEventTypes,I3e,o.inertiaSpin,"_lastInertiaSpinMovement"))}var KWe=new Oa,x3e=new Z,Oci=new Z;function GS(o,A,f){let m=o._scene,C=o._globe,E=m.camera,I;if(m.pickPositionSupported)if(m.bim){let M=m.bim.PickWorldPositionSync(A.x,A.y);M[0]===0?I=m.pickPositionWorldCoordinates(A,x3e):I=new Z(M[0],M[1],M[2])}else I=m.pickPositionWorldCoordinates(A,x3e);if(!k(C))return Z.clone(I,f);let x=!o._cameraUnderground,y=E.getPickRay(A,KWe),v=C.pickWorldCoordinates(y,m,x,Oci),w=k(I)?Z.distance(I,E.positionWC):Number.POSITIVE_INFINITY,Q=k(v)?Z.distance(v,E.positionWC):Number.POSITIVE_INFINITY;return w<Q?Z.clone(I,f):Z.clone(v,f)}var Gci=new Lt;function UX(o){let A=o._ellipsoid,f=o._scene,m=f.camera,C=f.mode,E=0;if(C===ii.SCENE3D){let x=A.cartesianToCartographic(m.position,Gci);k(x)&&(E=x.height)}else E=m.position.z;let I=ae(o._scene.globeHeight,0);return Math.abs(I-E)}var Hci=new Z;function WWe(o,A){let f=A.origin,m=A.direction,C=UX(o),E=Z.normalize(f,Hci),I=Math.abs(Z.dot(E,m));return I=Math.max(I,.5)*2,C*I}function qWe(o,A,f,m){let C=Z.distance(A.origin,f),E=UX(o),I=De.clamp(E*5,o._minimumUndergroundPickDistance,o._maximumUndergroundPickDistance);return C>I&&(C=Math.min(C,E/5),C=Math.max(C,100)),Oa.getPoint(A,C,m)}function jWe(o,A,f,m){let C;return k(f)?(C=Z.distance(A.origin,f),C>o._maximumUndergroundPickDistance&&(C=UX(o))):C=UX(o),Oa.getPoint(A,C,m)}var Vci=new tt;function XWe(o,A){let f=A.endPosition,m=tt.subtract(A.endPosition,A.startPosition,Vci),C=o._strafeEndMousePosition;tt.add(C,m,C),A.endPosition=C,ave(o,A,o._strafeStartPosition),A.endPosition=f}var y3e=new Oa,zci=new Oa,Ule=new Z,Yci=new Z,Jci=new Z,Kci=new Z,Wci=new va(Z.UNIT_X,0),qci=new tt,jci=new tt;function Xci(o,A,f){if(Z.equals(A,o._translateMousePosition)||(o._looking=!1),Z.equals(A,o._strafeMousePosition)||(o._strafing=!1),o._looking){Bx(o,A,f);return}if(o._strafing){XWe(o,f);return}let m=o._scene.camera,C=o._cameraUnderground,E=tt.clone(f.startPosition,qci),I=tt.clone(f.endPosition,jci),x=m.getPickRay(E,y3e),y=Z.clone(Z.ZERO,Kci),v=Z.UNIT_X,w;if(m.position.z<o._minimumPickingTerrainHeight&&(w=GS(o,E,Ule),k(w)&&(y.x=w.x)),C||y.x>m.position.z&&k(w)){let T=w;C&&(T=jWe(o,x,w,Ule)),tt.clone(A,o._strafeMousePosition),tt.clone(A,o._strafeEndMousePosition),Z.clone(T,o._strafeStartPosition),o._strafing=!0,ave(o,f,o._strafeStartPosition);return}let Q=va.fromPointNormal(y,v,Wci);x=m.getPickRay(E,y3e);let M=mh.rayPlane(x,Q,Ule),B=m.getPickRay(I,zci),D=mh.rayPlane(B,Q,Yci);if(!k(M)||!k(D)){o._looking=!0,Bx(o,A,f),tt.clone(A,o._translateMousePosition);return}let S=Z.subtract(M,D,Jci),P=S.x;S.x=S.y,S.y=S.z,S.z=P;let R=Z.magnitude(S);R>De.EPSILON6&&(Z.normalize(S,S),m.move(S,R))}var ZWe=new tt,nj=new Oa,oj=new Z,Zci=new Z,$We=new Re,$ci=new Re,ehi=new Z,thi=new va(Z.UNIT_X,0),Ole=new Z,Ece=new Lt,eqe=new Re,ihi=new yr,rhi=new Nt,aj=new Z;function nhi(o,A,f){if(k(f.angleAndHeight)&&(f=f.angleAndHeight),tt.equals(A,o._tiltCenterMousePosition)||(o._tiltCVOffMap=!1,o._looking=!1),o._looking){Bx(o,A,f);return}let m=o._scene.camera;o._tiltCVOffMap||!o.onMap()||Math.abs(m.position.z)>o._minimumPickingTerrainHeight?(o._tiltCVOffMap=!0,ohi(o,A,f)):ahi(o,A,f)}function ohi(o,A,f){let m=o._scene,C=m.camera,E=m.canvas,I=ZWe;I.x=E.clientWidth/2,I.y=E.clientHeight/2;let x=C.getPickRay(I,nj),y=Z.UNIT_X,v=x.origin,w=x.direction,Q,M=Z.dot(y,w);if(Math.abs(M)>De.EPSILON6&&(Q=-Z.dot(y,v)/M),!k(Q)||Q<=0){o._looking=!0,Bx(o,A,f),tt.clone(A,o._tiltCenterMousePosition);return}let B=Z.multiplyByScalar(w,Q,oj);Z.add(v,B,B);let D=m.mapProjection,S=D.ellipsoid;Z.fromElements(B.y,B.z,B.x,B);let P=D.unproject(B,Ece);S.cartographicToCartesian(P,B);let R=Vr.eastNorthUpToFixedFrame(B,S,$We),T=o._globe,L=o._ellipsoid;o._globe=void 0,o._ellipsoid=gi.UNIT_SPHERE,o._rotateFactor=1,o._rotateRateRangeAdjustment=1;let F=Re.clone(C.transform,eqe);C._setTransform(R),_x(o,A,f,Z.UNIT_Z),C._setTransform(F),o._globe=T,o._ellipsoid=L;let U=L.maximumRadius;o._rotateFactor=1/U,o._rotateRateRangeAdjustment=U}function ahi(o,A,f){let m=o._scene,C=m.camera,E=o._cameraUnderground,I,x,y=Z.UNIT_X;if(tt.equals(A,o._tiltCenterMousePosition))I=Z.clone(o._tiltCenter,oj);else{if(C.position.z<o._minimumPickingTerrainHeight&&(I=GS(o,A,oj)),!k(I)){x=C.getPickRay(A,nj);let j=x.origin,ee=x.direction,ie,z=Z.dot(y,ee);if(Math.abs(z)>De.EPSILON6&&(ie=-Z.dot(y,j)/z),!k(ie)||ie<=0){o._looking=!0,Bx(o,A,f),tt.clone(A,o._tiltCenterMousePosition);return}I=Z.multiplyByScalar(ee,ie,oj),Z.add(j,I,I)}E&&(k(x)||(x=C.getPickRay(A,nj)),qWe(o,x,I,I)),tt.clone(A,o._tiltCenterMousePosition),Z.clone(I,o._tiltCenter)}let v=m.canvas,w=ZWe;w.x=v.clientWidth/2,w.y=o._tiltCenterMousePosition.y,x=C.getPickRay(w,nj);let Q=Z.clone(Z.ZERO,ehi);Q.x=I.x;let M=va.fromPointNormal(Q,y,thi),B=mh.rayPlane(x,M,Zci),D=C._projection,S=D.ellipsoid;Z.fromElements(I.y,I.z,I.x,I);let P=D.unproject(I,Ece);S.cartographicToCartesian(P,I);let R=Vr.eastNorthUpToFixedFrame(I,S,$We),T;k(B)?(Z.fromElements(B.y,B.z,B.x,B),P=D.unproject(B,Ece),S.cartographicToCartesian(P,B),T=Vr.eastNorthUpToFixedFrame(B,S,$ci)):T=R;let L=o._globe,F=o._ellipsoid;o._globe=void 0,o._ellipsoid=gi.UNIT_SPHERE,o._rotateFactor=1,o._rotateRateRangeAdjustment=1;let U=Z.UNIT_Z,N=Re.clone(C.transform,eqe);C._setTransform(R);let H=Z.cross(Z.UNIT_Z,Z.normalize(C.position,Ole),Ole),J=Z.dot(C.right,H);if(_x(o,A,f,U,!1,!0),C._setTransform(T),J<0){let j=f.startPosition.y-f.endPosition.y;(E&&j<0||!E&&j>0)&&(U=void 0);let ee=C.constrainedAxis;C.constrainedAxis=void 0,_x(o,A,f,U,!0,!1),C.constrainedAxis=ee}else _x(o,A,f,U,!0,!1);if(k(C.constrainedAxis)){let j=Z.cross(C.direction,C.constrainedAxis,aj);Z.equalsEpsilon(j,Z.ZERO,De.EPSILON6)||(Z.dot(j,C.right)<0&&Z.negate(j,j),Z.cross(j,C.direction,C.up),Z.cross(C.direction,C.up,C.right),Z.normalize(C.up,C.up),Z.normalize(C.right,C.right))}C._setTransform(N),o._globe=L,o._ellipsoid=F;let K=F.maximumRadius;o._rotateFactor=1/K,o._rotateRateRangeAdjustment=K;let X=Z.clone(C.positionWC,Ole);if(o.enableCollisionDetection&&Ave(o),!Z.equals(C.positionWC,X)){C._setTransform(T),C.worldToCameraCoordinatesPoint(X,X);let j=Z.magnitudeSquared(X);Z.magnitudeSquared(C.position)>j&&(Z.normalize(C.position,C.position),Z.multiplyByScalar(C.position,Math.sqrt(j),C.position));let ee=Z.angleBetween(X,C.position),ie=Z.cross(X,C.position,X);Z.normalize(ie,ie);let z=yr.fromAxisAngle(ie,ee,ihi),oe=Nt.fromQuaternion(z,rhi);Nt.multiplyByVector(oe,C.direction,C.direction),Nt.multiplyByVector(oe,C.up,C.up),Z.cross(C.direction,C.up,C.right),Z.cross(C.right,C.direction,C.up),C._setTransform(N)}}var tqe=new tt,iqe=new Oa,rqe=new Z;function shi(o,A,f){k(f.distance)&&(f=f.distance);let m=o._scene,C=m.camera,E=m.canvas,I=o._cameraUnderground,x;I?x=A:(x=tqe,x.x=E.clientWidth/2,x.y=E.clientHeight/2);let y=C.getPickRay(x,iqe),v=y.origin,w=y.direction,Q=C.position.z,M;Q<o._minimumPickingTerrainHeight&&(M=GS(o,x,rqe));let B;if(k(M)&&(B=Z.distance(v,M)),I){let D=WWe(o,y,Q);k(B)?B=Math.min(B,D):B=D}if(!k(B)){let D=Z.UNIT_X;B=-Z.dot(D,v)/Z.dot(D,w)}ove(o,A,f,o._zoomFactor,B)}function lhi(o){let A=o._scene.camera;if(!Re.equals(Re.IDENTITY,A.transform))xC(o,o.enableRotate,o.rotateEventTypes,_x,o.inertiaSpin,"_lastInertiaSpinMovement"),xC(o,o.enableZoom,o.zoomEventTypes,oqe,o.inertiaZoom,"_lastInertiaZoomMovement");else{let f=o._tweens;if(o._aggregator.anyButtonDown&&f.removeAll(),xC(o,o.enableTilt,o.tiltEventTypes,nhi,o.inertiaSpin,"_lastInertiaTiltMovement"),xC(o,o.enableTranslate,o.translateEventTypes,Xci,o.inertiaTranslate,"_lastInertiaTranslateMovement"),xC(o,o.enableZoom,o.zoomEventTypes,shi,o.inertiaZoom,"_lastInertiaZoomMovement"),xC(o,o.enableLook,o.lookEventTypes,Bx),!o._aggregator.anyButtonDown&&!f.contains(o._tween)){let m=A.createCorrectPositionTween(o.bounceAnimationTime);k(m)&&(o._tween=f.add(m))}f.update()}}var Ahi=new Oa,uhi=new va(Z.UNIT_X,0),chi=new Z,hhi=new Z;function ave(o,A,f){let m=o._scene,C=m.camera,E=C.getPickRay(A.endPosition,Ahi),I=Z.clone(C.direction,hhi);m.mode===ii.COLUMBUS_VIEW&&Z.fromElements(I.z,I.x,I.y,I);let x=va.fromPointNormal(f,I,uhi),y=mh.rayPlane(E,x,chi);k(y)&&(I=Z.subtract(f,y,I),m.mode===ii.COLUMBUS_VIEW&&Z.fromElements(I.y,I.z,I.x,I),Z.add(C.position,I,C.position))}var v3e=new Z,nqe=new Lt,Ice=new Z,xce=new gi,dhi=new Z,ghi=new Z,fhi=new Z;function phi(o,A,f){let m=o._scene.camera,C=o._cameraUnderground,E=o._ellipsoid;if(!Re.equals(m.transform,Re.IDENTITY)){_x(o,A,f);return}let I,x,y=E.geodeticSurfaceNormal(m.position,dhi);if(tt.equals(A,o._rotateMousePosition)){if(o._looking)Bx(o,A,f,y);else if(o._rotating)_x(o,A,f);else if(o._strafing)XWe(o,f);else{if(Z.magnitude(m.position)<Z.magnitude(o._rotateStartPosition))return;I=Z.magnitude(o._rotateStartPosition),x=Ice,x.x=x.y=x.z=I,E=gi.fromCartesian3(x,xce),Hle(o,A,f,E)}return}o._looking=!1,o._rotating=!1,o._strafing=!1;let v=E.cartesianToCartographic(m.positionWC,nqe).height,w=o._globe;if(k(w)&&v<o._minimumPickingTerrainHeight){let Q=GS(o,f.startPosition,fhi);if(k(Q)){let M=!1,B=m.getPickRay(f.startPosition,KWe);if(C)M=!0,jWe(o,B,Q,Q);else{let D=E.geodeticSurfaceNormal(Q,ghi);Math.abs(Z.dot(B.direction,D))<.05?M=!0:M=Z.magnitude(m.position)<Z.magnitude(Q)}M?(tt.clone(A,o._strafeEndMousePosition),Z.clone(Q,o._strafeStartPosition),o._strafing=!0,ave(o,f,o._strafeStartPosition)):(I=Z.magnitude(Q),x=Ice,x.x=x.y=x.z=I,E=gi.fromCartesian3(x,xce),Hle(o,A,f,E),Z.clone(Q,o._rotateStartPosition))}else o._looking=!0,Bx(o,A,f,y)}else k(m.pickEllipsoid(f.startPosition,o._ellipsoid,v3e))?(Hle(o,A,f,o._ellipsoid),Z.clone(v3e,o._rotateStartPosition)):v>o._minimumTrackBallHeight?(o._rotating=!0,_x(o,A,f)):(o._looking=!0,Bx(o,A,f,y));tt.clone(A,o._rotateMousePosition)}function _x(o,A,f,m,C,E){C=ae(C,!1),E=ae(E,!1);let I=o._scene,x=I.camera,y=I.canvas,v=x.constrainedAxis;k(m)&&(x.constrainedAxis=m);let w=Z.magnitude(x.position),Q=o._rotateFactor*(w-o._rotateRateRangeAdjustment);Q>o._maximumRotateRate&&(Q=o._maximumRotateRate),Q<o._minimumRotateRate&&(Q=o._minimumRotateRate);let M=(f.startPosition.x-f.endPosition.x)/y.clientWidth,B=(f.startPosition.y-f.endPosition.y)/y.clientHeight;M=Math.min(M,o.maximumMovementRatio),B=Math.min(B,o.maximumMovementRatio);let D=Q*M*Math.PI*2,S=Q*B*Math.PI;C||x.rotateRight(D),E||x.rotateUp(S),x.constrainedAxis=v}var Gle=kt.clone(kt.UNIT_W),_3e=kt.clone(kt.UNIT_W),ZW=new Z,f5=new Z,$W=new Z,B3e=new Z,mhi=new tt,Chi=new tt,Ehi=new tt,Ihi=new tt,xhi=new Oa;function Hle(o,A,f,m){let C=o._scene,E=C.camera,I=tt.clone(f.startPosition,mhi),x=tt.clone(f.endPosition,Chi),y=m.cartesianToCartographic(E.positionWC,nqe).height,v,w;if(!f.inertiaEnabled&&y<o._minimumPickingTerrainHeight&&(v=Z.clone(o._panLastWorldPosition,Gle),!k(o._globe)&&!tt.equalsEpsilon(I,o._panLastMousePosition)&&(v=GS(o,I,Gle)),!k(o._globe)&&k(v))){let Q=Z.subtract(v,E.positionWC,f5),M=Z.multiplyByScalar(E.directionWC,Z.dot(E.directionWC,Q),f5),B=Z.magnitude(M),D=E.frustum.getPixelDimensions(C.drawingBufferWidth,C.drawingBufferHeight,B,C.pixelRatio,Ihi),S=tt.subtract(x,I,Ehi),P=Z.multiplyByScalar(E.rightWC,S.x*D.x,f5),R=Z.normalize(E.positionWC,JWe),T=E.getPickRay(x,xhi).direction,L=Z.subtract(T,Z.projectVector(T,E.rightWC,$W),$W),F=Z.angleBetween(L,E.directionWC),U=1;k(E.frustum.fov)&&(U=Math.max(Math.tan(F),.1));let N=Math.abs(Z.dot(E.directionWC,R)),H=-S.y*D.y*2/Math.sqrt(U)*(1-N),J=Z.multiplyByScalar(T,H,$W);N=Math.abs(Z.dot(E.upWC,R));let K=Z.multiplyByScalar(E.upWC,-S.y*(1-N)*D.y,B3e);w=Z.add(v,P,_3e),w=Z.add(w,J,w),w=Z.add(w,K,w),Z.clone(w,o._panLastWorldPosition),tt.clone(x,o._panLastMousePosition)}if((!k(v)||!k(w))&&(v=E.pickEllipsoid(I,m,Gle),w=E.pickEllipsoid(x,m,_3e)),!k(v)||!k(w)){o._rotating=!0,_x(o,A,f);return}if(v=E.worldToCameraCoordinates(v,v),w=E.worldToCameraCoordinates(w,w),k(E.constrainedAxis)){let Q=E.constrainedAxis,M=Z.mostOrthogonalAxis(Q,ZW);Z.cross(M,Q,M),Z.normalize(M,M);let B=Z.cross(Q,M,f5),D=Z.magnitude(v),S=Z.dot(Q,v),P=Math.acos(S/D),R=Z.multiplyByScalar(Q,S,$W);Z.subtract(v,R,R),Z.normalize(R,R);let T=Z.magnitude(w),L=Z.dot(Q,w),F=Math.acos(L/T),U=Z.multiplyByScalar(Q,L,B3e);Z.subtract(w,U,U),Z.normalize(U,U);let N=Math.acos(Z.dot(R,M));Z.dot(R,B)<0&&(N=De.TWO_PI-N);let H=Math.acos(Z.dot(U,M));Z.dot(U,B)<0&&(H=De.TWO_PI-H);let J=N-H,K;Z.equalsEpsilon(Q,E.position,De.EPSILON2)?K=E.right:K=Z.cross(Q,E.position,ZW);let X=Z.cross(Q,K,ZW),j=Z.dot(X,Z.subtract(v,Q,f5)),ee=Z.dot(X,Z.subtract(w,Q,f5)),ie;j>0&&ee>0?ie=F-P:j>0&&ee<=0?Z.dot(E.position,Q)>0?ie=-P-F:ie=P+F:ie=P-F,E.rotateRight(J),E.rotateUp(ie)}else{Z.normalize(v,v),Z.normalize(w,w);let Q=Z.dot(v,w),M=Z.cross(v,w,ZW);if(Q<1&&!Z.equalsEpsilon(M,Z.ZERO,De.EPSILON14)){let B=Math.acos(Q);E.rotate(M,B)}}}var yhi=new Z,vhi=new Lt,w3e=0;function oqe(o,A,f){k(f.distance)&&(f=f.distance);let m=f.inertiaEnabled,C=o._ellipsoid,E=o._scene,I=E.camera,x=E.canvas,y=o._cameraUnderground,v;y?v=A:(v=tqe,v.x=x.clientWidth/2,v.y=x.clientHeight/2);let w=I.getPickRay(v,iqe),Q,M=C.cartesianToCartographic(I.position,vhi).height,B=Math.abs(w3e)<o.minimumPickingTerrainDistanceWithInertia;(m?B:M<o._minimumPickingTerrainHeight)&&(Q=GS(o,v,rqe));let D;if(k(Q)&&(D=Z.distance(w.origin,Q),w3e=D),y){let P=WWe(o,w,M);k(D)?D=Math.min(D,P):D=P}k(D)||(D=M);let S=Z.normalize(I.position,yhi);ove(o,A,f,o._zoomFactor,D,Z.dot(S,I.direction))}var aqe=new tt,sj=new Oa,ZH=new Z,_hi=new Z,sqe=new Re,Bhi=new Re,lqe=new Re,whi=new yr,bhi=new Nt,sve=new Lt,lve=new Z;function Qhi(o,A,f){let m=o._scene.camera;if(!Re.equals(m.transform,Re.IDENTITY))return;if(k(f.angleAndHeight)&&(f=f.angleAndHeight),tt.equals(A,o._tiltCenterMousePosition)||(o._tiltOnEllipsoid=!1,o._looking=!1),o._looking){let E=o._ellipsoid.geodeticSurfaceNormal(m.position,lve);Bx(o,A,f,E);return}let C=o._ellipsoid.cartesianToCartographic(m.position,sve);o._tiltOnEllipsoid||C.height>o._minimumCollisionTerrainHeight?(o._tiltOnEllipsoid=!0,Dhi(o,A,f)):Mhi(o,A,f)}var Shi=new Lt;function Dhi(o,A,f){let m=o._ellipsoid,C=o._scene,E=C.camera,I=o.minimumZoomDistance*.25,x=m.cartesianToCartographic(E.positionWC,Shi).height;if(x-I-1<De.EPSILON3&&f.endPosition.y-f.startPosition.y<0)return;let y=C.canvas,v=aqe;v.x=y.clientWidth/2,v.y=y.clientHeight/2;let w=E.getPickRay(v,sj),Q,M=mh.rayEllipsoid(w,m);if(k(M))Q=Oa.getPoint(w,M.start,ZH);else if(x>o._minimumTrackBallHeight){let T=mh.grazingAltitudeLocation(w,m);if(!k(T))return;let L=m.cartesianToCartographic(T,sve);L.height=0,Q=m.cartographicToCartesian(L,ZH)}else{o._looking=!0;let T=o._ellipsoid.geodeticSurfaceNormal(E.position,lve);Bx(o,A,f,T),tt.clone(A,o._tiltCenterMousePosition);return}let B=Vr.eastNorthUpToFixedFrame(Q,m,sqe),D=o._globe,S=o._ellipsoid;o._globe=void 0,o._ellipsoid=gi.UNIT_SPHERE,o._rotateFactor=1,o._rotateRateRangeAdjustment=1;let P=Re.clone(E.transform,lqe);E._setTransform(B),_x(o,A,f,Z.UNIT_Z),E._setTransform(P),o._globe=D,o._ellipsoid=S;let R=S.maximumRadius;o._rotateFactor=1/R,o._rotateRateRangeAdjustment=R}function Mhi(o,A,f){let m=o._ellipsoid,C=o._scene,E=C.camera,I=o._cameraUnderground,x,y,v;if(tt.equals(A,o._tiltCenterMousePosition))x=Z.clone(o._tiltCenter,ZH);else{if(x=GS(o,A,ZH),!k(x)){if(y=E.getPickRay(A,sj),v=mh.rayEllipsoid(y,m),!k(v)){if(m.cartesianToCartographic(E.position,sve).height<=o._minimumTrackBallHeight){o._looking=!0;let X=o._ellipsoid.geodeticSurfaceNormal(E.position,lve);Bx(o,A,f,X),tt.clone(A,o._tiltCenterMousePosition)}return}x=Oa.getPoint(y,v.start,ZH)}I&&(k(y)||(y=E.getPickRay(A,sj)),qWe(o,y,x,x)),tt.clone(A,o._tiltCenterMousePosition),Z.clone(x,o._tiltCenter)}let w=C.canvas,Q=aqe;Q.x=w.clientWidth/2,Q.y=o._tiltCenterMousePosition.y,y=E.getPickRay(Q,sj);let M=Z.magnitude(x),B=Z.fromElements(M,M,M,Ice),D=gi.fromCartesian3(B,xce);if(v=mh.rayEllipsoid(y,D),!k(v))return;let S=Z.magnitude(y.origin)>M?v.start:v.stop,P=Oa.getPoint(y,S,_hi),R=Vr.eastNorthUpToFixedFrame(x,m,sqe),T=Vr.eastNorthUpToFixedFrame(P,D,Bhi),L=o._globe,F=o._ellipsoid;o._globe=void 0,o._ellipsoid=gi.UNIT_SPHERE,o._rotateFactor=1,o._rotateRateRangeAdjustment=1;let U=Z.UNIT_Z,N=Re.clone(E.transform,lqe);E._setTransform(T);let H=Z.cross(P,E.positionWC,aj);if(Z.dot(E.rightWC,H)<0){let X=f.startPosition.y-f.endPosition.y;(I&&X<0||!I&&X>0)&&(U=void 0);let j=E.constrainedAxis;E.constrainedAxis=void 0,_x(o,A,f,U,!0,!1),E.constrainedAxis=j}else _x(o,A,f,U,!0,!1);if(E._setTransform(R),_x(o,A,f,U,!1,!0),k(E.constrainedAxis)){let X=Z.cross(E.direction,E.constrainedAxis,aj);Z.equalsEpsilon(X,Z.ZERO,De.EPSILON6)||(Z.dot(X,E.right)<0&&Z.negate(X,X),Z.cross(X,E.direction,E.up),Z.cross(E.direction,E.up,E.right),Z.normalize(E.up,E.up),Z.normalize(E.right,E.right))}E._setTransform(N),o._globe=L,o._ellipsoid=F;let J=F.maximumRadius;o._rotateFactor=1/J,o._rotateRateRangeAdjustment=J;let K=Z.clone(E.positionWC,aj);if(o.enableCollisionDetection&&Ave(o),!Z.equals(E.positionWC,K)){E._setTransform(T),E.worldToCameraCoordinatesPoint(K,K);let X=Z.magnitudeSquared(K);Z.magnitudeSquared(E.position)>X&&(Z.normalize(E.position,E.position),Z.multiplyByScalar(E.position,Math.sqrt(X),E.position));let j=Z.angleBetween(K,E.position),ee=Z.cross(K,E.position,K);Z.normalize(ee,ee);let ie=yr.fromAxisAngle(ee,j,whi),z=Nt.fromQuaternion(ie,bhi);Nt.multiplyByVector(z,E.direction,E.direction),Nt.multiplyByVector(z,E.up,E.up),Z.cross(E.direction,E.up,E.right),Z.cross(E.right,E.direction,E.up),E._setTransform(N)}}var Thi=new tt,Phi=new tt,b3e=new Oa,Q3e=new Oa,Rhi=new Z,Lhi=new Z;function Bx(o,A,f,m){let C=o._scene.camera,E=Thi;E.x=f.startPosition.x,E.y=0;let I=Phi;I.x=f.endPosition.x,I.y=0;let x=C.getPickRay(E,b3e),y=C.getPickRay(I,Q3e),v=0,w,Q;C.frustum instanceof $a?(w=x.origin,Q=y.origin,Z.add(C.direction,w,w),Z.add(C.direction,Q,Q),Z.subtract(w,C.position,w),Z.subtract(Q,C.position,Q),Z.normalize(w,w),Z.normalize(Q,Q)):(w=x.direction,Q=y.direction);let M=Z.dot(w,Q);M<1&&(v=Math.acos(M)),v=f.startPosition.x>f.endPosition.x?-v:v;let B=o._horizontalRotationAxis;if(k(m)?C.look(m,-v):k(B)?C.look(B,-v):C.lookLeft(v),E.x=0,E.y=f.startPosition.y,I.x=0,I.y=f.endPosition.y,x=C.getPickRay(E,b3e),y=C.getPickRay(I,Q3e),v=0,C.frustum instanceof $a?(w=x.origin,Q=y.origin,Z.add(C.direction,w,w),Z.add(C.direction,Q,Q),Z.subtract(w,C.position,w),Z.subtract(Q,C.position,Q),Z.normalize(w,w),Z.normalize(Q,Q)):(w=x.direction,Q=y.direction),M=Z.dot(w,Q),M<1&&(v=Math.acos(M)),v=f.startPosition.y>f.endPosition.y?-v:v,m=ae(m,B),k(m)){let D=C.direction,S=Z.negate(m,Rhi),P=Z.equalsEpsilon(D,m,De.EPSILON2),R=Z.equalsEpsilon(D,S,De.EPSILON2);if(!P&&!R){M=Z.dot(D,m);let T=De.acosClamped(M);v>0&&v>T&&(v=T-De.EPSILON4),M=Z.dot(D,S),T=De.acosClamped(M),v<0&&-v>T&&(v=-T+De.EPSILON4);let L=Z.cross(m,D,Lhi);C.look(L,v)}else(P&&v<0||R&&v>0)&&C.look(C.right,-v)}else C.lookUp(v)}function Fhi(o){xC(o,o.enableRotate,o.rotateEventTypes,phi,o.inertiaSpin,"_lastInertiaSpinMovement"),xC(o,o.enableZoom,o.zoomEventTypes,oqe,o.inertiaZoom,"_lastInertiaZoomMovement"),xC(o,o.enableTilt,o.tiltEventTypes,Qhi,o.inertiaSpin,"_lastInertiaTiltMovement"),xC(o,o.enableLook,o.lookEventTypes,Bx)}var Nhi=new Re,khi=new Lt;function Ave(o){o._adjustedHeightForTerrain=!0;let A=o._scene,f=A.mode,m=A.globe;if(!k(m)||f===ii.SCENE2D||f===ii.MORPHING)return;let C=A.camera,E=m.ellipsoid,I=A.mapProjection,x,y;Re.equals(C.transform,Re.IDENTITY)||(x=Re.clone(C.transform,Nhi),y=Z.magnitude(C.position),C._setTransform(Re.IDENTITY));let v=khi;f===ii.SCENE3D?E.cartesianToCartographic(C.position,v):I.unproject(C.position,v);let w=!1;if(v.height<o._minimumCollisionTerrainHeight){let Q=o._scene.globeHeight;if(k(Q)){let M=Q+o.minimumZoomDistance;v.height<M&&(v.height=M,f===ii.SCENE3D?E.cartographicToCartesian(v,C.position):I.project(v,C.position),w=!0)}}k(x)&&(C._setTransform(x),w&&(Z.normalize(C.position,C.position),Z.negate(C.position,C.direction),Z.multiplyByScalar(C.position,Math.max(y,o.minimumZoomDistance),C.position),Z.normalize(C.direction,C.direction),Z.cross(C.direction,C.up,C.right),Z.cross(C.right,C.direction,C.up)))}bY.prototype.onMap=function(){let o=this._scene,A=o.mode,f=o.camera;return A===ii.COLUMBUS_VIEW?Math.abs(f.position.x)-this._maxCoord.x<0&&Math.abs(f.position.y)-this._maxCoord.y<0:!0};var Uhi=new Z,Ohi=new Z;bY.prototype.update=function(){let o=this._scene,A=o.camera,f=o.globe,m=o.mode;Re.equals(A.transform,Re.IDENTITY)?(this._globe=f,this._ellipsoid=k(this._globe)?this._globe.ellipsoid:o.mapProjection.ellipsoid):(this._globe=void 0,this._ellipsoid=gi.UNIT_SPHERE);let C=k(this._globe)?this._globe.terrainExaggeration:1,E=k(this._globe)?this._globe.terrainExaggerationRelativeHeight:0;this._minimumCollisionTerrainHeight=h1.getHeight(this.minimumCollisionTerrainHeight,C,E),this._minimumPickingTerrainHeight=h1.getHeight(this.minimumPickingTerrainHeight,C,E),this._minimumTrackBallHeight=h1.getHeight(this.minimumTrackBallHeight,C,E),this._cameraUnderground=o.cameraUnderground&&k(this._globe);let I=this._ellipsoid.maximumRadius;this._rotateFactor=1/I,this._rotateRateRangeAdjustment=I,this._adjustedHeightForTerrain=!1;let x=Z.clone(A.positionWC,Uhi),y=Z.clone(A.directionWC,Ohi);m===ii.SCENE2D?Uci(this):m===ii.COLUMBUS_VIEW?(this._horizontalRotationAxis=Z.UNIT_Z,lhi(this)):m===ii.SCENE3D&&(this._horizontalRotationAxis=void 0,Fhi(this)),this.enableCollisionDetection&&!this._adjustedHeightForTerrain&&(!Z.equals(x,A.positionWC)||!Z.equals(y,A.directionWC))&&Ave(this),this._aggregator.reset()};bY.prototype.isDestroyed=function(){return!1};bY.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),ar(this)};var uve=bY,cve=`uniform sampler2D colorTexture; uniform sampler2D colorTexture2; uniform vec2 center; uniform float radius; in vec2 v_textureCoordinates; void main() { vec4 color0 = texture(colorTexture, v_textureCoordinates); vec4 color1 = texture(colorTexture2, v_textureCoordinates); float x = length(gl_FragCoord.xy - center) / radius; float t = smoothstep(0.5, 0.8, x); out_FragColor = mix(color0 + color1, color1, t); } `,hve=`uniform sampler2D colorTexture; uniform float avgLuminance; uniform float threshold; uniform float offset; in vec2 v_textureCoordinates; float key(float avg) { float guess = 1.5 - (1.5 / (avg * 0.1 + 1.0)); return max(0.0, guess) + 0.1; } // See section 9. "The bright-pass filter" of Realtime HDR Rendering // http://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/Luksch_2007_RHR-RealtimeHDR%20.pdf void main() { vec4 color = texture(colorTexture, v_textureCoordinates); vec3 xyz = czm_RGBToXYZ(color.rgb); float luminance = xyz.r; float scaledLum = key(avgLuminance) * luminance / avgLuminance; float brightLum = max(scaledLum - threshold, 0.0); float brightness = brightLum / (offset + brightLum); xyz.r = brightness; out_FragColor = vec4(czm_XYZToRGB(xyz), 1.0); } `;function yD(){this._sceneFramebuffer=new Mte;let o=.25,A=new Array(6);A[0]=new Jo({fragmentShader:OS,textureScale:o,forcePowerOfTwo:!0,sampleMode:QC.LINEAR});let f=A[1]=new Jo({fragmentShader:hve,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:o,forcePowerOfTwo:!0}),m=this;this._delta=1,this._sigma=2,this._blurStep=new tt,A[2]=new Jo({fragmentShader:u9,uniforms:{step:function(){return m._blurStep.x=m._blurStep.y=1/f.outputTexture.width,m._blurStep},delta:function(){return m._delta},sigma:function(){return m._sigma},direction:0},textureScale:o,forcePowerOfTwo:!0}),A[3]=new Jo({fragmentShader:u9,uniforms:{step:function(){return m._blurStep.x=m._blurStep.y=1/f.outputTexture.width,m._blurStep},delta:function(){return m._delta},sigma:function(){return m._sigma},direction:1},textureScale:o,forcePowerOfTwo:!0}),A[4]=new Jo({fragmentShader:OS,sampleMode:QC.LINEAR}),this._uCenter=new tt,this._uRadius=void 0,A[5]=new Jo({fragmentShader:cve,uniforms:{center:function(){return m._uCenter},radius:function(){return m._uRadius},colorTexture2:function(){return m._sceneFramebuffer.framebuffer.getColorTexture(0)}}}),this._stages=new x0({stages:A});let C=new Fte(this),E=A.length;for(let I=0;I<E;++I)A[I]._textureCache=C;this._textureCache=C,this.length=A.length}yD.prototype.get=function(o){return this._stages.get(o)};yD.prototype.getStageByName=function(o){let A=this._stages.length;for(let f=0;f<A;++f){let m=this._stages.get(f);if(m.name===o)return m}};var Ghi=new kt,S3e=new tt,Hhi=new tt,D3e=new Re;function Vhi(o,A,f){let m=A.uniformState,C=m.sunPositionWC,E=m.view,I=m.viewProjection,x=m.projection,y=Re.computeViewportTransformation(f,0,1,D3e),v=Re.multiplyByPoint(E,C,Ghi),w=Vr.pointToGLWindowCoordinates(I,y,C,S3e);v.x+=De.SOLAR_RADIUS;let Q=Vr.pointToGLWindowCoordinates(x,y,v,v),M=tt.magnitude(tt.subtract(Q,w,Q))*30*2,B=Hhi;B.x=M,B.y=M,o._uCenter=tt.clone(w,o._uCenter),o._uRadius=Math.max(B.x,B.y)*.15;let D=A.drawingBufferWidth,S=A.drawingBufferHeight,P=o._stages,R=P.get(0),T=R.outputTexture.width,L=R.outputTexture.height,F=new _r;F.width=T,F.height=L,y=Re.computeViewportTransformation(F,0,1,D3e),w=Vr.pointToGLWindowCoordinates(I,y,C,S3e),B.x*=T/D,B.y*=L/S;let U=R.scissorRectangle;U.x=Math.max(w.x-B.x*.5,0),U.y=Math.max(w.y-B.y*.5,0),U.width=Math.min(B.x,D),U.height=Math.min(B.y,S);for(let N=1;N<4;++N)_r.clone(U,P.get(N).scissorRectangle)}yD.prototype.clear=function(o,A,f){this._sceneFramebuffer.clear(o,A,f),this._textureCache.clear(o)};yD.prototype.update=function(o){let A=o.context,f=o.viewport,m=this._sceneFramebuffer;m.update(A,f);let C=m.framebuffer;return this._textureCache.update(A),this._stages.update(A,!1),Vhi(this,A,f),C};yD.prototype.execute=function(o){let A=this._sceneFramebuffer.framebuffer.getColorTexture(0),f=this._stages,m=f.length;f.get(0).execute(o,A);for(let C=1;C<m;++C)f.get(C).execute(o,f.get(C-1).outputTexture)};yD.prototype.copy=function(o,A){if(!k(this._copyColorCommand)){let f=this;this._copyColorCommand=o.createViewportQuadCommand(OS,{uniformMap:{colorTexture:function(){return f._stages.get(f._stages.length-1).outputTexture}},owner:this})}this._copyColorCommand.framebuffer=A,this._copyColorCommand.execute(o)};yD.prototype.isDestroyed=function(){return!1};yD.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),ar(this)};var dve=yD;function Aqe(){this._cachedShowFrustumsShaders={}}function zhi(o){let A={},f=o.vertexAttributes;for(let m in f)f.hasOwnProperty(m)&&(A[m]=f[m].index);return A}function Yhi(o,A){let f=o.context,m=A,C=m.fragmentShaderSource.clone(),E=[];C.sources=C.sources.map(function(w){w=hr.replaceMain(w,"czm_Debug_main");let Q=/out_FragData_(\d+)/g,M;for(;(M=Q.exec(w))!==null;)E.indexOf(M[1])===-1&&E.push(M[1]);return w});let I=E.length,x="";x+=`uniform vec3 debugShowCommandsColor; `,x+=`uniform vec3 debugShowFrustumsColor; `,x+=`void main() { czm_Debug_main(); `;let y;if(I>0)for(y=0;y<I;++y)x+=` out_FragData_${E[y]}.rgb *= debugShowCommandsColor; `,x+=` out_FragData_${E[y]}.rgb *= debugShowFrustumsColor; `;else x+=` out_FragColor.rgb *= debugShowCommandsColor; `,x+=` out_FragColor.rgb *= debugShowFrustumsColor; `;x+="}",C.sources.push(x);let v=zhi(m);return Wa.fromCache({context:f,vertexShaderSource:m.vertexShaderSource,fragmentShaderSource:C,attributeLocations:v})}var z8=new qe;function Jhi(o,A){let f;return k(A.uniformMap)?f=A.uniformMap:f={},k(f.debugShowCommandsColor)||k(f.debugShowFrustumsColor)||(f.debugShowCommandsColor=function(){return o.debugShowCommands?(k(A._debugColor)||(A._debugColor=qe.fromRandom()),A._debugColor):qe.WHITE},f.debugShowFrustumsColor=function(){return o.debugShowFrustums?(z8.red=A.debugOverlappingFrustums&1?1:0,z8.green=A.debugOverlappingFrustums&2?1:0,z8.blue=A.debugOverlappingFrustums&4?1:0,z8.alpha=1,z8):qe.WHITE}),f}var Khi=new cn;Aqe.prototype.executeDebugShowFrustumsCommand=function(o,A,f){let m=A.shaderProgram.id,C=this._cachedShowFrustumsShaders[m];k(C)||(C=Yhi(o,A.shaderProgram),this._cachedShowFrustumsShaders[m]=C);let E=cn.shallowClone(A,Khi);E.shaderProgram=C,E.uniformMap=Jhi(o,A),E.execute(o.context,f)};var gve=Aqe,OX=function(o){return function(){o.frameState.afterRender.push(function(){o.requestRender()})}};function jl(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.canvas,f=o.creditContainer,m=o.creditViewport,C=En(o.contextOptions),E=k(f),I=new nIe(A,C);E||(f=document.createElement("div"),f.style.position="absolute",f.style.bottom="0",f.style["text-shadow"]="0 0 2px #000000",f.style.color="#ffffff",f.style["font-size"]="10px",f.style["padding-right"]="5px",A.parentNode.appendChild(f)),k(m)||(m=A.parentNode),this._id=Kl(),this._jobScheduler=new dye,this._frameState=new uye(I,new aye(f," \u2022 ",m),this._jobScheduler),this._frameState.scene3DOnly=ae(o.scene3DOnly,!1),this._removeCreditContainer=!E,this._creditContainer=f,this._canvas=A,this._context=I,this._computeEngine=new jEe(I),this._globe=void 0,this._globeTranslucencyState=new hye,this._primitives=new I1,this._primitivesQuadTrees=[],this._groundPrimitives=new I1,this._globeHeight=void 0,this._cameraUnderground=!1,this._logDepthBuffer=I.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new Ute,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=ae(o.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new sye(o.depthPlaneEllipsoidOffset),this._clearColorCommand=new QA({color:new qe,stencil:0,owner:this}),this._depthClearCommand=new QA({depth:1,owner:this}),this._stencilClearCommand=new QA({stencil:0}),this._classificationStencilClearCommand=new QA({stencil:0,renderState:Hr.fromCache({stencilMask:No.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new rve(this),this._preUpdate=new ir,this._postUpdate=new ir,this._renderError=new ir,this._preRender=new ir,this._postRender=new ir,this._minimumDisableDepthTestDistance=0,this._debugInspector=new gve,this._sunShaftEnabled=!1,this._msaaSamples=ae(o.msaaSamples,1),this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new ir,this.morphComplete=new ir,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=qe.clone(qe.BLACK),this._mode=ii.SCENE3D,this._mapProjection=k(o.mapProjection)?o.mapProjection:new md,this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.fog=new Aye,this._shadowMapCamera=new Ms(this),this.shadowMap=new yB({context:I,lightCamera:this._shadowMapCamera,enabled:ae(o.shadows,!1)}),this.textureProjectionMapList=new Array,this.viewShedMapList=[],this.invertClassification=!1,this.invertClassificationColor=qe.clone(qe.WHITE),this._actualInvertClassificationColor=qe.clone(this._invertClassificationColor),this._invertClassification=new Ste,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new Xye,this._brdfLutGenerator=new oye,this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new uve(this),this._cameraUnderground=!1,this._mapMode2D=ae(o.mapMode2D,oB.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=ae(o.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=ae(o.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=iv.requestCompletedEvent.addEventListener(OX(this)),this._removeTaskProcessorListenerCallback=Yh.taskCompletedEvent.addEventListener(OX(this)),this._removeGlobeCallbacks=[],this._removeTerrainProviderReadyListener=void 0;let x=new _r(0,0,I.drawingBufferWidth,I.drawingBufferHeight),y=new Ms(this);this._logDepthBuffer&&(y.frustum.near=.1,y.frustum.far=1e10),this.preloadFlightCamera=new Ms(this),this.preloadFlightCullingVolume=void 0,this._picking=new bye(this),this._defaultView=new Pte(this,y,x),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this._sunColor=new Z(2.3,2.35,2.5),this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentMapAtlas=void 0,this.light=new B4,this._loadPrimitiveFirst=!1,this._maxProjectionCount=4,uqe(this,0,jt.now()),this.updateFrameState(),this.initializeFrame()}function Whi(o,A){for(let m=0;m<o._removeGlobeCallbacks.length;++m)o._removeGlobeCallbacks[m]();o._removeGlobeCallbacks.length=0;let f=[];k(A)&&(f.push(A.imageryLayersUpdatedEvent.addEventListener(OX(o))),f.push(A.terrainProviderChanged.addEventListener(OX(o)))),o._removeGlobeCallbacks=f}Object.defineProperties(jl.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return On.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return On.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return DF.isSupported(this._context)}},globe:{get:function(){return this._globe},set:function(o){this._globe=this._globe&&this._globe.destroy(),this._globe=o,Whi(this,o)}},primitives:{get:function(){return this._primitives}},primitivesQuadTrees:{get:function(){return this._primitivesQuadTrees}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(o){this._view.camera=o}},view:{get:function(){return this._view},set:function(o){this._view=o}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(k(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(k(this.globe))return this.globe.terrainProvider},set:function(o){this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),k(this.globe)&&(this.globe.terrainProvider=o)}},terrainProviderChanged:{get:function(){if(k(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(o){o===ii.SCENE2D?this.morphTo2D(0):o===ii.SCENE3D?this.morphTo3D(0):o===ii.COLUMBUS_VIEW&&this.morphToColumbusView(0),this._mode=o}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},useWebVR:{get:function(){return this._useWebVR},set:function(o){this._useWebVR=o,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new Ms(this),k(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new lye(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},splitPosition:{get:function(){return this._frameState.splitPosition},set:function(o){this._frameState.splitPosition=o}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(o){this._minimumDisableDepthTestDistance=o}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(o){o=this._context.fragmentDepth&&o,this._logDepthBuffer!==o&&(this._logDepthBuffer=o,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(o){this._context.uniformState.gamma=o}},highDynamicRange:{get:function(){return this._hdr},set:function(o){let A=this._context,f=o&&A.depthTexture&&(A.colorBufferFloat||A.colorBufferHalfFloat);this._hdrDirty=f!==this._hdr,this._hdr=f}},highDynamicRangeSupported:{get:function(){let o=this._context;return o.depthTexture&&(o.colorBufferFloat||o.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},msaaSamples:{get:function(){return this._msaaSamples},set:function(o){o=Math.min(o,On.maximumSamples),this._msaaSamples=o}},msaaSupported:{get:function(){return this._context.msaa}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(o){this._frameState.pixelRatio=o}},opaqueFrustumNearOffset:{get:function(){return .9999}},sunShaftEnabled:{get:function(){return this._sunShaftEnabled},set:function(o){this._sunShaftEnabled=o}},loadPrimitiveFirst:{get:function(){return this._loadPrimitiveFirst},set:function(o){this._loadPrimitiveFirst=o}},globeHeight:{get:function(){return this._globeHeight}},maxProjectionCount:{get:function(){return this._maxProjectionCount},set:function(o){o<=1?o=1:o>100&&(o=100),this._maxProjectionCount=o}}});jl.prototype.getCompressedTextureFormatSupported=function(o){let A=this.context;return(o==="WEBGL_compressed_texture_s3tc"||o==="s3tc")&&A.s3tc||(o==="WEBGL_compressed_texture_pvrtc"||o==="pvrtc")&&A.pvrtc||(o==="WEBGL_compressed_texture_etc"||o==="etc")&&A.etc||(o==="WEBGL_compressed_texture_etc1"||o==="etc1")&&A.etc1||(o==="WEBGL_compressed_texture_astc"||o==="astc")&&A.astc||(o==="EXT_texture_compression_bptc"||o==="bc7")&&A.bc7};function M3e(o,A,f,m,C,E,I,x,y,v){A?o.perspectivesWithDepth=yz.createDerivedCommands(f,A,m,C,E,I,x,y,o.perspectivesWithDepth):(o.perspectives=xz.createDerivedCommands(f,m,C,E,I,x,y,o.perspectives),o.fisheyes=Iz.createDerivedCommands(f,m,C,E,I,y,o.fisheyes))}function T3e(o,A,f,m,C,E){let I=o._frameState,x=o._context,y=o._view.oit,v=I.shadowState.lightShadowMaps,w=I.shadowState.lightShadowsEnabled,Q=A.derivedCommands;k(A.pickId)&&(Q.picking=xm.createPickDerivedCommand(o,A,x,Q.picking)),A.pickOnly||(Q.depth=xm.createDepthOnlyDerivedCommand(o,A,x,Q.depth)),Q.originalCommand=A,o._hdr&&(Q.hdr=xm.createHdrCommand(A,x,Q.hdr),A=Q.hdr.command,Q=A.derivedCommands),w&&A.receiveShadows&&(Q.shadows=yB.createReceiveDerivedCommand(v,A,f,x,Q.shadows)),A.pass===zi.TRANSLUCENT&&k(y)&&y.isSupported()&&(w&&A.receiveShadows?(Q.oit=k(Q.oit)?Q.oit:{},Q.perspectivesWithDepth&&(Q.oit.shadows=y.createDerivedCommands(Q.perspectivesWithDepth.receiveCommand,x,Q.oit.shadows))):Q.oit=y.createDerivedCommands(A,x,Q.oit))}function P3e(o,A,f){let m=o._frameState,C=o._context,E=o._view.oit,I=m.viewShedState.lightShadowMaps,x=m.viewShedState.lightShadowsEnabled,y=A.derivedCommands;k(A.pickId)&&(y.picking=xm.createPickDerivedCommand(o,A,C,y.picking)),A.pickOnly||(y.depth=xm.createDepthOnlyDerivedCommand(o,A,C,y.depth)),y.originalCommand=A,o._hdr&&(y.hdr=xm.createHdrCommand(A,C,y.hdr),A=y.hdr.command,y=A.derivedCommands),x&&A.receiveShadows&&(y.viewShedMaps=_4.createReceiveDerivedCommand(I,A,f,C,y.viewShedMaps)),A.pass===zi.TRANSLUCENT&&k(E)&&E.isSupported()&&(x&&A.receiveShadows?y.oit=k(y.oit)?y.oit:{}:y.oit=E.createDerivedCommands(A,C,y.oit))}function R3e(o,A,f){let m=o._frameState,C=o._context,E=o._view.oit,I=m.shadowState.lightShadowMaps,x=m.shadowState.lightShadowsEnabled,y=A.derivedCommands;k(A.pickId)&&(y.picking=xm.createPickDerivedCommand(o,A,C,y.picking)),A.pickOnly||(y.depth=xm.createDepthOnlyDerivedCommand(o,A,C,y.depth)),y.originalCommand=A,o._hdr&&(y.hdr=xm.createHdrCommand(A,C,y.hdr),A=y.hdr.command,y=A.derivedCommands),x&&A.receiveShadows&&(y.shadows=yB.createReceiveDerivedCommand(I,A,f,C,y.shadows)),A.pass===zi.TRANSLUCENT&&k(E)&&E.isSupported()&&(x&&A.receiveShadows?(y.oit=k(y.oit)?y.oit:{},y.oit.shadows=E.createDerivedCommands(y.shadows.receiveCommand,C,y.oit.shadows)):y.oit=E.createDerivedCommands(A,C,y.oit))}jl.prototype.updateDerivedCommands=function(o){if(!k(o.derivedCommands))return;let A=this._frameState,f=this._context,m=o.derivedCommands,C=!1,E=A.shadowState.lastDirtyTime;o.lastDirtyTime!==E&&(o.lastDirtyTime=E,o.dirty=!0,C=!0);let I=A.useLogDepth,x=k(m.logDepth),y=I&&!x,v=A.textureProjecitonHints.shadowsEnabled,w=A.textureProjecitonHints.shadowMaps,Q=A.textureProjecitonHints.lightShadowMaps;if(v&&k(m)){let L=[],F=[];for(let N in w){let H=w[N];H._useDepth?F.push(H):L.push(H)}let U=!1;if(L.length>0&&k(o.receiveTextureProjectionList)&&o.receiveTextureProjectionList.length>0&&((x||y)&&(m.logDepth=xm.createLogDepthCommand(o,f,m.logDepth),M3e(m.logDepth.command.derivedCommands,!1,L,Q,m.logDepth.command,C,f,this._camera,this.maxProjectionCount),T3e(this,m.logDepth.command,C,!1,L,Q)),U=!0),F.length>0&&((x||y)&&(m.logDepth=xm.createLogDepthCommand(o,f,m.logDepth),M3e(m.logDepth.command.derivedCommands,!0,F,Q,o,C,f,this._camera,this.maxProjectionCount),o.castShadows&&(m.perspectivesWithDepth=m.logDepth.command.derivedCommands.perspectivesWithDepth),T3e(this,m.logDepth.command,C,!0,F,Q)),U=!0),U)return}let M=!1,B=A.viewShedState.lastDirtyTime;o.lastDirtyTime!==B&&(o.lastDirtyTime=B,o.dirty=!0,M=!0);let D=this._hdr,S=k(m.hdr),P=k(m.originalCommand),R=D&&!S,T=(!I||!D)&&!P;if(o.dirty=o.dirty||y||R||T,o.dirty){o.dirty=!1;let L=A.viewShedState.shadowMaps;A.viewShedState.shadowsEnabled&&o.castShadows&&(m.viewShedMaps=_4.createCastDerivedCommand(L,o,M,f,m.viewShedMaps)),(x||y)&&(m.logDepth=xm.createLogDepthCommand(o,f,m.logDepth),P3e(this,m.logDepth.command,M)),(P||T)&&P3e(this,o,M)}if(C=!1,o.lastDirtyTime!==E&&(o.lastDirtyTime=E,o.dirty=!0,C=!0),o.dirty=o.dirty||y||R||T,o.dirty){o.dirty=!1;let L=A.shadowState.shadowMaps;A.shadowState.shadowsEnabled&&o.castShadows&&(m.shadows=yB.createCastDerivedCommand(L,o,C,f,m.shadows)),(x||y)&&(m.logDepth=xm.createLogDepthCommand(o,f,m.logDepth),R3e(this,m.logDepth.command,C)),(P||T)&&R3e(this,o,C)}};var qhi=new CD({pass:kd.RENDER}),Vle=new CD({pass:kd.PRELOAD}),zle=new CD({pass:kd.PRELOAD_FLIGHT}),jhi=new CD({pass:kd.REQUEST_RENDER_MODE_DEFER_CHECK}),L3e=new si,Yle;function Xhi(o){let A=o.globe;if(o._mode===ii.SCENE3D&&k(A)&&A.show&&!o._cameraUnderground&&!o._globeTranslucencyState.translucent){let f=A.ellipsoid,m=o.frameState.minimumTerrainHeight;return L3e.radius=f.minimumRadius+m,Yle=nye.fromBoundingSphere(L3e,o.camera.positionWC,Yle),Yle}}jl.prototype.clearPasses=function(o){o.render=!1,o.pick=!1,o.depth=!1,o.postProcess=!1,o.offscreen=!1};function uqe(o,A,f){let m=o._frameState;m.frameNumber=A,m.time=jt.clone(f,m.time)}jl.prototype.updateFrameState=function(){let o=this.camera,A=this._frameState;A.commandList.length=0,A.shadowMaps.length=0,A.textureProjectionMaps.length=0,A.viewShedMaps.length=0,A.brdfLutGenerator=this._brdfLutGenerator,A.environmentMap=this.skyBox&&this.skyBox._cubeMap,A.mode=this._mode,A.morphTime=this.morphTime,A.mapProjection=this.mapProjection,A.camera=o,A.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),k(o.frustum.computeCullingVolumeForTileset)&&(A.cullingVolumeForTileset=o.frustum.computeCullingVolumeForTileset(o.positionWC,o.directionWC,o.upWC)),A.occluder=Xhi(this),A.minimumTerrainHeight=0,A.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,A.invertClassification=this.invertClassification,A.sunColor=this._sunColor,A.light=this.light,A.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof $a||this.camera.frustum instanceof Eg),A.light=this.light,A.cameraUnderground=this._cameraUnderground,A.globeTranslucencyState=this._globeTranslucencyState,k(this.globe)&&(A.terrainExaggeration=this.globe.terrainExaggeration,A.terrainExaggerationRelativeHeight=this.globe.terrainExaggerationRelativeHeight),k(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready?(A.specularEnvironmentMaps=this._specularEnvironmentMapAtlas.texture,A.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentMapAtlas.maximumMipmapLevel):(A.specularEnvironmentMaps=void 0,A.specularEnvironmentMapsMaximumLOD=void 0),A.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=qe.clone(this.invertClassificationColor,this._actualInvertClassificationColor),Ste.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),A.invertClassificationColor=this._actualInvertClassificationColor,k(this.globe)?A.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:A.maximumScreenSpaceError=2,this.clearPasses(A.passes),A.tilesetPassState=void 0};jl.prototype.isVisible=function(o,A,f){return k(o)&&(!k(o.boundingVolume)||!o.cull||A.computeVisibility(o.boundingVolume)!==Wo.OUTSIDE&&(!k(f)||!o.occlude||!o.boundingVolume.isOccluded(f)))};var lj=new Re(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);lj=Re.inverseTransformation(lj,lj);function Zhi(o,A,f,m){let C=A._frameState,E=C.context,I=o.boundingVolume;k(A._debugVolume)&&A._debugVolume.destroy();let x,y=Z.clone(I.center);if(C.mode!==ii.SCENE3D){y=Re.multiplyByPoint(lj,y,y);let M=C.mapProjection,B=M.unproject(y);y=M.ellipsoid.cartographicToCartesian(B)}if(k(I.radius)){let M=I.radius;x=gA.toWireframe(I0.createGeometry(new I0({radii:new Z(M,M,M),vertexFormat:ma.FLAT_VERTEX_FORMAT}))),A._debugVolume=new pa({geometryInstances:new Un({geometry:x,modelMatrix:Re.fromTranslation(y),attributes:{color:new vo(1,0,0,1)}}),appearance:new ma({flat:!0,translucent:!1}),asynchronous:!1})}else{let M=I.halfAxes;x=gA.toWireframe(RS.createGeometry(RS.fromDimensions({dimensions:new Z(2,2,2),vertexFormat:ma.FLAT_VERTEX_FORMAT}))),A._debugVolume=new pa({geometryInstances:new Un({geometry:x,modelMatrix:Re.fromRotationTranslation(M,y,new Re),attributes:{color:new vo(1,0,0,1)}}),appearance:new ma({flat:!0,translucent:!1}),asynchronous:!1})}let v=C.commandList,w=C.commandList=[];A._debugVolume.update(C),o=w[0],C.useLogDepth&&(o=xm.createLogDepthCommand(o,E).command);let Q;k(m)&&(Q=f.framebuffer,f.framebuffer=m),o.execute(E,f),k(Q)&&(f.framebuffer=Q),C.commandList=v}function ff(o,A,f,m,C){let E=A._frameState;if(k(A.debugCommandFilter)&&!A.debugCommandFilter(o))return;if(o instanceof QA){o.execute(f,m);return}o.debugShowBoundingVolume&&k(o.boundingVolume)&&Zhi(o,A,m,C),E.useLogDepth&&k(o.derivedCommands.logDepth)&&(o=o.derivedCommands.logDepth.command);let I=E.passes;if(!I.pick&&!I.depth&&A._hdr&&k(o.derivedCommands)&&k(o.derivedCommands.hdr)&&(o=o.derivedCommands.hdr.command),I.pick||I.depth){if(I.pick&&!I.depth&&k(o.derivedCommands.picking)){o=o.derivedCommands.picking.pickCommand,o.execute(f,m);return}else if(k(o.derivedCommands.depth)){o=o.derivedCommands.depth.depthOnlyCommand,o.execute(f,m);return}}if(A.debugShowCommands||A.debugShowFrustums){A._debugInspector.executeDebugShowFrustumsCommand(A,o,m);return}let x=A.frameState.textureProjecitonHints.shadowsEnabled&&A.frameState.textureProjecitonHints.lightShadowMaps.length>0,y=k(o.derivedCommands.fisheyes),v=k(o.derivedCommands.perspectives),w=k(o.derivedCommands.perspectivesWithDepth);x&&(y||v||w)?(v&&o.derivedCommands.perspectives.receiveCommand.execute(f,m),w&&o.derivedCommands.perspectivesWithDepth.receiveCommand.execute(f,m),y&&o.derivedCommands.fisheyes.receiveCommand.execute(f,m)):E.viewShedState.lightShadowsEnabled&&k(o.derivedCommands.viewShedMaps)?o.derivedCommands.viewShedMaps.receiveCommand.execute(f,m):E.shadowState.lightShadowsEnabled&&o.receiveShadows&&k(o.derivedCommands.shadows)?o.derivedCommands.shadows.receiveCommand.execute(f,m):o.execute(f,m)}function Y8(o,A,f,m){let C=A._frameState,E=o.derivedCommands;k(E)&&(C.useLogDepth&&k(E.logDepth)&&(o=E.logDepth.command),E=o.derivedCommands,k(E.picking)?(o=E.picking.pickCommand,o.execute(f,m)):k(E.depth)&&(o=E.depth.depthOnlyCommand,o.execute(f,m)))}function cqe(o,A,f){return A.boundingVolume.distanceSquaredTo(f)-o.boundingVolume.distanceSquaredTo(f)}function $hi(o,A,f){return o.boundingVolume.distanceSquaredTo(f)-A.boundingVolume.distanceSquaredTo(f)+De.EPSILON12}function edi(o,A,f,m,C){let E=o.context;V4(m,cqe,o.camera.positionWC),k(C)&&A(C.unclassifiedCommand,o,E,f);let I=m.length;for(let x=0;x<I;++x)A(m[x],o,E,f)}function tdi(o,A,f,m,C){let E=o.context;V4(m,$hi,o.camera.positionWC),k(C)&&A(C.unclassifiedCommand,o,E,f);let I=m.length;for(let x=0;x<I;++x)A(m[x],o,E,f)}function idi(o,A,f,m){let C=o.context;V4(m,cqe,o.camera.positionWC);let E=m.length;for(let I=0;I<E;++I)A(m[I],o,C,f)}var hqe=new lA,dqe=new X1,gqe=new $a,fqe=new Eg;function GX(o,A){let f=o.camera,m=o.context,C=o.frameState,E=m.uniformState;E.updateCamera(f);let I;k(f.frustum.fov)?I=f.frustum.clone(hqe):k(f.frustum.infiniteProjectionMatrix)?I=f.frustum.clone(dqe):k(f.frustum.width)?I=f.frustum.clone(gqe):I=f.frustum.clone(fqe),I.near=f.frustum.near,I.far=f.frustum.far,E.updateFrustum(I),E.updatePass(zi.ENVIRONMENT);let x=C.passes,y=x.pick,v=o._environmentState,w=o._view,Q=v.renderTranslucentDepthForPick,M=v.useWebVR;if(!y){let ee=v.skyBoxCommand;if(k(ee)&&ff(ee,o,m,A),v.isSkyAtmosphereVisible&&ff(v.skyAtmosphereCommand,o,m,A),v.isSunVisible&&(v.sunDrawCommand.execute(m,A),o.sunBloom&&!M)){let ie;v.useGlobeDepthFramebuffer?ie=w.globeDepth.framebuffer:v.usePostProcess?ie=w.sceneFramebuffer.framebuffer:ie=v.originalFramebuffer,o._sunPostProcess.execute(m),o._sunPostProcess.copy(m,ie),A.framebuffer=ie}v.isMoonVisible&&v.moonCommand.execute(m,A)}let B;v.useOIT?(k(o._executeOITFunction)||(o._executeOITFunction=function(ee,ie,z,oe,le){w.globeDepth.prepareColorTextures(m),w.oit.executeCommands(ee,ie,z,oe,le)}),B=o._executeOITFunction):x.render?B=edi:B=tdi;let D=w.frustumCommandsList,S=D.length,P=v.clearGlobeDepth,R=v.useDepthPlane,T=o._globeTranslucencyState,L=T.translucent,F=o._view.globeTranslucencyFramebuffer,U=o._depthClearCommand,N=o._stencilClearCommand,H=o._classificationStencilClearCommand,J=o._depthPlane,K=v.usePostProcessSelected,X=f.position.z,j;for(let ee=0;ee<S;++ee){let ie=S-ee-1,z=D[ie];o.mode===ii.SCENE2D?(f.position.z=X-z.near+1,I.far=Math.max(1,z.far-z.near),I.near=1,E.update(C),E.updateFrustum(I)):(I.near=ie!==0?z.near*o.opaqueFrustumNearOffset:z.near,I.far=z.far,E.updateFrustum(I)),U.execute(m,A),m.stencilBuffer&&N.execute(m,A),E.updatePass(zi.GLOBE);let oe=z.commands[zi.GLOBE],le=z.indices[zi.GLOBE];if(L)T.executeGlobeCommands(z,ff,F,o,A);else for(j=0;j<le;++j)ff(oe[j],o,m,A);let Ae=w.globeDepth;if(k(Ae)&&v.useGlobeDepthFramebuffer&&Ae.executeCopyDepth(m,A),!v.renderTranslucentDepthForPick)if(E.updatePass(zi.TERRAIN_CLASSIFICATION),oe=z.commands[zi.TERRAIN_CLASSIFICATION],le=z.indices[zi.TERRAIN_CLASSIFICATION],L)T.executeGlobeClassificationCommands(z,ff,F,o,A);else for(j=0;j<le;++j)ff(oe[j],o,m,A);if(P&&(U.execute(m,A),R&&J.execute(m,A)),!v.useInvertClassification||y||v.renderTranslucentDepthForPick){for(E.updatePass(zi.CESIUM_3D_TILE),oe=z.commands[zi.CESIUM_3D_TILE],le=z.indices[zi.CESIUM_3D_TILE],j=0;j<le;++j)ff(oe[j],o,m,A);if(le>0&&(k(Ae)&&v.useGlobeDepthFramebuffer&&(Ae.prepareColorTextures(m,P),Ae.executeUpdateDepth(m,A,P,Ae.depthStencilTexture)),!v.renderTranslucentDepthForPick))for(E.updatePass(zi.CESIUM_3D_TILE_CLASSIFICATION),oe=z.commands[zi.CESIUM_3D_TILE_CLASSIFICATION],le=z.indices[zi.CESIUM_3D_TILE_CLASSIFICATION],j=0;j<le;++j)ff(oe[j],o,m,A)}else{o._invertClassification.clear(m,A);let de=A.framebuffer;for(A.framebuffer=o._invertClassification._fbo.framebuffer,E.updatePass(zi.CESIUM_3D_TILE),oe=z.commands[zi.CESIUM_3D_TILE],le=z.indices[zi.CESIUM_3D_TILE],j=0;j<le;++j)ff(oe[j],o,m,A);for(k(Ae)&&v.useGlobeDepthFramebuffer&&(o._invertClassification.prepareTextures(m),Ae.executeUpdateDepth(m,A,P,o._invertClassification._fbo.getDepthStencilTexture())),E.updatePass(zi.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),oe=z.commands[zi.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],le=z.indices[zi.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],j=0;j<le;++j)ff(oe[j],o,m,A);for(A.framebuffer=de,o._invertClassification.executeClassified(m,A),C.invertClassificationColor.alpha===1&&o._invertClassification.executeUnclassified(m,A),le>0&&m.stencilBuffer&&H.execute(m,A),E.updatePass(zi.CESIUM_3D_TILE_CLASSIFICATION),oe=z.commands[zi.CESIUM_3D_TILE_CLASSIFICATION],le=z.indices[zi.CESIUM_3D_TILE_CLASSIFICATION],j=0;j<le;++j)ff(oe[j],o,m,A)}for(le>0&&m.stencilBuffer&&N.execute(m,A),E.updatePass(zi.VOXELS),oe=z.commands[zi.VOXELS],le=z.indices[zi.VOXELS],oe.length=le,idi(o,ff,A,oe),E.updatePass(zi.OPAQUE),oe=z.commands[zi.OPAQUE],le=z.indices[zi.OPAQUE],j=0;j<le;++j)ff(oe[j],o,m,A);ie!==0&&o.mode!==ii.SCENE2D&&(I.near=z.near,E.updateFrustum(I));let he;if(!y&&v.useInvertClassification&&C.invertClassificationColor.alpha<1&&(he=o._invertClassification),E.updatePass(zi.TRANSLUCENT),oe=z.commands[zi.TRANSLUCENT],oe.length=z.indices[zi.TRANSLUCENT],B(o,ff,A,oe,he),z.indices[zi.CESIUM_3D_TILE_CLASSIFICATION]>0&&w.translucentTileClassification.isSupported()&&(w.translucentTileClassification.executeTranslucentCommands(o,ff,A,oe,Ae.depthStencilTexture),w.translucentTileClassification.executeClassificationCommands(o,ff,A,z)),m.depthTexture&&o.useDepthPicking&&(v.useGlobeDepthFramebuffer||Q)){let de=Ae.depthStencilTexture,fe=o._picking.getPickDepth(o,ie);fe.update(m,de),fe.executeCopyDepth(m,A)}if(y||!K)continue;let ge=A.framebuffer;if(A.framebuffer=w.sceneFramebuffer.getIdFramebuffer(),I.near=ie!==0?z.near*o.opaqueFrustumNearOffset:z.near,I.far=z.far,E.updateFrustum(I),E.updatePass(zi.GLOBE),oe=z.commands[zi.GLOBE],le=z.indices[zi.GLOBE],L)T.executeGlobeCommands(z,Y8,F,o,A);else for(j=0;j<le;++j)Y8(oe[j],o,m,A);for(P&&(U.framebuffer=A.framebuffer,U.execute(m,A),U.framebuffer=void 0),P&&R&&J.execute(m,A),E.updatePass(zi.CESIUM_3D_TILE),oe=z.commands[zi.CESIUM_3D_TILE],le=z.indices[zi.CESIUM_3D_TILE],j=0;j<le;++j)Y8(oe[j],o,m,A);for(E.updatePass(zi.OPAQUE),oe=z.commands[zi.OPAQUE],le=z.indices[zi.OPAQUE],j=0;j<le;++j)Y8(oe[j],o,m,A);for(E.updatePass(zi.TRANSLUCENT),oe=z.commands[zi.TRANSLUCENT],le=z.indices[zi.TRANSLUCENT],j=0;j<le;++j)Y8(oe[j],o,m,A);A.framebuffer=ge}}function fve(o){o.context.uniformState.updatePass(zi.COMPUTE);let A=o._environmentState.sunComputeCommand;k(A)&&A.execute(o._computeEngine);let f=o._computeCommandList,m=f.length;for(let C=0;C<m;++C)f[C].execute(o._computeEngine)}function rdi(o,A){o.context.uniformState.updatePass(zi.OVERLAY);let f=o.context,m=o._overlayCommandList,C=m.length;for(let E=0;E<C;++E)m[E].execute(f,A)}function pve(o,A,f,m){m=ae(m,!0);let C=f.shadowMapCullingVolume,E=f.isPointLight,I=f.passes,x=I.length,y=A.length;for(let v=0;v<y;++v){let w=A[v];if(m&&o.updateDerivedCommands(w),w.castShadows&&(w.pass===zi.GLOBE||w.pass===zi.CESIUM_3D_TILE||w.pass===zi.OPAQUE||w.pass===zi.TRANSLUCENT)&&o.isVisible(w,C))if(E)for(let Q=0;Q<x;++Q)I[Q].commandList.push(w);else if(x===1)I[0].commandList.push(w);else{let Q=!1;for(let M=x-1;M>=0;--M){let B=I[M].cullingVolume;if(o.isVisible(w,B))I[M].commandList.push(w),Q=!0;else if(Q)break}}}}function mve(o){let A=o.frameState,f=A.shadowState.shadowMaps,m=f.length;if(!A.shadowState.shadowsEnabled)return;let C=o.context,E=C.uniformState;for(let I=0;I<m;++I){let x=f[I];if(x.outOfView)continue;let y=x.passes,v=y.length;for(let Q=0;Q<v;++Q)y[Q].commandList.length=0;let w=o.frameState.commandList;pve(o,w,x);for(let Q=0;Q<v;++Q){let M=x.passes[Q];E.updateCamera(M.camera),x.updatePass(C,Q);let B=M.commandList.length;for(let D=0;D<B;++D){let S=M.commandList[D];E.updatePass(S.pass),ff(S.derivedCommands.shadows.castCommands[I],o,C,M.passState)}}}}function pqe(o){let A=o.frameState,f=[];for(let I in A.viewShedState.shadowMaps){let x=A.viewShedState.shadowMaps[I];f.push(x)}let m=f.length;if(!A.viewShedState.shadowsEnabled)return;let C=o.context,E=C.uniformState;for(let I=0;I<m;++I){let x=f[I];if(x.outOfView)continue;let y,v=x.passes,w=v.length;for(y=0;y<w;++y)v[y].commandList.length=0;let Q=o.frameState.commandList;for(pve(o,Q,x),y=0;y<w;++y){let M=x.passes[y];E.updateCamera(M.camera),x.updatePass(C,y);let B=M.commandList.length;for(let D=0;D<B;++D){let S=M.commandList[D];k(S.derivedCommands.viewShedMaps)&&(S.derivedCommands.viewShedMaps.castCommands.length<m||(E.updatePass(S.pass),ff(S.derivedCommands.viewShedMaps.castCommands[I],o,C,M.passState)))}}}}function mqe(o){let A=o.frameState;if(!A.textureProjecitonHints.shadowsEnabled)return;let f=[];for(let I in A.textureProjecitonHints.shadowMaps){let x=A.textureProjecitonHints.shadowMaps[I];x._useDepth&&!x.outOfView&&f.push(x)}let m=f.length,C=o.context,E=C.uniformState;for(let I=0;I<m;++I){let x=f[I],y,v=x.passes,w=v.length;for(y=0;y<w;++y)v[y].commandList.length=0;let Q=o.frameState.commandList;for(pve(o,Q,x,!1),y=0;y<w;++y){let M=x.passes[y];E.updateCamera(M.camera),x.updatePass(C,y);let B=M.commandList.length;for(let D=0;D<B;++D){let S=M.commandList[D];k(S.derivedCommands.perspectivesWithDepth)&&(S.derivedCommands.perspectivesWithDepth.castCommands.length<m||(E.updatePass(S.pass),ff(S.derivedCommands.perspectivesWithDepth.castCommands[I],o,C,M.passState)))}}}}var ndi=new Z;jl.prototype.updateAndExecuteCommands=function(o,A){let f=this._frameState.mode;this._environmentState.useWebVR?Cqe(this,o,A):f!==ii.SCENE2D||this._mapMode2D===oB.ROTATE?yT(!0,this,o,A):(QY(this,o,A),Eqe(this,o))};jl.prototype.updateAndExecuteCommandszh=function(o,A){let f=this._frameState.mode;this._environmentState.useWebVR?Cqe(this,o,A):f!==ii.SCENE2D||this._mapMode2D===oB.ROTATE?ddi(!0,this,o,A):(QY(this,o,A),Eqe(this,o))};function Cqe(o,A,f){let m=o._view,C=m.camera,E=o._environmentState.renderTranslucentDepthForPick;QY(o,A,f),yqe(o),m.createPotentiallyVisibleSet(o),fve(o),E||(mve(o),mqe(o),pqe(o));let I=A.viewport;I.x=0,I.y=0,I.width=I.width*.5;let x=Ms.clone(C,o._cameraVR);x.frustum=C.frustum;let y=C.frustum.near,v=y*ae(o.focalLength,5),w=ae(o.eyeSeparation,v/30),Q=Z.multiplyByScalar(x.right,w*.5,ndi);C.frustum.aspectRatio=I.width/I.height;let M=.5*w*y/v;Z.add(x.position,Q,C.position),C.frustum.xOffset=M,GX(o,A),I.x=I.width,Z.subtract(x.position,Q,C.position),C.frustum.xOffset=-M,GX(o,A),Ms.clone(x,C)}var odi=new Lt(Math.PI,De.PI_OVER_TWO),adi=new Z,sdi=new Z,ldi=new Re,Adi=new Re,udi=new Z,cdi=new Z,hdi=new _r;function Eqe(o,A){let f=o.context,m=o.frameState,C=o.camera,E=A.viewport,I=_r.clone(E,hdi);A.viewport=I;let x=odi,y=adi;o.mapProjection.project(x,y);let v=Z.clone(C.position,sdi),w=Re.clone(C.transform,Adi),Q=C.frustum.clone();C._setTransform(Re.IDENTITY);let M=Re.computeViewportTransformation(I,0,1,ldi),B=C.frustum.projectionMatrix,D=C.positionWC.y,S=Z.fromElements(De.sign(D)*y.x-D,0,-C.positionWC.x,udi),P=Vr.pointToGLWindowCoordinates(B,M,S,cdi);P.x=Math.floor(P.x);let R=I.x,T=I.width;if(D===0||P.x<=R||P.x>=R+T)yT(!0,o,A);else if(Math.abs(R+T*.5-P.x)<1)I.width=P.x-I.x,C.position.x*=De.sign(C.position.x),C.frustum.right=0,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),yT(!0,o,A),I.x=P.x,C.position.x=-C.position.x,C.frustum.right=-C.frustum.left,C.frustum.left=0,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),yT(!1,o,A);else if(P.x>R+T*.5){I.width=P.x-R;let L=C.frustum.right;C.frustum.right=y.x-D,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),yT(!0,o,A),I.x=P.x,I.width=R+T-P.x,C.position.x=-C.position.x,C.frustum.left=-C.frustum.right,C.frustum.right=L-C.frustum.right*2,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),yT(!1,o,A)}else{I.x=P.x,I.width=R+T-P.x;let L=C.frustum.left;C.frustum.left=-y.x-D,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),yT(!0,o,A),I.x=R,I.width=P.x-R,C.position.x=-C.position.x,C.frustum.right=-C.frustum.left,C.frustum.left=L-C.frustum.left*2,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),yT(!1,o,A)}C._setTransform(w),Z.clone(v,C.position),C.frustum=Q.clone(),A.viewport=E}function yT(o,A,f,m){let C=A._environmentState,E=A._view,I=C.renderTranslucentDepthForPick;o||(A.frameState.commandList.length=0),yqe(A),E.createPotentiallyVisibleSet(A),o&&(k(m)&&QY(A,f,m),fve(A),I||(mve(A),mqe(A),pqe(A))),GX(A,f)}function ddi(o,A,f,m){let C=A._environmentState,E=A._view,I=C.renderTranslucentDepthForPick;!o&&!I&&(A.frameState.commandList.length=0),I||pdi(A),E.createPotentiallyVisibleSet(A),o&&(k(m)&&QY(A,f,m),I||(fve(A),mve(A))),GX(A,f)}var F3e=new qg;jl.prototype.updateEnvironment=function(){let o=this._frameState,A=this._view,f=this._environmentState,m=o.passes.render,C=o.passes.offscreen,E=this.skyAtmosphere,I=this.globe,x=this._globeTranslucencyState;if(!m||this._mode!==ii.SCENE2D&&A.camera.frustum instanceof $a||!x.environmentVisible)f.skyAtmosphereCommand=void 0,f.skyBoxCommand=void 0,f.sunDrawCommand=void 0,f.sunComputeCommand=void 0,f.moonCommand=void 0;else{k(E)?(k(I)&&(E.setDynamicAtmosphereColor(I.enableLighting&&I.dynamicAtmosphereLighting,I.dynamicAtmosphereLightingFromSun),f.isReadyForAtmosphere=f.isReadyForAtmosphere||I._surface._tilesToRender.length>0),f.skyAtmosphereCommand=E.update(o,I)):f.skyAtmosphereCommand=void 0,f.skyBoxCommand=k(this.skyBox)?this.skyBox.update(o,this._hdr):void 0;let D=k(this.sun)?this.sun.update(o,A.passState,this._hdr):void 0;f.sunDrawCommand=k(D)?D.drawCommand:void 0,f.sunComputeCommand=k(D)?D.computeCommand:void 0,f.moonCommand=k(this.moon)?this.moon.update(o):void 0}let y=f.clearGlobeDepth=k(I)&&I.show&&(!I.depthTestAgainstTerrain||this.mode===ii.SCENE2D);(f.useDepthPlane=y&&this.mode===ii.SCENE3D&&x.useDepthPlane)&&this._depthPlane.update(o),f.renderTranslucentDepthForPick=!1,f.useWebVR=this._useWebVR&&this.mode!==ii.SCENE2D&&!C;let v=o.mode===ii.SCENE3D&&!x.sunVisibleThroughGlobe?o.occluder:void 0,w=o.cullingVolume,Q=F3e.planes;for(let D=0;D<5;++D)Q[D]=w.planes[D];w=F3e,f.isSkyAtmosphereVisible=k(f.skyAtmosphereCommand)&&f.isReadyForAtmosphere,f.isSunVisible=this.isVisible(f.sunDrawCommand,w,v),f.isMoonVisible=this.isVisible(f.moonCommand,w,v);let M=this.specularEnvironmentMaps,B=this._specularEnvironmentMapAtlas;k(M)&&(!k(B)||B.url!==M)?(B=B&&B.destroy(),this._specularEnvironmentMapAtlas=new DF(M)):!k(M)&&k(B)&&(B.destroy(),this._specularEnvironmentMapAtlas=void 0),k(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.update(o)};function Iqe(o){let A=o._frameState;o.debugShowFrustumPlanes!==o._debugShowFrustumPlanes&&(o.debugShowFrustumPlanes?o._debugFrustumPlanes=new hd({camera:o.camera,updateOnChange:!1,frustumSplits:A.frustumSplits}):o._debugFrustumPlanes=o._debugFrustumPlanes&&o._debugFrustumPlanes.destroy(),o._debugShowFrustumPlanes=o.debugShowFrustumPlanes),k(o._debugFrustumPlanes)&&o._debugFrustumPlanes.update(A)}function xqe(o){let A=o._frameState,f=A.shadowMaps,m=f.length,C=m>0&&!A.passes.pick&&o.mode===ii.SCENE3D;if(C!==A.shadowState.shadowsEnabled&&(++A.shadowState.lastDirtyTime,A.shadowState.shadowsEnabled=C),A.shadowState.lightShadowsEnabled=!1,!!C){for(let E=0;E<m;++E)if(f[E]!==A.shadowState.shadowMaps[E]){++A.shadowState.lastDirtyTime;break}A.shadowState.shadowMaps.length=0,A.shadowState.lightShadowMaps.length=0;for(let E=0;E<m;++E){let I=f[E];I.update(A),A.shadowState.shadowMaps.push(I),I.fromLightSource&&(A.shadowState.lightShadowMaps.push(I),A.shadowState.lightShadowsEnabled=!0),I.dirty&&(++A.shadowState.lastDirtyTime,I.dirty=!1)}}}function gdi(o){let A=o._frameState,f=A.textureProjectionMaps,m=f.length,C=m>0&&!A.passes.pick&&o.mode===ii.SCENE3D;if(C!==A.textureProjecitonHints.shadowsEnabled&&(++A.textureProjecitonHints.lastDirtyTime,A.textureProjecitonHints.shadowsEnabled=C),!!C){for(let E=0;E<m;++E)if(f[E]!==A.textureProjecitonHints.shadowMaps[E]){++A.textureProjecitonHints.lastDirtyTime;break}A.textureProjecitonHints.shadowMaps.length=0,A.textureProjecitonHints.lightShadowMaps.length=0;for(let E=0;E<m;++E){let I=f[E];I.update(A),A.textureProjecitonHints.shadowMaps.push(I),I.fromLightSource&&A.textureProjecitonHints.lightShadowMaps.push(I),I.dirty&&(++A.textureProjecitonHints.lastDirtyTime,I.dirty=!1)}}}function fdi(o){let A=o._frameState,f=A.viewShedMaps,m=f.length,C=m>0&&!A.passes.pick&&o.mode===ii.SCENE3D;if(C!==A.viewShedState.shadowsEnabled&&(++A.viewShedState.lastDirtyTime,A.viewShedState.shadowsEnabled=C),A.viewShedState.lightShadowsEnabled=!1,!!C){for(let E=0;E<m;++E)if(f[E]!==A.viewShedState.shadowMaps[E]){++A.viewShedState.lastDirtyTime;break}A.viewShedState.shadowMaps.length=0,A.viewShedState.lightShadowMaps.length=0;for(let E=0;E<m;++E){let I=f[E];I.update(A),A.viewShedState.shadowMaps.push(I),A.viewShedState.lightShadowMaps.push(I),A.viewShedState.lightShadowsEnabled=!0,I.dirty&&(++A.viewShedState.lastDirtyTime,I.dirty=!1)}}}function yqe(o){let A=o._frameState;o.loadPrimitiveFirst?(o._primitives.update(A),o._groundPrimitives.update(A)):(o._groundPrimitives.update(A),o._primitives.update(A)),Iqe(o),xqe(o),gdi(o),fdi(o),o._globe&&o._globe.render(A)}function pdi(o){let A=o._frameState;o._groundPrimitives.update(A),o._primitives.update(A),o.UpdateQuad(A),Iqe(o),xqe(o),o._globe&&o._globe.render(A)}function QY(o,A,f){let m=o._context,C=o._frameState,E=o._environmentState,I=o._view,x=o._frameState.passes.pick;k(I.globeDepth)&&(I.globeDepth.picking=x);let y=E.useWebVR;E.originalFramebuffer=A.framebuffer,k(o.sun)&&o.sunBloom!==o._sunBloom?(o.sunBloom&&!y?o._sunPostProcess=new dve:k(o._sunPostProcess)&&(o._sunPostProcess=o._sunPostProcess.destroy()),o._sunBloom=o.sunBloom):!k(o.sun)&&k(o._sunPostProcess)&&(o._sunPostProcess=o._sunPostProcess.destroy(),o._sunBloom=!1);let v=o._clearColorCommand;qe.clone(f,v.color),v.execute(m,A);let w=E.useGlobeDepthFramebuffer=k(I.globeDepth);w&&(I.globeDepth.update(m,A,I.viewport,o.msaaSamples,o._hdr,E.clearGlobeDepth),I.globeDepth.clear(m,A,f));let Q=I.oit,M=E.useOIT=!x&&k(Q)&&Q.isSupported();M&&(Q.update(m,A,I.globeDepth.colorFramebufferManager,o._hdr,o.msaaSamples),Q.clear(m,A,f),E.useOIT=Q.isSupported());let B=o.postProcessStages;o._sunShaftEnabled&&E.isSunVisible?B.sunShaft.enabled=!0:B.sunShaft.enabled=!1;let D=E.usePostProcess=!x&&(o._hdr||B.length>0||B.ambientOcclusion.enabled||B.fxaa.enabled||B.bloom.enabled);if(E.usePostProcessSelected=!1,D){if(I.sceneFramebuffer.update(m,I.viewport,o._hdr,o.msaaSamples),I.sceneFramebuffer.clear(m,A,f),B.sunShaft.enabled){B.sunShaft.uniforms.u_size=o.sun._size;let S=C.mode;S===ii.SCENE3D?si.clone(o.sun._boundingVolume,B.sunShaft._sunBoundingVolume):S===ii.COLUMBUS_VIEW&&si.clone(o.sun._boundingVolume2D,B.sunShaft._sunBoundingVolume)}B.update(m,C.useLogDepth,o._hdr),B.clear(m),D=E.usePostProcess=B.ready,E.usePostProcessSelected=D&&B.hasSelected}if(E.isSunVisible&&o.sunBloom&&!y?(A.framebuffer=o._sunPostProcess.update(A),o._sunPostProcess.clear(m,A,f)):w?A.framebuffer=I.globeDepth.framebuffer:D&&(A.framebuffer=I.sceneFramebuffer.framebuffer),k(A.framebuffer)&&v.execute(m,A),E.useInvertClassification=!x&&k(A.framebuffer)&&o.invertClassification){let S;if(o.frameState.invertClassificationColor.alpha===1&&E.useGlobeDepthFramebuffer&&(S=I.globeDepth.framebuffer),k(S)||m.depthTexture){if(o._invertClassification.previousFramebuffer=S,o._invertClassification.update(m,o.msaaSamples,I.globeDepth.colorFramebufferManager),o._invertClassification.clear(m,A),o.frameState.invertClassificationColor.alpha<1&&M){let P=o._invertClassification.unclassifiedCommand,R=P.derivedCommands;R.oit=Q.createDerivedCommands(P,m,R.oit)}}else E.useInvertClassification=!1}o._globeTranslucencyState.translucent&&I.globeTranslucencyFramebuffer.updateAndClear(o._hdr,I.viewport,m,A)}jl.prototype.resolveFramebuffers=function(o){let A=this._context,f=this._environmentState,m=this._view,C=m.globeDepth;k(C)&&C.prepareColorTextures(A);let E=f.useOIT,I=f.useGlobeDepthFramebuffer,x=f.usePostProcess,y=f.originalFramebuffer,v=I?C.colorFramebufferManager:void 0,w=m.sceneFramebuffer._colorFramebuffer,Q=m.sceneFramebuffer.idFramebuffer;if(E&&(o.framebuffer=x?w.framebuffer:y,m.oit.execute(A,o)),f.isSunVisible){let B=this.camera,D=A.uniformState;D.updateCamera(B);let S;k(B.frustum.fov)?S=B.frustum.clone(hqe):k(B.frustum.infiniteProjectionMatrix)?S=B.frustum.clone(dqe):k(B.frustum.width)?S=B.frustum.clone(gqe):S=B.frustum.clone(fqe),S.near=B.frustum.near,S.far=B.frustum.far,D.updateFrustum(S)}let M=m.translucentTileClassification;if(M.hasTranslucentDepth&&M.isSupported()&&M.execute(this,o),x){m.sceneFramebuffer.prepareColorTextures(A);let B=w;I&&!E&&(B=v);let D=this.postProcessStages,S=B.getColorTexture(0),P=Q.getColorTexture(0),R=ae(v,w).getDepthStencilTexture();D.execute(A,S,R,P),D.copy(A,y)}!E&&!x&&I&&(o.framebuffer=y,C.executeCopyColor(A,o))};function mdi(o){let A=o._frameState.afterRender;for(let f=0,m=A.length;f<m;++f)A[f]()&&o.requestRender();A.length=0}function Cdi(o){let A=o._globe,f=o.camera.positionCartographic;if(k(A)&&A.show&&k(f))return A.getHeight(f)}function Edi(o){let A=o.camera,f=o._mode,m=o.globe,C=o._screenSpaceCameraController,E=A.positionCartographic;if(!k(E))return!1;if(!C.onMap()&&E.height<0)return!0;if(!k(m)||!m.show||f===ii.SCENE2D||f===ii.MORPHING)return!1;let I=o._globeHeight;return k(I)&&E.height<I}jl.prototype.initializeFrame=function(){this._shaderFrameCount++===120&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeight=Cdi(this),this._cameraUnderground=Edi(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),k(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};function Idi(o,A){if(o.debugShowFramesPerSecond){if(!k(o._performanceDisplay)){let f=document.createElement("div");f.className="cesium-performanceDisplay-defaultContainer",o._canvas.parentNode.appendChild(f);let m=new yY({container:f});o._performanceDisplay=m,o._performanceContainer=f}o._performanceDisplay.throttled=o.requestRenderMode,o._performanceDisplay.update(A)}else k(o._performanceDisplay)&&(o._performanceDisplay=o._performanceDisplay&&o._performanceDisplay.destroy(),o._performanceContainer.parentNode.removeChild(o._performanceContainer))}function xdi(o){o._jobScheduler.resetBudgets();let A=o._frameState;o.primitives.prePassesUpdate(A),k(o.globe)&&o.globe.update(A),o._picking.update(),A.creditDisplay.update()}function ydi(o){let A=o._frameState;o.primitives.postPassesUpdate(A),iv.update()}var vdi=new qe;function _di(o){let A=o._frameState,f=o.context,m=f.uniformState,C=o._defaultView;o._view=C,o.updateFrameState(),A.passes.render=!0,A.passes.postProcess=o.postProcessStages.hasSelected,A.tilesetPassState=qhi;let E=ae(o.backgroundColor,qe.BLACK);o._hdr&&(E=qe.clone(E,vdi),E.red=Math.pow(E.red,o.gamma),E.green=Math.pow(E.green,o.gamma),E.blue=Math.pow(E.blue,o.gamma)),A.backgroundColor=E,o.fog.update(A),m.update(A);let I=o.shadowMap;k(I)&&I.enabled&&(!k(o.light)||o.light instanceof B4?Z.negate(m.sunDirectionWC,o._shadowMapCamera.direction):Z.clone(o.light.direction,o._shadowMapCamera.direction),A.shadowMaps.push(I));let x=o.textureProjectionMapList;if(x.length>0)for(let Q=0;Q<x.length;Q++){let M=x[Q];M.enabled&&A.textureProjectionMaps.push(M)}let y=o.viewShedMapList;for(let Q=0;Q<y.length;Q++){let M=y[Q];M.enabled&&A.viewShedMaps.push(M)}o._computeCommandList.length=0,o._overlayCommandList.length=0;let v=C.viewport;v.x=0,v.y=0,v.width=f.drawingBufferWidth,v.height=f.drawingBufferHeight;let w=C.passState;w.framebuffer=void 0,w.blendingEnabled=void 0,w.scissorTest=void 0,w.viewport=_r.clone(v,w.viewport),k(o.globe)&&o.globe.beginFrame(A),o.updateEnvironment(),o.updateAndExecuteCommands(w,E),o.resolveFramebuffers(w),w.framebuffer=void 0,rdi(o,w),k(o.globe)&&(o.globe.endFrame(A),o.globe.tilesLoaded||(o._renderRequested=!0)),f.endFrame()}function SL(o,A){try{A(o)}catch(f){if(o._renderError.raiseEvent(o,f),o.rethrowRenderErrors)throw f}}function Bdi(o){return o._picking.updateMostDetailedRayPicks(o)}jl.prototype.render=function(o){this._preUpdate.raiseEvent(this,o);let A=this._frameState;A.newFrame=!1,k(o)||(o=jt.now());let f=this._view.checkForCameraUpdates(this),m=!this.requestRenderMode||this._renderRequested||f||this._logDepthBufferDirty||this._hdrDirty||this.mode===ii.MORPHING;if(!m&&k(this.maximumRenderTimeChange)&&k(this._lastRenderTime)){let C=Math.abs(jt.secondsDifference(this._lastRenderTime,o));m=m||C>this.maximumRenderTimeChange}if(m){this._lastRenderTime=jt.clone(o,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1;let C=De.incrementWrap(A.frameNumber,15e6,1);uqe(this,C,o),A.newFrame=!0}SL(this,xdi),this.primitives.show&&(SL(this,Bdi),SL(this,wdi),SL(this,bdi),m||SL(this,Qdi)),this._postUpdate.raiseEvent(this,o),m&&(this._preRender.raiseEvent(this,o),SL(this,_di)),Idi(this,m),SL(this,ydi),mdi(this),m&&this._postRender.raiseEvent(this,o)};jl.prototype.forceRender=function(o){this._renderRequested=!0,this.render(o)};jl.prototype.requestRender=function(){this._renderRequested=!0};jl.prototype.clampLineWidth=function(o){return Math.max(On.minimumAliasedLineWidth,Math.min(o,On.maximumAliasedLineWidth))};jl.prototype.pick=function(o,A,f){return this._picking.pick(this,o,A,f)};jl.prototype.UpdateQuad=function(o){for(let A=0,f=this._primitivesQuadTrees.length;A<f;A++){let m=this._primitivesQuadTrees[A]._tilesToRender;if(m)for(let C=0,E=m.length;C<E;C++){let I=m[C];I.data&&I.data.geometryPrimitive&&I.data.geometryPrimitive.update(o)}}};jl.prototype.pickPositionWorldCoordinates=function(o,A){return this._picking.pickPositionWorldCoordinates(this,o,A)};jl.prototype.pickPosition=function(o,A){return this._picking.pickPosition(this,o,A)};jl.prototype.drillPick=function(o,A,f,m){return this._picking.drillPick(this,o,A,f,m)};function wdi(o){let A=o._frameState;Vle.camera=A.camera,Vle.cullingVolume=A.cullingVolume,o.primitives.updateForPass(A,Vle)}function bdi(o){let A=o._frameState;!A.camera.canPreloadFlight()||(zle.camera=o.preloadFlightCamera,zle.cullingVolume=o.preloadFlightCullingVolume,o.primitives.updateForPass(A,zle))}function Qdi(o){o.primitives.updateForPass(o._frameState,jhi)}jl.prototype.pickFromRay=function(o,A,f){return this._picking.pickFromRay(this,o,A,f)};jl.prototype.drillPickFromRay=function(o,A,f,m){return this._picking.drillPickFromRay(this,o,A,f,m)};jl.prototype.pickFromRayMostDetailed=function(o,A,f){return this._picking.pickFromRayMostDetailed(this,o,A,f)};jl.prototype.drillPickFromRayMostDetailed=function(o,A,f,m){return this._picking.drillPickFromRayMostDetailed(this,o,A,f,m)};jl.prototype.sampleHeight=function(o,A,f){return this._picking.sampleHeight(this,o,A,f)};jl.prototype.clampToHeight=function(o,A,f,m){return this._picking.clampToHeight(this,o,A,f,m)};jl.prototype.sampleHeightMostDetailed=function(o,A,f){return this._picking.sampleHeightMostDetailed(this,o,A,f)};jl.prototype.clampToHeightMostDetailed=function(o,A,f){return this._picking.clampToHeightMostDetailed(this,o,A,f)};jl.prototype.cartesianToCanvasCoordinates=function(o,A){return ms.wgs84ToWindowCoordinates(this,o,A)};jl.prototype.completeMorph=function(){this._transitioner.completeMorph()};jl.prototype.morphTo2D=function(o){let A,f=this.globe;k(f)?A=f.ellipsoid:A=this.mapProjection.ellipsoid,o=ae(o,2),this._transitioner.morphTo2D(o,A)};jl.prototype.morphToColumbusView=function(o){let A,f=this.globe;k(f)?A=f.ellipsoid:A=this.mapProjection.ellipsoid,o=ae(o,2),this._transitioner.morphToColumbusView(o,A)};jl.prototype.morphTo3D=function(o){let A,f=this.globe;k(f)?A=f.ellipsoid:A=this.mapProjection.ellipsoid,o=ae(o,2),this._transitioner.morphTo3D(o,A)};function Sdi(o,A){if(o._removeTerrainProviderReadyListener=o._removeTerrainProviderReadyListener&&o._removeTerrainProviderReadyListener(),A.ready){k(o.globe)&&(o.globe.terrainProvider=A.provider);return}o.globe.terrainProvider=void 0,o._removeTerrainProviderReadyListener=A.readyEvent.addEventListener(f=>{k(o)&&k(o.globe)&&(o.globe.terrainProvider=f),o._removeTerrainProviderReadyListener()})}jl.prototype.setTerrain=function(o){return Sdi(this,o),o};jl.prototype.isDestroyed=function(){return!1};jl.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),k(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(let o=0;o<this._removeGlobeCallbacks.length;++o)this._removeGlobeCallbacks[o]();return this._removeGlobeCallbacks.length=0,ar(this)};jl.prototype.clickVideoProjection=function(o){if(k(o)){let A=this.textureProjectionMapList,f=A.length;for(let m=0;m<f;m++){let C=A[m];if(k(C._id)&&C._id===o){A[m]=A[f-1],A[f-1]=C;break}}}};var Cve=jl;function Y4(o){o=ae(o,gi.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=o;let A=1.025,f=Z.multiplyByScalar(o.radii,A,new Z);this._scaleMatrix=Re.fromScale(f),this._modelMatrix=new Re,this._command=new cn({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.atmosphereLightIntensity=50,this.atmosphereRayleighCoefficient=new Z(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new Z(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new Z;let m=new Z;m.x=o.maximumRadius*A,m.y=o.maximumRadius,m.z=0,this._radiiAndDynamicAtmosphereColor=m;let C=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return C._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return C._hueSaturationBrightness.x=C.hueShift,C._hueSaturationBrightness.y=C.saturationShift,C._hueSaturationBrightness.z=C.brightnessShift,C._hueSaturationBrightness},u_atmosphereLightIntensity:function(){return C.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return C.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return C.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return C.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return C.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return C.atmosphereMieAnisotropy}}}Object.defineProperties(Y4.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});Y4.prototype.setDynamicAtmosphereColor=function(o,A){let f=o?A?2:1:0;this._radiiAndDynamicAtmosphereColor.z=f};var Jle=new Re;Y4.prototype.update=function(o,A){if(!this.show)return;let f=o.mode;if(f!==ii.SCENE3D&&f!==ii.MORPHING||!o.passes.render)return;let m=Re.fromRotationTranslation(o.context.uniformState.inverseViewRotation,Z.ZERO,Jle),C=Re.multiplyTransformation(m,ud.Y_UP_TO_Z_UP,Jle),E=Re.multiply(this._scaleMatrix,C,Jle);Re.clone(E,this._modelMatrix);let I=o.context,x=Ddi(this),y=o.globeTranslucencyState.translucent,v=this.perFragmentAtmosphere||y||!k(A)||!A.show,w=this._command;if(!k(w.vertexArray)){let M=I0.createGeometry(new I0({radii:new Z(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:wr.POSITION_ONLY}));w.vertexArray=VA.fromGeometry({context:I,geometry:M,attributeLocations:gA.createAttributeLocations(M),bufferUsage:Fr.STATIC_DRAW}),w.renderState=Hr.fromCache({cull:{enabled:!0,face:tu.FRONT},blending:Sl.ALPHA_BLEND,depthMask:!1})}let Q=x|v<<2|y<<3;if(Q!==this._flags){this._flags=Q;let M=[];x&&M.push("COLOR_CORRECT"),v&&M.push("PER_FRAGMENT_ATMOSPHERE"),y&&M.push("GLOBE_TRANSLUCENT");let B=new hr({defines:M,sources:[ZU,fX,yIe]}),D=new hr({defines:M,sources:[ZU,fX,xIe]});this._spSkyAtmosphere=Wa.fromCache({context:I,vertexShaderSource:B,fragmentShaderSource:D}),w.shaderProgram=this._spSkyAtmosphere}return w};function Ddi(o){return!(De.equalsEpsilon(o.hueShift,0,De.EPSILON7)&&De.equalsEpsilon(o.saturationShift,0,De.EPSILON7)&&De.equalsEpsilon(o.brightnessShift,0,De.EPSILON7))}Y4.prototype.isDestroyed=function(){return!1};Y4.prototype.destroy=function(){let o=this._command;return o.vertexArray=o.vertexArray&&o.vertexArray.destroy(),this._spSkyAtmosphere=this._spSkyAtmosphere&&this._spSkyAtmosphere.destroy(),ar(this)};var SY=Y4;function Ote(o){this.sources=o.sources,this._sources=void 0,this.show=ae(o.show,!0),this._command=new cn({modelMatrix:Re.clone(Re.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0}Ote.prototype.update=function(o,A){let f=this;if(!this.show||o.mode!==ii.SCENE3D&&o.mode!==ii.MORPHING||!o.passes.render)return;let m=o.context;if(this._sources!==this.sources){this._sources=this.sources;let E=this.sources;typeof E.positiveX=="string"?oIe(m,this._sources).then(function(I){f._cubeMap=f._cubeMap&&f._cubeMap.destroy(),f._cubeMap=I}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new dB({context:m,source:E}))}let C=this._command;if(!k(C.vertexArray)){C.uniformMap={u_cubeMap:function(){return f._cubeMap}};let E=RS.createGeometry(RS.fromDimensions({dimensions:new Z(2,2,2),vertexFormat:wr.POSITION_ONLY})),I=this._attributeLocations=gA.createAttributeLocations(E);C.vertexArray=VA.fromGeometry({context:m,geometry:E,attributeLocations:I,bufferUsage:Fr.STATIC_DRAW}),C.renderState=Hr.fromCache({blending:Sl.ALPHA_BLEND})}if(!k(C.shaderProgram)||this._useHdr!==A){let E=new hr({defines:[A?"HDR":""],sources:[vIe]});C.shaderProgram=Wa.fromCache({context:m,vertexShaderSource:_Ie,fragmentShaderSource:E,attributeLocations:this._attributeLocations}),this._useHdr=A}if(k(this._cubeMap))return C};Ote.prototype.isDestroyed=function(){return!1};Ote.prototype.destroy=function(){let o=this._command;return o.vertexArray=o.vertexArray&&o.vertexArray.destroy(),o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),ar(this)};var HN=Ote;function DY(){this.show=!0,this._drawCommand=new cn({primitiveType:$r.TRIANGLES,boundingVolume:new si,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new si,this._boundingVolume2D=new si,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1,this._useHdr=void 0;let o=this;this._uniformMap={u_texture:function(){return o._texture},u_size:function(){return o._size}}}Object.defineProperties(DY.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(o){o=Math.max(o,0),this._glowFactor=o,this._glowFactorDirty=!0}}});var Mdi=new tt,Tdi=new tt,Pdi=new kt,J8=new kt;DY.prototype.update=function(o,A,f){if(!this.show)return;let m=o.mode;if(m===ii.SCENE2D||m===ii.MORPHING||!o.passes.render)return;let C=o.context,E=A.viewport.width,I=A.viewport.height;if(!k(this._texture)||E!==this._drawingBufferWidth||I!==this._drawingBufferHeight||this._glowFactorDirty||f!==this._useHdr){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=E,this._drawingBufferHeight=I,this._glowFactorDirty=!1,this._useHdr=f;let F=Math.max(E,I);F=Math.pow(2,Math.ceil(Math.log(F)/Math.log(2))-2),F=Math.max(1,F);let U=f?C.halfFloatingPointTexture?Gr.HALF_FLOAT:Gr.FLOAT:Gr.UNSIGNED_BYTE;this._texture=new Rn({context:C,width:F,height:F,pixelFormat:Jr.RGBA,pixelDatatype:U}),this._glowLengthTS=this._glowFactor*5,this._radiusTS=1/(1+2*this._glowLengthTS)*.5;let N=this,H={u_radiusTS:function(){return N._radiusTS}};this._commands.computeCommand=new QF({fragmentShaderSource:wIe,outputTexture:this._texture,uniformMap:H,persists:!1,owner:this,postExecute:function(){N._commands.computeCommand=void 0}})}let x=this._drawCommand;if(!k(x.vertexArray)){let F={direction:0},U=new Uint8Array(4*2);U[0]=0,U[1]=0,U[2]=255,U[3]=0,U[4]=255,U[5]=255,U[6]=0,U[7]=255;let N=jn.createVertexBuffer({context:C,typedArray:U,usage:Fr.STATIC_DRAW}),H=[{index:F.direction,vertexBuffer:N,componentsPerAttribute:2,normalize:!0,componentDatatype:Mt.UNSIGNED_BYTE}],J=jn.createIndexBuffer({context:C,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Fr.STATIC_DRAW,indexDatatype:fn.UNSIGNED_SHORT});x.vertexArray=new VA({context:C,attributes:H,indexBuffer:J}),x.shaderProgram=Wa.fromCache({context:C,vertexShaderSource:QIe,fragmentShaderSource:BIe,attributeLocations:F}),x.renderState=Hr.fromCache({blending:Sl.ALPHA_BLEND}),x.uniformMap=this._uniformMap}let y=C.uniformState.sunPositionWC,v=C.uniformState.sunPositionColumbusView,w=this._boundingVolume,Q=this._boundingVolume2D;Z.clone(y,w.center),Q.center.x=v.z,Q.center.y=v.x,Q.center.z=v.y,w.radius=De.SOLAR_RADIUS+De.SOLAR_RADIUS*this._glowLengthTS,Q.radius=w.radius,m===ii.SCENE3D?si.clone(w,x.boundingVolume):m===ii.COLUMBUS_VIEW&&si.clone(Q,x.boundingVolume);let M=ms.computeActualWgs84Position(o,y,J8),B=Z.magnitude(Z.subtract(M,o.camera.position,J8)),D=C.uniformState.projection,S=Pdi;S.x=0,S.y=0,S.z=-B,S.w=1;let P=Re.multiplyByVector(D,S,J8),R=ms.clipToGLWindowCoordinates(A.viewport,P,Mdi);S.x=De.SOLAR_RADIUS;let T=Re.multiplyByVector(D,S,J8),L=ms.clipToGLWindowCoordinates(A.viewport,T,Tdi);return this._size=tt.magnitude(tt.subtract(L,R,J8)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands};DY.prototype.isDestroyed=function(){return!1};DY.prototype.destroy=function(){let o=this._drawCommand;return o.vertexArray=o.vertexArray&&o.vertexArray.destroy(),o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),ar(this)};var Eve=DY;function p5(o){return Ja(`Assets/Textures/SkyBox/skyBox_${o}.jpg`)}function Rdi(o){o._renderLoopRunning=!0;let A=0;function f(m){if(!o.isDestroyed())if(o._useDefaultRenderLoop)try{let C=o._targetFrameRate;if(!k(C))o.resize(),o.render(),requestAnimationFrame(f);else{let E=1e3/C,I=m-A;I>E&&(o.resize(),o.render(),A=m-I%E),requestAnimationFrame(f)}}catch(C){if(o._useDefaultRenderLoop=!1,o._renderLoopRunning=!1,o._showRenderLoopErrors){let E="An error occurred while rendering. Rendering has stopped.";o.showErrorPanel(E,void 0,C)}}else o._renderLoopRunning=!1}requestAnimationFrame(f)}function vqe(o){let A=o._useBrowserRecommendedResolution?1:window.devicePixelRatio;return A*=o._resolutionScale,k(o._scene)&&(o._scene.pixelRatio=A),A}function _qe(o){let A=o._canvas,f=A.clientWidth,m=A.clientHeight,C=vqe(o);o._canvasClientWidth=f,o._canvasClientHeight=m,f*=C,m*=C,A.width=f,A.height=m,o._canRender=f!==0&&m!==0,o._lastDevicePixelRatio=window.devicePixelRatio}function Bqe(o){let A=o._canvas,f=A.width,m=A.height;if(f!==0&&m!==0){let C=o._scene.camera.frustum;k(C.aspectRatio)?C.aspectRatio=f/m:(C.top=C.right*(m/f),C.bottom=-C.top)}}function VN(o,A){o=Ru(o),A=ae(A,ae.EMPTY_OBJECT);let f=document.createElement("div");f.className="map-widget",o.appendChild(f);let m=document.createElement("canvas");m.setAttribute("id","mapRenderCanvas");let C=co.supportsImageRenderingPixelated();this._supportsImageRenderingPixelated=C,C&&(m.style.imageRendering=co.imageRenderingValue()),m.oncontextmenu=function(){return!1},m.onselectstart=function(){return!1};function E(){m!==m.ownerDocument.activeElement&&m.ownerDocument.activeElement.blur()}ae(A.blurActiveElementOnCanvasFocus,!0)&&(m.addEventListener("mousedown",E),m.addEventListener("pointerdown",E)),f.appendChild(m);let I=document.createElement("div");I.className="map-widget-credits";let x=k(A.creditContainer)?Ru(A.creditContainer):f;x.appendChild(I);let y=k(A.creditViewport)?Ru(A.creditViewport):f,v=ae(A.showRenderLoopErrors,!0),w=ae(A.useBrowserRecommendedResolution,!0);this._element=f,this._container=o,this._canvas=m,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=y,this._creditContainer=x,this._innerCreditContainer=I,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=v,this._resolutionScale=1,this._useBrowserRecommendedResolution=w,this._forceResize=!1,this._clock=k(A.clock)?A.clock:new WO,_qe(this);try{let Q=new Cve({canvas:m,contextOptions:A.contextOptions,creditContainer:I,creditViewport:y,mapProjection:A.mapProjection,orderIndependentTranslucency:A.orderIndependentTranslucency,scene3DOnly:ae(A.scene3DOnly,!1),shadows:A.shadows,mapMode2D:A.mapMode2D,requestRenderMode:A.requestRenderMode,maximumRenderTimeChange:A.maximumRenderTimeChange,depthPlaneEllipsoidOffset:A.depthPlaneEllipsoidOffset,msaaSamples:A.msaaSamples});this._scene=Q,Q.camera.constrainedAxis=Z.UNIT_Z,vqe(this),Bqe(this);let M=null;A.contextOptions&&(A.contextOptions.ellipsoidCoordinates==="CGCS2000"?M=gi.CGCS2000:A.contextOptions.ellipsoidCoordinates==="MOON"||A.contextOptions.ellipsoidCoordinates==="MOON2000"?M=gi.MOON2000:M=ae(Q.mapProjection.ellipsoid,gi.WGS84),DC.ellipsoidCoordinates=A.contextOptions.ellipsoidCoordinates);let B=A.globe;k(B)||(B=new Zxe(M)),B!==!1&&(Q.globe=B,Q.globe.shadows=ae(A.terrainShadows,_s.RECEIVE_ONLY));let D=A.skyBox;k(D)||(D=new HN({sources:{positiveX:p5("px"),negativeX:p5("mx"),positiveY:p5("py"),negativeY:p5("my"),positiveZ:p5("pz"),negativeZ:p5("mz")}})),D!==!1&&(Q.skyBox=D,Q.sun=new Eve,Q.moon=new rye);let S=A.skyAtmosphere;k(S)||(S=new SY(M)),S!==!1&&(Q.skyAtmosphere=S),k(A.imageryProvider)&&$t("CesiumWidget options.imageryProvider","options.imageryProvider was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use options.baseLayer instead.");let P=A.baseLayer;A.globe!==!1&&P!==!1&&A.imageryProvider!==!1&&(k(A.imageryProvider)&&!k(P)&&(P=new ux(A.imageryProvider)),k(P)||(P=ux.fromWorldImagery()),Q.imageryLayers.add(P)),k(A.terrainProvider)&&A.globe!==!1&&(Q.terrainProvider=A.terrainProvider),k(A.terrain)&&A.globe!==!1&&Q.setTerrain(A.terrain),this._screenSpaceEventHandler=new pr(m),k(A.sceneMode)&&(A.sceneMode===ii.SCENE2D&&this._scene.morphTo2D(0),A.sceneMode===ii.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=ae(A.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=A.targetFrameRate;let R=this;this._onRenderError=function(T,L){if(R._useDefaultRenderLoop=!1,R._renderLoopRunning=!1,R._showRenderLoopErrors){let F="An error occurred while rendering. Rendering has stopped.";R.showErrorPanel(F,void 0,L)}},Q.renderError.addEventListener(this._onRenderError)}catch(Q){if(v){let M="Error constructing CesiumWidget.",B='Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:';this.showErrorPanel(M,B,Q)}throw Q}}Object.defineProperties(VN.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(o){this._scene.terrainProvider=o}},creditDisplay:{get:function(){return this._scene.frameState.creditDisplay}},camera:{get:function(){return this._scene.camera}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(o){this._targetFrameRate=o}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(o){this._useDefaultRenderLoop!==o&&(this._useDefaultRenderLoop=o,o&&!this._renderLoopRunning&&Rdi(this))}},resolutionScale:{get:function(){return this._resolutionScale},set:function(o){this._resolutionScale!==o&&(this._resolutionScale=o,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(o){this._useBrowserRecommendedResolution!==o&&(this._useBrowserRecommendedResolution=o,this._forceResize=!0)}}});VN.prototype.showErrorPanel=function(o,A,f){let m=this._element,C=document.createElement("div");C.className="map-widget-errorPanel";let E=document.createElement("div");E.className="map-widget-errorPanel-content",C.appendChild(E);let I=document.createElement("div");I.className="map-widget-errorPanel-header",I.appendChild(document.createTextNode(o)),E.appendChild(I);let x=document.createElement("div");x.className="map-widget-errorPanel-scroll",E.appendChild(x);function y(){x.style.maxHeight=`${Math.max(Math.round(m.clientHeight*.9-100),30)}px`}y(),k(window.addEventListener)&&window.addEventListener("resize",y,!1);let v=k(A),w=k(f);if(v||w){let B=document.createElement("div");if(B.className="map-widget-errorPanel-message",x.appendChild(B),w){let D=dO(f);v||(typeof f=="string"&&(f=new Error(f)),A=dO({name:f.name,message:f.message}),D=f.stack),typeof console<"u"&&console.error(`${o} ${A} ${D}`);let S=document.createElement("div");S.className="map-widget-errorPanel-message-details collapsed";let P=document.createElement("span");P.className="map-widget-errorPanel-more-details",P.appendChild(document.createTextNode("See more...")),S.appendChild(P),S.onclick=function(R){S.removeChild(P),S.appendChild(document.createTextNode(D)),S.className="map-widget-errorPanel-message-details",E.className="map-widget-errorPanel-content expanded",S.onclick=void 0},x.appendChild(S)}B.innerHTML=`<p>${A}</p>`}let Q=document.createElement("div");Q.className="map-widget-errorPanel-buttonPanel",E.appendChild(Q);let M=document.createElement("button");M.setAttribute("type","button"),M.className="map-button",M.appendChild(document.createTextNode("OK")),M.onclick=function(){k(y)&&k(window.removeEventListener)&&window.removeEventListener("resize",y,!1),m.removeChild(C)},Q.appendChild(M),m.appendChild(C)};VN.prototype.isDestroyed=function(){return!1};VN.prototype.destroy=function(){k(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),ar(this)};VN.prototype.resize=function(){let o=this._canvas;!this._forceResize&&this._canvasClientWidth===o.clientWidth&&this._canvasClientHeight===o.clientHeight&&this._lastDevicePixelRatio===window.devicePixelRatio||(this._forceResize=!1,_qe(this),Bqe(this),this._scene.requestRender())};VN.prototype.render=function(){if(this._canRender){this._scene.initializeFrame();let o=this._clock.tick();this._scene.render(o)}else this._clock.tick()};var MY=VN;function vD(){this._flattenPolygons=[],this._needUpdateFlatten=!1,this._updateFlattenInternal=!1,this._defautTexture=void 0,this._flattenBounds=new kt,this._polygonDepth=void 0,this._matMW=Re.IDENTITY,this._flattenOriginPoint=void 0}Object.defineProperties(vD.prototype,{needUpdateFlatten:{get:function(){return this._needUpdateFlatten},set:function(o){this._needUpdateFlatten=o}},flattenPolygons:{get:function(){return this._flattenPolygons},set:function(o){!k(o)||!k(o.length)?this._flattenPolygons=[]:this._flattenPolygons=o,this._updateFlattenInternal=!0}},localViewMatrix:{get:function(){return this._matMW},set:function(o){this._matMW=o}}});vD.prototype.initailize=function(o){if(this._flattenPolygons.length>0){k(this._polygonDepth)||(this._polygonDepth=new KU),this._polygonDepth._flattenPolygonDrawCommands=[];let A={position:0},f=new Re;Re.inverse(this._matMW,f);let m=new _r,C=[];for(let E=0;E<this._flattenPolygons.length;E++){let I=o.context,x=this._flattenPolygons[E],y=bc.createGeometry(x),v=y.attributes.position.values;for(let P=0;P<v.length/3;P++){let R=new Z(0,0,0);R.x=v[3*P],R.y=v[3*P+1],R.z=v[3*P+2],Re.multiplyByPoint(f,R,R),C.push(R),y.attributes.position.values[3*P]=R.x,y.attributes.position.values[3*P+1]=R.y,y.attributes.position.values[3*P+2]=R.z}let w=si.transform(y.boundingSphere,f);y.boundingSphere=w;let Q=VA.fromGeometry({context:I,geometry:y,attributeLocations:A,bufferUsage:Fr.STATIC_DRAW,interleave:!0}),M=Wa.fromCache({context:I,vertexShaderSource:_ee,fragmentShaderSource:vee}),B=new Hr;B.depthTest.enabled=!0,B.cull.enabled=!0,B.cull.face=ri.BACK;let D={},S=new cn({boundingVolume:w,modelMatrix:new Re,primitiveType:$r.TRIANGLES,vertexArray:Q,shaderProgram:M,uniformMap:D,renderState:B,pass:zi.GLOBE});this._polygonDepth._flattenPolygonDrawCommands.push(S)}_r.fromPoints(C,m),this._flattenBounds.x=m.x,this._flattenBounds.y=m.y+m.height,this._flattenBounds.z=m.x+m.width,this._flattenBounds.w=m.y,this._polygonDepth.updateFrustum(this._flattenBounds.x,this._flattenBounds.y,this._flattenBounds.z,this._flattenBounds.w)}};vD.prototype.addFlattenPolygon=function(o){this._flattenPolygons.push(o),this._updateFlattenInternal=!0,this._needUpdateFlatten=!0};vD.prototype.removeFlattenPolygon=function(o){for(let A=0;A<this._flattenPolygons.length;A++)if(this._flattenPolygons[A]===o){this._flattenPolygons.splice(A,1),this._updateFlattenInternal=!0,k(this._polygonDepth)||(this._polygonDepth=new KU),this._polygonDepth.destroy(),this._polygonDepth=void 0;break}};vD.prototype.clearFlattenPolygon=function(){k(this._polygonDepth)&&(this._polygonDepth._flattenPolygonDrawCommands=[],this._polygonDepth.destroy(),this._polygonDepth=void 0),this._flattenPolygons=[],this._needUpdateFlatten=!1,this._updateFlattenInternal=!1};vD.prototype.update=function(o,A,f){this._frameState=o,k(this._defautTexture)||(this._defautTexture=new Rn({context:this._frameState.context,width:2,height:2})),this._needUpdateFlatten===!0&&k(this._flattenPolygons)&&this._flattenPolygons.length>0&&(this._updateFlattenInternal===!0&&(k(this._polygonDepth)?(this._polygonDepth.destroy(),this._polygonDepth=void 0,this.initailize(o)):this.initailize(o)),k(this._polygonDepth)&&this._polygonDepth.update(o),this._updateFlattenInternal=!1)};vD.getShader=function(o){};vD.prototype.getUniformMap=function(){let o=this,A={};return A.u_polygonTexture=function(){return k(o._polygonDepth)?o._polygonDepth._colorTexture:o._defautTexture},A.u_polygonBounds=function(){return o._flattenBounds},A.u_bFlatten=function(){return!!(o._needUpdateFlatten===!0&&k(o._polygonDepth))},A.u_eastNorthUpToFixedFrame=function(){return o.localViewMatrix},A.u_r_eastNorthUpToFixedFrame=function(){let f=new Re;return Re.inverse(o.localViewMatrix,f),f},A};var Ldi=vD,Ive=Ldi;function J4(o){this._scene=o,this._flattenPolygons=[],this._polygonTexture=new Ive,this._clipPlaneOfFlatten=!1}Object.defineProperties(J4.prototype,{clipPlaneOfFlatten:{get:function(){return this._clipPlaneOfFlatten},set:function(o){this._clipPlaneOfFlatten=o}}});J4.prototype.addPolygon=function(o){this._flattenPolygons.push(o)};J4.prototype.clearPolygon=function(){this._flattenPolygons=[];let o=this._polygonTexture,A=this._scene,f={flattenBounds:[],flattenPolygons:[],flattenPolygonHeights:[]};A.globe.flattenPolygonRegion=f,A.globe.flattenUniforms=void 0,o.clearFlattenPolygon()};J4.prototype.generatePolygonTexture=function(){let o=this._scene,A=this._polygonTexture,f=this._flattenPolygons;if(f.length<1)return;for(let x=0;x<f.length;x++){let y=f[x],v=[];for(let Q=0;Q<y.length;Q+=3){let M=y[Q],B=y[Q+1],D=y[Q+2];v.push(M,B,D)}let w=bc.fromPositions({positions:Z.fromDegreesArrayHeights(v),extrudedHeight:0,perPositionHeight:!0});A.addFlattenPolygon(w)}let m=f[0][0],C=f[0][1],E=new Z.fromDegrees(m,C,-2e3),I=Vr.eastNorthUpToFixedFrame(E);A.localViewMatrix=I,A.update(o._frameState)};J4.prototype.update=function(){let o=this._scene,A=this._polygonTexture,f=this._flattenPolygons;if(f.length<1)return;this.generatePolygonTexture();let m={flattenBounds:[],flattenPolygons:[],flattenPolygonHeights:[],enableFlatten:!1},C=-100;for(let x=0;x<f.length;x++){let y=f[x],v=new _r,w=[],Q=[],M=0,B=0;for(let S=0;S<y.length/3;S++){let P=y[3*S],R=y[3*S+1],T=new Z(P,R,0);w.push(T),Q.push([De.toRadians(P),De.toRadians(R)]),M=Math.max(y[3*S+2],M),B=Math.min(y[3*S+2],B),C=Math.min(C,B)}_r.fromPoints(w,v);let D=new kt(v.x,v.y+v.height,v.x+v.width,v.y);m.flattenBounds.push(D),m.flattenPolygons.push(Q),m.flattenPolygonHeights.push({maxHeight:M+2,minHeight:B-2}),m.enableFlatten=!0}o.globe.flattenPolygonRegion=m;let E=A.getUniformMap();E.u_minFlattenHeight=function(){return C};let I=this;E.u_clipPlaneOfFlatten=function(){return I.clipPlaneOfFlatten},o.globe.flattenUniforms=E,o.requestRender()};var K4=J4,IH;typeof ko<"u"&&(IH=ko);(function(){/*! * Knockout JavaScript library v3.5.1 * (c) The Knockout.js team - http://knockoutjs.com/ * License: MIT (http://www.opensource.org/licenses/mit-license.php) */(function(){(function(o){var A=this||(0,eval)("this"),f=A.document,m=A.navigator,C=A.jQuery,E=A.JSON;C||typeof jQuery>"u"||(C=jQuery),function(I){I(A.ko={})}(function(I,x){function y(j,ee){return j===null||typeof j in S?j===ee:!1}function v(j,ee){var ie;return function(){ie||(ie=D.a.setTimeout(function(){ie=o,j()},ee))}}function w(j,ee){var ie;return function(){clearTimeout(ie),ie=D.a.setTimeout(j,ee)}}function Q(j,ee){ee&&ee!=="change"?ee==="beforeChange"?this.pc(j):this.gb(j,ee):this.qc(j)}function M(j,ee){ee!==null&&ee.s&&ee.s()}function B(j,ee){var ie=this.qd,z=ie[F];z.ra||(this.Qb&&this.mb[ee]?(ie.uc(ee,j,this.mb[ee]),this.mb[ee]=null,--this.Qb):z.I[ee]||ie.uc(ee,j,z.J?{da:j}:ie.$c(j)),j.Ja&&j.gd())}var D=typeof I<"u"?I:{};D.b=function(j,ee){for(var ie=j.split("."),z=D,oe=0;oe<ie.length-1;oe++)z=z[ie[oe]];z[ie[ie.length-1]]=ee},D.L=function(j,ee,ie){j[ee]=ie},D.version="3.5.1",D.b("version",D.version),D.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},D.a=function(){function j(W,O){for(var re in W)oe.call(W,re)&&O(re,W[re])}function ee(W,O){if(O)for(var re in O)oe.call(O,re)&&(W[re]=O[re]);return W}function ie(W,O){return W.__proto__=O,W}function z(W,O,re,se){var ce=W[O].match(G)||[];D.a.D(re.match(G),function(me){D.a.Na(ce,me,se)}),W[O]=ce.join(" ")}var oe=Object.prototype.hasOwnProperty,le={__proto__:[]}instanceof Array,Ae=typeof Symbol=="function",he={},ge={};he[m&&/Firefox\/2/i.test(m.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],he.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),j(he,function(W,O){if(O.length)for(var re=0,se=O.length;re<se;re++)ge[O[re]]=W});var de={propertychange:!0},fe=f&&function(){for(var W=3,O=f.createElement("div"),re=O.getElementsByTagName("i");O.innerHTML="<!--[if gt IE "+ ++W+"]><i></i><![endif]-->",re[0];);return 4<W?W:o}(),G=/\S+/g,Y;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(W,O,re){for(var se=0,ce=W.length;se<ce;se++)O.call(re,W[se],se,W)},A:typeof Array.prototype.indexOf=="function"?function(W,O){return Array.prototype.indexOf.call(W,O)}:function(W,O){for(var re=0,se=W.length;re<se;re++)if(W[re]===O)return re;return-1},Lb:function(W,O,re){for(var se=0,ce=W.length;se<ce;se++)if(O.call(re,W[se],se,W))return W[se];return o},Pa:function(W,O){var re=D.a.A(W,O);0<re?W.splice(re,1):re===0&&W.shift()},wc:function(W){var O=[];return W&&D.a.D(W,function(re){0>D.a.A(O,re)&&O.push(re)}),O},Mb:function(W,O,re){var se=[];if(W)for(var ce=0,me=W.length;ce<me;ce++)se.push(O.call(re,W[ce],ce));return se},jb:function(W,O,re){var se=[];if(W)for(var ce=0,me=W.length;ce<me;ce++)O.call(re,W[ce],ce)&&se.push(W[ce]);return se},Nb:function(W,O){if(O instanceof Array)W.push.apply(W,O);else for(var re=0,se=O.length;re<se;re++)W.push(O[re]);return W},Na:function(W,O,re){var se=D.a.A(D.a.bc(W),O);0>se?re&&W.push(O):re||W.splice(se,1)},Ba:le,extend:ee,setPrototypeOf:ie,Ab:le?ie:ee,P:j,Ga:function(W,O,re){if(!W)return W;var se={},ce;for(ce in W)oe.call(W,ce)&&(se[ce]=O.call(re,W[ce],ce,W));return se},Tb:function(W){for(;W.firstChild;)D.removeNode(W.firstChild)},Yb:function(W){W=D.a.la(W);for(var O=(W[0]&&W[0].ownerDocument||f).createElement("div"),re=0,se=W.length;re<se;re++)O.appendChild(D.oa(W[re]));return O},Ca:function(W,O){for(var re=0,se=W.length,ce=[];re<se;re++){var me=W[re].cloneNode(!0);ce.push(O?D.oa(me):me)}return ce},va:function(W,O){if(D.a.Tb(W),O)for(var re=0,se=O.length;re<se;re++)W.appendChild(O[re])},Xc:function(W,O){var re=W.nodeType?[W]:W;if(0<re.length){for(var se=re[0],ce=se.parentNode,me=0,Ce=O.length;me<Ce;me++)ce.insertBefore(O[me],se);for(me=0,Ce=re.length;me<Ce;me++)D.removeNode(re[me])}},Ua:function(W,O){if(W.length){for(O=O.nodeType===8&&O.parentNode||O;W.length&&W[0].parentNode!==O;)W.splice(0,1);for(;1<W.length&&W[W.length-1].parentNode!==O;)W.length--;if(1<W.length){var re=W[0],se=W[W.length-1];for(W.length=0;re!==se;)W.push(re),re=re.nextSibling;W.push(se)}}return W},Zc:function(W,O){7>fe?W.setAttribute("selected",O):W.selected=O},Db:function(W){return W===null||W===o?"":W.trim?W.trim():W.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(W,O){return W=W||"",O.length>W.length?!1:W.substring(0,O.length)===O},vd:function(W,O){if(W===O)return!0;if(W.nodeType===11)return!1;if(O.contains)return O.contains(W.nodeType!==1?W.parentNode:W);if(O.compareDocumentPosition)return(O.compareDocumentPosition(W)&16)==16;for(;W&&W!=O;)W=W.parentNode;return!!W},Sb:function(W){return D.a.vd(W,W.ownerDocument.documentElement)},kd:function(W){return!!D.a.Lb(W,D.a.Sb)},R:function(W){return W&&W.tagName&&W.tagName.toLowerCase()},Ac:function(W){return D.onError?function(){try{return W.apply(this,arguments)}catch(O){throw D.onError&&D.onError(O),O}}:W},setTimeout:function(W,O){return setTimeout(D.a.Ac(W),O)},Gc:function(W){setTimeout(function(){throw D.onError&&D.onError(W),W},0)},B:function(W,O,re){var se=D.a.Ac(re);if(re=de[O],D.options.useOnlyNativeEvents||re||!C)if(re||typeof W.addEventListener!="function")if(typeof W.attachEvent<"u"){var ce=function(Ce){se.call(W,Ce)},me="on"+O;W.attachEvent(me,ce),D.a.K.za(W,function(){W.detachEvent(me,ce)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else W.addEventListener(O,se,!1);else Y||(Y=typeof C(W).on=="function"?"on":"bind"),C(W)[Y](O,se)},Fb:function(W,O){if(!W||!W.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var re;if(D.a.R(W)==="input"&&W.type&&O.toLowerCase()=="click"?(re=W.type,re=re=="checkbox"||re=="radio"):re=!1,D.options.useOnlyNativeEvents||!C||re)if(typeof f.createEvent=="function")if(typeof W.dispatchEvent=="function")re=f.createEvent(ge[O]||"HTMLEvents"),re.initEvent(O,!0,!0,A,0,0,0,0,0,!1,!1,!1,!1,0,W),W.dispatchEvent(re);else throw Error("The supplied element doesn't support dispatchEvent");else if(re&&W.click)W.click();else if(typeof W.fireEvent<"u")W.fireEvent("on"+O);else throw Error("Browser doesn't support triggering events");else C(W).trigger(O)},f:function(W){return D.O(W)?W():W},bc:function(W){return D.O(W)?W.v():W},Eb:function(W,O,re){var se;O&&(typeof W.classList=="object"?(se=W.classList[re?"add":"remove"],D.a.D(O.match(G),function(ce){se.call(W.classList,ce)})):typeof W.className.baseVal=="string"?z(W.className,"baseVal",O,re):z(W,"className",O,re))},Bb:function(W,O){var re=D.a.f(O);(re===null||re===o)&&(re="");var se=D.h.firstChild(W);!se||se.nodeType!=3||D.h.nextSibling(se)?D.h.va(W,[W.ownerDocument.createTextNode(re)]):se.data=re,D.a.Ad(W)},Yc:function(W,O){if(W.name=O,7>=fe)try{var re=W.name.replace(/[&<>'"]/g,function(se){return"&#"+se.charCodeAt(0)+";"});W.mergeAttributes(f.createElement("<input name='"+re+"'/>"),!1)}catch{}},Ad:function(W){9<=fe&&(W=W.nodeType==1?W:W.parentNode,W.style&&(W.style.zoom=W.style.zoom))},wd:function(W){if(fe){var O=W.style.width;W.style.width=0,W.style.width=O}},Pd:function(W,O){W=D.a.f(W),O=D.a.f(O);for(var re=[],se=W;se<=O;se++)re.push(se);return re},la:function(W){for(var O=[],re=0,se=W.length;re<se;re++)O.push(W[re]);return O},Da:function(W){return Ae?Symbol(W):W},Zd:fe===6,$d:fe===7,W:fe,Lc:function(W,O){for(var re=D.a.la(W.getElementsByTagName("input")).concat(D.a.la(W.getElementsByTagName("textarea"))),se=typeof O=="string"?function(Ce){return Ce.name===O}:function(Ce){return O.test(Ce.name)},ce=[],me=re.length-1;0<=me;me--)se(re[me])&&ce.push(re[me]);return ce},Nd:function(W){return typeof W=="string"&&(W=D.a.Db(W))?E&&E.parse?E.parse(W):new Function("return "+W)():null},hc:function(W,O,re){if(!E||!E.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return E.stringify(D.a.f(W),O,re)},Od:function(W,O,re){re=re||{};var se=re.params||{},ce=re.includeFields||this.Jc,me=W;if(typeof W=="object"&&D.a.R(W)==="form")for(var me=W.action,Ce=ce.length-1;0<=Ce;Ce--)for(var ye=D.a.Lc(W,ce[Ce]),Be=ye.length-1;0<=Be;Be--)se[ye[Be].name]=ye[Be].value;O=D.a.f(O);var Me=f.createElement("form");Me.style.display="none",Me.action=me,Me.method="post";for(var He in O)W=f.createElement("input"),W.type="hidden",W.name=He,W.value=D.a.hc(D.a.f(O[He])),Me.appendChild(W);j(se,function(ke,Ne){var Pe=f.createElement("input");Pe.type="hidden",Pe.name=ke,Pe.value=Ne,Me.appendChild(Pe)}),f.body.appendChild(Me),re.submitter?re.submitter(Me):Me.submit(),setTimeout(function(){Me.parentNode.removeChild(Me)},0)}}}(),D.b("utils",D.a),D.b("utils.arrayForEach",D.a.D),D.b("utils.arrayFirst",D.a.Lb),D.b("utils.arrayFilter",D.a.jb),D.b("utils.arrayGetDistinctValues",D.a.wc),D.b("utils.arrayIndexOf",D.a.A),D.b("utils.arrayMap",D.a.Mb),D.b("utils.arrayPushAll",D.a.Nb),D.b("utils.arrayRemoveItem",D.a.Pa),D.b("utils.cloneNodes",D.a.Ca),D.b("utils.createSymbolOrString",D.a.Da),D.b("utils.extend",D.a.extend),D.b("utils.fieldsIncludedWithJsonPost",D.a.Jc),D.b("utils.getFormFields",D.a.Lc),D.b("utils.objectMap",D.a.Ga),D.b("utils.peekObservable",D.a.bc),D.b("utils.postJson",D.a.Od),D.b("utils.parseJson",D.a.Nd),D.b("utils.registerEventHandler",D.a.B),D.b("utils.stringifyJson",D.a.hc),D.b("utils.range",D.a.Pd),D.b("utils.toggleDomNodeCssClass",D.a.Eb),D.b("utils.triggerEvent",D.a.Fb),D.b("utils.unwrapObservable",D.a.f),D.b("utils.objectForEach",D.a.P),D.b("utils.addOrRemoveItem",D.a.Na),D.b("utils.setTextContent",D.a.Bb),D.b("unwrap",D.a.f),Function.prototype.bind||(Function.prototype.bind=function(j){var ee=this;if(arguments.length===1)return function(){return ee.apply(j,arguments)};var ie=Array.prototype.slice.call(arguments,1);return function(){var z=ie.slice(0);return z.push.apply(z,arguments),ee.apply(j,z)}}),D.a.g=new function(){var j=0,ee="__ko__"+new Date().getTime(),ie={},z,oe;return D.a.W?(z=function(le,Ae){var he=le[ee];if(!he||he==="null"||!ie[he]){if(!Ae)return o;he=le[ee]="ko"+j++,ie[he]={}}return ie[he]},oe=function(le){var Ae=le[ee];return Ae?(delete ie[Ae],le[ee]=null,!0):!1}):(z=function(le,Ae){var he=le[ee];return!he&&Ae&&(he=le[ee]={}),he},oe=function(le){return le[ee]?(delete le[ee],!0):!1}),{get:function(le,Ae){var he=z(le,!1);return he&&he[Ae]},set:function(le,Ae,he){(le=z(le,he!==o))&&(le[Ae]=he)},Ub:function(le,Ae,he){return le=z(le,!0),le[Ae]||(le[Ae]=he)},clear:oe,Z:function(){return j+++ee}}},D.b("utils.domData",D.a.g),D.b("utils.domData.clear",D.a.g.clear),D.a.K=new function(){function j(Ae,he){var ge=D.a.g.get(Ae,z);return ge===o&&he&&(ge=[],D.a.g.set(Ae,z,ge)),ge}function ee(Ae){var he=j(Ae,!1);if(he)for(var he=he.slice(0),ge=0;ge<he.length;ge++)he[ge](Ae);D.a.g.clear(Ae),D.a.K.cleanExternalData(Ae),le[Ae.nodeType]&&ie(Ae.childNodes,!0)}function ie(Ae,he){for(var ge=[],de,fe=0;fe<Ae.length;fe++)if((!he||Ae[fe].nodeType===8)&&(ee(ge[ge.length]=de=Ae[fe]),Ae[fe]!==de))for(;fe--&&D.a.A(ge,Ae[fe])==-1;);}var z=D.a.g.Z(),oe={1:!0,8:!0,9:!0},le={1:!0,9:!0};return{za:function(Ae,he){if(typeof he!="function")throw Error("Callback must be a function");j(Ae,!0).push(he)},yb:function(Ae,he){var ge=j(Ae,!1);ge&&(D.a.Pa(ge,he),ge.length==0&&D.a.g.set(Ae,z,o))},oa:function(Ae){return D.u.G(function(){oe[Ae.nodeType]&&(ee(Ae),le[Ae.nodeType]&&ie(Ae.getElementsByTagName("*")))}),Ae},removeNode:function(Ae){D.oa(Ae),Ae.parentNode&&Ae.parentNode.removeChild(Ae)},cleanExternalData:function(Ae){C&&typeof C.cleanData=="function"&&C.cleanData([Ae])}}},D.oa=D.a.K.oa,D.removeNode=D.a.K.removeNode,D.b("cleanNode",D.oa),D.b("removeNode",D.removeNode),D.b("utils.domNodeDisposal",D.a.K),D.b("utils.domNodeDisposal.addDisposeCallback",D.a.K.za),D.b("utils.domNodeDisposal.removeDisposeCallback",D.a.K.yb),function(){var j=[0,"",""],ee=[1,"<table>","</table>"],ie=[3,"<table><tbody><tr>","</tr></tbody></table>"],z=[1,"<select multiple='multiple'>","</select>"],oe={thead:ee,tbody:ee,tfoot:ee,tr:[2,"<table><tbody>","</tbody></table>"],td:ie,th:ie,option:z,optgroup:z},le=8>=D.a.W;D.a.ua=function(Ae,he){var ge;if(C){if(C.parseHTML)ge=C.parseHTML(Ae,he)||[];else if((ge=C.clean([Ae],he))&&ge[0]){for(var de=ge[0];de.parentNode&&de.parentNode.nodeType!==11;)de=de.parentNode;de.parentNode&&de.parentNode.removeChild(de)}}else{(ge=he)||(ge=f);var de=ge.parentWindow||ge.defaultView||A,fe=D.a.Db(Ae).toLowerCase(),G=ge.createElement("div"),Y;for(Y=(fe=fe.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&oe[fe[1]]||j,fe=Y[0],Y="ignored<div>"+Y[1]+Ae+Y[2]+"</div>",typeof de.innerShiv=="function"?G.appendChild(de.innerShiv(Y)):(le&&ge.body.appendChild(G),G.innerHTML=Y,le&&G.parentNode.removeChild(G));fe--;)G=G.lastChild;ge=D.a.la(G.lastChild.childNodes)}return ge},D.a.Md=function(Ae,he){var ge=D.a.ua(Ae,he);return ge.length&&ge[0].parentElement||D.a.Yb(ge)},D.a.fc=function(Ae,he){if(D.a.Tb(Ae),he=D.a.f(he),he!==null&&he!==o)if(typeof he!="string"&&(he=he.toString()),C)C(Ae).html(he);else for(var ge=D.a.ua(he,Ae.ownerDocument),de=0;de<ge.length;de++)Ae.appendChild(ge[de])}}(),D.b("utils.parseHtmlFragment",D.a.ua),D.b("utils.setHtml",D.a.fc),D.aa=function(){function j(ie,z){if(ie){if(ie.nodeType==8){var oe=D.aa.Uc(ie.nodeValue);oe!=null&&z.push({ud:ie,Kd:oe})}else if(ie.nodeType==1)for(var oe=0,le=ie.childNodes,Ae=le.length;oe<Ae;oe++)j(le[oe],z)}}var ee={};return{Xb:function(ie){if(typeof ie!="function")throw Error("You can only pass a function to ko.memoization.memoize()");var z=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return ee[z]=ie,"<!--[ko_memo:"+z+"]-->"},bd:function(ie,z){var oe=ee[ie];if(oe===o)throw Error("Couldn't find any memo with ID "+ie+". Perhaps it's already been unmemoized.");try{return oe.apply(null,z||[]),!0}finally{delete ee[ie]}},cd:function(ie,z){var oe=[];j(ie,oe);for(var le=0,Ae=oe.length;le<Ae;le++){var he=oe[le].ud,ge=[he];z&&D.a.Nb(ge,z),D.aa.bd(oe[le].Kd,ge),he.nodeValue="",he.parentNode&&he.parentNode.removeChild(he)}},Uc:function(ie){return(ie=ie.match(/^\[ko_memo\:(.*?)\]$/))?ie[1]:null}}}(),D.b("memoization",D.aa),D.b("memoization.memoize",D.aa.Xb),D.b("memoization.unmemoize",D.aa.bd),D.b("memoization.parseMemoText",D.aa.Uc),D.b("memoization.unmemoizeDomNodeAndDescendants",D.aa.cd),D.na=function(){function j(){if(oe){for(var he=oe,ge=0,de;Ae<oe;)if(de=z[Ae++]){if(Ae>he){if(5e3<=++ge){Ae=oe,D.a.Gc(Error("'Too much recursion' after processing "+ge+" task groups."));break}he=oe}try{de()}catch(fe){D.a.Gc(fe)}}}}function ee(){j(),Ae=oe=z.length=0}var ie,z=[],oe=0,le=1,Ae=0;return A.MutationObserver?ie=function(he){var ge=f.createElement("div");return new MutationObserver(he).observe(ge,{attributes:!0}),function(){ge.classList.toggle("foo")}}(ee):ie=f&&"onreadystatechange"in f.createElement("script")?function(he){var ge=f.createElement("script");ge.onreadystatechange=function(){ge.onreadystatechange=null,f.documentElement.removeChild(ge),ge=null,he()},f.documentElement.appendChild(ge)}:function(he){setTimeout(he,0)},{scheduler:ie,zb:function(he){return oe||D.na.scheduler(ee),z[oe++]=he,le++},cancel:function(he){he=he-(le-oe),he>=Ae&&he<oe&&(z[he]=null)},resetForTesting:function(){var he=oe-Ae;return Ae=oe=z.length=0,he},Sd:j}}(),D.b("tasks",D.na),D.b("tasks.schedule",D.na.zb),D.b("tasks.runEarly",D.na.Sd),D.Ta={throttle:function(j,ee){j.throttleEvaluation=ee;var ie=null;return D.$({read:j,write:function(z){clearTimeout(ie),ie=D.a.setTimeout(function(){j(z)},ee)}})},rateLimit:function(j,ee){var ie,z,oe;typeof ee=="number"?ie=ee:(ie=ee.timeout,z=ee.method),j.Hb=!1,oe=typeof z=="function"?z:z=="notifyWhenChangesStop"?w:v,j.ub(function(le){return oe(le,ie,ee)})},deferred:function(j,ee){if(ee!==!0)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");j.Hb||(j.Hb=!0,j.ub(function(ie){var z,oe=!1;return function(){if(!oe){D.na.cancel(z),z=D.na.zb(ie);try{oe=!0,j.notifySubscribers(o,"dirty")}finally{oe=!1}}}}))},notify:function(j,ee){j.equalityComparer=ee=="always"?null:y}};var S={undefined:1,boolean:1,number:1,string:1};D.b("extenders",D.Ta),D.ic=function(j,ee,ie){this.da=j,this.lc=ee,this.mc=ie,this.Ib=!1,this.fb=this.Jb=null,D.L(this,"dispose",this.s),D.L(this,"disposeWhenNodeIsRemoved",this.l)},D.ic.prototype.s=function(){this.Ib||(this.fb&&D.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},D.ic.prototype.l=function(j){this.Jb=j,D.a.K.za(j,this.fb=this.s.bind(this))},D.T=function(){D.a.Ab(this,P),P.qb(this)};var P={qb:function(j){j.U={change:[]},j.sc=1},subscribe:function(j,ee,ie){var z=this;ie=ie||"change";var oe=new D.ic(z,ee?j.bind(ee):j,function(){D.a.Pa(z.U[ie],oe),z.hb&&z.hb(ie)});return z.Qa&&z.Qa(ie),z.U[ie]||(z.U[ie]=[]),z.U[ie].push(oe),oe},notifySubscribers:function(j,ee){if(ee=ee||"change",ee==="change"&&this.Gb(),this.Wa(ee)){var ie=ee==="change"&&this.ed||this.U[ee].slice(0);try{D.u.xc();for(var z=0,oe;oe=ie[z];++z)oe.Ib||oe.lc(j)}finally{D.u.end()}}},ob:function(){return this.sc},Dd:function(j){return this.ob()!==j},Gb:function(){++this.sc},ub:function(j){var ee=this,ie=D.O(ee),z,oe,le,Ae,he;ee.gb||(ee.gb=ee.notifySubscribers,ee.notifySubscribers=Q);var ge=j(function(){ee.Ja=!1,ie&&Ae===ee&&(Ae=ee.nc?ee.nc():ee());var de=oe||he&&ee.sb(le,Ae);he=oe=z=!1,de&&ee.gb(le=Ae)});ee.qc=function(de,fe){fe&&ee.Ja||(he=!fe),ee.ed=ee.U.change.slice(0),ee.Ja=z=!0,Ae=de,ge()},ee.pc=function(de){z||(le=de,ee.gb(de,"beforeChange"))},ee.rc=function(){he=!0},ee.gd=function(){ee.sb(le,ee.v(!0))&&(oe=!0)}},Wa:function(j){return this.U[j]&&this.U[j].length},Bd:function(j){if(j)return this.U[j]&&this.U[j].length||0;var ee=0;return D.a.P(this.U,function(ie,z){ie!=="dirty"&&(ee+=z.length)}),ee},sb:function(j,ee){return!this.equalityComparer||!this.equalityComparer(j,ee)},toString:function(){return"[object Object]"},extend:function(j){var ee=this;return j&&D.a.P(j,function(ie,z){var oe=D.Ta[ie];typeof oe=="function"&&(ee=oe(ee,z)||ee)}),ee}};D.L(P,"init",P.qb),D.L(P,"subscribe",P.subscribe),D.L(P,"extend",P.extend),D.L(P,"getSubscriptionsCount",P.Bd),D.a.Ba&&D.a.setPrototypeOf(P,Function.prototype),D.T.fn=P,D.Qc=function(j){return j!=null&&typeof j.subscribe=="function"&&typeof j.notifySubscribers=="function"},D.b("subscribable",D.T),D.b("isSubscribable",D.Qc),D.S=D.u=function(){function j(le){ie.push(z),z=le}function ee(){z=ie.pop()}var ie=[],z,oe=0;return{xc:j,end:ee,cc:function(le){if(z){if(!D.Qc(le))throw Error("Only subscribable things can act as dependencies");z.od.call(z.pd,le,le.fd||(le.fd=++oe))}},G:function(le,Ae,he){try{return j(),le.apply(Ae,he||[])}finally{ee()}},qa:function(){if(z)return z.o.qa()},Va:function(){if(z)return z.o.Va()},Ya:function(){if(z)return z.Ya},o:function(){if(z)return z.o}}}(),D.b("computedContext",D.S),D.b("computedContext.getDependenciesCount",D.S.qa),D.b("computedContext.getDependencies",D.S.Va),D.b("computedContext.isInitial",D.S.Ya),D.b("computedContext.registerDependency",D.S.cc),D.b("ignoreDependencies",D.Yd=D.u.G);var R=D.a.Da("_latestValue");D.ta=function(j){function ee(){return 0<arguments.length?(ee.sb(ee[R],arguments[0])&&(ee.ya(),ee[R]=arguments[0],ee.xa()),this):(D.u.cc(ee),ee[R])}return ee[R]=j,D.a.Ba||D.a.extend(ee,D.T.fn),D.T.fn.qb(ee),D.a.Ab(ee,T),D.options.deferUpdates&&D.Ta.deferred(ee,!0),ee};var T={equalityComparer:y,v:function(){return this[R]},xa:function(){this.notifySubscribers(this[R],"spectate"),this.notifySubscribers(this[R])},ya:function(){this.notifySubscribers(this[R],"beforeChange")}};D.a.Ba&&D.a.setPrototypeOf(T,D.T.fn);var L=D.ta.Ma="__ko_proto__";T[L]=D.ta,D.O=function(j){if((j=typeof j=="function"&&j[L])&&j!==T[L]&&j!==D.o.fn[L])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!j},D.Za=function(j){return typeof j=="function"&&(j[L]===T[L]||j[L]===D.o.fn[L]&&j.Nc)},D.b("observable",D.ta),D.b("isObservable",D.O),D.b("isWriteableObservable",D.Za),D.b("isWritableObservable",D.Za),D.b("observable.fn",T),D.L(T,"peek",T.v),D.L(T,"valueHasMutated",T.xa),D.L(T,"valueWillMutate",T.ya),D.Ha=function(j){if(j=j||[],typeof j!="object"||!("length"in j))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return j=D.ta(j),D.a.Ab(j,D.Ha.fn),j.extend({trackArrayChanges:!0})},D.Ha.fn={remove:function(j){for(var ee=this.v(),ie=[],z=typeof j!="function"||D.O(j)?function(Ae){return Ae===j}:j,oe=0;oe<ee.length;oe++){var le=ee[oe];if(z(le)){if(ie.length===0&&this.ya(),ee[oe]!==le)throw Error("Array modified during remove; cannot remove item");ie.push(le),ee.splice(oe,1),oe--}}return ie.length&&this.xa(),ie},removeAll:function(j){if(j===o){var ee=this.v(),ie=ee.slice(0);return this.ya(),ee.splice(0,ee.length),this.xa(),ie}return j?this.remove(function(z){return 0<=D.a.A(j,z)}):[]},destroy:function(j){var ee=this.v(),ie=typeof j!="function"||D.O(j)?function(le){return le===j}:j;this.ya();for(var z=ee.length-1;0<=z;z--){var oe=ee[z];ie(oe)&&(oe._destroy=!0)}this.xa()},destroyAll:function(j){return j===o?this.destroy(function(){return!0}):j?this.destroy(function(ee){return 0<=D.a.A(j,ee)}):[]},indexOf:function(j){var ee=this();return D.a.A(ee,j)},replace:function(j,ee){var ie=this.indexOf(j);0<=ie&&(this.ya(),this.v()[ie]=ee,this.xa())},sorted:function(j){var ee=this().slice(0);return j?ee.sort(j):ee.sort()},reversed:function(){return this().slice(0).reverse()}},D.a.Ba&&D.a.setPrototypeOf(D.Ha.fn,D.ta.fn),D.a.D("pop push reverse shift sort splice unshift".split(" "),function(j){D.Ha.fn[j]=function(){var ee=this.v();this.ya(),this.zc(ee,j,arguments);var ie=ee[j].apply(ee,arguments);return this.xa(),ie===ee?this:ie}}),D.a.D(["slice"],function(j){D.Ha.fn[j]=function(){var ee=this();return ee[j].apply(ee,arguments)}}),D.Pc=function(j){return D.O(j)&&typeof j.remove=="function"&&typeof j.push=="function"},D.b("observableArray",D.Ha),D.b("isObservableArray",D.Pc),D.Ta.trackArrayChanges=function(j,ee){function ie(){function G(){if(he){var Y=[].concat(j.v()||[]),W;j.Wa("arrayChange")&&((!oe||1<he)&&(oe=D.a.Pb(ge,Y,j.Ob)),W=oe),ge=Y,oe=null,he=0,W&&W.length&&j.notifySubscribers(W,"arrayChange")}}z?G():(z=!0,Ae=j.subscribe(function(){++he},null,"spectate"),ge=[].concat(j.v()||[]),oe=null,le=j.subscribe(G))}if(j.Ob={},ee&&typeof ee=="object"&&D.a.extend(j.Ob,ee),j.Ob.sparse=!0,!j.zc){var z=!1,oe=null,le,Ae,he=0,ge,de=j.Qa,fe=j.hb;j.Qa=function(G){de&&de.call(j,G),G==="arrayChange"&&ie()},j.hb=function(G){fe&&fe.call(j,G),G!=="arrayChange"||j.Wa("arrayChange")||(le&&le.s(),Ae&&Ae.s(),Ae=le=null,z=!1,ge=o)},j.zc=function(G,Y,W){function O(Me,He,ke){return re[re.length]={status:Me,value:He,index:ke}}if(z&&!he){var re=[],se=G.length,ce=W.length,me=0;switch(Y){case"push":me=se;case"unshift":for(Y=0;Y<ce;Y++)O("added",W[Y],me+Y);break;case"pop":me=se-1;case"shift":se&&O("deleted",G[me],me);break;case"splice":Y=Math.min(Math.max(0,0>W[0]?se+W[0]:W[0]),se);for(var se=ce===1?se:Math.min(Y+(W[1]||0),se),ce=Y+ce-2,me=Math.max(se,ce),Ce=[],ye=[],Be=2;Y<me;++Y,++Be)Y<se&&ye.push(O("deleted",G[Y],Y)),Y<ce&&Ce.push(O("added",W[Be],Y));D.a.Kc(ye,Ce);break;default:return}oe=re}}}};var F=D.a.Da("_state");D.o=D.$=function(j,ee,ie){function z(){if(0<arguments.length){if(typeof oe=="function")oe.apply(le.nb,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}return le.ra||D.u.cc(z),(le.ka||le.J&&z.Xa())&&z.ha(),le.X}if(typeof j=="object"?ie=j:(ie=ie||{},j&&(ie.read=j)),typeof ie.read!="function")throw Error("Pass a function that returns the value of the ko.computed");var oe=ie.write,le={X:o,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:ie.read,nb:ee||ie.owner,l:ie.disposeWhenNodeIsRemoved||ie.l||null,Sa:ie.disposeWhen||ie.Sa,Rb:null,I:{},V:0,Ic:null};return z[F]=le,z.Nc=typeof oe=="function",D.a.Ba||D.a.extend(z,D.T.fn),D.T.fn.qb(z),D.a.Ab(z,U),ie.pure?(le.wb=!0,le.J=!0,D.a.extend(z,N)):ie.deferEvaluation&&D.a.extend(z,H),D.options.deferUpdates&&D.Ta.deferred(z,!0),le.l&&(le.jc=!0,le.l.nodeType||(le.l=null)),le.J||ie.deferEvaluation||z.ha(),le.l&&z.ja()&&D.a.K.za(le.l,le.Rb=function(){z.s()}),z};var U={equalityComparer:y,qa:function(){return this[F].V},Va:function(){var j=[];return D.a.P(this[F].I,function(ee,ie){j[ie.Ka]=ie.da}),j},Vb:function(j){if(!this[F].V)return!1;var ee=this.Va();return D.a.A(ee,j)!==-1?!0:!!D.a.Lb(ee,function(ie){return ie.Vb&&ie.Vb(j)})},uc:function(j,ee,ie){if(this[F].wb&&ee===this)throw Error("A 'pure' computed must not be called recursively");this[F].I[j]=ie,ie.Ka=this[F].V++,ie.La=ee.ob()},Xa:function(){var j,ee,ie=this[F].I;for(j in ie)if(Object.prototype.hasOwnProperty.call(ie,j)&&(ee=ie[j],this.Ia&&ee.da.Ja||ee.da.Dd(ee.La)))return!0},Jd:function(){this.Ia&&!this[F].rb&&this.Ia(!1)},ja:function(){var j=this[F];return j.ka||0<j.V},Rd:function(){this.Ja?this[F].ka&&(this[F].sa=!0):this.Hc()},$c:function(j){if(j.Hb){var ee=j.subscribe(this.Jd,this,"dirty"),ie=j.subscribe(this.Rd,this);return{da:j,s:function(){ee.s(),ie.s()}}}return j.subscribe(this.Hc,this)},Hc:function(){var j=this,ee=j.throttleEvaluation;ee&&0<=ee?(clearTimeout(this[F].Ic),this[F].Ic=D.a.setTimeout(function(){j.ha(!0)},ee)):j.Ia?j.Ia(!0):j.ha(!0)},ha:function(j){var ee=this[F],ie=ee.Sa,z=!1;if(!ee.rb&&!ee.ra){if(ee.l&&!D.a.Sb(ee.l)||ie&&ie()){if(!ee.jc){this.s();return}}else ee.jc=!1;ee.rb=!0;try{z=this.zd(j)}finally{ee.rb=!1}return z}},zd:function(j){var ee=this[F],z=!1,ie=ee.wb?o:!ee.V,z={qd:this,mb:ee.I,Qb:ee.V};D.u.xc({pd:z,od:B,o:this,Ya:ie}),ee.I={},ee.V=0;var oe=this.yd(ee,z);return ee.V?z=this.sb(ee.X,oe):(this.s(),z=!0),z&&(ee.J?this.Gb():this.notifySubscribers(ee.X,"beforeChange"),ee.X=oe,this.notifySubscribers(ee.X,"spectate"),!ee.J&&j&&this.notifySubscribers(ee.X),this.rc&&this.rc()),ie&&this.notifySubscribers(ee.X,"awake"),z},yd:function(j,ee){try{var ie=j.Wc;return j.nb?ie.call(j.nb):ie()}finally{D.u.end(),ee.Qb&&!j.J&&D.a.P(ee.mb,M),j.sa=j.ka=!1}},v:function(j){var ee=this[F];return(ee.ka&&(j||!ee.V)||ee.J&&this.Xa())&&this.ha(),ee.X},ub:function(j){D.T.fn.ub.call(this,j),this.nc=function(){return this[F].J||(this[F].sa?this.ha():this[F].ka=!1),this[F].X},this.Ia=function(ee){this.pc(this[F].X),this[F].ka=!0,ee&&(this[F].sa=!0),this.qc(this,!ee)}},s:function(){var j=this[F];!j.J&&j.I&&D.a.P(j.I,function(ee,ie){ie.s&&ie.s()}),j.l&&j.Rb&&D.a.K.yb(j.l,j.Rb),j.I=o,j.V=0,j.ra=!0,j.sa=!1,j.ka=!1,j.J=!1,j.l=o,j.Sa=o,j.Wc=o,this.Nc||(j.nb=o)}},N={Qa:function(j){var ee=this,ie=ee[F];if(!ie.ra&&ie.J&&j=="change"){if(ie.J=!1,ie.sa||ee.Xa())ie.I=null,ie.V=0,ee.ha()&&ee.Gb();else{var z=[];D.a.P(ie.I,function(oe,le){z[le.Ka]=oe}),D.a.D(z,function(oe,le){var Ae=ie.I[oe],he=ee.$c(Ae.da);he.Ka=le,he.La=Ae.La,ie.I[oe]=he}),ee.Xa()&&ee.ha()&&ee.Gb()}ie.ra||ee.notifySubscribers(ie.X,"awake")}},hb:function(j){var ee=this[F];ee.ra||j!="change"||this.Wa("change")||(D.a.P(ee.I,function(ie,z){z.s&&(ee.I[ie]={da:z.da,Ka:z.Ka,La:z.La},z.s())}),ee.J=!0,this.notifySubscribers(o,"asleep"))},ob:function(){var j=this[F];return j.J&&(j.sa||this.Xa())&&this.ha(),D.T.fn.ob.call(this)}},H={Qa:function(j){j!="change"&&j!="beforeChange"||this.v()}};D.a.Ba&&D.a.setPrototypeOf(U,D.T.fn);var J=D.ta.Ma;U[J]=D.o,D.Oc=function(j){return typeof j=="function"&&j[J]===U[J]},D.Fd=function(j){return D.Oc(j)&&j[F]&&j[F].wb},D.b("computed",D.o),D.b("dependentObservable",D.o),D.b("isComputed",D.Oc),D.b("isPureComputed",D.Fd),D.b("computed.fn",U),D.L(U,"peek",U.v),D.L(U,"dispose",U.s),D.L(U,"isActive",U.ja),D.L(U,"getDependenciesCount",U.qa),D.L(U,"getDependencies",U.Va),D.xb=function(j,ee){return typeof j=="function"?D.o(j,ee,{pure:!0}):(j=D.a.extend({},j),j.pure=!0,D.o(j,ee))},D.b("pureComputed",D.xb),function(){function j(z,oe,le){if(le=le||new ie,z=oe(z),typeof z!="object"||z===null||z===o||z instanceof RegExp||z instanceof Date||z instanceof String||z instanceof Number||z instanceof Boolean)return z;var Ae=z instanceof Array?[]:{};return le.save(z,Ae),ee(z,function(he){var ge=oe(z[he]);switch(typeof ge){case"boolean":case"number":case"string":case"function":Ae[he]=ge;break;case"object":case"undefined":var de=le.get(ge);Ae[he]=de!==o?de:j(ge,oe,le)}}),Ae}function ee(z,oe){if(z instanceof Array){for(var le=0;le<z.length;le++)oe(le);typeof z.toJSON=="function"&&oe("toJSON")}else for(le in z)oe(le)}function ie(){this.keys=[],this.values=[]}D.ad=function(z){if(arguments.length==0)throw Error("When calling ko.toJS, pass the object you want to convert.");return j(z,function(oe){for(var le=0;D.O(oe)&&10>le;le++)oe=oe();return oe})},D.toJSON=function(z,oe,le){return z=D.ad(z),D.a.hc(z,oe,le)},ie.prototype={constructor:ie,save:function(z,oe){var le=D.a.A(this.keys,z);0<=le?this.values[le]=oe:(this.keys.push(z),this.values.push(oe))},get:function(z){return z=D.a.A(this.keys,z),0<=z?this.values[z]:o}}}(),D.b("toJS",D.ad),D.b("toJSON",D.toJSON),D.Wd=function(j,ee,ie){function z(oe){var le=D.xb(j,ie).extend({ma:"always"}),Ae=le.subscribe(function(he){he&&(Ae.s(),oe(he))});return le.notifySubscribers(le.v()),Ae}return typeof Promise!="function"||ee?z(ee.bind(ie)):new Promise(z)},D.b("when",D.Wd),function(){D.w={M:function(j){switch(D.a.R(j)){case"option":return j.__ko__hasDomDataOptionValue__===!0?D.a.g.get(j,D.c.options.$b):7>=D.a.W?j.getAttributeNode("value")&&j.getAttributeNode("value").specified?j.value:j.text:j.value;case"select":return 0<=j.selectedIndex?D.w.M(j.options[j.selectedIndex]):o;default:return j.value}},cb:function(j,ee,ie){switch(D.a.R(j)){case"option":typeof ee=="string"?(D.a.g.set(j,D.c.options.$b,o),"__ko__hasDomDataOptionValue__"in j&&delete j.__ko__hasDomDataOptionValue__,j.value=ee):(D.a.g.set(j,D.c.options.$b,ee),j.__ko__hasDomDataOptionValue__=!0,j.value=typeof ee=="number"?ee:"");break;case"select":(ee===""||ee===null)&&(ee=o);for(var z=-1,oe=0,le=j.options.length,Ae;oe<le;++oe)if(Ae=D.w.M(j.options[oe]),Ae==ee||Ae===""&&ee===o){z=oe;break}(ie||0<=z||ee===o&&1<j.size)&&(j.selectedIndex=z,D.a.W===6&&D.a.setTimeout(function(){j.selectedIndex=z},0));break;default:(ee===null||ee===o)&&(ee=""),j.value=ee}}}}(),D.b("selectExtensions",D.w),D.b("selectExtensions.readValue",D.w.M),D.b("selectExtensions.writeValue",D.w.cb),D.m=function(){function j(he){he=D.a.Db(he),he.charCodeAt(0)===123&&(he=he.slice(1,-1)),he+=` ,`;var ge=[],de=he.match(z),fe,G=[],Y=0;if(1<de.length){for(var W=0,O;O=de[W];++W){var re=O.charCodeAt(0);if(re===44){if(0>=Y){ge.push(fe&&G.length?{key:fe,value:G.join("")}:{unknown:fe||G.join("")}),fe=Y=0,G=[];continue}}else if(re===58){if(!Y&&!fe&&G.length===1){fe=G.pop();continue}}else{if(re===47&&1<O.length&&(O.charCodeAt(1)===47||O.charCodeAt(1)===42))continue;re===47&&W&&1<O.length?(re=de[W-1].match(oe))&&!le[re[0]]&&(he=he.substr(he.indexOf(O)+1),de=he.match(z),W=-1,O="/"):re===40||re===123||re===91?++Y:re===41||re===125||re===93?--Y:fe||G.length||re!==34&&re!==39||(O=O.slice(1,-1))}G.push(O)}if(0<Y)throw Error("Unbalanced parentheses, braces, or brackets")}return ge}var ee=["true","false","null","undefined"],ie=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,z=RegExp(`"(?:\\\\.|[^"])*"|'(?:\\\\.|[^'])*'|\`(?:\\\\.|[^\`])*\`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.* |/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,"'\`{}()/:[\\]]*[^\\s,"'\`{}()/:[\\]]|[^\\s]`,"g"),oe=/[\])"'A-Za-z0-9_$]+$/,le={in:1,return:1,typeof:1},Ae={};return{Ra:[],wa:Ae,ac:j,vb:function(he,ge){function de(re,se){var ce;if(!W){var me=D.getBindingHandler(re);if(me&&me.preprocess&&!(se=me.preprocess(se,re,de)))return;(me=Ae[re])&&(ce=se,0<=D.a.A(ee,ce)?ce=!1:(me=ce.match(ie),ce=me===null?!1:me[1]?"Object("+me[1]+")"+me[2]:ce),me=ce),me&&G.push("'"+(typeof Ae[re]=="string"?Ae[re]:re)+"':function(_z){"+ce+"=_z}")}Y&&(se="function(){return "+se+" }"),fe.push("'"+re+"':"+se)}ge=ge||{};var fe=[],G=[],Y=ge.valueAccessors,W=ge.bindingParams,O=typeof he=="string"?j(he):he;return D.a.D(O,function(re){de(re.key||re.unknown,re.value)}),G.length&&de("_ko_property_writers","{"+G.join(",")+" }"),fe.join(",")},Id:function(he,ge){for(var de=0;de<he.length;de++)if(he[de].key==ge)return!0;return!1},eb:function(he,ge,de,fe,G){he&&D.O(he)?!D.Za(he)||G&&he.v()===fe||he(fe):(he=ge.get("_ko_property_writers"))&&he[de]&&he[de](fe)}}}(),D.b("expressionRewriting",D.m),D.b("expressionRewriting.bindingRewriteValidators",D.m.Ra),D.b("expressionRewriting.parseObjectLiteral",D.m.ac),D.b("expressionRewriting.preProcessBindings",D.m.vb),D.b("expressionRewriting._twoWayBindings",D.m.wa),D.b("jsonExpressionRewriting",D.m),D.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",D.m.vb),function(){function j(de){return de.nodeType==8&&le.test(oe?de.text:de.nodeValue)}function ee(de){return de.nodeType==8&&Ae.test(oe?de.text:de.nodeValue)}function ie(de,fe){for(var G=de,Y=1,W=[];G=G.nextSibling;){if(ee(G)&&(D.a.g.set(G,ge,!0),Y--,Y===0))return W;W.push(G),j(G)&&Y++}if(!fe)throw Error("Cannot find closing comment tag to match: "+de.nodeValue);return null}function z(de,fe){var G=ie(de,fe);return G?0<G.length?G[G.length-1].nextSibling:de.nextSibling:null}var oe=f&&f.createComment("test").text==="<!--test-->",le=oe?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,Ae=oe?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,he={ul:!0,ol:!0},ge="__ko_matchedEndComment__";D.h={ea:{},childNodes:function(de){return j(de)?ie(de):de.childNodes},Ea:function(de){if(j(de)){de=D.h.childNodes(de);for(var fe=0,G=de.length;fe<G;fe++)D.removeNode(de[fe])}else D.a.Tb(de)},va:function(de,fe){if(j(de)){D.h.Ea(de);for(var G=de.nextSibling,Y=0,W=fe.length;Y<W;Y++)G.parentNode.insertBefore(fe[Y],G)}else D.a.va(de,fe)},Vc:function(de,fe){var G;j(de)?(G=de.nextSibling,de=de.parentNode):G=de.firstChild,G?fe!==G&&de.insertBefore(fe,G):de.appendChild(fe)},Wb:function(de,fe,G){G?(G=G.nextSibling,j(de)&&(de=de.parentNode),G?fe!==G&&de.insertBefore(fe,G):de.appendChild(fe)):D.h.Vc(de,fe)},firstChild:function(de){if(j(de))return!de.nextSibling||ee(de.nextSibling)?null:de.nextSibling;if(de.firstChild&&ee(de.firstChild))throw Error("Found invalid end comment, as the first child of "+de);return de.firstChild},nextSibling:function(de){if(j(de)&&(de=z(de)),de.nextSibling&&ee(de.nextSibling)){var fe=de.nextSibling;if(ee(fe)&&!D.a.g.get(fe,ge))throw Error("Found end comment without a matching opening comment, as child of "+de);return null}return de.nextSibling},Cd:j,Vd:function(de){return(de=(oe?de.text:de.nodeValue).match(le))?de[1]:null},Sc:function(de){if(he[D.a.R(de)]){var fe=de.firstChild;if(fe)do if(fe.nodeType===1){var G;G=fe.firstChild;var Y=null;if(G)do if(Y)Y.push(G);else if(j(G)){var W=z(G,!0);W?G=W:Y=[G]}else ee(G)&&(Y=[G]);while(G=G.nextSibling);if(G=Y)for(Y=fe.nextSibling,W=0;W<G.length;W++)Y?de.insertBefore(G[W],Y):de.appendChild(G[W])}while(fe=fe.nextSibling)}}}}(),D.b("virtualElements",D.h),D.b("virtualElements.allowedBindings",D.h.ea),D.b("virtualElements.emptyNode",D.h.Ea),D.b("virtualElements.insertAfter",D.h.Wb),D.b("virtualElements.prepend",D.h.Vc),D.b("virtualElements.setDomNodeChildren",D.h.va),function(){D.ga=function(){this.nd={}},D.a.extend(D.ga.prototype,{nodeHasBindings:function(j){switch(j.nodeType){case 1:return j.getAttribute("data-bind")!=null||D.j.getComponentNameForNode(j);case 8:return D.h.Cd(j);default:return!1}},getBindings:function(j,ee){var ie=this.getBindingsString(j,ee),ie=ie?this.parseBindingsString(ie,ee,j):null;return D.j.tc(ie,j,ee,!1)},getBindingAccessors:function(j,ee){var ie=this.getBindingsString(j,ee),ie=ie?this.parseBindingsString(ie,ee,j,{valueAccessors:!0}):null;return D.j.tc(ie,j,ee,!0)},getBindingsString:function(j){switch(j.nodeType){case 1:return j.getAttribute("data-bind");case 8:return D.h.Vd(j);default:return null}},parseBindingsString:function(j,ee,ie,z){try{var oe=this.nd,le=j+(z&&z.valueAccessors||""),Ae;if(!(Ae=oe[le])){var he,ge="with($context){with($data||{}){return{"+D.m.vb(j,z)+"}}}";he=new Function("$context","$element",ge),Ae=oe[le]=he}return Ae(ee,ie)}catch(de){throw de.message=`Unable to parse bindings. Bindings value: `+j+` Message: `+de.message,de}}}),D.ga.instance=new D.ga}(),D.b("bindingProvider",D.ga),function(){function j(me){var Ce=(me=D.a.g.get(me,ce))&&me.N;Ce&&(me.N=null,Ce.Tc())}function ee(me,Ce,ye){this.node=me,this.yc=Ce,this.kb=[],this.H=!1,Ce.N||D.a.K.za(me,j),ye&&ye.N&&(ye.N.kb.push(me),this.Kb=ye)}function ie(me){return function(){return me}}function z(me){return me()}function oe(me){return D.a.Ga(D.u.G(me),function(Ce,ye){return function(){return me()[ye]}})}function le(me,Ce,ye){return typeof me=="function"?oe(me.bind(null,Ce,ye)):D.a.Ga(me,ie)}function Ae(me,Ce){return oe(this.getBindings.bind(this,me,Ce))}function he(me,Ce){var ye=D.h.firstChild(Ce);if(ye){var Be,Me=D.ga.instance,He=Me.preprocessNode;if(He){for(;Be=ye;)ye=D.h.nextSibling(Be),He.call(Me,Be);ye=D.h.firstChild(Ce)}for(;Be=ye;)ye=D.h.nextSibling(Be),ge(me,Be)}D.i.ma(Ce,D.i.H)}function ge(me,Ce){var ye=me,Be=Ce.nodeType===1;Be&&D.h.Sc(Ce),(Be||D.ga.instance.nodeHasBindings(Ce))&&(ye=fe(Ce,null,me).bindingContextForDescendants),ye&&!re[D.a.R(Ce)]&&he(ye,Ce)}function de(me){var Ce=[],ye={},Be=[];return D.a.P(me,function Me(He){if(!ye[He]){var ke=D.getBindingHandler(He);ke&&(ke.after&&(Be.push(He),D.a.D(ke.after,function(Ne){if(me[Ne]){if(D.a.A(Be,Ne)!==-1)throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+Be.join(", "));Me(Ne)}}),Be.length--),Ce.push({key:He,Mc:ke})),ye[He]=!0}}),Ce}function fe(me,Ce,ye){var Be=D.a.g.Ub(me,ce,{}),Me=Be.hd;if(!Ce){if(Me)throw Error("You cannot apply bindings multiple times to the same element.");Be.hd=!0}Me||(Be.context=ye),Be.Zb||(Be.Zb={});var He;if(Ce&&typeof Ce!="function")He=Ce;else{var ke=D.ga.instance,Ne=ke.getBindingAccessors||Ae,Pe=D.$(function(){return(He=Ce?Ce(ye,me):Ne.call(ke,me,ye))&&(ye[Y]&&ye[Y](),ye[O]&&ye[O]()),He},null,{l:me});He&&Pe.ja()||(Pe=null)}var we=ye,Fe;if(He){var Ue=function(){return D.a.Ga(Pe?Pe():He,z)},ze=Pe?function(Je){return function(){return z(Pe()[Je])}}:function(Je){return He[Je]};Ue.get=function(Je){return He[Je]&&z(ze(Je))},Ue.has=function(Je){return Je in He},D.i.H in He&&D.i.subscribe(me,D.i.H,function(){var Je=(0,He[D.i.H])();if(Je){var je=D.h.childNodes(me);je.length&&Je(je,D.Ec(je[0]))}}),D.i.pa in He&&(we=D.i.Cb(me,ye),D.i.subscribe(me,D.i.pa,function(){var Je=(0,He[D.i.pa])();Je&&D.h.firstChild(me)&&Je(me)})),Be=de(He),D.a.D(Be,function(Je){var je=Je.Mc.init,Ze=Je.Mc.update,rt=Je.key;if(me.nodeType===8&&!D.h.ea[rt])throw Error("The binding '"+rt+"' cannot be used with virtual elements");try{typeof je=="function"&&D.u.G(function(){var At=je(me,ze(rt),Ue,we.$data,we);if(At&&At.controlsDescendantBindings){if(Fe!==o)throw Error("Multiple bindings ("+Fe+" and "+rt+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");Fe=rt}}),typeof Ze=="function"&&D.$(function(){Ze(me,ze(rt),Ue,we.$data,we)},null,{l:me})}catch(At){throw At.message='Unable to process binding "'+rt+": "+He[rt]+`" Message: `+At.message,At}})}return Be=Fe===o,{shouldBindDescendants:Be,bindingContextForDescendants:Be&&we}}function G(me,Ce){return me&&me instanceof D.fa?me:new D.fa(me,o,o,Ce)}var Y=D.a.Da("_subscribable"),W=D.a.Da("_ancestorBindingInfo"),O=D.a.Da("_dataDependency");D.c={};var re={script:!0,textarea:!0,template:!0};D.getBindingHandler=function(me){return D.c[me]};var se={};D.fa=function(me,Ce,ye,Be,Me){function He(){var ze=we?Pe():Pe,Je=D.a.f(ze);return Ce?(D.a.extend(ke,Ce),W in Ce&&(ke[W]=Ce[W])):(ke.$parents=[],ke.$root=Je,ke.ko=D),ke[Y]=Fe,Ne?Je=ke.$data:(ke.$rawData=ze,ke.$data=Je),ye&&(ke[ye]=Je),Be&&Be(ke,Ce,Je),Ce&&Ce[Y]&&!D.S.o().Vb(Ce[Y])&&Ce[Y](),Ue&&(ke[O]=Ue),ke.$data}var ke=this,Ne=me===se,Pe=Ne?o:me,we=typeof Pe=="function"&&!D.O(Pe),Fe,Ue=Me&&Me.dataDependency;Me&&Me.exportDependencies?He():(Fe=D.xb(He),Fe.v(),Fe.ja()?Fe.equalityComparer=null:ke[Y]=o)},D.fa.prototype.createChildContext=function(me,Ce,ye,Be){if(!Be&&Ce&&typeof Ce=="object"&&(Be=Ce,Ce=Be.as,ye=Be.extend),Ce&&Be&&Be.noChildContext){var Me=typeof me=="function"&&!D.O(me);return new D.fa(se,this,null,function(He){ye&&ye(He),He[Ce]=Me?me():me},Be)}return new D.fa(me,this,Ce,function(He,ke){He.$parentContext=ke,He.$parent=ke.$data,He.$parents=(ke.$parents||[]).slice(0),He.$parents.unshift(He.$parent),ye&&ye(He)},Be)},D.fa.prototype.extend=function(me,Ce){return new D.fa(se,this,null,function(ye){D.a.extend(ye,typeof me=="function"?me(ye):me)},Ce)};var ce=D.a.g.Z();ee.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},ee.prototype.sd=function(me){D.a.Pa(this.kb,me),!this.kb.length&&this.H&&this.Cc()},ee.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,D.a.K.yb(this.node,j),D.i.ma(this.node,D.i.pa),this.Tc())},D.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(me,Ce,ye,Be,Me){var He=D.a.g.Ub(me,ce,{});return He.Fa||(He.Fa=new D.T),Me&&Me.notifyImmediately&&He.Zb[Ce]&&D.u.G(ye,Be,[me]),He.Fa.subscribe(ye,Be,Ce)},ma:function(me,Ce){var ye=D.a.g.get(me,ce);if(ye&&(ye.Zb[Ce]=!0,ye.Fa&&ye.Fa.notifySubscribers(me,Ce),Ce==D.i.H)){if(ye.N)ye.N.Cc();else if(ye.N===o&&ye.Fa&&ye.Fa.Wa(D.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")}},Cb:function(me,Ce){var ye=D.a.g.Ub(me,ce,{});return ye.N||(ye.N=new ee(me,ye,Ce[W])),Ce[W]==ye?Ce:Ce.extend(function(Be){Be[W]=ye})}},D.Td=function(me){return(me=D.a.g.get(me,ce))&&me.context},D.ib=function(me,Ce,ye){return me.nodeType===1&&D.h.Sc(me),fe(me,Ce,G(ye))},D.ld=function(me,Ce,ye){return ye=G(ye),D.ib(me,le(Ce,ye,me),ye)},D.Oa=function(me,Ce){Ce.nodeType!==1&&Ce.nodeType!==8||he(G(me),Ce)},D.vc=function(me,Ce,ye){if(!C&&A.jQuery&&(C=A.jQuery),2>arguments.length){if(Ce=f.body,!Ce)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!Ce||Ce.nodeType!==1&&Ce.nodeType!==8)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");ge(G(me,ye),Ce)},D.Dc=function(me){return!me||me.nodeType!==1&&me.nodeType!==8?o:D.Td(me)},D.Ec=function(me){return(me=D.Dc(me))?me.$data:o},D.b("bindingHandlers",D.c),D.b("bindingEvent",D.i),D.b("bindingEvent.subscribe",D.i.subscribe),D.b("bindingEvent.startPossiblyAsyncContentBinding",D.i.Cb),D.b("applyBindings",D.vc),D.b("applyBindingsToDescendants",D.Oa),D.b("applyBindingAccessorsToNode",D.ib),D.b("applyBindingsToNode",D.ld),D.b("contextFor",D.Dc),D.b("dataFor",D.Ec)}(),function(j){function ee(Ae,he){var ge=Object.prototype.hasOwnProperty.call(oe,Ae)?oe[Ae]:j,de;ge?ge.subscribe(he):(ge=oe[Ae]=new D.T,ge.subscribe(he),ie(Ae,function(fe,G){var Y=!(!G||!G.synchronous);le[Ae]={definition:fe,Gd:Y},delete oe[Ae],de||Y?ge.notifySubscribers(fe):D.na.zb(function(){ge.notifySubscribers(fe)})}),de=!0)}function ie(Ae,he){z("getConfig",[Ae],function(ge){ge?z("loadComponent",[Ae,ge],function(de){he(de,ge)}):he(null,null)})}function z(Ae,he,ge,de){de||(de=D.j.loaders.slice(0));var fe=de.shift();if(fe){var G=fe[Ae];if(G){var Y=!1;if(G.apply(fe,he.concat(function(W){Y?ge(null):W!==null?ge(W):z(Ae,he,ge,de)}))!==j&&(Y=!0,!fe.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else z(Ae,he,ge,de)}else ge(null)}var oe={},le={};D.j={get:function(Ae,he){var ge=Object.prototype.hasOwnProperty.call(le,Ae)?le[Ae]:j;ge?ge.Gd?D.u.G(function(){he(ge.definition)}):D.na.zb(function(){he(ge.definition)}):ee(Ae,he)},Bc:function(Ae){delete le[Ae]},oc:z},D.j.loaders=[],D.b("components",D.j),D.b("components.get",D.j.get),D.b("components.clearCachedDefinition",D.j.Bc)}(),function(){function j(ge,de,fe,G){function Y(){--O===0&&G(W)}var W={},O=2,re=fe.template;fe=fe.viewModel,re?oe(de,re,function(se){D.j.oc("loadTemplate",[ge,se],function(ce){W.template=ce,Y()})}):Y(),fe?oe(de,fe,function(se){D.j.oc("loadViewModel",[ge,se],function(ce){W[he]=ce,Y()})}):Y()}function ee(ge,de,fe){if(typeof de=="function")fe(function(Y){return new de(Y)});else if(typeof de[he]=="function")fe(de[he]);else if("instance"in de){var G=de.instance;fe(function(){return G})}else"viewModel"in de?ee(ge,de.viewModel,fe):ge("Unknown viewModel value: "+de)}function ie(ge){switch(D.a.R(ge)){case"script":return D.a.ua(ge.text);case"textarea":return D.a.ua(ge.value);case"template":if(z(ge.content))return D.a.Ca(ge.content.childNodes)}return D.a.Ca(ge.childNodes)}function z(ge){return A.DocumentFragment?ge instanceof DocumentFragment:ge&&ge.nodeType===11}function oe(ge,de,fe){typeof de.require=="string"?x||A.require?(x||A.require)([de.require],function(G){G&&typeof G=="object"&&G.Xd&&G.default&&(G=G.default),fe(G)}):ge("Uses require, but no AMD loader is present"):fe(de)}function le(ge){return function(de){throw Error("Component '"+ge+"': "+de)}}var Ae={};D.j.register=function(ge,de){if(!de)throw Error("Invalid configuration for "+ge);if(D.j.tb(ge))throw Error("Component "+ge+" is already registered");Ae[ge]=de},D.j.tb=function(ge){return Object.prototype.hasOwnProperty.call(Ae,ge)},D.j.unregister=function(ge){delete Ae[ge],D.j.Bc(ge)},D.j.Fc={getConfig:function(ge,de){de(D.j.tb(ge)?Ae[ge]:null)},loadComponent:function(ge,de,fe){var G=le(ge);oe(G,de,function(Y){j(ge,G,Y,fe)})},loadTemplate:function(ge,de,fe){if(ge=le(ge),typeof de=="string")fe(D.a.ua(de));else if(de instanceof Array)fe(de);else if(z(de))fe(D.a.la(de.childNodes));else if(de.element)if(de=de.element,A.HTMLElement?de instanceof HTMLElement:de&&de.tagName&&de.nodeType===1)fe(ie(de));else if(typeof de=="string"){var G=f.getElementById(de);G?fe(ie(G)):ge("Cannot find element with ID "+de)}else ge("Unknown element type: "+de);else ge("Unknown template value: "+de)},loadViewModel:function(ge,de,fe){ee(le(ge),de,fe)}};var he="createViewModel";D.b("components.register",D.j.register),D.b("components.isRegistered",D.j.tb),D.b("components.unregister",D.j.unregister),D.b("components.defaultLoader",D.j.Fc),D.j.loaders.push(D.j.Fc),D.j.dd=Ae}(),function(){function j(ie,z){var oe=ie.getAttribute("params");if(oe){var oe=ee.parseBindingsString(oe,z,ie,{valueAccessors:!0,bindingParams:!0}),oe=D.a.Ga(oe,function(he){return D.o(he,null,{l:ie})}),le=D.a.Ga(oe,function(he){var ge=he.v();return he.ja()?D.o({read:function(){return D.a.f(he())},write:D.Za(ge)&&function(de){he()(de)},l:ie}):ge});return Object.prototype.hasOwnProperty.call(le,"$raw")||(le.$raw=oe),le}return{$raw:{}}}D.j.getComponentNameForNode=function(ie){var z=D.a.R(ie);if(D.j.tb(z)&&(z.indexOf("-")!=-1||""+ie=="[object HTMLUnknownElement]"||8>=D.a.W&&ie.tagName===z))return z},D.j.tc=function(ie,z,oe,le){if(z.nodeType===1){var Ae=D.j.getComponentNameForNode(z);if(Ae){if(ie=ie||{},ie.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var he={name:Ae,params:j(z,oe)};ie.component=le?function(){return he}:he}}return ie};var ee=new D.ga;9>D.a.W&&(D.j.register=function(ie){return function(z){return ie.apply(this,arguments)}}(D.j.register),f.createDocumentFragment=function(ie){return function(){var z=ie(),oe=D.j.dd,le;for(le in oe);return z}}(f.createDocumentFragment))}(),function(){function j(z,oe,le){if(oe=oe.template,!oe)throw Error("Component '"+z+"' has no template");z=D.a.Ca(oe),D.h.va(le,z)}function ee(z,oe,le){var Ae=z.createViewModel;return Ae?Ae.call(z,oe,le):oe}var ie=0;D.c.component={init:function(z,oe,le,Ae,he){function ge(){var W=de&&de.dispose;typeof W=="function"&&W.call(de),G&&G.s(),fe=de=G=null}var de,fe,G,Y=D.a.la(D.h.childNodes(z));return D.h.Ea(z),D.a.K.za(z,ge),D.o(function(){var W=D.a.f(oe()),O,re;if(typeof W=="string"?O=W:(O=D.a.f(W.name),re=D.a.f(W.params)),!O)throw Error("No component name specified");var se=D.i.Cb(z,he),ce=fe=++ie;D.j.get(O,function(me){if(fe===ce){if(ge(),!me)throw Error("Unknown component '"+O+"'");j(O,me,z);var Ce=ee(me,re,{element:z,templateNodes:Y});me=se.createChildContext(Ce,{extend:function(ye){ye.$component=Ce,ye.$componentTemplateNodes=Y}}),Ce&&Ce.koDescendantsComplete&&(G=D.i.subscribe(z,D.i.pa,Ce.koDescendantsComplete,Ce)),de=Ce,D.Oa(me,z)}})},null,{l:z}),{controlsDescendantBindings:!0}}},D.h.ea.component=!0}();var K={class:"className",for:"htmlFor"};D.c.attr={update:function(j,ee){var ie=D.a.f(ee())||{};D.a.P(ie,function(z,oe){oe=D.a.f(oe);var le=z.indexOf(":"),le="lookupNamespaceURI"in j&&0<le&&j.lookupNamespaceURI(z.substr(0,le)),Ae=oe===!1||oe===null||oe===o;Ae?le?j.removeAttributeNS(le,z):j.removeAttribute(z):oe=oe.toString(),8>=D.a.W&&z in K?(z=K[z],Ae?j.removeAttribute(z):j[z]=oe):Ae||(le?j.setAttributeNS(le,z,oe):j.setAttribute(z,oe)),z==="name"&&D.a.Yc(j,Ae?"":oe)})}},function(){D.c.checked={after:["value","attr"],init:function(j,ee,ie){function z(){var W=j.checked,O=le();if(!D.S.Ya()&&(W||!he&&!D.S.qa())){var re=D.u.G(ee);if(de){var se=fe?re.v():re,ce=Y;Y=O,ce!==O?W&&(D.a.Na(se,O,!0),D.a.Na(se,ce,!1)):D.a.Na(se,O,W),fe&&D.Za(re)&&re(se)}else Ae&&(O===o?O=W:W||(O=o)),D.m.eb(re,ie,"checked",O,!0)}}function oe(){var W=D.a.f(ee()),O=le();de?(j.checked=0<=D.a.A(W,O),Y=O):j.checked=Ae&&O===o?!!W:le()===W}var le=D.xb(function(){if(ie.has("checkedValue"))return D.a.f(ie.get("checkedValue"));if(G)return ie.has("value")?D.a.f(ie.get("value")):j.value}),Ae=j.type=="checkbox",he=j.type=="radio";if(Ae||he){var ge=ee(),de=Ae&&D.a.f(ge)instanceof Array,fe=!(de&&ge.push&&ge.splice),G=he||de,Y=de?le():o;he&&!j.name&&D.c.uniqueName.init(j,function(){return!0}),D.o(z,null,{l:j}),D.a.B(j,"click",z),D.o(oe,null,{l:j}),ge=o}}},D.m.wa.checked=!0,D.c.checkedValue={update:function(j,ee){j.value=D.a.f(ee())}}}(),D.c.class={update:function(j,ee){var ie=D.a.Db(D.a.f(ee()));D.a.Eb(j,j.__ko__cssValue,!1),j.__ko__cssValue=ie,D.a.Eb(j,ie,!0)}},D.c.css={update:function(j,ee){var ie=D.a.f(ee());ie!==null&&typeof ie=="object"?D.a.P(ie,function(z,oe){oe=D.a.f(oe),D.a.Eb(j,z,oe)}):D.c.class.update(j,ee)}},D.c.enable={update:function(j,ee){var ie=D.a.f(ee());ie&&j.disabled?j.removeAttribute("disabled"):ie||j.disabled||(j.disabled=!0)}},D.c.disable={update:function(j,ee){D.c.enable.update(j,function(){return!D.a.f(ee())})}},D.c.event={init:function(j,ee,ie,z,oe){var le=ee()||{};D.a.P(le,function(Ae){typeof Ae=="string"&&D.a.B(j,Ae,function(he){var ge,de=ee()[Ae];if(de){try{var fe=D.a.la(arguments);z=oe.$data,fe.unshift(z),ge=de.apply(z,fe)}finally{ge!==!0&&(he.preventDefault?he.preventDefault():he.returnValue=!1)}ie.get(Ae+"Bubble")===!1&&(he.cancelBubble=!0,he.stopPropagation&&he.stopPropagation())}})})}},D.c.foreach={Rc:function(j){return function(){var ee=j(),ie=D.a.bc(ee);return!ie||typeof ie.length=="number"?{foreach:ee,templateEngine:D.ba.Ma}:(D.a.f(ee),{foreach:ie.data,as:ie.as,noChildContext:ie.noChildContext,includeDestroyed:ie.includeDestroyed,afterAdd:ie.afterAdd,beforeRemove:ie.beforeRemove,afterRender:ie.afterRender,beforeMove:ie.beforeMove,afterMove:ie.afterMove,templateEngine:D.ba.Ma})}},init:function(j,ee){return D.c.template.init(j,D.c.foreach.Rc(ee))},update:function(j,ee,ie,z,oe){return D.c.template.update(j,D.c.foreach.Rc(ee),ie,z,oe)}},D.m.Ra.foreach=!1,D.h.ea.foreach=!0,D.c.hasfocus={init:function(j,ee,ie){function z(Ae){j.__ko_hasfocusUpdating=!0;var he=j.ownerDocument;if("activeElement"in he){var ge;try{ge=he.activeElement}catch{ge=he.body}Ae=ge===j}he=ee(),D.m.eb(he,ie,"hasfocus",Ae,!0),j.__ko_hasfocusLastValue=Ae,j.__ko_hasfocusUpdating=!1}var oe=z.bind(null,!0),le=z.bind(null,!1);D.a.B(j,"focus",oe),D.a.B(j,"focusin",oe),D.a.B(j,"blur",le),D.a.B(j,"focusout",le),j.__ko_hasfocusLastValue=!1},update:function(j,ee){var ie=!!D.a.f(ee());j.__ko_hasfocusUpdating||j.__ko_hasfocusLastValue===ie||(ie?j.focus():j.blur(),!ie&&j.__ko_hasfocusLastValue&&j.ownerDocument.body.focus(),D.u.G(D.a.Fb,null,[j,ie?"focusin":"focusout"]))}},D.m.wa.hasfocus=!0,D.c.hasFocus=D.c.hasfocus,D.m.wa.hasFocus="hasfocus",D.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(j,ee){D.a.fc(j,ee())}},function(){function j(ee,ie,z){D.c[ee]={init:function(oe,le,Ae,he,ge){var de,fe,G={},Y,W,O;if(ie){he=Ae.get("as");var re=Ae.get("noChildContext");O=!(he&&re),G={as:he,noChildContext:re,exportDependencies:O}}return W=(Y=Ae.get("completeOn")=="render")||Ae.has(D.i.pa),D.o(function(){var se=D.a.f(le()),ce=!z!=!se,me=!fe,Ce;(O||ce!==de)&&(W&&(ge=D.i.Cb(oe,ge)),ce&&((!ie||O)&&(G.dataDependency=D.S.o()),Ce=ie?ge.createChildContext(typeof se=="function"?se:le,G):D.S.qa()?ge.extend(null,G):ge),me&&D.S.qa()&&(fe=D.a.Ca(D.h.childNodes(oe),!0)),ce?(me||D.h.va(oe,D.a.Ca(fe)),D.Oa(Ce,oe)):(D.h.Ea(oe),Y||D.i.ma(oe,D.i.H)),de=ce)},null,{l:oe}),{controlsDescendantBindings:!0}}},D.m.Ra[ee]=!1,D.h.ea[ee]=!0}j("if"),j("ifnot",!1,!0),j("with",!0)}(),D.c.let={init:function(j,ee,ie,z,oe){return ee=oe.extend(ee),D.Oa(ee,j),{controlsDescendantBindings:!0}}},D.h.ea.let=!0;var X={};D.c.options={init:function(j){if(D.a.R(j)!=="select")throw Error("options binding applies only to SELECT elements");for(;0<j.length;)j.remove(0);return{controlsDescendantBindings:!0}},update:function(j,ee,ie){function z(){return D.a.jb(j.options,function(re){return re.selected})}function oe(re,se,ce){var me=typeof se;return me=="function"?se(re):me=="string"?re[se]:ce}function le(re,se){if(W&&de)D.i.ma(j,D.i.H);else if(Y.length){var ce=0<=D.a.A(Y,D.w.M(se[0]));D.a.Zc(se[0],ce),W&&!ce&&D.u.G(D.a.Fb,null,[j,"change"])}}var Ae=j.multiple,he=j.length!=0&&Ae?j.scrollTop:null,ge=D.a.f(ee()),de=ie.get("valueAllowUnset")&&ie.has("value"),fe=ie.get("optionsIncludeDestroyed");ee={};var G,Y=[];de||(Ae?Y=D.a.Mb(z(),D.w.M):0<=j.selectedIndex&&Y.push(D.w.M(j.options[j.selectedIndex]))),ge&&(typeof ge.length>"u"&&(ge=[ge]),G=D.a.jb(ge,function(re){return fe||re===o||re===null||!D.a.f(re._destroy)}),ie.has("optionsCaption")&&(ge=D.a.f(ie.get("optionsCaption")),ge!==null&&ge!==o&&G.unshift(X)));var W=!1;if(ee.beforeRemove=function(re){j.removeChild(re)},ge=le,ie.has("optionsAfterRender")&&typeof ie.get("optionsAfterRender")=="function"&&(ge=function(re,se){le(0,se),D.u.G(ie.get("optionsAfterRender"),null,[se[0],re!==X?re:o])}),D.a.ec(j,G,function(re,se,ce){return ce.length&&(Y=!de&&ce[0].selected?[D.w.M(ce[0])]:[],W=!0),se=j.ownerDocument.createElement("option"),re===X?(D.a.Bb(se,ie.get("optionsCaption")),D.w.cb(se,o)):(ce=oe(re,ie.get("optionsValue"),re),D.w.cb(se,D.a.f(ce)),re=oe(re,ie.get("optionsText"),ce),D.a.Bb(se,re)),[se]},ee,ge),!de){var O;Ae?O=Y.length&&z().length<Y.length:O=Y.length&&0<=j.selectedIndex?D.w.M(j.options[j.selectedIndex])!==Y[0]:Y.length||0<=j.selectedIndex,O&&D.u.G(D.a.Fb,null,[j,"change"])}(de||D.S.Ya())&&D.i.ma(j,D.i.H),D.a.wd(j),he&&20<Math.abs(he-j.scrollTop)&&(j.scrollTop=he)}},D.c.options.$b=D.a.g.Z(),D.c.selectedOptions={init:function(j,ee,ie){function z(){var Ae=ee(),he=[];D.a.D(j.getElementsByTagName("option"),function(ge){ge.selected&&he.push(D.w.M(ge))}),D.m.eb(Ae,ie,"selectedOptions",he)}function oe(){var Ae=D.a.f(ee()),he=j.scrollTop;Ae&&typeof Ae.length=="number"&&D.a.D(j.getElementsByTagName("option"),function(ge){var de=0<=D.a.A(Ae,D.w.M(ge));ge.selected!=de&&D.a.Zc(ge,de)}),j.scrollTop=he}if(D.a.R(j)!="select")throw Error("selectedOptions binding applies only to SELECT elements");var le;D.i.subscribe(j,D.i.H,function(){le?z():(D.a.B(j,"change",z),le=D.o(oe,null,{l:j}))},null,{notifyImmediately:!0})},update:function(){}},D.m.wa.selectedOptions=!0,D.c.style={update:function(j,ee){var ie=D.a.f(ee()||{});D.a.P(ie,function(z,oe){if(oe=D.a.f(oe),(oe===null||oe===o||oe===!1)&&(oe=""),C)C(j).css(z,oe);else if(/^--/.test(z))j.style.setProperty(z,oe);else{z=z.replace(/-(\w)/g,function(Ae,he){return he.toUpperCase()});var le=j.style[z];j.style[z]=oe,oe===le||j.style[z]!=le||isNaN(oe)||(j.style[z]=oe+"px")}})}},D.c.submit={init:function(j,ee,ie,z,oe){if(typeof ee()!="function")throw Error("The value for a submit binding must be a function");D.a.B(j,"submit",function(le){var Ae,he=ee();try{Ae=he.call(oe.$data,j)}finally{Ae!==!0&&(le.preventDefault?le.preventDefault():le.returnValue=!1)}})}},D.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(j,ee){D.a.Bb(j,ee())}},D.h.ea.text=!0,function(){if(A&&A.navigator){var j=function(G){if(G)return parseFloat(G[1])},ee=A.navigator.userAgent,ie,z,oe,le,Ae;(ie=A.opera&&A.opera.version&&parseInt(A.opera.version()))||(Ae=j(ee.match(/Edge\/([^ ]+)$/)))||j(ee.match(/Chrome\/([^ ]+)/))||(z=j(ee.match(/Version\/([^ ]+) Safari/)))||(oe=j(ee.match(/Firefox\/([^ ]+)/)))||(le=D.a.W||j(ee.match(/MSIE ([^ ]+)/)))||(le=j(ee.match(/rv:([^ )]+)/)))}if(8<=le&&10>le)var he=D.a.g.Z(),ge=D.a.g.Z(),de=function(G){var Y=this.activeElement;(Y=Y&&D.a.g.get(Y,ge))&&Y(G)},fe=function(G,Y){var W=G.ownerDocument;D.a.g.get(W,he)||(D.a.g.set(W,he,!0),D.a.B(W,"selectionchange",de)),D.a.g.set(G,ge,Y)};D.c.textInput={init:function(G,Y,W){function O(He,ke){D.a.B(G,He,ke)}function re(){var He=D.a.f(Y());(He===null||He===o)&&(He=""),ye!==o&&He===ye?D.a.setTimeout(re,4):G.value!==He&&(Me=!0,G.value=He,Me=!1,me=G.value)}function se(){Ce||(ye=G.value,Ce=D.a.setTimeout(ce,4))}function ce(){clearTimeout(Ce),ye=Ce=o;var He=G.value;me!==He&&(me=He,D.m.eb(Y(),W,"textInput",He))}var me=G.value,Ce,ye,Be=D.a.W==9?se:ce,Me=!1;le&&O("keypress",ce),11>le&&O("propertychange",function(He){Me||He.propertyName!=="value"||Be(He)}),le==8&&(O("keyup",ce),O("keydown",ce)),fe&&(fe(G,Be),O("dragend",se)),(!le||9<=le)&&O("input",Be),5>z&&D.a.R(G)==="textarea"?(O("keydown",se),O("paste",se),O("cut",se)):11>ie?O("keydown",se):4>oe?(O("DOMAutoComplete",ce),O("dragdrop",ce),O("drop",ce)):Ae&&G.type==="number"&&O("keydown",se),O("change",ce),O("blur",ce),D.o(re,null,{l:G})}},D.m.wa.textInput=!0,D.c.textinput={preprocess:function(G,Y,W){W("textInput",G)}}}(),D.c.uniqueName={init:function(j,ee){if(ee()){var ie="ko_unique_"+ ++D.c.uniqueName.rd;D.a.Yc(j,ie)}}},D.c.uniqueName.rd=0,D.c.using={init:function(j,ee,ie,z,oe){var le;return ie.has("as")&&(le={as:ie.get("as"),noChildContext:ie.get("noChildContext")}),ee=oe.createChildContext(ee,le),D.Oa(ee,j),{controlsDescendantBindings:!0}}},D.h.ea.using=!0,D.c.value={init:function(j,ee,ie){var z=D.a.R(j),oe=z=="input";if(!oe||j.type!="checkbox"&&j.type!="radio"){var le=[],Ae=ie.get("valueUpdate"),he=!1,ge=null;Ae&&(typeof Ae=="string"?le=[Ae]:le=D.a.wc(Ae),D.a.Pa(le,"change"));var de=function(){ge=null,he=!1;var Y=ee(),W=D.w.M(j);D.m.eb(Y,ie,"value",W)};!D.a.W||!oe||j.type!="text"||j.autocomplete=="off"||j.form&&j.form.autocomplete=="off"||D.a.A(le,"propertychange")!=-1||(D.a.B(j,"propertychange",function(){he=!0}),D.a.B(j,"focus",function(){he=!1}),D.a.B(j,"blur",function(){he&&de()})),D.a.D(le,function(Y){var W=de;D.a.Ud(Y,"after")&&(W=function(){ge=D.w.M(j),D.a.setTimeout(de,0)},Y=Y.substring(5)),D.a.B(j,Y,W)});var fe;if(fe=oe&&j.type=="file"?function(){var Y=D.a.f(ee());Y===null||Y===o||Y===""?j.value="":D.u.G(de)}:function(){var Y=D.a.f(ee()),W=D.w.M(j);ge!==null&&Y===ge?D.a.setTimeout(fe,0):(Y!==W||W===o)&&(z==="select"?(W=ie.get("valueAllowUnset"),D.w.cb(j,Y,W),W||Y===D.w.M(j)||D.u.G(de)):D.w.cb(j,Y))},z==="select"){var G;D.i.subscribe(j,D.i.H,function(){G?ie.get("valueAllowUnset")?fe():de():(D.a.B(j,"change",de),G=D.o(fe,null,{l:j}))},null,{notifyImmediately:!0})}else D.a.B(j,"change",de),D.o(fe,null,{l:j})}else D.ib(j,{checkedValue:ee})},update:function(){}},D.m.wa.value=!0,D.c.visible={update:function(j,ee){var ie=D.a.f(ee()),z=j.style.display!="none";ie&&!z?j.style.display="":!ie&&z&&(j.style.display="none")}},D.c.hidden={update:function(j,ee){D.c.visible.update(j,function(){return!D.a.f(ee())})}},function(j){D.c[j]={init:function(ee,ie,z,oe,le){return D.c.event.init.call(this,ee,function(){var Ae={};return Ae[j]=ie(),Ae},z,oe,le)}}}("click"),D.ca=function(){},D.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},D.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},D.ca.prototype.makeTemplateSource=function(j,ee){if(typeof j=="string"){ee=ee||f;var ie=ee.getElementById(j);if(!ie)throw Error("Cannot find template with ID "+j);return new D.C.F(ie)}if(j.nodeType==1||j.nodeType==8)return new D.C.ia(j);throw Error("Unknown template type: "+j)},D.ca.prototype.renderTemplate=function(j,ee,ie,z){return j=this.makeTemplateSource(j,z),this.renderTemplateSource(j,ee,ie,z)},D.ca.prototype.isTemplateRewritten=function(j,ee){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(j,ee).data("isRewritten")},D.ca.prototype.rewriteTemplate=function(j,ee,ie){j=this.makeTemplateSource(j,ie),ee=ee(j.text()),j.text(ee),j.data("isRewritten",!0)},D.b("templateEngine",D.ca),D.kc=function(){function j(z,oe,le,Ae){z=D.m.ac(z);for(var he=D.m.Ra,ge=0;ge<z.length;ge++){var de=z[ge].key;if(Object.prototype.hasOwnProperty.call(he,de)){var fe=he[de];if(typeof fe=="function"){if(de=fe(z[ge].value))throw Error(de)}else if(!fe)throw Error("This template engine does not support the '"+de+"' binding within its templates")}}return le="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+D.m.vb(z,{valueAccessors:!0})+" } })()},'"+le.toLowerCase()+"')",Ae.createJavaScriptEvaluatorBlock(le)+oe}var ee=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,ie=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(z,oe,le){oe.isTemplateRewritten(z,le)||oe.rewriteTemplate(z,function(Ae){return D.kc.Ld(Ae,oe)},le)},Ld:function(z,oe){return z.replace(ee,function(le,Ae,he,ge,de){return j(de,Ae,he,oe)}).replace(ie,function(le,Ae){return j(Ae,"<!-- ko -->","#comment",oe)})},md:function(z,oe){return D.aa.Xb(function(le,Ae){var he=le.nextSibling;he&&he.nodeName.toLowerCase()===oe&&D.ib(he,z,Ae)})}}}(),D.b("__tr_ambtns",D.kc.md),function(){D.C={},D.C.F=function(ie){if(this.F=ie){var z=D.a.R(ie);this.ab=z==="script"?1:z==="textarea"?2:z=="template"&&ie.content&&ie.content.nodeType===11?3:4}},D.C.F.prototype.text=function(){var ie=this.ab===1?"text":this.ab===2?"value":"innerHTML";if(arguments.length==0)return this.F[ie];var z=arguments[0];ie==="innerHTML"?D.a.fc(this.F,z):this.F[ie]=z};var j=D.a.g.Z()+"_";D.C.F.prototype.data=function(ie){if(arguments.length===1)return D.a.g.get(this.F,j+ie);D.a.g.set(this.F,j+ie,arguments[1])};var ee=D.a.g.Z();D.C.F.prototype.nodes=function(){var ie=this.F;if(arguments.length==0){var z=D.a.g.get(ie,ee)||{},oe=z.lb||(this.ab===3?ie.content:this.ab===4?ie:o);if(!oe||z.jd){var le=this.text();le&&le!==z.bb&&(oe=D.a.Md(le,ie.ownerDocument),D.a.g.set(ie,ee,{lb:oe,bb:le,jd:!0}))}return oe}z=arguments[0],this.ab!==o&&this.text(""),D.a.g.set(ie,ee,{lb:z})},D.C.ia=function(ie){this.F=ie},D.C.ia.prototype=new D.C.F,D.C.ia.prototype.constructor=D.C.ia,D.C.ia.prototype.text=function(){if(arguments.length==0){var ie=D.a.g.get(this.F,ee)||{};return ie.bb===o&&ie.lb&&(ie.bb=ie.lb.innerHTML),ie.bb}D.a.g.set(this.F,ee,{bb:arguments[0]})},D.b("templateSources",D.C),D.b("templateSources.domElement",D.C.F),D.b("templateSources.anonymousTemplate",D.C.ia)}(),function(){function j(ge,de,fe){var G;for(de=D.h.nextSibling(de);ge&&(G=ge)!==de;)ge=D.h.nextSibling(G),fe(G,ge)}function ee(ge,de){if(ge.length){var fe=ge[0],G=ge[ge.length-1],Y=fe.parentNode,W=D.ga.instance,O=W.preprocessNode;if(O){if(j(fe,G,function(re,se){var ce=re.previousSibling,me=O.call(W,re);me&&(re===fe&&(fe=me[0]||se),re===G&&(G=me[me.length-1]||ce))}),ge.length=0,!fe)return;fe===G?ge.push(fe):(ge.push(fe,G),D.a.Ua(ge,Y))}j(fe,G,function(re){re.nodeType!==1&&re.nodeType!==8||D.vc(de,re)}),j(fe,G,function(re){re.nodeType!==1&&re.nodeType!==8||D.aa.cd(re,[de])}),D.a.Ua(ge,Y)}}function ie(ge){return ge.nodeType?ge:0<ge.length?ge[0]:null}function z(ge,de,fe,G,Y){Y=Y||{};var W=(ge&&ie(ge)||fe||{}).ownerDocument,O=Y.templateEngine||le;if(D.kc.xd(fe,O,W),fe=O.renderTemplate(fe,G,Y,W),typeof fe.length!="number"||0<fe.length&&typeof fe[0].nodeType!="number")throw Error("Template engine must return an array of DOM nodes");switch(W=!1,de){case"replaceChildren":D.h.va(ge,fe),W=!0;break;case"replaceNode":D.a.Xc(ge,fe),W=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+de)}return W&&(ee(fe,G),Y.afterRender&&D.u.G(Y.afterRender,null,[fe,G[Y.as||"$data"]]),de=="replaceChildren"&&D.i.ma(ge,D.i.H)),fe}function oe(ge,de,fe){return D.O(ge)?ge():typeof ge=="function"?ge(de,fe):ge}var le;D.gc=function(ge){if(ge!=o&&!(ge instanceof D.ca))throw Error("templateEngine must inherit from ko.templateEngine");le=ge},D.dc=function(ge,de,fe,G,Y){if(fe=fe||{},(fe.templateEngine||le)==o)throw Error("Set a template engine before calling renderTemplate");if(Y=Y||"replaceChildren",G){var W=ie(G);return D.$(function(){var re=de&&de instanceof D.fa?de:new D.fa(de,null,null,null,{exportDependencies:!0}),O=oe(ge,re.$data,re),re=z(G,Y,O,re,fe);Y=="replaceNode"&&(G=re,W=ie(G))},null,{Sa:function(){return!W||!D.a.Sb(W)},l:W&&Y=="replaceNode"?W.parentNode:W})}return D.aa.Xb(function(O){D.dc(ge,de,fe,O,"replaceNode")})},D.Qd=function(ge,de,fe,G,Y){function W(ye,Be){D.u.G(D.a.ec,null,[G,ye,re,fe,O,Be]),D.i.ma(G,D.i.H)}function O(ye,Be){ee(Be,se),fe.afterRender&&fe.afterRender(Be,ye),se=null}function re(ye,Be){se=Y.createChildContext(ye,{as:ce,noChildContext:fe.noChildContext,extend:function(He){He.$index=Be,ce&&(He[ce+"Index"]=Be)}});var Me=oe(ge,ye,se);return z(G,"ignoreTargetNode",Me,se,fe)}var se,ce=fe.as,me=fe.includeDestroyed===!1||D.options.foreachHidesDestroyed&&!fe.includeDestroyed;if(me||fe.beforeRemove||!D.Pc(de))return D.$(function(){var ye=D.a.f(de)||[];typeof ye.length>"u"&&(ye=[ye]),me&&(ye=D.a.jb(ye,function(Be){return Be===o||Be===null||!D.a.f(Be._destroy)})),W(ye)},null,{l:G});W(de.v());var Ce=de.subscribe(function(ye){W(de(),ye)},null,"arrayChange");return Ce.l(G),Ce};var Ae=D.a.g.Z(),he=D.a.g.Z();D.c.template={init:function(ge,de){var fe=D.a.f(de());if(typeof fe=="string"||"name"in fe)D.h.Ea(ge);else if("nodes"in fe){if(fe=fe.nodes||[],D.O(fe))throw Error('The "nodes" option must be a plain, non-observable array.');var G=fe[0]&&fe[0].parentNode;G&&D.a.g.get(G,he)||(G=D.a.Yb(fe),D.a.g.set(G,he,!0)),new D.C.ia(ge).nodes(G)}else if(fe=D.h.childNodes(ge),0<fe.length)G=D.a.Yb(fe),new D.C.ia(ge).nodes(G);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},update:function(ge,de,fe,G,Y){var W=de();de=D.a.f(W),fe=!0,G=null,typeof de=="string"?de={}:(W="name"in de?de.name:ge,"if"in de&&(fe=D.a.f(de.if)),fe&&"ifnot"in de&&(fe=!D.a.f(de.ifnot)),fe&&!W&&(fe=!1)),"foreach"in de?G=D.Qd(W,fe&&de.foreach||[],de,ge,Y):fe?(fe=Y,"data"in de&&(fe=Y.createChildContext(de.data,{as:de.as,noChildContext:de.noChildContext,exportDependencies:!0})),G=D.dc(W,fe,de,ge)):D.h.Ea(ge),Y=G,(de=D.a.g.get(ge,Ae))&&typeof de.s=="function"&&de.s(),D.a.g.set(ge,Ae,!Y||Y.ja&&!Y.ja()?o:Y)}},D.m.Ra.template=function(ge){return ge=D.m.ac(ge),ge.length==1&&ge[0].unknown||D.m.Id(ge,"name")?null:"This template engine does not support anonymous templates nested within its templates"},D.h.ea.template=!0}(),D.b("setTemplateEngine",D.gc),D.b("renderTemplate",D.dc),D.a.Kc=function(j,ee,ie){if(j.length&&ee.length){var z,oe,le,Ae,he;for(z=oe=0;(!ie||z<ie)&&(Ae=j[oe]);++oe){for(le=0;he=ee[le];++le)if(Ae.value===he.value){Ae.moved=he.index,he.moved=Ae.index,ee.splice(le,1),z=le=0;break}z+=le}}},D.a.Pb=function(){function j(ee,ie,z,oe,le){var Ae=Math.min,he=Math.max,ge=[],de,fe=ee.length,G,Y=ie.length,W=Y-fe||1,O=fe+Y+1,re,se,ce;for(de=0;de<=fe;de++)for(se=re,ge.push(re=[]),ce=Ae(Y,de+W),G=he(0,de-1);G<=ce;G++)re[G]=G?de?ee[de-1]===ie[G-1]?se[G-1]:Ae(se[G]||O,re[G-1]||O)+1:G+1:de+1;for(Ae=[],he=[],W=[],de=fe,G=Y;de||G;)Y=ge[de][G]-1,G&&Y===ge[de][G-1]?he.push(Ae[Ae.length]={status:z,value:ie[--G],index:G}):de&&Y===ge[de-1][G]?W.push(Ae[Ae.length]={status:oe,value:ee[--de],index:de}):(--G,--de,le.sparse||Ae.push({status:"retained",value:ie[G]}));return D.a.Kc(W,he,!le.dontLimitMoves&&10*fe),Ae.reverse()}return function(ee,ie,z){return z=typeof z=="boolean"?{dontLimitMoves:z}:z||{},ee=ee||[],ie=ie||[],ee.length<ie.length?j(ee,ie,"added","deleted",z):j(ie,ee,"deleted","added",z)}}(),D.b("utils.compareArrays",D.a.Pb),function(){function j(z,oe,le,Ae,he){var ge=[],de=D.$(function(){var fe=oe(le,he,D.a.Ua(ge,z))||[];0<ge.length&&(D.a.Xc(ge,fe),Ae&&D.u.G(Ae,null,[le,fe,he])),ge.length=0,D.a.Nb(ge,fe)},null,{l:z,Sa:function(){return!D.a.kd(ge)}});return{Y:ge,$:de.ja()?de:o}}var ee=D.a.g.Z(),ie=D.a.g.Z();D.a.ec=function(z,oe,le,Ae,he,ge){function de(Je){Me={Aa:Je,pb:D.ta(se++)},O.push(Me),W||Be.push(Me)}function fe(Je){Me=Y[Je],se!==Me.pb.v()&&ye.push(Me),Me.pb(se++),D.a.Ua(Me.Y,z),O.push(Me)}function G(Je,je){if(Je)for(var Ze=0,rt=je.length;Ze<rt;Ze++)D.a.D(je[Ze].Y,function(At){Je(At,Ze,je[Ze].Aa)})}oe=oe||[],typeof oe.length>"u"&&(oe=[oe]),Ae=Ae||{};var Y=D.a.g.get(z,ee),W=!Y,O=[],re=0,se=0,ce=[],me=[],Ce=[],ye=[],Be=[],Me,He=0;if(W)D.a.D(oe,de);else{if(!ge||Y&&Y._countWaitingForRemove){var ke=D.a.Mb(Y,function(Je){return Je.Aa});ge=D.a.Pb(ke,oe,{dontLimitMoves:Ae.dontLimitMoves,sparse:!0})}for(var ke=0,Ne,Pe,we;Ne=ge[ke];ke++)switch(Pe=Ne.moved,we=Ne.index,Ne.status){case"deleted":for(;re<we;)fe(re++);Pe===o&&(Me=Y[re],Me.$&&(Me.$.s(),Me.$=o),D.a.Ua(Me.Y,z).length&&(Ae.beforeRemove&&(O.push(Me),He++,Me.Aa===ie?Me=null:Ce.push(Me)),Me&&ce.push.apply(ce,Me.Y))),re++;break;case"added":for(;se<we;)fe(re++);Pe!==o?(me.push(O.length),fe(Pe)):de(Ne.value)}for(;se<oe.length;)fe(re++);O._countWaitingForRemove=He}D.a.g.set(z,ee,O),G(Ae.beforeMove,ye),D.a.D(ce,Ae.beforeRemove?D.oa:D.removeNode);var Fe,Ue,ze;try{ze=z.ownerDocument.activeElement}catch{}if(me.length)for(;(ke=me.shift())!=o;){for(Me=O[ke],Fe=o;ke;)if((Ue=O[--ke].Y)&&Ue.length){Fe=Ue[Ue.length-1];break}for(oe=0;re=Me.Y[oe];Fe=re,oe++)D.h.Wb(z,re,Fe)}for(ke=0;Me=O[ke];ke++){for(Me.Y||D.a.extend(Me,j(z,le,Me.Aa,he,Me.pb)),oe=0;re=Me.Y[oe];Fe=re,oe++)D.h.Wb(z,re,Fe);!Me.Ed&&he&&(he(Me.Aa,Me.Y,Me.pb),Me.Ed=!0,Fe=Me.Y[Me.Y.length-1])}for(ze&&z.ownerDocument.activeElement!=ze&&ze.focus(),G(Ae.beforeRemove,Ce),ke=0;ke<Ce.length;++ke)Ce[ke].Aa=ie;G(Ae.afterMove,ye),G(Ae.afterAdd,Be)}}(),D.b("utils.setDomNodeChildrenFromArrayMapping",D.a.ec),D.ba=function(){this.allowTemplateRewriting=!1},D.ba.prototype=new D.ca,D.ba.prototype.constructor=D.ba,D.ba.prototype.renderTemplateSource=function(j,ee,ie,z){return(ee=!(9>D.a.W)&&j.nodes?j.nodes():null)?D.a.la(ee.cloneNode(!0).childNodes):(j=j.text(),D.a.ua(j,z))},D.ba.Ma=new D.ba,D.gc(D.ba.Ma),D.b("nativeTemplateEngine",D.ba),function(){D.$a=function(){var ee=this.Hd=function(){if(!C||!C.tmpl)return 0;try{if(0<=C.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch{}return 1}();this.renderTemplateSource=function(ie,z,oe,le){if(le=le||f,oe=oe||{},2>ee)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var Ae=ie.data("precompiled");return Ae||(Ae=ie.text()||"",Ae=C.template(null,"{{ko_with $item.koBindingContext}}"+Ae+"{{/ko_with}}"),ie.data("precompiled",Ae)),ie=[z.$data],z=C.extend({koBindingContext:z},oe.templateOptions),z=C.tmpl(Ae,ie,z),z.appendTo(le.createElement("div")),C.fragments={},z},this.createJavaScriptEvaluatorBlock=function(ie){return"{{ko_code ((function() { return "+ie+" })()) }}"},this.addTemplate=function(ie,z){f.write("<script type='text/html' id='"+ie+"'>"+z+"<\/script>")},0<ee&&(C.tmpl.tag.ko_code={open:"__.push($1 || '');"},C.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},D.$a.prototype=new D.ca,D.$a.prototype.constructor=D.$a;var j=new D.$a;0<j.Hd&&D.gc(j),D.b("jqueryTmplTemplateEngine",D.$a)}()})})()})()})();var Fdi=ko;typeof window<"u"?(ko=window.ko,typeof IH<"u"?window.ko=IH:delete window.ko):(ko=global.ko,typeof IH<"u"?global.ko=IH:delete global.ko);var _D=Fdi,Ndi=function(o){let A=document.createElement("div");A.innerHTML=o;let f=document.createDocumentFragment();for(;A.firstChild;)f.appendChild(A.firstChild);return f},xve=Ndi,kdi=_D,Udi=function(o,A,f){A=Ru(A);let m=xve(o),C=[],E;for(E=0;E<m.childNodes.length;++E)C.push(m.childNodes[E]);for(A.appendChild(m),E=0;E<C.length;++E){let I=C[E];(I.nodeType===1||I.nodeType===8)&&kdi.applyBindings(f,I)}return C},Gte=Udi,Odi=_D,c9=function(o){if(!k(o)||!k(o.terria))throw new ni("options.terria is required.");this.terria=o.terria,this._removeSubscription=void 0,this._lastLegendUpdate=void 0,this.eventHelper=new Lm,this.distanceLabel=void 0,this.barWidth=void 0,this.enableDistanceLegend=k(o.enableDistanceLegend)?o.enableDistanceLegend:!0,Odi.track(this,["distanceLabel","barWidth"]),this.eventHelper.add(this.terria.afterWidgetChanged,function(){k(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0)},this);let A=this;function f(){if(k(A.terria)){let m=A.terria.scene;A._removeSubscription=m.postRender.addEventListener(function(){Gdi(this,m)},A)}}f(),this.eventHelper.add(this.terria.afterWidgetChanged,function(){f()},this)};c9.prototype.destroy=function(){this.eventHelper.removeAll()};c9.prototype.show=function(o){let A;this.enableDistanceLegend?A=`<div class="distance-legend" data-bind="visible: distanceLabel && barWidth"><div class="distance-legend-label" data-bind="text: distanceLabel"></div><div class="distance-legend-scale-bar" data-bind="style: { width: barWidth + 'px', left: (5 + (125 - barWidth) / 2) + 'px' }"></div></div>`:A=`<div class="distance-legend" style="display: none;" data-bind="visible: distanceLabel && barWidth"><div class="distance-legend-label" data-bind="text: distanceLabel"></div><div class="distance-legend-scale-bar" data-bind="style: { width: barWidth + 'px', left: (5 + (125 - barWidth) / 2) + 'px' }"></div></div>`,Gte(A,o,this)};c9.create=function(o){let A=new c9(o);return A.show(o.container),A};var N3e=new Ig,Kle=[1,2,3,5,10,20,30,50,100,200,300,500,1e3,2e3,3e3,5e3,1e4,2e4,3e4,5e4,1e5,2e5,3e5,5e5,1e6,2e6,3e6,5e6,1e7,2e7,3e7,5e7];function Gdi(o,A){if(!o.enableDistanceLegend){o.barWidth=void 0,o.distanceLabel=void 0;return}let f=HA();if(f<o._lastLegendUpdate+250)return;o._lastLegendUpdate=f;let m=A.canvas.clientWidth,C=A.canvas.clientHeight,E=A.camera.getPickRay(new tt(m/2|0,C-1)),I=A.camera.getPickRay(new tt(1+m/2|0,C-1)),x=A.globe,y=x.pick(E,A),v=x.pick(I,A);if(!k(y)||!k(v)){o.barWidth=void 0,o.distanceLabel=void 0;return}let w=x.ellipsoid.cartesianToCartographic(y),Q=x.ellipsoid.cartesianToCartographic(v);N3e.setEndPoints(w,Q);let M=N3e.surfaceDistance,B=100,D;for(let S=Kle.length-1;!k(D)&&S>=0;--S)Kle[S]/M<B&&(D=Kle[S]);if(k(D)){let S;D>=1e3?S=(D/1e3).toString()+" km":S=D.toString()+" m",o.barWidth=D/M|0,o.distanceLabel=S}else o.barWidth=void 0,o.distanceLabel=void 0}var yve=c9,Hdi="M 7.5,0 C 3.375,0 0,3.375 0,7.5 0,11.625 3.375,15 7.5,15 c 3.46875,0 6.375,-2.4375 7.21875,-5.625 l -1.96875,0 C 12,11.53125 9.9375,13.125 7.5,13.125 4.40625,13.125 1.875,10.59375 1.875,7.5 1.875,4.40625 4.40625,1.875 7.5,1.875 c 1.59375,0 2.90625,0.65625 3.9375,1.6875 l -3,3 6.5625,0 L 15,0 12.75,2.25 C 11.4375,0.84375 9.5625,0 7.5,0 z",vve=Hdi,Vdi=_D,_ve=function(o){if(!k(o))throw new ni("terria is required");this._terria=o,this.name="Unnamed Control",this.text=void 0,this.svgIcon=void 0,this.svgHeight=void 0,this.svgWidth=void 0,this.cssClass=void 0,this.isActive=!1,Vdi.track(this,["name","svgIcon","svgHeight","svgWidth","cssClass","isActive"])};Object.defineProperties(_ve.prototype,{terria:{get:function(){return this._terria}},hasText:{get:function(){return k(this.text)&&typeof this.text=="string"}}});_ve.prototype.activate=function(){throw new ni("activate must be implemented in the derived class.")};var Hte=_ve,wqe=function(o){Hte.apply(this,arguments)};wqe.prototype=Object.create(Hte.prototype);var W4=wqe,TY=function(o){W4.apply(this,arguments),this.name="\u91CD\u7F6E\u89C6\u56FE",this.navigationLocked=!1,this.svgIcon=vve,this.svgHeight=15,this.svgWidth=15,this.cssClass="navigation-control-icon-reset"};TY.prototype=Object.create(W4.prototype);TY.prototype.setNavigationLocked=function(o){this.navigationLocked=o};TY.prototype.resetView=function(){if(this.navigationLocked)return;let o=this.terria.scene;if(!o.screenSpaceCameraController.enableInputs)return;this.isActive=!0;let A=o.camera;if(k(this.terria.trackedEntity)){let f=this.terria.trackedEntity;this.terria.trackedEntity=void 0,this.terria.trackedEntity=f}else if(this.terria.options.defaultResetView){if(this.terria.options.defaultResetView&&this.terria.options.defaultResetView instanceof Lt)A.flyTo({destination:o.globe.ellipsoid.cartographicToCartesian(this.terria.options.defaultResetView)});else if(this.terria.options.defaultResetView&&this.terria.options.defaultResetView instanceof hi)try{hi.validate(this.terria.options.defaultResetView),A.flyTo({destination:this.terria.options.defaultResetView})}catch{console.log("Cesium-navigation/ResetViewNavigationControl: options.defaultResetView Cesium rectangle is invalid!")}}else typeof A.flyHome=="function"?A.flyHome(1):A.flyTo({destination:Ms.DEFAULT_VIEW_RECTANGLE,duration:1});this.isActive=!1};TY.prototype.activate=function(){this.resetView()};var Bve=TY,bqe={},zdi=new Lt,Wle=new Oa;bqe.getCameraFocus=function(o,A,f){let m=o.scene,C=m.camera;if(m.mode!==ii.MORPHING&&(k(f)||(f=new Z),k(o.trackedEntity)?f=o.trackedEntity.position.getValue(o.clock.currentTime,f):(Wle.origin=C.positionWC,Wle.direction=C.directionWC,f=m.globe.pick(Wle,m,f)),!!k(f)))return m.mode===ii.SCENE2D||m.mode===ii.COLUMBUS_VIEW?(f=C.worldToCameraCoordinatesPoint(f,f),A&&(f=m.globe.ellipsoid.cartographicToCartesian(m.mapProjection.unproject(f,zdi),f))):A||(f=C.worldToCameraCoordinatesPoint(f,f)),f};var q4=bqe,PY=function(o,A){W4.apply(this,arguments),this.name="Zoom "+(A?"In":"Out"),this.text=A?"+":"-",this.cssClass="navigation-control-icon-zoom-"+(A?"in":"out"),this.relativeAmount=2,A&&(this.relativeAmount=1/this.relativeAmount)};PY.prototype.relativeAmount=1;PY.prototype=Object.create(W4.prototype);PY.prototype.activate=function(){this.zoom(this.relativeAmount)};var Ydi=new Z;PY.prototype.zoom=function(o){if(this.isActive=!0,k(this.terria)){let A=this.terria.scene,f=A.screenSpaceCameraController;if(!f.enableInputs||!f.enableZoom)return;let m=A.camera,C;switch(A.mode){case ii.MORPHING:break;case ii.SCENE2D:m.zoomIn(m.positionCartographic.height*(1-this.relativeAmount));break;default:let E;if(k(this.terria.trackedEntity)?E=new Z:E=q4.getCameraFocus(this.terria,!1),k(E))C={direction:m.direction,up:m.up};else{let v=new Oa(m.worldToCameraCoordinatesPoint(A.globe.ellipsoid.cartographicToCartesian(m.positionCartographic)),m.directionWC);E=mh.grazingAltitudeLocation(v,A.globe.ellipsoid),C={heading:m.heading,pitch:m.pitch,roll:m.roll}}let I=Z.subtract(m.position,E,Ydi),x=Z.multiplyByScalar(I,o,I),y=Z.add(E,x,E);if(k(this.terria.trackedEntity)||A.mode===ii.COLUMBUS_VIEW)m.position=y;else{if(o===.5&&ae(m.undergroundMode,!1)===!1&&m.positionCartographic.height<1)return;m.flyTo({destination:y,orientation:C,duration:.5,convert:!1})}}}this.isActive=!1};var HX=PY,Jdi="m 66.5625,0 0,15.15625 3.71875,0 0,-10.40625 5.5,10.40625 4.375,0 0,-15.15625 -3.71875,0 0,10.40625 L 70.9375,0 66.5625,0 z M 72.5,20.21875 c -28.867432,0 -52.28125,23.407738 -52.28125,52.28125 0,28.87351 23.413818,52.3125 52.28125,52.3125 28.86743,0 52.28125,-23.43899 52.28125,-52.3125 0,-28.873512 -23.41382,-52.28125 -52.28125,-52.28125 z m 0,1.75 c 13.842515,0 26.368948,5.558092 35.5,14.5625 l -11.03125,11 0.625,0.625 11.03125,-11 c 8.9199,9.108762 14.4375,21.579143 14.4375,35.34375 0,13.764606 -5.5176,26.22729 -14.4375,35.34375 l -11.03125,-11 -0.625,0.625 11.03125,11 c -9.130866,9.01087 -21.658601,14.59375 -35.5,14.59375 -13.801622,0 -26.321058,-5.53481 -35.4375,-14.5 l 11.125,-11.09375 c 6.277989,6.12179 14.857796,9.90625 24.3125,9.90625 19.241896,0 34.875,-15.629154 34.875,-34.875 0,-19.245847 -15.633104,-34.84375 -34.875,-34.84375 -9.454704,0 -18.034511,3.760884 -24.3125,9.875 L 37.0625,36.4375 C 46.179178,27.478444 58.696991,21.96875 72.5,21.96875 z m -0.875,0.84375 0,13.9375 1.75,0 0,-13.9375 -1.75,0 z M 36.46875,37.0625 47.5625,48.15625 C 41.429794,54.436565 37.65625,63.027539 37.65625,72.5 c 0,9.472461 3.773544,18.055746 9.90625,24.34375 L 36.46875,107.9375 c -8.96721,-9.1247 -14.5,-21.624886 -14.5,-35.4375 0,-13.812615 5.53279,-26.320526 14.5,-35.4375 z M 72.5,39.40625 c 18.297686,0 33.125,14.791695 33.125,33.09375 0,18.302054 -14.827314,33.125 -33.125,33.125 -18.297687,0 -33.09375,-14.822946 -33.09375,-33.125 0,-18.302056 14.796063,-33.09375 33.09375,-33.09375 z M 22.84375,71.625 l 0,1.75 13.96875,0 0,-1.75 -13.96875,0 z m 85.5625,0 0,1.75 14,0 0,-1.75 -14,0 z M 71.75,108.25 l 0,13.9375 1.71875,0 0,-13.9375 -1.71875,0 z",wve=Jdi,Kdi="m 72.71875,54.375 c -0.476702,0 -0.908208,0.245402 -1.21875,0.5625 -0.310542,0.317098 -0.551189,0.701933 -0.78125,1.1875 -0.172018,0.363062 -0.319101,0.791709 -0.46875,1.25 -6.91615,1.075544 -12.313231,6.656514 -13,13.625 -0.327516,0.117495 -0.661877,0.244642 -0.9375,0.375 -0.485434,0.22959 -0.901634,0.471239 -1.21875,0.78125 -0.317116,0.310011 -0.5625,0.742111 -0.5625,1.21875 l 0.03125,0 c 0,0.476639 0.245384,0.877489 0.5625,1.1875 0.317116,0.310011 0.702066,0.58291 1.1875,0.8125 0.35554,0.168155 0.771616,0.32165 1.21875,0.46875 1.370803,6.10004 6.420817,10.834127 12.71875,11.8125 0.146999,0.447079 0.30025,0.863113 0.46875,1.21875 0.230061,0.485567 0.470708,0.870402 0.78125,1.1875 0.310542,0.317098 0.742048,0.5625 1.21875,0.5625 0.476702,0 0.876958,-0.245402 1.1875,-0.5625 0.310542,-0.317098 0.582439,-0.701933 0.8125,-1.1875 0.172018,-0.363062 0.319101,-0.791709 0.46875,-1.25 6.249045,-1.017063 11.256351,-5.7184 12.625,-11.78125 0.447134,-0.1471 0.86321,-0.300595 1.21875,-0.46875 0.485434,-0.22959 0.901633,-0.502489 1.21875,-0.8125 0.317117,-0.310011 0.5625,-0.710861 0.5625,-1.1875 l -0.03125,0 c 0,-0.476639 -0.245383,-0.908739 -0.5625,-1.21875 C 89.901633,71.846239 89.516684,71.60459 89.03125,71.375 88.755626,71.244642 88.456123,71.117495 88.125,71 87.439949,64.078341 82.072807,58.503735 75.21875,57.375 c -0.15044,-0.461669 -0.326927,-0.884711 -0.5,-1.25 -0.230061,-0.485567 -0.501958,-0.870402 -0.8125,-1.1875 -0.310542,-0.317098 -0.710798,-0.5625 -1.1875,-0.5625 z m -0.0625,1.40625 c 0.03595,-0.01283 0.05968,0 0.0625,0 0.0056,0 0.04321,-0.02233 0.1875,0.125 0.144288,0.147334 0.34336,0.447188 0.53125,0.84375 0.06385,0.134761 0.123901,0.309578 0.1875,0.46875 -0.320353,-0.01957 -0.643524,-0.0625 -0.96875,-0.0625 -0.289073,0 -0.558569,0.04702 -0.84375,0.0625 C 71.8761,57.059578 71.936151,56.884761 72,56.75 c 0.18789,-0.396562 0.355712,-0.696416 0.5,-0.84375 0.07214,-0.07367 0.120304,-0.112167 0.15625,-0.125 z m 0,2.40625 c 0.448007,0 0.906196,0.05436 1.34375,0.09375 0.177011,0.592256 0.347655,1.271044 0.5,2.03125 0.475097,2.370753 0.807525,5.463852 0.9375,8.9375 -0.906869,-0.02852 -1.834463,-0.0625 -2.78125,-0.0625 -0.92298,0 -1.802327,0.03537 -2.6875,0.0625 0.138529,-3.473648 0.493653,-6.566747 0.96875,-8.9375 0.154684,-0.771878 0.320019,-1.463985 0.5,-2.0625 0.405568,-0.03377 0.804291,-0.0625 1.21875,-0.0625 z m -2.71875,0.28125 c -0.129732,0.498888 -0.259782,0.987558 -0.375,1.5625 -0.498513,2.487595 -0.838088,5.693299 -0.96875,9.25 -3.21363,0.15162 -6.119596,0.480068 -8.40625,0.9375 -0.682394,0.136509 -1.275579,0.279657 -1.84375,0.4375 0.799068,-6.135482 5.504716,-11.036454 11.59375,-12.1875 z M 75.5,58.5 c 6.043169,1.18408 10.705093,6.052712 11.5,12.15625 -0.569435,-0.155806 -1.200273,-0.302525 -1.875,-0.4375 -2.262525,-0.452605 -5.108535,-0.783809 -8.28125,-0.9375 -0.130662,-3.556701 -0.470237,-6.762405 -0.96875,-9.25 C 75.761959,59.467174 75.626981,58.990925 75.5,58.5 z m -2.84375,12.09375 c 0.959338,0 1.895843,0.03282 2.8125,0.0625 C 75.48165,71.267751 75.5,71.871028 75.5,72.5 c 0,1.228616 -0.01449,2.438313 -0.0625,3.59375 -0.897358,0.0284 -1.811972,0.0625 -2.75,0.0625 -0.927373,0 -1.831062,-0.03473 -2.71875,-0.0625 -0.05109,-1.155437 -0.0625,-2.365134 -0.0625,-3.59375 0,-0.628972 0.01741,-1.232249 0.03125,-1.84375 0.895269,-0.02827 1.783025,-0.0625 2.71875,-0.0625 z M 68.5625,70.6875 c -0.01243,0.60601 -0.03125,1.189946 -0.03125,1.8125 0,1.22431 0.01541,2.407837 0.0625,3.5625 -3.125243,-0.150329 -5.92077,-0.471558 -8.09375,-0.90625 -0.784983,-0.157031 -1.511491,-0.316471 -2.125,-0.5 -0.107878,-0.704096 -0.1875,-1.422089 -0.1875,-2.15625 0,-0.115714 0.02849,-0.228688 0.03125,-0.34375 0.643106,-0.20284 1.389577,-0.390377 2.25,-0.5625 2.166953,-0.433487 4.97905,-0.75541 8.09375,-0.90625 z m 8.3125,0.03125 c 3.075121,0.15271 5.824455,0.446046 7.96875,0.875 0.857478,0.171534 1.630962,0.360416 2.28125,0.5625 0.0027,0.114659 0,0.228443 0,0.34375 0,0.735827 -0.07914,1.450633 -0.1875,2.15625 -0.598568,0.180148 -1.29077,0.34562 -2.0625,0.5 -2.158064,0.431708 -4.932088,0.754666 -8.03125,0.90625 0.04709,-1.154663 0.0625,-2.33819 0.0625,-3.5625 0,-0.611824 -0.01924,-1.185379 -0.03125,-1.78125 z M 57.15625,72.5625 c 0.0023,0.572772 0.06082,1.131112 0.125,1.6875 -0.125327,-0.05123 -0.266577,-0.10497 -0.375,-0.15625 -0.396499,-0.187528 -0.665288,-0.387337 -0.8125,-0.53125 -0.147212,-0.143913 -0.15625,-0.182756 -0.15625,-0.1875 0,-0.0047 -0.02221,-0.07484 0.125,-0.21875 0.147212,-0.143913 0.447251,-0.312472 0.84375,-0.5 0.07123,-0.03369 0.171867,-0.06006 0.25,-0.09375 z m 31.03125,0 c 0.08201,0.03503 0.175941,0.05872 0.25,0.09375 0.396499,0.187528 0.665288,0.356087 0.8125,0.5 0.14725,0.14391 0.15625,0.21405 0.15625,0.21875 0,0.0047 -0.009,0.04359 -0.15625,0.1875 -0.147212,0.143913 -0.416001,0.343722 -0.8125,0.53125 -0.09755,0.04613 -0.233314,0.07889 -0.34375,0.125 0.06214,-0.546289 0.09144,-1.094215 0.09375,-1.65625 z m -29.5,3.625 c 0.479308,0.123125 0.983064,0.234089 1.53125,0.34375 2.301781,0.460458 5.229421,0.787224 8.46875,0.9375 0.167006,2.84339 0.46081,5.433176 0.875,7.5 0.115218,0.574942 0.245268,1.063612 0.375,1.5625 -5.463677,-1.028179 -9.833074,-5.091831 -11.25,-10.34375 z m 27.96875,0 C 85.247546,81.408945 80.919274,85.442932 75.5,86.5 c 0.126981,-0.490925 0.261959,-0.967174 0.375,-1.53125 0.41419,-2.066824 0.707994,-4.65661 0.875,-7.5 3.204493,-0.15162 6.088346,-0.480068 8.375,-0.9375 0.548186,-0.109661 1.051942,-0.220625 1.53125,-0.34375 z M 70.0625,77.53125 c 0.865391,0.02589 1.723666,0.03125 2.625,0.03125 0.912062,0 1.782843,-0.0048 2.65625,-0.03125 -0.165173,2.736408 -0.453252,5.207651 -0.84375,7.15625 -0.152345,0.760206 -0.322989,1.438994 -0.5,2.03125 -0.437447,0.03919 -0.895856,0.0625 -1.34375,0.0625 -0.414943,0 -0.812719,-0.02881 -1.21875,-0.0625 -0.177011,-0.592256 -0.347655,-1.271044 -0.5,-2.03125 -0.390498,-1.948599 -0.700644,-4.419842 -0.875,-7.15625 z m 1.75,10.28125 c 0.284911,0.01545 0.554954,0.03125 0.84375,0.03125 0.325029,0 0.648588,-0.01171 0.96875,-0.03125 -0.05999,0.148763 -0.127309,0.31046 -0.1875,0.4375 -0.18789,0.396562 -0.386962,0.696416 -0.53125,0.84375 -0.144288,0.147334 -0.181857,0.125 -0.1875,0.125 -0.0056,0 -0.07446,0.02233 -0.21875,-0.125 C 72.355712,88.946416 72.18789,88.646562 72,88.25 71.939809,88.12296 71.872486,87.961263 71.8125,87.8125 z",bve=Kdi,Wdi="M 72.46875,22.03125 C 59.505873,22.050338 46.521615,27.004287 36.6875,36.875 L 47.84375,47.96875 C 61.521556,34.240041 83.442603,34.227389 97.125,47.90625 l 11.125,-11.125 C 98.401629,26.935424 85.431627,22.012162 72.46875,22.03125 z",Qve=Wdi,qdi=_D,AB=function(o){this.terria=o.terria,this.eventHelper=new Lm,this.enableZoomControls=k(o.enableZoomControls)?o.enableZoomControls:!0,this.enableCompass=k(o.enableCompass)?o.enableCompass:!0,this.navigationLocked=!1,this.controls=o.controls,k(this.controls)||(this.controls=[new HX(this.terria,!0),new Bve(this.terria),new HX(this.terria,!1)]),this.svgCompassOuterRing=wve,this.svgCompassGyro=bve,this.svgCompassRotationMarker=Qve,this.showCompass=k(this.terria)&&this.enableCompass,this.heading=this.showCompass?this.terria.scene.camera.heading:0,this.isOrbiting=!1,this.orbitCursorAngle=0,this.orbitCursorOpacity=0,this.orbitLastTimestamp=0,this.orbitFrame=void 0,this.orbitIsLook=!1,this.orbitMouseMoveFunction=void 0,this.orbitMouseUpFunction=void 0,this.isRotating=!1,this.rotateInitialCursorAngle=void 0,this.rotateFrame=void 0,this.rotateIsLook=!1,this.rotateMouseMoveFunction=void 0,this.rotateMouseUpFunction=void 0,this._unsubcribeFromPostRender=void 0,qdi.track(this,["controls","showCompass","heading","isOrbiting","orbitCursorAngle","isRotating"]);let A=this;AB.prototype.setNavigationLocked=function(m){this.navigationLocked=m,this.controls&&this.controls.length>1&&this.controls[1].setNavigationLocked(this.navigationLocked)};function f(){k(A.terria)?(A._unsubcribeFromPostRender&&(A._unsubcribeFromPostRender(),A._unsubcribeFromPostRender=void 0),A.showCompass=A.enableCompass,A._unsubcribeFromPostRender=A.terria.scene.postRender.addEventListener(function(){A.heading=A.terria.scene.camera.heading})):(A._unsubcribeFromPostRender&&(A._unsubcribeFromPostRender(),A._unsubcribeFromPostRender=void 0),A.showCompass=!1)}this.eventHelper.add(this.terria.afterWidgetChanged,f,this),f()};AB.prototype.destroy=function(){this.eventHelper.removeAll()};AB.prototype.show=function(o){let A;this.enableZoomControls&&this.enableCompass?A=`<div class="compass" title="" data-bind="visible: showCompass, event: { mousedown: handleMouseDown, dblclick: handleDoubleClick }"><div class="compass-outer-ring-background"></div> <div class="compass-rotation-marker" data-bind="visible: isOrbiting, style: { transform: 'rotate(-' + orbitCursorAngle + 'rad)', '-webkit-transform': 'rotate(-' + orbitCursorAngle + 'rad)', opacity: orbitCursorOpacity }, cesiumSvgPath: { path: svgCompassRotationMarker, width: 145, height: 145 }"></div> <div class="compass-outer-ring" title="" data-bind="style: { transform: 'rotate(-' + heading + 'rad)', '-webkit-transform': 'rotate(-' + heading + 'rad)' }, cesiumSvgPath: { path: svgCompassOuterRing, width: 145, height: 145 }"></div> <div class="compass-gyro-background"></div> <div class="compass-gyro" data-bind="cesiumSvgPath: { path: svgCompassGyro, width: 145, height: 145 }, css: { 'compass-gyro-active': isOrbiting }"></div></div><div class="navigation-controls"><!-- ko foreach: controls --><div data-bind="click: activate, attr: { title: $data.name }, css: $root.isLastControl($data) ? 'navigation-control-last' : 'navigation-control' "> <!-- ko if: $data.hasText --> <div data-bind="text: $data.text, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> <!-- ko ifnot: $data.hasText --> <div data-bind="cesiumSvgPath: { path: $data.svgIcon, width: $data.svgWidth, height: $data.svgHeight }, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> </div> <!-- /ko --></div>`:!this.enableZoomControls&&this.enableCompass?A=`<div class="compass" title="" data-bind="visible: showCompass, event: { mousedown: handleMouseDown, dblclick: handleDoubleClick }"><div class="compass-outer-ring-background"></div> <div class="compass-rotation-marker" data-bind="visible: isOrbiting, style: { transform: 'rotate(-' + orbitCursorAngle + 'rad)', '-webkit-transform': 'rotate(-' + orbitCursorAngle + 'rad)', opacity: orbitCursorOpacity }, cesiumSvgPath: { path: svgCompassRotationMarker, width: 145, height: 145 }"></div> <div class="compass-outer-ring" title="" data-bind="style: { transform: 'rotate(-' + heading + 'rad)', '-webkit-transform': 'rotate(-' + heading + 'rad)' }, cesiumSvgPath: { path: svgCompassOuterRing, width: 145, height: 145 }"></div> <div class="compass-gyro-background"></div> <div class="compass-gyro" data-bind="cesiumSvgPath: { path: svgCompassGyro, width: 145, height: 145 }, css: { 'compass-gyro-active': isOrbiting }"></div></div><div class="navigation-controls" style="display: none;" ><!-- ko foreach: controls --><div data-bind="click: activate, attr: { title: $data.name }, css: $root.isLastControl($data) ? 'navigation-control-last' : 'navigation-control' "> <!-- ko if: $data.hasText --> <div data-bind="text: $data.text, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> <!-- ko ifnot: $data.hasText --> <div data-bind="cesiumSvgPath: { path: $data.svgIcon, width: $data.svgWidth, height: $data.svgHeight }, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> </div> <!-- /ko --></div>`:this.enableZoomControls&&!this.enableCompass?A=`<div class="compass" style="display: none;" title="" data-bind="visible: showCompass, event: { mousedown: handleMouseDown, dblclick: handleDoubleClick }"><div class="compass-outer-ring-background"></div> <div class="compass-rotation-marker" data-bind="visible: isOrbiting, style: { transform: 'rotate(-' + orbitCursorAngle + 'rad)', '-webkit-transform': 'rotate(-' + orbitCursorAngle + 'rad)', opacity: orbitCursorOpacity }, cesiumSvgPath: { path: svgCompassRotationMarker, width: 145, height: 145 }"></div> <div class="compass-outer-ring" title="" data-bind="style: { transform: 'rotate(-' + heading + 'rad)', '-webkit-transform': 'rotate(-' + heading + 'rad)' }, cesiumSvgPath: { path: svgCompassOuterRing, width: 145, height: 145 }"></div> <div class="compass-gyro-background"></div> <div class="compass-gyro" data-bind="cesiumSvgPath: { path: svgCompassGyro, width: 145, height: 145 }, css: { 'compass-gyro-active': isOrbiting }"></div></div><div class="navigation-controls" ><!-- ko foreach: controls --><div data-bind="click: activate, attr: { title: $data.name }, css: $root.isLastControl($data) ? 'navigation-control-last' : 'navigation-control' "> <!-- ko if: $data.hasText --> <div data-bind="text: $data.text, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> <!-- ko ifnot: $data.hasText --> <div data-bind="cesiumSvgPath: { path: $data.svgIcon, width: $data.svgWidth, height: $data.svgHeight }, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> </div> <!-- /ko --></div>`:!this.enableZoomControls&&!this.enableCompass&&(A=`<div class="compass" style="display: none;" title="" data-bind="visible: showCompass, event: { mousedown: handleMouseDown, dblclick: handleDoubleClick }"><div class="compass-outer-ring-background"></div> <div class="compass-rotation-marker" data-bind="visible: isOrbiting, style: { transform: 'rotate(-' + orbitCursorAngle + 'rad)', '-webkit-transform': 'rotate(-' + orbitCursorAngle + 'rad)', opacity: orbitCursorOpacity }, cesiumSvgPath: { path: svgCompassRotationMarker, width: 145, height: 145 }"></div> <div class="compass-outer-ring" title="" data-bind="style: { transform: 'rotate(-' + heading + 'rad)', '-webkit-transform': 'rotate(-' + heading + 'rad)' }, cesiumSvgPath: { path: svgCompassOuterRing, width: 145, height: 145 }"></div> <div class="compass-gyro-background"></div> <div class="compass-gyro" data-bind="cesiumSvgPath: { path: svgCompassGyro, width: 145, height: 145 }, css: { 'compass-gyro-active': isOrbiting }"></div></div><div class="navigation-controls" style="display: none;" ><!-- ko foreach: controls --><div data-bind="click: activate, attr: { title: $data.name }, css: $root.isLastControl($data) ? 'navigation-control-last' : 'navigation-control' "> <!-- ko if: $data.hasText --> <div data-bind="text: $data.text, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> <!-- ko ifnot: $data.hasText --> <div data-bind="cesiumSvgPath: { path: $data.svgIcon, width: $data.svgWidth, height: $data.svgHeight }, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> </div> <!-- /ko --></div>`),Gte(A,o,this)};AB.prototype.add=function(o){this.controls.push(o)};AB.prototype.remove=function(o){this.controls.remove(o)};AB.prototype.isLastControl=function(o){return o===this.controls[this.controls.length-1]};var Sve=new tt;AB.prototype.handleMouseDown=function(o,A){if(this.terria.scene.mode===ii.MORPHING||o.navigationLocked)return!0;let f=A.currentTarget,m=A.currentTarget.getBoundingClientRect(),C=m.width/2,E=new tt((m.right-m.left)/2,(m.bottom-m.top)/2),I=new tt(A.clientX-m.left,A.clientY-m.top),x=tt.subtract(I,E,Sve),y=tt.magnitude(x)/C;if(y<50/145)jdi(this,f,x);else if(y<1)Xdi(this,f,x);else return!0};var yce=new Re,VX=new Re,Dve=new Z;AB.prototype.handleDoubleClick=function(o,A){let f=o.terria.scene,m=f.camera,C=f.screenSpaceCameraController;if(f.mode===ii.MORPHING||!C.enableInputs||o.navigationLocked)return!0;if(f.mode===ii.COLUMBUS_VIEW&&!C.enableTranslate||(f.mode===ii.SCENE3D||f.mode===ii.COLUMBUS_VIEW)&&(!C.enableLook||f.mode===ii.SCENE3D&&!C.enableRotate))return;let E=q4.getCameraFocus(o.terria,!0,Dve);if(!k(E)){this.controls[1].resetView();return}let I=f.globe.ellipsoid.cartographicToCartesian(m.positionCartographic,new Z),x=f.globe.ellipsoid.geodeticSurfaceNormal(E),y=new si(E,0);m.flyToBoundingSphere(y,{offset:new sI(0,De.PI_OVER_TWO-Z.angleBetween(x,m.directionWC),Z.distance(I,E)),duration:1.5})};AB.create=function(o){let A=new AB(o);return A.show(o.container),A};function jdi(o,A,f){let m=o.terria.scene,C=m.screenSpaceCameraController;if(m.mode===ii.MORPHING||!C.enableInputs)return;if(o.navigationLocked)return!0;switch(m.mode){case ii.COLUMBUS_VIEW:if(C.enableLook)break;if(!C.enableTranslate||!C.enableTilt)return;break;case ii.SCENE3D:if(C.enableLook)break;if(!C.enableTilt||!C.enableRotate)return;break;case ii.SCENE2D:if(!C.enableTranslate)return;break}document.removeEventListener("mousemove",o.orbitMouseMoveFunction,!1),document.removeEventListener("mouseup",o.orbitMouseUpFunction,!1),k(o.orbitTickFunction)&&o.terria.clock.onTick.removeEventListener(o.orbitTickFunction),o.orbitMouseMoveFunction=void 0,o.orbitMouseUpFunction=void 0,o.orbitTickFunction=void 0,o.isOrbiting=!0,o.orbitLastTimestamp=HA();let E=m.camera;if(k(o.terria.trackedEntity))o.orbitFrame=void 0,o.orbitIsLook=!1;else{let x=q4.getCameraFocus(o.terria,!0,Dve);k(x)?(o.orbitFrame=Vr.eastNorthUpToFixedFrame(x,m.globe.ellipsoid,VX),o.orbitIsLook=!1):(o.orbitFrame=Vr.eastNorthUpToFixedFrame(E.positionWC,m.globe.ellipsoid,VX),o.orbitIsLook=!0)}o.orbitTickFunction=function(x){let y=HA(),v=y-o.orbitLastTimestamp,w=(o.orbitCursorOpacity-.5)*2.5/1e3,Q=v*w,M=o.orbitCursorAngle+De.PI_OVER_TWO,B=Math.cos(M)*Q,D=Math.sin(M)*Q,S;if(o.navigationLocked)return!0;k(o.orbitFrame)&&(S=Re.clone(E.transform,yce),E.lookAtTransform(o.orbitFrame)),m.mode===ii.SCENE2D?E.move(new Z(B,D,0),Math.max(m.canvas.clientWidth,m.canvas.clientHeight)/100*E.positionCartographic.height*Q):o.orbitIsLook?(E.look(Z.UNIT_Z,-B),E.look(E.right,-D)):(E.rotateLeft(B),E.rotateUp(D)),k(o.orbitFrame)&&E.lookAtTransform(S),o.orbitLastTimestamp=y};function I(x,y){let v=Math.atan2(-x.y,x.x);o.orbitCursorAngle=De.zeroToTwoPi(v-De.PI_OVER_TWO);let w=tt.magnitude(x),Q=y/2,M=Math.min(w/Q,1),B=.5*M*M+.5;o.orbitCursorOpacity=B}o.orbitMouseMoveFunction=function(x){let y=A.getBoundingClientRect(),v=new tt((y.right-y.left)/2,(y.bottom-y.top)/2),w=new tt(x.clientX-y.left,x.clientY-y.top),Q=tt.subtract(w,v,Sve);I(Q,y.width)},o.orbitMouseUpFunction=function(x){o.isOrbiting=!1,document.removeEventListener("mousemove",o.orbitMouseMoveFunction,!1),document.removeEventListener("mouseup",o.orbitMouseUpFunction,!1),k(o.orbitTickFunction)&&o.terria.clock.onTick.removeEventListener(o.orbitTickFunction),o.orbitMouseMoveFunction=void 0,o.orbitMouseUpFunction=void 0,o.orbitTickFunction=void 0},document.addEventListener("mousemove",o.orbitMouseMoveFunction,!1),document.addEventListener("mouseup",o.orbitMouseUpFunction,!1),o.terria.clock.onTick.addEventListener(o.orbitTickFunction),I(f,A.getBoundingClientRect().width)}function Xdi(o,A,f){let m=o.terria.scene,C=m.camera,E=m.screenSpaceCameraController;if(m.mode===ii.MORPHING||m.mode===ii.SCENE2D||!E.enableInputs)return;if(o.navigationLocked)return!0;if(!E.enableLook&&(m.mode===ii.COLUMBUS_VIEW||m.mode===ii.SCENE3D&&!E.enableRotate))return;if(document.removeEventListener("mousemove",o.rotateMouseMoveFunction,!1),document.removeEventListener("mouseup",o.rotateMouseUpFunction,!1),o.rotateMouseMoveFunction=void 0,o.rotateMouseUpFunction=void 0,o.isRotating=!0,o.rotateInitialCursorAngle=Math.atan2(-f.y,f.x),k(o.terria.trackedEntity))o.rotateFrame=void 0,o.rotateIsLook=!1;else{let x=q4.getCameraFocus(o.terria,!0,Dve);!k(x)||m.mode===ii.COLUMBUS_VIEW&&!E.enableLook&&!E.enableTranslate?(o.rotateFrame=Vr.eastNorthUpToFixedFrame(C.positionWC,m.globe.ellipsoid,VX),o.rotateIsLook=!0):(o.rotateFrame=Vr.eastNorthUpToFixedFrame(x,m.globe.ellipsoid,VX),o.rotateIsLook=!1)}let I;k(o.rotateFrame)&&(I=Re.clone(C.transform,yce),C.lookAtTransform(o.rotateFrame)),o.rotateInitialCameraAngle=-C.heading,k(o.rotateFrame)&&C.lookAtTransform(I),o.rotateMouseMoveFunction=function(x){let y=A.getBoundingClientRect(),v=new tt((y.right-y.left)/2,(y.bottom-y.top)/2),w=new tt(x.clientX-y.left,x.clientY-y.top),Q=tt.subtract(w,v,Sve),M=Math.atan2(-Q.y,Q.x)-o.rotateInitialCursorAngle,B=De.zeroToTwoPi(o.rotateInitialCameraAngle-M),D=o.terria.scene.camera,S;k(o.rotateFrame)&&(S=Re.clone(D.transform,yce),D.lookAtTransform(o.rotateFrame));let P=-D.heading;D.rotateRight(B-P),k(o.rotateFrame)&&D.lookAtTransform(S)},o.rotateMouseUpFunction=function(x){o.isRotating=!1,document.removeEventListener("mousemove",o.rotateMouseMoveFunction,!1),document.removeEventListener("mouseup",o.rotateMouseUpFunction,!1),o.rotateMouseMoveFunction=void 0,o.rotateMouseUpFunction=void 0},document.addEventListener("mousemove",o.rotateMouseMoveFunction,!1),document.addEventListener("mouseup",o.rotateMouseUpFunction,!1)}var $H=AB,k3e=ir,zx=function(o){Zdi.apply(this,arguments),this._onDestroyListeners=[]};zx.prototype.distanceLegendViewModel=void 0;zx.prototype.navigationViewModel=void 0;zx.prototype.navigationDiv=void 0;zx.prototype.distanceLegendDiv=void 0;zx.prototype.terria=void 0;zx.prototype.container=void 0;zx.prototype._onDestroyListeners=void 0;zx.prototype._navigationLocked=!1;zx.prototype.setNavigationLocked=function(o){this._navigationLocked=o,this.navigationViewModel.setNavigationLocked(this._navigationLocked)};zx.prototype.getNavigationLocked=function(){return this._navigationLocked};zx.prototype.destroy=function(){k(this.navigationViewModel)&&this.navigationViewModel.destroy(),k(this.distanceLegendViewModel)&&this.distanceLegendViewModel.destroy(),k(this.navigationDiv)&&this.navigationDiv.parentNode.removeChild(this.navigationDiv),delete this.navigationDiv,k(this.distanceLegendDiv)&&this.distanceLegendDiv.parentNode.removeChild(this.distanceLegendDiv),delete this.distanceLegendDiv,k(this.container)&&this.container.parentNode.removeChild(this.container),delete this.container;for(let o=0;o<this._onDestroyListeners.length;o++)this._onDestroyListeners[o]()};zx.prototype.addOnDestroyListener=function(o){typeof o=="function"&&this._onDestroyListeners.push(o)};function Zdi(o,A){if(!k(o))throw new ni("CesiumWidget or Viewer is required.");let f=k(o.cesiumWidget)?o.cesiumWidget:o,m=document.createElement("div");m.className="Geoworld-widget-GeoworldNavigationContainer",f.container.appendChild(m),this.terria=o,this.terria.options=k(A)?A:{},this.terria.afterWidgetChanged=new k3e,this.terria.beforeWidgetChanged=new k3e,this.container=m,(!k(this.terria.options.enableDistanceLegend)||this.terria.options.enableDistanceLegend)&&(this.distanceLegendDiv=document.createElement("div"),m.appendChild(this.distanceLegendDiv),this.distanceLegendDiv.setAttribute("id","distanceLegendDiv"),this.distanceLegendViewModel=yve.create({container:this.distanceLegendDiv,terria:this.terria,mapElement:m,enableDistanceLegend:!0})),(!k(this.terria.options.enableZoomControls)||this.terria.options.enableZoomControls)&&(!k(this.terria.options.enableCompass)||this.terria.options.enableCompass)?(this.navigationDiv=document.createElement("div"),this.navigationDiv.setAttribute("id","navigationDiv"),m.appendChild(this.navigationDiv),this.navigationViewModel=$H.create({container:this.navigationDiv,terria:this.terria,enableZoomControls:!0,enableCompass:!0})):k(this.terria.options.enableZoomControls)&&!this.terria.options.enableZoomControls&&(!k(this.terria.options.enableCompass)||this.terria.options.enableCompass)?(this.navigationDiv=document.createElement("div"),this.navigationDiv.setAttribute("id","navigationDiv"),m.appendChild(this.navigationDiv),this.navigationViewModel=$H.create({container:this.navigationDiv,terria:this.terria,enableZoomControls:!1,enableCompass:!0})):(!k(this.terria.options.enableZoomControls)||this.terria.options.enableZoomControls)&&k(this.terria.options.enableCompass)&&!this.terria.options.enableCompass?(this.navigationDiv=document.createElement("div"),this.navigationDiv.setAttribute("id","navigationDiv"),m.appendChild(this.navigationDiv),this.navigationViewModel=$H.create({container:this.navigationDiv,terria:this.terria,enableZoomControls:!0,enableCompass:!1})):k(this.terria.options.enableZoomControls)&&!this.terria.options.enableZoomControls&&k(this.terria.options.enableCompass)&&this.terria.options.enableCompass}var Mve=zx;function Qqe(o,A){if(!k(o))throw new ni("viewer is required.");Sqe(o,A).addOnDestroyListener(function(f){return function(){delete f.cesiumNavigation}}(o)),Object.defineProperties(o,{cesiumNavigation:{configurable:!0,get:function(){return o.cesiumWidget.cesiumNavigation}}})}Qqe.mixinWidget=function(o,A){return Sqe.apply(void 0,arguments)};var Sqe=function(o,A){let f=new Mve(o,A),m=k(o.cesiumWidget)?o.cesiumWidget:o;return Object.defineProperties(m,{cesiumNavigation:{configurable:!0,get:function(){return f}}}),f.addOnDestroyListener(function(C){return function(){delete C.cesiumNavigation}}(m)),f},Dqe=Qqe;function $di(o,A,f,m,C,E){let I=m._frameState,x=o.derivedCommands;k(x)&&(I.useLogDepth&&k(x.logDepth)&&(o=x.logDepth.command),x=o.derivedCommands,k(x[A])&&(o=x[A][f],o.execute(C,E)))}var qle,jle,Xle,Zle;function U3e(o,A,f,m,C,E){qle=qle||new lA,jle=jle||new X1,Xle=Xle||new $a,Zle=Zle||new Eg;let I=o._us,x=I._frameState,y=x.camera,v=y._scene,w=v._view,Q=w.frustumCommandsList,M=Q.length,B=v._globeTranslucencyState,D=B.translucent,S;k(y.frustum.fov)?S=y.frustum.clone(qle):k(y.frustum.infiniteProjectionMatrix)?S=y.frustum.clone(jle):k(y.frustum.width)?S=y.frustum.clone(Xle):S=y.frustum.clone(Zle);function P(F,U,N,H){(!E||E(F,U))&&(m&&C?$di(F,m,C,U,N,H):F.execute(N,H))}let R,T,L;for(let F=0;F<M;++F){let U=M-F-1,N=Q[U],H=f.framebuffer;f.framebuffer=A,S.near=U!==0?N.near*v.opaqueFrustumNearOffset:N.near,S.far=N.far,I.updateFrustum(S),I.updatePass(zi.GLOBE),L=N.commands[zi.GLOBE],T=N.indices[zi.GLOBE];let J=v._view.globeTranslucencyFramebuffer;if(D)B.executeGlobeCommands(N,P,J,v,f);else for(R=0;R<T;++R)P(L[R],v,o,f);for(I.updatePass(zi.CESIUM_3D_TILE),L=N.commands[zi.CESIUM_3D_TILE],T=N.indices[zi.CESIUM_3D_TILE],R=0;R<T;++R)P(L[R],v,o,f);for(I.updatePass(zi.OPAQUE),L=N.commands[zi.OPAQUE],T=N.indices[zi.OPAQUE],R=0;R<T;++R)P(L[R],v,o,f);for(I.updatePass(zi.TRANSLUCENT),L=N.commands[zi.TRANSLUCENT],T=N.indices[zi.TRANSLUCENT],R=0;R<T;++R)P(L[R],v,o,f);f.framebuffer=H}}var O3e=` vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { return 2.0 * rgb.xyz - 1.0; } const float PackUpscale = 256. / 255.; // fraction -> 0..1 (including 1) const float UnpackDownscale = 255. / 256.; // 0..1 -> fraction (excluding 1) const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); const float ShiftRight8 = 1. / 256.; vec4 packDepthToRGBA( const in float v ) { vec4 r = vec4( fract( v * PackFactors ), v ); r.yzw -= r.xyz * ShiftRight8; // tidy overflow return r * PackUpscale; } float unpackRGBAToDepth( const in vec4 v ) { return dot( v, UnpackFactors ); } vec4 pack2HalfToRGBA( vec2 v ) { vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 )); return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w); } vec2 unpackRGBATo2Half( vec4 v ) { return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); } // NOTE: viewZ/eyeZ is < 0 when in front of the camera per OpenGL conventions float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { return ( viewZ + near ) / ( near - far ); } float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) { return linearClipZ * ( near - far ) - near; } // NOTE: https://twitter.com/gonnavis/status/1377183786949959682 float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { return (( near + viewZ ) * far ) / (( far - near ) * viewZ ); } float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * invClipZ - far ); } `,G3e=`uniform sampler2D czm_selectedIdTexture; uniform float czm_selectedIdTextureStep; uniform float czm_selectedIdTextureWidth; bool czm_selected(vec4 id) { bool selected = false; for (int i = 0; i < 1024000; i++) { vec4 selectedId = texture(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); if (all(equal(id, selectedId))) { return true; } if(float(i)>czm_selectedIdTextureWidth)break; } return false; } `;function Tve(o){this._selectedIdTexture=null;let{name:A,vertexShader:f,fragmentShader:m,uniforms:C,renderStateProcess:E,beforeUpdate:I,viewportScale:x,overrideViewport:y,enableEntitySelect:v}=o,{renderType:w,textureScale:Q,shaderRedefine:M}=o,B=`renderPass_${A.replace(/[\.\\\/\-]/g,"_")}`,D=`czm_non_${B}_main`,S=`czm_${B}_main`,P=`_cache_${B}`,R=`${B}Command`,T=null,L=null,F=null,U=null,N=null,H,J=new QA({color:qe.TRANSPARENT,depth:1}),K=new _r,X=this;if(y&&_r.clone(y,K),M=M||"add",w=w||"all",Q=Q||1,Q<0||Q>8)throw new ni("CesiumRenderPass\uFF1AtextureScale\u5FC5\u987B\u5927\u4E8E0\u5C0F\u4E8E\u7B49\u4E8E8");function j(re,se,ce,me){let Ce=re.shaderCache.getDerivedShaderProgram(se,B);if(!k(Ce)){let ye=se._attributeLocations,Be=se.fragmentShaderSource,Me=se.vertexShaderSource,He=se._vertexShaderText,ke=Be.sources,Ne=ke.length,Pe=!!N&&G(),we=G3e,Fe=/texture\s?\(\s?tile_pickTexture\s?,\s?tile_featureSt\s?\)/.test(ce);me==="in"&&!Fe?we+=` //in float me_isSelected; bool czm_selected(){ //bool isSelected=false; //if(!isSelected){ // isSelected= czm_selected(${ce}); //} if(${v}) { return czm_selected(${ce}); } return true; } `:we+=` bool czm_selected(){ return czm_selected(${ce}); }`;let Ue=G3e,ze=!1,Je=!1;if(/in\s?vec3\s?normal\s?;/.test(He)||/\n\s?vec3\s?normal\s?;/.test(He)?ze=!0:/out\s?vec3\s?v_normal\s?;/.test(He)&&(Je=!0),m){let je=!1;for(let yt=0;yt<Ne;++yt)if(/vec4\s?packDepthToRGBA\s?\(/.test(ke[yt])){je=!0;break}let Ze=je?"":O3e;Ze+=Pe?we:"",Ze+=hr.replaceMain(m,S);let rt=`${D}();`;Ze+=`void main() { ${M!=="replace"?rt:""} ${S}(); } `;let At=new Array(Ne+1);for(let yt=0;yt<Ne;++yt)At[yt]=hr.replaceMain(ke[yt],D);At[Ne]=Ze,ze?Be.defines.push("HAS_NORMAL"):Je&&Be.defines.push("HAS_V_NORMAL"),Be.defines.push("MRT"),Be=new hr({sources:At,defines:Be.defines})}if(f||m){ke=Me.sources,Ne=ke.length;let je=!1;for(let At=0;At<Ne;++At)if(/vec4\s?packDepthToRGBA\s?\(/.test(ke[At])){je=!0;break}Pe=Pe&&me==="in"&&!Fe,ze?Me.defines.push("HAS_NORMAL"):Je&&Me.defines.push("HAS_V_NORMAL");let Ze=`${je?"":O3e} ${Pe?Ue:""} ${hr.replaceMain(f||"void main(){}",S)} void main() { ${M!=="replace"?` ${D}();`:""} //${Pe?" me_isSelected=czm_selected()?1.:0.;":""} ${S}(); }`,rt=new Array(Ne+1);for(let At=0;At<Ne;++At)rt[At]=hr.replaceMain(ke[At],D);rt[Ne]=Ze,Me=new hr({sources:rt,defines:Me.defines})}Ce=re.shaderCache.createDerivedShaderProgram(se,B,{vertexShaderSource:Me,fragmentShaderSource:Be,attributeLocations:ye})}return Ce}function ee(re,se){re._renderPassCache=re._renderPassCache||{},re._renderPassCache[P]=re._renderPassCache[P]||{};let ce=re._renderPassCache[P],me=ce[se.id];if(!k(me)){let Ce=Hr.getState(se);typeof E=="function"&&E.call(X,Ce),me=Hr.fromCache(Ce),ce[se.id]=me}return me}function ie(re,se,ce){let me=re,Ce=se._frameState,ye=re.derivedCommands;if(!k(ye))return;Ce.useLogDepth&&k(ye.logDepth)&&(re=ye.logDepth.command),ye=re.derivedCommands;let Be=ye.renderPass;k(ye.renderPass)||(Be=ye.renderPass={});let Me,He;if(k(Be[R])&&(Me=Be[R].shaderProgram,He=Be[R].renderState),Be[R]=cn.shallowClone(re,Be[R]),!k(Me)||Be.shaderProgramId!==re.shaderProgram.id){let Ne=re.shaderProgram,Pe=me._pickIdQualifier=new RegExp(`uniform\\s?vec4\\s?${re.pickId}`,"g").test(Ne._fragmentShaderText)?"uniform":"in";Be[R].shaderProgram=j(ce,Ne,re.pickId,Pe),Be[R].renderState=ee(se,re.renderState),Be.shaderProgramId=re.shaderProgram.id}else Be[R].shaderProgram=Me,Be[R].renderState=He;let ke=Be[R].uniformMap;le(ke)}function z(re){return function(){let se=C[re];return typeof se=="function"?se():se}}function oe(re,se){return function(){let ce=re[se]();if(k(ce))return ce.dimensions}}function le(re){if(!re.__created&&(re.czm_selectedIdTexture=function(){return N._selectedIdTexture},re.czm_selectedIdTextureWidth=function(){return N._selectedIdTexture?N._selectedIdTexture.width:0},re.czm_selectedIdTextureStep=function(){return N._selectedIdTexture?1/N._selectedIdTexture.width:-1},!!C)){re.__created=!0;for(let se in C)if(C.hasOwnProperty(se)){typeof C[se]!="function"?re[se]=z(se):re[se]=C[se];let ce=re[se]();(typeof ce=="string"||ce instanceof Rn||ce instanceof HTMLImageElement||ce instanceof HTMLCanvasElement||ce instanceof HTMLVideoElement)&&(re[`${se}Dimensions`]=oe(re,se))}}}function Ae(re){let se=re._view,ce=se.frustumCommandsList,me=ce.length,Ce,ye,Be;for(let Me=0;Me<me;++Me){let He=me-Me-1,ke=ce[He];for(ye=0;ye<ke.commands.length;ye++){let Ne=ke.commands[ye];if(Be=ke.indices[ye],!(N&&ye===zi.GLOBE))for(Ce=0;Ce<Be;++Ce){let Pe=Ne[Ce];ie(Pe,re,re._context)}}}}function he(){F&&(F.destroy(),F=void 0),L&&(L.destroy(),L=void 0),U&&(U.destroy(),U=void 0),T&&(T.destroy(),T=void 0)}function ge(re,se,ce,me){let Ce=se.width,ye=se.height;F&&F.width===Ce&&F.height===ye&&ce===H||(H=ce,he(),F=new Rn({context:re,width:Ce,height:ye,pixelFormat:Jr.RGBA,pixelDatatype:Gr.UNSIGNED_BYTE}),L=new Rn({context:re,width:Ce,height:ye,pixelFormat:Jr.RGBA,pixelDatatype:Gr.UNSIGNED_BYTE}),U=new Rn({context:re,width:Ce,height:ye,pixelFormat:Jr.DEPTH_COMPONENT,pixelDatatype:Gr.UNSIGNED_SHORT,sampler:Ra.NEAREST}),T=new Gd({colorTextures:[F,L],context:re,destroyAttachments:!1,depthTexture:U}))}function de(re){y||(K=_r.clone(re.viewport,K),x?(K.x=K.width*x.x,K.y=K.height*x.y,K.width*=x.width,K.height*=x.height):(K.width*=Q,K.height*=Q));let se=Object.assign({},re.passState);return se.viewport=K,se}function fe(re,se){let ce=re._us._frameState,me=ce.camera,Ce=me._scene,ye=Ce._view;try{if(!f&&!m){let Be=de(ye);typeof I=="function"&&I.call(X,Ce,se),ge(re,K,Ce.hdr,ye.sceneFramebuffer),U3e(re,T,Be)}else{let Be=de(ye);typeof I=="function"&&I.call(X,Ce,se),ge(re,K,Ce.hdr,ye.sceneFramebuffer),Ae(Ce),U3e(re,T,Be,"renderPass",R,w==="all"||!N||!N._selectedIdTexture?null:Y)}}catch(Be){console.error(Be)}}function G(){if(!N)return;let re=N.selected||N.parentSelected;if(re.length)return re}function Y(re,se){let ce=N&&(N.selected||N.parentSelected);if(!N||!ce||!ce.length)return!1;if(!re.pickId||re._pickIdQualifier!=="uniform")return!0;let me=!0,Ce=re.owner,ye=w==="selected";if(Ce&&Ce.isObject3D){for(let Me=0;Me<ce.length;Me++)if(ce[Me]===Ce)return ye;return!ye}let Be=re.uniformMap;if(Be[re.pickId]){let Me=Be[re.pickId]();me=!ye;for(let He=0;He<ce.length;He++){let ke=ce[He],Ne=ke.pickId?[ke.pickId]:ke.pickIds||ke._pickIds;for(let Pe=0;Pe<Ne.length;Pe++){let we=Ne[Pe];if(we.color===Me||qe.equals(we.color,Me))return ye}}}return me}function W(re){if(T){let se=re._us._frameState.camera._scene._view;J.framebuffer=T,J.execute(re,se.passState),J.framebuffer=void 0}}function O(re){if(N&&X.prevStageUpdate&&(N.update=X.prevStageUpdate,X.prevStageUpdate=null,X.prevStageExecute=null),N=re,!N)return;let se=N.update;X.prevStageUpdate=se,N.update=function(ce,me){if(W(ce),F&&se.call(N,ce,me),!!N.enabled)if(!f&&!m)fe(ce,me);else{let Ce=N.selected||N.parentSelected;Ce&&Ce.length&&fe(ce,me)}}}this.update=fe,this.clear=W,Object.defineProperties(this,{texture:{get(){return F}},depthTexture:{get(){return U}},planeDepthTexture:{get(){return L}},stage:{get(){return N},set(re){N!==re&&O(re)}}})}function Pve(o){let A=[];for(let f in o.defines)if(o.defines.hasOwnProperty(f)){let m=o.defines[f];A.push(`#define ${f} ${m}`)}return A=`${A.join(` `)} `,o.fragmentShader&&(o.fragmentShader=A+o.fragmentShader),o.vertexShader&&(o.vertexShader=A+o.vertexShader),o}var egi=` in vec2 v_textureCoordinates; uniform sampler2D colorTexture; uniform vec2 colorTextureDimensions; uniform vec2 direction; uniform float kernelRadius; float gaussianPdf(in float x, in float sigma) { return 0.39894 * exp( -0.5 * x * x/( sigma * sigma))/sigma; } void main() { vec2 vUv=v_textureCoordinates; vec2 invSize = 1.0 / colorTextureDimensions; float weightSum = gaussianPdf(0.0, kernelRadius); vec4 diffuseSum = texture( colorTexture, vUv) * weightSum; vec2 delta = direction * invSize * kernelRadius/float(MAX_RADIUS); vec2 uvOffset = delta; for( int i = 1; i <= MAX_RADIUS; i ++ ) { float w = gaussianPdf(uvOffset.x, kernelRadius); vec4 sample1 = texture( colorTexture, vUv + uvOffset); vec4 sample2 = texture( colorTexture, vUv - uvOffset); diffuseSum += ((sample1 + sample2) * w); weightSum += (2.0 * w); uvOffset += delta; } out_FragColor = diffuseSum/weightSum;}`;function zX(o,A,f,m){let C=new tt(1,0),E=new tt(0,1),I={defines:{MAX_RADIUS:A},fragmentShader:egi};Pve(I);let x=new Jo({name:`${o}_x_direction`,fragmentShader:I.fragmentShader,textureScale:m,forcePowerOfTwo:!0,uniforms:{kernelRadius:f,direction:C},sampleMode:QC.LINEAR}),y=new Jo({name:`${o}_y_direction`,fragmentShader:I.fragmentShader,textureScale:m,forcePowerOfTwo:!0,uniforms:{kernelRadius:f,direction:E},sampleMode:QC.LINEAR});return new x0({name:o,stages:[x,y],inputPreviousStageTexture:!0})}function j4(o,A){A=A||"OutlineEffect";let f=2,m=12*Math.PI/180,C=!1,E=!1,I=qe.WHITE.clone(),x=qe.RED.clone(),y=!1,v=1,w=3,Q=!1,M=ae(o,!1),B=new Tve({name:`${A}Pass`,vertexShader:` //out vec3 vOutlineNormal; void main(){ // #ifdef HAS_NORMALS // vOutlineNormal = a_normalMC; // #else // #ifdef HAS_V_NORMAL // vOutlineNormal = v_normal; // #else // vOutlineNormal=vec3(0.); // #endif // #endif } `,fragmentShader:` //#extension GL_EXT_draw_buffers : enable //in vec3 vOutlineNormal; vec4 packDepth(float depth) { const vec4 bias = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0); float r = depth; float g = fract(r * 255.0); float b = fract(g * 255.0); float a = fract(b * 255.0); vec4 color = vec4(r, g, b, a); return color - (color.yzww * bias); } vec3 limitVec3(vec3 direct){ return (direct + vec3(1.0)) * 0.5; } void main(){ if(!czm_selected())discard; #ifdef HAS_NORMALS vec3 normalEC = v_normalEC; #else vec3 pos_dx = dFdx(v_positionEC); vec3 pos_dy = dFdy(v_positionEC); pos_dx = normalize(pos_dx); pos_dy = normalize(pos_dy); vec3 normalEC = cross(pos_dx, pos_dy); #endif if(length(normalEC)>0.) { vec3 vNormalEC = normalize(normalEC); out_FragColor=vec4(limitVec3(vNormalEC), out_FragColor.a); float planeDepth = abs(dot(v_positionEC, vNormalEC)); out_FragData_1 = packDepth(planeDepth/100000.0); } else { out_FragColor=vec4( 0.0 ); out_FragData_1=vec4( 0.0 ); } } `,sampler:new Ra({minificationFilter:ya.LINEAR,magnificationFilter:mu.LINEAR}),enableEntitySelect:M}),D=new Jo({name:`${A}Mask`,uniforms:{outlineWidth(){return f},devicePixelRatio,thresholdAngle:function(){return m},useSingleColor:function(){return C},showOutlineOnly:function(){return E},visibleEdgeColor:function(){return I},hiddenEdgeColor:function(){return x},maskTexture(){return B.texture},maskDepthTexture(){return B.depthTexture},maskPlaneDepthTexture(){return B.planeDepthTexture}},fragmentShader:` uniform sampler2D colorTexture; uniform vec2 colorTextureDimensions; uniform sampler2D depthTexture; uniform sampler2D maskPlaneDepthTexture; uniform sampler2D maskTexture; uniform sampler2D maskDepthTexture; uniform float thresholdAngle; uniform bool showOutlineOnly; uniform float outlineWidth; uniform float devicePixelRatio; uniform vec3 visibleEdgeColor; uniform vec3 hiddenEdgeColor; uniform bool useSingleColor; in vec2 v_textureCoordinates; float lengthSq(vec3 v){ return v.x * v.x + v.y * v.y + v.z * v.z; } float normal_angleTo(vec3 a,vec3 b){ float denominator = sqrt( lengthSq(a) * lengthSq(b) ); if ( denominator == 0. ) return czm_pi / 2.; float theta = dot(a, b ) / denominator; // clamp, to handle numerical problems return acos( clamp( theta, - 1., 1. ) ); } float compareNormal(vec4 n1,vec4 n2){ float l1 = length( n1.xyz ); float l2 = length( n2.xyz ); if(l1 == 0.0 && l2 == 0.0) return 0.0; if( abs ( normal_angleTo( n1.xyz , n2.xyz ) ) < thresholdAngle ){ return 0.; }else{ return 1.; } } vec3 upLimitVec3(vec3 direct){ return direct * 2.0 - vec3(1.0); } const float UnpackDownscale = 255. / 256.; const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); float unpackRGBAToDepth( const in vec4 v ) { return dot( v, UnpackFactors ); } float unpackDepth(const in vec4 rgba_depth) { const vec4 bitShifts = vec4(1.0, 1.0 / 255.0, 1.0 / (255.0 * 255.0), 1.0 / (255.0 * 255.0 * 255.0)); float depth = dot(rgba_depth, bitShifts); return depth; } float compareDepth(const in vec2 uv){ float maskDepth = czm_readDepth( maskDepthTexture, uv); float nonDepth = czm_readDepth( depthTexture, uv); return maskDepth>nonDepth?1.:0.; } void main(){ vec2 vUv=v_textureCoordinates; // vec4 color = texture( colorTexture, vUv); vec4 maskColor = texture( maskTexture, vUv); if( maskColor.a < 0.0001){ // out_FragColor =color; discard; return; } vec2 invSize = outlineWidth / colorTextureDimensions; vec4 uvOffset = vec4(1.0, 0.0, 0.0, 1.0) * vec4(invSize, invSize); vec4 c1 = texture( maskTexture, vUv + uvOffset.xy); //c1.xyz = upLimitVec3(c1.xyz); vec4 c2 = texture( maskTexture, vUv - uvOffset.xy); //c2.xyz = upLimitVec3(c2.xyz); vec4 c3 = texture( maskTexture, vUv + uvOffset.yw); //c3.xyz = upLimitVec3(c3.xyz); vec4 c4 = texture( maskTexture, vUv - uvOffset.yw); //c4.xyz = upLimitVec3(c4.xyz); float d; if(showOutlineOnly){ float diff1 = (c1.a - c2.a)*0.5; float diff2 = (c3.a - c4.a)*0.5; d = length( vec2(diff1, diff2) ); } else{ float diff1 = compareNormal(c1,c2)*0.5; float diff2 = compareNormal(c3,c4)*0.5; d = length( vec2(diff1, diff2) ); } // \u9762\u6DF1\u5EA6 vec4 pd1 = texture( maskPlaneDepthTexture, vUv + uvOffset.xy); vec4 pd2 = texture( maskPlaneDepthTexture, vUv - uvOffset.xy); vec4 pd3 = texture( maskPlaneDepthTexture, vUv + uvOffset.yw); vec4 pd4 = texture( maskPlaneDepthTexture, vUv - uvOffset.yw); float pdf1 = unpackDepth(pd1); float pdf2 = unpackDepth(pd2); float pdf3 = unpackDepth(pd3); float pdf4 = unpackDepth(pd4); bool fPdf = (abs(pdf1 - pdf2) > 0.00001 || abs(pdf3 - pdf4) > 0.00001); if(d < 0.0000001 && fPdf) { d = 0.5; } if(useSingleColor==false){ float dp1 = compareDepth( vUv + uvOffset.xy); float dp2 = compareDepth( vUv - uvOffset.xy); float dp3 = compareDepth( vUv + uvOffset.yw); float dp4 = compareDepth( vUv - uvOffset.yw); float a1 = min(dp1, dp2); float a2 = min(dp3, dp4); float visibilityFactor = min(a1, a2); vec3 edgeColor = 1.0 - visibilityFactor > 0.001 ? vec3(visibleEdgeColor) + vec3(0.01) : hiddenEdgeColor; // out_FragColor =color+ vec4( edgeColor , 1. ) * vec4(d); out_FragColor = vec4( edgeColor , 1. ) * vec4(d); }else{ // out_FragColor =color+ vec4( visibleEdgeColor , 1. ) * vec4(d); out_FragColor = vec4( visibleEdgeColor + vec3(0.01) , 1. ) * vec4(d); } } `});B.stage=D;let S=zX(`${A}Blur1`,4,1,.75),P=zX(`${A}Blur2`,4,4,.5),R=new x0({name:`${A}BlurComposite`,stages:[D,S,P],inputPreviousStageTexture:!0}),T=new Jo({name:`${A}Additive`,uniforms:{showGlow:function(){return y},edgeGlow:function(){return v},edgeStrength:function(){return w},edgeOnly(){return Q},maskTexture(){return B.texture},lineTexture:D.name,edgeTexture1:S.name,edgeTexture2:R.name},fragmentShader:` uniform sampler2D colorTexture; uniform sampler2D edgeTexture1; uniform sampler2D edgeTexture2; uniform sampler2D lineTexture; uniform sampler2D maskTexture; uniform bool showGlow; uniform float edgeGlow; uniform bool edgeOnly; uniform float edgeStrength; in vec2 v_textureCoordinates; void main(){ vec2 vUv =v_textureCoordinates; vec4 edgeColor=texture( lineTexture, vUv); vec4 color=texture( colorTexture, vUv); float opacity=1.; if(edgeOnly){ vec4 maskColor=texture( maskTexture, vUv); opacity=1.-maskColor.a; out_FragColor = maskColor; return; } if(showGlow){ float visFactor= czm_selected()?1.:0.; vec4 edgeValue1 = texture(edgeTexture1, vUv); vec4 edgeValue2 = texture(edgeTexture2, vUv); vec4 glowColor = edgeValue1 + edgeValue2 * edgeGlow; out_FragColor = opacity * color + edgeColor + edgeStrength * (1. - edgeColor.r) * glowColor; } else{ if(edgeColor.r>0.0 && edgeColor.g>0.0 &&edgeColor.b>0.0 ) { out_FragColor = edgeColor; } else{ out_FragColor = opacity * color + edgeColor; } } } `}),L=new x0({name:`${A}Composite`,stages:[R,T],inputPreviousStageTexture:!1});function F(U){Object.defineProperties(U,{showGlow:{get(){return y},set(N){y=N}},edgeGlow:{get(){return v},set(N){v=N}},edgeStrength:{get(){return w},set(N){w=N}},thresholdAngle:{get(){return m},set(N){m=N}},showOutlineOnly:{get(){return E},set(N){E=N}},edgeOnly:{get(){return Q},set(N){Q=N}},useSingleColor:{get(){return C},set(N){C=N}},outlineWidth:{get(){return f},set(N){f=N}},visibleEdgeColor:{get(){return I},set(N){I=N}},hiddenEdgeColor:{get(){return x},set(N){x=N}}})}return F(L),L._uniforms=L._uniforms||{},F(L._uniforms),L}function RY(o,A,f){let m=o._gl;this.id=A,this._size=f.imageBuffer.length,this._context=o,this._width=f.width,this._height=f.height,this._texture=null,this._internalFormat=f.internalFormat,this._wrapS=ae(f.wrapS,oa.CLAMP_TO_EDGE),this._wrapT=ae(f.wrapT,oa.CLAMP_TO_EDGE),this.id=A,this._target=m.TEXTURE_2D,this._texture=m.createTexture(),m.bindTexture(m.TEXTURE_2D,this._texture);let C=0,E=0,I=tgi(f.imageBuffer,this._internalFormat,this._width,this._height),x=this._width,y=this._height;do{let v=Jr.compressedTextureSizeInBytes(this._internalFormat,x,y),w=new Uint8Array(f.imageBuffer.buffer,f.imageBuffer.byteOffset+C,v);m.compressedTexImage2D(m.TEXTURE_2D,E++,this._internalFormat,x,y,0,w),x=Math.max(x>>1,1),y=Math.max(y>>1,1),C+=v}while(C<f.imageBuffer.length&&I);E>1?(m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MAG_FILTER,m.LINEAR),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MIN_FILTER,m.LINEAR_MIPMAP_LINEAR)):(m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MAG_FILTER,m.LINEAR),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MIN_FILTER,m.LINEAR)),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_S,this._wrapS),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_T,this._wrapT),m.bindTexture(m.TEXTURE_2D,null)}function tgi(o,A,f,m){let C=o.length,E=f,I=m,x=0;for(;;){let y=Jr.compressedTextureSizeInBytes(A,E,I);if(x+=y,E=E>>1,I=I>>1,E===0&&I===0)break;E=Math.max(E,1),I=Math.max(I,1)}return x===C}RY.prototype.enable=function(){let o=this._context._gl;o.activeTexture(this._gl.TEXTURE0),o.bindTexture(this._target,this._texture)};RY.prototype.disable=function(){this._context._gl.bindTexture(this._target,null)};RY.prototype.isDestroyed=function(){return!1};RY.prototype.destroy=function(){this._context._gl.deleteTexture(this._texture),this._texture=null,this.id=0,ar(this)};var Rve=RY;function Lve(){this.ambientColor=new qe,this.diffuseColor=new qe,this.specularColor=new qe(0,0,0,0),this.shininess=50,this.bTransparentSorting=!1,this.textures=[]}Lve.prototype.isDestroyed=function(){return!1};Lve.prototype.destroy=function(){return ar(this)};var Fve=Lve,Nve=`in vec4 aPosition; in vec4 aTexCoord0; #ifdef TexCoord2 in vec4 aTexCoord1; #endif out vec4 vTexCoord; in vec4 aColor; out vec4 vColor; void main() { vTexCoord.xy = aTexCoord0.xy; #ifdef TexCoord2 vTexCoord.zw = aTexCoord1.xy; #endif vColor = aColor; gl_Position = czm_modelViewProjection * vec4(aPosition.xyz, 1.0); } `,kve=`uniform sampler2D uTexture; #ifdef TexCoord2 uniform sampler2D uTexture2; #endif uniform vec4 uDiffuseColor; uniform vec4 uAmbientColor; in vec4 vColor; in vec4 vTexCoord; void main() { vec4 color = vColor * texture(uTexture, vTexCoord.xy); #ifdef TexCoord2 color *= texture(uTexture2, vTexCoord.zw); #endif out_FragColor = czm_gammaCorrect(color); } `;function Uve(){this.context=void 0,this.model=void 0,this.index=void 0}Uve.prototype.set=function(o,A,f){this.context=o,this.model=A,this.index=f};Uve.prototype.execute=function(){let o=this.context,A=this.index,f=this.model.vertexPackage,m=f.vertexAttributes[A];if(!k(m))throw new ni("attribute is null");if(f.instanceIndex!==-1&&!k(this.model._instanceBuffer)){if(!k(f.instanceBuffer))throw new ni("instance buffer is null");this.model.instanceBuffer=jn.createVertexBuffer({context:o,typedArray:f.instanceBuffer,usage:Fr.STATIC_DRAW})}if(m.instanceDivisor===1){m.vertexBuffer=this.model.instanceBuffer;return}k(m.vertexBuffer)||(m.vertexBuffer=jn.createVertexBuffer({context:o,typedArray:m.typedArray,usage:Fr.STATIC_DRAW}),m.typedArray=null,delete m.typedArray)};var Ove=Uve;function Gve(){this.model=void 0,this.context=void 0,this.index=0}Gve.prototype.set=function(o,A,f){this.model=A,this.context=o,this.index=f};Gve.prototype.execute=function(){let o=this.context,A=this.model.arrIndexPackage[this.index],f=this.model.vertexPackage.verticesCount;if(!k(A))throw new ni("index package is null");if(k(A.indexBuffer))return;if(!k(A.indicesTypedArray))throw new ni("index buffer is null");let m=fn.UNSIGNED_SHORT;(A.indexType===1||f>=De.SIXTY_FOUR_KILOBYTES)&&o.elementIndexUint&&(m=fn.UNSIGNED_INT),A.indexBuffer=jn.createIndexBuffer({context:o,typedArray:A.indicesTypedArray,usage:Fr.STATIC_DRAW,indexDatatype:m}),A.indicesTypedArray=null,delete A.indicesTypedArray};var Hve=Gve;function X4(o){this.layer=o.layer,this.vertexPackage=o.vertexPackage,this.arrIndexPackage=o.arrIndexPackage,this.vertexBufferToCreate=new _F,this.indexBufferToCreate=new _F;let A,f;for(A=0,f=this.vertexPackage.vertexAttributes.length;A<f;A++)this.vertexBufferToCreate.enqueue(A);for(A=0,f=this.arrIndexPackage.length;A<f;A++)this.indexBufferToCreate.enqueue(A);this.boundingVolume=o.boundingVolume,this.material=o.material,this.modelMatrix=o.modelMatrix,this.shaderProgram=void 0,this.vertexArray=void 0,this.colorCommand=void 0,this.ready=!1}var H3e=new Ove,V3e=new Hve;function igi(o,A){let f=o.layer.context,m=o.vertexBufferToCreate;for(;m.length;){let C=m.peek();if(H3e.set(f,o,C),!A.jobScheduler.execute(H3e,VE.BUFFER))break;m.dequeue()}}function rgi(o,A){let f=o.layer.context,m=o.indexBufferToCreate;for(;m.length;){let C=m.peek();if(V3e.set(f,o,C),!A.jobScheduler.execute(V3e,VE.BUFFER))break;m.dequeue()}}X4.prototype.createBuffers=function(o){igi(this,o),rgi(this,o)};X4.prototype.createCommand=ni.throwInstantiationError;X4.prototype.update=ni.throwInstantiationError;X4.prototype.isDestroyed=ni.throwInstantiationError;X4.prototype.destroy=ni.throwInstantiationError;var LY=X4;function zN(o){LY.call(this,o)}zN.prototype=Object.create(LY.prototype);zN.prototype.constructor=LY;function ngi(o,A,f){let m=new hr({sources:[Nve]}),C=new hr({sources:[kve]});return k(A.aNormal)&&(m.defines.push("VertexNormal"),C.defines.push("VertexNormal")),f.textures.length>0&&(m.defines.push("TexCoord"),C.defines.push("TexCoord")),f.textures.length===2&&(m.defines.push("TexCoord2"),C.defines.push("TexCoord2")),Wa.fromCache({context:o,vertexShaderSource:m,fragmentShaderSource:C,attributeLocations:A})}function ogi(){return Hr.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:aI.LESS_OR_EQUAL}})}function agi(){return Hr.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:aI.LESS_OR_EQUAL},blending:Sl.ALPHA_BLEND})}function sgi(o){return{uTexture:function(){return o.textures[0]},uTextureWidth:function(){return o.textures[0]._width},uTexture2:function(){return o.textures[1]},uTexture2Width:function(){return o.textures[1]._width},uDiffuseColor:function(){return o.diffuseColor},uAmbientColor:function(){return o.ambientColor}}}zN.prototype.createCommand=function(){if(k(this.colorCommand))return;let o=this.layer.context,A=this.vertexPackage,f=this.arrIndexPackage,m=A.vertexAttributes,C=A.attrLocation;if(f.length<1)return;let E=f[0],I=this.material;this.shaderProgram=ngi(o,C,I),this.vertexArray=new VA({context:o,attributes:m,indexBuffer:E.indexBuffer}),this.colorCommand=new cn({primitiveType:E.primitiveType,modelMatrix:this.modelMatrix,boundingVolume:si.clone(this.boundingVolume),pickId:"vSecondColor",vertexArray:this.vertexArray,shaderProgram:this.shaderProgram,pass:I.bTransparentSorting?zi.TRANSLUCENT:zi.CESIUM_3D_TILE,renderState:I.bTransparentSorting?agi():ogi()}),this.colorCommand.uniformMap=sgi(I),this.vertexPackage=null,this.arrIndexPackage=null,this.ready=!0};zN.prototype.update=function(o){if(!this.ready){this.createBuffers(o),this.createCommand(o);return}o.commandList.push(this.colorCommand)};zN.prototype.isDestroyed=function(){return!1};zN.prototype.destroy=function(){return this.shaderProgram=this.shaderProgram&&!this.shaderProgram.isDestroyed()&&this.shaderProgram.destroy(),this.vertexArray=this.vertexArray&&!this.vertexArray.isDestroyed()&&this.vertexArray.destroy(),this.colorCommand=void 0,this.vertexPackage=null,this.arrIndexPackage=null,ar(this)};var YX=zN,lgi={OSGBFile:function(o){return new YX(o)},OSGBCacheFile:function(o){return new YX(o)}},Vve=lgi,Agi={SVC_Vertex:1,SVC_Normal:2,SVC_VertexColor:4,SVC_SecondColor:8,SVC_TexutreCoord:16,SVC_TexutreCoordIsW:32},Ry=Object.freeze(Agi);function Mqe(){}function ugi(o,A){let f={},m=A.materials.material;for(let C=0,E=m.length;C<E;C++){let I=m[C].material,x=I.id,y=new Fve;f[x]=y;let v=I.ambient;y.ambientColor=new qe(v.r,v.g,v.b,v.a);let w=I.diffuse;y.diffuseColor=new qe(w.r,w.g,w.b,w.a);let Q=I.specular;y.specularColor=new qe(Q.r,Q.g,Q.b,Q.a),y.shininess=I.shininess,y.bTransparentSorting=I.transparentsorting;let M=I.textureunitstates,B=M.length;for(let D=0;D<B;D++){let S=M[D].textureunitstate,P=S.id,R=S.addressmode.u===0?oa.REPEAT:oa.CLAMP_TO_EDGE,T=S.addressmode.v===0?oa.REPEAT:oa.CLAMP_TO_EDGE;y.texMatrix=Re.unpack(S.texmodmatrix);let L=A.texturePackage[P];if(k(L)&&L.imageBuffer.byteLength>0){L.wrapS=R,L.wrapT=T;let F=new Rve(o,P,L);y.textures.push(F)}}}return f}function cgi(o,A){let f=new si,m=new Z,C=o.vertexAttributes[0],E=C.componentsPerAttribute,I=k(o.nCompressOptions)&&(o.nCompressOptions&Ry.SVC_Vertex)===Ry.SVC_Vertex,x=1,y,v;I?(x=o.vertCompressConstant,y=new Z(o.minVerticesValue.x,o.minVerticesValue.y,o.minVerticesValue.z),v=new Uint16Array(C.typedArray.buffer,C.typedArray.byteOffset,C.typedArray.byteLength/2)):v=new Float32Array(C.typedArray.buffer,C.typedArray.byteOffset,C.typedArray.byteLength/4);let w=[];for(let Q=0;Q<o.verticesCount;Q++)Z.fromArray(v,E*Q,m),I&&(m=Z.multiplyByScalar(m,x,m),m=Z.add(m,y,m)),w.push(Z.clone(m));return si.fromPoints(w,f),si.transform(f,A,f),w.length=0,f}function hgi(o,A,f,m,C){let E={},I=m.geodes;for(let x=0,y=I.length;x<y;x++){let v=I[x],w=v.matrix,Q=Re.multiply(o.modelMatrix,w,new Re),M;k(C.boundingVolume)&&(M=new si(C.boundingVolume.sphere.center,C.boundingVolume.sphere.radius),si.transform(M,o.modelMatrix,M));let B=v.skeletonNames;for(let D=0,S=B.length;D<S;D++){let P=B[D],R=A.geoPackage[P],T=R.vertexPackage,L=R.arrIndexPackage,F=R.pickInfo,U;L.length>0&&(U=f[L[0].materialCode]);let N=k(M)?M:cgi(T,Q);E[P]=Vve[o.fileType]({layer:o,vertexPackage:T,arrIndexPackage:L,pickInfo:F,modelMatrix:Q,boundingVolume:N,material:U})}}if(!k(C.boundingVolume)){let x=[];for(let y in E)E.hasOwnProperty(y)&&x.push(E[y].boundingVolume);C.boundingVolume=si.fromBoundingSpheres(x)}C.geoMap=E}function dgi(o,A,f){let m=A.groupNode,C=[];for(let E=0,I=m.pageLods.length;E<I;E++){let x={},y=m.pageLods[E];x.rangeMode=y.rangeMode,x.rangeDataList=y.childTile,x.rangeList=y.rangeList;let v=y.boundingSphere.center,w=y.boundingSphere.radius;x.rangeDataList!==""?x.boundingVolume={sphere:{center:new Z(v.x,v.y,v.z),radius:w}}:x.isLeafTile=!0,hgi(o,A,f,y,x),C.push(x)}return C}Mqe.parse=function(o,A){if(!k(A))return;let f=ugi(o.context,A);return dgi(o,A,f)};var zve=Mqe;function YN(){this._list=new Nee,this._sentinel=this._list.add(),this._trimTiles=!1}YN.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)};YN.prototype.touch=function(o){let A=o.cacheNode;k(A)&&this._list.splice(this._sentinel,A)};YN.prototype.add=function(o){k(o.cacheNode)||(o.cacheNode=this._list.add(o))};YN.prototype.unloadTile=function(o,A,f){let m=A.cacheNode;k(m)&&(this._list.remove(m),A.cacheNode=void 0,f(o,A))};YN.prototype.unloadTiles=function(o,A){let f=this._trimTiles;this._trimTiles=!1;let m=this._list,C=o.maximumMemoryUsage*1024*1024,E=this._sentinel,I=m.head;for(;I!==E&&(o.totalMemoryUsageInBytes>C||f);){let x=I.item;I=I.next,x.isDestroyed()&&console.log(x),this.unloadTile(o,x,A)}};YN.prototype.trim=function(){this._trimTiles=!0};var Yve=YN,ggi={UNLOADED:0,LOADING:1,PARSING:2,READY:3,FAILED:4},l1=Object.freeze(ggi);function Tqe(){this._stack=[]}function fgi(o,A,f){A.length=0;for(let m=0,C=o._rootTiles.length;m<C;m++){let E=o._rootTiles[m];E.updateVisibility(f),E.visible&&A.push(E)}}function pgi(o,A){return o.distanceToCamera-A.distanceToCamera}function mgi(o,A,f,m){let C,E=A.children,I=E.length;for(C=0;C<I;++C)E[C].updateVisibility(m);for(E.sort(pgi),C=0;C<I;++C){let x=E[C];x.visible&&f.push(x)}}function Cgi(o,A,f){A.renderable&&(o._selectedTiles.push(A),A.selectedFrame=f.frameNumber)}function Egi(o,A,f){A.requestedFrame===f.frameNumber||A.contentState!==l1.UNLOADED||A.isLeafTile||(o._requestTiles.push(A),A.requestedFrame=f.frameNumber)}function Igi(o,A,f){A.touchedFrame!==f.frameNumber&&(o._cache.touch(A),A.touchedFrame=f.frameNumber)}function xgi(o,A,f){for(;A.length;){let m=A.pop();if(m.visible){if(Igi(o,m,f),m.canTraverse()){mgi(o,m,A,f);continue}Cgi(o,m,f),Egi(o,m,f)}}}Tqe.prototype.scheduler=function(o,A){o._requestTiles.length=0,o._selectedTiles.length=0;let f=this._stack;fgi(o,f,A),xgi(o,f,A)};var Jve=Tqe,ygi=Ku(mUe(),1);function Pqe(){}var z3e={SV_Unkown:0,SV_Standard:1,SV_Compressed:2};function vgi(o,A){let f=new Uint8Array(o,A);return ygi.default.inflate(f).buffer}function Z4(o,A,f){let m=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let C=new Uint8Array(o,f,m),E=ab(C);return f+=m,{string:E,bytesOffset:f}}function _gi(o,A,f,m){let C={},E=[],I=new Array(16);for(let y=0;y<16;y++)I[y]=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;C.matrix=I,C.skeletonNames=E;let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let y=0;y<x;y++){let v=Z4(o,A,f);E.push(v.string),f=v.bytesOffset}return m.push(C),f}function Bgi(o,A,f,m){let C={};C.rangeList=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,C.rangeMode=A.getUint16(f,!0),f+=Uint16Array.BYTES_PER_ELEMENT;let E={};E.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,E.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,E.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let I=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT,C.boundingSphere={center:E,radius:I};let x=Z4(o,A,f),y=x.string;f=x.bytesOffset;let v=y.indexOf("Geometry");if(v!==-1){let Q=y.substring(v);y=y.replace(Q,"")}C.childTile=y,C.geodes=[];let w=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let Q=0;Q<w;Q++)f=_gi(o,A,f,C.geodes);return m.push(C),f}function wgi(o,A,f,m){let C={},E=[],I=[],x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let w=0;w<y;w++)f=Bgi(o,A,f,I);C.pageLods=I;let v=f%4;return v!==0&&(f+=4-v),m.groupNode=C,f}function Rqe(o,A,f,m){let C=A.getUint32(f,!0);if(m.verticesCount=C,f+=Uint32Array.BYTES_PER_ELEMENT,f<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);I=E*Float32Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let x=C*E*Float32Array.BYTES_PER_ELEMENT,y=new Uint8Array(o,f,x);f+=x;let v=m.vertexAttributes,w=m.attrLocation;return w.aPosition=v.length,v.push({index:w.aPosition,typedArray:y,componentsPerAttribute:E,componentDatatype:Mt.FLOAT,offsetInBytes:0,strideInBytes:I,normalize:!1}),f}function Lqe(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=C*E*Float32Array.BYTES_PER_ELEMENT,y=new Uint8Array(o,f,x);f+=x;let v=m.vertexAttributes,w=m.attrLocation;return w.aNormal=v.length,v.push({index:w.aNormal,typedArray:y,componentsPerAttribute:E,componentDatatype:Mt.FLOAT,offsetInBytes:0,strideInBytes:I,normalize:!1}),f}function Fqe(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=m.verticesCount,I;if(C>0){let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*2;let w=C*Uint8Array.BYTES_PER_ELEMENT*4;I=new Uint8Array(o,f,w).slice(0,w),f+=w}else{I=new Uint8Array(4*E);for(let v=0;v<E;v++)I[v*4]=255,I[v*4+1]=255,I[v*4+2]=255,I[v*4+3]=255}let x=m.vertexAttributes,y=m.attrLocation;return y.aColor=x.length,x.push({index:y.aColor,typedArray:I,componentsPerAttribute:4,componentDatatype:Mt.UNSIGNED_BYTE,offsetInBytes:0,strideInBytes:4,normalize:!0}),m.vertexColor=I,f}function Nqe(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*2;let I=C*Uint8Array.BYTES_PER_ELEMENT*4,x=new Uint8Array(o,f,I);f+=I;let y=m.vertexAttributes,v=m.attrLocation;return v.aSecondColor=y.length,y.push({index:v.aSecondColor,typedArray:x,componentsPerAttribute:4,componentDatatype:Mt.UNSIGNED_BYTE,offsetInBytes:0,strideInBytes:4,normalize:!0}),f}function kqe(o,A,f,m){let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let y=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let v=I*x*Float32Array.BYTES_PER_ELEMENT,w=new Uint8Array(o,f,v);f+=v;let Q="aTexCoord"+E,M=m.vertexAttributes,B=m.attrLocation;B[Q]=M.length,M.push({index:B[Q],typedArray:w,componentsPerAttribute:x,componentDatatype:Mt.FLOAT,offsetInBytes:0,strideInBytes:x*Float32Array.BYTES_PER_ELEMENT,normalize:!1})}return f}function Uqe(o,A,f,m){let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let E=m.vertexAttributes,I=m.attrLocation;for(let x=0;x<C;x++){let y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let w=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let Q=y*v*Float32Array.BYTES_PER_ELEMENT;if(v===17||v===29){let M=new Uint8Array(o,f,Q);m.instanceCount=y,m.instanceMode=v,m.instanceBuffer=M,m.instanceIndex=1;let B=v*y*4,D=M.slice(0,B);m.vertexColorInstance=D;let S;v===17?(S=Float32Array.BYTES_PER_ELEMENT*17,I.uv2=E.length,E.push({index:I.uv2,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:S,instanceDivisor:1}),I.uv3=E.length,E.push({index:I.uv3,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,normalize:!1,offsetInBytes:4*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv4=E.length,E.push({index:I.uv4,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,normalize:!1,offsetInBytes:8*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv5=E.length,E.push({index:I.uv5,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,normalize:!1,offsetInBytes:12*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv6=E.length,E.push({index:I.uv6,componentsPerAttribute:4,componentDatatype:Mt.UNSIGNED_BYTE,normalize:!0,offsetInBytes:16*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1})):v===29&&(S=Float32Array.BYTES_PER_ELEMENT*29,I.uv1=E.length,E.push({index:I.uv1,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:S,instanceDivisor:1,byteLength:Q}),I.uv2=E.length,E.push({index:I.uv2,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,normalize:!1,offsetInBytes:4*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv3=E.length,E.push({index:I.uv3,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,normalize:!1,offsetInBytes:8*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv4=E.length,E.push({index:I.uv4,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,normalize:!1,offsetInBytes:12*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv5=E.length,E.push({index:I.uv5,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,normalize:!1,offsetInBytes:16*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv6=E.length,E.push({index:I.uv6,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,normalize:!1,offsetInBytes:20*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv7=E.length,E.push({index:I.uv7,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,normalize:!1,offsetInBytes:24*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv8=E.length,E.push({index:I.uv8,componentsPerAttribute:4,componentDatatype:Mt.UNSIGNED_BYTE,normalize:!0,offsetInBytes:27*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv9=E.length,E.push({index:I.uv9,componentsPerAttribute:4,componentDatatype:Mt.UNSIGNED_BYTE,normalize:!0,offsetInBytes:28*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}))}else{let M=y*v;m.instanceBounds=new Float32Array(M);for(let B=0;B<M;B++)m.instanceBounds[B]=A.getFloat32(f,!0)}f+=Q}return f}function bgi(o,A,f,m){let C=A.getUint32(f,!0);if(m.verticesCount=C,f+=Uint32Array.BYTES_PER_ELEMENT,f<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);I=E*Int16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let x=A.getFloat32(f,!0);f+=Float32Array.BYTES_PER_ELEMENT;let y={};y.x=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,y.y=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,y.z=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,y.w=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,m.vertCompressConstant=x,m.minVerticesValue=y;let v=C*E*Int16Array.BYTES_PER_ELEMENT,w=new Uint8Array(o,f,v);f+=v;let Q=m.vertexAttributes,M=m.attrLocation;return M.aPosition=Q.length,Q.push({index:M.aPosition,typedArray:w,componentsPerAttribute:E,componentDatatype:Mt.SHORT,offsetInBytes:0,strideInBytes:I,normalize:!1}),f}function Qgi(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=C*2*Int16Array.BYTES_PER_ELEMENT,y=new Uint8Array(o,f,x);f+=x;let v=m.vertexAttributes,w=m.attrLocation;return w.aNormal=v.length,v.push({index:w.aNormal,typedArray:y,componentsPerAttribute:2,componentDatatype:Mt.SHORT,offsetInBytes:0,strideInBytes:I,normalize:!1}),f}function Sgi(o,A,f,m){m.texCoordCompressConstant=[],m.minTexCoordValue=[];let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let I=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*3;let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let y=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let w=A.getFloat32(f,!0);f+=Float32Array.BYTES_PER_ELEMENT,m.texCoordCompressConstant.push(w);let Q={};Q.x=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.y=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.z=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.w=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,m.minTexCoordValue.push(Q);let M=x*y*Int16Array.BYTES_PER_ELEMENT,B=new Uint8Array(o,f,M);f+=M;let D=f%4;D!==0&&(f+=4-D);let S="aTexCoord"+E,P=m.vertexAttributes,R=m.attrLocation;if(R[S]=P.length,P.push({index:R[S],typedArray:B,componentsPerAttribute:y,componentDatatype:Mt.SHORT,offsetInBytes:0,strideInBytes:y*Int16Array.BYTES_PER_ELEMENT,normalize:!1}),I){M=x*Float32Array.BYTES_PER_ELEMENT;let T=new Uint8Array(o,f,M);f+=M,m.texCoordZMatrix=!0,S="aTexCoordZ"+E,R[S]=P.length,P.push({index:R[S],typedArray:T,componentsPerAttribute:1,componentDatatype:Mt.FLOAT,offsetInBytes:0,strideInBytes:Float32Array.BYTES_PER_ELEMENT,normalize:!1})}}return f}function Dgi(o,A,f,m){return f=Rqe(o,A,f,m),f=Lqe(o,A,f,m),f=Fqe(o,A,f,m),f=Nqe(o,A,f,m),f=kqe(o,A,f,m),f=Uqe(o,A,f,m),f}function Mgi(o,A,f,m){let C=A.getUint32(f,!0);return m.compressOptions=C,f+=Uint32Array.BYTES_PER_ELEMENT,(C&Ry.SVC_Vertex)===Ry.SVC_Vertex?f=bgi(o,A,f,m):f=Rqe(o,A,f,m),(C&Ry.SVC_Normal)===Ry.SVC_Normal?f=Qgi(o,A,f,m):f=Lqe(o,A,f,m),f=Fqe(o,A,f,m),f=Nqe(o,A,f,m),(C&Ry.SVC_TexutreCoord)===Ry.SVC_TexutreCoord?f=Sgi(o,A,f,m):f=kqe(o,A,f,m),(C&Ry.SVC_TexutreCoordIsW)===Ry.SVC_TexutreCoordIsW&&(m.textureCoordIsW=!0),f=Uqe(o,A,f,m),f}function Tgi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let I={},x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let y=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT;let v=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT;let w=A.getUint8(f,!0);if(f+=Uint8Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT,x>0){let B=null,D;y===1||y===3?(D=x*Uint32Array.BYTES_PER_ELEMENT,B=new Uint8Array(o,f,D)):(D=x*Uint16Array.BYTES_PER_ELEMENT,B=new Uint8Array(o,f,D),x%2!==0&&(D+=2)),I.indicesTypedArray=B,f+=D}I.indicesCount=x,I.indexType=y,I.primitiveType=w;let Q=[],M=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let B=0;B<M;B++){let D=Z4(o,A,f),S=D.string;f=D.bytesOffset,Q.push(S),I.materialCode=S}if(f%4!==0){let B=4-f%4;f+=B}m.push(I)}return f}function Pgi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let x=0;x<E;x++){let y=Z4(o,A,f),v=y.string;f=y.bytesOffset;let w=f%4;w!==0&&(f+=4-w);let Q=A.getUint32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;let M={vertexAttributes:[],attrLocation:{},instanceCount:0,instanceMode:0,instanceIndex:-1};Q===z3e.SV_Standard?f=Dgi(o,A,f,M):Q===z3e.SV_Compressed&&(f=Mgi(o,A,f,M));let B=[];f=Tgi(o,A,f,B),m[v]={vertexPackage:M,arrIndexPackage:B}}let I=A.getUint32(f,!0);return f+=I,f+=Uint32Array.BYTES_PER_ELEMENT,f}function Rgi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let I=0;I<E;I++){let x=Z4(o,A,f),y=x.string;f=x.bytesOffset;let v=f%4;v!==0&&(f+=4-v);let w=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let Q=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let M=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let B=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let D=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let S=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let P=new Uint8Array(o,f,D);f+=D,m[y]={id:y,width:Q,height:M,compressType:B,nFormat:S,internalFormat:Jr.RGBA_DXT5,imageBuffer:P}}return f}function Lgi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=new Uint8Array(o,f,C),I=ab(E);return f+=C,m.materials=JSON.parse(I),f}function Fgi(o,A,f,m,C){if((m&1)===1){let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let x=0;x<I;x++){let y=Z4(o,A,f),v=y.string;f=y.bytesOffset;let w=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let Q={};C[v].pickInfo=Q;let M=C[v].vertexPackage.instanceIndex;for(let B=0;B<w;B++){let D=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let S=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let P=[];for(let R=0;R<S;R++){let T=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let L=1;M===-1&&(L=A.getUint32(f,!0),f+=Uint32Array.BYTES_PER_ELEMENT),P.push({vertexColorOffset:T,vertexColorCount:L})}Q[D]=P}}}return f}Pqe.parseBuffer=function(o){let A=0,f={version:void 0,groupNode:void 0,geoPackage:{},matrials:void 0,texturePackage:{}},m=new DataView(o);f.version=m.getFloat32(A,!0),A+=Float32Array.BYTES_PER_ELEMENT;let C=m.getUint32(A,!0);A+=Uint32Array.BYTES_PER_ELEMENT;let E=vgi(o,A);m=new DataView(E),A=0;let I=m.getUint32(A,!0);return A+=Uint32Array.BYTES_PER_ELEMENT,A=wgi(E,m,A,f),A=Pgi(E,m,A,f.geoPackage),A=Rgi(E,m,A,f.texturePackage),A=Lgi(E,m,A,f),Fgi(E,m,A,I,f.geoPackage),f};var Kve=Pqe;function mI(o,A,f,m,C,E,I){this.layer=o,this.parent=A,this.fileName=m,this.isLeafTile=ae(I,!1),this.boundingVolume=this.createBoundingVolume(f,o.modelMatrix);let x=fr.createIfNeeded(o._baseResource);if(k(A))this.baseUri=A.baseUri;else{let y=new fr(m);this.baseUri=y.getBaseUri()}this.contentResource=x.getDerivedResource({url:m}),this.serverKey=iv.getServerKey(this.contentResource.getUrlComponent()),this.request=void 0,this.cacheNode=void 0,this.distanceToCamera=0,this.pixel=0,this.visibilityPlaneMask=0,this.visible=!1,this.children=[],this.lodRangeData=C,this.renderEntityMap=E,this.contentState=l1.UNLOADED,this.readerable=!1,this.touchedFrame=0,this.requestedFrame=0,this.selectedFrame=0,this.priority=0}Object.defineProperties(mI.prototype,{renderable:{get:function(){return k(this.renderEntityMap)}}});var Oqe=new Z;function Ngi(o,A){let f=Z.clone(o.center),m=o.radius;f=Re.multiplyByPoint(A,f,f);let C=Re.getScale(A,Oqe),E=Z.maximumComponent(C);return m*=E,new cD(f,m)}function kgi(o,A){let f=new Z(o.min.x,o.min.y,o.min.z);Re.multiplyByPoint(A,f,f);let m=new Z(o.max.x,o.max.y,o.max.z);Re.multiplyByPoint(A,m,m);let C=si.fromCornerPoints(f,m,new si),E=C.center,I=C.radius,x=Re.getScale(A,Oqe),y=Z.maximumComponent(x);return I*=y,new cD(E,I)}mI.prototype.createBoundingVolume=function(o,A){if(this.isLeafTile)return new cD(o.center,o.radius);if(k(o.sphere))return Ngi(o.sphere,A);if(k(o.box))return kgi(o.box,A)};mI.prototype.canTraverse=function(){return this.children.length===0||this.isLeafTile?!1:k(this.lodRangeData)?this.pixel>this.lodRangeData:!0};function Gqe(o,A){return o.boundingVolume}mI.prototype.getPixel=function(o){let A=this.boundingVolume,f=A.radius,m=A.center,C=Z.distance(o.camera.positionWC,m),E=o.context.drawingBufferHeight,I=o.camera.frustum._fovy*.5;return E*.5/Math.tan(I)*f/C};mI.prototype.distanceToTile=function(o){return Gqe(this,o).distanceToCamera(o)};mI.prototype.visibility=function(o,A){let f=Gqe(this,o);return o.cullingVolume.computeVisibilityWithPlaneMask(f,A)};mI.prototype.updateVisibility=function(o){let A=this.parent,f=k(A)?A.visibilityPlaneMask:qg.MASK_INDETERMINATE;this.distanceToCamera=this.distanceToTile(o),this.pixel=this.getPixel(o),this.visibilityPlaneMask=this.visibility(o,f),this.visible=this.visibilityPlaneMask!==qg.MASK_OUTSIDE};function Ugi(o){return function(){return o.priority}}function Ogi(o){return function(A){o.contentState=l1.FAILED,o.contentReadyPromise.reject(A)}}function Ggi(o,A){let f=o.layer,m=A.length;for(let C=0;C<m;C++){let E=A[C],I=E.boundingVolume,x=E.rangeDataList;x=o.baseUri+x;let y=E.rangeList,v=E.geoMap,w=new mI(f,o,I,x,y,v,E.isLeafTile);o.children.push(w),o.layer._cache.add(w)}}mI.prototype.requestContent=function(){let o=this,A=this.layer,f=this.contentResource.clone(),m=new g0({throttle:!0,throttleByServer:!0,type:kx.TILES3D,priorityFunction:Ugi(this),serverKey:this.serverKey});this.request=m,f.request=m;let C=f.fetchArrayBuffer();if(!k(C))return!1;this.contentState=l1.LOADING,this.contentReadyPromise=Nu();let E=Ogi(this);return C.then(function(I){if(o.isDestroyed()){E();return}let x=Kve.parseBuffer(I),y=zve.parse(o.layer,x);Ggi(o,y),o.selectedFrame=0,o.contentState=l1.READY,o.contentReadyPromise.resolve(x)}).catch(function(I){if(m.state===SA.CANCELLED){o.contentState=l1.UNLOADED;return}o.contentState=l1.FAILED}),!0};mI.prototype.update=function(o){let A=this.renderEntityMap;for(let f in A)A.hasOwnProperty(f)&&A[f].update(o)};mI.prototype.free=function(){for(let o=0,A=this.children.length;o<A;o++)this.children[o].destroy();this.children.length=0,this.contentState=l1.UNLOADED};mI.prototype.isDestroyed=function(){return!1};mI.prototype.destroy=function(){for(let o in this.renderEntityMap)this.renderEntityMap.hasOwnProperty(o)&&this.renderEntityMap[o].destroy();this.renderEntityMap=void 0;for(let o=0,A=this.children.length;o<A;o++)this.children[o].destroy();return this.children.length=0,ar(this)};var Wve=mI;function FY(o){o=ae(o,ae.EMPTY_OBJECT),Du.defined("options.url",o.url),Du.defined("options.context",o.context),this.context=o.context,this._url=void 0,this._basePath=void 0,this._baseResource=void 0,this.modelMatrix=void 0,this.fileType=void 0,this._position=void 0,this._rectangle=void 0,this._rootTiles=[],this._schuduler=new Jve,this._requestTiles=[],this._selectedTiles=[],this._cache=new Yve,this._maximumMemoryUsage=-1,this._totalMemoryUsageInBytes=0,this.loadConfig(o.url)}Object.defineProperties(FY.prototype,{ready:{get:function(){return this._rootTiles.length>0}},readyPromise:{get:function(){return this._readyPromise}},rectangle:{get:function(){return this._rectangle}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes},set:function(o){this._totalMemoryUsageInBytes=o}},maximumMemoryUsage:{get:function(){return this._maximumMemoryUsage},set:function(o){this._maximumMemoryUsage=o}}});FY.prototype.loadConfig=function(o){let A=this;this._readyPromise=Promise.resolve(o).then(function(f){let m,C=fr.createIfNeeded(f);return m=C.getBaseUri(!0),A._url=C.url,A._basePath=m,A._baseResource=C,C.fetchJson()}).then(function(f){let m=f.extensions;A.fileType=m["s3m:FileType"];let C=f.position.x,E=f.position.y,I=f.position.z;A._position=Z.fromDegrees(C,E,I),A.modelMatrix=Vr.eastNorthUpToFixedFrame(A._position),A._rectangle=hi.fromDegrees(f.geoBounds.left,f.geoBounds.bottom,f.geoBounds.right,f.geoBounds.top);for(let x=0,y=f.tiles.length;x<y;x++){let v=f.tiles[x].url,w={box:f.tiles[x].boundingbox},Q=new Wve(A,void 0,w,v);A._cache.add(Q),A._rootTiles.push(Q)}return A}).catch(function(f){return f})};function Hgi(o,A){return o.priority-A.priority}function Vgi(o){let A=o._requestTiles,f=A.length;A.sort(Hgi);for(let m=0;m<f;++m)A[m].requestContent()}function zgi(o,A){let f=o._selectedTiles,m=f.length;for(let C=0;C<m;C++)f[C].update(A)}function Ygi(o,A){}function Jgi(o){o._cache.unloadTiles(o,Ygi)}FY.prototype.prePassesUpdate=function(o){this.ready&&o.newFrame&&this._cache.reset()};FY.prototype.update=function(o){this.ready&&(this._schuduler.scheduler(this,o),Vgi(this),zgi(this,o),Jgi(this))};var Vte=FY;function h9(o,A,f){let m=A[o.id];if(k(m)){let C=m.primitive;f.remove(C),C.isDestroyed()||C.destroy(),delete A[o.id]}}var zte=`in vec4 position; in vec3 normal; out vec3 v_position; out vec3 v_positionWC; out vec3 v_positionEC; out vec3 v_normalEC; void main() { gl_Position = czm_modelViewProjection * position; v_position = vec3(position); v_positionWC = (czm_model * position).xyz; v_positionEC = (czm_modelView * position).xyz; v_normalEC = czm_normal * normal; } `,JX=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif uniform bool u_showIntersection; uniform bool u_showThroughEllipsoid; uniform float u_radius; uniform float u_xHalfAngle; uniform float u_yHalfAngle; uniform float u_normalDirection; uniform float u_type; in vec3 v_position; in vec3 v_positionWC; in vec3 v_positionEC; in vec3 v_normalEC; vec4 getColor(float sensorRadius, vec3 pointEC) { czm_materialInput materialInput; vec3 pointMC = (czm_inverseModelView * vec4(pointEC, 1.0)).xyz; materialInput.st = sensor2dTextureCoordinates(sensorRadius, pointMC); materialInput.str = pointMC / sensorRadius; vec3 positionToEyeEC = -v_positionEC; materialInput.positionToEyeEC = positionToEyeEC; vec3 normalEC = normalize(v_normalEC); materialInput.normalEC = u_normalDirection * normalEC; czm_material material = czm_getMaterial(materialInput); return mix(czm_phong(normalize(positionToEyeEC), material,czm_lightDirectionEC), vec4(material.diffuse, material.alpha), 0.4); } bool isOnBoundary(float value, float epsilon) { float width = getIntersectionWidth(); float tolerance = width * epsilon; #ifdef GL_OES_standard_derivatives float delta = max(abs(dFdx(value)), abs(dFdy(value))); float pixels = width * delta; float temp = abs(value); // There are a couple things going on here. // First we test the value at the current fragment to see if it is within the tolerance. // We also want to check if the value of an adjacent pixel is within the tolerance, // but we don't want to admit points that are obviously not on the surface. // For example, if we are looking for "value" to be close to 0, but value is 1 and the adjacent value is 2, // then the delta would be 1 and "temp - delta" would be "1 - 1" which is zero even though neither of // the points is close to zero. return temp < tolerance && temp < pixels || (delta < 10.0 * tolerance && temp - delta < tolerance && temp < pixels); #else return abs(value) < tolerance; #endif } vec4 shade(bool isOnBoundary) { if (u_showIntersection && isOnBoundary) { return getIntersectionColor(); } if(u_type == 1.0){ return getLineColor(); } return getColor(u_radius, v_positionEC); } float ellipsoidSurfaceFunction(vec3 point) { vec3 scaled = czm_ellipsoidInverseRadii * point; return dot(scaled, scaled) - 1.0; } void main() { vec3 sensorVertexWC = czm_model[3].xyz; // (0.0, 0.0, 0.0) in model coordinates vec3 sensorVertexEC = czm_modelView[3].xyz; // (0.0, 0.0, 0.0) in model coordinates //vec3 pixDir = normalize(v_position); float positionX = v_position.x; float positionY = v_position.y; float positionZ = v_position.z; vec3 zDir = vec3(0.0, 0.0, 1.0); vec3 lineX = vec3(positionX, 0 ,positionZ); vec3 lineY = vec3(0, positionY, positionZ); float resX = dot(normalize(lineX), zDir); if(resX < cos(u_xHalfAngle)-0.00001){ discard; } float resY = dot(normalize(lineY), zDir); if(resY < cos(u_yHalfAngle)-0.00001){ discard; } // czm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC(); float ellipsoidValue = ellipsoidSurfaceFunction(v_positionWC); // Occluded by the ellipsoid? if (!u_showThroughEllipsoid) { // Discard if in the ellipsoid // PERFORMANCE_IDEA: A coarse check for ellipsoid intersection could be done on the CPU first. if (ellipsoidValue < 0.0) { discard; } // Discard if in the sensor's shadow if (inSensorShadow(sensorVertexWC, v_positionWC)) { discard; } } // Notes: Each surface functions should have an associated tolerance based on the floating point error. bool isOnEllipsoid = isOnBoundary(ellipsoidValue, czm_epsilon3); //isOnEllipsoid = false; //if((resX >= 0.8 && resX <= 0.81)||(resY >= 0.8 && resY <= 0.81)){ /*if(false){ out_FragColor = vec4(1.0,0.0,0.0,1.0); }else{ out_FragColor = shade(isOnEllipsoid); } */ out_FragColor = shade(isOnEllipsoid); } `,d9=`uniform vec4 u_intersectionColor; uniform float u_intersectionWidth; uniform vec4 u_lineColor; bool inSensorShadow(vec3 coneVertexWC, vec3 pointWC) { // Diagonal matrix from the unscaled ellipsoid space to the scaled space. vec3 D = czm_ellipsoidInverseRadii; // Sensor vertex in the scaled ellipsoid space vec3 q = D * coneVertexWC; float qMagnitudeSquared = dot(q, q); float test = qMagnitudeSquared - 1.0; // Sensor vertex to fragment vector in the ellipsoid's scaled space vec3 temp = D * pointWC - q; float d = dot(temp, q); // Behind silhouette plane and inside silhouette cone return (d < -test) && (d / length(temp) < -sqrt(test)); } /////////////////////////////////////////////////////////////////////////////// vec4 getLineColor() { return u_lineColor; } vec4 getIntersectionColor() { return u_intersectionColor; } float getIntersectionWidth() { return u_intersectionWidth; } vec2 sensor2dTextureCoordinates(float sensorRadius, vec3 pointMC) { // (s, t) both in the range [0, 1] float t = pointMC.z / sensorRadius; float s = 1.0 + (atan(pointMC.y, pointMC.x) / czm_twoPi); s = s - floor(s); return vec2(s, t); } `,qve=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif uniform bool u_showIntersection; uniform bool u_showThroughEllipsoid; uniform float u_radius; uniform float u_xHalfAngle; uniform float u_yHalfAngle; uniform float u_normalDirection; uniform vec4 u_color; in vec3 v_position; in vec3 v_positionWC; in vec3 v_positionEC; in vec3 v_normalEC; vec4 getColor(float sensorRadius, vec3 pointEC) { czm_materialInput materialInput; vec3 pointMC = (czm_inverseModelView * vec4(pointEC, 1.0)).xyz; materialInput.st = sensor2dTextureCoordinates(sensorRadius, pointMC); materialInput.str = pointMC / sensorRadius; vec3 positionToEyeEC = -v_positionEC; materialInput.positionToEyeEC = positionToEyeEC; vec3 normalEC = normalize(v_normalEC); materialInput.normalEC = u_normalDirection * normalEC; czm_material material = czm_getMaterial(materialInput); material.diffuse = u_color.rgb; material.alpha = u_color.a; return mix(czm_phong(normalize(positionToEyeEC), material,czm_lightDirectionEC), vec4(material.diffuse, material.alpha), 0.4); } bool isOnBoundary(float value, float epsilon) { float width = getIntersectionWidth(); float tolerance = width * epsilon; #ifdef GL_OES_standard_derivatives float delta = max(abs(dFdx(value)), abs(dFdy(value))); float pixels = width * delta; float temp = abs(value); // There are a couple things going on here. // First we test the value at the current fragment to see if it is within the tolerance. // We also want to check if the value of an adjacent pixel is within the tolerance, // but we don't want to admit points that are obviously not on the surface. // For example, if we are looking for "value" to be close to 0, but value is 1 and the adjacent value is 2, // then the delta would be 1 and "temp - delta" would be "1 - 1" which is zero even though neither of // the points is close to zero. return temp < tolerance && temp < pixels || (delta < 10.0 * tolerance && temp - delta < tolerance && temp < pixels); #else return abs(value) < tolerance; #endif } vec4 shade(bool isOnBoundary) { if (u_showIntersection && isOnBoundary) { return getIntersectionColor(); } return getColor(u_radius, v_positionEC); } float ellipsoidSurfaceFunction(vec3 point) { vec3 scaled = czm_ellipsoidInverseRadii * point; return dot(scaled, scaled) - 1.0; } void main() { vec3 sensorVertexWC = czm_model[3].xyz; // (0.0, 0.0, 0.0) in model coordinates vec3 sensorVertexEC = czm_modelView[3].xyz; // (0.0, 0.0, 0.0) in model coordinates //vec3 pixDir = normalize(v_position); float positionX = v_position.x; float positionY = v_position.y; float positionZ = v_position.z; vec3 zDir = vec3(0.0, 0.0, 1.0); vec3 lineX = vec3(positionX, 0 ,positionZ); vec3 lineY = vec3(0, positionY, positionZ); float resX = dot(normalize(lineX), zDir); if(resX < cos(u_xHalfAngle) - 0.0001){ discard; } float resY = dot(normalize(lineY), zDir); if(resY < cos(u_yHalfAngle)- 0.0001){ discard; } // czm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC(); float ellipsoidValue = ellipsoidSurfaceFunction(v_positionWC); // Occluded by the ellipsoid? if (!u_showThroughEllipsoid) { // Discard if in the ellipsoid // PERFORMANCE_IDEA: A coare check for ellipsoid intersection could be done on the CPU first. if (ellipsoidValue < 0.0) { discard; } // Discard if in the sensor's shadow if (inSensorShadow(sensorVertexWC, v_positionWC)) { discard; } } // Notes: Each surface functions should have an associated tolerane based on the floating point error. bool isOnEllipsoid = isOnBoundary(ellipsoidValue, czm_epsilon3); out_FragColor = shade(isOnEllipsoid); } `,Y3e=Math.sin,Y5=Math.cos,KX=Math.tan,WX=Math.atan,F1={position:0,normal:1};function Hqe(o){let A=this;o=ae(o,ae.EMPTY_OBJECT),this.show=ae(o.show,!0),this.slice=ae(o.slice,32),this.modelMatrix=Re.clone(o.modelMatrix,new Re),this._modelMatrix=new Re,this._computedModelMatrix=new Re,this._computedScanPlaneModelMatrix=new Re,this.radius=ae(o.radius,Number.POSITIVE_INFINITY),this._radius=void 0,this.xHalfAngle=ae(o.xHalfAngle,0),this._xHalfAngle=void 0,this.yHalfAngle=ae(o.yHalfAngle,0),this._yHalfAngle=void 0,this.lineColor=ae(o.lineColor,qe.WHITE),this.showSectorLines=ae(o.showSectorLines,!0),this.showSectorSegmentLines=ae(o.showSectorSegmentLines,!0),this.showLateralSurfaces=ae(o.showLateralSurfaces,!0),this.material=k(o.material)?o.material:fa.fromType(fa.ColorType),this._material=void 0,this._translucent=void 0,this.lateralSurfaceMaterial=k(o.lateralSurfaceMaterial)?o.lateralSurfaceMaterial:fa.fromType(fa.ColorType),this._lateralSurfaceMaterial=void 0,this._lateralSurfaceTranslucent=void 0,this.showDomeSurfaces=ae(o.showDomeSurfaces,!0),this.domeSurfaceMaterial=k(o.domeSurfaceMaterial)?o.domeSurfaceMaterial:fa.fromType(fa.ColorType),this._domeSurfaceMaterial=void 0,this.showDomeLines=ae(o.showDomeLines,!0),this.showIntersection=ae(o.showIntersection,!0),this.intersectionColor=ae(o.intersectionColor,qe.WHITE),this.intersectionWidth=ae(o.intersectionWidth,5),this.showThroughEllipsoid=ae(o.showThroughEllipsoid,!1),this._showThroughEllipsoid=void 0,this.showScanPlane=ae(o.showScanPlane,!0),this.scanPlaneColor=ae(o.scanPlaneColor,qe.WHITE),this.scanPlaneMode=ae(o.scanPlaneMode,"horizontal"),this.scanPlaneRate=ae(o.scanPlaneRate,10),this._scanePlaneXHalfAngle=0,this._scanePlaneYHalfAngle=0,this._time=jt.now(),this._boundingSphere=new si,this._boundingSphereWC=new si,this._sectorFrontCommand=new cn({owner:this,primitiveType:$r.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._sectorBackCommand=new cn({owner:this,primitiveType:$r.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._sectorVA=void 0,this._sectorLineCommand=new cn({owner:this,primitiveType:$r.LINES,boundingVolume:this._boundingSphereWC}),this._sectorLineVA=void 0,this._sectorSegmentLineCommand=new cn({owner:this,primitiveType:$r.LINES,boundingVolume:this._boundingSphereWC}),this._sectorSegmentLineVA=void 0,this._domeFrontCommand=new cn({owner:this,primitiveType:$r.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._domeBackCommand=new cn({owner:this,primitiveType:$r.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._domeVA=void 0,this._domeLineCommand=new cn({owner:this,primitiveType:$r.LINES,boundingVolume:this._boundingSphereWC}),this._domeLineVA=void 0,this._scanPlaneFrontCommand=new cn({owner:this,primitiveType:$r.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._scanPlaneBackCommand=new cn({owner:this,primitiveType:$r.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._scanRadialCommand=void 0,this._colorCommands=[],this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._uniforms={u_type:function(){return 0},u_xHalfAngle:function(){return A.xHalfAngle},u_yHalfAngle:function(){return A.yHalfAngle},u_radius:function(){return A.radius},u_showThroughEllipsoid:function(){return A.showThroughEllipsoid},u_showIntersection:function(){return A.showIntersection},u_intersectionColor:function(){return A.intersectionColor},u_intersectionWidth:function(){return A.intersectionWidth},u_normalDirection:function(){return 1},u_lineColor:function(){return A.lineColor}},this._scanUniforms={u_xHalfAngle:function(){return A._scanePlaneXHalfAngle},u_yHalfAngle:function(){return A._scanePlaneYHalfAngle},u_radius:function(){return A.radius},u_color:function(){return A.scanPlaneColor},u_showThroughEllipsoid:function(){return A.showThroughEllipsoid},u_showIntersection:function(){return A.showIntersection},u_intersectionColor:function(){return A.intersectionColor},u_intersectionWidth:function(){return A.intersectionWidth},u_normalDirection:function(){return 1},u_lineColor:function(){return A.lineColor}}}Hqe.prototype.update=function(o){let A=o.mode;if(!this.show||A!==ii.SCENE3D)return;let f=!1,m=!1,C=!1,E=this.xHalfAngle,I=this.yHalfAngle;if(E<0||I<0)throw new ni("halfAngle must be greater than or equal to zero.");if(E===0||I===0)return;(this._xHalfAngle!==E||this._yHalfAngle!==I)&&(this._xHalfAngle=E,this._yHalfAngle=I,f=!0);let x=this.radius;if(x<0)throw new ni("this.radius must be greater than or equal to zero.");let y=!1;this._radius!==x&&(y=!0,this._radius=x,this._boundingSphere=new si(Z.ZERO,this.radius)),(!Re.equals(this.modelMatrix,this._modelMatrix)||y)&&(Re.clone(this.modelMatrix,this._modelMatrix),Re.multiplyByUniformScale(this.modelMatrix,this.radius,this._computedModelMatrix),si.transform(this._boundingSphere,this.modelMatrix,this._boundingSphereWC));let v=this.showThroughEllipsoid;this._showThroughEllipsoid!==this.showThroughEllipsoid&&(this._showThroughEllipsoid=v,m=!0);let w=this.material;this._material!==w&&(this._material=w,m=!0,C=!0);let Q=w.isTranslucent();if(this._translucent!==Q&&(this._translucent=Q,m=!0),this.showScanPlane){let S=o.time,P=jt.secondsDifference(S,this._time);P<0&&(this._time=jt.clone(S,this._time));let R=Math.max(P%this.scanPlaneRate/this.scanPlaneRate,0),T;if(this.scanPlaneMode==="horizontal"){T=2*I*R-I;let L=Y5(T),F=KX(E),U=WX(L*F);this._scanePlaneXHalfAngle=U,this._scanePlaneYHalfAngle=T,Nt.fromRotationX(this._scanePlaneYHalfAngle,jL)}else{T=2*E*R-E;let L=KX(I),F=Y5(T),U=WX(F*L);this._scanePlaneXHalfAngle=T,this._scanePlaneYHalfAngle=U,Nt.fromRotationY(this._scanePlaneXHalfAngle,jL)}Re.multiplyByMatrix3(this.modelMatrix,jL,this._computedScanPlaneModelMatrix),Re.multiplyByUniformScale(this._computedScanPlaneModelMatrix,this.radius,this._computedScanPlaneModelMatrix)}f&&$gi(this,o),m&&rfi(this,v,Q),C&&ifi(this,o,w),(m||C)&&nfi(this,Q);let M=o.commandList,B=o.passes,D=this._colorCommands;if(B.render)for(let S=0,P=D.length;S<P;S++){let R=D[S];M.push(R)}};var jL=new Nt,J3e=new Z;function $le(o,A,f){let m=o.slice,C=Y5(f),E=KX(f),I=Y5(A),x=KX(A),y=WX(I*E),v=WX(C*x),w=[];for(let M=0;M<m;M++){let B=2*y*M/(m-1)-y;w.push(new Z(0,Y3e(B),Y5(B)))}let Q=[];for(let M=0;M<m;M++){let B=2*v*M/(m-1)-v;Q.push(new Z(Y3e(B),0,Y5(B)))}return{zoy:w,zox:Q}}function Kgi(o,A){let f=o.xHalfAngle,m=o.yHalfAngle,C=A.zoy,E=A.zox,I=[],x=Nt.fromRotationY(f,jL);return I.push(C.map(function(y){return Nt.multiplyByVector(x,y,new Z)})),x=Nt.fromRotationX(-m,jL),I.push(E.map(function(y){return Nt.multiplyByVector(x,y,new Z)}).reverse()),x=Nt.fromRotationY(-f,jL),I.push(C.map(function(y){return Nt.multiplyByVector(x,y,new Z)}).reverse()),x=Nt.fromRotationX(m,jL),I.push(E.map(function(y){return Nt.multiplyByVector(x,y,new Z)})),I}function Wgi(o,A){let f=Array.prototype.concat.apply([],A).length-A.length,m=new Float32Array(2*3*3*f),C=0;for(let y=0,v=A.length;y<v;y++){let w=A[y],Q=Z.normalize(Z.cross(w[0],w[w.length-1],J3e),J3e);for(let M=0,B=w.length-1;M<B;M++)m[C++]=0,m[C++]=0,m[C++]=0,m[C++]=-Q.x,m[C++]=-Q.y,m[C++]=-Q.z,m[C++]=w[M].x,m[C++]=w[M].y,m[C++]=w[M].z,m[C++]=-Q.x,m[C++]=-Q.y,m[C++]=-Q.z,m[C++]=w[M+1].x,m[C++]=w[M+1].y,m[C++]=w[M+1].z,m[C++]=-Q.x,m[C++]=-Q.y,m[C++]=-Q.z}let E=jn.createVertexBuffer({context:o,typedArray:m,usage:Fr.STATIC_DRAW}),I=2*3*Float32Array.BYTES_PER_ELEMENT,x=[{index:F1.position,vertexBuffer:E,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:0,strideInBytes:I},{index:F1.normal,vertexBuffer:E,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:3*Float32Array.BYTES_PER_ELEMENT,strideInBytes:I}];return new VA({context:o,attributes:x})}function qgi(o,A){let f=A.length,m=new Float32Array(3*3*f),C=0;for(let y=0,v=A.length;y<v;y++){let w=A[y];m[C++]=0,m[C++]=0,m[C++]=0,m[C++]=w[0].x,m[C++]=w[0].y,m[C++]=w[0].z}let E=jn.createVertexBuffer({context:o,typedArray:m,usage:Fr.STATIC_DRAW}),I=3*Float32Array.BYTES_PER_ELEMENT,x=[{index:F1.position,vertexBuffer:E,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:0,strideInBytes:I}];return new VA({context:o,attributes:x})}function jgi(o,A){let f=Array.prototype.concat.apply([],A).length-A.length,m=new Float32Array(3*3*f),C=0;for(let y=0,v=A.length;y<v;y++){let w=A[y];for(let Q=0,M=w.length-1;Q<M;Q++)m[C++]=w[Q].x,m[C++]=w[Q].y,m[C++]=w[Q].z,m[C++]=w[Q+1].x,m[C++]=w[Q+1].y,m[C++]=w[Q+1].z}let E=jn.createVertexBuffer({context:o,typedArray:m,usage:Fr.STATIC_DRAW}),I=3*Float32Array.BYTES_PER_ELEMENT,x=[{index:F1.position,vertexBuffer:E,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:0,strideInBytes:I}];return new VA({context:o,attributes:x})}function Xgi(o){let A=I0.createGeometry(new I0({vertexFormat:wr.POSITION_ONLY,stackPartitions:32,slicePartitions:32}));return VA.fromGeometry({context:o,geometry:A,attributeLocations:F1,bufferUsage:Fr.STATIC_DRAW,interleave:!1})}function Zgi(o){let A=av.createGeometry(new av({vertexFormat:wr.POSITION_ONLY,stackPartitions:32,slicePartitions:32}));return VA.fromGeometry({context:o,geometry:A,attributeLocations:F1,bufferUsage:Fr.STATIC_DRAW,interleave:!1})}function K3e(o,A){let f=A.length-1,m=new Float32Array(3*3*f),C=0;for(let y=0;y<f;y++)m[C++]=0,m[C++]=0,m[C++]=0,m[C++]=A[y].x,m[C++]=A[y].y,m[C++]=A[y].z,m[C++]=A[y+1].x,m[C++]=A[y+1].y,m[C++]=A[y+1].z;let E=jn.createVertexBuffer({context:o,typedArray:m,usage:Fr.STATIC_DRAW}),I=3*Float32Array.BYTES_PER_ELEMENT,x=[{index:F1.position,vertexBuffer:E,componentsPerAttribute:3,componentDatatype:Mt.FLOAT,offsetInBytes:0,strideInBytes:I}];return new VA({context:o,attributes:x})}function $gi(o,A){let f=A.context,m=$le(o,o.xHalfAngle,o.yHalfAngle),C=Kgi(o,m);if(o.showLateralSurfaces&&(o._sectorVA=Wgi(f,C)),o.showSectorLines&&(o._sectorLineVA=qgi(f,C)),o.showSectorSegmentLines&&(o._sectorSegmentLineVA=jgi(f,C)),o.showDomeSurfaces&&(o._domeVA=Xgi(f)),o.showDomeLines&&(o._domeLineVA=Zgi(f)),o.showScanPlane)if(o.scanPlaneMode==="horizontal"){let E=$le(o,De.PI_OVER_TWO,0);o._scanPlaneVA=K3e(f,E.zox)}else{let E=$le(o,0,De.PI_OVER_TWO);o._scanPlaneVA=K3e(f,E.zoy)}}function efi(o,A,f){let m=A.context,C=zte,E=new hr({sources:[d9,f.shaderSource,JX]});o._sp=Wa.replaceCache({context:m,shaderProgram:o._sp,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:F1});let I=new hr({sources:[d9,f.shaderSource,JX],pickColorQualifier:"uniform"});o._pickSP=Wa.replaceCache({context:m,shaderProgram:o._pickSP,vertexShaderSource:C,fragmentShaderSource:I,attributeLocations:F1})}function tfi(o,A,f){let m=A.context,C=zte,E=new hr({sources:[d9,f.shaderSource,qve]});o._scanePlaneSP=Wa.replaceCache({context:m,shaderProgram:o._scanePlaneSP,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:F1})}function ifi(o,A,f){efi(o,A,f),o.showScanPlane&&tfi(o,A,f)}function rfi(o,A,f){f?(o._frontFaceRS=Hr.fromCache({depthTest:{enabled:!A},depthMask:!1,blending:Sl.ALPHA_BLEND,cull:{enabled:!0,face:tu.BACK}}),o._backFaceRS=Hr.fromCache({depthTest:{enabled:!A},depthMask:!1,blending:Sl.ALPHA_BLEND,cull:{enabled:!0,face:tu.FRONT}}),o._pickRS=Hr.fromCache({depthTest:{enabled:!A},depthMask:!1,blending:Sl.ALPHA_BLEND})):(o._frontFaceRS=Hr.fromCache({depthTest:{enabled:!A},depthMask:!0}),o._pickRS=Hr.fromCache({depthTest:{enabled:!0},depthMask:!0}))}function m5(o,A,f,m,C,E,I,x,y,v,w,Q){v&&f&&(f.vertexArray=I,f.renderState=C,f.shaderProgram=E,f.uniformMap=yo(x,o._material._uniforms),f.uniformMap.u_normalDirection=function(){return-1},f.pass=w,f.modelMatrix=y,o._colorCommands.push(f)),A.vertexArray=I,A.renderState=m,A.shaderProgram=E,A.uniformMap=yo(x,o._material._uniforms),Q&&(A.uniformMap.u_type=function(){return 1}),A.pass=w,A.modelMatrix=y,o._colorCommands.push(A)}function nfi(o,A){o._colorCommands.length=0;let f=A?zi.TRANSLUCENT:zi.OPAQUE;o.showLateralSurfaces&&m5(o,o._sectorFrontCommand,o._sectorBackCommand,o._frontFaceRS,o._backFaceRS,o._sp,o._sectorVA,o._uniforms,o._computedModelMatrix,A,f),o.showSectorLines&&m5(o,o._sectorLineCommand,void 0,o._frontFaceRS,o._backFaceRS,o._sp,o._sectorLineVA,o._uniforms,o._computedModelMatrix,A,f,!0),o.showSectorSegmentLines&&m5(o,o._sectorSegmentLineCommand,void 0,o._frontFaceRS,o._backFaceRS,o._sp,o._sectorSegmentLineVA,o._uniforms,o._computedModelMatrix,A,f,!0),o.showDomeSurfaces&&m5(o,o._domeFrontCommand,o._domeBackCommand,o._frontFaceRS,o._backFaceRS,o._sp,o._domeVA,o._uniforms,o._computedModelMatrix,A,f),o.showDomeLines&&m5(o,o._domeLineCommand,void 0,o._frontFaceRS,o._backFaceRS,o._sp,o._domeLineVA,o._uniforms,o._computedModelMatrix,A,f,!0),o.showScanPlane&&m5(o,o._scanPlaneFrontCommand,o._scanPlaneBackCommand,o._frontFaceRS,o._backFaceRS,o._scanePlaneSP,o._scanPlaneVA,o._scanUniforms,o._computedScanPlaneModelMatrix,A,f)}var jve=Hqe,W3e=new Nt,ofi=new Z,afi=new Z,sfi=new yr,q3e=new Z,lfi=new yr,$4=function(o,A){if(!k(o))throw new ni("scene is required.");if(!k(A))throw new ni("entityCollection is required.");A.collectionChanged.addEventListener($4.prototype._onCollectionChanged,this),this._scene=o,this._primitives=o.primitives,this._entityCollection=A,this._hash={},this._entitiesToVisualize=new mo,this._onCollectionChanged(A,A.values,[],[])};$4.prototype.update=function(o){if(!k(o))throw new ni("time is required.");let A=this._entitiesToVisualize.values,f=this._hash,m=this._primitives;for(let C=0,E=A.length;C<E;C++){let I=A[C],x=I._rectangularSensor,y,v,w,Q,M,B=f[I.id],D=I.isShowing&&I.isAvailable(o)&&Ct.getValueOrDefault(x._show,o,!0);if(D&&(y=Ct.getValueOrUndefined(I._position,o,ofi),v=Ct.getValueOrUndefined(I._orientation,o,sfi),w=Ct.getValueOrUndefined(x._radius,o),Q=Ct.getValueOrUndefined(x._xHalfAngle,o),M=Ct.getValueOrUndefined(x._yHalfAngle,o),D=k(y)&&k(Q)&&k(M)),!D){k(B)&&(B.primitive.show=!1);continue}let S=k(B)?B.primitive:void 0;k(S)||(S=new jve,S.id=I,m.add(S),B={primitive:S,position:void 0,orientation:void 0},f[I.id]=B);let P=Ct.getValueOrUndefined(x._gaze,o);if(k(P)){let R=Ct.getValueOrUndefined(P._position,o,afi);if(!k(y)||!k(R))continue;let T=Z.subtract(y,R,q3e),L=Z.angleBetween(Z.UNIT_Z,T),F=Z.cross(Z.UNIT_Z,T,q3e),U=yr.fromAxisAngle(F,L-Math.PI,lfi);w=Z.distance(y,R),S.modelMatrix=Re.fromRotationTranslation(Nt.fromQuaternion(U,W3e),y,S.modelMatrix)}else(!Z.equals(y,B.position)||!yr.equals(v,B.orientation))&&(k(v)?(S.modelMatrix=Re.fromRotationTranslation(Nt.fromQuaternion(v,W3e),y,S.modelMatrix),B.position=Z.clone(y,B.position),B.orientation=yr.clone(v,B.orientation)):(S.modelMatrix=Vr.eastNorthUpToFixedFrame(y),B.position=Z.clone(y,B.position)));S.show=!0,S.gaze=P,S.radius=w,S.xHalfAngle=Q,S.yHalfAngle=M,S.lineColor=Ct.getValueOrDefault(x._lineColor,o,qe.WHITE),S.showSectorLines=Ct.getValueOrDefault(x._showSectorLines,o,!0),S.showSectorSegmentLines=Ct.getValueOrDefault(x._showSectorSegmentLines,o,!0),S.showLateralSurfaces=Ct.getValueOrDefault(x._showLateralSurfaces,o,!0),S.material=h0.getValue(o,x._material,S.material),S.showDomeSurfaces=Ct.getValueOrDefault(x._showDomeSurfaces,o,!0),S.showDomeLines=Ct.getValueOrDefault(x._showDomeLines,o,!0),S.showIntersection=Ct.getValueOrDefault(x._showIntersection,o,!0),S.intersectionColor=Ct.getValueOrDefault(x._intersectionColor,o,qe.WHITE),S.intersectionWidth=Ct.getValueOrDefault(x._intersectionWidth,o,1),S.showThroughEllipsoid=Ct.getValueOrDefault(x._showThroughEllipsoid,o,!0),S.scanPlaneMode=Ct.getValueOrDefault(x._scanPlaneMode,o),S.scanPlaneColor=Ct.getValueOrDefault(x._scanPlaneColor,o,qe.WHITE),S.showScanPlane=Ct.getValueOrDefault(x._showScanPlane,o,!0),S.scanPlaneRate=Ct.getValueOrDefault(x._scanPlaneRate,o,1)}return!0};$4.prototype.isDestroyed=function(){return!1};$4.prototype.destroy=function(){let o=this._entitiesToVisualize.values,A=this._hash,f=this._primitives;for(let m=o.length-1;m>-1;m--)h9(o[m],A,f);return ar(this)};$4.prototype._onCollectionChanged=function(o,A,f,m){let C,E,I=this._entitiesToVisualize,x=this._hash,y=this._primitives;for(C=A.length-1;C>-1;C--)E=A[C],k(E._rectangularSensor)&&k(E._position)&&I.set(E.id,E);for(C=m.length-1;C>-1;C--)E=m[C],k(E._rectangularSensor)&&k(E._position)?I.set(E.id,E):(h9(E,x,y),I.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],h9(E,x,y),I.remove(E.id)};var Xve=$4,Afi={},ufi=cY.defaultVisualizersCallback;cY.defaultVisualizersCallback=function(o,A,f){let m=f.entities;return ufi(o,A,f).concat([new Xve(o,m)])};var Vqe=Afi;function e6(o,A){this._tilingScheme=o,this._maximumLevel=A,this._rootNodes=[]}var LL=new hi;function cfi(o,A,f,m){let C=m.length;for(let E=0;E<C;++E){let I=m[E];if(I.x===A&&I.y===f&&I.level===o)return!0}return!1}e6.prototype.addAvailableTileRange=function(o,A,f,m,C){let E=this._tilingScheme,I=this._rootNodes;if(o===0)for(let M=f;M<=C;++M)for(let B=A;B<=m;++B)cfi(o,B,M,I)||I.push(new M5(E,void 0,0,B,M));E.tileXYToRectangle(A,f,o,LL);let x=LL.west,y=LL.north;E.tileXYToRectangle(m,C,o,LL);let v=LL.east,w=LL.south,Q=new pfi(o,x,w,v,y);for(let M=0;M<I.length;++M){let B=I[M];Zve(B.extent,Q)&&mfi(this._maximumLevel,B,Q)}};e6.prototype.computeMaximumLevelAtPosition=function(o){let A;for(let f=0;f<this._rootNodes.length;++f){let m=this._rootNodes[f];if(T5(m.extent,o)){A=m;break}}return k(A)?xH(void 0,A,o):-1};var hfi=[],dfi=[],gfi=new hi,ffi=new hi;e6.prototype.computeBestAvailableLevelOverRectangle=function(o){let A=hfi;A.length=0,o.east<o.west?(A.push(hi.fromRadians(-Math.PI,o.south,o.east,o.north,gfi)),A.push(hi.fromRadians(o.west,o.south,Math.PI,o.north,ffi))):A.push(o);let f=dfi;f.length=0;let m;for(m=0;m<this._rootNodes.length;++m)yH(f,this._rootNodes[m],A);for(m=f.length-1;m>=0;--m)if(k(f[m])&&f[m].length===0)return m;return 0};var j3e=new Lt;e6.prototype.isTileAvailable=function(o,A,f){let m=this._tilingScheme.tileXYToRectangle(A,f,o,LL);return hi.center(m,j3e),this.computeMaximumLevelAtPosition(j3e)>=o};e6.prototype.computeChildMaskForTile=function(o,A,f){let m=o+1;if(m>=this._maximumLevel)return 0;let C=0;return C|=this.isTileAvailable(m,2*A,2*f+1)?1:0,C|=this.isTileAvailable(m,2*A+1,2*f+1)?2:0,C|=this.isTileAvailable(m,2*A,2*f)?4:0,C|=this.isTileAvailable(m,2*A+1,2*f)?8:0,C};function M5(o,A,f,m,C){this.tilingScheme=o,this.parent=A,this.level=f,this.x=m,this.y=C,this.extent=o.tileXYToRectangle(m,C,f),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}Object.defineProperties(M5.prototype,{nw:{get:function(){return this._nw||(this._nw=new M5(this.tilingScheme,this,this.level+1,this.x*2,this.y*2)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new M5(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new M5(this.tilingScheme,this,this.level+1,this.x*2,this.y*2+1)),this._sw}},se:{get:function(){return this._se||(this._se=new M5(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2+1)),this._se}}});function pfi(o,A,f,m,C){this.level=o,this.west=A,this.south=f,this.east=m,this.north=C}function Zve(o,A){let f=Math.max(o.west,A.west),m=Math.max(o.south,A.south),C=Math.min(o.east,A.east),E=Math.min(o.north,A.north);return m<E&&f<C}function mfi(o,A,f){for(;A.level<o;)if(eq(A.nw.extent,f))A=A.nw;else if(eq(A.ne.extent,f))A=A.ne;else if(eq(A.sw.extent,f))A=A.sw;else if(eq(A.se.extent,f))A=A.se;else break;if(A.rectangles.length===0||A.rectangles[A.rectangles.length-1].level<=f.level)A.rectangles.push(f);else{let m=yf(A.rectangles,f.level,Cfi);m<0&&(m=~m),A.rectangles.splice(m,0,f)}}function Cfi(o,A){return o.level-A}function eq(o,A){return A.west>=o.west&&A.east<=o.east&&A.south>=o.south&&A.north<=o.north}function T5(o,A){return A.longitude>=o.west&&A.longitude<=o.east&&A.latitude>=o.south&&A.latitude<=o.north}function xH(o,A,f){let m=0,C=!1;for(;!C;){let E=A._nw&&T5(A._nw.extent,f),I=A._ne&&T5(A._ne.extent,f),x=A._sw&&T5(A._sw.extent,f),y=A._se&&T5(A._se.extent,f);if(E+I+x+y>1){E&&(m=Math.max(m,xH(A,A._nw,f))),I&&(m=Math.max(m,xH(A,A._ne,f))),x&&(m=Math.max(m,xH(A,A._sw,f))),y&&(m=Math.max(m,xH(A,A._se,f)));break}else E?A=A._nw:I?A=A._ne:x?A=A._sw:y?A=A._se:C=!0}for(;A!==o;){let E=A.rectangles;for(let I=E.length-1;I>=0&&E[I].level>m;--I){let x=E[I];T5(x,f)&&(m=x.level)}A=A.parent}return m}function yH(o,A,f){if(!A)return;let m,C=!1;for(m=0;m<f.length;++m)C=C||Zve(A.extent,f[m]);if(!C)return;let E=A.rectangles;for(m=0;m<E.length;++m){let I=E[m];o[I.level]||(o[I.level]=f),o[I.level]=Efi(o[I.level],I)}yH(o,A._nw,f),yH(o,A._ne,f),yH(o,A._sw,f),yH(o,A._se,f)}function Efi(o,A){let f=[];for(let m=0;m<o.length;++m){let C=o[m];Zve(C,A)?(C.west<A.west&&f.push(new hi(C.west,C.south,A.west,C.north)),C.east>A.east&&f.push(new hi(A.east,C.south,C.east,C.north)),C.south<A.south&&f.push(new hi(Math.max(A.west,C.west),C.south,Math.min(A.east,C.east),A.south)),C.north>A.north&&f.push(new hi(Math.max(A.west,C.west),A.north,Math.min(A.east,C.east),C.north))):f.push(C)}return f}var g2=e6,Ifi=15;function $ve(o){this.ellipsoid=ae(o.ellipsoid,gi.WGS84),this.credit=void 0,this.tilingScheme=void 0,this.height=void 0,this.width=void 0,this.encoding=void 0,this.lodCount=void 0,this.hasAvailability=!1,this.tilesAvailable=void 0,this.tilesAvailabilityLoaded=void 0,this.levelZeroMaximumGeometricError=void 0,this.terrainDataStructure=void 0}$ve.prototype.build=function(o){o._credit=this.credit,o._tilingScheme=this.tilingScheme,o._height=this.height,o._width=this.width,o._encoding=this.encoding,o._lodCount=this.lodCount,o._hasAvailability=this.hasAvailability,o._tilesAvailable=this.tilesAvailable,o._tilesAvailabilityLoaded=this.tilesAvailabilityLoaded,o._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,o._terrainDataStructure=this.terrainDataStructure,o._ready=!0};function xfi(o,A){let f=A.copyrightText;k(f)&&(o.credit=new la(f));let m=A.spatialReference,C=ae(m.latestWkid,m.wkid),E=A.extent,I={ellipsoid:o.ellipsoid};if(C===4326)I.rectangle=hi.fromDegrees(E.xmin,E.ymin,E.xmax,E.ymax),o.tilingScheme=new ph(I);else if(C===3857){let y=Math.PI*o.ellipsoid.maximumRadius;A.extent.xmax>y&&(A.extent.xmax=y),A.extent.ymax>y&&(A.extent.ymax=y),A.extent.xmin<-y&&(A.extent.xmin=-y),A.extent.ymin<-y&&(A.extent.ymin=-y),I.rectangleSouthwestInMeters=new tt(E.xmin,E.ymin),I.rectangleNortheastInMeters=new tt(E.xmax,E.ymax),o.tilingScheme=new Sf(I)}else throw new Ti("Invalid spatial reference");let x=A.tileInfo;if(!k(x))throw new Ti("tileInfo is required");o.width=x.rows+1,o.height=x.cols+1,o.encoding=x.format==="LERC"?H2.LERC:H2.NONE,o.lodCount=x.lods.length-1,(o.hasAvailability=A.capabilities.indexOf("Tilemap")!==-1)&&(o.tilesAvailable=new g2(o.tilingScheme,o.lodCount),o.tilesAvailable.addAvailableTileRange(0,0,0,o.tilingScheme.getNumberOfXTilesAtLevel(0),o.tilingScheme.getNumberOfYTilesAtLevel(0)),o.tilesAvailabilityLoaded=new g2(o.tilingScheme,o.lodCount)),o.levelZeroMaximumGeometricError=_m.getEstimatedLevelZeroGeometricErrorForAHeightmap(o.tilingScheme.ellipsoid,o.width,o.tilingScheme.getNumberOfXTilesAtLevel(0)),A.bandCount>1&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),k(A.minValues)&&k(A.maxValues)?o.terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:A.minValues[0],highestEncodedHeight:A.maxValues[0]}:o.terrainDataStructure={elementMultiplier:1}}async function zqe(o,A,f){try{let m=await A.fetchJson();xfi(o,m)}catch(m){let C=`An error occurred while accessing ${A}.`;throw Wc.reportError(void 0,f,k(f)?f._errorEvent:void 0,C),m}}function V2(o){o=ae(o,ae.EMPTY_OBJECT),this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._width=void 0,this._height=void 0,this._encoding=void 0,this._lodCount=void 0;let A=o.token;if(this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailabilityLoaded=void 0,this._availableCache={},this._ready=!1,this._errorEvent=new ir,k(o.url)){$t("ArcGISTiledElevationTerrainProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGISTiledElevationTerrainProvider.fromUrl instead.");let f=this,m=new $ve(o);this._readyPromise=Promise.resolve(o.url).then(async function(C){let E=fr.createIfNeeded(C);E.appendForwardSlash(),k(A)&&(E=E.getDerivedResource({queryParameters:{token:A}})),f._resource=E;let I=E.getDerivedResource({queryParameters:{f:"pjson"}});return await zqe(m,I,f),m.build(f),!0})}}Object.defineProperties(V2.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return $t("ArcGISTiledElevationTerrainProvider.ready","ArcGISTiledElevationTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGISTiledElevationTerrainProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return $t("ArcGISTiledElevationTerrainProvider.readyPromise","ArcGISTiledElevationTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGISTiledElevationTerrainProvider.fromUrl instead."),this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){return this._tilesAvailable}}});V2.fromUrl=async function(o,A){A=ae(A,ae.EMPTY_OBJECT),o=await Promise.resolve(o);let f=fr.createIfNeeded(o);f.appendForwardSlash(),k(A.token)&&(f=f.getDerivedResource({queryParameters:{token:A.token}}));let m=f.getDerivedResource({queryParameters:{f:"pjson"}}),C=new $ve(A);await zqe(C,m);let E=new V2(A);return C.build(E),E._resource=f,E};V2.prototype.requestTileGeometry=function(o,A,f,m){let C=this._resource.getDerivedResource({url:`tile/${f}/${A}/${o}`,request:m}),E=this._hasAvailability,I=Promise.resolve(!0),x;if(E&&!k(e_e(this,f+1,o*2,A*2))){let Q=Yqe(this,f+1,o*2,A*2);I=Q.promise,x=Q.request}let y=C.fetchArrayBuffer();if(!k(y)||!k(I))return;let v=this,w=this._tilesAvailable;return Promise.all([y,I]).then(function(Q){return new DB({buffer:Q[0],width:v._width,height:v._height,childTileMask:E?w.computeChildMaskForTile(f,o,A):Ifi,structure:v._terrainDataStructure,encoding:v._encoding})}).catch(function(Q){return k(x)&&x.state===SA.CANCELLED?(m.cancel(),m.deferred.promise.finally(function(){return m.state=SA.CANCELLED,Promise.reject(Q)})):Promise.reject(Q)})};function e_e(o,A,f,m){if(!o._hasAvailability)return;let C=o._tilesAvailabilityLoaded,E=o._tilesAvailable;if(A>o._lodCount)return!1;if(E.isTileAvailable(A,f,m))return!0;if(C.isTileAvailable(A,f,m))return!1}V2.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};V2.prototype.getTileDataAvailable=function(o,A,f){if(!this._hasAvailability)return;let m=e_e(this,f,o,A);if(k(m))return m;Yqe(this,f,o,A)};V2.prototype.loadTileDataAvailability=function(o,A,f){};function yfi(o,A,f,m){let C=A-1,E=f-1,I=m[o.y*A+o.x],x=[],y={startX:o.x,startY:o.y,endX:0,endY:0},v=new tt(o.x+1,o.y+1),w=!1,Q=!1;for(;!(w&&Q);){let M=v.x,B=Q?v.y+1:v.y;if(!w){for(let D=o.y;D<B;++D)if(m[D*A+v.x]!==I){w=!0;break}w?(x.push(new tt(v.x,o.y)),--v.x,--M,y.endX=v.x):v.x===C?(y.endX=v.x,w=!0):++v.x}if(!Q){let D=v.y*A;for(let S=o.x;S<=M;++S)if(m[D+S]!==I){Q=!0;break}Q?(x.push(new tt(o.x,v.y)),--v.y,y.endY=v.y):v.y===E?(y.endY=v.y,Q=!0):++v.y}}return{endingIndices:x,range:y,value:I}}function vfi(o,A,f,m,C){let E=[];if(C.every(function(x){return x===C[0]}))return C[0]===1&&E.push({startX:o,startY:A,endX:o+f-1,endY:A+m-1}),E;let I=[new tt(0,0)];for(;I.length>0;){let x=I.pop(),y=yfi(x,f,m,C);if(y.value===1){let w=y.range;w.startX+=o,w.endX+=o,w.startY+=A,w.endY+=A,E.push(w)}let v=y.endingIndices;v.length>0&&(I=I.concat(v))}return E}function Yqe(o,A,f,m){if(!o._hasAvailability)return{};let C=Math.floor(f/128)*128,E=Math.floor(m/128)*128,I=Math.min(1<<A,128),x=`tilemap/${A}/${E}/${C}/${I}/${I}`,y=o._availableCache;if(k(y[x]))return y[x];let v=new g0({throttle:!1,throttleByServer:!0,type:kx.TERRAIN}),w=o._resource.getDerivedResource({url:x,request:v}).fetchJson();return k(w)?(w=w.then(function(Q){let M=vfi(C,E,I,I,Q.data);o._tilesAvailabilityLoaded.addAvailableTileRange(A,C,E,C+I,E+I);let B=o._tilesAvailable;for(let D=0;D<M.length;++D){let S=M[D];B.addAvailableTileRange(A,S.startX,S.startY,S.endX,S.endY)}return e_e(o,A,f,m)}),y[x]={promise:w,request:v},w=w.finally(function(Q){return delete y[x],Q}),{promise:w,request:v}):{}}var Jqe=V2,Kqe="https://dev.virtualearth.net/REST/v1/Locations";function t_e(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.key;this._key=A;let f={key:A};k(o.culture)&&(f.culture=o.culture),this._resource=new fr({url:Kqe,queryParameters:f}),this._credit=new la('<img src="http://dev.virtualearth.net/Branding/logo_powered_by.png"/>',!1)}Object.defineProperties(t_e.prototype,{url:{get:function(){return Kqe}},key:{get:function(){return this._key}},credit:{get:function(){return this._credit}}});t_e.prototype.geocode=async function(o){return this._resource.getDerivedResource({queryParameters:{query:o}}).fetchJsonp("jsonp").then(function(A){return A.resourceSets.length===0?[]:A.resourceSets[0].resources.map(function(f){let m=f.bbox,C=m[0],E=m[1],I=m[2],x=m[3];return{displayName:f.name,destination:hi.fromDegrees(E,C,x,I)}})})};var Wqe=t_e;function i_e(){}Object.defineProperties(i_e.prototype,{credit:{get:function(){}}});i_e.prototype.geocode=function(o){let A=o.match(/[^\s,\n]+/g);if(A.length===2||A.length===3){let f=+A[0],m=+A[1],C=A.length===3?+A[2]:300;if(isNaN(f)&&isNaN(m)){let E=/^(\d+.?\d*)([nsew])/i;for(let I=0;I<A.length;++I){let x=A[I].match(E);E.test(A[I])&&x.length===3&&(/^[ns]/i.test(x[2])?m=/^[n]/i.test(x[2])?+x[1]:-x[1]:/^[ew]/i.test(x[2])&&(f=/^[e]/i.test(x[2])?+x[1]:-x[1]))}}if(!isNaN(f)&&!isNaN(m)&&!isNaN(C)){let E={displayName:o,destination:Z.fromDegrees(f,m,C)};return Promise.resolve([E])}}return Promise.resolve([])};var r_e=i_e,_fi=new kt,X3e=new Z,C5=new Z;function Bfi(o){let A=o.points,f=o.times;if(A.length<3){let m=f[0],C=1/(f[1]-m),E=A[0],I=A[1];return function(x,y){k(y)||(y=new Z);let v=(x-m)*C;return Z.lerp(E,I,v,y)}}return function(m,C){k(C)||(C=new Z);let E=o._lastTimeIndex=o.findTimeInterval(m,o._lastTimeIndex),I=(m-f[E])/(f[E+1]-f[E]),x=_fi;x.z=I,x.y=I*I,x.x=x.y*I,x.w=1;let y,v,w,Q,M;return E===0?(y=A[0],v=A[1],w=o.firstTangent,Q=Z.subtract(A[2],y,X3e),Z.multiplyByScalar(Q,.5,Q),M=Re.multiplyByVector(YV.hermiteCoefficientMatrix,x,x)):E===A.length-2?(y=A[E],v=A[E+1],Q=o.lastTangent,w=Z.subtract(v,A[E-1],X3e),Z.multiplyByScalar(w,.5,w),M=Re.multiplyByVector(YV.hermiteCoefficientMatrix,x,x)):(y=A[E-1],v=A[E],w=A[E+1],Q=A[E+2],M=Re.multiplyByVector(vP.catmullRomCoefficientMatrix,x,x)),C=Z.multiplyByScalar(y,M.x,C),Z.multiplyByScalar(v,M.y,C5),Z.add(C,C5,C),Z.multiplyByScalar(w,M.z,C5),Z.add(C,C5,C),Z.multiplyByScalar(Q,M.w,C5),Z.add(C,C5,C)}}var wfi=new Z,bfi=new Z;function vP(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.points,f=o.times,m=o.firstTangent,C=o.lastTangent;if(A.length>2&&(k(m)||(m=wfi,Z.multiplyByScalar(A[1],2,m),Z.subtract(m,A[2],m),Z.subtract(m,A[0],m),Z.multiplyByScalar(m,.5,m)),!k(C))){let E=A.length-1;C=bfi,Z.multiplyByScalar(A[E-1],2,C),Z.subtract(A[E],C,C),Z.add(C,A[E-2],C),Z.multiplyByScalar(C,.5,C)}this._times=f,this._points=A,this._firstTangent=Z.clone(m),this._lastTangent=Z.clone(C),this._evaluateFunction=Bfi(this),this._lastTimeIndex=0}Object.defineProperties(vP.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}});vP.catmullRomCoefficientMatrix=new Re(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0);vP.prototype.findTimeInterval=Ih.prototype.findTimeInterval;vP.prototype.wrapTime=Ih.prototype.wrapTime;vP.prototype.clampTime=Ih.prototype.clampTime;vP.prototype.evaluate=function(o,A){return this._evaluateFunction(o,A)};var qqe=vP,Yte={};Yte.clipTriangleAtAxisAlignedThreshold=function(o,A,f,m,C,E){k(E)?E.length=0:E=[];let I,x,y;A?(I=f<o,x=m<o,y=C<o):(I=f>o,x=m>o,y=C>o);let v=I+x+y,w,Q,M,B,D,S;return v===1?I?(w=(o-f)/(m-f),Q=(o-f)/(C-f),E.push(1),E.push(2),Q!==1&&(E.push(-1),E.push(0),E.push(2),E.push(Q)),w!==1&&(E.push(-1),E.push(0),E.push(1),E.push(w))):x?(M=(o-m)/(C-m),B=(o-m)/(f-m),E.push(2),E.push(0),B!==1&&(E.push(-1),E.push(1),E.push(0),E.push(B)),M!==1&&(E.push(-1),E.push(1),E.push(2),E.push(M))):y&&(D=(o-C)/(f-C),S=(o-C)/(m-C),E.push(0),E.push(1),S!==1&&(E.push(-1),E.push(2),E.push(1),E.push(S)),D!==1&&(E.push(-1),E.push(2),E.push(0),E.push(D))):v===2?!I&&f!==o?(B=(o-m)/(f-m),D=(o-C)/(f-C),E.push(0),E.push(-1),E.push(1),E.push(0),E.push(B),E.push(-1),E.push(2),E.push(0),E.push(D)):!x&&m!==o?(S=(o-C)/(m-C),w=(o-f)/(m-f),E.push(1),E.push(-1),E.push(2),E.push(1),E.push(S),E.push(-1),E.push(0),E.push(1),E.push(w)):!y&&C!==o&&(Q=(o-f)/(C-f),M=(o-m)/(C-m),E.push(2),E.push(-1),E.push(0),E.push(2),E.push(Q),E.push(-1),E.push(1),E.push(2),E.push(M)):v!==3&&(E.push(0),E.push(1),E.push(2)),E};Yte.computeBarycentricCoordinates=function(o,A,f,m,C,E,I,x,y){let v=f-I,w=I-C,Q=E-x,M=m-x,B=1/(Q*v+w*M),D=A-x,S=o-I,P=(Q*S+w*D)*B,R=(-M*S+v*D)*B,T=1-P-R;return k(y)?(y.x=P,y.y=R,y.z=T,y):new Z(P,R,T)};Yte.computeLineSegmentLineSegmentIntersection=function(o,A,f,m,C,E,I,x,y){let v=(I-C)*(A-E)-(x-E)*(o-C),w=(f-o)*(A-E)-(m-A)*(o-C),Q=(x-E)*(f-o)-(I-C)*(m-A);if(Q===0)return;let M=v/Q,B=w/Q;if(M>=0&&M<=1&&B>=0&&B<=1)return k(y)||(y=new tt),y.x=o+M*(f-o),y.y=A+M*(m-A),y};var t6=Yte;function z2(o){this._flattenPolygonHeight=o.flattenPolygonHeight||[1],this._flattenPolygon=o.flattenPolygon||[],this._flattenRectangle=o.flattenRectangle,this._quantizedVertices=o.quantizedVertices,this._encodedNormals=o.encodedNormals,this._indices=o.indices,this._minimumHeight=o.minimumHeight,this._maximumHeight=o.maximumHeight,this._boundingSphere=o.boundingSphere,this._orientedBoundingBox=o.orientedBoundingBox,this._horizonOcclusionPoint=o.horizonOcclusionPoint,this._credits=o.credits;let A=this._quantizedVertices.length/3,f=this._uValues=this._quantizedVertices.subarray(0,A),m=this._vValues=this._quantizedVertices.subarray(A,2*A);this._heightValues=this._quantizedVertices.subarray(2*A,3*A);function C(I,x){return m[I]-m[x]}function E(I,x){return f[I]-f[x]}this._westIndices=iq(o.westIndices,C,A),this._southIndices=iq(o.southIndices,E,A),this._eastIndices=iq(o.eastIndices,C,A),this._northIndices=iq(o.northIndices,E,A),this._westSkirtHeight=o.westSkirtHeight,this._southSkirtHeight=o.southSkirtHeight,this._eastSkirtHeight=o.eastSkirtHeight,this._northSkirtHeight=o.northSkirtHeight,this._childTileMask=ae(o.childTileMask,15),this._createdByUpsampling=ae(o.createdByUpsampling,!1),this._waterMask=o.waterMask,this._mesh=void 0}Object.defineProperties(z2.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return k(this._mesh)}}});var tq=[];function iq(o,A,f){tq.length=o.length;let m=!1;for(let C=0,E=o.length;C<E;++C)tq[C]=o[C],m=m||C>0&&A(o[C-1],o[C])>0;return m?(tq.sort(A),fn.createTypedArray(f,tq)):o}var jqe="createVerticesFromQuantizedTerrainMesh",Qfi=new Yh(jqe),Sfi=new Yh(jqe,MN.maximumAsynchronousTasks);z2.prototype.createMesh=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.tilingScheme,f=o.x,m=o.y,C=o.level,E=ae(o.exaggeration,1),I=ae(o.exaggerationRelativeHeight,0),x=ae(o.throttle,!0),y=A.ellipsoid,v=A.tileXYToRectangle(f,m,C),w=(x?Sfi:Qfi).scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,rectangle:v,relativeToCenter:this._boundingSphere.center,ellipsoid:y,exaggeration:E,exaggerationRelativeHeight:I,flattenPolygonHeight:this._flattenPolygonHeight,flattenPolygon:this._flattenPolygon});if(!k(w))return;let Q=this;return Promise.resolve(w).then(function(M){let B=Q._quantizedVertices.length/3,D=B+Q._westIndices.length+Q._southIndices.length+Q._eastIndices.length+Q._northIndices.length,S=fn.createTypedArray(D,M.indices),P=new Float32Array(M.vertices),R=M.center,T=M.minimumHeight,L=M.maximumHeight,F=Q._boundingSphere;k(Q._flattenRectangle)&&(Q._orientedBoundingBox=MA.fromRectangle(Q._flattenRectangle.rectangle,T,L,Q._flattenRectangle.ellipsoid));let U=Q._orientedBoundingBox,N=ae(Z.clone(M.occludeePointInScaledSpace),Q._horizonOcclusionPoint),H=M.vertexStride,J=NS.clone(M.encoding);return Q._mesh=new TN(R,P,S,M.indexCountWithoutSkirts,B,T,L,F,N,H,U,J,M.westIndicesSouthToNorth,M.southIndicesEastToWest,M.eastIndicesNorthToSouth,M.northIndicesWestToEast),Q._quantizedVertices=void 0,Q._encodedNormals=void 0,Q._indices=void 0,Q._uValues=void 0,Q._vValues=void 0,Q._heightValues=void 0,Q._westIndices=void 0,Q._southIndices=void 0,Q._eastIndices=void 0,Q._northIndices=void 0,Q._mesh})};var Dfi=new Yh("upsampleQuantizedTerrainMesh",MN.maximumAsynchronousTasks);z2.prototype.upsample=function(o,A,f,m,C,E,I){let x=this._mesh;if(!k(this._mesh))return;let y=A*2!==C,v=f*2===E,w=o.ellipsoid,Q=o.tileXYToRectangle(C,E,I),M=Dfi.scheduleTask({vertices:x.vertices,vertexCountWithoutSkirts:x.vertexCountWithoutSkirts,indices:x.indices,indexCountWithoutSkirts:x.indexCountWithoutSkirts,encoding:x.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:y,isNorthChild:v,childRectangle:Q,ellipsoid:w});if(!k(M))return;let B=Math.min(this._westSkirtHeight,this._eastSkirtHeight);B=Math.min(B,this._southSkirtHeight),B=Math.min(B,this._northSkirtHeight);let D=y?B*.5:this._westSkirtHeight,S=v?B*.5:this._southSkirtHeight,P=y?this._eastSkirtHeight:B*.5,R=v?this._northSkirtHeight:B*.5,T=this._credits,L=this;return Promise.resolve(M).then(function(F){let U=new Uint16Array(F.vertices),N=fn.createTypedArray(U.length/3,F.indices),H;return k(F.encodedNormals)&&(H=new Uint8Array(F.encodedNormals)),new z2({quantizedVertices:U,indices:N,encodedNormals:H,minimumHeight:F.minimumHeight,maximumHeight:F.maximumHeight,boundingSphere:si.clone(F.boundingSphere),orientedBoundingBox:MA.clone(F.orientedBoundingBox),horizonOcclusionPoint:Z.clone(F.horizonOcclusionPoint),westIndices:F.westIndices,southIndices:F.southIndices,eastIndices:F.eastIndices,northIndices:F.northIndices,westSkirtHeight:D,southSkirtHeight:S,eastSkirtHeight:P,northSkirtHeight:R,childTileMask:0,credits:T,createdByUpsampling:!0,flattenPolygonHeight:L._flattenPolygonHeight,flattenPolygon:L._flattenPolygon,flattenRectangle:L._flattenRectangle})})};var vce=32767,Xqe=new Z;z2.prototype.interpolateHeight=function(o,A,f){let m=De.clamp((A-o.west)/o.width,0,1);m*=vce;let C=De.clamp((f-o.south)/o.height,0,1);return C*=vce,k(this._mesh)?Rfi(this,m,C):Lfi(this,m,C)};function Zqe(o,A,f,m,C,E,I,x){let y=Math.min(f,C,I),v=Math.max(f,C,I),w=Math.min(m,E,x),Q=Math.max(m,E,x);return o>=y&&o<=v&&A>=w&&A<=Q}var Mfi=new tt,Tfi=new tt,Pfi=new tt;function Rfi(o,A,f){let m=o._mesh,C=m.vertices,E=m.encoding,I=m.indices;for(let x=0,y=I.length;x<y;x+=3){let v=I[x],w=I[x+1],Q=I[x+2],M=E.decodeTextureCoordinates(C,v,Mfi),B=E.decodeTextureCoordinates(C,w,Tfi),D=E.decodeTextureCoordinates(C,Q,Pfi);if(Zqe(A,f,M.x,M.y,B.x,B.y,D.x,D.y)){let S=t6.computeBarycentricCoordinates(A,f,M.x,M.y,B.x,B.y,D.x,D.y,Xqe);if(S.x>=-1e-15&&S.y>=-1e-15&&S.z>=-1e-15){let P=E.decodeHeight(C,v),R=E.decodeHeight(C,w),T=E.decodeHeight(C,Q);return S.x*P+S.y*R+S.z*T}}}}function Lfi(o,A,f){let m=o._uValues,C=o._vValues,E=o._heightValues,I=o._indices;for(let x=0,y=I.length;x<y;x+=3){let v=I[x],w=I[x+1],Q=I[x+2],M=m[v],B=m[w],D=m[Q],S=C[v],P=C[w],R=C[Q];if(Zqe(A,f,M,S,B,P,D,R)){let T=t6.computeBarycentricCoordinates(A,f,M,S,B,P,D,R,Xqe);if(T.x>=-1e-15&&T.y>=-1e-15&&T.z>=-1e-15){let L=T.x*E[v]+T.y*E[w]+T.z*E[Q];return De.lerp(o._minimumHeight,o._maximumHeight,L/vce)}}}}z2.prototype.isChildAvailable=function(o,A,f,m){let C=2;return f!==o*2&&++C,m!==A*2&&(C-=2),(this._childTileMask&1<<C)!==0};z2.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var Jte=z2;function Ffi(o){this.resource=o.resource,this.version=o.version,this.isHeightmap=o.isHeightmap,this.tileUrlTemplates=o.tileUrlTemplates,this.availability=o.availability,this.hasVertexNormals=o.hasVertexNormals,this.hasWaterMask=o.hasWaterMask,this.hasMetadata=o.hasMetadata,this.availabilityLevels=o.availabilityLevels,this.availabilityTilesLoaded=o.availabilityTilesLoaded,this.littleEndianExtensionSize=o.littleEndianExtensionSize,this.availabilityPromiseCache={}}function n_e(o){this.requestVertexNormals=ae(o.requestVertexNormals,!1),this.requestWaterMask=ae(o.requestWaterMask,!1),this.requestMetadata=ae(o.requestMetadata,!0),this.ellipsoid=o.ellipsoid,this.heightmapWidth=65,this.heightmapStructure=void 0,this.hasWaterMask=!1,this.hasMetadata=!1,this.hasVertexNormals=!1,this.scheme=void 0,this._flattenPolygonHeight=o.flattenPolygonHeight,this._flattenPolygon=o.flattenPolygon,this.lastResource=void 0,this.layerJsonResource=void 0,this.previousError=void 0,this.availability=void 0,this.tilingScheme=void 0,this.levelZeroMaximumGeometricError=void 0,this.heightmapStructure=void 0,this.layers=[],this.attribution="",this.overallAvailability=[],this.overallMaxZoom=0,this.tileCredits=[]}n_e.prototype.build=function(o){o._heightmapWidth=this.heightmapWidth,o._scheme=this.scheme;let A=k(this.lastResource.credits)?this.lastResource.credits:[];o._tileCredits=A.concat(this.tileCredits),o._availability=this.availability,o._tilingScheme=this.tilingScheme,o._requestWaterMask=this.requestWaterMask,o._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,o._heightmapStructure=this.heightmapStructure,o._layers=this.layers,o._hasWaterMask=this.hasWaterMask,o._hasVertexNormals=this.hasVertexNormals,o._hasMetadata=this.hasMetadata,o._ready=!0};async function $qe(o,A,f){if(!A.format){let S="The tile format is not specified in the layer.json file.";throw o.previousError=Wc.reportError(o.previousError,f,k(f)?f._errorEvent:void 0,S),new Ti(S)}if(!A.tiles||A.tiles.length===0){let S="The layer.json file does not specify any tile URL templates.";throw o.previousError=Wc.reportError(o.previousError,f,k(f)?f._errorEvent:void 0,S),new Ti(S)}let m=!1,C=!1,E=!1,I=!0,x=!1;if(A.format==="heightmap-1.0")x=!0,k(o.heightmapStructure)||(o.heightmapStructure={heightScale:1/5,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:256*256-1}),C=!0,o.requestWaterMask=!0;else if(A.format.indexOf("quantized-mesh-1.")!==0){let S=`The tile format "${A.format}" is invalid or not supported.`;throw o.previousError=Wc.reportError(o.previousError,f,k(f)?f._errorEvent:void 0,S),new Ti(S)}let y=A.tiles,v=A.maxzoom;if(o.overallMaxZoom=Math.max(o.overallMaxZoom,v),!A.projection||A.projection==="EPSG:4326")o.tilingScheme=new ph({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:o.ellipsoid});else if(A.projection==="EPSG:3857")o.tilingScheme=new Sf({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:o.ellipsoid});else{let S=`The projection "${A.projection}" is invalid or not supported.`;throw o.previousError=Wc.reportError(o.previousError,f,k(f)?f._errorEvent:void 0,S),new Ti(S)}if(o.levelZeroMaximumGeometricError=_m.getEstimatedLevelZeroGeometricErrorForAHeightmap(o.tilingScheme.ellipsoid,o.heightmapWidth,o.tilingScheme.getNumberOfXTilesAtLevel(0)),!A.scheme||A.scheme==="tms"||A.scheme==="slippyMap")o.scheme=A.scheme;else{let S=`The scheme "${A.scheme}" is invalid or not supported.`;throw o.previousError=Wc.reportError(o.previousError,f,k(f)?f._errorEvent:void 0,S),new Ti(S)}let w;k(A.extensions)&&A.extensions.indexOf("octvertexnormals")!==-1?m=!0:k(A.extensions)&&A.extensions.indexOf("vertexnormals")!==-1&&(m=!0,I=!1),k(A.extensions)&&A.extensions.indexOf("watermask")!==-1&&(C=!0),k(A.extensions)&&A.extensions.indexOf("metadata")!==-1&&(E=!0);let Q=A.metadataAvailability,M=A.available,B;if(k(M)&&!k(Q)){B=new g2(o.tilingScheme,M.length);for(let S=0;S<M.length;++S){let P=M[S],R=o.tilingScheme.getNumberOfYTilesAtLevel(S);k(o.overallAvailability[S])||(o.overallAvailability[S]=[]);for(let T=0;T<P.length;++T){let L=P[T],F=R-L.endY-1,U=R-L.startY-1;o.overallAvailability[S].push([L.startX,F,L.endX,U]),B.addAvailableTileRange(S,L.startX,F,L.endX,U)}}}else k(Q)&&(w=new g2(o.tilingScheme,v),B=new g2(o.tilingScheme,v),o.overallAvailability[0]=[[0,0,1,0]],B.addAvailableTileRange(0,0,0,1,0));o.hasWaterMask=o.hasWaterMask||C,o.hasVertexNormals=o.hasVertexNormals||m,o.hasMetadata=o.hasMetadata||E,k(A.attribution)&&(o.attribution.length>0&&(o.attribution+=" "),o.attribution+=A.attribution),o.layers.push(new Ffi({resource:o.lastResource,version:A.version,isHeightmap:x,tileUrlTemplates:y,availability:B,hasVertexNormals:m,hasWaterMask:C,hasMetadata:E,availabilityLevels:Q,availabilityTilesLoaded:w,littleEndianExtensionSize:I}));let D=A.parentUrl;return k(D)?k(B)?(o.lastResource=o.lastResource.getDerivedResource({url:D}),o.lastResource.appendForwardSlash(),o.layerJsonResource=o.lastResource.getDerivedResource({url:"layer.json"}),await Kte(o),!0):(console.log("A layer.json can't have a parentUrl if it does't have an available array."),!0):!0}function Nfi(o,A,f){let m=`An error occurred while accessing ${o.layerJsonResource.url}.`;if(k(A)&&(m+=` ${A.message}`),o.previousError=Wc.reportError(o.previousError,f,k(f)?f._errorEvent:void 0,m),o.previousError.retry)return Kte(o,f);throw new Ti(m)}async function kfi(o,A,f){await $qe(o,A,f);let m=o.overallAvailability.length;if(m>0){let C=o.availability=new g2(o.tilingScheme,o.overallMaxZoom);for(let E=0;E<m;++E){let I=o.overallAvailability[E];for(let x=0;x<I.length;++x){let y=I[x];C.addAvailableTileRange(E,y[0],y[1],y[2],y[3])}}}if(o.attribution.length>0){let C=new la(o.attribution);o.tileCredits.push(C)}return!0}async function Kte(o,A){try{let f=await o.layerJsonResource.fetchJson();return kfi(o,f,A)}catch(f){return k(f)&&f.statusCode===404?(await $qe(o,{tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]},A),!0):Nfi(o,f,A)}}function Lx(o){o=ae(o,ae.EMPTY_OBJECT),this._heightmapWidth=void 0,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._hasMetadata=!1,this._scheme=void 0,this._ellipsoid=o.ellipsoid,this._requestVertexNormals=ae(o.requestVertexNormals,!1),this._requestWaterMask=ae(o.requestWaterMask,!1),this._requestMetadata=ae(o.requestMetadata,!0),this._errorEvent=new ir;let A=o.credit;typeof A=="string"&&(A=new la(A)),this._credit=A,this._availability=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._layers=void 0,this._ready=!1,this._tileCredits=void 0,this._readyPromise=Promise.resolve(!0),k(o.url)&&($t("CesiumTerrainProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use CesiumTerrainProvider.fromIonAssetId or CesiumTerrainProvider.fromUrl instead."),this._readyPromise=Lx._initializeReadyPromise(o,this))}Lx._initializeReadyPromise=async function(o,A){let f=await Promise.resolve(o.url),m=new n_e(o),C=fr.createIfNeeded(f);return C.appendForwardSlash(),m.lastResource=C,m.layerJsonResource=m.lastResource.getDerivedResource({url:"layer.json"}),await Kte(m,A),m.build(A),!0};var eAe={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function Z3e(o){return!k(o)||o.length===0?{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"}:{Accept:`application/vnd.quantized-mesh;extensions=${o.join("-")},application/octet-stream;q=0.9,*/*;q=0.01`}}function Ufi(o,A,f,m,C){let E=new Uint16Array(A,0,o._heightmapWidth*o._heightmapWidth);return new DB({buffer:E,childTileMask:new Uint8Array(A,E.byteLength,1)[0],waterMask:new Uint8Array(A,E.byteLength+1,A.byteLength-E.byteLength-1),width:o._heightmapWidth,height:o._heightmapWidth,structure:o._heightmapStructure,credits:o._tileCredits,flattenPolygonHeight:o._flattenPolygonHeight,flattenPolygon:o._flattenPolygon})}function Ofi(o,A,f,m,C,E){let I=E.littleEndianExtensionSize,x=0,y=3,v=y+1,w=Float64Array.BYTES_PER_ELEMENT*y,Q=Float64Array.BYTES_PER_ELEMENT*v,M=3,B=Uint16Array.BYTES_PER_ELEMENT*M,D=3,S=Uint16Array.BYTES_PER_ELEMENT,P=S*D,R=new DataView(A),T=new Z(R.getFloat64(x,!0),R.getFloat64(x+8,!0),R.getFloat64(x+16,!0));x+=w;let L=R.getFloat32(x,!0);x+=Float32Array.BYTES_PER_ELEMENT;let F=R.getFloat32(x,!0);x+=Float32Array.BYTES_PER_ELEMENT;let U=new si(new Z(R.getFloat64(x,!0),R.getFloat64(x+8,!0),R.getFloat64(x+16,!0)),R.getFloat64(x+w,!0));x+=Q;let N=new Z(R.getFloat64(x,!0),R.getFloat64(x+8,!0),R.getFloat64(x+16,!0));x+=w;let H=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;let J=new Uint16Array(A,x,H*3);x+=H*B,H>64*1024&&(S=Uint32Array.BYTES_PER_ELEMENT,P=S*D);let K=J.subarray(0,H),X=J.subarray(H,2*H),j=J.subarray(H*2,3*H);Yl.zigZagDeltaDecode(K,X,j),x%S!==0&&(x+=S-x%S);let ee=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;let ie=fn.createTypedArrayFromArrayBuffer(H,A,x,ee*D);x+=ee*P;let z=0,oe=ie.length;for(let me=0;me<oe;++me){let Ce=ie[me];ie[me]=z-Ce,Ce===0&&++z}let le=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;let Ae=fn.createTypedArrayFromArrayBuffer(H,A,x,le);x+=le*S;let he=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;let ge=fn.createTypedArrayFromArrayBuffer(H,A,x,he);x+=he*S;let de=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;let fe=fn.createTypedArrayFromArrayBuffer(H,A,x,de);x+=de*S;let G=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;let Y=fn.createTypedArrayFromArrayBuffer(H,A,x,G);x+=G*S;let W,O;for(;x<R.byteLength;){let me=R.getUint8(x,!0);x+=Uint8Array.BYTES_PER_ELEMENT;let Ce=R.getUint32(x,I);if(x+=Uint32Array.BYTES_PER_ELEMENT,me===eAe.OCT_VERTEX_NORMALS&&o._requestVertexNormals)W=new Uint8Array(A,x,H*2);else if(me===eAe.WATER_MASK&&o._requestWaterMask)O=new Uint8Array(A,x,Ce);else if(me===eAe.METADATA&&o._requestMetadata){let ye=R.getUint32(x,!0);if(ye>0){let Be=Ap(new Uint8Array(A),x+Uint32Array.BYTES_PER_ELEMENT,ye).available;if(k(Be))for(let Me=0;Me<Be.length;++Me){let He=f+Me+1,ke=Be[Me],Ne=o._tilingScheme.getNumberOfYTilesAtLevel(He);for(let Pe=0;Pe<ke.length;++Pe){let we=ke[Pe],Fe=Ne-we.endY-1,Ue=Ne-we.startY-1;o.availability.addAvailableTileRange(He,we.startX,Fe,we.endX,Ue),E.availability.addAvailableTileRange(He,we.startX,Fe,we.endX,Ue)}}}E.availabilityTilesLoaded.addAvailableTileRange(f,m,C,m,C)}x+=Ce}let re=o.getLevelMaximumGeometricError(f)*5,se=o._tilingScheme.tileXYToRectangle(m,C,f),ce=MA.fromRectangle(se,L,F,o._tilingScheme.ellipsoid);return new Jte({center:T,minimumHeight:L,maximumHeight:F,boundingSphere:U,orientedBoundingBox:ce,horizonOcclusionPoint:N,quantizedVertices:J,encodedNormals:W,indices:ie,westIndices:Ae,southIndices:ge,eastIndices:fe,northIndices:Y,westSkirtHeight:re,southSkirtHeight:re,eastSkirtHeight:re,northSkirtHeight:re,childTileMask:o.availability.computeChildMaskForTile(f,m,C),waterMask:O,credits:o._tileCredits,flattenPolygonHeight:o._flattenPolygonHeight,flattenPolygon:o._flattenPolygon,flattenRectangle:{rectangle:se,minimumHeight:L,maximumHeight:F,ellipsoid:o._tilingScheme.ellipsoid}})}Lx.prototype.requestTileGeometry=function(o,A,f,m){let C=this._layers,E,I=C.length,x=!1,y=Promise.resolve();if(I===1)E=C[0];else for(let v=0;v<I;++v){let w=C[v];if(!k(w.availability)||w.availability.isTileAvailable(f,o,A)){E=w;break}let Q=o_e(this,o,A,f,w,v===0);Q.result&&(x=!0,y=y.then(()=>Q.promise))}return!k(E)&&x?y.then(()=>this.requestTileGeometry(o,A,f,m)):eje(this,o,A,f,E,m)};function eje(o,A,f,m,C,E){if(!k(C))return Promise.reject(new Ti("Terrain tile doesn't exist"));let I=C.tileUrlTemplates;if(I.length===0)return;let x;!o._scheme||o._scheme==="tms"?x=o._tilingScheme.getNumberOfYTilesAtLevel(m)-f-1:x=f;let y=[];o._requestVertexNormals&&C.hasVertexNormals&&y.push(C.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),o._requestWaterMask&&C.hasWaterMask&&y.push("watermask"),o._requestMetadata&&C.hasMetadata&&y.push("metadata");let v,w,Q=I[(A+x+m)%I.length],M=C.resource;k(M._ionEndpoint)&&!k(M._ionEndpoint.externalType)?(y.length!==0&&(w={extensions:y.join("-")}),v=Z3e(void 0)):v=Z3e(y);let B=M.getDerivedResource({url:Q,templateValues:{version:C.version,z:m,x:A,y:x},queryParameters:w,headers:v,request:E}).fetchArrayBuffer();if(k(B))return B.then(function(D){return k(D)?k(o._heightmapStructure)?Ufi(o,D,m,A,f):Ofi(o,D,m,A,f,C):Promise.reject(new Ti("Mesh buffer doesn't exist."))})}Object.defineProperties(Lx.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return $t("CesiumTerrainProvider.ready","CesiumTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use CesiumTerrainProvider.fromIonAssetId or CesiumTerrainProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return $t("CesiumTerrainProvider.readyPromise","CesiumTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use CesiumTerrainProvider.fromIonAssetId or CesiumTerrainProvider.fromUrl instead."),this._readyPromise}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});Lx.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};Lx.fromIonAssetId=async function(o,A){let f=await jy.fromAssetId(o);return Lx.fromUrl(f,A)};Lx.fromUrl=async function(o,A){A=ae(A,ae.EMPTY_OBJECT),o=await Promise.resolve(o);let f=fr.createIfNeeded(o);f.appendForwardSlash();let m=new n_e(A);m.lastResource=f,m.layerJsonResource=m.lastResource.getDerivedResource({url:"layer.json"}),await Kte(m);let C=new Lx(A);return m.build(C),C};Lx.prototype.getTileDataAvailable=function(o,A,f){if(!k(this._availability))return;if(f>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(f,o,A))return!0;if(!this._hasMetadata)return!1;let m=this._layers,C=m.length;for(let E=0;E<C;++E)if(o_e(this,o,A,f,m[E],E===0).result)return;return!1};Lx.prototype.loadTileDataAvailability=function(o,A,f){if(!k(this._availability)||f>this._availability._maximumLevel||this._availability.isTileAvailable(f,o,A)||!this._hasMetadata)return;let m=this._layers,C=m.length;for(let E=0;E<C;++E){let I=o_e(this,o,A,f,m[E],E===0);if(k(I.promise))return I.promise}};function _ce(o,A,f,m){if(m===0)return;let C=o.availabilityLevels,E=m%C===0?m-C:(m/C|0)*C,I=1<<m-E,x=A/I|0,y=f/I|0;return{level:E,x,y}}function o_e(o,A,f,m,C,E){if(!k(C.availabilityLevels))return{result:!1};let I,x=function(){delete C.availabilityPromiseCache[I]},y=C.availabilityTilesLoaded,v=C.availability,w=_ce(C,A,f,m);for(;k(w);){if(v.isTileAvailable(w.level,w.x,w.y)&&!y.isTileAvailable(w.level,w.x,w.y)){let Q;if(!E&&(I=`${w.level}-${w.x}-${w.y}`,Q=C.availabilityPromiseCache[I],!k(Q))){let M=new g0({throttle:!1,throttleByServer:!0,type:kx.TERRAIN});Q=eje(o,w.x,w.y,w.level,C,M),k(Q)&&(C.availabilityPromiseCache[I]=Q,Q.then(x))}return{result:!0,promise:Q}}w=_ce(C,w.x,w.y,w.level)}return{result:!1}}Lx._getAvailabilityTile=_ce;var GF=Lx;function HS(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.radius,f={center:o.center,semiMajorAxis:A,semiMinorAxis:A,ellipsoid:o.ellipsoid,height:o.height,extrudedHeight:o.extrudedHeight,granularity:o.granularity,vertexFormat:o.vertexFormat,stRotation:o.stRotation,shadowVolume:o.shadowVolume};this._ellipseGeometry=new lv(f),this._workerName="createCircleGeometry"}HS.packedLength=lv.packedLength;HS.pack=function(o,A,f){return lv.pack(o._ellipseGeometry,A,f)};var Gfi=new lv({center:new Z,semiMajorAxis:1,semiMinorAxis:1}),sm={center:new Z,radius:void 0,ellipsoid:gi.clone(gi.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new wr,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};HS.unpack=function(o,A,f){let m=lv.unpack(o,A,Gfi);return sm.center=Z.clone(m._center,sm.center),sm.ellipsoid=gi.clone(m._ellipsoid,sm.ellipsoid),sm.height=m._height,sm.extrudedHeight=m._extrudedHeight,sm.granularity=m._granularity,sm.vertexFormat=wr.clone(m._vertexFormat,sm.vertexFormat),sm.stRotation=m._stRotation,sm.shadowVolume=m._shadowVolume,k(f)?(sm.semiMajorAxis=m._semiMajorAxis,sm.semiMinorAxis=m._semiMinorAxis,f._ellipseGeometry=new lv(sm),f):(sm.radius=m._semiMajorAxis,new HS(sm))};HS.createGeometry=function(o){return lv.createGeometry(o._ellipseGeometry)};HS.createShadowVolume=function(o,A,f){let m=o._ellipseGeometry._granularity,C=o._ellipseGeometry._ellipsoid,E=A(m,C),I=f(m,C);return new HS({center:o._ellipseGeometry._center,radius:o._ellipseGeometry._semiMajorAxis,ellipsoid:C,stRotation:o._ellipseGeometry._stRotation,granularity:m,extrudedHeight:E,height:I,vertexFormat:wr.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(HS.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var tje=HS;function mO(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.radius,f={center:o.center,semiMajorAxis:A,semiMinorAxis:A,ellipsoid:o.ellipsoid,height:o.height,extrudedHeight:o.extrudedHeight,granularity:o.granularity,numberOfVerticalLines:o.numberOfVerticalLines};this._ellipseGeometry=new M1(f),this._workerName="createCircleOutlineGeometry"}mO.packedLength=M1.packedLength;mO.pack=function(o,A,f){return M1.pack(o._ellipseGeometry,A,f)};var Hfi=new M1({center:new Z,semiMajorAxis:1,semiMinorAxis:1}),ZI={center:new Z,radius:void 0,ellipsoid:gi.clone(gi.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};mO.unpack=function(o,A,f){let m=M1.unpack(o,A,Hfi);return ZI.center=Z.clone(m._center,ZI.center),ZI.ellipsoid=gi.clone(m._ellipsoid,ZI.ellipsoid),ZI.height=m._height,ZI.extrudedHeight=m._extrudedHeight,ZI.granularity=m._granularity,ZI.numberOfVerticalLines=m._numberOfVerticalLines,k(f)?(ZI.semiMajorAxis=m._semiMajorAxis,ZI.semiMinorAxis=m._semiMinorAxis,f._ellipseGeometry=new M1(ZI),f):(ZI.radius=m._semiMajorAxis,new mO(ZI))};mO.createGeometry=function(o){return M1.createGeometry(o._ellipseGeometry)};var ije=mO;function Vfi(o){$t("createWorldTerrain","createWorldTerrain was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use createWorldTerrainAsync instead."),o=ae(o,ae.EMPTY_OBJECT);let A=new GF({requestVertexNormals:ae(o.requestVertexNormals,!1),requestWaterMask:ae(o.requestWaterMask,!1)});return A._readyPromise=GF._initializeReadyPromise({url:jy.fromAssetId(1),requestVertexNormals:ae(o.requestVertexNormals,!1),requestWaterMask:ae(o.requestWaterMask,!1)},A),A}var rje=Vfi;function zfi(o){return o=ae(o,ae.EMPTY_OBJECT),GF.fromIonAssetId(1,{requestVertexNormals:ae(o.requestVertexNormals,!1),requestWaterMask:ae(o.requestWaterMask,!1)})}var Wte=zfi;function i6(o){o=ae(o,ae.EMPTY_OBJECT),this._callback=o.callback,this._tilingScheme=o.tilingScheme,k(this._tilingScheme)||(this._tilingScheme=new ph({ellipsoid:ae(o.ellipsoid,gi.WGS84)})),this._width=o.width,this._height=o.height;let A=Math.max(this._width,this._height);this._levelZeroMaximumGeometricError=_m.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,A,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new ir;let f=o.credit;typeof f=="string"&&(f=new la(f)),this._credit=f,this._ready=!0,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(i6.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return $t("CustomHeightmapTerrainProvider.ready","CustomHeightmapTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),!0}},readyPromise:{get:function(){return $t("CustomHeightmapTerrainProvider.readyPromise","CustomHeightmapTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});i6.prototype.requestTileGeometry=function(o,A,f,m){let C=this._callback(o,A,f);if(!k(C))return;let E=this._width,I=this._height;return Promise.resolve(C).then(function(x){let y=x;return Array.isArray(y)&&(y=new Float64Array(y)),new DB({buffer:y,width:E,height:I})})};i6.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};i6.prototype.getTileDataAvailable=function(o,A,f){};i6.prototype.loadTileDataAvailability=function(o,A,f){};var nje=i6,Yfi=1953029805,Jfi=2917034100;function a_e(o,A){if(a_e.passThroughDataForTesting)return A;let f=o.byteLength;if(f===0||f%4!==0)throw new Ti("The length of key must be greater than 0 and a multiple of 4.");let m=new DataView(A),C=m.getUint32(0,!0);if(C===Yfi||C===Jfi)return A;let E=new DataView(o),I=0,x=A.byteLength,y=x-x%8,v=f,w,Q=8;for(;I<y;)for(Q=(Q+8)%24,w=Q;I<y&&w<v;)m.setUint32(I,m.getUint32(I,!0)^E.getUint32(w,!0),!0),m.setUint32(I+4,m.getUint32(I+4,!0)^E.getUint32(w+4,!0),!0),I+=8,w+=24;if(I<x)for(w>=v&&(Q=(Q+8)%24,w=Q);I<x;)m.setUint8(I,m.getUint8(I)^E.getUint8(w)),I++,w++}a_e.passThroughDataForTesting=!1;var s_e=a_e;function oje(o){this.proxy=o}oje.prototype.getURL=function(o){let A=this.proxy.indexOf("?")===-1?"?":"";return this.proxy+A+encodeURIComponent(o)};var aje=oje;function uB(o){this._comparator=o.comparator,this._maximumLength=o.maximumLength,this._array=k(o.maximumLength)?new Array(o.maximumLength):[],this._length=0}Object.defineProperties(uB.prototype,{length:{get:function(){return this._length}},maximumLength:{get:function(){return this._maximumLength},set:function(o){if(k(o)){for(;this._length>o;)this.removeMinimum();this._array.length=o}this._maximumLength=o}},internalArray:{get:function(){return this._array}},comparator:{get:function(){return this._comparator}}});uB.prototype.clone=function(){let o=this._maximumLength,A=this._comparator,f=this._array,m=this._length,C=new uB({comparator:A,maximumLength:o});C._length=m;for(let E=0;E<m;E++)C._array[E]=f[E];return C};uB.prototype.reset=function(){this._length=0;let o=this._maximumLength;if(k(o))for(let A=0;A<o;A++)this._array[A]=void 0;else this._array.length=0};uB.prototype.resort=function(){let o=this._length;for(let A=0;A<o;A++)sje(this,A)};uB.prototype.insert=function(o){let A,f=this._maximumLength;if(k(f)){if(f===0)return;if(this._length===f){let C=this._array[0];if(this._comparator(o,C)<=0)return o;A=this.removeMinimum()}}let m=this._length;return this._array[m]=o,this._length++,sje(this,m),A};uB.prototype.removeMinimum=function(){let o=this._length;if(o===0)return;this._length--;let A=this._array[0];return o>=2&&(this._array[0]=this._array[o-1],lje(this,0)),this._array[o-1]=void 0,A};uB.prototype.removeMaximum=function(){let o=this._length;if(o===0)return;this._length--;let A;if(o<=2)A=this._array[o-1];else{let f=l_e(this,1,2)?1:2;A=this._array[f],this._array[f]=this._array[o-1],o>=4&&lje(this,f)}return this._array[o-1]=void 0,A};uB.prototype.getMinimum=function(){if(this._length!==0)return this._array[0]};uB.prototype.getMaximum=function(){let o=this._length;if(o!==0)return o<=2?this._array[o-1]:this._array[l_e(this,1,2)?1:2]};function qX(o,A,f){let m=o._array,C=m[A];m[A]=m[f],m[f]=C}function eV(o,A,f){return o._comparator(o._array[A],o._array[f])<0}function l_e(o,A,f){return o._comparator(o._array[A],o._array[f])>0}function sje(o,A){if(A===0)return;let f=Math.floor(De.log2(A+1))%2===0,m=Math.floor((A-1)/2),C=eV(o,A,m);for(C!==f&&(qX(o,A,m),A=m);A>=3;){let E=Math.floor((A-3)/4);if(eV(o,A,E)!==C)break;qX(o,A,E),A=E}}function lje(o,A){let f=o._length,m=Math.floor(De.log2(A+1))%2===0,C;for(;(C=2*A+1)<f;){let E=C,I=C+1;if(I<f){eV(o,I,E)===m&&(E=I);let x=2*C+1,y=Math.max(Math.min(f-x,4),0);for(let v=0;v<y;v++){let w=x+v;eV(o,w,E)===m&&(E=w)}}if(eV(o,E,A)===m&&(qX(o,E,A),E!==C&&E!==I)){let x=Math.floor((E-1)/2);l_e(o,E,x)===m&&qX(o,E,x)}A=E}}var qte=uB;function jte(){ni.throwInstantiationError()}Object.defineProperties(jte.prototype,{credit:{get:ni.throwInstantiationError}});jte.getCreditsFromResult=function(o){if(k(o.attributions))return o.attributions.map(la.getIonCredit)};jte.prototype.geocode=ni.throwInstantiationError;var Xte=jte,Kfi={SEARCH:0,AUTOCOMPLETE:1},NY=Object.freeze(Kfi);function Aje(){ni.throwInstantiationError()}Aje.createGeometry=function(o){ni.throwInstantiationError()};var uje=Aje,Wfi=Ku(CUe(),1);function qfi(o,A){return(o&A)!==0}var bx=qfi,jfi=[1,2,4,8],cje=15,Xfi=16,Zfi=64,$fi=128;function N1(o,A,f,m,C,E){this._bits=o,this.cnodeVersion=A,this.imageryVersion=f,this.terrainVersion=m,this.imageryProvider=C,this.terrainProvider=E,this.ancestorHasTerrain=!1,this.terrainState=void 0}N1.clone=function(o,A){return k(A)?(A._bits=o._bits,A.cnodeVersion=o.cnodeVersion,A.imageryVersion=o.imageryVersion,A.terrainVersion=o.terrainVersion,A.imageryProvider=o.imageryProvider,A.terrainProvider=o.terrainProvider):A=new N1(o._bits,o.cnodeVersion,o.imageryVersion,o.terrainVersion,o.imageryProvider,o.terrainProvider),A.ancestorHasTerrain=o.ancestorHasTerrain,A.terrainState=o.terrainState,A};N1.prototype.setParent=function(o){this.ancestorHasTerrain=o.ancestorHasTerrain||this.hasTerrain()};N1.prototype.hasSubtree=function(){return bx(this._bits,Xfi)};N1.prototype.hasImagery=function(){return bx(this._bits,Zfi)};N1.prototype.hasTerrain=function(){return bx(this._bits,$fi)};N1.prototype.hasChildren=function(){return bx(this._bits,cje)};N1.prototype.hasChild=function(o){return bx(this._bits,jfi[o])};N1.prototype.getChildBitmask=function(){return this._bits&cje};var A_e=N1;function e0i(o){let A=o.length,f=new ArrayBuffer(A),m=new Uint8Array(f);for(let C=0;C<A;++C)m[C]=o.charCodeAt(C);return f}var t0i=e0i(`E\xF4\xBD\vy\xE2jE"\x92,\xCDq\xF8IFgQ\0B%\xC6\xE8a,f)\b\xC64\xDCjb%y wmi\xD6\xF0\x9Ck\x93\xA1\xBDNu\xE0A[\xDF@V\f\xD9\xBBr\x9B\x81|3S\xEEOl\xD4q\xB0{\xC0\x7FEVZ\xADwUe\v3\x92*\xACl5\xC50s\xF83>mF8J\xB4\xDD\xF0.\xDDu\xDA\x8CDt"\xFAa"\f3"So\xAF9D\v\x8C9\xD99L\xB9\xBF\x7F\xAB\\\x8CP_\x9F"ux\xE9\x07q\x91h;\xC1\xC4\x9B\x7F\xF0<VqH\x82'UfYNe\x98u\xA3aF}a?A\0\x9F\xD7\xB44M\xCE\x87F\xB0\xD5\xB8\x8A'{\x8B\xDC+\xBBMg0\xC8\xD1\xF6\\\x8FP\xFA[/F\x9Bn5/'C.\xEB \f^\xA5s\x1Be4\xE5l.jC'c#U\xA9?q{gC}:\xAF\xCD\xE2TU\x9C\xFDK\xC6\xE2\x9F/(\xED\xCB\\\xC6-f\x07\x88\xA7;/*"N\xB0k.\xDD\r\x95}}G\xBAC\xB2\xB2+>M\xAA>}\xE6\xCEI\x89\xC6\xE6x\fa1-\xA4O\xA5~q \x88\xEC\r1\xE8N\v\0nPh}=\b\r\x95\xA6n\xA3h\x97$[k\xF3#\xF3\xB6s\xB3\r\v@\xC0\x9F\xD8Q]\xFA".j\xDFI\0\xB9\xA0wU\xC6\xEFj\xBF{GL\x7F\x83\xEE\xDC\xDCF\x85\xA9\xADS\x07+S4\x07\xFF\x94Y\xE48\xE81\x83N\xB9XFk\xCB-#\x86\x92p\x005\x88"\xCF1\xB2&/\xE7\xC3u-6,rt\xB0#G\xB7\xD3\xD1&\x857r\xE2\0\x8CD\xCF\xDA3-\xDE\`\x86i#i*|\xCDKQ\r\x95T9w.)\xEA\x1B\xA6P\xA2j\x8FoP\x99\\>T\xFB\xEFP[\v\x07E\x89m(w7\xDB\x8EJfJo\x99 \xE5p\xE2\xB9q~\fmI-z\xFEr\xC7\xF2Y0\x8F\xBB]s\xE5\xC9 \xEAx\xEC \x90\xF0\x8A\x7FB|G\`\xB0\xBD&\xB7q\xB6\xC7\x9F\xD13\x82=\xD3\xAB\xEEc\x99\xC8+S\xA0D\\q\xC6\xCCD2O<\xCA\xC0)=R\xD3aX\xA9}e\xB4\xDC\xCF\r\xF4=\xF1\b\xA9B\xDA# \xD8\xBF^PI\xF8M\xC0\xCBGLO\xF7{+\xD8\xC51\x92;\xB5o\xDCl\r\x92\x88\xD1\x9E\xDB?\xE2\xE9\xDA_\xD4\x84\xE2FaZ\xDEU\xCF\xA4\0\xBE\xFD\xCEg\xF1Ji\x97\xE6 H\xD8]\x7F~\xAEq N\xAE\xC0V\xA9\x91<\x82r\xE7v\xEC)I\xD6]-\x83\xE3\xDB6\xA9;f\x97\x87j\xD5\xB6=P^R\xB9K\xC7sWx\xC9\xF4.Y\x07\x95\x93o\xD0KW>''\xC7\`\xDB;\xED\x9ASD>?\x8D\x92mw\xA2 \xEB?R\xA8\xC6U^1I7\x85\xF4\xC5&-\xA9\xBF\x8B'T\xDA\xC3j \xE5*x\xB0\xD6\x90pr\xAA\x8Bh\xBD\x88\xF7_H\xB1~\xC0XL?f\xF9>\xE1e\xC0p\xA7\xCF8i\xAF\xF0VldI\x9C'\xADxtO\xC2\x87\xDEV9\0\xDAw\v\xCB-\x1B\x89\xFB5O\xF5\bQ\`\xC1 ZGM&30x\xDA\xC0\x9CFG\xE2[y\`In7gS >\xE9\xECF9\xB2\xF14\r\xC6\x84Sun\xE1\fY\xD9\xDE)\x85{II\xA5wy\xBEIV.6\xE7\v:\xBBOb{\xD2M1\x95/\xBD8{\xA8O!\xE1\xECFpv\x95})"x\x88 \x90\xDD\x9D\\\xDA\xDEQ\xCF\xF0\xFCYRe|3\xDF\xF3H\xDA\xBB*u\xDB\`\xB2\xD4\xFC\xED\x1B\xEC\x7F5\xA8\xFF(1\x07-\xC8\xDC\x88F|\x8A["`);function Fx(o){if(this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=De.EPSILON12,this.providers={},this.key=void 0,this._resource=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={},this._readyPromise=Promise.resolve(!0),k(o)){$t("GoogleEarthEnterpriseMetadata options.url","GoogleEarthEnterpriseMetadata constructor parmeter resourceOrUrl was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseMetadata.fromUrl instead.");let A=o;typeof A!="string"&&!(A instanceof fr)&&(A=o.url);let f=fr.createIfNeeded(A);f.appendForwardSlash(),this._resource=f;let m=this;this._readyPromise=dje(this).then(function(){return m.getQuadTreePacket("",m._quadPacketVersion)}).then(function(){return!0}).catch(function(C){let E=`An error occurred while accessing ${u_e(m,"",1).url}.`;return Promise.reject(new Ti(E))})}}Object.defineProperties(Fx.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}},readyPromise:{get:function(){return $t("GoogleEarthEnterpriseMetadata.readyPromise","GoogleEarthEnterpriseMetadata.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseMetadata.fromUrl instead."),this._readyPromise}}});Fx.fromUrl=async function(o){let A=o;typeof A!="string"&&!(A instanceof fr)&&(A=o.url);let f=fr.createIfNeeded(A);f.appendForwardSlash();let m=new Fx;m._resource=f;try{await dje(m),await m.getQuadTreePacket("",m._quadPacketVersion)}catch(C){let E=`An error occurred while accessing ${u_e(m,"",1).url}: ${C}`;throw new Ti(E)}return m};Fx.tileXYToQuadKey=function(o,A,f){let m="";for(let C=f;C>=0;--C){let E=1<<C,I=0;bx(A,E)?bx(o,E)&&(I|=1):(I|=2,bx(o,E)||(I|=1)),m+=I}return m};Fx.quadKeyToTileXY=function(o){let A=0,f=0,m=o.length-1;for(let C=m;C>=0;--C){let E=1<<C,I=+o[m-C];bx(I,2)?bx(I,1)||(A|=E):(f|=E,bx(I,1)&&(A|=E))}return{x:A,y:f,level:m}};Fx.prototype.isValid=function(o){let A=this.getTileInformationFromQuadKey(o);if(k(A))return A!==null;let f=!0,m=o,C;for(;m.length>1;)if(C=m.substring(m.length-1),m=m.substring(0,m.length-1),A=this.getTileInformationFromQuadKey(m),k(A)){!A.hasSubtree()&&!A.hasChild(parseInt(C))&&(f=!1);break}else if(A===null){f=!1;break}return f};var hje=new Yh("decodeGoogleEarthEnterprisePacket");Fx.prototype.getQuadTreePacket=function(o,A,f){A=ae(A,1),o=ae(o,"");let m=u_e(this,o,A,f).fetchArrayBuffer();if(!k(m))return;let C=this._tileInfo,E=this.key;return m.then(function(I){return hje.scheduleTask({buffer:I,quadKey:o,type:"Metadata",key:E},[I]).then(function(x){let y,v=-1;if(o!==""){v=o.length+1;let M=x[o];y=C[o],y._bits|=M._bits,delete x[o]}let w=Object.keys(x);w.sort(function(M,B){return M.length-B.length});let Q=w.length;for(let M=0;M<Q;++M){let B=w[M];if(x[B]!==null){let D=A_e.clone(x[B]),S=B.length;if(S===v)D.setParent(y);else if(S>1){let P=C[B.substring(0,B.length-1)];D.setParent(P)}C[B]=D}else C[B]=null}})})};Fx.prototype.populateSubtree=function(o,A,f,m){let C=Fx.tileXYToQuadKey(o,A,f);return Bce(this,C,m)};function Bce(o,A,f){let m=o._tileInfo,C=A,E=m[C];if(k(E)&&(!E.hasSubtree()||E.hasChildren()))return E;for(;E===void 0&&C.length>1;)C=C.substring(0,C.length-1),E=m[C];let I,x=o._subtreePromises,y=x[C];if(k(y))return y.then(function(){return I=new g0({throttle:f.throttle,throttleByServer:f.throttleByServer,type:f.type,priorityFunction:f.priorityFunction}),Bce(o,A,I)});if(!k(E)||!E.hasSubtree())return Promise.reject(new Ti(`Couldn't load metadata for tile ${A}`));if(y=o.getQuadTreePacket(C,E.cnodeVersion,f),!!k(y))return x[C]=y,y.then(function(){return I=new g0({throttle:f.throttle,throttleByServer:f.throttleByServer,type:f.type,priorityFunction:f.priorityFunction}),Bce(o,A,I)}).finally(function(){delete x[C]})}Fx.prototype.getTileInformation=function(o,A,f){let m=Fx.tileXYToQuadKey(o,A,f);return this._tileInfo[m]};Fx.prototype.getTileInformationFromQuadKey=function(o){return this._tileInfo[o]};function u_e(o,A,f,m){return o._resource.getDerivedResource({url:`flatfile?q2-0${A}-q.${f.toString()}`,request:m})}var tAe,iAe;function dje(o){let A=o._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});if(!k(iAe)){let f=Ja("ThirdParty/google-earth-dbroot-parser.js"),m=window.cesiumGoogleEarthDbRootParser;iAe=PZ(f).then(function(){tAe=window.cesiumGoogleEarthDbRootParser(Wfi),k(m)?window.cesiumGoogleEarthDbRootParser=m:delete window.cesiumGoogleEarthDbRootParser})}return iAe.then(function(){return A.fetchArrayBuffer()}).then(function(f){let m=tAe.EncryptedDbRootProto.decode(new Uint8Array(f)),C=m.encryptionData,E=C.byteOffset,I=E+C.byteLength,x=o.key=C.buffer.slice(E,I);C=m.dbrootData,E=C.byteOffset,I=E+C.byteLength;let y=C.buffer.slice(E,I);return hje.scheduleTask({buffer:y,type:"DbRoot",key:x},[y])}).then(function(f){let m=tAe.DbRootProto.decode(new Uint8Array(f.buffer));if(o.imageryPresent=ae(m.imageryPresent,o.imageryPresent),o.protoImagery=m.protoImagery,o.terrainPresent=ae(m.terrainPresent,o.terrainPresent),k(m.endSnippet)&&k(m.endSnippet.model)){let x=m.endSnippet.model;o.negativeAltitudeExponentBias=ae(x.negativeAltitudeExponentBias,o.negativeAltitudeExponentBias),o.negativeAltitudeThreshold=ae(x.compressedNegativeAltitudeThreshold,o.negativeAltitudeThreshold)}k(m.databaseVersion)&&(o._quadPacketVersion=ae(m.databaseVersion.quadtreeVersion,o._quadPacketVersion));let C=o.providers,E=ae(m.providerInfo,[]),I=E.length;for(let x=0;x<I;++x){let y=E[x],v=y.copyrightString;k(v)&&(C[y.providerId]=new la(v.value))}}).catch(function(){console.log(`Failed to retrieve ${A.url}. Using defaults.`),o.key=t0i})}var _P=Fx;function JN(o){o=ae(o,ae.EMPTY_OBJECT),this._buffer=o.buffer,this._credits=o.credits,this._negativeAltitudeExponentBias=o.negativeAltitudeExponentBias,this._negativeElevationThreshold=o.negativeElevationThreshold;let A=ae(o.childTileMask,15),f=A&3;f|=A&4?8:0,f|=A&8?4:0,this._childTileMask=f,this._createdByUpsampling=ae(o.createdByUpsampling,!1),this._skirtHeight=void 0,this._bufferType=this._buffer.constructor,this._mesh=void 0,this._minimumHeight=void 0,this._maximumHeight=void 0}Object.defineProperties(JN.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){}}});var gje="createVerticesFromGoogleEarthEnterpriseBuffer",i0i=new Yh(gje),r0i=new Yh(gje,MN.maximumAsynchronousTasks),$3e=new hi,rAe=new hi;JN.prototype.createMesh=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.tilingScheme,f=o.x,m=o.y,C=o.level,E=ae(o.exaggeration,1),I=ae(o.exaggerationRelativeHeight,0),x=ae(o.throttle,!0),y=A.ellipsoid;A.tileXYToNativeRectangle(f,m,C,$3e),A.tileXYToRectangle(f,m,C,rAe);let v=y.cartographicToCartesian(hi.center(rAe)),w=40075.16/(1<<C);this._skirtHeight=Math.min(w*8,1e3);let Q=(x?r0i:i0i).scheduleTask({buffer:this._buffer,nativeRectangle:$3e,rectangle:rAe,relativeToCenter:v,ellipsoid:y,skirtHeight:this._skirtHeight,exaggeration:E,exaggerationRelativeHeight:I,includeWebMercatorT:!0,negativeAltitudeExponentBias:this._negativeAltitudeExponentBias,negativeElevationThreshold:this._negativeElevationThreshold});if(!k(Q))return;let M=this;return Q.then(function(B){return M._mesh=new TN(v,new Float32Array(B.vertices),new Uint16Array(B.indices),B.indexCountWithoutSkirts,B.vertexCountWithoutSkirts,B.minimumHeight,B.maximumHeight,si.clone(B.boundingSphere3D),Z.clone(B.occludeePointInScaledSpace),B.numberOfAttributes,MA.clone(B.orientedBoundingBox),NS.clone(B.encoding),B.westIndicesSouthToNorth,B.southIndicesEastToWest,B.eastIndicesNorthToSouth,B.northIndicesWestToEast),M._minimumHeight=B.minimumHeight,M._maximumHeight=B.maximumHeight,M._buffer=void 0,M._mesh})};JN.prototype.interpolateHeight=function(o,A,f){let m=De.clamp((A-o.west)/o.width,0,1),C=De.clamp((f-o.south)/o.height,0,1);return k(this._mesh)?l0i(this,m,C):c0i(this,m,C,o)};var n0i=new Yh("upsampleQuantizedTerrainMesh",MN.maximumAsynchronousTasks);JN.prototype.upsample=function(o,A,f,m,C,E,I){let x=this._mesh;if(!k(this._mesh))return;let y=A*2!==C,v=f*2===E,w=o.ellipsoid,Q=o.tileXYToRectangle(C,E,I),M=n0i.scheduleTask({vertices:x.vertices,indices:x.indices,indexCountWithoutSkirts:x.indexCountWithoutSkirts,vertexCountWithoutSkirts:x.vertexCountWithoutSkirts,encoding:x.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:y,isNorthChild:v,childRectangle:Q,ellipsoid:w});if(!k(M))return;let B=this;return M.then(function(D){let S=new Uint16Array(D.vertices),P=fn.createTypedArray(S.length/3,D.indices),R=B._skirtHeight;return new Jte({quantizedVertices:S,indices:P,minimumHeight:D.minimumHeight,maximumHeight:D.maximumHeight,boundingSphere:si.clone(D.boundingSphere),orientedBoundingBox:MA.clone(D.orientedBoundingBox),horizonOcclusionPoint:Z.clone(D.horizonOcclusionPoint),westIndices:D.westIndices,southIndices:D.southIndices,eastIndices:D.eastIndices,northIndices:D.northIndices,westSkirtHeight:R,southSkirtHeight:R,eastSkirtHeight:R,northSkirtHeight:R,childTileMask:0,createdByUpsampling:!0,credits:B._credits})})};JN.prototype.isChildAvailable=function(o,A,f,m){let C=2;return f!==o*2&&++C,m!==A*2&&(C-=2),(this._childTileMask&1<<C)!==0};JN.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var o0i=new tt,a0i=new tt,s0i=new tt,fje=new Z;function l0i(o,A,f){let m=o._mesh,C=m.vertices,E=m.encoding,I=m.indices;for(let x=0,y=I.length;x<y;x+=3){let v=I[x],w=I[x+1],Q=I[x+2],M=E.decodeTextureCoordinates(C,v,o0i),B=E.decodeTextureCoordinates(C,w,a0i),D=E.decodeTextureCoordinates(C,Q,s0i),S=t6.computeBarycentricCoordinates(A,f,M.x,M.y,B.x,B.y,D.x,D.y,fje);if(S.x>=-1e-15&&S.y>=-1e-15&&S.z>=-1e-15){let P=E.decodeHeight(C,v),R=E.decodeHeight(C,w),T=E.decodeHeight(C,Q);return S.x*P+S.y*R+S.z*T}}}var A0i=Uint16Array.BYTES_PER_ELEMENT,eke=Uint32Array.BYTES_PER_ELEMENT,nAe=Int32Array.BYTES_PER_ELEMENT,u0i=Float32Array.BYTES_PER_ELEMENT,oAe=Float64Array.BYTES_PER_ELEMENT;function c0i(o,A,f,m){let C=o._buffer,E=0,I=0,x=0;f>.5?(A>.5?(E=2,I=.5):E=3,x=.5):A>.5&&(E=1,I=.5);let y=new DataView(C),v=0;for(let U=0;U<E;++U)v+=y.getUint32(v,!0),v+=eke;v+=eke,v+=2*oAe;let w=De.toRadians(y.getFloat64(v,!0)*180);v+=oAe;let Q=De.toRadians(y.getFloat64(v,!0)*180);v+=oAe;let M=m.width/w/2,B=m.height/Q/2,D=y.getInt32(v,!0);v+=nAe;let S=y.getInt32(v,!0)*3;v+=nAe,v+=nAe;let P=new Array(D),R=new Array(D),T=new Array(D),L;for(L=0;L<D;++L)P[L]=I+y.getUint8(v++)*M,R[L]=x+y.getUint8(v++)*B,T[L]=y.getFloat32(v,!0)*6371010,v+=u0i;let F=new Array(S);for(L=0;L<S;++L)F[L]=y.getUint16(v,!0),v+=A0i;for(L=0;L<S;L+=3){let U=F[L],N=F[L+1],H=F[L+2],J=P[U],K=P[N],X=P[H],j=R[U],ee=R[N],ie=R[H],z=t6.computeBarycentricCoordinates(A,f,J,j,K,ee,X,ie,fje);if(z.x>=-1e-15&&z.y>=-1e-15&&z.z>=-1e-15)return z.x*T[U]+z.y*T[N]+z.z*T[H]}}var jX=JN,Ly={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},rq=new jt;function Zte(){this._terrainCache={},this._lastTidy=jt.now()}Zte.prototype.add=function(o,A){this._terrainCache[o]={buffer:A,timestamp:jt.now()}};Zte.prototype.get=function(o){let A=this._terrainCache[o];if(k(A))return delete this._terrainCache[o],A.buffer};Zte.prototype.tidy=function(){if(jt.now(rq),jt.secondsDifference(rq,this._lastTidy)>10){let o=this._terrainCache,A=Object.keys(o),f=A.length;for(let m=0;m<f;++m){let C=A[m],E=o[C];jt.secondsDifference(rq,E.timestamp)>10&&delete o[C]}jt.clone(rq,this._lastTidy)}};function Y2(o){o=ae(o,ae.EMPTY_OBJECT),this._tilingScheme=new ph({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new hi(-De.PI,-De.PI,De.PI,De.PI),ellipsoid:o.ellipsoid});let A=o.credit;if(typeof A=="string"&&(A=new la(A)),this._credit=A,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new Zte,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new ir,this._ready=!1,k(o.url)){$t("GoogleEarthEnterpriseTerrainProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseTerrainProvider.fromMetadata instead.");let f=fr.createIfNeeded(o.url),m=this,C;this._readyPromise=_P.fromUrl(f).then(E=>{if(!E.terrainPresent){let I=new Ti(`The server ${E.url} doesn't have terrain`);return Promise.reject(I)}return Wc.reportSuccess(C),m._metadata=E,m._ready=!0,!0}).catch(E=>{throw C=Wc.reportError(C,m,m._errorEvent,E.message,void 0,void 0,void 0,E),E})}else if(k(o.metadata)){$t("GoogleEarthEnterpriseTerrainProvider options.metadata","options.metadata was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseTerrainProvider.fromMetadata instead.");let f=o.metadata;this._metadata=f;let m=this;this._readyPromise=Promise.resolve(this._metadata._readyPromise).then(()=>{if(!f.terrainPresent)throw new Ti(`The server ${f.url} doesn't have terrain`);m._ready=!0})}}Object.defineProperties(Y2.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return $t("GoogleEarthEnterpriseTerrainProvider.ready","GoogleEarthEnterpriseTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._ready}},readyPromise:{get:function(){return $t("GoogleEarthEnterpriseTerrainProvider.readyPromise","GoogleEarthEnterpriseTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});Y2.fromMetadata=function(o,A){if(!o.terrainPresent)throw new Ti(`The server ${o.url} doesn't have terrain`);let f=new Y2(A);return f._metadata=o,f._readyPromise=Promise.resolve(!0),f._ready=!0,f};var h0i=new Yh("decodeGoogleEarthEnterprisePacket");function tke(o,A,f){let m=A.getChildBitmask();if(A.terrainState===Ly.PARENT){m=0;for(let C=0;C<4;++C){let E=f.getTileInformationFromQuadKey(o+C.toString());k(E)&&E.hasTerrain()&&(m|=1<<C)}}return m}Y2.prototype.requestTileGeometry=function(o,A,f,m){let C=_P.tileXYToQuadKey(o,A,f),E=this._terrainCache,I=this._metadata,x=I.getTileInformationFromQuadKey(C);if(!k(x))return Promise.reject(new Ti("Terrain tile doesn't exist"));let y=x.terrainState;k(y)||(y=x.terrainState=Ly.UNKNOWN);let v=E.get(C);if(k(v)){let R=I.providers[x.terrainProvider];return Promise.resolve(new jX({buffer:v,childTileMask:tke(C,x,I),credits:k(R)?[R]:void 0,negativeAltitudeExponentBias:I.negativeAltitudeExponentBias,negativeElevationThreshold:I.negativeAltitudeThreshold}))}if(E.tidy(),x.ancestorHasTerrain){if(y===Ly.NONE)return Promise.reject(new Ti("Terrain tile doesn't exist"))}else return Promise.resolve(new DB({buffer:new Uint8Array(16*16),width:16,height:16}));let w,Q=C,M=-1;switch(y){case Ly.SELF:M=x.terrainVersion;break;case Ly.PARENT:Q=Q.substring(0,Q.length-1),w=I.getTileInformationFromQuadKey(Q),M=w.terrainVersion;break;case Ly.UNKNOWN:x.hasTerrain()?M=x.terrainVersion:(Q=Q.substring(0,Q.length-1),w=I.getTileInformationFromQuadKey(Q),k(w)&&w.hasTerrain()&&(M=w.terrainVersion));break}if(M<0)return Promise.reject(new Ti("Terrain tile doesn't exist"));let B=this._terrainPromises,D=this._terrainRequests,S,P;if(k(B[Q]))S=B[Q],P=D[Q];else{P=m;let R=d0i(this,Q,M,P).fetchArrayBuffer();if(!k(R))return;S=R.then(function(T){return k(T)?h0i.scheduleTask({buffer:T,type:"Terrain",key:I.key},[T]).then(function(L){let F=I.getTileInformationFromQuadKey(Q);F.terrainState=Ly.SELF,E.add(Q,L[0]);let U=F.terrainProvider,N=L.length-1;for(let H=0;H<N;++H){let J=Q+H.toString(),K=I.getTileInformationFromQuadKey(J);k(K)&&(E.add(J,L[H+1]),K.terrainState=Ly.PARENT,K.terrainProvider===0&&(K.terrainProvider=U))}}):Promise.reject(new Ti("Failed to load terrain."))}),B[Q]=S,D[Q]=P,S=S.finally(function(){delete B[Q],delete D[Q]})}return S.then(function(){let R=E.get(C);if(k(R)){let T=I.providers[x.terrainProvider];return new jX({buffer:R,childTileMask:tke(C,x,I),credits:k(T)?[T]:void 0,negativeAltitudeExponentBias:I.negativeAltitudeExponentBias,negativeElevationThreshold:I.negativeAltitudeThreshold})}return Promise.reject(new Ti("Failed to load terrain."))}).catch(function(R){return P.state===SA.CANCELLED?(m.state=P.state,Promise.reject(R)):(x.terrainState=Ly.NONE,Promise.reject(R))})};Y2.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};Y2.prototype.getTileDataAvailable=function(o,A,f){let m=this._metadata,C=_P.tileXYToQuadKey(o,A,f),E=m.getTileInformation(o,A,f);if(E===null)return!1;if(k(E)){if(!E.ancestorHasTerrain)return!0;let I=E.terrainState;if(I===Ly.NONE)return!1;if((!k(I)||I===Ly.UNKNOWN)&&(E.terrainState=Ly.UNKNOWN,!E.hasTerrain())){C=C.substring(0,C.length-1);let x=m.getTileInformationFromQuadKey(C);if(!k(x)||!x.hasTerrain())return!1}return!0}if(m.isValid(C)){let I=new g0({throttle:!1,throttleByServer:!0,type:kx.TERRAIN});m.populateSubtree(o,A,f,I)}return!1};Y2.prototype.loadTileDataAvailability=function(o,A,f){};function d0i(o,A,f,m){return f=k(f)&&f>0?f:1,o._metadata.resource.getDerivedResource({url:`flatfile?f1c-0${A}-t.${f.toString()}`,request:m})}var pje=Y2,nq,mje="AIzaSyBqCv5lozjjhtIQ_pZuj2obyAL9bTJdY28",$te={};$te.defaultApiKey=mje;$te.mapTilesApiEndpoint=new fr({url:"https://tile.googleapis.com/v1/"});$te.getDefaultApiKeyCredit=function(o){if(o===mje){if(!k(nq)){let A=`<b> This application is using CesiumJS's default Google Maps API key. Please assign <i>Cesium.GoogleMaps.defaultApiKey</i> with <a href="https://developers.google.com/maps/documentation/embed/get-api-key">your API key for the Google Maps Platform</a>.</b>`;nq=new la(A,!0),nq._isDefaultToken=!0}return nq}};var tV=$te,kY={};kY.type=void 0;kY.getRequiredDataPoints=ni.throwInstantiationError;kY.interpolateOrderZero=ni.throwInstantiationError;kY.interpolate=ni.throwInstantiationError;var Cje=kY;function c_e(o){this._url=fr.createIfNeeded(o),this._url.appendForwardSlash()}Object.defineProperties(c_e.prototype,{url:{get:function(){return this._url}},credit:{get:function(){}}});c_e.prototype.geocode=async function(o,A){return this._url.getDerivedResource({url:A===NY.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:o}}).fetchJson().then(function(f){return f.features.map(function(m){let C,E=m.bbox;if(k(E))C=hi.fromDegrees(E[0],E[1],E[2],E[3]);else{let I=m.geometry.coordinates[0],x=m.geometry.coordinates[1];C=Z.fromDegrees(I,x)}return{displayName:m.properties.label,destination:C,attributions:f.attributions}})})};var h_e=c_e;function d_e(o){o=ae(o,ae.EMPTY_OBJECT);let A=ae(o.accessToken,jT.defaultAccessToken),f=fr.createIfNeeded(ae(o.server,jT.defaultServer));f.appendForwardSlash();let m=jT.getDefaultTokenCredit(A);k(m)&&o.scene.frameState.creditDisplay.addStaticCredit(la.clone(m));let C=f.getDerivedResource({url:"v1/geocode"});k(A)&&C.appendQueryParameters({access_token:A}),this._accessToken=A,this._server=f,this._pelias=new h_e(C)}Object.defineProperties(d_e.prototype,{credit:{get:function(){}}});d_e.prototype.geocode=async function(o,A){return this._pelias.geocode(o,A)};var g_e=d_e,g0i=new Yh("transcodeCRNToDXT",Number.POSITIVE_INFINITY);function f0i(o){let A;if(o instanceof ArrayBuffer||ArrayBuffer.isView(o)?A=Promise.resolve(o):A=fr.createIfNeeded(o).fetchArrayBuffer(),!!k(A))return A.then(function(f){if(!k(f))return;let m=[];return f instanceof ArrayBuffer?m.push(f):(f.byteOffset===0&&f.byteLength===f.buffer.byteLength||(f=f.slice(0,f.length)),m.push(f.buffer)),g0i.scheduleTask(f,m)}).then(function(f){return O9.clone(f)})}var Eje=f0i;function eie(){ni.throwInstantiationError()}Object.defineProperties(eie.prototype,{ellipsoid:{get:ni.throwInstantiationError}});eie.prototype.project=ni.throwInstantiationError;eie.prototype.unproject=ni.throwInstantiationError;var Ije=eie;function r6(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.weights,f=o.times;this._times=f,this._weights=A,this._count=A.length/f.length,this._lastTimeIndex=0}Object.defineProperties(r6.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}});r6.prototype.findTimeInterval=Ih.prototype.findTimeInterval;r6.prototype.wrapTime=Ih.prototype.wrapTime;r6.prototype.clampTime=Ih.prototype.clampTime;r6.prototype.evaluate=function(o,A){let f=this.weights,m=this.times,C=this._lastTimeIndex=this.findTimeInterval(o,this._lastTimeIndex),E=(o-m[C])/(m[C+1]-m[C]);k(A)||(A=new Array(this._count));for(let I=0;I<this._count;I++){let x=C*this._count+I;A[I]=f[x]*(1-E)+f[x+this._count]*E}return A};var xje=r6;function f_e(o,A,f){o=fr.createIfNeeded(o),o.appendForwardSlash(),o.setQueryParameters({key:A}),this._url=o,this._params=ae(f,{}),this._credit=new la('Geodata copyright <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors',!1)}Object.defineProperties(f_e.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}},credit:{get:function(){return this._credit}}});f_e.prototype.geocode=async function(o){return this._url.getDerivedResource({url:"json",queryParameters:yo(this._params,{q:o})}).fetchJson().then(function(A){return A.results.map(function(f){let m,C=f.bounds;if(k(C))m=hi.fromDegrees(C.southwest.lng,C.southwest.lat,C.northeast.lng,C.northeast.lat);else{let E=f.geometry.lat,I=f.geometry.lng;m=Z.fromDegrees(E,I)}return{displayName:f.formatted,destination:m}})})};var yje=f_e,p0i={packedLength:void 0,pack:ni.throwInstantiationError,unpack:ni.throwInstantiationError},vje=p0i,m0i={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:ni.throwInstantiationError,unpackInterpolationResult:ni.throwInstantiationError},_je=m0i,C0i=new Z;function E0i(o,A,f,m){let C=o$(o,A,f,m,C0i);return k(C)?C.x>0&&C.y>0&&C.z>0:!1}var Bje=E0i;function wje(){ni.throwInstantiationError()}wje.prototype.getURL=ni.throwInstantiationError;var bje=wje;function I0i(o,A,f,m,C,E,I){let x=Vu.numberOfPoints(o,A,C),y,v=f.red,w=f.green,Q=f.blue,M=f.alpha,B=m.red,D=m.green,S=m.blue,P=m.alpha;if(qe.equals(f,m)){for(y=0;y<x;y++)E[I++]=qe.floatToByte(v),E[I++]=qe.floatToByte(w),E[I++]=qe.floatToByte(Q),E[I++]=qe.floatToByte(M);return I}let R=(B-v)/x,T=(D-w)/x,L=(S-Q)/x,F=(P-M)/x,U=I;for(y=0;y<x;y++)E[U++]=qe.floatToByte(v+y*R),E[U++]=qe.floatToByte(w+y*T),E[U++]=qe.floatToByte(Q+y*L),E[U++]=qe.floatToByte(M+y*F);return U}function g9(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.positions,f=o.colors,m=ae(o.colorsPerVertex,!1);this._positions=A,this._colors=f,this._colorsPerVertex=m,this._arcType=ae(o.arcType,aa.GEODESIC),this._granularity=ae(o.granularity,De.RADIANS_PER_DEGREE),this._ellipsoid=ae(o.ellipsoid,gi.WGS84),this._workerName="createSimplePolylineGeometry";let C=1+A.length*Z.packedLength;C+=k(f)?1+f.length*qe.packedLength:1,this.packedLength=C+gi.packedLength+3}g9.pack=function(o,A,f){f=ae(f,0);let m,C=o._positions,E=C.length;for(A[f++]=E,m=0;m<E;++m,f+=Z.packedLength)Z.pack(C[m],A,f);let I=o._colors;for(E=k(I)?I.length:0,A[f++]=E,m=0;m<E;++m,f+=qe.packedLength)qe.pack(I[m],A,f);return gi.pack(o._ellipsoid,A,f),f+=gi.packedLength,A[f++]=o._colorsPerVertex?1:0,A[f++]=o._arcType,A[f]=o._granularity,A};g9.unpack=function(o,A,f){A=ae(A,0);let m,C=o[A++],E=new Array(C);for(m=0;m<C;++m,A+=Z.packedLength)E[m]=Z.unpack(o,A);C=o[A++];let I=C>0?new Array(C):void 0;for(m=0;m<C;++m,A+=qe.packedLength)I[m]=qe.unpack(o,A);let x=gi.unpack(o,A);A+=gi.packedLength;let y=o[A++]===1,v=o[A++],w=o[A];return k(f)?(f._positions=E,f._colors=I,f._ellipsoid=x,f._colorsPerVertex=y,f._arcType=v,f._granularity=w,f):new g9({positions:E,colors:I,ellipsoid:x,colorsPerVertex:y,arcType:v,granularity:w})};var Aj=new Array(2),uj=new Array(2),x0i={positions:Aj,height:uj,ellipsoid:void 0,minDistance:void 0,granularity:void 0};g9.createGeometry=function(o){let A=o._positions,f=o._colors,m=o._colorsPerVertex,C=o._arcType,E=o._granularity,I=o._ellipsoid,x=De.chordLength(E,I.maximumRadius),y=k(f)&&!m,v,w=A.length,Q,M,B,D,S=0;if(C===aa.GEODESIC||C===aa.RHUMB){let F,U,N;C===aa.GEODESIC?(F=De.chordLength(E,I.maximumRadius),U=Vu.numberOfPoints,N=Vu.generateArc):(F=E,U=Vu.numberOfPointsRhumbLine,N=Vu.generateRhumbArc);let H=Vu.extractHeights(A,I),J=x0i;if(C===aa.GEODESIC?J.minDistance=x:J.granularity=E,J.ellipsoid=I,y){let K=0;for(v=0;v<w-1;v++)K+=U(A[v],A[v+1],F)+1;Q=new Float64Array(K*3),B=new Uint8Array(K*4),J.positions=Aj,J.height=uj;let X=0;for(v=0;v<w-1;++v){Aj[0]=A[v],Aj[1]=A[v+1],uj[0]=H[v],uj[1]=H[v+1];let j=N(J);if(k(f)){let ee=j.length/3;D=f[v];for(let ie=0;ie<ee;++ie)B[X++]=qe.floatToByte(D.red),B[X++]=qe.floatToByte(D.green),B[X++]=qe.floatToByte(D.blue),B[X++]=qe.floatToByte(D.alpha)}Q.set(j,S),S+=j.length}}else if(J.positions=A,J.height=H,Q=new Float64Array(N(J)),k(f)){for(B=new Uint8Array(Q.length/3*4),v=0;v<w-1;++v){let X=A[v],j=A[v+1],ee=f[v],ie=f[v+1];S=I0i(X,j,ee,ie,x,B,S)}let K=f[w-1];B[S++]=qe.floatToByte(K.red),B[S++]=qe.floatToByte(K.green),B[S++]=qe.floatToByte(K.blue),B[S++]=qe.floatToByte(K.alpha)}}else{M=y?w*2-2:w,Q=new Float64Array(M*3),B=k(f)?new Uint8Array(M*4):void 0;let F=0,U=0;for(v=0;v<w;++v){let N=A[v];if(y&&v>0&&(Z.pack(N,Q,F),F+=3,D=f[v-1],B[U++]=qe.floatToByte(D.red),B[U++]=qe.floatToByte(D.green),B[U++]=qe.floatToByte(D.blue),B[U++]=qe.floatToByte(D.alpha)),y&&v===w-1)break;Z.pack(N,Q,F),F+=3,k(f)&&(D=f[v],B[U++]=qe.floatToByte(D.red),B[U++]=qe.floatToByte(D.green),B[U++]=qe.floatToByte(D.blue),B[U++]=qe.floatToByte(D.alpha))}}let P=new vA;P.position=new Br({componentDatatype:Mt.DOUBLE,componentsPerAttribute:3,values:Q}),k(f)&&(P.color=new Br({componentDatatype:Mt.UNSIGNED_BYTE,componentsPerAttribute:4,values:B,normalize:!0})),M=Q.length/3;let R=(M-1)*2,T=fn.createTypedArray(M,R),L=0;for(v=0;v<M-1;++v)T[L++]=v,T[L++]=v+1;return new Bo({attributes:P,indices:T,primitiveType:$r.LINES,boundingSphere:si.fromPoints(A)})};var Qje=g9;function CO(o){let A=ae(o.radius,1),f={radii:new Z(A,A,A),stackPartitions:o.stackPartitions,slicePartitions:o.slicePartitions,vertexFormat:o.vertexFormat};this._ellipsoidGeometry=new I0(f),this._workerName="createSphereGeometry"}CO.packedLength=I0.packedLength;CO.pack=function(o,A,f){return I0.pack(o._ellipsoidGeometry,A,f)};var y0i=new I0,gT={radius:void 0,radii:new Z,vertexFormat:new wr,stackPartitions:void 0,slicePartitions:void 0};CO.unpack=function(o,A,f){let m=I0.unpack(o,A,y0i);return gT.vertexFormat=wr.clone(m._vertexFormat,gT.vertexFormat),gT.stackPartitions=m._stackPartitions,gT.slicePartitions=m._slicePartitions,k(f)?(Z.clone(m._radii,gT.radii),f._ellipsoidGeometry=new I0(gT),f):(gT.radius=m._radii.x,new CO(gT))};CO.createGeometry=function(o){return I0.createGeometry(o._ellipsoidGeometry)};var Sje=CO;function BP(o){}Object.defineProperties(BP.prototype,{ellipsoid:{get:ni.throwInstantiationError},rectangle:{get:ni.throwInstantiationError},projection:{get:ni.throwInstantiationError}});BP.prototype.getNumberOfXTilesAtLevel=ni.throwInstantiationError;BP.prototype.getNumberOfYTilesAtLevel=ni.throwInstantiationError;BP.prototype.rectangleToNativeRectangle=ni.throwInstantiationError;BP.prototype.tileXYToNativeRectangle=ni.throwInstantiationError;BP.prototype.tileXYToRectangle=ni.throwInstantiationError;BP.prototype.positionToTileXY=ni.throwInstantiationError;var Dje=BP;function HF(o){o=ae(o,ae.EMPTY_OBJECT),this._clock=void 0,this._element=void 0,this._clockSubscription=void 0,this._seekFunction=void 0,this._lastPlaybackRate=void 0,this.clock=o.clock,this.element=o.element,this.epoch=ae(o.epoch,Zr.MINIMUM_VALUE),this.tolerance=ae(o.tolerance,1),this._seeking=!1,this._seekFunction=void 0,this._firstTickAfterSeek=!1}Object.defineProperties(HF.prototype,{clock:{get:function(){return this._clock},set:function(o){let A=this._clock;A!==o&&(k(A)&&(this._clockSubscription(),this._clockSubscription=void 0),k(o)&&(this._clockSubscription=o.onTick.addEventListener(HF.prototype._onTick,this)),this._clock=o)}},element:{get:function(){return this._element},set:function(o){let A=this._element;A!==o&&(k(A)&&A.removeEventListener("seeked",this._seekFunction,!1),k(o)&&(this._seeking=!1,this._seekFunction=v0i(this),o.addEventListener("seeked",this._seekFunction,!1)),this._element=o,this._seeking=!1,this._firstTickAfterSeek=!1)}}});HF.prototype.destroy=function(){return this.element=void 0,this.clock=void 0,ar(this)};HF.prototype.isDestroyed=function(){return!1};HF.prototype._trySetPlaybackRate=function(o){if(this._lastPlaybackRate===o.multiplier)return;let A=this._element;try{A.playbackRate=o.multiplier}catch{A.playbackRate=0}this._lastPlaybackRate=o.multiplier};HF.prototype._onTick=function(o){let A=this._element;if(!k(A)||A.readyState<2)return;let f=A.paused,m=o.shouldAnimate;if(m===f&&(m?A.play():A.pause()),this._seeking||this._firstTickAfterSeek){this._firstTickAfterSeek=!1;return}this._trySetPlaybackRate(o);let C=o.currentTime,E=ae(this.epoch,Zr.MINIMUM_VALUE),I=jt.secondsDifference(C,E),x=A.duration,y,v=A.currentTime;A.loop?(I=I%x,I<0&&(I=x-I),y=I):I>x?y=x:I<0?y=0:y=I;let w=m?ae(this.tolerance,1):.001;Math.abs(y-v)>w&&(this._seeking=!0,A.currentTime=y)};function v0i(o){return function(){o._seeking=!1,o._firstTickAfterSeek=!0}}var Mje=HF;function _0i(o,A){this.rectangle=o,this.maxLevel=A}function p_e(o){this.ellipsoid=ae(o.ellipsoid,gi.WGS84),this.tilingScheme=void 0,this.heightmapWidth=void 0,this.heightmapHeight=void 0,this.levelZeroMaximumGeometricError=void 0,this.rectangles=[]}p_e.prototype.build=function(o){o._tilingScheme=this.tilingScheme,o._heightmapWidth=this.heightmapWidth,o._heightmapHeight=this.heightmapHeight,o._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,o._rectangles=this.rectangles,o._ready=!0};function B0i(o,A){let f=A.getElementsByTagName("SRS")[0].textContent;if(f==="EPSG:4326")o.tilingScheme=new ph({ellipsoid:o.ellipsoid});else throw new Ti(`SRS ${f} is not supported`);let m=A.getElementsByTagName("TileFormat")[0];o.heightmapWidth=parseInt(m.getAttribute("width"),10),o.heightmapHeight=parseInt(m.getAttribute("height"),10),o.levelZeroMaximumGeometricError=_m.getEstimatedLevelZeroGeometricErrorForAHeightmap(o.ellipsoid,Math.min(o.heightmapWidth,o.heightmapHeight),o.tilingScheme.getNumberOfXTilesAtLevel(0));let C=A.getElementsByTagName("DataExtent");for(let E=0;E<C.length;++E){let I=C[E],x=De.toRadians(parseFloat(I.getAttribute("minx"))),y=De.toRadians(parseFloat(I.getAttribute("miny"))),v=De.toRadians(parseFloat(I.getAttribute("maxx"))),w=De.toRadians(parseFloat(I.getAttribute("maxy"))),Q=parseInt(I.getAttribute("maxlevel"),10);o.rectangles.push(new _0i(new hi(x,y,v,w),Q))}}function w0i(o,A,f){let m=`An error occurred while accessing ${o.url}`;throw k(A)&&k(A.message)&&(m=`${m}: ${A.message}`),Wc.reportError(void 0,f,k(f)?f._errorEvent:void 0,m),new Ti(m)}async function Tje(o,A,f){try{let m=await A.fetchXML();B0i(o,m)}catch(m){w0i(A,m,f)}}function J2(o){o=ae(o,ae.EMPTY_OBJECT),this._errorEvent=new ir,this._ready=!1,this._terrainDataStructure={heightScale:1/1e3,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0,lowestEncodedHeight:0,highestEncodedHeight:256*256*256-1};let A=o.credit;if(typeof A=="string"&&(A=new la(A)),this._credit=A,this._tilingScheme=void 0,this._rectangles=[],k(o.url)){$t("VRTheWorldTerrainProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. VRTheWorldTerrainProvider.fromUrl instead.");let f=this,m=new p_e(o),C=fr.createIfNeeded(o.url);this._resource=C,this._readyPromise=Tje(m,C,f).then(()=>(m.build(f),!0))}}Object.defineProperties(J2.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return $t("VRTheWorldTerrainProvider.ready","VRTheWorldTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use VRTheWorldTerrainProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return $t("VRTheWorldTerrainProvider.readyPromise","VRTheWorldTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use VRTheWorldTerrainProvider.fromUrl instead."),this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});J2.fromUrl=async function(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=new p_e(A),m=fr.createIfNeeded(o);await Tje(f,m);let C=new J2(A);return f.build(C),C._resource=m,C};J2.prototype.requestTileGeometry=function(o,A,f,m){let C=this._tilingScheme.getNumberOfYTilesAtLevel(f),E=this._resource.getDerivedResource({url:`${f}/${o}/${C-A-1}.tif`,queryParameters:{cesium:!0},request:m}).fetchImage({preferImageBitmap:!0});if(!k(E))return;let I=this;return Promise.resolve(E).then(function(x){return new DB({buffer:gF(x),width:I._heightmapWidth,height:I._heightmapHeight,childTileMask:b0i(I,o,A,f),structure:I._terrainDataStructure})})};J2.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};var Pje=new hi;function b0i(o,A,f,m){let C=o._tilingScheme,E=o._rectangles,I=C.tileXYToRectangle(A,f,m),x=0;for(let y=0;y<E.length&&x!==15;++y){let v=E[y];if(v.maxLevel<=m)continue;let w=v.rectangle,Q=hi.intersection(w,I,Pje);k(Q)&&(oq(C,w,A*2,f*2,m+1)&&(x|=4),oq(C,w,A*2+1,f*2,m+1)&&(x|=8),oq(C,w,A*2,f*2+1,m+1)&&(x|=1),oq(C,w,A*2+1,f*2+1,m+1)&&(x|=2))}return x}function oq(o,A,f,m,C){let E=o.tileXYToRectangle(f,m,C);return k(hi.intersection(E,A,Pje))}J2.prototype.getTileDataAvailable=function(o,A,f){};J2.prototype.loadTileDataAvailability=function(o,A,f){};var Rje=J2,Q0i={VK_FORMAT_UNDEFINED:0,VK_FORMAT_R4G4_UNORM_PACK8:1,VK_FORMAT_R4G4B4A4_UNORM_PACK16:2,VK_FORMAT_B4G4R4A4_UNORM_PACK16:3,VK_FORMAT_R5G6B5_UNORM_PACK16:4,VK_FORMAT_B5G6R5_UNORM_PACK16:5,VK_FORMAT_R5G5B5A1_UNORM_PACK16:6,VK_FORMAT_B5G5R5A1_UNORM_PACK16:7,VK_FORMAT_A1R5G5B5_UNORM_PACK16:8,VK_FORMAT_R8_UNORM:9,VK_FORMAT_R8_SNORM:10,VK_FORMAT_R8_USCALED:11,VK_FORMAT_R8_SSCALED:12,VK_FORMAT_R8_UINT:13,VK_FORMAT_R8_SINT:14,VK_FORMAT_R8_SRGB:15,VK_FORMAT_R8G8_UNORM:16,VK_FORMAT_R8G8_SNORM:17,VK_FORMAT_R8G8_USCALED:18,VK_FORMAT_R8G8_SSCALED:19,VK_FORMAT_R8G8_UINT:20,VK_FORMAT_R8G8_SINT:21,VK_FORMAT_R8G8_SRGB:22,VK_FORMAT_R8G8B8_UNORM:23,VK_FORMAT_R8G8B8_SNORM:24,VK_FORMAT_R8G8B8_USCALED:25,VK_FORMAT_R8G8B8_SSCALED:26,VK_FORMAT_R8G8B8_UINT:27,VK_FORMAT_R8G8B8_SINT:28,VK_FORMAT_R8G8B8_SRGB:29,VK_FORMAT_B8G8R8_UNORM:30,VK_FORMAT_B8G8R8_SNORM:31,VK_FORMAT_B8G8R8_USCALED:32,VK_FORMAT_B8G8R8_SSCALED:33,VK_FORMAT_B8G8R8_UINT:34,VK_FORMAT_B8G8R8_SINT:35,VK_FORMAT_B8G8R8_SRGB:36,VK_FORMAT_R8G8B8A8_UNORM:37,VK_FORMAT_R8G8B8A8_SNORM:38,VK_FORMAT_R8G8B8A8_USCALED:39,VK_FORMAT_R8G8B8A8_SSCALED:40,VK_FORMAT_R8G8B8A8_UINT:41,VK_FORMAT_R8G8B8A8_SINT:42,VK_FORMAT_R8G8B8A8_SRGB:43,VK_FORMAT_B8G8R8A8_UNORM:44,VK_FORMAT_B8G8R8A8_SNORM:45,VK_FORMAT_B8G8R8A8_USCALED:46,VK_FORMAT_B8G8R8A8_SSCALED:47,VK_FORMAT_B8G8R8A8_UINT:48,VK_FORMAT_B8G8R8A8_SINT:49,VK_FORMAT_B8G8R8A8_SRGB:50,VK_FORMAT_A8B8G8R8_UNORM_PACK32:51,VK_FORMAT_A8B8G8R8_SNORM_PACK32:52,VK_FORMAT_A8B8G8R8_USCALED_PACK32:53,VK_FORMAT_A8B8G8R8_SSCALED_PACK32:54,VK_FORMAT_A8B8G8R8_UINT_PACK32:55,VK_FORMAT_A8B8G8R8_SINT_PACK32:56,VK_FORMAT_A8B8G8R8_SRGB_PACK32:57,VK_FORMAT_A2R10G10B10_UNORM_PACK32:58,VK_FORMAT_A2R10G10B10_SNORM_PACK32:59,VK_FORMAT_A2R10G10B10_USCALED_PACK32:60,VK_FORMAT_A2R10G10B10_SSCALED_PACK32:61,VK_FORMAT_A2R10G10B10_UINT_PACK32:62,VK_FORMAT_A2R10G10B10_SINT_PACK32:63,VK_FORMAT_A2B10G10R10_UNORM_PACK32:64,VK_FORMAT_A2B10G10R10_SNORM_PACK32:65,VK_FORMAT_A2B10G10R10_USCALED_PACK32:66,VK_FORMAT_A2B10G10R10_SSCALED_PACK32:67,VK_FORMAT_A2B10G10R10_UINT_PACK32:68,VK_FORMAT_A2B10G10R10_SINT_PACK32:69,VK_FORMAT_R16_UNORM:70,VK_FORMAT_R16_SNORM:71,VK_FORMAT_R16_USCALED:72,VK_FORMAT_R16_SSCALED:73,VK_FORMAT_R16_UINT:74,VK_FORMAT_R16_SINT:75,VK_FORMAT_R16_SFLOAT:76,VK_FORMAT_R16G16_UNORM:77,VK_FORMAT_R16G16_SNORM:78,VK_FORMAT_R16G16_USCALED:79,VK_FORMAT_R16G16_SSCALED:80,VK_FORMAT_R16G16_UINT:81,VK_FORMAT_R16G16_SINT:82,VK_FORMAT_R16G16_SFLOAT:83,VK_FORMAT_R16G16B16_UNORM:84,VK_FORMAT_R16G16B16_SNORM:85,VK_FORMAT_R16G16B16_USCALED:86,VK_FORMAT_R16G16B16_SSCALED:87,VK_FORMAT_R16G16B16_UINT:88,VK_FORMAT_R16G16B16_SINT:89,VK_FORMAT_R16G16B16_SFLOAT:90,VK_FORMAT_R16G16B16A16_UNORM:91,VK_FORMAT_R16G16B16A16_SNORM:92,VK_FORMAT_R16G16B16A16_USCALED:93,VK_FORMAT_R16G16B16A16_SSCALED:94,VK_FORMAT_R16G16B16A16_UINT:95,VK_FORMAT_R16G16B16A16_SINT:96,VK_FORMAT_R16G16B16A16_SFLOAT:97,VK_FORMAT_R32_UINT:98,VK_FORMAT_R32_SINT:99,VK_FORMAT_R32_SFLOAT:100,VK_FORMAT_R32G32_UINT:101,VK_FORMAT_R32G32_SINT:102,VK_FORMAT_R32G32_SFLOAT:103,VK_FORMAT_R32G32B32_UINT:104,VK_FORMAT_R32G32B32_SINT:105,VK_FORMAT_R32G32B32_SFLOAT:106,VK_FORMAT_R32G32B32A32_UINT:107,VK_FORMAT_R32G32B32A32_SINT:108,VK_FORMAT_R32G32B32A32_SFLOAT:109,VK_FORMAT_R64_UINT:110,VK_FORMAT_R64_SINT:111,VK_FORMAT_R64_SFLOAT:112,VK_FORMAT_R64G64_UINT:113,VK_FORMAT_R64G64_SINT:114,VK_FORMAT_R64G64_SFLOAT:115,VK_FORMAT_R64G64B64_UINT:116,VK_FORMAT_R64G64B64_SINT:117,VK_FORMAT_R64G64B64_SFLOAT:118,VK_FORMAT_R64G64B64A64_UINT:119,VK_FORMAT_R64G64B64A64_SINT:120,VK_FORMAT_R64G64B64A64_SFLOAT:121,VK_FORMAT_B10G11R11_UFLOAT_PACK32:122,VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:123,VK_FORMAT_D16_UNORM:124,VK_FORMAT_X8_D24_UNORM_PACK32:125,VK_FORMAT_D32_SFLOAT:126,VK_FORMAT_S8_UINT:127,VK_FORMAT_D16_UNORM_S8_UINT:128,VK_FORMAT_D24_UNORM_S8_UINT:129,VK_FORMAT_D32_SFLOAT_S8_UINT:130,VK_FORMAT_BC1_RGB_UNORM_BLOCK:131,VK_FORMAT_BC1_RGB_SRGB_BLOCK:132,VK_FORMAT_BC1_RGBA_UNORM_BLOCK:133,VK_FORMAT_BC1_RGBA_SRGB_BLOCK:134,VK_FORMAT_BC2_UNORM_BLOCK:135,VK_FORMAT_BC2_SRGB_BLOCK:136,VK_FORMAT_BC3_UNORM_BLOCK:137,VK_FORMAT_BC3_SRGB_BLOCK:138,VK_FORMAT_BC4_UNORM_BLOCK:139,VK_FORMAT_BC4_SNORM_BLOCK:140,VK_FORMAT_BC5_UNORM_BLOCK:141,VK_FORMAT_BC5_SNORM_BLOCK:142,VK_FORMAT_BC6H_UFLOAT_BLOCK:143,VK_FORMAT_BC6H_SFLOAT_BLOCK:144,VK_FORMAT_BC7_UNORM_BLOCK:145,VK_FORMAT_BC7_SRGB_BLOCK:146,VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:147,VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:148,VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:149,VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:150,VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:151,VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:152,VK_FORMAT_EAC_R11_UNORM_BLOCK:153,VK_FORMAT_EAC_R11_SNORM_BLOCK:154,VK_FORMAT_EAC_R11G11_UNORM_BLOCK:155,VK_FORMAT_EAC_R11G11_SNORM_BLOCK:156,VK_FORMAT_ASTC_4x4_UNORM_BLOCK:157,VK_FORMAT_ASTC_4x4_SRGB_BLOCK:158,VK_FORMAT_ASTC_5x4_UNORM_BLOCK:159,VK_FORMAT_ASTC_5x4_SRGB_BLOCK:160,VK_FORMAT_ASTC_5x5_UNORM_BLOCK:161,VK_FORMAT_ASTC_5x5_SRGB_BLOCK:162,VK_FORMAT_ASTC_6x5_UNORM_BLOCK:163,VK_FORMAT_ASTC_6x5_SRGB_BLOCK:164,VK_FORMAT_ASTC_6x6_UNORM_BLOCK:165,VK_FORMAT_ASTC_6x6_SRGB_BLOCK:166,VK_FORMAT_ASTC_8x5_UNORM_BLOCK:167,VK_FORMAT_ASTC_8x5_SRGB_BLOCK:168,VK_FORMAT_ASTC_8x6_UNORM_BLOCK:169,VK_FORMAT_ASTC_8x6_SRGB_BLOCK:170,VK_FORMAT_ASTC_8x8_UNORM_BLOCK:171,VK_FORMAT_ASTC_8x8_SRGB_BLOCK:172,VK_FORMAT_ASTC_10x5_UNORM_BLOCK:173,VK_FORMAT_ASTC_10x5_SRGB_BLOCK:174,VK_FORMAT_ASTC_10x6_UNORM_BLOCK:175,VK_FORMAT_ASTC_10x6_SRGB_BLOCK:176,VK_FORMAT_ASTC_10x8_UNORM_BLOCK:177,VK_FORMAT_ASTC_10x8_SRGB_BLOCK:178,VK_FORMAT_ASTC_10x10_UNORM_BLOCK:179,VK_FORMAT_ASTC_10x10_SRGB_BLOCK:180,VK_FORMAT_ASTC_12x10_UNORM_BLOCK:181,VK_FORMAT_ASTC_12x10_SRGB_BLOCK:182,VK_FORMAT_ASTC_12x12_UNORM_BLOCK:183,VK_FORMAT_ASTC_12x12_SRGB_BLOCK:184,VK_FORMAT_G8B8G8R8_422_UNORM:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:1000156006,VK_FORMAT_R10X6_UNORM_PACK16:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:1000156016,VK_FORMAT_R12X4_UNORM_PACK16:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:1000156033,VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:1000054e3,VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:1000054001,VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:1000054002,VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:1000054003,VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:1000054004,VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:1000054005,VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:1000054006,VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:1000054007,VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:1000066e3,VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:1000066001,VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:1000066002,VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:1000066003,VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:1000066004,VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:1000066005,VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:1000066006,VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:1000066007,VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:1000066008,VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:1000066009,VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:1000066010,VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:1000066011,VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:1000066012,VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:1000066013,VK_FORMAT_G8B8G8R8_422_UNORM_KHR:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM_KHR:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR:1000156006,VK_FORMAT_R10X6_UNORM_PACK16_KHR:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR:1000156016,VK_FORMAT_R12X4_UNORM_PACK16_KHR:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM_KHR:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM_KHR:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR:1000156033},Lje=Object.freeze(Q0i);function S0i(o){switch(o){case ri.FLOAT:return"float";case ri.FLOAT_VEC2:return"vec2";case ri.FLOAT_VEC3:return"vec3";case ri.FLOAT_VEC4:return"vec4";case ri.FLOAT_MAT2:return"mat2";case ri.FLOAT_MAT3:return"mat3";case ri.FLOAT_MAT4:return"mat4";case ri.SAMPLER_2D:return"sampler2D";case ri.BOOL:return"bool"}}var Fje=S0i;function D0i(o,A,f){return function(){f.apply(o,arguments),A.apply(o,arguments)}}var m_e=D0i,M0i=` precision highp sampler3D; uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform mat4 u_inversModelView; uniform mat4 u_inversModelMatrix; #define EPSILON 0.0001 #define PI 3.14159 #define MAX_ITERATION 256 // \u6700\u5927\u5FAA\u73AF\u6B21\u6570 #define SUN_STEPS 1 precision highp sampler2D; precision highp sampler3D; precision highp float; uniform sampler3D detail_map; uniform sampler3D detail_map_high; uniform sampler2D weather_map; uniform sampler2D blue_noise; uniform sampler2D mark_noise; vec3 skyMin = vec3( -0.5, -0.5, -0.5 ); // \u5929\u7A7A\u7684\u6700\u5C0F\u4F4D\u7F6E\uFF0C\u5DE6\u4E0B\u89D2 vec3 skyMax = vec3( 0.5, 0.5, 0.5 ); // \u5929\u7A7A\u7684\u6700\u5927\u4F4D\u7F6E\uFF0C\u53F3\u4E0A\u89D2 uniform float u_time; vec3 u_sunPosition; uniform bool wind_animation; uniform float wind_speed; uniform vec3 wind_direction; uniform vec3 sun_color; uniform float global_coverage; uniform float global_density; uniform float global_lightAbsorption; uniform float cloud_in_scatter; uniform float cloud_out_scatter; uniform float cloud_scatter_ratio; uniform float cloud_silver_intensity; uniform float cloud_silver_exponent; uniform float cloud_out_scatter_ambient; uniform float highlightScale; uniform float backScale; uniform float attenuationScale; bool use_blue_noise = true; bool use_quarter_update = false; float uvScale = 1.0; float getDistance(sampler2D depthTexture, vec2 texCoords) { float depth = czm_unpackDepth(texture(depthTexture, texCoords)); if (depth == 0.0) { return czm_infinity; } vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depth); return -eyeCoordinate.z / eyeCoordinate.w; } vec2 rayIntersectsBox(vec3 rayOrigin, vec3 rayDirection, vec3 boxMin, vec3 boxMax) { vec3 invRayDir = 1.0 / rayDirection; vec3 tMin = (boxMin - rayOrigin) * invRayDir; vec3 tMax = (boxMax - rayOrigin) * invRayDir; vec3 t1 = min(tMin, tMax); vec3 t2 = max(tMin, tMax); float tNear = max(max(t1.x, t1.y), t1.z); float tFar = min(min(t2.x, t2.y), t2.z); if (tFar < 0.0 || tNear > tFar) { return vec2(-1.0, -1.0); // no intersection } return vec2(tNear, tFar); // intersection } // \u91CD\u6620\u5C04,\u5C06v\u4ECElo\u6620\u5C04\u5230ho float R(float v, float lo, float ho, float ln, float hn) { return ln + (v - lo) * (hn - ln) / (ho - lo); } // \u5C06v\u9650\u5236\u57280.0~1.0\u4E4B\u95F4 float SAT(float v) { return clamp(v, 0.0, 1.0); } // \u7EBF\u6027\u5DEE\u503C float LERP(float v0, float v1, float i) { return (1.0 - i) * v0 + i * v1; } // \u968F\u7740\u9AD8\u5EA6\u53D8\u5316\uFF0C\u786E\u5B9A\u4E91\u603B\u4F53\u5F62\u72B6,SRb\u4F7F\u5E95\u90E8\u6241\u5E73,SRt\u4F7F\u9876\u90E8\u6E10\u6DE1 float HeightAlter(float ph, vec4 map) { // round bottom SRb\u4F7F\u5E95\u90E8\u6241\u5E73 float SRb = SAT(R(ph, 0.0 , 0.4, 0.0, 1.0)); // round top SRt\u4F7F\u9876\u90E8\u6E10\u6DE1 float w_h = SAT(map.b + 0.12); // \u6700\u9AD8\u4E91\u9AD8 float SRt = SAT(R(ph, w_h * 0.2, w_h, 1.0, 0.1)); return SRb * SRt; } // \u968F\u7740\u9AD8\u5EA6\u53D8\u5316,\u786E\u5B9A\u4E91\u6574\u4F53\u5BC6\u5EA6: DRb\u964D\u4F4E\u5E95\u90E8\u5BC6\u5EA6, DRt\u9876\u90E8\u5BC6\u5EA6\u6DE1\u51FA float DensityAlter(float p_h, vec4 map) { float g_d = global_density; // reduce density as base float DRb = p_h * SAT(R(p_h, 0.0, 0.2, 0.0, 1.0)); // reduce density at top float DRt = SAT(R(p_h, 0.9, 1.0, 1.0, 0.0)); // apply weather_map density float DA = g_d * DRb * DRt * map.a * 2.0; return DA; } // \u5728\u70B9\u7684\u4F4D\u7F6E\u5904\u91C7\u6837\u5BC6\u5EA6 float SampleDensity(vec3 p) { float density = 0.0; // \u5728\u5929\u7A7A\u4E2D\uFF0C\u4E91\u5C42\u7684\u9AD8\u5EA6 if(p.x > skyMin.x && p.x < skyMax.x && p.y > skyMin.y && p.y < skyMax.y && p.z > skyMin.z && p.z < skyMax.z) { // \u5750\u6807\u7531\u5929\u7A7A\u7684\u6700\u5C0F\u6700\u5927\u4F4D\u7F6E\u8F6C\u6362\u52300.0~1.0\u4E4B\u95F4 float u = R(p.x, skyMin.x, skyMax.x, 0.0, 1.0); float v = R(p.y, skyMin.y, skyMax.y, 0.0, 1.0); // \u4EE3\u8868\u9AD8\u5EA6 float w = R(p.z, skyMin.z, skyMax.z, 0.0, 1.0); // weather_map \u5929\u6C14\u56FE\u4FE1\u606F[r:\u4E91\u7684\u4F4E\u9891\u8986\u76D6\u7387\uFF0C g:\u4E91\u7684\u9AD8\u9891\u80A1\u6982\u7387,b\u7528\u4E8E\u8BA1\u7B97\u6700\u9AD8\u4E91\u9AD8,a:\u4E91\u7684\u5BC6\u5EA6] vec4 map = texture(weather_map, vec2(u + sin(u_time * 0.2), w + cos(u_time * 0.2)) * uvScale) ; //vec4 map = texture(weather_map, vec2(u, w)); // \u4E91\u51FA\u73B0\u7684\u6982\u7387 float g_c = global_coverage; float WM = SAT(max(map.r, SAT(g_c) * map.g * 2.0)); WM = WM < 0.2 ? WM : WM * 2.0; // \u786E\u5B9A\u4E91\u6574\u4F53\u5F62\u72B6 float SA = HeightAlter(v, map); //float SA = 0.4; // \u786E\u5B9A\u4E91\u6574\u4F53\u5BC6\u5EA6 float DA = DensityAlter(v, map); // detail_map \u7EC6\u8282\u566A\u58F0\u56FEPerlin-Worley[r:\u4F4E\u9891, g:\u4E2D\u9891, b: \u9AD8\u9891, a:\u66F4\u9AD8\u9891] // \u901A\u8FC7\u91C7\u6837,\u5E76\u8FDB\u884C\u52A0\u6743\u5E73\u5747,\u540E\u9762\u4F7F\u7528SN_sample\u503C\u53BB\u548C\u4E2D\u4F53\u5F62\u72B6\u53C2\u6570SA\u53BB\u4E58\u79EF,\u83B7\u5F97\u6700\u540E\u7684\u884C\u72B6\u503C, vec4 sn = texture(detail_map, 0.5 + 0.3 * vec3(p.x, p.y, p.z) * uvScale); float SN_sample = R(sn.r, (sn.g * 0.625 + sn.b * 0.25 + sn.a * 0.125) - 1.0, 1.0, 0.0, 1.0); vec4 dn = texture(detail_map_high, (wind_animation ? u_time * wind_speed * normalize(wind_direction): vec3(0.0)) + 0.75 * vec3(p.x, p.y, p.z) * uvScale); // \u5206\u578B\u5E03\u6717\u52A0\u6743\u5E73\u5747 float DN_fbm = dn.r * 0.625 + dn.g * 0.25 + dn.b * 0.125; density = SAT(R(SN_sample * SA * DN_fbm, 1.0 - WM, 1.0, 0.0, 1.0)) * DA; } return density; } float HG(float cosTheta, float g) { float g2 = g * g; return ((1.0 - g2) / pow(1.0 + g2 - 2.0 * g * cosTheta, 1.5)) / 4.0 * PI; } // \u6563\u5C04 float InOutScatter(float cosTheta, float exponent) { float hg1 = HG(cosTheta, cloud_in_scatter); float hg2 = cloud_silver_intensity * pow(SAT(cosTheta), exponent); float in_scatter_hg = max(hg1, hg2); float out_scatter_hg = HG(cosTheta, -cloud_out_scatter); return LERP(in_scatter_hg, out_scatter_hg, cloud_scatter_ratio); } // \u8870\u51CF float Attenuation(float densityToSun, float cosTheta) { float horizonFactor = pow(1.0 - abs(dot(normalize(u_sunPosition), vec3(0, 1, 0))), 2.0); float absorption = mix(0.2, global_lightAbsorption, horizonFactor); float prim = exp(-absorption * densityToSun); float scnd = exp(-absorption * 0.2) * 0.7; float checkval = R(cosTheta, 0.0, 1.0, scnd, scnd * 0.5); return max(checkval, prim); } float OutScatterAmbient(float density, float ph) { float depth = cloud_out_scatter_ambient * pow(density, R(ph, 0.3, 0.9, 0.5, 1.0)); float vertical = pow(SAT(R(ph, 0.0, 0.3, 0.8, 1.0)), 0.8); float out_scatter = depth * vertical; return 1.0 - SAT(out_scatter); } // \u706F\u5149\u6B65\u8FDB float LightMarch(vec3 p, float cosTheta) { // \u592A\u9633\u65B9\u5411 vec3 direction = normalize(u_sunPosition); // \u6B65\u957F1\u6B21 float stepSize = 0.25 * (skyMax.y - skyMin.y) / float(SUN_STEPS); float totalDensity = 0.0; for(int step = 0; step < SUN_STEPS; ++step) { // \u8BA1\u7B97\u65B9\u5411 p += direction * stepSize; // \u91C7\u6837\u5BC6\u5EA6 totalDensity += max(0.0, SampleDensity(p) * stepSize); } // \u8870\u51CF float transmittance = Attenuation(totalDensity, cosTheta); return transmittance; } void getColor(){ vec4 sceneColor = texture(colorTexture, v_textureCoordinates); // \u91C7\u6837\u80CC\u666F\u8272 vec4 out_color = sceneColor; // \u8BE5\u70B9\u7684\u5C04\u7EBF vec3 rayDir = czm_windowToEyeCoordinates(gl_FragCoord.xy, -1.0).xyz; rayDir = (u_inversModelView * vec4(rayDir, 0.0)).xyz; vec3 vOrigin = vec3(0.0,0.0,0.0); vOrigin = (u_inversModelView * vec4(vOrigin, 1.0)).xyz; // \u592A\u9633\u8F6C\u6362\u5230\u6A21\u578B\u7A7A\u95F4\u4E2D u_sunPosition = (u_inversModelMatrix * vec4(czm_sunDirectionWC, 0.0)).xzy; vec2 bounds = rayIntersectsBox(vOrigin, rayDir, skyMin, skyMax); if ( bounds.y > 0.0 ) { bounds.x = max( bounds.x, 0.0 ); // \u6DF1\u5EA6\u6BD4\u8F83 float distance = getDistance(depthTexture, v_textureCoordinates); if(distance > bounds.x){ // update pixel // \u4F7F\u7528\u56DB\u5206\u4E4B\u4E00\u66F4\u65B0\uFF1F\uFF1F //if (use_quarter_update && int(gl_FragCoord.y * 4.0 + gl_FragCoord.x) % 16 != updatePixel) { // return; //} // get ray direction into the scene \u83B7\u53D6\u5C04\u7EBF // \u8F6C\u6362\u5230-1~1\u7684\u4F4D\u7F6E //vec2 uv = (2.0 * gl_FragCoord.xy - resolution.xy) / resolution.xy; // \u76F8\u673A\u4F4D\u7F6E vec3 rayOrigin = vOrigin + bounds.x * rayDir; // \u5C04\u7EBF\u65B9\u5411 vec3 rayDirection = rayDir; rayOrigin = rayOrigin.xzy; rayDirection = rayDirection.xzy; // \u592A\u9633\u65B9\u5411 vec3 sunDirection = normalize(u_sunPosition); // \u592A\u9633\u4E0E\u5C04\u7EBF\u65B9\u5411 float cosTheta = dot(sunDirection, rayDirection); // ray march along the ray direction \u6CBF\u7740\u5C04\u7EBF\u65B9\u5411\u6B65\u8FDB float stepSize = 2.0; float dist_start = 0.0; // \u4F7F\u7528\u84DD\u566A\u58F0\uFF1F\uFF1F //if(use_blue_noise) // dist_start += (texture(blue_noise, uv).r - 0.5) * 2.0 * stepSize; float attenuation = 1.0; // \u8870\u51CF float totalDensity = 0.0; // \u603B\u7684\u5BC6\u5EA6 float distanceTravelled = dist_start; vec3 firstHit = vec3(1000); // far clipping plane \u8FDC\u88C1\u5207\u9762 // \u6700\u5927\u5FAA\u73AF\u6B21\u6570 for(float i = bounds.x; i < bounds.y; i += stepSize ) { // \u5C04\u7EBF\u65B9\u5411\u7684\u4F4D\u7F6E vec3 rayPosition = rayOrigin + rayDirection * distanceTravelled; // \u906E\u7F69 float rAlpha = 1.0-texture(mark_noise, rayPosition.xz + 0.5).r; rAlpha = rAlpha < 0.01 ? 0.0 : rAlpha; if(rayPosition.x < -0.499 || rayPosition.x > 0.499 || rayPosition.z < -0.499 || rayPosition.z > 0.499) { rAlpha = rAlpha * 0.1; } // \u7B80\u5355\u91C7\u6837 float density = SampleDensity(rayPosition) * rAlpha / stepSize; if(rayOrigin.y > 0.499) { density = sin(density) * 0.2; } // \u5BC6\u5EA6\u7D2F\u52A0 totalDensity += density; // \u5BC6\u5EA6\u9650\u5236 if(totalDensity >= 1.0) { totalDensity = 1.0; break; } if(density > 0.0) { // \u5BC6\u5EA6>0 // \u51FB\u4E2Dbox\u6700\u540E\u4E00\u4E2A\u70B9 if(firstHit == vec3(1000)) firstHit = rayPosition - rayDirection * dist_start; // \u706F\u5149\u6B65\u8FDB float transmittance = LightMarch(rayPosition, cosTheta); // \u5927\u6C14\u6563\u5C04 float scatter = OutScatterAmbient(density, R(rayPosition.y, skyMin.y, skyMax.y, 0.0, 1.0)); // \u8BA1\u7B97\u8870\u51CF attenuation *= transmittance * scatter * attenuationScale; } // \u6B65\u8FDB distanceTravelled += stepSize; } // calculate final color \u8BA1\u7B97\u6700\u540E\u7684\u989C\u8272 float horizonFactor = pow(1.0 - SAT(dot(sunDirection, vec3(0, 1, 0))), 2.0); vec3 sunColor = mix(vec3(0.83, 0.87, 0.9), vec3(0.89, 0.76, 0.59), horizonFactor); // \u6307\u6570 float exponent = mix(1.5, 2.3, horizonFactor); float highlight = LERP(1.0, InOutScatter(cosTheta, exponent), horizonFactor); vec3 color = sunColor * attenuation * highlight * pow(SAT(1.2 - horizonFactor), 0.5) * highlightScale; // gamma //color = pow( clamp(color*1.1-0.02,0.0,1.0), vec3(0.4545) ); // contrast \u5BF9\u6BD4\u5EA6 //color = color*color*(3.0-2.0*color); // \u6DF7\u5408\u6700\u7EC8\u7684\u989C\u8272 vec3 finalColor = mix(sceneColor.rgb, color, totalDensity * backScale ); // \u6700\u7EC8\u7684\u989C\u8272 out_color = vec4(finalColor, 1.0); } } float exposure = 2.0; out_color.rgb = vec3(1.0) - exp(-out_color.rgb * exposure); out_FragColor = out_color; } void main() { getColor(); } `;function ike(o,A,f,m){let C=new Uint8Array(A),E=Math.ceil(Math.sqrt(C.length));return new aIe({width:f,height:f,depth:f,context:o,pixelFormat:m?Jr.RGBA:Jr.RGB,pixelDataType:Gr.UNSIGNED_BYTE,source:{width:E,height:E,arrayBufferView:C},sampler:new Ra({wrapR:oa.MIRRORED_REPEAT,wrapS:oa.MIRRORED_REPEAT,wrapT:oa.MIRRORED_REPEAT,minificationFilter:ya.LINEAR,magnificationFilter:mu.LINEAR})})}function rke(o,A,f){let m=A;return new Rn({context:o,source:m,sampler:new Ra({wrapS:oa.MIRRORED_REPEAT,wrapT:oa.MIRRORED_REPEAT,minificationFilter:ya.LINEAR,magnificationFilter:mu.LINEAR})})}function T0i(o){let A=[],f=o.detail_noise_high,m=new fr({url:f,queryParameters:{format:"bin"}});A.push(m.fetchArrayBuffer());let C=o.detail_noise,E=new fr({url:C,queryParameters:{format:"bin"}});A.push(E.fetchArrayBuffer());let I=o.weather,x=new fr({url:I,queryParameters:{format:"png"}});A.push(x.fetchImage());let y=o.mark_noise,v=new fr({url:y,queryParameters:{format:"png"}});return A.push(v.fetchImage()),Promise.all(A)}function UY(o){this._coordinate=o.coordinate,this._modelMatrix=null,this._modelMatrixDirty=!0,this._cloudParam=o.cloudParam;let A=o.urls,f=o.viewer;this._viewer=f;let m=f.scene.camera.viewMatrix;this._enable=!0,this._postProcess=null;let C=this;T0i(A).then(function(E){let I=C.getUniforms(m,f.scene.context,E);C._postProcess=f.scene.postProcessStages.add(new Jo({fragmentShader:M0i,uniforms:I}))}).catch(function(E){console.log(E)})}UY.prototype.getModelMatrix=function(o){if(this._modelMatrixDirty){let A=o.cartographicPosition,f=o.height,m=o.size,C=Re.fromScale(m),E=Vr.eastNorthUpToFixedFrame(Z.fromDegrees(A.x,A.y));Re.multiply(E,C,C);let I=Re.fromTranslation(new Z(0,0,f));Re.multiply(I,C,C),this._modelMatrixDirty=!1,this._modelMatrix=C}return this._modelMatrix};UY.prototype.getUniforms=function(o,A,f){let m=new Re,C=new Re,E=new Re,I=0,x=null,y=null,v=null,w=null,Q=this;return{u_inversModelView:function(){let M=Q.getModelMatrix(Q._coordinate);return Re.multiply(o,M,m),Re.inverse(m,C),C},u_inversModelMatrix:function(){let M=Q.getModelMatrix(Q._coordinate);return Re.inverse(M,E),E},u_time:function(){return I+=.001,I},detail_map_high:function(){return y||(y=ike(A,f[0],32,!1)),y},detail_map:function(){return x||(x=ike(A,f[1],128,!0)),x},weather_map:function(){return v||(v=rke(A,f[2],512)),v},mark_noise:function(){return w||(w=rke(A,f[3],512)),w},wind_speed:function(){return Q._cloudParam.wind_speed},wind_direction:function(){let M=new tt;return M.x=Q._cloudParam.wind_direction_x,M.z=Q._cloudParam.wind_direction_z,M},global_coverage:function(){return Q._cloudParam.global_coverage},global_density:function(){return Q._cloudParam.global_density},global_lightAbsorption:function(){return Q._cloudParam.global_lightAbsorption},cloud_in_scatter:function(){return Q._cloudParam.cloud_in_scatter},cloud_out_scatter:function(){return Q._cloudParam.cloud_out_scatter},cloud_scatter_ratio:function(){return Q._cloudParam.cloud_scatter_ratio},cloud_silver_intensity:function(){return Q._cloudParam.cloud_silver_intensity},cloud_silver_exponent:function(){return Q._cloudParam.cloud_silver_exponent},cloud_out_scatter_ambient:function(){return Q._cloudParam.cloud_out_scatter_ambient},wind_animation:function(){return Q._cloudParam.wind_animation},use_blue_noise:function(){return Q._cloudParam.use_blue_noise},use_quarter_update:function(){return Q._cloudParam.use_quarter_update},highlightScale:function(){return Q._cloudParam.highlightScale},backScale:function(){return Q._cloudParam.backScale},attenuationScale:function(){return Q._cloudParam.attenuationScale}}};Object.defineProperties(UY.prototype,{enable:{set:function(o){this._enable=o}},coordinate:{get:function(){return this._coordinate}},cloudParam:{get:function(){return this._cloudParam}}});UY.prototype.update=function(){k(this._postProcess)&&this._enable&&(this._viewer.camera.positionCartographic.height>5e5?this._postProcess.enabled=!1:this._postProcess.enabled=!0)};var Nje=UY,P0i=new Z(1,1,1);function C_e(o){o=ae(o,P0i),this._dimensions=Z.clone(o)}Object.defineProperties(C_e.prototype,{dimensions:{get:function(){return this._dimensions},set:function(o){Z.clone(o,this._dimensions)}}});var R0i=new Z;C_e.prototype.emit=function(o){let A=this._dimensions,f=Z.multiplyByScalar(A,.5,R0i),m=De.randomBetween(-f.x,f.x),C=De.randomBetween(-f.y,f.y),E=De.randomBetween(-f.z,f.z);o.position=Z.fromElements(m,C,E,o.position),o.velocity=Z.normalize(o.position,o.velocity)};var kje=C_e,E_e=`// See Intersection.glsl for the definition of intersectScene // See IntersectionUtils.glsl for the definition of nextIntersection // See convertUvToBox.glsl, convertUvToCylinder.glsl, or convertUvToEllipsoid.glsl // for the definition of convertUvToShapeUvSpace. The appropriate function is // selected based on the VoxelPrimitive shape type, and added to the shader in // Scene/VoxelRenderResources.js. // See Octree.glsl for the definitions of TraversalData, SampleData, // traverseOctreeFromBeginning, and traverseOctreeFromExisting // See Megatexture.glsl for the definition of accumulatePropertiesFromMegatexture #define STEP_COUNT_MAX 1000 // Harcoded value because GLSL doesn't like variable length loops #define ALPHA_ACCUM_MAX 0.98 // Must be > 0.0 and <= 1.0 uniform mat3 u_transformDirectionViewToLocal; uniform vec3 u_cameraPositionUv; uniform float u_stepSize; #if defined(PICKING) uniform vec4 u_pickColor; #endif #if defined(JITTER) float hash(vec2 p) { vec3 p3 = fract(vec3(p.xyx) * 50.0); // magic number = hashscale p3 += dot(p3, p3.yzx + 19.19); return fract((p3.x + p3.y) * p3.z); } #endif vec4 getStepSize(in SampleData sampleData, in Ray viewRay, in RayShapeIntersection shapeIntersection) { #if defined(SHAPE_BOX) Box voxelBox = constructVoxelBox(sampleData.tileCoords, sampleData.tileUv); RayShapeIntersection voxelIntersection = intersectBox(viewRay, voxelBox); vec4 entry = shapeIntersection.entry.w >= voxelIntersection.entry.w ? shapeIntersection.entry : voxelIntersection.entry; float exit = min(voxelIntersection.exit.w, shapeIntersection.exit.w); float dt = (exit - entry.w) * RAY_SCALE; return vec4(normalize(entry.xyz), dt); #else float dimAtLevel = pow(2.0, float(sampleData.tileCoords.w)); return vec4(viewRay.dir, u_stepSize / dimAtLevel); #endif } void main() { vec4 fragCoord = gl_FragCoord; vec2 screenCoord = (fragCoord.xy - czm_viewport.xy) / czm_viewport.zw; // [0,1] vec3 eyeDirection = normalize(czm_windowToEyeCoordinates(fragCoord).xyz); vec3 viewDirWorld = normalize(czm_inverseViewRotation * eyeDirection); // normalize again just in case vec3 viewDirUv = normalize(u_transformDirectionViewToLocal * eyeDirection); // normalize again just in case vec3 viewPosUv = u_cameraPositionUv; #if defined(SHAPE_BOX) vec3 dInv = 1.0 / viewDirUv; Ray viewRayUv = Ray(viewPosUv, viewDirUv, dInv); #else Ray viewRayUv = Ray(viewPosUv, viewDirUv); #endif Intersections ix; RayShapeIntersection shapeIntersection = intersectScene(screenCoord, viewRayUv, ix); // Exit early if the scene was completely missed. if (shapeIntersection.entry.w == NO_HIT) { discard; } float currT = shapeIntersection.entry.w * RAY_SCALE; float endT = shapeIntersection.exit.w; vec3 positionUv = viewPosUv + currT * viewDirUv; vec3 positionUvShapeSpace = convertUvToShapeUvSpace(positionUv); // Traverse the tree from the start position TraversalData traversalData; SampleData sampleDatas[SAMPLE_COUNT]; traverseOctreeFromBeginning(positionUvShapeSpace, traversalData, sampleDatas); vec4 step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection); #if defined(JITTER) float noise = hash(screenCoord); // [0,1] currT += noise * step.w; positionUv += noise * step.w * viewDirUv; #endif FragmentInput fragmentInput; #if defined(STATISTICS) setStatistics(fragmentInput.metadata.statistics); #endif vec4 colorAccum =vec4(0.0); for (int stepCount = 0; stepCount < STEP_COUNT_MAX; ++stepCount) { // Read properties from the megatexture based on the traversal state Properties properties = accumulatePropertiesFromMegatexture(sampleDatas); // Prepare the custom shader inputs copyPropertiesToMetadata(properties, fragmentInput.metadata); fragmentInput.voxel.positionUv = positionUv; fragmentInput.voxel.positionShapeUv = positionUvShapeSpace; fragmentInput.voxel.positionUvLocal = sampleDatas[0].tileUv; fragmentInput.voxel.viewDirUv = viewDirUv; fragmentInput.voxel.viewDirWorld = viewDirWorld; fragmentInput.voxel.surfaceNormal = step.xyz; fragmentInput.voxel.travelDistance = step.w; // Run the custom shader czm_modelMaterial materialOutput; fragmentMain(fragmentInput, materialOutput); // Sanitize the custom shader output vec4 color = vec4(materialOutput.diffuse, materialOutput.alpha); color.rgb = max(color.rgb, vec3(0.0)); color.a = clamp(color.a, 0.0, 1.0); // Pre-multiplied alpha blend colorAccum += (1.0 - colorAccum.a) * vec4(color.rgb * color.a, color.a); // Stop traversing if the alpha has been fully saturated if (colorAccum.a > ALPHA_ACCUM_MAX) { colorAccum.a = ALPHA_ACCUM_MAX; break; } if (step.w == 0.0) { // Shape is infinitely thin. The ray may have hit the edge of a // foreground voxel. Step ahead slightly to check for more voxels step.w == 0.00001; } // Keep raymarching currT += step.w; positionUv += step.w * viewDirUv; // Check if there's more intersections. if (currT > endT) { #if (INTERSECTION_COUNT == 1) break; #else shapeIntersection = nextIntersection(ix); if (shapeIntersection.entry.w == NO_HIT) { break; } else { // Found another intersection. Resume raymarching there currT = shapeIntersection.entry.w * RAY_SCALE; endT = shapeIntersection.exit.w; positionUv = viewPosUv + currT * viewDirUv; } #endif } // Traverse the tree from the current ray position. // This is similar to traverseOctreeFromBeginning but is faster when the ray is in the same tile as the previous step. positionUvShapeSpace = convertUvToShapeUvSpace(positionUv); traverseOctreeFromExisting(positionUvShapeSpace, traversalData, sampleDatas); step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection); } // Convert the alpha from [0,ALPHA_ACCUM_MAX] to [0,1] colorAccum.a /= ALPHA_ACCUM_MAX; #if defined(PICKING) // If alpha is 0.0 there is nothing to pick if (colorAccum.a == 0.0) { discard; } out_FragColor = u_pickColor; #else out_FragColor = colorAccum; #endif } `,I_e=`in vec2 position; uniform vec4 u_ndcSpaceAxisAlignedBoundingBox; void main() { vec2 aabbMin = u_ndcSpaceAxisAlignedBoundingBox.xy; vec2 aabbMax = u_ndcSpaceAxisAlignedBoundingBox.zw; vec2 translation = 0.5 * (aabbMax + aabbMin); vec2 scale = 0.5 * (aabbMax - aabbMin); gl_Position = vec4(position * scale + translation, 0.0, 1.0); } `,x_e=`/* Intersection defines #define INTERSECTION_COUNT ### */ #define NO_HIT (-czm_infinity) #define INF_HIT (czm_infinity * 0.5) #define RAY_SHIFT (0.000003163) #define RAY_SCALE (1.003163) struct Ray { vec3 pos; vec3 dir; #if defined(SHAPE_BOX) vec3 dInv; #endif }; struct RayShapeIntersection { vec4 entry; vec4 exit; }; struct Intersections { // Don't access these member variables directly - call the functions instead. // Store an array of ray-surface intersections. Each intersection is composed of: // .xyz for the surface normal at the intersection point // .w for the T value // The scale of the normal encodes the shape intersection type: // length(intersection.xyz) = 1: positive shape entry // length(intersection.xyz) = 2: positive shape exit // length(intersection.xyz) = 3: negative shape entry // length(intersection.xyz) = 4: negative shape exit // INTERSECTION_COUNT is the number of ray-*shape* (volume) intersections, // so we need twice as many to track ray-*surface* intersections vec4 intersections[INTERSECTION_COUNT * 2]; #if (INTERSECTION_COUNT > 1) // Maintain state for future nextIntersection calls int index; int surroundCount; bool surroundIsPositive; #endif }; RayShapeIntersection getFirstIntersection(in Intersections ix) { return RayShapeIntersection(ix.intersections[0], ix.intersections[1]); } vec4 encodeIntersectionType(vec4 intersection, int index, bool entry) { float scale = float(index > 0) * 2.0 + float(!entry) + 1.0; return vec4(intersection.xyz * scale, intersection.w); } // Use defines instead of real functions because WebGL1 cannot access array with non-constant index. #define setIntersection(/*inout Intersections*/ ix, /*int*/ index, /*float*/ t, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = vec4(0.0, float(!positive) * 2.0 + float(!enter) + 1.0, 0.0, (t)) #define setIntersectionPair(/*inout Intersections*/ ix, /*int*/ index, /*vec2*/ entryExit) (ix).intersections[(index) * 2 + 0] = vec4(0.0, float((index) > 0) * 2.0 + 1.0, 0.0, (entryExit).x); (ix).intersections[(index) * 2 + 1] = vec4(0.0, float((index) > 0) * 2.0 + 2.0, 0.0, (entryExit).y) #define setSurfaceIntersection(/*inout Intersections*/ ix, /*int*/ index, /*vec4*/ intersection) (ix).intersections[(index)] = intersection; #define setShapeIntersection(/*inout Intersections*/ ix, /*int*/ index, /*RayShapeIntersection*/ intersection) (ix).intersections[(index) * 2 + 0] = encodeIntersectionType((intersection).entry, (index), true); (ix).intersections[(index) * 2 + 1] = encodeIntersectionType((intersection).exit, (index), false) #if (INTERSECTION_COUNT > 1) void initializeIntersections(inout Intersections ix) { // Sort the intersections from min T to max T with bubble sort. // Note: If this sorting function changes, some of the intersection test may // need to be updated. Search for "bubble sort" to find those areas. const int sortPasses = INTERSECTION_COUNT * 2 - 1; for (int n = sortPasses; n > 0; --n) { for (int i = 0; i < sortPasses; ++i) { // The loop should be: for (i = 0; i < n; ++i) {...} but WebGL1 cannot // loop with non-constant condition, so it has to break early instead if (i >= n) { break; } vec4 intersect0 = ix.intersections[i + 0]; vec4 intersect1 = ix.intersections[i + 1]; bool inOrder = intersect0.w <= intersect1.w; ix.intersections[i + 0] = inOrder ? intersect0 : intersect1; ix.intersections[i + 1] = inOrder ? intersect1 : intersect0; } } // Prepare initial state for nextIntersection ix.index = 0; ix.surroundCount = 0; ix.surroundIsPositive = false; } #endif #if (INTERSECTION_COUNT > 1) RayShapeIntersection nextIntersection(inout Intersections ix) { vec4 surfaceIntersection = vec4(0.0, 0.0, 0.0, NO_HIT); RayShapeIntersection shapeIntersection = RayShapeIntersection(surfaceIntersection, surfaceIntersection); const int passCount = INTERSECTION_COUNT * 2; if (ix.index == passCount) { return shapeIntersection; } for (int i = 0; i < passCount; ++i) { // The loop should be: for (i = ix.index; i < passCount; ++i) {...} but WebGL1 cannot // loop with non-constant condition, so it has to continue instead. if (i < ix.index) { continue; } ix.index = i + 1; surfaceIntersection = ix.intersections[i]; int intersectionType = int(length(surfaceIntersection.xyz) - 0.5); bool currShapeIsPositive = intersectionType < 2; bool enter = intMod(intersectionType, 2) == 0; ix.surroundCount += enter ? +1 : -1; ix.surroundIsPositive = currShapeIsPositive ? enter : ix.surroundIsPositive; // entering positive or exiting negative if (ix.surroundCount == 1 && ix.surroundIsPositive && enter == currShapeIsPositive) { shapeIntersection.entry = surfaceIntersection; } // exiting positive or entering negative after being inside positive bool exitPositive = !enter && currShapeIsPositive && ix.surroundCount == 0; bool enterNegativeFromPositive = enter && !currShapeIsPositive && ix.surroundCount == 2 && ix.surroundIsPositive; if (exitPositive || enterNegativeFromPositive) { shapeIntersection.exit = surfaceIntersection; // entry and exit have been found, so the loop can stop if (exitPositive) { // After exiting positive shape there is nothing left to intersect, so jump to the end index. ix.index = passCount; } break; } } return shapeIntersection; } #endif // NOTE: initializeIntersections, nextIntersection aren't even declared unless INTERSECTION_COUNT > 1 `,y_e=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, // setIntersectionPair, INF_HIT, NO_HIT /* intersectDepth defines (set in Scene/VoxelRenderResources.js) #define DEPTH_INTERSECTION_INDEX ### */ uniform mat4 u_transformPositionViewToUv; void intersectDepth(in vec2 screenCoord, in Ray ray, inout Intersections ix) { float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord)); if (logDepthOrDepth != 0.0) { // Calculate how far the ray must travel before it hits the depth buffer. vec4 eyeCoordinateDepth = czm_screenToEyeCoordinates(screenCoord, logDepthOrDepth); eyeCoordinateDepth /= eyeCoordinateDepth.w; vec3 depthPositionUv = vec3(u_transformPositionViewToUv * eyeCoordinateDepth); float t = dot(depthPositionUv - ray.pos, ray.dir); setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(t, +INF_HIT)); } else { // There's no depth at this location. setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(NO_HIT)); } } `,v_e=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, INF_HIT, // NO_HIT, setIntersectionPair /* Clipping plane defines (set in Scene/VoxelRenderResources.js) #define CLIPPING_PLANES_UNION #define CLIPPING_PLANES_COUNT #define CLIPPING_PLANES_INTERSECTION_INDEX */ uniform sampler2D u_clippingPlanesTexture; uniform mat4 u_clippingPlanesMatrix; // Plane is in Hessian Normal Form vec4 intersectPlane(in Ray ray, in vec4 plane) { vec3 n = plane.xyz; // normal float w = plane.w; // -dot(pointOnPlane, normal) float a = dot(ray.pos, n); float b = dot(ray.dir, n); float t = -(w + a) / b; return vec4(n, t); } void intersectClippingPlanes(in Ray ray, inout Intersections ix) { vec4 backSide = vec4(-ray.dir, -INF_HIT); vec4 farSide = vec4(ray.dir, +INF_HIT); RayShapeIntersection clippingVolume; #if (CLIPPING_PLANES_COUNT == 1) // Union and intersection are the same when there's one clipping plane, and the code // is more simplified. vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix); vec4 intersection = intersectPlane(ray, planeUv); bool reflects = dot(ray.dir, intersection.xyz) < 0.0; clippingVolume.entry = reflects ? backSide : intersection; clippingVolume.exit = reflects ? intersection : farSide; setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); #elif defined(CLIPPING_PLANES_UNION) vec4 firstTransmission = vec4(ray.dir, +INF_HIT); vec4 lastReflection = vec4(-ray.dir, -INF_HIT); for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); vec4 intersection = intersectPlane(ray, planeUv); if (dot(ray.dir, planeUv.xyz) > 0.0) { firstTransmission = intersection.w <= firstTransmission.w ? intersection : firstTransmission; } else { lastReflection = intersection.w >= lastReflection.w ? intersection : lastReflection; } } clippingVolume.entry = backSide; clippingVolume.exit = lastReflection; setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, clippingVolume); clippingVolume.entry = firstTransmission; clippingVolume.exit = farSide; setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, clippingVolume); #else // intersection vec4 lastTransmission = vec4(ray.dir, -INF_HIT); vec4 firstReflection = vec4(-ray.dir, +INF_HIT); for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); vec4 intersection = intersectPlane(ray, planeUv); if (dot(ray.dir, planeUv.xyz) > 0.0) { lastTransmission = intersection.w > lastTransmission.w ? intersection : lastTransmission; } else { firstReflection = intersection.w < firstReflection.w ? intersection: firstReflection; } } if (lastTransmission.w < firstReflection.w) { clippingVolume.entry = lastTransmission; clippingVolume.exit = firstReflection; } else { clippingVolume.entry = vec4(-ray.dir, NO_HIT); clippingVolume.exit = vec4(ray.dir, NO_HIT); } setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); #endif } `,__e=`// See IntersectionUtils.glsl for the definitions of Ray and NO_HIT // See convertUvToBox.glsl for the definition of convertShapeUvToUvSpace /* Box defines (set in Scene/VoxelBoxShape.js) #define BOX_INTERSECTION_INDEX ### // always 0 */ uniform vec3 u_renderMinBounds; uniform vec3 u_renderMaxBounds; struct Box { vec3 p0; vec3 p1; }; Box constructVoxelBox(in ivec4 octreeCoords, in vec3 tileUv) { // Find the min/max cornerpoints of the voxel in tile coordinates vec3 tileOrigin = vec3(octreeCoords.xyz); vec3 numSamples = vec3(u_dimensions); vec3 voxelSize = 1.0 / numSamples; vec3 coordP0 = floor(tileUv * numSamples) * voxelSize + tileOrigin; vec3 coordP1 = coordP0 + voxelSize; // Transform to the UV coordinates of the scaled tileset float tileSize = 1.0 / pow(2.0, float(octreeCoords.w)); vec3 p0 = convertShapeUvToUvSpace(coordP0 * tileSize); vec3 p1 = convertShapeUvToUvSpace(coordP1 * tileSize); return Box(p0, p1); } vec3 getBoxNormal(in Box box, in Ray ray, in float t) { vec3 hitPoint = ray.pos + t * ray.dir; vec3 lower = step(hitPoint, box.p0); vec3 upper = step(box.p1, hitPoint); return normalize(upper - lower); } // Find the distances along a ray at which the ray intersects an axis-aligned box // See https://tavianator.com/2011/ray_box.html RayShapeIntersection intersectBox(in Ray ray, in Box box) { // Consider the box as the intersection of the space between 3 pairs of parallel planes // Compute the distance along the ray to each plane vec3 t0 = (box.p0 - ray.pos) * ray.dInv; vec3 t1 = (box.p1 - ray.pos) * ray.dInv; // Identify candidate entries/exits based on distance from ray.pos vec3 entries = min(t0, t1); vec3 exits = max(t0, t1); // The actual box intersection points are the furthest entry and the closest exit float entryT = max(max(entries.x, entries.y), entries.z); float exitT = min(min(exits.x, exits.y), exits.z); vec3 entryNormal = getBoxNormal(box, ray, entryT - RAY_SHIFT); vec3 exitNormal = getBoxNormal(box, ray, exitT + RAY_SHIFT); if (entryT > exitT) { entryT = NO_HIT; exitT = NO_HIT; } return RayShapeIntersection(vec4(entryNormal, entryT), vec4(exitNormal, exitT)); } void intersectShape(in Ray ray, inout Intersections ix) { RayShapeIntersection intersection = intersectBox(ray, Box(u_renderMinBounds, u_renderMaxBounds)); setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection); } `,B_e=`// See IntersectionUtils.glsl for the definitions of Ray, setIntersection, // setIntersectionPair /* Cylinder defines (set in Scene/VoxelCylinderShape.js) #define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN #define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX #define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT #define CYLINDER_HAS_RENDER_BOUNDS_HEIGHT #define CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT #define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT #define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED #define CYLINDER_INTERSECTION_INDEX_RADIUS_MAX #define CYLINDER_INTERSECTION_INDEX_RADIUS_MIN #define CYLINDER_INTERSECTION_INDEX_ANGLE */ // Cylinder uniforms #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX) || defined(CYLINDER_HAS_RENDER_BOUNDS_HEIGHT) uniform vec3 u_cylinderUvToRenderBoundsScale; uniform vec3 u_cylinderUvToRenderBoundsTranslate; #endif #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) && !defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) uniform float u_cylinderUvToRenderRadiusMin; #endif #if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE) uniform vec2 u_cylinderRenderAngleMinMax; #endif vec4 intersectHalfPlane(Ray ray, float angle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 planeDirection = vec2(cos(angle), sin(angle)); vec2 planeNormal = vec2(planeDirection.y, -planeDirection.x); float a = dot(o, planeNormal); float b = dot(d, planeNormal); float t = -a / b; vec2 p = o + t * d; bool outside = dot(p, planeDirection) < 0.0; if (outside) return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); return vec4(-INF_HIT, t, t, +INF_HIT); } #define POSITIVE_HIT vec2(t, +INF_HIT); #define NEGATIVE_HIT vec2(-INF_HIT, t); vec2 intersectHalfSpace(Ray ray, float angle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 n = vec2(sin(angle), -cos(angle)); float a = dot(o, n); float b = dot(d, n); float t = -a / b; float s = sign(a); // Half space cuts right through the camera, pick the side to intersect if (a == 0.0) { if (b >= 0.0) { return POSITIVE_HIT; } else { return NEGATIVE_HIT; } } if (t >= 0.0 != s >= 0.0) { return POSITIVE_HIT; } else { return NEGATIVE_HIT; } } vec2 intersectRegularWedge(Ray ray, float minAngle, float maxAngle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 n1 = vec2(sin(minAngle), -cos(minAngle)); vec2 n2 = vec2(-sin(maxAngle), cos(maxAngle)); float a1 = dot(o, n1); float a2 = dot(o, n2); float b1 = dot(d, n1); float b2 = dot(d, n2); float t1 = -a1 / b1; float t2 = -a2 / b2; float s1 = sign(a1); float s2 = sign(a2); float tmin = min(t1, t2); float tmax = max(t1, t2); float smin = tmin == t1 ? s1 : s2; float smax = tmin == t1 ? s2 : s1; bool e = tmin >= 0.0; bool f = tmax >= 0.0; bool g = smin >= 0.0; bool h = smax >= 0.0; if (e != g && f == h) return vec2(tmin, tmax); else if (e == g && f == h) return vec2(-INF_HIT, tmin); else if (e != g && f != h) return vec2(tmax, +INF_HIT); else return vec2(NO_HIT); } vec4 intersectFlippedWedge(Ray ray, float minAngle, float maxAngle) { vec2 planeIntersectMin = intersectHalfSpace(ray, minAngle); vec2 planeIntersectMax = intersectHalfSpace(ray, maxAngle + czm_pi); return vec4(planeIntersectMin, planeIntersectMax); } vec2 intersectUnitCylinder(Ray ray) { vec3 o = ray.pos; vec3 d = ray.dir; float a = dot(d.xy, d.xy); float b = dot(o.xy, d.xy); float c = dot(o.xy, o.xy) - 1.0; float det = b * b - a * c; if (det < 0.0) { return vec2(NO_HIT); } det = sqrt(det); float ta = (-b - det) / a; float tb = (-b + det) / a; float t1 = min(ta, tb); float t2 = max(ta, tb); float z1 = o.z + t1 * d.z; float z2 = o.z + t2 * d.z; if (abs(z1) >= 1.0) { float tCap = (sign(z1) - o.z) / d.z; t1 = abs(b + a * tCap) < det ? tCap : NO_HIT; } if (abs(z2) >= 1.0) { float tCap = (sign(z2) - o.z) / d.z; t2 = abs(b + a * tCap) < det ? tCap : NO_HIT; } return vec2(t1, t2); } vec2 intersectUnitCircle(Ray ray) { vec3 o = ray.pos; vec3 d = ray.dir; float t = -o.z / d.z; vec2 zPlanePos = o.xy + d.xy * t; float distSqr = dot(zPlanePos, zPlanePos); if (distSqr > 1.0) { return vec2(NO_HIT); } return vec2(t, t); } vec2 intersectInfiniteUnitCylinder(Ray ray) { vec3 o = ray.pos; vec3 d = ray.dir; float a = dot(d.xy, d.xy); float b = dot(o.xy, d.xy); float c = dot(o.xy, o.xy) - 1.0; float det = b * b - a * c; if (det < 0.0) { return vec2(NO_HIT); } det = sqrt(det); float t1 = (-b - det) / a; float t2 = (-b + det) / a; float tmin = min(t1, t2); float tmax = max(t1, t2); return vec2(tmin, tmax); } void intersectShape(Ray ray, inout Intersections ix) { #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX) || defined(CYLINDER_HAS_RENDER_BOUNDS_HEIGHT) ray.pos = ray.pos * u_cylinderUvToRenderBoundsScale + u_cylinderUvToRenderBoundsTranslate; ray.dir *= u_cylinderUvToRenderBoundsScale; #else // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. // Direction is scaled as well to be in sync with position. ray.pos = ray.pos * 2.0 - 1.0; ray.dir *= 2.0; #endif #if defined(CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT) vec2 outerIntersect = intersectUnitCircle(ray); #else vec2 outerIntersect = intersectUnitCylinder(ray); #endif setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MAX, outerIntersect); if (outerIntersect.x == NO_HIT) { return; } #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) // When the cylinder is perfectly thin it's necessary to sandwich the // inner cylinder intersection inside the outer cylinder intersection. // Without this special case, // [outerMin, outerMax, innerMin, innerMax] will bubble sort to // [outerMin, innerMin, outerMax, innerMax] which will cause the back // side of the cylinder to be invisible because it will think the ray // is still inside the inner (negative) cylinder after exiting the // outer (positive) cylinder. // With this special case, // [outerMin, innerMin, innerMax, outerMax] will bubble sort to // [outerMin, innerMin, innerMax, outerMax] which will work correctly. // Note: If initializeIntersections() changes its sorting function // from bubble sort to something else, this code may need to change. vec2 innerIntersect = intersectInfiniteUnitCylinder(ray); setIntersection(ix, 0, outerIntersect.x, true, true); // positive, enter setIntersection(ix, 1, innerIntersect.x, false, true); // negative, enter setIntersection(ix, 2, innerIntersect.y, false, false); // negative, exit setIntersection(ix, 3, outerIntersect.y, true, false); // positive, exit #elif defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) Ray innerRay = Ray(ray.pos * u_cylinderUvToRenderRadiusMin, ray.dir * u_cylinderUvToRenderRadiusMin); vec2 innerIntersect = intersectInfiniteUnitCylinder(innerRay); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MIN, innerIntersect); #endif #if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF) vec2 wedgeIntersect = intersectRegularWedge(ray, u_cylinderRenderAngleMinMax.x, u_cylinderRenderAngleMinMax.y); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF) vec4 wedgeIntersect = intersectFlippedWedge(ray, u_cylinderRenderAngleMinMax.x, u_cylinderRenderAngleMinMax.y); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersect.xy); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersect.zw); #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF) vec2 wedgeIntersect = intersectHalfSpace(ray, u_cylinderRenderAngleMinMax.x); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) vec4 wedgeIntersect = intersectHalfPlane(ray, u_cylinderRenderAngleMinMax.x); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersect.xy); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersect.zw); #endif } `,w_e=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, // setIntersection, setIntersectionPair, INF_HIT, NO_HIT /* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT #define ELLIPSOID_INTERSECTION_INDEX_LONGITUDE #define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX #define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN #define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX #define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN */ #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE) uniform vec2 u_ellipsoidRenderLongitudeMinMax; #endif #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) uniform vec2 u_ellipsoidRenderLatitudeCosSqrHalfMinMax; #endif #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX) uniform float u_ellipsoidInverseOuterScaleUv; #endif #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN) uniform float u_ellipsoidInverseInnerScaleUv; #endif vec2 intersectZPlane(Ray ray) { float o = ray.pos.z; float d = ray.dir.z; float t = -o / d; float s = sign(o); if (t >= 0.0 != s >= 0.0) return vec2(t, +INF_HIT); else return vec2(-INF_HIT, t); } vec4 intersectHalfPlane(Ray ray, float angle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 planeDirection = vec2(cos(angle), sin(angle)); vec2 planeNormal = vec2(planeDirection.y, -planeDirection.x); float a = dot(o, planeNormal); float b = dot(d, planeNormal); float t = -a / b; vec2 p = o + t * d; bool outside = dot(p, planeDirection) < 0.0; if (outside) return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); return vec4(-INF_HIT, t, t, +INF_HIT); } vec2 intersectHalfSpace(Ray ray, float angle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 n = vec2(sin(angle), -cos(angle)); float a = dot(o, n); float b = dot(d, n); float t = -a / b; float s = sign(a); if (t >= 0.0 != s >= 0.0) return vec2(t, +INF_HIT); else return vec2(-INF_HIT, t); } vec2 intersectRegularWedge(Ray ray, float minAngle, float maxAngle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 n1 = vec2(sin(minAngle), -cos(minAngle)); vec2 n2 = vec2(-sin(maxAngle), cos(maxAngle)); float a1 = dot(o, n1); float a2 = dot(o, n2); float b1 = dot(d, n1); float b2 = dot(d, n2); float t1 = -a1 / b1; float t2 = -a2 / b2; float s1 = sign(a1); float s2 = sign(a2); float tmin = min(t1, t2); float tmax = max(t1, t2); float smin = tmin == t1 ? s1 : s2; float smax = tmin == t1 ? s2 : s1; bool e = tmin >= 0.0; bool f = tmax >= 0.0; bool g = smin >= 0.0; bool h = smax >= 0.0; if (e != g && f == h) return vec2(tmin, tmax); else if (e == g && f == h) return vec2(-INF_HIT, tmin); else if (e != g && f != h) return vec2(tmax, +INF_HIT); else return vec2(NO_HIT); } vec4 intersectFlippedWedge(Ray ray, float minAngle, float maxAngle) { vec2 planeIntersectMin = intersectHalfSpace(ray, minAngle); vec2 planeIntersectMax = intersectHalfSpace(ray, maxAngle + czm_pi); return vec4(planeIntersectMin, planeIntersectMax); } vec2 intersectUnitSphere(Ray ray) { vec3 o = ray.pos; vec3 d = ray.dir; float b = dot(d, o); float c = dot(o, o) - 1.0; float det = b * b - c; if (det < 0.0) { return vec2(NO_HIT); } det = sqrt(det); float t1 = -b - det; float t2 = -b + det; float tmin = min(t1, t2); float tmax = max(t1, t2); return vec2(tmin, tmax); } vec2 intersectUnitSphereUnnormalizedDirection(Ray ray) { vec3 o = ray.pos; vec3 d = ray.dir; float a = dot(d, d); float b = dot(d, o); float c = dot(o, o) - 1.0; float det = b * b - a * c; if (det < 0.0) { return vec2(NO_HIT); } det = sqrt(det); float t1 = (-b - det) / a; float t2 = (-b + det) / a; float tmin = min(t1, t2); float tmax = max(t1, t2); return vec2(tmin, tmax); } vec2 intersectDoubleEndedCone(Ray ray, float cosSqrHalfAngle) { vec3 o = ray.pos; vec3 d = ray.dir; float a = d.z * d.z - dot(d, d) * cosSqrHalfAngle; float b = d.z * o.z - dot(o, d) * cosSqrHalfAngle; float c = o.z * o.z - dot(o, o) * cosSqrHalfAngle; float det = b * b - a * c; if (det < 0.0) { return vec2(NO_HIT); } det = sqrt(det); float t1 = (-b - det) / a; float t2 = (-b + det) / a; float tmin = min(t1, t2); float tmax = max(t1, t2); return vec2(tmin, tmax); } vec4 intersectFlippedCone(Ray ray, float cosSqrHalfAngle) { vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); if (intersect.x == NO_HIT) { return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); } vec3 o = ray.pos; vec3 d = ray.dir; float tmin = intersect.x; float tmax = intersect.y; float zmin = o.z + tmin * d.z; float zmax = o.z + tmax * d.z; // One interval if (zmin < 0.0 && zmax < 0.0) return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); else if (zmin < 0.0) return vec4(-INF_HIT, tmax, NO_HIT, NO_HIT); else if (zmax < 0.0) return vec4(tmin, +INF_HIT, NO_HIT, NO_HIT); // Two intervals else return vec4(-INF_HIT, tmin, tmax, +INF_HIT); } vec2 intersectRegularCone(Ray ray, float cosSqrHalfAngle) { vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); if (intersect.x == NO_HIT) { return vec2(NO_HIT); } vec3 o = ray.pos; vec3 d = ray.dir; float tmin = intersect.x; float tmax = intersect.y; float zmin = o.z + tmin * d.z; float zmax = o.z + tmax * d.z; if (zmin < 0.0 && zmax < 0.0) return vec2(NO_HIT); else if (zmin < 0.0) return vec2(tmax, +INF_HIT); else if (zmax < 0.0) return vec2(-INF_HIT, tmin); else return vec2(tmin, tmax); } void intersectShape(in Ray ray, inout Intersections ix) { // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. // Direction is scaled as well to be in sync with position. ray.pos = ray.pos * 2.0 - 1.0; ray.dir *= 2.0; #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX) Ray outerRay = Ray(ray.pos * u_ellipsoidInverseOuterScaleUv, ray.dir * u_ellipsoidInverseOuterScaleUv); #else Ray outerRay = ray; #endif // Outer ellipsoid vec2 outerIntersect = intersectUnitSphereUnnormalizedDirection(outerRay); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX, outerIntersect); // Exit early if the outer ellipsoid was missed. if (outerIntersect.x == NO_HIT) { return; } // Inner ellipsoid #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT) // When the ellipsoid is perfectly thin it's necessary to sandwich the // inner ellipsoid intersection inside the outer ellipsoid intersection. // Without this special case, // [outerMin, outerMax, innerMin, innerMax] will bubble sort to // [outerMin, innerMin, outerMax, innerMax] which will cause the back // side of the ellipsoid to be invisible because it will think the ray // is still inside the inner (negative) ellipsoid after exiting the // outer (positive) ellipsoid. // With this special case, // [outerMin, innerMin, innerMax, outerMax] will bubble sort to // [outerMin, innerMin, innerMax, outerMax] which will work correctly. // Note: If initializeIntersections() changes its sorting function // from bubble sort to something else, this code may need to change. setIntersection(ix, 0, outerIntersect.x, true, true); // positive, enter setIntersection(ix, 1, outerIntersect.x, false, true); // negative, enter setIntersection(ix, 2, outerIntersect.y, false, false); // negative, exit setIntersection(ix, 3, outerIntersect.y, true, false); // positive, exit #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN) Ray innerRay = Ray(ray.pos * u_ellipsoidInverseInnerScaleUv, ray.dir * u_ellipsoidInverseInnerScaleUv); vec2 innerIntersect = intersectUnitSphereUnnormalizedDirection(innerRay); if (innerIntersect == vec2(NO_HIT)) { setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN, innerIntersect); } else { // When the ellipsoid is very large and thin it's possible for floating // point math to cause the ray to intersect the inner ellipsoid before // the outer ellipsoid. To prevent this from happening, clamp innerIntersect // to outerIntersect and sandwhich the intersections like described above. // // In theory a similar fix is needed for cylinders, however it's more // complicated to implement because the inner shape is allowed to be // intersected first. innerIntersect.x = max(innerIntersect.x, outerIntersect.x); innerIntersect.y = min(innerIntersect.y, outerIntersect.y); setIntersection(ix, 0, outerIntersect.x, true, true); // positive, enter setIntersection(ix, 1, innerIntersect.x, false, true); // negative, enter setIntersection(ix, 2, innerIntersect.y, false, false); // negative, exit setIntersection(ix, 3, outerIntersect.y, true, false); // positive, exit } #endif // Flip the ray because the intersection function expects a cone growing towards +Z. #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) Ray flippedRay = outerRay; flippedRay.dir.z *= -1.0; flippedRay.pos.z *= -1.0; #endif // Bottom cone #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) vec2 bottomConeIntersection = intersectRegularCone(flippedRay, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.x); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) vec2 bottomConeIntersection = intersectZPlane(flippedRay); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) vec4 bottomConeIntersection = intersectFlippedCone(ray, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.x); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 0, bottomConeIntersection.xy); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 1, bottomConeIntersection.zw); #endif // Top cone #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) vec4 topConeIntersection = intersectFlippedCone(flippedRay, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.y); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 0, topConeIntersection.xy); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 1, topConeIntersection.zw); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF) vec2 topConeIntersection = intersectZPlane(ray); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) vec2 topConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.y); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); #endif // Wedge #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) vec4 wedgeIntersect = intersectHalfPlane(ray, u_ellipsoidRenderLongitudeMinMax.x); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersect.xy); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersect.zw); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF) vec2 wedgeIntersect = intersectRegularWedge(ray, u_ellipsoidRenderLongitudeMinMax.x, u_ellipsoidRenderLongitudeMinMax.y); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF) vec2 wedgeIntersect = intersectHalfSpace(ray, u_ellipsoidRenderLongitudeMinMax.x); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF) vec4 wedgeIntersect = intersectFlippedWedge(ray, u_ellipsoidRenderLongitudeMinMax.x, u_ellipsoidRenderLongitudeMinMax.y); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersect.xy); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersect.zw); #endif } `,iV=`// Main intersection function for Voxel scenes. // See IntersectBox.glsl, IntersectCylinder.glsl, or IntersectEllipsoid.glsl // for the definition of intersectShape. The appropriate function is selected // based on the VoxelPrimitive shape type, and added to the shader in // Scene/VoxelRenderResources.js. // See also IntersectClippingPlane.glsl and IntersectDepth.glsl. // See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, // getFirstIntersection, initializeIntersections, nextIntersection. /* Intersection defines (set in Scene/VoxelRenderResources.js) #define INTERSECTION_COUNT ### */ RayShapeIntersection intersectScene(in vec2 screenCoord, in Ray ray, out Intersections ix) { // Do a ray-shape intersection to find the exact starting and ending points. intersectShape(ray, ix); // Exit early if the positive shape was completely missed or behind the ray. RayShapeIntersection intersection = getFirstIntersection(ix); if (intersection.entry.w == NO_HIT) { // Positive shape was completely missed - so exit early. return intersection; } // Clipping planes #if defined(CLIPPING_PLANES) intersectClippingPlanes(ray, ix); #endif // Depth #if defined(DEPTH_TEST) intersectDepth(screenCoord, ray, ix); #endif // Find the first intersection that's in front of the ray #if (INTERSECTION_COUNT > 1) initializeIntersections(ix); for (int i = 0; i < INTERSECTION_COUNT; ++i) { intersection = nextIntersection(ix); if (intersection.exit.w > 0.0) { // Set start to 0.0 when ray is inside the shape. intersection.entry.w = max(intersection.entry.w, 0.0); break; } } #else // Set start to 0.0 when ray is inside the shape. intersection.entry.w = max(intersection.entry.w, 0.0); #endif return intersection; } `,b_e=`/* Box defines (set in Scene/VoxelBoxShape.js) #define BOX_HAS_SHAPE_BOUNDS */ #if defined(BOX_HAS_SHAPE_BOUNDS) uniform vec3 u_boxUvToShapeUvScale; uniform vec3 u_boxUvToShapeUvTranslate; #endif vec3 convertUvToShapeUvSpace(in vec3 positionUv) { #if defined(BOX_HAS_SHAPE_BOUNDS) return positionUv * u_boxUvToShapeUvScale + u_boxUvToShapeUvTranslate; #else return positionUv; #endif } vec3 convertShapeUvToUvSpace(in vec3 shapeUv) { #if defined(BOX_HAS_SHAPE_BOUNDS) return (shapeUv - u_boxUvToShapeUvTranslate) / u_boxUvToShapeUvScale; #else return shapeUv; #endif } `,Q_e=`/* Cylinder defines (set in Scene/VoxelCylinderShape.js) #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT #define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT #define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED */ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) uniform vec2 u_cylinderUvToShapeUvRadius; // x = scale, y = offset #endif #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) uniform vec2 u_cylinderUvToShapeUvHeight; // x = scale, y = offset #endif #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) uniform vec2 u_cylinderUvToShapeUvAngle; // x = scale, y = offset #endif #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) uniform vec2 u_cylinderShapeUvAngleMinMax; #endif #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) uniform float u_cylinderShapeUvAngleRangeZeroMid; #endif vec3 convertUvToShapeUvSpace(in vec3 positionUv) { vec3 positionLocal = positionUv * 2.0 - 1.0; // [-1,+1] // Compute radius #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT) float radius = 1.0; #else float radius = length(positionLocal.xy); // [0,1] #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) radius = radius * u_cylinderUvToShapeUvRadius.x + u_cylinderUvToShapeUvRadius.y; // x = scale, y = offset #endif #endif // Compute height #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) float height = 1.0; #else float height = positionUv.z; // [0,1] #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y; // x = scale, y = offset #endif #endif // Compute angle #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) float angle = 1.0; #else float angle = (atan(positionLocal.y, positionLocal.x) + czm_pi) / czm_twoPi; // [0,1] #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) // Comparing against u_cylinderShapeUvAngleMinMax has precision problems. u_cylinderShapeUvAngleRangeZeroMid is more conservative. angle += float(angle < u_cylinderShapeUvAngleRangeZeroMid); #endif // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) angle = angle > u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.x : angle; #elif defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) angle = angle < u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.y : angle; #endif angle = angle * u_cylinderUvToShapeUvAngle.x + u_cylinderUvToShapeUvAngle.y; // x = scale, y = offset #endif #endif return vec3(radius, height, angle); } `,S_e=`/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY #define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE #define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO #define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED #define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE #define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO #define ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN #define ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT #define ELLIPSOID_IS_SPHERE */ uniform vec3 u_ellipsoidRadiiUv; // [0,1] #if !defined(ELLIPSOID_IS_SPHERE) uniform vec3 u_ellipsoidInverseRadiiSquaredUv; #endif #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) || defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) uniform vec3 u_ellipsoidShapeUvLongitudeMinMaxMid; #endif #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) uniform vec2 u_ellipsoidUvToShapeUvLongitude; // x = scale, y = offset #endif #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) uniform vec2 u_ellipsoidUvToShapeUvLatitude; // x = scale, y = offset #endif #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN) && !defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) uniform float u_ellipsoidInverseHeightDifferenceUv; uniform vec2 u_ellipseInnerRadiiUv; // [0,1] #endif // robust iterative solution without trig functions // https://github.com/0xfaded/ellipse_demo/issues/1 // https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse // Pro: Good when radii.x ~= radii.y // Con: Breaks at pos.x ~= 0.0, especially inside the ellipse // Con: Inaccurate with exterior points and thin ellipses float ellipseDistanceIterative (vec2 pos, vec2 radii) { vec2 p = abs(pos); vec2 invRadii = 1.0 / radii; vec2 a = vec2(1.0, -1.0) * (radii.x * radii.x - radii.y * radii.y) * invRadii; vec2 t = vec2(0.70710678118); // sqrt(2) / 2 vec2 v = radii * t; const int iterations = 3; for (int i = 0; i < iterations; ++i) { vec2 e = a * pow(t, vec2(3.0)); vec2 q = normalize(p - e) * length(v - e); t = normalize((q + e) * invRadii); v = radii * t; } return length(v * sign(pos) - pos) * sign(p.y - v.y); } vec3 convertUvToShapeUvSpace(in vec3 positionUv) { // Compute position and normal. // Convert positionUv [0,1] to local space [-1,+1] to "normalized" cartesian space [-a,+a] where a = (radii + height) / (max(radii) + height). // A point on the largest ellipsoid axis would be [-1,+1] and everything else would be smaller. vec3 positionLocal = positionUv * 2.0 - 1.0; #if defined(ELLIPSOID_IS_SPHERE) vec3 posEllipsoid = positionLocal * u_ellipsoidRadiiUv.x; vec3 normal = normalize(posEllipsoid); #else vec3 posEllipsoid = positionLocal * u_ellipsoidRadiiUv; vec3 normal = normalize(posEllipsoid * u_ellipsoidInverseRadiiSquaredUv); // geodetic surface normal #endif // Compute longitude #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) float longitude = 1.0; #else float longitude = (atan(normal.y, normal.x) + czm_pi) / czm_twoPi; // Correct the angle when max < min // Technically this should compare against min longitude - but it has precision problems so compare against the middle of empty space. #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) longitude += float(longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z); #endif // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) longitude = longitude > u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.x : longitude; #endif #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) longitude = longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.y : longitude; #endif #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) longitude = longitude * u_ellipsoidUvToShapeUvLongitude.x + u_ellipsoidUvToShapeUvLongitude.y; #endif #endif // Compute latitude #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO) float latitude = 1.0; #else float latitude = (asin(normal.z) + czm_piOverTwo) / czm_pi; #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) latitude = latitude * u_ellipsoidUvToShapeUvLatitude.x + u_ellipsoidUvToShapeUvLatitude.y; #endif #endif // Compute height #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) // TODO: This breaks down when minBounds == maxBounds. To fix it, this // function would have to know if ray is intersecting the front or back of the shape // and set the shape space position to 1 (front) or 0 (back) accordingly. float height = 1.0; #else #if defined(ELLIPSOID_IS_SPHERE) #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN) float height = (length(posEllipsoid) - u_ellipseInnerRadiiUv.x) * u_ellipsoidInverseHeightDifferenceUv; #else float height = length(posEllipsoid); #endif #else #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN) // Convert the 3D position to a 2D position relative to the ellipse (radii.x, radii.z) (assuming radii.x == radii.y which is true for WGS84). // This is an optimization so that math can be done with ellipses instead of ellipsoids. vec2 posEllipse = vec2(length(posEllipsoid.xy), posEllipsoid.z); float height = ellipseDistanceIterative(posEllipse, u_ellipseInnerRadiiUv) * u_ellipsoidInverseHeightDifferenceUv; #else // TODO: this is probably not correct float height = length(posEllipsoid); #endif #endif #endif return vec3(longitude, latitude, height); } `,D_e=`// These octree flags must be in sync with GpuOctreeFlag in VoxelTraversal.js #define OCTREE_FLAG_INTERNAL 0 #define OCTREE_FLAG_LEAF 1 #define OCTREE_FLAG_PACKED_LEAF_FROM_PARENT 2 #define OCTREE_MAX_LEVELS 32 // Harcoded value because GLSL doesn't like variable length loops uniform sampler2D u_octreeInternalNodeTexture; uniform vec2 u_octreeInternalNodeTexelSizeUv; uniform int u_octreeInternalNodeTilesPerRow; #if (SAMPLE_COUNT > 1) uniform sampler2D u_octreeLeafNodeTexture; uniform vec2 u_octreeLeafNodeTexelSizeUv; uniform int u_octreeLeafNodeTilesPerRow; #endif struct OctreeNodeData { int data; int flag; }; struct TraversalData { ivec4 octreeCoords; int parentOctreeIndex; }; struct SampleData { int megatextureIndex; ivec4 tileCoords; vec3 tileUv; #if (SAMPLE_COUNT > 1) float weight; #endif }; // Integer mod: For WebGL1 only int intMod(in int a, in int b) { return a - (b * (a / b)); } int normU8_toInt(in float value) { return int(value * 255.0); } int normU8x2_toInt(in vec2 value) { return int(value.x * 255.0) + 256 * int(value.y * 255.0); } float normU8x2_toFloat(in vec2 value) { return float(normU8x2_toInt(value)) / 65535.0; } OctreeNodeData getOctreeNodeData(in vec2 octreeUv) { vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv); OctreeNodeData data; data.data = normU8x2_toInt(texData.xy); data.flag = normU8x2_toInt(texData.zw); return data; } OctreeNodeData getOctreeChildData(in int parentOctreeIndex, in ivec3 childCoord) { int childIndex = childCoord.z * 4 + childCoord.y * 2 + childCoord.x; int octreeCoordX = intMod(parentOctreeIndex, u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex; int octreeCoordY = parentOctreeIndex / u_octreeInternalNodeTilesPerRow; vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); return getOctreeNodeData(octreeUv); } int getOctreeParentIndex(in int octreeIndex) { int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9; int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow; vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv); int parentOctreeIndex = normU8x2_toInt(parentData.xy); return parentOctreeIndex; } /** * Convert a position in the uv-space of the tileset bounding shape * into the uv-space of a tile within the tileset */ vec3 getTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { // PERFORMANCE_IDEA: use bit-shifting (only in WebGL2) float dimAtLevel = pow(2.0, float(octreeCoords.w)); return shapePosition * dimAtLevel - vec3(octreeCoords.xyz); } void getOctreeLeafSampleData(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleData) { sampleData.megatextureIndex = data.data; sampleData.tileCoords = (data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT) ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) : octreeCoords; } #if (SAMPLE_COUNT > 1) void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleDatas[SAMPLE_COUNT]) { int leafIndex = data.data; int leafNodeTexelCount = 2; // Adding 0.5 moves to the center of the texel float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5; float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5; // Get an interpolation weight and a flag to determine whether to read the parent texture vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY); vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0); float lerp = normU8x2_toFloat(leafData0.xy); sampleDatas[0].weight = 1.0 - lerp; sampleDatas[1].weight = lerp; // TODO: this looks wrong? Should be comparing to OCTREE_FLAG_PACKED_LEAF_FROM_PARENT sampleDatas[0].tileCoords = (normU8_toInt(leafData0.z) == 1) ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) : octreeCoords; sampleDatas[1].tileCoords = (normU8_toInt(leafData0.w) == 1) ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) : octreeCoords; // Get megatexture indices for both samples vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY); vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1); sampleDatas[0].megatextureIndex = normU8x2_toInt(leafData1.xy); sampleDatas[1].megatextureIndex = normU8x2_toInt(leafData1.zw); } #endif OctreeNodeData traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversalData) { float sizeAtLevel = 1.0 / pow(2.0, float(traversalData.octreeCoords.w)); vec3 start = vec3(traversalData.octreeCoords.xyz) * sizeAtLevel; vec3 end = start + vec3(sizeAtLevel); OctreeNodeData childData; for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { // Find out which octree child contains the position // 0 if before center, 1 if after vec3 center = 0.5 * (start + end); vec3 childCoord = step(center, shapePosition); // Get octree coords for the next level down ivec4 octreeCoords = traversalData.octreeCoords; traversalData.octreeCoords = ivec4(octreeCoords.xyz * 2 + ivec3(childCoord), octreeCoords.w + 1); childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord)); if (childData.flag != OCTREE_FLAG_INTERNAL) { // leaf tile - stop traversing break; } // interior tile - keep going deeper start = mix(start, center, childCoord); end = mix(center, end, childCoord); traversalData.parentOctreeIndex = childData.data; } return childData; } /** * Transform a given position to an octree tile coordinate and a position within that tile, * and find the corresponding megatexture index and texture coordinates */ void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traversalData, out SampleData sampleDatas[SAMPLE_COUNT]) { traversalData.octreeCoords = ivec4(0); traversalData.parentOctreeIndex = 0; OctreeNodeData nodeData = getOctreeNodeData(vec2(0.0)); if (nodeData.flag != OCTREE_FLAG_LEAF) { nodeData = traverseOctreeDownwards(shapePosition, traversalData); } #if (SAMPLE_COUNT == 1) getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords); #else getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords); sampleDatas[1].tileUv = getTileUv(shapePosition, sampleDatas[1].tileCoords); #endif } bool inRange(in vec3 v, in vec3 minVal, in vec3 maxVal) { return clamp(v, minVal, maxVal) == v; } bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) { vec3 tileUv = getTileUv(shapePosition, octreeCoords); bool inside = inRange(tileUv, vec3(0.0), vec3(1.0)); // Assume (!) the position is always inside the root tile. return inside || octreeCoords.w == 0; } void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) { if (insideTile(shapePosition, traversalData.octreeCoords)) { for (int i = 0; i < SAMPLE_COUNT; i++) { sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords); } return; } // Go up tree until we find a parent tile containing shapePosition for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { traversalData.octreeCoords.xyz /= 2; traversalData.octreeCoords.w -= 1; if (insideTile(shapePosition, traversalData.octreeCoords)) { break; } traversalData.parentOctreeIndex = getOctreeParentIndex(traversalData.parentOctreeIndex); } // Go down tree OctreeNodeData nodeData = traverseOctreeDownwards(shapePosition, traversalData); #if (SAMPLE_COUNT == 1) getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords); #else getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords); sampleDatas[1].tileUv = getTileUv(shapePosition, sampleDatas[1].tileCoords); #endif } `,M_e=`// See Octree.glsl for the definitions of SampleData and intMod /* Megatexture defines (set in Scene/VoxelRenderResources.js) #define SAMPLE_COUNT ### #define NEAREST_SAMPLING #define PADDING */ uniform ivec2 u_megatextureSliceDimensions; // number of slices per tile, in two dimensions uniform ivec2 u_megatextureTileDimensions; // number of tiles per megatexture, in two dimensions uniform vec2 u_megatextureVoxelSizeUv; uniform vec2 u_megatextureSliceSizeUv; uniform vec2 u_megatextureTileSizeUv; uniform ivec3 u_dimensions; // does not include padding #if defined(PADDING) uniform ivec3 u_paddingBefore; uniform ivec3 u_paddingAfter; #endif // Integer min, max, clamp: For WebGL1 only int intMin(int a, int b) { return a <= b ? a : b; } int intMax(int a, int b) { return a >= b ? a : b; } int intClamp(int v, int minVal, int maxVal) { return intMin(intMax(v, minVal), maxVal); } vec2 index1DTo2DTexcoord(int index, ivec2 dimensions, vec2 uvScale) { int indexX = intMod(index, dimensions.x); int indexY = index / dimensions.x; return vec2(indexX, indexY) * uvScale; } /* How is 3D data stored in a 2D megatexture? In this example there is only one loaded tile and it has 2x2x2 voxels (8 voxels total). The data is sliced by Z. The data at Z = 0 is placed in texels (0,0), (0,1), (1,0), (1,1) and the data at Z = 1 is placed in texels (2,0), (2,1), (3,0), (3,1). Note that there could be empty space in the megatexture because it's a power of two. 0 1 2 3 +---+---+---+---+ | | | | | 3 +---+---+---+---+ | | | | | 2 +-------+-------+ |010|110|011|111| 1 |--- ---|--- ---| |000|100|001|101| 0 +-------+-------+ When doing linear interpolation the megatexture needs to be sampled twice: once for the Z slice above the voxel coordinate and once for the slice below. The two slices are interpolated with fract(coord.z - 0.5). For example, a Z coordinate of 1.0 is halfway between two Z slices so the interpolation factor is 0.5. Below is a side view of the 3D voxel grid with voxel coordinates on the left side. 2 +---+ |001| 1 +-z-+ |000| 0 +---+ When doing nearest neighbor the megatexture only needs to be sampled once at the closest Z slice. */ Properties getPropertiesFromMegatexture(in SampleData sampleData) { vec3 tileUv = clamp(sampleData.tileUv, vec3(0.0), vec3(1.0)); // TODO is the clamp necessary? int tileIndex = sampleData.megatextureIndex; vec3 voxelCoord = tileUv * vec3(u_dimensions); ivec3 voxelDimensions = u_dimensions; #if defined(PADDING) voxelDimensions += u_paddingBefore + u_paddingAfter; voxelCoord += vec3(u_paddingBefore); #endif #if defined(NEAREST_SAMPLING) // Round to the center of the nearest voxel voxelCoord = floor(voxelCoord) + vec3(0.5); #endif // Tile location vec2 tileUvOffset = index1DTo2DTexcoord(tileIndex, u_megatextureTileDimensions, u_megatextureTileSizeUv); // Slice location float slice = voxelCoord.z - 0.5; int sliceIndex = int(floor(slice)); int sliceIndex0 = intClamp(sliceIndex, 0, voxelDimensions.z - 1); vec2 sliceUvOffset0 = index1DTo2DTexcoord(sliceIndex0, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); // Voxel location vec2 voxelUvOffset = clamp(voxelCoord.xy, vec2(0.5), vec2(voxelDimensions.xy) - vec2(0.5)) * u_megatextureVoxelSizeUv; // Final location in the megatexture vec2 uv0 = tileUvOffset + sliceUvOffset0 + voxelUvOffset; #if defined(NEAREST_SAMPLING) return getPropertiesFromMegatextureAtUv(uv0); #else float sliceLerp = fract(slice); int sliceIndex1 = intMin(sliceIndex + 1, voxelDimensions.z - 1); vec2 sliceUvOffset1 = index1DTo2DTexcoord(sliceIndex1, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); vec2 uv1 = tileUvOffset + sliceUvOffset1 + voxelUvOffset; Properties properties0 = getPropertiesFromMegatextureAtUv(uv0); Properties properties1 = getPropertiesFromMegatextureAtUv(uv1); return mixProperties(properties0, properties1, sliceLerp); #endif } // Convert an array of sample datas to a final weighted properties. Properties accumulatePropertiesFromMegatexture(in SampleData sampleDatas[SAMPLE_COUNT]) { #if (SAMPLE_COUNT == 1) return getPropertiesFromMegatexture(sampleDatas[0]); #else // When more than one sample is taken the accumulator needs to start at 0 Properties properties = clearProperties(); for (int i = 0; i < SAMPLE_COUNT; ++i) { float weight = sampleDatas[i].weight; // Avoid reading the megatexture when the weight is 0 as it can be costly. if (weight > 0.0) { Properties tempProperties = getPropertiesFromMegatexture(sampleDatas[i]); tempProperties = scaleProperties(tempProperties, weight); properties = sumProperties(properties, tempProperties); } } return properties; #endif } `;function L0i(o){let A=new bee;this.shaderBuilder=A;let f=o._customShader,m=yo(o._uniformMap,f.uniformMap);o._uniformMap=m;let C=f.uniforms;for(let M in C)if(C.hasOwnProperty(M)){let B=C[M];A.addUniform(B.type,M,Gi.FRAGMENT)}A.addUniform("sampler2D","u_megatextureTextures[METADATA_COUNT]",Gi.FRAGMENT),this.uniformMap=m;let E=o._clippingPlanes,I=k(E)&&E.enabled?E.length:0;this.clippingPlanes=E,this.clippingPlanesLength=I,A.addVertexLines([I_e]),A.addFragmentLines([f.fragmentShaderText,"#line 0",D_e,x_e,M_e]),I>0&&(A.addDefine("CLIPPING_PLANES",void 0,Gi.FRAGMENT),A.addDefine("CLIPPING_PLANES_COUNT",I,Gi.FRAGMENT),E.unionClippingRegions&&A.addDefine("CLIPPING_PLANES_UNION",void 0,Gi.FRAGMENT),A.addFragmentLines([v_e])),o._depthTest&&(A.addDefine("DEPTH_TEST",void 0,Gi.FRAGMENT),A.addFragmentLines([y_e]));let x=o._provider.shape;x==="BOX"?(A.addDefine("SHAPE_BOX",void 0,Gi.FRAGMENT),A.addFragmentLines([b_e,__e,iV])):x==="CYLINDER"?A.addFragmentLines([B_e,iV,Q_e]):x==="ELLIPSOID"&&A.addFragmentLines([w_e,iV,S_e]),A.addFragmentLines([E_e]);let y=o._shape,v=y.shaderDefines;for(let M in v)if(v.hasOwnProperty(M)){let B=v[M];k(B)&&(B=B===!0?void 0:B,A.addDefine(M,B,Gi.FRAGMENT))}let w=y.shaderMaximumIntersectionsLength;I>0&&(A.addDefine("CLIPPING_PLANES_INTERSECTION_INDEX",w,Gi.FRAGMENT),I===1?w+=1:E.unionClippingRegions?w+=2:w+=1),o._depthTest&&(A.addDefine("DEPTH_INTERSECTION_INDEX",w,Gi.FRAGMENT),w+=1),A.addDefine("INTERSECTION_COUNT",w,Gi.FRAGMENT),(!Z.equals(o.paddingBefore,Z.ZERO)||!Z.equals(o.paddingAfter,Z.ZERO))&&A.addDefine("PADDING",void 0,Gi.FRAGMENT),o._useLogDepth&&A.addDefine("LOG_DEPTH_READ_ONLY",void 0,Gi.FRAGMENT),o._jitter&&A.addDefine("JITTER",void 0,Gi.FRAGMENT),o._nearestSampling&&A.addDefine("NEAREST_SAMPLING",void 0,Gi.FRAGMENT);let Q=o._traversal;A.addDefine("SAMPLE_COUNT",`${Q._sampleCount}`,Gi.FRAGMENT)}var T_e=L0i;function F0i(o,A){let{shaderBuilder:f}=o,{names:m,types:C,componentTypes:E,minimumValues:I,maximumValues:x}=A._provider,y=C.length,v=k(I)&&k(x);f.addDefine("METADATA_COUNT",y,Gi.FRAGMENT),v&&f.addDefine("STATISTICS",void 0,Gi.FRAGMENT);for(let J=0;J<y;J++){let K=m[J],X=C[J],j=`PropertyStatistics_${K}`,ee=`PropertyStatistics_${K}`;f.addStruct(j,ee,Gi.FRAGMENT);let ie=aq(X);f.addStructField(j,ie,"min"),f.addStructField(j,ie,"max")}let w="Statistics",Q="Statistics",M="statistics";f.addStruct(w,Q,Gi.FRAGMENT);for(let J=0;J<y;J++){let K=m[J],X=`PropertyStatistics_${K}`,j=K;f.addStructField(w,X,j)}let B="Metadata",D="Metadata",S="metadata";f.addStruct(B,D,Gi.FRAGMENT),f.addStructField(B,Q,M);for(let J=0;J<y;J++){let K=m[J],X=C[J],j=aq(X);f.addStructField(B,j,K)}for(let J=0;J<y;J++){let K=m[J],X=C[J],j=k0i(X),ee=`VoxelProperty_${K}`,ie=`VoxelProperty_${K}`;f.addStruct(ee,ie,Gi.FRAGMENT),f.addStructField(ee,j,"partialDerivativeLocal"),f.addStructField(ee,j,"partialDerivativeWorld"),f.addStructField(ee,j,"partialDerivativeView"),f.addStructField(ee,j,"partialDerivativeValid")}let P="Voxel",R="Voxel",T="voxel";f.addStruct(P,R,Gi.FRAGMENT);for(let J=0;J<y;J++){let K=m[J],X=`VoxelProperty_${K}`;f.addStructField(P,X,K)}f.addStructField(P,"vec3","positionEC"),f.addStructField(P,"vec3","positionUv"),f.addStructField(P,"vec3","positionShapeUv"),f.addStructField(P,"vec3","positionUvLocal"),f.addStructField(P,"vec3","viewDirUv"),f.addStructField(P,"vec3","viewDirWorld"),f.addStructField(P,"vec3","surfaceNormal"),f.addStructField(P,"float","travelDistance");let L="FragmentInput",F="FragmentInput";f.addStruct(L,F,Gi.FRAGMENT),f.addStructField(L,D,S),f.addStructField(L,R,T);let U="Properties",N="Properties",H="properties";f.addStruct(U,N,Gi.FRAGMENT);for(let J=0;J<y;J++){let K=m[J],X=C[J],j=aq(X);f.addStructField(U,j,K)}{let J="clearProperties";f.addFunction(J,`${N} clearProperties()`,Gi.FRAGMENT),f.addFunctionLines(J,[`${N} ${H};`]);for(let K=0;K<y;K++){let X=m[K],j=C[K],ee=E[K],ie=aq(j,ee);f.addFunctionLines(J,[`${H}.${X} = ${ie}(0.0);`])}f.addFunctionLines(J,[`return ${H};`])}{let J="sumProperties";f.addFunction(J,`${N} sumProperties(${N} propertiesA, ${N} propertiesB)`,Gi.FRAGMENT),f.addFunctionLines(J,[`${N} ${H};`]);for(let K=0;K<y;K++){let X=m[K];f.addFunctionLines(J,[`${H}.${X} = propertiesA.${X} + propertiesB.${X};`])}f.addFunctionLines(J,[`return ${H};`])}{let J="scaleProperties";f.addFunction(J,`${N} scaleProperties(${N} ${H}, float scale)`,Gi.FRAGMENT),f.addFunctionLines(J,[`${N} scaledProperties = ${H};`]);for(let K=0;K<y;K++){let X=m[K];f.addFunctionLines(J,[`scaledProperties.${X} *= scale;`])}f.addFunctionLines(J,["return scaledProperties;"])}{let J="mixProperties";f.addFunction(J,`${N} mixProperties(${N} propertiesA, ${N} propertiesB, float mixFactor)`,Gi.FRAGMENT),f.addFunctionLines(J,[`${N} ${H};`]);for(let K=0;K<y;K++){let X=m[K];f.addFunctionLines(J,[`${H}.${X} = mix(propertiesA.${X}, propertiesB.${X}, mixFactor);`])}f.addFunctionLines(J,[`return ${H};`])}{let J="copyPropertiesToMetadata";f.addFunction(J,`void copyPropertiesToMetadata(in ${N} ${H}, inout ${D} ${S})`,Gi.FRAGMENT);for(let K=0;K<y;K++){let X=m[K];f.addFunctionLines(J,[`${S}.${X} = ${H}.${X};`])}}if(v){let J="setStatistics";f.addFunction(J,`void setStatistics(inout ${Q} ${M})`,Gi.FRAGMENT);for(let K=0;K<y;K++){let X=m[K],j=C[K],ee=Po.getComponentCount(j);for(let ie=0;ie<ee;ie++){let z=U0i(j,ie),oe=I[K][ie],le=x[K][ie];f.addFunctionLines(J,[`${M}.${X}.min${z} = ${nke(oe)};`,`${M}.${X}.max${z} = ${nke(le)};`])}}}{let J="getPropertiesFromMegatextureAtUv";f.addFunction(J,`${N} getPropertiesFromMegatextureAtUv(vec2 texcoord)`,Gi.FRAGMENT),f.addFunctionLines(J,[`${N} ${H};`]);for(let K=0;K<y;K++){let X=m[K],j=C[K],ee=E[K],ie=N0i(j,ee);f.addFunctionLines(J,[`properties.${X} = texture(u_megatextureTextures[${K}], texcoord)${ie};`])}f.addFunctionLines(J,[`return ${H};`])}}function aq(o){if(o===Po.SCALAR)return"float";if(o===Po.VEC2)return"vec2";if(o===Po.VEC3)return"vec3";if(o===Po.VEC4)return"vec4"}function N0i(o){if(o===Po.SCALAR)return".r";if(o===Po.VEC2)return".ra";if(o===Po.VEC3)return".rgb";if(o===Po.VEC4)return""}function k0i(o){if(o===Po.SCALAR)return"vec3";if(o===Po.VEC2)return"mat2";if(o===Po.VEC3)return"mat3";if(o===Po.VEC4)return"mat4"}function nke(o){let A=o.toString();return A.indexOf(".")===-1&&(A=`${o}.0`),A}function U0i(o,A){return o===Po.SCALAR?"":`[${A}]`}var P_e=F0i;function O0i(o,A){let f=new T_e(o);P_e(f,o);let{shaderBuilder:m,clippingPlanes:C,clippingPlanesLength:E}=f;if(E>0){let D="getClippingPlane",S=dY(C,A),P=0,R=S.indexOf(")")+1,T=S.indexOf("{",R)+1,L=S.indexOf("}",T),F=S.slice(P,R),U=S.slice(T,L);m.addFunction(D,F,Gi.FRAGMENT),m.addFunctionLines(D,[U])}let I=m.clone();I.addDefine("PICKING",void 0,Gi.FRAGMENT);let x=m.buildShaderProgram(A),y=I.buildShaderProgram(A),v=Hr.fromCache({cull:{enabled:!0,face:tu.BACK},depthTest:{enabled:!1},depthMask:!1,blending:Sl.PRE_MULTIPLIED_ALPHA_BLEND}),w=A.getViewportQuadVertexArray(),Q=o._depthTest,M=new cn({vertexArray:w,primitiveType:$r.TRIANGLES,renderState:v,shaderProgram:x,uniformMap:f.uniformMap,modelMatrix:o._compoundModelMatrix,pass:zi.VOXELS,executeInClosestFrustum:!0,owner:this,cull:Q,occlude:Q}),B=cn.shallowClone(M,new cn);if(B.shaderProgram=y,B.pickOnly=!0,k(o._drawCommand)){let D=o._drawCommand;D.shaderProgram=D.shaderProgram&&D.shaderProgram.destroy()}if(k(o._drawCommandPick)){let D=o._drawCommandPick;D.shaderProgram=D.shaderProgram&&D.shaderProgram.destroy()}o._drawCommand=M,o._drawCommandPick=B}var R_e=O0i;function BD(){this.featurePropertiesDirty=!1}Object.defineProperties(BD.prototype,{featuresLength:{get:function(){ni.throwInstantiationError()}},pointsLength:{get:function(){ni.throwInstantiationError()}},trianglesLength:{get:function(){ni.throwInstantiationError()}},geometryByteLength:{get:function(){ni.throwInstantiationError()}},texturesByteLength:{get:function(){ni.throwInstantiationError()}},batchTableByteLength:{get:function(){ni.throwInstantiationError()}},innerContents:{get:function(){ni.throwInstantiationError()}},ready:{get:function(){ni.throwInstantiationError()}},readyPromise:{get:function(){ni.throwInstantiationError()}},tileset:{get:function(){ni.throwInstantiationError()}},tile:{get:function(){ni.throwInstantiationError()}},url:{get:function(){ni.throwInstantiationError()}},batchTable:{get:function(){ni.throwInstantiationError()}},metadata:{get:function(){ni.throwInstantiationError()},set:function(o){ni.throwInstantiationError()}},group:{get:function(){ni.throwInstantiationError()},set:function(o){ni.throwInstantiationError()}}});BD.prototype.hasProperty=function(o,A){ni.throwInstantiationError()};BD.prototype.getFeature=function(o){ni.throwInstantiationError()};BD.prototype.applyDebugSettings=function(o,A){ni.throwInstantiationError()};BD.prototype.applyStyle=function(o){ni.throwInstantiationError()};BD.prototype.update=function(o,A){ni.throwInstantiationError()};BD.prototype.isDestroyed=function(){ni.throwInstantiationError()};BD.prototype.destroy=function(){ni.throwInstantiationError()};var Uje=BD;function OY(o){o=ae(o,ae.EMPTY_OBJECT),this._maximumSubtreeCount=ae(o.maximumSubtreeCount,0),this._subtreeRequestCounter=0,this._queue=new qte({comparator:OY.comparator})}OY.prototype.addSubtree=function(o){let A=new G0i(o,this._subtreeRequestCounter);this._subtreeRequestCounter++,this._queue.insert(A);let f=o.implicitCoordinates;if(f.level>0){let m=f.getParentSubtreeCoordinates(),C=this.find(m)}if(this._maximumSubtreeCount>0)for(;this._queue.length>this._maximumSubtreeCount&&this._queue.getMinimum()!==A;)this._queue.removeMinimum()};OY.prototype.find=function(o){let A=this._queue,f=A.internalArray,m=A.length;for(let C=0;C<m;C++){let E=f[C],I=E.subtree.implicitCoordinates;if(o.isEqual(I))return E.subtree}};OY.comparator=function(o,A){let f=o.subtree.implicitCoordinates,m=A.subtree.implicitCoordinates;return f.isAncestor(m)?1:m.isAncestor(f)?-1:o.stamp-A.stamp};function G0i(o,A){this.subtree=o,this.stamp=A}var L_e=OY;function WE(){this.orientedBoundingBox=new MA,this.boundingSphere=new si,this.boundTransform=new Re,this.shapeTransform=new Re,this._minBounds=Z.clone(WE.DefaultMinBounds,new Z),this._maxBounds=Z.clone(WE.DefaultMaxBounds,new Z),this.shaderUniforms={renderMinBounds:new Z,renderMaxBounds:new Z,boxUvToShapeUvScale:new Z,boxUvToShapeUvTranslate:new Z},this.shaderDefines={BOX_INTERSECTION_INDEX:void 0,BOX_HAS_SHAPE_BOUNDS:void 0},this.shaderMaximumIntersectionsLength=0}var H0i=new Z,wce=new Z,V0i=new Nt,z0i=new Z,Y0i=new Z,J0i=new Z,K0i=new Z,oke=Re.fromRotationTranslation(Nt.fromUniformScale(.5,new Nt),new Z(.5,.5,.5),new Re);WE.prototype.update=function(o,A,f,m,C){m=ae(m,WE.DefaultMinBounds),C=ae(C,WE.DefaultMaxBounds);let E=WE.DefaultMinBounds,I=WE.DefaultMaxBounds;A=this._minBounds=Z.clamp(A,E,I,this._minBounds),f=this._maxBounds=Z.clamp(f,E,I,this._maxBounds),m=Z.clamp(m,E,I,z0i),C=Z.clamp(C,E,I,Y0i);let x=Z.clamp(A,m,C,J0i),y=Z.clamp(f,m,C,K0i),v=Re.getScale(o,wce);if(x.x>y.x||x.y>y.y||x.z>y.z||(x.x===y.x)+(x.y===y.y)+(x.z===y.z)>=2||m.x>C.x||m.y>C.y||m.z>C.z||v.x===0||v.y===0||v.z===0)return!1;this.shapeTransform=Re.clone(o,this.shapeTransform),this.orientedBoundingBox=Oje(x,y,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=Re.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=si.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let{shaderUniforms:w,shaderDefines:Q}=this;for(let D in Q)Q.hasOwnProperty(D)&&(Q[D]=void 0);let M=!Z.equals(A,E)||!Z.equals(f,I),B=0;if(Q.BOX_INTERSECTION_INDEX=B,B+=1,w.renderMinBounds=Re.multiplyByPoint(oke,x,w.renderMinBounds),w.renderMaxBounds=Re.multiplyByPoint(oke,y,w.renderMaxBounds),M){Q.BOX_HAS_SHAPE_BOUNDS=!0;let D=A,S=f;w.boxUvToShapeUvScale=Z.fromElements(2/(D.x===S.x?1:S.x-D.x),2/(D.y===S.y?1:S.y-D.y),2/(D.z===S.z?1:S.z-D.z),w.boxUvToShapeUvScale),w.boxUvToShapeUvTranslate=Z.fromElements(-w.boxUvToShapeUvScale.x*(D.x*.5+.5),-w.boxUvToShapeUvScale.y*(D.y*.5+.5),-w.boxUvToShapeUvScale.z*(D.z*.5+.5),w.boxUvToShapeUvTranslate)}return this.shaderMaximumIntersectionsLength=B,!0};var W0i=new Z,q0i=new Z;WE.prototype.computeOrientedBoundingBoxForTile=function(o,A,f,m,C){let E=this._minBounds,I=this._maxBounds,x=1/Math.pow(2,o),y=Z.fromElements(De.lerp(E.x,I.x,x*A),De.lerp(E.y,I.y,x*f),De.lerp(E.z,I.z,x*m),W0i),v=Z.fromElements(De.lerp(E.x,I.x,x*(A+1)),De.lerp(E.y,I.y,x*(f+1)),De.lerp(E.z,I.z,x*(m+1)),q0i);return Oje(y,v,this.shapeTransform,C)};WE.prototype.computeApproximateStepSize=function(o){return 1/Z.maximumComponent(o)};WE.DefaultMinBounds=Object.freeze(new Z(-1,-1,-1));WE.DefaultMaxBounds=Object.freeze(new Z(1,1,1));function Oje(o,A,f,m){let C=WE.DefaultMinBounds,E=WE.DefaultMaxBounds;if(Z.equals(o,C)&&Z.equals(A,E))m.center=Re.getTranslation(f,m.center),m.halfAxes=Re.getMatrix3(f,m.halfAxes);else{let I=Re.getScale(f,wce),x=Z.midpoint(o,A,H0i);m.center=Re.multiplyByPoint(f,x,m.center),I=Z.fromElements(I.x*.5*(A.x-o.x),I.y*.5*(A.y-o.y),I.z*.5*(A.z-o.z),wce);let y=Re.getRotation(f,V0i);m.halfAxes=Nt.setScale(y,I,m.halfAxes)}return m}var VF=WE;function XX(o){this._resource=o,this._metadataTable=void 0}Object.defineProperties(XX.prototype,{metadataTable:{get:function(){return this._metadataTable}}});XX.fromJson=async function(o,A,f,m){let C;k(A)?C={json:A,binary:void 0}:C=X0i(f);let E=await j0i(o,C.json,C.binary),I={},x=C.json.bufferViews.length;for(let Q=0;Q<x;++Q){let M=C.json.bufferViews[Q],B=M.byteOffset,D=B+M.byteLength,S=E[M.buffer].subarray(B,D);I[Q]=S}let y=C.json.voxelTable,v=C.json.propertyTables[y],w=new XX(o);return w._metadataTable=new hP({count:v.count,properties:v.properties,class:m.classes[v.class],bufferViews:I}),w};function j0i(o,A,f){let m=A.buffers.length,C=new Array(m);for(let E=0;E<m;E++){let I=A.buffers[E];if(k(I.uri)){let x=o.getDerivedResource({url:I.uri});C[E]=x.fetchArrayBuffer().then(function(y){return new Uint8Array(y)})}else C[E]=Promise.resolve(f)}return Promise.all(C)}function X0i(o){let A=new DataView(o.buffer,o.byteOffset),f=8,m=A.getUint32(f,!0);f+=8;let C=A.getUint32(f,!0);f+=8;let E=Ap(o,f,m);f+=m;let I=o.subarray(f,f+C);return{json:E,binary:I}}var F_e=XX;function Fd(){this.orientedBoundingBox=new MA,this.boundingSphere=new si,this.boundTransform=new Re,this.shapeTransform=new Re,this._minimumRadius=Fd.DefaultMinBounds.x,this._maximumRadius=Fd.DefaultMaxBounds.x,this._minimumHeight=Fd.DefaultMinBounds.y,this._maximumHeight=Fd.DefaultMaxBounds.y,this._minimumAngle=Fd.DefaultMinBounds.z,this._maximumAngle=Fd.DefaultMaxBounds.z,this.shaderUniforms={cylinderUvToRenderBoundsScale:new Z,cylinderUvToRenderBoundsTranslate:new Z,cylinderUvToRenderRadiusMin:0,cylinderRenderAngleMinMax:new tt,cylinderUvToShapeUvRadius:new tt,cylinderUvToShapeUvHeight:new tt,cylinderUvToShapeUvAngle:new tt,cylinderShapeUvAngleMinMax:new tt,cylinderShapeUvAngleRangeZeroMid:0},this.shaderDefines={CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN:void 0,CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX:void 0,CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT:void 0,CYLINDER_HAS_RENDER_BOUNDS_HEIGHT:void 0,CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF:void 0,CYLINDER_HAS_SHAPE_BOUNDS_RADIUS:void 0,CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MAX:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MIN:void 0,CYLINDER_INTERSECTION_INDEX_ANGLE:void 0},this.shaderMaximumIntersectionsLength=0}var Gje=new Z,Z0i=new Z,$0i=new Z,epi=new Nt,tpi=new Re,ipi=new Re,rpi=Re.fromRotationTranslation(Nt.fromUniformScale(2,new Nt),new Z(-1,-1,-1),new Re);Fd.prototype.update=function(o,A,f,m,C){m=ae(m,Fd.DefaultMinBounds),C=ae(C,Fd.DefaultMaxBounds);let E=Fd.DefaultMinBounds.x,I=Fd.DefaultMaxBounds.x,x=Fd.DefaultMinBounds.y,y=Fd.DefaultMaxBounds.y,v=Fd.DefaultMinBounds.z,w=Fd.DefaultMaxBounds.z,Q=w-v,M=.5*Q,B=De.EPSILON10,D=De.EPSILON3,S=De.EPSILON10,P=De.clamp(A.x,E,I),R=De.clamp(f.x,E,I),T=De.clamp(m.x,E,I),L=De.clamp(C.x,E,I),F=Math.max(P,T),U=Math.min(R,L),N=De.clamp(A.y,x,y),H=De.clamp(f.y,x,y),J=De.clamp(m.y,x,y),K=De.clamp(C.y,x,y),X=Math.max(N,J),j=Math.min(H,K),ee=De.negativePiToPi(A.z),ie=De.negativePiToPi(f.z),z=De.negativePiToPi(m.z),oe=De.negativePiToPi(C.z),le=Math.max(ee,z),Ae=Math.min(ie,oe),he=Re.getScale(o,Gje);if(U===0||F>U||X>j||De.equalsEpsilon(he.x,0,void 0,B)||De.equalsEpsilon(he.y,0,void 0,B)||De.equalsEpsilon(he.z,0,void 0,B))return!1;this._minimumRadius=P,this._maximumRadius=R,this._minimumHeight=N,this._maximumHeight=H,this._minimumAngle=ee,this._maximumAngle=ie,this.shapeTransform=Re.clone(o,this.shapeTransform),this.orientedBoundingBox=N_e(F,U,X,j,le,Ae,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=Re.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=si.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let ge=P===E&&R===I,de=N===x&&H===y,fe=ie<ee,G=ie-ee+fe*Q,Y=G>M+S&&G<Q-S,W=G>S&&G<M-S,O=G>=M-S&&G<=M+S,re=G<=S,se=Y||W||O||re,ce=De.equalsEpsilon(ee,v,void 0,D),me=De.equalsEpsilon(ie,w,void 0,D),Ce=U===I,ye=F===E,Be=X===x&&j===y,Me=Ae<le,He=Ae-le+Me*Q,ke=He>M+S&&He<Q-S,Ne=He>S&&He<M-S,Pe=He>=M-S&&He<=M+S,we=He<=S,Fe=ke||Ne||Pe||we,Ue=this.shaderUniforms,ze=this.shaderDefines;for(let je in ze)ze.hasOwnProperty(je)&&(ze[je]=void 0);let Je=0;if(ze.CYLINDER_INTERSECTION_INDEX_RADIUS_MAX=Je,Je+=1,ye||(ze.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN=!0,ze.CYLINDER_INTERSECTION_INDEX_RADIUS_MIN=Je,Je+=1,Ue.cylinderUvToRenderRadiusMin=U/F),Ce||(ze.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX=!0),F===U&&(ze.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT=!0),Be||(ze.CYLINDER_HAS_RENDER_BOUNDS_HEIGHT=!0),X===j&&(ze.CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT=!0),N===H&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT=!0),P===R&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT=!0),!ge){ze.CYLINDER_HAS_SHAPE_BOUNDS_RADIUS=!0;let je=1/(R-P),Ze=P/(P-R);Ue.cylinderUvToShapeUvRadius=tt.fromElements(je,Ze,Ue.cylinderUvToShapeUvRadius)}if(!de){ze.CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT=!0;let je=2/(H-N),Ze=(N+1)/(N-H);Ue.cylinderUvToShapeUvHeight=tt.fromElements(je,Ze,Ue.cylinderUvToShapeUvHeight)}if(!Ce||!Be){let je=.5*(j-X),Ze=Z.fromElements(1/U,1/U,1/(je===0?1:je),$0i),rt=Z.fromElements(0,0,-Ze.z*.5*(X+j),Z0i),At=Re.fromRotationTranslation(Nt.fromScale(Ze,epi),rt,tpi),yt=Re.multiplyTransformation(At,rpi,ipi);Ue.cylinderUvToRenderBoundsScale=Re.getScale(yt,Ue.cylinderUvToRenderBoundsScale),Ue.cylinderUvToRenderBoundsTranslate=Re.getTranslation(yt,Ue.cylinderUvToRenderBoundsTranslate)}if(fe&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED=!0),Fe&&(ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE=!0,ze.CYLINDER_INTERSECTION_INDEX_ANGLE=Je,ke?(ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF=!0,Je+=1):Ne?(ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF=!0,Je+=2):Pe?(ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF=!0,Je+=1):we&&(ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO=!0,Je+=2),Ue.cylinderRenderAngleMinMax=tt.fromElements(le,Ae,Ue.cylinderAngleMinMax)),se){ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE=!0,re&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO=!0),ce&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY=!0),me&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY=!0);let je=(ee-v)/Q,Ze=(ie-v)/Q,rt=1-G/Q;Ue.cylinderShapeUvAngleMinMax=tt.fromElements(je,Ze,Ue.cylinderShapeUvAngleMinMax),Ue.cylinderShapeUvAngleRangeZeroMid=(Ze+.5*rt)%1;let At=Q/G,yt=-(ee-v)/G;Ue.cylinderUvToShapeUvAngle=tt.fromElements(At,yt,Ue.cylinderUvToShapeUvAngle)}return this.shaderMaximumIntersectionsLength=Je,!0};Fd.prototype.computeOrientedBoundingBoxForTile=function(o,A,f,m,C){let E=this._minimumRadius,I=this._maximumRadius,x=this._minimumHeight,y=this._maximumHeight,v=this._minimumAngle,w=this._maximumAngle,Q=1/Math.pow(2,o),M=De.lerp(E,I,A*Q),B=De.lerp(E,I,(A+1)*Q),D=De.lerp(x,y,f*Q),S=De.lerp(x,y,(f+1)*Q),P=De.lerp(v,w,m*Q),R=De.lerp(v,w,(m+1)*Q);return N_e(M,B,D,S,P,R,this.shapeTransform,C)};var npi=new MA,opi=new Z,api=new Z,spi=new Z;Fd.prototype.computeApproximateStepSize=function(o){let A=this.shapeTransform,f=this._minimumRadius,m=this._maximumRadius,C=this._minimumHeight,E=this._maximumHeight,I=this._minimumAngle,x=this._maximumAngle,y=1-1/o.x,v=1-1/o.y,w=1-1/o.z,Q=De.lerp(f,m,y),M=De.lerp(C,E,v),B=De.lerp(I,x,w),D=N_e(Q,m,M,E,B,x,A,npi),S=Nt.getScale(D.halfAxes,opi),P=Re.getScale(A,api),R=Z.divideComponents(S,P,spi);return Z.minimumComponent(R)};Fd.DefaultMinBounds=Object.freeze(new Z(0,-1,-De.PI));Fd.DefaultMaxBounds=Object.freeze(new Z(1,1,+De.PI));var lpi=5,Api=new Array(lpi),upi=new Z,cpi=new Nt,hpi=new Re,dpi=new Re,gpi=new Re,aAe=new Re,fpi=new Z,ppi=new Z,mpi=new Z,Hje=new Array(8);for(let o=0;o<8;o++)Hje[o]=new Z;function ake(o,A,f){return Math.abs(kt.dot(o,A))<f}function Cpi(o){let A=Re.getColumn(o,0,fpi),f=Re.getColumn(o,1,ppi),m=Re.getColumn(o,2,mpi),C=De.EPSILON4;return ake(A,f,C)&&ake(f,m,C)}function Epi(o,A){let f=Hje;Z.fromElements(-.5,-.5,-.5,f[0]),Z.fromElements(-.5,-.5,.5,f[1]),Z.fromElements(-.5,.5,-.5,f[2]),Z.fromElements(-.5,.5,.5,f[3]),Z.fromElements(.5,-.5,-.5,f[4]),Z.fromElements(.5,-.5,.5,f[5]),Z.fromElements(.5,.5,-.5,f[6]),Z.fromElements(.5,.5,.5,f[7]);for(let m=0;m<8;++m)Re.multiplyByPoint(o,f[m],f[m]);return MA.fromPoints(f,A)}function N_e(o,A,f,m,C,E,I,x){let y=Fd.DefaultMinBounds,v=Fd.DefaultMaxBounds,w=y.x,Q=v.x,M=y.y,B=v.y,D=y.z,S=v.z;if(o===w&&A===Q&&f===M&&m===B&&C===D&&E===S)return x.center=Re.getTranslation(I,x.center),x.halfAxes=Re.getMatrix3(I,x.halfAxes),x;E<C&&(E+=De.TWO_PI);let P=E-C,R=C+P*.5,T=Api,L=0;T[L++]=C,T[L++]=E,T[L++]=R,P>De.PI&&(T[L++]=R-De.PI_OVER_TWO,T[L++]=R+De.PI_OVER_TWO);let F=1,U=1,N=-1,H=-1;for(let G=0;G<L;++G){let Y=T[G]-R,W=Math.cos(Y),O=Math.sin(Y),re=W*o,se=O*o,ce=W*A,me=O*A;F=Math.min(F,re),U=Math.min(U,se),F=Math.min(F,ce),U=Math.min(U,me),N=Math.max(N,re),H=Math.max(H,se),N=Math.max(N,ce),H=Math.max(H,me)}let J=N-F,K=H-U,X=m-f,j=(F+N)*.5,ee=(U+H)*.5,ie=(f+m)*.5,z=Z.fromElements(j,ee,ie,upi),oe=Nt.fromRotationZ(R,cpi),le=Z.fromElements(J,K,X,Gje),Ae=Re.fromScale(le,gpi),he=Re.fromRotation(oe,dpi),ge=Re.fromTranslation(z,hpi),de=Re.multiplyTransformation(he,Re.multiplyTransformation(ge,Ae,aAe),aAe),fe=Re.multiplyTransformation(I,de,aAe);return Cpi(fe)?MA.fromTransformation(fe,x):Epi(fe,x)}var zF=Fd;function zE(){this.orientedBoundingBox=new MA,this.boundingSphere=new si,this.boundTransform=new Re,this.shapeTransform=new Re,this._rectangle=new hi,this._minimumHeight=zE.DefaultMinBounds.z,this._maximumHeight=zE.DefaultMaxBounds.z,this._ellipsoid=new gi,this._translation=new Z,this._rotation=new Nt,this.shaderUniforms={ellipsoidRadiiUv:new Z,ellipsoidInverseRadiiSquaredUv:new Z,ellipsoidRenderLongitudeMinMax:new tt,ellipsoidShapeUvLongitudeMinMaxMid:new Z,ellipsoidUvToShapeUvLongitude:new tt,ellipsoidUvToShapeUvLatitude:new tt,ellipsoidRenderLatitudeCosSqrHalfMinMax:new tt,ellipsoidInverseHeightDifferenceUv:0,ellipseInnerRadiiUv:new tt,ellipsoidInverseInnerScaleUv:0,ellipsoidInverseOuterScaleUv:0},this.shaderDefines={ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT:void 0,ELLIPSOID_IS_SPHERE:void 0,ELLIPSOID_INTERSECTION_INDEX_LONGITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN:void 0},this.shaderMaximumIntersectionsLength=0}var Ipi=new Z,xpi=new Nt,ske=new Z,lke=new Z,Ake=new Z,uke=new Z,ypi=new hi;zE.prototype.update=function(o,A,f,m,C){m=ae(m,zE.DefaultMinBounds),C=ae(C,zE.DefaultMaxBounds);let E=zE.DefaultMinBounds.x,I=zE.DefaultMaxBounds.x,x=I-E,y=.5*x,v=zE.DefaultMinBounds.y,w=zE.DefaultMaxBounds.y,Q=w-v,M=De.EPSILON10,B=De.EPSILON3,D=De.EPSILON10,S=De.EPSILON10,P=De.EPSILON3,R=De.clamp(A.x,E,I),T=De.clamp(f.x,E,I),L=De.clamp(m.x,E,I),F=De.clamp(C.x,E,I),U=Math.max(R,L),N=Math.min(T,F),H=De.clamp(A.y,v,w),J=De.clamp(f.y,v,w),K=De.clamp(m.y,v,w),X=De.clamp(C.y,v,w),j=Math.max(H,K),ee=Math.min(J,X),ie=Re.getScale(o,Ipi),z=ie.x===ie.y&&ie.y===ie.z,oe=Z.minimumComponent(ie),le=Math.max(A.z,-oe),Ae=Math.max(f.z,-oe),he=Math.max(m.z,-oe),ge=Math.max(C.z,-oe),de=Math.max(le,he),fe=Math.min(Ae,ge),G=Z.add(ie,Z.fromElements(le,le,le,lke),lke),Y=Z.add(ie,Z.fromElements(Ae,Ae,Ae,ske),ske),W=Z.maximumComponent(Y),O=Z.add(ie,Z.fromElements(de,de,de,uke),uke),re=Z.add(ie,Z.fromElements(fe,fe,fe,Ake),Ake);if(j>ee||j===w||ee===v||de>fe||De.equalsEpsilon(re,Z.ZERO,void 0,M))return!1;this._rectangle=hi.fromRadians(R,H,T,J),this._translation=Re.getTranslation(o,this._translation),this._rotation=Re.getRotation(o,this._rotation),this._ellipsoid=gi.fromCartesian3(ie,this._ellipsoid),this._minimumHeight=le,this._maximumHeight=Ae;let se=hi.fromRadians(U,j,N,ee,ypi);this.orientedBoundingBox=Vje(se,de,fe,this._ellipsoid,this._translation,this._rotation,this.orientedBoundingBox),this.shapeTransform=Re.fromRotationTranslation(Nt.setScale(this._rotation,Y,xpi),this._translation,this.shapeTransform),this.boundTransform=Re.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=si.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let ce=N<U,me=N-U+ce*x,Ce=me<=D,ye=me>y+D&&me<x-D,Be=me>=y-D&&me<=y+D,Me=me>D&&me<y-D,He=Ce||ye||Be||Me,ke=T<R,Ne=T-R+ke*x,Pe=Ne<=D,we=Ne>y+D&&Ne<x-D,Fe=Ne>=y-D&&Ne<=y+D,Ue=Ne>D&&Ne<y-D,ze=Pe||we||Fe||Ue,Je=ee<-P,je=ee>=-P&&ee<=+P,Ze=ee>+P&&ee<w-S,rt=Je||je||Ze,At=j>v+S&&j<-P,yt=j>=-P&&j<=+P,at=j>+P,ft=At||yt||at,_t=rt||ft,et=J-H,pt=J<-P,zt=J>=-P&&J<=+P,It=J>+P&&J<w-S,Pt=pt||zt||It,St=H>v+S&&H<-P,dt=H>=-P&&H<=+P,Le=H>+P,_e=Pt||St||dt||Le,Oe=!Z.equals(O,Z.ZERO),vt=!Z.equals(re,Z.ZERO),wt=Oe||vt,Bt=fe-de,bi=!Z.equals(G,Z.ZERO),nr=!Z.equals(Y,Z.ZERO),Ai=bi||nr,xi=this.shaderUniforms,Fi=this.shaderDefines;for(let Vt in Fi)Fi.hasOwnProperty(Vt)&&(Fi[Vt]=void 0);xi.ellipsoidRadiiUv=Z.divideByScalar(Y,W,xi.ellipsoidRadiiUv),xi.ellipsoidInverseRadiiSquaredUv=Z.divideComponents(Z.ONE,Z.multiplyComponents(xi.ellipsoidRadiiUv,xi.ellipsoidRadiiUv,xi.ellipsoidInverseRadiiSquaredUv),xi.ellipsoidInverseRadiiSquaredUv);let pi=0;if(Fi.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX=pi,pi+=1,wt&&(Bt===0&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT=!0),Oe&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN=!0,Fi.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN=pi,pi+=1,xi.ellipsoidInverseInnerScaleUv=W/(W-(Ae-de))),vt&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX=!0,xi.ellipsoidInverseOuterScaleUv=W/(W-(Ae-fe)))),Ai){if(bi){Fi.ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN=!0;let Vt=(Ae-le)/W;xi.ellipsoidInverseHeightDifferenceUv=1/Vt,xi.ellipseInnerRadiiUv=tt.fromElements(xi.ellipsoidRadiiUv.x*(1-Vt),xi.ellipsoidRadiiUv.z*(1-Vt),xi.ellipseInnerRadiiUv)}le===Ae&&(Fi.ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT=!0)}if(He&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE=!0,Fi.ELLIPSOID_INTERSECTION_INDEX_LONGITUDE=pi,ye?(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF=!0,pi+=1):Me?(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF=!0,pi+=2):Be?(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF=!0,pi+=1):Ce&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO=!0,pi+=2),xi.ellipsoidRenderLongitudeMinMax=tt.fromElements(U,N,xi.ellipsoidRenderLongitudeMinMax)),ze){Fi.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE=!0,T<R&&(Fi.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED=!0);let Vt=x/Ne,Kt=-(R-E)/Ne;xi.ellipsoidUvToShapeUvLongitude=tt.fromElements(Vt,Kt,xi.ellipsoidUvToShapeUvLongitude)}if(He){let Vt=De.equalsEpsilon(U,E,void 0,B),Kt=De.equalsEpsilon(N,I,void 0,B);Vt&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY=!0),Kt&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY=!0);let di=(R-E)/x,ui=(T-E)/x,Ht=(N-E)/x,Ei=1-me/x,gt=(Ht+.5*Ei)%1;xi.ellipsoidShapeUvLongitudeMinMaxMid=Z.fromElements(di,ui,gt,xi.ellipsoidShapeUvLongitudeMinMaxMid)}if(_t){Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE=!0,ft&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN=!0,Fi.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN=pi,At?(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF=!0,pi+=1):yt?(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF=!0,pi+=1):at&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF=!0,pi+=2)),rt&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX=!0,Fi.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX=pi,Je?(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF=!0,pi+=2):je?(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF=!0,pi+=1):Ze&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF=!0,pi+=1)),j===ee&&(Fi.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO=!0);let Vt=Math.pow(Math.cos(De.PI_OVER_TWO-Math.abs(j)),2),Kt=Math.pow(Math.cos(De.PI_OVER_TWO-Math.abs(ee)),2);xi.ellipsoidRenderLatitudeCosSqrHalfMinMax=tt.fromElements(Vt,Kt,xi.ellipsoidRenderLatitudeCosSqrHalfMinMax)}if(_e){Fi.ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE=!0,H===J&&(Fi.ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO=!0);let Vt=Q/et,Kt=(v-H)/et;xi.ellipsoidUvToShapeUvLatitude=tt.fromElements(Vt,Kt,xi.ellipsoidUvToShapeUvLatitude)}return z&&(Fi.ELLIPSOID_IS_SPHERE=!0),this.shaderMaximumIntersectionsLength=pi,!0};var vpi=new hi;zE.prototype.computeOrientedBoundingBoxForTile=function(o,A,f,m,C){let E=1/Math.pow(2,o),I=A*E,x=(A+1)*E,y=f*E,v=(f+1)*E,w=m*E,Q=(m+1)*E,M=hi.subsection(this._rectangle,I,y,x,v,vpi),B=De.lerp(this._minimumHeight,this._maximumHeight,w),D=De.lerp(this._minimumHeight,this._maximumHeight,Q);return Vje(M,B,D,this._ellipsoid,this._translation,this._rotation,C)};zE.prototype.computeApproximateStepSize=function(o){let A=this._ellipsoid.maximumRadius,f=this._minimumHeight,m=this._maximumHeight;return .5*((m-f)/(A+m))/o.z};function Vje(o,A,f,m,C,E,I){return I=MA.fromRectangle(o,A,f,m,I),I.center=Z.add(I.center,C,I.center),I.halfAxes=Nt.multiply(I.halfAxes,E,I.halfAxes),I}zE.DefaultMinBounds=Object.freeze(new Z(-De.PI,-De.PI_OVER_TWO,-Number.MAX_VALUE));zE.DefaultMaxBounds=Object.freeze(new Z(+De.PI,+De.PI_OVER_TWO,+Number.MAX_VALUE));var GY=zE,px={BOX:"BOX",ELLIPSOID:"ELLIPSOID",CYLINDER:"CYLINDER"};px.getMinBounds=function(o){switch(o){case px.BOX:return VF.DefaultMinBounds;case px.ELLIPSOID:return GY.DefaultMinBounds;case px.CYLINDER:return zF.DefaultMinBounds}};px.getMaxBounds=function(o){switch(o){case px.BOX:return VF.DefaultMaxBounds;case px.ELLIPSOID:return GY.DefaultMaxBounds;case px.CYLINDER:return zF.DefaultMaxBounds}};px.getShapeConstructor=function(o){switch(o){case px.BOX:return VF;case px.ELLIPSOID:return GY;case px.CYLINDER:return zF}};var Bu=Object.freeze(px);function f9(o){o=ae(o,ae.EMPTY_OBJECT),this._ready=!1,this.shapeTransform=void 0,this.globalTransform=void 0,this.shape=void 0,this.minBounds=void 0,this.maxBounds=void 0,this.dimensions=void 0,this.paddingBefore=void 0,this.paddingAfter=void 0,this.names=void 0,this.types=void 0,this.componentTypes=void 0,this.minimumValues=void 0,this.maximumValues=void 0,this.maximumTileCount=void 0,this._implicitTileset=void 0,this._subtreeCache=new L_e;let A=this,f;k(o.url)&&($t("Cesium3DTilesVoxelProvider options.url","Cesium3DTilesVoxelProvider constructor parameter options.url was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use Cesium3DTilesVoxelProvider.fromUrl instead."),this._readyPromise=Promise.resolve(o.url).then(function(m){let C=fr.createIfNeeded(m);return C.fetchJson().then(function(E){return f=E,Yje(f),Kje(f,C).load()}).then(function(E){let I=f.root,x=I.content.extensions["3DTILES_content_voxels"],y=x.class,v=Lu(f,"3DTILES_metadata")?f.extensions["3DTILES_metadata"]:f,w=E.schema,Q=new jz({metadataJson:v,schema:w});Wje(A,Q,y);let M=new $z(C,I,w),{shape:B,minBounds:D,maxBounds:S,shapeTransform:P,globalTransform:R}=Jje(I);A.shape=B,A.minBounds=D,A.maxBounds=S,A.dimensions=Z.unpack(x.dimensions),A.shapeTransform=P,A.globalTransform=R,A.maximumTileCount=zje(Q);let T,L;return k(x.padding)&&(T=Z.unpack(x.padding.before),L=Z.unpack(x.padding.after)),A.paddingBefore=T,A.paddingAfter=L,A._implicitTileset=M,Ju.unload(E),A._ready=!0,A})}))}Object.defineProperties(f9.prototype,{readyPromise:{get:function(){return $t("Cesium3DTilesVoxelProvider.readyPromise","Cesium3DTilesVoxelProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use Cesium3DTilesVoxelProvider.fromUrl instead."),this._readyPromise}},ready:{get:function(){return $t("Cesium3DTilesVoxelProvider.ready","Cesium3DTilesVoxelProvider.ready was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use Cesium3DTilesVoxelProvider.fromUrl instead."),this._ready}}});f9.fromUrl=async function(o){let A=fr.createIfNeeded(o),f=await A.fetchJson();Yje(f);let m=Kje(f,A);await m.load();let C=f.root,E=C.content.extensions["3DTILES_content_voxels"],I=E.class,x=Lu(f,"3DTILES_metadata")?f.extensions["3DTILES_metadata"]:f,y=m.schema,v=new jz({metadataJson:x,schema:y}),w=new f9;Wje(w,v,I);let Q=new $z(A,C,y),{shape:M,minBounds:B,maxBounds:D,shapeTransform:S,globalTransform:P}=Jje(C);w.shape=M,w.minBounds=B,w.maxBounds=D,w.dimensions=Z.unpack(E.dimensions),w.shapeTransform=S,w.globalTransform=P,w.maximumTileCount=zje(v);let R,T;return k(E.padding)&&(R=Z.unpack(E.padding.before),T=Z.unpack(E.padding.after)),w.paddingBefore=R,w.paddingAfter=T,w._implicitTileset=Q,Ju.unload(m),w._ready=!0,w._readyPromise=Promise.resolve(w),w};function zje(o){if(k(o.tileset))return o.tileset.getPropertyBySemantic(dee.TILESET_TILE_COUNT)}function Yje(o){let A=o.root;if(!k(A.content))throw new Ti("Root must have content");if(!Lu(A.content,"3DTILES_content_voxels"))throw new Ti("Root tile content must have 3DTILES_content_voxels extension");if(!Lu(A,"3DTILES_implicit_tiling")&&!k(A.implicitTiling))throw new Ti("Root tile must have implicit tiling");if(!k(o.schema)&&!k(o.schemaUri)&&!Lu(o,"3DTILES_metadata"))throw new Ti("Tileset must have a metadata schema")}function Jje(o){let A=o.boundingVolume,f;if(k(o.transform)?f=Re.unpack(o.transform):f=Re.clone(Re.IDENTITY),k(A.box))return Bpi(A.box,f);if(k(A.region))return _pi(A.region);if(Lu(A,"3DTILES_bounding_volume_cylinder"))return wpi(A.extensions["3DTILES_bounding_volume_cylinder"].cylinder,f);throw new Ti("Only box, region and 3DTILES_bounding_volume_cylinder are supported in Cesium3DTilesVoxelProvider")}function _pi(o){let A=o[0],f=o[1],m=o[2],C=o[3],E=o[4],I=o[5],x=Re.fromScale(gi.WGS84.radii),y=A,v=m,w=f,Q=C,M=E,B=I,D=new Z(y,w,M),S=new Z(v,Q,B);return{shape:Bu.ELLIPSOID,minBounds:D,maxBounds:S,shapeTransform:x,globalTransform:Re.clone(Re.IDENTITY)}}function Bpi(o,A){let f=MA.unpack(o),m=Re.fromRotationTranslation(f.halfAxes,f.center);return{shape:Bu.BOX,minBounds:Z.clone(VF.DefaultMinBounds),maxBounds:Z.clone(VF.DefaultMaxBounds),shapeTransform:m,globalTransform:A}}function wpi(o,A){let f=MA.unpack(o),m=Re.fromRotationTranslation(f.halfAxes,f.center);return{shape:Bu.CYLINDER,minBounds:Z.clone(zF.DefaultMinBounds),maxBounds:Z.clone(zF.DefaultMaxBounds),shapeTransform:m,globalTransform:A}}function Kje(o,A){let{schemaUri:f,schema:m}=o;return k(f)?Ju.getSchemaLoader({resource:A.getDerivedResource({url:f})}):Ju.getSchemaLoader({schema:m})}function Wje(o,A,f){let{schema:m,statistics:C}=A,E=C?.classes[f],I=m.classes[f].properties,x=Object.entries(I).map(([Q,M])=>{let{type:B,componentType:D}=M,S=E?.properties[Q].min,P=E?.properties[Q].max,R=Po.getComponentCount(B),T=cke(S,R),L=cke(P,R);return{id:Q,type:B,componentType:D,minValue:T,maxValue:L}});o.names=x.map(Q=>Q.id),o.types=x.map(Q=>Q.type),o.componentTypes=x.map(Q=>Q.componentType);let y=x.map(Q=>Q.minValue),v=x.map(Q=>Q.maxValue),w=y.some(k);o.minimumValues=w?y:void 0,o.maximumValues=w?v:void 0}function cke(o,A){if(!k(o))return;let f=Array.isArray(o)?o:[o];return Array.from({length:A},(m,C)=>f[C])}async function bpi(o,A){let f=o.contentUriTemplates[0].getDerivedResource({templateValues:A.getTemplateValues()}),m=o.baseResource.getDerivedResource({url:f.url}),C=await m.fetchArrayBuffer(),E=C4(C);return await F_e.fromJson(m,E.jsonPayload,E.binaryPayload,o.metadataSchema)}async function Qpi(o,A){let f=o._implicitTileset,m=o._subtreeCache,C=m.find(A);if(k(C))return C;let E=f.subtreeUriTemplate.getDerivedResource({templateValues:A.getTemplateValues()}),I=f.baseResource.getDerivedResource({url:E.url}),x=await I.fetchArrayBuffer();if(C=m.find(A),k(C))return C;let y=C4(x);return C=await hee.fromSubtreeJson(I,y.jsonPayload,y.binaryPayload,f,A),m.addSubtree(C),C}f9.prototype.requestData=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=ae(o.tileLevel,0),f=ae(o.tileX,0),m=ae(o.tileY,0),C=ae(o.tileZ,0);if(ae(o.keyframe,0)!==0)return;let E=this._implicitTileset,I=this.names,x=new Oee({subdivisionScheme:E.subdivisionScheme,subtreeLevels:E.subtreeLevels,level:A,x:f,y:m,z:C}),y=x.isSubtreeRoot()&&x.level>0,v=y?x.getParentSubtreeCoordinates():x.getSubtreeCoordinates();return Qpi(this,v).then(function(w){return(y?w.childSubtreeIsAvailableAtCoordinates(x):w.tileIsAvailableAtCoordinates(x))?bpi(E,x):Promise.reject("Tile is not available")}).then(function(w){return I.map(function(Q){return w.metadataTable.getPropertyTypedArray(Q)})})};var qje=f9;function k_e(o){o=ae(o,1),this._radius=ae(o,1)}Object.defineProperties(k_e.prototype,{radius:{get:function(){return this._radius},set:function(o){this._radius=o}}});k_e.prototype.emit=function(o){let A=De.randomBetween(0,De.TWO_PI),f=De.randomBetween(0,this._radius),m=f*Math.cos(A),C=f*Math.sin(A),E=0;o.position=Z.fromElements(m,C,E,o.position),o.velocity=Z.clone(Z.UNIT_Z,o.velocity)};var U_e=k_e,bce={CUMULUS:0};bce.validate=function(o){return o===bce.CUMULUS};var ZX=Object.freeze(bce);function LB(o,A){if(o=ae(o,ae.EMPTY_OBJECT),this._show=ae(o.show,!0),this._position=Z.clone(ae(o.position,Z.ZERO)),!k(o.scale)&&k(o.maximumSize))this._maximumSize=Z.clone(o.maximumSize),this._scale=new tt(this._maximumSize.x,this._maximumSize.y);else{this._scale=tt.clone(ae(o.scale,new tt(20,12)));let f=new Z(this._scale.x,this._scale.y,Math.min(this._scale.x,this._scale.y)/1.5);this._maximumSize=Z.clone(ae(o.maximumSize,f))}this._slice=ae(o.slice,-1),this._color=qe.clone(ae(o.color,qe.WHITE)),this._brightness=ae(o.brightness,1),this._cloudCollection=A,this._index=-1}var Spi=LB.SHOW_INDEX=0,Dpi=LB.POSITION_INDEX=1,Mpi=LB.SCALE_INDEX=2,Tpi=LB.MAXIMUM_SIZE_INDEX=3,Ppi=LB.SLICE_INDEX=4,Rpi=LB.BRIGHTNESS_INDEX=5,Lpi=LB.COLOR_INDEX=6;LB.NUMBER_OF_PROPERTIES=7;function DL(o,A){let f=o._cloudCollection;k(f)&&(f._updateCloud(o,A),o._dirty=!0)}Object.defineProperties(LB.prototype,{show:{get:function(){return this._show},set:function(o){this._show!==o&&(this._show=o,DL(this,Spi))}},position:{get:function(){return this._position},set:function(o){let A=this._position;Z.equals(A,o)||(Z.clone(o,A),DL(this,Dpi))}},scale:{get:function(){return this._scale},set:function(o){let A=this._scale;tt.equals(A,o)||(tt.clone(o,A),DL(this,Mpi))}},maximumSize:{get:function(){return this._maximumSize},set:function(o){let A=this._maximumSize;Z.equals(A,o)||(Z.clone(o,A),DL(this,Tpi))}},color:{get:function(){return this._color},set:function(o){let A=this._color;qe.equals(A,o)||(qe.clone(o,A),DL(this,Lpi))}},slice:{get:function(){return this._slice},set:function(o){this._slice!==o&&(this._slice=o,DL(this,Ppi))}},brightness:{get:function(){return this._brightness},set:function(o){this._brightness!==o&&(this._brightness=o,DL(this,Rpi))}}});LB.prototype._destroy=function(){this._cloudCollection=void 0};var FB=LB,sx,sq=new Z,Fpi={positionHighAndScaleX:0,positionLowAndScaleY:1,packedAttribute0:2,packedAttribute1:3,color:4},Npi={direction:0,positionHighAndScaleX:1,positionLowAndScaleY:2,packedAttribute0:3,packedAttribute1:4,color:5},kpi=FB.SHOW_INDEX,Upi=FB.POSITION_INDEX,Opi=FB.SCALE_INDEX,Gpi=FB.MAXIMUM_SIZE_INDEX,Hpi=FB.SLICE_INDEX,Vpi=FB.BRIGHTNESS_INDEX,zpi=FB.NUMBER_OF_PROPERTIES,Ypi=FB.COLOR_INDEX;function NB(o){o=ae(o,ae.EMPTY_OBJECT),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(zpi),this._noiseTexture=void 0,this._textureSliceWidth=128,this._noiseTextureRows=4,this.noiseDetail=ae(o.noiseDetail,16),this.noiseOffset=Z.clone(ae(o.noiseOffset,Z.ZERO)),this._loading=!1,this._ready=!1;let A=this;this._uniforms={u_noiseTexture:function(){return A._noiseTexture},u_noiseTextureDimensions:jje(A),u_noiseDetail:function(){return A.noiseDetail}},this._vaNoise=void 0,this._spNoise=void 0,this._spCreated=!1,this._sp=void 0,this._rs=void 0,this.show=ae(o.show,!0),this._colorCommands=[],this.debugBillboards=ae(o.debugBillboards,!1),this._compiledDebugBillboards=!1,this.debugEllipsoids=ae(o.debugEllipsoids,!1),this._compiledDebugEllipsoids=!1}function jje(o){return function(){return sq.x=o._textureSliceWidth,sq.y=o._noiseTextureRows,sq.z=1/o._noiseTextureRows,sq}}Object.defineProperties(NB.prototype,{length:{get:function(){return O_e(this),this._clouds.length}}});function Xje(o){let A=o.length;for(let f=0;f<A;++f)o[f]&&o[f]._destroy()}NB.prototype.add=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=ae(o.cloudType,ZX.CUMULUS),f;return A===ZX.CUMULUS&&(f=new FB(o,this),f._index=this._clouds.length,this._clouds.push(f),this._createVertexArray=!0),f};NB.prototype.remove=function(o){return this.contains(o)?(this._clouds[o._index]=void 0,this._cloudsRemoved=!0,this._createVertexArray=!0,o._destroy(),!0):!1};NB.prototype.removeAll=function(){Xje(this._clouds),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!0};function O_e(o){if(o._cloudsRemoved){o._cloudsRemoved=!1;let A=[],f=o._clouds,m=f.length;for(let C=0,E=0;C<m;++C){let I=f[C];k(I)&&(f._index=E++,A.push(I))}o._clouds=A}}NB.prototype._updateCloud=function(o,A){o._dirty||(this._cloudsToUpdate[this._cloudsToUpdateIndex++]=o),++this._propertiesChanged[A]};NB.prototype.contains=function(o){return k(o)&&o._cloudCollection===this};NB.prototype.get=function(o){return O_e(this),this._clouds[o]};var Jpi=new Float32Array([-1,-1,1,-1,1,1,-1,1]),Kpi=new Uint16Array([0,1,2,0,2,3]);function Wpi(o){let A=jn.createVertexBuffer({context:o,typedArray:Jpi,usage:Fr.STATIC_DRAW}),f=jn.createIndexBuffer({context:o,typedArray:Kpi,usage:Fr.STATIC_DRAW,indexDatatype:fn.UNSIGNED_SHORT}),m=[{index:0,vertexBuffer:A,componentsPerAttribute:2,componentDatatype:Mt.FLOAT}];return new VA({context:o,attributes:m,indexBuffer:f})}var G_e;function qpi(o){let A=o.cache.cloudCollection_indexBufferBatched;if(k(A))return A;let f=16384*6-6,m=new Uint16Array(f);for(let C=0,E=0;C<f;C+=6,E+=4)m[C]=E,m[C+1]=E+1,m[C+2]=E+2,m[C+3]=E,m[C+4]=E+2,m[C+5]=E+3;return A=jn.createIndexBuffer({context:o,typedArray:m,usage:Fr.STATIC_DRAW,indexDatatype:fn.UNSIGNED_SHORT}),A.vertexArrayDestroyable=!1,o.cache.cloudCollection_indexBufferBatched=A,A}function jpi(o){let A=o.cache.cloudCollection_indexBufferInstanced;return k(A)||(A=jn.createIndexBuffer({context:o,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Fr.STATIC_DRAW,indexDatatype:fn.UNSIGNED_SHORT}),A.vertexArrayDestroyable=!1,o.cache.cloudCollection_indexBufferInstanced=A),A}function Xpi(o){let A=o.cache.cloudCollection_vertexBufferInstanced;return k(A)||(A=jn.createVertexBuffer({context:o,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Fr.STATIC_DRAW}),A.vertexArrayDestroyable=!1,o.cache.cloudCollection_vertexBufferInstanced=A),A}function Zpi(o,A,f){let m=[{index:sx.positionHighAndScaleX,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,usage:Fr.STATIC_DRAW},{index:sx.positionLowAndScaleY,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,usage:Fr.STATIC_DRAW},{index:sx.packedAttribute0,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,usage:Fr.STATIC_DRAW},{index:sx.packedAttribute1,componentsPerAttribute:4,componentDatatype:Mt.FLOAT,usage:Fr.STATIC_DRAW},{index:sx.color,componentsPerAttribute:4,componentDatatype:Mt.UNSIGNED_BYTE,normalize:!0,usage:Fr.STATIC_DRAW}];f&&m.push({index:sx.direction,componentsPerAttribute:2,componentDatatype:Mt.FLOAT,vertexBuffer:Xpi(o)});let C=f?A:4*A;return new V9(o,m,C,f)}var sAe=new Jl;function Zje(o,A,f,m){let C,E=f[sx.positionHighAndScaleX],I=f[sx.positionLowAndScaleY],x=m.position;Jl.fromCartesian(x,sAe);let y=m.scale,v=sAe.high,w=sAe.low;o._instanced?(C=m._index,E(C,v.x,v.y,v.z,y.x),I(C,w.x,w.y,w.z,y.y)):(C=m._index*4,E(C+0,v.x,v.y,v.z,y.x),E(C+1,v.x,v.y,v.z,y.x),E(C+2,v.x,v.y,v.z,y.x),E(C+3,v.x,v.y,v.z,y.x),I(C+0,w.x,w.y,w.z,y.y),I(C+1,w.x,w.y,w.z,y.y),I(C+2,w.x,w.y,w.z,y.y),I(C+3,w.x,w.y,w.z,y.y))}function $je(o,A,f,m){let C,E=f[sx.packedAttribute0],I=m.show,x=m.brightness;o._instanced?(C=m._index,E(C,I,x,0,0)):(C=m._index*4,E(C+0,I,x,0,0),E(C+1,I,x,1,0),E(C+2,I,x,1,1),E(C+3,I,x,0,1))}function eXe(o,A,f,m){let C,E=f[sx.packedAttribute1],I=m.maximumSize,x=m.slice;o._instanced?(C=m._index,E(C,I.x,I.y,I.z,x)):(C=m._index*4,E(C+0,I.x,I.y,I.z,x),E(C+1,I.x,I.y,I.z,x),E(C+2,I.x,I.y,I.z,x),E(C+3,I.x,I.y,I.z,x))}function tXe(o,A,f,m){let C,E=f[sx.color],I=m.color,x=qe.floatToByte(I.red),y=qe.floatToByte(I.green),v=qe.floatToByte(I.blue),w=qe.floatToByte(I.alpha);o._instanced?(C=m._index,E(C,x,y,v,w)):(C=m._index*4,E(C+0,x,y,v,w),E(C+1,x,y,v,w),E(C+2,x,y,v,w),E(C+3,x,y,v,w))}function $pi(o,A,f,m){Zje(o,A,f,m),$je(o,A,f,m),eXe(o,A,f,m),tXe(o,A,f,m)}function emi(o,A,f,m){let C=o,E=C._textureSliceWidth,I=C._noiseTextureRows,x=A.context;C._vaNoise=Wpi(x),C._spNoise=Wa.fromCache({context:x,vertexShaderSource:f,fragmentShaderSource:m,attributeLocations:{position:0}});let y=C.noiseDetail,v=C.noiseOffset;C._noiseTexture=new Rn({context:x,width:E*E/I,height:E*I,pixelDatatype:Gr.UNSIGNED_BYTE,pixelFormat:Jr.RGBA,sampler:new Ra({wrapS:oa.REPEAT,wrapT:oa.REPEAT,minificationFilter:ya.NEAREST,magnificationFilter:mu.NEAREST})});let w=new QF({vertexArray:C._vaNoise,shaderProgram:C._spNoise,outputTexture:C._noiseTexture,uniformMap:{u_noiseTextureDimensions:jje(C),u_noiseDetail:function(){return y},u_noiseOffset:function(){return v}},persists:!1,owner:o,postExecute:function(Q){C._ready=!0,C._loading=!1}});A.commandList.push(w),C._loading=!0}function tmi(o,A){let f=o,m=A.context;f._createVertexArray=!1,f._vaf=f._vaf&&f._vaf.destroy();let C=o._clouds,E=C.length;if(E>0){f._vaf=Zpi(m,E,f._instanced);let I=f._vaf.writers,x;for(x=0;x<E;++x){let y=C[x];$pi(o,A,I,y)}f._vaf.commit(G_e(m))}}var imi=[];function rmi(o,A){let f=A.context,m=o,C=m._clouds.length,E=m._cloudsToUpdate,I=m._cloudsToUpdateIndex,x=m._propertiesChanged,y=imi;y.length=0,(x[Upi]||x[Opi])&&y.push(Zje),(x[kpi]||x[Vpi])&&y.push($je),(x[Gpi]||x[Hpi])&&y.push(eXe),x[Ypi]&&y.push(tXe);let v=y.length,w=m._vaf.writers,Q,M,B;if(I/C>.1){for(Q=0;Q<I;++Q)for(M=E[Q],M._dirty=!1,B=0;B<v;++B)y[B](o,A,w,M);m._vaf.commit(G_e(f))}else{for(Q=0;Q<I;++Q){for(M=E[Q],M._dirty=!1,B=0;B<v;++B)y[B](o,A,w,M);m._instanced?m._vaf.subCommit(M._index,1):m._vaf.subCommit(M._index*4,4)}m._vaf.endSubCommits()}m._cloudsToUpdateIndex=0}function nmi(o,A,f,m){let C=A.context,E=o,I=new hr({defines:[],sources:[f]});E._instanced&&I.defines.push("INSTANCED");let x=new hr({defines:[],sources:[m]});E.debugBillboards&&x.defines.push("DEBUG_BILLBOARDS"),E.debugEllipsoids&&x.defines.push("DEBUG_ELLIPSOIDS"),E._sp=Wa.replaceCache({context:C,shaderProgram:E._sp,vertexShaderSource:I,fragmentShaderSource:x,attributeLocations:sx}),E._rs=Hr.fromCache({depthTest:{enabled:!0,func:ri.LESS},depthMask:!1,blending:Sl.ALPHA_BLEND}),E._spCreated=!0,E._compiledDebugBillboards=E.debugBillboards,E._compiledDebugEllipsoids=E.debugEllipsoids}function omi(o,A){let f=o,m=A.passes,C=f._uniforms,E=A.commandList;if(m.render){let I=f._colorCommands,x=f._vaf.va,y=x.length;I.length=y;for(let v=0;v<y;v++){let w=I[v];k(w)||(w=I[v]=new cn),w.pass=zi.TRANSLUCENT,w.owner=o,w.uniformMap=C,w.count=x[v].indicesCount,w.vertexArray=x[v].va,w.shaderProgram=f._sp,w.renderState=f._rs,f._instanced&&(w.count=6,w.instanceCount=f._clouds.length),E.push(w)}}}NB.prototype.update=function(o){if(O_e(this),!this.show)return;let A=this.debugBillboards||this.debugEllipsoids;this._ready=A?!0:k(this._noiseTexture),!this._ready&&!this._loading&&!A&&emi(this,o,cIe,uIe),this._instanced=o.context.instancedArrays,sx=this._instanced?Npi:Fpi,G_e=this._instanced?jpi:qpi;let f=this._clouds.length,m=this._cloudsToUpdate,C=this._cloudsToUpdateIndex;this._createVertexArray?tmi(this,o):C>0&&rmi(this,o),C>f*1.5&&(m.length=f),!(!k(this._vaf)||!k(this._vaf.va)||!this._ready&!A)&&((!this._spCreated||this.debugBillboards!==this._compiledDebugBillboards||this.debugEllipsoids!==this._compiledDebugEllipsoids)&&nmi(this,o,AIe,lIe),omi(this,o))};NB.prototype.isDestroyed=function(){return!1};NB.prototype.destroy=function(){return this._noiseTexture=this._noiseTexture&&this._noiseTexture.destroy(),this._sp=this._sp&&this._sp.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),Xje(this._clouds),ar(this)};var iXe=NB;async function H_e(o,A){let f=A.terrainProvider,m=A.mapProjection,C=m.ellipsoid,E,I=A.camera.getRectangleCameraCoordinates(o);if(A.mode===ii.SCENE3D?E=C.cartesianToCartographic(I):E=m.unproject(I),!k(f))return E;k(f._readyPromise)?await f._readyPromise:k(f.readyPromise)&&await f.readyPromise;let x=f.availability;if(!k(x)||A.mode===ii.SCENE2D)return E;let y=[hi.center(o),hi.southeast(o),hi.southwest(o),hi.northeast(o),hi.northwest(o)],v=await H_e._sampleTerrainMostDetailed(f,y),w=!1,Q=v.reduce(function(B,D){return k(D.height)?(w=!0,Math.max(D.height,B)):B},-Number.MAX_VALUE),M=E;return w&&(M.height+=Q),M}H_e._sampleTerrainMostDetailed=bB;var tie=H_e,ami=De.toRadians(30);function V_e(o){this._angle=ae(o,ami)}Object.defineProperties(V_e.prototype,{angle:{get:function(){return this._angle},set:function(o){this._angle=o}}});V_e.prototype.emit=function(o){let A=Math.tan(this._angle),f=De.randomBetween(0,De.TWO_PI),m=De.randomBetween(0,A),C=m*Math.cos(f),E=m*Math.sin(f),I=1;o.velocity=Z.fromElements(C,E,I,o.velocity),Z.normalize(o.velocity,o.velocity),o.position=Z.clone(Z.ZERO,o.position)};var n6=V_e,smi=new qe,lmi=new qe,Ami=new qe,umi=new qe,hke=new kt,K8=new Uint8Array(4);function dke(o,A,f,m){let C=A.height===f.height?0:(o-A.height)/(f.height-A.height);return qe.lerp(A.color,f.color,C,m)}function cj(o,A){return{height:o,color:qe.clone(A)}}function rXe(o){return o=o.filter(function(A,f,m){let C=f>0,E=f<m.length-1,I=C?A.height===m[f-1].height:!0,x=E?A.height===m[f+1].height:!0;return!I||!x}),o=o.filter(function(A,f,m){let C=f>0,E=f<m.length-1,I=C?qe.equals(A.color,m[f-1].color):!1,x=E?qe.equals(A.color,m[f+1].color):!1;return!I||!x}),o=o.filter(function(A,f,m){let C=f>0,E=C?qe.equals(A.color,m[f-1].color):!1,I=C?A.height===m[f-1].height:!0;return!E||!I}),o}function cmi(o){let A,f,m=[],C=o.length;for(A=0;A<C;A++){let E=o[A],I=E.entries,x=I.length,y=[];for(f=0;f<x;f++){let B=I[f],D=De.clamp(B.height,eI._minimumHeight,eI._maximumHeight),S=qe.clone(B.color,smi);S.red*=S.alpha,S.green*=S.alpha,S.blue*=S.alpha,y.push(cj(D,S))}let v=!0,w=!0;for(f=0;f<x-1;f++){let B=y[f+0],D=y[f+1];v=v&&B.height<=D.height,w=w&&B.height>=D.height}w?y=y.reverse():v||V4(y,function(B,D){return De.sign(B.height-D.height)});let Q=ae(E.extendDownwards,!1),M=ae(E.extendUpwards,!1);y.length===1&&!Q&&!M&&(Q=!0,M=!0),Q&&y.splice(0,0,cj(eI._minimumHeight,y[0].color)),M&&y.splice(y.length,0,cj(eI._maximumHeight,y[y.length-1].color)),y=rXe(y),m.push(y)}return m}function hmi(o){let A=cmi(o),f=[],m=[],C;function E(y,v){f.push(cj(y,v))}function I(y,v,w){let Q=qe.multiplyByScalar(w,1-v.alpha,umi);Q=qe.add(Q,v,Q),E(y,Q)}let x=A.length;for(C=0;C<x;C++){let y=A[C],v=0,w=0;m=f,f=[];let Q=y.length,M=m.length;for(;v<Q||w<M;){let B=v<Q?y[v]:void 0,D=v>0?y[v-1]:void 0,S=v<Q-1?y[v+1]:void 0,P=w<M?m[w]:void 0,R=w>0?m[w-1]:void 0,T=w<M-1?m[w+1]:void 0;if(k(B)&&k(P)&&B.height===P.height){let L=k(T)&&P.height===T.height,F=!k(R),U=!k(T),N=k(S)&&B.height===S.height,H=!k(D),J=!k(S);L?N?(I(B.height,B.color,P.color),I(B.height,S.color,T.color)):H?(E(B.height,P.color),I(B.height,B.color,T.color)):J?(I(B.height,B.color,P.color),E(B.height,T.color)):(I(B.height,B.color,P.color),I(B.height,B.color,T.color)):F?N?(E(B.height,B.color),I(B.height,S.color,P.color)):J?(E(B.height,B.color),E(B.height,P.color)):(H||E(B.height,B.color),I(B.height,B.color,P.color)):U?N?(I(B.height,B.color,P.color),E(B.height,S.color)):H?(E(B.height,P.color),E(B.height,B.color)):J?I(B.height,B.color,P.color):(I(B.height,B.color,P.color),E(B.height,B.color)):N?(I(B.height,B.color,P.color),I(B.height,S.color,P.color)):H?(E(B.height,P.color),I(B.height,B.color,P.color)):J?(I(B.height,B.color,P.color),E(B.height,P.color)):I(B.height,B.color,P.color),v+=N?2:1,w+=L?2:1}else if(k(B)&&k(P)&&k(R)&&B.height<P.height){let L=dke(B.height,R,P,Ami);k(D)?k(S)?I(B.height,B.color,L):(I(B.height,B.color,L),E(B.height,L)):(E(B.height,L),I(B.height,B.color,L)),v++}else if(k(P)&&k(B)&&k(D)&&P.height<B.height){let L=dke(P.height,D,B,lmi);k(R)?k(T)?I(P.height,L,P.color):(I(P.height,L,P.color),E(P.height,L)):(E(P.height,L),I(P.height,L,P.color)),w++}else k(B)&&(!k(P)||B.height<P.height)?(k(P)&&!k(R)&&!k(S)?(E(B.height,B.color),E(B.height,eI._emptyColor),E(P.height,eI._emptyColor)):(!k(P)&&k(R)&&!k(D)&&(E(R.height,eI._emptyColor),E(B.height,eI._emptyColor)),E(B.height,B.color)),v++):k(P)&&(!k(B)||P.height<B.height)&&(E(P.height,P.color),w++)}}return rXe(f)}function eI(o){let{scene:A,layers:f}=ae(o,ae.EMPTY_OBJECT),{context:m}=A,C=hmi(f),E=C.length,I,x,y;if(eI._useFloatTexture(m)){x=Gr.FLOAT,y=m.webgl2?Jr.RED:Jr.LUMINANCE,I=new Float32Array(E);for(let M=0;M<E;M++)I[M]=C[M].height}else{x=Gr.UNSIGNED_BYTE,y=Jr.RGBA,I=new Uint8Array(E*4);for(let M=0;M<E;M++)kt.packFloat(C[M].height,hke),kt.pack(hke,I,M*4)}let v=Rn.create({context:m,pixelFormat:y,pixelDatatype:x,source:{arrayBufferView:I,width:E,height:1},sampler:new Ra({wrapS:oa.CLAMP_TO_EDGE,wrapT:oa.CLAMP_TO_EDGE,minificationFilter:ya.NEAREST,magnificationFilter:mu.NEAREST})}),w=new Uint8Array(E*4);for(let M=0;M<E;M++)C[M].color.toBytes(K8),w[M*4+0]=K8[0],w[M*4+1]=K8[1],w[M*4+2]=K8[2],w[M*4+3]=K8[3];let Q=Rn.create({context:m,pixelFormat:Jr.RGBA,pixelDatatype:Gr.UNSIGNED_BYTE,source:{arrayBufferView:w,width:E,height:1},sampler:new Ra({wrapS:oa.CLAMP_TO_EDGE,wrapT:oa.CLAMP_TO_EDGE,minificationFilter:ya.LINEAR,magnificationFilter:mu.LINEAR})});return fa.fromType("ElevationBand",{heights:v,colors:Q})}eI._useFloatTexture=function(o){return o.floatingPointTexture};eI._maximumHeight=5906376425472;eI._minimumHeight=-5906376425472;eI._emptyColor=new qe(0,0,0,0);var nXe=eI;async function dmi(o,A){o=ae(o,tV.defaultApiKey);let f,m=tV.getDefaultApiKeyCredit(o);k(m)&&(f=[m]),A=ae(A,{}),A.showCreditsOnScreen=!0;let C=new fr({url:`${tV.mapTilesApiEndpoint}3dtiles/root.json`,queryParameters:{key:o},credits:f});return B0.fromUrl(C,A)}var oXe=dmi;function gmi(o){$t("createOsmBuildings","createOsmBuildings was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use createOsmBuildingsAsync instead."),o=yo(o,{url:jy.fromAssetId(96188)});let A=new B0(o),f=o.style;if(!k(f)){let m=ae(o.defaultColor,qe.WHITE).toCssColorString();f=new Y1({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${m}`})}return A.style=f,A}var aXe=gmi;async function fmi(o){let A=await B0.fromIonAssetId(96188,o);o=ae(o,ae.EMPTY_OBJECT);let f=o.style;if(!k(f)){let m=ae(o.defaultColor,qe.WHITE).toCssColorString();f=new Y1({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${m}`})}return A.style=f,A}var sXe=fmi;function pmi(o){o=ae(o,ae.EMPTY_OBJECT);let A=[],f=o.geometry;(!k(f.attributes)||!k(f.primitiveType))&&(f=f.constructor.createGeometry(f));let m=f.attributes,C=Re.clone(ae(o.modelMatrix,Re.IDENTITY)),E=ae(o.length,1e4);if(k(m.normal)&&A.push(new Un({geometry:gA.createLineSegmentsForVectors(f,"normal",E),attributes:{color:new vo(1,0,0,1)},modelMatrix:C})),k(m.tangent)&&A.push(new Un({geometry:gA.createLineSegmentsForVectors(f,"tangent",E),attributes:{color:new vo(0,1,0,1)},modelMatrix:C})),k(m.bitangent)&&A.push(new Un({geometry:gA.createLineSegmentsForVectors(f,"bitangent",E),attributes:{color:new vo(0,0,1,1)},modelMatrix:C})),A.length>0)return new pa({asynchronous:!1,geometryInstances:A,appearance:new ma({flat:!0,translucent:!1})})}var lXe=pmi;function mmi(o){$t("createWorldImagery","createWorldImagery was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use createWorldImageryAsync instead."),o=ae(o,ae.EMPTY_OBJECT);let A=ae(o.style,cF.AERIAL),f=new h2;return h2._initialize(f,A,o),f}var AXe=mmi;function HY(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.attributeName,f=o.perInstanceAttribute;k(f)||(f=!1);let m=ae(o.glslDatatype,"vec3"),C=`v_${A}`,E;if(A==="normal"||A==="tangent"||A==="bitangent")E=`vec4 getColor() { return vec4((${C} + vec3(1.0)) * 0.5, 1.0); } `;else switch(A==="st"&&(m="vec2"),m){case"float":E=`vec4 getColor() { return vec4(vec3(${C}), 1.0); } `;break;case"vec2":E=`vec4 getColor() { return vec4(${C}, 0.0, 1.0); } `;break;case"vec3":E=`vec4 getColor() { return vec4(${C}, 1.0); } `;break;case"vec4":E=`vec4 getColor() { return ${C}; } `;break}let I=`in vec3 position3DHigh; in vec3 position3DLow; in float batchId; ${f?"":`in ${m} ${A}; `}out ${m} ${C}; void main() { vec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow); ${f?`${C} = czm_batchTable_${A}(batchId); `:`${C} = ${A}; `}gl_Position = czm_modelViewProjectionRelativeToEye * p; }`,x=`in ${m} ${C}; ${E} void main() { out_FragColor = getColor(); }`;this.material=void 0,this.translucent=ae(o.translucent,!1),this._vertexShaderSource=ae(o.vertexShaderSource,I),this._fragmentShaderSource=ae(o.fragmentShaderSource,x),this._renderState=$c.getDefaultRenderState(!1,!1,o.renderState),this._closed=ae(o.closed,!1),this._attributeName=A,this._glslDatatype=m}Object.defineProperties(HY.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}});HY.prototype.getFragmentShaderSource=$c.prototype.getFragmentShaderSource;HY.prototype.isTranslucent=$c.prototype.isTranslucent;HY.prototype.getRenderState=$c.prototype.getRenderState;var uXe=HY;function iie(o){o=ae(o,ae.EMPTY_OBJECT),this.length=ae(o.length,1e7),this._length=void 0,this.width=ae(o.width,2),this._width=void 0,this.show=ae(o.show,!0),this.modelMatrix=Re.clone(ae(o.modelMatrix,Re.IDENTITY)),this._modelMatrix=new Re,this.id=o.id,this._id=void 0,this._primitive=void 0}iie.prototype.update=function(o){if(this.show){if(!k(this._primitive)||!Re.equals(this._modelMatrix,this.modelMatrix)||this._length!==this.length||this._width!==this.width||this._id!==this.id){this._modelMatrix=Re.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,k(this._primitive)&&this._primitive.destroy(),this.modelMatrix[12]===0&&this.modelMatrix[13]===0&&this.modelMatrix[14]===0&&(this.modelMatrix[14]=.01);let A=new Un({geometry:new AS({positions:[Z.ZERO,Z.UNIT_X],width:this.width,vertexFormat:op.VERTEX_FORMAT,colors:[qe.RED,qe.RED],arcType:aa.NONE}),modelMatrix:Re.multiplyByUniformScale(this.modelMatrix,this.length,new Re),id:this.id,pickPrimitive:this}),f=new Un({geometry:new AS({positions:[Z.ZERO,Z.UNIT_Y],width:this.width,vertexFormat:op.VERTEX_FORMAT,colors:[qe.GREEN,qe.GREEN],arcType:aa.NONE}),modelMatrix:Re.multiplyByUniformScale(this.modelMatrix,this.length,new Re),id:this.id,pickPrimitive:this}),m=new Un({geometry:new AS({positions:[Z.ZERO,Z.UNIT_Z],width:this.width,vertexFormat:op.VERTEX_FORMAT,colors:[qe.BLUE,qe.BLUE],arcType:aa.NONE}),modelMatrix:Re.multiplyByUniformScale(this.modelMatrix,this.length,new Re),id:this.id,pickPrimitive:this});this._primitive=new pa({geometryInstances:[A,f,m],appearance:new op,asynchronous:!1})}this._primitive.update(o)}};iie.prototype.isDestroyed=function(){return!1};iie.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ar(this)};var z_e=iie;function Cmi(o){this.direction=Z.clone(o.direction),this.color=qe.clone(ae(o.color,qe.WHITE)),this.intensity=ae(o.intensity,1)}var rie=Cmi;function qE(o){this._scene=o.scene,this.samplingWindow=ae(o.samplingWindow,qE.defaultSettings.samplingWindow),this.quietPeriod=ae(o.quietPeriod,qE.defaultSettings.quietPeriod),this.warmupPeriod=ae(o.warmupPeriod,qE.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=ae(o.minimumFrameRateDuringWarmup,qE.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=ae(o.minimumFrameRateAfterWarmup,qE.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new ir,this._nominalFrameRate=new ir,this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;let A=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener(function(C,E){Emi(A,E)}),this._hiddenPropertyName=document.hidden!==void 0?"hidden":document.mozHidden!==void 0?"mozHidden":document.msHidden!==void 0?"msHidden":document.webkitHidden!==void 0?"webkitHidden":void 0;let f=document.hidden!==void 0?"visibilitychange":document.mozHidden!==void 0?"mozvisibilitychange":document.msHidden!==void 0?"msvisibilitychange":document.webkitHidden!==void 0?"webkitvisibilitychange":void 0;function m(){Imi(A)}this._visibilityChangeRemoveListener=void 0,k(f)&&(document.addEventListener(f,m,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(f,m,!1)})}qE.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8};qE.fromScene=function(o){return(!k(o._frameRateMonitor)||o._frameRateMonitor.isDestroyed())&&(o._frameRateMonitor=new qE({scene:o})),o._frameRateMonitor};Object.defineProperties(qE.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}});qE.prototype.pause=function(){++this._pauseCount,this._pauseCount===1&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)};qE.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)};qE.prototype.isDestroyed=function(){return!1};qE.prototype.destroy=function(){return this._preUpdateRemoveListener(),k(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),ar(this)};function Emi(o,A){if(o._pauseCount>0)return;let f=HA();if(o._needsQuietPeriod)o._needsQuietPeriod=!1,o._frameTimes.length=0,o._quietPeriodEndTime=f+o.quietPeriod/rA.SECONDS_PER_MILLISECOND,o._warmupPeriodEndTime=o._quietPeriodEndTime+(o.warmupPeriod+o.samplingWindow)/rA.SECONDS_PER_MILLISECOND;else if(f>=o._quietPeriodEndTime){o._frameTimes.push(f);let m=f-o.samplingWindow/rA.SECONDS_PER_MILLISECOND;if(o._frameTimes.length>=2&&o._frameTimes[0]<=m){for(;o._frameTimes.length>=2&&o._frameTimes[1]<m;)o._frameTimes.shift();let C=(f-o._frameTimes[0])/(o._frameTimes.length-1);o._lastFramesPerSecond=1e3/C;let E=1e3/(f>o._warmupPeriodEndTime?o.minimumFrameRateAfterWarmup:o.minimumFrameRateDuringWarmup);C>E?o._frameRateIsLow||(o._frameRateIsLow=!0,o._needsQuietPeriod=!0,o.lowFrameRate.raiseEvent(o.scene,o._lastFramesPerSecond)):o._frameRateIsLow&&(o._frameRateIsLow=!1,o._needsQuietPeriod=!0,o.nominalFrameRate.raiseEvent(o.scene,o._lastFramesPerSecond))}}}function Imi(o){document[o._hiddenPropertyName]?o.pause():o.unpause()}var Y_e=qE;function xmi(o,A,f){return` float clipDistance = clip(gl_FragCoord, ${o}, ${A}); vec4 clippingPlanesEdgeColor = vec4(1.0); clippingPlanesEdgeColor.rgb = ${f}.rgb; float clippingPlanesEdgeWidth = ${f}.a; if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) { out_FragColor = clippingPlanesEdgeColor; } `}var J_e=xmi,ymi=Ku(CUe(),1);function K_e(){this._image=new Image}K_e.prototype.isReady=function(){return!0};K_e.prototype.shouldDiscardImage=function(o){return o===this._image};function YF(o){o=ae(o,ae.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=o.tileDiscardPolicy,this._tilingScheme=new ph({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new hi(-De.PI,-De.PI,De.PI,De.PI),ellipsoid:o.ellipsoid});let A=o.credit;typeof A=="string"&&(A=new la(A)),this._credit=A,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,k(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new K_e),this._errorEvent=new ir,this._ready=!1;let f=this,m,C;if(k(o.url)){$t("GoogleEarthEnterpriseImageryProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseImageryProvider.fromMetadata instead.");let E=fr.createIfNeeded(o.url);C=new _P(E)}k(o.metadata)&&($t("GoogleEarthEnterpriseImageryProvider options.metadata","options.metadata was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseImageryProvider.fromMetadata instead."),C=o.metadata),this._metadata=C,k(C)&&(this._readyPromise=C.readyPromise.then(function(E){if(!C.imageryPresent){let I=new Ti(`The server ${C.url} doesn't have imagery`);return m=Wc.reportError(m,f,f._errorEvent,I.message,void 0,void 0,void 0,I),Promise.reject(I)}return Wc.reportSuccess(m),f._ready=E,E}).catch(function(E){return m=Wc.reportError(m,f,f._errorEvent,E.message,void 0,void 0,void 0,E),Promise.reject(E)}))}Object.defineProperties(YF.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.ready","GoogleEarthEnterpriseImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseImageryProvider.fromMetadata instead."),this._ready}},readyPromise:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.readyPromise","GoogleEarthEnterpriseImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseImageryProvider.fromMetadata instead."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}},defaultAlpha:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.defaultAlpha","GoogleEarthEnterpriseImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("GoogleEarthEnterpriseImageryProvider.defaultAlpha","GoogleEarthEnterpriseImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.defaultNightAlpha","GoogleEarthEnterpriseImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){$t("GoogleEarthEnterpriseImageryProvider.defaultNightAlpha","GoogleEarthEnterpriseImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.defaultDayAlpha","GoogleEarthEnterpriseImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("GoogleEarthEnterpriseImageryProvider.defaultDayAlpha","GoogleEarthEnterpriseImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.defaultBrightness","GoogleEarthEnterpriseImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("GoogleEarthEnterpriseImageryProvider.defaultBrightness","GoogleEarthEnterpriseImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.defaultContrast","GoogleEarthEnterpriseImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("GoogleEarthEnterpriseImageryProvider.defaultContrast","GoogleEarthEnterpriseImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.defaultHue","GoogleEarthEnterpriseImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("GoogleEarthEnterpriseImageryProvider.defaultHue","GoogleEarthEnterpriseImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.defaultSaturation","GoogleEarthEnterpriseImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("GoogleEarthEnterpriseImageryProvider.defaultSaturation","GoogleEarthEnterpriseImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.defaultGamma","GoogleEarthEnterpriseImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("GoogleEarthEnterpriseImageryProvider.defaultGamma","GoogleEarthEnterpriseImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.defaultMinificationFilter","GoogleEarthEnterpriseImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("GoogleEarthEnterpriseImageryProvider.defaultMinificationFilter","GoogleEarthEnterpriseImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("GoogleEarthEnterpriseImageryProvider.defaultMagnificationFilter","GoogleEarthEnterpriseImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("GoogleEarthEnterpriseImageryProvider.defaultMagnificationFilter","GoogleEarthEnterpriseImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});YF.fromMetadata=function(o,A){if(!o.imageryPresent)throw new Ti(`The server ${o.url} doesn't have imagery`);let f=new YF(A);return f._metadata=o,f._ready=!0,f._readyPromise=Promise.resolve(!0),f};YF.prototype.getTileCredits=function(o,A,f){let m=this._metadata,C=m.getTileInformation(o,A,f);if(k(C)){let E=m.providers[C.imageryProvider];if(k(E))return[E]}};YF.prototype.requestImage=function(o,A,f,m){let C=this._tileDiscardPolicy._image,E=this._metadata,I=_P.tileXYToQuadKey(o,A,f),x=E.getTileInformation(o,A,f);if(!k(x)){if(E.isValid(I)){let v=new g0({throttle:m.throttle,throttleByServer:m.throttleByServer,type:m.type,priorityFunction:m.priorityFunction});E.populateSubtree(o,A,f,v);return}return Promise.resolve(C)}if(!x.hasImagery())return Promise.resolve(C);let y=vmi(this,x,o,A,f,m).fetchArrayBuffer();if(k(y))return y.then(function(v){s_e(E.key,v);let w=new Uint8Array(v),Q,M=E.protoImagery;if((!k(M)||!M)&&(Q=_mi(w)),!k(Q)&&(!k(M)||M)){let B=Bmi(w);Q=B.imageType,w=B.imageData}return!k(Q)||!k(w)?C:tee({uint8Array:w,format:Q,flipY:!0})})};YF.prototype.pickFeatures=function(o,A,f,m,C){};function vmi(o,A,f,m,C,E){let I=_P.tileXYToQuadKey(f,m,C),x=A.imageryVersion;return x=k(x)&&x>0?x:1,o._metadata.resource.getDerivedResource({url:`flatfile?f1-0${I}-i.${x.toString()}`,request:E})}function _mi(o){let A="JFIF";if(o[6]===A.charCodeAt(0)&&o[7]===A.charCodeAt(1)&&o[8]===A.charCodeAt(2)&&o[9]===A.charCodeAt(3))return"image/jpeg";let f="PNG";if(o[1]===f.charCodeAt(0)&&o[2]===f.charCodeAt(1)&&o[3]===f.charCodeAt(2))return"image/png"}function Bmi(o){let A=ymi.Reader.create(o),f=A.len,m={};for(;A.pos<f;){let I=A.uint32(),x;switch(I>>>3){case 1:m.imageType=A.uint32();break;case 2:m.imageData=A.bytes();break;case 3:m.alphaType=A.uint32();break;case 4:m.imageAlpha=A.bytes();break;case 5:if(x=m.copyrightIds,k(x)||(x=m.copyrightIds=[]),(I&7)===2){let y=A.uint32()+A.pos;for(;A.pos<y;)x.push(A.uint32())}else x.push(A.uint32());break;default:A.skipType(I&7);break}}let C=m.imageType;if(k(C))switch(C){case 0:m.imageType="image/jpeg";break;case 4:m.imageType="image/png";break;default:throw new Ti("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}let E=m.alphaType;return k(E)&&E!==0&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete m.alphaType,delete m.imageAlpha),m}var cXe=YF,wmi=new qe(1,1,1,.4),bmi=new qe(0,1,0,.05),Qmi=new qe(0,.5,0,.2);function KN(o){o=ae(o,ae.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tilingScheme=k(o.tilingScheme)?o.tilingScheme:new ph({ellipsoid:o.ellipsoid}),this._cells=ae(o.cells,8),this._color=ae(o.color,wmi),this._glowColor=ae(o.glowColor,bmi),this._glowWidth=ae(o.glowWidth,6),this._backgroundColor=ae(o.backgroundColor,Qmi),this._errorEvent=new ir,this._tileWidth=ae(o.tileWidth,256),this._tileHeight=ae(o.tileHeight,256),this._canvasSize=ae(o.canvasSize,256),this._canvas=this._createGridCanvas(),this._ready=!0,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(KN.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return $t("GridImageryProvider.ready","GridImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),!0}},readyPromise:{get:function(){return $t("GridImageryProvider.readyPromise","GridImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}},defaultAlpha:{get:function(){return $t("GridImageryProvider.defaultAlpha","GridImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("GridImageryProvider.defaultAlpha","GridImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("GridImageryProvider.defaultNightAlpha","GridImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){$t("GridImageryProvider.defaultNightAlpha","GridImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("GridImageryProvider.defaultDayAlpha","GridImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("GridImageryProvider.defaultDayAlpha","GridImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("GridImageryProvider.defaultBrightness","GridImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("GridImageryProvider.defaultBrightness","GridImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("GridImageryProvider.defaultContrast","GridImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("GridImageryProvider.defaultContrast","GridImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("GridImageryProvider.defaultHue","GridImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("GridImageryProvider.defaultHue","GridImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("GridImageryProvider.defaultSaturation","GridImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("GridImageryProvider.defaultSaturation","GridImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("GridImageryProvider.defaultGamma","GridImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("GridImageryProvider.defaultGamma","GridImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("GridImageryProvider.defaultMinificationFilter","GridImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("GridImageryProvider.defaultMinificationFilter","GridImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("GridImageryProvider.defaultMagnificationFilter","GridImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("GridImageryProvider.defaultMagnificationFilter","GridImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});KN.prototype._drawGrid=function(o){let A=this._canvasSize;for(let f=0;f<=this._cells;++f){let m=1+f/this._cells*(A-1);o.moveTo(m,0),o.lineTo(m,A),o.moveTo(0,m),o.lineTo(A,m)}o.stroke()};KN.prototype._createGridCanvas=function(){let o=document.createElement("canvas");o.width=this._canvasSize,o.height=this._canvasSize;let A=0,f=this._canvasSize,m=o.getContext("2d"),C=this._backgroundColor.toCssColorString();m.fillStyle=C,m.fillRect(A,A,f,f);let E=this._glowColor.toCssColorString();m.strokeStyle=E,m.lineWidth=this._glowWidth,m.strokeRect(A,A,f,f),this._drawGrid(m),m.lineWidth=this._glowWidth*.5,m.strokeRect(A,A,f,f),this._drawGrid(m);let I=this._color.toCssColorString();return m.strokeStyle=I,m.lineWidth=2,m.strokeRect(A,A,f,f),m.lineWidth=1,this._drawGrid(m),o};KN.prototype.getTileCredits=function(o,A,f){};KN.prototype.requestImage=function(o,A,f,m){return Promise.resolve(this._canvas)};KN.prototype.pickFeatures=function(o,A,f,m,C){};var hXe=KN;function W_e(o,A){this._parent=o,this._dataProvider=o._dataProvider,this._layer=o._layer,k(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${A}`}):this._resource=this._parent.resource.getDerivedResource({url:A})}Object.defineProperties(W_e.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}}});W_e.prototype.load=async function(){return this._data=await nie.loadJson(this._resource,this._dataProvider._traceFetches),this._data};var q_e=W_e;function o6(o,A){this._storageInfo=A,this._parent=o,this._dataProvider=o._dataProvider;let f=`attributes/${A.key}/0`;k(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${f}`}):this._resource=this._parent.resource.getDerivedResource({url:f})}Object.defineProperties(o6.prototype,{resource:{get:function(){return this._resource}},header:{get:function(){return this._header}},values:{get:function(){return k(this._values)&&k(this._values.attributeValues)?this._values.attributeValues:[]}},name:{get:function(){return this._storageInfo.name}}});function Smi(o){return o==="UInt8"||o==="Int8"?1:o==="UInt16"||o==="Int16"?2:o==="UInt32"||o==="Int32"||o==="Oid32"||o==="Float32"?4:o==="UInt64"||o==="Int64"||o==="Float64"?8:0}o6.prototype.load=function(){let o=this;return this._dataProvider._loadBinary(this._resource).then(function(A){let f=new DataView(A),m=!0;if(f.getUint8(0)==="{".charCodeAt(0)&&new TextDecoder().decode(A).includes("404")&&(m=!1,console.error(`Failed to load: ${o.resource.url}`)),m){o._data=A;let C=o._parseHeader(f),E=Smi(o._storageInfo.attributeValues.valueType);E>0&&(C=Math.ceil(C/E)*E),o._parseBody(f,C)}})};o6.prototype._parseValue=function(o,A,f){let m;if(A==="UInt8")m=o.getUint8(f),f+=1;else if(A==="Int8")m=o.getInt8(f),f+=1;else if(A==="UInt16")m=o.getUint16(f,!0),f+=2;else if(A==="Int16")m=o.getInt16(f,!0),f+=2;else if(A==="UInt32")m=o.getUint32(f,!0),f+=4;else if(A==="Oid32")m=o.getUint32(f,!0),f+=4;else if(A==="Int32")m=o.getInt32(f,!0),f+=4;else if(A==="UInt64"){let C=o.getUint32(f,!0),E=o.getUint32(f+4,!0);m=C+Math.pow(2,32)*E,f+=8}else if(A==="Int64"){let C=o.getUint32(f,!0),E=o.getUint32(f+4,!0);E<Math.pow(2,31)?m=C+Math.pow(2,32)*E:m=C+Math.pow(2,32)*(E-Math.pow(2,32)),f+=8}else A==="Float32"?(m=o.getFloat32(f,!0),f+=4):A==="Float64"?(m=o.getFloat64(f,!0),f+=8):A==="String"&&(m=String.fromCharCode(o.getUint8(f)),f+=1);return{value:m,offset:f}};o6.prototype._parseHeader=function(o){let A=0;this._header={};for(let f=0;f<this._storageInfo.header.length;f++){let m=this._storageInfo.header[f],C=this._parseValue(o,m.valueType,A);this._header[m.property]=C.value,A=C.offset}return A};o6.prototype._parseBody=function(o,A){this._values={};for(let f=0;f<this._storageInfo.ordering.length;f++){let m=this._storageInfo.ordering[f],C=this._storageInfo[m];if(k(C)){this._values[m]=[];for(let E=0;E<this._header.count;++E)if(C.valueType!=="String"){let I=this._parseValue(o,C.valueType,A);this._values[m].push(I.value),A=I.offset}else{let I=this._values.attributeByteCounts[E],x="";for(let y=0;y<I;++y){let v=this._parseValue(o,C.valueType,A);v.value.charCodeAt(0)!==0&&(x+=v.value),A=v.offset}this._values[m].push(x)}}}};var j_e=o6;function VY(o,A){let f=o._dataProvider,m=o._layer,C;k(o._nodeIndex)?C=m.resource.getDerivedResource({url:`nodes/${o._data.mesh.geometry.resource}/${A}`}):C=o.resource.getDerivedResource({url:A}),this._parent=o,this._dataProvider=f,this._layer=m,this._resource=C,this._customAttributes=void 0}Object.defineProperties(VY.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},customAttributes:{get:function(){return this._customAttributes}}});VY.prototype.load=function(){let o=this;return this._dataProvider._loadBinary(this._resource).then(function(A){return o._data=A,A})};var Dmi=new Z,Mmi=new Z,Tmi=new Z,Pmi=new Z,Rmi=new Z;function lAe(o,A,f,m){let C=Z.subtract(m,f,Dmi),E=Z.cross(C,Z.subtract(o,f,Mmi),Pmi),I=Z.cross(C,Z.subtract(A,f,Tmi),Rmi);return Z.dot(E,I)>=0}var Lmi=new Z,Fmi=new Z,Nmi=new Z,kmi=new Z,Umi=new Z,Omi=new Z,Gmi=new Z,Hmi=new Z,Vmi=new Z,zmi=new Z;VY.prototype.getClosestPointIndexOnTriangle=function(o,A,f){if(k(this._customAttributes)&&k(this._customAttributes.positions)){let m=new Z(o,A,f);m.x-=this._customAttributes.cartesianCenter.x,m.y-=this._customAttributes.cartesianCenter.y,m.z-=this._customAttributes.cartesianCenter.z,Nt.multiplyByVector(this._customAttributes.parentRotation,m,m);let C=Number.MAX_VALUE,E,I,x,y,v=this._customAttributes.positions,w=this._customAttributes.indices,Q;k(w)?Q=w.length:Q=v.length/3;for(let M=0;M<Q;M++){let B,D,S;k(w)?(B=w[M],D=w[M+1],S=w[M+2]):(B=M*3,D=M*3+1,S=M*3+2);let P=Z.fromElements(v[B*3],v[B*3+1],v[B*3+2],Lmi),R=Z.fromElements(v[D*3],v[D*3+1],v[D*3+2],Fmi),T=new Z(v[S*3],v[S*3+1],v[S*3+2],Nmi);if(!lAe(m,P,R,T)||!lAe(m,R,P,T)||!lAe(m,T,P,R))continue;let L=Z.subtract(R,P,kmi),F=Z.subtract(T,P,Umi),U=Z.cross(L,F,Omi);if(Z.magnitude(U)===0)continue;let N=Z.normalize(U,Gmi),H=Z.subtract(m,P,Hmi),J=Math.abs(Z.dot(H,N));if(J<C){C=J,E=M;let K=Z.magnitudeSquared(Z.subtract(m,P,H)),X=Z.magnitudeSquared(Z.subtract(m,R,Vmi)),j=Z.magnitudeSquared(Z.subtract(m,T,zmi));K<X&&K<j?(x=B,y=P,I=K):X<j?(x=D,y=R,I=X):(x=S,y=T,I=j)}}if(k(E))return{index:x,distanceSquared:I,distance:Math.sqrt(I),queriedPosition:m,closestPosition:Z.clone(y)}}return{index:-1,distanceSquared:Number.Infinity,distance:Number.Infinity}};VY.prototype._generateGltf=function(o,A,f,m,C,E){let I={pbrMetallicRoughness:{metallicFactor:0},doubleSided:!0,name:"Material"},x=!1,y,v="";if(k(this._parent._data.mesh)&&k(this._layer._data.materialDefinitions)){let B=this._parent._data.mesh.material.definition;if(B>=0&&B<this._layer._data.materialDefinitions.length&&(y=this._layer._data.materialDefinitions[B],I=y,k(I.pbrMetallicRoughness)&&k(I.pbrMetallicRoughness.baseColorTexture))){x=!0,I.pbrMetallicRoughness.baseColorTexture.index=0;let D="0";if(k(this._layer._data.textureSetDefinitions))for(let S=0;S<this._layer._data.textureSetDefinitions.length;S++){let P=this._layer._data.textureSetDefinitions[S];for(let R=0;R<P.formats.length;R++){let T=P.formats[R];if(T.format==="jpg"){D=T.name;break}}}k(this._parent._data.mesh)&&this._parent._data.mesh.material.resource>=0&&(v=this._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.material.resource}/textures/${D}`}).url)}}else k(this._parent._data.textureData)&&(x=!0,v=this._parent.resource.getDerivedResource({url:`${this._parent._data.textureData[0].href}`}).url,I.pbrMetallicRoughness.baseColorTexture={index:0});let w=[],Q=[],M=[];return x&&(w=[{sampler:0,source:0}],Q=[{uri:v}],M=[{magFilter:9729,minFilter:9986,wrapS:10497,wrapT:10497}]),{scene:0,scenes:[{nodes:o}],nodes:A,meshes:f,buffers:m,bufferViews:C,accessors:E,materials:[I],textures:w,images:Q,samplers:M,asset:{version:"2.0"}}};var $X=VY;function dI(o,A,f){let m,C,E,I;f?(m=0,C=o):(m=o._level+1,C=o._layer),typeof A=="number"?E=A:I=o.resource.getDerivedResource({url:`${A}/`}),this._parent=o,this._dataProvider=o._dataProvider,this._isRoot=f,this._level=m,this._layer=C,this._nodeIndex=E,this._resource=I,this._isLoading=!1,this._tile=void 0,this._data=void 0,this._geometryData=[],this._featureData=[],this._fields={},this._children=[],this._childrenReadyPromise=void 0,this._globalTransform=void 0,this._inverseGlobalTransform=void 0,this._inverseRotationMatrix=void 0}Object.defineProperties(dI.prototype,{resource:{get:function(){return this._resource}},layer:{get:function(){return this._layer}},parent:{get:function(){return this._parent}},children:{get:function(){return this._children}},geometryData:{get:function(){return this._geometryData}},featureData:{get:function(){return this._featureData}},fields:{get:function(){return this._fields}},tile:{get:function(){return this._tile}},data:{get:function(){return this._data}}});dI.prototype.load=async function(){let o=this;function A(){if(!o._isRoot){let C=o._create3DTileDefinition();o._tile=new cI(o._layer._tileset,o._dataProvider.resource,C,o._parent._tile),o._tile._i3sNode=o}}if(!k(this._nodeIndex)){let C=await nie.loadJson(this._resource,this._dataProvider._traceFetches);o._data=C,A();return}let f=await this._layer._getNodeInNodePages(this._nodeIndex);o._data=f;let m;o._isRoot?m="nodes/root/":k(f.mesh)&&(m=`../${f.mesh.geometry.resource}/`),k(m)&&(o._resource=o._parent.resource.getDerivedResource({url:m})),A()};dI.prototype.loadFields=function(){let o=this._layer._data.attributeStorageInfo,A=this;function f(C,E){let I=new j_e(A,C[E]);return A._fields[I._storageInfo.name]=I,I.load()}let m=[];if(k(o))for(let C=0;C<o.length;C++)m.push(f(o,C));return Promise.all(m)};dI.prototype.getFieldsForPickedPosition=function(o){let A=this.geometryData[0];if(!k(A.customAttributes.featureIndex))return{};let f=A.getClosestPointIndexOnTriangle(o.x,o.y,o.z);if(f.index===-1||f.index>A.customAttributes.featureIndex.length)return{};let m=A.customAttributes.featureIndex[f.index];return this.getFieldsForFeature(m)};dI.prototype.getFieldsForFeature=function(o){let A={};for(let f in this.fields)if(this.fields.hasOwnProperty(f)){let m=this.fields[f];o>=0&&o<m.values.length&&(A[m.name]=m.values[o])}return A};dI.prototype._loadChildren=function(){let o=this;if(k(this._childrenReadyPromise))return this._childrenReadyPromise;let A=[];if(k(o._data.children))for(let f=0;f<o._data.children.length;f++){let m=o._data.children[f],C=new dI(o,ae(m.href,m),!1);o._children.push(C),A.push(C.load())}return this._childrenReadyPromise=Promise.all(A).then(function(){for(let f=0;f<o._children.length;f++)o._tile.children.push(o._children[f]._tile)}),this._childrenReadyPromise};dI.prototype._loadGeometryData=function(){let o=[];if(k(this._data.geometryData))for(let A=0;A<this._data.geometryData.length;A++){let f=new $X(this,this._data.geometryData[A].href);this._geometryData.push(f),o.push(f.load())}else if(k(this._data.mesh)){let A=this._layer._findBestGeometryBuffers(this._data.mesh.geometry.definition,["position","uv0"]),f=`./geometries/${A.bufferIndex}/`,m=new $X(this,f);m._geometryDefinitions=A.definition,m._geometryBufferInfo=A.geometryBufferInfo,this._geometryData.push(m),o.push(m.load())}return Promise.all(o)};dI.prototype._loadFeatureData=function(){let o=[];if(k(this._data.featureData))for(let A=0;A<this._data.featureData.length;A++){let f=new q_e(this,this._data.featureData[A].href);this._featureData.push(f),o.push(f.load())}return Promise.all(o)};dI.prototype._clearGeometryData=function(){this._geometryData=[]};dI.prototype._create3DTileDefinition=function(){let o=this._data.obb,A=this._data.mbs;if(!k(o)&&!k(A)){console.error("Failed to load I3S node. Bounding volume is required.");return}let f;if(k(o)?f=Lt.fromDegrees(o.center[0],o.center[1],o.center[2]):f=Lt.fromDegrees(A[0],A[1],A[2]),k(this._dataProvider._geoidDataList)&&k(f))for(let P=0;P<this._dataProvider._geoidDataList.length;P++){let R=this._dataProvider._geoidDataList[P],T=R.projection.project(f);if(T.x>R.nativeExtent.west&&T.x<R.nativeExtent.east&&T.y>R.nativeExtent.south&&T.y<R.nativeExtent.north){f.height+=Jmi(T.x,T.y,R);break}}let m={},C,E=0;k(o)?(m={box:[0,0,0,o.halfSize[0],0,0,0,o.halfSize[1],0,0,0,o.halfSize[2]]},E=Math.max(Math.max(this._data.obb.halfSize[0],this._data.obb.halfSize[1]),this._data.obb.halfSize[2]),C=gi.WGS84.cartographicToCartesian(f)):(m={sphere:[0,0,0,A[3]]},C=gi.WGS84.cartographicToCartesian(f),E=this._data.mbs[3]),E*=2;let I=1/0;if(k(this._data.lodThreshold))if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThresholdSQ"){let P=Math.sqrt(this._data.lodThreshold/(Math.PI*.25));I=E/P}else if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThreshold"){let P=this._data.lodThreshold;I=E/P}else console.error("Invalid lodSelectionMetricType in Layer");else if(k(this._data.lodSelection))for(let P=0;P<this._data.lodSelection.length;P++)this._data.lodSelection[P].metricType==="maxScreenThreshold"&&(I=E/this._data.lodSelection[P].maxError);I===1/0&&(I=1e5);let x=I*16,y=new Wl(0,0,0),v=Vr.headingPitchRollQuaternion(C,y);k(this._data.obb)&&(v=new yr(this._data.obb.quaternion[0],this._data.obb.quaternion[1],this._data.obb.quaternion[2],this._data.obb.quaternion[3]));let w=Nt.fromQuaternion(v),Q=Nt.inverse(w,new Nt),M=new Re(w[0],w[1],w[2],0,w[3],w[4],w[5],0,w[6],w[7],w[8],0,C.x,C.y,C.z,1),B=Re.inverse(M,new Re),D=Re.clone(M);k(this._parent._globalTransform)&&Re.multiply(M,this._parent._inverseGlobalTransform,D),this._globalTransform=M,this._inverseGlobalTransform=B,this._inverseRotationMatrix=Q;let S=[];for(let P=0;P<this._children.length;P++)S.push(this._children[P]._create3DTileDefinition());return{children:S,refine:"REPLACE",boundingVolume:m,transform:[D[0],D[4],D[8],D[12],D[1],D[5],D[9],D[13],D[2],D[6],D[10],D[14],D[3],D[7],D[11],D[15]],content:{uri:k(this._resource)?this._resource.url:void 0},geometricError:x}};dI.prototype._createI3SDecoderTask=async function(o,A){let f=A.geometryData._parent._data,m=A.geometryData._parent._inverseRotationMatrix,C=0,E=0,I=0;k(f.obb)?(C=f.obb.center[0],E=f.obb.center[1],I=f.obb.center[2]):k(f.mbs)&&(C=f.mbs[0],E=f.mbs[1],I=f.mbs[2]);let x=Nt.fromRotationX(-De.PI_OVER_TWO),y=new Nt;Nt.multiply(x,m,y);let v=Lt.fromDegrees(C,E,I),w=gi.WGS84.cartographicToCartesian(v),Q={binaryData:A.geometryData._data,featureData:k(A.featureData)&&k(A.featureData[0])?A.featureData[0].data:void 0,schema:A.defaultGeometrySchema,bufferInfo:A.geometryData._geometryBufferInfo,ellipsoidRadiiSquare:gi.WGS84.radiiSquared,url:A.url,geoidDataList:A.geometryData._dataProvider._geoidDataList,cartographicCenter:v,cartesianCenter:w,parentRotation:y},M=[];return o.scheduleTask(Q,M)};dI.prototype._createContentURL=async function(){let o={scene:0,scenes:[{nodes:[0]}],nodes:[{name:"singleNode"}],meshes:[],buffers:[],bufferViews:[],accessors:[],materials:[],textures:[],images:[],samplers:[],asset:{version:"2.0"}},A=await this._dataProvider.getDecoderTaskProcessor(),f=[this._loadGeometryData()];this._dataProvider.legacyVersion16&&f.push(this._loadFeatureData());let m=this;return Promise.all(f).then(function(){let C=Promise.resolve();if(k(m._geometryData)&&m._geometryData.length>0){let E={geometryData:m._geometryData[0],featureData:m._featureData,defaultGeometrySchema:m._layer._data.store.defaultGeometrySchema,url:m._geometryData[0].resource.url,tile:m._tile},I=m._createI3SDecoderTask(A,E);if(!k(I))return;C=I.then(function(x){o=E.geometryData._generateGltf(x.meshData.nodesInScene,x.meshData.nodes,x.meshData.meshes,x.meshData.buffers,x.meshData.bufferViews,x.meshData.accessors),m._geometryData[0]._customAttributes=x.meshData._customAttributes})}return C.then(function(){let E=m._dataProvider._binarizeGltf(o),I=new Blob([E],{type:"application/binary"});return URL.createObjectURL(I)})})};cI.prototype._hookedRequestContent=cI.prototype.requestContent;cI.prototype.requestContent=function(){if(!this.tileset._isI3STileSet)return this._hookedRequestContent();if(!this._isLoading)return this._isLoading=!0,this._i3sNode._createContentURL().then(o=>{if(!k(o)){this._isLoading=!1;return}return this._contentResource=new fr({url:o}),this._hookedRequestContent()}).then(o=>(this._isLoading=!1,o))};function Ymi(o,A,f,m,C,E){let I=f*(1-o)+m*o,x=C*(1-o)+E*o;return I*(1-A)+x*A}function lq(o,A,f,m){let C=o+A*f;return m[C]}function Jmi(o,A,f){let m=f.nativeExtent,C=(o-m.west)/(m.east-m.west)*(f.width-1),E=(A-m.south)/(m.north-m.south)*(f.height-1),I=Math.floor(C),x=Math.floor(E);C-=I,E-=x;let y=I<f.width?I+1:I,v=x<f.height?x+1:x;x=f.height-1-x,v=f.height-1-v;let w=lq(I,x,f.width,f.buffer),Q=lq(y,x,f.width,f.buffer),M=lq(I,v,f.width,f.buffer),B=lq(y,v,f.width,f.buffer),D=Ymi(C,E,w,Q,M,B);return D=D*f.scale+f.offset,D}Object.defineProperties(cI.prototype,{i3sNode:{get:function(){return this._i3sNode}}});var eZ=dI;function uv(o,A,f){this._dataProvider=o,k(A.href)||(A.href=`./layers/${f}`);let m=this._dataProvider.resource.getUrlComponent(),C="";m.match(/layers\/\d/)?C=`${m}`.replace(/\/+$/,""):C=`${m}`.replace(/\/?$/,"/").concat(`${A.href}`),this._version=A.store.version;let E=this._version.split(".");this._majorVersion=parseInt(E[0]),this._minorVersion=E.length>1?parseInt(E[1]):0,this._resource=new fr({url:C}),this._resource.setQueryParameters(this._dataProvider.resource.queryParameters),this._resource.appendForwardSlash(),this._data=A,this._rootNode=void 0,this._nodePages={},this._nodePageFetches={},this._extent=void 0,this._tileset=void 0,this._geometryDefinitions=void 0,this._computeGeometryDefinitions(!0),this._computeExtent()}Object.defineProperties(uv.prototype,{resource:{get:function(){return this._resource}},rootNode:{get:function(){return this._rootNode}},tileset:{get:function(){return this._tileset}},data:{get:function(){return this._data}},version:{get:function(){return this._version}},majorVersion:{get:function(){return this._majorVersion}},minorVersion:{get:function(){return this._minorVersion}},legacyVersion16:{get:function(){if(k(this.version))return this.majorVersion<1||this.majorVersion===1&&this.minorVersion<=6}}});uv.prototype.load=async function(){if(this._data.spatialReference.wkid!==4326)throw new Ti(`Unsupported spatial reference: ${this._data.spatialReference.wkid}`);if(await this._dataProvider.loadGeoidData(),await this._loadRootNode(),await this._create3DTileset(),this._rootNode._tile=this._tileset._root,this._tileset._root._i3sNode=this._rootNode,this.legacyVersion16)return this._rootNode._loadChildren()};uv.prototype._computeGeometryDefinitions=function(o){if(this._geometryDefinitions=[],k(this._data.geometryDefinitions))for(let A=0;A<this._data.geometryDefinitions.length;A++){let f=[],m=this._data.geometryDefinitions[A].geometryBuffers;for(let C=0;C<m.length;C++){let E=m[C],I=[],x=!1;if(k(E.compressedAttributes)&&o){x=!0;let y=E.compressedAttributes.attributes;for(let v=0;v<y.length;v++)I.push(y[v])}else for(let y in E)y!=="offset"&&I.push(y);f.push({compressed:x,attributes:I,index:m.indexOf(E)})}f.sort(function(C,E){return C.compressed&&!E.compressed?-1:!C.compressed&&E.compressed?1:C.attributes.length-E.attributes.length}),this._geometryDefinitions.push(f)}};uv.prototype._findBestGeometryBuffers=function(o,A){let f=this._geometryDefinitions[o];if(k(f))for(let m=0;m<f.length;++m){let C=f[m],E=!1,I=C.attributes;for(let x=0;x<A.length;x++)if(!I.includes(A[x])){E=!0;break}if(!E)return{bufferIndex:C.index,definition:f,geometryBufferInfo:C}}return 0};uv.prototype._loadRootNode=function(){if(k(this._data.nodePages)){let o=0;k(this._data.nodePages.rootIndex)&&(o=this._data.nodePages.rootIndex),this._rootNode=new eZ(this,o,!0)}else this._rootNode=new eZ(this,this._data.store.rootNode,!0);return this._rootNode.load()};uv.prototype._getNodeInNodePages=function(o){let A=Math.floor(o/this._data.nodePages.nodesPerPage),f=o%this._data.nodePages.nodesPerPage,m=this;return this._loadNodePage(A).then(function(){return m._nodePages[A][f]})};uv._fetchJson=function(o){return o.fetchJson()};uv.prototype._loadNodePage=function(o){let A=this;if(!k(this._nodePageFetches[o])){let f=this.resource.getDerivedResource({url:`nodepages/${o}/`}),m=uv._fetchJson(f).then(function(C){return k(C.error)&&C.error.code!==200?Promise.reject(C.error):(A._nodePages[o]=C.nodes,C)});this._nodePageFetches[o]=m}return this._nodePageFetches[o]};uv.prototype._computeExtent=function(){k(this._data.fullExtent)?this._extent=hi.fromDegrees(this._data.fullExtent.xmin,this._data.fullExtent.ymin,this._data.fullExtent.xmax,this._data.fullExtent.ymax):k(this._data.store.extent)&&(this._extent=hi.fromDegrees(this._data.store.extent[0],this._data.store.extent[1],this._data.store.extent[2],this._data.store.extent[3]))};uv.prototype._create3DTileset=async function(){let o={asset:{version:"1.0"},geometricError:Number.MAX_VALUE,root:this._rootNode._create3DTileDefinition()},A=new Blob([JSON.stringify(o)],{type:"application/json"}),f=URL.createObjectURL(A),m={};if(k(this._dataProvider._cesium3dTilesetOptions))for(let C in this._dataProvider._cesium3dTilesetOptions)this._dataProvider._cesium3dTilesetOptions.hasOwnProperty(C)&&(m[C]=this._dataProvider._cesium3dTilesetOptions[C]);this._tileset=await B0.fromUrl(f,m),this._tileset.show=this._dataProvider.show,this._tileset._isI3STileSet=!0,this._tileset.tileUnload.addEventListener(function(C){C._i3sNode._clearGeometryData(),URL.revokeObjectURL(C._contentResource._url),C._contentResource=C._i3sNode.resource}),this._tileset.tileVisible.addEventListener(function(C){k(C._i3sNode)&&C._i3sNode._loadChildren()})};var EO=uv,Kmi=Ku(Sht(),1);function gg(o){o=ae(o,ae.EMPTY_OBJECT),this._name=o.name,this._show=ae(o.show,!0),this._geoidTiledTerrainProvider=o.geoidTiledTerrainProvider,this._traceFetches=ae(o.traceFetches,!1),this._cesium3dTilesetOptions=ae(o.cesium3dTilesetOptions,ae.EMPTY_OBJECT),this._layers=[],this._data=void 0,this._extent=void 0,this._geoidDataPromise=void 0,this._geoidDataList=void 0,this._decoderTaskProcessor=void 0,this._taskProcessorReadyPromise=void 0,k(o.url)&&($t("I3SDataProvider options.url","I3SDataProvider constructor parameter options.url was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use I3SDataProvider.fromUrl instead."),this._readyPromise=void 0,this._ready=!1,this._resource=fr.createIfNeeded(o.url),this._load())}Object.defineProperties(gg.prototype,{name:{get:function(){return this._name}},show:{get:function(){return this._show},set:function(o){this._show=o;for(let A=0;A<this._layers.length;A++)k(this._layers[A]._tileset)&&(this._layers[A]._tileset.show=this._show)}},traceFetches:{get:function(){return this._traceFetches},set:function(o){this._traceFetches=o}},geoidTiledTerrainProvider:{get:function(){return this._geoidTiledTerrainProvider}},layers:{get:function(){return this._layers}},data:{get:function(){return this._data}},extent:{get:function(){return this._extent}},readyPromise:{get:function(){return $t("I3SDataProvider.readyPromise","I3SDataProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use I3SDataProvider.fromUrl instead."),this._readyPromise}},ready:{get:function(){return $t("I3SDataProvider.ready","I3SDataProvider.ready was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use I3SDataProvider.fromUrl instead."),this._ready}},resource:{get:function(){return this._resource}}});gg.prototype.destroy=function(){for(let o=0;o<this._layers.length;o++)k(this._layers[o]._tileset)&&this._layers[o]._tileset.destroy();return ar(this)};gg.prototype.isDestroyed=function(){return!1};gg.prototype.update=function(o){for(let A=0;A<this._layers.length;A++)k(this._layers[A]._tileset)&&this._layers[A]._tileset.update(o)};gg.prototype.prePassesUpdate=function(o){for(let A=0;A<this._layers.length;A++)k(this._layers[A]._tileset)&&this._layers[A]._tileset.prePassesUpdate(o)};gg.prototype.postPassesUpdate=function(o){for(let A=0;A<this._layers.length;A++)k(this._layers[A]._tileset)&&this._layers[A]._tileset.postPassesUpdate(o)};gg.prototype.updateForPass=function(o,A){for(let f=0;f<this._layers.length;f++)k(this._layers[f]._tileset)&&this._layers[f]._tileset.updateForPass(o,A)};gg.fromUrl=async function(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=fr.createIfNeeded(o),m=await gg.loadJson(f),C=new gg(A);if(C._resource=f,C._data=m,k(m.layers))for(let I=0;I<m.layers.length;I++){let x=new EO(C,m.layers[I],I);C._layers.push(x)}else{let I=new EO(C,m,m.id);C._layers.push(I)}C._computeExtent();let E=[];for(let I=0;I<C._layers.length;I++)E.push(C._layers[I].load());return await Promise.all(E),C._ready=!0,C._readyPromise=Promise.resolve(C),C};gg.prototype._load=function(){let o=this;return this._readyPromise=gg.loadJson(this._resource,this._traceFetches).then(function(A){if(o._data=A,k(A.layers))for(let m=0;m<A.layers.length;m++){let C=new EO(o,A.layers[m],m);o._layers.push(C)}else{let m=new EO(o,A,A.id);o._layers.push(m)}o._computeExtent();let f=[];for(let m=0;m<o._layers.length;m++)f.push(o._layers[m].load());return Promise.all(f).then(function(){return o._ready=!0,o})}),this._readyPromise};gg._fetchJson=function(o){return o.fetchJson()};gg.loadJson=async function(o,A){A&&console.log("I3S FETCH:",o.url);let f=await gg._fetchJson(o);if(k(f.error)){if(console.error("Failed to fetch I3S ",o.url),k(f.error.message)&&console.error(f.error.message),k(f.error.details))for(let m=0;m<f.error.details.length;m++)console.log(f.error.details[m]);throw new Ti(f.error)}return f};gg.prototype._loadBinary=function(o){return this._traceFetches&&console.log("I3S FETCH:",o.url),o.fetchArrayBuffer()};gg.prototype._binarizeGltf=function(o){let A=new TextEncoder().encode(JSON.stringify(o)),f=new Uint8Array(A.byteLength+20),m={magic:new Uint8Array(f.buffer,0,4),version:new Uint32Array(f.buffer,4,1),length:new Uint32Array(f.buffer,8,1),chunkLength:new Uint32Array(f.buffer,12,1),chunkType:new Uint32Array(f.buffer,16,1),chunkData:new Uint8Array(f.buffer,20,A.byteLength)};return m.magic[0]="g".charCodeAt(),m.magic[1]="l".charCodeAt(),m.magic[2]="T".charCodeAt(),m.magic[3]="F".charCodeAt(),m.version[0]=2,m.length[0]=f.byteLength,m.chunkLength[0]=A.byteLength,m.chunkType[0]=1313821514,m.chunkData.set(A),f};gg.prototype.getDecoderTaskProcessor=function(){if(k(this._taskProcessorReadyPromise))return this._taskProcessorReadyPromise;if(!k(this._decoderTaskProcessor)){let o=new Yh("decodeI3S");this._taskProcessorReadyPromise=o.initWebAssemblyModule({modulePath:"ThirdParty/Workers/draco_decoder_nodejs.js",wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then(()=>o),this._decoderTaskProcessor=o}return this._taskProcessorReadyPromise};function Wmi(o,A){return jmi(o,A)}var qmi=new tt;function jmi(o,A){let f=o.tilingScheme,m=[],C={},E=o._lodCount,I=Lt.fromRadians(A.west,A.north),x=Lt.fromRadians(A.east,A.south),y=f.positionToTileXY(I,E),v=f.positionToTileXY(x,E);for(let Q=y.x;Q<=v.x;Q++)for(let M=y.y;M<=v.y;M++){let B=tt.fromElements(Q,M,qmi),D=B.toString();if(!C.hasOwnProperty(D)){let S={x:B.x,y:B.y,level:E,tilingScheme:f,terrainProvider:o,positions:[]};C[D]=S,m.push(S)}}let w=[];for(let Q=0;Q<m.length;++Q){let M=m[Q],B=M.terrainProvider.requestTileGeometry(M.x,M.y,M.level);w.push(B)}return Promise.all(w).then(function(Q){let M=[];for(let B=0;B<Q.length;B++){let D={tilingScheme:f,x:m[B].x,y:m[B].y,level:m[B].level},S=Q[B],P="Geographic";f._projection instanceof Pu&&(P="WebMercator");let R={projectionType:P,projection:f._projection,nativeExtent:f.tileXYToNativeRectangle(D.x,D.y,D.level),height:S._height,width:S._width,scale:S._structure.heightScale,offset:S._structure.heightOffset};if(S._encoding===H2.LERC){let T=Kmi.default.decode(S._buffer);R.buffer=T.pixels[0]}else R.buffer=S._buffer;M.push(R)}return M})}async function Xmi(o){let A=o._geoidTiledTerrainProvider;if(!k(A)){console.log("No Geoid Terrain service provided - no geoid conversion will be performed.");return}try{let f=await Wmi(A,o._extent);o._geoidDataList=f}catch{console.log("Error retrieving Geoid Terrain tiles - no geoid conversion will be performed.")}}gg.prototype.loadGeoidData=async function(){return k(this._geoidDataPromise)?this._geoidDataPromise:(this._geoidDataPromise=Xmi(this),this._geoidDataPromise)};gg.prototype._computeExtent=function(){let o;for(let A=0;A<this._layers.length;A++)if(k(this._layers[A]._extent)){let f=this._layers[A]._extent;k(o)?hi.union(o,f,o):o=hi.clone(f)}this._extent=o};var nie=gg,dXe=Object.freeze({UNLOADED:0,RECEIVING:1,RECEIVED:2,LOADED:3,FAILED:4,UNAVAILABLE:5});function oie(o,A){this.spatialNode=o,this.keyframe=A,this.state=dXe.UNLOADED,this.metadatas=[],this.megatextureIndex=-1,this.priority=-Number.MAX_VALUE,this.highPriorityFrameNumber=-1}oie.priorityComparator=function(o,A){return o.priority-A.priority};oie.searchComparator=function(o,A){return o.keyframe-A.keyframe};oie.LoadState=dXe;var du=oie;function gXe(){}Object.defineProperties(gXe.prototype,{color:{get:ni.throwInstantiationError},intensity:{get:ni.throwInstantiationError}});var fXe=gXe,Zmi=/\/$/,pXe=new la('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function a6(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.styleId,f=o.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let m=fr.createIfNeeded(ae(o.url,"https://api.mapbox.com/styles/v1/"));this._styleId=A,this._accessToken=f;let C=ae(o.tilesize,512);this._tilesize=C;let E=ae(o.username,"mapbox");this._username=E;let I=k(o.scaleFactor)?"@2x":"",x=m.getUrlComponent();Zmi.test(x)||(x+="/"),x+=`${this._username}/${A}/tiles/${this._tilesize}/{z}/{x}/{y}${I}`,m.url=x,m.setQueryParameters({access_token:f});let y;k(o.credit)?(y=o.credit,typeof y=="string"&&(y=new la(y))):y=pXe,this._resource=m,this._imageryProvider=new pI({url:m,credit:y,ellipsoid:o.ellipsoid,minimumLevel:o.minimumLevel,maximumLevel:o.maximumLevel,rectangle:o.rectangle}),this._ready=!0,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(a6.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return $t("MapboxStyleImageryProvider.ready","MapboxStyleImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._imageryProvider.ready}},readyPromise:{get:function(){return $t("MapboxStyleImageryProvider.readyPromise","MapboxStyleImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._imageryProvider.readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},defaultAlpha:{get:function(){return $t("MapboxStyleImageryProvider.defaultAlpha","MapboxStyleImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("MapboxStyleImageryProvider.defaultAlpha","MapboxStyleImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("MapboxStyleImageryProvider.defaultNightAlpha","MapboxStyleImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){$t("MapboxStyleImageryProvider.defaultNightAlpha","MapboxStyleImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("MapboxStyleImageryProvider.defaultDayAlpha","MapboxStyleImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("MapboxStyleImageryProvider.defaultDayAlpha","MapboxStyleImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("MapboxStyleImageryProvider.defaultBrightness","MapboxStyleImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("MapboxStyleImageryProvider.defaultBrightness","MapboxStyleImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("MapboxStyleImageryProvider.defaultContrast","MapboxStyleImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("MapboxStyleImageryProvider.defaultContrast","MapboxStyleImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("MapboxStyleImageryProvider.defaultHue","MapboxStyleImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("MapboxStyleImageryProvider.defaultHue","MapboxStyleImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("MapboxStyleImageryProvider.defaultSaturation","MapboxStyleImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("MapboxStyleImageryProvider.defaultSaturation","MapboxStyleImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("MapboxStyleImageryProvider.defaultGamma","MapboxStyleImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("MapboxStyleImageryProvider.defaultGamma","MapboxStyleImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("MapboxStyleImageryProvider.defaultMinificationFilter","MapboxStyleImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("MapboxStyleImageryProvider.defaultMinificationFilter","MapboxStyleImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("MapboxStyleImageryProvider.defaultMagnificationFilter","MapboxStyleImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("MapboxStyleImageryProvider.defaultMagnificationFilter","MapboxStyleImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});a6.prototype.getTileCredits=function(o,A,f){};a6.prototype.requestImage=function(o,A,f,m){return this._imageryProvider.requestImage(o,A,f,m)};a6.prototype.pickFeatures=function(o,A,f,m,C){return this._imageryProvider.pickFeatures(o,A,f,m,C)};a6._defaultCredit=pXe;var mXe=a6;function wP(o,A,f,m,C){m===na.UNSIGNED_SHORT&&(m=na.FLOAT32);let E=o.floatingPointTexture;if(m===na.FLOAT32&&!E)throw new Ti("Floating point texture not supported");let I;m===na.FLOAT32||m===na.FLOAT64?I=Gr.FLOAT:m===na.UINT8&&(I=Gr.UNSIGNED_BYTE);let x;f===1?x=o.webgl2?Jr.RED:Jr.LUMINANCE:f===2?x=o.webgl2?Jr.RG:Jr.LUMINANCE_ALPHA:f===3?x=Jr.RGB:f===4&&(x=Jr.RGBA);let y=512*1024*1024,v=128*1024*1024;C=Math.min(ae(C,v),y);let w=On.maximumTextureSize,Q=na.getSizeInBytes(m),M=Math.floor(C/(f*Q)),B=Math.min(w,De.previousPowerOfTwo(Math.floor(Math.sqrt(M)))),D=Math.ceil(Math.sqrt(A.x)),S=Math.ceil(A.z/D),P=D*A.x,R=S*A.y,T=Math.floor(B/P),L=Math.floor(B/R);if(T===0||L===0)throw new Ti("Tileset is too large to fit into megatexture");this.channelCount=f,this.componentType=m,this.voxelCountPerTile=Z.clone(A,new Z),this.maximumTileCount=T*L,this.regionCountPerMegatexture=new tt(T,L),this.voxelCountPerRegion=new tt(P,R),this.sliceCountPerRegion=new tt(D,S),this.voxelSizeUv=new tt(1/B,1/B),this.sliceSizeUv=new tt(A.x/B,A.y/B),this.regionSizeUv=new tt(P/B,R/B),this.texture=new Rn({context:o,pixelFormat:x,pixelDatatype:I,flipY:!1,width:B,height:B,sampler:new Ra({wrapS:oa.CLAMP_TO_EDGE,wrapT:oa.CLAMP_TO_EDGE,minificationFilter:ya.LINEAR,magnificationFilter:mu.LINEAR})});let F=na.toComponentDatatype(m);this.tileVoxelDataTemp=Mt.createTypedArray(F,P*R*f),this.nodes=new Array(this.maximumTileCount);for(let U=0;U<this.maximumTileCount;U++)this.nodes[U]=new $mi(U);for(let U=0;U<this.maximumTileCount;U++){let N=this.nodes[U];N.previousNode=U>0?this.nodes[U-1]:void 0,N.nextNode=U<this.maximumTileCount-1?this.nodes[U+1]:void 0}this.occupiedList=void 0,this.emptyList=this.nodes[0],this.occupiedCount=0}function $mi(o){this.index=o,this.nextNode=void 0,this.previousNode=void 0}wP.prototype.add=function(o){if(this.isFull())throw new ni("Trying to add when there are no empty spots");let A=this.emptyList;this.emptyList=this.emptyList.nextNode,k(this.emptyList)&&(this.emptyList.previousNode=void 0),A.nextNode=this.occupiedList,k(A.nextNode)&&(A.nextNode.previousNode=A),this.occupiedList=A;let f=A.index;return this.writeDataToTexture(f,o),this.occupiedCount++,f};wP.prototype.remove=function(o){if(o<0||o>=this.maximumTileCount)throw new ni("Megatexture index out of bounds");let A=this.nodes[o];k(A.previousNode)&&(A.previousNode.nextNode=A.nextNode),k(A.nextNode)&&(A.nextNode.previousNode=A.previousNode),A.nextNode=this.emptyList,k(A.nextNode)&&(A.nextNode.previousNode=A),A.previousNode=void 0,this.emptyList=A,this.occupiedCount--};wP.prototype.isFull=function(){return this.emptyList===void 0};wP.getApproximateTextureMemoryByteLength=function(o,A,f,m){m===na.UNSIGNED_SHORT&&(m=na.FLOAT32);let C=na.getSizeInBytes(m),E=o*A.x*A.y*A.z,I=Math.ceil(Math.sqrt(A.z)),x=Math.ceil(A.z/I),y=I*A.x,v=x*A.y,w=De.previousPowerOfTwo(Math.floor(Math.sqrt(E)));for(;;){let Q=Math.floor(w/y),M=Math.floor(w/v);if(Q*M>=o)break;w*=2}return w*w*f*C};wP.prototype.writeDataToTexture=function(o,A){let f=A.constructor===Uint16Array?new Float32Array(A):A,m=this.voxelCountPerTile,C=this.sliceCountPerRegion,E=this.voxelCountPerRegion,I=this.channelCount,x=this.tileVoxelDataTemp;for(let D=0;D<m.z;D++){let S=D%C.x*m.x,P=Math.floor(D/C.x)*m.y;for(let R=0;R<m.y;R++)for(let T=0;T<m.x;T++){let L=D*m.y*m.x+R*m.x+T,F=(P+R)*E.x+(S+T);for(let U=0;U<I;U++)x[F*I+U]=f[L*I+U]}}let y=this.regionCountPerMegatexture,v=E.x,w=E.y,Q=o%y.x*E.x,M=Math.floor(o/y.x)*E.y,B={source:{arrayBufferView:x,width:v,height:w},xOffset:Q,yOffset:M};this.texture.copyFrom(B)};wP.prototype.isDestroyed=function(){return!1};wP.prototype.destroy=function(){return this.texture=this.texture&&this.texture.destroy(),ar(this)};var aie=wP;function X_e(o){}X_e.prototype.isReady=function(){return!0};X_e.prototype.shouldDiscardImage=function(o){return!1};var CXe=X_e,eCi=new la("MapQuest, Open Street Map and contributors, CC-BY-SA");function hj(o){o=ae(o,ae.EMPTY_OBJECT);let A=fr.createIfNeeded(ae(o.url,"https://a.tile.openstreetmap.org/"));A.appendForwardSlash(),A.url+=`{z}/{x}/{y}.${ae(o.fileExtension,"png")}`;let f=new Sf({ellipsoid:o.ellipsoid}),m=256,C=256,E=ae(o.minimumLevel,0),I=o.maximumLevel,x=ae(o.rectangle,f.rectangle),y=f.positionToTileXY(hi.southwest(x),E),v=f.positionToTileXY(hi.northeast(x),E),w=(Math.abs(v.x-y.x)+1)*(Math.abs(v.y-y.y)+1),Q=ae(o.credit,eCi);typeof Q=="string"&&(Q=new la(Q)),pI.call(this,{url:A,credit:Q,tilingScheme:f,tileWidth:m,tileHeight:C,minimumLevel:E,maximumLevel:I,rectangle:x})}k(Object.create)&&(hj.prototype=Object.create(pI.prototype),hj.prototype.constructor=hj);var rV=hj,tCi=new tt(1,1);function Z_e(o){o=ae(o,ae.EMPTY_OBJECT),this.mass=ae(o.mass,1),this.position=Z.clone(ae(o.position,Z.ZERO)),this.velocity=Z.clone(ae(o.velocity,Z.ZERO)),this.life=ae(o.life,Number.MAX_VALUE),this.image=o.image,this.startColor=qe.clone(ae(o.startColor,qe.WHITE)),this.endColor=qe.clone(ae(o.endColor,qe.WHITE)),this.startScale=ae(o.startScale,1),this.endScale=ae(o.endScale,1),this.imageSize=tt.clone(ae(o.imageSize,tCi)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(Z_e.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});var gke=new Z;Z_e.prototype.update=function(o,A){return Z.multiplyByScalar(this.velocity,o,gke),Z.add(this.position,gke,this.position),k(A)&&A(this,o),this._age+=o,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life};var sie=Z_e;function EXe(o){o=ae(o,ae.EMPTY_OBJECT),this.time=ae(o.time,0),this.minimum=ae(o.minimum,0),this.maximum=ae(o.maximum,50),this._complete=!1}Object.defineProperties(EXe.prototype,{complete:{get:function(){return this._complete}}});var s6=EXe;function IXe(o){}IXe.prototype.emit=function(o){ni.throwInstantiationError()};var xXe=IXe,fke=new tt(1,1);function zY(o){o=ae(o,ae.EMPTY_OBJECT),this.show=ae(o.show,!0),this.updateCallback=o.updateCallback,this.loop=ae(o.loop,!0),this.image=ae(o.image,void 0);let A=o.emitter;k(A)||(A=new U_e(.5)),this._emitter=A,this._bursts=o.bursts,this._modelMatrix=Re.clone(ae(o.modelMatrix,Re.IDENTITY)),this._emitterModelMatrix=Re.clone(ae(o.emitterModelMatrix,Re.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new Re,this._startColor=qe.clone(ae(o.color,ae(o.startColor,qe.WHITE))),this._endColor=qe.clone(ae(o.color,ae(o.endColor,qe.WHITE))),this._startScale=ae(o.scale,ae(o.startScale,1)),this._endScale=ae(o.scale,ae(o.endScale,1)),this._emissionRate=ae(o.emissionRate,5),this._minimumSpeed=ae(o.speed,ae(o.minimumSpeed,1)),this._maximumSpeed=ae(o.speed,ae(o.maximumSpeed,1)),this._minimumParticleLife=ae(o.particleLife,ae(o.minimumParticleLife,5)),this._maximumParticleLife=ae(o.particleLife,ae(o.maximumParticleLife,5)),this._minimumMass=ae(o.mass,ae(o.minimumMass,1)),this._maximumMass=ae(o.mass,ae(o.maximumMass,1)),this._minimumImageSize=tt.clone(ae(o.imageSize,ae(o.minimumImageSize,fke))),this._maximumImageSize=tt.clone(ae(o.imageSize,ae(o.maximumImageSize,fke))),this._sizeInMeters=ae(o.sizeInMeters,!1),this._lifetime=ae(o.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new ir,this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}Object.defineProperties(zY.prototype,{emitter:{get:function(){return this._emitter},set:function(o){this._emitter=o}},bursts:{get:function(){return this._bursts},set:function(o){this._bursts=o,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(o){this._matrixDirty=this._matrixDirty||!Re.equals(this._modelMatrix,o),Re.clone(o,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(o){this._matrixDirty=this._matrixDirty||!Re.equals(this._emitterModelMatrix,o),Re.clone(o,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(o){qe.clone(o,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(o){qe.clone(o,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(o){this._startScale=o}},endScale:{get:function(){return this._endScale},set:function(o){this._endScale=o}},emissionRate:{get:function(){return this._emissionRate},set:function(o){this._emissionRate=o,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(o){this._minimumSpeed=o}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(o){this._maximumSpeed=o}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(o){this._minimumParticleLife=o}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(o){this._maximumParticleLife=o,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(o){this._minimumMass=o}},maximumMass:{get:function(){return this._maximumMass},set:function(o){this._maximumMass=o}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(o){this._minimumImageSize=o}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(o){this._maximumImageSize=o}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(o){this._sizeInMeters=o}},lifetime:{get:function(){return this._lifetime},set:function(o){this._lifetime=o}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});function iCi(o){let A=o._emissionRate,f=o._maximumParticleLife,m=0,C=o._bursts;if(k(C)){let Q=C.length;for(let M=0;M<Q;++M)m+=C[M].maximum}let E=o._billboardCollection,I=o.image,x=Math.ceil(A*f+m),y=o._particles,v=o._particlePool,w=Math.max(x-y.length-v.length,0);for(let Q=0;Q<w;++Q){let M=new sie;M._billboard=E.add({image:I,show:!1}),v.push(M)}o._particleEstimate=x}function rCi(o){let A=o._particlePool.pop();return k(A)||(A=new sie),A}function nCi(o,A){o._particlePool.push(A)}function oCi(o){let A=o._particles,f=o._particlePool,m=o._billboardCollection,C=A.length,E=f.length,I=o._particleEstimate,x=E-Math.max(I-C-E,0);for(let y=x;y<E;++y){let v=f[y];m.remove(v._billboard)}f.length=x}function aCi(o){k(o._billboard)&&(o._billboard.show=!1)}function pke(o,A){let f=A._billboard;k(f)||(f=A._billboard=o._billboardCollection.add({image:A.image})),f.width=A.imageSize.x,f.height=A.imageSize.y,f.position=A.position,f.sizeInMeters=o.sizeInMeters,f.show=!0;let m=De.lerp(A.startColor.red,A.endColor.red,A.normalizedAge),C=De.lerp(A.startColor.green,A.endColor.green,A.normalizedAge),E=De.lerp(A.startColor.blue,A.endColor.blue,A.normalizedAge),I=De.lerp(A.startColor.alpha,A.endColor.alpha,A.normalizedAge);f.color=new qe(m,C,E,I),f.scale=De.lerp(A.startScale,A.endScale,A.normalizedAge)}function sCi(o,A){A.startColor=qe.clone(o._startColor,A.startColor),A.endColor=qe.clone(o._endColor,A.endColor),A.startScale=o._startScale,A.endScale=o._endScale,A.image=o.image,A.life=De.randomBetween(o._minimumParticleLife,o._maximumParticleLife),A.mass=De.randomBetween(o._minimumMass,o._maximumMass),A.imageSize.x=De.randomBetween(o._minimumImageSize.x,o._maximumImageSize.x),A.imageSize.y=De.randomBetween(o._minimumImageSize.y,o._maximumImageSize.y),A._normalizedAge=0,A._age=0;let f=De.randomBetween(o._minimumSpeed,o._maximumSpeed);Z.multiplyByScalar(A.velocity,f,A.velocity),o._particles.push(A)}function lCi(o,A){if(o._isComplete)return 0;A=De.mod(A,o._lifetime);let f=A*o._emissionRate,m=Math.floor(f);if(o._carryOver+=f-m,o._carryOver>1&&(m++,o._carryOver-=1),k(o.bursts)){let C=o.bursts.length;for(let E=0;E<C;E++){let I=o.bursts[E],x=o._currentTime;k(I)&&!I._complete&&x>I.time&&(m+=De.randomBetween(I.minimum,I.maximum),I._complete=!0)}}return m}var Aq=new Z;zY.prototype.update=function(o){if(!this.show)return;k(this._billboardCollection)||(this._billboardCollection=new nI),this._updateParticlePool&&(iCi(this),this._updateParticlePool=!1);let A=0;this._previousTime&&(A=jt.secondsDifference(o.time,this._previousTime)),A<0&&(A=0);let f=this._particles,m=this._emitter,C=this.updateCallback,E,I,x=f.length;for(E=0;E<x;++E)I=f[E],I.update(A,C)?pke(this,I):(aCi(I),nCi(this,I),f[E]=f[x-1],--E,--x);f.length=x;let y=lCi(this,A);if(y>0&&k(m)){this._matrixDirty&&(this._combinedMatrix=Re.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);let v=this._combinedMatrix;for(E=0;E<y;E++)I=rCi(this),this._emitter.emit(I),Z.add(I.position,I.velocity,Aq),Re.multiplyByPoint(v,Aq,Aq),I.position=Re.multiplyByPoint(v,I.position,I.position),Z.subtract(Aq,I.position,I.velocity),Z.normalize(I.velocity,I.velocity),sCi(this,I),pke(this,I)}if(this._billboardCollection.update(o),this._previousTime=jt.clone(o.time,this._previousTime),this._currentTime+=A,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=De.mod(this._currentTime,this._lifetime),this.bursts){let v=this.bursts.length;for(E=0;E<v;E++)this.bursts[E]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);o.frameNumber%120===0&&oCi(this)};zY.prototype.isDestroyed=function(){return!1};zY.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),ar(this)};var mb=zY,ACi=Ku(Lce(),1),uCi={modifyFragmentShader:function(o){return o=hr.replaceMain(o,"czm_splitter_main"),o+=`uniform float czm_splitDirection; void main() { #ifndef SHADOW_MAP if (czm_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; if (czm_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; #endif czm_splitter_main(); } `,o},addUniforms:function(o,A){A.czm_splitDirection=function(){return o.splitDirection}}},lie=uCi,HL={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function YY(o){this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=qe.clone(qe.DARKGRAY),this._highlightColor=qe.clone(qe.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=HL.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=o.vertexShaderLoaded,this._fragmentShaderLoaded=o.fragmentShaderLoaded,this._uniformMapLoaded=o.uniformMapLoaded,this._batchTableLoaded=o.batchTableLoaded,this._pickIdLoaded=o.pickIdLoaded,this._opaquePass=ae(o.opaquePass,zi.OPAQUE),this._cull=ae(o.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=Re.clone(Re.IDENTITY),this._modelMatrix=Re.clone(Re.IDENTITY),this.time=0,this.shadows=_s.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,this.splitDirection=ae(o.splitDirection,fI.NONE),this._splittingEnabled=!1,this._error=void 0,cCi(this,o)}Object.defineProperties(YY.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},color:{get:function(){return qe.clone(this._highlightColor)},set:function(o){this._highlightColor=qe.clone(o,this._highlightColor)}},boundingSphere:{get:function(){if(k(this._drawCommand))return this._drawCommand.boundingVolume},set:function(o){this._boundingSphere=si.clone(o,this._boundingSphere)}}});function cCi(o,A){let f=See.parse(A.arrayBuffer,A.byteOffset);if(o._parsedContent=f,o._rtcCenter=f.rtcCenter,o._hasNormals=f.hasNormals,o._hasColors=f.hasColors,o._hasBatchIds=f.hasBatchIds,o._isTranslucent=f.isTranslucent,!f.hasBatchIds&&k(f.batchTableBinary)&&(f.styleableProperties=Bz.getBinaryProperties(f.pointsLength,f.batchTableJson,f.batchTableBinary)),k(f.draco)){let x=f.draco;o._decodingState=HL.NEEDS_DECODE,x.dequantizeInShader=o._dequantizeInShader}let m=f.positions;k(m)&&(o._isQuantized=m.isQuantized,o._quantizedVolumeScale=m.quantizedVolumeScale,o._quantizedVolumeOffset=m.quantizedVolumeOffset,o._quantizedRange=m.quantizedRange);let C=f.normals;k(C)&&(o._isOctEncoded16P=C.octEncoded);let E=f.colors;k(E)&&(k(E.constantColor)&&(o._constantColor=qe.clone(E.constantColor,o._constantColor),o._hasColors=!1),o._isRGB565=E.isRGB565);let I=f.batchIds;k(f.batchIds)&&(I.name="BATCH_ID",I.semantic="BATCH_ID",I.setIndex=void 0),f.hasBatchIds&&o._batchTableLoaded(f.batchLength,f.batchTableJson,f.batchTableBinary),o._pointsLength=f.pointsLength}var hCi=new Z,dCi=new Z,gCi=new Z,mke,uq;function fCi(o){if(!k(uq)){mke=new ACi.default(0),uq=new Array(o);for(let A=0;A<o;++A)uq[A]=mke.random()}return uq}function pCi(o){let A=o.length/3,f=Math.min(A,20),m=fCi(20),C=Number.MAX_VALUE,E=-Number.MAX_VALUE,I=Z.fromElements(C,C,C,hCi),x=Z.fromElements(E,E,E,dCi);for(let v=0;v<f;++v){let w=Math.floor(m[v]*A),Q=Z.unpack(o,w*3,gCi);Z.minimumByComponent(I,Q,I),Z.maximumByComponent(x,Q,x)}let y=si.fromCornerPoints(I,x);return y.radius+=De.EPSILON2,y}function Cke(o,A){let f=Mt.fromTypedArray(o);return f===Mt.INT||f===Mt.UNSIGNED_INT||f===Mt.DOUBLE?(Ro("Cast pnts property to floats",`Point cloud property "${A}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),new Float32Array(o)):o}var mCi=new kt,CCi=new kt,ECi=new qe,yXe=0,tZ=1,Qce=2,vXe=3,ICi=4,AAe=new Re,xCi=new Re;function yCi(o,A){let f=A.context,m=o._parsedContent,C=o._pointsLength,E=m.positions,I=m.colors,x=m.normals,y=m.batchIds,v=m.styleableProperties,w=k(v),Q=o._isQuantized,M=o._isQuantizedDraco,B=o._isOctEncoded16P,D=o._isOctEncodedDraco,S=o._quantizedRange,P=o._octEncodedRange,R=o._isRGB565,T=o._isTranslucent,L=o._hasColors,F=o._hasNormals,U=o._hasBatchIds,N,H,J=[],K={};if(o._styleableShaderAttributes=K,w){let he=ICi;for(let ge in v)if(v.hasOwnProperty(ge)){let de=v[ge],fe=Cke(de.typedArray,ge);N=de.componentCount,H=Mt.fromTypedArray(fe);let G=jn.createVertexBuffer({context:f,typedArray:fe,usage:Fr.STATIC_DRAW});o._geometryByteLength+=G.sizeInBytes;let Y={index:he,vertexBuffer:G,componentsPerAttribute:N,componentDatatype:H,normalize:!1,offsetInBytes:0,strideInBytes:0};J.push(Y),K[ge]={location:he,componentCount:N},++he}}let X=jn.createVertexBuffer({context:f,typedArray:E.typedArray,usage:Fr.STATIC_DRAW});o._geometryByteLength+=X.sizeInBytes;let j;L&&(j=jn.createVertexBuffer({context:f,typedArray:I.typedArray,usage:Fr.STATIC_DRAW}),o._geometryByteLength+=j.sizeInBytes);let ee;F&&(ee=jn.createVertexBuffer({context:f,typedArray:x.typedArray,usage:Fr.STATIC_DRAW}),o._geometryByteLength+=ee.sizeInBytes);let ie;U&&(y.typedArray=Cke(y.typedArray,"batchIds"),ie=jn.createVertexBuffer({context:f,typedArray:y.typedArray,usage:Fr.STATIC_DRAW}),o._geometryByteLength+=ie.sizeInBytes);let z=[];if(Q?H=Mt.UNSIGNED_SHORT:M?H=S<=255?Mt.UNSIGNED_BYTE:Mt.UNSIGNED_SHORT:H=Mt.FLOAT,z.push({index:yXe,vertexBuffer:X,componentsPerAttribute:3,componentDatatype:H,normalize:!1,offsetInBytes:0,strideInBytes:0}),o._cull&&(Q||M?o._boundingSphere=si.fromCornerPoints(Z.ZERO,o._quantizedVolumeScale):o._boundingSphere=pCi(E.typedArray)),L)if(R)z.push({index:tZ,vertexBuffer:j,componentsPerAttribute:1,componentDatatype:Mt.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0});else{let he=T?4:3;z.push({index:tZ,vertexBuffer:j,componentsPerAttribute:he,componentDatatype:Mt.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0})}F&&(B?(N=2,H=Mt.UNSIGNED_BYTE):D?(N=2,H=P<=255?Mt.UNSIGNED_BYTE:Mt.UNSIGNED_SHORT):(N=3,H=Mt.FLOAT),z.push({index:Qce,vertexBuffer:ee,componentsPerAttribute:N,componentDatatype:H,normalize:!1,offsetInBytes:0,strideInBytes:0})),U&&z.push({index:vXe,vertexBuffer:ie,componentsPerAttribute:1,componentDatatype:Mt.fromTypedArray(y.typedArray),normalize:!1,offsetInBytes:0,strideInBytes:0}),w&&(z=z.concat(J));let oe=new VA({context:f,attributes:z}),le={depthTest:{enabled:!0}},Ae={depthTest:{enabled:!0},depthMask:!1,blending:Sl.ALPHA_BLEND};o._opaquePass===zi.CESIUM_3D_TILE&&(le.stencilTest=No.setCesium3DTileBit(),le.stencilMask=No.CESIUM_3D_TILE_MASK,Ae.stencilTest=No.setCesium3DTileBit(),Ae.stencilMask=No.CESIUM_3D_TILE_MASK),o._opaqueRenderState=Hr.fromCache(le),o._translucentRenderState=Hr.fromCache(Ae),o._drawCommand=new cn({boundingVolume:new si,cull:o._cull,modelMatrix:new Re,primitiveType:$r.POINTS,vertexArray:oe,count:C,shaderProgram:void 0,uniformMap:void 0,renderState:T?o._translucentRenderState:o._opaqueRenderState,pass:T?zi.TRANSLUCENT:o._opaquePass,owner:o,castShadows:!1,receiveShadows:!1,pickId:o._pickIdLoaded()})}function vCi(o,A){let f=A.context,m=o._isQuantized,C=o._isQuantizedDraco,E=o._isOctEncodedDraco,I={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){let x=mCi;if(x.x=o._attenuation?o.maximumAttenuation:o._pointSize,x.x*=A.pixelRatio,x.y=o.time,o._attenuation){let y=A.camera.frustum,v;A.mode===ii.SCENE2D||y instanceof $a?v=Number.POSITIVE_INFINITY:v=f.drawingBufferHeight/A.camera.frustum.sseDenominator,x.z=o.geometricError*o.geometricErrorScale,x.w=v}return x},u_highlightColor:function(){return o._highlightColor},u_constantColor:function(){return o._constantColor},u_clippingPlanes:function(){let x=o.clippingPlanes;return o.isClipped?x.texture:f.defaultTexture},u_clippingPlanesEdgeStyle:function(){let x=o.clippingPlanes;if(!k(x))return qe.TRANSPARENT;let y=qe.clone(x.edgeColor,ECi);return y.alpha=x.edgeWidth,y},u_clippingPlanesMatrix:function(){let x=o.clippingPlanes;if(!k(x))return Re.IDENTITY;let y=ae(o.clippingPlanesOriginMatrix,o._modelMatrix);Re.multiply(f.uniformState.view3D,y,AAe);let v=Re.multiply(AAe,x.modelMatrix,AAe);return Re.inverseTranspose(v,xCi)}};lie.addUniforms(o,I),(m||C||E)&&(I=yo(I,{u_quantizedVolumeScaleAndOctEncodedRange:function(){let x=CCi;if(k(o._quantizedVolumeScale)){let y=Z.clone(o._quantizedVolumeScale,x);Z.divideByScalar(y,o._quantizedRange,x)}return x.w=o._octEncodedRange,x}})),k(o._uniformMapLoaded)&&(I=o._uniformMapLoaded(I)),o._drawCommand.uniformMap=I}function uAe(o,A){let f=/czm_3dtiles_property_(\d+)/g,m=f.exec(o);for(;m!==null;){let C=parseInt(m[1]);A.indexOf(C)===-1&&A.push(C),m=f.exec(o)}}function cAe(o,A){o=o.slice(o.indexOf(` `));let f=/czm_3dtiles_builtin_property_(\w+)/g,m=f.exec(o);for(;m!==null;){let C=m[1];A.indexOf(C)===-1&&A.push(C),m=f.exec(o)}}function hAe(o,A){let f=o.numberOfAttributes;for(let m=0;m<f;++m){let C=o.getAttribute(m);if(C.index===A)return C}}var _Ci={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function BCi(o,A,f){let m,C,E,I=A.context,x=k(f),y=o._isQuantized,v=o._isQuantizedDraco,w=o._isOctEncoded16P,Q=o._isOctEncodedDraco,M=o._isRGB565,B=o._isTranslucent,D=o._hasColors,S=o._hasNormals,P=o._hasBatchIds,R=o._backFaceCulling,T=o._normalShading,L=o._drawCommand.vertexArray,F=o.clippingPlanes,U=o._attenuation,N,H,J,K=B,X=En(_Ci),j={},ee=o._styleableShaderAttributes;for(C in ee)ee.hasOwnProperty(C)&&(E=ee[C],X[C]=`czm_3dtiles_property_${E.location}`,j[E.location]=E);if(x){let me={translucent:!1},Ce="(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)";N=f.getColorShaderFunction(`getColorFromStyle${Ce}`,X,me),H=f.getShowShaderFunction(`getShowFromStyle${Ce}`,X,me),J=f.getPointSizeShaderFunction(`getPointSizeFromStyle${Ce}`,X,me),k(N)&&me.translucent&&(K=!0)}o._styleTranslucent=K;let ie=k(N),z=k(H),oe=k(J),le=o.isClipped,Ae=[],he=[];ie&&(uAe(N,Ae),cAe(N,he)),z&&(uAe(H,Ae),cAe(H,he)),oe&&(uAe(J,Ae),cAe(J,he));let ge=he.indexOf("COLOR")>=0,de=he.indexOf("NORMAL")>=0;if(de&&!S)throw new Ti("Style references the NORMAL semantic but the point cloud does not have normals");for(C in ee)if(ee.hasOwnProperty(C)){E=ee[C];let me=Ae.indexOf(E.location)>=0,Ce=hAe(L,E.location);Ce.enabled=me}let fe=D&&(!ie||ge);if(D){let me=hAe(L,tZ);me.enabled=fe}let G=S&&(T||R||de);if(S){let me=hAe(L,Qce);me.enabled=G}let Y={a_position:yXe};fe&&(Y.a_color=tZ),G&&(Y.a_normal=Qce),P&&(Y.a_batchId=vXe);let W="",O=Ae.length;for(m=0;m<O;++m){let me=Ae[m];E=j[me];let Ce=E.componentCount,ye=`czm_3dtiles_property_${me}`,Be;Ce===1?Be="float":Be=`vec${Ce}`,W+=`in ${Be} ${ye}; `,Y[ye]=E.location}vCi(o,A);let re=`in vec3 a_position; out vec4 v_color; uniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier; uniform vec4 u_constantColor; uniform vec4 u_highlightColor; `;re+=`float u_pointSize; float tiles3d_tileset_time; `,U&&(re+=`float u_geometricError; float u_depthMultiplier; `),re+=W,fe&&(B?re+=`in vec4 a_color; `:M?re+=`in float a_color; const float SHIFT_RIGHT_11 = 1.0 / 2048.0; const float SHIFT_RIGHT_5 = 1.0 / 32.0; const float SHIFT_LEFT_11 = 2048.0; const float SHIFT_LEFT_5 = 32.0; const float NORMALIZE_6 = 1.0 / 64.0; const float NORMALIZE_5 = 1.0 / 32.0; `:re+=`in vec3 a_color; `),G&&(w||Q?re+=`in vec2 a_normal; `:re+=`in vec3 a_normal; `),P&&(re+=`in float a_batchId; `),(y||v||Q)&&(re+=`uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; `),ie&&(re+=N),z&&(re+=H),oe&&(re+=J),re+=`void main() { u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x; tiles3d_tileset_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y; `,U&&(re+=` u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z; u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w; `),fe?B?re+=` vec4 color = a_color; `:M?re+=` float compressed = a_color; float r = floor(compressed * SHIFT_RIGHT_11); compressed -= r * SHIFT_LEFT_11; float g = floor(compressed * SHIFT_RIGHT_5); compressed -= g * SHIFT_LEFT_5; float b = compressed; vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5); vec4 color = vec4(rgb, 1.0); `:re+=` vec4 color = vec4(a_color, 1.0); `:re+=` vec4 color = u_constantColor; `,y||v?re+=` vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; `:re+=` vec3 position = a_position; `,re+=` vec3 position_absolute = vec3(czm_model * vec4(position, 1.0)); `,G?(w?re+=` vec3 normal = czm_octDecode(a_normal); `:Q?re+=` vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; `:re+=` vec3 normal = a_normal; `,re+=` vec3 normalEC = czm_normal * normal; `):re+=` vec3 normal = vec3(1.0); `,ie&&(re+=` color = getColorFromStyle(position, position_absolute, color, normal); `),z&&(re+=` float show = float(getShowFromStyle(position, position_absolute, color, normal)); `),oe?re+=` gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio; `:U?re+=` vec4 positionEC = czm_modelView * vec4(position, 1.0); float depth = -positionEC.z; gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize); `:re+=` gl_PointSize = u_pointSize; `,re+=` color = color * u_highlightColor; `,G&&T&&(re+=` float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC); diffuseStrength = max(diffuseStrength, 0.4); color.xyz *= diffuseStrength * czm_lightColor; `),re+=` v_color = color; gl_Position = czm_modelViewProjection * vec4(position, 1.0); `,G&&R&&(re+=` float visible = step(-normalEC.z, 0.0); gl_Position *= visible; gl_PointSize *= visible; `),z&&(re+=` gl_Position.w *= float(show); gl_PointSize *= float(show); `),re+=`} `;let se=`in vec4 v_color; `;le&&(se+=`uniform highp sampler2D u_clippingPlanes; uniform mat4 u_clippingPlanesMatrix; uniform vec4 u_clippingPlanesEdgeStyle; `,se+=` `,se+=dY(F,I),se+=` `),se+=`void main() { out_FragColor = czm_gammaCorrect(v_color); `,le&&(se+=J_e("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),se+=`} `,o.splitDirection!==fI.NONE&&(se=lie.modifyFragmentShader(se)),k(o._vertexShaderLoaded)&&(re=o._vertexShaderLoaded(re)),k(o._fragmentShaderLoaded)&&(se=o._fragmentShaderLoaded(se));let ce=o._drawCommand;k(ce.shaderProgram)&&ce.shaderProgram.destroy(),ce.shaderProgram=Wa.fromCache({context:I,vertexShaderSource:re,fragmentShaderSource:se,attributeLocations:Y});try{ce.shaderProgram._bind()}catch{throw new Ti("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function wCi(o,A){if(o._decodingState===HL.READY)return!1;if(o._decodingState===HL.NEEDS_DECODE){let f=o._parsedContent,m=f.draco,C=Sz.decodePointCloud(m,A);k(C)&&(o._decodingState=HL.DECODING,C.then(function(E){o._decodingState=HL.READY;let I=k(E.POSITION)?E.POSITION.array:void 0,x=k(E.RGB)?E.RGB.array:void 0,y=k(E.RGBA)?E.RGBA.array:void 0,v=k(E.NORMAL)?E.NORMAL.array:void 0,w=k(E.BATCH_ID)?E.BATCH_ID.array:void 0,Q=k(I)&&k(E.POSITION.data.quantization),M=k(v)&&k(E.NORMAL.data.quantization);if(Q){let P=E.POSITION.data.quantization,R=P.range;o._quantizedVolumeScale=Z.fromElements(R,R,R),o._quantizedVolumeOffset=Z.unpack(P.minValues),o._quantizedRange=(1<<P.quantizationBits)-1,o._isQuantizedDraco=!0}M&&(o._octEncodedRange=(1<<E.NORMAL.data.quantization.quantizationBits)-1,o._isOctEncodedDraco=!0);let B=f.styleableProperties,D=m.batchTableProperties;for(let P in D)if(D.hasOwnProperty(P)){let R=E[P];k(B)||(B={}),B[P]={typedArray:R.array,componentCount:R.data.componentsPerAttribute}}k(I)&&(f.positions={typedArray:I});let S=ae(y,x);k(S)&&(f.colors={typedArray:S}),k(v)&&(f.normals={typedArray:v}),k(w)&&(f.batchIds={typedArray:w}),f.styleableProperties=B}).catch(function(E){o._decodingState=HL.FAILED,o._error=E}))}return!0}var bCi=new kt,QCi=new Z;YY.prototype.update=function(o){let A=o.context;if(k(this._error)){let y=this._error;throw this._error=void 0,y}if(wCi(this,A))return;let f=!1,m=!Re.equals(this._modelMatrix,this.modelMatrix);if(this._mode!==o.mode&&(this._mode=o.mode,m=!0),k(this._drawCommand)||(yCi(this,o),m=!0,f=!0,this._ready=!0,this._parsedContent=void 0),m){Re.clone(this.modelMatrix,this._modelMatrix);let y=this._drawCommand.modelMatrix;if(Re.clone(this._modelMatrix,y),k(this._rtcCenter)&&Re.multiplyByTranslation(y,this._rtcCenter,y),k(this._quantizedVolumeOffset)&&Re.multiplyByTranslation(y,this._quantizedVolumeOffset,y),o.mode!==ii.SCENE3D){let w=o.mapProjection,Q=Re.getColumn(y,3,bCi);kt.equals(Q,kt.UNIT_W)||Vr.basisTo2D(w,y,y)}let v=this._drawCommand.boundingVolume;if(si.clone(this._boundingSphere,v),this._cull){let w=v.center;Re.multiplyByPoint(y,w,w);let Q=Re.getScale(y,QCi);v.radius*=Z.maximumComponent(Q)}}this.clippingPlanesDirty&&(this.clippingPlanesDirty=!1,f=!0),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,f=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,f=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,f=!0),(this._style!==this.style||this.styleDirty)&&(this._style=this.style,this.styleDirty=!1,f=!0);let C=this.splitDirection!==fI.NONE;this._splittingEnabled!==C&&(this._splittingEnabled=C,f=!0),f&&BCi(this,o,this._style),this._drawCommand.castShadows=_s.castShadows(this.shadows),this._drawCommand.receiveShadows=_s.receiveShadows(this.shadows);let E=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent;this._drawCommand.renderState=E?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=E?zi.TRANSLUCENT:this._opaquePass;let I=o.commandList,x=o.passes;(x.render||x.pick)&&I.push(this._drawCommand)};YY.prototype.isDestroyed=function(){return!1};YY.prototype.destroy=function(){let o=this._drawCommand;return k(o)&&(o.vertexArray=o.vertexArray&&o.vertexArray.destroy(),o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy()),ar(this)};var $_e=YY;function Yx(){ni.throwInstantiationError()}Yx.computeDefaultLevelZeroMaximumGeometricError=function(o){return o.ellipsoid.maximumRadius*2*Math.PI*.25/(65*o.getNumberOfXTilesAtLevel(0))};Object.defineProperties(Yx.prototype,{quadtree:{get:ni.throwInstantiationError,set:ni.throwInstantiationError},ready:{get:ni.throwInstantiationError},tilingScheme:{get:ni.throwInstantiationError},errorEvent:{get:ni.throwInstantiationError}});Yx.prototype.update=ni.throwInstantiationError;Yx.prototype.beginUpdate=ni.throwInstantiationError;Yx.prototype.endUpdate=ni.throwInstantiationError;Yx.prototype.getLevelMaximumGeometricError=ni.throwInstantiationError;Yx.prototype.loadTile=ni.throwInstantiationError;Yx.prototype.computeTileVisibility=ni.throwInstantiationError;Yx.prototype.showTileThisFrame=ni.throwInstantiationError;Yx.prototype.computeDistanceToTile=ni.throwInstantiationError;Yx.prototype.isDestroyed=ni.throwInstantiationError;Yx.prototype.destroy=ni.throwInstantiationError;var _Xe=Yx;function cv(o,A,f,m,C,E,I){this.children=void 0,this.parent=C,this.level=o,this.x=A,this.y=f,this.z=m,this.keyframeNodes=[],this.renderableKeyframeNodes=[],this.renderableKeyframeNodeLerp=0,this.renderableKeyframeNodePrevious=void 0,this.renderableKeyframeNodeNext=void 0,this.orientedBoundingBox=new MA,this.approximateVoxelSize=0,this.screenSpaceError=0,this.visitedFrameNumber=-1,this.computeBoundingVolumes(E,I)}var SCi=new Z;cv.prototype.computeBoundingVolumes=function(o,A){this.orientedBoundingBox=o.computeOrientedBoundingBoxForTile(this.level,this.x,this.y,this.z,this.orientedBoundingBox);let f=Nt.getScale(this.orientedBoundingBox.halfAxes,SCi),m=2*Z.maximumComponent(f);this.approximateVoxelSize=m/Z.minimumComponent(A)};cv.prototype.constructChildNodes=function(o,A){let{level:f,x:m,y:C,z:E}=this,I=m*2,x=C*2,y=E*2,v=x+1,w=I+1,Q=y+1,M=f+1,B=[[M,I,x,y],[M,w,x,y],[M,I,v,y],[M,w,v,y],[M,I,x,Q],[M,w,x,Q],[M,I,v,Q],[M,w,v,Q]];this.children=B.map(([D,S,P,R])=>new cv(D,S,P,R,this,o,A))};cv.prototype.visibility=function(o,A){let f=this.orientedBoundingBox;return o.cullingVolume.computeVisibilityWithPlaneMask(f,A)};cv.prototype.computeScreenSpaceError=function(o,A){let f=this.orientedBoundingBox,m=Math.sqrt(f.distanceSquaredTo(o));m=Math.max(m,De.EPSILON7);let C=this.approximateVoxelSize,E=A*(C/m);this.screenSpaceError=E};var Eke={keyframe:0};function p9(o,A){return Eke.keyframe=o,yf(A,Eke,du.searchComparator)}cv.prototype.computeSurroundingRenderableKeyframeNodes=function(o){let A=this,f=A.level,m=Math.floor(o),C=Math.ceil(o),E,I,x=+Number.MAX_VALUE,y=+Number.MAX_VALUE;for(;k(A);){let{renderableKeyframeNodes:Q}=A;if(Q.length>=1){let M=DCi(m,Q),B=Q[M],D=C===m||m<B.keyframe?M:Math.min(M+1,Q.length-1),S=Q[D],P=m-B.keyframe,R=Ike(f-A.level,P);R<x&&(x=R,E=B);let T=S.keyframe-C,L=Ike(f-A.level,T);if(L<y&&(y=L,I=S),P===0&&T===0)break}A=A.parent}if(this.renderableKeyframeNodePrevious=E,this.renderableKeyframeNodeNext=I,!k(E)||!k(I))return;let v=E.keyframe,w=I.keyframe;this.renderableKeyframeNodeLerp=v===w?0:De.clamp((o-v)/(w-v),0,1)};function DCi(o,A){let f=p9(o,A);return f<0?De.clamp(~f-1,0,A.length-1):f}function Ike(o,A){let f=Math.exp(o*4),m=A>=0?1:-200;return o*f+A*m}cv.prototype.isVisited=function(o){return this.visitedFrameNumber===o};cv.prototype.createKeyframeNode=function(o){let A=p9(o,this.keyframeNodes);if(A<0){A=~A;let f=new du(this,o);this.keyframeNodes.splice(A,0,f)}};cv.prototype.destroyKeyframeNode=function(o,A){let f=o.keyframe,m=p9(f,this.keyframeNodes);if(m<0)throw new ni("Keyframe node does not exist.");if(this.keyframeNodes.splice(m,1),o.megatextureIndex!==-1){for(let E=0;E<A.length;E++)A[E].remove(o.megatextureIndex);let C=p9(f,this.renderableKeyframeNodes);if(C<0)throw new ni("Renderable keyframe node does not exist.");this.renderableKeyframeNodes.splice(C,1)}o.spatialNode=void 0,o.state=du.LoadState.UNLOADED,o.metadatas={},o.megatextureIndex=-1,o.priority=-Number.MAX_VALUE,o.highPriorityFrameNumber=-1};cv.prototype.addKeyframeNodeToMegatextures=function(o,A){if(o.state!==du.LoadState.RECEIVED||o.megatextureIndex!==-1||o.metadatas.length!==A.length)throw new ni("Keyframe node cannot be added to megatexture");for(let C=0;C<A.length;C++){let E=A[C];o.megatextureIndex=E.add(o.metadatas[C]),o.metadatas[C]=void 0}o.state=du.LoadState.LOADED;let f=this.renderableKeyframeNodes,m=p9(o.keyframe,f);if(m>=0)throw new ni("Keyframe already renderable");m=~m,f.splice(m,0,o)};cv.prototype.isRenderable=function(o){let A=this.renderableKeyframeNodePrevious,f=this.renderableKeyframeNodeNext,m=this.level;return k(A)&&k(f)&&(A.spatialNode.level===m||f.spatialNode.level===m)&&this.visitedFrameNumber===o};var eBe=cv;function tBe(o){o=ae(o,1),this._radius=ae(o,1)}Object.defineProperties(tBe.prototype,{radius:{get:function(){return this._radius},set:function(o){this._radius=o}}});tBe.prototype.emit=function(o){let A=De.randomBetween(0,De.TWO_PI),f=De.randomBetween(0,De.PI),m=De.randomBetween(0,this._radius),C=m*Math.cos(A)*Math.sin(f),E=m*Math.sin(A)*Math.sin(f),I=m*Math.cos(f);o.position=Z.fromElements(C,E,I,o.position),o.velocity=Z.normalize(o.position,o.velocity)};var l6=tBe;function JY(){}JY.prototype.evaluate=function(o,A){ni.throwInstantiationError()};JY.prototype.evaluateColor=function(o,A){ni.throwInstantiationError()};JY.prototype.getShaderFunction=function(o,A,f,m){ni.throwInstantiationError()};JY.prototype.getVariables=function(){ni.throwInstantiationError()};var BXe=JY;function iZ(o){this._ready=!1,this._provider=void 0,this._errorEvent=new ir,this._readyEvent=new ir,TCi(this,o)}Object.defineProperties(iZ.prototype,{errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}}});iZ.fromWorldTerrain=function(o){return new iZ(Wte(o))};function MCi(o,A){o.numberOfListeners>0?o.raiseEvent(A):console.error(A)}async function TCi(o,A){let f;try{f=await Promise.resolve(A),o._provider=f,o._ready=!0,o._readyEvent.raiseEvent(f)}catch(m){MCi(o._errorEvent,m)}}var iBe=iZ;function A6(){}A6.prototype.boundingVolume=void 0;A6.prototype.boundingSphere=void 0;A6.prototype.distanceToCamera=function(o){ni.throwInstantiationError()};A6.prototype.intersectPlane=function(o){ni.throwInstantiationError()};A6.prototype.createDebugVolume=function(o){ni.throwInstantiationError()};var wXe=A6;function KY(o){o=ae(o,ae.EMPTY_OBJECT),this._tilingScheme=k(o.tilingScheme)?o.tilingScheme:new ph({ellipsoid:o.ellipsoid}),this._color=ae(o.color,qe.YELLOW),this._errorEvent=new ir,this._tileWidth=ae(o.tileWidth,256),this._tileHeight=ae(o.tileHeight,256),this._ready=!0,this._readyPromise=Promise.resolve(!0),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0}Object.defineProperties(KY.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return $t("TileCoordinatesImageryProvider.ready","TileCoordinatesImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),!0}},readyPromise:{get:function(){return $t("TileCoordinatesImageryProvider.readyPromise","TileCoordinatesImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}},defaultAlpha:{get:function(){return $t("TileCoordinatesImageryProvider.defaultAlpha","TileCoordinatesImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){$t("TileCoordinatesImageryProvider.defaultAlpha","TileCoordinatesImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return $t("TileCoordinatesImageryProvider.defaultNightAlpha","TileCoordinatesImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){$t("TileCoordinatesImageryProvider.defaultNightAlpha","TileCoordinatesImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return $t("TileCoordinatesImageryProvider.defaultDayAlpha","TileCoordinatesImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){$t("TileCoordinatesImageryProvider.defaultDayAlpha","TileCoordinatesImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return $t("TileCoordinatesImageryProvider.defaultBrightness","TileCoordinatesImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){$t("TileCoordinatesImageryProvider.defaultBrightness","TileCoordinatesImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return $t("TileCoordinatesImageryProvider.defaultContrast","TileCoordinatesImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){$t("TileCoordinatesImageryProvider.defaultContrast","TileCoordinatesImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return $t("TileCoordinatesImageryProvider.defaultHue","TileCoordinatesImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){$t("TileCoordinatesImageryProvider.defaultHue","TileCoordinatesImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return $t("TileCoordinatesImageryProvider.defaultSaturation","TileCoordinatesImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){$t("TileCoordinatesImageryProvider.defaultSaturation","TileCoordinatesImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return $t("TileCoordinatesImageryProvider.defaultGamma","TileCoordinatesImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){$t("TileCoordinatesImageryProvider.defaultGamma","TileCoordinatesImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return $t("TileCoordinatesImageryProvider.defaultMinificationFilter","TileCoordinatesImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){$t("TileCoordinatesImageryProvider.defaultMinificationFilter","TileCoordinatesImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return $t("TileCoordinatesImageryProvider.defaultMagnificationFilter","TileCoordinatesImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){$t("TileCoordinatesImageryProvider.defaultMagnificationFilter","TileCoordinatesImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});KY.prototype.getTileCredits=function(o,A,f){};KY.prototype.requestImage=function(o,A,f,m){let C=document.createElement("canvas");C.width=256,C.height=256;let E=C.getContext("2d"),I=this._color.toCssColorString();return E.strokeStyle=I,E.lineWidth=2,E.strokeRect(1,1,255,255),E.font="bold 25px Arial",E.textAlign="center",E.fillStyle=I,E.fillText(`L: ${f}`,124,86),E.fillText(`X: ${o}`,124,136),E.fillText(`Y: ${A}`,124,186),Promise.resolve(C)};KY.prototype.pickFeatures=function(o,A,f,m,C){};var rBe=KY;function nBe(o){ni.throwInstantiationError()}nBe.prototype.isReady=ni.throwInstantiationError;nBe.prototype.shouldDiscardImage=ni.throwInstantiationError;var bXe=nBe,PCi={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3},QXe=Object.freeze(PCi);function WN(o){o=ae(o,ae.EMPTY_OBJECT),this.show=ae(o.show,!0),this.modelMatrix=Re.clone(ae(o.modelMatrix,Re.IDENTITY)),this.shadows=ae(o.shadows,_s.ENABLED),this.maximumMemoryUsage=ae(o.maximumMemoryUsage,256),this.shading=new s4(o.shading),this.style=o.style,this.frameFailed=new ir,this.frameChanged=new ir,this._clock=o.clock,this._intervals=o.intervals,this._clippingPlanes=void 0,this.clippingPlanes=o.clippingPlanes,this._pointCloudEyeDomeLighting=new Gz,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._resolveReadyPromise=void 0;let A=this;this._readyPromise=new Promise(function(f){A._resolveReadyPromise=f}),this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=new Array(5).fill(0),this._runningAverage=0}Object.defineProperties(WN.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(o){AI.setOwner(o,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(k(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}},readyPromise:{get:function(){return $t("TimeDynamicPointCloud.readyPromise","TimeDynamicPointCloud.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use TimeDynamicPointCloud.frameFailed instead."),this._readyPromise}}});function RCi(o){return`uniform vec4 czm_pickColor; ${o}`}function LCi(o){return function(A){return yo(A,{czm_pickColor:function(){return o._pickId.color}})}}function FCi(){return"czm_pickColor"}WN.prototype.makeStyleDirty=function(){this._styleDirty=!0};WN.prototype._getAverageLoadTime=function(){return this._runningLength===0?.05:this._runningAverage};var NCi=new jt;function oBe(o){let A=o._clock,f=A.canAnimate&&A.shouldAnimate,m=A.multiplier;return f?m:0}function JF(o,A){return o._intervals.indexOf(A.start)}function kCi(o,A){let f=o._intervals,m=o._clock,C=oBe(o);if(C===0)return;let E=o._getAverageLoadTime(),I=jt.addSeconds(m.currentTime,E*C,NCi),x=f.indexOf(I),y=JF(o,A);return x===y&&(C>=0?++x:--x),f.get(x)}function UCi(o){let A=o._intervals,f=o._clock.currentTime,m=A.indexOf(f);return A.get(m)}function OCi(o,A,f){let m=oBe(o),C=JF(o,A),E=JF(o,f);return m>=0?C>=E:C<=E}function SXe(o,A){return function(f){let m=k(f.message)?f.message:f.toString();o.frameFailed.numberOfListeners>0?o.frameFailed.raiseEvent({uri:A,message:m}):(console.log(`A frame failed to load: ${A}`),console.log(`Error: ${m}`))}}function GCi(o,A,f){let m=JF(o,A),C=o._frames,E=C[m];if(!k(E)){let I=A.data.transform,x=k(I)?Re.fromArray(I):void 0,y=A.data.uri;E={pointCloud:void 0,transform:x,timestamp:HA(),sequential:!0,ready:!1,touchedFrameNumber:f.frameNumber,uri:y},C[m]=E,fr.fetchArrayBuffer({url:y}).then(function(v){E.pointCloud=new $_e({arrayBuffer:v,cull:!0,fragmentShaderLoaded:RCi,uniformMapLoaded:LCi(o),pickIdLoaded:FCi})}).catch(SXe(o,y))}return E}function HCi(o,A){o._runningSum+=A,o._runningSum-=o._runningSamples[o._runningIndex],o._runningSamples[o._runningIndex]=A,o._runningLength=Math.min(o._runningLength+1,o._runningSamples.length),o._runningIndex=(o._runningIndex+1)%o._runningSamples.length,o._runningAverage=o._runningSum/o._runningLength}function VCi(o,A,f,m){A.touchedFrameNumber<m.frameNumber-1&&(A.sequential=!1);let C=A.pointCloud;if(k(C)&&!A.ready){let E=m.commandList,I=E.length;if(DXe(o,A,f,m),C.ready&&(A.ready=!0,o._totalMemoryUsageInBytes+=C.geometryByteLength,E.length=I,A.sequential)){let x=(HA()-A.timestamp)/1e3;HCi(o,x)}}A.touchedFrameNumber=m.frameNumber}var zCi=new Re;function YCi(o,A){let f=o.shading;return k(f)&&k(f.baseResolution)?f.baseResolution:k(A.boundingSphere)?De.cbrt(A.boundingSphere.volume()/A.pointsLength):0}function JCi(o){let A=o.shading;return k(A)&&k(A.maximumAttenuation)?A.maximumAttenuation:10}var KCi=new s4;function DXe(o,A,f,m){let C=ae(o.shading,KCi),E=A.pointCloud,I=ae(A.transform,Re.IDENTITY);E.modelMatrix=Re.multiplyTransformation(o.modelMatrix,I,zCi),E.style=o.style,E.time=f.timeSinceLoad,E.shadows=o.shadows,E.clippingPlanes=o._clippingPlanes,E.isClipped=f.isClipped,E.attenuation=C.attenuation,E.backFaceCulling=C.backFaceCulling,E.normalShading=C.normalShading,E.geometricError=YCi(o,E),E.geometricErrorScale=C.geometricErrorScale,E.maximumAttenuation=JCi(o);try{E.update(m)}catch(x){SXe(o,A.uri)(x)}A.touchedFrameNumber=m.frameNumber}function Sce(o,A,f,m){let C=GCi(o,A,m);VCi(o,C,f,m)}function WCi(o){return function(A){return A.touchedFrameNumber<o.frameNumber}}function MXe(o,A){let f=o._frames,m=f.length;for(let C=0;C<m;++C){let E=f[C];if(k(E)&&(!k(A)||A(E))){let I=E.pointCloud;E.ready&&(o._totalMemoryUsageInBytes-=I.geometryByteLength),k(I)&&I.destroy(),E===o._lastRenderedFrame&&(o._lastRenderedFrame=void 0),f[C]=void 0}}}function qCi(o,A){let f=JF(o,A),m=o._frames[f];if(k(m)&&m.ready)return m}function xke(o,A,f,m,C){return k(f)?f.ready?!0:(Sce(o,A,m,C),f.ready):!1}function jCi(o,A,f,m,C){let E,I,x,y=o._intervals,v=o._frames,w=JF(o,f),Q=JF(o,A);if(w>=Q){for(E=w;E>=Q;--E)if(I=y.get(E),x=v[E],xke(o,I,x,m,C))return I}else for(E=w;E<=Q;++E)if(I=y.get(E),x=v[E],xke(o,I,x,m,C))return I;return A}function XCi(o,A,f){let m=o._frames,C=m.length;for(let E=0;E<C;++E){let I=m[E];k(I)&&k(I.pointCloud)&&(I.pointCloud.clippingPlanesDirty=A,I.pointCloud.styleDirty=f)}}var E5={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};WN.prototype.update=function(o){if(o.mode===ii.MORPHING||!this.show)return;k(this._pickId)||(this._pickId=o.context.createPickId({primitive:this})),k(this._loadTimestamp)||(this._loadTimestamp=jt.clone(o.time));let A=Math.max(jt.secondsDifference(o.time,this._loadTimestamp)*1e3,0),f=this._clippingPlanes,m=0,C=!1,E=k(f)&&f.enabled;E&&(f.update(o),m=f.clippingPlanesState),this._clippingPlanesState!==m&&(this._clippingPlanesState=m,C=!0);let I=this._styleDirty;this._styleDirty=!1,(C||I)&&XCi(this,C,I),E5.timeSinceLoad=A,E5.isClipped=E;let x=this.shading,y=this._pointCloudEyeDomeLighting,v=o.commandList,w=v.length,Q=this._previousInterval,M=this._nextInterval,B=UCi(this);if(!k(B))return;let D=!1,S=oBe(this),P=S===0;S!==this._clockMultiplier&&(D=!0,this._clockMultiplier=S),(!k(Q)||P)&&(Q=B),(!k(M)||D||OCi(this,B,M))&&(M=kCi(this,B)),Q=jCi(this,Q,B,E5,o);let R=qCi(this,Q);k(R)||(Sce(this,Q,E5,o),R=this._lastRenderedFrame),k(R)&&DXe(this,R,E5,o),k(M)&&Sce(this,M,E5,o);let T=this;k(R)&&!k(this._lastRenderedFrame)&&o.afterRender.push(function(){return T._resolveReadyPromise(T),!0}),k(R)&&R!==this._lastRenderedFrame&&T.frameChanged.numberOfListeners>0&&o.afterRender.push(function(){return T.frameChanged.raiseEvent(T),!0}),this._previousInterval=Q,this._nextInterval=M,this._lastRenderedFrame=R;let L=this._totalMemoryUsageInBytes,F=this.maximumMemoryUsage*1024*1024;L>F&&MXe(this,WCi(o));let U=v.length-w;k(x)&&x.attenuation&&x.eyeDomeLighting&&U>0&&y.update(o,w,x,this.boundingSphere)};WN.prototype.isDestroyed=function(){return!1};WN.prototype.destroy=function(){return MXe(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),ar(this)};var Aie=WN;function uie(o,A){this.show=!0,k(o)||(o=new _r),this.rectangle=_r.clone(o),k(A)||(A=fa.fromType(fa.ColorType,{color:new qe(1,1,1,1)})),this.material=A,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}uie.prototype.update=function(o){if(!this.show)return;let A=this._rs;if((!k(A)||!_r.equals(A.viewport,this.rectangle))&&(this._rs=Hr.fromCache({blending:Sl.ALPHA_BLEND,viewport:this.rectangle})),o.passes.render){let f=o.context;if(this._material!==this.material||!k(this._overlayCommand)){this._material=this.material,k(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy();let m=new hr({sources:[this._material.shaderSource,SIe]});this._overlayCommand=f.createViewportQuadCommand(m,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=zi.OVERLAY}this._material.update(f),this._overlayCommand.renderState=this._rs,this._overlayCommand.uniformMap=this._material._uniforms,o.commandList.push(this._overlayCommand)}};uie.prototype.isDestroyed=function(){return!1};uie.prototype.destroy=function(){return k(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),ar(this)};var TXe=uie;function bP(o,A,f,m,C,E,I){this._primitive=o;let x=m.length;this.megatextures=new Array(x);for(let S=0;S<x;S++){let P=m[S],R=Po.getComponentCount(P),T=C[S];this.megatextures[S]=new aie(A,f,R,T,I)}let y=this.megatextures[0].maximumTileCount;this._simultaneousRequestCount=0,this._debugPrint=!1,this._frameNumber=0;let v=o._shape;this.rootNode=new eBe(0,0,0,0,void 0,v,f),this._priorityQueue=new qte({maximumLength:y,comparator:du.priorityComparator}),this._highPriorityKeyframeNodes=new Array(y),this._keyframeNodesInMegatexture=new Array(y),this._keyframeCount=E,this._sampleCount=void 0,this._keyframeLocation=0,this._binaryTreeKeyframeWeighting=new Array(E);let w=this._binaryTreeKeyframeWeighting;w[0]=0,w[E-1]=0,Dce(w,1,E-2,0);let Q=9,M=2048,B=Math.floor(M/Q),D=Math.ceil(y/B);this.internalNodeTexture=new Rn({context:A,pixelFormat:Jr.RGBA,pixelDatatype:Gr.UNSIGNED_BYTE,flipY:!1,width:M,height:D,sampler:new Ra({minificationFilter:ya.NEAREST,magnificationFilter:mu.NEAREST})}),this.internalNodeTilesPerRow=B,this.internalNodeTexelSizeUv=new tt(1/M,1/D),this.leafNodeTexture=void 0,this.leafNodeTilesPerRow=void 0,this.leafNodeTexelSizeUv=new tt}function Dce(o,A,f,m){if(A>f)return;let C=Math.floor((A+f)/2);o[C]=m,Dce(o,A,C-1,m+1),Dce(o,C+1,f,m+1)}bP.simultaneousRequestCountMaximum=50;bP.prototype.update=function(o,A,f,m){let C=this._primitive,E=o.context,I=this.megatextures[0].maximumTileCount,x=this._keyframeCount,y=C._levelBlendFactor,v=y>0,w=x>1,Q=(v?2:1)*(w?2:1);this._sampleCount=Q;let M=Q>=2;if(M&&!k(this.leafNodeTexture)){let P=Math.floor(512),R=Math.ceil(I/P);this.leafNodeTexture=new Rn({context:E,pixelFormat:Jr.RGBA,pixelDatatype:Gr.UNSIGNED_BYTE,flipY:!1,width:1024,height:R,sampler:new Ra({minificationFilter:ya.NEAREST,magnificationFilter:mu.NEAREST})}),this.leafNodeTexelSizeUv=tt.fromElements(1/1024,1/R,this.leafNodeTexelSizeUv),this.leafNodeTilesPerRow=P}else!M&&k(this.leafNodeTexture)&&(this.leafNodeTexture=this.leafNodeTexture.destroy());if(this._keyframeLocation=De.clamp(A,0,x-1),f&&PXe(this,this.rootNode),m)return;this._frameNumber=o.frameNumber;let B=HA();eEi(this,o);let D=HA();iEi(this,Q,y);let S=HA();if(this._debugPrint){let P=D-B,R=S-D,T=S-B;tEi(this,P,R,T)}};bP.prototype.isRenderable=function(o){return o.isRenderable(this._frameNumber)};bP.prototype.isDestroyed=function(){return!1};bP.prototype.destroy=function(){let o=this.megatextures,A=o.length;for(let f=0;f<A;f++)o[f]=o[f]&&o[f].destroy();return this.internalNodeTexture=this.internalNodeTexture&&this.internalNodeTexture.destroy(),this.leafNodeTexture=this.leafNodeTexture&&this.leafNodeTexture.destroy(),ar(this)};function PXe(o,A){let f=o._primitive,m=f._shape,C=f._provider.dimensions;if(A.computeBoundingVolumes(m,C),k(A.children))for(let E=0;E<8;E++){let I=A.children[E];PXe(o,I)}}function ZCi(o,A){if(o._simultaneousRequestCount>=bP.simultaneousRequestCountMaximum)return;let f=o._primitive,m=f._provider;function C(v){o._simultaneousRequestCount--;let w=f._provider.types.length;if(!k(v))A.state=du.LoadState.UNAVAILABLE;else if(v===du.LoadState.FAILED)A.state=du.LoadState.FAILED;else if(!Array.isArray(v)||v.length!==w)A.state=du.LoadState.FAILED;else{let Q=o.megatextures;for(let M=0;M<w;M++){let{voxelCountPerTile:B,channelCount:D}=Q[M],{x:S,y:P,z:R}=B,T=S*P*R,L=v[M],F=T*D;if(L.length===F)A.metadatas[M]=L,A.state=du.LoadState.RECEIVED;else{A.state=du.LoadState.FAILED;break}}}}function E(){o._simultaneousRequestCount--,A.state=du.LoadState.FAILED}let{keyframe:I,spatialNode:x}=A,y=m.requestData({tileLevel:x.level,tileX:x.x,tileY:x.y,tileZ:x.z,keyframe:I});k(y)?(o._simultaneousRequestCount++,A.state=du.LoadState.RECEIVING,y.then(C).catch(E)):A.state=du.LoadState.FAILED}function $Ci(o){return o/(1+o)}function eEi(o,A){let f=o._frameNumber,m=o._primitive,C=m._shape,{dimensions:E}=m,I=m.screenSpaceError,x=o._priorityQueue,y=o._keyframeLocation,v=o._keyframeCount,w=o.rootNode,{camera:Q,context:M,pixelRatio:B}=A,{positionWC:D,frustum:S}=Q,P=M.drawingBufferHeight/B/S.sseDenominator;function R(j,ee,ie){let z=Math.min(Math.abs(ee-j),Math.abs(ee-ie)),oe=Math.max(j,v-ie-1,1),le=Math.pow(1-z/oe,4),Ae=Math.exp(-o._binaryTreeKeyframeWeighting[ee]);return De.lerp(Ae,le,.15+.85*le)}function T(j,ee){if(j.computeScreenSpaceError(D,P),ee=j.visibility(A,ee),ee===qg.MASK_OUTSIDE)return;j.visitedFrameNumber=f;let ie=De.clamp(Math.floor(y),0,v-2),z=ie+1;if(v===1)j.createKeyframeNode(0);else if(j.keyframeNodes.length!==v)for(let he=0;he<v;he++)j.createKeyframeNode(he);let oe=$Ci(j.screenSpaceError),le=!1,Ae=j.keyframeNodes;for(let he=0;he<Ae.length;he++){let ge=Ae[he];ge.priority=10*oe+R(ie,ge.keyframe,z),ge.state!==du.LoadState.UNAVAILABLE&&ge.state!==du.LoadState.FAILED&&ge.priority!==-Number.MAX_VALUE&&x.insert(ge),ge.state===du.LoadState.LOADED&&(le=!0)}if(j.screenSpaceError<I||!le){j.children=void 0;return}k(j.children)||j.constructChildNodes(C,E);for(let he=0;he<8;he++){let ge=j.children[he];T(ge,ee)}}x.reset(),T(w,qg.MASK_INDETERMINATE);let L=o._highPriorityKeyframeNodes,F=0,U;for(;x.length>0;)U=x.removeMaximum(),U.highPriorityFrameNumber=f,L[F]=U,F++;let N=o._keyframeNodesInMegatexture,H=o.megatextures[0],J=H.occupiedCount;N.length=J,N.sort(function(j,ee){return j.highPriorityFrameNumber===ee.highPriorityFrameNumber?ee.priority-j.priority:ee.highPriorityFrameNumber-j.highPriorityFrameNumber});let K=0,X=0;for(let j=0;j<F;j++)if(U=L[j],!(U.state===du.LoadState.LOADED||U.spatialNode===void 0)&&(U.state===du.LoadState.UNLOADED&&ZCi(o,U),U.state===du.LoadState.RECEIVED)){let ee=0;if(H.isFull()){ee=J-1-K,K++;let ie=N[ee];ie.spatialNode.destroyKeyframeNode(ie,o.megatextures)}else ee=J+X,X++;U.spatialNode.addKeyframeNodeToMegatextures(U,o.megatextures),N[ee]=U}}function tEi(o,A,f,m){let C=o._keyframeCount,E=o.rootNode,I=Object.keys(du.LoadState).length,x=new Array(I),y=new Array(I),v=0;for(let R=0;R<I;R++){let T=new Array(C);x[R]=T;for(let L=0;L<C;L++)T[L]=0;y[R]=0}function w(R){let T=R.keyframeNodes;for(let L=0;L<T.length;L++){let F=T[L],U=F.keyframe,N=F.state;x[N][U]+=1,y[N]+=1,v++}if(k(R.children))for(let L=0;L<8;L++){let F=R.children[L];w(F)}}w(E);let Q=`KEYFRAMES: ${x[du.LoadState.LOADED]}`,M=`UNLOADED: ${y[du.LoadState.UNLOADED]} | RECEIVING: ${y[du.LoadState.RECEIVING]} | RECEIVED: ${y[du.LoadState.RECEIVED]} | LOADED: ${y[du.LoadState.LOADED]} | FAILED: ${y[du.LoadState.FAILED]} | UNAVAILABLE: ${y[du.LoadState.UNAVAILABLE]} | TOTAL: ${v}`,B=Math.round(A*100)/100,D=Math.round(f*100)/100,S=Math.round(m*100)/100,P=`LOAD: ${B} | OCT: ${D} | ALL: ${S}`;console.log(`${Q} || ${M} || ${P}`)}var cq={INTERNAL:0,LEAF:1,PACKED_LEAF_FROM_PARENT:2};function iEi(o,A,f){let m=o._primitive._screenSpaceError,C=o._keyframeLocation,E=o._frameNumber,I=A>=2,x=0,y=0,v=[],w=[];function Q(B,D,S,P,R){let T=!1;if(k(B.children))for(let L=0;L<8;L++){let F=B.children[L];F.computeSurroundingRenderableKeyframeNodes(C),F.isRenderable(E)&&(T=!0)}if(T){v[R]=cq.INTERNAL<<16|D,v[S]=P,x++,P=D,R=P*9+1;for(let L=0;L<8;L++){let F=B.children[L];D=x,S=D*9+0,Q(F,D,S,P,R+L)}}else{if(I){let L=y*5,F=B.renderableKeyframeNodePrevious,U=B.level-F.spatialNode.level,N=F.spatialNode.parent,H=k(N)?N.renderableKeyframeNodePrevious:F,J=rEi(B,m,f),K=U,X=1,j=F.megatextureIndex,ee=H.megatextureIndex;w[L+0]=J,w[L+1]=K,w[L+2]=X,w[L+3]=j,w[L+4]=ee,v[R]=cq.LEAF<<16|y}else{let L=B.renderableKeyframeNodePrevious,F=B.level-L.spatialNode.level===0?cq.LEAF:cq.PACKED_LEAF_FROM_PARENT;v[R]=F<<16|L.megatextureIndex}y++}}let M=o.rootNode;M.computeSurroundingRenderableKeyframeNodes(C),M.isRenderable(E)&&Q(M,0,0,0,0),nEi(v,9,o.internalNodeTilesPerRow,o.internalNodeTexture),I&&oEi(w,2,o.leafNodeTilesPerRow,o.leafNodeTexture)}function rEi(o,A,f){if(o.parent===void 0)return 0;let m=o.screenSpaceError,C=o.parent.screenSpaceError,E=((A-m)/(C-m)+f-1)/f;return De.clamp(E,0,1)}function nEi(o,A,f,m){let C=Jr.componentsLength(m.pixelFormat),E=Math.ceil(o.length/A),I=Math.max(1,A*Math.min(E,f)),x=Math.max(1,Math.ceil(E/f)),y=new Uint8Array(I*x*C);for(let w=0;w<o.length;w++){let Q=o[w],M=w*C;for(let B=0;B<C;B++)y[M+B]=Q>>>B*8&255}let v={source:{arrayBufferView:y,width:I,height:x},xOffset:0,yOffset:0};m.copyFrom(v)}function oEi(o,A,f,m){let C=Jr.componentsLength(m.pixelFormat),E=5,I=Math.ceil(o.length/E),x=Math.max(1,A*Math.min(I,f)),y=Math.max(1,Math.ceil(I/f)),v=new Uint8Array(x*y*C);for(let Q=0;Q<I;Q++){let M=o[Q*E+0],B=o[Q*E+1],D=o[Q*E+2],S=o[Q*E+3],P=o[Q*E+4],R=De.clamp(Math.floor(65536*M),0,65535);v[Q*8+0]=R>>>0&255,v[Q*8+1]=R>>>8&255,v[Q*8+2]=B&255,v[Q*8+3]=D&255,v[Q*8+4]=S>>>0&255,v[Q*8+5]=S>>>8&255,v[Q*8+6]=P>>>0&255,v[Q*8+7]=P>>>8&255}let w={source:{arrayBufferView:v,width:x,height:y},xOffset:0,yOffset:0};m.copyFrom(w)}bP.getApproximateTextureMemoryByteLength=function(o,A,f,m){let C=0,E=f.length;for(let I=0;I<E;I++){let x=f[I],y=m[I],v=Po.getComponentCount(x);C+=aie.getApproximateTextureMemoryByteLength(o,A,v,y)}return C};var rZ=bP;function k1(o){o=ae(o,ae.EMPTY_OBJECT),this._ready=!1,this._provider=ae(o.provider,k1.DefaultProvider),this._traversal=void 0,this._shape=void 0,this._shapeVisible=!1,this._paddingBefore=new Z,this._paddingAfter=new Z,this._minBounds=new Z,this._minBoundsOld=new Z,this._maxBounds=new Z,this._maxBoundsOld=new Z,this._minClippingBounds=new Z,this._minClippingBoundsOld=new Z,this._maxClippingBounds=new Z,this._maxClippingBoundsOld=new Z,this._clippingPlanes=void 0,this._clippingPlanesState=0,this._clippingPlanesEnabled=!1,this._modelMatrix=Re.clone(ae(o.modelMatrix,Re.IDENTITY)),this._compoundModelMatrix=new Re,this._compoundModelMatrixOld=new Re,this._customShader=ae(o.customShader,k1.DefaultCustomShader),this._customShaderCompilationEvent=new ir,this._shaderDirty=!0,this._drawCommand=void 0,this._drawCommandPick=void 0,this._pickId=void 0,this._clock=o.clock,this._transformPositionWorldToUv=new Re,this._transformPositionUvToWorld=new Re,this._transformDirectionWorldToLocal=new Nt,this._transformNormalLocalToWorld=new Nt,this._stepSizeUv=1,this._jitter=!0,this._nearestSampling=!1,this._levelBlendFactor=0,this._stepSizeMultiplier=1,this._depthTest=!0,this._useLogDepth=void 0,this._screenSpaceError=4,this._debugPolylines=new AP,this._debugDraw=!1,this._disableRender=!1,this._disableUpdate=!1,this._uniforms={octreeInternalNodeTexture:void 0,octreeInternalNodeTilesPerRow:0,octreeInternalNodeTexelSizeUv:new tt,octreeLeafNodeTexture:void 0,octreeLeafNodeTilesPerRow:0,octreeLeafNodeTexelSizeUv:new tt,megatextureTextures:[],megatextureSliceDimensions:new tt,megatextureTileDimensions:new tt,megatextureVoxelSizeUv:new tt,megatextureSliceSizeUv:new tt,megatextureTileSizeUv:new tt,dimensions:new Z,paddingBefore:new Z,paddingAfter:new Z,transformPositionViewToUv:new Re,transformPositionUvToView:new Re,transformDirectionViewToLocal:new Nt,transformNormalLocalToWorld:new Nt,cameraPositionUv:new Z,ndcSpaceAxisAlignedBoundingBox:new kt,clippingPlanesTexture:void 0,clippingPlanesMatrix:new Re,stepSize:0,pickColor:new qe},this._shapeDefinesOld={},this._uniformMap={};let A=this._uniforms,f=this._uniformMap;for(let C in A)if(A.hasOwnProperty(C)){let E=`u_${C}`;f[E]=function(){return A[C]}}let m=this._provider;this._completeLoad=function(C,E){},this._readyPromise=aEi(this,m)}async function aEi(o,A){let f=new Promise(function(x){o._completeLoad=function(y,v){v.afterRender.push(function(){return y._ready=!0,x(y),!0})}});k(A._readyPromise)&&!A._ready&&await A._readyPromise;let{shape:m,minBounds:C=Bu.getMinBounds(m),maxBounds:E=Bu.getMaxBounds(m)}=A;o.minBounds=C,o.maxBounds=E,o.minClippingBounds=Bu.getMinBounds(m),o.maxClippingBounds=Bu.getMaxBounds(m),RXe(o,A);let I=Bu.getShapeConstructor(m);return o._shape=new I,o._shapeVisible=LXe(o,o._shape,A),f}Object.defineProperties(k1.prototype,{ready:{get:function(){return this._ready}},readyPromise:{get:function(){return $t("VoxelPrimitive.readyPromise","VoxelPrimitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for VoxelPrimitive.ready to return true instead."),this._readyPromise}},provider:{get:function(){return this._provider}},boundingSphere:{get:function(){return this._shape.boundingSphere}},orientedBoundingBox:{get:function(){return this.shape.orientedBoundingBox}},modelMatrix:{get:function(){return this._modelMatrix},set:function(o){this._modelMatrix=Re.clone(o,this._modelMatrix)}},shape:{get:function(){return this._provider.shape}},dimensions:{get:function(){return this._provider.dimensions}},minimumValues:{get:function(){return this._provider.minimumValues}},maximumValues:{get:function(){return this._provider.maximumValues}},show:{get:function(){return!this._disableRender},set:function(o){this._disableRender=!o}},disableUpdate:{get:function(){return this._disableUpdate},set:function(o){this._disableUpdate=o}},debugDraw:{get:function(){return this._debugDraw},set:function(o){this._debugDraw=o}},depthTest:{get:function(){return this._depthTest},set:function(o){this._depthTest!==o&&(this._depthTest=o,this._shaderDirty=!0)}},jitter:{get:function(){return this._jitter},set:function(o){this._jitter!==o&&(this._jitter=o,this._shaderDirty=!0)}},nearestSampling:{get:function(){return this._nearestSampling},set:function(o){this._nearestSampling!==o&&(this._nearestSampling=o,this._shaderDirty=!0)}},levelBlendFactor:{get:function(){return this._levelBlendFactor},set:function(o){this._levelBlendFactor=De.clamp(o,0,1)}},screenSpaceError:{get:function(){return this._screenSpaceError},set:function(o){this._screenSpaceError=o}},stepSize:{get:function(){return this._stepSizeMultiplier},set:function(o){this._stepSizeMultiplier=o}},minBounds:{get:function(){return this._minBounds},set:function(o){this._minBounds=Z.clone(o,this._minBounds)}},maxBounds:{get:function(){return this._maxBounds},set:function(o){this._maxBounds=Z.clone(o,this._maxBounds)}},minClippingBounds:{get:function(){return this._minClippingBounds},set:function(o){this._minClippingBounds=Z.clone(o,this._minClippingBounds)}},maxClippingBounds:{get:function(){return this._maxClippingBounds},set:function(o){this._maxClippingBounds=Z.clone(o,this._maxClippingBounds)}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(o){AI.setOwner(o,this,"_clippingPlanes")}},customShader:{get:function(){return this._customShader},set:function(o){if(this._customShader!==o){let A=this._uniformMap,f=this._customShader.uniformMap;for(let m in f)f.hasOwnProperty(m)&&delete A[m];k(o)?this._customShader=o:this._customShader=k1.DefaultCustomShader,this._shaderDirty=!0}}},customShaderCompilationEvent:{get:function(){return this._customShaderCompilationEvent}}});var sEi=new Z,lEi=new kt,AEi=new kt,uEi=new Z,cEi=new Z,hEi=new Nt,dEi=new Nt,gEi=new Re,fEi=new Re,pEi=new Re,mEi=Re.fromRotationTranslation(Nt.fromUniformScale(.5,new Nt),new Z(.5,.5,.5),new Re),CEi=Re.fromRotationTranslation(Nt.fromUniformScale(2,new Nt),new Z(-1,-1,-1),new Re);k1.prototype.update=function(o){let A=this._provider;if(this._customShader.update(o),k(A._ready)&&!A._ready||!k(this._shape))return;let f=o.context;if(!this._ready){EEi(this,A,f),this._completeLoad(this,o);return}let m=RXe(this,A),C=this._shape;if(m&&(this._shapeVisible=LXe(this,C,A),yEi(this,C)&&(this._shaderDirty=!0)),!this._shapeVisible)return;let E=vEi(A.timeIntervalCollection,this._clock),I=this._traversal,x=I._sampleCount;if(I.update(o,E,m,this._disableUpdate),x!==I._sampleCount&&(this._shaderDirty=!0),!I.isRenderable(I.rootNode)||(this._debugDraw&&MEi(this,o),this._disableRender))return;this._useLogDepth!==o.useLogDepth&&(this._useLogDepth=o.useLogDepth,this._shaderDirty=!0),_Ei(this,o)&&(this._shaderDirty=!0);let y=I.leafNodeTexture,v=this._uniforms;k(y)&&(v.octreeLeafNodeTexture=I.leafNodeTexture,v.octreeLeafNodeTexelSizeUv=tt.clone(I.leafNodeTexelSizeUv,v.octreeLeafNodeTexelSizeUv),v.octreeLeafNodeTilesPerRow=I.leafNodeTilesPerRow),this._shaderDirty&&(R_e(this,f),this._shaderDirty=!1);let w=f.uniformState.viewProjection,Q=C.orientedBoundingBox,M=bEi(Q,w,AEi);if(M.x===1||M.y===1||M.z===-1||M.w===-1)return;v.ndcSpaceAxisAlignedBoundingBox=kt.clone(M,v.ndcSpaceAxisAlignedBoundingBox);let B=f.uniformState.inverseView;v.transformPositionViewToUv=Re.multiplyTransformation(this._transformPositionWorldToUv,B,v.transformPositionViewToUv);let D=f.uniformState.view;v.transformPositionUvToView=Re.multiplyTransformation(D,this._transformPositionUvToWorld,v.transformPositionUvToView);let S=f.uniformState.inverseViewRotation;v.transformDirectionViewToLocal=Nt.multiply(this._transformDirectionWorldToLocal,S,v.transformDirectionViewToLocal),v.transformNormalLocalToWorld=Nt.clone(this._transformNormalLocalToWorld,v.transformNormalLocalToWorld);let P=o.camera.positionWC;v.cameraPositionUv=Re.multiplyByPoint(this._transformPositionWorldToUv,P,v.cameraPositionUv),v.stepSize=this._stepSizeUv*this._stepSizeMultiplier;let R=o.passes.pick?this._drawCommandPick:this._drawCommand;R.boundingVolume=C.boundingSphere,o.commandList.push(R)};function EEi(o,A,f){let m=o._uniforms;o._pickId=f.createPickId({primitive:o}),m.pickColor=qe.clone(o._pickId.color,m.pickColor);let{shaderDefines:C,shaderUniforms:E}=o._shape;o._shapeDefinesOld=En(C,!0);let I=o._uniformMap;for(let x in E)if(E.hasOwnProperty(x)){let y=`u_${x}`;I[y]=function(){return E[x]}}m.dimensions=Z.clone(A.dimensions,m.dimensions),o._paddingBefore=Z.clone(ae(A.paddingBefore,Z.ZERO),o._paddingBefore),m.paddingBefore=Z.clone(o._paddingBefore,m.paddingBefore),o._paddingAfter=Z.clone(ae(A.paddingAfter,Z.ZERO),o._paddingBefore),m.paddingAfter=Z.clone(o._paddingAfter,m.paddingAfter),o._traversal=IEi(o,A,f),xEi(o._traversal,m)}function RXe(o,A){let f=ae(A.shapeTransform,Re.IDENTITY),m=ae(A.globalTransform,Re.IDENTITY);return Re.multiplyTransformation(m,o._modelMatrix,o._compoundModelMatrix),Re.multiplyTransformation(o._compoundModelMatrix,f,o._compoundModelMatrix),W8(o,"_compoundModelMatrix","_compoundModelMatrixOld")+W8(o,"_minBounds","_minBoundsOld")+W8(o,"_maxBounds","_maxBoundsOld")+W8(o,"_minClippingBounds","_minClippingBoundsOld")+W8(o,"_maxClippingBounds","_maxClippingBoundsOld")>0}function W8(o,A,f){let m=o[A],C=o[f],E=!m.equals(C);return E&&m.clone(C),E?1:0}function LXe(o,A,f){if(!A.update(o._compoundModelMatrix,o.minBounds,o.maxBounds,o.minClippingBounds,o.maxClippingBounds))return!1;let m=A.shapeTransform,C=Re.inverse(m,gEi),E=Re.getRotation(m,hEi),I=Re.getScale(m,uEi),x=Z.maximumComponent(I),y=Z.divideByScalar(I,x,cEi),v=Nt.multiplyByScale(E,y,dEi),w=f.dimensions;return o._stepSizeUv=A.computeApproximateStepSize(w),o._transformPositionWorldToUv=Re.multiplyTransformation(mEi,C,o._transformPositionWorldToUv),o._transformPositionUvToWorld=Re.multiplyTransformation(m,CEi,o._transformPositionUvToWorld),o._transformDirectionWorldToLocal=Re.getMatrix3(C,o._transformDirectionWorldToLocal),o._transformNormalLocalToWorld=Nt.inverseTranspose(v,o._transformNormalLocalToWorld),!0}function IEi(o,A,f){let m=Z.clone(A.dimensions,sEi);Z.add(m,o._paddingBefore,m),Z.add(m,o._paddingAfter,m);let C=A.maximumTileCount,E=k(C)?rZ.getApproximateTextureMemoryByteLength(C,m,A.types,A.componentTypes):void 0,I=ae(A.keyframeCount,1);return new rZ(o,f,m,A.types,A.componentTypes,I,E)}function xEi(o,A){A.octreeInternalNodeTexture=o.internalNodeTexture,A.octreeInternalNodeTexelSizeUv=tt.clone(o.internalNodeTexelSizeUv,A.octreeInternalNodeTexelSizeUv),A.octreeInternalNodeTilesPerRow=o.internalNodeTilesPerRow;let f=o.megatextures,m=f[0],C=f.length;A.megatextureTextures=new Array(C);for(let E=0;E<C;E++)A.megatextureTextures[E]=f[E].texture;A.megatextureSliceDimensions=tt.clone(m.sliceCountPerRegion,A.megatextureSliceDimensions),A.megatextureTileDimensions=tt.clone(m.regionCountPerMegatexture,A.megatextureTileDimensions),A.megatextureVoxelSizeUv=tt.clone(m.voxelSizeUv,A.megatextureVoxelSizeUv),A.megatextureSliceSizeUv=tt.clone(m.sliceSizeUv,A.megatextureSliceSizeUv),A.megatextureTileSizeUv=tt.clone(m.regionSizeUv,A.megatextureTileSizeUv)}function yEi(o,A){let f=A.shaderDefines,m=Object.keys(f).some(C=>f[C]!==o._shapeDefinesOld[C]);return m&&(o._shapeDefinesOld=En(f,!0)),m}function vEi(o,A){if(!k(o)||!k(A))return 0;let f=A.currentTime,m,C=o.indexOf(f);C>=0?m=o.get(C):(C=~C,C===o.length?(C=o.length-1,m=o.get(C),f=m.stop):(m=o.get(C),f=m.start));let E=jt.secondsDifference(m.stop,m.start),I=jt.secondsDifference(f,m.start)/E;return C+I}function _Ei(o,A){let f=o.clippingPlanes;if(!k(f))return!1;f.update(A);let{clippingPlanesState:m,enabled:C}=f;if(C){let E=o._uniforms;E.clippingPlanesTexture=f.texture,E.clippingPlanesMatrix=Re.transpose(Re.multiplyTransformation(Re.inverse(f.modelMatrix,E.clippingPlanesMatrix),o._transformPositionUvToWorld,E.clippingPlanesMatrix),E.clippingPlanesMatrix)}return o._clippingPlanesState===m&&o._clippingPlanesEnabled===C?!1:(o._clippingPlanesState=m,o._clippingPlanesEnabled=C,!0)}k1.prototype.isDestroyed=function(){return!1};k1.prototype.destroy=function(){let o=this._drawCommand;k(o)&&(o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy());let A=this._drawCommandPick;return k(A)&&(A.shaderProgram=A.shaderProgram&&A.shaderProgram.destroy()),this._pickId=this._pickId&&this._pickId.destroy(),this._traversal=this._traversal&&this._traversal.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),ar(this)};var yke=new Array(new kt(-1,-1,-1,1),new kt(1,-1,-1,1),new kt(-1,1,-1,1),new kt(1,1,-1,1),new kt(-1,-1,1,1),new kt(1,-1,1,1),new kt(-1,1,1,1),new kt(1,1,1,1)),BEi=new Array(1,2,4,0,3,5,0,3,6,1,2,7,0,5,6,1,4,7,2,4,7,3,5,6),wEi=new Array(new kt,new kt,new kt,new kt,new kt,new kt,new kt,new kt);function bEi(o,A,f){let m=Re.fromRotationTranslation(o.halfAxes,o.center,fEi),C=Re.multiply(A,m,pEi),E=+Number.MAX_VALUE,I=-Number.MAX_VALUE,x=+Number.MAX_VALUE,y=-Number.MAX_VALUE,v,w=wEi,Q=yke.length;for(v=0;v<Q;v++)Re.multiplyByVector(C,yke[v],w[v]);for(v=0;v<Q;v++){let M=w[v];if(M.z>=-M.w){let B=M.x/M.w,D=M.y/M.w;E=Math.min(E,B),I=Math.max(I,B),x=Math.min(x,D),y=Math.max(y,D)}else for(let B=0;B<3;B++){let D=BEi[v*3+B],S=w[D];if(S.z>=-S.w){let P=M.z+M.w,R=S.z+S.w,T=P/(P-R),L=kt.lerp(M,S,T,lEi),F=L.x/L.w,U=L.y/L.w;E=Math.min(E,F),I=Math.max(I,F),x=Math.min(x,U),y=Math.max(y,U)}}}return E=De.clamp(E,-1,1),x=De.clamp(x,-1,1),I=De.clamp(I,-1,1),y=De.clamp(y,-1,1),f=kt.fromElements(E,x,I,y,f),f}var aBe=3e7,QEi=new Z(aBe,0,0),SEi=new Z(0,aBe,0),DEi=new Z(0,0,aBe);function MEi(o,A){let f=o._traversal,m=o._debugPolylines;m.removeAll();function C(y,v,w,Q){m.add({positions:[y,v],width:Q,material:fa.fromType("Color",{color:w})})}function E(y,v,w){let Q=y.computeCorners();C(Q[0],Q[1],v,w),C(Q[2],Q[3],v,w),C(Q[4],Q[5],v,w),C(Q[6],Q[7],v,w),C(Q[0],Q[2],v,w),C(Q[4],Q[6],v,w),C(Q[1],Q[3],v,w),C(Q[5],Q[7],v,w),C(Q[0],Q[4],v,w),C(Q[2],Q[6],v,w),C(Q[1],Q[5],v,w),C(Q[3],Q[7],v,w)}function I(y){if(!f.isRenderable(y))return;let v=y.level,w=Math.max(1,5/Math.pow(2,v)),Q=[qe.RED,qe.LIME,qe.BLUE][v%3];if(E(y.orientedBoundingBox,Q,w),k(y.children))for(let M=0;M<8;M++)I(y.children[M])}E(o._shape.orientedBoundingBox,qe.WHITE,5),I(f.rootNode);let x=10;C(Z.ZERO,QEi,qe.RED,x),C(Z.ZERO,SEi,qe.LIME,x),C(Z.ZERO,DEi,qe.BLUE,x),m.update(A)}k1.DefaultCustomShader=new pB({fragmentShaderText:`void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { material.diffuse = vec3(1.0); material.alpha = 1.0; }`});function FXe(){this.ready=!0,this.shape=Bu.BOX,this.dimensions=new Z(1,1,1),this.names=["data"],this.types=[Po.SCALAR],this.componentTypes=[na.FLOAT32],this.maximumTileCount=1}FXe.prototype.requestData=function(o){if(!((k(o)?ae(o.tileLevel,0):0)>=1))return Promise.resolve([new Float32Array(1)])};k1.DefaultProvider=new FXe;var cie=k1;function sBe(){ni.throwInstantiationError()}Object.defineProperties(sBe.prototype,{ready:{get:ni.throwInstantiationError},readyPromise:{get:ni.throwInstantiationError},globalTransform:{get:ni.throwInstantiationError},shapeTransform:{get:ni.throwInstantiationError},shape:{get:ni.throwInstantiationError},minBounds:{get:ni.throwInstantiationError},maxBounds:{get:ni.throwInstantiationError},dimensions:{get:ni.throwInstantiationError},paddingBefore:{get:ni.throwInstantiationError},paddingAfter:{get:ni.throwInstantiationError},names:{get:ni.throwInstantiationError},types:{get:ni.throwInstantiationError},componentTypes:{get:ni.throwInstantiationError},minimumValues:{get:ni.throwInstantiationError},maximumValues:{get:ni.throwInstantiationError},maximumTileCount:{get:ni.throwInstantiationError},keyframeCount:{get:ni.throwInstantiationError},timeIntervalCollection:{get:ni.throwInstantiationError}});sBe.prototype.requestData=ni.throwInstantiationError;var NXe=sBe;function qN(){ni.throwInstantiationError()}Object.defineProperties(qN.prototype,{orientedBoundingBox:{get:ni.throwInstantiationError},boundingSphere:{get:ni.throwInstantiationError},boundTransform:{get:ni.throwInstantiationError},shapeTransform:{get:ni.throwInstantiationError},shaderUniforms:{get:ni.throwInstantiationError},shaderDefines:{get:ni.throwInstantiationError},shaderMaximumIntersectionsLength:{get:ni.throwInstantiationError}});qN.prototype.update=ni.throwInstantiationError;qN.prototype.computeOrientedBoundingBoxForTile=ni.throwInstantiationError;qN.prototype.computeApproximateStepSize=ni.throwInstantiationError;qN.DefaultMinBounds=ni.throwInstantiationError;qN.DefaultMaxBounds=ni.throwInstantiationError;var kXe=qN,UXe=`uniform sampler2D u_depthTexture; in vec2 v_textureCoordinates; void main() { float z_window = czm_unpackDepth(texture(u_depthTexture, v_textureCoordinates)); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; float z_ndc = (2.0 * z_window - n_range - f_range) / (f_range - n_range); float scale = pow(z_ndc * 0.5 + 0.5, 8.0); out_FragColor = vec4(mix(vec3(0.0), vec3(1.0), scale), 1.0); } `,OXe=` uniform sampler2D colorTexture;//\u8F93\u5165\u7684\u573A\u666F\u6E32\u67D3\u7167\u7247 in vec2 v_textureCoordinates; float hash(float x) { return fract(sin(x*133.3)*13.13); } void main(void) { float time = czm_frameNumber / 60.0; vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y); vec3 c=vec3(.6,.7,.8); float a=-.4; float si=sin(a),co=cos(a); uv*=mat2(co,-si,si,co); uv*=length(uv+vec2(0,4.9))*.3+1.; float v=1.-sin(hash(floor(uv.x*100.))*2.); float b=clamp(abs(sin(20.*time*v+uv.y*(5./(2.+v))))-.95,0.,1.)*20.; c*=v*b; //\u5C4F\u5E55\u4E0A\u96E8\u7684\u989C\u8272 out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(c,1), 0.5); //\u5C06\u96E8\u548C\u4E09\u7EF4\u573A\u666F\u878D\u5408 } `,GXe=`uniform sampler2D colorTexture; //\u8F93\u5165\u7684\u573A\u666F\u6E32\u67D3\u7167\u7247 in vec2 v_textureCoordinates; float snow(vec2 uv,float scale) { float time = czm_frameNumber / 60.0; float w=smoothstep(1.,0.,-uv.y*(scale/10.));if(w<.1)return 0.; uv+=time/scale;uv.y+=time*2./scale;uv.x+=sin(uv.y+time*.5)/scale; uv*=scale;vec2 s=floor(uv),f=fract(uv),p;float k=3.,d; p=.5+.35*sin(11.*fract(sin((s+p+scale)*mat2(7,3,6,5))*5.))-f;d=length(p);k=min(d,k); k=smoothstep(0.,k,sin(f.x+f.y)*0.01); return k*w; } void main(void) { vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y); vec3 finalColor=vec3(0); //float c=smoothstep(1.,0.3,clamp(uv.y*.3+.8,0.,.75)); float c = 0.0; c+=snow(uv,30.)*.0; c+=snow(uv,20.)*.0; c+=snow(uv,15.)*.0; c+=snow(uv,10.); c+=snow(uv,8.); c+=snow(uv,6.); c+=snow(uv,5.); finalColor=(vec3(c)); //\u5C4F\u5E55\u4E0A\u96EA\u7684\u989C\u8272 out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(finalColor,1), 0.5); //\u5C06\u96EA\u548C\u4E09\u7EF4\u573A\u666F\u878D\u5408 } `,HXe=`in vec2 v_textureCoordinates; uniform sampler2D colorTexture; const float _BlurRadius = 5.0;//0.3; const int _Iteration = 30; const float _SunScreenRadius = 0.3;//0.1; const float exposure = 1.0; const float gamma = 2.2; vec4 getColor(vec2 p, vec2 sunCoord) { //vec2 blurVector = (sunCoord - p) * _BlurRadius; vec2 blurVector = (p - sunCoord) * _BlurRadius; vec4 acumulateColor = vec4(0, 0, 0, 0); vec2 texcoord = p; for (int j = 0; j < _Iteration; j ++) { acumulateColor += texture(colorTexture, texcoord); texcoord += blurVector; } vec4 color = acumulateColor / float(_Iteration); return color; } void main() { // Sun position vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); vec4 sunPositionEC = czm_view * sunPos; vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); //sunPos = sunPositionWC; vec2 sunTexcoord = sunPos.xy * 0.5 + vec2(0.5); //out_FragColor = length(sunTexcoord - v_textureCoordinates) > _SunScreenRadius // ? texture(colorTexture, v_textureCoordinates): getColor(v_textureCoordinates, sunTexcoord); out_FragColor = getColor(v_textureCoordinates, sunTexcoord); } `,VXe=`in vec2 v_textureCoordinates; uniform sampler2D colorTexture; const float threshold = 0.5;//0.99;//0.8;//0.5;//1.0; void main() { vec4 fragColor = texture(colorTexture, v_textureCoordinates); // Check whether fragment output is higher than threshold, if so output as brightness color float brightness = dot(fragColor.rgb, vec3(0.2126, 0.7152, 0.0722)); out_FragColor = brightness > threshold ? vec4(fragColor.rgb, 1.0) : vec4(0.0, 0.0, 0.0, 1.0); } `,TEi={encNONE:0,enrS3TCDXTN:14,enrPVRTPF_PVRTC2:19,enrPVRTPF_PVRTC:20,enrPVRTPF_PVRTC_4bpp:21,enrPVRTPF_ETC1:22},zXe=Object.freeze(TEi),PEi={LUMINANCE_8:1,LUMINANCE_16:2,ALPHA:3,ALPHA_4_LUMINANCE_4:4,LUMINANCE_ALPHA:5,RGB_565:6,BGR565:7,RGB:10,BGR:11,ARGB:12,ABGR:13,BGRA:14,WEBP:25,RGBA:28,DXT1:17,DXT2:18,DXT3:19,DXT4:20,DXT5:21},YXe=Object.freeze(PEi);function m9(o){this._angle=void 0,this._angleSubscription=void 0,this._radius=void 0,this._radiusSubscription=void 0,this._stack=void 0,this._stackSubscription=void 0,this._slice=void 0,this._sliceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._show=void 0,this._showSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._definitionChanged=new ir,this._gaze=void 0,this._gazeSubscription=void 0,this.merge(ae(o,ae.EMPTY_OBJECT))}Object.defineProperties(m9.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ai("show"),material:lp("material"),fill:ai("fill"),shadows:ai("shadows"),distanceDisplayCondition:ai("distanceDisplayCondition")});m9.prototype.clone=function(o){return k(o)?(o.angle=this.angle,o.radius=this.radius,o.stack=this.stack,o.slice=this.slice,o.show=this.show,o.material=this.material,o.color=this.color,o.fill=this.fill,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o.gaze=this.gaze,o):new m9(this)};m9.prototype.merge=function(o){this.angle=ae(this.angle,o.angle),this.radius=ae(this.radius,o.radius),this.stack=ae(this.stack,o.stack),this.slice=ae(this.slice,o.slice),this.show=ae(this.show,o.show),this.color=ae(this.color,o.color),this.material=ae(this.material,o.material),this.fill=ae(this.fill,o.fill),this.outline=ae(this.outline,o.outline),this.outlineColor=ae(this.outlineColor,o.outlineColor),this.outlineWidth=ae(this.outlineWidth,o.outlineWidth),this.shadows=ae(this.shadows,o.shadows),this.distanceDisplayCondition=ae(this.distanceDisplayCondition,o.distanceDisplayCondition),this.gaze=ae(this.gaze,o.gaze)};var nZ=m9;function REi(o){return new d1(o)}function LEi(o){return ai(o,void 0,REi)}function hie(o){o=o||{},this._position=void 0,this._orientation=void 0,this._show=void 0;let A=o.conicArcSensor;A instanceof nZ||(A=new nZ(A)),this._conicArcSensor=A,this._distanceDisplayCondition=new wo,this._geometry=void 0,this._outlineGeometry=void 0,this._definitionChanged=new ir,this.merge(o)}Object.defineProperties(hie.prototype,{position:LEi("position"),orientation:ai("orientation"),show:ai("show")});hie.prototype.merge=function(o){this.position=o.position,this.orientation=o.orientation,this.show=o.show};hie.prototype.gazeAt=function(o){o instanceof Fu&&(this._conicArcSensor.gaze=o)};var oZ=hie,vke=Math.cos,_ke=Math.sin;function aZ(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.angle,f=o.radius,m=Math.round(ae(o.stackPartitions,12)),C=Math.round(ae(o.slicePartitions,64)),E=ae(o.vertexFormat,wr.DEFAULT);this._angle=A,this._radius=f,this._stackPartitions=m,this._slicePartitions=C,this._vertexFormat=E}aZ.fromDimensions=function(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.angle,f=o.radius,m=o.height,C=o.stackPartitions,E=o.slicePartitions;return new aZ({angle:A,radius:f,stackPartitions:C,slicePartitions:E,vertexFormat:o.vertexFormat})};aZ.createGeometry=function(o){console.time("createGeometry");let A=o._angle,f=o._radius,m=o._stackPartitions+1,C=o._slicePartitions+1,E=o._vertexFormat,I=new vA,x,y=3*(C-1)+6*(C-1)*(m-2)+(C-1)*1*3,v=m*C,w=fn.createTypedArray(v,y),Q=new Float64Array(v*3+(C-1)*3*3);if(E.position){let P=0,R=new Array(C),T=new Array(C);for(let L=0;L<C;L++){let F=De.TWO_PI*L/(C-1);R[L]=vke(F),T[L]=_ke(F),Q[P++]=0,Q[P++]=0,Q[P++]=-f}for(i=1;i<m;i++){let L=A*i/(m-1),F=_ke(L),U=f*F,N=f*F,H=f*vke(L);for(let J=0;J<C;J++)Q[P++]=R[J]*U,Q[P++]=T[J]*N,Q[P++]=-H}x=P;for(let L=0;L<C-1;L++)Q[P++]=0,Q[P++]=0,Q[P++]=0,Q[P++]=Q[x-(C-L-1)*3],Q[P++]=Q[x-(C-L-1)*3+1],Q[P++]=Q[x-(C-L-1)*3+2],Q[P++]=Q[x-(C-L)*3],Q[P++]=Q[x-(C-L)*3+1],Q[P++]=Q[x-(C-L)*3+2];I.position=new Br({componentDatatype:Mt.DOUBLE,componentsPerAttribute:3,values:Q})}let M=0;for(let P=0;P<C-1;P++)w[M++]=C+P,w[M++]=C+P+1,w[M++]=P+1;let B,D;for(let P=1;P<m-1;P++){B=P*C,D=(P+1)*C;for(let R=0;R<C-1;R++)w[M++]=D+R,w[M++]=D+R+1,w[M++]=B+R+1,w[M++]=D+R,w[M++]=B+R+1,w[M++]=B+R}for(let P=0,R=(C-1)*3;P<R;P++)w[M++]=P+x/3;let S=new Bo({attributes:I,indices:w,primitiveType:$r.TRIANGLES,boundingSphere:new si(Z.ZERO,f)});return S=gA.computeNormal(S),console.timeEnd("createGeometry"),S};var sZ=aZ,hq=Math.cos,dq=Math.sin;function JXe(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.angle,f=o.radius,m=Math.round(ae(o.stackPartitions,10)),C=Math.round(ae(o.slicePartitions,8)),E=Math.round(ae(o.subdivisions,128));this._angle=A,this._radius=f,this._stackPartitions=m,this._slicePartitions=C,this._subdivisions=E}JXe.createGeometry=function(o){let A=o._angle,f=o._radius;if(f<=0||A<=0)return;let m=o._stackPartitions,C=o._slicePartitions,E=o._subdivisions,I=E*(m+C-1),x=I-C+2,y=new Float64Array(x*3),v=fn.createTypedArray(x,I*2),w,Q,M,B,D,S,P=0,R=new Array(E),T=new Array(E);for(w=0;w<E;w++)M=De.TWO_PI*w/E,R[w]=hq(M),T[w]=dq(M);for(w=1;w<m;w++)for(B=A*w/(m-1),D=hq(B),S=dq(B),Q=0;Q<E;Q++)y[P++]=f*R[Q]*S,y[P++]=f*T[Q]*S,y[P++]=-f*D;for(R.length=C,T.length=C,w=0;w<C;w++)M=De.TWO_PI*w/C,R[w]=hq(M),T[w]=dq(M);for(y[P++]=0,y[P++]=0,y[P++]=-f,w=1;w<E;w++)for(B=A*w/E,D=hq(B),S=dq(B),Q=0;Q<C;Q++)y[P++]=f*R[Q]*S,y[P++]=f*T[Q]*S,y[P++]=-f*D;for(P=0,w=0;w<m-1;++w){let U=w*E;for(Q=0;Q<E-1;++Q)v[P++]=U+Q,v[P++]=U+Q+1;v[P++]=U+E-1,v[P++]=U}let L=E*(m-1);for(Q=1;Q<C+1;++Q)v[P++]=L,v[P++]=L+Q;for(w=0;w<E-2;++w){let U=w*C+1+L,N=(w+1)*C+1+L;for(Q=0;Q<C-1;++Q)v[P++]=N+Q,v[P++]=U+Q;v[P++]=N+C-1,v[P++]=U+C-1}let F=new vA({position:new Br({componentDatatype:Mt.DOUBLE,componentsPerAttribute:3,values:y})});return new Bo({attributes:F,indices:v,primitiveType:$r.LINES,boundingSphere:new si(Z.ZERO,f)})};var lZ=JXe;function WY(o){let A=this;if(!k(o))throw new ni("viewer is required.");this._earthCtrl=o;let f=o.coreMap.scene;this._scene=f;let m=o.coreMap.clock;this._clock=m,this._primitives=f.primitives,this._primitive=void 0,this._outlinePrimitive=void 0,this._conicArcSensorCollection=[],m.onTick.addEventListener(function(){A.update()})}var dAe=new Nt,gAe=new Re,FEi=new Z,NEi=new Z,Bke=new Z,wke=new yr;WY.prototype.add=function(o){return o instanceof oZ||(o=new oZ(o)),this._conicArcSensorCollection.push(o),o};WY.prototype.remove=function(o){let A=this._conicArcSensorCollection.indexOf(o);A!==-1&&this._conicArcSensorCollection.splice(A,1)};WY.prototype.removeAll=function(){this._conicArcSensorCollection.length=0};WY.prototype.update=function(){let o=this._clock.currentTime,A=this._conicArcSensorCollection,f=this._primitives,m=this._primitive,C=this._outlinePrimitive,E=[],I=[];k(m)&&f.removeAndDestroy(m),k(C)&&f.removeAndDestroy(C);for(let x=0,y=A.length;x<y;x++){let v=A[x],w=v._conicArcSensor;if(!Ct.getValueOrDefault(w.show,o,!0))continue;let Q=w.angle,M=w.radius,B=w.stack,D=w.slice;if(!k(Q)||!Ct.getValueOrDefault(v.show,o,!0))continue;let S=Ct.getValueOrUndefined(v.position,o,FEi);if(!k(S))continue;let P,R=w.gaze;if(k(R)){let J=Ct.getValueOrUndefined(R.position,o,NEi);if(!k(S)||!k(J))continue;let K=Z.subtract(S,J,Bke),X=Z.angleBetween(Z.UNIT_Z,K),j=Z.cross(Z.UNIT_Z,K,Bke),ee=yr.fromAxisAngle(j,X,wke),ie=Z.distance(S,J);M=1,P=Re.fromRotationTranslation(Nt.multiplyByScalar(Nt.fromQuaternion(ee,dAe),ie,dAe),S,gAe)}else{let J=Ct.getValueOrUndefined(v.orientation,o,wke);k(J)?P=Re.fromRotationTranslation(Nt.fromQuaternion(J,dAe),S,gAe):P=Vr.eastNorthUpToFixedFrame(S,void 0,gAe)}if(!k(P))continue;let T=v._geometry;if(!k(T)){let J;J=new sZ({vertexFormat:wr.POSITION_AND_NORMAL,angle:Q,radius:M,stackPartitions:B,slicePartitions:D}),v._geometry=sZ.createGeometry(J),T=v._geometry}let L=w.color,F=w.outline,U=w.outlineWidth;k(U)||(U=1);let N=w.outlineColor;k(N)||(N=qe.WHITE);let H=new Un({geometry:T,modelMatrix:P,attributes:{color:vo.fromColor(L)}});if(E.push(H),F){let J=v._outlineGeometry;if(!k(J)){let X;X=new lZ({vertexFormat:wr.POSITION_ONLY,angle:Q,radius:M}),v._outlineGeometry=lZ.createGeometry(X),J=v._outlineGeometry}let K=new Un({geometry:J,modelMatrix:P,attributes:{color:vo.fromColor(N)}});I.push(K)}}E.length>0&&(this._primitive=this._primitives.add(new pa({asynchronous:!1,geometryInstances:E,appearance:new ma({flat:!1,translucent:!0,closed:!0})}))),I.length>0&&(this._outlinePrimitive=this._primitives.add(new pa({asynchronous:!1,geometryInstances:I,appearance:new ma({flat:!0,translucent:!0,renderState:{lineWidth:this._scene.clampLineWidth(outlineWidth)}})})))};var KXe=WY;function C9(o){this._show=void 0,this._radius=void 0,this._xHalfAngle=void 0,this._yHalfAngle=void 0,this._lineColor=void 0,this._showSectorLines=void 0,this._showSectorSegmentLines=void 0,this._showLateralSurfaces=void 0,this._material=void 0,this._showDomeSurfaces=void 0,this._showDomeLines=void 0,this._showIntersection=void 0,this._intersectionColor=void 0,this._intersectionWidth=void 0,this._showThroughEllipsoid=void 0,this._gaze=void 0,this._showScanPlane=void 0,this._scanPlaneColor=void 0,this._scanPlaneMode=void 0,this._scanPlaneRate=void 0,this._definitionChanged=new ir,this.merge(ae(o,ae.EMPTY_OBJECT))}Object.defineProperties(C9.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ai("show"),radius:ai("radius"),xHalfAngle:ai("xHalfAngle"),yHalfAngle:ai("yHalfAngle"),lineColor:ai("lineColor"),showSectorLines:ai("showSectorLines"),showSectorSegmentLines:ai("showSectorSegmentLines"),showLateralSurfaces:ai("showLateralSurfaces"),material:lp("material"),showDomeSurfaces:ai("showDomeSurfaces"),showDomeLines:ai("showDomeLines "),showIntersection:ai("showIntersection"),intersectionColor:ai("intersectionColor"),intersectionWidth:ai("intersectionWidth"),showThroughEllipsoid:ai("showThroughEllipsoid"),gaze:ai("gaze"),showScanPlane:ai("showScanPlane"),scanPlaneColor:ai("scanPlaneColor"),scanPlaneMode:ai("scanPlaneMode"),scanPlaneRate:ai("scanPlaneRate")});C9.prototype.clone=function(o){return k(o)||(o=new C9),o.show=this.show,o.radius=this.radius,o.xHalfAngle=this.xHalfAngle,o.yHalfAngle=this.yHalfAngle,o.lineColor=this.lineColor,o.showSectorLines=this.showSectorLines,o.showSectorSegmentLines=this.showSectorSegmentLines,o.showLateralSurfaces=this.showLateralSurfaces,o.material=this.material,o.showDomeSurfaces=this.showDomeSurfaces,o.showDomeLines=this.showDomeLines,o.showIntersection=this.showIntersection,o.intersectionColor=this.intersectionColor,o.intersectionWidth=this.intersectionWidth,o.showThroughEllipsoid=this.showThroughEllipsoid,o.gaze=this.gaze,o.showScanPlane=this.showScanPlane,o.scanPlaneColor=this.scanPlaneColor,o.scanPlaneMode=this.scanPlaneMode,o.scanPlaneRate=this.scanPlaneRate,o};C9.prototype.merge=function(o){if(!k(o))throw new ni("source is required.");this.show=ae(this.show,o.show),this.radius=ae(this.radius,o.radius),this.xHalfAngle=ae(this.xHalfAngle,o.xHalfAngle),this.yHalfAngle=ae(this.yHalfAngle,o.yHalfAngle),this.lineColor=ae(this.lineColor,o.lineColor),this.showSectorLines=ae(this.showSectorLines,o.showSectorLines),this.showSectorSegmentLines=ae(this.showSectorSegmentLines,o.showSectorSegmentLines),this.showLateralSurfaces=ae(this.showLateralSurfaces,o.showLateralSurfaces),this.material=ae(this.material,o.material),this.showDomeSurfaces=ae(this.showDomeSurfaces,o.showDomeSurfaces),this.showDomeLines=ae(this.showDomeLines,o.showDomeLines),this.showIntersection=ae(this.showIntersection,o.showIntersection),this.intersectionColor=ae(this.intersectionColor,o.intersectionColor),this.intersectionWidth=ae(this.intersectionWidth,o.intersectionWidth),this.showThroughEllipsoid=ae(this.showThroughEllipsoid,o.showThroughEllipsoid),this.gaze=ae(this.gaze,o.gaze),this.showScanPlane=ae(this.showScanPlane,o.showScanPlane),this.scanPlaneColor=ae(this.scanPlaneColor,o.scanPlaneColor),this.scanPlaneMode=ae(this.scanPlaneMode,o.scanPlaneMode),this.scanPlaneRate=ae(this.scanPlaneRate,o.scanPlaneRate)};var WXe=C9;function kEi(o,A,f){let m;try{return m=o(A,f),m}catch(C){return Promise.reject(C)}}function UEi(o){let A;return function(f){let m=f.data,C=[],E={id:m.id,result:void 0,error:void 0};return Promise.resolve(kEi(o,m.parameters,C)).then(function(I){E.result=I}).catch(function(I){I instanceof Error?E.error={name:I.name,message:I.message,stack:I.stack}:E.error=I}).finally(function(){k(A)||(A=ae(self.webkitPostMessage,self.postMessage)),m.canTransferArrayBuffer||(C.length=0);try{A(E,C)}catch(I){E.result=void 0,E.error=`postMessage failed with error: ${dO(I)} with responseMessage: ${JSON.stringify(E)}`,A(E)}})}}var qXe=UEi;globalThis.CESIUM_VERSION="1.106";/** * @license * Knockout ES5 plugin - https://github.com/SteveSanderson/knockout-es5 * Copyright (c) Steve Sanderson * MIT license */var Mce="__knockoutObservables",Tce="__knockoutSubscribable";function jXe(o,A){if(!o)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var f=this,m=XXe(o,!0);return A=A||Object.getOwnPropertyNames(o),A.forEach(function(C){if(!(C===Mce||C===Tce)&&!(C in m)){var E=o[C],I=E instanceof Array,x=f.isObservable(E)?E:I?f.observableArray(E):f.observable(E);Object.defineProperty(o,C,{configurable:!0,enumerable:!0,get:x,set:f.isWriteableObservable(x)?x:void 0}),m[C]=x,I&&GEi(f,x)}}),o}function XXe(o,A){var f=o[Mce];return!f&&A&&(f={},Object.defineProperty(o,Mce,{value:f})),f}function OEi(o,A,f){var m=this,C={owner:o,deferEvaluation:!0};if(typeof f=="function")C.read=f;else{if("value"in f)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if(typeof f.get!="function")throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');C.read=f.get,C.write=f.set}return o[A]=m.computed(C),jXe.call(m,o,[A]),o}function GEi(o,A){var f=null;o.computed(function(){f&&(f.dispose(),f=null);var m=A();m instanceof Array&&(f=HEi(o,A,m))})}function HEi(o,A,f){var m=VEi(o,f);return m.subscribe(A)}function VEi(o,A){var f=A[Tce];if(!f){f=new o.subscribable,Object.defineProperty(A,Tce,{value:f});var m={};zEi(A,f,m),YEi(o,A,f,m)}return f}function zEi(o,A,f){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(m){var C=o[m];o[m]=function(){var E=C.apply(this,arguments);return f.pause!==!0&&A.notifySubscribers(this),E}})}function YEi(o,A,f,m){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(C){Object.defineProperty(A,C,{enumerable:!1,value:function(){var E;m.pause=!0;try{E=o.observableArray.fn[C].apply(o.observableArray(A),arguments)}finally{m.pause=!1}return f.notifySubscribers(A),E}})})}function ZXe(o,A){if(!o)return null;var f=XXe(o,!1);return f&&f[A]||null}function JEi(o,A){var f=ZXe(o,A);f&&f.valueHasMutated()}function KEi(o){o.track=jXe,o.getObservable=ZXe,o.valueHasMutated=JEi,o.defineProperty=OEi}var lBe={attachToKo:KEi},bke="http://www.w3.org/2000/svg",Qke="cesium-svgPath-svg",WEi={register:function(o){o.bindingHandlers.cesiumSvgPath={init:function(A,f){let m=document.createElementNS(bke,"svg:svg");m.setAttribute("class",Qke);let C=document.createElementNS(bke,"path");return m.appendChild(C),o.virtualElements.setDomNodeChildren(A,[m]),o.computed({read:function(){let E=o.unwrap(f());C.setAttribute("d",o.unwrap(E.path));let I=o.unwrap(E.width),x=o.unwrap(E.height);m.setAttribute("width",I),m.setAttribute("height",x),m.setAttribute("viewBox",`0 0 ${I} ${x}`),E.css&&m.setAttribute("class",`${Qke} ${o.unwrap(E.css)}`)},disposeWhenNodeIsRemoved:A}),{controlsDescendantBindings:!0}}},o.virtualElements.allowedBindings.cesiumSvgPath=!0}},ABe=WEi;lBe.attachToKo(_D);ABe.register(_D);var Vi=_D;function qY(o){k(o)||(o=new WO),this._clock=o,this._eventHelper=new Lm,this._eventHelper.add(o.onTick,this.synchronize,this),this.systemTime=Vi.observable(jt.now()),this.systemTime.equalityComparer=jt.equals,this.startTime=Vi.observable(o.startTime),this.startTime.equalityComparer=jt.equals,this.startTime.subscribe(function(A){o.startTime=A,this.synchronize()},this),this.stopTime=Vi.observable(o.stopTime),this.stopTime.equalityComparer=jt.equals,this.stopTime.subscribe(function(A){o.stopTime=A,this.synchronize()},this),this.currentTime=Vi.observable(o.currentTime),this.currentTime.equalityComparer=jt.equals,this.currentTime.subscribe(function(A){o.currentTime=A,this.synchronize()},this),this.multiplier=Vi.observable(o.multiplier),this.multiplier.subscribe(function(A){o.multiplier=A,this.synchronize()},this),this.clockStep=Vi.observable(o.clockStep),this.clockStep.subscribe(function(A){o.clockStep=A,this.synchronize()},this),this.clockRange=Vi.observable(o.clockRange),this.clockRange.subscribe(function(A){o.clockRange=A,this.synchronize()},this),this.canAnimate=Vi.observable(o.canAnimate),this.canAnimate.subscribe(function(A){o.canAnimate=A,this.synchronize()},this),this.shouldAnimate=Vi.observable(o.shouldAnimate),this.shouldAnimate.subscribe(function(A){o.shouldAnimate=A,this.synchronize()},this),Vi.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}Object.defineProperties(qY.prototype,{clock:{get:function(){return this._clock}}});qY.prototype.synchronize=function(){let o=this._clock;this.systemTime=jt.now(),this.startTime=o.startTime,this.stopTime=o.stopTime,this.currentTime=o.currentTime,this.multiplier=o.multiplier,this.clockStep=o.clockStep,this.clockRange=o.clockRange,this.canAnimate=o.canAnimate,this.shouldAnimate=o.shouldAnimate};qY.prototype.isDestroyed=function(){return!1};qY.prototype.destroy=function(){this._eventHelper.removeAll(),ar(this)};var uBe=qY;function qEi(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,ni.throwInstantiationError()}var $Xe=qEi;function jEi(o,A){A=ae(A,!0);let f=new ir,m=new ir;function C(){let E={args:arguments,cancel:!1},I;return f.raiseEvent(E),E.cancel||(I=o.apply(null,arguments),m.raiseEvent(I)),I}return C.canExecute=A,Vi.track(C,["canExecute"]),Object.defineProperties(C,{beforeExecute:{value:f},afterExecute:{value:m}}),C}var Os=jEi,jY={};jY.createCheckbox=function(o,A,f){let m=document.createElement("div"),C=document.createElement("label"),E=document.createElement("input");E.type="checkbox";let I=`checked: ${A}`;return k(f)&&(I+=`, enable: ${f}`),E.setAttribute("data-bind",I),C.appendChild(E),C.appendChild(document.createTextNode(o)),m.appendChild(C),m};jY.createSection=function(o,A,f,m){let C=document.createElement("div");C.className="cesium-cesiumInspector-section",C.setAttribute("data-bind",`css: { "cesium-cesiumInspector-section-collapsed": !${f} }`),o.appendChild(C);let E=document.createElement("h3");E.className="cesium-cesiumInspector-sectionHeader",E.appendChild(document.createTextNode(A)),E.setAttribute("data-bind",`click: ${m}`),C.appendChild(E);let I=document.createElement("div");return I.className="cesium-cesiumInspector-sectionContent",C.appendChild(I),I};jY.createRangeInput=function(o,A,f,m,C,E){E=ae(E,A);let I=document.createElement("input");I.setAttribute("data-bind",`value: ${E}`),I.type="number";let x=document.createElement("input");x.type="range",x.min=f,x.max=m,x.step=ae(C,"any"),x.setAttribute("data-bind",`valueUpdate: "input", value: ${A}`);let y=document.createElement("div");y.appendChild(x);let v=document.createElement("div");return v.className="cesium-cesiumInspector-slider",v.appendChild(document.createTextNode(o)),v.appendChild(I),v.appendChild(y),v};jY.createButton=function(o,A,f){let m=document.createElement("button");m.type="button",m.textContent=o,m.className="cesium-cesiumInspector-pickButton";let C=`click: ${A}`;return k(f)&&(C+=`, css: {"cesium-cesiumInspector-pickButtonHighlight" : ${f}}`),m.setAttribute("data-bind",C),m};var mx=jY;function XEi(o,A,f,m,C){return f.call(m,o[A]),Vi.getObservable(o,A).subscribe(f,m,C)}var jE=XEi;function eZe(o,A){this._command=o,A=ae(A,ae.EMPTY_OBJECT),this.toggled=ae(A.toggled,!1),this.tooltip=ae(A.tooltip,""),Vi.track(this,["toggled","tooltip"])}Object.defineProperties(eZe.prototype,{command:{get:function(){return this._command}}});var J5=eZe,XL="http://www.w3.org/2000/svg",tZe="http://www.w3.org/1999/xlink",gq,q8=qe.fromCssColorString("rgba(247,250,255,0.384)"),fq=qe.fromCssColorString("rgba(143,191,255,0.216)"),fAe=qe.fromCssColorString("rgba(153,197,255,0.098)"),pq=qe.fromCssColorString("rgba(255,255,255,0.086)"),ZEi=qe.fromCssColorString("rgba(255,255,255,0.267)"),$Ei=qe.fromCssColorString("rgba(255,255,255,0)"),Ske=qe.fromCssColorString("rgba(66,67,68,0.3)"),Dke=qe.fromCssColorString("rgba(0,0,0,0.5)");function fT(o){return qe.fromCssColorString(window.getComputedStyle(o).getPropertyValue("color"))}var E9={animation_pathReset:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},animation_pathPause:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},animation_pathPlay:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathPlayReverse:{tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathLoop:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},animation_pathClock:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},animation_pathWingButton:{tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},animation_pathSwooshFX:{tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}};function O_(o){let A=document.createElementNS(XL,o.tagName);for(let f in o)if(o.hasOwnProperty(f)&&f!=="tagName")if(f==="children"){let m=o.children.length;for(let C=0;C<m;++C)A.appendChild(O_(o.children[C]))}else f.indexOf("xlink:")===0?A.setAttributeNS(tZe,f.substring(6),o[f]):f==="textContent"?A.textContent=o[f]:A.setAttribute(f,o[f]);return A}function pAe(o,A,f){let m=document.createElementNS(XL,"text");m.setAttribute("x",o),m.setAttribute("y",A),m.setAttribute("class","cesium-animation-svgText");let C=document.createElementNS(XL,"tspan");return C.textContent=f,m.appendChild(C),m}function eIi(o,A,f){o.setAttribute("transform",`translate(100,100) rotate(${f})`),A.setAttribute("transform",`rotate(${f})`)}var mq=new qe;function Rd(o,A){let f=A.alpha,m=1-f;return mq.red=o.red*m+A.red*f,mq.green=o.green*m+A.green*f,mq.blue=o.blue*m+A.blue*f,mq.toCssColorString()}function mAe(o,A,f){let m=E9[f],C={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${o},${A})`,children:[{tagName:"rect",class:"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect",class:"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{class:"cesium-animation-buttonPath",id:f,tagName:m.tagName,transform:m.transform,d:m.d},{tagName:"title",textContent:""}]};return O_(C)}function tIi(o,A,f){let m=E9[f],C=E9.animation_pathWingButton,E={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${o},${A})`,children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:C.tagName,d:C.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:C.tagName,d:C.d},{class:"cesium-animation-buttonPath",id:f,tagName:m.tagName,transform:m.transform,d:m.d},{tagName:"title",textContent:""}]};return O_(E)}function iIi(o,A){let f=o._viewModel,m=f.shuttleRingDragging;if(!(m&&gq!==o))if(A.type==="mousedown"||m&&A.type==="mousemove"||A.type==="touchstart"&&A.touches.length===1||m&&A.type==="touchmove"&&A.touches.length===1){let C=o._centerX,E=o._centerY,I=o._svgNode.getBoundingClientRect(),x,y;if(A.type==="touchstart"||A.type==="touchmove"?(x=A.touches[0].clientX,y=A.touches[0].clientY):(x=A.clientX,y=A.clientY),!m&&(x>I.right||x<I.left||y<I.top||y>I.bottom))return;let v=o._shuttleRingPointer.getBoundingClientRect(),w=x-C-I.left,Q=y-E-I.top,M=Math.atan2(Q,w)*180/Math.PI+90;M>180&&(M-=360);let B=f.shuttleRingAngle;m||x<v.right&&x>v.left&&y>v.top&&y<v.bottom?(gq=o,f.shuttleRingDragging=!0,f.shuttleRingAngle=M):M<B?f.slower():M>B&&f.faster(),A.preventDefault()}else o===gq&&(gq=void 0),f.shuttleRingDragging=!1}function aS(o,A){this._viewModel=A,this.svgElement=o,this._enabled=void 0,this._toggled=void 0;let f=this;this._clickFunction=function(){let m=f._viewModel.command;m.canExecute&&m()},o.addEventListener("click",this._clickFunction,!0),this._subscriptions=[jE(A,"toggled",this.setToggled,this),jE(A,"tooltip",this.setTooltip,this),jE(A.command,"canExecute",this.setEnabled,this)]}aS.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);let o=this._subscriptions;for(let A=0,f=o.length;A<f;A++)o[A].dispose();ar(this)};aS.prototype.isDestroyed=function(){return!1};aS.prototype.setEnabled=function(o){if(this._enabled!==o){if(this._enabled=o,!o){this.svgElement.setAttribute("class","cesium-animation-buttonDisabled");return}if(this._toggled){this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled");return}this.svgElement.setAttribute("class","cesium-animation-rectButton")}};aS.prototype.setToggled=function(o){this._toggled!==o&&(this._toggled=o,this._enabled&&(o?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))};aS.prototype.setTooltip=function(o){this.svgElement.getElementsByTagName("title")[0].textContent=o};function u6(o,A){o=Ru(o),this._viewModel=A,this._container=o,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;let f=o.ownerDocument,m=document.createElement("style");m.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",f.head.insertBefore(m,f.head.childNodes[0]);let C=document.createElement("div");C.className="cesium-animation-theme",C.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=C,this._themeNormal=C.childNodes[0],this._themeHover=C.childNodes[1],this._themeSelect=C.childNodes[2],this._themeDisabled=C.childNodes[3],this._themeKnob=C.childNodes[4],this._themePointer=C.childNodes[5],this._themeSwoosh=C.childNodes[6],this._themeSwooshHover=C.childNodes[7];let E=document.createElementNS(XL,"svg:svg");this._svgNode=E,E.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",tZe);let I=document.createElementNS(XL,"g");this._topG=I,this._realtimeSVG=new aS(tIi(3,4,"animation_pathClock"),A.playRealtimeViewModel),this._playReverseSVG=new aS(mAe(44,99,"animation_pathPlayReverse"),A.playReverseViewModel),this._playForwardSVG=new aS(mAe(124,99,"animation_pathPlay"),A.playForwardViewModel),this._pauseSVG=new aS(mAe(84,99,"animation_pathPause"),A.pauseViewModel);let x=document.createElementNS(XL,"g");x.appendChild(this._realtimeSVG.svgElement),x.appendChild(this._playReverseSVG.svgElement),x.appendChild(this._playForwardSVG.svgElement),x.appendChild(this._pauseSVG.svgElement);let y=O_({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=y;let v=E9.animation_pathSwooshFX,w=E9.animation_pathPointer,Q=O_({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:v.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:v.d},{tagName:v.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:v.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=Q,this._shuttleRingPointer=O_({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:w.tagName,d:w.d});let M=O_({tagName:"g",transform:"translate(100,100)"});this._knobOuter=O_({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});let B=61,D=O_({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:B});this._knobDate=pAe(0,-24,""),this._knobTime=pAe(0,-7,""),this._knobStatus=pAe(0,-41,"");let S=O_({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:B}),P=document.createElementNS(XL,"g");P.setAttribute("class","cesium-animation-shuttleRingG"),o.appendChild(C),I.appendChild(P),I.appendChild(M),I.appendChild(x),P.appendChild(y),P.appendChild(Q),P.appendChild(this._shuttleRingPointer),M.appendChild(this._knobOuter),M.appendChild(D),M.appendChild(this._knobDate),M.appendChild(this._knobTime),M.appendChild(this._knobStatus),M.appendChild(S),E.appendChild(I),o.appendChild(E);let R=this;function T(H){iIi(R,H)}this._mouseCallback=T,y.addEventListener("mousedown",T,!0),y.addEventListener("touchstart",T,!0),Q.addEventListener("mousedown",T,!0),Q.addEventListener("touchstart",T,!0),f.addEventListener("mousemove",T,!0),f.addEventListener("touchmove",T,!0),f.addEventListener("mouseup",T,!0),f.addEventListener("touchend",T,!0),f.addEventListener("touchcancel",T,!0),this._shuttleRingPointer.addEventListener("mousedown",T,!0),this._shuttleRingPointer.addEventListener("touchstart",T,!0),this._knobOuter.addEventListener("mousedown",T,!0),this._knobOuter.addEventListener("touchstart",T,!0);let L=this._knobTime.childNodes[0],F=this._knobDate.childNodes[0],U=this._knobStatus.childNodes[0],N;this._subscriptions=[jE(A.pauseViewModel,"toggled",function(H){N!==H&&(N=H,N?R._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):R._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),jE(A,"shuttleRingAngle",function(H){eIi(R._shuttleRingPointer,R._knobOuter,H)}),jE(A,"dateLabel",function(H){F.textContent!==H&&(F.textContent=H)}),jE(A,"timeLabel",function(H){L.textContent!==H&&(L.textContent=H)}),jE(A,"multiplierLabel",function(H){U.textContent!==H&&(U.textContent=H)})],this.applyThemeChanges(),this.resize()}Object.defineProperties(u6.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});u6.prototype.isDestroyed=function(){return!1};u6.prototype.destroy=function(){k(this._observer)&&(this._observer.disconnect(),this._observer=void 0);let o=this._container.ownerDocument,A=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",A,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",A,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",A,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",A,!0),o.removeEventListener("mousemove",A,!0),o.removeEventListener("touchmove",A,!0),o.removeEventListener("mouseup",A,!0),o.removeEventListener("touchend",A,!0),o.removeEventListener("touchcancel",A,!0),this._shuttleRingPointer.removeEventListener("mousedown",A,!0),this._shuttleRingPointer.removeEventListener("touchstart",A,!0),this._knobOuter.removeEventListener("mousedown",A,!0),this._knobOuter.removeEventListener("touchstart",A,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();let f=this._subscriptions;for(let m=0,C=f.length;m<C;m++)f[m].dispose();return ar(this)};u6.prototype.resize=function(){let o=this._container.clientWidth,A=this._container.clientHeight;if(o===this._lastWidth&&A===this._lastHeight)return;let f=this._svgNode,m=200,C=132,E=o,I=A;o===0&&A===0?(E=m,I=C):o===0?(I=A,E=m*(A/C)):A===0&&(E=o,I=C*(o/m));let x=E/m,y=I/C;f.style.cssText=`width: ${E}px; height: ${I}px; position: absolute; bottom: 0; left: 0; overflow: hidden;`,f.setAttribute("width",E),f.setAttribute("height",I),f.setAttribute("viewBox",`0 0 ${E} ${I}`),this._topG.setAttribute("transform",`scale(${x},${y})`),this._centerX=Math.max(1,100*x),this._centerY=Math.max(1,100*y),this._lastHeight=o,this._lastWidth=A};u6.prototype.applyThemeChanges=function(){let o=this._container.ownerDocument;if(!o.body.contains(this._container)){if(k(this._observer))return;let w=this;w._observer=new MutationObserver(function(){o.body.contains(w._container)&&(w._observer.disconnect(),w._observer=void 0,w.applyThemeChanges())}),w._observer.observe(o,{childList:!0,subtree:!0});return}let A=fT(this._themeNormal),f=fT(this._themeHover),m=fT(this._themeSelect),C=fT(this._themeDisabled),E=fT(this._themeKnob),I=fT(this._themePointer),x=fT(this._themeSwoosh),y=fT(this._themeSwooshHover),v=O_({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Rd(A,q8)},{tagName:"stop",offset:"12%","stop-color":Rd(A,fq)},{tagName:"stop",offset:"46%","stop-color":Rd(A,fAe)},{tagName:"stop",offset:"81%","stop-color":Rd(A,pq)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Rd(f,q8)},{tagName:"stop",offset:"12%","stop-color":Rd(f,fq)},{tagName:"stop",offset:"46%","stop-color":Rd(f,fAe)},{tagName:"stop",offset:"81%","stop-color":Rd(f,pq)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Rd(m,q8)},{tagName:"stop",offset:"12%","stop-color":Rd(m,fq)},{tagName:"stop",offset:"46%","stop-color":Rd(m,fAe)},{tagName:"stop",offset:"81%","stop-color":Rd(m,pq)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Rd(C,ZEi)},{tagName:"stop",offset:"75%","stop-color":Rd(C,$Ei)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,in:"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":x.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":x.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":x.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":y.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":y.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":y.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":I.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":I.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":Rd(I,Dke)},{tagName:"stop",offset:"100%","stop-color":Rd(I,Dke)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":Rd(E,q8)},{tagName:"stop",offset:"60%","stop-color":Rd(E,Ske)},{tagName:"stop",offset:"85%","stop-color":Rd(E,fq)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":Rd(E,Ske)},{tagName:"stop",offset:"60%","stop-color":Rd(E,q8)},{tagName:"stop",offset:"85%","stop-color":Rd(E,pq)}]}]});k(this._defsElement)?this._svgNode.replaceChild(v,this._defsElement):this._svgNode.appendChild(v),this._defsElement=v};var cBe=u6,f2=15,_U=105;function iZe(o,A){return o-A}function CAe(o,A){let f=yf(A,o,iZe);return f<0?~f:f}function rIi(o,A){if(Math.abs(o)<=f2)return o/f2;let f=f2,m=_U,C,E=0,I;return o>0?(C=Math.log(A[A.length-1]),I=(C-E)/(m-f),Math.exp(E+I*(o-f))):(C=Math.log(-A[0]),I=(C-E)/(m-f),-Math.exp(E+I*(Math.abs(o)-f)))}function nIi(o,A,f){if(f.clockStep===vc.SYSTEM_CLOCK)return f2;if(Math.abs(o)<=1)return o*f2;let m=A[A.length-1];o>m?o=m:o<-m&&(o=-m);let C=f2,E=_U,I,x=0,y;return o>0?(I=Math.log(m),y=(I-x)/(E-C),(Math.log(o)-x)/y+C):(I=Math.log(-A[0]),y=(I-x)/(E-C),-((Math.log(Math.abs(o))-x)/y+C))}function ev(o){let A=this;this._clockViewModel=o,this._allShuttleRingTicks=[],this._dateFormatter=ev.defaultDateFormatter,this._timeFormatter=ev.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,Vi.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(ev.defaultTicks),this.timeLabel=void 0,Vi.defineProperty(this,"timeLabel",function(){return A._timeFormatter(A._clockViewModel.currentTime,A)}),this.dateLabel=void 0,Vi.defineProperty(this,"dateLabel",function(){return A._dateFormatter(A._clockViewModel.currentTime,A)}),this.multiplierLabel=void 0,Vi.defineProperty(this,"multiplierLabel",function(){let I=A._clockViewModel;if(I.clockStep===vc.SYSTEM_CLOCK)return"Today";let x=I.multiplier;return x%1===0?`${x.toFixed(0)}x`:`${x.toFixed(3).replace(/0{0,3}$/,"")}x`}),this.shuttleRingAngle=void 0,Vi.defineProperty(this,"shuttleRingAngle",{get:function(){return nIi(o.multiplier,A._allShuttleRingTicks,o)},set:function(I){I=Math.max(Math.min(I,_U),-_U);let x=A._allShuttleRingTicks,y=A._clockViewModel;if(y.clockStep=vc.SYSTEM_CLOCK_MULTIPLIER,Math.abs(I)===_U){y.multiplier=I>0?x[x.length-1]:x[0];return}let v=rIi(I,x);if(A.snapToTicks)v=x[CAe(v,x)];else if(v!==0){let w=Math.abs(v);if(w>100){let Q=w.toFixed(0).length-2,M=Math.pow(10,Q);v=Math.round(v/M)*M|0}else w>f2?v=Math.round(v):w>1?v=+v.toFixed(1):w>0&&(v=+v.toFixed(2))}y.multiplier=v}}),this._canAnimate=void 0,Vi.defineProperty(this,"_canAnimate",function(){let I=A._clockViewModel,x=I.clockRange;if(A.shuttleRingDragging||x===u0.UNBOUNDED)return!0;let y=I.multiplier,v=I.currentTime,w=I.startTime,Q=!1;if(x===u0.LOOP_STOP)Q=jt.greaterThan(v,w)||v.equals(w)&&y>0;else{let M=I.stopTime;Q=jt.greaterThan(v,w)&&jt.lessThan(v,M)||v.equals(w)&&y>0||v.equals(M)&&y<0}return Q||(I.shouldAnimate=!1),Q}),this._isSystemTimeAvailable=void 0,Vi.defineProperty(this,"_isSystemTimeAvailable",function(){let I=A._clockViewModel;if(I.clockRange===u0.UNBOUNDED)return!0;let x=I.systemTime;return jt.greaterThanOrEquals(x,I.startTime)&&jt.lessThanOrEquals(x,I.stopTime)}),this._isAnimating=void 0,Vi.defineProperty(this,"_isAnimating",function(){return A._clockViewModel.shouldAnimate&&(A._canAnimate||A.shuttleRingDragging)});let f=Os(function(){let I=A._clockViewModel;I.shouldAnimate?I.shouldAnimate=!1:A._canAnimate&&(I.shouldAnimate=!0)});this._pauseViewModel=new J5(f,{toggled:Vi.computed(function(){return!A._isAnimating}),tooltip:"Pause"});let m=Os(function(){let I=A._clockViewModel,x=I.multiplier;x>0&&(I.multiplier=-x),I.shouldAnimate=!0});this._playReverseViewModel=new J5(m,{toggled:Vi.computed(function(){return A._isAnimating&&o.multiplier<0}),tooltip:"Play Reverse"});let C=Os(function(){let I=A._clockViewModel,x=I.multiplier;x<0&&(I.multiplier=-x),I.shouldAnimate=!0});this._playForwardViewModel=new J5(C,{toggled:Vi.computed(function(){return A._isAnimating&&o.multiplier>0&&o.clockStep!==vc.SYSTEM_CLOCK}),tooltip:"Play Forward"});let E=Os(function(){A._clockViewModel.clockStep=vc.SYSTEM_CLOCK},Vi.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new J5(E,{toggled:Vi.computed(function(){return o.clockStep===vc.SYSTEM_CLOCK}),tooltip:Vi.computed(function(){return A._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=Os(function(){let I=A._clockViewModel,x=A._allShuttleRingTicks,y=I.multiplier,v=CAe(y,x)-1;v>=0&&(I.multiplier=x[v])}),this._faster=Os(function(){let I=A._clockViewModel,x=A._allShuttleRingTicks,y=I.multiplier,v=CAe(y,x)+1;v<x.length&&(I.multiplier=x[v])})}ev.defaultDateFormatter=function(o,A){let f=jt.addHours(o,8,new jt),m=jt.toGregorianDate(f);return m.year+"/"+m.month+"/"+m.day};ev.defaultTicks=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800];ev.defaultTimeFormatter=function(o,A){let f=jt.addHours(o,8,new jt),m=jt.toGregorianDate(f),C=Math.round(m.millisecond);return Math.abs(A._clockViewModel.multiplier)<1?`${m.hour.toString().padStart(2,"0")}:${m.minute.toString().padStart(2,"0")}:${m.second.toString().padStart(2,"0")}.${C.toString().padStart(3,"0")}`:`${m.hour.toString().padStart(2,"0")}:${m.minute.toString().padStart(2,"0")}:${m.second.toString().padStart(2,"0")} UTC`};ev.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)};ev.prototype.setShuttleRingTicks=function(o){let A,f,m,C={},E=this._sortedFilteredPositiveTicks;for(E.length=0,A=0,f=o.length;A<f;++A)m=o[A],C.hasOwnProperty(m)||(C[m]=!0,E.push(m));E.sort(iZe);let I=[];for(f=E.length,A=f-1;A>=0;--A)m=E[A],m!==0&&I.push(-m);Array.prototype.push.apply(I,E),this._allShuttleRingTicks=I};Object.defineProperties(ev.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(o){this._dateFormatter=o}},timeFormatter:{get:function(){return this._timeFormatter},set:function(o){this._timeFormatter=o}}});ev._maxShuttleRingAngle=_U;ev._realtimeShuttleRingAngle=f2;var hBe=ev;function oIi(o){return function(A){let f=o._scene.pick(A.position);k(f)&&f.primitive instanceof B0&&(o.tileset=f.primitive),o.pickActive=!1}}function rZe(o,A){A?o._eventHandler.setInputAction(function(f){let m=o._scene.pick(f.endPosition);k(m)&&m.primitive instanceof B0&&(o.tileset=m.primitive)},_i.MOUSE_MOVE):(o._eventHandler.removeInputAction(_i.MOUSE_MOVE),o.picking=o.picking)}var aIi={maximumFractionDigits:3};function nV(o){let A=o/1048576;return A<1?A.toLocaleString(void 0,aIi):Math.round(A).toLocaleString()}function I9(o,A){if(!k(o))return"";let f=A?o._statisticsPerPass[kd.PICK]:o._statisticsPerPass[kd.RENDER],m='<ul class="cesium-cesiumInspector-statistics">';return m+=`<li><strong>\u8BBF\u95EE: </strong>${f.visited.toLocaleString()}</li><li><strong>\u9009\u62E9: </strong>${f.selected.toLocaleString()}</li><li><strong>\u7ED8\u5236\u547D\u4EE4: </strong>${f.numberOfCommands.toLocaleString()}</li>`,m+="</ul>",A||(m+='<ul class="cesium-cesiumInspector-statistics">',m+=`<li><strong>\u8BF7\u6C42: </strong>${f.numberOfPendingRequests.toLocaleString()}</li><li><strong>\u5C1D\u8BD5: </strong>${f.numberOfAttemptedRequests.toLocaleString()}</li><li><strong>\u5904\u7406\u4E2D: </strong>${f.numberOfTilesProcessing.toLocaleString()}</li><li><strong>\u5185\u5BB9\u5C31\u7EEA: </strong>${f.numberOfTilesWithContentReady.toLocaleString()}</li><li><strong>\u603B\u5171: </strong>${f.numberOfTilesTotal.toLocaleString()}</li>`,m+="</ul>",m+='<ul class="cesium-cesiumInspector-statistics">',m+=`<li><strong>\u7279\u5F81\u9009\u62E9: </strong>${f.numberOfFeaturesSelected.toLocaleString()}</li><li><strong>\u7279\u5F81\u52A0\u8F7D: </strong>${f.numberOfFeaturesLoaded.toLocaleString()}</li><li><strong>\u70B9\u4E91\u9009\u62E9: </strong>${f.numberOfPointsSelected.toLocaleString()}</li><li><strong>\u70B9\u4E91\u52A0\u8F7D: </strong>${f.numberOfPointsLoaded.toLocaleString()}</li><li><strong>\u4E09\u89D2\u5F62\u6570: </strong>${f.numberOfTrianglesSelected.toLocaleString()}</li>`,m+="</ul>",m+='<ul class="cesium-cesiumInspector-statistics">',m+=`<li><strong>\u6837\u5F0F\u6E32\u67D3\u74E6\u7247\u6570: </strong>${f.numberOfTilesStyled.toLocaleString()}</li><li><strong>\u6837\u5F0F\u6E32\u67D3\u7279\u5F81\u6570: </strong>${f.numberOfFeaturesStyled.toLocaleString()}</li>`,m+="</ul>",m+='<ul class="cesium-cesiumInspector-statistics">',m+=`<li><strong>\u5B50\u8282\u70B9\u5254\u9664\u6570: </strong>${f.numberOfTilesCulledWithChildrenUnion.toLocaleString()}</li>`,m+="</ul>",m+='<ul class="cesium-cesiumInspector-statistics">',m+=`<li><strong>\u51E0\u4F55\u5360\u5185\u5B58 (MB): </strong>${nV(f.geometryByteLength)}</li><li><strong>\u7EB9\u7406\u5360\u5185\u5B58 (MB): </strong>${nV(f.texturesByteLength)}</li><li><strong>\u5C5E\u6027\u5360\u5185\u5B58 (MB): </strong>${nV(f.batchTableByteLength)}</li>`,m+="</ul>"),m}function nZe(){let o=Ju.statistics;return` <ul class="cesium-cesiumInspector-statistics"> <li><strong>\u51E0\u4F55\u5360\u5185\u5B58 (MB): </strong>${nV(o.geometryByteLength)}</li> <li><strong>\u7EB9\u7406\u5360\u5185\u5B58 (MB): </strong>${nV(o.texturesByteLength)}</li> </ul> `}var sIi=[{text:"\u9AD8\u4EAE",value:f1.HIGHLIGHT},{text:"\u66FF\u6362",value:f1.REPLACE},{text:"\u6DF7\u5408",value:f1.MIX}],Mke=new qe(1,1,0,.4),lIi=new qe,Cq=new qe;function w0(o,A){let f=this,m=o.canvas;this._eventHandler=new pr(m),this._scene=o,this._performanceContainer=A,this._canvas=m,this._performanceDisplay=new yY({container:A}),this._statisticsText="",this._pickStatisticsText="",this._resourceCacheStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.showResourceCacheStatistics=!1,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this.hasEnabledWireframe=!1,this._tileset=void 0,this._feature=void 0,this._tile=void 0,Vi.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_resourceCacheStatisticsText","_editorError","showPickStatistics","showStatistics","showResourceCacheStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile","_tileset","hasEnabledWireframe"]),this._properties=Vi.observable({}),this.properties=[],Vi.defineProperty(this,"properties",function(){let de=[],fe=f._properties();for(let G in fe)fe.hasOwnProperty(G)&&de.push(G);return de});let C=Vi.observable();Vi.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return C()},set:function(de){C(de),k(f._tileset)&&(f._tileset.dynamicScreenSpaceError=de)}}),this.dynamicScreenSpaceError=!1;let E=Vi.observable();Vi.defineProperty(this,"colorBlendMode",{get:function(){return E()},set:function(de){E(de),k(f._tileset)&&(f._tileset.colorBlendMode=de,f._scene.requestRender())}}),this.colorBlendMode=f1.HIGHLIGHT;let I=Vi.observable(),x=Vi.observable();Vi.defineProperty(this,"picking",{get:function(){return x()},set:function(de){x(de),de?f._eventHandler.setInputAction(function(fe){let G=o.pick(fe.endPosition);if(G instanceof Ga?(f.feature=G,f.tile=G.content.tile):k(G)&&k(G.content)?(f.feature=void 0,f.tile=G.content.tile):(f.feature=void 0,f.tile=void 0),!!k(f._tileset)){if(I&&k(G)&&k(G.content)){let Y;o.pickPositionSupported&&(Y=o.pickPosition(fe.endPosition),k(Y)&&(f._tileset.debugPickPosition=Y)),f._tileset.debugPickedTile=G.content.tile}else f._tileset.debugPickedTile=void 0;f._scene.requestRender()}},_i.MOUSE_MOVE):(f.feature=void 0,f.tile=void 0,f._eventHandler.removeInputAction(_i.MOUSE_MOVE))}}),this.picking=!0;let y=Vi.observable();Vi.defineProperty(this,"colorize",{get:function(){return y()},set:function(de){y(de),k(f._tileset)&&(f._tileset.debugColorizeTiles=de,f._scene.requestRender())}}),this.colorize=!1;let v=Vi.observable();Vi.defineProperty(this,"wireframe",{get:function(){return v()},set:function(de){v(de),k(f._tileset)&&(f._tileset.debugWireframe=de,f._scene.requestRender())}}),this.wireframe=!1;let w=Vi.observable();Vi.defineProperty(this,"showBoundingVolumes",{get:function(){return w()},set:function(de){w(de),k(f._tileset)&&(f._tileset.debugShowBoundingVolume=de,f._scene.requestRender())}}),this.showBoundingVolumes=!1;let Q=Vi.observable();Vi.defineProperty(this,"showContentBoundingVolumes",{get:function(){return Q()},set:function(de){Q(de),k(f._tileset)&&(f._tileset.debugShowContentBoundingVolume=de,f._scene.requestRender())}}),this.showContentBoundingVolumes=!1;let M=Vi.observable();Vi.defineProperty(this,"showRequestVolumes",{get:function(){return M()},set:function(de){M(de),k(f._tileset)&&(f._tileset.debugShowViewerRequestVolume=de,f._scene.requestRender())}}),this.showRequestVolumes=!1;let B=Vi.observable();Vi.defineProperty(this,"freezeFrame",{get:function(){return B()},set:function(de){B(de),k(f._tileset)&&(f._tileset.debugFreezeFrame=de,f._scene.debugShowFrustumPlanes=de,f._scene.requestRender())}}),this.freezeFrame=!1,Vi.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return I()},set:function(de){I(de),k(f._tileset)&&(f._tileset.debugPickedTileLabelOnly=de,f._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;let D=Vi.observable();Vi.defineProperty(this,"showGeometricError",{get:function(){return D()},set:function(de){D(de),k(f._tileset)&&(f._tileset.debugShowGeometricError=de,f._scene.requestRender())}}),this.showGeometricError=!1;let S=Vi.observable();Vi.defineProperty(this,"showRenderingStatistics",{get:function(){return S()},set:function(de){S(de),k(f._tileset)&&(f._tileset.debugShowRenderingStatistics=de,f._scene.requestRender())}}),this.showRenderingStatistics=!1;let P=Vi.observable();Vi.defineProperty(this,"showMemoryUsage",{get:function(){return P()},set:function(de){P(de),k(f._tileset)&&(f._tileset.debugShowMemoryUsage=de,f._scene.requestRender())}}),this.showMemoryUsage=!1;let R=Vi.observable();Vi.defineProperty(this,"showUrl",{get:function(){return R()},set:function(de){R(de),k(f._tileset)&&(f._tileset.debugShowUrl=de,f._scene.requestRender())}}),this.showUrl=!1;let T=Vi.observable();Vi.defineProperty(this,"maximumScreenSpaceError",{get:function(){return T()},set:function(de){de=Number(de),isNaN(de)||(T(de),k(f._tileset)&&(f._tileset.maximumScreenSpaceError=de))}}),this.maximumScreenSpaceError=16;let L=Vi.observable();Vi.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return L()},set:function(de){de=Number(de),isNaN(de)||(L(de),k(f._tileset)&&(f._tileset.dynamicScreenSpaceErrorDensity=de))}}),this.dynamicScreenSpaceErrorDensity=.00278,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,Vi.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(L(),1/6)},set:function(de){L(Math.pow(de,6))}});let F=Vi.observable();Vi.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return F()},set:function(de){de=Number(de),isNaN(de)||(F(de),k(f._tileset)&&(f._tileset.dynamicScreenSpaceErrorFactor=de))}}),this.dynamicScreenSpaceErrorFactor=4;let U=oIi(this),N=Vi.observable();Vi.defineProperty(this,"pickActive",{get:function(){return N()},set:function(de){N(de),de?f._eventHandler.setInputAction(U,_i.LEFT_CLICK):f._eventHandler.removeInputAction(_i.LEFT_CLICK)}});let H=Vi.observable();Vi.defineProperty(this,"pointCloudShading",{get:function(){return H()},set:function(de){H(de),k(f._tileset)&&(f._tileset.pointCloudShading.attenuation=de)}}),this.pointCloudShading=!1;let J=Vi.observable();Vi.defineProperty(this,"geometricErrorScale",{get:function(){return J()},set:function(de){de=Number(de),isNaN(de)||(J(de),k(f._tileset)&&(f._tileset.pointCloudShading.geometricErrorScale=de))}}),this.geometricErrorScale=1;let K=Vi.observable();Vi.defineProperty(this,"maximumAttenuation",{get:function(){return K()},set:function(de){de=Number(de),isNaN(de)||(K(de),k(f._tileset)&&(f._tileset.pointCloudShading.maximumAttenuation=de===0?void 0:de))}}),this.maximumAttenuation=0;let X=Vi.observable();Vi.defineProperty(this,"baseResolution",{get:function(){return X()},set:function(de){de=Number(de),isNaN(de)||(X(de),k(f._tileset)&&(f._tileset.pointCloudShading.baseResolution=de===0?void 0:de))}}),this.baseResolution=0;let j=Vi.observable();Vi.defineProperty(this,"eyeDomeLighting",{get:function(){return j()},set:function(de){j(de),k(f._tileset)&&(f._tileset.pointCloudShading.eyeDomeLighting=de)}}),this.eyeDomeLighting=!1;let ee=Vi.observable();Vi.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return ee()},set:function(de){de=Number(de),isNaN(de)||(ee(de),k(f._tileset)&&(f._tileset.pointCloudShading.eyeDomeLightingStrength=de))}}),this.eyeDomeLightingStrength=1;let ie=Vi.observable();Vi.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return ie()},set:function(de){de=Number(de),isNaN(de)||(ie(de),k(f._tileset)&&(f._tileset.pointCloudShading.eyeDomeLightingRadius=de))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;let z=Vi.observable();Vi.defineProperty(this,"skipLevelOfDetail",{get:function(){return z()},set:function(de){z(de),k(f._tileset)&&(f._tileset.skipLevelOfDetail=de)}}),this.skipLevelOfDetail=!0;let oe=Vi.observable();Vi.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return oe()},set:function(de){de=Number(de),isNaN(de)||(oe(de),k(f._tileset)&&(f._tileset.skipScreenSpaceErrorFactor=de))}}),this.skipScreenSpaceErrorFactor=16;let le=Vi.observable();Vi.defineProperty(this,"baseScreenSpaceError",{get:function(){return le()},set:function(de){de=Number(de),isNaN(de)||(le(de),k(f._tileset)&&(f._tileset.baseScreenSpaceError=de))}}),this.baseScreenSpaceError=1024;let Ae=Vi.observable();Vi.defineProperty(this,"skipLevels",{get:function(){return Ae()},set:function(de){de=Number(de),isNaN(de)||(Ae(de),k(f._tileset)&&(f._tileset.skipLevels=de))}}),this.skipLevels=1;let he=Vi.observable();Vi.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return he()},set:function(de){he(de),k(f._tileset)&&(f._tileset.immediatelyLoadDesiredLevelOfDetail=de)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;let ge=Vi.observable();Vi.defineProperty(this,"loadSiblings",{get:function(){return ge()},set:function(de){ge(de),k(f._tileset)&&(f._tileset.loadSiblings=de)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=o.postRender.addEventListener(function(){f._update()}),k(this._tileset)||rZe(this,!0)}Object.defineProperties(w0.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},resourceCacheStatisticsText:{get:function(){return this._resourceCacheStatisticsText}},colorBlendModes:{get:function(){return sIi}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(o){if(this._tileset=o,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,k(o)){let A=this;o._readyPromise.then(function(E){A.isDestroyed()||A._properties(E.properties)});let f=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],m=f.length;for(let E=0;E<m;++E){let I=f[E];this[I]=this[I]}this.maximumScreenSpaceError=o.maximumScreenSpaceError,this.dynamicScreenSpaceError=o.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=o.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=o.dynamicScreenSpaceErrorFactor,this.colorBlendMode=o.colorBlendMode,this.skipLevelOfDetail=o.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=o.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=o.baseScreenSpaceError,this.skipLevels=o.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=o.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=o.loadSiblings,this.hasEnabledWireframe=o._enableDebugWireframe;let C=o.pointCloudShading;this.pointCloudShading=C.attenuation,this.geometricErrorScale=C.geometricErrorScale,this.maximumAttenuation=C.maximumAttenuation?C.maximumAttenuation:0,this.baseResolution=C.baseResolution?C.baseResolution:0,this.eyeDomeLighting=C.eyeDomeLighting,this.eyeDomeLightingStrength=C.eyeDomeLightingStrength,this.eyeDomeLightingRadius=C.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=I9(o,!1),this._pickStatisticsText=I9(o,!0),this._resourceCacheStatisticsText=nZe(),rZe(this,!1)}},feature:{get:function(){return this._feature},set:function(o){if(this._feature===o)return;let A=this._feature;k(A)&&!A.content.isDestroyed()&&(!this.colorize&&k(this._style)?A.color=k(this._style.color)?this._style.color.evaluateColor(A,lIi):qe.WHITE:A.color=Cq,this._scene.requestRender()),k(o)&&(qe.clone(o.color,Cq),o.color=Mke,this._scene.requestRender()),this._feature=o}},tile:{get:function(){return this._tile},set:function(o){if(this._tile===o)return;let A=this._tile;k(A)&&!A.isDestroyed()&&!Pce(A.content)&&(A.color=Cq,this._scene.requestRender()),k(o)&&!Pce(o.content)&&(qe.clone(o.color,Cq),o.color=Mke,this._scene.requestRender()),this._tile=o}}});function Pce(o){if(!k(o))return!1;if(o.featuresLength>0)return!0;let A=o.innerContents;if(k(A)){let f=A.length;for(let m=0;m<f;++m)if(!Pce(A[m]))return!1;return!0}return!1}w0.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive};w0.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};w0.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible};w0.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};w0.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible};w0.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible};w0.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible};w0.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible};w0.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible};w0.prototype.trimTilesCache=function(){k(this._tileset)&&this._tileset.trimLoadedTiles()};w0.prototype.compileStyle=function(){let o=this._tileset;if(!(!k(o)||this.styleString===JSON.stringify(o.style))){this._editorError="";try{this.styleString.length===0&&(this.styleString="{}"),this._style=new Y1(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(A){this._editorError=A.toString()}this.feature=this._feature,this.tile=this._tile}};w0.prototype.styleEditorKeyPress=function(o,A){if(A.keyCode===9){A.preventDefault();let f=A.target,m=f.selectionStart,C=f.selectionEnd,E=C,I=f.value.slice(m,C).split(` `),x=I.length,y;if(A.shiftKey)for(y=0;y<x;++y)I[y][0]===" "&&(I[y][1]===" "?(I[y]=I[y].substr(2),E-=2):(I[y]=I[y].substr(1),E-=1));else for(y=0;y<x;++y)I[y]=` ${I[y]}`,E+=2;let v=I.join(` `);f.value=f.value.slice(0,m)+v+f.value.slice(C),f.selectionStart=m!==C?m:E,f.selectionEnd=E}else A.ctrlKey&&(A.keyCode===10||A.keyCode===13)&&this.compileStyle();return!0};w0.prototype._update=function(){let o=this._tileset;if(this.performance&&this._performanceDisplay.update(),k(o)){if(o.isDestroyed()){this.tile=void 0,this.feature=void 0,this.tileset=void 0;return}let A=o.style;this._style!==o.style&&(this._shouldStyle?(o.style=this._style,this._shouldStyle=!1):(this._style=A,this.styleString=JSON.stringify(A.style,null," ")))}this.showStatistics&&(this._statisticsText=I9(o,!1),this._pickStatisticsText=I9(o,!0),this._resourceCacheStatisticsText=nZe())};w0.prototype.isDestroyed=function(){return!1};w0.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();let o=this;return this._definedProperties.forEach(function(A){Vi.getObservable(o,A).dispose()}),ar(this)};w0.getStatistics=I9;var dBe=w0;function die(o,A){o=Ru(o);let f=document.createElement("div"),m=document.createElement("div");m.setAttribute("data-bind","visible: performance");let C=new dBe(A,m);this._viewModel=C,this._container=o,this._element=f;let E=document.createElement("div");E.textContent="3D Tiles Inspector",E.className="cesium-cesiumInspector-button",E.setAttribute("data-bind","click: toggleInspector"),f.appendChild(E),f.className="cesium-cesiumInspector cesium-3DTilesInspector",f.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),o.appendChild(f);let I=document.createElement("div");I.className="cesium-cesiumInspector-dropDown",f.appendChild(I);let x=mx.createSection,y=mx.createCheckbox,v=mx.createRangeInput,w=mx.createButton,Q=x(I,"\u74E6\u7247","tilesetVisible","toggleTileset"),M=x(I,"\u663E\u793A","displayVisible","toggleDisplay"),B=x(I,"\u66F4\u65B0","updateVisible","toggleUpdate"),D=x(I,"\u8BB0\u5F55","loggingVisible","toggleLogging"),S=x(I,"\u74E6\u7247\u8C03\u8BD5\u6807\u7B7E","tileDebugLabelsVisible","toggleTileDebugLabels"),P=x(I,"\u6837\u5F0F","styleVisible","toggleStyle"),R=x(I,"\u4F18\u5316","optimizationVisible","toggleOptimization"),T=document.createElement("div");T.className="field-group";let L=document.createElement("label");L.className="field-label",L.appendChild(document.createTextNode("\u5C5E\u6027: "));let F=document.createElement("div");F.setAttribute("data-bind","text: properties"),T.appendChild(L),T.appendChild(F),Q.appendChild(T),Q.appendChild(w("\u62FE\u53D6\u74E6\u7247","togglePickTileset","pickActive")),Q.appendChild(w("\u6E05\u7406\u74E6\u7247\u7F13\u5B58","trimTilesCache")),Q.appendChild(y("\u53EF\u62FE\u53D6","picking")),M.appendChild(y("\u7740\u8272","colorize"));let U=M.appendChild(y("\u7EBF\u6846","wireframe","_tileset === undefined || hasEnabledWireframe")),N=document.createElement("p");N.setAttribute("data-bind","visible: _tileset !== undefined && !hasEnabledWireframe"),N.setAttribute("class","cesium-3DTilesInspector-disabledElementsInfo"),N.innerText="Set enableDebugWireframe to true in the tileset constructor to enable this option.",M.lastChild.appendChild(N),M.appendChild(y("\u5305\u56F4\u76D2","showBoundingVolumes")),M.appendChild(y("\u5185\u90E8\u5305\u56F4\u76D2","showContentBoundingVolumes")),M.appendChild(y("\u8BF7\u6C42\u5305\u56F4\u76D2","showRequestVolumes")),M.appendChild(y("\u70B9\u4E91\u7740\u8272","pointCloudShading"));let H=document.createElement("div");H.setAttribute("data-bind","visible: pointCloudShading"),H.appendChild(v("\u51E0\u4F55\u8BEF\u5DEE\u5C3A\u5EA6","geometricErrorScale",0,2,.01)),H.appendChild(v("\u6700\u5927\u8870\u51CF","maximumAttenuation",0,32,1)),H.appendChild(v("\u57FA\u672C\u5206\u8FA8\u7387","baseResolution",0,1,.01)),H.appendChild(y("\u9E70\u773C\u7A79\u9876\u5149\u7167 (EDL)","eyeDomeLighting")),M.appendChild(H);let J=document.createElement("div");J.setAttribute("data-bind","visible: eyeDomeLighting"),J.appendChild(v("EDL \u5F3A\u5EA6","eyeDomeLightingStrength",0,2,.1)),J.appendChild(v("EDL \u534A\u5F84","eyeDomeLightingRadius",0,4,.1)),H.appendChild(J),B.appendChild(y("\u51BB\u7ED3\u5E27","freezeFrame")),B.appendChild(y("\u52A8\u6001\u5C4F\u5E55\u7A7A\u95F4\u8BEF\u5DEE","dynamicScreenSpaceError"));let K=document.createElement("div");K.appendChild(v("\u6700\u5927\u5C4F\u5E55\u7A7A\u95F4\u8BEF\u5DEE","maximumScreenSpaceError",0,128,1)),B.appendChild(K);let X=document.createElement("div");X.setAttribute("data-bind","visible: dynamicScreenSpaceError"),X.appendChild(v("\u5C4F\u5E55\u7A7A\u95F4\u8BEF\u5DEE\u5BC6\u5EA6","dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"dynamicScreenSpaceErrorDensity")),X.appendChild(v("\u5C4F\u5E55\u7A7A\u95F4\u8BEF\u5DEE\u56E0\u5B50","dynamicScreenSpaceErrorFactor",1,10,.1)),B.appendChild(X),D.appendChild(y("\u5E27\u7387","performance")),D.appendChild(m),D.appendChild(y("\u7EDF\u8BA1\u4FE1\u606F","showStatistics"));let j=document.createElement("div");j.className="cesium-3dTilesInspector-statistics",j.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),D.appendChild(j),D.appendChild(y("\u62FE\u53D6\u7EDF\u8BA1","showPickStatistics"));let ee=document.createElement("div");ee.className="cesium-3dTilesInspector-statistics",ee.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),D.appendChild(ee),D.appendChild(y("\u8D44\u6E90\u7F13\u5B58\u7EDF\u8BA1","showResourceCacheStatistics"));let ie=document.createElement("div");ie.className="cesium-3dTilesInspector-statistics",ie.setAttribute("data-bind","html: resourceCacheStatisticsText, visible: showResourceCacheStatistics"),D.appendChild(ie);let z=document.createElement("div");P.appendChild(z),z.appendChild(document.createTextNode("\u989C\u8272\u6DF7\u5408\u6A21\u5F0F: "));let oe=document.createElement("select");oe.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),z.appendChild(oe);let le=document.createElement("textarea");le.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),z.className="cesium-cesiumInspector-styleEditor",z.appendChild(le);let Ae=w("\u7F16\u8BD1 (Ctrl+Enter)","compileStyle");z.appendChild(Ae);let he=document.createElement("div");he.className="cesium-cesiumInspector-error",he.setAttribute("data-bind","text: editorError"),z.appendChild(he),S.appendChild(y("\u4EC5\u663E\u793A\u62FE\u53D6\u74E6\u7247","showOnlyPickedTileDebugLabel")),S.appendChild(y("\u51E0\u4F55\u8BEF\u5DEE","showGeometricError")),S.appendChild(y("\u6E32\u67D3\u7EDF\u8BA1","showRenderingStatistics")),S.appendChild(y("\u5185\u5B58\u4F7F\u7528 (MB)","showMemoryUsage")),S.appendChild(y("\u74E6\u7247\u8DEF\u5F84","showUrl")),R.appendChild(y("\u8DF3\u8FC7\u74E6\u7247\u5C42\u7EA7","skipLevelOfDetail"));let ge=document.createElement("div");ge.appendChild(v("\u8DF3\u8FC7\u5C4F\u5E55\u8BEF\u5DEE\u56E0\u5B50","skipScreenSpaceErrorFactor",1,50,1)),R.appendChild(ge);let de=document.createElement("div");de.appendChild(v("\u57FA\u7840\u5C4F\u5E55\u7A7A\u95F4\u8BEF\u5DEE","baseScreenSpaceError",0,4096,1)),R.appendChild(de);let fe=document.createElement("div");fe.appendChild(v("\u8DF3\u8FC7\u5C42\u7EA7\u6570","skipLevels",0,10,1)),R.appendChild(fe),R.appendChild(y("\u4EC5\u52A0\u8F7D\u6EE1\u8DB3\u6700\u5927\u5C4F\u5E55\u8BEF\u5DEE\u7684\u74E6\u7247","immediatelyLoadDesiredLevelOfDetail")),R.appendChild(y("\u52A0\u8F7D\u53EF\u89C1\u74E6\u7247\u9644\u8FD1\u7684\u74E6\u7247","loadSiblings")),Vi.applyBindings(C,f)}Object.defineProperties(die.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});die.prototype.isDestroyed=function(){return!1};die.prototype.destroy=function(){return Vi.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ar(this)};var gBe=die;function AIi(o){let A;if(k(o)){A="Command Statistics";let f=o.commandsInFrustums;for(let m in f)if(f.hasOwnProperty(m)){let C=parseInt(m,10),E;if(C===7)E="1, 2 and 3";else{let I=[];for(let x=2;x>=0;x--){let y=Math.pow(2,x);C>=y&&(I.push(x+1),C-=y)}E=I.reverse().join(" and ")}A+=`<br>    ${f[m]} in frustum ${E}`}A+=`<br>Total: ${o.totalCommands}`}return A}function Rce(o,A,f){let m=Math.min(f,A);return m=Math.max(m,o),m}var uIi=new Oa,cIi=new Z;function XY(o,A){let f=this,m=o.canvas,C=new pr(m);this._eventHandler=C,this._scene=o,this._canvas=m,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=A;let E=this._scene.globe;E.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",Vi.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=Os(function(){f.dropDownVisible=!f.dropDownVisible}),this._toggleGeneral=Os(function(){f.generalVisible=!f.generalVisible}),this._togglePrimitives=Os(function(){f.primitivesVisible=!f.primitivesVisible}),this._toggleTerrain=Os(function(){f.terrainVisible=!f.terrainVisible}),this._frustumsSubscription=Vi.getObservable(this,"frustums").subscribe(function(v){f._scene.debugShowFrustums=v,f._scene.requestRender()}),this._frustumPlanesSubscription=Vi.getObservable(this,"frustumPlanes").subscribe(function(v){f._scene.debugShowFrustumPlanes=v,f._scene.requestRender()}),this._performanceSubscription=Vi.getObservable(this,"performance").subscribe(function(v){v?f._performanceDisplay=new yY({container:f._performanceContainer}):f._performanceContainer.innerHTML=""}),this._showPrimitiveBoundingSphere=Os(function(){return f._primitive.debugShowBoundingVolume=f.primitiveBoundingSphere,f._scene.requestRender(),!0}),this._primitiveBoundingSphereSubscription=Vi.getObservable(this,"primitiveBoundingSphere").subscribe(function(){f._showPrimitiveBoundingSphere()}),this._showPrimitiveReferenceFrame=Os(function(){if(f.primitiveReferenceFrame){let v=f._primitive.modelMatrix;f._modelMatrixPrimitive=new z_e({modelMatrix:v}),f._scene.primitives.add(f._modelMatrixPrimitive)}else k(f._modelMatrixPrimitive)&&(f._scene.primitives.remove(f._modelMatrixPrimitive),f._modelMatrixPrimitive=void 0);return f._scene.requestRender(),!0}),this._primitiveReferenceFrameSubscription=Vi.getObservable(this,"primitiveReferenceFrame").subscribe(function(){f._showPrimitiveReferenceFrame()}),this._doFilterPrimitive=Os(function(){return f.filterPrimitive?f._scene.debugCommandFilter=function(v){return k(f._modelMatrixPrimitive)&&v.owner===f._modelMatrixPrimitive._primitive?!0:k(f._primitive)?v.owner===f._primitive||v.owner===f._primitive._billboardCollection||v.owner.primitive===f._primitive:!1}:f._scene.debugCommandFilter=void 0,!0}),this._filterPrimitiveSubscription=Vi.getObservable(this,"filterPrimitive").subscribe(function(){f._doFilterPrimitive(),f._scene.requestRender()}),this._wireframeSubscription=Vi.getObservable(this,"wireframe").subscribe(function(v){E._surface.tileProvider._debug.wireframe=v,f._scene.requestRender()}),this._depthFrustumSubscription=Vi.getObservable(this,"depthFrustum").subscribe(function(v){f._scene.debugShowDepthFrustum=v,f._scene.requestRender()}),this._incrementDepthFrustum=Os(function(){let v=f.depthFrustum+1;return f.depthFrustum=Rce(1,f._numberOfFrustums,v),f._scene.requestRender(),!0}),this._decrementDepthFrustum=Os(function(){let v=f.depthFrustum-1;return f.depthFrustum=Rce(1,f._numberOfFrustums,v),f._scene.requestRender(),!0}),this._suspendUpdatesSubscription=Vi.getObservable(this,"suspendUpdates").subscribe(function(v){E._surface._debug.suspendLodUpdate=v,v||(f.filterTile=!1)});let I;this._showTileCoordinates=Os(function(){return f.tileCoordinates&&!k(I)?I=o.imageryLayers.addImageryProvider(new rBe({tilingScheme:o.terrainProvider.tilingScheme})):!f.tileCoordinates&&k(I)&&(o.imageryLayers.remove(I),I=void 0),!0}),this._tileCoordinatesSubscription=Vi.getObservable(this,"tileCoordinates").subscribe(function(){f._showTileCoordinates(),f._scene.requestRender()}),this._tileBoundingSphereSubscription=Vi.getObservable(this,"tileBoundingSphere").subscribe(function(){f._showTileBoundingSphere(),f._scene.requestRender()}),this._showTileBoundingSphere=Os(function(){return f.tileBoundingSphere?E._surface.tileProvider._debug.boundingSphereTile=f._tile:E._surface.tileProvider._debug.boundingSphereTile=void 0,f._scene.requestRender(),!0}),this._doFilterTile=Os(function(){return f.filterTile?(f.suspendUpdates=!0,E._surface._tilesToRender=[],k(f._tile)&&f._tile.renderable&&E._surface._tilesToRender.push(f._tile)):f.suspendUpdates=!1,!0}),this._filterTileSubscription=Vi.getObservable(this,"filterTile").subscribe(function(){f.doFilterTile(),f._scene.requestRender()});function x(v){let w=f._scene.pick({x:v.position.x,y:v.position.y});k(w)&&(f.primitive=k(w.collection)?w.collection:w.primitive),f._scene.requestRender(),f.pickPrimitiveActive=!1}this._pickPrimitive=Os(function(){f.pickPrimitiveActive=!f.pickPrimitiveActive}),this._pickPrimitiveActiveSubscription=Vi.getObservable(this,"pickPrimitiveActive").subscribe(function(v){v?C.setInputAction(x,_i.LEFT_CLICK):C.removeInputAction(_i.LEFT_CLICK)});function y(v){let w,Q=E.ellipsoid,M=f._scene.camera.getPickRay(v.position,uIi),B=E.pick(M,f._scene,cIi);if(k(B)){let D=Q.cartesianToCartographic(B),S=E._surface.tileProvider._tilesToRenderByTextureCount;for(let P=0;!w&&P<S.length;++P){let R=S[P];if(k(R))for(let T=0;!w&&T<R.length;++T){let L=R[T];hi.contains(L.rectangle,D)&&(w=L)}}}f.tile=w,f.pickTileActive=!1}this._pickTile=Os(function(){f.pickTileActive=!f.pickTileActive}),this._pickTileActiveSubscription=Vi.getObservable(this,"pickTileActive").subscribe(function(v){v?C.setInputAction(y,_i.LEFT_CLICK):C.removeInputAction(_i.LEFT_CLICK)}),this._removePostRenderEvent=o.postRender.addEventListener(function(){f._update()})}Object.defineProperties(XY.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){let o=this;return Os(function(){o.tile=o.tile.parent})}},selectNW:{get:function(){let o=this;return Os(function(){o.tile=o.tile.northwestChild})}},selectNE:{get:function(){let o=this;return Os(function(){o.tile=o.tile.northeastChild})}},selectSW:{get:function(){let o=this;return Os(function(){o.tile=o.tile.southwestChild})}},selectSE:{get:function(){let o=this;return Os(function(){o.tile=o.tile.southeastChild})}},primitive:{get:function(){return this._primitive},set:function(o){let A=this._primitive;o!==A&&(this.hasPickedPrimitive=!0,k(A)&&(A.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,k(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),this._primitive=o,o.show=!1,setTimeout(function(){o.show=!0},50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(o){if(k(o)){this.hasPickedTile=!0;let A=this._tile;if(o!==A){this.tileText=`L: ${o.level} X: ${o.x} Y: ${o.y}`,this.tileText+=`<br>SW corner: ${o.rectangle.west}, ${o.rectangle.south}`,this.tileText+=`<br>NE corner: ${o.rectangle.east}, ${o.rectangle.north}`;let f=o.data;k(f)&&k(f.tileBoundingRegion)?this.tileText+=`<br>Min: ${f.tileBoundingRegion.minimumHeight} Max: ${f.tileBoundingRegion.maximumHeight}`:this.tileText+="<br>(Tile is not loaded)"}this._tile=o,this.showTileBoundingSphere(),this.doFilterTile()}else this.hasPickedTile=!1,this._tile=void 0}}});XY.prototype._update=function(){this.frustums&&(this.frustumStatisticText=AIi(this._scene.debugFrustumStatistics));let o=this._scene.numberOfFrustums;this._numberOfFrustums=o,this.depthFrustum=Rce(1,o,this.depthFrustum),this.depthFrustumText=`${this.depthFrustum} of ${o}`,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText=`Cached shaders: ${this._scene.context.shaderCache.numberOfShaders}`};XY.prototype.isDestroyed=function(){return!1};XY.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),ar(this)};var fBe=XY;function gie(o,A){o=Ru(o);let f=document.createElement("div"),m=new fBe(A,f);this._viewModel=m,this._container=o;let C=document.createElement("div");this._element=C;let E=document.createElement("div");E.textContent="Cesium Inspector",E.className="cesium-cesiumInspector-button",E.setAttribute("data-bind","click: toggleDropDown"),C.appendChild(E),C.className="cesium-cesiumInspector",C.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),o.appendChild(this._element);let I=document.createElement("div");I.className="cesium-cesiumInspector-dropDown",C.appendChild(I);let x=mx.createSection,y=mx.createCheckbox,v=x(I,"General","generalVisible","toggleGeneral"),w=y("Show Frustums","frustums"),Q=document.createElement("div");Q.className="cesium-cesiumInspector-frustumStatistics",Q.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),w.appendChild(Q),v.appendChild(w),v.appendChild(y("Show Frustum Planes","frustumPlanes")),v.appendChild(y("Performance Display","performance")),f.className="cesium-cesiumInspector-performanceDisplay",v.appendChild(f);let M=document.createElement("div");M.className="cesium-cesiumInspector-shaderCache",M.setAttribute("data-bind","html: shaderCacheText"),v.appendChild(M);let B=document.createElement("div");v.appendChild(B);let D=document.createElement("span");D.setAttribute("data-bind",'html: "     Frustum:"'),B.appendChild(D);let S=document.createElement("span");S.setAttribute("data-bind","text: depthFrustumText"),B.appendChild(S);let P=document.createElement("input");P.type="button",P.value="-",P.className="cesium-cesiumInspector-pickButton",P.setAttribute("data-bind","click: decrementDepthFrustum"),B.appendChild(P);let R=document.createElement("input");R.type="button",R.value="+",R.className="cesium-cesiumInspector-pickButton",R.setAttribute("data-bind","click: incrementDepthFrustum"),B.appendChild(R);let T=x(I,"Primitives","primitivesVisible","togglePrimitives"),L=document.createElement("div");L.className="cesium-cesiumInspector-pickSection",T.appendChild(L);let F=document.createElement("input");F.type="button",F.value="Pick a primitive",F.className="cesium-cesiumInspector-pickButton",F.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');let U=document.createElement("div");U.className="cesium-cesiumInspector-center",U.appendChild(F),L.appendChild(U),L.appendChild(y("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),L.appendChild(y("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=y("Show only selected","filterPrimitive","hasPickedPrimitive"),L.appendChild(this._primitiveOnly);let N=x(I,"Terrain","terrainVisible","toggleTerrain"),H=document.createElement("div");H.className="cesium-cesiumInspector-pickSection",N.appendChild(H);let J=document.createElement("input");J.type="button",J.value="Pick a tile",J.className="cesium-cesiumInspector-pickButton",J.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),U=document.createElement("div"),U.appendChild(J),U.className="cesium-cesiumInspector-center",H.appendChild(U);let K=document.createElement("div");H.appendChild(K);let X=document.createElement("input");X.type="button",X.value="Parent",X.className="cesium-cesiumInspector-pickButton",X.setAttribute("data-bind","click: selectParent");let j=document.createElement("input");j.type="button",j.value="NW",j.className="cesium-cesiumInspector-pickButton",j.setAttribute("data-bind","click: selectNW");let ee=document.createElement("input");ee.type="button",ee.value="NE",ee.className="cesium-cesiumInspector-pickButton",ee.setAttribute("data-bind","click: selectNE");let ie=document.createElement("input");ie.type="button",ie.value="SW",ie.className="cesium-cesiumInspector-pickButton",ie.setAttribute("data-bind","click: selectSW");let z=document.createElement("input");z.type="button",z.value="SE",z.className="cesium-cesiumInspector-pickButton",z.setAttribute("data-bind","click: selectSE");let oe=document.createElement("div");oe.className="cesium-cesiumInspector-tileText",K.className="cesium-cesiumInspector-frustumStatistics",K.appendChild(oe),K.setAttribute("data-bind","visible: hasPickedTile"),oe.setAttribute("data-bind","html: tileText");let le=document.createElement("div");le.className="cesium-cesiumInspector-relativeText",le.textContent="Select relative:",K.appendChild(le);let Ae=document.createElement("table"),he=document.createElement("tr"),ge=document.createElement("tr"),de=document.createElement("td");de.appendChild(X);let fe=document.createElement("td");fe.appendChild(j);let G=document.createElement("td");G.appendChild(ee),he.appendChild(de),he.appendChild(fe),he.appendChild(G);let Y=document.createElement("td"),W=document.createElement("td");W.appendChild(ie);let O=document.createElement("td");O.appendChild(z),ge.appendChild(Y),ge.appendChild(W),ge.appendChild(O),Ae.appendChild(he),Ae.appendChild(ge),K.appendChild(Ae),H.appendChild(y("Show bounding volume","tileBoundingSphere","hasPickedTile")),H.appendChild(y("Show only selected","filterTile","hasPickedTile")),N.appendChild(y("Wireframe","wireframe")),N.appendChild(y("Suspend LOD update","suspendUpdates")),N.appendChild(y("Show tile coordinates","tileCoordinates")),Vi.applyBindings(m,this._element)}Object.defineProperties(gie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});gie.prototype.isDestroyed=function(){return!1};gie.prototype.destroy=function(){return Vi.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ar(this)};var pBe=gie;function oZe(o){o=ae(o,ae.EMPTY_OBJECT);let A=o.globe,f=ae(o.imageryProviderViewModels,[]),m=ae(o.terrainProviderViewModels,[]);this._globe=A,this.imageryProviderViewModels=f.slice(0),this.terrainProviderViewModels=m.slice(0),this.dropDownVisible=!1,Vi.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);let C=Vi.getObservable(this,"imageryProviderViewModels"),E=Vi.pureComputed(function(){let Q=C(),M={},B;for(B=0;B<Q.length;B++){let P=Q[B],R=P.category;k(M[R])?M[R].push(P):M[R]=[P]}let D=Object.keys(M),S=[];for(B=0;B<D.length;B++){let P=D[B];S.push({name:P,providers:M[P]})}return S});this._imageryProviders=E;let I=Vi.getObservable(this,"terrainProviderViewModels"),x=Vi.pureComputed(function(){let Q=I(),M={},B;for(B=0;B<Q.length;B++){let P=Q[B],R=P.category;k(M[R])?M[R].push(P):M[R]=[P]}let D=Object.keys(M),S=[];for(B=0;B<D.length;B++){let P=D[B];S.push({name:P,providers:M[P]})}return S});this._terrainProviders=x,this.buttonTooltip=void 0,Vi.defineProperty(this,"buttonTooltip",function(){let Q=this.selectedImagery,M=this.selectedTerrain,B=k(Q)?Q.name:void 0,D=k(M)?M.name:void 0;return k(B)&&k(D)?`${B} ${D}`:k(B)?B:D}),this.buttonImageUrl=void 0,Vi.defineProperty(this,"buttonImageUrl",function(){let Q=this.selectedImagery;if(k(Q))return Q.iconUrl}),this.selectedImagery=void 0;let y=Vi.observable();this._currentImageryLayers=[],Vi.defineProperty(this,"selectedImagery",{get:function(){return y()},set:function(Q){if(y()===Q){this.dropDownVisible=!1;return}let M,B=this._currentImageryLayers,D=B.length,S=this._globe.imageryLayers,P=!1;for(M=0;M<D;M++){let R=S.length;for(let T=0;T<R;T++){let L=S.get(T);if(L===B[M]){S.remove(L),P=!0;break}}}if(k(Q)){let R=Q.creationCommand();if(Array.isArray(R)){let T=R.length;for(this._currentImageryLayers=[],M=T-1;M>=0;M--){let L=ux.fromProviderAsync(R[M]);S.add(L,0),this._currentImageryLayers.push(L)}}else{this._currentImageryLayers=[];let T=ux.fromProviderAsync(R);if(T.name=Q.name,P)S.add(T,0);else{let L=S.get(0);k(L)&&S.remove(L),S.add(T,0)}this._currentImageryLayers.push(T)}}y(Q),this.dropDownVisible=!1}}),this.selectedTerrain=void 0;let v=Vi.observable();Vi.defineProperty(this,"selectedTerrain",{get:function(){return v()},set:function(Q){if(v()===Q){this.dropDownVisible=!1;return}let M;k(Q)&&(M=Q.creationCommand());let B=!1,D=this._globe.terrainProviderChanged.addEventListener(()=>{B=!0,D()}),S=new iBe(Promise.resolve(M)).readyEvent.addEventListener(P=>{B||(this._globe.depthTestAgainstTerrain=!(P instanceof pD),this._globe.terrainProvider=P,S())});v(Q),this.dropDownVisible=!1}});let w=this;this._toggleDropDown=Os(function(){w.dropDownVisible=!w.dropDownVisible}),this.selectedImagery=ae(o.selectedImageryProviderViewModel,f[0]),this.selectedTerrain=ae(o.selectedTerrainProviderViewModel,m[0])}Object.defineProperties(oZe.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}});var mBe=oZe;function fie(o,A){o=Ru(o);let f=new mBe(A),m=document.createElement("button");m.type="button",m.className="cesium-button cesium-toolbar-button",m.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),o.appendChild(m);let C=document.createElement("img");C.setAttribute("draggable","false"),C.className="cesium-baseLayerPicker-selected",C.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),m.appendChild(C);let E=document.createElement("div");E.className="cesium-baseLayerPicker-dropDown",E.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),o.appendChild(E);let I=document.createElement("div");I.className="cesium-baseLayerPicker-sectionTitle",I.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),I.innerHTML="Imagery",E.appendChild(I);let x=document.createElement("div");x.className="cesium-baseLayerPicker-section",x.setAttribute("data-bind","foreach: _imageryProviders"),E.appendChild(x);let y=document.createElement("div");y.className="cesium-baseLayerPicker-category",x.appendChild(y);let v=document.createElement("div");v.className="cesium-baseLayerPicker-categoryTitle",v.setAttribute("data-bind","text: name"),y.appendChild(v);let w=document.createElement("div");w.className="cesium-baseLayerPicker-choices",w.setAttribute("data-bind","foreach: providers"),y.appendChild(w);let Q=document.createElement("div");Q.className="cesium-baseLayerPicker-item",Q.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),w.appendChild(Q);let M=document.createElement("img");M.className="cesium-baseLayerPicker-itemIcon",M.setAttribute("data-bind","attr: { src: iconUrl }"),M.setAttribute("draggable","false"),Q.appendChild(M);let B=document.createElement("div");B.className="cesium-baseLayerPicker-itemLabel",B.setAttribute("data-bind","text: name"),Q.appendChild(B);let D=document.createElement("div");D.className="cesium-baseLayerPicker-sectionTitle",D.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),D.innerHTML="Terrain",E.appendChild(D);let S=document.createElement("div");S.className="cesium-baseLayerPicker-section",S.setAttribute("data-bind","foreach: _terrainProviders"),E.appendChild(S);let P=document.createElement("div");P.className="cesium-baseLayerPicker-category",S.appendChild(P);let R=document.createElement("div");R.className="cesium-baseLayerPicker-categoryTitle",R.setAttribute("data-bind","text: name"),P.appendChild(R);let T=document.createElement("div");T.className="cesium-baseLayerPicker-choices",T.setAttribute("data-bind","foreach: providers"),P.appendChild(T);let L=document.createElement("div");L.className="cesium-baseLayerPicker-item",L.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),T.appendChild(L);let F=document.createElement("img");F.className="cesium-baseLayerPicker-itemIcon",F.setAttribute("data-bind","attr: { src: iconUrl }"),F.setAttribute("draggable","false"),L.appendChild(F);let U=document.createElement("div");U.className="cesium-baseLayerPicker-itemLabel",U.setAttribute("data-bind","text: name"),L.appendChild(U),Vi.applyBindings(f,m),Vi.applyBindings(f,E),this._viewModel=f,this._container=o,this._element=m,this._dropPanel=E,this._closeDropDown=function(N){m.contains(N.target)||E.contains(N.target)||(f.dropDownVisible=!1)},co.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(fie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});fie.prototype.isDestroyed=function(){return!1};fie.prototype.destroy=function(){return co.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Vi.cleanNode(this._element),Vi.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),ar(this)};var CBe=fie;function aZe(o){let A=o.creationFunction;k(A.canExecute)||(A=Os(A)),this._creationCommand=A,this.name=o.name,this.tooltip=o.tooltip,this.iconUrl=o.iconUrl,this._category=ae(o.category,""),Vi.track(this,["name","tooltip","iconUrl"])}Object.defineProperties(aZe.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var Ug=aZe;function hIi(){let o=[];return o.push(new Ug({name:"Bing Maps Aerial",iconUrl:Ja("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return xU({style:cF.AERIAL})}})),o.push(new Ug({name:"Bing Maps Aerial with Labels",iconUrl:Ja("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return xU({style:cF.AERIAL_WITH_LABELS})}})),o.push(new Ug({name:"Bing Maps Roads",iconUrl:Ja("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return xU({style:cF.ROAD})}})),o.push(new Ug({name:"ArcGIS World Imagery",iconUrl:Ja("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png"),tooltip:`ArcGIS World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes 15m TerraColor imagery at small and mid-scales (~1:591M down to ~1:288k) for the world. The map features Maxar imagery at 0.3m resolution for select metropolitan areas around the world, 0.5m resolution across the United States and parts of Western Europe, and 1m resolution imagery across the rest of the world. In addition to commercial sources, the World Imagery map features high-resolution aerial photography contributed by the GIS User Community. This imagery ranges from 0.3m to 0.03m resolution (down to ~1:280 nin select communities). For more information on this map, including the terms of use, visit us online at https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9`,category:"Other",creationFunction:function(){return Zy.fromBasemapType(c2.SATELLITE,{enablePickFeatures:!1})}})),o.push(new Ug({name:"ArcGIS World Hillshade",iconUrl:Ja("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png"),tooltip:`ArcGIS World Hillshade map portrays elevation as an artistic hillshade. This map is designed to be used as a backdrop for topographical, soil, hydro, landcover or other outdoor recreational maps. The map was compiled from a variety of sources from several data providers. The basemap has global coverage down to a scale of ~1:72k. In select areas of the United States and Europe, coverage is available down to ~1:9k. For more information on this map, including the terms of use, visit us online at https://www.arcgis.com/home/item.html?id=1b243539f4514b6ba35e7d995890db1d`,category:"Other",creationFunction:function(){return Zy.fromBasemapType(c2.HILLSHADE,{enablePickFeatures:!1})}})),o.push(new Ug({name:"Esri World Ocean",iconUrl:Ja("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png"),tooltip:`ArcGIS World Ocean map is designed to be used as a base map by marine GIS professionals and as a reference map by anyone interested in ocean data. The base map features marine bathymetry. Land features include inland waters and roads overlaid on land cover and shaded relief imagery. The map was compiled from a variety of best available sources from several data providers, including General Bathymetric Chart of the Oceans GEBCO_08 Grid, National Oceanic and Atmospheric Administration (NOAA), and National Geographic, Garmin, HERE, Geonames.org, and Esri, and various other contributors. The base map currently provides coverage for the world down to a scale of ~1:577k, and coverage down to 1:72k in US coastal areas, and various other areas. Coverage down to ~ 1:9k is available limited areas based on regional hydrographic survey data. The base map was designed and developed by Esri. For more information on this map, including our terms of use, visit us online at https://www.arcgis.com/home/item.html?id=1e126e7520f9466c9ca28b8f28b5e500`,category:"Other",creationFunction:function(){return Zy.fromBasemapType(c2.OCEANS,{enablePickFeatures:!1})}})),o.push(new Ug({name:"Open\xADStreet\xADMap",iconUrl:Ja("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:`OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world. http://www.openstreetmap.org`,category:"Other",creationFunction:function(){return new rV({url:"https://a.tile.openstreetmap.org/"})}})),o.push(new Ug({name:"Stamen Watercolor",iconUrl:Ja("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:`Reminiscent of hand drawn maps, Stamen watercolor maps apply raster effect area washes and organic edges over a paper texture to add warm pop to any map. http://maps.stamen.com`,category:"Other",creationFunction:function(){return new rV({url:"https://stamen-tiles.a.ssl.fastly.net/watercolor/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),o.push(new Ug({name:"Stamen Toner",iconUrl:Ja("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:`A high contrast black and white map. http://maps.stamen.com`,category:"Other",creationFunction:function(){return new rV({url:"https://stamen-tiles.a.ssl.fastly.net/toner/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),o.push(new Ug({name:"Sentinel-2",iconUrl:Ja("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return h2.fromAssetId(3954)}})),o.push(new Ug({name:"Blue Marble",iconUrl:Ja("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return h2.fromAssetId(3845)}})),o.push(new Ug({name:"Earth at night",iconUrl:Ja("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return h2.fromAssetId(3812)}})),o.push(new Ug({name:"Natural Earth\xA0II",iconUrl:Ja("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:`Natural Earth II, darkened for contrast. http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:function(){return MB.fromUrl(Ja("Assets/Textures/NaturalEarthII"))}})),o}var EBe=hIi;function dIi(){let o=[];return o.push(new Ug({name:"WGS84 Ellipsoid",iconUrl:Ja("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new pD}})),o.push(new Ug({name:"Cesium World Terrain",iconUrl:Ja("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return Wte({requestWaterMask:!0,requestVertexNormals:!0})}})),o}var IBe=dIi;function pie(o,A){k(A)||(A=document.body),A=Ru(A);let f=this,m=Vi.observable(zg.fullscreen),C=Vi.observable(zg.enabled),E=A.ownerDocument;this.isFullscreen=void 0,Vi.defineProperty(this,"isFullscreen",{get:function(){return m()}}),this.isFullscreenEnabled=void 0,Vi.defineProperty(this,"isFullscreenEnabled",{get:function(){return C()},set:function(I){C(I&&zg.enabled)}}),this.tooltip=void 0,Vi.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?m()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=Os(function(){zg.fullscreen?zg.exitFullscreen():zg.requestFullscreen(f._fullscreenElement)},Vi.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=ae(Ru(o),E.body),this._callback=function(){m(zg.fullscreen)},E.addEventListener(zg.changeEventName,this._callback)}Object.defineProperties(pie.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(o){this._fullscreenElement=o}},command:{get:function(){return this._command}}});pie.prototype.isDestroyed=function(){return!1};pie.prototype.destroy=function(){document.removeEventListener(zg.changeEventName,this._callback),ar(this)};var xBe=pie,gIi="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",fIi="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z";function mie(o,A){o=Ru(o);let f=new xBe(A,o);f._exitFullScreenPath=fIi,f._enterFullScreenPath=gIi;let m=document.createElement("button");m.type="button",m.className="cesium-button cesium-fullscreenButton",m.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),o.appendChild(m),Vi.applyBindings(f,m),this._container=o,this._viewModel=f,this._element=m}Object.defineProperties(mie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});mie.prototype.isDestroyed=function(){return!1};mie.prototype.destroy=function(){return this._viewModel.destroy(),Vi.cleanNode(this._element),this._container.removeChild(this._element),ar(this)};var yBe=mie,Tke=1e3;function hv(o){k(o.geocoderServices)?this._geocoderServices=o.geocoderServices:this._geocoderServices=[new r_e,new g_e({scene:o.scene})],this._viewContainer=o.container,this._scene=o.scene,this._flightDuration=o.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._wasGeocodeCancelled=!1,this._previousCredits=[],this._complete=new ir,this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=Rke,this._handleArrowUp=Pke;let A=this;this._suggestionsVisible=Vi.pureComputed(function(){let m=Vi.getObservable(A,"_suggestions")().length>0,C=Vi.getObservable(A,"_showSuggestions")();return m&&C}),this._searchCommand=Os(function(m){if(m=ae(m,NY.SEARCH),A._focusTextbox=!1,k(A._selectedSuggestion))return A.activateSuggestion(A._selectedSuggestion),!1;if(A.hideSuggestions(),A.isSearchInProgress)xIi(A);else return EIi(A,A._geocoderServices,m)}),this.deselectSuggestion=function(){A._selectedSuggestion=void 0},this.handleKeyDown=function(m,C){let E=C.key==="ArrowDown"||C.key==="Down"||C.keyCode===40,I=C.key==="ArrowUp"||C.key==="Up"||C.keyCode===38;return(E||I)&&C.preventDefault(),!0},this.handleKeyUp=function(m,C){let E=C.key==="ArrowDown"||C.key==="Down"||C.keyCode===40,I=C.key==="ArrowUp"||C.key==="Up"||C.keyCode===38,x=C.key==="Enter"||C.keyCode===13;return I?Pke(A):E?Rke(A):x&&A._searchCommand(),!0},this.activateSuggestion=function(m){A.hideSuggestions(),A._searchText=m.displayName;let C=m.destination;AZe(A),A.destinationFound(A,C)},this.hideSuggestions=function(){A._showSuggestions=!1,A._selectedSuggestion=void 0},this.showSuggestions=function(){A._showSuggestions=!0},this.handleMouseover=function(m,C){m!==A._selectedSuggestion&&(A._selectedSuggestion=m)},this.keepExpanded=!1,this.autoComplete=ae(o.autocomplete,!0),this.destinationFound=ae(o.destinationFound,hv.flyToDestination),this._focusTextbox=!1,Vi.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);let f=Vi.getObservable(this,"_searchText");f.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=f.subscribe(function(){hv._updateSearchSuggestions(A)}),this.isSearchInProgress=void 0,Vi.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,Vi.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(m){this._searchText=m}}),this.flightDuration=void 0,Vi.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(m){this._flightDuration=m}})}Object.defineProperties(hv.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}});hv.prototype.destroy=function(){this._suggestionSubscription.dispose()};function Pke(o){if(o._suggestions.length===0)return;let A=o._suggestions.indexOf(o._selectedSuggestion);if(A===-1||A===0){o._selectedSuggestion=void 0;return}let f=A-1;o._selectedSuggestion=o._suggestions[f],hv._adjustSuggestionsScroll(o,f)}function Rke(o){if(o._suggestions.length===0)return;let A=o._suggestions.length,f=(o._suggestions.indexOf(o._selectedSuggestion)+1)%A;o._selectedSuggestion=o._suggestions[f],hv._adjustSuggestionsScroll(o,f)}function pIi(o,A){let f=k(A)?A.availability:void 0;return k(f)?bB(A,[o]).then(function(m){return o=m[0],o.height+=Tke,o}):(o.height+=Tke,Promise.resolve(o))}function mIi(o,A){let f=o._scene,m=f.mapProjection.ellipsoid,C=f.camera,E=f.terrainProvider,I=A,x;return A instanceof hi?De.equalsEpsilon(A.south,A.north,De.EPSILON7)&&De.equalsEpsilon(A.east,A.west,De.EPSILON7)?A=hi.center(A):x=tie(A,f):A=m.cartesianToCartographic(A),k(x)||(x=pIi(A,E)),x.then(function(y){I=m.cartographicToCartesian(y)}).finally(function(){C.flyTo({destination:I,complete:function(){o._complete.raiseEvent()},duration:o._flightDuration,endTransform:Re.IDENTITY})})}async function CIi(o,A,f){try{return{state:"fulfilled",value:await o.geocode(A,f),credits:o.credit}}catch(m){return{state:"rejected",reason:m}}}async function EIi(o,A,f){let m=o._searchText;if(lZe(m)){o.showSuggestions();return}o._isSearchInProgress=!0,o._wasGeocodeCancelled=!1;let C,E;for(C=0;C<A.length;C++){if(o._wasGeocodeCancelled)return;if(E=await CIi(A[C],m,f),k(E)&&E.state==="fulfilled"&&E.value.length>0)break}if(o._wasGeocodeCancelled)return;o._isSearchInProgress=!1,_Be(o);let I=E.value;if(E.state==="fulfilled"&&k(I)&&I.length>0){o._searchText=I[0].displayName,o.destinationFound(o,I[0].destination);let x=sZe(o,Xte.getCreditsFromResult(I[0]));k(x)||vBe(o,A[C].credit);return}o._searchText=`${m} (not found)`}function vBe(o,A){k(A)&&!o._scene.isDestroyed()&&!o._scene.frameState.creditDisplay.isDestroyed()&&(o._scene.frameState.creditDisplay.addStaticCredit(A),o._previousCredits.push(A))}function sZe(o,A){return k(A)&&A.forEach(f=>vBe(o,f)),A}function _Be(o){!o._scene.isDestroyed()&&!o._scene.frameState.creditDisplay.isDestroyed()&&o._previousCredits.forEach(A=>{o._scene.frameState.creditDisplay.removeStaticCredit(A)}),o._previousCredits.length=0}function IIi(o,A){let f=Ru(o._viewContainer),m=f.getElementsByClassName("search-results")[0],C=f.getElementsByTagName("li")[A];if(A===0){m.scrollTop=0;return}let E=C.offsetTop;E+C.clientHeight>m.clientHeight?m.scrollTop=E+C.clientHeight:E<m.scrollTop&&(m.scrollTop=E)}function xIi(o){o._isSearchInProgress&&(o._isSearchInProgress=!1,o._wasGeocodeCancelled=!0)}function lZe(o){return/^\s*$/.test(o)}function AZe(o){Vi.getObservable(o,"_suggestions").removeAll()}async function yIi(o){if(!o.autoComplete)return;let A=o._searchText;if(AZe(o),_Be(o),!lZe(A))for(let f of o._geocoderServices){let m=await f.geocode(A,NY.AUTOCOMPLETE);if(o._suggestions=o._suggestions.concat(m),m.length>0){let C=!0;m.forEach(E=>{let I=Xte.getCreditsFromResult(E);C=C&&!k(I),sZe(o,I)}),C&&vBe(o,f.credit)}if(o._suggestions.length>=5)return}}hv.flyToDestination=mIi;hv._updateSearchSuggestions=yIi;hv._adjustSuggestionsScroll=IIi;hv.prototype.isDestroyed=function(){return!1};hv.prototype.destroy=function(){return _Be(this),ar(this)};var BBe=hv,vIi="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",_Ii="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z";function Cie(o){let A=Ru(o.container),f=new BBe(o);f._startSearchPath=vIi,f._stopSearchPath=_Ii;let m=document.createElement("form");m.setAttribute("data-bind","submit: search");let C=document.createElement("input");C.type="search",C.className="cesium-geocoder-input",C.setAttribute("placeholder","Enter an address or landmark..."),C.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout(function(){C.select()},0)},C.addEventListener("focus",this._onTextBoxFocus,!1),m.appendChild(C),this._textBox=C;let E=document.createElement("span");E.className="cesium-geocoder-searchButton",E.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),m.appendChild(E),A.appendChild(m);let I=document.createElement("div");I.className="search-results",I.setAttribute("data-bind","visible: _suggestionsVisible");let x=document.createElement("ul");x.setAttribute("data-bind","foreach: _suggestions");let y=document.createElement("li");x.appendChild(y),y.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),I.appendChild(x),A.appendChild(I),Vi.applyBindings(f,m),Vi.applyBindings(f,I),this._container=A,this._searchSuggestionsContainer=I,this._viewModel=f,this._form=m,this._onInputBegin=function(v){let w=v.target;typeof v.composedPath=="function"&&(w=v.composedPath()[0]),A.contains(w)||(f._focusTextbox=!1,f.hideSuggestions())},this._onInputEnd=function(v){f._focusTextbox=!0,f.showSuggestions()},co.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),A.addEventListener("pointerup",this._onInputEnd,!0),A.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),A.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),A.addEventListener("touchend",this._onInputEnd,!0),A.addEventListener("touchcancel",this._onInputEnd,!0))}Object.defineProperties(Cie.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}});Cie.prototype.isDestroyed=function(){return!1};Cie.prototype.destroy=function(){let o=this._container;return co.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),o.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),o.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),o.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),Vi.cleanNode(this._form),Vi.cleanNode(this._searchSuggestionsContainer),o.removeChild(this._form),o.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),ar(this)};var wBe=Cie;function uZe(o,A){this._scene=o,this._duration=A;let f=this;this._command=Os(function(){f._scene.camera.flyHome(f._duration)}),this.tooltip="View Home",Vi.track(this,["tooltip"])}Object.defineProperties(uZe.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(o){this._duration=o}}});var bBe=uZe;function Eie(o,A,f){o=Ru(o);let m=new bBe(A,f);m._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";let C=document.createElement("button");C.type="button",C.className="cesium-button cesium-toolbar-button cesium-home-button",C.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),o.appendChild(C),Vi.applyBindings(m,C),this._container=o,this._viewModel=m,this._element=C}Object.defineProperties(Eie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Eie.prototype.isDestroyed=function(){return!1};Eie.prototype.destroy=function(){return Vi.cleanNode(this._element),this._container.removeChild(this._element),ar(this)};var QBe=Eie,BIi="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",wIi="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z";function SBe(){this._cameraClicked=new ir,this._closeClicked=new ir,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",Vi.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,Vi.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?wIi:BIi}}),Vi.defineProperty(this,"_bodyless",{get:function(){return!k(this.description)||this.description.length===0}})}SBe.prototype.maxHeightOffset=function(o){return`${this.maxHeight-o}px`};Object.defineProperties(SBe.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}});var DBe=SBe;function Iie(o){o=Ru(o);let A=document.createElement("div");A.className="cesium-infoBox",A.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),o.appendChild(A);let f=document.createElement("div");f.className="cesium-infoBox-title",f.setAttribute("data-bind","text: titleText"),A.appendChild(f);let m=document.createElement("button");m.type="button",m.className="cesium-button cesium-infoBox-camera",m.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),A.appendChild(m);let C=document.createElement("button");C.type="button",C.className="cesium-infoBox-close",C.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),C.innerHTML="×",A.appendChild(C);let E=document.createElement("iframe");E.className="cesium-infoBox-iframe",E.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),E.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),E.setAttribute("allowfullscreen",!0),A.appendChild(E);let I=new DBe;Vi.applyBindings(I,A),this._container=o,this._element=A,this._frame=E,this._viewModel=I,this._descriptionSubscription=void 0;let x=this;E.addEventListener("load",function(){let y=E.contentDocument,v=y.createElement("link");v.href=Ja("Widgets/InfoBox/InfoBoxDescription.css"),v.rel="stylesheet",v.type="text/css";let w=y.createElement("div");w.className="cesium-infoBox-description",y.head.appendChild(v),y.body.appendChild(w),x._descriptionSubscription=jE(I,"description",function(Q){E.style.height="5px",w.innerHTML=Q;let M=null,B=w.firstElementChild;if(B!==null&&w.childNodes.length===1){let S=window.getComputedStyle(B);if(S!==null){let P=S["background-color"],R=qe.fromCssColorString(P);k(R)&&R.alpha!==0&&(M=S["background-color"])}}A.style["background-color"]=M;let D=w.getBoundingClientRect().height;E.style.height=`${D}px`})}),E.setAttribute("src","about:blank")}Object.defineProperties(Iie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}});Iie.prototype.isDestroyed=function(){return!1};Iie.prototype.destroy=function(){let o=this._container;return Vi.cleanNode(this._element),o.removeChild(this._element),k(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),ar(this)};var MBe=Iie;function cZe(){this.showInstructions=!1;let o=this;this._command=Os(function(){o.showInstructions=!o.showInstructions}),this._showClick=Os(function(){o._touch=!1}),this._showTouch=Os(function(){o._touch=!0}),this._touch=!1,this.tooltip="Navigation Instructions",Vi.track(this,["tooltip","showInstructions","_touch"])}Object.defineProperties(cZe.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}});var TBe=cZe;function xie(o){let A=Ru(o.container),f=new TBe,m=ae(o.instructionsInitiallyVisible,!1);f.showInstructions=m,f._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";let C=document.createElement("span");C.className="cesium-navigationHelpButton-wrapper",A.appendChild(C);let E=document.createElement("button");E.type="button",E.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",E.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),C.appendChild(E);let I=document.createElement("div");I.className="cesium-navigation-help",I.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),C.appendChild(I);let x=document.createElement("button");x.type="button",x.className="cesium-navigation-button cesium-navigation-button-left",x.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');let y=document.createElement("img");y.src=Ja("Widgets/Images/NavigationHelp/Mouse.svg"),y.className="cesium-navigation-button-icon",y.style.width="25px",y.style.height="25px",x.appendChild(y),x.appendChild(document.createTextNode("Mouse"));let v=document.createElement("button");v.type="button",v.className="cesium-navigation-button cesium-navigation-button-right",v.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');let w=document.createElement("img");w.src=Ja("Widgets/Images/NavigationHelp/Touch.svg"),w.className="cesium-navigation-button-icon",w.style.width="25px",w.style.height="25px",v.appendChild(w),v.appendChild(document.createTextNode("Touch")),I.appendChild(x),I.appendChild(v);let Q=document.createElement("div");Q.className="cesium-click-navigation-help cesium-navigation-help-instructions",Q.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),Q.innerHTML=` <table> <tr> <td><img src="${Ja("Widgets/Images/NavigationHelp/MouseLeft.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="${Ja("Widgets/Images/NavigationHelp/MouseRight.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="${Ja("Widgets/Images/NavigationHelp/MouseMiddle.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>`,I.appendChild(Q);let M=document.createElement("div");M.className="cesium-touch-navigation-help cesium-navigation-help-instructions",M.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),M.innerHTML=` <table> <tr> <td><img src="${Ja("Widgets/Images/NavigationHelp/TouchDrag.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="${Ja("Widgets/Images/NavigationHelp/TouchZoom.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="${Ja("Widgets/Images/NavigationHelp/TouchTilt.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="${Ja("Widgets/Images/NavigationHelp/TouchRotate.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>`,I.appendChild(M),Vi.applyBindings(f,C),this._container=A,this._viewModel=f,this._wrapper=C,this._closeInstructions=function(B){C.contains(B.target)||(f.showInstructions=!1)},co.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}Object.defineProperties(xie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});xie.prototype.isDestroyed=function(){return!1};xie.prototype.destroy=function(){return co.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),Vi.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ar(this)};var PBe=xie;function RBe(o){this._scene=o.scene,this.lowFrameRateMessage=ae(o.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,Vi.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);let A=this;this._dismissMessage=Os(function(){A.showingLowFrameRateMessage=!1,A.lowFrameRateMessageDismissed=!0});let f=Y_e.fromScene(o.scene);this._unsubscribeLowFrameRate=f.lowFrameRate.addEventListener(function(){A.lowFrameRateMessageDismissed||(A.showingLowFrameRateMessage=!0)}),this._unsubscribeNominalFrameRate=f.nominalFrameRate.addEventListener(function(){A.showingLowFrameRateMessage=!1})}Object.defineProperties(RBe.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}});RBe.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),ar(this)};var LBe=RBe;function yie(o){let A=Ru(o.container),f=new LBe(o),m=document.createElement("div");m.className="cesium-performance-watchdog-message-area",m.setAttribute("data-bind","visible: showingLowFrameRateMessage");let C=document.createElement("button");C.setAttribute("type","button"),C.className="cesium-performance-watchdog-message-dismiss",C.innerHTML="×",C.setAttribute("data-bind","click: dismissMessage"),m.appendChild(C);let E=document.createElement("div");E.className="cesium-performance-watchdog-message",E.setAttribute("data-bind","html: lowFrameRateMessage"),m.appendChild(E),A.appendChild(m),Vi.applyBindings(f,m),this._container=A,this._viewModel=f,this._element=m}Object.defineProperties(yie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});yie.prototype.isDestroyed=function(){return!1};yie.prototype.destroy=function(){return this._viewModel.destroy(),Vi.cleanNode(this._element),this._container.removeChild(this._element),ar(this)};var FBe=yie;function vie(o){this._scene=o,this._orthographic=o.camera.frustum instanceof $a,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=o.mode,Vi.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);let A=this;Vi.defineProperty(this,"selectedTooltip",function(){return A._orthographic?A.tooltipOrthographic:A.tooltipPerspective}),this._toggleDropDown=Os(function(){A.sceneMode===ii.SCENE2D||A._flightInProgress||(A.dropDownVisible=!A.dropDownVisible)}),this._eventHelper=new Lm,this._eventHelper.add(o.morphComplete,function(f,m,C,E){A.sceneMode=C,A._orthographic=C===ii.SCENE2D||A._scene.camera.frustum instanceof $a}),this._eventHelper.add(o.preRender,function(){A._flightInProgress=k(o.camera._currentFlight)}),this._switchToPerspective=Os(function(){A.sceneMode!==ii.SCENE2D&&(A._scene.camera.switchToPerspectiveFrustum(),A._orthographic=!1,A.dropDownVisible=!1)}),this._switchToOrthographic=Os(function(){A.sceneMode!==ii.SCENE2D&&(A._scene.camera.switchToOrthographicFrustum(),A._orthographic=!0,A.dropDownVisible=!1)}),this._sceneMode=ii}Object.defineProperties(vie.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}});vie.prototype.isDestroyed=function(){return!1};vie.prototype.destroy=function(){this._eventHelper.removeAll(),ar(this)};var NBe=vie,bIi="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",QIi="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function _ie(o,A){o=Ru(o);let f=new NBe(A);f._perspectivePath=bIi,f._orthographicPath=QIi;let m=document.createElement("span");m.className="cesium-projectionPicker-wrapper cesium-toolbar-button",o.appendChild(m);let C=document.createElement("button");C.type="button",C.className="cesium-button cesium-toolbar-button",C.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),C.innerHTML='<!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --><!-- /ko -->',m.appendChild(C);let E=document.createElement("button");E.type="button",E.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",E.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),m.appendChild(E);let I=document.createElement("button");I.type="button",I.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",I.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),m.appendChild(I),Vi.applyBindings(f,m),this._viewModel=f,this._container=o,this._wrapper=m,this._closeDropDown=function(x){m.contains(x.target)||(f.dropDownVisible=!1)},co.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(_ie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});_ie.prototype.isDestroyed=function(){return!1};_ie.prototype.destroy=function(){return this._viewModel.destroy(),co.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Vi.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ar(this)};var kBe=_ie;function Bie(o,A){this._scene=o;let f=this,m=function(C,E,I,x){f.sceneMode=I,f.dropDownVisible=!1};this._eventHelper=new Lm,this._eventHelper.add(o.morphStart,m),this._duration=ae(A,2),this.sceneMode=o.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",Vi.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,Vi.defineProperty(this,"selectedTooltip",function(){let C=f.sceneMode;return C===ii.SCENE2D?f.tooltip2D:C===ii.SCENE3D?f.tooltip3D:f.tooltipColumbusView}),this._toggleDropDown=Os(function(){f.dropDownVisible=!f.dropDownVisible}),this._morphTo2D=Os(function(){o.morphTo2D(f._duration)}),this._morphTo3D=Os(function(){o.morphTo3D(f._duration)}),this._morphToColumbusView=Os(function(){o.morphToColumbusView(f._duration)}),this._sceneMode=ii}Object.defineProperties(Bie.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(o){this._duration=o}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}});Bie.prototype.isDestroyed=function(){return!1};Bie.prototype.destroy=function(){this._eventHelper.removeAll(),ar(this)};var UBe=Bie,SIi="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",DIi="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",MIi="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z";function wie(o,A,f){o=Ru(o);let m=new UBe(A,f);m._globePath=SIi,m._flatMapPath=DIi,m._columbusViewPath=MIi;let C=document.createElement("span");C.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",o.appendChild(C);let E=document.createElement("button");E.type="button",E.className="cesium-button cesium-toolbar-button",E.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),E.innerHTML='<!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --><!-- /ko -->',C.appendChild(E);let I=document.createElement("button");I.type="button",I.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",I.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),C.appendChild(I);let x=document.createElement("button");x.type="button",x.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",x.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),C.appendChild(x);let y=document.createElement("button");y.type="button",y.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",y.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),C.appendChild(y),Vi.applyBindings(m,C),this._viewModel=m,this._container=o,this._wrapper=C,this._closeDropDown=function(v){C.contains(v.target)||(m.dropDownVisible=!1)},co.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(wie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});wie.prototype.isDestroyed=function(){return!1};wie.prototype.destroy=function(){return this._viewModel.destroy(),co.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Vi.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ar(this)};var OBe=wie,TIi=new tt,AZ="-1000px";function ZY(o,A,f){this._scene=o,this._screenPositionX=AZ,this._screenPositionY=AZ,this._tweens=o.tweens,this._container=ae(f,document.body),this._selectionIndicatorElement=A,this._scale=1,this.position=void 0,this.showSelection=!1,Vi.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,Vi.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&k(this.position)}}),Vi.defineProperty(this,"_transform",{get:function(){return`scale(${this._scale})`}}),this.computeScreenSpacePosition=function(m,C){return ms.wgs84ToWindowCoordinates(o,m,C)}}ZY.prototype.update=function(){if(this.showSelection&&k(this.position)){let o=this.computeScreenSpacePosition(this.position,TIi);if(!k(o))this._screenPositionX=AZ,this._screenPositionY=AZ;else{let A=this._container,f=A.parentNode.clientWidth,m=A.parentNode.clientHeight,C=this._selectionIndicatorElement.clientWidth,E=C*.5;o.x=Math.min(Math.max(o.x,-C),f+C)-E,o.y=Math.min(Math.max(o.y,-C),m+C)-E,this._screenPositionX=`${Math.floor(o.x+.25)}px`,this._screenPositionY=`${Math.floor(o.y+.25)}px`}}};ZY.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:Qm.EXPONENTIAL_OUT})};ZY.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:Qm.EXPONENTIAL_OUT})};Object.defineProperties(ZY.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}});var GBe=ZY;function bie(o,A){o=Ru(o),this._container=o;let f=document.createElement("div");f.className="cesium-selection-wrapper",f.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),o.appendChild(f),this._element=f;let m="http://www.w3.org/2000/svg",C="M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z",E=document.createElementNS(m,"svg:svg");E.setAttribute("width",160),E.setAttribute("height",160),E.setAttribute("viewBox","0 0 160 160");let I=document.createElementNS(m,"g");I.setAttribute("transform","translate(80,80)"),E.appendChild(I);let x=document.createElementNS(m,"path");x.setAttribute("data-bind","attr: { transform: _transform }"),x.setAttribute("d",C),I.appendChild(x),f.appendChild(E);let y=new GBe(A,this._element,this._container);this._viewModel=y,Vi.applyBindings(this._viewModel,this._element)}Object.defineProperties(bie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});bie.prototype.isDestroyed=function(){return!1};bie.prototype.destroy=function(){let o=this._container;return Vi.cleanNode(this._element),o.removeChild(this._element),ar(this)};var HBe=bie;function jN(o,A,f){this._color=o,this._height=A,this._base=ae(f,0)}jN.prototype.getHeight=function(){return this._height};jN.prototype.getBase=function(){return this._base};jN.prototype.getStartTime=function(){return this._start};jN.prototype.getStopTime=function(){return this._stop};jN.prototype.setRange=function(o,A){this._start=o,this._stop=A};jN.prototype.render=function(o){let A="";if(this._start&&this._stop&&this._color){let f=jt.secondsDifference(this._start,o.epochJulian),m=Math.round(o.timeBarWidth*o.getAlpha(f)),C=jt.secondsDifference(this._stop,o.epochJulian),E=Math.round(o.timeBarWidth*o.getAlpha(C))-m;m<0&&(E+=m,m=0),m+E>o.timeBarWidth&&(E=o.timeBarWidth-m),E>0&&(A=`<span class="cesium-timeline-highlight" style="left: ${m.toString()}px; width: ${E.toString()}px; bottom: ${this._base.toString()}px; height: ${this._height}px; background-color: ${this._color};"></span>`)}return A};var VBe=jN;function hZe(o,A,f,m){this.interval=o,this.height=A,this.color=f||new qe(.5,.5,.5,1),this.backgroundColor=m||new qe(0,0,0,0)}hZe.prototype.render=function(o,A){let f=this.interval.start,m=this.interval.stop,C=A.startJulian,E=jt.addSeconds(A.startJulian,A.duration,new jt);if(jt.lessThan(f,C)&&jt.greaterThan(m,E))o.fillStyle=this.color.toCssColorString(),o.fillRect(0,A.y,A.timeBarWidth,this.height);else if(jt.lessThanOrEquals(f,E)&&jt.greaterThanOrEquals(m,C)){let I,x,y;for(I=0;I<A.timeBarWidth;++I){let v=jt.addSeconds(A.startJulian,I/A.timeBarWidth*A.duration,new jt);!k(x)&&jt.greaterThanOrEquals(v,f)?x=I:!k(y)&&jt.greaterThanOrEquals(v,m)&&(y=I)}o.fillStyle=this.backgroundColor.toCssColorString(),o.fillRect(0,A.y,A.timeBarWidth,this.height),k(x)&&(k(y)||(y=A.timeBarWidth),o.fillStyle=this.color.toCssColorString(),o.fillRect(x,A.y,Math.max(y-x,1),this.height))}};var zBe=hZe,EAe=1e12,Ky={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},yC={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},pT=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6];function YC(o,A){o=Ru(o);let f=o.ownerDocument;this.container=o;let m=f.createElement("div");m.className="cesium-timeline-main",o.appendChild(m),this._topDiv=m,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=A,this._scrubJulian=A.currentTime,this._mainTicSpan=-1,this._mouseMode=Ky.none,this._touchMode=yC.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(A.startTime,A.stopTime),this._onMouseDown=PIi(this),this._onMouseUp=RIi(this),this._onMouseMove=LIi(this),this._onMouseWheel=FIi(this),this._onTouchStart=NIi(this),this._onTouchMove=UIi(this),this._onTouchEnd=kIi(this);let C=this._timeBarEle;f.addEventListener("mouseup",this._onMouseUp,!1),f.addEventListener("mousemove",this._onMouseMove,!1),C.addEventListener("mousedown",this._onMouseDown,!1),C.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),C.addEventListener("mousewheel",this._onMouseWheel,!1),C.addEventListener("touchstart",this._onTouchStart,!1),C.addEventListener("touchmove",this._onTouchMove,!1),C.addEventListener("touchend",this._onTouchEnd,!1),C.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},A.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}YC.prototype.addEventListener=function(o,A,f){this._topDiv.addEventListener(o,A,f)};YC.prototype.removeEventListener=function(o,A,f){this._topDiv.removeEventListener(o,A,f)};YC.prototype.isDestroyed=function(){return!1};YC.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);let o=this.container.ownerDocument;o.removeEventListener("mouseup",this._onMouseUp,!1),o.removeEventListener("mousemove",this._onMouseMove,!1);let A=this._timeBarEle;A.removeEventListener("mousedown",this._onMouseDown,!1),A.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),A.removeEventListener("mousewheel",this._onMouseWheel,!1),A.removeEventListener("touchstart",this._onTouchStart,!1),A.removeEventListener("touchmove",this._onTouchMove,!1),A.removeEventListener("touchend",this._onTouchEnd,!1),A.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),ar(this)};YC.prototype.addHighlightRange=function(o,A,f){let m=new VBe(o,A,f);return this._highlightRanges.push(m),this.resize(),m};YC.prototype.addTrack=function(o,A,f,m){let C=new zBe(o,A,f,m);return this._trackList.push(C),this._lastHeight=void 0,this.resize(),C};YC.prototype.zoomTo=function(o,A){if(this._startJulian=o,this._endJulian=A,this._timeBarSecondsSpan=jt.secondsDifference(A,o),this._clock&&this._clock.clockRange!==u0.UNBOUNDED){let m=this._clock.startTime,C=this._clock.stopTime,E=jt.secondsDifference(C,m),I=jt.secondsDifference(m,this._startJulian),x=jt.secondsDifference(C,this._endJulian);this._timeBarSecondsSpan>=E?(this._timeBarSecondsSpan=E,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):I>0?(this._endJulian=jt.addSeconds(this._endJulian,I,new jt),this._startJulian=m,this._timeBarSecondsSpan=jt.secondsDifference(this._endJulian,this._startJulian)):x<0&&(this._startJulian=jt.addSeconds(this._startJulian,x,new jt),this._endJulian=C,this._timeBarSecondsSpan=jt.secondsDifference(this._endJulian,this._startJulian))}this._makeTics();let f=document.createEvent("Event");f.initEvent("setzoom",!0,!0),f.startJulian=this._startJulian,f.endJulian=this._endJulian,f.epochJulian=this._epochJulian,f.totalSpan=this._timeBarSecondsSpan,f.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(f)};YC.prototype.zoomFrom=function(o){let A=jt.secondsDifference(this._scrubJulian,this._startJulian);o>1||A<0||A>this._timeBarSecondsSpan?A=this._timeBarSecondsSpan*.5:A+=A-this._timeBarSecondsSpan*.5;let f=this._timeBarSecondsSpan-A;this.zoomTo(jt.addSeconds(this._startJulian,A-A*o,new jt),jt.addSeconds(this._endJulian,f*o-f,new jt))};YC.prototype.makeLabel=function(o){let A=new Date(o);return`${A.getFullYear()} ${A.getMonth()+1} ${A.getDate()-1} ${A.getHours()}:${A.getMinutes()}:${A.getSeconds()}`};YC.prototype.smallestTicInPixels=7;YC.prototype._makeTics=function(){let o=this._timeBarEle,A=jt.secondsDifference(this._scrubJulian,this._startJulian),f=Math.round(A*this._topDiv.clientWidth/this._timeBarSecondsSpan),m=f-8,C,E=this;this._needleEle.style.left=`${f.toString()}px`;let I="",x=.01,y=31536e6,v=1e-10,w=0,Q=this._timeBarSecondsSpan;Q<x?(Q=x,this._timeBarSecondsSpan=x,this._endJulian=jt.addSeconds(this._startJulian,x,new jt)):Q>y&&(Q=y,this._timeBarSecondsSpan=y,this._endJulian=jt.addSeconds(this._startJulian,y,new jt));let M=this._timeBarEle.clientWidth;M<10&&(M=10);let B=this._startJulian,D=Math.min(Q/M*1e-5,.4),S,P=jt.toGregorianDate(B);Q>31536e4?S=jt.fromDate(new Date(Date.UTC(Math.floor(P.year/100)*100,0))):Q>31536e3?S=jt.fromDate(new Date(Date.UTC(Math.floor(P.year/10)*10,0))):Q>86400?S=jt.fromDate(new Date(Date.UTC(P.year,0))):S=jt.fromDate(new Date(Date.UTC(P.year,P.month,P.day)));let R=jt.secondsDifference(this._startJulian,jt.addSeconds(S,D,new jt)),T=R+Q;this._epochJulian=S;function L(de){return Math.floor(R/de)*de}function F(de,fe){return Math.ceil(de/fe+.5)*fe}function U(de){return(de-R)/Q}function N(de,fe){return de-fe*Math.round(de/fe)}this._rulerEle.innerHTML=this.makeLabel(jt.addSeconds(this._endJulian,-x,new jt));let H=this._rulerEle.offsetWidth+20;H<30&&(H=180);let J=w;w-=v;let K={startTime:R,startJulian:B,epochJulian:S,duration:Q,timeBarWidth:M,getAlpha:U};this._highlightRanges.forEach(function(de){I+=de.render(K)});let X=0,j=0,ee=0,ie=H/M;ie>1&&(ie=1),ie*=this._timeBarSecondsSpan;let z=-1,oe=-1,le=pT.length,Ae;for(Ae=0;Ae<le;++Ae){let de=pT[Ae];if(++z,X=de,de>ie&&de>w)break;oe<0&&M*(de/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(oe=z)}if(z>0){for(;z>0;)if(--z,Math.abs(N(X,pT[z]))<1e-5){pT[z]>=w&&(j=pT[z]);break}if(oe>=0)for(;oe<z;){if(Math.abs(N(j,pT[oe]))<1e-5&&pT[oe]>=w){ee=pT[oe];break}++oe}}w=J,w>v&&ee<1e-5&&Math.abs(w-X)>v&&(ee=w,w<=X+v&&(j=0));let he=-999999,ge;if(M*(ee/this._timeBarSecondsSpan)>=3)for(C=L(ee);C<=T;C=F(C,ee))I+=`<span class="cesium-timeline-ticTiny" style="left: ${Math.round(M*U(C)).toString()}px;"></span>`;if(M*(j/this._timeBarSecondsSpan)>=3)for(C=L(j);C<=T;C=F(C,j))I+=`<span class="cesium-timeline-ticSub" style="left: ${Math.round(M*U(C)).toString()}px;"></span>`;if(M*(X/this._timeBarSecondsSpan)>=2){this._mainTicSpan=X,T+=X,C=L(X);let de=jt.computeTaiMinusUtc(S);for(;C<=T;){let fe=jt.addSeconds(B,C-R,new jt);if(X>2.1){let O=jt.computeTaiMinusUtc(fe);Math.abs(O-de)>.1&&(C+=O-de,fe=jt.addSeconds(B,C-R,new jt))}let G=Math.round(M*U(C)),Y=this.makeLabel(fe);this._rulerEle.innerHTML=Y,ge=this._rulerEle.offsetWidth,ge<10&&(ge=H);let W=G-(ge/2-1);W>he?(he=W+ge+5,I+=`<span class="cesium-timeline-ticMain" style="left: ${G.toString()}px;"></span><span class="cesium-timeline-ticLabel" style="left: ${W.toString()}px;">${Y}</span>`):I+=`<span class="cesium-timeline-ticSub" style="left: ${G.toString()}px;"></span>`,C=F(C,X)}}else this._mainTicSpan=-1;I+=`<span class="cesium-timeline-icon16" style="left:${m}px;bottom:0;background-position: 0 0;"></span>`,o.innerHTML=I,this._scrubElement=o.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),K.y=0,this._trackList.forEach(function(de){de.render(E._context,K),K.y+=de.height})};YC.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;let o=this._scrubElement;if(k(this._scrubElement)){let A=jt.secondsDifference(this._scrubJulian,this._startJulian),f=Math.round(A*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==f&&(this._lastXPos=f,o.style.left=`${f-8}px`,this._needleEle.style.left=`${f}px`)}k(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(jt.addSeconds(this._startJulian,this._timelineDrag,new jt),jt.addSeconds(this._endJulian,this._timelineDrag,new jt)))};YC.prototype._setTimeBarTime=function(o,A){if(o=Math.round(o),this._scrubJulian=jt.addSeconds(this._startJulian,A,new jt),this._scrubElement){let m=o-8;this._scrubElement.style.left=`${m.toString()}px`,this._needleEle.style.left=`${o.toString()}px`}let f=document.createEvent("Event");f.initEvent("settime",!0,!0),f.clientX=o,f.timeSeconds=A,f.timeJulian=this._scrubJulian,f.clock=this._clock,this._topDiv.dispatchEvent(f)};function PIi(o){return function(A){o._mouseMode!==Ky.touchOnly&&(A.button===0?(o._mouseMode=Ky.scrub,o._scrubElement&&(o._scrubElement.style.backgroundPosition="-16px 0"),o._onMouseMove(A)):(o._mouseX=A.clientX,A.button===2?o._mouseMode=Ky.zoom:o._mouseMode=Ky.slide)),A.preventDefault()}}function RIi(o){return function(A){o._mouseMode=Ky.none,o._scrubElement&&(o._scrubElement.style.backgroundPosition="0 0"),o._timelineDrag=0,o._timelineDragLocation=void 0}}function LIi(o){return function(A){let f;if(o._mouseMode===Ky.scrub){A.preventDefault();let m=A.clientX-o._topDiv.getBoundingClientRect().left;m<0?(o._timelineDragLocation=0,o._timelineDrag=-.01*o._timeBarSecondsSpan):m>o._topDiv.clientWidth?(o._timelineDragLocation=o._topDiv.clientWidth,o._timelineDrag=.01*o._timeBarSecondsSpan):(o._timelineDragLocation=void 0,o._setTimeBarTime(m,m*o._timeBarSecondsSpan/o._topDiv.clientWidth))}else if(o._mouseMode===Ky.slide){if(f=o._mouseX-A.clientX,o._mouseX=A.clientX,f!==0){let m=f*o._timeBarSecondsSpan/o._topDiv.clientWidth;o.zoomTo(jt.addSeconds(o._startJulian,m,new jt),jt.addSeconds(o._endJulian,m,new jt))}}else o._mouseMode===Ky.zoom&&(f=o._mouseX-A.clientX,o._mouseX=A.clientX,f!==0&&o.zoomFrom(Math.pow(1.01,f)))}}function FIi(o){return function(A){let f=A.wheelDeltaY||A.wheelDelta||-A.detail;EAe=Math.max(Math.min(Math.abs(f),EAe),1),f/=EAe,o.zoomFrom(Math.pow(1.05,-f))}}function NIi(o){return function(A){let f=A.touches.length,m,C,E=o._topDiv.getBoundingClientRect().left;A.preventDefault(),o._mouseMode=Ky.touchOnly,f===1?(m=jt.secondsDifference(o._scrubJulian,o._startJulian),C=Math.round(m*o._topDiv.clientWidth/o._timeBarSecondsSpan+E),Math.abs(A.touches[0].clientX-C)<50?(o._touchMode=yC.scrub,o._scrubElement&&(o._scrubElement.style.backgroundPosition=f===1?"-16px 0":"0 0")):(o._touchMode=yC.singleTap,o._touchState.centerX=A.touches[0].clientX-E)):f===2?(o._touchMode=yC.slideZoom,o._touchState.centerX=(A.touches[0].clientX+A.touches[1].clientX)*.5-E,o._touchState.spanX=Math.abs(A.touches[0].clientX-A.touches[1].clientX)):o._touchMode=yC.ignore}}function kIi(o){return function(A){let f=A.touches.length,m=o._topDiv.getBoundingClientRect().left;o._touchMode===yC.singleTap?(o._touchMode=yC.scrub,o._onTouchMove(A)):o._touchMode===yC.scrub&&o._onTouchMove(A),o._mouseMode=Ky.touchOnly,f!==1?o._touchMode=f>0?yC.ignore:yC.none:o._touchMode===yC.slideZoom&&(o._touchState.centerX=A.touches[0].clientX-m),o._scrubElement&&(o._scrubElement.style.backgroundPosition="0 0")}}function UIi(o){return function(A){let f,m,C,E,I,x,y=1,v=o._topDiv.getBoundingClientRect().left;o._touchMode===yC.singleTap&&(o._touchMode=yC.slideZoom),o._mouseMode=Ky.touchOnly,o._touchMode===yC.scrub?(A.preventDefault(),A.changedTouches.length===1&&(m=A.changedTouches[0].clientX-v,m>=0&&m<=o._topDiv.clientWidth&&o._setTimeBarTime(m,m*o._timeBarSecondsSpan/o._topDiv.clientWidth))):o._touchMode===yC.slideZoom&&(C=A.touches.length,C===2?(E=(A.touches[0].clientX+A.touches[1].clientX)*.5-v,I=Math.abs(A.touches[0].clientX-A.touches[1].clientX)):C===1&&(E=A.touches[0].clientX-v,I=0),k(E)&&(I>0&&o._touchState.spanX>0?(y=o._touchState.spanX/I,x=jt.addSeconds(o._startJulian,(o._touchState.centerX*o._timeBarSecondsSpan-E*o._timeBarSecondsSpan*y)/o._topDiv.clientWidth,new jt)):(f=o._touchState.centerX-E,x=jt.addSeconds(o._startJulian,f*o._timeBarSecondsSpan/o._topDiv.clientWidth,new jt)),o.zoomTo(x,jt.addSeconds(x,o._timeBarSecondsSpan*y,new jt)),o._touchState.centerX=E,o._touchState.spanX=I))}}YC.prototype.resize=function(){let o=this.container.clientWidth,A=this.container.clientHeight;if(o===this._lastWidth&&A===this._lastHeight)return;this._trackContainer.style.height=`${A}px`;let f=1;this._trackList.forEach(function(m){f+=m.height}),this._trackListEle.style.height=`${f.toString()}px`,this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=f,this._makeTics(),this._lastXPos=void 0,this._lastWidth=o,this._lastHeight=A};var YBe=YC,OIi=Ku(Mht(),1);function GIi(o){let A=!1,f=window.screen;return k(f)&&(k(f.lockOrientation)?A=f.lockOrientation(o):k(f.mozLockOrientation)?A=f.mozLockOrientation(o):k(f.msLockOrientation)?A=f.msLockOrientation(o):k(f.orientation&&f.orientation.lock)&&(A=f.orientation.lock(o))),A}function dZe(){let o=window.screen;k(o)&&(k(o.unlockOrientation)?o.unlockOrientation():k(o.mozUnlockOrientation)?o.mozUnlockOrientation():k(o.msUnlockOrientation)?o.msUnlockOrientation():k(o.orientation&&o.orientation.unlock)&&o.orientation.unlock())}function HIi(o,A,f,m){m()||(f()?(A.useWebVR=!1,o._locked&&(dZe(),o._locked=!1),o._noSleep.disable(),zg.exitFullscreen(),f(!1)):(zg.fullscreen||zg.requestFullscreen(o._vrElement),o._noSleep.enable(),o._locked||(o._locked=GIi("landscape")),A.useWebVR=!0,f(!0)))}function Qie(o,A){let f=this,m=Vi.observable(zg.enabled),C=Vi.observable(!1);this.isVRMode=void 0,Vi.defineProperty(this,"isVRMode",{get:function(){return C()}}),this.isVREnabled=void 0,Vi.defineProperty(this,"isVREnabled",{get:function(){return m()},set:function(I){m(I&&zg.enabled)}}),this.tooltip=void 0,Vi.defineProperty(this,"tooltip",function(){return m()?C()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"});let E=Vi.observable(!1);this._isOrthographic=void 0,Vi.defineProperty(this,"_isOrthographic",{get:function(){return E()}}),this._eventHelper=new Lm,this._eventHelper.add(o.preRender,function(){E(o.camera.frustum instanceof $a)}),this._locked=!1,this._noSleep=new OIi.default,this._command=Os(function(){HIi(f,o,C,E)},Vi.getObservable(this,"isVREnabled")),this._vrElement=ae(Ru(A),document.body),this._callback=function(){!zg.fullscreen&&C()&&(o.useWebVR=!1,f._locked&&(dZe(),f._locked=!1),f._noSleep.disable(),C(!1))},document.addEventListener(zg.changeEventName,this._callback)}Object.defineProperties(Qie.prototype,{vrElement:{get:function(){return this._vrElement},set:function(o){this._vrElement=o}},command:{get:function(){return this._command}}});Qie.prototype.isDestroyed=function(){return!1};Qie.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(zg.changeEventName,this._callback),ar(this)};var JBe=Qie,VIi="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",zIi="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function Sie(o,A,f){o=Ru(o);let m=new JBe(A,f);m._exitVRPath=zIi,m._enterVRPath=VIi;let C=document.createElement("button");C.type="button",C.className="cesium-button cesium-vrButton",C.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),o.appendChild(C),Vi.applyBindings(m,C),this._container=o,this._viewModel=m,this._element=C}Object.defineProperties(Sie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Sie.prototype.isDestroyed=function(){return!1};Sie.prototype.destroy=function(){return this._viewModel.destroy(),Vi.cleanNode(this._element),this._container.removeChild(this._element),ar(this)};var KBe=Sie,JT=new si;function gZe(o){let A=o.clock;A.currentTime=o.timeJulian,A.shouldAnimate=!1}function YIi(o){let A=o.getPropertyIds(),f="";return A.forEach(function(m){let C=o.getProperty(m);k(C)&&(f+=`<tr><th>${m}</th><td>${C}</td></tr>`)}),f.length>0&&(f=`<table class="cesium-infoBox-defaultTable"><tbody>${f}</tbody></table>`),f}function JIi(o){let A,f=[],m=o.getPropertyIds();for(A=0;A<m.length;A++){let E=m[A];/^name$/i.test(E)?f[0]=o.getProperty(E):/name/i.test(E)?f[1]=o.getProperty(E):/^title$/i.test(E)?f[2]=o.getProperty(E):/^(id|identifier)$/i.test(E)?f[3]=o.getProperty(E):/element/i.test(E)?f[4]=o.getProperty(E):/(id|identifier)$/i.test(E)&&(f[5]=o.getProperty(E))}let C=f.length;for(A=0;A<C;A++){let E=f[A];if(k(E)&&E!=="")return E}return"Unnamed Feature"}function Lke(o,A){let f=o.scene.pick(A.position);if(k(f)){let m=ae(f.id,f.primitive.id);if(m instanceof Fu)return m;if(f instanceof Ga)return new Fu({name:JIi(f),description:YIi(f),feature:f})}if(k(o.scene.globe))return qIi(o,A.position)}var KIi=new jt;function fZe(o,A,f){if(k(f)){let m=f.clock;if(k(m)&&(m.getValue(A),k(o))){let C=m.startTime,E=m.stopTime;jt.equals(C,E)&&(E=jt.addSeconds(C,De.EPSILON2,KIi)),o.updateFromClock(),o.zoomTo(C,E)}}}var WIi=new Z;function qIi(o,A){let f=o.scene,m=f.camera.getPickRay(A),C=f.imageryLayers.pickImageryLayerFeatures(m,f);if(!k(C))return;let E=new Fu({id:"Loading...",description:"Loading feature information..."});return C.then(function(I){if(o.selectedEntity!==E)return;if(!k(I)||I.length===0){o.selectedEntity=Fke();return}let x=I[0],y=new Fu({id:x.name,description:x.description});if(k(x.position)){let v=o.scene.globe.ellipsoid.cartographicToCartesian(x.position,WIi);y.position=new d1(v)}o.selectedEntity=y},function(){o.selectedEntity===E&&(o.selectedEntity=Fke())}),E}function Fke(){return new Fu({id:"None",description:"No features found."})}function jIi(o,A){let f=o._geocoder,m=o._homeButton,C=o._sceneModePicker,E=o._projectionPicker,I=o._baseLayerPicker,x=o._animation,y=o._timeline,v=o._fullscreenButton,w=o._infoBox,Q=o._selectionIndicator,M=A?"hidden":"visible";if(k(f)&&(f.container.style.visibility=M),k(m)&&(m.container.style.visibility=M),k(C)&&(C.container.style.visibility=M),k(E)&&(E.container.style.visibility=M),k(I)&&(I.container.style.visibility=M),k(x)&&(x.container.style.visibility=M),k(y)&&(y.container.style.visibility=M),k(v)&&v.viewModel.isFullscreenEnabled&&(v.container.style.visibility=M),k(w)&&(w.container.style.visibility=M),k(Q)&&(Q.container.style.visibility=M),o._container){let B=A||!k(v)?0:v.container.clientWidth;o._vrButton.container.style.right=`${B}px`,o.forceResize()}}function tA(o,A){o=Ru(o),A=ae(A,ae.EMPTY_OBJECT);let f=(!k(A.globe)||A.globe!==!1)&&(!k(A.baseLayerPicker)||A.baseLayerPicker!==!1),m=this,C=document.createElement("div");C.className="cesium-viewer",o.appendChild(C);let E=document.createElement("div");E.className="cesium-viewer-cesiumWidgetContainer",C.appendChild(E);let I=document.createElement("div");I.className="cesium-viewer-bottom",C.appendChild(I);let x=ae(A.scene3DOnly,!1),y,v,w=!1;k(A.clockViewModel)?(v=A.clockViewModel,y=v.clock):(y=new WO,v=new uBe(y),w=!0),k(A.shouldAnimate)&&(y.shouldAnimate=A.shouldAnimate);let Q=new MY(E,{baseLayer:f||k(A.baseLayer)||k(A.imageryProvider)?!1:void 0,clock:y,skyBox:A.skyBox,skyAtmosphere:A.skyAtmosphere,sceneMode:A.sceneMode,mapProjection:A.mapProjection,globe:A.globe,orderIndependentTranslucency:A.orderIndependentTranslucency,contextOptions:A.contextOptions,useDefaultRenderLoop:A.useDefaultRenderLoop,targetFrameRate:A.targetFrameRate,showRenderLoopErrors:A.showRenderLoopErrors,useBrowserRecommendedResolution:A.useBrowserRecommendedResolution,creditContainer:k(A.creditContainer)?A.creditContainer:I,creditViewport:A.creditViewport,scene3DOnly:x,shadows:A.shadows,terrainShadows:A.terrainShadows,mapMode2D:A.mapMode2D,blurActiveElementOnCanvasFocus:A.blurActiveElementOnCanvasFocus,requestRenderMode:A.requestRenderMode,maximumRenderTimeChange:A.maximumRenderTimeChange,depthPlaneEllipsoidOffset:A.depthPlaneEllipsoidOffset,msaaSamples:A.msaaSamples}),M=A.dataSources,B=!1;k(M)||(M=new KIe,B=!0);let D=Q.scene,S=new cY({scene:D,dataSourceCollection:M}),P=new Lm;P.add(y.onTick,tA.prototype._onTick,this),P.add(D.morphStart,tA.prototype._clearTrackedObject,this);let R;if(!k(A.selectionIndicator)||A.selectionIndicator!==!1){let G=document.createElement("div");G.className="cesium-viewer-selectionIndicatorContainer",C.appendChild(G),R=new HBe(G,D)}let T;if(!k(A.infoBox)||A.infoBox!==!1){let G=document.createElement("div");G.className="cesium-viewer-infoBoxContainer",C.appendChild(G),T=new MBe(G);let Y=T.viewModel;P.add(Y.cameraClicked,tA.prototype._onInfoBoxCameraClicked,this),P.add(Y.closeClicked,tA.prototype._onInfoBoxClockClicked,this)}let L=document.createElement("div");L.className="cesium-viewer-toolbar",C.appendChild(L);let F;if(!k(A.geocoder)||A.geocoder!==!1){let G=document.createElement("div");G.className="cesium-viewer-geocoderContainer",L.appendChild(G);let Y;k(A.geocoder)&&typeof A.geocoder!="boolean"&&(Y=Array.isArray(A.geocoder)?A.geocoder:[A.geocoder]),F=new wBe({container:G,geocoderServices:Y,scene:D}),P.add(F.viewModel.search.beforeExecute,tA.prototype._clearObjects,this)}let U;(!k(A.homeButton)||A.homeButton!==!1)&&(U=new QBe(L,D),k(F)&&P.add(U.viewModel.command.afterExecute,function(){let G=F.viewModel;G.searchText="",G.isSearchInProgress&&G.search()}),P.add(U.viewModel.command.beforeExecute,tA.prototype._clearTrackedObject,this));let N;!x&&(!k(A.sceneModePicker)||A.sceneModePicker!==!1)&&(N=new OBe(L,D));let H;A.projectionPicker&&(H=new kBe(L,D));let J,K;if(f){let G=ae(A.imageryProviderViewModels,EBe()),Y=ae(A.terrainProviderViewModels,IBe());J=new CBe(L,{globe:D.globe,imageryProviderViewModels:G,selectedImageryProviderViewModel:A.selectedImageryProviderViewModel,terrainProviderViewModels:Y,selectedTerrainProviderViewModel:A.selectedTerrainProviderViewModel}),K=L.getElementsByClassName("cesium-baseLayerPicker-dropDown")[0]}k(A.imageryProvider)&&A.imageryProvider!==!1&&($t("Viewer options.imageryProvider","options.imageryProvider was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use options.baseLayer instead."),f&&(J.viewModel.selectedImagery=void 0),D.imageryLayers.removeAll(),D.imageryLayers.addImageryProvider(A.imageryProvider)),k(A.baseLayer)&&A.baseLayer!==!1&&(f&&(J.viewModel.selectedImagery=void 0),D.imageryLayers.removeAll(),D.imageryLayers.add(A.baseLayer)),k(A.terrainProvider)&&(f&&(J.viewModel.selectedTerrain=void 0),D.terrainProvider=A.terrainProvider),k(A.terrain)&&(f&&(J.viewModel.selectedTerrain=void 0,D.globe.depthTestAgainstTerrain=!0),D.setTerrain(A.terrain));let X;if(!k(A.navigationHelpButton)||A.navigationHelpButton!==!1){let G=!0;try{if(k(window.localStorage)){let Y=window.localStorage.getItem("cesium-hasSeenNavHelp");k(Y)&&Y?G=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch{}X=new PBe({container:L,instructionsInitiallyVisible:ae(A.navigationInstructionsInitiallyVisible,G)})}let j;if(!k(A.animation)||A.animation!==!1){let G=document.createElement("div");G.className="cesium-viewer-animationContainer",C.appendChild(G),j=new cBe(G,new hBe(v))}let ee;if(!k(A.timeline)||A.timeline!==!1){let G=document.createElement("div");G.className="cesium-viewer-timelineContainer",C.appendChild(G),ee=new YBe(G,y),ee.addEventListener("settime",gZe,!1),ee.zoomTo(y.startTime,y.stopTime)}let ie,z,oe;(!k(A.fullscreenButton)||A.fullscreenButton!==!1)&&(oe=document.createElement("div"),oe.className="cesium-viewer-fullscreenContainer",C.appendChild(oe),ie=new yBe(oe,A.fullscreenElement),z=jE(ie.viewModel,"isFullscreenEnabled",function(G){oe.style.display=G?"block":"none",k(ee)&&(ee.container.style.right=`${oe.clientWidth}px`,ee.resize())}));let le,Ae,he;if(A.vrButton){let G=document.createElement("div");G.className="cesium-viewer-vrContainer",C.appendChild(G),le=new KBe(G,D,A.fullScreenElement),Ae=jE(le.viewModel,"isVREnabled",function(Y){G.style.display=Y?"block":"none",k(ie)&&(G.style.right=`${oe.clientWidth}px`),k(ee)&&(ee.container.style.right=`${G.clientWidth}px`,ee.resize())}),he=jE(le.viewModel,"isVRMode",function(Y){jIi(m,Y)})}this._baseLayerPickerDropDown=K,this._fullscreenSubscription=z,this._vrSubscription=Ae,this._vrModeSubscription=he,this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=ae(A.automaticallyTrackDataSourceClocks,!0),this._container=o,this._bottomContainer=I,this._element=C,this._cesiumWidget=Q,this._selectionIndicator=R,this._infoBox=T,this._dataSourceCollection=M,this._destroyDataSourceCollection=B,this._dataSourceDisplay=S,this._clockViewModel=v,this._destroyClockViewModel=w,this._toolbar=L,this._homeButton=U,this._sceneModePicker=N,this._projectionPicker=H,this._baseLayerPicker=J,this._navigationHelpButton=X,this._animation=j,this._timeline=ee,this._fullscreenButton=ie,this._vrButton=le,this._geocoder=F,this._eventHelper=P,this._lastWidth=0,this._lastHeight=0,this._allowDataSourcesToSuspendAnimation=!0,this._entityView=void 0,this._enableInfoOrSelection=k(T)||k(R),this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._selectedEntity=void 0,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._selectedEntityChanged=new ir,this._trackedEntityChanged=new ir,Vi.track(this,["_trackedEntity","_selectedEntity","_clockTrackedDataSource"]),P.add(M.dataSourceAdded,tA.prototype._onDataSourceAdded,this),P.add(M.dataSourceRemoved,tA.prototype._onDataSourceRemoved,this),P.add(D.postUpdate,tA.prototype.resize,this),P.add(D.postRender,tA.prototype._postRender,this);let ge=M.length;for(let G=0;G<ge;G++)this._dataSourceAdded(M,M.get(G));this._dataSourceAdded(void 0,S.defaultDataSource),P.add(M.dataSourceAdded,tA.prototype._dataSourceAdded,this),P.add(M.dataSourceRemoved,tA.prototype._dataSourceRemoved,this);function de(G){let Y=Lke(m,G);k(Y)?Ct.getValueOrUndefined(Y.position,m.clock.currentTime)?m.trackedEntity=Y:m.zoomTo(Y):k(m.trackedEntity)&&(m.trackedEntity=void 0)}function fe(G){m.selectedEntity=Lke(m,G)}Q.screenSpaceEventHandler.setInputAction(fe,_i.LEFT_CLICK),Q.screenSpaceEventHandler.setInputAction(de,_i.LEFT_DOUBLE_CLICK)}Object.defineProperties(tA.prototype,{container:{get:function(){return this._container}},creditDisplay:{get:function(){return this._cesiumWidget.creditDisplay}},bottomContainer:{get:function(){return this._bottomContainer}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(o){this.scene.shadowMap.enabled=o}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(o){this.scene.globe.shadows=o}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(o){this.scene.terrainProvider=o}},camera:{get:function(){return this.scene.camera}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(o){this._cesiumWidget.targetFrameRate=o}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(o){this._cesiumWidget.useDefaultRenderLoop=o}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(o){this._cesiumWidget.resolutionScale=o}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(o){this._cesiumWidget.useBrowserRecommendedResolution=o}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(o){this._allowDataSourcesToSuspendAnimation=o}},trackedEntity:{get:function(){return this._trackedEntity},set:function(o){if(this._trackedEntity!==o){this._trackedEntity=o,uZ(this);let A=this.scene,f=A.mode;!k(o)||!k(o.position)?(this._needTrackedEntityUpdate=!1,(f===ii.COLUMBUS_VIEW||f===ii.SCENE2D)&&(A.screenSpaceCameraController.enableTranslate=!0),(f===ii.COLUMBUS_VIEW||f===ii.SCENE3D)&&(A.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(Re.IDENTITY)):this._needTrackedEntityUpdate=!0,this._trackedEntityChanged.raiseEvent(o),this.scene.requestRender()}}},selectedEntity:{get:function(){return this._selectedEntity},set:function(o){if(this._selectedEntity!==o){this._selectedEntity=o;let A=k(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;k(o)?k(A)&&A.animateAppear():k(A)&&A.animateDepart(),this._selectedEntityChanged.raiseEvent(o)}}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(o){this._clockTrackedDataSource!==o&&(this._clockTrackedDataSource=o,fZe(this._timeline,this.clock,o))}}});tA.prototype.extend=function(o,A){o(this,A)};tA.prototype.resize=function(){let o=this._cesiumWidget,A=this._container,f=A.clientWidth,m=A.clientHeight,C=k(this._animation),E=k(this._timeline);if(o.resize(),f===this._lastWidth&&m===this._lastHeight)return;let I=m-125,x=this._baseLayerPickerDropDown;if(k(x)&&(x.style.maxHeight=`${I}px`),k(this._geocoder)){let B=this._geocoder.searchSuggestionsContainer;B.style.maxHeight=`${I}px`}k(this._infoBox)&&(this._infoBox.viewModel.maxHeight=I);let y=this._timeline,v,w=0,Q=0,M=0;if(C&&window.getComputedStyle(this._animation.container).visibility!=="hidden"){let B=this._lastWidth;v=this._animation.container,f>900?(w=169,B<=900&&(v.style.width="169px",v.style.height="112px",this._animation.resize())):f>=600?(w=136,(B<600||B>900)&&(v.style.width="136px",v.style.height="90px",this._animation.resize())):(w=106,(B>600||B===0)&&(v.style.width="106px",v.style.height="70px",this._animation.resize())),Q=w+5}if(E&&window.getComputedStyle(this._timeline.container).visibility!=="hidden"){let B=this._fullscreenButton,D=this._vrButton,S=y.container,P=S.style;M=S.clientHeight+3,P.left=`${w}px`;let R=0;k(B)&&(R+=B.container.clientWidth),k(D)&&(R+=D.container.clientWidth),P.right=`${R}px`,y.resize()}this._bottomContainer.style.left=`${Q}px`,this._bottomContainer.style.bottom=`${M}px`,this._lastWidth=f,this._lastHeight=m};tA.prototype.forceResize=function(){this._lastWidth=0,this.resize()};tA.prototype.render=function(){this._cesiumWidget.render()};tA.prototype.isDestroyed=function(){return!1};tA.prototype.destroy=function(){let o;this.screenSpaceEventHandler.removeInputAction(_i.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(_i.LEFT_DOUBLE_CLICK);let A=this.dataSources,f=A.length;for(o=0;o<f;o++)this._dataSourceRemoved(A,A.get(o));return this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),k(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),k(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),k(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),k(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),k(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),k(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),k(this._timeline)&&(this._timeline.removeEventListener("settime",gZe,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),k(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),k(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),k(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),k(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),ar(this)};tA.prototype._dataSourceAdded=function(o,A){A.entities.collectionChanged.addEventListener(tA.prototype._onEntityCollectionChanged,this)};tA.prototype._dataSourceRemoved=function(o,A){let f=A.entities;f.collectionChanged.removeEventListener(tA.prototype._onEntityCollectionChanged,this),k(this.trackedEntity)&&f.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0),k(this.selectedEntity)&&f.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)};tA.prototype._onTick=function(o){let A=o.currentTime,f=this._dataSourceDisplay.update(A);this._allowDataSourcesToSuspendAnimation&&(this._clockViewModel.canAnimate=f);let m=this._entityView;if(k(m)){let B=this._trackedEntity;this._dataSourceDisplay.getBoundingSphere(B,!1,JT)===Vn.DONE&&m.update(A,JT)}let C,E=!1,I=this.selectedEntity,x=k(I)&&this._enableInfoOrSelection;x&&I.isShowing&&I.isAvailable(A)&&(this._dataSourceDisplay.getBoundingSphere(I,!0,JT)!==Vn.FAILED?C=JT.center:k(I.position)&&(C=I.position.getValue(A,C)),E=k(C));let y=this.imageryLayers,v,w;for(w=0;w<y.length;w++)v=y.get(w),v&&v._availability&&(v.show=v.isAvailable(A));let Q=k(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;k(Q)&&(Q.position=Z.clone(C,Q.position),Q.showSelection=x&&E,Q.update());let M=k(this._infoBox)?this._infoBox.viewModel:void 0;k(M)&&(M.showInfo=x,M.enableCamera=E,M.isCameraTracking=this.trackedEntity===this.selectedEntity,x?(M.titleText=ae(I.name,I.id),M.description=Ct.getValueOrDefault(I.description,A,"")):(M.titleText="",M.description=""))};tA.prototype._onEntityCollectionChanged=function(o,A,f){let m=f.length;for(let C=0;C<m;C++){let E=f[C];this.trackedEntity===E&&(this.trackedEntity=void 0),this.selectedEntity===E&&(this.selectedEntity=void 0)}};tA.prototype._onInfoBoxCameraClicked=function(o){if(o.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void 0;else{let A=this.selectedEntity.position;k(A)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}};tA.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};tA.prototype._onInfoBoxClockClicked=function(o){this.selectedEntity=void 0};tA.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0};tA.prototype._onDataSourceChanged=function(o){this.clockTrackedDataSource===o&&fZe(this.timeline,this.clock,o)};tA.prototype._onDataSourceAdded=function(o,A){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=A);let f=A.entities.id,m=this._eventHelper.add(A.changedEvent,tA.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[f]=m};tA.prototype._onDataSourceRemoved=function(o,A){let f=this.clockTrackedDataSource===A,m=A.entities.id;if(this._dataSourceChangedListeners[m](),this._dataSourceChangedListeners[m]=void 0,f){let C=o.length;this._automaticallyTrackDataSourceClocks&&C>0?this.clockTrackedDataSource=o.get(C-1):this.clockTrackedDataSource=void 0}};tA.prototype.zoomTo=function(o,A){return pZe(this,o,{offset:A},!1)};tA.prototype.flyTo=function(o,A){return pZe(this,o,A,!0)};function pZe(o,A,f,m){uZ(o);let C=new Promise(E=>{o._completeZoom=function(I){E(I)}});return o._zoomPromise=C,o._zoomIsFlight=m,o._zoomOptions=f,Promise.resolve(A).then(function(E){if(o._zoomPromise===C){if(E instanceof ux){let I;if(k(E.imageryProvider)){let x=Promise.resolve();k(E.imageryProvider._readyPromise)?x=E.imageryProvider._readyPromise:k(E.imageryProvider.readyPromise)&&(x=E.imageryProvider.readyPromise),I=x.then(()=>E.getImageryRectangle())}else I=new Promise(x=>{let y=E.readyEvent.addEventListener(()=>{y(),x(E.getImageryRectangle())})});I.then(function(x){return tie(x,o.scene)}).then(function(x){o._zoomPromise===C&&(o._zoomTarget=x)});return}if(E instanceof B0||E instanceof Aie||E instanceof cie){o._zoomTarget=E;return}if(E.isLoading&&k(E.loadingEvent)){let I=E.loadingEvent.addEventListener(function(){I(),o._zoomPromise===C&&(o._zoomTarget=E.entities.values.slice(0))});return}if(Array.isArray(E)){o._zoomTarget=E.slice(0);return}E=ae(E.values,E),k(E.entities)&&(E=E.entities.values),Array.isArray(E)?o._zoomTarget=E.slice(0):o._zoomTarget=[E]}}),o.scene.requestRender(),C}function P5(o){o._zoomPromise=void 0,o._zoomTarget=void 0,o._zoomOptions=void 0}function uZ(o){let A=o._zoomPromise;k(A)&&(P5(o),o._completeZoom(!1))}tA.prototype._postRender=function(){XIi(this),ZIi(this)};function XIi(o){let A=o._zoomTarget;if(!k(A)||o.scene.mode===ii.MORPHING)return;let f=o.scene,m=f.camera,C=ae(o._zoomOptions,{}),E;if(A instanceof B0||A instanceof cie)return A._readyPromise.then(function(){let v=A.boundingSphere;k(C.offset)||(C.offset=new sI(0,-.5,v.radius)),E={offset:C.offset,duration:C.duration,maximumHeight:C.maximumHeight,complete:function(){o._completeZoom(!0)},cancel:function(){o._completeZoom(!1)}},o._zoomIsFlight?m.flyToBoundingSphere(A.boundingSphere,E):(m.viewBoundingSphere(v,C.offset),m.lookAtTransform(Re.IDENTITY),o._completeZoom(!0)),P5(o)}).catch(()=>{uZ(o)});if(A instanceof Aie)return A._readyPromise.then(function(){let v=A.boundingSphere;k(C.offset)||(C.offset=new sI(0,-.5,v.radius)),E={offset:C.offset,duration:C.duration,maximumHeight:C.maximumHeight,complete:function(){o._completeZoom(!0)},cancel:function(){o._completeZoom(!1)}},o._zoomIsFlight?m.flyToBoundingSphere(v,E):(m.viewBoundingSphere(v,C.offset),m.lookAtTransform(Re.IDENTITY),o._completeZoom(!0)),P5(o)});if(A instanceof Lt){E={destination:f.mapProjection.ellipsoid.cartographicToCartesian(A),duration:C.duration,maximumHeight:C.maximumHeight,complete:function(){o._completeZoom(!0)},cancel:function(){o._completeZoom(!1)}},o._zoomIsFlight?m.flyTo(E):(m.setView(E),o._completeZoom(!0)),P5(o);return}let I=A,x=[];for(let v=0,w=I.length;v<w;v++){let Q=o._dataSourceDisplay.getBoundingSphere(I[v],!1,JT);if(Q===Vn.PENDING)return;Q!==Vn.FAILED&&x.push(si.clone(JT))}if(x.length===0){uZ(o);return}o.trackedEntity=void 0;let y=si.fromBoundingSpheres(x);o._zoomIsFlight?(P5(o),m.flyToBoundingSphere(y,{duration:C.duration,maximumHeight:C.maximumHeight,complete:function(){o._completeZoom(!0)},cancel:function(){o._completeZoom(!1)},offset:C.offset})):(m.viewBoundingSphere(y,C.offset),m.lookAtTransform(Re.IDENTITY),P5(o),o._completeZoom(!0))}function ZIi(o){if(!o._needTrackedEntityUpdate)return;let A=o._trackedEntity,f=o.clock.currentTime,m=Ct.getValueOrUndefined(A.position,f);if(!k(m))return;let C=o.scene,E=o._dataSourceDisplay.getBoundingSphere(A,!1,JT);if(E===Vn.PENDING)return;let I=C.mode;(I===ii.COLUMBUS_VIEW||I===ii.SCENE2D)&&(C.screenSpaceCameraController.enableTranslate=!1),(I===ii.COLUMBUS_VIEW||I===ii.SCENE3D)&&(C.screenSpaceCameraController.enableTilt=!1);let x=E!==Vn.FAILED?JT:void 0;o._entityView=new bxe(A,C,C.mapProjection.ellipsoid),o._entityView.update(f,x),o._needTrackedEntityUpdate=!1}var Die=tA;function $Ii(o){let A=document.createElement("div");A.className="cesium-viewer-cesium3DTilesInspectorContainer",o.container.appendChild(A);let f=new gBe(A,o.scene);Object.defineProperties(o,{cesium3DTilesInspector:{get:function(){return f}}})}var mZe=$Ii;function exi(o){let A=document.createElement("div");A.className="cesium-viewer-cesiumInspectorContainer",o.container.appendChild(A);let f=new pBe(A,o.scene);Object.defineProperties(o,{cesiumInspector:{get:function(){return f}}})}var CZe=exi;function txi(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=!0,m=ae(A.flyToOnDrop,!0),C=new ir,E=ae(A.clearOnDrop,!0),I=ae(A.dropTarget,o.container),x=ae(A.clampToGround,!0),y=A.proxy;I=Ru(I),Object.defineProperties(o,{dropTarget:{get:function(){return I},set:function(w){Nke(I,v),I=w,IAe(I,v)}},dropEnabled:{get:function(){return f},set:function(w){w!==f&&(w?IAe(I,v):Nke(I,v),f=w)}},dropError:{get:function(){return C}},clearOnDrop:{get:function(){return E},set:function(w){E=w}},flyToOnDrop:{get:function(){return m},set:function(w){m=w}},proxy:{get:function(){return y},set:function(w){y=w}},clampToGround:{get:function(){return x},set:function(w){x=w}}});function v(w){hF(w),E&&(o.entities.removeAll(),o.dataSources.removeAll());let Q=w.dataTransfer.files,M=Q.length;for(let B=0;B<M;B++){let D=Q[B],S=new FileReader;S.onload=ixi(o,D,y,x),S.onerror=rxi(o,D),S.readAsText(D)}}IAe(I,v),o.destroy=m_e(o,o.destroy,function(){o.dropEnabled=!1}),o._handleDrop=v}function hF(o){o.stopPropagation(),o.preventDefault()}function Nke(o,A){let f=o;k(f)&&(f.removeEventListener("drop",A,!1),f.removeEventListener("dragenter",hF,!1),f.removeEventListener("dragover",hF,!1),f.removeEventListener("dragexit",hF,!1))}function IAe(o,A){o.addEventListener("drop",A,!1),o.addEventListener("dragenter",hF,!1),o.addEventListener("dragover",hF,!1),o.addEventListener("dragexit",hF,!1)}function ixi(o,A,f,m){let C=o.scene;return function(E){let I=A.name;try{let x;if(/\.czml$/i.test(I))x=oY.load(JSON.parse(E.target.result),{sourceUri:I});else if(/\.geojson$/i.test(I)||/\.json$/i.test(I)||/\.topojson$/i.test(I))x=NV.load(JSON.parse(E.target.result),{sourceUri:I,clampToGround:m});else if(/\.(kml|kmz)$/i.test(I))x=Q$.load(A,{sourceUri:I,proxy:f,camera:C.camera,canvas:C.canvas,clampToGround:m,screenOverlayContainer:o.container});else if(/\.gpx$/i.test(I))x=Lxe.load(A,{sourceUri:I,proxy:f});else{o.dropError.raiseEvent(o,I,`Unrecognized file: ${I}`);return}k(x)&&o.dataSources.add(x).then(function(y){o.flyToOnDrop&&o.flyTo(y)}).catch(function(y){o.dropError.raiseEvent(o,I,y)})}catch(x){o.dropError.raiseEvent(o,I,x)}}}function rxi(o,A){return function(f){o.dropError.raiseEvent(o,A.name,f.target.error)}}var EZe=txi;function nxi(o,A){A=ae(A,ae.EMPTY_OBJECT);let f=new FBe({scene:o.scene,container:o.bottomContainer,lowFrameRateMessage:A.lowFrameRateMessage});Object.defineProperties(o,{performanceWatchdog:{get:function(){return f}}})}var IZe=nxi;function xZe(o){let A=o.split(` `),f;for(f=0;f<A.length&&!A[f].match(/\S/);f++);if(f===A.length)return"";let m="",C=/^\s*/,E=A[f].match(C)[0].length;for(let I=f;I<A.length;I++){let x=A[I];x.match(C)[0].length>=E&&(x=x.slice(E)),m+=`${x} `}return m}function Qv(o){this._scene=o,this._voxelPrimitive=void 0,this._customShaderCompilationRemoveCallback=void 0,this._definedProperties=[],this._getPrimitiveFunctions=[],this._modelMatrixReady=!1;let A=this;function f(C){let{name:E,initialValue:I}=C;A._definedProperties.push(E);let x=C.setPrimitiveFunction;x===!0&&(x=function(w){A._voxelPrimitive[E]=w});let y=C.getPrimitiveFunction;y===!0&&(y=function(){A[E]=A._voxelPrimitive[E]}),k(y)&&A._getPrimitiveFunctions.push(y);let v=Vi.observable();return Vi.defineProperty(A,E,{get:function(){return v()},set:function(w){typeof I=="number"&&typeof w=="string"&&(w=Number(w),isNaN(w)&&(w=I)),typeof I=="boolean"&&typeof w=="number"&&(w=w===1),v(w),k(x)&&k(A._voxelPrimitive)&&(x(w),o.requestRender())}}),A[E]=I,v}function m(C,E){return function(I){let x=A._voxelPrimitive[C].clone();x[E]=I,A._voxelPrimitive[C]=x}}f({name:"inspectorVisible",initialValue:!0}),f({name:"displayVisible",initialValue:!1}),f({name:"transformVisible",initialValue:!1}),f({name:"boundsVisible",initialValue:!1}),f({name:"clippingVisible",initialValue:!1}),f({name:"shaderVisible",initialValue:!1}),f({name:"shaderString",initialValue:"",getPrimitiveFunction:function(){let C=A._voxelPrimitive.customShader.fragmentShaderText;A.shaderString=xZe(C)}}),f({name:"shaderCompilationMessage",initialValue:""}),f({name:"shaderCompilationSuccess",initialValue:!0}),f({name:"depthTest",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"show",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"disableUpdate",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"debugDraw",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"jitter",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"nearestSampling",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"screenSpaceError",initialValue:4,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"stepSize",initialValue:1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"shapeIsBox",getPrimitiveFunction:function(){let C=A._voxelPrimitive.shape;A.shapeIsBox=C===Bu.BOX}}),f({name:"shapeIsEllipsoid",getPrimitiveFunction:function(){let C=A._voxelPrimitive.shape;A.shapeIsEllipsoid=C===Bu.ELLIPSOID}}),f({name:"shapeIsCylinder",getPrimitiveFunction:function(){let C=A._voxelPrimitive.shape;A.shapeIsCylinder=C===Bu.CYLINDER}}),f({name:"boundsBoxMaxX",initialValue:0,setPrimitiveFunction:m("maxBounds","x"),getPrimitiveFunction:function(){A.boundsBoxMaxX=A._voxelPrimitive.maxBounds.x}}),f({name:"boundsBoxMinX",initialValue:0,setPrimitiveFunction:m("minBounds","x"),getPrimitiveFunction:function(){A.boundsBoxMinX=A._voxelPrimitive.minBounds.x}}),f({name:"boundsBoxMaxY",initialValue:0,setPrimitiveFunction:m("maxBounds","y"),getPrimitiveFunction:function(){A.boundsBoxMaxY=A._voxelPrimitive.maxBounds.y}}),f({name:"boundsBoxMinY",initialValue:0,setPrimitiveFunction:m("minBounds","y"),getPrimitiveFunction:function(){A.boundsBoxMinY=A._voxelPrimitive.minBounds.y}}),f({name:"boundsBoxMaxZ",initialValue:0,setPrimitiveFunction:m("maxBounds","z"),getPrimitiveFunction:function(){A.boundsBoxMaxZ=A._voxelPrimitive.maxBounds.z}}),f({name:"boundsBoxMinZ",initialValue:0,setPrimitiveFunction:m("minBounds","z"),getPrimitiveFunction:function(){A.boundsBoxMinZ=A._voxelPrimitive.minBounds.z}}),f({name:"boundsEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:m("maxBounds","x"),getPrimitiveFunction:function(){A.boundsEllipsoidMaxLongitude=A._voxelPrimitive.maxBounds.x}}),f({name:"boundsEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:m("minBounds","x"),getPrimitiveFunction:function(){A.boundsEllipsoidMinLongitude=A._voxelPrimitive.minBounds.x}}),f({name:"boundsEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:m("maxBounds","y"),getPrimitiveFunction:function(){A.boundsEllipsoidMaxLatitude=A._voxelPrimitive.maxBounds.y}}),f({name:"boundsEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:m("minBounds","y"),getPrimitiveFunction:function(){A.boundsEllipsoidMinLatitude=A._voxelPrimitive.minBounds.y}}),f({name:"boundsEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:m("maxBounds","z"),getPrimitiveFunction:function(){A.boundsEllipsoidMaxHeight=A._voxelPrimitive.maxBounds.z}}),f({name:"boundsEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:m("minBounds","z"),getPrimitiveFunction:function(){A.boundsEllipsoidMinHeight=A._voxelPrimitive.minBounds.z}}),f({name:"boundsCylinderMaxRadius",initialValue:0,setPrimitiveFunction:m("maxBounds","x"),getPrimitiveFunction:function(){A.boundsCylinderMaxRadius=A._voxelPrimitive.maxBounds.x}}),f({name:"boundsCylinderMinRadius",initialValue:0,setPrimitiveFunction:m("minBounds","x"),getPrimitiveFunction:function(){A.boundsCylinderMinRadius=A._voxelPrimitive.minBounds.x}}),f({name:"boundsCylinderMaxHeight",initialValue:0,setPrimitiveFunction:m("maxBounds","y"),getPrimitiveFunction:function(){A.boundsCylinderMaxHeight=A._voxelPrimitive.maxBounds.y}}),f({name:"boundsCylinderMinHeight",initialValue:0,setPrimitiveFunction:m("minBounds","y"),getPrimitiveFunction:function(){A.boundsCylinderMinHeight=A._voxelPrimitive.minBounds.y}}),f({name:"boundsCylinderMaxAngle",initialValue:0,setPrimitiveFunction:m("maxBounds","z"),getPrimitiveFunction:function(){A.boundsCylinderMaxAngle=A._voxelPrimitive.maxBounds.z}}),f({name:"boundsCylinderMinAngle",initialValue:0,setPrimitiveFunction:m("minBounds","z"),getPrimitiveFunction:function(){A.boundsCylinderMinAngle=A._voxelPrimitive.minBounds.z}}),f({name:"clippingBoxMaxX",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","x"),getPrimitiveFunction:function(){A.clippingBoxMaxX=A._voxelPrimitive.maxClippingBounds.x}}),f({name:"clippingBoxMinX",initialValue:0,setPrimitiveFunction:m("minClippingBounds","x"),getPrimitiveFunction:function(){A.clippingBoxMinX=A._voxelPrimitive.minClippingBounds.x}}),f({name:"clippingBoxMaxY",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","y"),getPrimitiveFunction:function(){A.clippingBoxMaxY=A._voxelPrimitive.maxClippingBounds.y}}),f({name:"clippingBoxMinY",initialValue:0,setPrimitiveFunction:m("minClippingBounds","y"),getPrimitiveFunction:function(){A.clippingBoxMinY=A._voxelPrimitive.minClippingBounds.y}}),f({name:"clippingBoxMaxZ",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","z"),getPrimitiveFunction:function(){A.clippingBoxMaxZ=A._voxelPrimitive.maxClippingBounds.z}}),f({name:"clippingBoxMinZ",initialValue:0,setPrimitiveFunction:m("minClippingBounds","z"),getPrimitiveFunction:function(){A.clippingBoxMinZ=A._voxelPrimitive.minClippingBounds.z}}),f({name:"clippingEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","x"),getPrimitiveFunction:function(){A.clippingEllipsoidMaxLongitude=A._voxelPrimitive.maxClippingBounds.x}}),f({name:"clippingEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:m("minClippingBounds","x"),getPrimitiveFunction:function(){A.clippingEllipsoidMinLongitude=A._voxelPrimitive.minClippingBounds.x}}),f({name:"clippingEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","y"),getPrimitiveFunction:function(){A.clippingEllipsoidMaxLatitude=A._voxelPrimitive.maxClippingBounds.y}}),f({name:"clippingEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:m("minClippingBounds","y"),getPrimitiveFunction:function(){A.clippingEllipsoidMinLatitude=A._voxelPrimitive.minClippingBounds.y}}),f({name:"clippingEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","z"),getPrimitiveFunction:function(){A.clippingEllipsoidMaxHeight=A._voxelPrimitive.maxClippingBounds.z}}),f({name:"clippingEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:m("minClippingBounds","z"),getPrimitiveFunction:function(){A.clippingEllipsoidMinHeight=A._voxelPrimitive.minClippingBounds.z}}),f({name:"clippingCylinderMaxRadius",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","x"),getPrimitiveFunction:function(){A.clippingCylinderMaxRadius=A._voxelPrimitive.maxClippingBounds.x}}),f({name:"clippingCylinderMinRadius",initialValue:0,setPrimitiveFunction:m("minClippingBounds","x"),getPrimitiveFunction:function(){A.clippingCylinderMinRadius=A._voxelPrimitive.minClippingBounds.x}}),f({name:"clippingCylinderMaxHeight",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","y"),getPrimitiveFunction:function(){A.clippingCylinderMaxHeight=A._voxelPrimitive.maxClippingBounds.y}}),f({name:"clippingCylinderMinHeight",initialValue:0,setPrimitiveFunction:m("minClippingBounds","y"),getPrimitiveFunction:function(){A.clippingCylinderMinHeight=A._voxelPrimitive.minClippingBounds.y}}),f({name:"clippingCylinderMaxAngle",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","z"),getPrimitiveFunction:function(){A.clippingCylinderMaxAngle=A._voxelPrimitive.maxClippingBounds.z}}),f({name:"clippingCylinderMinAngle",initialValue:0,setPrimitiveFunction:m("minClippingBounds","z"),getPrimitiveFunction:function(){A.clippingCylinderMinAngle=A._voxelPrimitive.minClippingBounds.z}}),f({name:"translationX",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&Ww(A)},getPrimitiveFunction:function(){A.translationX=Re.getTranslation(A._voxelPrimitive.modelMatrix,new Z).x}}),f({name:"translationY",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&Ww(A)},getPrimitiveFunction:function(){A.translationY=Re.getTranslation(A._voxelPrimitive.modelMatrix,new Z).y}}),f({name:"translationZ",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&Ww(A)},getPrimitiveFunction:function(){A.translationZ=Re.getTranslation(A._voxelPrimitive.modelMatrix,new Z).z}}),f({name:"scaleX",initialValue:1,setPrimitiveFunction:function(){A._modelMatrixReady&&Ww(A)},getPrimitiveFunction:function(){A.scaleX=Re.getScale(A._voxelPrimitive.modelMatrix,new Z).x}}),f({name:"scaleY",initialValue:1,setPrimitiveFunction:function(){A._modelMatrixReady&&Ww(A)},getPrimitiveFunction:function(){A.scaleY=Re.getScale(A._voxelPrimitive.modelMatrix,new Z).y}}),f({name:"scaleZ",initialValue:1,setPrimitiveFunction:function(){A._modelMatrixReady&&Ww(A)},getPrimitiveFunction:function(){A.scaleZ=Re.getScale(A._voxelPrimitive.modelMatrix,new Z).z}}),f({name:"angleX",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&Ww(A)}}),f({name:"angleY",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&Ww(A)}}),f({name:"angleZ",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&Ww(A)}})}var oxi=new Z,axi=new Z,sxi=new Wl,lxi=new Nt;function Ww(o){let A=Z.fromElements(o.translationX,o.translationY,o.translationZ,oxi),f=Z.fromElements(o.scaleX,o.scaleY,o.scaleZ,axi),m=sxi;m.heading=o.angleX,m.pitch=o.angleY,m.roll=o.angleZ;let C=Nt.fromHeadingPitchRoll(m,lxi),E=Nt.multiplyByScale(C,f,C);o._voxelPrimitive.modelMatrix=Re.fromRotationTranslation(E,A,o._voxelPrimitive.modelMatrix)}Object.defineProperties(Qv.prototype,{scene:{get:function(){return this._scene}},voxelPrimitive:{get:function(){return this._voxelPrimitive},set:function(o){if(k(this._customShaderCompilationRemoveCallback)&&this._customShaderCompilationRemoveCallback(),k(o)){this._voxelPrimitive=o;let A=this;A._voxelPrimitive._readyPromise.then(function(){A._customShaderCompilationRemoveCallback=A._voxelPrimitive.customShaderCompilationEvent.addEventListener(function(f){let m=A._voxelPrimitive.customShader.fragmentShaderText;A.shaderString=xZe(m),k(f)?(A.shaderCompilationMessage=f.message,A.shaderCompilationSuccess=!1):(A.shaderCompilationMessage="Shader compiled successfully!",A.shaderCompilationSuccess=!0)}),A._modelMatrixReady=!1;for(let f=0;f<A._getPrimitiveFunctions.length;f++)A._getPrimitiveFunctions[f]();A._modelMatrixReady=!0,Ww(A)})}}}});Qv.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};Qv.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};Qv.prototype.toggleTransform=function(){this.transformVisible=!this.transformVisible};Qv.prototype.toggleBounds=function(){this.boundsVisible=!this.boundsVisible};Qv.prototype.toggleClipping=function(){this.clippingVisible=!this.clippingVisible};Qv.prototype.toggleShader=function(){this.shaderVisible=!this.shaderVisible};Qv.prototype.compileShader=function(){k(this._voxelPrimitive)&&(this._voxelPrimitive.customShader=new pB({fragmentShaderText:this.shaderString,uniforms:this._voxelPrimitive.customShader.uniforms}))};Qv.prototype.shaderEditorKeyPress=function(o,A){if(A.keyCode===9){A.preventDefault();let f=A.target,m=f.selectionStart,C=f.selectionEnd,E=C,I=f.value.slice(m,C).split(` `),x=I.length,y;if(A.shiftKey)for(y=0;y<x;++y)I[y][0]===" "&&(I[y][1]===" "?(I[y]=I[y].substr(2),E-=2):(I[y]=I[y].substr(1),E-=1));else for(y=0;y<x;++y)I[y]=` ${I[y]}`,E+=2;let v=I.join(` `);f.value=f.value.slice(0,m)+v+f.value.slice(C),f.selectionStart=m!==C?m:E,f.selectionEnd=E}else A.ctrlKey&&(A.keyCode===10||A.keyCode===13)&&this.compileShader();return!0};Qv.prototype.isDestroyed=function(){return!1};Qv.prototype.destroy=function(){let o=this;return this._definedProperties.forEach(function(A){Vi.getObservable(o,A).dispose()}),ar(this)};var WBe=Qv;function Mie(o,A){o=Ru(o);let f=document.createElement("div"),m=new WBe(A);this._viewModel=m,this._container=o,this._element=f;let C=document.createElement("div");C.textContent="Voxel Inspector",C.className="cesium-cesiumInspector-button",C.setAttribute("data-bind","click: toggleInspector"),f.appendChild(C),f.className="cesium-cesiumInspector cesium-VoxelInspector",f.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),o.appendChild(f);let E=document.createElement("div");E.className="cesium-cesiumInspector-dropDown",f.appendChild(E);let I=mx.createSection,x=mx.createCheckbox,y=mx.createRangeInput,v=mx.createButton,w=I(E,"Display","displayVisible","toggleDisplay"),Q=I(E,"Transform","transformVisible","toggleTransform"),M=I(E,"Bounds","boundsVisible","toggleBounds"),B=I(E,"Clipping","clippingVisible","toggleClipping"),D=I(E,"Shader","shaderVisible","toggleShader");w.appendChild(x("Depth Test","depthTest")),w.appendChild(x("Show","show")),w.appendChild(x("Disable Update","disableUpdate")),w.appendChild(x("Debug Draw","debugDraw")),w.appendChild(x("Jitter","jitter")),w.appendChild(x("Nearest Sampling","nearestSampling")),w.appendChild(y("Screen Space Error","screenSpaceError",0,128)),w.appendChild(y("Step Size","stepSize",0,2));let S=10,P=10,R=De.PI;Q.appendChild(y("Translation X","translationX",-S,+S)),Q.appendChild(y("Translation Y","translationY",-S,+S)),Q.appendChild(y("Translation Z","translationZ",-S,+S)),Q.appendChild(y("Scale X","scaleX",0,+P)),Q.appendChild(y("Scale Y","scaleY",0,+P)),Q.appendChild(y("Scale Z","scaleZ",0,+P)),Q.appendChild(y("Heading","angleX",-R,+R)),Q.appendChild(y("Pitch","angleY",-R,+R)),Q.appendChild(y("Roll","angleZ",-R,+R));let T=Bu.getMinBounds(Bu.BOX),L=Bu.getMaxBounds(Bu.BOX),F=Z.fromElements(Bu.getMinBounds(Bu.ELLIPSOID).x,Bu.getMinBounds(Bu.ELLIPSOID).y,-gi.WGS84.maximumRadius,new Z),U=Z.fromElements(Bu.getMaxBounds(Bu.ELLIPSOID).x,Bu.getMaxBounds(Bu.ELLIPSOID).y,1e7,new Z),N=Bu.getMinBounds(Bu.CYLINDER),H=Bu.getMaxBounds(Bu.CYLINDER);I5("Max X","Min X","Max Y","Min Y","Max Z","Min Z","boundsBoxMaxX","boundsBoxMinX","boundsBoxMaxY","boundsBoxMinY","boundsBoxMaxZ","boundsBoxMinZ",T,L,"shapeIsBox",M),I5("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","boundsEllipsoidMaxLongitude","boundsEllipsoidMinLongitude","boundsEllipsoidMaxLatitude","boundsEllipsoidMinLatitude","boundsEllipsoidMaxHeight","boundsEllipsoidMinHeight",F,U,"shapeIsEllipsoid",M),I5("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","boundsCylinderMaxRadius","boundsCylinderMinRadius","boundsCylinderMaxHeight","boundsCylinderMinHeight","boundsCylinderMaxAngle","boundsCylinderMinAngle",N,H,"shapeIsCylinder",M),I5("Max X","Min X","Max Y","Min Y","Max Z","Min Z","clippingBoxMaxX","clippingBoxMinX","clippingBoxMaxY","clippingBoxMinY","clippingBoxMaxZ","clippingBoxMinZ",T,L,"shapeIsBox",B),I5("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","clippingEllipsoidMaxLongitude","clippingEllipsoidMinLongitude","clippingEllipsoidMaxLatitude","clippingEllipsoidMinLatitude","clippingEllipsoidMaxHeight","clippingEllipsoidMinHeight",F,U,"shapeIsEllipsoid",B),I5("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","clippingCylinderMaxRadius","clippingCylinderMinRadius","clippingCylinderMaxHeight","clippingCylinderMinHeight","clippingCylinderMaxAngle","clippingCylinderMinAngle",N,H,"shapeIsCylinder",B);let J=document.createElement("div");D.appendChild(J);let K=document.createElement("textarea");K.setAttribute("data-bind","textInput: shaderString, event: { keydown: shaderEditorKeyPress }"),J.className="cesium-cesiumInspector-styleEditor",J.appendChild(K);let X=v("Compile (Ctrl+Enter)","compileShader");J.appendChild(X);let j=document.createElement("label");j.style.display="block",j.setAttribute("data-bind","text: shaderCompilationMessage, style: {color: shaderCompilationSuccess ? 'green' : 'red'}"),J.appendChild(j),Vi.applyBindings(m,f)}Object.defineProperties(Mie.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Mie.prototype.isDestroyed=function(){return!1};Mie.prototype.destroy=function(){return Vi.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ar(this)};function I5(o,A,f,m,C,E,I,x,y,v,w,Q,M,B,D,S){let P=mx.createRangeInput,R=M,T=B,L=S.appendChild(document.createElement("div"));L.setAttribute("data-bind",`if: ${D}`),L.appendChild(P(o,I,R.x,T.x)),L.appendChild(P(A,x,R.x,T.x)),L.appendChild(P(f,y,R.y,T.y)),L.appendChild(P(m,v,R.y,T.y)),L.appendChild(P(C,w,R.z,T.z)),L.appendChild(P(E,Q,R.z,T.z))}var qBe=Mie;function Axi(o){let A=document.createElement("div");A.className="cesium-viewer-voxelInspectorContainer",o.container.appendChild(A);let f=new qBe(A,o.scene);Object.defineProperties(o,{voxelInspector:{get:function(){return f}}})}var yZe=Axi;globalThis.CESIUM_VERSION="1.106";var vZe="3.2.5";var er={};QSe(er,{AlphaMode:()=>YU,AlphaPipelineStage:()=>ECe,Animation:()=>cBe,AnimationViewModel:()=>hBe,Appearance:()=>$c,ApproximateTerrainHeights:()=>Tu,ArcGISTiledElevationTerrainProvider:()=>Jqe,ArcGisBaseMapType:()=>c2,ArcGisMapServerImageryProvider:()=>Zy,ArcGisMapService:()=>R_,ArcType:()=>aa,ArticulationStageType:()=>ex,AssociativeArray:()=>mo,AttributeCompression:()=>Yl,AttributeType:()=>Ka,AutoExposure:()=>Yye,AutomaticUniforms:()=>q5,Axis:()=>ud,AxisAlignedBoundingBox:()=>iz,B3dmLoader:()=>Qme,B3dmParser:()=>bme,Base64Encoder:()=>dj,BaseLayerPicker:()=>CBe,BaseLayerPickerViewModel:()=>mBe,BatchTable:()=>n$,BatchTableHierarchy:()=>j$,BatchTexture:()=>ky,BatchTexturePipelineStage:()=>ICe,Billboard:()=>wc,BillboardCollection:()=>nI,BillboardGraphics:()=>qS,BillboardVisualizer:()=>DIe,BingMapsGeocoderService:()=>Wqe,BingMapsImageryProvider:()=>fte,BingMapsStyle:()=>dte,BlendEquation:()=>dm,BlendFunction:()=>Su,BlendOption:()=>gh,BlendTexture:()=>TO,BlendingState:()=>Sl,BoundingRectangle:()=>_r,BoundingSphere:()=>si,BoundingSphereState:()=>Vn,BoxEmitter:()=>kje,BoxGeometry:()=>RS,BoxGeometryUpdater:()=>MIe,BoxGraphics:()=>s$,BoxOutlineGeometry:()=>j1,BrdfLutGenerator:()=>oye,Buffer:()=>jn,BufferLoader:()=>Qz,BufferUsage:()=>Fr,CPUStylingPipelineStage:()=>_Ce,CallbackProperty:()=>Kr,Camera:()=>Ms,CameraEventAggregator:()=>nve,CameraEventType:()=>wA,CameraFlightPath:()=>Cpe,Cartesian2:()=>tt,Cartesian3:()=>Z,Cartesian4:()=>kt,Cartographic:()=>Lt,CartographicGeocoderService:()=>r_e,CatmullRomSpline:()=>qqe,Cesium3DContentGroup:()=>q$,Cesium3DTile:()=>cI,Cesium3DTileBatchTable:()=>Bz,Cesium3DTileColorBlendMode:()=>f1,Cesium3DTileContent:()=>Uje,Cesium3DTileContentFactory:()=>Pee,Cesium3DTileContentState:()=>oc,Cesium3DTileContentType:()=>mm,Cesium3DTileFeature:()=>Ga,Cesium3DTileFeatureTable:()=>l4,Cesium3DTileOptimizationHint:()=>zT,Cesium3DTileOptimizations:()=>UEe,Cesium3DTilePass:()=>kd,Cesium3DTilePassState:()=>CD,Cesium3DTilePointFeature:()=>KL,Cesium3DTileRefine:()=>If,Cesium3DTileStyle:()=>Y1,Cesium3DTileStyleEngine:()=>HEe,Cesium3DTilesInspector:()=>gBe,Cesium3DTilesInspectorViewModel:()=>dBe,Cesium3DTilesVoxelProvider:()=>qje,Cesium3DTileset:()=>B0,Cesium3DTilesetBaseTraversal:()=>zEe,Cesium3DTilesetCache:()=>OEe,Cesium3DTilesetGraphics:()=>h$,Cesium3DTilesetHeatmap:()=>GEe,Cesium3DTilesetMetadata:()=>jz,Cesium3DTilesetMostDetailedTraversal:()=>VEe,Cesium3DTilesetSkipTraversal:()=>YEe,Cesium3DTilesetStatistics:()=>AF,Cesium3DTilesetTraversal:()=>NC,Cesium3DTilesetVisualizer:()=>TIe,CesiumInspector:()=>pBe,CesiumInspectorViewModel:()=>fBe,CesiumNavigation:()=>Mve,CesiumRenderPass:()=>Tve,CesiumTerrainProvider:()=>GF,CesiumWidget:()=>MY,Check:()=>Du,CheckerboardMaterialProperty:()=>pX,CircleEmitter:()=>U_e,CircleGeometry:()=>tje,CircleOutlineGeometry:()=>ije,CircleWaveMaterialProperty:()=>PO,ClassificationModelDrawCommand:()=>Kme,ClassificationPipelineStage:()=>xCe,ClassificationPrimitive:()=>HO,ClassificationType:()=>nA,ClearCommand:()=>QA,ClippingPlane:()=>PS,ClippingPlaneCollection:()=>AI,Clock:()=>WO,ClockRange:()=>u0,ClockStep:()=>vc,ClockViewModel:()=>uBe,CloudCollection:()=>iXe,CloudType:()=>ZX,CollectionSource:()=>e6e,Color:()=>qe,ColorBlendMode:()=>Q1,ColorGeometryInstanceAttribute:()=>vo,ColorMaterialProperty:()=>sa,Command:()=>$Xe,ComponentDatatype:()=>Mt,Composite3DTileContent:()=>kpe,CompositeEntityCollection:()=>EJe,CompositeMaterialProperty:()=>CX,CompositePositionProperty:()=>dx,CompositeProperty:()=>zy,CompressedTextureBuffer:()=>O9,ComputeCommand:()=>QF,ComputeEngine:()=>jEe,ComputeRegionBox:()=>sJe,ConditionsExpression:()=>a0e,ConeEmitter:()=>n6,ConicArcSensor:()=>oZ,ConicArcSensorCollection:()=>KXe,ConicArcSensorGeometry:()=>sZ,ConicArcSensorGraphics:()=>nZ,ConicArcSensorOutlineGeometry:()=>lZ,ConstantPositionProperty:()=>d1,ConstantProperty:()=>bA,ConstantSpline:()=>Rme,ConstructionWorker:()=>i6e,ContentMetadata:()=>SEe,ContentState:()=>l1,Context:()=>nIe,ContextLimits:()=>On,CoplanarPolygonGeometry:()=>nxe,CoplanarPolygonGeometryLibrary:()=>aU,CoplanarPolygonOutlineGeometry:()=>qQ,CornerType:()=>zu,CorridorGeometry:()=>rY,CorridorGeometryLibrary:()=>OA,CorridorGeometryUpdater:()=>LIe,CorridorGraphics:()=>l$,CorridorOutlineGeometry:()=>RIe,Credit:()=>la,CreditDisplay:()=>aye,CubeMap:()=>dB,CubeMapFace:()=>vT,CubicRealPolynomial:()=>tz,CullFace:()=>tu,CullingVolume:()=>qg,CumulusCloud:()=>FB,CustomDataSource:()=>f$,CustomHeightmapTerrainProvider:()=>nje,CustomMercatorProjection:()=>FO,CustomShader:()=>pB,CustomShaderManagerEx:()=>$Z,CustomShaderMode:()=>j9,CustomShaderPipelineStage:()=>MCe,CustomShaderTranslucencyMode:()=>I2,CustomTilingScheme:()=>N6e,CylinderGeometry:()=>FIe,CylinderGeometryLibrary:()=>Zee,CylinderGeometryUpdater:()=>kIe,CylinderGraphics:()=>A$,CylinderOutlineGeometry:()=>NIe,CzmlDataSource:()=>oY,DDSTexture:()=>Rve,DataSource:()=>sp,DataSourceClock:()=>yF,DataSourceCollection:()=>KIe,DataSourceDisplay:()=>cY,DebugAppearance:()=>uXe,DebugCameraPrimitive:()=>hd,DebugInspector:()=>gve,DebugModelMatrixPrimitive:()=>z_e,DefaultProxy:()=>aje,DepthFunction:()=>aI,DepthPlane:()=>sye,DequantizationPipelineStage:()=>TCe,DerivedCommand:()=>xm,DeveloperError:()=>ni,DeviceOrientationCameraController:()=>lye,DirectionalLight:()=>rie,DiscardEmptyTileImagePolicy:()=>gte,DiscardMissingTileImagePolicy:()=>Uxe,DistanceDisplayCondition:()=>wo,DistanceDisplayConditionGeometryInstanceAttribute:()=>Eu,DistanceLegendViewModel:()=>yve,DoubleEndedPriorityQueue:()=>qte,DoublyLinkedList:()=>Nee,DracoLoader:()=>Sz,DrawCommand:()=>cn,DynamicGeometryBatch:()=>ote,DynamicGeometryUpdater:()=>xu,ECharts:()=>Z9,EarthOrientationParameters:()=>sde,EarthOrientationParametersSample:()=>H9,EasingFunction:()=>Qm,EllipseGeometry:()=>lv,EllipseGeometryLibrary:()=>Rx,EllipseGeometryUpdater:()=>qIe,EllipseGraphics:()=>u$,EllipseOutlineGeometry:()=>M1,Ellipsoid:()=>gi,EllipsoidGeodesic:()=>Ig,EllipsoidGeometry:()=>I0,EllipsoidGeometryUpdater:()=>$Ie,EllipsoidGraphics:()=>zO,EllipsoidOutlineGeometry:()=>av,EllipsoidPrimitive:()=>iye,EllipsoidRhumbLine:()=>qy,EllipsoidSurfaceAppearance:()=>fz,EllipsoidTangentPlane:()=>iB,EllipsoidTerrainProvider:()=>pD,EllipsoidalOccluder:()=>nN,Empty3DTileContent:()=>WV,EncodedCartesian3:()=>Jl,Entity:()=>Fu,EntityCluster:()=>rP,EntityCollection:()=>Ev,EntityView:()=>bxe,Event:()=>ir,EventHelper:()=>Lm,ExpandBySmartEarth:()=>kE,ExpandByTerra:()=>k6e,Expression:()=>x2,ExpressionNodeType:()=>Bn,ExternalParameter:()=>DC,ExtrapolationType:()=>a1,FeatureDataProvider:()=>S$,FeatureDetection:()=>co,FeatureIdPipelineStage:()=>Jz,FeatureJsonData:()=>XO,FisheyeProjectionMap:()=>Iz,FisheyeProjectionMapShader:()=>FH,FlattenVS:()=>$me,FlowEcharts:()=>qee,Fog:()=>Aye,ForEach:()=>xr,FrameRateMonitor:()=>Y_e,FrameState:()=>uye,Framebuffer:()=>Gd,FramebufferManager:()=>_c,FrustumCommands:()=>fye,FrustumGeometry:()=>ZO,FrustumOutlineGeometry:()=>Ez,Fullscreen:()=>zg,FullscreenButton:()=>yBe,FullscreenButtonViewModel:()=>xBe,GWBaiduImageryProvider:()=>F$,GeoJsonDataSource:()=>NV,GeoJsonLoader:()=>Mme,GeocodeType:()=>NY,Geocoder:()=>wBe,GeocoderService:()=>Xte,GeocoderViewModel:()=>BBe,GeographicProjection:()=>md,GeographicTilingScheme:()=>ph,Geometry:()=>Bo,Geometry3DTileContent:()=>Upe,GeometryAttribute:()=>Br,GeometryAttributes:()=>vA,GeometryFactory:()=>uje,GeometryInstance:()=>Un,GeometryInstanceAttribute:()=>cx,GeometryOffsetAttribute:()=>vs,GeometryPipeline:()=>gA,GeometryPipelineStage:()=>LCe,GeometryType:()=>RT,GeometryUpdater:()=>qu,GeometryVisualizer:()=>Exe,GetFeatureInfoFormat:()=>qH,GifImageProperty:()=>XHe,Globe:()=>Zxe,GlobeDepth:()=>pye,GlobeSurfaceShaderSet:()=>Nxe,GlobeSurfaceTile:()=>US,GlobeSurfaceTileProvider:()=>jxe,GlobeTranslucency:()=>mY,GlobeTranslucencyFramebuffer:()=>mye,GlobeTranslucencyState:()=>hye,GltfBufferViewLoader:()=>$$,GltfDracoLoader:()=>eee,GltfImageLoader:()=>iee,GltfIndexBufferLoader:()=>ree,GltfJsonLoader:()=>aee,GltfLoader:()=>n4,GltfLoaderUtil:()=>TS,GltfStructuralMetadataLoader:()=>yme,GltfTextureLoader:()=>lee,GltfVertexBufferLoader:()=>Aee,GoogleEarthEnterpriseImageryProvider:()=>cXe,GoogleEarthEnterpriseMapsProvider:()=>Ete,GoogleEarthEnterpriseMetadata:()=>_P,GoogleEarthEnterpriseTerrainData:()=>jX,GoogleEarthEnterpriseTerrainProvider:()=>pje,GoogleEarthEnterpriseTileInformation:()=>A_e,GoogleMaps:()=>tV,GpxDataSource:()=>Lxe,GregorianDate:()=>RO,GridImageryProvider:()=>hXe,GridMaterialProperty:()=>yX,GroundGeometryUpdater:()=>cl,GroundPolylineGeometry:()=>t$,GroundPolylinePrimitive:()=>GO,GroundPrimitive:()=>sP,GroupMetadata:()=>aX,GwBufferAnalysis:()=>N$,HeadingPitchRange:()=>sI,HeadingPitchRoll:()=>Wl,Heap:()=>_he,HeightReference:()=>tn,HeightmapEncoding:()=>H2,HeightmapTerrainData:()=>DB,HeightmapTessellator:()=>hte,HermitePolynomialApproximation:()=>OIe,HermiteSpline:()=>YV,HilbertOrder:()=>Yj,HomeButton:()=>QBe,HomeButtonViewModel:()=>bBe,HorizontalOrigin:()=>iu,HugeAdapter:()=>g4,I3SDataProvider:()=>nie,I3SFeature:()=>q_e,I3SField:()=>j_e,I3SGeometry:()=>$X,I3SLayer:()=>EO,I3SNode:()=>eZ,I3dmLoader:()=>Pme,I3dmParser:()=>Tme,Iau2000Orientation:()=>eye,Iau2006XysData:()=>Ade,Iau2006XysSample:()=>HZ,IauOrientationAxes:()=>tye,IauOrientationParameters:()=>$xe,ImageBasedLighting:()=>K$,ImageBasedLightingPipelineStage:()=>rCe,ImageCombine:()=>jZ,ImageMaterialProperty:()=>p0,Imagery:()=>yte,ImageryLayer:()=>ux,ImageryLayerCollection:()=>Xxe,ImageryLayerFeatureInfo:()=>IP,ImageryProvider:()=>$1,ImageryState:()=>mA,Implicit3DTileContent:()=>$j,ImplicitAvailabilityBitstream:()=>Kj,ImplicitMetadataView:()=>Z$,ImplicitSubdivisionScheme:()=>d0,ImplicitSubtree:()=>hee,ImplicitSubtreeCache:()=>L_e,ImplicitSubtreeMetadata:()=>Vpe,ImplicitTileCoordinates:()=>Oee,ImplicitTileset:()=>$z,IndexDatatype:()=>fn,InfoBox:()=>MBe,InfoBoxViewModel:()=>DBe,InspectorShared:()=>mx,InstanceAttributeSemantic:()=>A0,InstancingPipelineStage:()=>gCe,InterpolationAlgorithm:()=>Cje,InterpolationType:()=>r2,Intersect:()=>Wo,IntersectionTests:()=>mh,Intersections2D:()=>t6,Interval:()=>r1,InvertClassification:()=>Ste,Ion:()=>jT,IonGeocoderService:()=>g_e,IonImageryProvider:()=>h2,IonResource:()=>jy,IonWorldImageryStyle:()=>cF,Iso8601:()=>Zr,JobScheduler:()=>dye,JobType:()=>VE,JsonMetadataTable:()=>Nz,JulianDate:()=>jt,KTX2Transcoder:()=>whe,KeyboardEventModifier:()=>iI,KeyframeNode:()=>du,KmlCamera:()=>U0e,KmlDataSource:()=>Q$,KmlLookAt:()=>O0e,KmlTour:()=>G0e,KmlTourFlyTo:()=>H0e,KmlTourWait:()=>z0e,Label:()=>cV,LabelCollection:()=>iP,LabelGraphics:()=>YO,LabelStyle:()=>fu,LabelVisualizer:()=>Ixe,LagrangePolynomialApproximation:()=>HIe,LeapSecond:()=>eu,Light:()=>fXe,LightingModel:()=>oI,LightingPipelineStage:()=>NCe,LinearApproximation:()=>v$,LinearSampler:()=>eb,LinearSpline:()=>Yz,ManagedArray:()=>b1,MapMode2D:()=>oB,MapProjection:()=>Ije,MapboxImageryProvider:()=>O4,MapboxStyleImageryProvider:()=>mXe,Material:()=>fa,MaterialAppearance:()=>cd,MaterialPass:()=>Fve,MaterialPipelineStage:()=>UCe,MaterialProperty:()=>h0,Math:()=>De,Matrix2:()=>Ud,Matrix3:()=>Nt,Matrix4:()=>Re,Megatexture:()=>aie,MetadataClass:()=>r4,MetadataClassProperty:()=>wz,MetadataComponentType:()=>na,MetadataEntity:()=>ml,MetadataEnum:()=>hme,MetadataEnumValue:()=>cme,MetadataPipelineStage:()=>fS,MetadataSchema:()=>xN,MetadataSchemaLoader:()=>uee,MetadataSemantic:()=>dee,MetadataTable:()=>hP,MetadataTableProperty:()=>Ype,MetadataType:()=>Po,MipmapHint:()=>MO,Model:()=>yv,Model3DTileContent:()=>QT,ModelAlphaOptions:()=>rEe,ModelAnimation:()=>Ome,ModelAnimationChannel:()=>kme,ModelAnimationCollection:()=>Gme,ModelAnimationLoop:()=>rS,ModelAnimationState:()=>PT,ModelArticulation:()=>aCe,ModelArticulationStage:()=>oCe,ModelClippingPlanesPipelineStage:()=>ACe,ModelColorPipelineStage:()=>JV,ModelComponents:()=>So,ModelDrawCommand:()=>Wme,ModelFeature:()=>Hme,ModelFeatureTable:()=>Vme,ModelGraphics:()=>nz,ModelLightingOptions:()=>fEe,ModelMatrixUpdateStage:()=>pCe,ModelNode:()=>uCe,ModelRenderResources:()=>lEe,ModelRuntimeNode:()=>CCe,ModelRuntimePrimitive:()=>eEe,ModelSceneGraph:()=>mEe,ModelSilhouettePipelineStage:()=>cEe,ModelSkin:()=>iEe,ModelSplitterPipelineStage:()=>dEe,ModelStatistics:()=>CEe,ModelType:()=>zd,ModelUtility:()=>Ts,ModelVisualizer:()=>xxe,Moon:()=>rye,MorphTargetsPipelineStage:()=>GCe,MorphWeightSpline:()=>xje,MortonOrder:()=>qU,MultiResourceImageryProvider:()=>k$,MultiResourceTerrainProvider:()=>U$,Multiple3DTileContent:()=>REe,MultisampleFramebuffer:()=>Bme,NavigationControl:()=>W4,NavigationHelpButton:()=>PBe,NavigationHelpButtonViewModel:()=>TBe,NavigationUtils:()=>q4,NavigationViewModel:()=>$H,NearFarScalar:()=>no,NeverTileDiscardPolicy:()=>CXe,NodeRenderResources:()=>gEe,NodeStatisticsPipelineStage:()=>mCe,NodeTransformationProperty:()=>c$,OIT:()=>Iye,Occluder:()=>nye,OctahedralProjectedCubeMap:()=>DF,OffsetGeometryInstanceAttribute:()=>Hd,OlMVTImageryProvider:()=>O$,OpenCageGeocoderService:()=>yje,OpenStreetMapImageryProvider:()=>rV,OrderedGroundPrimitiveCollection:()=>WIe,OrientedBoundingBox:()=>MA,OrthographicFrustum:()=>$a,OrthographicOffCenterFrustum:()=>Eg,Packable:()=>vje,PackableForInterpolation:()=>_je,Particle:()=>sie,ParticleBurst:()=>s6,ParticleEmitter:()=>xXe,ParticleSystem:()=>mb,Pass:()=>zi,PassState:()=>Qf,PathGraphics:()=>oz,PathVisualizer:()=>yxe,PeliasGeocoderService:()=>h_e,PerInstanceColorAppearance:()=>ma,PerformanceDisplay:()=>yY,PerformanceWatchdog:()=>FBe,PerformanceWatchdogViewModel:()=>LBe,PerspectiveFrustum:()=>lA,PerspectiveOffCenterFrustum:()=>X1,PerspectiveProjectionMap:()=>xz,PerspectiveProjectionMapShader:()=>NH,PerspectiveProjectionMapWithDepth:()=>yz,PerspectiveProjectionMapWithDepthShader:()=>qT,PickDepth:()=>gye,PickDepthFramebuffer:()=>xye,PickFramebuffer:()=>yye,Picking:()=>bye,PickingPipelineStage:()=>HCe,PinBuilder:()=>Az,PixelDatatype:()=>Gr,PixelFormat:()=>Jr,Plane:()=>va,PlaneGeometry:()=>exe,PlaneGeometryUpdater:()=>rxe,PlaneGraphics:()=>Q0e,PlaneOutlineGeometry:()=>txe,PntsLoader:()=>Dee,PntsParser:()=>See,PointCloud:()=>$_e,PointCloudEyeDomeLighting:()=>Gz,PointCloudShading:()=>s4,PointCloudStylingPipelineStage:()=>zCe,PointGraphics:()=>d$,PointPrimitive:()=>Rm,PointPrimitiveCollection:()=>z9,PointVisualizer:()=>vxe,PolygonDepth:()=>KU,PolygonDepthFS:()=>vee,PolygonDepthVS:()=>_ee,PolygonGeometry:()=>bc,PolygonGeometryLibrary:()=>ul,PolygonGeometryUpdater:()=>axe,PolygonGraphics:()=>Bs,PolygonHierarchy:()=>In,PolygonOutlineGeometry:()=>oxe,PolygonPipeline:()=>pu,Polyline:()=>W1,PolylineArrowMaterialProperty:()=>R2,PolylineCollection:()=>AP,PolylineColorAppearance:()=>op,PolylineDashMaterialProperty:()=>Gs,PolylineGeometry:()=>AS,PolylineGeometryUpdater:()=>_xe,PolylineGlowMaterialProperty:()=>vX,PolylineGraphics:()=>_1,PolylineMaterialAppearance:()=>vC,PolylineOutlineMaterialProperty:()=>DS,PolylinePipeline:()=>Vu,PolylineTrailLinkMaterialProperty:()=>uVe,PolylineVisualizer:()=>wxe,PolylineVolumeGeometry:()=>sxe,PolylineVolumeGeometryLibrary:()=>RF,PolylineVolumeGeometryUpdater:()=>Axe,PolylineVolumeGraphics:()=>g$,PolylineVolumeOutlineGeometry:()=>lxe,PositionProperty:()=>rz,PositionPropertyArray:()=>kU,PostProcessStage:()=>Jo,PostProcessStageCollection:()=>Xye,PostProcessStageComposite:()=>x0,PostProcessStageLibrary:()=>BC,PostProcessStageSampleMode:()=>QC,PostProcessStageTextureCache:()=>Fte,Primitive:()=>pa,PrimitiveCollection:()=>I1,PrimitiveLoadPlan:()=>Oz,PrimitiveOutlineGenerator:()=>mee,PrimitiveOutlinePipelineStage:()=>KCe,PrimitivePipeline:()=>CF,PrimitiveRenderResources:()=>pEe,PrimitiveState:()=>Ld,PrimitiveStatisticsPipelineStage:()=>WCe,PrimitiveType:()=>$r,ProjectionPicker:()=>kBe,ProjectionPickerViewModel:()=>NBe,Property:()=>Ct,PropertyArray:()=>tte,PropertyAttribute:()=>fee,PropertyAttributeProperty:()=>Cme,PropertyBag:()=>v1,PropertyTable:()=>fP,PropertyTexture:()=>gee,PropertyTextureProperty:()=>pme,ProviderViewModel:()=>Ug,Proxy:()=>bje,QuadraticRealPolynomial:()=>z_,QuadtreeOccluders:()=>V$,QuadtreePrimitive:()=>mD,QuadtreePrimitivezh:()=>pVe,QuadtreeTile:()=>z$,QuadtreeTileLoadState:()=>m0,QuadtreeTileProvider:()=>_Xe,QuantizedMeshTerrainData:()=>Jte,QuarticRealPolynomial:()=>c0e,Quaternion:()=>yr,QuaternionSpline:()=>Fme,Queue:()=>_F,RasterizeHtml:()=>e4,Ray:()=>Oa,Rectangle:()=>hi,RectangleCollisionChecker:()=>lte,RectangleGeometry:()=>aY,RectangleGeometryLibrary:()=>ap,RectangleGeometryUpdater:()=>gxe,RectangleGraphics:()=>JO,RectangleOutlineGeometry:()=>Fee,RectangularSensor:()=>d9,RectangularSensorFS:()=>JX,RectangularSensorGraphics:()=>WXe,RectangularSensorPrimitive:()=>jve,RectangularSensorScanPlaneFS:()=>qve,RectangularSensorVS:()=>zte,RectangularSensorVisualizer:()=>Xve,ReferenceFrame:()=>Vd,ReferenceProperty:()=>dz,RenderEntity:()=>LY,RenderObjectFactory:()=>zA,RenderState:()=>Hr,Renderbuffer:()=>gx,RenderbufferFormat:()=>XE,Request:()=>g0,RequestErrorEvent:()=>fF,RequestScheduler:()=>iv,RequestState:()=>SA,RequestType:()=>kx,ResetViewNavigationControl:()=>Bve,Resource:()=>fr,ResourceCache:()=>Ju,ResourceCacheKey:()=>xv,ResourceCacheStatistics:()=>gme,ResourceLoader:()=>cp,ResourceLoaderState:()=>oo,Rotation:()=>S1,RuntimeError:()=>Ti,S2Cell:()=>oU,S3MCacheFileRenderEntity:()=>YX,S3MCompressType:()=>zXe,S3MContentFactory:()=>Vve,S3MContentParser:()=>zve,S3MCreateIndexJob:()=>Hve,S3MCreateVertexJob:()=>Ove,S3MDataSource:()=>OYe,S3MLayerCache:()=>Yve,S3MLayerScheduler:()=>Jve,S3MPixelFormat:()=>YXe,S3MTile:()=>Wve,S3MTilesFS:()=>kve,S3MTilesLayer:()=>Vte,S3MTilesVS:()=>Nve,S3ModelParser:()=>Kve,SDFSettings:()=>wC,SampledPositionProperty:()=>Yy,SampledProperty:()=>tS,Sampler:()=>Ra,ScaledPositionProperty:()=>qO,Scene:()=>Cve,SceneFramebuffer:()=>Mte,SceneMode:()=>ii,SceneMode2DPipelineStage:()=>qCe,SceneModePicker:()=>OBe,SceneModePickerViewModel:()=>UBe,SceneTransforms:()=>ms,SceneTransitioner:()=>rve,ScreenSpaceCameraController:()=>uve,ScreenSpaceEventHandler:()=>pr,ScreenSpaceEventType:()=>_i,SelectedFeatureIdPipelineStage:()=>KV,SelectionIndicator:()=>HBe,SelectionIndicatorViewModel:()=>GBe,Sensor:()=>Vqe,ShaderBuilder:()=>bee,ShaderCache:()=>ZEe,ShaderDestination:()=>Gi,ShaderFunction:()=>sEe,ShaderProgram:()=>Wa,ShaderSource:()=>hr,ShaderStruct:()=>oEe,ShadowMap:()=>yB,ShadowMapShader:()=>s2,ShadowMode:()=>_s,ShadowVolumeAppearance:()=>lS,ShowGeometryInstanceAttribute:()=>kl,Simon1994PlanetaryPositions:()=>qV,SimplePolylineGeometry:()=>Qje,SingleTileImageryProvider:()=>Bv,SkinningPipelineStage:()=>XCe,SkyAtmosphere:()=>SY,SkyBox:()=>HN,SpatialNode:()=>eBe,SphereEmitter:()=>l6,SphereGeometry:()=>Sje,SphereOutlineGeometry:()=>jS,Spherical:()=>VIe,Spline:()=>Ih,SplitDirection:()=>fI,Splitter:()=>lie,SpotLight:()=>HYe,StaticGeometryColorBatch:()=>nS,StaticGeometryPerMaterialBatch:()=>oS,StaticGroundGeometryColorBatch:()=>SX,StaticGroundGeometryPerMaterialBatch:()=>fxe,StaticGroundPolylinePerMaterialBatch:()=>Bxe,StaticOutlineGeometryBatch:()=>DX,StencilConstants:()=>No,StencilFunction:()=>sA,StencilOperation:()=>kn,SteppedSpline:()=>Lme,StripeMaterialProperty:()=>_X,StripeOrientation:()=>F2,StructuralMetadata:()=>rD,StyleCommandsNeeded:()=>MF,StyleExpression:()=>BXe,Sun:()=>Eve,SunLight:()=>B4,SunPostProcess:()=>dve,SupportedImageFormats:()=>vme,SvgPathBindingHandler:()=>ABe,TaskProcessor:()=>Yh,Terrain:()=>iBe,TerrainData:()=>MN,TerrainEncoding:()=>NS,TerrainExaggeration:()=>h1,TerrainFillMesh:()=>Bte,TerrainFlatten:()=>K4,TerrainFlattenPolygonTexture:()=>Ive,TerrainMesh:()=>TN,TerrainOffsetProperty:()=>jee,TerrainProvider:()=>_m,TerrainQuantization:()=>PC,TerrainState:()=>nc,Texture:()=>Rn,Texture3D:()=>aIe,TextureAtlas:()=>uV,TextureCache:()=>$Ee,TextureMagnificationFilter:()=>mu,TextureManager:()=>n0e,TextureMinificationFilter:()=>ya,TextureUniform:()=>i0e,TextureWrap:()=>oa,TileAvailability:()=>g2,TileBoundingRegion:()=>TF,TileBoundingS2Cell:()=>FEe,TileBoundingSphere:()=>cD,TileBoundingVolume:()=>wXe,TileCoordinatesImageryProvider:()=>rBe,TileDiscardPolicy:()=>bXe,TileEdge:()=>ga,TileImagery:()=>vte,TileMapServiceImageryProvider:()=>MB,TileMetadata:()=>MEe,TileOrientedBoundingBox:()=>S2,TileProviderError:()=>Wc,TileReplacementQueue:()=>J$,TileSelectionResult:()=>To,TileState:()=>QXe,Tileset3DTileContent:()=>EEe,TilesetMetadata:()=>kEe,TilesetPipelineStage:()=>tCe,TilingScheme:()=>Dje,TimeConstants:()=>rA,TimeDynamicImagery:()=>xte,TimeDynamicPointCloud:()=>Aie,TimeInterval:()=>cs,TimeIntervalCollection:()=>vm,TimeIntervalCollectionPositionProperty:()=>aO,TimeIntervalCollectionProperty:()=>UU,TimeStandard:()=>gl,Timeline:()=>YBe,TimelineHighlightRange:()=>VBe,TimelineTrack:()=>zBe,Tipsify:()=>x0e,ToggleButtonViewModel:()=>J5,Tonemapper:()=>vU,Transforms:()=>Vr,TranslationRotationScale:()=>Ux,TranslucentTileClassification:()=>vye,TridiagonalSystemSolver:()=>Eee,TrustedServers:()=>FZ,TweenCollection:()=>Ute,UniformState:()=>tIe,UniformType:()=>Yo,UrlTemplateGeojsonProvider:()=>YYe,UrlTemplateImageryProvider:()=>pI,UserInterfaceControl:()=>Hte,Utils:()=>EB,VERSION:()=>vZe,VRButton:()=>KBe,VRButtonViewModel:()=>JBe,VRTheWorldTerrainProvider:()=>Rje,VaryingType:()=>wm,Vector3DTileBatch:()=>zU,Vector3DTileClampedPolylines:()=>BEe,Vector3DTileContent:()=>QEe,Vector3DTileGeometry:()=>NL,Vector3DTilePoints:()=>IEe,Vector3DTilePolygons:()=>xEe,Vector3DTilePolylines:()=>Tee,Vector3DTilePrimitive:()=>X$,VelocityOrientationProperty:()=>zIe,VelocityVectorProperty:()=>ite,VertexArray:()=>VA,VertexArrayFacade:()=>V9,VertexAttributeSemantic:()=>uo,VertexCompressOption:()=>Ry,VertexFormat:()=>wr,VerticalOrigin:()=>on,VideoSynchronizer:()=>Mje,View:()=>Pte,ViewShed:()=>Aze,ViewShedMap:()=>_4,ViewShedMapShader:()=>u2,Viewer:()=>Die,ViewportQuad:()=>TXe,Visibility:()=>ld,Visualizer:()=>f7e,VolumeCloud:()=>Nje,VoxelBoxShape:()=>VF,VoxelContent:()=>F_e,VoxelCylinderShape:()=>zF,VoxelEllipsoidShape:()=>GY,VoxelInspector:()=>qBe,VoxelInspectorViewModel:()=>WBe,VoxelPrimitive:()=>cie,VoxelProvider:()=>NXe,VoxelRenderResources:()=>T_e,VoxelShape:()=>kXe,VoxelShapeType:()=>Bu,VoxelTraversal:()=>rZ,VulkanConstants:()=>Lje,WallGeometry:()=>pxe,WallGeometryLibrary:()=>Ate,WallGeometryUpdater:()=>Cxe,WallGraphics:()=>az,WallOutlineGeometry:()=>mxe,WaterFS:()=>pz,WaterMaterialProperty:()=>ZYe,WebGLConstants:()=>ri,WebMapServiceImageryProvider:()=>G4,WebMapTileServiceImageryProvider:()=>RN,WebMercatorProjection:()=>Pu,WebMercatorTilingScheme:()=>Sf,WindingOrder:()=>Sx,WireframeIndexGenerator:()=>wee,WireframePipelineStage:()=>$Ce,ZoomNavigationControl:()=>HX,_shadersAcesTonemappingStage:()=>Qye,_shadersAdditiveBlend:()=>cve,_shadersAdjustTranslucentFS:()=>cX,_shadersAllMaterialAppearanceFS:()=>ope,_shadersAllMaterialAppearanceVS:()=>ape,_shadersAmbientOcclusionGenerate:()=>Sye,_shadersAmbientOcclusionModulate:()=>Dye,_shadersAspectRampMaterial:()=>Qhe,_shadersAtmosphereCommon:()=>ZU,_shadersBasicMaterialAppearanceFS:()=>spe,_shadersBasicMaterialAppearanceVS:()=>lpe,_shadersBillboardCollectionFS:()=>Ofe,_shadersBillboardCollectionVS:()=>Gfe,_shadersBlackAndWhite:()=>Mye,_shadersBloomComposite:()=>Tye,_shadersBrdfLutGeneratorFS:()=>sIe,_shadersBrightPass:()=>hve,_shadersBrightness:()=>Pye,_shadersBumpMapMaterial:()=>She,_shadersCPUStylingStageFS:()=>vCe,_shadersCPUStylingStageVS:()=>yCe,_shadersCheckFloatTexturePrecisionFS:()=>oJe,_shadersCheckerboardMaterial:()=>Dhe,_shadersCloudCollectionFS:()=>lIe,_shadersCloudCollectionVS:()=>AIe,_shadersCloudNoiseFS:()=>uIe,_shadersCloudNoiseVS:()=>cIe,_shadersCompareAndPackTranslucentDepth:()=>hIe,_shadersCompositeOITFS:()=>dIe,_shadersCompositeTranslucentClassification:()=>jH,_shadersContrastBias:()=>Rye,_shadersCustomShaderStageFS:()=>wCe,_shadersCustomShaderStageVS:()=>BCe,_shadersCzmBuiltins:()=>BH,_shadersDepthOfField:()=>Lye,_shadersDepthPlaneFS:()=>gIe,_shadersDepthPlaneVS:()=>fIe,_shadersDepthView:()=>Fye,_shadersDepthViewPacked:()=>UXe,_shadersDotMaterial:()=>Mhe,_shadersEdgeDetection:()=>Nye,_shadersElevationBandMaterial:()=>The,_shadersElevationContourMaterial:()=>Phe,_shadersElevationRampMaterial:()=>Rhe,_shadersEllipsoidFS:()=>hX,_shadersEllipsoidSurfaceAppearanceFS:()=>cpe,_shadersEllipsoidSurfaceAppearanceVS:()=>hpe,_shadersEllipsoidVS:()=>dX,_shadersFXAA:()=>Uye,_shadersFXAA3_11:()=>pIe,_shadersFadeMaterial:()=>Lhe,_shadersFeatureIdStageFS:()=>bCe,_shadersFeatureIdStageVS:()=>QCe,_shadersFilmicTonemapping:()=>kye,_shadersGaussianBlur1D:()=>u9,_shadersGaussianBlur1DSun:()=>Kye,_shadersGeometryStageFS:()=>PCe,_shadersGeometryStageVS:()=>RCe,_shadersGlobeFS:()=>mIe,_shadersGlobeVS:()=>CIe,_shadersGridMaterial:()=>Fhe,_shadersGroundAtmosphere:()=>gX,_shadersHSBToRGB:()=>Nge,_shadersHSLToRGB:()=>kge,_shadersImageBasedLightingStageFS:()=>iCe,_shadersInstancingStageCommon:()=>cCe,_shadersInstancingStageVS:()=>hCe,_shadersIntersectBox:()=>__e,_shadersIntersectClippingPlanes:()=>v_e,_shadersIntersectCylinder:()=>B_e,_shadersIntersectDepth:()=>y_e,_shadersIntersectEllipsoid:()=>w_e,_shadersIntersection:()=>iV,_shadersIntersectionUtils:()=>x_e,_shadersLegacyInstancingStageVS:()=>dCe,_shadersLensFlare:()=>Oye,_shadersLightingStageFS:()=>FCe,_shadersMaterialStageFS:()=>kCe,_shadersMegatexture:()=>M_e,_shadersMetadataStageFS:()=>SCe,_shadersMetadataStageVS:()=>DCe,_shadersModelClippingPlanesStageFS:()=>lCe,_shadersModelColorStageFS:()=>sCe,_shadersModelFS:()=>zme,_shadersModelSilhouetteStageFS:()=>AEe,_shadersModelSilhouetteStageVS:()=>uEe,_shadersModelSplitterStageFS:()=>hEe,_shadersModelVS:()=>Yme,_shadersModifiedReinhardTonemapping:()=>Gye,_shadersMorphTargetsStageVS:()=>OCe,_shadersNightVision:()=>Hye,_shadersNormalMapMaterial:()=>Nhe,_shadersOctahedralProjectionAtlasFS:()=>Lpe,_shadersOctahedralProjectionFS:()=>Fpe,_shadersOctahedralProjectionVS:()=>Npe,_shadersOctree:()=>D_e,_shadersPassThrough:()=>OS,_shadersPassThroughDepth:()=>A9,_shadersPerInstanceColorAppearanceFS:()=>B0e,_shadersPerInstanceColorAppearanceVS:()=>w0e,_shadersPerInstanceFlatColorAppearanceFS:()=>i$,_shadersPerInstanceFlatColorAppearanceVS:()=>b0e,_shadersPointCloudEyeDomeLighting:()=>wme,_shadersPointCloudStylingStageVS:()=>VCe,_shadersPointPrimitiveCollectionFS:()=>L5,_shadersPointPrimitiveCollectionVS:()=>zfe,_shadersPolylineArrowMaterial:()=>khe,_shadersPolylineColorAppearanceVS:()=>m0e,_shadersPolylineCommon:()=>AN,_shadersPolylineDashMaterial:()=>Uhe,_shadersPolylineFS:()=>r$,_shadersPolylineGlowMaterial:()=>Ohe,_shadersPolylineMaterialAppearanceVS:()=>C0e,_shadersPolylineOutlineMaterial:()=>Ghe,_shadersPolylineShadowVolumeFS:()=>d0e,_shadersPolylineShadowVolumeMorphFS:()=>g0e,_shadersPolylineShadowVolumeMorphVS:()=>f0e,_shadersPolylineShadowVolumeVS:()=>p0e,_shadersPolylineVS:()=>dpe,_shadersPostProcessRain:()=>OXe,_shadersPostProcessSnow:()=>GXe,_shadersPrimitiveOutlineStageFS:()=>JCe,_shadersPrimitiveOutlineStageVS:()=>YCe,_shadersRGBToHSB:()=>ufe,_shadersRGBToHSL:()=>cfe,_shadersRGBToXYZ:()=>hfe,_shadersReinhardTonemapping:()=>Vye,_shadersReprojectWebMercatorFS:()=>EIe,_shadersReprojectWebMercatorVS:()=>IIe,_shadersRimLightingMaterial:()=>Hhe,_shadersSelectedFeatureIdStageCommon:()=>rX,_shadersShadowVolumeAppearanceFS:()=>a$,_shadersShadowVolumeAppearanceVS:()=>_0e,_shadersShadowVolumeFS:()=>CV,_shadersSilhouette:()=>zye,_shadersSkinningStageVS:()=>jCe,_shadersSkyAtmosphereCommon:()=>fX,_shadersSkyAtmosphereFS:()=>xIe,_shadersSkyAtmosphereVS:()=>yIe,_shadersSkyBoxFS:()=>vIe,_shadersSkyBoxVS:()=>_Ie,_shadersSlopeRampMaterial:()=>Vhe,_shadersStripeMaterial:()=>zhe,_shadersSunFS:()=>BIe,_shadersSunShaft:()=>HXe,_shadersSunShaftHdr:()=>VXe,_shadersSunShaftModulate:()=>Jye,_shadersSunTextureFS:()=>wIe,_shadersSunTextureFS_v2:()=>aJe,_shadersSunVS:()=>QIe,_shadersSunVisibleFS:()=>bIe,_shadersSunVisibleShaft:()=>Wye,_shadersSunVisibleVS:()=>Zme,_shadersTexturedMaterialAppearanceFS:()=>Ape,_shadersTexturedMaterialAppearanceVS:()=>upe,_shadersVector3DTileClampedPolylinesFS:()=>_Ee,_shadersVector3DTileClampedPolylinesVS:()=>vEe,_shadersVector3DTilePolylinesVS:()=>yEe,_shadersVectorTileVS:()=>zj,_shadersViewportQuadFS:()=>SIe,_shadersViewportQuadVS:()=>Kee,_shadersVoxelFS:()=>E_e,_shadersVoxelVS:()=>I_e,_shadersWater:()=>Yhe,_shadersXYZToRGB:()=>Ffe,_shadersacesTonemapping:()=>sge,_shadersalphaWeight:()=>lge,_shadersantialias:()=>Age,_shadersapproximateSphericalCoordinates:()=>uge,_shadersbackFacing:()=>cge,_shadersbranchFreeTernary:()=>hge,_shaderscascadeColor:()=>dge,_shaderscascadeDistance:()=>gge,_shaderscascadeMatrix:()=>fge,_shaderscascadeWeights:()=>pge,_shaderscolumbusViewMorph:()=>mge,_shaderscomputePosition:()=>Cge,_shadersconvertUvToBox:()=>b_e,_shadersconvertUvToCylinder:()=>Q_e,_shadersconvertUvToEllipsoid:()=>S_e,_shaderscosineAndSine:()=>Ege,_shadersdecompressTextureCoordinates:()=>Ige,_shadersdefaultPbrMaterial:()=>xge,_shadersdegreesPerRadian:()=>gde,_shadersdepthClamp:()=>yge,_shadersdepthRange:()=>fde,_shadersdepthRangeStruct:()=>Zde,_shaderseastNorthUpToEyeCoordinates:()=>vge,_shadersellipsoidContainsPoint:()=>_ge,_shadersellipsoidWgs84TextureCoordinates:()=>Bge,_shadersepsilon1:()=>pde,_shadersepsilon2:()=>mde,_shadersepsilon3:()=>Cde,_shadersepsilon4:()=>Ede,_shadersepsilon5:()=>Ide,_shadersepsilon6:()=>xde,_shadersepsilon7:()=>yde,_shadersequalsEpsilon:()=>wge,_shaderseyeOffset:()=>bge,_shaderseyeToWindowCoordinates:()=>Qge,_shadersfastApproximateAtan:()=>Sge,_shadersfog:()=>Dge,_shadersgammaCorrect:()=>Mge,_shadersgeodeticSurfaceNormal:()=>Tge,_shadersgetDefaultMaterial:()=>Pge,_shadersgetLambertDiffuse:()=>Rge,_shadersgetSpecular:()=>Lge,_shadersgetWaterNoise:()=>Fge,_shadershue:()=>Uge,_shadersinfinity:()=>vde,_shadersinverseGamma:()=>Oge,_shadersisEmpty:()=>Gge,_shadersisFull:()=>Hge,_shaderslatitudeToWebMercatorFraction:()=>Vge,_shaderslineDistance:()=>Yge,_shaderslinearToSrgb:()=>zge,_shadersluminance:()=>Jge,_shadersmaterial:()=>$de,_shadersmaterialInput:()=>ege,_shadersmetersPerPixel:()=>Kge,_shadersmodelMaterial:()=>tge,_shadersmodelToWindowCoordinates:()=>Wge,_shadersmodelVertexOutput:()=>ige,_shadersmultiplyWithColorBalance:()=>qge,_shadersnearFarScalar:()=>jge,_shadersoctDecode:()=>Xge,_shadersoneOverPi:()=>_de,_shadersoneOverTwoPi:()=>Bde,_shaderspackDepth:()=>Zge,_shaderspassCesium3DTile:()=>wde,_shaderspassCesium3DTileClassification:()=>bde,_shaderspassCesium3DTileClassificationIgnoreShow:()=>Qde,_shaderspassClassification:()=>Sde,_shaderspassCompute:()=>Dde,_shaderspassEnvironment:()=>Mde,_shaderspassGlobe:()=>Tde,_shaderspassOpaque:()=>Pde,_shaderspassOverlay:()=>Rde,_shaderspassTerrainClassification:()=>Lde,_shaderspassTranslucent:()=>Fde,_shaderspassVoxels:()=>Nde,_shaderspbrLighting:()=>$ge,_shaderspbrMetallicRoughnessMaterial:()=>efe,_shaderspbrParameters:()=>rge,_shaderspbrSpecularGlossinessMaterial:()=>tfe,_shadersphong:()=>ife,_shaderspi:()=>kde,_shaderspiOverFour:()=>Ude,_shaderspiOverSix:()=>Ode,_shaderspiOverThree:()=>Gde,_shaderspiOverTwo:()=>Hde,_shadersplaneDistance:()=>rfe,_shaderspointAlongRay:()=>nfe,_shadersradiansPerDegree:()=>Vde,_shadersray:()=>nge,_shadersrayEllipsoidIntersectionInterval:()=>ofe,_shadersraySegment:()=>oge,_shadersraySphereIntersectionInterval:()=>afe,_shadersreadDepth:()=>sfe,_shadersreadNonPerspective:()=>lfe,_shadersreverseLogDepth:()=>Afe,_shadersround:()=>dfe,_shaderssampleOctahedralProjection:()=>gfe,_shaderssaturation:()=>ffe,_shaderssceneMode2D:()=>zde,_shaderssceneMode3D:()=>Yde,_shaderssceneModeColumbusView:()=>Jde,_shaderssceneModeMorphing:()=>Kde,_shadersshadowDepthCompare:()=>pfe,_shadersshadowParameters:()=>age,_shadersshadowVisibility:()=>mfe,_shaderssignNotZero:()=>Cfe,_shaderssolarRadius:()=>Wde,_shaderssphericalHarmonics:()=>Efe,_shaderssrgbToLinear:()=>Ife,_shaderstangentToEyeSpaceMatrix:()=>xfe,_shaderstextureCube:()=>yfe,_shadersthreePiOver2:()=>qde,_shaderstransformPlane:()=>vfe,_shaderstranslateRelativeToEye:()=>_fe,_shaderstranslucentPhong:()=>Bfe,_shaderstranspose:()=>wfe,_shaderstwoPi:()=>jde,_shadersunpackDepth:()=>bfe,_shadersunpackFloat:()=>Qfe,_shadersunpackUint:()=>Sfe,_shadersvalueTransform:()=>Dfe,_shadersvertexLogDepth:()=>Mfe,_shaderswebMercatorMaxLatitude:()=>Xde,_shaderswindowToEyeCoordinates:()=>Tfe,_shaderswriteDepthClamp:()=>Pfe,_shaderswriteLogDepth:()=>Rfe,_shaderswriteNonPerspective:()=>Lfe,addBuffer:()=>ime,addDefaults:()=>Wpe,addExtensionsRequired:()=>$pe,addExtensionsUsed:()=>IN,addPipelineExtras:()=>Dz,addToArray:()=>fx,appendForwardSlash:()=>Ehe,arrayRemoveDuplicates:()=>f0,barycentricCoordinates:()=>o$,binarySearch:()=>yf,buildDrawCommand:()=>eCe,buildModuleUrl:()=>Ja,buildVoxelDrawCommands:()=>R_e,clone:()=>En,combine:()=>yo,computeFlyToLocationForRectangle:()=>tie,createBillboardPointCallback:()=>Mee,createBlurStage:()=>zX,createCommand:()=>Os,createDefaultImageryProviderViewModels:()=>EBe,createDefaultTerrainProviderViewModels:()=>IBe,createEdgeStage:()=>j4,createElevationBandMaterial:()=>nXe,createFragmentFromTemplate:()=>xve,createGooglePhotorealistic3DTileset:()=>oXe,createGuid:()=>Kl,createMaterialPropertyDescriptor:()=>lp,createOsmBuildings:()=>aXe,createOsmBuildingsAsync:()=>sXe,createPropertyDescriptor:()=>ai,createRawPropertyDescriptor:()=>ox,createTangentSpaceDebugPrimitive:()=>lXe,createTaskProcessorWorker:()=>qXe,createUniform:()=>cde,createUniformArray:()=>dde,createWorldImagery:()=>AXe,createWorldImageryAsync:()=>xU,createWorldTerrain:()=>rje,createWorldTerrainAsync:()=>Wte,decodeGoogleEarthEnterpriseData:()=>s_e,decodeVectorPolylinePositions:()=>wEe,defaultValue:()=>ae,defer:()=>Nu,defined:()=>k,demodernizeShader:()=>Nfe,deprecationWarning:()=>$t,destroyObject:()=>ar,exportKml:()=>A7e,findAccessorMinMax:()=>Tz,findContentMetadata:()=>Ree,findGroupMetadata:()=>Lee,findTileMetadata:()=>PEe,forEachTextureInMaterial:()=>oee,formatError:()=>dO,fragment:()=>lze,freezeRenderState:()=>EOe,getAbsoluteUri:()=>N9,getAccessorByteStride:()=>gP,getBaseUri:()=>xhe,getBinaryAccessor:()=>uS,getClipAndStyleCode:()=>J_e,getClippingFunction:()=>dY,getComponentReader:()=>Mz,getElement:()=>Ru,getExtensionFromUri:()=>DZ,getFilenameFromUri:()=>lz,getImageFromTypedArray:()=>r0e,getImagePixels:()=>gF,getJsonFromTypedArray:()=>Ap,getMagic:()=>i4,getStringFromTypedArray:()=>ab,getTimestamp:()=>HA,hasExtension:()=>Lu,heightReferenceOnEntityPropertyChanged:()=>iY,isBitSet:()=>bx,isBlobUri:()=>MZ,isCrossOriginUrl:()=>TZ,isDataUri:()=>k9,isLeapYear:()=>QU,knockout:()=>Vi,knockout_3_5_1:()=>_D,knockout_es5:()=>lBe,libgif:()=>Bpe,loadAndExecuteScript:()=>PZ,loadCRN:()=>Eje,loadCubeMap:()=>oIe,loadDDS:()=>NZ,loadImageFromTypedArray:()=>tee,loadKTX2:()=>$2,loadView:()=>Gte,mergeSort:()=>V4,moveTechniqueRenderStates:()=>Zpe,moveTechniquesToExtension:()=>eme,numberOfComponentsForType:()=>EN,objectToQuery:()=>RZ,oneTimeWarning:()=>Ro,packer:()=>s0e,parseBatchTable:()=>zz,parseBoundingVolumeSemantics:()=>fme,parseDefines:()=>Pve,parseFeatureMetadataLegacy:()=>xme,parseGlb:()=>jpe,parseResponseHeaders:()=>yhe,parseStructuralMetadata:()=>Ime,pointInsideTriangle:()=>Bje,preprocess3DTileContent:()=>C4,processVoxelProperties:()=>P_e,queryToObject:()=>A1,rasterizeHTML_allinone:()=>Rpe,readAccessorPacked:()=>rme,removeExtension:()=>VV,removeExtensionsRequired:()=>qpe,removeExtensionsUsed:()=>nee,removePipelineExtras:()=>Xpe,removeUnusedElements:()=>tme,remove_primitive:()=>h9,resizeImageToNextPowerOfTwo:()=>pV,sampleTerrain:()=>lY,sampleTerrainMostDetailed:()=>bB,scaleToGeodeticSurface:()=>UZ,subdivideArray:()=>E0e,subscribeAndEvaluate:()=>jE,svgCompassGyro:()=>bve,svgCompassOuterRing:()=>wve,svgCompassRotationMarker:()=>Qve,svgReset:()=>vve,turf:()=>ws,updateAccessorComponentTypes:()=>nme,updateVersion:()=>ome,usesExtension:()=>Wg,vertex:()=>sze,viewerCesium3DTilesInspectorMixin:()=>mZe,viewerCesiumInspectorMixin:()=>CZe,viewerCesiumNavigationMixin:()=>Dqe,viewerDragDropMixin:()=>EZe,viewerPerformanceWatchdogMixin:()=>IZe,viewerVoxelInspectorMixin:()=>yZe,webGLConstantToGlslType:()=>Fje,wrapFunction:()=>m_e,writeTextToCanvas:()=>aN});function $Y(o=!0){this.async=o}$Y.prototype.getXmlHttpRequest=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;if(window.ActiveXObject)return new ActiveXObject("MsXml2.XmlHttp")};$Y.prototype.includeJsText=function(o,A){if(o!=null){var f=document.createElement("script");f.type="text/javascript",f.text=A,o.appendChild(f)}};$Y.prototype.includeJsSrc=function(o,A){if(o!=null){var f=document.createElement("script");f.type="text/javascript",f.src=A,o.appendChild(f)}};$Y.prototype.addJs=function(o,A){var f=this.getXmlHttpRequest(),m=this;f.onreadystatechange=function(){f.readyState===4&&(f.status===200||f.status===304?m.includeJsSrc(o,A):console.log("XML request error: "+f.statusText+" ("+f.status+")"))},f.open("GET",A,m.async),f.send(null),f.status===404?console.log(A+" is not found"):m.includeJsText(o,f.responseText)};var b0=$Y;var uxi={testModel:"Workers/Model/xiaoche.glb",modelAxis:"Workers/Model/axis.gltf",flyModel:"Workers/Model/fly.glb",divpoint:"Workers/image/divpoint.png",divpoint1:"Workers/image/divpoint1.png",richtextpoint:"Workers/image/richtextpoint1.png",mark:"Workers/image/mark.png",mark1:"Workers/image/mark1.png",TrailLine:"Workers/image/TrailLine.png",road:"Workers/image/road.jpg",colors3:"Workers/image/colors3.png",loading:"Workers/image/loading.gif",smog:"Workers/image/smog.png",penquan:"Workers/image/penquan.png",fire:"Workers/image/fire.png",fire2:"Workers/image/fire2.png",bottomplane:"Workers/image/bottomplane.jpg",wall:"Workers/image/ggy.jpg",rotate:"Workers/image/rotate.png",move:"Workers/image/move.png",draw:"Workers/image/cursor/draw.cur",water:"Workers/image/waterNormals.jpg",movingRiver:"Workers/image/movingRiver.png",effectCircle:"Workers/image/circle.png",scanCircle:"Workers/image/scan.png",particles:"Workers/image/particles.png",trafficLight:{l_go:"Workers/image/trafficLights/l-go.png",l_wait:"Workers/image/trafficLights/l-wait.png",l_stop:"Workers/image/trafficLights/l-stop.png",l_null:"Workers/image/trafficLights/l-null.png",go:"Workers/image/trafficLights/go.png",wait:"Workers/image/trafficLights/wait.png",stop:"Workers/image/trafficLights/stop.png",null:"Workers/image/trafficLights/null.png",r_go:"Workers/image/trafficLights/r-go.png",r_wait:"Workers/image/trafficLights/r-wait.png",r_stop:"Workers/image/trafficLights/r-stop.png",r_null:"Workers/image/trafficLights/r-null.png",bg:"Workers/image/trafficLights/bg.png"}},kr=Object.freeze(uxi);function cxi(o,A){return o??A}var Jd=cxi;var BZe=`// author: \u5F20\u4E39\u948A czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; if(twoColor){ if(st.s<time){ material.alpha = color1.a; material.diffuse = color1.rgb; }else{ material.alpha = color2.a; material.diffuse = color2.rgb; } }else if(lightSpot){ if(st.s<time){ material.alpha = pow(st.s / time, 20.0); if(material.alpha<alpha){ material.alpha = alpha; material.diffuse = color.rgb; }else{ material.diffuse = lightSpotColor.rgb; } }else{ material.alpha = alpha; material.diffuse = color.rgb; } }else{ vec4 colorImage = texture(image, vec2(fract(st.s - time), st.t)); material.alpha = colorImage.a * color.a; material.diffuse = (colorImage.rgb + color.rgb) / 2.0; } return material; }`;var wZe=`// author: \u5F20\u4E39\u948A uniform vec4 color; uniform vec4 color1; uniform vec4 color2; uniform vec4 lightSpotColor; uniform sampler2D image; uniform bool twoColor; uniform bool lightSpot; uniform float alpha; uniform float intervalTime; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float time = fract(czm_frameNumber / (60.0 * intervalTime)); if(twoColor){ if(st.s < time){ material.alpha = color1.a; material.diffuse = color1.rgb; }else{ material.alpha = color2.a; material.diffuse = color2.rgb; } }else if(lightSpot){ if(st.s<time){ material.alpha = pow(st.s / time, 20.0); if(material.alpha<alpha){ material.alpha = alpha; material.diffuse = color.rgb; }else{ material.diffuse = lightSpotColor.rgb; } }else{ material.alpha = alpha; material.diffuse = color.rgb; } }else{ vec4 colorImage = texture(image, vec2(fract(st.s - time), st.t)); material.alpha = colorImage.a * color.a; material.diffuse = (colorImage.rgb + color.rgb)/2.0; } return material; }`;var Qc=null;function wD(o,A,f,m){Qc=m,hxi(),this._definitionChanged=new Qc.Event,this._color=void 0,this._colorSubscription=void 0,this.color=Qc.Color.fromCssColorString(o||"#ffffff"),this._Line=A||Qc.Material.PolylineTrailLinkImage,this.duration=f||3e3,this.alpha=.3,this._time=new Date().getTime(),typeof this._Line=="object"&&(this._Line.LightSpot?this._Line.color=Qc.Color.fromCssColorString(this._Line.color):(this._Line.color1=Qc.Color.fromCssColorString(this._Line.color1),this._Line.color2=Qc.Color.fromCssColorString(this._Line.color2))),this.isConstant=!1,this.definitionChanged=this._definitionChanged,this.color=Qc.createPropertyDescriptor("color")}wD.prototype.getType=function(o){return"PolylineTrailLink"};wD.prototype.setScale=function(o){this.scale=o};wD.prototype.getValue=function(o,A){return Qc.defined(A)||(A={}),A.color=Qc.Property.getValueOrClonedDefault(this._color,o,Qc.Color.WHITE,A.color),typeof this._Line=="object"?this._Line.LightSpot?(A.lightSpot=!0,A.lightSpotColor=this._Line.color):(A.color1=this._Line.color1,A.color2=this._Line.color2,A.twoColor=!0):A.image=this._Line,this.scale!==void 0?A.time=this.scale:A.time=(new Date().getTime()-this._time)%this.duration/this.duration,A.alpha=this.alpha,A};wD.prototype.equals=function(o){return this===o||o instanceof wD&&Qc.Property.equals(this._color,o._color)};function hxi(){return Qc.PolylineTrailLinkMaterialProperty||(Qc.PolylineTrailLinkMaterialProperty=wD,Qc.Material.PolylineTrailLinkType="PolylineTrailLink",Qc.Material.PolylineTrailLinkImage=window.SmartEarthRootUrl+kr.TrailLine,Qc.Material.PolylineTrailLinkSource=BZe,Qc.Material._materialCache.addMaterial(Qc.Material.PolylineTrailLinkType,{fabric:{type:Qc.Material.PolylineTrailLinkType,uniforms:{color:new Qc.Color(1,0,0,.5),color1:new Qc.Color(0,1,0,.5),color2:new Qc.Color(1,0,0,.5),image:Qc.Material.PolylineTrailLinkImage,twoColor:!1,lightSpot:!1,lightSpotColor:new Qc.Color(1,1,1,.5),alpha:.3,time:0},source:Qc.Material.PolylineTrailLinkSource},translucent:function(o){return!0}})),Qc.Material}function Tie(o){return new o.Cesium.Material({fabric:{uniforms:{color:Jd(o.color,new o.Cesium.Color(1,0,0,.5)),color1:Jd(o.color1,new o.Cesium.Color(0,1,0,.5)),color2:Jd(o.color2,new o.Cesium.Color(1,0,0,.5)),image:Jd(o.image,window.SmartEarthRootUrl+kr.TrailLine),twoColor:Jd(o.twoColor,!1),lightSpot:Jd(o.lightSpot,!1),lightSpotColor:Jd(o.lightSpotColor,new o.Cesium.Color(1,1,1,.5)),alpha:Jd(o.alpha,.3),intervalTime:Jd(o.time,3e3)/1e3},source:wZe}})}var bZe=wD;var c6=null;function Sv(o,A){c6=A,this._mapContainer=o,window.echarts||new b0(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/echarts.min.js"),this.Init(o)}Sv.prototype.setOption=function(o,A){return this._echartsContainer&&A&&this.clear(),!this._overlay&&(this._overlay=this._createChartOverlay()),this._overlay.setOption(o),this};Sv.prototype._createChartOverlay=function(){var o=this._mapContainer.scene;o.canvas.setAttribute("tabIndex",0);var A=document.createElement("div");return A.style.position="absolute",A.style.top="0px",A.style.left="0px",A.style.width=o.canvas.width+"px",A.style.height=o.canvas.height+"px",A.style.pointerEvents="none",A.setAttribute("id","smartearth-cesium-echarts"),A.setAttribute("class","echartMap"),this._mapContainer.container.appendChild(A),this._echartsContainer=A,echarts.init(A)};Sv.prototype.clear=function(){this._echartsContainer&&(this._mapContainer.container.removeChild(this._echartsContainer),this._echartsContainer=null),this._overlay&&(this._overlay.dispose(),this._overlay=null)};Sv.prototype.deleteObject=Sv.prototype.clear;Sv.prototype.updateOverlay=function(o){this._overlay&&this._overlay.setOption(o)};Sv.prototype.getMap=function(){return this._mapContainer};Sv.prototype.getOverlay=function(){return this._overlay};Sv.prototype.show=function(){document.getElementById(this._id).style.visibility="visible"};Sv.prototype.hide=function(){document.getElementById(this._id).style.visibility="hidden"};Sv.prototype.Init=function(o){(function(A){var f={};function m(C){if(f[C])return f[C].exports;var E=f[C]={i:C,l:!1,exports:{}};return A[C].call(E.exports,E,E.exports,m),E.l=!0,E.exports}m.m=A,m.c=f,m.d=function(C,E,I){m.o(C,E)||Object.defineProperty(C,E,{enumerable:!0,get:I})},m.r=function(C){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(C,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(C,"__esModule",{value:!0})},m.t=function(C,E){if(1&E&&(C=m(C)),8&E||4&E&&typeof C=="object"&&C&&C.__esModule)return C;var I=Object.create(null);if(m.r(I),Object.defineProperty(I,"default",{enumerable:!0,value:C}),2&E&&typeof C!="string")for(var x in C)m.d(I,x,function(y){return C[y]}.bind(null,x));return I},m.n=function(C){var E=C&&C.__esModule?function(){return C.default}:function(){return C};return m.d(E,"a",E),E},m.o=function(C,E){return Object.prototype.hasOwnProperty.call(C,E)},m.p="",m(m.s=0)})([function(A,f,m){A.exports=m(1)},function(A,f,m){echarts?m(2).load():console.error("missing echarts lib")},function(A,f,m){"use strict";function C(x,y){for(var v=0;v<y.length;v++){var w=y[v];w.enumerable=w.enumerable||!1,w.configurable=!0,"value"in w&&(w.writable=!0),Object.defineProperty(x,w.key,w)}}m.r(f);var E=function(){function x(Q,M){(function(B,D){if(!(B instanceof D))throw new TypeError("Cannot call a class as a function")})(this,x),this._viewer=Q,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=M}var y,v,w;return y=x,w=[{key:"create",value:function(Q,M){var B;Q.eachComponent("GLMap",function(D){(B=new x(o,M)).setMapOffset(D.__mapOffset||[0,0]),D.coordinateSystem=B}),Q.eachSeries(function(D){D.get("coordinateSystem")==="GLMap"&&(D.coordinateSystem=B)})}},{key:"dimensions",get:function(){return["lng","lat"]}}],(v=[{key:"setMapOffset",value:function(Q){return this._mapOffset=Q,this}},{key:"getViewer",value:function(){return this._viewer}},{key:"dataToPoint",value:function(Q){if(this._viewer&&this._viewer.scene){var M=this._viewer.scene,B=[0,0],D=c6.Cartesian3.fromDegrees(Q[0],Q[1]);if(!D)return B;if(M.mode===c6.SceneMode.SCENE3D&&c6.Cartesian3.angleBetween(M.camera.position,D)>c6.Math.toRadians(80))return!1;var S=M.cartesianToCanvasCoordinates(D);return S?[S.x-this._mapOffset[0],S.y-this._mapOffset[1]]:[]}else return[]}},{key:"pointToData",value:function(Q){var M=this._mapOffset,B=o.scene.globe.ellipsoid,D=new c6.cartesian3(Q[1]+M,Q[2]+M[2],0),S=B.cartesianToCartographic(D);return[S.lng,S.lat]}},{key:"getViewRect",value:function(){var Q=this._api;return new echarts.graphic.BoundingRect(0,0,Q.getWidth(),Q.getHeight())}},{key:"getRoamTransform",value:function(){return echarts.matrix.create()}}])&&C(y.prototype,v),w&&C(y,w),x}();echarts.extendComponentModel({type:"GLMap",getViewer:function(){return o},defaultOption:{roam:!1}}),echarts.extendComponentView({type:"GLMap",init:function(x,y){this.api=y,this.dispose(),o.scene.postRender.addEventListener(this.moveHandler,this)},moveHandler:function(x,y){this.api.dispatchAction({type:"GLMapRoam"})},render:function(x,y,v){},dispose:function(x){o.scene.postRender.removeEventListener(this.moveHandler,this)}});function I(){echarts.registerCoordinateSystem("GLMap",E),echarts.registerAction({type:"GLMapRoam",event:"GLMapRoam",update:"updateLayout"},function(x,y){})}m.d(f,"load",function(){return I})}])};var QZe=Sv;function jBe(o){this.serverUrl=o}jBe.prototype.getSceneList=function(o){$.ajax({url:this.serverUrl+"/scene/sceneList",type:"get",success:function(A){o&&typeof o=="function"&&A&&o(JSON.parse(A))}})};jBe.prototype.query=function(o,A){var f=o.database,m={type:Jd(o.type,"building"),id:o.id,returnGeometry:Jd(o.returnGeometry,!0),returnChildren:Jd(o.returnChildren,!0)};$.ajax({url:this.serverUrl+"/"+f+"/query?version=v2.1",type:"post",async:!0,data:m,success:function(C){A&&typeof A=="function"&&C&&A(JSON.parse(C))},error:function(C,E,I){alert("error:"+C.status)}})};var SZe=jBe;function h6(o,A){this.mediaOutputPath=o||"test.mp4",this.videoBPS=A||512e4}h6.prototype.startRecord=function(){navigator.mediaDevices.getDisplayMedia({video:!0,audio:!0}).then(o=>{this.createRecorder(o)}).catch(o=>{this.getUserMediaError(o)})};h6.prototype.getUserMediaError=function(o){console.log("mediaError",o)};h6.prototype.createRecorder=function(o){console.log("start record");var A={videoBitsPerSecond:this.videoBPS};this.recorder=new MediaRecorder(o,A),this.recorder.start();var f=[];this.recorder.onstop=m=>{let C=new Blob(f,{type:"video/mp4"});this.saveMedia(C)},this.recorder.ondataavailable=m=>{f.push(m.data)}};h6.prototype.saveMedia=function(o){let A=window.URL.createObjectURL(o);var f=document.createElement("a");f.innerHTML="test",f.download=this.mediaOutputPath,f.href=A,f.click()};h6.prototype.stopRecord=function(){this.recorder.stop()};var DZe=h6;var Pie=52.35987755982988,JC=3.141592653589793,MZe=6378245,TZe=.006693421622965943,dxi={BD09ToGCJ02(o,A){let f=+o-.0065,m=+A-.006,C=Math.sqrt(f*f+m*m)-2e-5*Math.sin(m*Pie),E=Math.atan2(m,f)-3e-6*Math.cos(f*Pie),I=C*Math.cos(E),x=C*Math.sin(E);return[I,x]},GCJ02ToBD09(o,A){A=+A,o=+o;let f=Math.sqrt(o*o+A*A)+2e-5*Math.sin(A*Pie),m=Math.atan2(A,o)+3e-6*Math.cos(o*Pie),C=f*Math.cos(m)+.0065,E=f*Math.sin(m)+.006;return[C,E]},WGS84ToGCJ02(o,A){if(A=+A,o=+o,this.out_of_china(o,A))return[o,A];{let f=this.delta(o,A);return[o+f[0],A+f[1]]}},GCJ02ToWGS84(o,A){if(A=+A,o=+o,this.out_of_china(o,A))return[o,A];{let f=this.delta(o,A),m=o+f[0],C=A+f[1];return[o*2-m,A*2-C]}},delta(o,A){let f=this.transformLng(o-105,A-35),m=this.transformLat(o-105,A-35),C=A/180*JC,E=Math.sin(C);E=1-TZe*E*E;let I=Math.sqrt(E);return f=f*180/(MZe/I*Math.cos(C)*JC),m=m*180/(MZe*(1-TZe)/(E*I)*JC),[f,m]},transformLng(o,A){A=+A,o=+o;let f=300+o+2*A+.1*o*o+.1*o*A+.1*Math.sqrt(Math.abs(o));return f+=(20*Math.sin(6*o*JC)+20*Math.sin(2*o*JC))*2/3,f+=(20*Math.sin(o*JC)+40*Math.sin(o/3*JC))*2/3,f+=(150*Math.sin(o/12*JC)+300*Math.sin(o/30*JC))*2/3,f},transformLat(o,A){A=+A,o=+o;let f=-100+2*o+3*A+.2*A*A+.1*o*A+.2*Math.sqrt(Math.abs(o));return f+=(20*Math.sin(6*o*JC)+20*Math.sin(2*o*JC))*2/3,f+=(20*Math.sin(A*JC)+40*Math.sin(A/3*JC))*2/3,f+=(160*Math.sin(A/12*JC)+320*Math.sin(A*JC/30))*2/3,f},out_of_china(o,A){return A=+A,o=+o,!(o>73.66&&o<135.05&&A>3.86&&A<53.55)}},XBe=dxi;function ZBe(o,A,f){if(o&&A){o[0]!=="#"&&(o=this.colorHex(o)),A[0]!=="#"&&(A=this.colorHex(A));for(var m=this.colorRgb(o),C=m[0],E=m[1],I=m[2],x=this.colorRgb(A),y=x[0],v=x[1],w=x[2],Q=(y-C)/f,M=(v-E)/f,B=(w-I)/f,D=[],S=0;S<f;S++){var P=this.colorHex("rgb("+parseInt(Q*S+C)+","+parseInt(M*S+E)+","+parseInt(B*S+I)+")");D.push(P)}return D}return this}ZBe.prototype.colorRgb=function(f){var A=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/,f=f.toLowerCase();if(f&&A.test(f)){if(f.length===4){for(var m="#",C=1;C<4;C+=1)m+=f.slice(C,C+1).concat(f.slice(C,C+1));f=m}for(var E=[],C=1;C<7;C+=2)E.push(parseInt("0x"+f.slice(C,C+2)));return E}else return f};ZBe.prototype.colorHex=function(o){var A=o,f=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(A)){var m=A.replace(/(rgb|RGB)*/g,"");m=m.replace("(","").replace(")","");for(var C=m.split(","),E="#",I=0;I<C.length;I++){var x=Number(C[I]).toString(16);x=x.length===1?0+""+x:x,x==="0"&&(x+=x),E+=x}return E.length!==7&&(E=A),E}else if(f.test(A)){var y=A.replace(/#/,"").split("");if(y.length===6)return A;if(y.length===3){for(var v="#",I=0;I<y.length;I+=1)v+=y[I]+y[I];return v}}else return A};var PZe=ZBe;function gxi(o,A){for(var f=0;f<o.length;f++)if(A(o[f]))return f}var XN=null;function d6(o,A){if(XN=A,o=o||[],!XN.defined(o.workerPath))throw new XN.DeveloperError("workerPath is required.");this._workerPath=o.workerPath,this._poolSize=XN.defaultValue(o.poolSize,16),this._workers=[],this._defered=[]}Object.defineProperties(d6.prototype,{errorEvent:{get:function(){return this.errorEvent}},poolSize:{get:function(){return this._poolSize}}}),d6.prototype.queueWorkItem=function(o,A){for(var f=XN.defer(),m=null,C=999999,E=0;E<this._workers.length;E++){var m=this._workers[E];this._workers[E].jobQueueSize<C&&(m=this._workers[E],C=this._workers[E].jobQueueSize)}if(C>0&&this._workers.length<this.poolSize){m=new Worker(this._workerPath);var I=this;m.addEventListener("message",function(y){I.onWorkerMessage(y)},!1),m.addEventListener("error",function(y){I.onWorkerError(y)},!1),m.jobQueueSize=0,this._workers.push(m),m.id=XN.createGuid()}o.workerId=m.id;var x=XN.createGuid();return o.deferedId=x,this._defered[x]=f,m.jobQueueSize++,m.postMessage(o,A),f.promise};d6.prototype.trimPool=function(o){var A=this;if(o==null){this.timerId!=null&&clearTimeout(this.timerId),this.timerId=setTimeout(function(){A.trimPool(!0)},5e3);return}for(var f=0;f<this._workers.length;f++)this._workers[f].jobQueueSize==0&&(this._workers[f].terminate(),this._workers.splice(f,1),f--);this._workers.length?this.timerId=setTimeout(function(){A.trimPool(!0)},5e3):this.timerId=null};d6.prototype.onWorkerMessage=function(o){var A=o.data,f=gxi(this._workers,function(E){return E.id===A.workerId});if(f!=null){var m=this._workers[f];m.jobQueueSize--,this.trimPool()}var C=this._defered[A.deferedId];delete this._defered[A.deferedId],C.resolve(A)};d6.prototype.onWorkerError=function(o){console.log(o)};var Cb=d6;var $Be=new Map;function RZe(o,A){if(o=o.replaceAll("//","/"),o=o.replace("http:/","http://"),o=o.replace("https:/","https://"),$Be.has(o))return $Be.get(o);{let m=new Cb({workerPath:SmartEarthRootUrl+"Workers/xhrworker.js"},A).queueWorkItem({type:"get",url:o});return m.then(C=>{C.xmlObj=LZe(C.xmlText),m.catch(C)}),$Be.set(o,m),m}}function LZe(o){let A={};if(document.all){let f=new ActiveXObject("Microsoft.XMLDOM");f.loadXML(o),A=f}else A=new DOMParser().parseFromString(o,"text/xml");return A}function g6(o){if(!o)return{};if(typeof o=="string"&&(o=LZe(o)),o.nodeType==3||o.nodeType==4)return o.nodeValue;let A=o.nodeType==9?o.documentElement:o;return ewe(A)}function ewe(o){try{let A={};if(o.children.length>0)for(let f=0;f<o.children.length;f++){let m=o.children.item(f),C=m.nodeName;if(C=C.split(":"),C=C[1]||C[0],typeof A[C]>"u")A[C]=ewe(m);else{if(typeof A[C].push>"u"){let E=A[C];A[C]=[],A[C].push(E)}A[C].push(ewe(m))}}else if(o.attributes&&o.attributes.length&&!o.textContent){let f={};for(let m=0,C;m<o.attributes.length;m++)C=o.attributes[m],C.split?(C=C.split("="),f[C[0]]=C[1]):f[C.name]=C.textContent;return f}else A=o.textContent;return A}catch(A){console.log(A.message)}}var fxi={UNLOADED:0,LOADING:1,PARSING:2,READY:3,FAILED:4},Dv=Object.freeze(fxi);var FZe={};(function(o){FZe=o()})(function(){var o,A,f;return function m(C,E,I){function x(w,Q){if(!E[w]){if(!C[w]){var M=typeof Ey=="function"&&Ey;if(!Q&&M)return M(w,!0);if(y)return y(w,!0);var B=new Error("Cannot find module '"+w+"'");throw B.code="MODULE_NOT_FOUND",B}var D=E[w]={exports:{}};C[w][0].call(D.exports,function(S){var P=C[w][1][S];return x(P||S)},D,D.exports,m,C,E,I)}return E[w].exports}for(var y=typeof Ey=="function"&&Ey,v=0;v<I.length;v++)x(I[v]);return x}({1:[function(m,C,E){"use strict";var I=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";E.assign=function(v){for(var w=Array.prototype.slice.call(arguments,1);w.length;){var Q=w.shift();if(!!Q){if(typeof Q!="object")throw new TypeError(Q+"must be non-object");for(var M in Q)Q.hasOwnProperty(M)&&(v[M]=Q[M])}}return v},E.shrinkBuf=function(v,w){return v.length===w?v:v.subarray?v.subarray(0,w):(v.length=w,v)};var x={arraySet:function(v,w,Q,M,B){if(w.subarray&&v.subarray){v.set(w.subarray(Q,Q+M),B);return}for(var D=0;D<M;D++)v[B+D]=w[Q+D]},flattenChunks:function(v){var w,Q,M,B,D,S;for(M=0,w=0,Q=v.length;w<Q;w++)M+=v[w].length;for(S=new Uint8Array(M),B=0,w=0,Q=v.length;w<Q;w++)D=v[w],S.set(D,B),B+=D.length;return S}},y={arraySet:function(v,w,Q,M,B){for(var D=0;D<M;D++)v[B+D]=w[Q+D]},flattenChunks:function(v){return[].concat.apply([],v)}};E.setTyped=function(v){v?(E.Buf8=Uint8Array,E.Buf16=Uint16Array,E.Buf32=Int32Array,E.assign(E,x)):(E.Buf8=Array,E.Buf16=Array,E.Buf32=Array,E.assign(E,y))},E.setTyped(I)},{}],2:[function(m,C,E){"use strict";var I=m("./common"),x=!0,y=!0;try{String.fromCharCode.apply(null,[0])}catch{x=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{y=!1}for(var v=new I.Buf8(256),w=0;w<256;w++)v[w]=w>=252?6:w>=248?5:w>=240?4:w>=224?3:w>=192?2:1;v[254]=v[254]=1,E.string2buf=function(M){var B,D,S,P,R,T=M.length,L=0;for(P=0;P<T;P++)D=M.charCodeAt(P),(D&64512)===55296&&P+1<T&&(S=M.charCodeAt(P+1),(S&64512)===56320&&(D=65536+(D-55296<<10)+(S-56320),P++)),L+=D<128?1:D<2048?2:D<65536?3:4;for(B=new I.Buf8(L),R=0,P=0;R<L;P++)D=M.charCodeAt(P),(D&64512)===55296&&P+1<T&&(S=M.charCodeAt(P+1),(S&64512)===56320&&(D=65536+(D-55296<<10)+(S-56320),P++)),D<128?B[R++]=D:D<2048?(B[R++]=192|D>>>6,B[R++]=128|D&63):D<65536?(B[R++]=224|D>>>12,B[R++]=128|D>>>6&63,B[R++]=128|D&63):(B[R++]=240|D>>>18,B[R++]=128|D>>>12&63,B[R++]=128|D>>>6&63,B[R++]=128|D&63);return B};function Q(M,B){if(B<65537&&(M.subarray&&y||!M.subarray&&x))return String.fromCharCode.apply(null,I.shrinkBuf(M,B));for(var D="",S=0;S<B;S++)D+=String.fromCharCode(M[S]);return D}E.buf2binstring=function(M){return Q(M,M.length)},E.binstring2buf=function(M){for(var B=new I.Buf8(M.length),D=0,S=B.length;D<S;D++)B[D]=M.charCodeAt(D);return B},E.buf2string=function(M,B){var D,S,P,R,T=B||M.length,L=new Array(T*2);for(S=0,D=0;D<T;){if(P=M[D++],P<128){L[S++]=P;continue}if(R=v[P],R>4){L[S++]=65533,D+=R-1;continue}for(P&=R===2?31:R===3?15:7;R>1&&D<T;)P=P<<6|M[D++]&63,R--;if(R>1){L[S++]=65533;continue}P<65536?L[S++]=P:(P-=65536,L[S++]=55296|P>>10&1023,L[S++]=56320|P&1023)}return Q(L,S)},E.utf8border=function(M,B){var D;for(B=B||M.length,B>M.length&&(B=M.length),D=B-1;D>=0&&(M[D]&192)===128;)D--;return D<0||D===0?B:D+v[M[D]]>B?D:B}},{"./common":1}],3:[function(m,C,E){"use strict";function I(x,y,v,w){for(var Q=x&65535|0,M=x>>>16&65535|0,B=0;v!==0;){B=v>2e3?2e3:v,v-=B;do Q=Q+y[w++]|0,M=M+Q|0;while(--B);Q%=65521,M%=65521}return Q|M<<16|0}C.exports=I},{}],4:[function(m,C,E){"use strict";C.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],5:[function(m,C,E){"use strict";function I(){for(var v,w=[],Q=0;Q<256;Q++){v=Q;for(var M=0;M<8;M++)v=v&1?3988292384^v>>>1:v>>>1;w[Q]=v}return w}var x=I();function y(v,w,Q,M){var B=x,D=M+Q;v^=-1;for(var S=M;S<D;S++)v=v>>>8^B[(v^w[S])&255];return v^-1}C.exports=y},{}],6:[function(m,C,E){"use strict";function I(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}C.exports=I},{}],7:[function(m,C,E){"use strict";var I=30,x=12;C.exports=function(v,w){var Q,M,B,D,S,P,R,T,L,F,U,N,H,J,K,X,j,ee,ie,z,oe,le,Ae,he,ge;Q=v.state,M=v.next_in,he=v.input,B=M+(v.avail_in-5),D=v.next_out,ge=v.output,S=D-(w-v.avail_out),P=D+(v.avail_out-257),R=Q.dmax,T=Q.wsize,L=Q.whave,F=Q.wnext,U=Q.window,N=Q.hold,H=Q.bits,J=Q.lencode,K=Q.distcode,X=(1<<Q.lenbits)-1,j=(1<<Q.distbits)-1;e:do{H<15&&(N+=he[M++]<<H,H+=8,N+=he[M++]<<H,H+=8),ee=J[N&X];t:for(;;){if(ie=ee>>>24,N>>>=ie,H-=ie,ie=ee>>>16&255,ie===0)ge[D++]=ee&65535;else if(ie&16){z=ee&65535,ie&=15,ie&&(H<ie&&(N+=he[M++]<<H,H+=8),z+=N&(1<<ie)-1,N>>>=ie,H-=ie),H<15&&(N+=he[M++]<<H,H+=8,N+=he[M++]<<H,H+=8),ee=K[N&j];i:for(;;){if(ie=ee>>>24,N>>>=ie,H-=ie,ie=ee>>>16&255,ie&16){if(oe=ee&65535,ie&=15,H<ie&&(N+=he[M++]<<H,H+=8,H<ie&&(N+=he[M++]<<H,H+=8)),oe+=N&(1<<ie)-1,oe>R){v.msg="invalid distance too far back",Q.mode=I;break e}if(N>>>=ie,H-=ie,ie=D-S,oe>ie){if(ie=oe-ie,ie>L&&Q.sane){v.msg="invalid distance too far back",Q.mode=I;break e}if(le=0,Ae=U,F===0){if(le+=T-ie,ie<z){z-=ie;do ge[D++]=U[le++];while(--ie);le=D-oe,Ae=ge}}else if(F<ie){if(le+=T+F-ie,ie-=F,ie<z){z-=ie;do ge[D++]=U[le++];while(--ie);if(le=0,F<z){ie=F,z-=ie;do ge[D++]=U[le++];while(--ie);le=D-oe,Ae=ge}}}else if(le+=F-ie,ie<z){z-=ie;do ge[D++]=U[le++];while(--ie);le=D-oe,Ae=ge}for(;z>2;)ge[D++]=Ae[le++],ge[D++]=Ae[le++],ge[D++]=Ae[le++],z-=3;z&&(ge[D++]=Ae[le++],z>1&&(ge[D++]=Ae[le++]))}else{le=D-oe;do ge[D++]=ge[le++],ge[D++]=ge[le++],ge[D++]=ge[le++],z-=3;while(z>2);z&&(ge[D++]=ge[le++],z>1&&(ge[D++]=ge[le++]))}}else if((ie&64)===0){ee=K[(ee&65535)+(N&(1<<ie)-1)];continue i}else{v.msg="invalid distance code",Q.mode=I;break e}break}}else if((ie&64)===0){ee=J[(ee&65535)+(N&(1<<ie)-1)];continue t}else if(ie&32){Q.mode=x;break e}else{v.msg="invalid literal/length code",Q.mode=I;break e}break}}while(M<B&&D<P);z=H>>3,M-=z,H-=z<<3,N&=(1<<H)-1,v.next_in=M,v.next_out=D,v.avail_in=M<B?5+(B-M):5-(M-B),v.avail_out=D<P?257+(P-D):257-(D-P),Q.hold=N,Q.bits=H}},{}],8:[function(m,C,E){"use strict";var I=m("../utils/common"),x=m("./adler32"),y=m("./crc32"),v=m("./inffast"),w=m("./inftrees"),Q=0,M=1,B=2,D=4,S=5,P=6,R=0,T=1,L=2,F=-2,U=-3,N=-4,H=-5,J=8,K=1,X=2,j=3,ee=4,ie=5,z=6,oe=7,le=8,Ae=9,he=10,ge=11,de=12,fe=13,G=14,Y=15,W=16,O=17,re=18,se=19,ce=20,me=21,Ce=22,ye=23,Be=24,Me=25,He=26,ke=27,Ne=28,Pe=29,we=30,Fe=31,Ue=32,ze=852,Je=592,je=15,Ze=je;function rt(vt){return(vt>>>24&255)+(vt>>>8&65280)+((vt&65280)<<8)+((vt&255)<<24)}function At(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function yt(vt){var wt;return!vt||!vt.state?F:(wt=vt.state,vt.total_in=vt.total_out=wt.total=0,vt.msg="",wt.wrap&&(vt.adler=wt.wrap&1),wt.mode=K,wt.last=0,wt.havedict=0,wt.dmax=32768,wt.head=null,wt.hold=0,wt.bits=0,wt.lencode=wt.lendyn=new I.Buf32(ze),wt.distcode=wt.distdyn=new I.Buf32(Je),wt.sane=1,wt.back=-1,R)}function at(vt){var wt;return!vt||!vt.state?F:(wt=vt.state,wt.wsize=0,wt.whave=0,wt.wnext=0,yt(vt))}function ft(vt,wt){var Bt,bi;return!vt||!vt.state||(bi=vt.state,wt<0?(Bt=0,wt=-wt):(Bt=(wt>>4)+1,wt<48&&(wt&=15)),wt&&(wt<8||wt>15))?F:(bi.window!==null&&bi.wbits!==wt&&(bi.window=null),bi.wrap=Bt,bi.wbits=wt,at(vt))}function _t(vt,wt){var Bt,bi;return vt?(bi=new At,vt.state=bi,bi.window=null,Bt=ft(vt,wt),Bt!==R&&(vt.state=null),Bt):F}function et(vt){return _t(vt,Ze)}var pt=!0,zt,It;function Pt(vt){if(pt){var wt;for(zt=new I.Buf32(512),It=new I.Buf32(32),wt=0;wt<144;)vt.lens[wt++]=8;for(;wt<256;)vt.lens[wt++]=9;for(;wt<280;)vt.lens[wt++]=7;for(;wt<288;)vt.lens[wt++]=8;for(w(M,vt.lens,0,288,zt,0,vt.work,{bits:9}),wt=0;wt<32;)vt.lens[wt++]=5;w(B,vt.lens,0,32,It,0,vt.work,{bits:5}),pt=!1}vt.lencode=zt,vt.lenbits=9,vt.distcode=It,vt.distbits=5}function St(vt,wt,Bt,bi){var nr,Ai=vt.state;return Ai.window===null&&(Ai.wsize=1<<Ai.wbits,Ai.wnext=0,Ai.whave=0,Ai.window=new I.Buf8(Ai.wsize)),bi>=Ai.wsize?(I.arraySet(Ai.window,wt,Bt-Ai.wsize,Ai.wsize,0),Ai.wnext=0,Ai.whave=Ai.wsize):(nr=Ai.wsize-Ai.wnext,nr>bi&&(nr=bi),I.arraySet(Ai.window,wt,Bt-bi,nr,Ai.wnext),bi-=nr,bi?(I.arraySet(Ai.window,wt,Bt-bi,bi,0),Ai.wnext=bi,Ai.whave=Ai.wsize):(Ai.wnext+=nr,Ai.wnext===Ai.wsize&&(Ai.wnext=0),Ai.whave<Ai.wsize&&(Ai.whave+=nr))),0}function dt(vt,wt){var Bt,bi,nr,Ai,xi,Fi,pi,Vt,Kt,di,ui,Ht,Ei,gt,bt=0,Ot,Wt,Oi,Ci,so,Mn,Gn,Da,_a=new I.Buf8(4),Ho,Ol,au=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!vt||!vt.state||!vt.output||!vt.input&&vt.avail_in!==0)return F;Bt=vt.state,Bt.mode===de&&(Bt.mode=fe),xi=vt.next_out,nr=vt.output,pi=vt.avail_out,Ai=vt.next_in,bi=vt.input,Fi=vt.avail_in,Vt=Bt.hold,Kt=Bt.bits,di=Fi,ui=pi,Da=R;e:for(;;)switch(Bt.mode){case K:if(Bt.wrap===0){Bt.mode=fe;break}for(;Kt<16;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}if(Bt.wrap&2&&Vt===35615){Bt.check=0,_a[0]=Vt&255,_a[1]=Vt>>>8&255,Bt.check=y(Bt.check,_a,2,0),Vt=0,Kt=0,Bt.mode=X;break}if(Bt.flags=0,Bt.head&&(Bt.head.done=!1),!(Bt.wrap&1)||(((Vt&255)<<8)+(Vt>>8))%31){vt.msg="incorrect header check",Bt.mode=we;break}if((Vt&15)!==J){vt.msg="unknown compression method",Bt.mode=we;break}if(Vt>>>=4,Kt-=4,Gn=(Vt&15)+8,Bt.wbits===0)Bt.wbits=Gn;else if(Gn>Bt.wbits){vt.msg="invalid window size",Bt.mode=we;break}Bt.dmax=1<<Gn,vt.adler=Bt.check=1,Bt.mode=Vt&512?he:de,Vt=0,Kt=0;break;case X:for(;Kt<16;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}if(Bt.flags=Vt,(Bt.flags&255)!==J){vt.msg="unknown compression method",Bt.mode=we;break}if(Bt.flags&57344){vt.msg="unknown header flags set",Bt.mode=we;break}Bt.head&&(Bt.head.text=Vt>>8&1),Bt.flags&512&&(_a[0]=Vt&255,_a[1]=Vt>>>8&255,Bt.check=y(Bt.check,_a,2,0)),Vt=0,Kt=0,Bt.mode=j;case j:for(;Kt<32;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}Bt.head&&(Bt.head.time=Vt),Bt.flags&512&&(_a[0]=Vt&255,_a[1]=Vt>>>8&255,_a[2]=Vt>>>16&255,_a[3]=Vt>>>24&255,Bt.check=y(Bt.check,_a,4,0)),Vt=0,Kt=0,Bt.mode=ee;case ee:for(;Kt<16;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}Bt.head&&(Bt.head.xflags=Vt&255,Bt.head.os=Vt>>8),Bt.flags&512&&(_a[0]=Vt&255,_a[1]=Vt>>>8&255,Bt.check=y(Bt.check,_a,2,0)),Vt=0,Kt=0,Bt.mode=ie;case ie:if(Bt.flags&1024){for(;Kt<16;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}Bt.length=Vt,Bt.head&&(Bt.head.extra_len=Vt),Bt.flags&512&&(_a[0]=Vt&255,_a[1]=Vt>>>8&255,Bt.check=y(Bt.check,_a,2,0)),Vt=0,Kt=0}else Bt.head&&(Bt.head.extra=null);Bt.mode=z;case z:if(Bt.flags&1024&&(Ht=Bt.length,Ht>Fi&&(Ht=Fi),Ht&&(Bt.head&&(Gn=Bt.head.extra_len-Bt.length,Bt.head.extra||(Bt.head.extra=new Array(Bt.head.extra_len)),I.arraySet(Bt.head.extra,bi,Ai,Ht,Gn)),Bt.flags&512&&(Bt.check=y(Bt.check,bi,Ht,Ai)),Fi-=Ht,Ai+=Ht,Bt.length-=Ht),Bt.length))break e;Bt.length=0,Bt.mode=oe;case oe:if(Bt.flags&2048){if(Fi===0)break e;Ht=0;do Gn=bi[Ai+Ht++],Bt.head&&Gn&&Bt.length<65536&&(Bt.head.name+=String.fromCharCode(Gn));while(Gn&&Ht<Fi);if(Bt.flags&512&&(Bt.check=y(Bt.check,bi,Ht,Ai)),Fi-=Ht,Ai+=Ht,Gn)break e}else Bt.head&&(Bt.head.name=null);Bt.length=0,Bt.mode=le;case le:if(Bt.flags&4096){if(Fi===0)break e;Ht=0;do Gn=bi[Ai+Ht++],Bt.head&&Gn&&Bt.length<65536&&(Bt.head.comment+=String.fromCharCode(Gn));while(Gn&&Ht<Fi);if(Bt.flags&512&&(Bt.check=y(Bt.check,bi,Ht,Ai)),Fi-=Ht,Ai+=Ht,Gn)break e}else Bt.head&&(Bt.head.comment=null);Bt.mode=Ae;case Ae:if(Bt.flags&512){for(;Kt<16;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}if(Vt!==(Bt.check&65535)){vt.msg="header crc mismatch",Bt.mode=we;break}Vt=0,Kt=0}Bt.head&&(Bt.head.hcrc=Bt.flags>>9&1,Bt.head.done=!0),vt.adler=Bt.check=0,Bt.mode=de;break;case he:for(;Kt<32;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}vt.adler=Bt.check=rt(Vt),Vt=0,Kt=0,Bt.mode=ge;case ge:if(Bt.havedict===0)return vt.next_out=xi,vt.avail_out=pi,vt.next_in=Ai,vt.avail_in=Fi,Bt.hold=Vt,Bt.bits=Kt,L;vt.adler=Bt.check=1,Bt.mode=de;case de:if(wt===S||wt===P)break e;case fe:if(Bt.last){Vt>>>=Kt&7,Kt-=Kt&7,Bt.mode=ke;break}for(;Kt<3;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}switch(Bt.last=Vt&1,Vt>>>=1,Kt-=1,Vt&3){case 0:Bt.mode=G;break;case 1:if(Pt(Bt),Bt.mode=ce,wt===P){Vt>>>=2,Kt-=2;break e}break;case 2:Bt.mode=O;break;case 3:vt.msg="invalid block type",Bt.mode=we}Vt>>>=2,Kt-=2;break;case G:for(Vt>>>=Kt&7,Kt-=Kt&7;Kt<32;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}if((Vt&65535)!==(Vt>>>16^65535)){vt.msg="invalid stored block lengths",Bt.mode=we;break}if(Bt.length=Vt&65535,Vt=0,Kt=0,Bt.mode=Y,wt===P)break e;case Y:Bt.mode=W;case W:if(Ht=Bt.length,Ht){if(Ht>Fi&&(Ht=Fi),Ht>pi&&(Ht=pi),Ht===0)break e;I.arraySet(nr,bi,Ai,Ht,xi),Fi-=Ht,Ai+=Ht,pi-=Ht,xi+=Ht,Bt.length-=Ht;break}Bt.mode=de;break;case O:for(;Kt<14;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}if(Bt.nlen=(Vt&31)+257,Vt>>>=5,Kt-=5,Bt.ndist=(Vt&31)+1,Vt>>>=5,Kt-=5,Bt.ncode=(Vt&15)+4,Vt>>>=4,Kt-=4,Bt.nlen>286||Bt.ndist>30){vt.msg="too many length or distance symbols",Bt.mode=we;break}Bt.have=0,Bt.mode=re;case re:for(;Bt.have<Bt.ncode;){for(;Kt<3;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}Bt.lens[au[Bt.have++]]=Vt&7,Vt>>>=3,Kt-=3}for(;Bt.have<19;)Bt.lens[au[Bt.have++]]=0;if(Bt.lencode=Bt.lendyn,Bt.lenbits=7,Ho={bits:Bt.lenbits},Da=w(Q,Bt.lens,0,19,Bt.lencode,0,Bt.work,Ho),Bt.lenbits=Ho.bits,Da){vt.msg="invalid code lengths set",Bt.mode=we;break}Bt.have=0,Bt.mode=se;case se:for(;Bt.have<Bt.nlen+Bt.ndist;){for(;bt=Bt.lencode[Vt&(1<<Bt.lenbits)-1],Ot=bt>>>24,Wt=bt>>>16&255,Oi=bt&65535,!(Ot<=Kt);){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}if(Oi<16)Vt>>>=Ot,Kt-=Ot,Bt.lens[Bt.have++]=Oi;else{if(Oi===16){for(Ol=Ot+2;Kt<Ol;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}if(Vt>>>=Ot,Kt-=Ot,Bt.have===0){vt.msg="invalid bit length repeat",Bt.mode=we;break}Gn=Bt.lens[Bt.have-1],Ht=3+(Vt&3),Vt>>>=2,Kt-=2}else if(Oi===17){for(Ol=Ot+3;Kt<Ol;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}Vt>>>=Ot,Kt-=Ot,Gn=0,Ht=3+(Vt&7),Vt>>>=3,Kt-=3}else{for(Ol=Ot+7;Kt<Ol;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}Vt>>>=Ot,Kt-=Ot,Gn=0,Ht=11+(Vt&127),Vt>>>=7,Kt-=7}if(Bt.have+Ht>Bt.nlen+Bt.ndist){vt.msg="invalid bit length repeat",Bt.mode=we;break}for(;Ht--;)Bt.lens[Bt.have++]=Gn}}if(Bt.mode===we)break;if(Bt.lens[256]===0){vt.msg="invalid code -- missing end-of-block",Bt.mode=we;break}if(Bt.lenbits=9,Ho={bits:Bt.lenbits},Da=w(M,Bt.lens,0,Bt.nlen,Bt.lencode,0,Bt.work,Ho),Bt.lenbits=Ho.bits,Da){vt.msg="invalid literal/lengths set",Bt.mode=we;break}if(Bt.distbits=6,Bt.distcode=Bt.distdyn,Ho={bits:Bt.distbits},Da=w(B,Bt.lens,Bt.nlen,Bt.ndist,Bt.distcode,0,Bt.work,Ho),Bt.distbits=Ho.bits,Da){vt.msg="invalid distances set",Bt.mode=we;break}if(Bt.mode=ce,wt===P)break e;case ce:Bt.mode=me;case me:if(Fi>=6&&pi>=258){vt.next_out=xi,vt.avail_out=pi,vt.next_in=Ai,vt.avail_in=Fi,Bt.hold=Vt,Bt.bits=Kt,v(vt,ui),xi=vt.next_out,nr=vt.output,pi=vt.avail_out,Ai=vt.next_in,bi=vt.input,Fi=vt.avail_in,Vt=Bt.hold,Kt=Bt.bits,Bt.mode===de&&(Bt.back=-1);break}for(Bt.back=0;bt=Bt.lencode[Vt&(1<<Bt.lenbits)-1],Ot=bt>>>24,Wt=bt>>>16&255,Oi=bt&65535,!(Ot<=Kt);){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}if(Wt&&(Wt&240)===0){for(Ci=Ot,so=Wt,Mn=Oi;bt=Bt.lencode[Mn+((Vt&(1<<Ci+so)-1)>>Ci)],Ot=bt>>>24,Wt=bt>>>16&255,Oi=bt&65535,!(Ci+Ot<=Kt);){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}Vt>>>=Ci,Kt-=Ci,Bt.back+=Ci}if(Vt>>>=Ot,Kt-=Ot,Bt.back+=Ot,Bt.length=Oi,Wt===0){Bt.mode=He;break}if(Wt&32){Bt.back=-1,Bt.mode=de;break}if(Wt&64){vt.msg="invalid literal/length code",Bt.mode=we;break}Bt.extra=Wt&15,Bt.mode=Ce;case Ce:if(Bt.extra){for(Ol=Bt.extra;Kt<Ol;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}Bt.length+=Vt&(1<<Bt.extra)-1,Vt>>>=Bt.extra,Kt-=Bt.extra,Bt.back+=Bt.extra}Bt.was=Bt.length,Bt.mode=ye;case ye:for(;bt=Bt.distcode[Vt&(1<<Bt.distbits)-1],Ot=bt>>>24,Wt=bt>>>16&255,Oi=bt&65535,!(Ot<=Kt);){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}if((Wt&240)===0){for(Ci=Ot,so=Wt,Mn=Oi;bt=Bt.distcode[Mn+((Vt&(1<<Ci+so)-1)>>Ci)],Ot=bt>>>24,Wt=bt>>>16&255,Oi=bt&65535,!(Ci+Ot<=Kt);){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}Vt>>>=Ci,Kt-=Ci,Bt.back+=Ci}if(Vt>>>=Ot,Kt-=Ot,Bt.back+=Ot,Wt&64){vt.msg="invalid distance code",Bt.mode=we;break}Bt.offset=Oi,Bt.extra=Wt&15,Bt.mode=Be;case Be:if(Bt.extra){for(Ol=Bt.extra;Kt<Ol;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}Bt.offset+=Vt&(1<<Bt.extra)-1,Vt>>>=Bt.extra,Kt-=Bt.extra,Bt.back+=Bt.extra}if(Bt.offset>Bt.dmax){vt.msg="invalid distance too far back",Bt.mode=we;break}Bt.mode=Me;case Me:if(pi===0)break e;if(Ht=ui-pi,Bt.offset>Ht){if(Ht=Bt.offset-Ht,Ht>Bt.whave&&Bt.sane){vt.msg="invalid distance too far back",Bt.mode=we;break}Ht>Bt.wnext?(Ht-=Bt.wnext,Ei=Bt.wsize-Ht):Ei=Bt.wnext-Ht,Ht>Bt.length&&(Ht=Bt.length),gt=Bt.window}else gt=nr,Ei=xi-Bt.offset,Ht=Bt.length;Ht>pi&&(Ht=pi),pi-=Ht,Bt.length-=Ht;do nr[xi++]=gt[Ei++];while(--Ht);Bt.length===0&&(Bt.mode=me);break;case He:if(pi===0)break e;nr[xi++]=Bt.length,pi--,Bt.mode=me;break;case ke:if(Bt.wrap){for(;Kt<32;){if(Fi===0)break e;Fi--,Vt|=bi[Ai++]<<Kt,Kt+=8}if(ui-=pi,vt.total_out+=ui,Bt.total+=ui,ui&&(vt.adler=Bt.check=Bt.flags?y(Bt.check,nr,ui,xi-ui):x(Bt.check,nr,ui,xi-ui)),ui=pi,(Bt.flags?Vt:rt(Vt))!==Bt.check){vt.msg="incorrect data check",Bt.mode=we;break}Vt=0,Kt=0}Bt.mode=Ne;case Ne:if(Bt.wrap&&Bt.flags){for(;Kt<32;){if(Fi===0)break e;Fi--,Vt+=bi[Ai++]<<Kt,Kt+=8}if(Vt!==(Bt.total&4294967295)){vt.msg="incorrect length check",Bt.mode=we;break}Vt=0,Kt=0}Bt.mode=Pe;case Pe:Da=T;break e;case we:Da=U;break e;case Fe:return N;case Ue:default:return F}return vt.next_out=xi,vt.avail_out=pi,vt.next_in=Ai,vt.avail_in=Fi,Bt.hold=Vt,Bt.bits=Kt,(Bt.wsize||ui!==vt.avail_out&&Bt.mode<we&&(Bt.mode<ke||wt!==D))&&St(vt,vt.output,vt.next_out,ui-vt.avail_out)?(Bt.mode=Fe,N):(di-=vt.avail_in,ui-=vt.avail_out,vt.total_in+=di,vt.total_out+=ui,Bt.total+=ui,Bt.wrap&&ui&&(vt.adler=Bt.check=Bt.flags?y(Bt.check,nr,ui,vt.next_out-ui):x(Bt.check,nr,ui,vt.next_out-ui)),vt.data_type=Bt.bits+(Bt.last?64:0)+(Bt.mode===de?128:0)+(Bt.mode===ce||Bt.mode===Y?256:0),(di===0&&ui===0||wt===D)&&Da===R&&(Da=H),Da)}function Le(vt){if(!vt||!vt.state)return F;var wt=vt.state;return wt.window&&(wt.window=null),vt.state=null,R}function _e(vt,wt){var Bt;return!vt||!vt.state||(Bt=vt.state,(Bt.wrap&2)===0)?F:(Bt.head=wt,wt.done=!1,R)}function Oe(vt,wt){var Bt=wt.length,bi,nr,Ai;return!vt||!vt.state||(bi=vt.state,bi.wrap!==0&&bi.mode!==ge)?F:bi.mode===ge&&(nr=1,nr=x(nr,wt,Bt,0),nr!==bi.check)?U:(Ai=St(vt,wt,Bt,Bt),Ai?(bi.mode=Fe,N):(bi.havedict=1,R))}E.inflateReset=at,E.inflateReset2=ft,E.inflateResetKeep=yt,E.inflateInit=et,E.inflateInit2=_t,E.inflate=dt,E.inflateEnd=Le,E.inflateGetHeader=_e,E.inflateSetDictionary=Oe,E.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":1,"./adler32":3,"./crc32":5,"./inffast":7,"./inftrees":9}],9:[function(m,C,E){"use strict";var I=m("../utils/common"),x=15,y=852,v=592,w=0,Q=1,M=2,B=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],D=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],S=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];C.exports=function(T,L,F,U,N,H,J,K){var X=K.bits,j=0,ee=0,ie=0,z=0,oe=0,le=0,Ae=0,he=0,ge=0,de=0,fe,G,Y,W,O,re=null,se=0,ce,me=new I.Buf16(x+1),Ce=new I.Buf16(x+1),ye=null,Be=0,Me,He,ke;for(j=0;j<=x;j++)me[j]=0;for(ee=0;ee<U;ee++)me[L[F+ee]]++;for(oe=X,z=x;z>=1&&me[z]===0;z--);if(oe>z&&(oe=z),z===0)return N[H++]=1<<24|64<<16|0,N[H++]=1<<24|64<<16|0,K.bits=1,0;for(ie=1;ie<z&&me[ie]===0;ie++);for(oe<ie&&(oe=ie),he=1,j=1;j<=x;j++)if(he<<=1,he-=me[j],he<0)return-1;if(he>0&&(T===w||z!==1))return-1;for(Ce[1]=0,j=1;j<x;j++)Ce[j+1]=Ce[j]+me[j];for(ee=0;ee<U;ee++)L[F+ee]!==0&&(J[Ce[L[F+ee]]++]=ee);if(T===w?(re=ye=J,ce=19):T===Q?(re=B,se-=257,ye=D,Be-=257,ce=256):(re=S,ye=P,ce=-1),de=0,ee=0,j=ie,O=H,le=oe,Ae=0,Y=-1,ge=1<<oe,W=ge-1,T===Q&&ge>y||T===M&&ge>v)return 1;for(;;){Me=j-Ae,J[ee]<ce?(He=0,ke=J[ee]):J[ee]>ce?(He=ye[Be+J[ee]],ke=re[se+J[ee]]):(He=32+64,ke=0),fe=1<<j-Ae,G=1<<le,ie=G;do G-=fe,N[O+(de>>Ae)+G]=Me<<24|He<<16|ke|0;while(G!==0);for(fe=1<<j-1;de&fe;)fe>>=1;if(fe!==0?(de&=fe-1,de+=fe):de=0,ee++,--me[j]===0){if(j===z)break;j=L[F+J[ee]]}if(j>oe&&(de&W)!==Y){for(Ae===0&&(Ae=oe),O+=ie,le=j-Ae,he=1<<le;le+Ae<z&&(he-=me[le+Ae],!(he<=0));)le++,he<<=1;if(ge+=1<<le,T===Q&&ge>y||T===M&&ge>v)return 1;Y=de&W,N[Y]=oe<<24|le<<16|O-H|0}}return de!==0&&(N[O+de]=j-Ae<<24|64<<16|0),K.bits=oe,0}},{"../utils/common":1}],10:[function(m,C,E){"use strict";C.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],11:[function(m,C,E){"use strict";function I(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}C.exports=I},{}],"/lib/inflate.js":[function(m,C,E){"use strict";var I=m("./zlib/inflate"),x=m("./utils/common"),y=m("./utils/strings"),v=m("./zlib/constants"),w=m("./zlib/messages"),Q=m("./zlib/zstream"),M=m("./zlib/gzheader"),B=Object.prototype.toString;function D(R){if(!(this instanceof D))return new D(R);this.options=x.assign({chunkSize:16384,windowBits:0,to:""},R||{});var T=this.options;T.raw&&T.windowBits>=0&&T.windowBits<16&&(T.windowBits=-T.windowBits,T.windowBits===0&&(T.windowBits=-15)),T.windowBits>=0&&T.windowBits<16&&!(R&&R.windowBits)&&(T.windowBits+=32),T.windowBits>15&&T.windowBits<48&&(T.windowBits&15)===0&&(T.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Q,this.strm.avail_out=0;var L=I.inflateInit2(this.strm,T.windowBits);if(L!==v.Z_OK)throw new Error(w[L]);this.header=new M,I.inflateGetHeader(this.strm,this.header)}D.prototype.push=function(R,T){var L=this.strm,F=this.options.chunkSize,U=this.options.dictionary,N,H,J,K,X,j,ee=!1;if(this.ended)return!1;H=T===~~T?T:T===!0?v.Z_FINISH:v.Z_NO_FLUSH,typeof R=="string"?L.input=y.binstring2buf(R):B.call(R)==="[object ArrayBuffer]"?L.input=new Uint8Array(R):L.input=R,L.next_in=0,L.avail_in=L.input.length;do{if(L.avail_out===0&&(L.output=new x.Buf8(F),L.next_out=0,L.avail_out=F),N=I.inflate(L,v.Z_NO_FLUSH),N===v.Z_NEED_DICT&&U&&(typeof U=="string"?j=y.string2buf(U):B.call(U)==="[object ArrayBuffer]"?j=new Uint8Array(U):j=U,N=I.inflateSetDictionary(this.strm,j)),N===v.Z_BUF_ERROR&&ee===!0&&(N=v.Z_OK,ee=!1),N!==v.Z_STREAM_END&&N!==v.Z_OK)return this.onEnd(N),this.ended=!0,!1;L.next_out&&(L.avail_out===0||N===v.Z_STREAM_END||L.avail_in===0&&(H===v.Z_FINISH||H===v.Z_SYNC_FLUSH))&&(this.options.to==="string"?(J=y.utf8border(L.output,L.next_out),K=L.next_out-J,X=y.buf2string(L.output,J),L.next_out=K,L.avail_out=F-K,K&&x.arraySet(L.output,L.output,J,K,0),this.onData(X)):this.onData(x.shrinkBuf(L.output,L.next_out))),L.avail_in===0&&L.avail_out===0&&(ee=!0)}while((L.avail_in>0||L.avail_out===0)&&N!==v.Z_STREAM_END);return N===v.Z_STREAM_END&&(H=v.Z_FINISH),H===v.Z_FINISH?(N=I.inflateEnd(this.strm),this.onEnd(N),this.ended=!0,N===v.Z_OK):(H===v.Z_SYNC_FLUSH&&(this.onEnd(v.Z_OK),L.avail_out=0),!0)},D.prototype.onData=function(R){this.chunks.push(R)},D.prototype.onEnd=function(R){R===v.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=x.flattenChunks(this.chunks)),this.chunks=[],this.err=R,this.msg=this.strm.msg};function S(R,T){var L=new D(T);if(L.push(R,!0),L.err)throw L.msg||w[L.err];return L.result}function P(R,T){return T=T||{},T.raw=!0,S(R,T)}E.Inflate=D,E.inflate=S,E.inflateRaw=P,E.ungzip=S},{"./utils/common":1,"./utils/strings":2,"./zlib/constants":4,"./zlib/gzheader":6,"./zlib/inflate":8,"./zlib/messages":10,"./zlib/zstream":11}]},{},[])("/lib/inflate.js")});var NZe=FZe;//! Use DXT1 compression. var Rie=1;//! Use DXT3 compression. var kZe=1<<1;//! Use DXT5 compression. var twe=1<<2;//! Use a very slow but very high quality colour compressor. var hDi=1<<8;//! Use a slow but high quality colour compressor (the default). var dDi=1<<3;//! Use a fast but low quality colour compressor. var gDi=1<<4;//! Weight the colour by alpha during cluster fit (disabled by default). var fDi=1<<7,UZe=1<<5;function OZe(o,A,f,m){var C=o|A<<8,E=C>>11&31,I=C>>5&63,x=C&31;return f[m+0]=E<<3|E>>2,f[m+1]=I<<2|I>>4,f[m+2]=x<<3|x>>2,f[m+3]=255,C}function pxi(o,A,f,m){for(var C=new Uint8Array(16),E=OZe(A[f+0],A[f+1],C,0),I=OZe(A[f+2],A[f+3],C,4),x=0;x<3;x++){var y=C[x],v=C[4+x];m&&E<=I?(C[8+x]=(y+v)/2,C[12+x]=0):(C[8+x]=(2*y+v)/3,C[12+x]=(y+2*v)/3)}C[8+3]=255,C[12+3]=m&&E<=I?0:255;for(var w=new Uint8Array(16),x=0;x<4;++x){var Q=A[f+4+x];w[4*x+0]=Q&3,w[4*x+1]=Q>>2&3,w[4*x+2]=Q>>4&3,w[4*x+3]=Q>>6&3}for(var x=0;x<16;++x)for(var M=4*w[x],B=0;B<4;++B)o[4*x+B]=C[M+B]}function mxi(o,A,f){for(var m=0;m<8;++m){var C=bytes[f+m],E=C&15,I=C&240;o[8*m+3]=E|E<<4,o[8*m+7]=I|I>>4}}function Cxi(o,A,y){var m=A[y+0],C=A[y+1],E=new Uint8Array(8);if(E[0]=m,E[1]=C,m<=C){for(var I=1;I<5;++I)E[1+I]=((5-I)*m+I*C)/5;E[6]=0,E[7]=255}else for(var I=1;I<7;++I)E[1+I]=((7-I)*m+I*C)/7;for(var x=new Uint8Array(16),y=y+2,v=0,I=0;I<2;++I){for(var w=0,Q=0;Q<3;++Q){var M=A[y++];w|=M<<8*Q}for(var Q=0;Q<8;++Q){var B=w>>3*Q&7;x[v++]=B}}for(var I=0;I<16;++I)o[4*I+3]=E[x[I]]}function Exi(o,A,f,m){var C=0;(m&(kZe|twe))!=0&&(C=8),pxi(o,A,f+C,(m&Rie)!=0),(m&kZe)!=0?mxi(o,A,f):(m&twe)!=0&&Cxi(o,A,f)}function Ixi(o,A,f,m){for(var C=new Uint16Array(4),E=o,I=0,x=0,y=0,v=0,w=0,Q=0,M=0,B=0,D=0,S=A/4,P=f/4,R=0;R<P;R++)for(var T=0;T<S;T++)y=4*((P-R)*S+T),C[0]=m[y],C[1]=m[y+1],v=C[0]&31,w=C[0]&2016,Q=C[0]&63488,M=C[1]&31,B=C[1]&2016,D=C[1]&63488,C[2]=5*v+3*M>>3|5*w+3*B>>3&2016|5*Q+3*D>>3&63488,C[3]=5*M+3*v>>3|5*B+3*w>>3&2016|5*D+3*Q>>3&63488,I=m[y+2],x=R*4*A+T*4,E[x]=C[I&3],E[x+1]=C[I>>2&3],E[x+2]=C[I>>4&3],E[x+3]=C[I>>6&3],x+=A,E[x]=C[I>>8&3],E[x+1]=C[I>>10&3],E[x+2]=C[I>>12&3],E[x+3]=C[I>>14],I=m[y+3],x+=A,E[x]=C[I&3],E[x+1]=C[I>>2&3],E[x+2]=C[I>>4&3],E[x+3]=C[I>>6&3],x+=A,E[x]=C[I>>8&3],E[x+1]=C[I>>10&3],E[x+2]=C[I>>12&3],E[x+3]=C[I>>14];return E}/*! @brief Decompresses an image in memory. @param rgba Storage for the decompressed pixels. @param width The width of the source image. @param height The height of the source image. @param blocks The compressed DXT blocks. @param flags Compression flags. The decompressed pixels will be written as a contiguous array of width*height 16 rgba values, with each component as 1 byte each. In memory this is: { r1, g1, b1, a1, .... , rn, gn, bn, an } for n = width*height The flags parameter should specify either kDxt1, kDxt3 or kDxt5 compression, however, DXT1 will be used by default if none is specified. All other flags are ignored. Internally this function calls squish::Decompress for each block. */function xxi(o,A,f,m,C){for(var E=(C&Rie)!=0?8:16,I=0,x=0;x<f;x+=4)for(var y=0;y<A;y+=4){var v=new Uint8Array(64);Exi(v,m,I,C);for(var w=0,Q=0;Q<4;++Q)for(var M=0;M<4;++M){var B=y+M,D=x+Q;if(B<A&&D<f)for(var S=4*(A*(f-D)+B),P=0;P<4;++P)o[S++]=v[w++];else w+=4}I+=E}}function GZe(o){}GZe.decode=function(o,A,f,m,C){if(!(o==null||m==null||f==0||A==0)){var E=0;C>11||C===5?E=twe:E=Rie|UZe,E&Rie&&E&UZe?Ixi(o,A,f,m):xxi(o,A,f,m,E)}};var HZe=GZe;var yxi=function(){"use strict";var o="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",A="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",f=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),m=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var C=o;WebAssembly.validate(f)&&(C=A);var E,I=WebAssembly.instantiate(x(C),{}).then(function(Q){E=Q.instance,E.exports.__wasm_call_ctors()});function x(Q){for(var M=new Uint8Array(Q.length),B=0;B<Q.length;++B){var D=Q.charCodeAt(B);M[B]=D>96?D-71:D>64?D-65:D>47?D+4:D>46?63:62}for(var S=0,B=0;B<Q.length;++B)M[S++]=M[B]<60?m[M[B]]:(M[B]-60)*64+M[++B];return M.buffer.slice(0,S)}function y(Q,M,B,D,S,P){var R=E.exports.sbrk,T=B+3&-4,L=R(T*D),F=R(S.length),U=new Uint8Array(E.exports.memory.buffer);U.set(S,F);var N=Q(L,B,D,F,S.length);if(N==0&&P&&P(L,T,D),M.set(U.subarray(L,L+B*D)),R(L-R(0)),N!=0)throw new Error("Malformed buffer data: "+N)}var v={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},w={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return{ready:I,supported:!0,decodeVertexBuffer:function(Q,M,B,D,S){y(E.exports.meshopt_decodeVertexBuffer,Q,M,B,D,E.exports[v[S]])},decodeIndexBuffer:function(Q,M,B,D){y(E.exports.meshopt_decodeIndexBuffer,Q,M,B,D)},decodeIndexSequence:function(Q,M,B,D){y(E.exports.meshopt_decodeIndexSequence,Q,M,B,D)},decodeGltfBuffer:function(Q,M,B,D,S,P){y(E.exports[w[S]],Q,M,B,D,E.exports[v[P]])}}}(),iwe=yxi;function f6(){}f6.s3tc=!0;f6.pvrtc=!1;f6.etc1=!1;var ZN={SV_Unkown:0,SV_Standard:1,SV_Compressed:2,SV_DracoCompressed:3},rwe={Standard:0,Draco:1,MeshOpt:2},vxi={0:Uint32Array.BYTES_PER_ELEMENT,1:Float32Array.BYTES_PER_ELEMENT,2:Float64Array.BYTES_PER_ELEMENT},Lie={LUMINANCE_8:1,LUMINANCE_16:2,ALPHA:3,ALPHA_4_LUMINANCE_4:4,LUMINANCE_ALPHA:5,RGB_565:6,BGR565:7,RGB:10,BGR:11,ARGB:12,ABGR:13,BGRA:14,WEBP:25,RGBA:28,DXT1:17,DXT2:18,DXT3:19,DXT4:20,DXT5:21,CRN_DXT5:26,STANDARD_CRN:27},QP={SVC_Vertex:1,SVC_Normal:2,SVC_VertexColor:4,SVC_SecondColor:8,SVC_TexutreCoord:16,SVC_TexutreCoordIsW:32},Df={Invalid:0,Position:1,PositionW:2,Normal:4,Tangent:8,FirstTexcoord:16,SecondTexcoord:32,Color:64,SecondColor:128,Custom0:512,Custom1:1024};function _xi(o,A){let f=new Uint8Array(o,A);return NZe.inflate(f).buffer}function zZe(o,m,C){var m=0,C=o.byteLength,E="utf-8";o=o.subarray(m,m+C);var I=new TextDecoder(E);return I.decode(o)}function Eb(o,A,f){let m=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let C=new Uint8Array(o,f,m),E=zZe(C);return f+=m,{string:E,bytesOffset:f,length:m}}function Bxi(o,A,f,m){let C={},E=[],I=new Array(16);for(let y=0;y<16;y++)I[y]=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;C.matrix=I,C.skeletonNames=E;let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let y=0;y<x;y++){let v=Eb(o,A,f);E.push(v.string),f=v.bytesOffset}return m.push(C),f}function wxi(o,A,f,m,C){let E={};E.rangeList=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,E.rangeMode=A.getUint16(f,!0),f+=Uint16Array.BYTES_PER_ELEMENT;let I={};I.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,I.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,I.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let x=A.getFloat64(f,!0);if(f+=Float64Array.BYTES_PER_ELEMENT,E.boundingSphere={center:I,radius:x},C===3){let M={};M.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,M.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,M.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let B={};B.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,B.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,B.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let D={};D.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,D.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,D.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let S={};S.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,S.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,S.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,E.obb={xExtent:B,yExtent:D,zExtent:S,obbCenter:M}}let y=Eb(o,A,f),v=y.string;f=y.bytesOffset;let w=v.indexOf("Geometry");if(w!==-1){let M=v.substring(w);v=v.replace(M,"")}E.childTile=v,E.geodes=[];let Q=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let M=0;M<Q;M++)f=Bxi(o,A,f,E.geodes);return m.push(E),C===3&&(f=Eb(o,A,f).bytesOffset),f}function bxi(o,A,f,m){let C={},E=[],I=[],x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let w=0;w<y;w++)f=wxi(o,A,f,I,m.version);C.pageLods=I;let v=f%4;return v!==0&&(f+=4-v),m.groupNode=C,f}function YZe(o,A,f,m){let C=A.getUint32(f,!0);if(m.verticesCount=C,f+=Uint32Array.BYTES_PER_ELEMENT,f<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);I=E*Float32Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let x=C*E*Float32Array.BYTES_PER_ELEMENT,y=new Uint8Array(o,f,x);f+=x;let v=m.vertexAttributes,w=m.attrLocation;return w.aPosition=v.length,v.push({index:w.aPosition,typedArray:y,componentsPerAttribute:E,componentDatatype:5126,offsetInBytes:0,strideInBytes:I,normalize:!1}),f}function JZe(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=C*E*Float32Array.BYTES_PER_ELEMENT,y=new Uint8Array(o,f,x);f+=x;let v=m.vertexAttributes,w=m.attrLocation;return w.aNormal=v.length,v.push({index:w.aNormal,typedArray:y,componentsPerAttribute:E,componentDatatype:5126,offsetInBytes:0,strideInBytes:I,normalize:!1}),f}function KZe(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=m.verticesCount,I;if(C>0){let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*2;let w=C*Uint8Array.BYTES_PER_ELEMENT*4;I=new Uint8Array(o,f,w).slice(0,w),f+=w}else{I=new Uint8Array(4*E);for(let v=0;v<E;v++)I[v*4]=255,I[v*4+1]=255,I[v*4+2]=255,I[v*4+3]=255}let x=m.vertexAttributes,y=m.attrLocation;return y.aColor=x.length,x.push({index:y.aColor,typedArray:I,componentsPerAttribute:4,componentDatatype:5121,offsetInBytes:0,strideInBytes:4,normalize:!0}),m.vertexColor=I,f}function WZe(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*2;let I=C*Uint8Array.BYTES_PER_ELEMENT*4,x=new Uint8Array(o,f,I);f+=I;let y=m.vertexAttributes,v=m.attrLocation;return v.aSecondColor=y.length,y.push({index:v.aSecondColor,typedArray:x,componentsPerAttribute:4,componentDatatype:5121,offsetInBytes:0,strideInBytes:4,normalize:!0}),f}function qZe(o,A,f,m){let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let y=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let v=I*x*Float32Array.BYTES_PER_ELEMENT,w=new Uint8Array(o,f,v);f+=v;let Q="aTexCoord"+E,M=m.vertexAttributes,B=m.attrLocation;B[Q]=M.length,M.push({index:B[Q],typedArray:w,componentsPerAttribute:x,componentDatatype:5126,offsetInBytes:0,strideInBytes:x*Float32Array.BYTES_PER_ELEMENT,normalize:!1})}return f}function jZe(o,A,f,m){let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let E=m.vertexAttributes,I=m.attrLocation;for(let x=0;x<C;x++){let y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let w=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let Q=y*v*Float32Array.BYTES_PER_ELEMENT;if(v===17||v===29){let M=new Uint8Array(o,f,Q);m.instanceCount=y,m.instanceMode=v,m.instanceBuffer=M,m.instanceIndex=1;let B=v*y*4,D=M.slice(0,B);m.vertexColorInstance=D;let S;v===17?(S=Float32Array.BYTES_PER_ELEMENT*17,I.uv2=E.length,E.push({index:I.uv2,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:0,strideInBytes:S,instanceDivisor:1}),I.uv3=E.length,E.push({index:I.uv3,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:4*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv4=E.length,E.push({index:I.uv4,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:8*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.secondary_colour=E.length,E.push({index:I.secondary_colour,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:12*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv6=E.length,E.push({index:I.uv6,componentsPerAttribute:4,componentDatatype:5121,normalize:!0,offsetInBytes:16*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1})):v===29&&(S=Float32Array.BYTES_PER_ELEMENT*29,I.uv1=E.length,E.push({index:I.uv1,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:0,strideInBytes:S,instanceDivisor:1,byteLength:Q}),I.uv2=E.length,E.push({index:I.uv2,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:4*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv3=E.length,E.push({index:I.uv3,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:8*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv4=E.length,E.push({index:I.uv4,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:12*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv5=E.length,E.push({index:I.uv5,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:16*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv6=E.length,E.push({index:I.uv6,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:20*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv7=E.length,E.push({index:I.uv7,componentsPerAttribute:3,componentDatatype:5126,normalize:!1,offsetInBytes:24*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.secondary_colour=E.length,E.push({index:I.secondary_colour,componentsPerAttribute:4,componentDatatype:5121,normalize:!0,offsetInBytes:27*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}),I.uv9=E.length,E.push({index:I.uv9,componentsPerAttribute:4,componentDatatype:5121,normalize:!0,offsetInBytes:28*Float32Array.BYTES_PER_ELEMENT,strideInBytes:S,instanceDivisor:1}))}else{let M=y*v;m.instanceBounds=new Float32Array(M);for(let B=0;B<M;B++)m.instanceBounds[B]=A.getFloat32(f+B*Float32Array.BYTES_PER_ELEMENT,!0)}f+=Q}return f}function Qxi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let y=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let v=I*x*vxi[y],w=new Uint8Array(o,f,v);f+=v;let Q=m.vertexAttributes,M=m.attrLocation,B="aCustom"+E;M[B]=Q.length,Q.push({index:M[B],typedArray:w,componentsPerAttribute:x,componentDatatype:5126,offsetInBytes:0,strideInBytes:0,normalize:!1})}return f}function Sxi(o,A,f,m){let C=A.getUint32(f,!0);if(m.verticesCount=C,f+=Uint32Array.BYTES_PER_ELEMENT,f<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);I=E*Int16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let x=A.getFloat32(f,!0);f+=Float32Array.BYTES_PER_ELEMENT;let y={};y.x=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,y.y=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,y.z=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,y.w=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,m.vertCompressConstant=x,m.minVerticesValue=y;let v=C*E*Int16Array.BYTES_PER_ELEMENT,w=new Uint8Array(o,f,v);f+=v;let Q=m.vertexAttributes,M=m.attrLocation;return M.aPosition=Q.length,Q.push({index:M.aPosition,typedArray:w,componentsPerAttribute:E,componentDatatype:5122,offsetInBytes:0,strideInBytes:I,normalize:!1}),f}function Dxi(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=C*2*Int16Array.BYTES_PER_ELEMENT,y=new Uint8Array(o,f,x);f+=x;let v=m.vertexAttributes,w=m.attrLocation;return w.aNormal=v.length,v.push({index:w.aNormal,typedArray:y,componentsPerAttribute:2,componentDatatype:5122,offsetInBytes:0,strideInBytes:I,normalize:!1}),f}function Mxi(o,A,f,m){m.texCoordCompressConstant=[],m.minTexCoordValue=[];let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let I=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*3;let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let y=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let w=A.getFloat32(f,!0);f+=Float32Array.BYTES_PER_ELEMENT,m.texCoordCompressConstant.push(w);let Q={};Q.x=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.y=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.z=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.w=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,m.minTexCoordValue.push(Q);let M=x*y*Int16Array.BYTES_PER_ELEMENT,B=new Uint8Array(o,f,M);f+=M;let D=f%4;D!==0&&(f+=4-D);let S="aTexCoord"+E,P=m.vertexAttributes,R=m.attrLocation;if(R[S]=P.length,P.push({index:R[S],typedArray:B,componentsPerAttribute:y,componentDatatype:5122,offsetInBytes:0,strideInBytes:y*Int16Array.BYTES_PER_ELEMENT,normalize:!1}),I){M=x*Float32Array.BYTES_PER_ELEMENT;let T=new Uint8Array(o,f,M);f+=M,m.texCoordZMatrix=!0,S="aTexCoordZ"+E,R[S]=P.length,P.push({index:R[S],typedArray:T,componentsPerAttribute:1,componentDatatype:5126,offsetInBytes:0,strideInBytes:Float32Array.BYTES_PER_ELEMENT,normalize:!1})}}return f}function Txi(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=C*E*Float32Array.BYTES_PER_ELEMENT;return f+=x,f}function Pxi(o,A,f,m,C){if(C===3){let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT}if(f=YZe(o,A,f,m),f=JZe(o,A,f,m),f=KZe(o,A,f,m),C!==3&&(f=WZe(o,A,f,m)),f=qZe(o,A,f,m),f=jZe(o,A,f,m),C===3){f=Qxi(o,A,f,m);let E=Eb(o,A,f);f=E.bytesOffset,m.customVertexAttribute=JSON.parse(E.string);let I="aCustom"+m.customVertexAttribute.TextureCoordMatrix,x="aCustom"+m.customVertexAttribute.VertexWeight;m.attrLocation[I]!==void 0&&(m.attrLocation.aTextureCoordMatrix=m.attrLocation[I],delete m.attrLocation[I]),m.attrLocation[x]!==void 0&&(m.attrLocation.aVertexWeight=m.attrLocation[x],delete m.attrLocation[x]);let y=f%4;y&&(y=4-y),f+=y,f=Txi(o,A,f,m)}return f}function Rxi(o,A,f,m,C,E){let I=0,x,y=C.vertexAttributes,v=C.attrLocation;switch(A){case Df.Normal:case Df.FirstTexcoord:case Df.SecondTexcoord:I=Uint16Array.BYTES_PER_ELEMENT*2,(E&16)===0&&(A===Df.FirstTexcoord||A===Df.SecondTexcoord)&&(I=Float32Array.BYTES_PER_ELEMENT*2),x=new Uint8Array(o*I);break;case Df.Color:case Df.SecondColor:I=Uint8Array.BYTES_PER_ELEMENT*4,x=new Uint8Array(o*4);break;case Df.Custom0:I=Float32Array.BYTES_PER_ELEMENT*f,x=new Uint8Array(o*f*4);break;case Df.Custom1:I=Float32Array.BYTES_PER_ELEMENT*f,x=new Uint8Array(o*f*4);break;default:I=Uint16Array.BYTES_PER_ELEMENT*4,x=new Uint8Array(o*I);break}iwe.decodeVertexBuffer(x,o,I,m,m.length);let w,Q,M;switch(A){case Df.Position:v.aPosition=y.length,y.push({index:v.aPosition,typedArray:new Uint16Array(x.buffer,0,x.length/2),componentsPerAttribute:4,componentDatatype:5122,offsetInBytes:0,strideInBytes:0,normalize:!1}),C.verticesCount=o;break;case Df.Normal:v.aNormal=y.length,y.push({index:v.aNormal,typedArray:new Int16Array(x.buffer,0,x.length/2),componentsPerAttribute:2,componentDatatype:5122,offsetInBytes:0,strideInBytes:0,normalize:!1});break;case Df.FirstTexcoord:(E&16)===0?(M=5126,Q=Float32Array,w=new Float32Array(x.buffer,0,x.length/4)):(M=5122,Q=Uint16Array,w=new Uint16Array(x.buffer,0,x.length/2)),v.aTexCoord0=y.length,y.push({index:v.aTexCoord0,typedArray:w,componentsPerAttribute:2,componentDatatype:M,offsetInBytes:0,strideInBytes:0,normalize:!1});break;case Df.SecondTexcoord:(E&16)===0?(M=5126,Q=Float32Array,w=new Float32Array(x.buffer,0,x.length/4)):(M=5122,Q=Uint16Array,w=new Uint16Array(x.buffer,0,x.length/2)),v.aTexCoord1=y.length,y.push({index:v.aTexCoord1,typedArray:w,componentsPerAttribute:2,componentDatatype:M,offsetInBytes:0,strideInBytes:0,normalize:!1});break;case Df.Color:v.aColor=y.length,y.push({index:v.aColor,typedArray:x,componentsPerAttribute:4,componentDatatype:5121,offsetInBytes:0,strideInBytes:0,normalize:!0});break;case Df.SecondColor:v.aSecondColor=y.length,y.push({index:v.aSecondColor,typedArray:x,componentsPerAttribute:4,componentDatatype:5120,offsetInBytes:0,strideInBytes:0,normalize:!1});break;case Df.Custom0:v.aCustom0=y.length,y.push({index:v.aCustom0,typedArray:new Float32Array(x.buffer,0,x.length/4),componentsPerAttribute:f,componentDatatype:5126,offsetInBytes:0,strideInBytes:0,normalize:!1});break;case Df.Custom1:v.aCustom1=y.length,y.push({index:v.aCustom1,typedArray:new Float32Array(x.buffer,0,x.length/4),componentsPerAttribute:f,componentDatatype:5126,offsetInBytes:0,strideInBytes:0,normalize:!1});break;default:break}}function Lxi(o,A,f,m,C){let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT,m.compressOptions=E;let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT,m.minVerticesValue={x:0,y:0,z:0,w:0},m.minTexCoordValue=[{x:0,y:0},{x:0,y:0}],m.texCoordCompressConstant=[{x:0,y:0,z:0},{x:0,y:0,z:0}];let x=[];for(let y=0;y<I;y++){let v=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT,m.vertCompressConstant=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,m.minVerticesValue.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,m.minVerticesValue.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,m.minVerticesValue.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let w=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let Q=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let M=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let B=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let D=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let S=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let P=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let R=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT,m.minTexCoordValue[0].x=M,m.minTexCoordValue[0].y=B,m.minTexCoordValue[1].x=P,m.minTexCoordValue[1].y=R,m.texCoordCompressConstant[0].x=w,m.texCoordCompressConstant[0].y=Q,m.texCoordCompressConstant[1].x=D,m.texCoordCompressConstant[1].y=S;let T=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;for(let H=0;H<T;H++){let J=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;let K=0;(J===Df.Custom0||J===Df.Custom1)&&(K=A.getInt32(f,!0),f+=Int32Array.BYTES_PER_ELEMENT);let X=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;let j=new Uint8Array(o,f,X);f+=Uint8Array.BYTES_PER_ELEMENT*X;let ee=f%4;ee&&(ee=4-ee),f+=ee,Rxi(v,J,K,j,m,E)}let L=Eb(o,A,f);f=L.bytesOffset,m.customVertexAttribute=JSON.parse(L.string);let F="aCustom"+m.customVertexAttribute.TextureCoordMatrix,U="aCustom"+m.customVertexAttribute.VertexWeight;m.attrLocation[F]!==void 0&&(m.attrLocation.aTextureCoordMatrix=m.attrLocation[F],y===I-1&&delete m.attrLocation[F]),m.attrLocation[U]!==void 0&&(m.attrLocation.aVertexWeight=m.attrLocation[U],y===I-1&&delete m.attrLocation[U]);let N=f%4;N&&(N=4-N),f+=N}return f}function Fxi(o,A,f,m,C){let E=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;for(let I=0;I<E;I++){let x={},y=A.getInt32(f,!0);if(f+=Int32Array.BYTES_PER_ELEMENT,y<1)continue;let v=A.getInt8(f,!0);f+=Int8Array.BYTES_PER_ELEMENT;let w=A.getInt8(f,!0);f+=Int8Array.BYTES_PER_ELEMENT;let Q=A.getInt8(f,!0);f+=Int8Array.BYTES_PER_ELEMENT;let M=A.getInt8(f,!0);f+=Int8Array.BYTES_PER_ELEMENT;let B=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;let D;Q!==13?(D=new Uint8Array(o,f,B),f+=Uint8Array.BYTES_PER_ELEMENT*B):(D=new Uint32Array(o,f,B),f+=Uint32Array.BYTES_PER_ELEMENT*B);let S=f%4;S&&(S=4-S),f+=S;let P;Q!==13?(P=new Uint8Array(y*Uint32Array.BYTES_PER_ELEMENT),iwe.decodeIndexBuffer(P,y,Uint32Array.BYTES_PER_ELEMENT,D)):P=D;let R=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT,x.indexType=v;let T=v===0?new Uint16Array(y):new Uint32Array(y);x.indicesCount=y;let L=new Uint32Array(P.buffer,P.byteOffset,P.byteLength/4);T.set(L,0),x.indicesTypedArray=T,x.primitiveType=Q;for(let F=0;F<R;F++){let U=Eb(o,A,f);f=U.bytesOffset,x.materialCode=U.string}m.push(x),S=f%4,S&&(S=4-S),f+=S}return f}function Nxi(o,A,f,m){let C=A.getUint32(f,!0);return m.compressOptions=C,f+=Uint32Array.BYTES_PER_ELEMENT,(C&QP.SVC_Vertex)===QP.SVC_Vertex?f=Sxi(o,A,f,m):f=YZe(o,A,f,m),(C&QP.SVC_Normal)===QP.SVC_Normal?f=Dxi(o,A,f,m):f=JZe(o,A,f,m),f=KZe(o,A,f,m),f=WZe(o,A,f,m),(C&QP.SVC_TexutreCoord)===QP.SVC_TexutreCoord?f=Mxi(o,A,f,m):f=qZe(o,A,f,m),(C&QP.SVC_TexutreCoordIsW)===QP.SVC_TexutreCoordIsW&&(m.textureCoordIsW=!0),f=jZe(o,A,f,m),f}function kxi(o,A,f,m,C){let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let I=0;I<E;I++){let x={};if(C===3){let S=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT}let y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let v=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT;let w=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT;let Q=A.getUint8(f,!0);if(f+=Uint8Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT,y>0){let S=null,P;v===1||v===3?(P=y*Uint32Array.BYTES_PER_ELEMENT,S=new Uint8Array(o,f,P)):(P=y*Uint16Array.BYTES_PER_ELEMENT,S=new Uint8Array(o,f,P),y%2!==0&&(P+=2)),x.indicesTypedArray=S,f+=P}x.indicesCount=y,x.indexType=v,x.primitiveType=Q;let M=[],B=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let S=0;S<B;S++){let P=Eb(o,A,f),R=P.string;f=P.bytesOffset,M.push(R),x.materialCode=R}if(f%4!==0){let S=4-f%4;f+=S}m.push(x)}return f}function Uxi(o,A,f,m,C){let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let x=0;x<I;x++){if(C===3){let S=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT}let y=Eb(o,A,f),v=y.string;f=y.bytesOffset;let w=y.length%4;w!==0&&(f+=4-w);let Q=A.getUint32(f,!0);if(f+=Int32Array.BYTES_PER_ELEMENT,C===3)switch(Q){case rwe.Standard:Q=ZN.SV_Standard;break;case rwe.Draco:Q=ZN.SV_DracoCompressed;break;case rwe.MeshOpt:Q=ZN.SV_Compressed;break;default:break}let M={vertexAttributes:[],attrLocation:{},instanceCount:0,instanceMode:0,instanceIndex:-1};Q===ZN.SV_Standard?f=Pxi(o,A,f,M,C):Q===ZN.SV_Compressed&&C===3?f=Lxi(o,A,f,M,C):Q===ZN.SV_Compressed&&(f=Nxi(o,A,f,M));let B=[];Q===ZN.SV_Compressed&&C===3?f=Fxi(o,A,f,B,C):f=kxi(o,A,f,B,C);let D;if(B.length===2&&B[1].primitiveType===13&&B[1].indicesCount>=3&&(D=S3MEdgeProcessor.createEdgeDataByIndices(M,B[1])),m[v]={vertexPackage:M,arrIndexPackage:B,edgeGeometry:D},C===3){let S={};S.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,S.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,S.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let P={};P.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,P.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,P.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let R={};R.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,R.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,R.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let T={};T.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,T.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,T.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT}}if(C!==3){let x=A.getUint32(f,!0);f+=x,f+=Uint32Array.BYTES_PER_ELEMENT}return f}function Oxi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let I=0;I<E;I++){let x=Eb(o,A,f),y=x.string;f=x.bytesOffset;let v=x.length%4;v!==0&&(f+=4-v);let w=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let Q=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let M=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let B=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let D=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let S=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let P=new Uint8Array(o,f,D);f+=D;let R=S===Lie.RGB||S===Lie.BGR?33776:33779;if(B===22&&(R=36196),!f6.s3tc&&(R===33776||R===33779)){let T=new Uint8Array(Q*M*4);HZe.decode(T,Q,M,P,S),P=T,B=0,R=S===Lie.RGB||S===Lie.RGB?273:4369}m[y]={id:y,width:Q,height:M,compressType:B,nFormat:S,internalFormat:R,arrayBufferView:P}}return f}function Gxi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=new Uint8Array(o,f,C),I=zZe(E);return f+=C,m.materials=JSON.parse(I),f}var Fie={red:0,green:0,blue:0,alpha:0};var Hxi=65536;function Vxi(o,A,f,m,C,E){if(E===3&&(m=A.getUint32(f,!0),f+=Uint32Array.BYTES_PER_ELEMENT),(m&1)===1){let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let y=0;y<x;y++){let v=Eb(o,A,f),w=v.string;f=v.bytesOffset;let Q=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let M={};if(C[w].pickInfo=M,C[w].vertexPackage.instanceIndex==-1){let D=new Float32Array(C[w].vertexPackage.verticesCount);for(let S=0;S<Q;S++){let P=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let R=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let T=[];for(let L=0;L<R;L++){let F=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let U=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT,D.fill(S,F,F+U),T.push({vertexColorOffset:F,vertexColorCount:U,batchId:S})}M[P]=T}VZe(C[w].vertexPackage,D,void 0)}else{let D=C[w].vertexPackage.instanceCount,S=C[w].vertexPackage.instanceBuffer,P=C[w].vertexPackage.instanceMode,R=new Float32Array(D),T=[];for(let F=0;F<Q;F++){let U=A.getUint32(f,!0);T.push(U),f+=Uint32Array.BYTES_PER_ELEMENT;let N=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let H=0;H<N;H++){let J=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,E===3){let K=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT}}}let L=P===17?16:28;L*=Float32Array.BYTES_PER_ELEMENT;for(let F=0;F<D;F++){R[F]=F;let U=F*P*Float32Array.BYTES_PER_ELEMENT+L;Cesium.Color.unpack(S,U,Fie);let N=E===2?T[F]:Fie.red+Fie.green*256+Fie.blue*Hxi;M[N]===void 0&&(M[N]={vertexColorCount:1,instanceIds:[],vertexColorOffset:F}),M[N].instanceIds.push(F)}VZe(C[w].vertexPackage,R,1)}}}return f}function VZe(o,A,f){let m=o.vertexAttributes,C=o.attrLocation,E=m.length,I=f===1?"instanceId":"batchId";C[I]=E,m.push({index:E,typedArray:A,componentsPerAttribute:1,componentDatatype:5126,offsetInBytes:0,strideInBytes:0,instanceDivisor:f})}f6.parseBuffer=function(o){let A=0,f={version:void 0,groupNode:void 0,geoPackage:{},matrials:void 0,texturePackage:{}},m=new DataView(o);if(f.version=m.getFloat32(A,!0),A+=Float32Array.BYTES_PER_ELEMENT,f.version>=2){let y=m.getUint32(A,!0);A+=Uint32Array.BYTES_PER_ELEMENT}let C=0;f.version>=3&&(C=m.getUint32(A,!0),A+=Uint32Array.BYTES_PER_ELEMENT);let E=m.getUint32(A,!0);A+=Uint32Array.BYTES_PER_ELEMENT;let I=_xi(o,A);m=new DataView(I),A=0;let x=m.getUint32(A,!0);return A+=Uint32Array.BYTES_PER_ELEMENT,A=bxi(I,m,A,f),A=Uxi(I,m,A,f.geoPackage,f.version),A=Oxi(I,m,A,f.texturePackage),A=Gxi(I,m,A,f),Vxi(I,m,A,x,f.geoPackage,f.version),f};var eJ=f6;function Nie(o,A,f){let m=o._gl;this.contextId=o.id,this.textureId=A,this.layerId=f.layerId,this.rootName=f.rootName,this.context=o,this.width=f.width,this.height=f.height,this.compressType=f.compressType,this.internalFormat=f.internalFormat,this.pixelFormat=f.pixelFormat,this.arrayBufferView=f.arrayBufferView,this.wrapS=Cesium.defaultValue(f.wrapS,Cesium.TextureWrap.CLAMP_TO_EDGE),this.wrapT=Cesium.defaultValue(f.wrapT,Cesium.TextureWrap.CLAMP_TO_EDGE),this._target=m.TEXTURE_2D,this._texture=void 0,this.refCount=1,this.arrayBufferView&&this.init()}Nie.prototype.init=function(){let o=this.context._gl;this._texture||(this._texture=o.createTexture()),o.bindTexture(o.TEXTURE_2D,this._texture);let A=this.internalFormat;(A===6410||A===4369)&&o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!0);let f=0,m=0,C=this.width,E=this.height,I=zxi(this.arrayBufferView,A,C,E);do{let x=Cesium.PixelFormat.compressedTextureSizeInBytes(A,C,E),y=new Uint8Array(this.arrayBufferView.buffer,this.arrayBufferView.byteOffset+m,x);A===4369?o.texImage2D(o.TEXTURE_2D,f++,o.RGBA,C,E,0,o.RGBA,o.UNSIGNED_BYTE,y):o.compressedTexImage2D(o.TEXTURE_2D,f++,A,C,E,0,y),C=Math.max(C>>1,1),E=Math.max(E>>1,1),m+=x}while(m<this.arrayBufferView.byteLength&&I);f>1?(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR_MIPMAP_LINEAR)):(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR)),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,this.wrapS),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,this.wrapT),o.texParameteri(this._target,this.context._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,1),o.bindTexture(o.TEXTURE_2D,null),this.arrayBufferView=void 0,this.ready=!0};function zxi(o,A,f,m){let C=o.length,E=f,I=m,x=0;for(;;){let y=Cesium.PixelFormat.compressedTextureSizeInBytes(A,E,I);if(x+=y,E=E>>1,I=I>>1,E===0&&I===0)break;E=Math.max(E,1),I=Math.max(I,1)}return x===C}Nie.prototype.isDestroyed=function(){return!1};Nie.prototype.destroy=function(){this.context._gl.deleteTexture(this._texture),this._texture=null,this.id=0,Cesium.destroyObject(this)};var XZe=Nie;function nwe(){this.ambientColor=new Cesium.Color,this.diffuseColor=new Cesium.Color,this.specularColor=new Cesium.Color(0,0,0,0),this.shininess=50,this.bTransparentSorting=!1,this.texMatrix=Cesium.Matrix4.clone(Cesium.Matrix4.IDENTITY,new Cesium.Matrix4),this.textures=[]}nwe.prototype.isDestroyed=function(){return!1};nwe.prototype.destroy=function(){let o=this.textures.length;for(let A=0;A<o;A++)this.textures[A].destroy();return this.textures.length=0,this.ambientColor=void 0,this.diffuseColor=void 0,this.specularColor=void 0,Cesium.destroyObject(this)};var kie=nwe;var ZZe=` in vec4 aPosition; #ifdef VertexColor in vec4 aColor; #endif #ifdef VertexNormal in vec3 aNormal; #endif #ifdef Instance in float instanceId; #else in float batchId; #endif #ifdef USE_VertexWeight in float aVertexWeight; #endif #ifdef USE_TextureCoordMatrix in vec2 aTextureCoordMatrix; #endif #ifdef TexCoord in vec4 aTexCoord0; out vec4 vTexCoord; uniform mat4 uTexMatrix; #ifdef COMPUTE_TEXCOORD uniform float uTexture0Width; out vec4 vTexMatrix; out vec4 vTexCoordTransform; out vec2 vIsRGBA; #endif #endif #ifdef TexCoord2 in vec4 aTexCoord1; uniform float uTexture1Width; out vec4 vTexMatrix2; #endif #ifdef InstanceBim in vec4 uv2; in vec4 uv3; in vec4 uv4; in vec4 secondary_colour; in vec4 uv6; #endif #ifdef InstancePipe in vec4 uv1; in vec4 uv2; in vec4 uv3; in vec4 uv4; in vec4 uv5; in vec4 uv6; in vec4 uv7; in vec4 secondary_colour; in vec4 uv9; #endif uniform vec4 uFillForeColor; uniform vec4 uSelectedColor; out vec4 vSecondColor; out vec4 vPositionMC; out vec3 vPositionEC; #ifdef VertexNormal out vec3 vNormalEC; #endif out vec4 vColor; const float SHIFT_LEFT8 = 256.0; const float SHIFT_RIGHT8 = 1.0 / 256.0; const float SHIFT_RIGHT4 = 1.0 / 16.0; const float SHIFT_LEFT4 = 16.0; void getTextureMatrixFromZValue(in float nZ, inout float XTran, inout float YTran, inout float scale, inout float isRGBA) { if(nZ <= 0.0) { return; } float nDel8 = floor(nZ * SHIFT_RIGHT8); float nDel16 = floor(nDel8 * SHIFT_RIGHT8); float nDel20 = floor(nDel16 * SHIFT_RIGHT4); isRGBA = floor(nDel20); YTran = nZ - nDel8 * SHIFT_LEFT8; XTran = nDel8 - nDel16 * SHIFT_LEFT8; float nLevel = nDel16 - nDel20 * SHIFT_LEFT4; scale = 1.0 / pow(2.0, nLevel); } void operation(vec4 operationType, vec4 color, vec4 selectedColor, inout vec4 vertexColor) { float right_2 = operationType.x * 0.5; float right_4 = right_2 * 0.5; float right_8 = right_4 * 0.5; float right_16 = right_8 * 0.5; float isSetColor = fract(right_2); if(isSetColor > 0.1) { vertexColor *= color; } float isPicked = fract(floor(right_2)* 0.5); if(isPicked > 0.1) { vertexColor *= selectedColor; } float isHide = fract(floor(right_4)* 0.5); if(isHide > 0.1) { vertexColor.a = 0.0; } } #ifdef COMPRESS_TEXCOORD #ifdef TexCoord uniform vec2 decode_texCoord0_min; #endif #ifdef TexCoord2 uniform vec2 decode_texCoord1_min; #endif #ifdef MeshOPT_Compress uniform vec3 decode_texCoord0_vNormConstant; uniform vec3 decode_texCoord1_vNormConstant; #else uniform float decode_texCoord0_normConstant; uniform float decode_texCoord1_normConstant; #endif #endif #ifdef COMPRESS_VERTEX uniform vec4 decode_position_min; uniform float decode_position_normConstant; #endif #ifdef COMPRESS_NORMAL uniform float normal_rangeConstant; #endif void main() { #ifdef COMPRESS_VERTEX vec4 vertexPos = vec4(1.0); vertexPos = decode_position_min + vec4(aPosition.xyz, 1.0) * decode_position_normConstant; #else vec4 vertexPos = aPosition; #endif #ifdef TexCoord #ifdef COMPRESS_TEXCOORD #ifdef MeshOPT_Compress vec2 texCoord0; texCoord0.x = aTexCoord0.x * decode_texCoord0_vNormConstant.x; texCoord0.y = aTexCoord0.y * decode_texCoord0_vNormConstant.y; vTexCoord.xy = decode_texCoord0_min + texCoord0.xy; #else vTexCoord.xy = decode_texCoord0_min.xy + aTexCoord0.xy * decode_texCoord0_normConstant; #endif #else vTexCoord.xy = aTexCoord0.xy; #endif #ifdef COMPUTE_TEXCOORD vTexMatrix = vec4(0.0,0.0,1.0,0.0); vIsRGBA.x = 0.0; vTexCoordTransform.x = aTexCoord0.z; #ifdef USE_TextureCoordMatrix vTexCoordTransform.x = aTextureCoordMatrix.x; #endif if(vTexCoordTransform.x < -90000.0) { vTexMatrix.z = -1.0; } getTextureMatrixFromZValue(floor(vTexCoordTransform.x), vTexMatrix.x, vTexMatrix.y, vTexMatrix.z, vIsRGBA.x); vTexMatrix.w = log2(uTexture0Width * vTexMatrix.z); #endif #endif #ifdef TexCoord2 #ifdef COMPRESS_TEXCOORD #ifdef MeshOPT_Compress vec2 texCoord1; texCoord1.x = aTexCoord1.x * decode_texCoord1_vNormConstant.x; texCoord1.y = aTexCoord1.y * decode_texCoord1_vNormConstant.y; vTexCoord.zw = decode_texCoord1_min + texCoord1.xy; #else vTexCoord.zw = decode_texCoord1_min.xy + aTexCoord1.xy * decode_texCoord1_normConstant; #endif #else vTexCoord.zw = aTexCoord1.xy; #endif vTexMatrix2 = vec4(0.0,0.0,1.0,0.0); vIsRGBA.y = 0.0; vTexCoordTransform.y = aTexCoord1.z; #ifdef USE_TextureCoordMatrix vTexCoordTransform.y = aTextureCoordMatrix.y; #endif if(vTexCoordTransform.y < -90000.0) { vTexMatrix2.z = -1.0; } getTextureMatrixFromZValue(floor(vTexCoordTransform.y), vTexMatrix2.x, vTexMatrix2.y, vTexMatrix2.z, vIsRGBA.y); vTexMatrix2.w = log2(uTexture1Width * vTexMatrix.z); #endif vec4 vertexColor = uFillForeColor; #ifdef VertexColor vertexColor *= aColor; #endif #ifdef VertexNormal vec3 normal = aNormal; #ifdef COMPRESS_NORMAL #ifdef MeshOPT_Compress normal.x = aNormal.x / 127.0; normal.y = aNormal.y / 127.0; normal.z = 1.0 - abs(normal.x) - abs(normal.y); normal = normalize(normal); #else normal = czm_octDecode(aNormal.xy, normal_rangeConstant).zxy; #endif #endif #endif #ifdef InstanceBim mat4 worldMatrix; worldMatrix[0] = uv2; worldMatrix[1] = uv3; worldMatrix[2] = uv4; worldMatrix[3] = vec4(0, 0, 0, 1); vertexPos = vec4(vertexPos.xyz,1.0) * worldMatrix; vertexColor *= secondary_colour; #endif #ifdef InstancePipe mat4 worldMatrix; mat4 worldMatrix0; mat4 worldMatrix1; vec4 worldPos0; vec4 worldPos1; worldMatrix0[0] = uv1; worldMatrix0[1] = uv2; worldMatrix0[2] = uv3; worldMatrix0[3] = vec4( 0.0, 0.0, 0.0, 1.0 ); worldMatrix1[0] = uv4; worldMatrix1[1] = uv5; worldMatrix1[2] = uv6; worldMatrix1[3] = vec4( 0.0, 0.0, 0.0, 1.0 ); vec4 realVertex = vec4(vertexPos.xyz, 1.0); realVertex.x = realVertex.x * uv7.z; worldPos0 = realVertex * worldMatrix0; worldPos1 = realVertex * worldMatrix1; vertexColor *= secondary_colour; #ifdef TexCoord if(aTexCoord0.y > 0.5) { vec4 tex4Vec = uTexMatrix * vec4(uv7.y, aTexCoord0.x, 0.0, 1.0); vTexCoord.xy = tex4Vec.xy; vertexPos = worldPos1; worldMatrix = worldMatrix1; } else { vec4 tex4Vec = uTexMatrix * vec4(uv7.x, aTexCoord0.x, 0.0, 1.0); vTexCoord.xy = tex4Vec.xy; vertexPos = worldPos0; worldMatrix = worldMatrix0; } #endif #ifdef VertexNormal normal.x = normal.x * uv7.z; #endif #endif #ifdef Instance float index = instanceId; #else float index = batchId; #endif vec4 operationType = batchTable_operation(index); operation(operationType, vec4(1.0), uSelectedColor, vertexColor); vSecondColor = batchTable_pickColor(index); vec4 positionMC = vec4(vertexPos.xyz, 1.0); vColor = vertexColor; #ifdef VertexNormal vNormalEC = czm_normal * normal; #endif vPositionMC = positionMC; vPositionEC = (czm_modelView * positionMC).xyz; gl_Position = czm_modelViewProjection * vec4(vertexPos.xyz, 1.0); }`;var $Ze=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif #ifdef GL_EXT_shader_texture_lod #extension GL_EXT_shader_texture_lod : enable #endif uniform vec4 uDiffuseColor; #ifdef TexCoord in vec4 vTexCoord; #ifdef COMPUTE_TEXCOORD uniform sampler2D uTexture; uniform float uTexture0Width; in vec4 vTexCoordTransform; in vec4 vTexMatrix; in vec2 vIsRGBA; #endif #endif in vec4 vColor; in vec4 vSecondColor; in vec4 vPositionMC; in vec3 vPositionEC; #ifdef VertexNormal in vec3 vNormalEC; #endif #ifdef TexCoord2 uniform sampler2D uTexture2; uniform float uTexture1Width; in vec4 vTexMatrix2; #endif #ifdef COMPUTE_TEXCOORD void calculateMipLevel(in vec2 inTexCoord, in float vecTile, in float fMaxMip, inout float mipLevel) { vec2 dx = dFdx(inTexCoord * vecTile); vec2 dy = dFdy(inTexCoord * vecTile); float dotX = dot(dx, dx); float dotY = dot(dy, dy); float dMax = max(dotX, dotY); float dMin = min(dotX, dotY); float offset = (dMax - dMin) / (dMax + dMin); offset = clamp(offset, 0.0, 1.0); float d = dMax * (1.0 - offset) + dMin * offset; mipLevel = 0.5 * log2(d); mipLevel = clamp(mipLevel, 0.0, fMaxMip - 1.62); } void calculateTexCoord(in vec3 inTexCoord, in float scale, in float XTran, in float YTran, in float fTile, in float mipLevel, inout vec2 outTexCoord) { if(inTexCoord.z < -9000.0) { outTexCoord = inTexCoord.xy; } else { vec2 fTexCoord = fract(inTexCoord.xy); float offset = 1.0 * pow(2.0, mipLevel) / fTile; fTexCoord = clamp(fTexCoord, offset, 1.0 - offset); outTexCoord.x = (fTexCoord.x + XTran) * scale; outTexCoord.y = (fTexCoord.y + YTran) * scale; } } vec4 getTexColorForS3M(sampler2D curTexture, vec3 oriTexCoord, float texTileWidth, float fMaxMipLev, float fTexCoordScale, vec2 vecTexCoordTranslate, float isRGBA) { vec4 color = vec4(1.0); float mipLevel = 0.0; #ifdef GL_OES_standard_derivatives calculateMipLevel(oriTexCoord.xy, texTileWidth, fMaxMipLev, mipLevel); #endif vec2 realTexCoord; calculateTexCoord(oriTexCoord, fTexCoordScale, vecTexCoordTranslate.x, vecTexCoordTranslate.y, texTileWidth, mipLevel, realTexCoord); if(isRGBA > 0.5) { vec2 rgbTexCoord; rgbTexCoord.x = (realTexCoord.x + vecTexCoordTranslate.x * fTexCoordScale) * 0.5; rgbTexCoord.y = (realTexCoord.y + vecTexCoordTranslate.y * fTexCoordScale) * 0.5; color = texture(curTexture, rgbTexCoord.xy, -10.0); vec2 vecAlphaTexCoord; vecAlphaTexCoord.x = rgbTexCoord.x; vecAlphaTexCoord.y = rgbTexCoord.y + fTexCoordScale * 0.5; color.a = texture(curTexture, vecAlphaTexCoord.xy, -10.0).r; } else { if(oriTexCoord.z < -9000.0) { color = texture(curTexture, realTexCoord.xy); } else { #ifdef GL_EXT_shader_texture_lod color = texture2DLodEXT(curTexture, realTexCoord.xy, mipLevel); #else color = texture(curTexture, realTexCoord.xy, mipLevel); #endif } } return color; } vec4 getTextureColor() { if(vTexMatrix.z < 0.0) { return vec4(1.0); } float texTileWidth0 = vTexMatrix.z * uTexture0Width; vec3 realTexCoord = vec3(vTexCoord.xy, vTexCoordTransform.x); vec4 FColor = getTexColorForS3M(uTexture, realTexCoord, texTileWidth0, vTexMatrix.w, vTexMatrix.z, vTexMatrix.xy, vIsRGBA.x); #ifdef TexCoord2 float texTileWidth1 = vTexMatrix2.z * uTexture1Width; realTexCoord = vec3(vTexCoord.zw, vTexCoordTransform.y); vec4 SColor = getTexColorForS3M(uTexture2, realTexCoord, texTileWidth1, vTexMatrix2.w, vTexMatrix2.z, vTexMatrix2.xy, vIsRGBA.y); SColor.r = clamp(SColor.r, 0.0, 1.0); SColor.g = clamp(SColor.g, 0.0, 1.0); SColor.b = clamp(SColor.b, 0.0, 1.0); return FColor * SColor; #else return FColor; #endif } #endif vec4 SRGBtoLINEAR4(vec4 srgbIn) { #ifndef HDR vec3 linearOut = pow(srgbIn.rgb, vec3(2.2)); return vec4(linearOut, srgbIn.a); #else return srgbIn; #endif } vec3 LINEARtoSRGB(vec3 linearIn) { #ifndef HDR return pow(linearIn, vec3(1.0/2.2)); #else return linearIn; #endif } vec3 applyTonemapping(vec3 linearIn) { #ifndef HDR return czm_acesTonemapping(linearIn); #else return linearIn; #endif } vec3 computeNormal(in vec3 oriVertex) { vec3 normal = cross(vec3(dFdx(oriVertex.x), dFdx(oriVertex.y), dFdx(oriVertex.z)), vec3(dFdy(oriVertex.x), dFdy(oriVertex.y), dFdy(oriVertex.z))); normal = normalize(normal); return normal; } void main() { if(vColor.a < 0.1) { discard; } vec4 baseColorWithAlpha = vColor; #ifdef COMPUTE_TEXCOORD baseColorWithAlpha *= SRGBtoLINEAR4(getTextureColor()); #endif if(baseColorWithAlpha.a < 0.1) { discard; } vec3 normal = vec3(0.0); #ifdef VertexNormal normal = normalize(vNormalEC); #endif normal = length(normal) > 0.1 ? normal : computeNormal(vPositionMC.xyz); vec3 color = baseColorWithAlpha.rgb; vec3 dirVectorEC = normalize(czm_lightDirectionEC); float dotProduct = dot( normal, dirVectorEC ); float dirDiffuseWeight = max( dotProduct, 0.0 ); dirDiffuseWeight = dirDiffuseWeight * 0.5 + 0.5; color += color * uDiffuseColor.rgb * dirDiffuseWeight; #ifdef TexCoord color = LINEARtoSRGB(color); #endif out_FragColor = vec4(color, baseColorWithAlpha.a); }`;function owe(){this.context=void 0,this.model=void 0,this.index=void 0}owe.prototype.set=function(o,A,f){this.context=o,this.model=A,this.index=f};owe.prototype.execute=function(){let o=this.context,A=this.index,f=this.model.vertexPackage,m=f.vertexAttributes[A];if(!Cesium.defined(m))throw new Cesium.DeveloperError("attribute is null");if(f.instanceIndex!==-1&&!Cesium.defined(this.model.instanceBuffer)){if(!Cesium.defined(f.instanceBuffer))throw new Cesium.DeveloperError("instance buffer is null");this.model.instanceBuffer=Cesium.Buffer.createVertexBuffer({context:o,typedArray:f.instanceBuffer,usage:Cesium.BufferUsage.STATIC_DRAW})}if(m.instanceDivisor===1&&!Cesium.defined(m.typedArray)){m.vertexBuffer=this.model.instanceBuffer;return}Cesium.defined(m.vertexBuffer)||(m.vertexBuffer=Cesium.Buffer.createVertexBuffer({context:o,typedArray:m.typedArray,usage:Cesium.BufferUsage.STATIC_DRAW}),m.typedArray=null,delete m.typedArray)};var e$e=owe;function awe(){this.model=void 0,this.context=void 0,this.index=0}awe.prototype.set=function(o,A,f){this.model=A,this.context=o,this.index=f};awe.prototype.execute=function(){let o=this.context,A=this.model.arrIndexPackage[this.index],f=this.model.vertexPackage.verticesCount;if(!Cesium.defined(A))throw new Cesium.DeveloperError("index package is null");if(Cesium.defined(A.indexBuffer))return;if(!Cesium.defined(A.indicesTypedArray))throw new Cesium.DeveloperError("index buffer is null");let m=Cesium.IndexDatatype.UNSIGNED_SHORT;(A.indexType===1||f>=Cesium.Math.SIXTY_FOUR_KILOBYTES)&&o.elementIndexUint&&(m=Cesium.IndexDatatype.UNSIGNED_INT),Cesium.defined(A.indexBuffer)||(A.indexBuffer=Cesium.Buffer.createIndexBuffer({context:o,typedArray:A.indicesTypedArray,usage:Cesium.BufferUsage.STATIC_DRAW,indexDatatype:m})),A.indicesTypedArray=null,delete A.indicesTypedArray};var t$e=awe;var Yxi={VertexNormal:"VertexNormal",VertexColor:"VertexColor",TexCoord:"TexCoord",TexCoord2:"TexCoord2",Instance:"Instance",COMPRESS_VERTEX:"COMPRESS_VERTEX",COMPRESS_NORMAL:"COMPRESS_NORMAL",COMPRESS_COLOR:"COMPRESS_COLOR",COMPRESS_TEXCOORD:"COMPRESS_TEXCOORD",UseLineColor:"USE_LINECOLOR",InstanceBim:"InstanceBim",InstancePipe:"InstancePipe",COMPUTE_TEXCOORD:"COMPUTE_TEXCOORD"},km=Object.freeze(Yxi);var Jxi={SVC_Vertex:1,SVC_Normal:2,SVC_VertexColor:4,SVC_SecondColor:8,SVC_TexutreCoord:16,SVC_TexutreCoordIsW:32},Mf=Object.freeze(Jxi);var Kxi={BIM:17,PIPELINE:29},swe=Object.freeze(Kxi);function lwe(){this.model=void 0,this.context=void 0}lwe.prototype.set=function(o,A){this.model=A,this.context=o};function Wxi(o,A){let f=A.length;for(let m=0;m<f;++m){let C=o.getExtension(A[m]);if(C)return C}}lwe.prototype.execute=function(){let o=this.context,A=this.model,f=A.layer,m=A.vs,C=A.fs,E=A.attributeLocations,I=A.material,x=A.vertexPackage,y=A.batchTable?A.batchTable.getVertexShaderCallback()(m):m;o.texturelod===void 0&&(o.texturelod=Cesium.defaultValue(Wxi(o._gl,["EXT_shader_texture_lod"]),!1));let v=new Cesium.ShaderSource({sources:[y]}),w=new Cesium.ShaderSource({sources:[C]});if(Cesium.defined(E.aNormal)&&(v.defines.push(km.VertexNormal),w.defines.push(km.VertexNormal)),Cesium.defined(E.aColor)&&v.defines.push(km.VertexColor),I&&I.textures.length>0&&(v.defines.push(km.COMPUTE_TEXCOORD),w.defines.push(km.COMPUTE_TEXCOORD)),I&&I.textures.length===2&&(v.defines.push(km.TexCoord2),w.defines.push(km.TexCoord2)),Cesium.defined(E.aTexCoord0)&&(v.defines.push("TexCoord"),w.defines.push("TexCoord")),x.instanceIndex>-1&&v.defines.push(km.Instance),x.instanceMode===swe.BIM&&v.defines.push(km.InstanceBim),x.instanceMode===swe.PIPELINE&&v.defines.push(km.InstancePipe),Cesium.defined(x.compressOptions)){let Q=x.compressOptions;(Q&Mf.SVC_Vertex)===Mf.SVC_Vertex&&v.defines.push(km.COMPRESS_VERTEX),(Q&Mf.SVC_Normal)===Mf.SVC_Normal&&v.defines.push(km.COMPRESS_NORMAL),(Q&Mf.SVC_VertexColor)===Mf.SVC_VertexColor&&v.defines.push(km.COMPRESS_COLOR),(Q&Mf.SVC_TexutreCoord)===Mf.SVC_TexutreCoord&&v.defines.push(km.COMPRESS_TEXCOORD)}Cesium.defined(A.arrIndexPackage)&&A.arrIndexPackage.length>0&&A.arrIndexPackage[0].primitiveType===2&&w.defines.push(km.UseLineColor),Cesium.defined(x.customVertexAttribute)&&Cesium.defined(x.customVertexAttribute.TextureCoordMatrix)&&v.defines.push("USE_TextureCoordMatrix"),Cesium.defined(x.customVertexAttribute)&&Cesium.defined(x.customVertexAttribute.VertexWeight)&&v.defines.push("USE_VertexWeight"),f._vertexCompressionType==="MESHOPT"&&v.defines.push("MeshOPT_Compress"),A.shaderProgram=Cesium.ShaderProgram.fromCache({context:o,vertexShaderSource:v,fragmentShaderSource:w,attributeLocations:E})};var i$e=lwe;function bD(o){this.layer=o.layer,this.vertexPackage=o.vertexPackage,this.arrIndexPackage=o.arrIndexPackage,this.vertexBufferToCreate=new Cesium.Queue,this.indexBufferToCreate=new Cesium.Queue,this.shaderProgramToCreate=new Cesium.Queue;let A,f;for(A=0,f=this.vertexPackage.vertexAttributes.length;A<f;A++)this.vertexBufferToCreate.enqueue(A);for(A=0,f=this.arrIndexPackage.length;A<f;A++)this.indexBufferToCreate.enqueue(A);this.shaderProgramToCreate.enqueue(0),this.boundingVolume=o.boundingVolume,this.material=Cesium.defaultValue(o.material,new kie),this.geoName=o.geoName,this.modelMatrix=o.modelMatrix,this.geoMatrix=o.geoMatrix,this.invGeoMatrix=Cesium.Matrix4.inverse(this.geoMatrix,new Cesium.Matrix4),this.instanceCount=o.vertexPackage.instanceCount,this.attributeLocations=o.vertexPackage.attrLocation,this.shaderProgram=void 0,this.vertexArray=void 0,this.colorCommand=void 0,this.pickInfo=Cesium.defaultValue(o.pickInfo,{}),this.selectionInfoMap=new Cesium.AssociativeArray,this.batchTable=void 0,this.batchTableDirty=!1,this.idsOperationMap=new Cesium.AssociativeArray,this.pickColorIdentifier="vSecondColor",this.createBoundingBoxForInstance(),this.ready=!1}var r$e=new e$e,n$e=new t$e,o$e=new i$e;function qxi(o,A){let f=o.layer.context,m=o.vertexBufferToCreate;for(;m.length;){let C=m.peek();if(r$e.set(f,o,C),!A.jobScheduler.execute(r$e,Cesium.JobType.BUFFER))break;m.dequeue()}}function jxi(o,A){let f=o.layer.context,m=o.indexBufferToCreate;for(;m.length;){let C=m.peek();if(n$e.set(f,o,C),!A.jobScheduler.execute(n$e,Cesium.JobType.BUFFER))break;m.dequeue()}}function Xxi(o,A){let f=o.layer.context,m=o.shaderProgramToCreate;for(;m.length;){let C=m.peek();if(o$e.set(f,o),!A.jobScheduler.execute(o$e,Cesium.JobType.PROGRAM))break;m.dequeue()}}function Zxi(o,A){if(Cesium.defined(o.batchTable)||!o.pickInfo)return;let f=o.layer.context,m=[];m.push({functionName:"batchTable_operation",componentDatatype:Cesium.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:4},{functionName:"batchTable_pickColor",componentDatatype:Cesium.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0});let C=o.pickInfo,E=Object.keys(C),I=o.instanceCount>0?o.instanceCount:E.length;o.batchTable=new Cesium.BatchTable(f,m,I)}bD.prototype.createBuffers=function(o){qxi(this,o),jxi(this,o)};bD.prototype.createShaderProgram=function(o){Xxi(this,o)};bD.prototype.createBatchTable=function(o){Zxi(this,o)};bD.prototype.createBoundingBoxForInstance=function(){let o=new Cesium.Cartesian3,A=this.vertexPackage;if(!Cesium.defined(A)||A.instanceIndex===-1||!Cesium.defined(A.instanceBounds))return;let f=A.instanceBounds,m=new Cesium.Cartesian3(f[0],f[1],f[2]),C=new Cesium.Cartesian3(f[3],f[4],f[5]),E=Cesium.Cartesian3.lerp(m,C,.5,o),I=Cesium.Cartesian3.distance(E,m),x=new Cesium.Cartesian3;Cesium.Matrix4.multiplyByPoint(this.modelMatrix,E,x),this.boundingVolume.center=x,this.boundingVolume.radius=I,A.instanceBounds=void 0};bD.prototype.initLayerSetting=function(o){Object.keys(o._objsOperationList).length>0&&this.updateObjsOperation(o._objsOperationList)};bD.prototype.createPickIds=function(){let o=new Cesium.Cartesian4,A=this.layer,f=A.context,m=this.pickInfo;if(!Cesium.defined(m))return;for(let x in m)!m.hasOwnProperty(x)||this.selectionInfoMap.set(x,m[x]);let C=this.batchTable,E=this.selectionInfoMap,I=E._hash;for(let x in I)if(I.hasOwnProperty(x)){let y=E.get(x),v;Cesium.defined(v)||(v=f.createPickId({primitive:A,id:x}));let w=v.color;o.x=Cesium.Color.floatToByte(w.red),o.y=Cesium.Color.floatToByte(w.green),o.z=Cesium.Color.floatToByte(w.blue),o.w=Cesium.Color.floatToByte(w.alpha);let Q=y.instanceIds;if(this.instanceCount>0)Q.map(function(M){C.setBatchedAttribute(M,1,o)});else{let M=y[0].batchId;C.setBatchedAttribute(M,1,o)}}this.pickInfo=void 0};bD.prototype.updateBatchTableAttributes=function(){let o=this,A=this.idsOperationMap;for(let f=0,m=A.length;f<m;f++){let C=A.values[f];!C.dirty||(C.dirty=!1,this.instanceCount>0?Array.isArray(C.instanceIds)&&C.instanceIds.map(function(E){o.batchTable.setBatchedAttribute(E,0,C.operationValue)}):Cesium.defined(C.batchId)&&this.batchTable.setBatchedAttribute(C.batchId,0,C.operationValue))}};bD.prototype.updateObjsOperation=function(o){if(!this.ready||this.selectionInfoMap.length<1)return;let A=this.selectionInfoMap._hash;for(let f in A){if(!A.hasOwnProperty(f))continue;let m=o[f];if(!Cesium.defined(m))continue;let C=A[f][0],E=C.batchId,I=C.instanceIds,x=this.idsOperationMap.get(f);Cesium.defined(x)||(x={batchId:E,instanceIds:I,operationValue:new Cesium.Cartesian4,dirty:!0}),x.dirty=!0,x.operationValue.x=x.operationValue.x&1|m,this.idsOperationMap.set(f,x),this.batchTableDirty=!0}};var SP=bD;function $N(o){SP.call(this,o),this.vs=ZZe,this.fs=$Ze,this.useLineColor=!1}$N.prototype=Object.create(SP.prototype);$N.prototype.constructor=SP;function $xi(){return Cesium.RenderState.fromCache({cull:{enabled:!1},depthTest:{enabled:!0,func:Cesium.DepthFunction.LESS_OR_EQUAL},blending:Cesium.BlendingState.ALPHA_BLEND})}function eyi(){return Cesium.RenderState.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Cesium.DepthFunction.LESS_OR_EQUAL},blending:Cesium.BlendingState.ALPHA_BLEND})}function tyi(o,A,f){let m={uGeoMatrix:function(){return f.geoMatrix},uTexMatrix:function(){return o.texMatrix},uFillForeColor:function(){return f.useLineColor?A.style3D.lineColor:A.style3D.fillForeColor},uInverseGeoMatrix:function(){return f.invGeoMatrix},uTexture:function(){return o.textures[0]},uTexture2:function(){return o.textures[1]},uTexture0Width:function(){return o.textures[0].width},uTexture1Width:function(){return o.textures[1].width},uDiffuseColor:function(){return o.diffuseColor},uSelectedColor:function(){return A._selectedColor}},C=f.vertexPackage,E=C.compressOptions;return(E&Mf.SVC_Vertex)===Mf.SVC_Vertex&&(m.decode_position_min=function(){return C.minVerticesValue},m.decode_position_normConstant=function(){return C.vertCompressConstant}),(E&Mf.SVC_Normal)===Mf.SVC_Normal&&(m.normal_rangeConstant=function(){return C.normalRangeConstant}),(E&Mf.SVC_TexutreCoord)===Mf.SVC_TexutreCoord&&(C.texCoordCompressConstant.length>0&&(m.decode_texCoord0_min=function(){return C.minTexCoordValue[0]},m.decode_texCoord0_normConstant=function(){return C.texCoordCompressConstant[0]},m.decode_texCoord0_vNormConstant=function(){return C.texCoordCompressConstant[0]}),C.texCoordCompressConstant.length>1&&(m.decode_texCoord1_min=function(){return C.minTexCoordValue[1]},m.decode_texCoord1_normConstant=function(){return C.texCoordCompressConstant[1]},m.decode_texCoord1_vNormConstant=function(){return C.texCoordCompressConstant[1]}),C.texCoordCompressConstant.length>2&&(m.decode_texCoord2_min=function(){return C.minTexCoordValue[2]},m.decode_texCoord2_normConstant=function(){return C.texCoordCompressConstant[2]}),C.texCoordCompressConstant.length>3&&(m.decode_texCoord3_min=function(){return C.minTexCoordValue[3]},m.decode_texCoord3_normConstant=function(){return C.texCoordCompressConstant[3]}),C.texCoordCompressConstant.length>4&&(m.decode_texCoord4_min=function(){return C.minTexCoordValue[4]},m.decode_texCoord4_normConstant=function(){return C.texCoordCompressConstant[4]}),C.texCoordCompressConstant.length>5&&(m.decode_texCoord5_min=function(){return C.minTexCoordValue[5]},m.decode_texCoord5_normConstant=function(){return C.texCoordCompressConstant[5]}),C.texCoordCompressConstant.length>6&&(m.decode_texCoord6_min=function(){return C.minTexCoordValue[6]},m.decode_texCoord6_normConstant=function(){return C.texCoordCompressConstant[6]}),C.texCoordCompressConstant.length>7&&(m.decode_texCoord7_min=function(){return C.minTexCoordValue[7]},m.decode_texCoord7_normConstant=function(){return C.texCoordCompressConstant[7]})),m}$N.prototype.createCommand=function(){if(Cesium.defined(this.colorCommand)||this.vertexBufferToCreate.length!==0||this.indexBufferToCreate.length!==0||this.shaderProgramToCreate.length!==0)return;let o=this.layer,A=o.context,f=this.vertexPackage,m=this.arrIndexPackage,C=f.vertexAttributes;if(m.length<1)return;let E=m[0],I=this.material;this.vertexArray=new Cesium.VertexArray({context:A,attributes:C,indexBuffer:E.indexBuffer});let x=Cesium.PrimitiveType.TRIANGLES;switch(E.primitiveType){case 1:x=Cesium.PrimitiveType.POINTS;break;case 2:x=Cesium.PrimitiveType.LINES;break;case 4:x=Cesium.PrimitiveType.TRIANGLES;break;default:break}this.useLineColor=x===Cesium.PrimitiveType.LINES,this.colorCommand=new Cesium.DrawCommand({primitiveType:x,modelMatrix:this.modelMatrix,boundingVolume:Cesium.BoundingSphere.clone(this.boundingVolume),pickId:this.pickColorIdentifier,vertexArray:this.vertexArray,shaderProgram:this.shaderProgram,pass:I.bTransparentSorting?Cesium.Pass.TRANSLUCENT:Cesium.Pass.OPAQUE,renderState:I.bTransparentSorting?eyi():$xi(),instanceCount:f.instanceCount});let y=tyi(I,o,this);this.batchTable&&(y=this.batchTable.getUniformMapCallback()(y)),this.colorCommand.uniformMap=y,this.vertexPackage=void 0,this.arrIndexPackage=void 0,this.vs=void 0,this.fs=void 0,this.ready=!0};$N.prototype.update=function(o,A){if(!this.ready){this.createBatchTable(o),this.createPickIds(),this.createBuffers(o),this.createShaderProgram(o),this.createCommand(o),this.initLayerSetting(A);return}this.batchTableDirty&&(this.updateBatchTableAttributes(),this.batchTableDirty=!1),this.batchTable&&this.batchTable.update(o),o.commandList.push(this.colorCommand)};$N.prototype.isDestroyed=function(){return!1};$N.prototype.destroy=function(){return this.shaderProgram=this.shaderProgram&&!this.shaderProgram.isDestroyed()&&this.shaderProgram.destroy(),this.vertexArray=this.vertexArray&&!this.vertexArray.isDestroyed()&&this.vertexArray.destroy(),this.material=this.material&&!this.material.isDestroyed()&&this.material.destroy(),this.batchTable=this.batchTable&&!this.batchTable.isDestroyed()&&this.batchTable.destroy(),this.colorCommand=void 0,this.vertexPackage=null,this.arrIndexPackage=null,this.modelMatrix=void 0,this.pickInfo=void 0,this.selectionInfoMap=void 0,this.vs=void 0,this.fs=void 0,Cesium.destroyObject(this)};var a$e=$N;var s$e=` in vec4 aPosition; in vec4 aColor; #ifdef TexCoord in vec4 aTexCoord0; uniform float uTexture0Width; out vec4 vTexCoord; out vec4 vTexMatrix; out vec4 vTexCoordTransform; #endif #ifdef VertexColor out vec4 vColor; #endif const float SHIFT_LEFT8 = 256.0; const float SHIFT_RIGHT8 = 1.0 / 256.0; const float SHIFT_RIGHT4 = 1.0 / 16.0; const float SHIFT_LEFT4 = 16.0; void getTextureMatrixFromZValue(in float nZ, inout float XTran, inout float YTran, inout float scale) { if(nZ <= 0.0) { return; } float nDel8 = floor(nZ * SHIFT_RIGHT8); float nDel16 = floor(nDel8 * SHIFT_RIGHT8); float nDel20 = floor(nDel16 * SHIFT_RIGHT4); YTran = nZ - nDel8 * SHIFT_LEFT8; XTran = nDel8 - nDel16 * SHIFT_LEFT8; float nLevel = nDel16 - nDel20 * SHIFT_LEFT4; scale = 1.0 / pow(2.0, nLevel); } void main() { #ifdef TexCoord vTexCoord.xy = aTexCoord0.xy; vTexMatrix = vec4(0.0,0.0,1.0,0.0); vTexCoordTransform.x = aTexCoord0.z; if(vTexCoordTransform.x < -90000.0) { vTexMatrix.z = -1.0; } getTextureMatrixFromZValue(floor(vTexCoordTransform.x), vTexMatrix.x, vTexMatrix.y, vTexMatrix.z); vTexMatrix.w = log2(uTexture0Width * vTexMatrix.z); #endif vec4 vertexPos = aPosition; #ifdef VertexColor vColor = aColor; #endif gl_Position = czm_modelViewProjection * vec4(vertexPos.xyz, 1.0); }`;var l$e=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif #ifdef GL_EXT_shader_texture_lod #extension GL_EXT_shader_texture_lod : enable #endif #ifdef TexCoord uniform sampler2D uTexture; uniform float uTexture0Width; in vec4 vTexCoord; in vec4 vTexCoordTransform; in vec4 vTexMatrix; #endif #ifdef VertexColor in vec4 vColor; #endif #ifdef TexCoord void calculateMipLevel(in vec2 inTexCoord, in float vecTile, in float fMaxMip, inout float mipLevel) { vec2 dx = dFdx(inTexCoord * vecTile); vec2 dy = dFdy(inTexCoord * vecTile); float dotX = dot(dx, dx); float dotY = dot(dy, dy); float dMax = max(dotX, dotY); float dMin = min(dotX, dotY); float offset = (dMax - dMin) / (dMax + dMin); offset = clamp(offset, 0.0, 1.0); float d = dMax * (1.0 - offset) + dMin * offset; mipLevel = 0.5 * log2(d); mipLevel = clamp(mipLevel, 0.0, fMaxMip - 1.62); } void calculateTexCoord(in vec3 inTexCoord, in float scale, in float XTran, in float YTran, in float fTile, in float mipLevel, inout vec2 outTexCoord) { if(inTexCoord.z < -9000.0) { outTexCoord = inTexCoord.xy; } else { vec2 fTexCoord = fract(inTexCoord.xy); float offset = 1.0 * pow(2.0, mipLevel) / fTile; fTexCoord = clamp(fTexCoord, offset, 1.0 - offset); outTexCoord.x = (fTexCoord.x + XTran) * scale; outTexCoord.y = (fTexCoord.y + YTran) * scale; } } vec4 getTexColorForS3M(sampler2D curTexture, vec3 oriTexCoord, float texTileWidth, float fMaxMipLev, float fTexCoordScale, vec2 vecTexCoordTranslate) { vec4 color = vec4(1.0); float mipLevel = 0.0; #ifdef GL_OES_standard_derivatives calculateMipLevel(oriTexCoord.xy, texTileWidth, fMaxMipLev, mipLevel); #endif vec2 realTexCoord; calculateTexCoord(oriTexCoord, fTexCoordScale, vecTexCoordTranslate.x, vecTexCoordTranslate.y, texTileWidth, mipLevel, realTexCoord); if(oriTexCoord.z < -9000.0) { color = texture(curTexture, realTexCoord.xy); } else { #ifdef GL_EXT_shader_texture_lod color = texture2DLodEXT(curTexture, realTexCoord.xy, mipLevel); #else color = texture(curTexture, realTexCoord.xy, mipLevel); #endif } return color; } vec4 getTextureColor() { if(vTexMatrix.z < 0.0) { return vec4(1.0); } float texTileWidth0 = vTexMatrix.z * uTexture0Width; vec3 realTexCoord = vec3(vTexCoord.xy, vTexCoordTransform.x); return getTexColorForS3M(uTexture, realTexCoord, texTileWidth0, vTexMatrix.w, vTexMatrix.z, vTexMatrix.xy); } #endif void main() { vec4 baseColorWithAlpha = vec4(1.0); #ifdef VertexColor vec4 baseColorWithAlpha = vColor; #endif #ifdef TexCoord baseColorWithAlpha *= getTextureColor(); #endif out_FragColor = baseColorWithAlpha; }`;function e3(o){SP.call(this,o),this.vs=s$e,this.fs=l$e}e3.prototype=Object.create(SP.prototype);e3.prototype.constructor=SP;function iyi(){return Cesium.RenderState.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Cesium.DepthFunction.LESS_OR_EQUAL},blending:Cesium.BlendingState.ALPHA_BLEND})}function ryi(o,A,f){return{uGeoMatrix:function(){return f.geoMatrix},uInverseGeoMatrix:function(){return f.invGeoMatrix},uTexture:function(){return o.textures[0]},uTexture0Width:function(){return o.textures[0].width}}}e3.prototype.createCommand=function(){if(Cesium.defined(this.colorCommand)||this.vertexBufferToCreate.length!==0||this.indexBufferToCreate.length!==0||this.shaderProgramToCreate.length!==0)return;let o=this.layer,A=o.context,f=this.vertexPackage,m=this.arrIndexPackage,C=f.vertexAttributes;if(m.length<1)return;let E=m[0],I=this.material;this.vertexArray=new Cesium.VertexArray({context:A,attributes:C,indexBuffer:E.indexBuffer}),this.colorCommand=new Cesium.DrawCommand({primitiveType:E.primitiveType,modelMatrix:this.modelMatrix,boundingVolume:Cesium.BoundingSphere.clone(this.boundingVolume),vertexArray:this.vertexArray,shaderProgram:this.shaderProgram,pass:I.bTransparentSorting?Cesium.Pass.TRANSLUCENT:Cesium.Pass.OPAQUE,renderState:iyi(),instanceCount:f.instanceCount}),this.colorCommand.uniformMap=ryi(I,o,this),this.vertexPackage=void 0,this.arrIndexPackage=void 0,this.vs=void 0,this.fs=void 0,this.ready=!0};e3.prototype.update=function(o,A){if(!this.ready){this.createBuffers(o),this.createShaderProgram(o),this.createCommand(o),this.initLayerSetting(A);return}o.commandList.push(this.colorCommand)};e3.prototype.isDestroyed=function(){return!1};e3.prototype.destroy=function(){return this.shaderProgram=this.shaderProgram&&!this.shaderProgram.isDestroyed()&&this.shaderProgram.destroy(),this.vertexArray=this.vertexArray&&!this.vertexArray.isDestroyed()&&this.vertexArray.destroy(),this.material=this.material&&!this.material.isDestroyed()&&this.material.destroy(),this.colorCommand=void 0,this.vertexPackage=null,this.arrIndexPackage=null,this.modelMatrix=void 0,this.pickInfo=void 0,this.selectionInfoMap=void 0,this.vs=void 0,this.fs=void 0,Cesium.destroyObject(this)};var A$e=e3;var nyi={OSGBFile:function(o){return new A$e(o)},OSGBCacheFile:function(o){return new a$e(o)}},u$e=nyi;function c$e(){}function oyi(o,A,f){let m={},C=A.materials.material;for(let E=0,I=C.length;E<I;E++){let x=C[E].material,y=x.id,v=new kie;m[y]=v;let w=x.ambient;v.ambientColor=new Cesium.Color(w.r,w.g,w.b,w.a);let Q=x.diffuse;v.diffuseColor=new Cesium.Color(Q.r,Q.g,Q.b,Q.a);let M=x.specular;v.specularColor=new Cesium.Color(M.r,M.g,M.b,M.a),v.shininess=x.shininess,v.bTransparentSorting=x.transparentsorting;let B=x.textureunitstates,D=B.length;for(let S=0;S<D;S++){let P=B[S].textureunitstate,R=P.id,T=P.addressmode.u===0?Cesium.TextureWrap.REPEAT:Cesium.TextureWrap.CLAMP_TO_EDGE,L=P.addressmode.v===0?Cesium.TextureWrap.REPEAT:Cesium.TextureWrap.CLAMP_TO_EDGE;v.texMatrix=Cesium.Matrix4.unpack(P.texmodmatrix);let F=A.texturePackage[R];if(Cesium.defined(F)&&F.arrayBufferView.byteLength>0){F.wrapS=T,F.wrapT=L;let U=f.fileName+R,N=o.textureCache.getTexture(U);if(!Cesium.defined(N)){if(Cesium.PixelFormat.isCompressedFormat(F.internalFormat))N=new XZe(o,R,F);else{let H=Cesium.Math.isPowerOfTwo(F.width)&&Cesium.Math.isPowerOfTwo(F.height);N=new Cesium.Texture({context:o,source:{width:F.width,height:F.height,arrayBufferView:F.arrayBufferView},sampler:new Cesium.Sampler({minificationFilter:H?o._gl.LINEAR_MIPMAP_LINEAR:o._gl.LINEAR,wrapS:T,wrapT:L})}),H&&N.generateMipmap(Cesium.MipmapHint.NICEST)}o.textureCache.addTexture(U,N)}v.textures.push(N)}}}return m}function ayi(o,A){let f=new Cesium.BoundingSphere,m=new Cesium.Cartesian3,C=o.vertexAttributes[0],E=C.componentsPerAttribute,I=Cesium.defined(o.compressOptions)&&(o.compressOptions&Mf.SVC_Vertex)===Mf.SVC_Vertex,x=1,y,v;I?(x=o.vertCompressConstant,y=new Cesium.Cartesian3(o.minVerticesValue.x,o.minVerticesValue.y,o.minVerticesValue.z),v=new Uint16Array(C.typedArray.buffer,C.typedArray.byteOffset,C.typedArray.byteLength/2)):v=new Float32Array(C.typedArray.buffer,C.typedArray.byteOffset,C.typedArray.byteLength/4);let w=[];for(let Q=0;Q<o.verticesCount;Q++)Cesium.Cartesian3.fromArray(v,E*Q,m),I&&(m=Cesium.Cartesian3.multiplyByScalar(m,x,m),m=Cesium.Cartesian3.add(m,y,m)),w.push(Cesium.Cartesian3.clone(m));return Cesium.BoundingSphere.fromPoints(w,f),Cesium.BoundingSphere.transform(f,A,f),w.length=0,f}function syi(o){let A=new Cesium.Cartesian3,f=new Cesium.BoundingSphere,m=o.instanceBounds;if(!Cesium.defined(m))return f;let C=new Cesium.Cartesian3(m[0],m[1],m[2]),E=new Cesium.Carteisan3(m[3],m[4],m[5]),I=new Cesium.Cartesian3.lerp(C,E,.5,A),x=new Cesium.Cartesian3.distance(I,C);return f.center=I,f.radius=x,f}function lyi(o,A){return o.instanceIndex>-1?syi(o):ayi(o,A)}function Ayi(o,A,f,m,C){let E=new Cesium.Matrix3,I={},x=m.geodes;for(let y=0,v=x.length;y<v;y++){let w=x[y],Q=w.matrix,M=Cesium.Matrix4.multiply(o.modelMatrix,Q,new Cesium.Matrix4),B;if(Cesium.defined(C.boundingVolume)){if(C.boundingVolume.sphere)B=new Cesium.BoundingSphere(C.boundingVolume.sphere.center,C.boundingVolume.sphere.radius),Cesium.BoundingSphere.transform(B,o.modelMatrix,B);else if(C.boundingVolume.box){let S=C.boundingVolume.box,P=new Cesium.Cartesian3(S.center.x,S.center.y,S.center.z),R=new Cesium.Cartesian4(S.xExtent.x,S.xExtent.y,S.xExtent.z,0),T=new Cesium.Cartesian4(S.yExtent.x,S.yExtent.y,S.yExtent.z,0),L=new Cesium.Cartesian4(S.zExtent.x,S.zExtent.y,S.zExtent.z,0),F=new Cesium.Matrix3;Cesium.Matrix3.setColumn(F,0,R,F),Cesium.Matrix3.setColumn(F,1,T,F),Cesium.Matrix3.setColumn(F,2,L,F),P=Cesium.Matrix4.multiplyByPoint(o.modelMatrix,P,P);let U=Cesium.Matrix4.getMatrix3(o.modelMatrix,E);F=Cesium.Matrix3.multiply(U,F,F),B=new Cesium.OrientedBoundingBox(P,F)}}let D=w.skeletonNames;for(let S=0,P=D.length;S<P;S++){let R=D[S],T=A.geoPackage[R],L=T.vertexPackage,F=T.arrIndexPackage,U=T.pickInfo,N;F.length>0&&(N=f[F[0].materialCode]);let H=lyi(L,M);I[R]=u$e[o.fileType]({layer:o,vertexPackage:L,arrIndexPackage:F,pickInfo:U,modelMatrix:M,geoMatrix:Q,boundingVolume:H,material:N,edgeGeometry:T.edgeGeometry,geoName:R})}}if(!(Object.keys(I).length<1)){if(!Cesium.defined(C.boundingVolume)){let y=[];for(let v in I)I.hasOwnProperty(v)&&y.push(I[v].boundingVolume);C.boundingVolume={sphere:Cesium.BoundingSphere.fromBoundingSpheres(y)}}C.geoMap=I}}function uyi(o,A,f){let m=A.groupNode,C=[];for(let E=0,I=m.pageLods.length;E<I;E++){let x={},y=m.pageLods[E];if(x.rangeMode=y.rangeMode,x.rangeDataList=y.childTile,x.rangeList=y.rangeList,y.obb)x.boundingVolume={box:{center:y.obb.obbCenter,xExtent:y.obb.xExtent,yExtent:y.obb.yExtent,zExtent:y.obb.zExtent}};else{let v=y.boundingSphere.center,w=y.boundingSphere.radius;x.rangeDataList!==""?x.boundingVolume={sphere:{center:new Cesium.Cartesian3(v.x,v.y,v.z),radius:w}}:x.isLeafTile=!0}Ayi(o,A,f,y,x),Cesium.defined(x.geoMap)&&C.push(x)}return C}c$e.parse=function(o,A,f){if(!Cesium.defined(A))return;let m=oyi(o.context,A,f);return uyi(o,A,m)};var h$e=c$e;var cyi={Distance:0,Pixel:1,GeometryError:2},t3=Object.freeze(cyi);function gp(o,A,f,m,C,E){this.layer=o,this.parent=A;let I=m.replace(/\\/g,"/");this.fileExtension=Cesium.getExtensionFromUri(m),this.relativePath=dyi(I,o),this.relativePath=this.relativePath.replace("data/path/data/path","data/path"),this.fileName=m,this.isLeafTile=C===0,this.isRootTile=!1,this.boundingVolume=this.createBoundingVolume(f,o.modelMatrix);let x=Cesium.Resource.createIfNeeded(o._baseResource);if(Cesium.defined(A))this.baseUri=A.baseUri;else{let y=new Cesium.Resource(I);this.baseUri=y.getBaseUri()}this.contentResource=x.getDerivedResource({url:this.relativePath}),this.serverKey=Cesium.RequestScheduler.getServerKey(this.contentResource.getUrlComponent()),this.request=void 0,this.cacheNode=void 0,this.distanceToCamera=0,this.centerZDepth=0,this.pixel=0,this.depth=A?A.depth+1:0,this.visibilityPlaneMask=0,this.visible=!1,this.children=[],this.renderEntities=[],this.lodRangeData=Cesium.defaultValue(C,16),this.lodRangeMode=Cesium.defaultValue(E,t3.Pixel),this.contentState=this.isLeafTile?Dv.READY:Dv.UNLOADED,this.touchedFrame=0,this.requestedFrame=0,this.processFrame=0,this.selectedFrame=0,this.updatedVisibilityFrame=0,this.foveatedFactor=0,this.priority=0,this.priorityHolder=this,this.wasMinPriorityChild=!1,this.shouldSelect=!1,this.selected=!1,this.finalResolution=!0,this.refines=!1}Object.defineProperties(gp.prototype,{renderable:{get:function(){let o=this.renderEntities,A=o.length;if(A===0)return!1;for(let f=0;f<A;f++)if(!o[f].ready)return!1;return!0}}});function hyi(o,A){let f=new Cesium.Cartesian3,m=Cesium.Cartesian3.clone(o.center),C=o.radius;m=Cesium.Matrix4.multiplyByPoint(A,m,m);let E=Cesium.Matrix4.getScale(A,f),I=Cesium.Cartesian3.maximumComponent(E);return C*=I,new Cesium.TileBoundingSphere(m,C)}function dyi(o,A){o=o.replace(/\+/g,"%2B");let f=A._basePath;if(!(A._basePath.indexOf("realspace")>-1))return o;let C=f.replace(/(.*realspace)/,"");return f.replace(/\/rest\/realspace/g,"").replace(C,"")+"/rest/realspace"+C+"data/path/"+o.replace(/^\.*/,"").replace(/^\//,"").replace(/\/$/,"")}function gyi(o,A){let f=new Cesium.Matrix3,m=new Cesium.Cartesian3;if(Cesium.defined(o.center)){let Q=new Cesium.Cartesian3(o.center.x,o.center.y,o.center.z),M=new Cesium.Cartesian4(o.xExtent.x,o.xExtent.y,o.xExtent.z,0),B=new Cesium.Cartesian4(o.yExtent.x,o.yExtent.y,o.yExtent.z,0),D=new Cesium.Cartesian4(o.zExtent.x,o.zExtent.y,o.zExtent.z,0),S=new Cesium.Matrix3;Cesium.Matrix3.setColumn(S,0,M,S),Cesium.Matrix3.setColumn(S,1,B,S),Cesium.Matrix3.setColumn(S,2,D,S),Q=Cesium.Matrix4.multiplyByPoint(A,Q,Q);let P=Cesium.Matrix4.getMatrix3(A,f);return S=Cesium.Matrix3.multiply(P,S,S),new Cesium.TileOrientedBoundingBox(Q,S)}let C=new Cesium.Cartesian3(o.min.x,o.min.y,o.min.z);Cesium.Matrix4.multiplyByPoint(A,C,C);let E=new Cesium.Cartesian3(o.max.x,o.max.y,o.max.z);Cesium.Matrix4.multiplyByPoint(A,E,E);let I=Cesium.BoundingSphere.fromCornerPoints(C,E,new Cesium.BoundingSphere),x=I.center,y=I.radius,v=Cesium.Matrix4.getScale(A,m),w=Cesium.Cartesian3.maximumComponent(v);return y*=w,new Cesium.TileBoundingSphere(x,y)}gp.prototype.createBoundingVolume=function(o,A){if(Cesium.defined(o.sphere))return hyi(o.sphere,A);if(Cesium.defined(o.box))return gyi(o.box,A)};gp.prototype.canTraverse=function(){return this.children.length===0||this.isLeafTile?!1:Cesium.defined(this.lodRangeData)?this.pixel>this.lodRangeData:!0};function cwe(o,A){return o.boundingVolume}gp.prototype.getPixel=function(o){let f=this.boundingVolume.boundingSphere,m=f.radius,C=f.center,E=Cesium.Cartesian3.distance(o.camera.positionWC,C),I=o.context.drawingBufferHeight,x=o.camera.frustum._fovy*.5;return I*.5/Math.tan(x)*m/E};gp.prototype.getGeometryError=function(o){let A=o.camera,f=this.layer.context.drawingBufferHeight,m=this.lodRangeData,C=this.boundingVolume.distanceToCamera(o);return m*f/(C*A.frustum.sseDenominator)};gp.prototype.distanceToTile=function(o){return cwe(this,o).distanceToCamera(o)};gp.prototype.distanceToTileCenter=function(o){let A=new Cesium.Cartesian3,m=cwe(this,o).boundingVolume,C=Cesium.Cartesian3.subtract(m.center,o.camera.positionWC,A);return Cesium.Cartesian3.dot(o.camera.directionWC,C)};gp.prototype.visibility=function(o,A){let f=cwe(this,o);return o.cullingVolume.computeVisibilityWithPlaneMask(f,A)};function fyi(o,A){let f=new Cesium.Cartesian3,m=A.camera,E=o.boundingVolume.boundingSphere,I=E.radius,x=Cesium.Cartesian3.multiplyByScalar(m.directionWC,o.centerZDepth,f),y=Cesium.Cartesian3.add(m.positionWC,x,f),v=Cesium.Cartesian3.subtract(y,E.center,f);if(Cesium.Cartesian3.magnitude(v)>I){let M=Cesium.Cartesian3.normalize(v,f),B=Cesium.Cartesian3.multiplyByScalar(M,I,f),D=Cesium.Cartesian3.add(E.center,B,f),S=Cesium.Cartesian3.subtract(D,m.positionWC,f),P=Cesium.Cartesian3.normalize(S,f);o.foveatedFactor=1-Math.abs(Cesium.Cartesian3.dot(m.directionWC,P))}else o.foveatedFactor=0}gp.prototype.updateVisibility=function(o,A){let f=this.parent,m=Cesium.defined(f)?f.visibilityPlaneMask:Cesium.CullingVolume.MASK_INDETERMINATE;this.distanceToCamera=this.distanceToTile(o),this.centerZDepth=this.distanceToTileCenter(o),this.pixel=this.getPixel(o),this.geometryError=this.getGeometryError(o),this.visibilityPlaneMask=this.visibility(o,m),this.visible=this.visibilityPlaneMask!==Cesium.CullingVolume.MASK_OUTSIDE&&this.distanceToCamera>=A.visibleDistanceMin&&this.distanceToCamera<=A.visibleDistanceMax,this.priorityDeferred=fyi(this,o)};function pyi(o){return function(){return o.priority}}function myi(o){return function(A){o.contentState=Dv.FAILED,o.contentReadyPromise&&o.contentReadyPromise.reject(A)}}function Cyi(o,A){let f=o.layer,m=A.length,C=Number.MAX_VALUE,E=0,I=t3.Pixel;for(let x=0;x<m;x++){let y=A[x],v=y.boundingVolume,w=y.rangeDataList;w=o.baseUri+w;let Q=y.rangeList,M=y.rangeMode,B=y.geoMap;if(Q!==0){let D=new gp(f,o,v,w,Q,M);o.children.push(D),f._cache.add(D)}for(let D in B)B.hasOwnProperty(D)&&o.renderEntities.push(B[D]);C=Math.min(C,Q),E=Math.max(E,Q),I=M}o.isRootTile&&(o.lodRangeData=I===t3.Pixel?C/2:E*2,o.lodRangeMode=I)}function Eyi(o,A,f){o._cache.add(A),eJ.s3tc=o.context.s3tc,eJ.pvrtc=o.context.pvrtc,eJ.etc1=o.context.etc1;let m=eJ.parseBuffer(f);if(!m){A.contentState=Dv.FAILED,A.contentReadyPromise.reject();return}let C=h$e.parse(o,m,A);Cyi(A,C),A.selectedFrame=0,A.contentState=Dv.READY,A.contentReadyPromise.resolve(m)}gp.prototype.requestContent=function(){let o=this,A=this.layer,f=this.contentResource.clone(),m=new Cesium.Request({throttle:!0,throttleByServer:!0,type:Cesium.RequestType.TILES3D,priorityFunction:pyi(this),serverKey:this.serverKey});this.request=m,f.request=m;let C=f.fetchArrayBuffer();if(!Cesium.defined(C))return!1;this.contentState=Dv.LOADING,this.contentReadyPromise=Cesium.when.defer();let E=myi(this);return C.then(function(I){if(o.isDestroyed()){E();return}Eyi(A,o,I)}).catch(function(I){if(m.state===Cesium.RequestState.CANCELLED){o.contentState=Dv.UNLOADED;return}E(I)}),!0};function Awe(o,A,f){return Math.max(Cesium.Math.normalize(o,A,f)-Cesium.Math.EPSILON7,0)}function uwe(o,A,f){let m=o*Math.pow(10,A);return parseInt(m)*Math.pow(10,f)}gp.prototype.updatePriority=function(o,A){let f=o._minimumPriority,m=o._maximumPriority,C=4,E=4,I=Awe(this.foveatedFactor,f.foveatedFactor,m.foveatedFactor),x=uwe(I,E,C);C=8;let y=Awe(this.pixel,f.pixel,m.pixel),v=uwe(1-y,E,C);C=0;let w=Awe(this.distanceToCamera,f.distance,m.distance),Q=uwe(w,E,C);this.priority=x+v+Q};gp.prototype.update=function(o,A){for(let f=0,m=this.renderEntities.length;f<m;f++)this.renderEntities[f].update(o,A)};gp.prototype.free=function(){this.contentState=Dv.UNLOADED,this.request=void 0,this.cacheNode=void 0,this.priorityHolder=void 0,this.contentReadyPromise=void 0,this.priorityHolder=void 0;for(let o=0,A=this.renderEntities.length;o<A;o++)this.renderEntities[o].destroy();this.renderEntities.length=0,this.children.length=0};gp.prototype.isDestroyed=function(){return!1};gp.prototype.destroy=function(){return this.free(),Cesium.destroyObject(this)};var d$e=gp;function g$e(){this._stack=[]}function Iyi(o,A){return A.distanceToCamera===0&&o.distanceToCamera===0?A.centerZDepth-o.centerZDepth:A.distanceToCamera-o.distanceToCamera}function xyi(o,A,f,m){let C,E=A.children,I=E.length;for(C=0;C<I;++C)C$e(m,o,E[C]);E.sort(Iyi);let x=!0,y=!1,v=-1,w=Number.MAX_VALUE,Q=!0;for(C=0;C<I;++C){let M=E[C];M.foveatedFactor<w&&(v=C,w=M.foveatedFactor),M.visible?(f.push(M),y=!0):(f$e(o,M,m),m$e(o,M,m),p$e(o,M,m));let B=M.renderable;Q&&(x=x&&B)}if(y||(x=!1),v!==-1){let M=E[v];M.wasMinPriorityChild=!0;let B=(A.wasMinPriorityChild||A.isRootTile)&&w<=A.priorityHolder.foveatedFactor?A.priorityHolder:A;for(B.foveatedFactor=Math.min(M.foveatedFactor,B.foveatedFactor),B.distanceToCamera=Math.min(M.distanceToCamera,B.distanceToCamera),C=0;C<I;++C){let D=E[C];D.priorityHolder=B}}return x}function yyi(o,A,f){A.selectedFrame===f.frameNumber||!A.renderable||(o._selectedTiles.push(A),A.selectedFrame=f.frameNumber)}function f$e(o,A,f){A.requestedFrame===f.frameNumber||A.contentState!==Dv.UNLOADED||(o._requestTiles.push(A),A.requestedFrame=f.frameNumber)}function p$e(o,A,f){A.processFrame===f.frameNumber||A.contentState!==Dv.READY||A.renderable||(A.processFrame=f.frameNumber,o._processTiles.push(A))}function m$e(o,A,f){A.touchedFrame!==f.frameNumber&&(o._cache.touch(A),A.touchedFrame=f.frameNumber)}function vyi(o,A,f){A.updatedVisibilityFrame!==f.frameNumber&&(A.updatedVisibilityFrame=f.frameNumber,A.updateVisibility(f,o))}function _yi(o,A,f){vyi(A,f,o)}function Byi(o,A){o._maximumPriority.distance=Math.max(A.distanceToCamera,o._maximumPriority.distance),o._minimumPriority.distance=Math.min(A.distanceToCamera,o._minimumPriority.distance),o._maximumPriority.depth=Math.max(A.depth,o._maximumPriority.depth),o._minimumPriority.depth=Math.min(A.depth,o._minimumPriority.depth),o._maximumPriority.foveatedFactor=Math.max(A.foveatedFactor,o._maximumPriority.foveatedFactor),o._minimumPriority.foveatedFactor=Math.min(A.foveatedFactor,o._minimumPriority.foveatedFactor),o._maximumPriority.pixel=Math.max(A.pixel,o._maximumPriority.pixel),o._minimumPriority.pixel=Math.min(A.pixel,o._minimumPriority.pixel)}function C$e(o,A,f){_yi(o,A,f),f.wasMinPriorityChild=!1,f.priorityHolder=f,Byi(A,f),f.shouldSelect=!1,f.selected=!1}function wyi(o,A){return A.children.length===0?!1:A.lodRangeMode===t3.Pixel?A.pixel/o.lodRangeScale>A.lodRangeData:A.lodRangeMode===t3.GeometryError?A.geometryError>16:A.distanceToCamera*o.lodRangeScale<A.lodRangeData}function byi(o,A,f){for(;A.length;){let m=A.pop(),C=m.parent,E=!Cesium.defined(C)||C.refines,I=!1;wyi(o,m)&&(I=xyi(o,m,A,f)&&E);let x=!I&&E;f$e(o,m,f),p$e(o,m,f),x&&yyi(o,m,f),m$e(o,m,f),m.refines=I}}function Qyi(o,A,f){A.length=0;for(let m=0,C=o._rootTiles.length;m<C;m++){let E=o._rootTiles[m];C$e(f,o,E),E.visible&&A.push(E)}}function Syi(o,A){let f=o._requestTiles,m=f.length;for(let C=0;C<m;++C)f[C].updatePriority(o,A)}g$e.prototype.schedule=function(o,A){let f=this._stack;Qyi(o,f,A),byi(o,f,A),Syi(o,A)};var E$e=g$e;var tJ=null;function i3(o){tJ=o,this._list=new tJ.DoublyLinkedList,this._sentinel=this._list.add(),this._trimTiles=!1}i3.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)};i3.prototype.touch=function(o){let A=o.cacheNode;tJ.defined(A)&&this._list.splice(this._sentinel,A)};i3.prototype.add=function(o){tJ.defined(o.cacheNode)||(o.cacheNode=this._list.add(o))};i3.prototype.unloadTile=function(o,A,f){let m=A.cacheNode;!tJ.defined(m)||(this._list.remove(m),A.cacheNode=void 0,f(o,A))};i3.prototype.unloadTiles=function(o,A){let f=this._trimTiles;this._trimTiles=!1;let m=this._list,C=o.maximumMemoryUsage*1024*1024,E=this._sentinel,I=m.head;for(;I&&I!==E&&(o.totalMemoryUsageInBytes>C||f);){let x=I.item;I=I.next,this.unloadTile(o,x,A)}};i3.prototype.trim=function(){this._trimTiles=!0};var I$e=i3;var Dyi={RESET:0,SetColor:1,SELECTED:2,HIDE:4,OFFSET:8,CLIP:16,BLOOM:32,ALL:255},iJ=Object.freeze(Dyi);var CI=null;function x$e(o){CI=o,this._fillForeColor=new CI.Color,this._lineColor=new CI.Color,this._lineWidth=1,this._bottomAltitude=0,this._pointSize=1,this._pointColor=new CI.Color}Object.defineProperties(x$e.prototype,{fillForeColor:{get:function(){return this._fillForeColor},set:function(o){CI.Check.typeOf.object("fillForeColor value",o),CI.Color.clone(o,this._fillForeColor)}},bottomAltitude:{get:function(){return this._bottomAltitude},set:function(o){CI.Check.typeOf.number("bottomAltitude value",o),this._bottomAltitude!==o&&(this._bottomAltitude=o,this._dirty=!0)}},altitudeMode:{get:function(){return this._altitudeMode},set:function(o){CI.Check.typeOf.number("altitudeMode value",o),this._altitudeMode=o}},lineColor:{get:function(){return this._lineColor},set:function(o){CI.Check.typeOf.object("line color",o),CI.Color.clone(o,this._lineColor)}},lineWidth:{get:function(){return this._lineWidth},set:function(o){CI.Check.typeOf.number("line width",o),this._lineWidth=o}},pointSize:{get:function(){return this._pointSize},set:function(o){CI.Check.typeOf.number("point size",o),this._pointSize=o}},pointColor:{get:function(){return this._pointColor},set:function(o){CI.Check.typeOf.object("point color",o),CI.Color.clone(o,this._pointColor)}}});var y$e=x$e;var _A=null;function Um(o,A,f){_A=f,o=_A.defaultValue(o,_A.defaultValue.EMPTY_OBJECT),_A.Check.defined("options.url",o.url),_A.Check.defined("options.context",o.scene),this.id=_A.createGuid(),this.name=o.name,this.scene=o.scene,this.context=this.scene._context,this.show=!0,this._url=void 0,this._basePath=void 0,this._baseResource=void 0,this.modelMatrix=new _A.Matrix4,this.invModelMatrix=new _A.Matrix4,this._visibleDistanceMax=_A.defaultValue(o.far,Number.MAX_VALUE),this._visibleDistanceMin=_A.defaultValue(o.near,0),this._lodRangeScale=_A.defaultValue(o.lodRangeScale,1),this._selectedColor=new _A.Color(1,0,0,1),this.fileType=void 0,this._position=void 0,this._rectangle=void 0,this._rootTiles=[],this._schuduler=new E$e,this._selections=[],this._objsOperationList={},this._requestTiles=[],this._processTiles=[],this._selectedTiles=[],this._cache=new I$e(_A),this._maximumMemoryUsage=-1,this._totalMemoryUsageInBytes=0,this._vertexCompressionType=void 0,this._style3D=new y$e(_A),this._maximumPriority={foveatedFactor:-Number.MAX_VALUE,depth:-Number.MAX_VALUE,distance:-Number.MAX_VALUE,pixel:-Number.MAX_VALUE},this._minimumPriority={foveatedFactor:Number.MAX_VALUE,depth:Number.MAX_VALUE,distance:Number.MAX_VALUE,pixel:Number.MAX_VALUE},this._readyPromise=_A.defer(),this.loadConfig(o.url),this.scene.primitives.add(this),this.readyPromise.promise.then(()=>{A&&A(this)}).catch(function(m){console.log(m)})}Object.defineProperties(Um.prototype,{ready:{get:function(){return this._rootTiles.length>0}},readyPromise:{get:function(){return this._readyPromise}},rectangle:{get:function(){return this._rectangle}},visibleDistanceMax:{get:function(){return this._visibleDistanceMax},set:function(o){_A.Check.typeOf.number("max visible distance",o),this._visibleDistanceMax=o}},visibleDistanceMin:{get:function(){return this._visibleDistanceMin},set:function(o){_A.Check.typeOf.number("min visible distance",o),this._visibleDistanceMin=o}},lodRangeScale:{get:function(){return this._lodRangeScale},set:function(o){_A.Check.typeOf.number("set layer lod range scale",o),this._lodRangeScale=o}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes},set:function(o){this._totalMemoryUsageInBytes=o}},maximumMemoryUsage:{get:function(){return this._maximumMemoryUsage},set:function(o){this._maximumMemoryUsage=o}},style3D:{get:function(){return this._style3D},set:function(o){this._style3D=o}}});Um.prototype.loadConfig=function(o,A){let f=this;Promise.all([o]).then(function(m){let C,E=_A.Resource.createIfNeeded(m);return C=E.getBaseUri(!0),f._url=E.url,f._basePath=C,f._baseResource=E,A?E.fetchXML():E.fetchJson()}).then(function(m){A&&(m=g6(m));let C=m.extensions;C?(f.fileType=C["s3m:FileType"],f._vertexCompressionType=C["s3m:VertexCompressionType"]):f.fileType=m.FileType;let E=m.position||m.Position,I=E.x||E.X,x=E.y||E.Y,y=E.z||E.Z;if(f._position=_A.Cartesian3.fromDegrees(I,x,y),f.modelMatrix=_A.Transforms.eastNorthUpToFixedFrame(f._position),f.invModelMatrix=_A.Matrix4.inverse(f.modelMatrix,f.invModelMatrix),m.heightRange?(f._minHeight=m.heightRange.min,f._maxHeight=m.heightRange.max):m.HeightRange&&(f._minHeight=m.HeightRange.MinHeight,f._maxHeight=m.HeightRange.MaxHeight),m.geoBounds?f._rectangle=_A.Rectangle.fromDegrees(m.geoBounds.left,m.geoBounds.bottom,m.geoBounds.right,m.geoBounds.top):f.viewPosition=_A.Cartesian3.fromDegrees(I,x,f._maxHeight),m.wDescript){let w=m.wDescript.range;f._minWValue=w.min,f._maxWValue=w.max}let v=m.tiles||m.rootTiles||m.OSGFiles&&m.OSGFiles.Files;for(let w=0,Q=v.length;w<Q;w++){let M=v[w];if(M){let B=M.url||M.FileName,D={box:M.boundingbox};M.BoundingSphere&&(D.sphere={radius:M.BoundingSphere.Radius,center:new _A.Cartesian3(M.BoundingSphere.CenterX,M.BoundingSphere.CenterY,M.BoundingSphere.CenterZ)});let S=new d$e(f,void 0,D,B);S.isRootTile=!0,f._cache.add(S),f._rootTiles.push(S)}}f._readyPromise.resolve(f)}).catch(function(m){A?f._readyPromise.reject(m):f.loadConfig(o,!0)})};Um.prototype._tranverseRenderEntity=function(o,A){let f=[];for(let m=0,C=this._rootTiles.length;m<C;m++){let E=this._rootTiles[m];f.push(E)}for(;f.length;){let m=f.pop();for(let C=0,E=m.renderEntities.length;C<E;C++){let I=m.renderEntities[C];I.ready&&A(I,o)}for(let C=0,E=m.children.length;C<E;C++)f.push(m.children[C])}};function Myi(o,A){o.updateObjsOperation(A.ids,A)}Um.prototype._updateObjsOperation=function(o){this._tranverseRenderEntity({ids:o},Myi)};Um.prototype._setObjsOperationType=function(o,A){_A.Check.defined("set Objs Operation ids",o),_A.Check.defined("set Objs Operation operationType",A),Array.isArray(o)||(o=[o]);let f=new _A.AssociativeArray,m;for(let C=0,E=o.length;C<E;C++){if(m=o[C],!_A.defined(m))continue;let I=_A.defaultValue(this._objsOperationList[m],0);I!==A&&(I=I|A,this._objsOperationList[m]=I,f.set(m,I))}f.length>0&&this._updateObjsOperation(f._hash)};Um.prototype._removeObjsOperationType=function(o,A){_A.Check.defined("set Objs Operation ids",o),Array.isArray(o)||(o=[o]);let f=iJ.ALL^A,m=new _A.AssociativeArray,C;for(let E=0,I=o.length;E<I;E++){C=o[E];let x=this._objsOperationList[C];!_A.defined(x)||(x&=f,x===iJ.RESET?delete this._objsOperationList[C]:this._objsOperationList[C]=x,m.set(C,x))}m.length>0&&this._updateObjsOperation(m._hash)};Um.prototype.releaseSelection=function(){this._selections.length<1||(this._removeObjsOperationType(this._selections,iJ.SELECTED),this._selections.length=0)};Um.prototype.setSelection=function(o){_A.Check.defined("setSelection ids",o),Array.isArray(o)||(o=[o]),this.releaseSelection(),this._selections=this._selections.concat(o),this._setObjsOperationType(o,iJ.SELECTED)};function Tyi(o,A){return o.priority-A.priority}function Pyi(o){let A=o._requestTiles,f=A.length;A.sort(Tyi);for(let m=0;m<f;++m)A[m].requestContent()}function Ryi(o,A){let f=o._processTiles,m=f.length;for(let C=0;C<m;++C)f[C].update(A,o)}function Lyi(o,A){let f=o._selectedTiles,m=f.length;for(let C=0;C<m;C++)f[C].update(A,o)}function Fyi(o,A){A.free()}function v$e(o){o._cache.unloadTiles(o,Fyi)}Um.prototype.prePassesUpdate=function(o){!this.ready||o.newFrame&&(this._cache.reset(),this._requestTiles.length=0,this._processTiles.length=0,this._selectedTiles.length=0)};Um.prototype.postPassesUpdate=function(o){!this.ready||v$e(this)};Um.prototype.update=function(o){!this.ready||!this.show||(this._schuduler.schedule(this,o),Pyi(this),Ryi(this,o),Lyi(this,o))};Um.prototype.isDestroyed=function(){return!1};Um.prototype.deleteObject=function(){this.scene.primitives.remove(this)};Um.prototype.destroy=function(){return this._cache.reset(),v$e(this),this._rootTiles.length=0,this._requestTiles.length=0,this._processTiles.length=0,this._selectedTiles.length=0,_A.destroyObject(this)};Um.prototype.setVisibility=function(o){this.show=o};var Uie=Um;var _$e=`// author: \u5F20\u4E39\u948A czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; if(plus && st.s < time && time - st.s <= 0.1){ material.alpha = 1.0 - (time - st.s) / 0.1; if(material.alpha < 0.3){ material.alpha = 0.3; material.diffuse = color.rgb; }else{ material.diffuse = lightSpotColor.rgb; } }else if(inverse && st.s < (1.0 - time) && (1.0 - time) - st.s <= 0.1){ material.alpha = ((1.0-time) - st.s) / 0.1; if(material.alpha < 0.3){ material.alpha = 0.3; material.diffuse = color.rgb; }else{ material.diffuse = lightSpotColor.rgb; } }else{ material.alpha = 0.3; material.diffuse = color.rgb; } return material; }`;var Si=null,B$e=new Map;function dn(o,A){this._viewer=o,this._cesium=A,Si=this._cesium}dn.prototype.defaultValue=function(o,A){return Jd(o,A)};dn.prototype.createRandomId=function(){return(Math.random()*1e7).toString(16).substr(0,4)+"-"+new Date().getTime()+"-"+Math.random().toString().substr(2,5)};dn.prototype.mouse=function(o,A,f){A==1?o.style.cursor="url("+f+"),auto":o.style.cursor="default"};dn.prototype.CreateTooltip=function(o={},A,f){var m,C,E,I,x;typeof o=="object"&&(m=o),m&&m.origin?(m.origin==="center"&&(C=15,E=-12),m.origin==="top"&&(C=15,E=-44),m.origin==="bottom"&&(C=15,E=20)):(C=15,E=20),m&&m.color?(m.color==="white"&&(I="background: rgba(255, 255, 255, 0.8);color: black;"),m.color==="black"&&(I="background: rgba(0, 0, 0, 0.5);color: white;"),m.color==="yellow"&&(I="color: black;background-color: #ffcc33;border: 1px solid white;")):I="background: rgba(0, 0, 0, 0.5);color: white;",m&&m.id?x="toolTip"+m.id:x="toolTip";var y=(this._viewer?this._viewer.container:document).querySelector("#"+x);if(!y){var v=document.createElement("div");$(".cesium-viewer").append(v);var w='<div id="'+x+'" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;'+I+'"></div>';$(".cesium-viewer").append(w),y=document.getElementById(x)}return f?(y.innerHTML=o,y.style.left=A.x+C+"px",y.style.top=A.y+E+"px",y.style.display="block"):y.style.display="none",{tooltip:y,style:m,showAt:function(Q,M){this.tooltip.innerHTML=M,this.style&&this.style.origin?(this.style.origin==="center"&&(C=15,E=-this.tooltip.offsetHeight/2),this.style.origin==="top"&&(C=15,E=-this.tooltip.offsetHeight-20),this.style.origin==="bottom"&&(C=15,E=20)):(C=15,E=-this.tooltip.offsetHeight/2),this.tooltip.style.left=Q.x+C+"px",this.tooltip.style.top=Q.y+E+"px",this.tooltip.style.display="block"},show:function(Q){Q?this.tooltip.style.display="block":this.tooltip.style.display="none"}}};dn.prototype.getWMTSData=function(o,A){RZe(o.url+"?service=WMTS&request=GetCapabilities",Si).then(f=>{let m=f.xmlObj,C,E,I,x={};if(o.gisserverTMS)C=g6(m),E=C.Contents&&C.Contents.Layer;else{let y=m.getElementsByTagName("Layer");for(let v=0,w;v<y.length;v++)if(w=y[v].getElementsByTagName("ows:Identifier"),w&&w[0]&&w[0].innerHTML===o.layer){m=y[v];break}E=g6(m)}if(E){let y=E.TileMatrixSetLink,v=E.WGS84BoundingBox;if(v){let Q=v.LowerCorner.split(" "),M=v.UpperCorner.split(" ");I=Si.BoundingSphere.fromPoints([Si.Cartesian3.fromDegrees(Q[0],Q[1]),Si.Cartesian3.fromDegrees(M[0],M[1])])}let w;if(o.gisserverTMS)w=y;else{let Q=o.srs||"EPSG:4326";w=y.filter(M=>M.TileMatrixSet===Q)[0]}w&&w.TileMatrixSetLimits&&w.TileMatrixSetLimits.TileMatrixLimits.forEach(Q=>{let M=Q.TileMatrix;M=M.split(":");let B=M[M.length-1];x[B]={maxCol:Q.MaxTileCol,minCol:Q.MinTileCol,maxRow:Q.MaxTileRow,minRow:Q.MinTileRow}})}A&&A({boundingSphere:I,TileMatrixLimits:x})})};dn.prototype.getPointToCameraDistance=function(o,A){let f;if(o.scene.mode===2){let m=o.camera.positionCartographic.clone();f=Si.Cartesian3.distance(A,Si.Cartesian3.fromRadians(m.longitude,m.latitude,m.height))}else f=this._cesium.Cartesian3.distance(A,o.camera.position);return f};dn.prototype.getPositionFromHR=function(o,A,f,m=0){var C=6378137,E=6356725,I=f*Math.sin(m*Math.PI/180),x=f*Math.cos(m*Math.PI/180),y=E+(C-E)*(90-A)/90,v=y*Math.cos(A*Math.PI/180),w=(I/v+o*Math.PI/180)*180/Math.PI,Q=(x/y+A*Math.PI/180)*180/Math.PI;return[w,Q]};dn.prototype.getPositionFromHPR=function(o,A,f=0,m=0){let C=Math.cos(Si.Math.toRadians(m))*A,E=Math.sin(Si.Math.toRadians(m))*A,I=this.getPositionFromHR(o[0],o[1],C,f);return{lon:I[0],lat:I[1],height:o[2]+E}};dn.prototype.CreateResultTooltip=function(o,A={}){var f,m,C;let E=A.id?"resultToolTip"+A.id:"resultToolTip";var I=document.getElementById(E);if(A.color?(A.color==="white"&&(C="background: rgba(255, 255, 255, 0.8);color: black;"),A.color==="black"&&(C="background: rgba(0, 0, 0, 0.5);color: white;"),A.color==="blue"&&(C="background: rgba(48, 119, 221);color: white;"),A.color==="yellow"&&(C="color: black;background-color: #ffcc33;border: 1px solid white;")):C="color: black;background-color: #ffcc33;border: 1px solid white;",!I){var x='<div id="'+E+'" class="resultToolTip" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;'+C+'"></div>';$(o.container).append(x),I=document.getElementById(E)}var y=A.addX||0,v=A.addY||0,w,Q=this;A.closeBtn&&(I.className="resultToolTip resultToolTipClose",I.onclick=()=>{I.style.display="none",w=void 0,A.close&&A.close()});function M(){if(w){if(A.far!==void 0||A.near!==void 0){let D=Q.getPointToCameraDistance(o,w);if(D>A.far){I.style.display="none";return}else if(D<A.near){I.style.display="none";return}else I.style.display="block"}var B=o.scene.cartesianToCanvasCoordinates(w);if(!B)return;f=-I.offsetWidth/2+y,m=-I.offsetHeight+v,I.style.left=B.x+f+"px",I.style.top=B.y+m+"px"}}return o.clock.onTick.addEventListener(M),{tooltip:I,position:w,showAt:function(B,D){if(this.tooltip.innerHTML=D,this.tooltip.style.display="block",this.position=B,w=B,w){var S=o.scene.cartesianToCanvasCoordinates(w);if(!S)return;f=-this.tooltip.offsetWidth/2+y,m=-this.tooltip.offsetHeight+v,this.tooltip.style.left=S.x+f+"px",this.tooltip.style.top=S.y+m+"px"}},show:function(B){B?(this.tooltip.style.display="block",w=this.position):(this.tooltip.style.display="none",w=void 0)},destroy(){o.clock.onTick.removeEventListener(M),I.remove()}}};dn.prototype.CombineEcharts=function(o,A,f){return this._CombineEcharts||(this._CombineEcharts=new QZe(o,Si)),this._CombineEcharts.setOption(A,f)};dn.prototype.getHeatmapData=function(o,A,f=600){let m=[];for(let C=0;C<f;C++){let E=Math.random()*(o.east-o.west)+o.west,I=Math.random()*(o.north-o.south)+o.south,x=A.value||Math.random()*(A.max-A.min)+A.min;m.push({x:E,y:I,value:x})}return m};dn.prototype.pickFromRay=function(o,A,f,m=[]){if(A.equals(f))return;let C=Si.Cartesian3.normalize(Si.Cartesian3.subtract(f,A,new Si.Cartesian3),new Si.Cartesian3),E=new Si.Ray(A,C);return o.scene.pickFromRay(E,m)};dn.prototype.openLocalFile=function(o={}){let A=document.createElement("input");A.accept=o.accept,A.type="file",o.multiple&&(A.multiple="multiple"),A.onchange=function(){if(typeof o.callback=="function"&&A.files.length)if(o.multiple){let f=[],m=[];for(let C=0;C<A.files.length;C++)f.push(URL.createObjectURL(A.files[C])),m.push(A.files[C]);o.callback(f,m)}else o.callback(URL.createObjectURL(A.files[0]),A.files[0])},A.click()};dn.prototype.openShapeFile=function(o,A){this.openLocalFile({multiple:!0,accept:".shp,.dbf",callback:(f,m)=>{let C=new Map;m.forEach((E,I)=>{let x=E.name.substring(0,E.name.length-4),y=C.get(x);y||(C.set(x,{shp:void 0,dbf:void 0}),y=C.get(x)),E.name.includes(".shp")?y.shp=f[I]:y.dbf=f[I]}),C.forEach((E,I)=>{E.shp?this.loadShpFile({shp:E.shp,dbf:E.dbf,encoding:A,fileName:I},o):console.error("\u8BF7\u9009\u62E9"+I+".shp\u6587\u4EF6")})}})};dn.prototype.loadShpFile=function({fileName:o,shp:A,dbf:f,encoding:m},C){return window.shapefile||new b0(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/shapefile.js"),shapefile.open(A,f,{encoding:m||"utf-8"}).then(E=>E.read().then(function I(x){if(!x.done)return Si.GeoJsonDataSource.load(x.value,{clampToGround:!0}).then(y=>{C&&o?C(o,y.entities.values[0]):C(y.entities.values[0])}),E.read().then(I)})).catch(E=>console.error(E.stack))};dn.prototype.getGifImageProperty=function(o,A=6){if(!o||o.indexOf(".gif")===-1)return o;window.SuperGif||new b0(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/libgif.js");let f=document.createElement("img");f.src=o,f.setAttribute("rel:animated_src",o),f.setAttribute("rel:auto_play","0"),document.body.appendChild(f);let m=new SuperGif({gif:f}),C=[];new Promise(I=>{m.load(()=>{for(let x=1;x<=m.get_length();x++)m.move_to(x),C.push(m.get_canvas().toDataURL());I(C)})});let E=0;return new Si.CallbackProperty(function(){return C.length?(E<A*(C.length-1)?E++:E=0,C[Math.floor(E/A)===C.length-1?0:Math.floor(E/A)]):o},!1)};dn.prototype.isDOM=function(o){return typeof HTMLElement=="object"?o instanceof HTMLElement:o&&typeof o=="object"&&o.nodeType===1&&typeof o.nodeName=="string"};dn.prototype.getJSON=function(o,A){let f=new XMLHttpRequest;f.responseType="json",f.open("get",o,!0),f.onload=function(){if(f.status>=200&&f.status<300)A(f.response);else throw new Error(f.statusText)},f.send()};dn.prototype.getPositionFromWKT=function(o){let A=o+"!",f,m=[];return A.indexOf("MULTIPOLYGON")>-1?(f=A.replace("MULTIPOLYGON(",""),f=f.replace(")!",""),f=f.split(")),(("),f.forEach((C,E)=>{let I;f.length===1?I=C.substring(1,C.length-1):E===0?I=C.substring(1,C.length)+")":E===f.length-1?I="("+C.substring(0,C.length-1):I="("+C+")",I=I.split("),("),I.forEach((x,y)=>{let v;I.length===1?v=x.substring(1,x.length-1):y===0?v=x.substring(1,x.length):y===I.length-1&&(v=x.substring(0,x.length-1)),v=v.split(",");let w=[];v.forEach(Q=>{let M=Q.split(" ");w.push(Si.Cartesian3.fromDegrees(M[0],M[1]))}),m.push(w)})})):A.indexOf("POLYGON")>-1&&(f=A.replace("POLYGON(",""),f=f.replace(")!",""),f=f.split("),("),f.forEach((C,E)=>{let I;f.length===1?I=C.substring(1,C.length-1):E===0?I=C.substring(1,C.length):E===f.length-1&&(I=C.substring(0,C.length-1)),I=I.split(",");let x=[];I.forEach(y=>{let v=y.split(" ");x.push(Si.Cartesian3.fromDegrees(v[0],v[1]))}),m.push(x)})),m};dn.prototype.VectorSlice=function(o){var A="EPSG:4490";o.port&&(A=o.port);var f={url:o.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:o.layer,STYLE:"",TILEMATRIX:A+":{z}",TILEMATRIXSET:A,FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:o.upperLevelLimit,lowerLevelLimit:o.lowerLevelLimit,rectangle:Si.Rectangle.fromDegrees(o.minx,o.miny,o.maxx,o.maxy)};return f};dn.prototype.arge=function(o,A,f,m="180",C=!1){let E=Math.sqrt(Math.pow(o.x-A.x,2)+Math.pow(o.y-A.y,2)),I=Math.sqrt(Math.pow(o.x-f.x,2)+Math.pow(o.y-f.y,2)),x=Math.sqrt(Math.pow(A.x-f.x,2)+Math.pow(A.y-f.y,2)),y=(Math.pow(E,2)+Math.pow(I,2)-Math.pow(x,2))/(2*E*I),v=Math.round(Math.acos(y)*180/Math.PI);if(m==="360"||m==="+-"){let w=C?-1:1;this.isClockwise([[A.x,w*A.y],[o.x,w*o.y],[f.x,w*f.y],[A.x,w*A.y]])||(m==="+-"?v=-v:v=360-v)}return v};dn.prototype.isClockwise=function(o){let A=Si.turf.lineString(o);return Si.turf.booleanClockwise(A)};dn.prototype.saveAs=function(o,A){window.saveAs||new b0(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/FileSaver.js"),saveAs(o,A)};dn.prototype.getEntityProp=function(o){let A=o.properties&&o.properties.getValue();return{id:o.id,properties:A}};dn.prototype.getEntityPropValue=function(o,A){let f=o.properties&&o.properties.getValue();return A.indexOf("[")>-1&&A.indexOf("]")>-1&&(A=A.replace("[","").replace("]","")),f&&f[A]};dn.prototype.setheight=function(o,A){var f=Si.Cartographic.fromCartesian(o);return Si.Cartesian3.fromRadians(f.longitude,f.latitude,A)};dn.prototype.setpolylineheight=function(o,A){let f=[];return o.forEach(function(m){var C=Si.Cartographic.fromCartesian(m);f.push(Si.Cartesian3.fromRadians(C.longitude,C.latitude,A))}),f};dn.prototype.StyleContrastGeoJson=function(o,A){var f={color:A.Color.WHITE,pixelSize:1,outlineColor:A.Color.BLACK,outlineWidth:0,show:!0,distanceDisplayCondition:new A.DistanceDisplayCondition(0,999999999)},m={id:"my label",text:"",font:"30px sans-serif",fillColor:A.Color.WHITE,outlineColor:A.Color.WHITE,outlineWidth:"10",scale:1,distanceDisplayCondition:new A.DistanceDisplayCondition(0,999999999)},C={show:!0,scale:1,width:void 0,height:void 0,pixelOffset:void 0,color:A.Color.WHITE,image:"",distanceDisplayCondition:new A.DistanceDisplayCondition(0,999999999)},E={positions:[],arcType:A.ArcType.GEODESIC,clampToGround:!0,width:1,show:!0,material:A.Color.RED,height:30},I={height:0,heightReference:A.HeightReference.NONE,show:!0,fill:!0,material:A.Color.WHITE,outline:!1,outlineColor:A.Color.BLACK,outlineWidth:1,stRotation:0,granularity:A.Math.RADIANS_PER_DEGREE,perPositionHeight:!1,closeTop:!0,closeBottom:!0,shadows:A.ShadowMode.ENABLED,clampToGround:!0};this.isnull(o.near)&&(o.near=0),this.isnull(o.far)&&(o.far=999999999);var x=parseFloat(o.near),y=parseFloat(o.far);return delete o.near,delete o.far,o.point!=null&&(o.point=this.extend(f,o.point,!0),o.point.distanceDisplayCondition=new A.DistanceDisplayCondition(x,y)),o.label!=null&&(o.label=this.extend(m,o.label,!0),o.label.distanceDisplayCondition=new A.DistanceDisplayCondition(x,y)),o.billboard!=null&&(o.billboard=this.extend(C,o.billboard,!0),o.billboard.distanceDisplayCondition=new A.DistanceDisplayCondition(x,y)),o.polyline!=null&&(o.polyline=this.extend(E,o.polyline,!0),o.polyline.distanceDisplayCondition=new A.DistanceDisplayCondition(x,y)),o.polygon!=null&&(o.polygon=this.extend(I,o.polygon,!0),o.polygon.distanceDisplayCondition=new A.DistanceDisplayCondition(x,y)),o};dn.prototype.getCatesian3FromPX=function(o,A,f,m){var C=A.scene.pick(o),E,I=A.scene.drillPick(o),x=null;if(m){for(var y=0;y<I.length;y++)if(I[y].id._id!=(m&&m[0]&&m[0].id)&&I[y].id._id!=(m&&m[1]&&m[1].id)){x=I[y].id;break}}else x=C;if(A.scene.pickPositionSupported&&f.defined(x))E=A.scene.pickPosition(o);else{var v=A.camera.getPickRay(o);if(!v)return;E=A.scene.globe.pick(v,A.scene)}return E};dn.prototype.StyleContrast=function(o,A,f){var m={text:"",font:" 30px sans-serif",style:f.LabelStyle.FILL_AND_OUTLINE,fillColor:f.Color.WHITE,outlineColor:f.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new f.Color(.165,.165,.165,.8),backgroundPadding:new f.Cartesian2(7,5),scale:1,horizontalOrigin:f.HorizontalOrigin.CENTER,verticalOrigin:f.VerticalOrigin.CENTER,eyeOffset:f.Cartesian3.ZERO,pixelOffset:f.Cartesian2.ZERO,heightReference:f.HeightReference.NONE,scaleByDistance:void 0,distanceDisplayCondition:void 0},C={show:!0,position:f.Cartesian3.ZERO,pixelOffset:f.Cartesian2.ZERO,eyeOffset:f.Cartesian3.ZERO,heightReference:f.HeightReference.NONE,horizontalOrigin:f.HorizontalOrigin.CENTER,verticalOrigin:f.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:f.Color.WHITE,rotation:0,alignedAxis:f.Cartesian3.ZERO,width:void 0,height:void 0,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0},E={show:!0,pixelSize:1,heightReference:f.HeightReference.NONE,color:f.WHITE,outlineColor:f.Color.BLACK,outlineWidth:1,scaleByDistance:void 0,translucencyByDistance:void 0,distanceDisplayCondition:void 0},I={positions:[],width:5,material:f.Color.ALICEBLUE,arcType:f.ArcType.GEODESIC},x={polygonHierarchy:new f.PolygonHierarchy(f.Cartesian3.fromDegreesArray([-72,40,-70,35,-75,30,-70,30,-68,40])),height:0,extrudedHeight:0,material:"rgba(245, 20, 20, 0.91)"};this.isnull(A.near)&&(A.near=0),this.isnull(A.far)&&(A.far=999999999);var y=parseFloat(A.near),v=parseFloat(A.far);return delete A.near,delete A.far,A.distanceDisplayCondition=new f.DistanceDisplayCondition(y,v),o=="lable"?A=this.extend(m,A,!0):o=="billboard"?A=this.extend(C,A,!0):o=="point"?A=this.extend(E,A,!0):o=="polyline"?A=this.extend(I,A,!0):o=="polygon"&&(A=this.extend(x,A,!0)),A};dn.prototype.createPolyline=function(o,A,f,m){var C=null;if(A==-1){var E=new m.PolylineGeometry(o);C=new m.GeometryInstance({id:f,geometry:E})}else{var E=new m.GroundPolylineGeometry(o);C=new m.GeometryInstance({geometry:E,id:f})}return C};dn.prototype.createPolygon=function(o,A,f,m){var C=null,E=o.material,I=new m.PolygonGeometry(o);return delete o.material,C=new m.GeometryInstance({id:f,geometry:I,attributes:{color:new m.ColorGeometryInstanceAttribute.fromColor(E)}}),C};dn.prototype.coordinate=function(o,A){for(var f=0;f<A.length;f++)Array.isArray(A[f])?this.coordinate(o,A[f]):o.push(A[f]);return o};dn.prototype.Analysis=function(o,A){if(/^\[/.test(o)&&/\]$/.test(o)){var f=o.replace(/\[/,"").replace(/\]/,"");A.properties[f]!=null&&(o=A.properties[f])}return o};dn.prototype.unique=function(o){for(var A=[],f=0;f<o.length;f++)A.indexOf(o[f])===-1&&A.push(o[f]);return A};dn.prototype.extend=function(o,A,f=!1,m=!1){for(var C in A)m?o.hasOwnProperty(C)&&(o[C]=A[C]):(!o.hasOwnProperty(C)||f)&&(o[C]=A[C]);return o};dn.prototype.setPositionOffset=(o,A,f)=>{let m=Si.Transforms.headingPitchRollToFixedFrame(o,f||new Si.HeadingPitchRoll),C=new Si.Cartesian3(0,0,0);return Si.Matrix4.multiplyByPoint(m,A,C),C};dn.prototype.getOffsetTilingScheme=function(o="GCJ02"){let A,f;return o==="GCJ02"&&(A=new Si.WebMercatorTilingScheme,f=new Si.WebMercatorProjection,A._projection.project=function(m,C){return C=XBe.WGS84ToGCJ02(Si.Math.toDegrees(m.longitude),Si.Math.toDegrees(m.latitude)),C=f.project(new Si.Cartographic(Si.Math.toRadians(C[0]),Si.Math.toRadians(C[1]))),new Si.Cartesian2(C.x,C.y)},A._projection.unproject=function(m,C){let E=f.unproject(m);return C=XBe.GCJ02ToWGS84(Si.Math.toDegrees(E.longitude),Si.Math.toDegrees(E.latitude)),new Si.Cartographic(Si.Math.toRadians(C[0]),Si.Math.toRadians(C[1]))}),A};dn.prototype.trackedEntity=function(o,A,f={}){let m={type:"tracked",heading:0,pitch:-45,distance:1e3,minDistance:0};Object.assign(m,f);let C,E,I;if(m.tooltip){let v={innerHTML:"",drag:!1,near:0,far:1e3,addX:0,addY:0};m.tooltip=Object.assign(v,m.tooltip);let w=`<div id="trackedTooltip${A.id}" style="display: none;pointer-events: none;position: absolute;z-index: 1000;"><div class="trackedTooltipContainer"></div></div>`;if($(o.container).append(w),C=document.getElementById("trackedTooltip"+A.id),E=C.firstElementChild,E.innerHTML=m.tooltip.innerHTML,E.style.left=m.tooltip.addX+"px",E.style.top=m.tooltip.addY+"px",E.style.position="relative",m.tooltip.drag){I=document.createElement("div"),I.className="trackedTooltip-arrow",C.appendChild(I);let Q,M,B,D,S=(P,R)=>{let T;Q=Math.sqrt(Math.pow(P,2)+Math.pow(R,2)),M=-(Q-P)/2+"px",B=-R/2+"px",P?(T=Si.Math.toDegrees(Math.atan(R/P)),P<0&&(M=(Q+P)/2-Q+"px")):R>0?T=90:T=-90,D=`rotate(${T}deg)`};S(m.tooltip.addX,m.tooltip.addY),I.style.cssText=` position: absolute; bottom: ${B}; left: ${M}; width: ${Q}px; height: 0px; transform: ${D}; border-top: 2px dashed #f00; `,E.style.pointerEvents="all",E.addEventListener("mousedown",function(P){let R=P.pageX-E.offsetLeft,T=P.pageY-E.offsetTop,L,F;document.onmousemove=U=>{L=U.pageX-R,F=U.pageY-T,E.style.left=L+"px",E.style.top=F+"px",S(L,F),I.style.width=`${Q}px`,I.style.left=M,I.style.bottom=B,I.style.transform=D},document.onmouseup=U=>{document.onmousemove=null}})}}this.endTrackedEntity&&this.endTrackedEntity(),m.start&&typeof m.start=="function"&&m.start();let x=new Si.ScreenSpaceEventHandler(o.scene.canvas),y;if(m.type==="setView"){y=()=>{let B=o.clock.currentTime.clone(),D=A.position.getValue(B);if(o.scene.camera.setView({destination:D,orientation:{heading:Si.Math.toRadians(m.heading),pitch:Si.Math.toRadians(m.pitch)}}),o.scene.camera.moveBackward(m.distance),m.tooltip){m.distance<=m.tooltip.far&&m.distance>=m.tooltip.near?C.style.display="block":C.style.display="none";let S=o.scene.cartesianToCanvasCoordinates(D);if(!S)return;C.style.left=S.x+"px",C.style.top=S.y-C.offsetHeight+"px"}m.position=D,m.update&&typeof m.update=="function"&&m.update()},o.scene.preRender.addEventListener(y);let v,w,Q,M;x.setInputAction(B=>{v={position:B.position,heading:m.heading,pitch:m.pitch}},Si.ScreenSpaceEventType.LEFT_DOWN),x.setInputAction(B=>{v=void 0},Si.ScreenSpaceEventType.LEFT_UP),x.setInputAction(B=>{v&&(w=B.endPosition,Q=w.x-v.position.x,M=w.y-v.position.y,m.heading=v.heading+Q/8,m.pitch=v.pitch-M/6)},Si.ScreenSpaceEventType.MOUSE_MOVE),x.setInputAction(B=>{m.distance-=B*m.distance/1e3,m.distance<m.minDistance&&(m.distance=m.minDistance)},Si.ScreenSpaceEventType.WHEEL)}else m.viewFrom&&(A.viewFrom=m.viewFrom),o.trackedEntity=A;return x.setInputAction(v=>{this.endTrackedEntity&&this.endTrackedEntity()},Si.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),this.endTrackedEntity=()=>{x&&x.destroy(),o.trackedEntity=void 0,y&&o.scene.preRender.removeEventListener(y),C&&C.remove(),C=void 0,y=void 0,x=void 0,m.end&&typeof m.end=="function"&&m.end()},m.destroy=this.endTrackedEntity,m.updataTooltip=v=>{E.innerHTML=m.tooltip.innerHTML=v},m};dn.prototype.getPointFromWindowPoint=function(o,A){if(A.scene.terrainProvider.constructor.name=="EllipsoidTerrainProvider")return A.camera.pickEllipsoid(o,A.scene.globe.ellipsoid);var f=A.scene.camera.getPickRay(o);return A.scene.globe.pick(f,A.scene)};dn.prototype.isnull=function(o){return o==null||o==null||o===""};dn.prototype.getuid=function(){return this.uuid(8,16)};dn.prototype.extendgl=function(o,A,f){return A!=null&&A!=null?(typeof A=="string"&&A.charAt(0)=="["&&A.charAt(A.length-1)=="]"&&(A=A.substr(0,A.length-1),A=A.substr(1),o.properties[A]._value!=null?A=o.properties[A]._value:o.properties[A]!=null&&(A=o.properties[A])),A):f};dn.prototype.customGeometry=function(o){if(o.scale)for(let f=0;f<o.position.length-2;f+=3)o.position[f]*=o.scale[0],o.position[f+1]*=o.scale[1],o.position[f+2]*=o.scale[2];return new Si.Geometry({attributes:{position:new Si.GeometryAttribute({componentDatatype:Si.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:o.position}),st:new Si.GeometryAttribute({componentDatatype:Si.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:o.st})},indices:o.indices,primitiveType:o.grid?Si.PrimitiveType.LINES:Si.PrimitiveType.TRIANGLES,boundingSphere:o.boundingSphere})};dn.prototype.getLevel=function(o){let A=0,f=o.scene.globe._surface._tilesToRender;return f&&f.forEach(m=>{m.level>A&&(A=m.level)}),A};dn.prototype.getViewRectangle=function(o){let A=o.camera.computeViewRectangle();return this.toDegreesRectangle(A)};dn.prototype.toDegreesRectangle=function(o){let A=new Si.Rectangle;return A.west=Si.Math.toDegrees(o.west),A.north=Si.Math.toDegrees(o.north),A.east=Si.Math.toDegrees(o.east),A.south=Si.Math.toDegrees(o.south),A};dn.prototype.getCenterOfMass=function(o){let A=[],f=0;if(o[0].x){let E;o.forEach(I=>{E=this.toDegrees(I),A.push([E.lon,E.lat]),f+=E.height})}else o[0].lon?o.forEach(E=>{A.push([E.lon,E.lat]),f+=E.height||0}):Array.isArray(o[0])&&(A=o,o.forEach(E=>{f+=E[2]||0}));let m=turf.polygon([A]),C=turf.pointOnFeature(m);return f/=o.length,C.geometry.coordinates[2]=f,C.geometry.coordinates};dn.prototype.addPickStage=function(o,A="rgba(255,0,0,0.6)"){let f=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; uniform vec4 highlight; void main() { vec4 color = texture(colorTexture, v_textureCoordinates); if (czm_selected()) { vec3 highlighted = highlight.a * highlight.rgb + (1.0 - highlight.a) * color.rgb; out_FragColor = vec4(highlighted, 1.0); } else { out_FragColor = color; } } `,m=o.scene.postProcessStages.add(new Si.PostProcessStage({fragmentShader:f,uniforms:{highlight:function(){return new Si.Color.fromCssColorString(A)}}}));return m.selected=[],{select(C){!C.color&&C.content?C=C.content.tile:C.id instanceof Si.Entity&&(C=C.id),m.selected=[C],this.changeOtherHighlight()},changeOtherHighlight(){let C=m.selected[0];C&&(C instanceof Si.Cesium3DTile?C.defaultColor?(C.color=C.defaultColor,C.defaultColor=null):(C.defaultColor=C.color&&C.color.clone(),C.color=Si.Color.RED):C instanceof Si.Entity||C.primitive instanceof Uie&&(C.primitive._selections.length?C.primitive.releaseSelection():C.primitive.setSelection(C.id)))},remove(){this.changeOtherHighlight(),m.selected=[]},destroy(){o.scene.postProcessStages.remove(m)}}};dn.prototype.addLoading=function(o,A){let f=document.createElement("div");f.id="cesiumLoading",f.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let m=document.createElement("img");return m.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",m.src=A||window.SmartEarthRootUrl+kr.loading,f.appendChild(m),o.appendChild(f),{isLoading(C){C?f.style.display="block":f.style.display="none"},remove(){f&&f.remove(),f=null}}};dn.prototype.uuid=function(o,A){var f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),m=[],C,m=[],C;if(A=A||f.length,o)for(C=0;C<o;C++)m[C]=f[0|Math.random()*A];else{var E;for(m[8]=m[13]=m[18]=m[23]="-",m[14]="4",C=0;C<36;C++)m[C]||(E=0|Math.random()*16,m[C]=f[C==19?E&3|8:E])}return m.join("")};dn.prototype.Shaders=function(o){var A="";return o=="VSHADER_SOURCE "?A=`in vec4 a_Position; in vec2 a_TexCoord; uniform mat4 u_MvpMatrix; out vec2 v_TexCoord; void main(){ gl_Position = u_MvpMatrix * a_Position; v_TexCoord = a_TexCoord; } `:o=="TRIANGLE_FSHADER_SOURCE"?A=`#ifdef GL_ES precision mediump float; #endif in vec4 v_Color; void main() { out_FragColor = v_Color; '} `:o=="TRIANGLE_VSHADER_SOURCE"?A=`in vec4 a_Position; in vec4 a_Normal; uniform mat4 u_MvpMatrix; uniform mat4 u_NormalMatrix; out vec4 v_Color; void main() { vec3 lightDirection = vec3(0.0, 0.0, 1.0); vec4 color = vec4(1.0, 1.0, 0.0, 1.0); gl_Position = u_MvpMatrix * a_Position; vec3 normal = normalize(vec3(u_NormalMatrix * a_Normal)); float nDotL = max(dot(normal, lightDirection), 0.0); v_Color = vec4(color.rgb * nDotL, color.a); } `:o=="vertexShaderSource"?A=`in vec3 position3DHigh;\r in vec3 position3DLow;\r in vec3 normal;\r in vec2 st;\r in vec4 color;\r in float batchId;\r out vec3 v_positionEC;\r out vec3 v_normalEC;\r out vec2 v_st;\r out vec4 v_color;\r void main()\r {\r vec4 p = czm_computePosition();\r v_positionEC = (czm_modelViewRelativeToEye * p).xyz;\r v_normalEC = czm_normal * normal;\r v_st = st;\r v_color = color;\r gl_Position = czm_modelViewProjectionRelativeToEye * p;\r }\r `:o=="fragmentShaderSource"&&(A=`in vec3 v_positionEC;\r in vec3 v_normalEC;\r in vec2 v_st;\r in vec4 v_color;\r \r vec4 czm_phong(vec3 toEye, czm_material material)\r {\r float diffuse = czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 0.0, 1.0), material);\r if (czm_sceneMode == czm_sceneMode3D) {\r diffuse += czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 1.0, 0.0), material);\r }\r float specular = czm_private_getSpecularOfMaterial(czm_sunDirectionEC, toEye, material) + czm_private_getSpecularOfMaterial(czm_moonDirectionEC, toEye, material);\r vec3 materialDiffuse = material.diffuse * 0.5;\r vec3 ambient = materialDiffuse;\r vec3 color = ambient + material.emission;\r color += materialDiffuse * diffuse;\r color += material.specular * specular;\r return vec4(color, material.alpha);\r }void main()\r {\r vec3 positionToEyeEC = -v_positionEC;\r vec3 normalEC = normalize(v_normalEC);\r #ifdef FACE_FORWARD\r normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\r #endif\r vec4 color = czm_gammaCorrect(v_color);\r czm_materialInput materialInput;\r materialInput.normalEC = normalEC;\r materialInput.positionToEyeEC = positionToEyeEC;\r materialInput.st = v_st;\r czm_material material = czm_getDefaultMaterial(materialInput);\r material.diffuse = color.rgb;\r material.alpha = color.a;\r #ifdef FLAT\r out_FragColor = vec4(material.diffuse + material.emission, material.alpha);\r #else\r out_FragColor = czm_phong(normalize(positionToEyeEC), material);\r #endif\r }\r `),A};dn.prototype.isHtmlColor=function(o){var A=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/;return A.test(o)};dn.prototype.isUrl=function(o){if(this.isnull(o))return!1;var A=/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;return A.test(o)};dn.prototype.dateTimespan=function(){var o=new Date;return o.toTimeString()};dn.prototype.getPointFromTwoPointCenter=function(o,A,f){let m=this.getSpaceDistancem(o,Si);if(m<A)return;let C=o[0],E=o[1],I=Si.Cartographic.fromCartesian(C),x=Si.Math.toDegrees(I.longitude),y=Si.Math.toDegrees(I.latitude),v=I.height,w=Si.Cartographic.fromCartesian(E),Q=Si.Math.toDegrees(w.longitude),M=Si.Math.toDegrees(w.latitude),B=w.height,D=parseFloat(m/A),S=Si.Math.lerp(x,Q,1/D)-x,P=Si.Math.lerp(y,M,1/D)-y,R=Si.Math.lerp(v,B,1/D)-v;return Si.Cartesian3.fromDegrees(x+S,y+P,f||v+R)};dn.prototype.getSpaceDistance=function(o,A){for(var f=0,m="",C=0;C<o.length-1;C++){var E=A.Cartographic.fromCartesian(o[C]),I=A.Cartographic.fromCartesian(o[C+1]),x=new A.EllipsoidGeodesic;x.setEndPoints(E,I);var y=x.surfaceDistance;y=Math.sqrt(Math.pow(y,2)+Math.pow(I.height-E.height,2)),f=f+y}return f>=1e3?m=(f/1e3).toFixed(2)+"\u5343\u7C73":m=f.toFixed(2)+"\u7C73",m};dn.prototype.getSpaceDistancem=function(o,A){for(var f=0,m=0;m<o.length-1;m++){var C=A.Cartographic.fromCartesian(o[m]),E=A.Cartographic.fromCartesian(o[m+1]),I=new A.EllipsoidGeodesic;I.setEndPoints(C,E);var x=I.surfaceDistance;x=Math.sqrt(Math.pow(x,2)+Math.pow(E.height-C.height,2)),f=f+x}return f.toFixed(2)};dn.prototype.getHorizontalDistance=function(o,A){for(var f=0,m=0;m<o.length-1;m++){var C=A.Cartographic.fromCartesian(o[m]),E=A.Cartographic.fromCartesian(o[m+1]),I=new A.EllipsoidGeodesic;I.setEndPoints(C,E);var x=I.surfaceDistance;f=f+x}return f>=1e3?f=(f/1e3).toFixed(2)+"\u5343\u7C73":f=f.toFixed(2)+"\u7C73",f};dn.prototype.getPointsInPolygon=function(o,A=50,f=!0){if(o.length<3)return;o.push(o[0]);let m=Si.turf.lineString(o),C=Si.turf.bbox(m),E=Si.turf.pointGrid(C,A,{units:"meters"}),I=Si.turf.polygon([o]),x=Si.turf.pointsWithinPolygon(E,I);if(f)for(let y=0;y<o.length-1;y++){let v=Si.turf.lineString([o[y],o[y+1]]),w={units:"meters"},Q=Si.turf.length(v,w),M;for(let B=A;;B+=A)if(B<=Q)M=Si.turf.along(v,B,w),x.features.push(M);else{M=Si.turf.along(v,Q,w),x.features.push(M);break}}return x};dn.prototype.tinFromPoints=function(o,A={}){let{polygon:f,getArea:m}=A,C=Si.turf.tin(o),E=0;return C&&C.features&&C.features.forEach(I=>{let x=!0;if(f){let y=Si.turf.centerOfMass(I);x=Si.turf.booleanPointInPolygon(y,f)}if(x){let y=I.geometry.coordinates[0],v=[],w=[];for(let Q=0;Q<3;Q++)v.push([y[Q][0],y[Q][1]]),w.push(Si.Cartesian3.fromDegrees(y[Q][0],y[Q][1],y[Q][2]));I.positions=w,m&&(I.area=this.getArea(v,w,!0),E+=I.area)}}),{tin:C,area:E}};dn.prototype.getSpaceArea=function(o,A,f={}){let m=this.defaultValue(f.distance,50),C=this.defaultValue(f.onlyTerrain,!1),E=this.defaultValue(f.isNum,!1),I=this.getPointsInPolygon(A,m,!0),x=Si.turf.polygon([A]),y=()=>{let{tin:v,area:w}=this.tinFromPoints(I,{getArea:!0,polygon:x});return E?{area:w,tin:v}:(w<1e6?w=w.toFixed(2)+"\u5E73\u65B9\u7C73":w=(w/1e6).toFixed(2)+"\u5E73\u65B9\u5343\u7C73",{area:w,tin:v})};if(C){let v=[];return I.features.forEach(w=>{let Q=w.geometry.coordinates;v.push(Si.Cartographic.fromDegrees(Q[0],Q[1]))}),this.getHeightsFromLonLat(o,v).then(w=>(I.features.forEach((Q,M)=>{let B=Q.geometry.coordinates;B[2]=w[M]||0}),y()))}else return I.features.forEach(v=>{let w=v.geometry.coordinates,Q=new Si.Cartographic(Si.Math.toRadians(w[0]),Si.Math.toRadians(w[1])),M=o.scene.sampleHeight(Q)||0;w[2]=M}),y()};dn.prototype.starPositions=function(o,A,f){for(var m=Math.PI/o,C=[],E=0;E<2*o;E++){var I=E%2===0?A:f,x=new Si.Cartesian2(Math.cos(E*m)*I,Math.sin(E*m)*I);C.push(x)}return C};dn.prototype.computeCircle=function(o){let A=B$e.get(o);if(A)return A;A=[];for(let f=0;f<360;f+=12){let m=Si.Math.toRadians(f);A.push(new Si.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return B$e.set(o,A),A};dn.prototype.getArea=function(o,A,f){if(o.length<3)return;let m=[];m=m.concat(o,[o[0]]);var C=0;let E=Si.turf.polygon([m]),I;m.length===4?I=[E]:I=Si.turf.tesselate(E).features;let x,y,v,w;return I.forEach(Q=>{x=Q.geometry.coordinates[0],y=m.findIndex(P=>P.toString()===x[0].toString()),v=m.findIndex(P=>P.toString()===x[1].toString()),w=m.findIndex(P=>P.toString()===x[2].toString());let M=this.getdistance(A[y],A[v]),B=this.getdistance(A[v],A[w]),D=this.getdistance(A[y],A[w]),S=(M+B+D)/2;C+=Math.sqrt(S*((S-M)*(S-B)*(S-D)))}),f||(C<1e6?C=C.toFixed(2)+"\u5E73\u65B9\u7C73":C=(C/1e6).toFixed(2)+"\u5E73\u65B9\u5343\u7C73"),C};dn.prototype.getdistance=function(o,A){var f=Si.Cartographic.fromCartesian(o),m=Si.Cartographic.fromCartesian(A),C=new Si.EllipsoidGeodesic;C.setEndPoints(f,m);var E=C.surfaceDistance;return E=Math.sqrt(Math.pow(E,2)+Math.pow(m.height-f.height,2)),E};dn.prototype.Angle=function(o,A,f){var m=this.Bearing(A,o),C=this.Bearing(A,f),E=m-C;return E<0&&(E+=360),E};dn.prototype.Bearing=function(o,A){var f=Math.PI/180,m=180/Math.PI,C=o.lat*f,E=o.lon*f,I=A.lat*f,x=A.lon*f,y=-Math.atan2(Math.sin(E-x)*Math.cos(I),Math.cos(C)*Math.sin(I)-Math.sin(C)*Math.cos(I)*Math.cos(E-x));return y<0&&(y+=Math.PI*2),y=y*m,y};dn.prototype.getHeight=function(o,A){try{if(o.length>1){var f=A.Cartographic.fromCartesian(o[0]),m=A.Cartographic.fromCartesian(o[1]),C=(m.height-f.height)/1e3;return C.toFixed(2)}else return 0}catch(E){console.log(E)}};dn.prototype.getPmfx=function(o,A,f,m,C,E){var I={gcs:[],min:99999,max:0,juli:0,cys:A},x=this.getSpaceDistancem(o,m);I.juli=x,f==0||(A=parseInt(x/f)),I.cys=A;var y=[],v=o[0],w=o[o.length-1],Q=m.Cartographic.fromCartesian(v),M=m.Math.toDegrees(Q.longitude),B=m.Math.toDegrees(Q.latitude),D=Q.height,S=m.Cartographic.fromCartesian(w),P=m.Math.toDegrees(S.longitude),R=m.Math.toDegrees(S.latitude),T=S.height,L=A,F=m.Math.lerp(M,P,1/L)-M,U=m.Math.lerp(B,R,1/L)-B,N=[],H=[],J;N.push(Q);for(var K=0;K<L;K++){var X=M+(K+1)*F,j=B+(K+1)*U;J=m.Cartesian3.fromDegrees(X,j),N.push(m.Cartographic.fromCartesian(J))}var ee=this;this.getHeightsFromLonLat(C,N).then(ie=>{if(ie){H=ie;var z=!1;for(C.scene.globe.depthTestAgainstTerrain!==!0&&(C.scene.globe.depthTestAgainstTerrain=!0,z=!0),K=0;K<H.length;K++){var oe=ee.get3DTileOrPrimitivesHeights(N[K],C);oe!==void 0&&(H[K]=oe);var le=H[K].toFixed(2);parseFloat(le)<parseFloat(I.min)&&(I.min=parseFloat(le)),parseFloat(le)>parseFloat(I.max)&&(I.max=parseFloat(le)),I.gcs.push(le)}z&&(C.scene.globe.depthTestAgainstTerrain=!1),E!=""&&E!=null&&typeof E=="function"&&E(I)}})};dn.prototype.getPmfxPro=function(o,A,f,m,C,E){let I=this,x={gcs:[],min:99999,max:0,juli:0,cys:0},y=[],v=[];for(let Q=0;Q<o.length-1;Q++){let M=I.getSpaceDistancem([o[Q],o[Q+1]],m);M=parseFloat(M),x.juli+=M,f==0||(A=parseInt(M/f)),v.push(A),x.cys+=A}let w=()=>{v.forEach((M,B)=>{let D=o[B],S=o[B+1],P=m.Cartographic.fromCartesian(D),R=m.Math.toDegrees(P.longitude),T=m.Math.toDegrees(P.latitude),L=m.Cartographic.fromCartesian(S),F=m.Math.toDegrees(L.longitude),U=m.Math.toDegrees(L.latitude),N=M,H=m.Math.lerp(R,F,1/N)-R,J=m.Math.lerp(T,U,1/N)-T,K;B===0&&y.push(P);for(let X=0;X<N;X++){let j=R+(X+1)*H,ee=T+(X+1)*J;K=m.Cartesian3.fromDegrees(j,ee),y.push(m.Cartographic.fromCartesian(K))}}),y.push(m.Cartographic.fromCartesian(o[o.length-1]));let Q=[];x.allPoint=y,this.getHeightsFromLonLat(C,y).then(M=>{if(M){Q=M;let B=C.scene.globe.depthTestAgainstTerrain;C.scene.globe.depthTestAgainstTerrain=!0;for(let D=0;D<Q.length;D++){let S=I.get3DTileOrPrimitivesHeights(y[D],C);S!==void 0&&(Q[D]=S);let P=Q[D].toFixed(2);parseFloat(P)<parseFloat(x.min)&&(x.min=parseFloat(P)),parseFloat(P)>parseFloat(x.max)&&(x.max=parseFloat(P)),x.gcs.push(P)}C.scene.globe.depthTestAgainstTerrain=B,E&&typeof E=="function"&&E(x)}})};x.cys>1e3?layuiLayer&&layuiLayer.msg("\u5F53\u524D\u91C7\u6837\u70B9\u6570\u8FC7\u591A\uFF0C\u662F\u5426\u7EE7\u7EED\u5206\u6790\uFF1F",{time:0,btn:["\u7EE7\u7EED","\u53D6\u6D88"],btnAlign:"c",yes:Q=>{layuiLayer.close(Q),setTimeout(()=>{w()},10)},btn2:()=>{E&&typeof E=="function"&&E(x)}}):setTimeout(()=>{w()},10)};dn.prototype.get3DTileOrPrimitivesHeights=function(o,A){return A.scene.sampleHeight(o)};dn.prototype.getHeightsFromLonLat=function(o,A){var f=[];return o.terrainProvider?o.terrainProvider instanceof Si.EllipsoidTerrainProvider?new Promise(function(m,C){A.forEach(E=>{f.push(0)}),m(f)}):Si.sampleTerrainMostDetailed(o.terrainProvider,A).then(C=>(C.forEach(function(E){f.push(E.height)}),f),()=>(A.forEach(C=>{f.push(o.scene.globe.getHeight(C))}),f)):new Promise(function(m,C){A.forEach(E=>{f.push(o.scene.globe.getHeight(E))}),m(f)})};dn.prototype.getColorRamp=function(o,A,f,m){var C=[0,.05,.2,.35,.5,.65,.8,.95,1],E=[],I=[0,0,.2,.4,.6,.8,.9,1,1],x=document.createElement("canvas");x.width=100,x.height=1;var y=x.getContext("2d"),v;o==="elevation"?v=C:o==="slope"?v=E:o==="aspect"&&(v=I),A||(A=["#0b0b88","#2747E0","#D33B7D","#D33038","#FF9742","#ffd700","#bbff00"]);var w=y.createLinearGradient(0,0,100,0);if(o==="slope"){f===void 0&&(f=0),m===void 0&&(f=90),f==0?E.push(0):(E.push(f/90),w.addColorStop(0,"#000000"));var Q=(m-f)/6;if(m==90){for(var M=1;M<=5;M++)E.push((f+M*Q)/90);E.push(1),E.forEach(function(B,D){w.addColorStop(B,A[D])})}else{for(var M=1;M<=5;M++)E.push((f+M*Q)/90);E.push(m/90),E.forEach(function(B,D){w.addColorStop(B,A[D])}),w.addColorStop(1,"#000000")}}else w.addColorStop(v[0],"#000000"),w.addColorStop(v[1],A[0]),w.addColorStop(v[2],A[1]),w.addColorStop(v[3],A[2]),w.addColorStop(v[4],A[3]),w.addColorStop(v[5],A[4]),w.addColorStop(v[6],A[5]),w.addColorStop(v[7],A[6]),w.addColorStop(v[8],"#000000");return y.fillStyle=w,y.fillRect(0,0,100,1),x};dn.prototype.Gauss_to_XY=function(o,A,f,m){var C=6378137,E=63567523142e-4,I=Math.sqrt(C*C-E*E)/C,x=Math.sqrt(C*C-E*E)/E,y=0,v=0,y=0,v=0,w=0,Q=0,M=this.to_Radian(f);A=this.to_Radian(A),o=this.to_Radian(o);var B=o-M,D=Math.cos(A);Q=this.to_N(A),w=Q*Math.cos(A),y=Math.tan(A),v=x*D;var S=Math.pow(y,2),P=Math.pow(y,4),R=Math.pow(v,2),T=Math.pow(v,4),L=Math.pow(D,3),F=Math.pow(D,5),U=this.to_Sm(A)+Math.pow(B,2)/2*w*D*y+Math.pow(B,4)/24*y*w*L*(5-S+9*R+4*T)+Math.pow(B,6)/720*y*w*F*(61-58*y*y+P+270*R-330*y*y*R),N=B*Q*D+Math.pow(B,3)/6*Q*L*(1-y*y+v*v)+Math.pow(B,5)/120*Q*F*(5-18*y*y+P+14*R-58*R*S);return new m.Cartesian2(N,U)};dn.prototype.to_Radian=function(o){return o*Math.PI/180};dn.prototype.to_N=function(o){var A=6378137,f=63567523142e-4,m=Math.sqrt(A*A-f*f)/A,C=Math.sqrt(A*A-f*f)/f,E=A/Math.sqrt(1-m*m*Math.sin(o)*Math.sin(o));return E};dn.prototype.to_Sm=function(o){var A=6378137,f=63567523142e-4,m=Math.sqrt(A*A-f*f)/A,C=Math.sqrt(A*A-f*f)/f,E,I,x,y,v;return E=1+m*m*3/4+Math.pow(m,4)*45/64+Math.pow(m,6)*175/256+Math.pow(m,8)*11025/16384,I=Math.pow(m,2)*3/4+Math.pow(m,4)*15/16+Math.pow(m,6)*525/512+Math.pow(m,8)*2205/2048,x=Math.pow(m,4)*15/64+Math.pow(m,6)*105/256+Math.pow(m,8)*2205/4096,y=Math.pow(m,6)*35/512+Math.pow(m,8)*315/2048,v=Math.pow(m,8)*315/16384,A*(1-m*m)*(E*o-I/2*Math.sin(2*o)+x/4*Math.sin(4*o)-y/6*Math.sin(6*o)+v/8*Math.sin(8*o))};dn.prototype.ElevationAngle=function(o,A,f){function m(S,P){for(var R=0,T=0;T<S.length-1;T++){var L=P.Cartographic.fromCartesian(S[T]),F=P.Cartographic.fromCartesian(S[T+1]),U=new P.EllipsoidGeodesic;U.setEndPoints(L,F);var N=U.surfaceDistance;N=Math.sqrt(Math.pow(N,2)+Math.pow(F.height-L.height,2)),R=R+N}return R}function C(S,P){for(var R=0,T=0;T<S.length-1;T++){var L=P.Cartographic.fromCartesian(S[T]),F=P.Cartographic.fromCartesian(S[T+1]),U=new P.EllipsoidGeodesic;U.setEndPoints(L,F);var N=U.surfaceDistance;R=R+N}return R}function E(S,P){try{if(S.length>1){var R=P.Cartographic.fromCartesian(S[0]),T=P.Cartographic.fromCartesian(S[1]),L=T.height-R.height;return L}else return 0}catch(F){console.log(F)}}var I=f.Cartographic.fromCartesian(o),x=f.Cartographic.fromCartesian(A),y=I.height-(I.height-x.height),v=f.Cartesian3.fromDegrees(f.Math.toDegrees(x.longitude),f.Math.toDegrees(x.latitude),I.height),w=parseFloat(m([o,A],f)),Q=parseFloat(C([o,v],f)),M=parseFloat(E([v,A],f)),B=M/w,D=Math.asin(B)*180/3.14;return D};dn.prototype.TwoPointAzimuth=function(o,A,f,m){var C=0,E=function(M){return M*Math.PI/180},I=Math.round(.5+A*36e4),x=Math.round(.5+m*36e4),y=Math.round(.5+o*36e4),v=Math.round(.5+f*36e4);if(A=E(A),o=E(o),m=E(m),f=E(f),I===x&&y===v)return C;if(y===v)I>x&&(C=180);else{var w=Math.acos(Math.sin(m)*Math.sin(A)+Math.cos(m)*Math.cos(A)*Math.cos(f-o)),Q=Math.asin(Math.cos(m)*Math.sin(f-o)/Math.sin(w));C=Q*180/Math.PI,x>I&&v>y||(x<I&&v<y||x<I&&v>y?C=180-C:x>I&&v<y&&(C+=360))}return C};dn.prototype.twoPointsHeadingPitchRoll=function(o,A,f){let m=new Si.Camera(o.scene);m.position=A,m.direction=Si.Cartesian3.subtract(f,A,new Si.Cartesian3),m.up=Si.Cartesian3.normalize(A,new Si.Cartesian3);let C=Si.Cartesian3.distance(A,f),E=Si.Cartesian3.normalize(Si.Cartesian3.subtract(f,A,new Si.Cartesian3),new Si.Cartesian3);m.direction=E,m.frustum.near=0,m.frustum.far=C;let{heading:I,pitch:x,roll:y}=m;return m=null,{heading:I,pitch:x,roll:y,radius:C}};dn.prototype.ThreePointAzimuth=function(o,A,f,m){var C=6371e3,E=Math.PI/180,I=180/Math.PI,x=m.Cartographic.fromCartesian(o),y=m.Cartographic.fromCartesian(A),v=m.Cartographic.fromCartesian(f);A=m.Cartesian3.fromDegrees(m.Math.toDegrees(y.longitude),m.Math.toDegrees(y.latitude),x.height),f=m.Cartesian3.fromDegrees(m.Math.toDegrees(v.longitude),m.Math.toDegrees(v.latitude),x.height),y=m.Cartographic.fromCartesian(A),v=m.Cartographic.fromCartesian(f);function w(B,D,S){var P=Q(D,B),R=Q(D,S),T=P-R;return T<0&&(T+=360),T}function Q(B,D){var S=B.latitude*E,P=B.longitude*E,R=D.latitude*E,T=D.longitude*E,L=-Math.atan2(Math.sin(P-T)*Math.cos(R),Math.cos(S)*Math.sin(R)-Math.sin(S)*Math.cos(R)*Math.cos(P-T));return L<0&&(L+=Math.PI*2),L=L*I,L}var M=w(x,y,v);return M};dn.prototype.setDepthTest=function(o,A){o==="open"&&this.defaultDepthTest===void 0?(this.defaultDepthTest=!!A.scene.globe.depthTestAgainstTerrain,A.scene.globe.depthTestAgainstTerrain=!0):o==="close"&&this.defaultDepthTest!==void 0&&(A.scene.globe.depthTestAgainstTerrain=!!this.defaultDepthTest,this.defaultDepthTest=void 0)};dn.prototype.setImageMaterialProperty=function(o,A,f,m){this.id=m;var C=this,E=document.createElement("canvas");E.id=this.id+"-a",E.width=700,E.height=100;var I=document.createElement("canvas");I.id=this.id+"-b",I.width=700,I.height=100,document.body.appendChild(E),document.body.appendChild(I),o&&(C.images=o);var x=new A.CallbackProperty(function(y,v){var w=document.getElementById(C.id+"-"+C.curCanvas),Q=700,M=100,B=w.getContext("2d"),D=new Image;return D.src=C.images,B.clearRect(0,0,Q,M),D.onload=function(){C.i<=Q?(B.drawImage(D,C.i,0),B.drawImage(D,C.i+100,0)):C.i=0,C.i+=5},C.curCanvas=C.curCanvas==="a"?"b":"a",w},!1);return f==1&&(x=new A.CallbackProperty(function(y,v){var w=C,Q=document.getElementById(C.id+"-"+C.curCanvas),M=700,B=100,D=Q.getContext("2d"),S=D.createLinearGradient(0,100,0,0);return S.addColorStop(0,"red"),C.i>1&&(C.i=1),S.addColorStop(C.i,"rgb(255,0,0,0.6)"),S.addColorStop(1,"rgb(255,0,0,0.1)"),D.clearRect(0,0,700,100),D.fillStyle=S,D.fillRect(0,0,700,100),C.i<1?C.i+=.01:C.i=0,C.curCanvas=C.curCanvas==="a"?"b":"a",Q},!1)),new A.ImageMaterialProperty({image:x,transparent:!0})};dn.prototype.setDrawCanvasImage=function(o,A){var f=document.getElementById("canvas-"+curCanvas),m=700,C=100,E=f.getContext("2d"),I=new Image;return I.src=images,E.clearRect(0,0,m,C),I.onload=function(){i<=m?(E.drawImage(I,i,0),E.drawImage(I,i+100,0)):i=0,i+=5},curCanvas=curCanvas==="a"?"b":"a",f};dn.prototype.setDrawCanvasColorUpdown=function(o,A){var f=document.getElementById("canvas-"+curCanvas),m=700,C=100,E=f.getContext("2d"),I=E.createLinearGradient(0,100,0,0);return I.addColorStop(0,"red"),i>1&&(i=1),I.addColorStop(i,"rgb(255,0,0,0.6)"),I.addColorStop(1,"rgb(255,0,0,0.1)"),E.clearRect(0,0,700,100),E.fillStyle=I,E.fillRect(0,0,700,100),i<1?i+=.01:i=0,curCanvas=curCanvas==="a"?"b":"a",f};dn.prototype.toDegrees=function(o){let A=Si.Cartographic.fromCartesian(o);return{lon:Si.Math.toDegrees(A.longitude),lat:Si.Math.toDegrees(A.latitude),height:A.height}};dn.prototype.fromDegrees=function(o){return Si.Cartesian3.fromDegrees(o.lon,o.lat,o.height)};dn.prototype.LineInterpolation=function(o,A){let f,m,C=!1;A.positions?f=A.positions:f=A,m=A.num||100,A.getHeight&&(C=!0);let E={positions:[],cartographic:[],lon_lat:[],height:[]};for(let y=0;y<f.length-1;y++){let v=this.toDegrees(f[y]),w=this.toDegrees(f[y+1]);I(v.lon,v.lat,w.lon,w.lat)}function I(y,v,w,Q){let M=Si.Math.lerp(y,w,1/m)-y,B=Si.Math.lerp(v,Q,1/m)-v;E.lon_lat.push(y,v);let D;if(C){D=x(y,v),E.height.push(D),E.positions.push(Si.Cartesian3.fromDegrees(y,v,D));for(let S=0;S<m;S++){let P=y+(S+1)*M,R=v+(S+1)*B;E.lon_lat.push(P,R),D=x(P,R),E.height.push(D),E.positions.push(Si.Cartesian3.fromDegrees(P,R,D))}E.lon_lat.push(w,Q),D=x(w,Q),E.height.push(D),E.positions.push(Si.Cartesian3.fromDegrees(w,Q,D))}else{E.positions.push(Si.Cartesian3.fromDegrees(y,v));for(let S=0;S<m;S++){let P=y+(S+1)*M,R=v+(S+1)*B;E.lon_lat.push(P,R),E.positions.push(Si.Cartesian3.fromDegrees(P,R))}E.lon_lat.push(w,Q),E.positions.push(Si.Cartesian3.fromDegrees(w,Q))}}function x(y,v){let w=Si.Cartographic.fromDegrees(y,v);return o.scene.globe.getHeight(w)}return E};dn.prototype.CIMServerTool=function(o){return new SZe(o)};dn.prototype.Recorder=function(o,A){return this._Recorder?(this._Recorder.mediaOutputPath=this.defaultValue(o,"test.mp4"),A&&(this._Recorder.videoBPS=A)):this._Recorder=new DZe(o,A),this._Recorder};dn.prototype.getLinkMaterial=function(o,A,f){if(!Si.PolylineLinkMaterialProperty){let m=function(C,E,I){this._definitionChanged=new Si.Event,this._color=void 0,this._colorSubscription=void 0,this.color=C,this.lightSpotColor=E,this.duration=I,this.old=void 0,this._time=new Date().getTime()};Object.defineProperties(m.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Si.createPropertyDescriptor("color")}),m.prototype.getType=function(C){return"PolylineLink"},m.prototype.getValue=function(C,E){return Si.defined(E)||(E={}),E.color=Si.Property.getValueOrClonedDefault(this._color,C,Si.Color.WHITE,E.color),E.lightSpotColor=this.lightSpotColor,E.time=(new Date().getTime()-this._time)%this.duration/this.duration,this.old===void 0&&(this.old=E.time),this.old>.5&&E.time<.5&&(E.plus=!E.plus,E.inverse=!E.inverse),this.old=E.time,E.plus?E.time=E.time*1.1:E.time=E.time*1.2-.1,E},m.prototype.equals=function(C){return this===C||C instanceof m&&Si.Property.equals(this._color,C._color)},Si.PolylineLinkMaterialProperty=m,Si.Material.PolylineLinkType="PolylineLink",Si.Material.PolylineLinkSource=_$e,Si.Material._materialCache.addMaterial(Si.Material.PolylineLinkType,{fabric:{type:Si.Material.PolylineLinkType,uniforms:{color:new Si.Color(1,0,0,.5),lightSpotColor:new Si.Color(1,1,1,.5),time:0,plus:!0,inverse:!1},source:Si.Material.PolylineLinkSource},translucent:function(C){return!0}})}return new Si.PolylineLinkMaterialProperty(Si.Color.fromCssColorString(this.defaultValue(o,"#0000ff")),Si.Color.fromCssColorString(this.defaultValue(A,"#ffffff")),this.defaultValue(f,3e3))};dn.prototype.getTrailLinkMaterial=function(o,A,f){return new bZe(o,A,f,this._cesium)};dn.prototype.getConeRadarMaterial=function(o){if(!Si.ConeRadarMaterialProperty){let A=function(f,m){this._definitionChanged=new Si.Event,this._color=void 0,this._colorSubscription=void 0,this.color=f,this.duration=m,this._time=new Date().getTime()};Object.defineProperties(A.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Si.createPropertyDescriptor("color")}),A.prototype.getType=function(f){return"ConeRadar"},A.prototype.getValue=function(f,m){return Si.defined(m)||(m={}),m.color=Si.Property.getValueOrClonedDefault(this._color,f,Si.Color.WHITE,m.color),m.time=(new Date().getTime()-this._time)%this.duration/this.duration,m},A.prototype.equals=function(f){return this===f||f instanceof A&&Si.Property.equals(this._color,f._color)},Si.ConeRadarMaterialProperty=A,Si.Material.ConeRadarType="ConeRadar",Si.Material.ConeRadarSource=` float ripple(float dist, float rippleIntensity, float rippleScale) { return rippleScale * ((sin(dist * rippleIntensity - czm_frameNumber/10.0)-0.9) / (dist * rippleIntensity)); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); material.alpha = 0.0; float intensity = step(0.001,ripple(dis, 80.0, 15.0)); if(intensity == 1.0) { material.alpha = 1.0; } return material; }`,Si.Material._materialCache.addMaterial(Si.Material.ConeRadarType,{fabric:{type:Si.Material.ConeRadarType,uniforms:{color:new Si.Color(1,0,0,.5),time:0},source:Si.Material.ConeRadarSource},translucent:function(f){return!0}})}return new Si.ConeRadarMaterialProperty(Si.Color.fromCssColorString(this.defaultValue(o,"#0000ff")),3e3)};dn.prototype.getMultiCircleScanMaterial=function(o,A){if(!Si.CircleScanMultiMaterialProperty){let f=function(m,C){this._definitionChanged=new Si.Event,this._color=void 0,this._colorSubscription=void 0,this.color=m,this.u_radius1=0,this.u_radius2=0,this.u_radius3=0,this.duration=C,this._time=new Date().getTime()};Object.defineProperties(f.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Si.createPropertyDescriptor("color")}),f.prototype.getType=function(m){return"CircleScanMulti"},f.prototype.getValue=function(m,C){return Si.defined(C)||(C={}),C.color=Si.Property.getValueOrClonedDefault(this._color,m,Si.Color.WHITE,C.color),C.time=(new Date().getTime()-this._time)%this.duration/this.duration,C.time<1/3&&this.u_radius2===0&&this.u_radius1===0?this.u_radius3=C.time:C.time>=1/3&&C.time<2/3&&this.u_radius1===0?(this.u_radius3=C.time,this.u_radius2=this.u_radius3-1/3):C.time>=2/3?(this.u_radius3=C.time,this.u_radius2=this.u_radius3-1/3,this.u_radius1=this.u_radius3-2/3):C.time<1/3&&this.u_radius2!==0&&this.u_radius1!==0?(this.u_radius1=C.time,this.u_radius2=C.time+1/3,this.u_radius3=C.time+2/3):C.time>=1/3&&C.time<2/3&&this.u_radius1!==0&&(this.u_radius1=C.time-1/3,this.u_radius2=C.time,this.u_radius3=C.time+1/3),C.u_radius1=this.u_radius1,C.u_radius2=this.u_radius2,C.u_radius3=this.u_radius3,C},f.prototype.equals=function(m){return this===m||m instanceof f&&Si.Property.equals(this._color,m._color)},Si.CircleScanMultiMaterialProperty=f,Si.Material.CircleScanMultiType="CircleScanMulti",Si.Material.CircleScanMultiSource=`czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); dis = dis * 2.0; if(dis < u_radius1) { float f = dis / u_radius1; material.alpha = pow(f, 9.0); }else if(dis < u_radius2){ float f = dis / u_radius2; material.alpha = pow(f, 9.0); }else if(dis < u_radius3){ float f = dis / u_radius3; material.alpha = pow(f, 9.0); }else{ material.alpha = 0.0; } return material; }`,Si.Material._materialCache.addMaterial(Si.Material.CircleScanMultiType,{fabric:{type:Si.Material.CircleScanMultiType,uniforms:{color:new Si.Color(1,0,0,1),time:0,u_radius1:0,u_radius2:0,u_radius3:0},source:Si.Material.CircleScanMultiSource},translucent:function(m){return!0}})}return new Si.CircleScanMultiMaterialProperty(Si.Color.fromCssColorString(this.defaultValue(o,"#ff0000")),this.defaultValue(A,3e3))};dn.prototype.getSectorScanMaterial=function(o,A){if(!Si.EllipsoidFadeMaterialProperty){let f=function(m,C,E){this._definitionChanged=new Si.Event,this._color=void 0,this._colorSubscription=void 0,this.color=m,this.duration=E,this._angle=C,this._time=new Date().getTime()};Object.defineProperties(f.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Si.createPropertyDescriptor("color"),angle:Si.createPropertyDescriptor("angle")}),f.prototype.getType=function(m){return"EllipsoidFade"},f.prototype.getValue=function(m,C){return Si.defined(C)||(C={}),C.color=Si.Property.getValueOrClonedDefault(this._color,m,Si.Color.WHITE,C.color),C.angle=this._angle,C},f.prototype.equals=function(m){return this===m||m instanceof f&&Property.equals(this._color,m._color)},Si.EllipsoidFadeMaterialProperty=f,Si.Material.EllipsoidFadeType="EllipsoidFade",Si.Material.EllipsoidFadeSource=`float getAngle(in vec2 dv) { if(dv.y == 0.0 && dv.x > 0.0) { return 90.0; } if(dv.y == 0.0 && dv.x < 0.0) { return 270.0; } float rAngle = atan(dv.x/dv.y) * 180.0 / 3.1415926; if(dv.x > 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } } if(dv.x <= 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } if(dv.y > 0.0) { rAngle = 360.0 + rAngle; } } return rAngle; } float ripple(float dist, float rippleIntensity, float rippleScale) { return rippleScale * ((sin(dist * rippleIntensity - czm_frameNumber/10.0)-0.9) / (dist * rippleIntensity)); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = 1.5 * color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); float nowAngle = getAngle(st.xy-vec2(0.5, 0.5)); if(nowAngle < angle) { material.alpha = 1.0 - dis/0.5; float intensity =step(0.001,ripple(dis, 100.0, 15.0)); if(intensity == 1.0) { material.alpha = material.alpha/2.0; } } else{ material.alpha = 0.0; discard; } return material; }`,Si.Material._materialCache.addMaterial(Si.Material.EllipsoidFadeType,{fabric:{type:Si.Material.EllipsoidFadeType,uniforms:{color:new Si.Color(1,0,0,1),angle:90},source:Si.Material.EllipsoidFadeSource},translucent:function(m){return!0}})}return new Si.EllipsoidFadeMaterialProperty(Si.Color.fromCssColorString(this.defaultValue(o,"#ff0000")),this.defaultValue(A,45))};dn.prototype.getCircleScanMaterial=function(o,A){if(!Si.CircleScanMaterialProperty){let f=function(m,C){this._definitionChanged=new Si.Event,this._color=void 0,this._colorSubscription=void 0,this.color=m,this.duration=C,this._time=new Date().getTime()};Object.defineProperties(f.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Si.createPropertyDescriptor("color")}),f.prototype.getType=function(m){return"CircleScan"},f.prototype.getValue=function(m,C){return Si.defined(C)||(C={}),C.color=Si.Property.getValueOrClonedDefault(this._color,m,Si.Color.WHITE,C.color),C.time=(new Date().getTime()-this._time)%this.duration/this.duration,C},f.prototype.equals=function(m){return this===m||m instanceof f&&Si.Property.equals(this._color,m._color)},Si.CircleScanMaterialProperty=f,Si.Material.CircleScanType="CircleScan",Si.Material.CircleScanSource=`czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); if(dis<time){ float f = dis / time; material.alpha = pow(f, 4.0); }else{ material.alpha = 0.0; } return material; }`,Si.Material._materialCache.addMaterial(Si.Material.CircleScanType,{fabric:{type:Si.Material.CircleScanType,uniforms:{color:new Si.Color(1,0,0,1),time:0},source:Si.Material.CircleScanSource},translucent:function(m){return!0}})}return new Si.CircleScanMaterialProperty(Si.Color.fromCssColorString(this.defaultValue(o,"#ff0000")),this.defaultValue(A,3e3))};dn.prototype.getRadarScanMaterial=function(o,A){if(!Si.RadarScanMaterialProperty){let f=function(m,C){this._definitionChanged=new Si.Event,this._color=void 0,this._colorSubscription=void 0,this.color=m,this.duration=C,this._time=new Date().getTime()};Object.defineProperties(f.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Si.createPropertyDescriptor("color")}),f.prototype.getType=function(m){return"RadarScan"},f.prototype.getValue=function(m,C){return Si.defined(C)||(C={}),C.color=Si.Property.getValueOrClonedDefault(this._color,m,Si.Color.WHITE,C.color),C.time=(new Date().getTime()-this._time)%this.duration/this.duration,C.angle1=360*C.time,C.angle2=360*C.time+60,C.angle2>360&&(C.angle2=C.angle2-360),C},f.prototype.equals=function(m){return this===m||m instanceof f&&Si.Property.equals(this._color,m._color)},Si.RadarScanMaterialProperty=f,Si.Material.RadarScanType="RadarScan",Si.Material.RadarScanSource=`float getAngle(in vec2 dv) { if(dv.y == 0.0 && dv.x > 0.0) { return 90.0; } if(dv.y == 0.0 && dv.x < 0.0) { return 270.0; } float rAngle = atan(dv.x/dv.y) * 180.0 / 3.1415926; if(dv.x > 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } } if(dv.x <= 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } if(dv.y > 0.0) { rAngle = 360.0 + rAngle; } } return rAngle; } float ripple(float dist, float rippleIntensity, float rippleScale) { return rippleScale * ((sin(dist * rippleIntensity - czm_frameNumber/10.0)-0.9) / (dist * rippleIntensity)); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); float f = 0.0; float nowAngle = getAngle(st.xy-vec2(0.5, 0.5)); if(nowAngle < angle2 && nowAngle > angle1) { f = (nowAngle - angle1) / 60.0; material.alpha = f; }else if(nowAngle < 360.0 && nowAngle > angle1 && angle2 < 60.0){ f = (nowAngle - angle1) / 60.0; material.alpha = f; }else if(nowAngle < angle2 && nowAngle > 0.0 && angle2 < 60.0){ f = (nowAngle + 360.0 - angle1) / 60.0; material.alpha = f; }else{ material.alpha = 0.0; discard; } return material; }`,Si.Material._materialCache.addMaterial(Si.Material.RadarScanType,{fabric:{type:Si.Material.RadarScanType,uniforms:{color:new Si.Color(1,0,0,1),time:0,angle2:0,angle1:0},source:Si.Material.RadarScanSource},translucent:function(m){return!0}})}return new Si.RadarScanMaterialProperty(Si.Color.fromCssColorString(this.defaultValue(o,"#ff0000")),this.defaultValue(A,3e3))};dn.prototype.gradientColor=function(o,A,f){return new PZe(o,A,f)};dn.prototype.xhr=function(o){var A=new XMLHttpRequest,f=!0;if(o.async==null||o.async==null?f=!0:f=o.async,A.open(o.type,o.url,f),o.headers)for(let m in o.headers)A.setRequestHeader(m,o.headers[m]);A.send(o.data||{}),A.onreadystatechange=function(){this.readyState===4&&this.status===200?o.success&&typeof o.success=="function"&&o.success(o.isXml?this.responseXML:JSON.parse(this.responseText)):this.status!==200&&o.error&&typeof o.error=="function"&&o.error(A),o.complete&&typeof o.complete=="function"&&o.complete()}};var Nyi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};dn.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":Nyi(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};dn.prototype.xml2json=function(o,A){return g6(o)};dn.prototype.getBrowser=function(){var o=navigator.userAgent.toLowerCase(),A=(o.match(/firefox|chrome|safari|opera/g)||"other")[0];(o.match(/msie|trident/g)||[])[0]&&(A="msie");var f="",m="",C="",E="ontouchstart"in window||o.indexOf("touch")!==-1||o.indexOf("mobile")!==-1;switch(E?o.indexOf("ipad")!==-1?f="pad":o.indexOf("mobile")!==-1?f="mobile":o.indexOf("android")!==-1?f="androidPad":f="pc":f="pc",A){case"chrome":case"safari":case"mobile":m="webkit";break;case"msie":m="ms";break;case"firefox":m="Moz";break;case"opera":m="O";break;default:m="webkit";break}return C=o.indexOf("android")>0?"android":navigator.platform.toLowerCase(),{version:(o.match(/[\s\S]+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],plat:C,type:A,pc:f,prefix:m,isMobile:f!="pc"}};var Ji=dn;var fp=null;function Ib(o,A){fp=A,this._viewer=o,this.editType="Entity",this._core=new Ji(o,A),this.tooltip=this._core.CreateTooltip({id:"ModelEdit"})}Ib.prototype.start=function(o,A={}){if(this.end(),!o)return;let f,m;if(o.item&&o.item instanceof fp.Cesium3DTileset)this.editType="SE3DTiles",m=o.boundingSphereRadius,f=fp.Cartesian3.fromDegrees(o.modelEditData.lon,o.modelEditData.lat,o.modelEditData.height);else{this.editType="Entity";let x=this._viewer.scene.primitives._primitives.findIndex(w=>w.id&&w.id.id===o.id);if(x<0)return;m=this._viewer.scene.primitives.get(x).boundingSphere.radius,f=o.position.getValue(),!o.heading&&(o.heading=0),!o.pitch&&(o.pitch=0),!o.roll&&(o.roll=0)}this.model=o;let C=3.63,E=2*m/C,I=fp.Transforms.eastNorthUpToFixedFrame(f);return this.axis=this._viewer.scene.primitives.add(fp.Model.fromGltf({id:"modeEditAxis",modelMatrix:I,url:window.SmartEarthRootUrl+kr.modelAxis,scale:E,minimumPixelSize:A.minimumPixelSize})),this.axis.readyPromise.then(()=>{A.rotateX===!1&&(this.axis._nodeCommands[1].show=!1),A.rotateY===!1&&(this.axis._nodeCommands[0].show=!1),A.rotateZ===!1&&(this.axis._nodeCommands[5].show=!1)}),this.initEvent(A),this};Ib.prototype.initEvent=function(o){this.editHandler&&this.editHandler.destroy(),this.editHandler=new fp.ScreenSpaceEventHandler(this._viewer.scene.canvas);let A,f;this.editHandler.setInputAction(m=>{A?(f=m.position,this.editType==="Entity"?(this.originPosition=this.model.position.getValue(),this.originHeading=this.model.heading||0,this.originPitch=this.model.pitch||0,this.originRoll=this.model.roll||0):(this.originPosition=fp.Cartesian3.fromDegrees(this.model.modelEditData.lon,this.model.modelEditData.lat,this.model.modelEditData.height),this.originHeading=this.model.modelEditData.heading||0,this.originPitch=this.model.modelEditData.ritch||0,this.originRoll=this.model.modelEditData.roll||0),this.startPosition=this._viewer.scene.pickPosition(f),this.defaultEvent(!1),this.setMouseStyle("edit")):f=void 0},fp.ScreenSpaceEventType.LEFT_DOWN),this.editHandler.setInputAction(m=>{f=void 0,this.defaultEvent(!0),this.setMouseStyle("default")},fp.ScreenSpaceEventType.LEFT_UP),this.editHandler.setInputAction(m=>{if(f){this.mouseTooltip(A,m),this.edit(A,f,m.endPosition),o.callback&&o.callback(A);return}let C=this._viewer.scene.pick(m.endPosition);if(C&&C.id==="modeEditAxis"){let E=C.mesh?C.mesh.name:C.detail.node._name;E==="XArrow_1"?A="y":E==="YArrow_1"?A="x":E==="ZArrow_1"?A="z":E==="ZAxis_1"?A="heading":E==="XAxis_1"?A="pitch":E==="YAxis_1"?A="roll":A=void 0}else A=void 0;this.mouseTooltip(A,m)},fp.ScreenSpaceEventType.MOUSE_MOVE)};Ib.prototype.defaultEvent=function(o){let A=this._viewer.scene;A.screenSpaceCameraController.enableRotate=o,A.screenSpaceCameraController.enableTranslate=o,A.screenSpaceCameraController.enableZoom=o,A.screenSpaceCameraController.enableTilt=o,A.screenSpaceCameraController.enableLook=o};Ib.prototype.setMouseStyle=function(o){o==="edit"?(this.defaultMouseStyle=this._viewer.container.style.cursor,this._viewer.container.style.cursor="crosshair"):o==="default"&&(this._viewer.container.style.cursor=this.defaultMouseStyle||"default")};Ib.prototype.edit=function(o,A,f){if(o){let m=this.originPosition,C=this.startPosition,E=this._viewer.scene.pickPosition(f),I=this._core.toDegrees(m),x=this._core.toDegrees(C),y=this._core.toDegrees(E),v=this._viewer.scene.cartesianToCanvasCoordinates(m),w=f.x-A.x,Q=f.y-A.y,M;if(o==="x"){let B=x.lon-y.lon;I.lon-=B,this.setPosition(I)}else if(o==="y"){let B=x.lat-y.lat;I.lat-=B,this.setPosition(I)}else if(o==="z"){let B=x.height-I.height,D=Q*Math.abs(B/(A.y-v.y));I.height-=D,this.setPosition(I)}else if(o==="heading"){let B=this.originHeading,D=this._core.arge(v,A,f,"+-",!0);B-=D,this.setRotate("heading",B)}else if(o==="pitch"){let D=(x.lon-I.lon)/(A.x-v.x),S=this.originPitch,P=this._core.arge(v,A,f,"+-",!0);D>0?S+=P:S-=P,this.setRotate("pitch",S)}else if(o==="roll"){let D=(x.lat-I.lat)/(A.x-v.x),S=this.originRoll,P=this._core.arge(v,A,f,"+-",!0);D<0?S-=P:S+=P,this.setRotate("roll",S)}}};Ib.prototype.setPosition=function(o){let A=fp.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this.editType==="Entity"?(this.model.position=A,window.SmartEarthPopupData&&window.SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector('.model input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="height"]').value=o.height.toFixed(2))):this.model.setEditData(o),this.axis.modelMatrix=fp.Transforms.eastNorthUpToFixedFrame(A)};Ib.prototype.setRotate=function(o,A){if(this.model)if(this.editType==="Entity"){let f=this.model.heading,m=this.model.pitch,C=this.model.roll;o==="heading"?this.model.heading=f=A:o==="pitch"?this.model.pitch=m=A:o==="roll"&&(this.model.roll=C=A),this.model.orientation=fp.Transforms.headingPitchRollQuaternion(this.model.position.getValue(),new fp.HeadingPitchRoll(fp.Math.toRadians(f),fp.Math.toRadians(m),fp.Math.toRadians(C))),window.SmartEarthPopupData&&window.SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector(`.model input[name="${o}"]`)&&(SmartEarthPopupData.window.document.querySelector(`.model input[name="${o}"]`).value=A)}else switch(o){case"heading":this.model.setEditData({heading:-A});break;case"pitch":this.model.setEditData({pitch:A});break;case"roll":this.model.setEditData({roll:A});break}};Ib.prototype.mouseTooltip=function(o,A){if(o){let f=A.endPosition||A.position;o==="x"?this.tooltip.showAt(f,"X\u65B9\u5411\u5E73\u79FB"):o==="y"?this.tooltip.showAt(f,"Y\u65B9\u5411\u5E73\u79FB"):o==="z"?this.tooltip.showAt(f,"Z\u65B9\u5411\u5E73\u79FB"):o==="heading"?this.tooltip.showAt(f,"\u7ED5Z\u8F74\u65CB\u8F6C"):o==="pitch"?this.tooltip.showAt(f,"\u7ED5Y\u8F74\u65CB\u8F6C"):o==="roll"?this.tooltip.showAt(f,"\u7ED5X\u8F74\u65CB\u8F6C"):this.tooltip.show(!1)}else this.tooltip.show(!1)};Ib.prototype.end=function(){this.axis&&this._viewer.scene.primitives.remove(this.axis),this.axis=void 0,this.editHandler&&this.editHandler.destroy(),this.editHandler=void 0,this.model&&(this.model.ModelEdit=void 0),this.model=void 0,this.tooltip&&this.tooltip.show(!1)};var rJ=Ib;function DP(o,A,f,m){this._extractAttributes=o,this._featureName=A||"featureMember",this._xy=m,this._gmlns=f||"http://www.opengis.net/gml",this._regExes={trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g}}Object.defineProperties(DP.prototype,{featureName:{get:function(){return this._featureName},set:function(o){this._featureName=o}},extractAttributes:{get:function(){return this._extractAttributes},set:function(o){this._extractAttributes=o}},xy:{get:function(){return this._xy}}});DP.prototype.getElementsByTagNameNS=function(o,A,f){var m=[];if(o.getElementsByTagNameNS)m=o.getElementsByTagNameNS(A,f);else for(var C=o.getElementsByTagName("*"),E,I,x=0,y=C.length;x<y;++x)E=C[x],I=E.prefix?E.prefix+":"+f:f,(f=="*"||I==E.nodeName)&&(A=="*"||A==E.namespaceURI)&&m.push(E);return m};DP.prototype.read=function(o){for(var A=this.getElementsByTagNameNS(o.documentElement,this._gmlns,this.featureName),f=[],m=0;m<A.length;m++){var C=this.parseFeature(A[m]);C&&f.push(C)}return f};DP.prototype.parseFeature=function(o){for(var A=["MultiPolygon","Polygon","MultiLineString","LineString","MultiPoint","Point","Envelope"],f,m,C,E,I=0;I<A.length;++I)if(f=A[I],m=this.getElementsByTagNameNS(o,this._gmlns,f),m.length>0){E=this.parseGeometry[f.toLowerCase()],E?C=E.apply(this,[m[0]]):console.log("unsupportedGeometryType:"+f);break}var x,y=this.getElementsByTagNameNS(o,this._gmlns,"Box");for(I=0;I<y.length;++I){var v=y[I],w=this.parseGeometry.box.apply(this,[v]),Q=v.parentNode,M=Q.localName||Q.nodeName.split(":").pop();M==="boundedBy"?x=w:C=w.toGeometry()}var B;this.extractAttributes&&(B=this.parseAttributes(o));var D={geometryType:f.toLowerCase(),positions:C,attributes:B};D.bounds=x;for(var S=o.firstChild,P;S&&!(S.nodeType==1&&(P=S.getAttribute("fid")||S.getAttribute("id"),P));)S=S.nextSibling;return D.fid=P,D};DP.prototype.parseGeometry={point:function(o){var m,A,f=[],m=this.getElementsByTagNameNS(o,this._gmlns,"pos");if(m.length>0&&(A=m[0].firstChild.nodeValue,A=A.replace(this._regExes.trimSpace,""),f=A.split(this._regExes.splitSpace)),f.length==0&&(m=this.getElementsByTagNameNS(o,this._gmlns,"coordinates"),m.length>0&&(A=m[0].firstChild.nodeValue,A=A.replace(this._regExes.removeSpace,""),f=A.split(","))),f.length==0&&(m=this.getElementsByTagNameNS(o,this._gmlns,"coord"),m.length>0)){var C=this.getElementsByTagNameNS(m[0],this._gmlns,"X"),E=this.getElementsByTagNameNS(m[0],this._gmlns,"Y");C.length>0&&E.length>0&&(f=[C[0].firstChild.nodeValue,E[0].firstChild.nodeValue])}return f.length==2&&(f[2]=null),this.xy?[parseFloat(f[0]),parseFloat(f[1]),parseFloat(f[2])]:[parseFloat(f[1]),parseFloat(f[0]),parseFloat(f[2])]},multipoint:function(o){var A=this.getElementsByTagNameNS(o,this._gmlns,"Point"),f=[];if(A.length>0)for(var m,C=0;C<A.length;++C)m=this.parseGeometry.point.apply(this,[A[C]]),m&&f.push(m);return f},linestring:function(o,A){var f,m,C=[],E=[];if(f=this.getElementsByTagNameNS(o,this._gmlns,"posList"),f.length>0){m=this.getChildValue(f[0]),m=m.replace(this._regExes.trimSpace,""),C=m.split(this._regExes.splitSpace);for(var I=parseInt(f[0].getAttribute("dimension")),x,y,v,w,Q=0;Q<C.length/I;++Q)x=Q*I,y=parseFloat(C[x]),v=parseFloat(C[x+1]),w=I==2?null:parseFloat(C[x+2]),this.xy?E.push(y,v,w):E.push(v,y,w)}if(C.length==0&&(f=this.getElementsByTagNameNS(o,this._gmlns,"coordinates"),f.length>0)){m=this.getChildValue(f[0]),m=m.replace(this._regExes.trimSpace,""),m=m.replace(this._regExes.trimComma,",");for(var M=m.split(this._regExes.splitSpace),Q=0;Q<M.length;++Q)C=M[Q].split(","),C.length==2&&(C[2]=null),this.xy?E.push(parseFloat(C[0]),parseFloat(C[1]),parseFloat(C[2])):E.push(parseFloat(C[1]),parseFloat(C[0]),parseFloat(C[2]))}return E},multilinestring:function(o){var A=this.getElementsByTagNameNS(o,this._gmlns,"LineString"),f=[];if(A.length>0)for(var m,C=0;C<A.length;++C)m=this.parseGeometry.linestring.apply(this,[A[C]]),m&&f.push(m);return f},polygon:function(o){var A=this.getElementsByTagNameNS(o,this._gmlns,"LinearRing"),f=[];if(A.length>0)for(var m,C=0;C<A.length;++C)m=this.parseGeometry.linestring.apply(this,[A[C],!0]),m&&f.push(m);return f},multipolygon:function(o){var A=this.getElementsByTagNameNS(o,this._gmlns,"Polygon"),f=[];if(A.length>0)for(var m,C=0;C<A.length;++C)m=this.parseGeometry.polygon.apply(this,[A[C]]),m&&f.push(m);return f},envelope:function(o){var A=[],f,m,C=this.getElementsByTagNameNS(o,this._gmlns,"lowerCorner");if(C.length>0){var E=[];if(C.length>0&&(f=C[0].firstChild.nodeValue,f=f.replace(this._regExes.trimSpace,""),E=f.split(this._regExes.splitSpace)),E.length==2&&(E[2]=null),this.xy)var I=new OpenLayers_Geometry_Point(E[0],E[1],E[2]);else var I=new OpenLayers_Geometry_Point(E[1],E[0],E[2])}var x=this.getElementsByTagNameNS(o,this._gmlns,"upperCorner");if(x.length>0){var E=[];if(x.length>0&&(f=x[0].firstChild.nodeValue,f=f.replace(this._regExes.trimSpace,""),E=f.split(this._regExes.splitSpace)),E.length==2&&(E[2]=null),this.xy)var y=new OpenLayers_Geometry_Point(E[0],E[1],E[2]);else var y=new OpenLayers_Geometry_Point(E[1],E[0],E[2])}return I&&y&&(A.push([I.x,I.y,null]),A.push([y.x,I.y,null]),A.push([y.x,y.y,null]),A.push([I.x,y.y,null]),A.push([I.x,I.y,null]),m=new OpenLayers_Geometry_Polygon([[A]])),m},box:function(o){var A=this.getElementsByTagNameNS(o,this._gmlns,"coordinates"),f,m,C=null,E=null;if(A.length>0&&(f=A[0].firstChild.nodeValue,m=f.split(" "),m.length==2&&(C=m[0].split(","),E=m[1].split(","))),C!==null&&E!==null)return[parseFloat(C[0]),parseFloat(C[1]),null,parseFloat(E[0]),parseFloat(E[1]),null]}};DP.prototype.parseAttributes=function(o){for(var A={},f=o.firstChild,m,C,E,I,x,y,v;f;){if(f.nodeType==1){for(m=f.childNodes,C=0;C<m.length;++C)E=m[C],E.nodeType==1&&(I=E.childNodes,I.length==1?(x=I[0],(x.nodeType==3||x.nodeType==4)&&(y=E.prefix?E.nodeName.split(":")[1]:E.nodeName,v=x.nodeValue.replace(this._regExes.trimSpace,""),A[y]=v)):A[E.nodeName.split(":").pop()]=null);break}f=f.nextSibling}return A};DP.prototype.getChildValue=function(o,A){var f=A||"";if(o)for(var m=o.firstChild;m;m=m.nextSibling)switch(m.nodeType){case 3:case 4:f+=m.nodeValue}return f};var w$e=DP;var Ca=null;function lc(o){Ca=o,this._core=new Ji(null,Ca),this.level=0,this._quadtree=void 0,this._loadTileEvent=new Ca.Event,this._tilingScheme=new Ca.GeographicTilingScheme,this._errorEvent=new Ca.Event,this._levelZeroMaximumError=Ca.QuadtreeTileProvider.computeDefaultLevelZeroMaximumGeometricError(this._tilingScheme),this.cartographicLimitRectangle=Ca.Rectangle.clone(Ca.Rectangle.MAX_VALUE),this._tileCache=[],this._primitivesWaitingToBeAddedToTheScene=[],this._pauseStreaming=!1,this._numTilesInLevel=[],this.tileLevel={},this.STREAM_SPEED_IMIDIATE=0,this.STREAM_SPEED_FAST=1,this.STREAM_SPEED_NORMAL=2,this.STREAM_SPEED_SLOW=3,this._streamSpeed=this.STREAM_SPEED_NORMAL,lc.prototype.ready||Object.defineProperties(lc.prototype,{quadtree:{get:function(){return this._quadtree},set:function(A){this._quadtree=A}},ready:{get:function(){return!0}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},loadTileEvent:{get:function(){return this._loadTileEvent}},pauseStreaming:{get:function(){return this._pauseStreaming},set:function(A){this._pauseStreaming=A}},streamSpeed:{get:function(){return this._streamSpeed},set:function(A){this._streamSpeed=A}},bestLevelAvailable:{get:function(){for(var A=0,f=0;f<22;f++)this._numTilesInLevel[f]!=null&&this._numTilesInLevel[f]>0&&A<f&&(A=f);return A}}})}function S$e(o,A,f){$.each(A._primitives,function(m,C){if(C instanceof Ca.BillboardCollection){var E=C,m=nJ.indexOf(E);return E._parentCollection._primitiveOld=f,m!==-1?(o.scene.primitives.remove(nJ[m]._parentCollection),nJ[m]=E):nJ.push(E),!1}})}function D$e(o,A,f){o.scene.primitives.remove(f),A._onDestroyTilePrimitive=function(){o.scene.primitives.remove(f),this._onDestroyTilePrimitive=void 0}}function hwe(o,A,f,m){Promise.all([A]).then(function(){o.scene.primitives.remove(m)}),f._onDestroyTilePrimitive=function(){o.scene.primitives.remove(m),this._onDestroyTilePrimitive=void 0}}function M$e(o,A,f){var m=$.map(A._primitives,function(C){return C.readyPromise});hwe(o,m,A,f)}function T$e(o,A,f){var m=$.map(A._primitives[0]._primitives,function(C){return C.readyPromise});hwe(o,m,A,f)}function P$e(o,A,f){o.scene.primitives.remove(f)}function R$e(o,A,f){var m=[A.readyPromise];hwe(o,m,A,f)}lc.prototype.streamSpeedFactor=function(){switch(this._streamSpeed){case this.STREAM_SPEED_FAST:return 1;case this.STREAM_SPEED_NORMAL:return 3;case this.STREAM_SPEED_SLOW:return 20;default:return 3}};var nJ=[],b$e=0;lc.prototype.onPreFrame=function(o,A){if(b$e++,!this._pauseStreaming){if(this._streamSpeed==this.STREAM_SPEED_IMIDIATE)for(;this._primitivesWaitingToBeAddedToTheScene.length>0;){var f=this._primitivesWaitingToBeAddedToTheScene.pop();o.primitives.add(f)}else if(this._primitivesWaitingToBeAddedToTheScene.length>0&&b$e%this.streamSpeedFactor()==0){var f=this._primitivesWaitingToBeAddedToTheScene.pop();f._instanceIds&&f._instanceIds.length>100&&this.streamSpeed===this.STREAM_SPEED_FAST&&(this.streamSpeed=this.STREAM_SPEED_NORMAL),o.primitives.add(f)}$.each(nJ,function(m,C){C.ready&&this.viewer.scene.primitives.remove(C._parentCollection._primitiveOld)})}};lc.prototype.updateForPick=function(o){};var oJ=180/Math.PI,VMi=1/oJ;lc.prototype.placeHolder=function(o,A){A=A||Ca.Color.fromBytes(0,255,0,255);var f=new Ca.Primitive({geometryInstances:new Ca.GeometryInstance({geometry:new Ca.RectangleOutlineGeometry({rectangle:o.rectangle,height:this.viewer.camera.positionCartographic.height-TerraExplorer.internal.Navigate.HeightAboveGround*.99}),attributes:{color:Ca.ColorGeometryInstanceAttribute.fromColor(A)}}),appearance:new Ca.PerInstanceColorAppearance({flat:!0})});o.data.primitive.add(f)};lc.prototype.getTile=function(o){return this._tileCache[o]};lc.prototype.getAllTiles=function(){var o=[];for(var A in this._tileCache)o.push(this._tileCache[A]);return o};lc.prototype.addToScene=function(o){this._primitivesWaitingToBeAddedToTheScene.push(o)};lc.prototype.removeFromScene=function(o){var A=this._primitivesWaitingToBeAddedToTheScene.indexOf(o);A!=-1?(this._primitivesWaitingToBeAddedToTheScene[A].destroy(),this._primitivesWaitingToBeAddedToTheScene.splice(A,1)):this.viewer.scene.primitives.remove(o)};lc.prototype.replaceInScene=function(o,A){var f=this._primitivesWaitingToBeAddedToTheScene.indexOf(o);if(f!=-1)this._primitivesWaitingToBeAddedToTheScene[f]=A;else{o.ID!=A.ID&&console.log("TileManager.replaceInScene Warning: new primitive has a different ID than old primitive"),o._replacmentPrimitive!=null&&this.viewer.scene.primitives.remove(o._replacmentPrimitive),o._replacmentPrimitive=A,this.viewer.scene.primitives.add(A);var m=A.ID.split(":")[0];switch(m){case"billboards":S$e(this.viewer,A,o);break;case"labels":D$e(this.viewer,A,o);break;case"polygons":M$e(this.viewer,A,o);break;case"models":T$e(this.viewer,A,o);break;case"polylines":R$e(this.viewer,A,o);break;case"points":P$e(this.viewer,A,o);break;default:console.log("Error updating layer"),this.viewer.scene.primitives.remove(o)}}};var kyi={billboards:S$e,labels:D$e,polygons:M$e,models:T$e,polylines:R$e,points:P$e};lc.prototype.replaceInSceneNew=function(o,A){var f=this._primitivesWaitingToBeAddedToTheScene.indexOf(o);if(f!=-1)this._primitivesWaitingToBeAddedToTheScene[f]=A;else{o.ID!==A.ID&&console.log("TileManager.replaceInScene Warning: new primitive has a different ID than old primitive"),this.addToScene(A);var m=void 0,C=A.ID.split(":")[0],E=kyi[C];E?E(A,o):(console.log("Error updating layer"),this.viewer.scene.primitives.remove(o))}};lc.prototype.update=function(o){this.level=this._core.getLevel(this.viewer);let A=this.getAllTiles(),f,m;A.forEach(C=>{for(let E in C.data.wfsLayerData)m=C.data.wfsLayerData[E]&&C.data.wfsLayerData[E].primitive,f=this.tileLevel[E].level,m&&f&&this.tileLevel[E].visible&&(this.level<=f.max&&this.level>=f.min?m.show=!0:m.show=!1)}),this._quadtree.beginFrame(o),this._quadtree.render(o),this._quadtree.endFrame(o)};var Q$e=!1;lc.prototype.initialize=function(o){Q$e||(this.viewer.scene.preRender.addEventListener(this.onPreFrame,this),Q$e=!0)};lc.prototype.beginUpdate=function(o){this.quadtree.beginFrame(o)};lc.prototype.endUpdate=function(o){var A=this;o.afterRender.push(function(){A.quadtree.endFrame(o)})};lc.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumError/(1<<o)};lc.prototype.loadTile=function(o,A){var f=this;if(this._numTilesInLevel[A._level]==null&&(this._numTilesInLevel[A._level]=0),this._numTilesInLevel[A._level]++,A.state===Ca.QuadtreeTileLoadState.START){A.data={primitive:new Ca.PrimitiveCollection,wfsLayerData:[],id:Ca.createGuid(),freeResources:function(){if(f._tileCache[A.data.id]&&f._numTilesInLevel[A._level]--,f._numTilesInLevel[A._level]<0&&(f._numTilesInLevel[A._level]=0),Ca.defined(this.wfsLayerData)){for(var I in this.wfsLayerData)Ca.defined(this.wfsLayerData[I])&&this.wfsLayerData[I].freeResources();this.wfsLayerData=void 0}Ca.defined(this.primitive)&&(this.primitive.destroy(),this.primitive=void 0),delete f._tileCache[A.data.id]}},this._tileCache[A.data.id]=A;var m=6371e3,C=Math.abs(m*(A.rectangle.south-A.rectangle.north));A.data.boundingSphere3D=Ca.BoundingSphere.fromRectangle3D(A.rectangle),A.data.boundingSphere2D=Ca.BoundingSphere.fromRectangle2D(A.rectangle,o.mapProjection);var E=[oJ*A.rectangle.west,oJ*A.rectangle.south,oJ*A.rectangle.east,oJ*A.rectangle.north];this.loadTileEvent.raiseEvent(A),A.state=Ca.QuadtreeTileLoadState.DONE,A.renderable=!0}};lc.prototype.computeTileVisibility=function(o,A,f){var m=this.computeDistanceToTile(o,A);if(o._distance=m,A.fog.enabled&&Ca.Math.fog(m,A.fog.density)>=1)return Ca.Visibility.NONE;var C=o.data,E=C.tileBoundingRegion;if(C.boundingVolumeSourceTile===void 0)return Ca.Visibility.PARTIAL;var I=A.cullingVolume,x=C.orientedBoundingBox;!x&&C.renderedMesh&&(x=C.renderedMesh.boundingSphere3D),C.clippedByBoundaries=!1;function y(R,T){if(T.west<T.east)return T;var L=Rectangle.clone(T,splitCartographicLimitRectangleScratch),F=Rectangle.center(R,rectangleCenterScratch);return F.longitude>0?L.east=CesiumMath.PI:L.west=-CesiumMath.PI,L}var v=y(o.rectangle,this.cartographicLimitRectangle),w=new Ca.Rectangle,Q=Ca.Rectangle.simpleIntersection(v,o.rectangle,w);if(!Q)return Visibility.NONE;if(Ca.Rectangle.equals(Q,o.rectangle)||(C.clippedByBoundaries=!0),A.mode,Ca.SceneMode.SCENE3D,!x)return Ca.Intersect.INTERSECTING;var M=this._clippingPlanes;if(M&&M.enabled){var B=M.computeIntersectionWithBoundingVolume(x);if(o.isClipped=B!==Intersect.INSIDE,B===Ca.Intersect.OUTSIDE)return Ca.Visibility.NONE}var D=I.computeVisibility(x);if(D===Ca.Intersect.OUTSIDE)return Ca.Visibility.NONE;var S=A.mode===Ca.SceneMode.SCENE3D&&A.camera.frustum instanceof Ca.OrthographicFrustum;if(A.mode===Ca.SceneMode.SCENE3D&&!S&&f){var P=C.occludeePointInScaledSpace;return!P||f.ellipsoid.isScaledSpacePointVisible(P)?D:Ca.Visibility.NONE}return D};lc.prototype.canRefine=function(o,A,f){return o.level<16};lc.prototype.showTileThisFrame=function(o,A,f,m){o.data.geometryPrimitive&&o.data.geometryPrimitive.update(A,f,m)};lc.prototype.computeDistanceToTile=function(o,A){function f(D,S,P,R,T){var L=D.quadtree._occluders.ellipsoid,F=L.ellipsoid,U=[new Ca.Cartesian3,new Ca.Cartesian3,new Ca.Cartesian3,new Ca.Cartesian3],N=U;return Ca.Cartesian3.fromRadians(P.west,P.south,R,F,N[0]),Ca.Cartesian3.fromRadians(P.east,P.south,R,F,N[1]),Ca.Cartesian3.fromRadians(P.west,P.north,R,F,N[2]),Ca.Cartesian3.fromRadians(P.east,P.north,R,F,N[3]),L.computeHorizonCullingPoint(S,N,T)}function m(D,S,P){var R=D.data;return R===void 0&&(R=D.data=new Ca.GlobeSurfaceTile),R.tileBoundingRegion===void 0&&(R.tileBoundingRegion=new Ca.TileBoundingRegion({computeBoundingVolumes:!1,rectangle:D.rectangle,ellipsoid:D.tilingScheme.ellipsoid,minimumHeight:0,maximumHeight:0})),D}var C=m(o,this.terrainProvider,A),E=o.data,I=E.tileBoundingRegion;if(C===void 0)return 9999999999;if(E.boundingVolumeSourceTile!==C){E.boundingVolumeSourceTile=C;var x=o.rectangle;x&&x.width<Ca.Math.PI_OVER_TWO+Ca.Math.EPSILON5&&(E.orientedBoundingBox=Ca.OrientedBoundingBox.fromRectangle(o.rectangle,I.minimumHeight,I.maximumHeight,o.tilingScheme.ellipsoid,E.orientedBoundingBox),E.occludeePointInScaledSpace=f(this,E.orientedBoundingBox.center,o.rectangle,I.maximumHeight,E.occludeePointInScaledSpace))}var y=I.minimumHeight,v=I.maximumHeight;if(E.boundingVolumeSourceTile!==o){var w=A.camera.positionCartographic.height,Q=Math.abs(w-y),M=Math.abs(w-v);Q>M?(I.minimumHeight=y,I.maximumHeight=y):(I.minimumHeight=v,I.maximumHeight=v)}var B=I.distanceToCamera(A);return I.minimumHeight=y,I.maximumHeight=v,B};lc.prototype.isDestroyed=function(){return!1};lc.prototype.destroy=function(){return Ca.destroyObject(this)};lc.prototype.remove=function(){this.destroy()};lc.prototype.getInstance=function(o){if(Ca.defined(o.TileManager)==0){var A=new lc(Ca);o.TileManager=A,A.viewer=o;var f=new Ca.QuadtreePrimitive({tileProvider:o.TileManager,maximumScreenSpaceError:2});o.scene.primitives.add(f)}return o.TileManager};var L$e=lc;function QD(){}function KC(o){return typeof o=="string"?o.replace(/^\s+/g,"").replace(/\s+$/g,""):o}function aJ(o,A){for(var f="######",m=!1,C=0,E="",I=0;I<A.length;I++)!m&&/['"`]/.test(A[I])?m=A[I]:m&&A[I]==m?m=!1:!m&&A[I]=="("?C++:!m&&A[I]==")"&&C--,A[I]==o&&(C>0||m)?E+=f:E+=A[I];return A=E,A=A.split(o),A=A.map(function(x){return KC(x.replace(new RegExp(f,"g"),o))}),A}function dwe(o){for(var A="#",f=o.length,m=0;m<f;m++)A+=o[m]+"#";return A}function gwe(o){for(var A="",f=o.length,m=1;m<f;m+=2)A+=o[m];return A}function p6(o){this.source=o,this.cursor=0,this.currentChar="",this.readNextChar()}function r3(o){this.lexer=new p6(o),this.currentToken="",this.readNextToken()}function fwe(o,A){var f="";return typeof o.logic<"u"?(f=o.terms.map(function(m){return fwe(m,!0)}),f=f.join(" "+o.logic+" "),typeof A<"u"&&(f="("+f+")")):typeof o.left<"u"?(f=o.left,typeof o.operator<"u"&&(f+=" "+o.operator,typeof o.right<"u"&&(o.operator==="IN"?f+=" ("+o.right+")":f+=" "+o.right))):f=o,f}QD.sql2ast=function(o,A){function f(S,P){return P}(typeof A>"u"||A===null)&&(A=!0);var m="###semi-colon###";o=o.replace(/[("'`].*;.*[)"'`]/g,function(S){return S.replace(/;/g,m)});var C="###EOR###";o=o.replace(/;/g,C),o=o.split(C)[0],o=o.replace(new RegExp(m,"g"),";");var E=["SELECT","FROM","DELETE FROM","INSERT INTO","UPDATE","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","ORDER BY","GROUP BY","HAVING","WHERE","LIMIT","VALUES","SET"],I=E.map(function(S){return S+" "});I=I.concat(E.map(function(S){return S+"("})),I=I.concat(I.map(function(S){return S.toLowerCase()}));var x=I.map(function(S){return S.replace("(","[\\(]")});o=o.replace(/\((.+?)\)|"(.+?)"|'(.+?)'|`(.+?)`/gi,function(S){return S.replace(new RegExp(x.join("|"),"gi"),dwe)});var y=[];I.forEach(function(S){var P=0,R;do if(R=o.indexOf(S,P),R!=-1){var T=S.replace(/^((\w|\s)+?)\s?\(?$/i,f);y[R]=T,P=R+T.length}while(R!=-1)});var v=0;y.forEach(function(S,P){v>P?delete y[P]:(v=parseInt(P,10)+S.length,S=="JOIN"&&(y[P]="INNER JOIN"))});var w=x.slice(0);w=w.map(function(S){return dwe(S)}),w=w.join("|");var Q=o.split(new RegExp(x.join("|"),"i"));o=o.replace(/\((.+?)\)|"(.+?)"|'(.+?)'|`(.+?)`/gi,function(S){return S.replace(new RegExp(w,"gi"),gwe)}),Q=Q.map(function(S){return S.replace(/\((.+?)\)|"(.+?)"|'(.+?)'|`(.+?)`/gi,function(P){return P.replace(new RegExp(w,"gi"),gwe)})});var M=[];M.SELECT=function(S){var P=aJ(",",S);return P=P.filter(function(R){return R!==""}).map(function(R){return{name:R}}),P},M.SET=function(S){var P=aJ(",",S);return P=P.filter(function(R){return R!==""}).map(function(R){return{expression:R}}),P},M.FROM=M["DELETE FROM"]=M.UPDATE=function(S){var P=S.split(",");return P=P.map(function(R){return KC(R)}),P.forEach(function(R,T){R===""&&P.splice(T)}),P=P.map(function(R){var T=R.split(" AS "),L=T[1]||"";return L.indexOf('"')===0&&L.lastIndexOf('"')==L.length-1&&(L=L.substring(1,L.length-1)),{table:T[0],as:L}}),P},M["LEFT JOIN"]=M.JOIN=M["INNER JOIN"]=M["RIGHT JOIN"]=function(S){S=S.split(" ON ");var P=S[0].split(" AS "),R={};return R.table=KC(P[0]),R.as=KC(P[1])||"",R.cond=KC(S[1]),R},M.WHERE=function(S){return KC(S)},M["ORDER BY"]=function(S){S=S.split(",");var P=[];return S.forEach(function(R,T){var L=/([A-Za-z0-9_\.]+)\s*(ASC|DESC){0,1}/gi;if(L=L.exec(R),L!==null){var F={};F.column=KC(L[1]),F.order=KC(L[2]),L[2]===void 0&&(F.order="ASC"),P.push(F)}}),P},M["GROUP BY"]=function(S){S=S.split(",");var P=[];return S.forEach(function(R,T){var L=/([A-Za-z0-9_\.]+)/gi;if(L=L.exec(R),L!==null){var F={};F.column=KC(L[1]),P.push(F)}}),P},M.LIMIT=function(S){var P=/((\d+)\s*,\s*)?(\d+)/gi;P=P.exec(S),typeof P[2]>"u"&&(P[2]=0);var R={};return R.nb=parseInt(KC(P[3]),10),R.from=parseInt(KC(P[2]),10),R},M["INSERT INTO"]=function(S){var P=/([A-Za-z0-9_\.]+)\s*(\(([A-Za-z0-9_\., ]+)\))?/gi;P=P.exec(S);var R={};return R.table=KC(P[1]),typeof P[3]<"u"&&(R.columns=P[3].split(","),R.columns=R.columns.map(function(T){return KC(T)})),R},M.VALUES=function(S){S=KC(S),S[0]!="("&&(S="("+S);var P=aJ(",",S),R=[];return P.forEach(function(T){T=T.replace(/^\(/g,"").replace(/\)$/g,""),T=aJ(",",T),R.push(T)}),R};var B={},D=0;return y.forEach(function(S,P){if(S=S.toUpperCase(),D++,typeof M[S]<"u"){var R=M[S](Q[D]);if(typeof B[S]<"u"){if(typeof B[S]=="string"||typeof B[S][0]>"u"){var T=B[S];B[S]=[],B[S].push(T)}B[S].push(R)}else B[S]=R}else console.log(`Can't analyze statement "`+S+'"')}),typeof B["LEFT JOIN"]<"u"&&(typeof B.JOIN>"u"&&(B.JOIN=[]),typeof B["LEFT JOIN"][0]<"u"?B["LEFT JOIN"].forEach(function(S){S.type="left",B.JOIN.push(S)}):(B["LEFT JOIN"].type="left",B.JOIN.push(B["LEFT JOIN"])),delete B["LEFT JOIN"]),typeof B["INNER JOIN"]<"u"&&(typeof B.JOIN>"u"&&(B.JOIN=[]),typeof B["INNER JOIN"][0]<"u"?B["INNER JOIN"].forEach(function(S){S.type="inner",B.JOIN.push(S)}):(B["INNER JOIN"].type="inner",B.JOIN.push(B["INNER JOIN"])),delete B["INNER JOIN"]),typeof B["RIGHT JOIN"]<"u"&&(typeof B.JOIN>"u"&&(B.JOIN=[]),typeof B["RIGHT JOIN"][0]<"u"?B["RIGHT JOIN"].forEach(function(S){S.type="right",B.JOIN.push(S)}):(B["RIGHT JOIN"].type="right",B.JOIN.push(B["RIGHT JOIN"])),delete B["RIGHT JOIN"]),A&&(typeof B.WHERE=="string"&&(B.WHERE=r3.parse(B.WHERE)),typeof B.JOIN<"u"&&B.JOIN.forEach(function(S,P){B.JOIN[P].cond=r3.parse(S.cond)})),B};p6.prototype={constructor:p6,readNextChar:function(){typeof this.source!="string"?this.currentChar="":this.currentChar=this.source[this.cursor++]||""},readNextToken:function(){return/\w|[-]/.test(this.currentChar)?this.readWord():/["'`]/.test(this.currentChar)?this.readString():/[()]/.test(this.currentChar)?this.readGroupSymbol():/[!=<>]/.test(this.currentChar)?this.readOperator():this.currentChar===""?{type:"eot",value:""}:(this.readNextChar(),{type:"empty",value:""})},readWord:function(){for(var o="",A=0,f=!1;/./.test(this.currentChar);){if(!f&&/['"`]/.test(this.currentChar))f=this.currentChar;else if(f&&this.currentChar==f)f=!1;else if(!f&&(this.currentChar==")"&&A<=0||(this.currentChar=="("?A++:this.currentChar==")"&&A--,/[!=<>]/.test(this.currentChar)))||this.currentChar==" "&&A<=0)break;o+=this.currentChar,this.readNextChar()}return/^(AND|OR)$/i.test(o)?{type:"logic",value:o}:/^(IN|IS|NOT|LIKE)$/i.test(o)?{type:"operator",value:o}:{type:"word",value:o}},readString:function(){var o="",A=this.currentChar;for(o+=this.currentChar,this.readNextChar();this.currentChar!=A&&this.currentChar!=="";)o+=this.currentChar,this.readNextChar();return o+=this.currentChar,this.readNextChar(),this.currentChar=="."?(o+=this.currentChar,this.readNextChar(),o+=this.readString().value,{type:"word",value:o}):{type:"string",value:o}},readGroupSymbol:function(){var o=this.currentChar;return this.readNextChar(),{type:"group",value:o}},readOperator:function(){var o=this.currentChar;return this.readNextChar(),/[=<>]/.test(this.currentChar)&&(o+=this.currentChar,this.readNextChar()),{type:"operator",value:o}}};p6.tokenize=function(o){var A=new p6(o),f=[];do{var m=A.readNextToken();m.type!="empty"&&f.push(m)}while(A.currentChar);return f};r3.prototype={constructor:r3,readNextToken:function(){for(this.currentToken=this.lexer.readNextToken();this.currentToken.type=="empty";)this.currentToken=this.lexer.readNextToken();return this.currentToken},parseExpressionsRecursively:function(){return this.parseLogicalExpression()},parseLogicalExpression:function(){for(var o=this.parseConditionExpression();this.currentToken.type=="logic";){var A=this.currentToken.value;this.readNextToken();var f=this.parseConditionExpression();if(typeof o.logic<"u"&&o.logic==A&&typeof o.terms<"u")o.terms.push(f);else{var m=[o,f];o={logic:A,terms:m.slice(0)}}}return o},parseConditionExpression:function(){var o=this.parseBaseExpression();if(this.currentToken.type=="operator"){var A=this.currentToken.value;this.readNextToken(),this.currentToken.type=="operator"&&(A+=" "+this.currentToken.value,this.readNextToken());var f=this.parseBaseExpression();o={operator:A,left:o,right:f}}return o},parseBaseExpression:function(){var o="";return this.currentToken.type=="word"||this.currentToken.type=="string"?(o=this.currentToken.value,this.readNextToken()):this.currentToken.type=="group"&&(this.readNextToken(),o=this.parseExpressionsRecursively(),this.readNextToken()),o}};r3.parse=function(o){return new r3(o).parseExpressionsRecursively()};QD.ast2sql=function(o){function A(D){return typeof D.SELECT<"u"?"SELECT "+D.SELECT.map(function(S){return S.name}).join(", "):""}function f(D){if(typeof D.FROM<"u"){var S=" FROM ",P=D.FROM.map(function(R){var T=R.table;return R.as!==""&&(T+=" AS "+R.as),T});return S+=P.join(", "),S}return""}function m(D){if(typeof D.JOIN<"u"){var S="";return D.JOIN.forEach(function(P){S+=" "+P.type.toUpperCase()+" JOIN "+P.table,P.as!==""&&(S+=" AS "+P.as),S+=" ON "+fwe(P.cond)}),S}return""}function C(D){return typeof D.WHERE<"u"?" WHERE "+fwe(D.WHERE):""}function E(D){if(typeof D["ORDER BY"]<"u"){var S=" ORDER BY ",P=D["ORDER BY"].map(function(R){return R.column+" "+R.order});return S+=P.join(", "),S}return""}function I(D){if(typeof D["GROUP BY"]<"u"){var S=" GROUP BY ",P=D["GROUP BY"].map(function(R){return R.column});return S+=P.join(", "),S}return""}function x(D){if(typeof D.LIMIT<"u"&&typeof D.LIMIT.nb<"u"&&parseInt(D.LIMIT.nb,10)>0){var S=" LIMIT ";return typeof D.LIMIT.from<"u"&&parseInt(D.LIMIT.from,10)>1&&(S+=D.LIMIT.from+","),S+=D.LIMIT.nb,S}return""}function y(D){if(typeof D["INSERT INTO"]<"u"){var S="INSERT INTO "+D["INSERT INTO"].table;return typeof D["INSERT INTO"].columns<"u"&&(S+=" (",S+=D["INSERT INTO"].columns.join(", "),S+=")"),S}return""}function v(D){if(typeof D.VALUES<"u"){var S=" VALUES ",P=D.VALUES.map(function(R){return"("+R.join(", ")+")"});return S+=P.join(", "),S}return""}function w(D){if(typeof D["DELETE FROM"]<"u"){var S="DELETE FROM ";return S+=D["DELETE FROM"].map(function(P){var R=P.table;return P.as!==""&&(R+=" AS "+P.as),R}).join(", "),S}return""}function Q(D){if(typeof D.UPDATE<"u"){var S="UPDATE ";return S+=D.UPDATE.map(function(P){var R=P.table;return P.as!==""&&(R+=" AS "+P.as),R}).join(", "),S}return""}function M(D){return typeof D.SET<"u"?" SET "+D.SET.map(function(S){return S.expression}).join(", "):""}var B="";return typeof o.SELECT<"u"&&typeof o.FROM<"u"?B=A(o)+f(o)+m(o)+C(o)+I(o)+E(o)+x(o):typeof o["INSERT INTO"]<"u"?B=y(o)+v(o):typeof o.UPDATE<"u"?B=Q(o)+M(o)+C(o):typeof o["DELETE FROM"]<"u"?B=w(o)+C(o):B=null,B};QD.trim=KC;QD.protect=dwe;QD.unprotect=gwe;QD.protect_split=aJ;QD.CondLexer=p6;QD.CondParser=r3;var F$e=QD;function sJ(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A)}sJ.prototype.getPosition=function(){return this._viewer.camera.position};sJ.prototype.getDegrees=function(){var o=this._viewer.camera.positionCartographic,A={lon:this._cesium.Math.toDegrees(o.longitude),lat:this._cesium.Math.toDegrees(o.latitude),height:o.height};return A};sJ.prototype.getMousePosition=function(o,A){let f=o.endPosition||o.position||o;this.defaultDepthTest===void 0&&(this.defaultDepthTest=!!this._viewer.scene.globe.depthTestAgainstTerrain);let m=this._viewer.camera.getPickRay(f);A&&!Array.isArray(A)&&(A=[A]);let C=this._viewer.scene.pickPosition(f);C?C={position:C}:(this._viewer.scene.globe.depthTestAgainstTerrain=!0,C=this._viewer.scene.pickFromRay(m,A));let E;if(!C||!C.position||!this._viewer.scene.globe.depthTestAgainstTerrain?E=this._viewer.scene.globe.pick(m,this._viewer.scene):E=C.position,this._viewer.scene.globe.depthTestAgainstTerrain=!!this.defaultDepthTest,this.defaultDepthTest=void 0,!E){console.log("\u672A\u62FE\u53D6\u5230\u5750\u6807\uFF01");return}return E};sJ.prototype.getMouseDegrees=function(o,A){let f=this.getMousePosition(o,A);if(!!f)return this._core.toDegrees(f)};var hl=sJ;var Mv=null;function Jx(o,A){Mv=A,this._viewer=o,this._cesium=A,this._scene=o.scene,this._core=new Ji(o,A),this._getPosition=new hl(o,A),this.num=100,this.buffs=[],this.tooltip=this._core.CreateTooltip()}Jx.prototype.changeBurr=function(o){if(this.num=o,this.this_buff)switch(this.type){case"point":this.setPointBuff(this.num);break;case"polyline":this.setPolylineBuff(this.num);break;case"polygon":this.setPolygonBuff(this.num);break}};Jx.prototype.DrawPoint=function(o,A){this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=null),this.this_buff&&this.this_buff.entity&&this._viewer.entities.remove(this.this_buff.entity);var f=this._viewer,m=this._cesium,C=this;let E,I;return typeof o=="number"?(E=o,I={}):typeof o=="object"&&(I=o,E=I.radius),this.num=E||this.num,this.drawHandler=new m.ScreenSpaceEventHandler(f.scene.canvas),this.this_buff={entity:null,buff:null},this.type="point",this.positions=[],this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this.drawHandler.setInputAction(function(x){var y=this._getPosition.getMouseDegrees(x);if(!!y){var v=y.lon,w=y.lat;this.positions.push(v,w),this.this_buff.entity=f.entities.add({name:"\u65B0\u5EFA\u7F13\u51B2\u70B9",position:m.Cartesian3.fromDegrees(v,w),point:{pixelSize:10,color:m.Color.YELLOW,outlineWidth:3,outlineColor:m.Color.YELLOW.withAlpha(.4),heightReference:1}}),this.buffs.push(this.this_buff.entity),this.this_buff.entity=void 0,this.setPointBuff(this.num,I),A&&typeof A=="function"&&A(y),this.end&&this.end()}}.bind(this),m.ScreenSpaceEventType.LEFT_CLICK),this.end=()=>{this.tooltip.show(!1),this.drawHandler.destroy(),this._core.mouse(this._viewer.container,0),this.drawHandler=null,this.end=void 0},this.drawHandler.setInputAction(function(x){this.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u7ED8\u5236\u70B9")}.bind(this),m.ScreenSpaceEventType.MOUSE_MOVE),this};Jx.prototype.setPointBuff=function(o,A){let f=Mv.turf.point(this.positions),m=this.getBuff(f,o);this.this_buff.buff||(this.this_buff.buff=this.addBufferPolyogn(m,A),this.buffs.push(this.this_buff.buff))};Jx.prototype.DrawPolyline=function(o,A){this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=null),this.this_buff&&this.this_buff.entity&&this._viewer.entities.remove(this.this_buff.entity);var f=this._viewer,m=this._cesium;let C,E;typeof o=="number"?(C=o,E={}):typeof o=="object"&&(E=o,C=E.radius),this.num=C||this.num;var I=0;return this.drawHandler=new m.ScreenSpaceEventHandler(f.scene.canvas),this.this_buff={entity:null,buff:null},this.type="polyline",this.positions=[],this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this.drawHandler.setInputAction(function(x){var y=this._getPosition.getMouseDegrees(x);if(!!y){var v=y.lon,w=y.lat;this.positions.push(v,w),I===0&&(this.positions.push(v,w),this.this_buff.entity=f.entities.add({name:"\u65B0\u5EFA\u7F13\u51B2\u7EBF",polyline:{positions:m.Cartesian3.fromDegreesArray(this.positions),width:2,material:new m.ColorMaterialProperty(m.Color.YELLOW),clampToGround:!0,zIndex:1}}),this.this_buff.entity.polyline.positions=new m.CallbackProperty(function(){return m.Cartesian3.fromDegreesArray(this.positions)}.bind(this),!1)),I++}}.bind(this),m.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(x){this.end&&this.end()}.bind(this),m.ScreenSpaceEventType.RIGHT_CLICK),this.end=x=>{if(this.tooltip.show(!1),this.drawHandler.destroy(),this._core.mouse(this._viewer.container,0),this.drawHandler=null,this.end=void 0,x==="cancel"){f.entities.remove(this.this_buff.entity),this.this_buff=void 0;return}var y=this;if(this.positions.length<=4){window.layuiLayer&&window.layuiLayer.msg("\u5F53\u524D\u70B9\u6570\u5C0F\u4E8E\u4E24\u70B9\uFF0C\u8BF7\u91CD\u65B0\u7ED8\u5236"),f.entities.remove(this.this_buff.entity),this.this_buff=void 0,A&&typeof A=="function"&&A(y);return}this.positions.pop(),this.positions.pop(),this.this_buff.entity.polyline.positions=m.Cartesian3.fromDegreesArray(this.positions),this.buffs.push(this.this_buff.entity),this.this_buff.entity=void 0,this.positions=this.degreesArrayToPoints(this.positions),this.setPolylineBuff(this.num,E),A&&typeof A=="function"&&A(y)},this.drawHandler.setInputAction(function(x){if(I===0){this.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u6298\u7EBF");return}else I===1?this.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u7ED8\u5236\u6298\u7EBF"):this.tooltip.showAt(x.endPosition,"\u53F3\u51FB\u7ED3\u675F\u7ED8\u5236");var y=this._getPosition.getMouseDegrees(x);if(!!y){var v=y.lon,w=y.lat;this.positions.splice(this.positions.length-2,2),this.positions.push(v,w)}}.bind(this),m.ScreenSpaceEventType.MOUSE_MOVE),this};Jx.prototype.setPolylineBuff=function(o,A){let f=Mv.turf.lineString(this.positions),m=this.getBuff(f,o);this.this_buff.buff||(this.this_buff.buff=this.addBufferPolyogn(m,A),this.buffs.push(this.this_buff.buff))};Jx.prototype.DrawPolygon=function(o,A){this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=null),this.this_buff&&this.this_buff.entity&&this._viewer.entities.remove(this.this_buff.entity);var f=this._viewer,m=this._cesium;let C,E;typeof o=="number"?(C=o,E={}):typeof o=="object"&&(E=o,C=E.radius),this.num=C||this.num;var I=0;this.drawHandler=new m.ScreenSpaceEventHandler(f.scene.canvas),this.this_buff={entity:null,buff:null},this.type="polygon",this.positions=[];let x=this;return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this.drawHandler.setInputAction(function(y){var v=this._getPosition.getMouseDegrees(y);if(!!v){var w=v.lon,Q=v.lat;this.positions.push(w,Q),I===0?(this.positions.push(w,Q),this.this_buff.entity=f.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new m.CallbackProperty(function(){return m.Cartesian3.fromDegreesArray(x.positions)},!1),clampToGround:!0,material:new m.ColorMaterialProperty(m.Color.YELLOW.withAlpha(.5)),width:3}})):I===1&&(this.this_buff.entity&&f.entities.remove(this.this_buff.entity),this.this_buff.entity=f.entities.add({name:"\u65B0\u5EFA\u7F13\u51B2\u9762",polygon:{hierarchy:new m.PolygonHierarchy(m.Cartesian3.fromDegreesArray(this.positions)),material:new m.ColorMaterialProperty(m.Color.YELLOW.withAlpha(.5)),zIndex:1}}),this.this_buff.entity.polygon.hierarchy=new m.CallbackProperty(function(){return new m.PolygonHierarchy(m.Cartesian3.fromDegreesArray(this.positions))}.bind(this),!1)),I++}}.bind(this),m.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(y){this.end&&this.end()}.bind(this),m.ScreenSpaceEventType.RIGHT_CLICK),this.end=y=>{if(this.tooltip.show(!1),this.drawHandler.destroy(),this._core.mouse(this._viewer.container,0),this.drawHandler=null,this.end=void 0,y==="cancel"){f.entities.remove(this.this_buff.entity),this.this_buff=void 0;return}if(this.positions.length<=6){window.layuiLayer&&window.layuiLayer.msg("\u5F53\u524D\u70B9\u6570\u5C0F\u4E8E\u4E09\u70B9\uFF0C\u8BF7\u91CD\u65B0\u7ED8\u5236"),f.entities.remove(this.this_buff.entity),this.this_buff=void 0,A&&typeof A=="function"&&A(this);return}this.positions.pop(),this.positions.pop(),this.this_buff.entity.polygon.hierarchy=m.Cartesian3.fromDegreesArray(this.positions),this.buffs.push(this.this_buff.entity),this.this_buff.entity=void 0,this.positions=this.degreesArrayToPoints(this.positions),this.positions.push(this.positions[0]),this.setPolygonBuff(this.num,E),A&&typeof A=="function"&&A(this)},this.drawHandler.setInputAction(function(y){if(I===0){this.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u591A\u8FB9\u5F62");return}else I<3?this.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u7ED8\u5236\u591A\u8FB9\u5F62"):this.tooltip.showAt(y.endPosition,"\u53F3\u51FB\u7ED3\u675F\u7ED8\u5236");var v=this._getPosition.getMouseDegrees(y);if(!!v){var w=v.lon,Q=v.lat;this.positions.splice(this.positions.length-2,2),this.positions.push(w,Q)}}.bind(this),m.ScreenSpaceEventType.MOUSE_MOVE),this};Jx.prototype.setPolygonBuff=function(o,A){let f=Mv.turf.polygon([this.positions]),m=this.getBuff(f,o);this.this_buff.buff||(this.this_buff.buff=this.addBufferPolyogn(m,A),this.buffs.push(this.this_buff.buff))};Jx.prototype.getBuff=function(o,A,f={}){let C=Mv.turf.buffer(o,A,{units:"meters",...f}).geometry.coordinates,E=this.pointsToDegreesArray(C[0]),I={positions:Mv.Cartesian3.fromDegreesArray(E)};if(C.length>1){I.holes=[];for(let x=1,y;x<C.length;x++)E=this.pointsToDegreesArray(C[x]),y=Mv.Cartesian3.fromDegreesArray(E),I.holes.push(y)}return I};Jx.prototype.pointsToDegreesArray=function(o){let A=[];return o.map(f=>{A.push(f[0]),A.push(f[1])}),A};Jx.prototype.degreesArrayToPoints=function(o){let A=[];for(let f=0;f<o.length-1;f+=2)A.push([o[f],o[f+1]]);return A};Jx.prototype.addBufferPolyogn=function(o,A={}){let f,m;return f=o.positions,o.holes&&(m=[],o.holes.forEach(C=>{m.push(new Mv.PolygonHierarchy(C))})),this._viewer.entities.add({polygon:{hierarchy:new Mv.CallbackProperty(function(){return new Mv.PolygonHierarchy(f,m)},!1),material:Mv.Color.RED.withAlpha(.6),outline:!0,outlineColor:Mv.Color.YELLOW,outlineWidth:10,zIndex:0,...A}})};Jx.prototype.clearBuff=function(){var o=this._viewer;this.buffs.length>0&&(this.buffs.forEach(function(A){o.entities.remove(A)}),this.buffs.length=0)};var MP=Jx;var An=null,Cwe=null;function N$e(o){return o*3/4}function Uyi(o){var A=o*72/96;return-1*A}function Oyi(o){for(var A=[],f=o.length,m=0;m<f;m++)for(var C=o[m],E=C.positions.length,I=0;I<E;I++)for(var x=C.positions[I],y=0;y<x.length;y+=3)A.push(An.Cartographic.fromDegrees(x[y+0],x[y+1],0));return A}function Ewe(o){var A=0,f,m;if(o.length===0)return A;for(f=0;f<o.length;f++)m=o.charCodeAt(f),A=(A<<5)-A+m,A|=0;return A}function Gyi(o,A,f,m){for(var C,E=0,I=0;I<o.length;I++){var x=o[I];C=m?U$e:f(x),x.absoluteHeightPositions==null&&(x.absoluteHeightPositions=[]);for(var y=0;y<x.positions.length;y++)for(var v=x.positions[y],w=x.absoluteHeightPositions[y]=[],Q=2;Q<v.length;Q+=3){var M=m?0:v[Q];A[E].height==null&&(A[E].height=0),w[Q-2]=v[Q-2],w[Q-1]=v[Q-1],w[Q-0]=v[Q-0],w[Q]=M+A[E].height+C,E++}}}function Hyi(o){for(var A=[],f=0;f<o.length;f++)for(var m=0;m<o[f].positions.length;m+=3)A.push(An.Cartographic.fromDegrees(o[f].positions[m+0],o[f].positions[m+1],0));return A}function Vyi(o,A,f,m){for(var C,E=0,I=0;I<o.length;I++){C=m?U$e:f(o[I]);for(var x=2;x<o[I].positions.length;x+=3){A[E].height==null&&(A[E].height=0),o[I].absoluteHeightPositions==null&&(o[I].absoluteHeightPositions=[]),o[I].absoluteHeightPositions[x-2]=o[I].positions[x-2],o[I].absoluteHeightPositions[x-1]=o[I].positions[x-1],o[I].absoluteHeightPositions[x-0]=o[I].positions[x-0];var y=m?0:o[I].positions[x];o[I].absoluteHeightPositions[x]=y+A[E].height+C,E++}}}function xh(o,A,f){An=f,this._style=o||{},this._core=new Ji(A,f),this._bufferAnalysis=new MP(A,An),A.scene.onHoverShowTextArray={},A.scene._lastObjectShowOnText=null,this.setEyeOffset=function(m,C){C===void 0&&(C=0),m.eyeOffset=window.SmartEarth.DynamicEyeOffset(C)},this.viewer=A,Cwe=A}function Iwe(o,A){for(var f=o.length,m=0;m<f;m++){var C=A(o[m]);if(o[m].geometryType=="polygon"||o[m].geometryType=="multipolygon"){for(var E=o[m],I=E.positions.length,x=0;x<I;x++){for(var y=E.positions[x],v=2;v<y.length;v+=3)y[v]=C;E.positions[x]=y}o[m]=E}else{for(var w=o[m],Q=w.positions.length,x=2;x<Q;x+=3)w.positions[x]=C;o[m]=w}}return o}function xwe(o,A){if(o.isQuery==null){if(o.originalInstanceIds==null){if(o.parentLayer.isExistRenderedFeatureId(A))return!1}else if(o.originalInstanceIds.indexOf(A)==-1)return!1}return!0}function lJ(o){return function(A){var f=Number(o.applyConditionalClassification(o._style.altitudeOffset||o._style.height,A.attributes));return isNaN(f)&&(f=0),f}}function pwe(o){if(typeof o!="string")return o;var A=Number(o);if(!isNaN(A)){var f=A.toString(16);if(f.length<6&&f!=null)for(var m=f.length;m<6;)f="0"+f,m++;var C="#"+f,E=An.Color.fromCssColorString(C);if(E!=null){var I=E.red;E.red=E.blue,E.blue=I}return E}return o}function Oie(o){if(o!=null){var A=parseInt(o);if(o.alpha==null&&!isNaN(A)){A<0&&(A&=16777215);var f=A.toString(16);if(f.length<6&&f!=null)for(var m=f.length;m<6;)f="0"+f,m++;var C="#"+f;C=C.substring(0,7);var E=An.Color.fromCssColorString(C);if(E!=null){var I=E.red;E.red=E.blue,E.blue=I}return E}return o}}function Gie(o){return isNaN(o)?o:parseFloat(o)}function k$e(o,A){var f=[];$.each(o.attributeNames,function(C,E){f.push(Gie(A[E]))});var m;return f.length===1?m=o.func(f[0]):o.attributeNames.length===2?m=o.func(f[0],f[1]):o.attributeNames.length===3?m=o.func(f[0],f[1],f[2]):o.attributeNames.length===4&&(m=o.func(f[0],f[1],f[2],f[3])),m}function zyi(o,A){if(!(o===void 0||o.condition.length===0)){if(o.func===void 0)return Gie(o.value);var f=void 0,m=k$e(o,A);return m===!0&&(f=Gie(o.value)),f}}function Yyi(o){return o.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")}function mwe(o,A,f){return o.replace(new RegExp(Yyi(A),"g"),f)}var Jyi=!1,Kyi=Hyi,Wyi=Vyi,U$e=1;Object.defineProperties(xh.prototype,{style:{get:function(){return this._style},set:function(o){this._style=o}}});xh.prototype.clonePartOfMultiFeature=function(o,A){let f=o.geometryType.includes("multi")?o.fid+"."+A:o.fid;return{positions:o.positions[A],attributes:o.attributes,fid:f,geometryType:o.geometryType}};xh.prototype.createPrimitiveFromWFSFeatures=function(o){var A=new An.PrimitiveCollection,f=[],m=[],C=[];o.features.numPositions=0;for(var E=0;E<o.features.length;E++){var I=o.features[E];switch(this.sanitizePositions(I.positions),o.features.numPositions+=I.positions.length,I.geometryType){case"polygon":f.push(I);break;case"multipolygon":for(var y=I.positions.length,x=0;x<y;x++)f.push(this.clonePartOfMultiFeature(I,x));break;case"linestring":m.push(I);break;case"multilinestring":for(var y=I.positions.length,x=0;x<y;x++)m.push(this.clonePartOfMultiFeature(I,x));break;case"point":C.push(I);break;case"multipoint":for(var y=I.positions.length,x=0;x<y;x++)C.push(this.clonePartOfMultiFeature(I,x))}}f.length>0?(o.features=f,this.createPolygonPrimitive(o)):m.length>0?(o.features=m,this.createLinestringPrimitive(o)):C.length>0&&(o.features=C,this.createPointPrimitive(o))};xh.prototype.createPolygonPrimitive=function(o){var A=this,f=!1,m=function(x){if(x.isQuery){x.onFinishedQuery(v);return}var y="",v=[],w=[],Q=[],M=[],B=[];let D=A.style.polygon,S=D.clampToGround||!D.perPositionHeight&&!D.extrudedHeight&&!D.height,P;D.text&&(P=new An.LabelCollection);for(var R=0;R<x.features.length;R++){var T=x.features[R];if(!xwe(x,T.fid))continue;var L=T.absoluteHeightPositions?T.absoluteHeightPositions:T.positions,F=A.createPolygonOptions(L,T.attributes),U=A.createCommonOptions(T.attributes),N=An.BoundingSphere.fromPoints(F.hierarchy.positions);if(T.absoluteHeightPositions&&delete T.absoluteHeightPositions,v.push(N),x.isQuery)continue;let j;if(F.randomColor&&(j=An.Color.fromRandom()),F.outline&&!S){var H=A.createPolygonGeometryHelper("outline",T,F.outlineColor,F);Q.push(H)}else F.outline&&Q.push(new An.GeometryInstance({geometry:new An.GroundPolylineGeometry({positions:F.hierarchy.positions,width:F.outlineWidth})}));if(F.text){let ee=A._core.getCenterOfMass(F.hierarchy.positions),ie=A.createPointOptions(ee,T.attributes);if(!S&&A.style.pointHeight==null&&(F.extrudedHeight||F.height)&&(ie.position=An.Cartesian3.fromDegrees(ee[0],ee[1],F.extrudedHeight?(F.height||0)+F.extrudedHeight:F.height)),(F.labelNear||F.labelFar)&&(ie.label.distanceDisplayCondition=new An.DistanceDisplayCondition(F.labelNear||0,F.labelFar||1/0)),F.offsetPoint&&F.offsetPoint[ie.label.text]){let oe=A._core.toDegrees(ie.position);A._core.getCenterOfMass(F.hierarchy.positions);let le=F.offsetPoint[ie.label.text];le[0]&&(oe.lon=le[0]),le[1]&&(oe.lat=le[1]),le[2]!==void 0&&(oe.height=le[2]),ie.position=An.Cartesian3.fromDegrees(oe.lon,oe.lat,oe.height)}let z=P.add({id:T,position:ie.position,...ie.label});delete z.id.positions,z.id.boundingSphere=N}if(F.colorConfig){let ee;for(let ie in F.colorConfig){for(let z in F.colorConfig[ie])if(T.attributes[ie]==z){ee=F.colorConfig[ie][z];break}if(ee)break;F.colorConfig[ie]["#"]&&(ee=F.colorConfig[ie]["#"])}ee&&(F.material=An.Color.fromCssColorString(ee))}if(F.fill&&F.material.alpha>0){var H=A.createPolygonGeometryHelper("fill",T,j||F.material,F);w.push(H)}x.parentLayer.addRenderedFeatureId(T.fid),y+=T.fid+";",M.push(T.fid),B.push(U.tooltip)}if(y!=""){var J=new An.PrimitiveCollection,K=new An.PerInstanceColorAppearance({flat:F.material.alpha==0,translucent:F.material.alpha<1});if(P&&J.add(P),w.length>0){if(F.water){let j={color:F.water.color||"rgba(135,206,235,0.6)",image:F.water.image||window.SmartEarthRootUrl+kr.water,frequency:F.water.frequency||1e3,speed:F.water.speed||10,amplitude:F.water.amplitude||10},ee=An.Color.fromCssColorString(j.color);K=new An.EllipsoidSurfaceAppearance({material:new An.Material({fabric:{type:"Water",uniforms:{baseWaterColor:ee,blendColor:ee,normalMap:j.image,frequency:j.frequency,animationSpeed:j.speed/1e3,amplitude:j.amplitude}}})})}var X;S?X=new An.GroundPrimitive({geometryInstances:w,appearance:K,classificationType:F.classificationType}):X=new An.Primitive({geometryInstances:w,appearance:K}),X._parentCollection=J,J.add(X)}if(Q.length>0)if(F.clampToGround)J.add(new An.GroundPolylinePrimitive({geometryInstances:Q,appearance:new An.PolylineMaterialAppearance({material:new An.Material({fabric:{type:"Color",uniforms:{color:F.outlineColor}}})})}));else{var X=new An.Primitive({geometryInstances:Q,appearance:K});X._parentCollection=J,J.add(X)}J.ID="polygons:"+Ewe(y),J._instanceIds=M,J._tooltips=B,x.onFinishedCreatePrimitive(J,v)}},C=this.style.altitudeMethod==3;if(C)o.features=Iwe(o.features,lJ(A)),m(o);else{f=!0;var E=Oyi(o.features),I=window.SmartEarth.sampleRenderedData(E,window.SmartEarth.SampleRenderedDataFlags.TERRAIN|window.SmartEarth.SampleRenderedDataFlags.FLOOR,Cwe);Promise.resolve(I).then(function(x){Jyi&&console.log("adding polygon with "+x.length+" vertices");var y=A._style.altitudeMethod==2;Gyi(o.features,x,lJ(A),y),m(o)})}};xh.prototype.createPolygonGeometryHelper=function(o,A,f,m){var C=m.hierarchy,E=m.perPositionHeight,I=m.extrudedHeight,x=m.height,y=m.water,v=I!=null||x!==void 0?An.PerInstanceColorAppearance.VERTEX_FORMAT:An.PerInstanceColorAppearance.FLAT_VERTEX_FORMAT;y&&(v=An.EllipsoidSurfaceAppearance.VERTEX_FORMAT),I!==void 0&&x!==void 0&&(I+=x);var w;let Q;return m.bulidingWall?(Q=o==="fill"?An.CorridorGeometry:An.CorridorOutlineGeometry,w=new Q({positions:C.positions,width:m.bulidingWallWidth||.8,vertexFormat:v,extrudedHeight:I,height:x,cornerType:An.CornerType.MITERED})):(Q=o==="fill"?An.PolygonGeometry:An.PolygonOutlineGeometry,w=new Q({polygonHierarchy:C,vertexFormat:v,perPositionHeight:x!==void 0?void 0:E,extrudedHeight:I,height:x})),new An.GeometryInstance({geometry:w,id:A,attributes:{color:An.ColorGeometryInstanceAttribute.fromColor(f)}})};xh.prototype.createLinestringPrimitive=function(o){var A=this,f=!1,m=function(C){if(C.isQuery){C.onFinishedQuery(I);return}var E="",I=[],x,y=[],v=[],w=[];let Q=new An.PrimitiveCollection;for(var M=0;M<C.features.length;M++){var B=C.features[M];if(!xwe(C,B.fid))continue;var D=B.absoluteHeightPositions?B.absoluteHeightPositions:B.positions,S=A.createLinestringOptions(D,B.attributes),P=A.createCommonOptions(B.attributes),R=0;if(R&&x==null&&(x=!!(S.widthInMeters&&A.style.altitudeMethod==2)),S.vertexFormat=x?An.PerInstanceColorAppearance.VERTEX_FORMAT:An.PolylineColorAppearance.VERTEX_FORMAT,B.absoluteHeightPositions&&delete B.absoluteHeightPositions,I.push(An.BoundingSphere.fromPoints(S.positions)),C.isQuery)continue;var T,L;S.clampToGround?(T=new An.GroundPolylineGeometry({positions:S.positions,width:S.width}),L=new An.GeometryInstance({id:B,geometry:T,attributes:{color:new An.ColorGeometryInstanceAttribute.fromColor(S.material)}})):(T=new An.PolylineGeometry(S),L=new An.GeometryInstance({id:B,geometry:T,attributes:{color:new An.ColorGeometryInstanceAttribute.fromColor(S.material)}})),C.parentLayer.addRenderedFeatureId(B.fid),E+=B.fid+";",y.push(B.fid),v.push(P.tooltip);let U=null,N;S.dash?N=new An.PolylineMaterialAppearance({material:An.Material.fromType(An.Material.PolylineDashType,{color:S.material,gapColor:S.gapColor||An.Color.TRANSPARENT,dashLength:S.dashLength||20})}):N=new An.PolylineMaterialAppearance({material:new An.Material({fabric:{type:"PolylineOutline",uniforms:{color:S.material,outlineColor:S.outlineColor||S.material,outlineWidth:S.outlineWidth||0}}})}),S.clampToGround?U=new An.GroundPolylinePrimitive({geometryInstances:L,appearance:N,classificationType:S.classificationType}):U=new An.Primitive({geometryInstances:L,appearance:N}),Q.add(U)}if(E!=""){var F=Q;F.ID="polylines:"+Ewe(E),F._instanceIds&&F._instanceIds.length===0&&(F._instanceIds=y),F._tooltips=v,C.onFinishedCreatePrimitive(F,I)}};A&&A.style&&A.style.height!==void 0&&(o.features=Iwe(o.features,lJ(A))),m(o)};xh.prototype.createPointPrimitive=function(o){var A=this,f=function(I){if(I.isQuery){I.onFinishedQuery(v);return}for(var x="",y=[],v=[],w=[],Q,M=new An.LabelCollection({scene:A.viewer.scene}),B=new An.PointPrimitiveCollection({scene:A.viewer.scene}),D=new An.BillboardCollection({scene:A.viewer.scene}),S=new An.PrimitiveCollection,P=new An.PolylineCollection,R=0;R<I.features.length;R++){var T=I.features[R];if(!!xwe(I,T.fid)){var L=T.absoluteHeightPositions?T.absoluteHeightPositions:T.positions,F=A.createPointOptions(L,T.attributes),U=A.createCommonOptions(T.attributes);if(T.clampToGround=F.clampToGround,F.sgsPointPosition&&(T.sgsPointPosition=F.sgsPointPosition,delete F.sgsPointPosition),T.absoluteHeightPositions&&delete T.absoluteHeightPositions,v.push(An.BoundingSphere.fromPoints([F.position])),!I.isQuery){if(F.label)if(F.label.position=F.position,F.label.id=T,A.setEyeOffset(F.label),F.label.imageFile!=null&&(F.label.image=A.applyConditionalClassification(F.label.imageFile,T.attributes),F.label.label=F.label,D.add(F.label),A.setEyeOffset(F.label,-5)),F.label.imageFile!=null&&F.label.showText!=null&&F.label.showText&&(A.viewer.scene.onHoverShowTextArray[F.label.id]=!0),F.label.isBold!=null&&F.label.isBold)M.add(g);else if(F.label.isUnderline!=null&&F.label.isUnderline){var N="_",H=F.label.text.match(/[iljf1]/g)!=null?F.label.text.match(/[iljf1]/g):[],J=F.label.text.length,K=Array(Math.ceil(J-H.length*.5)).join(N);Q=$.extend({},F.label),F.label.image!=null&&delete F.label.image,Q.position=F.label.position,Q.id=F.label.id,Q.text=K,Q.alignment=F.label.alignment!=null?F.label.alignment:void 0,Q.underline=!0,Q.textRelativeToImage=F.label.textRelativeToImage!=null?F.label.textRelativeToImage:void 0;var X=F.label.font.indexOf("pt")>-1?Number(F.label.font.split("pt")[0])*4/3:F.label.font.indexOf("px")>-1?Number(F.label.font.split("px")[0]):5;Q.pixelOffset=new An.Cartesian2(0,-45),M.add(Q)}else M.add(F.label);if(F.billboard&&(F.billboard.position=F.position,F.billboard.id=T,A.setEyeOffset(F.billboard),D.add(F.billboard)),F.model){F.model.url=F.model.uri,F.model.id=T;var j=S.add(An.Model.fromGltf(F.model))}if(F.point&&(F.point.position=F.position,F.point.id=T,A.setEyeOffset(F.point),B.add(F.point)),F.lineToGround!=0){var ee=An.Cartographic.fromCartesian(F.position),ie=An.Cartesian3.fromRadians(ee.longitude,ee.latitude,0);if(F.lineToGround==2){var z=F.lineToGroundLength/An.Cartesian3.distance(F.position,ie);An.Cartesian3.lerp(F.position,ie,z,ie)}P.add({show:!0,width:1,positions:[F.position,ie],material:An.Material.fromType("Color",{color:F.lineToGroundColor})})}I.parentLayer.addRenderedFeatureId(T.fid),x+=T.fid+";",y.push(T.fid),w.push(U.tooltip)}}}if(x!=""){var oe,le=new An.PrimitiveCollection;M.length>0&&($.each(M._labels,function(Ae,he){he._type="Label"}),M._billboardCollection._parentCollection=le,le.add(M),oe="labels"),D.length>0&&($.each(D._billboards,function(Ae,he){he._type="Billboard"}),D._parentCollection=le,le.add(D),oe="billboards"),S.length>0&&($.each(S._primitives,function(Ae,he){he._type="Model",he._parentCollection=le}),le.add(S),oe="models"),B.length>0&&($.each(B._pointPrimitives,function(Ae,he){he._type="Point"}),B._parentCollection=le,le.add(B),oe="points"),P.length>0&&($.each(P._polylines,function(Ae,he){he._type="L2G"}),P._parentCollection=le,le.add(P),oe="L2G"),le.ID=oe+":"+Ewe(x),le._instanceIds=y,le._tooltips=w,I.onFinishedCreatePrimitive(le,v)}},m=this.style.altitudeMethod==3;if(m)o.features=Iwe(o.features,lJ(A)),f(o);else{var C=Kyi(o.features),E=window.SmartEarth.sampleRenderedData(C,window.SmartEarth.SampleRenderedDataFlags.TERRAIN|window.SmartEarth.SampleRenderedDataFlags.FLOOR,Cwe);Promise.resolve(E).then(function(I){var x=A._style.altitudeMethod==2;Wyi(o.features,I,lJ(A),x),f(o)}).catch(function(I){})}};xh.prototype.createCommonOptions=function(o){var A={};return A.tooltip=this.applyConditionalClassification(this.style.tooltip,o),A};xh.prototype.createPolygonOptions=function(o,A){var f=this.getPolygonStyle(this.style);f.preLoad&&f.preLoad(f.polygon,A),f.polygon.hierarchy={positions:An.Cartesian3.fromDegreesArrayHeights(o[0]),holes:[]};for(var m=1;m<o.length;m++)f.polygon.hierarchy.holes.push({positions:An.Cartesian3.fromDegreesArrayHeights(o[m])});var C=this.applyConditionalClassification(f.polygon.material,A);if(f.polygon.material=pwe(C),f.polygon.fill!=null&&f.polygon.fromKml!=null){var E=this.applyConditionalClassification(f.polygon.fill,A);E>1&&(E/=100),f.polygon.material=new An.Color(f.polygon.material.red,f.polygon.material.green,f.polygon.material.blue,E)}if(f.polygon.height&&(f.polygon.height=Number(this.getValueFromProp(f.polygon.height,A))),f.polygon.extrudedHeight&&f.polygon.extrudedHeight&&f.polygon.extrudedHeight.indexOf&&f.polygon.extrudedHeight.indexOf("[")>-1&&f.polygon.extrudedHeight.defaultValue.indexOf("]")>-1){var C=A[f.polygon.extrudedHeight.defaultValue.substring(1,f.polygon.extrudedHeight.defaultValue.length-1)],C=parseInt(C),I=C*3;C!==void 0&&(f.polygon.extrudedHeight=C*3)}if(f.polygon.extrudedHeight&&(f.polygon.extrudedHeight=Number(f.polygon.extrudedHeight)),A.FSCALE){var x=this.getLevelDistance(A.FSCALE);f.polygon.distanceDisplayCondition=new An.DistanceDisplayCondition(1,x)}return C=this.applyConditionalClassification(f.polygon.outlineColor,A),f.polygon.outlineColor=pwe(C),f.polygon};xh.prototype.translateLineWidth=function(o,A){var f=this.applyConditionalClassification(o.polyline.width,A);return f>0?TerraExplorer.USE_CORRIDOR_FOR_LINE_WIDTH_IN_METERS?f>1&&(o.polyline.widthInMeters=!0,f*=.8,o.polyline.backgroundOpacity>0&&(f*=.8)):f=f>1?2:1:f<0?f=Math.min(5,Math.abs(f)):f==0&&(f=1),f};xh.prototype.createLinestringOptions=function(o,A){var f=this.getLinestringStyle(this.style);f.preLoad&&f.preLoad(f.polyline,A),f.id=A,f.polyline.positions=An.Cartesian3.fromDegreesArrayHeights(o);var m=this.applyConditionalClassification(f.polyline.material,A);if(f.polyline.material=pwe(m),f.polyline.far&&(f.polyline.distanceDisplayCondition=new An.DistanceDisplayCondition(f.polyline.near!==void 0?f.polyline.near:0,f.polyline.far)),A.FSCALE){var C=this.getLevelDistance(A.FSCALE);f.polyline.distanceDisplayCondition=new An.DistanceDisplayCondition(1,C)}return f.polyline.width=this.applyConditionalClassification(f.polyline.width,A),f.polyline};xh.prototype.getValueFromProp=function(o,A){let f=o&&o.defaultValue?o.defaultValue:o;if(f&&f.indexOf){if(f.indexOf("[")>-1&&f.indexOf("]")>-1)f=f.replace("[","").replace("]",""),f=this.getPropValue(A,f);else if(f.indexOf("{")>-1&&f.indexOf("}")>-1){let m=/\{[^\}]+\}/g;f.match(m).forEach(E=>{let I=this.getPropValue(A,E.substring(1,E.length-1));f=f.replace(E,I)}),f=f.replaceAll("\\n",` `)}}return f};xh.prototype.getPropValue=function(o,A){if(o[A])return o[A];if(A.includes(":"))return o[A.split(":")[1]]};xh.prototype.applyConditionalClassification=function(o,A){if(o!=null){if(o.defaultValue==null)return o;var f=Gie(o.defaultValue);if(o.classificationArray===void 0&&(!isNaN(f)||f instanceof An.Color))return f;if(o.attributeName!==void 0){var m="["+o.attributeName+"]";if(f===m)f=A[o.attributeName];else if(o.multipleAttributeReplacementNeeded)for(name in A)f=mwe(f,"["+name+"]",A[name]);else f=mwe(f,m,A[o.attributeName]);return f}if(o.classification!==void 0)return f=k$e(o.classification,A),f;var C=o.classificationArray;return C!==void 0&&$(Object.keys(C)).each(function(E,I){var x=zyi(C[I],A);x&&(f=x)}),f}};xh.prototype.createLineToGroundOptions=function(o,A){var f=this.applyConditionalClassification(o.lineToGround,A);if(f!=null&&Number(f)!=0){o.lineToGround=f;var m=this.applyConditionalClassification(o.lineToGroundColor,A);m=Oie(m),o.lineToGroundColor=m;var C=this.applyConditionalClassification(o.lineToGroundLength,A);typeof C=="string"&&C.indexOf("[")>-1&&C.indexOf("]")>-1&&(C=A[C.substring(1,C.length-1)]||0),o.lineToGroundLength=Number(C)}else o.lineToGround=0,o.lineToGroundColor=0,o.lineToGroundLength=0};xh.prototype.createPointOptions=function(o,A){var f=this.getPointStyle(this.style);if(f.pointHeight){let R=f.pointHeight;R=this.getValueFromProp(R,A)||0,f.position=An.Cartesian3.fromDegrees(o[0],o[1],R),o[2]=R}else f.position=Array.isArray(o)?An.Cartesian3.fromDegrees(o[0],o[1],o[2]):o;if(f.sgsPointPosition=o,f.id=A,f.label){if(f.label.text=this.getValueFromProp(f.label.text,A),f.label.text=this.o(f.label.text)?this.s(f.label.text):f.label.text,f.label.text.indexOf("[")>-1&&f.label.text.indexOf("]")>-1&&(f.label.text=""),f.label.family!=null){var m=this.applyConditionalClassification(f.label.family,A),C=this.applyConditionalClassification(f.label.font,A);C>=0?f.label.font=N$e(C).toString()+"pt "+m:f.label.font=N$e(Uyi(C)).toString()+"pt "+m}if(f.label.fillColor=Oie(this.applyConditionalClassification(f.label.fillColor,A)),f.label.backgroundColor=Oie(this.applyConditionalClassification(f.label.backgroundColor,A)),f.label.backgroundColor==null&&(f.label.backgroundColor=new An.Color(.165,.165,.165,0)),f.label.showBackground=!0,f.label.showText!=null){var E=this.applyConditionalClassification(f.label.showText,A);if(E&&Number(E)===1&&(f.label.onHoverShowText=!0),E&&viewer.scene.canvas.onHoverShowText==null){var I=viewer.scene,x=new An.ScreenSpaceEventHandler(I.canvas);x.setInputAction(function(R){var T={},L=I.screenToWorld(R.endPosition,T);An.defined(T.pickPrimitive)&&T.pickPrimitive.constructor.name=="Billboard"&&T.pickPrimitive.label!=null?I.onHoverShowTextArray[T.pickPrimitive.label.id]!=null&&(I._lastObjectShowOnText!=null&&I._lastObjectShowOnText.id!=T.pickPrimitive.label.id&&I._lastObjectShowOnText.show!=null&&(I._lastObjectShowOnText.show=!1),viewer.scene._lastObjectShowOnText=I.onHoverShowTextArray[T.pickPrimitive.label.id],I._lastObjectShowOnText.show!=null&&(viewer.scene._lastObjectShowOnText.show=!0)):I._lastObjectShowOnText!=null&&I._lastObjectShowOnText.show!=null&&(I._lastObjectShowOnText.show=!1)},An.ScreenSpaceEventType.MOUSE_MOVE),viewer.scene.canvas.onHoverShowText=!0}}if(f.label.textRelativeToImage!=null&&f.label.textAlignment!=null&&(f.label.textRelativeToImage=this.applyConditionalClassification(f.label.textRelativeToImage,A),f.label.alignment=this.applyConditionalClassification(f.label.textAlignment,A)),f.label.underline!=null&&(f.label.isUnderline=this.applyConditionalClassification(f.label.underline,A)),f.label.bold!=null){var y=this.applyConditionalClassification(f.label.bold,A);y==1&&(f.label.font="bold "+f.label.font)}if(f.label.italic!=null){var y=this.applyConditionalClassification(f.label.italic,A);y==1&&(f.label.font="italic "+f.label.font)}if(f.label.backgroundOpacity!=null&&(f.label.backgroundColor.alpha=this.applyConditionalClassification(f.label.backgroundOpacity,A)),f.label.minViewingHeight!=null){var v=this.applyConditionalClassification(f.label.minViewingHeight,A),w=this.applyConditionalClassification(f.label.scaleMPP,A)*650;f.label.distanceDisplayCondition=new An.DistanceDisplayCondition(v,w)}if(A.FSCALE){var E=this.getLevelDistance(A.FSCALE);f.label.distanceDisplayCondition=new An.DistanceDisplayCondition(1,E)}!f.label.disableDepthTestDistance&&(f.label.disableDepthTestDistance=1e3),f.clampToGround&&(f.label.heightReference=1)}if(f.billboard){if(f.billboard.sizeInMeters=!1,f.billboard.imageColor!=null){var Q=this.applyConditionalClassification(f.billboard.imageColor,A);Q=Oie(Q),f.billboard.color=Q}if(f.billboard.imageOpacity!=null&&f.billboard.color.alpha!=null&&(f.billboard.color.alpha=Number(this.applyConditionalClassification(f.billboard.imageOpacity,A))),f.billboard.image=this.applyConditionalClassification(f.billboard.image,A),f.billboard.minViewingHeight!=null){var v=this.applyConditionalClassification(f.billboard.minViewingHeight,A),w=this.applyConditionalClassification(f.billboard.scaleMPP,A)*650;f.billboard.distanceDisplayCondition=new An.DistanceDisplayCondition(v,w)}if(A.FSCALE){var E=this.getLevelDistance(A.FSCALE);f.billboard.distanceDisplayCondition=new An.DistanceDisplayCondition(1,E)}f.billboard.link&&f.id&&typeof f.id=="object"&&(f.id.link=this.applyConditionalClassification(f.billboard.link,A)),!f.billboard.disableDepthTestDistance&&(f.billboard.disableDepthTestDistance=1e3),f.clampToGround&&(f.billboard.heightReference=1)}if(f.model){var M=function(R){var T=Number(R);return(!An.defined(T)||isNaN(T))&&(T=0),T};f.model.uri=this.applyClassification(f.model.uri,A),f.model.scale=M(this.applyClassification(f.model.scale,A));var B=M(this.applyClassification(f.model.heading,A)),D=M(this.applyClassification(f.model.pitch,A)),S=M(this.applyClassification(f.model.roll,A)),P=new An.HeadingPitchRoll(An.Math.toRadians(B),An.Math.toRadians(D),An.Math.toRadians(S));f.model.modelMatrix=An.Transforms.headingPitchRollToFixedFrame(f.position,P)}return this.createLineToGroundOptions(f,A),f},xh.prototype.s=function(o){return o.split("").reverse().join("")},xh.prototype.getLevelDistance=function(o){var A=2e7;switch(parseInt(o)){case 2:A=10123e3;break;case 3:A=7123e3;break;case 4:A=6321e3;break;case 5:A=5522e3;break;case 6:A=3436e3;break;case 7:A=539e3;break;case 8:A=305e3;break;case 9:A=18e4;break;case 10:A=133e3;break;case 11:A=1e5;break;case 12:A=76500;break;case 13:A=58200;break;case 14:A=23500;break;case 15:A=9600;break;case 16:A=4e3;break;case 17:A=2e3;break;case 18:A=1700;break;case 19:A=1500;break;case 20:A=1e3;break;case 21:A=500;break;case 22:A=200;break;case 23:A=100;break}return A};xh.prototype.o=function(o){if(!o)return o;var A="A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FFF\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF",f="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC",m=new RegExp("^[^"+A+"]*["+f+"]");return m.test(o[0])};xh.prototype.applyClassification=function(o,A){if($.type(o)!=="string")return o;if(/(\[([^\]]+)\])/g.exec(o)!=null)for(var f in A)o=mwe(o,"["+f+"]",A[f]);o=="undefined"&&(o="");for(var m=/(\<([^\>]+)\>)/g,C=m.exec(o);C!=null;){try{var E=C[C.length-1],I=(0,eval)(E);o=o.replace(C[0],I)}catch{}C=m.exec(o)}return o};xh.prototype.getPolygonStyle=function(o){var A=$.extend(!0,{},TP.DEFAULT_POLYGON_STYLE,o);return A};xh.prototype.getLinestringStyle=function(o){var A=$.extend(!0,{},TP.DEFAULT_POLYLINE_STYLE,o);return A};xh.prototype.getPointStyle=function(o){if(o.label!=null){var A=$.extend(!0,{},TP.DEFAULT_LABEL_STYLE,o);return A}if(o.billboard!=null){var f=$.extend(!0,{},TP.DEFAULT_BILLBOARD_STYLE,o);return f}if(o.model!=null){var m=$.extend(!0,{},TP.DEFAULT_MODEL_STYLE,o);return m}if(o.point!=null){var C=$.extend(!0,{},TP.DEFAULT_POINT_STYLE,o);return C}return TP.DEFAULT_POINT_STYLE};xh.prototype.sanitizePositions=function(o){for(var A=0;A<o.length;A++)o[A]instanceof Array?this.sanitizePositions(o[A]):isNaN(o[A])&&(o[A]=0)};var TP={};Object.defineProperties(TP,{DEFAULT_POLYGON_STYLE:{get:function(){return{polygon:{perPositionHeight:!0,fill:0,material:An.Color.GREEN,outline:!0,outlineColor:An.Color.WHITE,outlineWidth:1}}}},DEFAULT_POLYLINE_STYLE:{get:function(){return{polyline:{material:An.Color.WHITE,width:1}}}},DEFAULT_POINT_STYLE:{get:function(){return{point:{color:An.Color.RED.withAlpha(.5),pixelSize:5,outlineColor:An.Color.WHITE.withAlpha(.5),outlineWidth:2}}}},DEFAULT_LABEL_STYLE:{get:function(){return{label:{text:"Text",font:"18px arial",style:An.LabelStyle.FILL,fillColor:An.Color.WHITE,outlineColor:An.Color.BLACK,outlineWidth:5,scale:1,horizontalOrigin:An.HorizontalOrigin.CENTER,verticalOrigin:An.VerticalOrigin.BOTTOM,eyeOffset:An.Cartesian3.ZERO,pixelOffset:new An.Cartesian2(0,-50)}}}},DEFAULT_BILLBOARD_STYLE:{get:function(){return{billboard:{image:"./img/query.png",scale:1,horizontalOrigin:An.HorizontalOrigin.CENTER,verticalOrigin:An.VerticalOrigin.BOTTOM}}}},DEFAULT_MODEL_STYLE:{get:function(){return{model:{uri:"./img/CesiumTexturedBoxTest.bgltf",scale:1e3}}}}});var O$e=xh;var G$e,ba=null;function ku(o,A,f,m,C,E,I,x,y,v){ba=v;var w=this;if(this._viewer=o,this._Viewer=o,w.G=65535,G$e=new L$e(ba),Bwe=new Cb({workerPath:ivi()},ba),!ba.sampleRenderedData){let M=function(L,F,U){var N=ba.defer();function H(J){L.ready?Promise.resolve(R(L,F,J)).then(function(K){N.resolve(K)}):setTimeout(H,10)}return ba.Check.typeOf.object("terrainProvider",L),ba.Check.defined("positions",F),H(U),N.promise},B=function(L,F){for(var U=0;U<L.children.length;U++){var N=L.children[U].state>=ba.QuadtreeTileLoadState.DONE&&(L.children[U].data.terrainData._mesh!=null||L.children[U].data.terrainData._buffer!=null);if(N&&L.children[U].x==F.x&&L.children[U].y==F.y)return L.children[U]}},D=function(L,F,U){for(var N=L.tilingScheme,H=N.positionToTileXY(F,0),J=U.scene.globe._surface.tileProvider.quadtree._levelZeroTiles,K=J[0].x==H.x&&J[0].y==H.y?J[0]:J[1],X=1;X<22;X++){H=N.positionToTileXY(F,X);var j=B(K,H);if(j==null)break;K=j}return K},S=function(L,F){ba.Check.defined("positions",L);var U=ba.defer();return Promise.resolve(P(L,F)).then(function(N){U.resolve(N)}),U.promise},P=function(L,F,U){var N=$.grep(U.scene.primitives._primitives,function(ee){return ee instanceof ba.Cesium3DTileset}),H;for(H=0;H<L.length;++H){var J=L[H],K=J instanceof ba.Cartographic,X=K?J:ba.Cartographic.fromCartesian(J);if(X.height=w.G,!K){var j=ba.Cartesian3.fromRadiansArrayHeights([X.longitude,X.latitude,X.height])[0];J.z=j.z}}return L},R=function(L,F,U){var N;for(N=0;N<F.length;++N){var H=F[N],J=D(L,H,U);H.height=J.data.terrainData.interpolateHeight(J.rectangle,H.longitude,H.latitude)}return F},T=function(L){this.value=new Float32Array([L])};T.fromZBias=function(L){if(!ba.defined(L))throw new DeveloperError("zbias is required.");return new T(L)},T.toValue=function(L,F){if(!ba.defined(L))throw new DeveloperError("zbias is required.");return ba.defined(F)?color.toBytes(F):new Float32Array(L)},T.equals=function(L,F){return L===F||ba.defined(L)&&ba.defined(F)&&L.value[0]===F.value[0]},T.defaultBias=function(){var L=15e-6;return T.fromZBias(L)},ba.ZBiasGeometryInstanceAttribute=T,ba.ZBiasGeometryInstanceAttribute=T,ba.SampleRenderedDataFlags={TERRAIN:2,MESH:4,FLOOR:8},ba.DynamicEyeOffset=function(L){return L===void 0&&(L=0),new ba.Cartesian3(.001234321,0,L)},ba.sampleRenderedData=function(L,F,U){var N={TERRAIN:2,MESH:4,FLOOR:8};F==null&&(F=N.TERRAIN|N.MESH);var H=ba.defer(),J=[];F>N.TERRAIN?L.forEach(function(j){J.push(ba.Cartographic.fromRadians(j.longitude,j.latitude,j.height))}):J=L;var K=[];F&N.TERRAIN&&K.push(M(U.terrainProvider,L));var X=(F&N.FLOOR)>0;return F&(N.MESH|N.FLOOR)&&K.push(S(J,X)),Promise.all(K).then(function(j){if(K.length>1)for(var ee=0;ee<L.length;ee++){var ie=j[0][ee],z=j[1][ee];z.height!=w.G&&(ie.height<z.height||X)&&(ie.height=z.height)}H.resolve(j[0])}),H.promise},ba.sampleRenderedMesh=function(L,F){ba.Check.defined("positions",L);var U=ba.defer();return Promise.resolve(P(L,F)).then(function(N){U.resolve(N)}),U.promise},ba.sampleRenderedTerrain=function(L,F){function U(){L.ready?Promise.resolve(R(L,F)).then(function(H){N.resolve(H)}):setTimeout(U,10)}ba.Check.typeOf.object("terrainProvider",L),ba.Check.defined("positions",F);var N=ba.defer();return U(),N.promise},ba.QuadtreePrimitive.prototype.getRenderedBestLevelInfo=function(){var L=this.getRenderedLevelInfo(),F=0;for(var U in L)F<Number(U)&&(F=Number(U));return{bestLevel:F,count:L[F]}},ba.QuadtreePrimitive.prototype.getRenderedLevelInfo=function(){var L=[];return this._tilesToRender.forEach(function(F){L[F.level]==null&&(L[F.level]=0),L[F.level]++}),L}}C=C||{},this._level=m||{min:0,max:22},typeof this._level=="number"&&(this._level={min:m,max:22}),this._url=A,this._layerName=f,this._guid=ba.createGuid(),this._visible=!0,this._gmlParser=new w$e(!0,null,null,!0);let Q=!this._viewer.TileManager;this._tileManager=G$e.getInstance(o),this._tileManager.tileLevel[this._guid]={level:this._level,visible:this._visible},this._tileManager._loadTileEvent.addEventListener(ku.prototype.loadTile,this),this._useWorkers=!0,this._layerDisplayName=E,this._showAttributesAsMessage=C.showAttributesAsMessage,delete C.showAttributesAsMessage,this._entityCreator=new O$e(C,o,ba),this._featuresMap={},this._boundingBox=void 0,this._geometryFieldName=void 0,this._operations={},this._subdomains=I,this.latLon=!0,this._addedFeatures=[],this.simpleSqlParser=F$e,this.myLayer=y,this._statistics={numberOfAddedFeatures:0,numberOfDeletedFeatures:0,numberOfAddePositions:0,numberOfDeletedPositions:0,getNumberOfCurrentlyRenderedFeatures:function(){return this.numberOfAddedFeatures-this.numberOfDeletedFeatures},getNumberOfCurrentlyRenderedPositions:function(){return this.numberOfAddePositions-this.numberOfDeletedPositions}},jyi(this),H$e(this),x!==void 0&&this.setVisibility(x),Q||this.refresh()}function uJ(o,A){var f;return o.indexOf("{s}")!=-1?f=A!=null&&A.length>0?o.replace("{s}",A[0]):console.error("Error - sTag with no subdomains."):f=o,f}function ywe(o,A,f){var m=$(o).find(A);return m.length==0&&f.toLowerCase()==="wfs"&&(m=$(o).find("wfs\\:"+A+","+A)),m.length>0?m:$([])}function qyi(o,A){ywe(A,"FeatureType","wfs").each(function(f,m){if(ywe(m,"Name","wfs").text()==o._layerName){var C=ywe(m,"LatLongBoundingBox","wfs");return C.length!==1||(o._boundingBox=ba.Rectangle.fromDegrees(parseFloat(C[0].attributes.minx.value),parseFloat(C[0].attributes.miny.value),parseFloat(C[0].attributes.maxx.value),parseFloat(C[0].attributes.maxy.value))),!1}return!0})}function _we(o){return o.indexOf("?")>-1?"&":"?"}function jyi(o){var A=o.cleanUrl(o._url).replace("{s}",o.sTag(o._layerName.length,o._layerName.length,o._level));A+=_we(A),A+="SERVICE=WFS&VERSION=1.0.0&REQUEST=GetCapabilities&outputFormat=GML2&typeName="+o._layerName;var f=ba.TrustedServers.contains(uJ(o._url,o._subdomains));$.ajax({dataType:"xml",xhrFields:{withCredentials:f},url:encodeURI(A),success:function(m){qyi(o,m),Xyi(o,m)}})}function Xyi(o,A){$(A).find("FeatureType").each(function(f,m){if($(m).children("Name").text()==o._layerName){var C=$(m).children("Operations");return C.length==0||C.children().each(function(){o._operations[this.tagName.toLowerCase()]={}}),!1}return!0})}function H$e(o){o.featureColumnNames=null;var A=o.cleanUrl(o._url).replace("{s}",o.sTag(o._layerName.length,o._layerName.length,o._level));A+=_we(A),A+="SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&typeName="+o._layerName;var f=ba.TrustedServers.contains(uJ(o._url,o._subdomains));$.ajax({dataType:"xml",xhrFields:{withCredentials:f},url:encodeURI(A),success:function(m){evi(o,m)}})}function Zyi(o,A){let f=eval;if(o==null)return null;try{var m=new XMLSerializer().serializeToString(o).match(f("/[<]([a-z]+):"+A+"[>]/i"));return m!=null?m[1]:null}catch{return!1}}function $yi(o,A){if(o==null)return!1;try{let m=eval;var f=new XMLSerializer().serializeToString(o.context!=null?o.context:o).match(m("/[<](([a-z]+):)?"+A+"[^>]*[>]/i"));return f!=null}catch{return!1}}function evi(o,A){var f=$(A).find("[type^='gml:']");o._geometryFieldName=$(f).attr("name"),o.geometryResponseData=A,o.wfsNamespace=Zyi(o.geometryResponseData,"sequence"),o.wfsNamespace==null&&(o.wfsNamespace="xsd"),o.sgSchemaExists=$(o.geometryResponseData).find(o.wfsNamespace+"\\:schema").attr("xmlns:sfs"),o.sgSchemaExists||(o.sgSchemaExists=$(o.geometryResponseData).find("schema").attr("xmlns:sfs"));var m=$(o.geometryResponseData).find(o.wfsNamespace+"\\:sequence "+o.wfsNamespace+"\\:element");m.length==0&&(m=$(o.geometryResponseData).find("sequence").find("element")),o.geomFields=[],m.each(function(){var C=$(this),E=C.attr("name"),I=C.attr("type");if(I==null)I="string";else{var x=I.match(/.*[:](\w+)/);x&&(I=x[1])}o.geomFields.push({name:E,type:I})})}function Hie(o,A){if(o.operator){var f="";switch(o.operator.toLowerCase()){case"=":f="PropertyIsEqualTo";break;case"<>":f="PropertyIsNotEqualTo";break;case">":f="PropertyIsGreaterThan";break;case">=":f="PropertyIsGreaterThanOrEqualTo";break;case"<":f="PropertyIsLessThan";break;case"<=":f="PropertyIsLessThanOrEqualTo";break;case"like":f="PropertyIsLike"}var m=A.indexOf(o.right)!=-1?o.right:o.left,x="<ogc:"+f+(o.operator.toLowerCase()=="like"?' wildCard="*" singleChar="*" escape="*"':"")+">";x+="<ogc:PropertyName>"+m+"</ogc:PropertyName>";var C=A.indexOf(o.right)!=-1?o.left:o.right;C=C.replace(/^'|'$$/g,"");var E=C.match(/^[%]|[%]$$/)==null;return o.operator.toLowerCase()=="like"&&E&&(C="%"+C+"%"),x+="<ogc:Literal>"+C+"</ogc:Literal>",x+="</ogc:"+f+">",x}var I=o.logic.toLowerCase()=="and"?"And":"Or",x="<ogc:"+I+">";return o.terms.length==2?x+=Hie(o.terms[0],A):x+=Hie({logic:I,terms:o.terms.slice(0,o.terms.length-1)},A),x+=Hie(o.terms[o.terms.length-1],A),x+="</ogc:"+I+">",x}function tvi(o){var A=[],f=$(o).find("gml\\:featureMember");return f.length==0&&(f=$(o).find("featureMember")),f.each(function(){var m={},C=$(this).children().first();m.layerId=C[0].nodeName,m.originFid=C.attr("fid"),m.fid=C.attr("fid"),m.fid==null&&(m.fid=-1);var E=m.fid.match(/[.]?(\d+)$$/);E&&(m.fid=E[1]),m.node=C[0],C.children().each(function(){m[this.nodeName]=this.innerHTML,m[this.nodeName]==null&&(m[this.nodeName]=$(this).text())}),A.push(m)}),A}function vwe(o){return o==null?void 0:o.parentLayer?o:o._parentCollection?o._parentCollection:o.primitive&&o.primitive._parentCollection?o.primitive._parentCollection:void 0}Object.defineProperties(ku.prototype,{LayerDisplayName:{get:function(){return this._layerDisplayName}},displayName:{get:function(){return this.LayerDisplayName}},guid:{get:function(){return this._guid}},Style:{get:function(){return this._entityCreator.style}},show:{get:function(){return this._visible},set:function(o){this.setVisibility(o)}},BoundingBox:{get:function(){return this._boundingBox}},boundingSphere:{get:function(){return ba.BoundingSphere.fromRectangle3D(this._boundingBox)}},Statistics:{get:function(){return this._statistics}}});var AJ=180/Math.PI,sTi=1/AJ,V$e=1e3;ku.prototype.getRequestMaxFeatures=function(){return V$e};ku.prototype.isAttributeField=function(o,A){return!A||!o||o.toLowerCase()==""||o.toLowerCase()=="fid"?!1:A.toLowerCase()=="string"||A.toLowerCase()=="integer"||A.toLowerCase()=="double"};ku.prototype.updateFeatures=function(o,A){if(o.length<=0){A();return}var f=this,m=[];$(this.geomFields).each(function(){f.isAttributeField(this.name,this.type)&&m.push(this.name)});var C="<wfs:Transaction version='1.0.0' service='WFS' username='' password='' xmlns:sfs='http://www.skylineglobe.com/sfs-schema' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:wfs='http://www.opengis.net/wfs' xmlns:gml='http://www.opengis.net/gml'> {wfs_updates}</wfs:Transaction>",E="";$(o).each(function(){var v=this,w='<wfs:Update typeName="{lyaer_id}">'.replace("{lyaer_id}",this.layerId);$(m).each(function(){w+="<wfs:Property><wfs:Name>"+this+"</wfs:Name><wfs:Value>"+v[this]+"</wfs:Value></wfs:Property>"}),w+='<ogc:Filter><ogc:FeatureId fid="'+v.originFid+'"/></ogc:Filter>',w+="</wfs:Update>",E+=w}),C=C.replace("{wfs_updates}",E);var I="Failed to save changes to server",x=uJ(this.cleanUrl(this._url),this._subdomains),y=ba.TrustedServers.contains(x);$.ajax({dataType:"xml",type:"POST",data:C,xhrFields:{withCredentials:y},url:encodeURI(x),success:function(v){var w=new XMLSerializer().serializeToString(v.documentElement).toLowerCase();if(w.match(/success\s*\//)==null){A(I);return}A()},error:function(v,w,Q){A(I)},timeout:1e4})};ku.prototype.getFeatures=function(o,A,f){var m=this,C=[];$(this.geomFields).each(function(){m.isAttributeField(this.name,this.type)&&C.push(this.name)});var E="<wfs:GetFeature version='1.0.0' service='WFS' username='' password='' maxFeatures='{REQUEST_MAX_FEATURES}' xmlns:sfs='http://www.skylineglobe.com/sfs-schema' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:wfs='http://www.opengis.net/wfs' xmlns:gml='http://www.opengis.net/gml'> <wfs:Query typeName='{layer_name}'> {wfs_filter}</wfs:Query> </wfs:GetFeature>";E=E.replace("{layer_name}",this._layerName),E=E.replace("{REQUEST_MAX_FEATURES}",V$e);var I="";if(o.replace(/[ ]/g,"")!=""){I="<ogc:Filter xmlns:sfs='http://www.skylineglobe.com/sfs-schema' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:wfs='http://www.opengis.net/wfs' xmlns:gml='http://www.opengis.net/gml'>";var x=m.simpleSqlParser.sql2ast("SELECT * FROM x WHERE "+o);I+=Hie(x.WHERE,C),I+="</ogc:Filter>"}E=E.replace("{wfs_filter}",I);var y=uJ(this.cleanUrl(this._url),this._subdomains),v=ba.TrustedServers.contains(y);A.xhr=$.ajax({url:encodeURI(y),type:"POST",data:E,dataType:"xml",xhrFields:{withCredentials:v},success:function(w){var Q=$yi($(w),"FeatureCollection");if(!Q){f(null,TELang.i18n("layer_error_reading_features"));return}var M=tvi(w);f(M)},error:function(w,Q,M){f(null,w.statusText)},timeout:1e4})};ku.prototype.getFeatureColumnNames=function(){if(this.featureColumnNames)return this.featureColumnNames;var o=$(this.geometryResponseData).find(this.wfsNamespace+"\\:sequence "+this.wfsNamespace+"\\:element");o.length==0&&(o=$(this.geometryResponseData).find("sequence").find("element"));var A=[];return o.each(function(){var f=$(this);f.attr("name").toLowerCase()!="geom"&&A.push(f.attr("name").toLowerCase())}),this.featureColumnNames=A,this.featureColumnNames};ku.prototype.refresh=function(o){let A=this._tileManager.getAllTiles();if(A){let f=A.length;for(let m=0;m<f;m++)A[m].data.wfsLayerData[this._guid]&&A[m].data.wfsLayerData[this._guid].freeResources(),this.loadTile(A[m]);o&&H$e(this)}};ku.prototype.setVisibility=function(o){if(this._visible!=o)if(this._visible=o,this._tileManager.tileLevel[this._guid].visible=o,o==0)for(var A=this._tileManager.getAllTiles(),f=A.length,m=0;m<f;m++)A[m].data.wfsLayerData[this._guid]&&A[m].data.wfsLayerData[this._guid].primitive&&(A[m].data.wfsLayerData[this._guid].primitive.show=!1);else for(var A=this._tileManager.getAllTiles(),f=A.length,m=0;m<f;m++)A[m].data.wfsLayerData[this._guid]&&(A[m].data.wfsLayerData[this._guid].primitive?A[m].data.wfsLayerData[this._guid].primitive.show=!0:this.loadTile(A[m]))};ku.prototype.loadTile=function(o){var A=this;o.data.wfsLayerData[this._guid]={id:o.data.id,primitive:void 0,freeResources:function(){ba.defined(this.xhr)&&(this.xhr.abort(),this.xhr=void 0),ba.defined(this.features)&&(A.removeFeaturesFromLayer(this.features),this.features=void 0),ba.defined(this.primitive)&&(A._tileManager.removeFromScene(this.primitive),this.primitive=void 0)}},this.show&&o.level>=this._level.min&&o.level<=this._level.max&&(this.statc=0,this._guide=this._guid,this.beginLoadWFSData(o))};ku.prototype.isDestroyed=function(){return!1};ku.prototype.destroy=function(){var o=this._tileManager.getAllTiles(),A=o.length;if(A>0)for(var f=0;f<A;f++)o[f].data.wfsLayerData[this._guid]&&o[f].data.wfsLayerData[this._guid].freeResources();return this._tileManager._loadTileEvent.removeEventListener(ku.prototype.loadTile,this),ba.destroyObject(this)};ku.prototype.sTag=function(o,A,f){if(this._subdomains==null)return"";var m=(o+A+f)%this._subdomains.length;return this._subdomains[m]};ku.prototype.cleanUrl=function(o){return o.indexOf("?")!=-1?o.split("?")[0]:o};function ivi(){return SmartEarthRootUrl+"Workers/featurefetcherworker.js"}ku.prototype.beginLoadWFSData=function(o){if(this.latLon!=null&&!this.latLon||(this.BoundingBox!=null&&(this.BoundingBox.width==0||this.BoundingBox.height==0)&&(this.BoundingBox.east+=1,this.BoundingBox.north+=1,this.BoundingBox.beenModified=!0),this.BoundingBox!==void 0&&ba.Rectangle.intersection(this.BoundingBox,o.rectangle)===void 0))return;var A=[AJ*o.rectangle.west,AJ*o.rectangle.south,AJ*o.rectangle.east,AJ*o.rectangle.north],f=this,m=this.cleanUrl(this._url).replace("{s}",this.sTag(o.x,o.y,o.level));m+=_we(m);let C="GML2";m+="SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&outputFormat="+C+"&typeName="+this._layerName+"&srsName=EPSG:4326&BBOX="+A.join(",");var E=ba.TrustedServers.contains(uJ(this._url,this._subdomains));o.data.wfsLayerData[this._guid].xhr=$.ajax({dataType:this._useWorkers?"text":"xml",url:encodeURI(m),cache:!0,xhrFields:{withCredentials:E},success:function(I){f.processWFSData(o,I,C)},error:function(I,x,y){y!=="abort"&&console.log("Failed to retrieve data from "+m+" :"+y)},complete:function(){o.data.wfsLayerData[f._guid].xhr=void 0}})};var Bwe;ku.prototype.processWFSData=function(o,A,f){if(o.data.wfsLayerData[this._guid].xhr=void 0,this._useWorkers){var m=this;Bwe.queueWorkItem({id:o.data.id,text:A,format:f,geometryFieldName:this._geometryFieldName}).then(function(E){m.addFeaturesToTile(E)})}else{var C=this._gmlParser.read(A);this.addFeaturesToTile({id:o.data.id,features:C})}};ku.prototype.boundingSphereFromGML=function(o,A){var f=viewer.scene.globe._surface.getRenderedBestLevelInfo().bestLevel,m=this;Bwe.queueWorkItem({id:"0",text:o,geometryFieldName:this._geometryFieldName}).then(function(C){var E={parentLayer:m,features:C.features,sampleTerrainLevel:f+1,isQuery:!0,onFinishedQuery:function(I){var x;I.length>0&&(x=ba.BoundingSphere.fromBoundingSpheres(I)),A(x)}};m._entityCreator.createPrimitiveFromWFSFeatures(E)})};ku.prototype.boundingSphereFromFeature=function(o){var A,f=viewer.scene.globe._surface.getRenderedBestLevelInfo().bestLevel,m={parentLayer:this,features:[o],sampleTerrainLevel:f+1,isQuery:!0,onFinishedQuery:function(C){C.length>0&&(A=ba.BoundingSphere.fromBoundingSpheres(C))}};return this._entityCreator.createPrimitiveFromWFSFeatures(m),A};ku.prototype.addRenderedFeatureId=function(o){this._addedFeatures[o]==null&&(this._addedFeatures[o]=0),this._addedFeatures[o]++};ku.prototype.removeRenderedFeatureId=function(o,A){if(A&&A.geometryType&&A.geometryType.includes("multi"))for(let f=0,m;f<A.positions.length;f++)m=o+"."+f,this._addedFeatures[m]!=null&&this._addedFeatures[m]--,this._addedFeatures[m]==0&&(this._addedFeatures[m]=void 0);else this._addedFeatures[o]!=null&&this._addedFeatures[o]--,this._addedFeatures[o]==0&&(this._addedFeatures[o]=void 0)};ku.prototype.isExistRenderedFeatureId=function(o){return this._addedFeatures[o]!=null};ku.prototype.addFeaturesToTile=function(o,A){var f=this._tileManager.getTile(o.id);if(f!==void 0){var m=A?f.data.wfsLayerData[this._guid].primitive._instanceIds:void 0,C=this,E={parentLayer:this,originalInstanceIds:m,features:o.features,onFinishedCreatePrimitive:function(I){if(!(o.features==null||f.data.wfsLayerData==null)&&(f.data.wfsLayerData[C._guid].features=o.features,A||C.addFeaturesToLayer(f.data.wfsLayerData[C._guid].features),I.length===void 0||I.length>0)){var x=f.data.wfsLayerData[C._guid].primitive;I.show=C.show,f.data.wfsLayerData[C._guid].primitive=I,I.parentLayer=C,I.parentTileId=o.id,I._guid=ba.createGuid(),A?C._tileManager.replaceInScene(x,I):C._tileManager.addToScene(I)}}};this._entityCreator.createPrimitiveFromWFSFeatures(E)}};ku.prototype.addFeaturesToLayer=function(o){this._statistics.numberOfAddedFeatures+=o.length,this._statistics.numberOfAddePositions+=ba.defaultValue(o.numPositions,0);for(var A=o.length,f=0;f<A;f++)Object.prototype.hasOwnProperty.call(this._featuresMap,o[f].fid)===!1?this._featuresMap[o[f].fid]={refCount:1,feature:o[f]}:this._featuresMap[o[f].fid].refCount++};ku.prototype.removeFeaturesFromLayer=function(o){this._statistics.numberOfDeletedFeatures+=o.length,this._statistics.numberOfDeletedPositions+=ba.defaultValue(o.numPositions,0);for(var A=o.length,f=0,m;f<A;f++)m=o[f].fid,Object.prototype.hasOwnProperty.call(this._featuresMap,m)!==!1&&(this._featuresMap[m].refCount--,this._featuresMap[m].refCount===0&&delete this._featuresMap[m],this.removeRenderedFeatureId(m,o[f]))};ku.prototype.getFeature=function(o){return Object.prototype.hasOwnProperty.call(this._featuresMap,o)===!1?null:this._featuresMap[o]};ku.prototype.updateTile=function(o){var A=this._tileManager.getTile(o);A!==void 0&&(A.data.wfsLayerData[this._guid].features==null?this.loadTile(A):this.addFeaturesToTile(A.data.wfsLayerData[this._guid],!0))};ku.blockRequestPrimitiveFromPrimitive=function(o){if(o!=null){var A=vwe(o);return A!=null||(o._labelCollection&&o._labelCollection._billboardCollection?A=vwe(o._labelCollection._billboardCollection):o._billboardCollection&&(A=vwe(o._billboardCollection))),A}};ku.prototype.resetAttributesTable=function(){this.lastEditedCell=null,this.attrTblDialogMemo=null};var Vie=ku;var yh=null;function zie(o,A){yh=A,this.Viewer=o,this._core=new Ji(o,A),this.colorTool=this._core.gradientColor()}zie.prototype.CreateWfs=function(o,A){let f={},m,C;if(o==="point")if(A.sgStyleJSON)f=this.getSGStyle("point",A.sgStyleJSON,A.name);else{m=this.colorTool.colorRgb(this._core.defaultValue(A.color,"#ffffff"));var E=this.colorTool.colorRgb(this._core.defaultValue(A.bgColor,"#010101"));f={preLoad:A.preLoad,lineToGround:{defaultValue:A.lineToGround?A.lineToGroundLength?"2":"1":"0"},lineToGroundLength:{defaultValue:A.lineToGroundLength||0},lineToGroundColor:{defaultValue:{red:1,green:1,blue:1,alpha:1}},altitudeMethod:0,altitudeOffset:{defaultValue:"0"},clampToGround:this._core.defaultValue(A.clampToGround,!1),pointHeight:this._core.defaultValue(A.height,void 0)},A.text&&(A.offsetX&&(A.offsetX=parseInt(A.offsetX)),A.offsetY&&(A.offsetY=parseInt(A.offsetY)),f.label={text:{defaultValue:A.text},scaleMPP:{defaultValue:"15000"},fillColor:{defaultValue:{red:m[0]/255,green:m[1]/255,blue:m[2]/255,alpha:this._core.defaultValue(A.alpha,1)}},scaleByDistance:{near:150,nearValue:1,far:8e5,farValue:.5},minViewingHeight:{defaultValue:"0"},font:{defaultValue:"12"},family:{defaultValue:this._core.defaultValue(A.font,"Arial")},backgroundColor:{defaultValue:{red:E[0]/255,green:E[1]/255,blue:E[2]/255,alpha:this._core.defaultValue(A.alpha,1)}},scale:this._core.defaultValue(A.scale,2),backgroundOpacity:{defaultValue:A.bgColor?"0.5":"0"},italic:{defaultValue:A.italic?"1":"0"},bold:{defaultValue:A.bold?"1":"0"},limitGrowth:{defaultValue:"1"},textRelativeToImage:{defaultValue:"0"},showText:{defaultValue:"0"},textAlignment:{defaultValue:"17"},pixelOffset:new yh.Cartesian2(this._core.defaultValue(A.offsetX,0),this._core.defaultValue(A.offsetY,A.image?-10:0)),outlineColor:yh.Color.fromCssColorString(this._core.defaultValue(A.outlineColor,"#ffffff")),outlineWidth:this._core.defaultValue(A.outlineWidth,2),horizontalOrigin:yh.HorizontalOrigin.CENTER,verticalOrigin:yh.VerticalOrigin.BOTTOM,disableDepthTestDistance:A.disableDepthTestDistance==="Infinity"?Number.POSITIVE_INFINITY:A.disableDepthTestDistance}),A.outlineColor&&f.label&&(f.label.style=yh.LabelStyle.FILL_AND_OUTLINE),A.image&&(f.billboard={image:A.image,scale:this._core.defaultValue(A.imageScale,1),disableDepthTestDistance:A.disableDepthTestDistance,horizontalOrigin:yh.HorizontalOrigin.CENTER,verticalOrigin:yh.VerticalOrigin.BOTTOM,link:A.link})}else o==="polyline"?A.sgStyleJSON?f=this.getSGStyle("polyline",A.sgStyleJSON,A.name):(m=this.colorTool.colorRgb(this._core.defaultValue(A.color,"#ffff00")),f={preLoad:A.preLoad,polyline:{material:{red:m[0]/255,green:m[1]/255,blue:m[2]/255,alpha:this._core.defaultValue(A.alpha,1)},outlineColor:yh.Color.fromCssColorString(this._core.defaultValue(A.outlineColor,"#ffffff")),lineOpacity:this._core.defaultValue(A.alpha,1),outlineWidth:this._core.defaultValue(A.outlineWidth,0),width:this._core.defaultValue(A.width,4),clampToGround:this._core.defaultValue(A.clampToGround,!0),classificationType:A.classificationType,dash:A.dash,gapColor:A.gapColor&&yh.Color.fromCssColorString(A.gapColor),dashLength:A.dashLength},height:A.height}):o==="polygon"&&(A.sgStyleJSON?f=this.getSGStyle("polygon",A.sgStyleJSON,A.name):(m=this.colorTool.colorRgb(this._core.defaultValue(A.color,"#6bbeef")),C=this.colorTool.colorRgb(this._core.defaultValue(A.outlineColor,"#ffffff")),f={preLoad:A.preLoad,pointHeight:this._core.defaultValue(A.pointHeight,void 0),polygon:{text:!!A.text,labelNear:A.labelNear,labelFar:A.labelFar,offsetPoint:A.offsetPoint,outlineColor:{defaultValue:{red:C[0]/255,green:C[1]/255,blue:C[2]/255,alpha:1}},outlineWidth:A.outlineWidth,fill:{defaultValue:this._core.defaultValue(A.alpha,1)},height:A.height,extrudedHeight:A.extrudedHeight,clampToGround:this._core.defaultValue(A.clampToGround,A.extrudedHeight===void 0&&A.height===void 0),classificationType:A.classificationType,water:A.water,bulidingWall:A.bulidingWall,bulidingWallWidth:A.bulidingWallWidth,randomColor:A.randomColor,colorConfig:A.colorConfig,outline:this._core.defaultValue(A.outline,!0),material:{defaultValue:{red:m[0]/255,green:m[1]/255,blue:m[2]/255,alpha:this._core.defaultValue(A.alpha,1)}},fromKml:!0}},A.text&&(f.label={style:yh.LabelStyle.FILL_AND_OUTLINE,text:{defaultValue:A.text},scaleMPP:{defaultValue:"15000"},fillColor:{defaultValue:yh.Color.fromCssColorString(this._core.defaultValue(A.labelColor||A.color,"#ffffff"))},scaleByDistance:{near:150,nearValue:1,far:8e5,farValue:.5},minViewingHeight:{defaultValue:"0"},font:{defaultValue:"12"},family:{defaultValue:this._core.defaultValue(A.font,"Arial")},backgroundColor:{defaultValue:{red:0,green:0,blue:0,alpha:0}},scale:this._core.defaultValue(A.scale,2),backgroundOpacity:{defaultValue:A.bgColor?"0.5":"0"},italic:{defaultValue:A.italic?"1":"0"},bold:{defaultValue:A.bold?"1":"0"},limitGrowth:{defaultValue:"1"},textRelativeToImage:{defaultValue:"0"},showText:{defaultValue:"0"},textAlignment:{defaultValue:"17"},pixelOffset:new yh.Cartesian2(this._core.defaultValue(A.offsetX,0),this._core.defaultValue(A.offsetY,A.image?-10:0)),outlineColor:yh.Color.fromCssColorString(this._core.defaultValue(A.labelOutlineColor||A.outlineColor,"#ffffff")),outlineWidth:this._core.defaultValue(A.scale,2),horizontalOrigin:yh.HorizontalOrigin.CENTER,verticalOrigin:yh.VerticalOrigin.BOTTOM,disableDepthTestDistance:A.disableDepthTestDistance==="Infinity"?Number.POSITIVE_INFINITY:A.disableDepthTestDistance})));if(!f&&A.sgStyleJSON){console.log(A.name+"\u83B7\u53D6\u6837\u5F0F\u5931\u8D25\uFF01");return}return f.position_x&&(A.lon=f.position_x,A.lat=f.position_y,A.height=f.position_z),new Vie(this.Viewer,this._core.defaultValue(A.urls,f.urls),this._core.defaultValue(A.layer,f.layer),{min:this._core.defaultValue(A.minimumLevel,f.minimumLevel||0),max:this._core.defaultValue(A.maximumLevel,f.maximumLevel||22)},f,this._core.defaultValue(A.layer,f.layer),A.pID||"0",A.checked,void 0,yh)};zie.prototype.getSGColor=function(o){let A=parseInt(o).toString(16);return A.length===2?A="0000"+A:A.length===4&&(A="00"+A),A="#"+A.slice(4)+A.slice(2,4)+A.slice(0,2),A};zie.prototype.getSGStyle=function(o,A,f){let m;return $.ajax({url:A,async:!1,contentType:"application/json",success:C=>{C&&typeof C=="string"&&(C=JSON.parse(C));let E=C.filter(I=>I.LayerName===f);if(o==="point"){let I=E[0];E=I.Point,E.Line_Color=this.getSGColor(E.Line_Color),E.Image_Color=this.getSGColor(E.Image_Color),E.Text_Color=this.getSGColor(E.Text_Color),E.Background_Color=this.getSGColor(E.Background_Color);let x=this.colorTool.colorRgb(this._core.defaultValue(E.Text_Color,"#ffffff")),y=this.colorTool.colorRgb(this._core.defaultValue(E.Background_Color,"#010101"));m={label:{text:{defaultValue:this._core.defaultValue(E.Text.match(/<Value>(\S*)<\/Value>/)[1],E.Text.match(/<DefaultValue>(\S*)<\/DefaultValue>/)[1])},scaleMPP:{defaultValue:E.Scale},fillColor:{defaultValue:{red:x[0]/255,green:x[1]/255,blue:x[2]/255,alpha:1}},scaleByDistance:{near:0,nearValue:1,far:8e8,farValue:1},minViewingHeight:{defaultValue:"0"},font:{defaultValue:E.Text_Size},family:{defaultValue:this._core.defaultValue(E.Font,"Arial")},backgroundColor:{defaultValue:{red:y[0]/255,green:y[1]/255,blue:y[2]/255,alpha:1}},scale:this._core.defaultValue(E.TextScale,1.5),backgroundOpacity:{defaultValue:E.Background_Opacity},italic:{defaultValue:E.Italic},bold:{defaultValue:E.Bold},limitGrowth:{defaultValue:"1"},textRelativeToImage:{defaultValue:"0"},showText:{defaultValue:"0"},textAlignment:{defaultValue:"17"},pixelOffset:new yh.Cartesian2(this._core.defaultValue(E.offsetX,0),this._core.defaultValue(E.offsetY,E.Image_file?-10:0)),outlineColor:yh.Color.fromCssColorString(this._core.defaultValue(E.Line_Color,"#ffffff")),outlineWidth:this._core.defaultValue(E.outlineWidth,2),horizontalOrigin:yh.HorizontalOrigin.CENTER,verticalOrigin:yh.VerticalOrigin.BOTTOM},lineToGround:{defaultValue:E.Line_to_Ground},lineToGroundLength:{defaultValue:E.Line_Length},lineToGroundColor:{defaultValue:{red:1,green:1,blue:1,alpha:1}},altitudeMethod:0,altitudeOffset:{defaultValue:"0"},clampToGround:this._core.defaultValue(E.clampToGround,!0),pointHeight:this._core.defaultValue(E.pointHeight,void 0),minimumLevel:this._core.defaultValue(E.level_min,0),maximumLevel:this._core.defaultValue(E.level_max,22),position_x:I.position_x,position_y:I.position_y,position_z:I.position_z==0?1e4:I.position_z,urls:I.Server,layer:I.ServerName},E.Line_Color&&m.label&&(m.label.style=yh.LabelStyle.FILL_AND_OUTLINE),E.Image_file&&(m.billboard={image:E.Image_file,scale:this._core.defaultValue(E.ImageScale,1),scaleMPP:{defaultValue:E.Scale},scaleByDistance:{near:0,nearValue:1,far:8e8,farValue:1},minViewingHeight:{defaultValue:"0"},verticalOrigin:yh.VerticalOrigin.BOTTOM})}else if(o==="polyline"){let I=E[0];E=I.Line,E.Line_Color=this.getSGColor(E.Line_Color),E.Line_Width&&(E.Line_Width.length===2?E.Line_Width/=10:E.Line_Width.length===3&&(E.Line_Width/=100));let x=this.colorTool.colorRgb(this._core.defaultValue(E.Line_Color,"#ff0000"));m={polyline:{material:{red:x[0]/255,green:x[1]/255,blue:x[2]/255,alpha:1},lineOpacity:parseInt(this._core.defaultValue(E.Line_Opacity,1)),width:parseInt(this._core.defaultValue(E.Line_Width,4)),near:E.Near,far:E.Far,clampToGround:this._core.defaultValue(E.clampToGround,!0),classificationType:option.classificationType},minimumLevel:this._core.defaultValue(E.level_min,0),maximumLevel:this._core.defaultValue(E.level_max,22),position_x:I.position_x,position_y:I.position_y,position_z:I.position_z==0?1e4:I.position_z,urls:I.Server,layer:I.ServerName}}else if(o==="polygon"){let I=E[0];E=I.data,E.fill=yh.Color.fromCssColorString(E.fill),E.outlineColor=yh.Color.fromCssColorString(E.outlineColor),m={polygon:{outlineColor:{defaultValue:E.outlineColor},outlineWidth:E.outlineWidth,fill:{defaultValue:E.fill.alpha},extrudedHeight:E.extrudedHeight||0,height:E.height,outline:E.outline,material:{defaultValue:E.fill},clampToGround:!E.extrudedHeight,classificationType:option.classificationType,fromKml:!0},altitudeMethod:2,altitudeOffset:{defaultValue:"0"},minimumLevel:this._core.defaultValue(E.level_min,0),maximumLevel:this._core.defaultValue(E.level_max,22),position_x:I.position_x,position_y:I.position_y,position_z:I.position_z==0?1e4:I.position_z,urls:I.Server,layer:I.ServerName}}},error:()=>{console.log("\u83B7\u53D6\u6837\u5F0F\u914D\u7F6E\u5931\u8D25\uFF01")}}),m};var rvi=zie;function nvi(o=8,A=16){let f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),m=[];if(A=A||f.length,o)for(let C=0;C<o;C++)m[C]=f[0|Math.random()*A];else{m[8]=m[13]=m[18]=m[23]="-",m[14]="4";for(let C=0,E;C<36;C++)m[C]||(E=0|Math.random()*16,m[C]=f[C==19?E&3|8:E])}return m.join("")}var wwe=nvi;var n3=null;function SD(o,A={},f){n3=f,this._viewer=o,this._cache={},this.option={id:wwe(),size:18,pixelRange:40,gradient:{1e-4:"rgb(0,191,255)",.001:"rgb(0,128,0)",.01:"rgb(255,165,0)",.1:"rgb(255,0,0)"},fontSize:12,horizontalOrigin:n3.HorizontalOrigin.CENTER,verticalOrigin:n3.VerticalOrigin.BOTTOM,fontColor:"rgb(0,0,0)",style:"circle",...A};for(let m in this.option.gradient)this.option.gradient[m]=n3.Color.fromCssColorString(this.option.gradient[m]);this.dataSource=new n3.CustomDataSource(this.option.id),this.dataSource.clustering.enabled=!0,this.dataSource.clustering.pixelRange=this.option.pixelRange,this.dataSource.clustering.clusterEvent.addEventListener(this._clusterEventHandler,this),this._viewer.dataSources.add(this.dataSource)}SD.prototype.add=function(o,A={}){return this.dataSource.entities.add({id:A.id||wwe(),name:A.name,position:n3.Cartesian3.fromDegrees(o.lon,o.lat,o.height),billboard:{image:A.image||window.SmartEarthRootUrl+kr.mark1,scale:A.scale||1,horizontalOrigin:this.option.horizontalOrigin,verticalOrigin:this.option.verticalOrigin,disableDepthTestDistance:Number.POSITIVE_INFINITY}})};SD.prototype._drawCircle=function(o,A){let f=A.length,m=this.option.size*(f+1),C=o.toCssColorString()+"-"+m,E=m/2-f*this.option.fontSize/3,I=(m+this.option.fontSize)/2;if(!this._cache[C]){let x=document.createElement("canvas");x.width=m,x.height=m;let y=x.getContext("2d");y.save(),y.scale(m/24,m/24),y.fillStyle=o.withAlpha(.2).toCssColorString(),y.beginPath(),y.arc(12,12,9,0,2*Math.PI),y.closePath(),y.fill(),y.beginPath(),y.arc(12,12,6,0,2*Math.PI),y.fillStyle=o.toCssColorString(),y.fill(),y.closePath(),y.restore(),y.font=`bold ${this.option.fontSize}px sans-serif`,y.fillStyle=this.option.fontColor,y.fillText(A,E,I),this._cache[C]=x.toDataURL()}return this._cache[C]};SD.prototype._drawClustering=function(o,A){let f=A.length,m=this.option.size*(f+1),C=o.toCssColorString()+"-"+m,E=m/2-f*this.option.fontSize/3,I=(m+this.option.fontSize)/2,x=-Math.PI/12,y=Math.PI/2,v=Math.PI/6;if(!this._cache[C]){let w=document.createElement("canvas");w.width=m,w.height=m;let Q=w.getContext("2d");Q.save(),Q.scale(m/24,m/24),Q.beginPath(),Q.arc(12,12,6,0,2*Math.PI),Q.fillStyle=o.toCssColorString(),Q.fill(),Q.closePath(),Q.lineWidth=2;for(let M=0;M<3;M++)Q.beginPath(),Q.arc(12,12,8,x,x+y,!1),Q.strokeStyle=o.withAlpha(.4).toCssColorString(),Q.stroke(),Q.arc(12,12,11,x,x+y,!1),Q.strokeStyle=o.withAlpha(.2).toCssColorString(),Q.stroke(),Q.closePath(),x=x+y+v;Q.restore(),Q.font=`bold ${this.option.fontSize}px sans-serif`,Q.fillStyle=this.option.fontColor,Q.fillText(A,E,I),this._cache[C]=w.toDataURL()}return this._cache[C]};SD.prototype._clusterEventHandler=function(o,A){if(!!this.dataSource.clustering.enabled&&(A.billboard.show=!0,A.label.show=!1,A.billboard.disableDepthTestDistance=Number.POSITIVE_INFINITY,this.dataSource.entities.values.length)){let f=this.dataSource.entities.values.length||0;for(let m in this.option.gradient)if(o.length>=f*m){let C=String(o.length);this.option.style==="circle"?A.billboard.image=this._drawCircle(this.option.gradient[m],C):A.billboard.image=this._drawClustering(this.option.gradient[m],C)}}};SD.prototype.clear=function(){this.dataSource.entities.removeAll(),this._cache={}};SD.prototype.setVisibility=function(o){this.dataSource&&(this.dataSource.show=o)};SD.prototype.deleteObject=function(){this.clear(),this._viewer.dataSources.remove(this.dataSource),n3.destroyObject(this)};Object.defineProperties(SD.prototype,{enableCluster:{set:function(o){this.dataSource.clustering.enabled=o},get:function(){return this.dataSource.clustering.enabled}}});var ovi=SD;function avi(o=0,A=0,f=0){this.lon=o,this.lat=A,this.height=f}var svi=avi;var z$e={draw_tip_left:"\u5DE6\u952E\u5F00\u59CB\u7ED8\u5236\uFF01",draw_tip_right:"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236\uFF01",draw_tip_click:"\u70B9\u51FB\u7EE7\u7EED\u7ED8\u5236\uFF01",draw_tip_cancel:"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88\uFF01",draw_tip_first_point:"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E00\u4E2A\u70B9",draw_tip_state:"\u70B9\u51FB\u6DFB\u52A0\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F",draw_tip_info_radius:"\u534A\u5F84",unit_m:"\u7C73",unit_km:"\u5343\u7C73"};function Yie(o){this._core=new Ji,this._lang=this._core.extend(z$e,o,!0)}Yie.prototype.getStr=function(o){return this._lang[o]};Yie.prototype.set=function(o){this._lang=this._core.extend(z$e,o,!0)};Yie.prototype.get=function(){return this._lang};var Y$e=Yie;function o3(o,A,f){let m=new b0(!1);this._core=new Ji(o._Viewer,f.Cesium),this.left=o,this.leftContainer=o._Viewer.container,this.leftContainer.style.width="50%",this.parentElement=this.leftContainer.parentElement,this._SmartEarth=f||null,this.createRightScreen(A),this.addEvenListener()}o3.prototype.createRightScreen=function(o){this.rightContainer=document.createElement("div"),this.rightContainer.id="SDKSecondaryScreen",this.rightContainer.style.cssText=` height: 100%; flex: 1; position: relative; `,this.parentElement.append(this.rightContainer),this.defaultStyle={display:this.parentElement.style.display,flexDirection:this.parentElement.style.flexDirection,flex:this.parentElement.style.flex},this.parentElement.style.display="flex",this.parentElement.style.flexDirection="row",this.parentElement.style.flex=1,this.right=new this._SmartEarth.EarthCtrl("SDKSecondaryScreen",o),this.right.Navigate.Stop(),this.leftEvenListener()};o3.prototype.leftEvenListener=function(){this.right._Viewer.camera.setView({destination:this.left._Viewer.camera.position.clone(),orientation:{heading:this.left._Viewer.camera.heading,pitch:this.left._Viewer.camera.pitch,roll:this.left._Viewer.camera.roll}})};o3.prototype.rightEvenListener=function(){this.left._Viewer.camera.setView({destination:this.right._Viewer.camera.position.clone(),orientation:{heading:this.right._Viewer.camera.heading,pitch:this.right._Viewer.camera.pitch,roll:this.right._Viewer.camera.roll}})};var DD,MD;o3.prototype.addEvenListener=function(){this.leftContainer.onmouseover=()=>{DD||(DD=this.leftEvenListener.bind(this),this.left._Viewer.scene.preRender.addEventListener(DD)),MD&&this.right._Viewer.scene.preRender.removeEventListener(MD),MD=null},this.rightContainer.onmouseover=()=>{MD||(MD=this.rightEvenListener.bind(this),this.right._Viewer.scene.preRender.addEventListener(MD)),DD&&this.left._Viewer.scene.preRender.removeEventListener(DD),DD=null}};o3.prototype.removeEvenListener=function(){this.leftContainer.onmouseover=null,this.rightContainer.onmouseover=null,MD&&this.right._Viewer.scene.preRender.removeEventListener(MD),DD&&this.left._Viewer.scene.preRender.removeEventListener(DD),MD=null,DD=null};o3.prototype.destroy=function(){this.removeEvenListener(),this.rightContainer.remove(),this.left=null,this.right=null,this.parentElement.style.display=this.defaultStyle.display,this.parentElement.style.flexDirection=this.defaultStyle.flexDirection,this.parentElement.style.flex=this.defaultStyle.flex,this.leftContainer.style.width="100%"};var lvi=o3;function kB(o,A){this._viewer=o,this.Cesium=A,this.czmlData=new Map}kB.prototype.get=function(o){return this.czmlData.get(o)};kB.prototype.flyTo=function(o){this._viewer.flyTo(this.get(o))};kB.prototype.trackedEntity=function(o){let A=this.get(o);this._viewer.trackedEntity=A.entities.getById(o)};kB.prototype.delete=function(o){let A=this.czmlData.get(o);this._viewer.dataSources.remove(A),this.czmlData.delete(o)};kB.prototype.deleteAll=function(){for(let o of this.czmlData.values())this._viewer.dataSources.remove(o);this.czmlData=new Map};kB.prototype.getThisPlayTime=function(){let o=this._viewer.clock.currentTime.secondsOfDay,A=this._viewer.clock.startTime.secondsOfDay;return o-A};kB.prototype.init=function(o,A,f={}){let m={gltf:f.modelUrl||"http://183.162.245.49:18076/sdkdemo_2022/SmartEarthSDK/Workers/Model/xiaoche.glb",runAnimations:!0,scale:f.modelScale||1,minimumPixelSize:f.minimumPixelSize},C=[{id:"document",name:"czmlPathAnimation",version:"1.0",clock:{interval:"2021-01-01T00:00:00Z/2021-01-02T00:00:00Z",currentTime:"2021-01-01T00:00:00Z",multiplier:1}}],E=this.getThisPlayTime(),I={lon:A.lon,lat:A.lat,height:A.alt||A.height||0};C.push({path:{show:f.showPath===void 0?!1:f.showPath,leadTime:0,trailTime:1e5,width:3,resolution:1,material:{polylineGlow:{glowPower:.3,taperPower:1,color:{rgba:f.color||[255,255,0,255]}}}},id:o,position:{interpolationAlgorithm:"LINEAR",interpolationDegree:1,forwardExtrapolationType:"HOLD",backwardExtrapolationType:"HOLD",epoch:"2021-01-01T00:00:00Z",cartographicDegrees:[E,I.lon,I.lat,I.height,86400,I.lon,I.lat,I.height]},orientation:{velocityReference:"#position"},model:m});let x=new this.Cesium.CzmlDataSource;return this._viewer.dataSources.add(x),x.prePosition=I,this.czmlData.set(o,x),x.process(C).then(y=>{let v=y.entities.getById(o);v.propData=f.propData,this._viewer.clock.currentTime=this.Cesium.JulianDate.addSeconds(this._viewer.clock.startTime.clone(),E,new this.Cesium.JulianDate),f.callback&&f.callback(x)}),x};kB.prototype.update=function(o,A,f=1){let m=this.get(o),C=this.getThisPlayTime(),E={lon:A.lon,lat:A.lat,height:A.alt||A.height||0},I={lon:E.lon-m.prePosition.lon,lat:E.lat-m.prePosition.lat,height:E.height-m.prePosition.height},x=[{id:o,position:{epoch:"2021-01-01T00:00:00Z",cartographicDegrees:[C+f,E.lon,E.lat,E.height,86400,E.lon+I.lon,E.lat+I.lat,E.height+I.height]}}];m.prePosition=E,m&&m.process(x)};kB.prototype.pick=function(o){this.endPick(),this.pickHandler=new this.Cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);let A;this.pickHandler.setInputAction(f=>{A=this._viewer.scene.pick(f.endPosition),A&&A.id&&this.get(A.id.id)&&o&&o(A)},this.Cesium.ScreenSpaceEventType.LEFT_CLICK)};kB.prototype.endPick=function(){this.pickHandler.destroy(),this.pickHandler=void 0};var J$e=kB;var m6=null;function UB(o,A={},f){m6=f||window.Cesium,this.sgworld=o,this.contourUniforms=void 0,this.shadingUniforms=void 0,this.min={elevation:10,slope:0},this.max={elevation:2e3,slope:70},this.width=A.width||2,this.spacing=A.spacing||150,this.tf=!1,this.contourColor=A.contourColor||"#ff0000",this.type="none",this.Contour=void 0,this.startColor=A.startColor||"#0055ff",this.endColor=A.endColor||"#ff0000",this.colorArr=this.sgworld.Core.gradientColor(this.startColor,this.endColor,7),this.changeSlopeColor=A.changeSlopeColor!==void 0?A.changeSlopeColor:!1}UB.prototype.render=function(){this.type==="slope"?(m6.ExpandBySmartEarth.displaySlopeMap=!0,this.changeSlopeColor&&this.setShopeColor()):m6.ExpandBySmartEarth.displaySlopeMap=!1,this.Contour=this.sgworld.Analysis.createElevationContour(this.tf,this.type==="slope"?"none":this.type,{colorArr:this.colorArr,min:this.min[this.type],max:this.max[this.type],width:this.width,spacing:this.spacing,lineColor:this.contourColor}),this.shadingUniforms=this.Contour.item.shadingUniforms,this.contourUniforms=this.Contour.item.contourUniforms};UB.prototype.setContourColor=function(o){this.contourColor=o,this.Contour&&this.Contour.setMaterialColor(this.contourColor)};UB.prototype.setShopeColor=function(){let o=[],A=[0,6,17,31,45,70,90];this.colorArr.forEach((f,m)=>{o.unshift({val:100*Math.cos(m6.Math.toRadians(A[m])),color:f})}),m6.ExpandBySmartEarth.SlopeMapPallete=o,m6.ExpandBySmartEarth.isSlopeDirty=!0};UB.prototype.setWidth=function(o){this.width=o,this.Contour&&this.Contour.setWidth(this.width)};UB.prototype.setSpacing=function(o){this.spacing=o,this.Contour&&this.Contour.setSpacing(this.spacing)};UB.prototype.setStartColor=function(o){this.startColor=o,this.colorArr=this.sgworld.Core.gradientColor(this.startColor,this.endColor,7),this.render()};UB.prototype.setEndColor=function(o){this.endColor=o,this.colorArr=this.sgworld.Core.gradientColor(this.startColor,this.endColor,7),this.render()};UB.prototype.setMin=function(o){this.min[this.type]=o,this.type==="elevation"?this.shadingUniforms.minimumHeight=this.min[this.type]:this.render()};UB.prototype.setMax=function(o){this.max[this.type]=o,this.type==="elevation"?this.shadingUniforms.maximumHeight=this.max[this.type]:this.render()};UB.prototype.reset=function(){this.contourColor="#ff0000",this.startColor="#0055ff",this.endColor="#ff0000",this.colorArr=this.sgworld.Core.gradientColor(this.startColor,this.endColor,7),this.render()};var Avi=UB;mD.prototype.getRenderedBestLevelInfo=function(){let o=this.getRenderedLevelInfo(),A=0;for(let f in o)A<Number(f)&&(A=Number(f));return{bestLevel:A,count:o[A]}};mD.prototype.getRenderedLevelInfo=function(){let o=[];return this._tilesToRender.forEach(function(A){o[A.level]===void 0&&(o[A.level]=0),o[A.level]++}),o};function uvi(o,A,f){let m=Nu();function C(E){o.ready?Promise.resolve(W$e(o,A,E)).then(function(I){m.resolve(I)}):setTimeout(C,10)}return Du.typeOf.object("terrainProvider",o),Du.defined("positions",A),C(f),m.promise}function cvi(o,A){for(let f=0;f<o.children.length;f++)if(o.children[f].state>=m0.DONE&&(o.children[f].data.terrainData._mesh!==void 0||o.children[f].data.terrainData._buffer!==void 0)&&o.children[f].x===A.x&&o.children[f].y===A.y)return o.children[f]}function hvi(o,A,f){let m=o.tilingScheme,C=m.positionToTileXY(A,0),E=f.scene.globe._surface.tileProvider.quadtree._levelZeroTiles,I=E[0].x===C.x&&E[0].y===C.y?E[0]:E[1];for(let x=1;x<22;x++){C=m.positionToTileXY(A,x);let y=cvi(I,C);if(y===void 0)break;I=y}return I}function dvi(o,A){Du.defined("positions",o);let f=Nu();return Promise.resolve(K$e(o,A)).then(function(m){f.resolve(m)}),f.promise}function K$e(o,A,f){let m;for(m=0;m<o.length;++m){let C=o[m],E=C instanceof Lt,I=E?C:Lt.fromCartesian(C);if(I.height=65535,!E){let x=Z.fromRadiansArrayHeights([I.longitude,I.latitude,I.height])[0];C.z=x.z}}return o}function W$e(o,A,f){let m;for(m=0;m<A.length;++m){let C=A[m],E=hvi(o,C,f);C.height=E.data.terrainData.interpolateHeight(E.rectangle,C.longitude,C.latitude)}return A}function a3(o){this.value=new Float32Array([o])}a3.fromZBias=function(o){if(!k(o))throw new ni("zbias is required.");return new a3(o)};a3.toValue=function(o,A){if(!k(o))throw new ni("zbias is required.");return k(A)?color.toBytes(A):new Float32Array(o)};a3.equals=function(o,A){return o===A||k(o)&&k(A)&&o.value[0]===A.value[0]};a3.defaultBias=function(){return a3.fromZBias(15e-6)};var PTi=a3,RTi={TERRAIN:2,MESH:4,FLOOR:8},LTi=function(o){return o===void 0&&(o=0),new Z(.001234321,0,o)},FTi=function(o,A,f){let m={TERRAIN:2,MESH:4,FLOOR:8};A===void 0&&(A=m.TERRAIN|m.MESH);let C=Nu(),E=[];A>m.TERRAIN?o.forEach(function(y){E.push(Lt.fromRadians(y.longitude,y.latitude,y.height))}):E=o;let I=[];A&m.TERRAIN&&I.push(uvi(f.terrainProvider,o,f));let x=(A&m.FLOOR)>0;return A&(m.MESH|m.FLOOR)&&I.push(dvi(E,x)),Promise.all(I).then(function(y){if(I.length>1)for(let v=0;v<o.length;v++){let w=y[0][v],Q=y[1][v];Q.height!==65535&&(w.height<Q.height||x)&&(w.height=Q.height)}C.resolve(y[0])}),C.promise},NTi=function(o,A){Du.defined("positions",o);let f=Nu();return Promise.resolve(K$e(o,A)).then(function(m){f.resolve(m)}),f.promise},kTi=function(o,A){let f=Nu();function m(){o.ready?Promise.resolve(W$e(o,A)).then(function(C){f.resolve(C)}):setTimeout(m,10)}return Du.typeOf.object("terrainProvider",o),Du.defined("positions",A),m(),f.promise},UTi=fr?.fetchText,OTi=fr?.fetchJson,GTi=fr?.fetchBlob,HTi=fr?.fetchArrayBuffer,VTi=fr?.fetchImage;globalThis.SmartEarthPopupData={};function q$e(){new b0(!1).addJs(document.body,`${globalThis.SmartEarthRootUrl}Workers/layui/lay/modules/layer.js`),globalThis.layuiLayer=globalThis.layer}globalThis.language=new Y$e;var gvi=function(o){let A=new Array;A.remove=function(f){if(isNaN(f)||f>this.length)return!1;this.splice(f,1)},A.clear=function(f){for(let m=0;m<A.length;m++)(!f||A[m].o===f&&A[m].f)&&A.remove(m)},this.addEventHandler=function(f,m){for(let C=0;C<A.length;C++){if(A[C].o===f&&A[C].f===m)return;A.push({o:f,f:m})}A.length===0&&A.push({o:f,f:m})},this.removeEventHandler=function(f,m){for(let C=0;C<A.length;C++)A[C].o===f&&A[C].f===m&&A.remove(C)},this.clearEventHandler=function(f){A.clear(f)},this.notifyEvent=function(f,m,C){for(let E=0;E<A.length;E++)A[E].f(f,A[E].o,m,C)}},s3=gvi;function PP(o){let A=Z.fromDegrees(o._longitude,o._latitude,o._altitude),f=new Wl(o._heading*Math.PI/180,o._pitch*Math.PI/180,o._roll*Math.PI/180),m=Vr.localFrameToFixedFrameGenerator("north","west");o._modelMatrix=Vr.headingPitchRollToFixedFrame(A,f,gi.WGS84,m,o._modelMatrix)}var Jie=class{constructor(){this._longitude=0,this._latitude=0,this._altitude=0,this._heading=0,this._pitch=0,this._roll=0,this._batchUpdate=!1,this._modelMatrix=new Re}createFromWgs84(A,f,m,C,E,I){this._longitude=ae(A,0),this._latitude=ae(f,0),this._altitude=ae(m,0),this._heading=ae(C,0),this._pitch=ae(E,0),this._roll=ae(I,0),PP(this),this._batchUpdate=!1}beginUpdate(){this._batchUpdate=!0}endUpdate(){this._batchUpdate===!0&&(PP(this),this._batchUpdate=!1)}};Object.defineProperties(Jie.prototype,{modelMatrix:{get:function(){return this._modelMatrix},set:function(o){this._modelMatrix=o}},longitude:{get:function(){return this._longitude},set:function(o){this._longitude=o,this._batchUpdate||PP(this)}},latitude:{get:function(){return this._latitude},set:function(o){this._latitude=o,this._batchUpdate||PP(this)}},altitude:{get:function(){return this._altitude},set:function(o){this._altitude=o,this._batchUpdate||PP(this)}},heading:{get:function(){return this._heading},set:function(o){this._heading=o,this._batchUpdate||PP(this)}},pitch:{get:function(){return this._pitch},set:function(o){this._pitch=o,this._batchUpdate||PP(this)}},roll:{get:function(){return this._roll},set:function(o){this._roll=o,this._batchUpdate||PP(this)}}});var bwe=Jie;function fvi(o){return document.querySelector(o)}function ru(o,A){let f=fvi(o);if(f){if(A.nodeType===1||A.nodeType===11||A.nodeType===9)f.appendChild(A);else if(typeof A=="string"){let m=document.createElement("div");m.innerHTML=A,f.appendChild(m)}}else console.error(`no selector named ${o}`)}function cJ(o,A){this.earthCtrl=o,this.coreMap=o.coreMap,this._parameter=A,this.tooltip=null,this.style=null,this._show=!1,this._showAt=null,this._x=null,this._y=null,this._color=null,this.id=null,this.initialize()}cJ.prototype.initialize=function(){let o=this._parameter;o&&o.style&&typeof o.style=="object"&&(this.style=o.style),this.style&&this.style.origin?(this.style.origin==="center"&&(this._x=15,this._y=-12),this.style.origin==="top"&&(this._x=15,this._y=-44),this.style.origin==="bottom"&&(this._x=15,this._y=20)):(this._x=15,this._y=20),this.style&&this.style.color?(this.style.color==="white"&&(this._color="background: rgba(255, 255, 255, 0.8);color: black;"),this.style.color==="black"&&(this._color="background: rgba(0, 0, 0, 0.5);color: white;"),this.style.color==="yellow"&&(this._color="color: black;background-color: #ffcc33;border: 1px solid white;")):this._color="background: rgba(0, 0, 0, 0.5);color: white;",this.style&&this.style.id?this.id=`toolTip${this.style.id}`:this.id="toolTip";let A=document.getElementById(this.id);if(!A){let f=document.createElement("div");ru(".map-widget",f);let m=`<div id="${this.id}" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;${this._color}"></div>`;ru(".map-widget",m),A=document.getElementById(this.id)}o&&o.show?(A.innerHTML=this.style.html,A.style.left=`${this.style.position.x+this._x}px`,A.style.top=`${this.style.position.y+this._y}px`,A.style.display="block"):A.style.display="none",this.tooltip=A,this.showAts()};cJ.prototype.showFun=function(o){o?this.tooltip.style.display="block":this.tooltip.style.display="none"};cJ.prototype.showAts=function(o){o||(o={text:"\u8BF7\u521B\u5EFA\u63D0\u793A\u5185\u5BB9",position:{x:500,y:500}}),this.tooltip.innerHTML=o.text,this.style&&this.style.origin?(this.style.origin==="center"&&(this._x=15,this._y=-this.tooltip.offsetHeight/2),this.style.origin==="top"&&(this._x=15,this._y=-this.tooltip.offsetHeight-20),this.style.origin==="bottom"&&(this._x=15,this._y=20)):(this._x=15,this._y=-this.tooltip.offsetHeight/2),this.tooltip.style.left=`${o.position.x+this._x}px`,this.tooltip.style.top=`${o.position.y+this._y}px`,this.tooltip.style.display="block"};Object.defineProperties(cJ.prototype,{show:{get:function(){return this._show},set:function(o){o&&(this.showFun(o),this._show=o)}},showAt:{get:function(){return this._showAt},set:function(o){o&&(this.showAts(o),this._showAt=o)}}});var j$e=cJ;function RP(o){this.earthCtrl=o}RP.prototype.createTooltip=function(o){return new j$e(this.earthCtrl,o)};RP.prototype.mouse=function(o,A,f){A===1?o.style.cursor=`url(${f}),auto`:o.style.cursor="default"};RP.prototype.activeTool=function(o){this.tools.hasOwnProperty(o)&&this.tools[o].onActive()};RP.prototype.deactiveTool=function(o){this.tools.hasOwnProperty(o)&&this.tools[o].onDeactive()};RP.prototype.deactiveAllTool=function(){for(let o in this.tools)this.tools.hasOwnProperty(o)&&o.onDeactive()};RP.prototype.clearResult=function(){let o=this;for(let A in o.tools)o.tools.hasOwnProperty(A)&&o.tools[A].clearResult()};RP.prototype.clearTool=function(){let o=this;for(let A in o.tools)if(o.tools.hasOwnProperty(A)){let f=o.tools[A];f.onDeactive(),f.destory()}this.tools={}};var pvi=RP;var Kie=class{constructor(A){this._earthCtrl=null,this._coreMap=null,this._name="",this._id="",this._userId="",this._rtti="BaseObject",this._earthCtrl=A,this._coreMap=A.coreMap}finalize(){}addToMap(){}removeFromMap(){}};Object.defineProperties(Kie.prototype,{id:{get:function(){return this._id},set:function(o){this._id=o}},name:{get:function(){return this._name},set:function(o){this._name=o}},userId:{get:function(){return this._userId},set:function(o){this._userId=o}},rtti:{get:function(){return this._rtti}}});var xg=Kie;var Wie=class extends xg{constructor(A){super(A),this.mCoreMap=A.coreMap,this._childNodes=[],this._childNodeMap={},this._show=!0,this._parentNode=null}finalize(){this._parentNode=null,this._childNodes=[],this._childNodeMap={}}getChildCount(){return this._childNodes.length}getChildById(A){return this._childNodeMap.hasOwnProperty(A)?this._childNodeMap[A]:null}getChildByName(A){for(let f in this._childNodeMap)if(this._childNodeMap[f].name===A)return this._childNodeMap[f];return null}getChildByIndex(A){return this._childNodes[A]}addChild(A){return this._childNodeMap.hasOwnProperty(A.id)?!1:(A.parentNode=this,this._childNodes.push(A),this._childNodeMap[A.id]=A,!0)}removeChildById(A){if(!this._childNodeMap.hasOwnProperty(A))return!1;this._childNodeMap[A].parentNode=null,delete this._childNodeMap[A];for(let f=0;f<this._childNodes.length;f++)if(this._childNodes[f].id===A){this.childNodes.splice(f,1);break}return!0}removeChild(A){return this.removeChildById(A.id)}removeChildByIndex(A){let f=this._childNodes[A];return this.removeChild(f)}removeAll(){this._childNodes=[],this._childNodeMap={}}};Object.defineProperties(Wie.prototype,{parentNode:{get:function(){return this._parentNode},set:function(o){this._parentNode=o}},childNodes:{get:function(){return this._childNodes}},show:{get:function(){return this._show},set:function(o){this._show=o}}});var C6=Wie;var Qwe=class{constructor(A,f,m){this.mEarthCtrl=null,this.mCoreMap=null,this.name="Tool",this.mEnable=!0,this.mLeftButtonDown=!1,this.mMidButtonDown=!1,this.mRightButtonDown=!1,this.mShiftDown=!1,this.mCtrlDown=!1,this.mAltDown=!1,this.mLeftButtonDrag=!1,this.mMidButtonDrag=!1,this.mRightButtonDrag=!1,this.mLastMouseDownTime=0,this.mCallback=null,this.mEarthCtrl=A,this.mCoreMap=A.coreMap,this.mCallback=f,this.mEnable=m!==void 0?m:!0,this.mRenderObjectSet={}}destory(){}clearResult(){}onActive(){this.mEnable=!0}onDeactive(){this.mEnable=!1,k(this.mPoly)&&this.mPoly.destory()}onInputMessage(A){if(this.mEnable===!1)return;function f(m,C){let E=new tt(m.offsetX,m.offsetY);m.type==="pointerdown"?(m.button===0?C.onLButtonDown&&C.onLButtonDown(E):m.button===1?C.onMButtonDown&&C.onMButtonDown(E):m.button===2&&C.onRButtonDown&&C.onRButtonDown(E),C.mLastMouseDownTime=m.timeStamp):m.type==="pointerup"?m.button===0?C.onLButtonUp&&C.onLButtonUp(E):m.button===1?C.onMButtonUp&&C.onMButtonUp(E):m.button===2&&C.onRButtonUp&&C.onRButtonUp(E):m.type==="pointermove"&&C.onMouseMove&&C.onMouseMove(E)}f(A,this)}onLButtonDown(A){this.mMouseDownPoint=this.mMousePrevPoint=A,this.mLeftButtonDown=!0}onLButtonUp(A){return this.mLeftButtonDown=!1,this.mLeftButtonDrag?(this.mLeftButtonDrag=!1,!1):!0}onLButtonDoubeClick(A){this.mMouseDownPoint=this.mMousePrevPoint=A}onLButtonDrag(A){return!0}onMButtonDown(A){this.mMouseDownPoint=this.mMousePrevPoint=A,this.mMidButtonDown=!0}onMButtonUp(A){return this.mMidButtonDown=!1,this.mMidButtonDrag?(this.mMidButtonDrag=!1,!1):!0}onMButtonDoubeClick(A){this.mMouseDownPoint=this.mMousePrevPoint=A}onMButtonDrag(A){return!0}onRButtonDown(A){this.mMouseDownPoint=this.mMousePrevPoint=A,this.mRightButtonDown=!0}onRButtonUp(A){return this.mRightButtonDown=!1,this.mRightButtonDrag?(this.mRightButtonDrag=!1,!1):!0}onRButtonDoubeClick(A){this.mMouseDownPoint=this.mMousePrevPoint=A}onRButtonDrag(A){return!0}onMouseMove(A){if(this.mLeftButtonDown===!1&&this.mMidButtonDown===!1&&this.mRightButtonDown===!1){this.mMousePrevPoint=A;return}tt.distance(A,this.mMousePrevPoint)<10||(this.mLeftButtonDown&&this.onLButtonDrag(A)&&(this.mMousePrevPoint=A,this.mLeftButtonDrag=!0),this.mMidButtonDown&&this.onMButtonDrag(A)&&(this.mMousePrevPoint=A,this.mMidButtonDrag=!0),this.mRightButtonDown&&this.onRButtonDrag(A)&&(this.mMousePrevPoint=A,this.mRightButtonDrag=!0),this.mMousePrevPoint=A)}onMouseWheel(A,f){}onKeyDown(A){}onKeyUp(A){}calculateLength(A,f){let m=0,C=A.length;for(let E=0;E<C-1;E++)m+=Z.distance(A[E+1],A[E]);return f&&(m+=Z.distance(A[0],A[C-1])),m}calculateSphericalArea(A,f){let m=0;if(f)for(let C=0;C<A.length-1;C++){let E=A[C],I=A[C+1];m+=E.x*I.y-I.x*E.y}else for(let C=0;C<A.length;C++){let E=A[C],I;C<A.length-1?I=A[C+1]:I=A[0],m+=E.x*I.y-I.x*E.y}return m/2}pickVector(A,f){let m=this.mCoreMap.scene,C=m.camera,E=m.globe;if(!k(E))return;let I;if(m.pickPositionSupported)if(m.bim){let x=m.bim.PickWorldPositionSync(A.x,A.y);if(x[0]===0){if(I=m.pickPosition(A),!I){let y=C.getPickRay(A);I=m.globe.pick(y,m)}if(I===void 0)return}else I=new Z(x[0],x[1],x[2])}else{if(I=m.pickPosition(A),!I){let x=C.getPickRay(A);I=m.globe.pick(x,m)}if(I===void 0)return}return Z.clone(I,f)}pickObject(A,f){let C=this.mCoreMap.scene.pick(A);return k(C)?(f.pickedObject=C,!0):!1}doubeClickObject(A,f){let C=this.mCoreMap.scene.pick(A);return k(C)?(f.doubeClickedObject=C,!0):!1}},Qa=Qwe;var qie=class extends xg{constructor(A){super(A),this._rtti="SpatialObject",this._spatialTransform=new bwe}};Object.defineProperties(qie.prototype,{spatialTransform:{get:function(){return this._spatialTransform},set:function(o){this._spatialTransform=o}}});var YA=qie;function Kx(o){this.mEarthCtrl=o,this.mCoreMap=o.coreMap,this.tools={},this.canContinue=!0,this.initialize()}Kx.prototype.initialize=function(){let o=this;function A(m){for(let C in o.tools)if(o.tools.hasOwnProperty(C)){let E=o.tools[C];if(E.mEnable&&(o.canContinue=!0,E.onInputMessage(m),o.canContinue===!1))break}}let f=document.getElementById("mapRenderCanvas");co.supportsPointerEvents()?(f.addEventListener("pointerdown",A,!0),f.addEventListener("pointerup",A,!0),f.addEventListener("pointermove",A,!0),f.addEventListener("pointercancel",A,!0)):(f.addEventListener("mousedown",A,!0),f.addEventListener("mouseup",A,!0),f.addEventListener("touchstart",A,!0),f.addEventListener("touchend",A,!0),f.addEventListener("touchcancel",A,!0))};Kx.prototype.destory=function(){};Kx.prototype.setCanContinue=function(o){this.canContinue=o};Kx.prototype.registerTool=function(o,A){this.tools[o]=A,A.onActive()};Kx.prototype.unregisterTool=function(o){let A=this.tools[o];return delete this.tools[o],A};Kx.prototype.browse=function(){this.clearTool()};Kx.prototype.selectObject=function(){this.clearTool()};Kx.prototype.activeTool=function(o){this.tools.hasOwnProperty(o)&&this.tools[o].onActive()};Kx.prototype.deactiveTool=function(o){this.tools.hasOwnProperty(o)&&this.tools[o].onDeactive()};Kx.prototype.deactiveAllTool=function(){for(let o in this.tools)this.tools.hasOwnProperty(o)&&o.onDeactive()};Kx.prototype.clearResult=function(){let o=this;for(let A in o.tools)o.tools.hasOwnProperty(A)&&o.tools[A].clearResult()};Kx.prototype.clearTool=function(){let o=this;for(let A in o.tools)if(o.tools.hasOwnProperty(A)){let f=o.tools[A];f.onDeactive(),f.destory()}this.tools={}};var Swe=Kx;var Dwe=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="MoushHeadingTool",this.prevPosition=void 0,this.width=document.body.clientWidth,this.height=document.body.clientHeight,this.widthDegree=90,this.heightDegree=90,this.leftClick=!1}onLButtonDown(A){this.leftClick=!0}onLButtonUp(A){return this.leftClick=!1,!0}onMouseMove(A){if(!this.leftClick){this.prevPosition=void 0;return}if(this.prevPosition!==void 0){let f=(A.x-this.prevPosition.x)/this.width*this.widthDegree,m=(this.prevPosition.y-A.y)/this.height*this.heightDegree;this.mCallback&&this.mCallback({headingAmount:f,pitchAmount:m})}this.prevPosition=A}},X$e=Dwe;function Sc(o){this._earthCtrl=o,this._coreMap=o.coreMap,this._camera=this._coreMap.camera,this._undergroundMode=!1,this.underground=new mY}Sc.prototype.setViewBound=function(o,A,f,m){};Sc.prototype.forward=function(o){this._camera.moveBackward(o)};Sc.prototype.backward=function(o){this._camera.moveForward(o)};Sc.prototype.moveLeft=function(o){this._camera.moveLeft(o)};Sc.prototype.moveRight=function(o){this._camera.moveRight(o)};Sc.prototype.moveUp=function(o){this._camera.moveUp(o)};Sc.prototype.moveDown=function(o){this._camera.moveDown(o)};Sc.prototype.turnLeft=function(o){this._camera.twistLeft(o)};Sc.prototype.turnRight=function(o){this._camera.twistRight(o)};Sc.prototype.lookLeft=function(o){this._camera.lookLeft(o)};Sc.prototype.lookRight=function(o){this._camera.lookRight(o)};Sc.prototype.lookUp=function(o){this._camera.lookUp(o)};Sc.prototype.lookDown=function(o){this._camera.lookDown(o)};Sc.prototype.zoomIn=function(o){ae(this.undergroundMode,!1)===!1&&(this._camera.positionCartographic.height<o||!o&&this._camera.positionCartographic.height<1e5)||this._camera.zoomIn(o)};Sc.prototype.zoomOut=function(o){this._camera.zoomOut(o)};Sc.prototype.zoom=function(o){};Sc.prototype.moveHeading=function(o){o=ae(o,1);let A=De.toDegrees(this._coreMap.camera.heading)+o,f=this._coreMap.camera.pitch;this._coreMap.camera.setView({orientation:{heading:De.toRadians(A),pitch:f,endTransform:Re.IDENTITY}})};Sc.prototype.pickFromRay=function(o,A,f){let m=this._camera.getPickRay(o),C=this._coreMap.scene.pickFromRay(m,A,f);return k(C)?C.position:void 0};Sc.prototype.flyTo=function(o,A,f,m,C,E,I,x){this._camera.flyTo({destination:Z.fromDegrees(o,A,f),orientation:{heading:De.toRadians(m),pitch:De.toRadians(C),roll:De.toRadians(E)},duration:I,complete:x})};Sc.prototype.flyToTarget=function(o,A,f,m,C,E,I,x,y){this._camera.flyTo({destination:Z.fromDegrees(o,A,f),orientation:{heading:De.toRadians(m),pitch:De.toRadians(C),roll:De.toRadians(E)},duration:x})};var mvi=new si;Sc.prototype.getPoseByData=function(o,A,f,m,C){let E=!1;if(o.length===0)return E;let I=new si;for(let y=0;y<o.length;y++){let v=o[y];if(v.rtti==="GwModel"||v.rtti==="GwModelLayer"){let w=v._primitive;if(k(w.modelMatrix)&&k(w.boundingSphere)){let Q=si.transform(w.boundingSphere,w.modelMatrix,mvi);y===0?si.clone(Q,I):I=si.union(I,Q,I),E=!0}}}if(E!==!0)return E;let x=Lt.fromCartesian(I.center);return C.longitude=De.toDegrees(x.longitude),C.latitude=De.toDegrees(x.latitude),C.height=x.height+I.radius,C.heading=A,C.tilt=f,C.roll=m,E};Sc.prototype.setView=function(o){this._camera.setView(o)};Sc.prototype.headingControl=function(o){if(this._earthCtrl.tools.clearTool(),o){let A=this._camera,f=new X$e(this._earthCtrl,function(m){let C=De.toDegrees(A.heading)+m.headingAmount,E=De.toDegrees(A.pitch)+m.pitchAmount;A.setView({destination:A.position,orientation:{heading:De.toRadians(C),pitch:De.toRadians(E),roll:0}})});this._earthCtrl.tools.registerTool("mouse_heading_tool",f)}};Sc.prototype.rotateCamera=function(o){let A=this._earthCtrl,f=ae(o.lon,120.9),m=ae(o.lat,30.8),C=ae(o.height,0),E=Z.fromDegrees(f,m,C),I=ae(o.time,30),x=De.toRadians(o.pitch),y=360/I,v=o.distance,w=jt.fromDate(new Date),Q=jt.addSeconds(w,I,new jt),M=ae(o.keepRotating,!0);A.clock.startTime=w.clone(),A.clock.stopTime=Q.clone(),A.clock.currentTime=w.clone(),A.clock.clockRange=u0.CLAMPED,A.clock.clockStep=vc.SYSTEM_CLOCK;let B=A.coreMap.scene.camera.heading,D=function(){let P=jt.secondsDifference(A.clock.currentTime,A.clock.startTime),R=De.toRadians(P*y)+B;A.coreMap.scene.camera.lookAt(E,new sI(R,x,v)),jt.compare(A.clock.currentTime,A.clock.stopTime)>=0&&A.clock.onTick.removeEventListener(D)};return A.clock.onTick.addEventListener(D),this.removeFromMap=()=>{A.clock.onTick.removeEventListener(D),A.coreMap.camera.lookAtTransform(Re.IDENTITY)},this};Sc.prototype.viewPoint={lon:104.5,lat:30.0624522000912,alt:6649118,heading:360,pitch:-90,roll:0,duration:0};Object.defineProperties(Sc.prototype,{enableModelColliDetection:{get:function(){return this._coreMap.scene.screenSpaceCameraController.enableModelCollisionDetection},set:function(o){this._coreMap.scene.screenSpaceCameraController.enableModelCollisionDetection=o}},enableModelGroundCollisionDetection:{get:function(){return this._coreMap.scene.screenSpaceCameraController.enableModelGroundCollisionDetection},set:function(o){this._coreMap.scene.screenSpaceCameraController.enableModelGroundCollisionDetection=o}},enableGroundRoaming:{get:function(){return this._coreMap.scene.screenSpaceCameraController.enableGroundRoaming},set:function(o){this._coreMap.scene.screenSpaceCameraController.enableInputs=!o,this._coreMap.scene.screenSpaceCameraController.enableRotate=!o,this._coreMap.scene.screenSpaceCameraController.enableZoom=!o,this._coreMap.scene.screenSpaceCameraController.enableTilt=!o,this._coreMap.scene.screenSpaceCameraController.enableLook=!o,this._coreMap.scene.screenSpaceCameraController.enableGroundRoaming=o,this._coreMap.camera.frustum.near=o?.1:1,this._coreMap.camera.frustum.fov=De.toRadians(90)}},collisionRayWidth:{get:function(){return this._coreMap.scene.screenSpaceCameraController.defaultCollisionRayWidth},set:function(o){this._coreMap.scene.screenSpaceCameraController.defaultCollisionRayWidth=o}},groundRoamingHeight:{get:function(){return this._coreMap.scene.screenSpaceCameraController.defaultGroundRoamingHeight},set:function(o){o<1.5&&(o=1.5),this._coreMap.scene.screenSpaceCameraController.defaultGroundRoamingHeight=o}},undergroundMode:{get:function(){return this._undergroundMode},set:function(o){this._undergroundMode=o,o?this._coreMap.scene.globe.translucency.enabled=!0:this._coreMap.scene.globe.translucency.enabled=!1}},imageryLayeralpha:{get:function(){return this._coreMap.scene.globe.translucency.frontFaceAlpha},set:function(o){this._coreMap.scene.globe.translucency.frontFaceAlpha=o}},position:{get:function(){let o=Lt.fromCartesian(this._camera.position);return o.longitude=De.toDegrees(o.longitude),o.latitude=De.toDegrees(o.latitude),o}},heading:{get:function(){return De.toDegrees(this._camera.heading)}},pitch:{get:function(){return De.toDegrees(this._camera.pitch)}},roll:{get:function(){return De.toDegrees(this._camera.roll)}}});var Mwe=Sc;var Z$e=new Z(0,0,0),Twe=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="MeasureLineLengthTool"}onActive(){this.mClickCount=0,this.mLength=0,this.mControlPointArray=new Array(2),this.mCoordsArray=[],this.mPolyline=null,this.mPoints=null,this.mLabel=null;let A=document.createElement("div");ru(".map-widget",A),ru(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>'),this.tooltip=document.getElementById("toolTip"),this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u518D\u6B21\u70B9\u51FB\u5DE6\u952E\u7ED3\u675F\uFF01</span>'}onDeactive(){this.clearResult(),this.mClickCount=0,this.mLength=0,this.mControlPointArray=null,this.mCoordsArray=null}clearResult(){k(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),k(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),k(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null),k(this.tooltip)&&(this.tooltip.style.display="none")}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.tooltip.style.display="none",this.mClickCount>1)return!0;let f=new Z(0,0,0);return this.pickVector(A,f)&&(this.mControlPointArray[this.mClickCount]=f,this.mClickCount===1&&(this.mLength=Z.distance(this.mControlPointArray[0],this.mControlPointArray[1]),this.mCallback&&this.mCallback({result:this.mLength}),this.mEnable=!1),this.mClickCount++),!0}onMouseMove(A){if(super.onMouseMove(A),this.mClickCount<1&&(this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block"),this.mClickCount===1&&(this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u7ED3\u675F\uFF01</span>',this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block",this.pickVector(A,Z$e))){this.mControlPointArray[1]=Z$e,this.mLength=Z.distance(this.mControlPointArray[0],this.mControlPointArray[1]);let f="\u957F\u5EA6:";this.mLength>=1e3?f+=`${parseInt(this.mLength/10)/100}\u5343\u7C73`:f+=`${parseInt(this.mLength*100)/100}\u7C73`,k(this.mPolyline)?(this.mLabel.position=this.mControlPointArray[1],this.mLabel.text=f):(this.mPolyline=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:qe.fromRgba(4286644096),width:3}),this.mLabel=zA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[1],text:f}))}}},Pwe=Twe;var E6=new Z(0,0,0),Rwe=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="MeasurePathLengthTool"}onActive(){this.mTotalLength=0,this.mControlPointArray=[],this.mPathPointArray=[],this.mPolyline=null,this.mPoints=null,this.mLabel=null}onDeactive(){this.clearResult(),this.mTotalLength=0,this.mControlPointArray=null,this.mPathPointArray=null}clearResult(){k(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),k(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),k(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null)}onLButtonUp(A){return super.onLButtonUp(A)===!1?!1:(this.pickVector(A,E6)&&(this.mControlPointArray.length>0&&this.mControlPointArray.pop(),this.mControlPointArray.push(Z.clone(E6)),this.mControlPointArray.push(Z.clone(E6)),this.mTotalLength=this.calculateLength(this.mControlPointArray,!1),k(this.mPoints)&&this.mPoints.add(Z.clone(E6))),!0)}onRButtonDown(A){super.onRButtonDown(A),this.mControlPointArray.length>=2&&(this.mEnable=!1,this.mCallback&&this.mCallback({result:this.mTotalLength}))}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;if(!(f<=1)&&this.pickVector(A,E6)){Z.clone(E6,this.mControlPointArray[f-1]),this.mTotalLength=this.calculateLength(this.mControlPointArray,!1);let m="\u957F\u5EA6:";this.mTotalLength>=1e3?m+=`${parseInt(this.mTotalLength/10)/100}\u5343\u7C73`:m+=`${parseInt(this.mTotalLength*100)/100}\u7C73`,k(this.mPolyline)?(this.mLabel.position=this.mControlPointArray[f-1],this.mLabel.text=m):(this.mPolyline=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:qe.fromRgba(4286644096),width:3}),this.mLabel=zA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[f-1],text:m}))}}},jie=Rwe;var hJ=new Z(0,0,0),Lwe=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="MeasureHeightTool"}onActive(){this.mClickCount=0,this.mTotalLength=0,this.mControlPointArray=[];for(let m=0;m<3;m++)this.mControlPointArray.push(new Z(0,0,0));this.mHorizontalVerts=new Array(2),this.mVerticalVerts=new Array(2),this.mHeight=0,this.mFirstVertex=new Z(0,0,0),this.mSecondVertex=new Z(0,0,0),this.mFirstCart=new Lt,this.mMidCart=new Lt,this.mSecondCart=new Lt,this.mPolylineHorizontal=null,this.mPolylineVertical=null,this.mPoints=null,this.mLabel=null;let A=document.createElement("div");ru(".map-widget",A),ru(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>'),this.tooltip=document.getElementById("toolTip"),this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u518D\u6B21\u70B9\u51FB\u5DE6\u952E\u7ED3\u675F\uFF01</span>'}onDeactive(){this.clearResult(),this.mClickCount=0,this.mTotalLength=0,this.mControlPointArray=null,this.mHorizontalVerts=null,this.mVerticalVerts=null,this.mHeight=0,this.mFirstVertex=null,this.mSecondVertex=null,this.mFirstCart=null,this.mMidCart=null,this.mSecondCart=null}clearResult(){k(this.mPolylineHorizontal)&&(this.mPolylineHorizontal.destory(),this.mPolylineHorizontal=null),k(this.mPolylineVertical)&&(this.mPolylineVertical.destory(),this.mPolylineVertical=null),k(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),k(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null),k(this.tooltip)&&(this.tooltip.style.display="none")}onLButtonUp(A){return super.onLButtonUp(A)===!1?!1:(this.tooltip.style.display="none",this.mClickCount>1||this.pickVector(A,hJ)&&(this.mClickCount===0?Z.clone(hJ,this.mFirstVertex):(Z.clone(hJ,this.mSecondVertex),Lt.fromCartesian(this.mFirstVertex,null,this.mFirstCart),Lt.fromCartesian(this.mSecondVertex,null,this.mSecondCart),this.mHeight=Math.abs(this.mSecondCart.height-this.mFirstCart.height),this.mCallback&&this.mCallback({result:this.mHeight}),this.mEnable=!1),this.mClickCount++),!0)}onMouseMove(A){if(super.onMouseMove(A),this.mClickCount<1&&(this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block"),this.mClickCount===1&&(this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u7ED3\u675F\uFF01</span>',this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block",this.pickVector(A,hJ))){Z.clone(hJ,this.mSecondVertex),Lt.fromCartesian(this.mFirstVertex,null,this.mFirstCart),Lt.fromCartesian(this.mSecondVertex,null,this.mSecondCart),this.mHeight=Math.abs(this.mSecondCart.height-this.mFirstCart.height),this.mSecondCart.height<this.mFirstCart.height&&(Lt.clone(this.mSecondCart,this.mMidCart),Lt.clone(this.mFirstCart,this.mSecondCart),Lt.clone(this.mMidCart,this.mFirstCart)),this.mMidCart.longitude=this.mFirstCart.longitude,this.mMidCart.latitude=this.mFirstCart.latitude,this.mMidCart.height=this.mSecondCart.height,Lt.toCartesian(this.mFirstCart,null,this.mControlPointArray[0]),Lt.toCartesian(this.mMidCart,null,this.mControlPointArray[1]),Lt.toCartesian(this.mSecondCart,null,this.mControlPointArray[2]);let f="\u9AD8\u5EA6:";this.mHeight>=1e3?f+=`${parseInt(this.mHeight)/1e3}\u5343\u7C73`:f+=`${parseInt(this.mHeight*1e3)/1e3}\u7C73`,this.mHorizontalVerts[0]=this.mControlPointArray[1],this.mHorizontalVerts[1]=this.mControlPointArray[2],this.mVerticalVerts[0]=this.mControlPointArray[0],this.mVerticalVerts[1]=this.mControlPointArray[1],k(this.mPolylineHorizontal)?(this.mLabel.position=this.mControlPointArray[1],this.mLabel.text=f):(this.mPolylineHorizontal=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mHorizontalVerts,color:qe.fromRgba(4286644096),width:3}),this.mPolylineVertical=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mVerticalVerts,color:qe.YELLOW,width:3}),this.mLabel=zA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[1],text:f}))}}},Fwe=Lwe;var $$e=new Z(0,0,0),eet=new Lt,tet=new Lt,Nwe=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="MeasureSlopeTool"}onActive(){this.mClickCount=0,this.mSlope=0,this.mControlPointArray=new Array(2),this.mCoordsArray=[],this.mPolyline=null,this.mPoints=null,this.mLabel=null;let A=document.createElement("div");ru(".map-widget",A),ru(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>'),this.tooltip=document.getElementById("toolTip"),this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u518D\u6B21\u70B9\u51FB\u5DE6\u952E\u7ED3\u675F\uFF01</span>'}onDeactive(){this.clearResult(),this.mClickCount=0,this.mLength=0,this.mControlPointArray=null,this.mCoordsArray=null}clearResult(){k(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),k(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),k(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null),k(this.tooltip)&&(this.tooltip.style.display="none")}getSlope(A,f){Lt.fromCartesian(A,null,eet),Lt.fromCartesian(f,null,tet);let m=tet.height-eet.height,C=Z.distance(A,f);return C===0?0:Math.asin(m/C)/Math.PI*180}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.tooltip.style.display="none",this.mClickCount>1)return!0;let f=new Z(0,0,0);return this.pickVector(A,f)&&(this.mControlPointArray[this.mClickCount]=f,this.mClickCount===1&&(this.mSlope=this.getSlope(this.mControlPointArray[0],this.mControlPointArray[1]),this.mCallback&&this.mCallback({result:this.mSlope}),this.mEnable=!1),this.mClickCount++),!0}onMouseMove(A){if(super.onMouseMove(A),this.mClickCount<1&&(this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block"),this.mClickCount===1&&(this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u7ED3\u675F\uFF01</span>',this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block",this.pickVector(A,$$e))){this.mControlPointArray[1]=$$e,this.mSlope=this.getSlope(this.mControlPointArray[0],this.mControlPointArray[1]);let f="\u659C\u7387:";f+=`${parseInt(this.mSlope*100)/100}\u5EA6`,k(this.mPolyline)?(this.mLabel.position=this.mControlPointArray[1],this.mLabel.text=f):(this.mPolyline=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:qe.fromRgba(4286644096),width:3}),this.mLabel=zA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[1],text:f}))}}},kwe=Nwe;var PD=new Z(0,0,0),dJ=new Z(0,0,0);function iet(o,A){for(let f=0;f<o.length;f++){let m=o[f];Lt.fromCartesian(m,null,dJ),dJ.height=A,Lt.toCartesian(dJ,null,m)}}function ret(o){let A=-99999999;for(let f=0;f<o.length;f++)Lt.fromCartesian(o[f],null,dJ),A=Math.max(dJ.height,A);return A}var Uwe=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="HorizontalDistanceTool"}onActive(){this.mClickCount=0,this.mTotalLength=0,this.mMaxHeight=-99999999,this.mHorizontalControlPointArray=[],this.mControlPointArray=[],this.mFinalVerticalPoints=[],this.mFinalVerticalPoints.push(new Z(0,0,0)),this.mFinalVerticalPoints.push(new Z(0,0,0)),this.mVerticalPolylines=[],this.mFinalVerticalPoly=null,this.mPolyline=null,this.mHorizontalPoints=null,this.mPoints=null,this.mLabel=null;let A=document.createElement("div");ru(".map-widget",A),ru(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>'),this.tooltip=document.getElementById("toolTip"),this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01</span>'}onDeactive(){this.clearResult(),this.mClickCount=0,this.mTotalLength=0,this.mMaxHeight=-99999999,this.mHorizontalControlPointArray=null,this.mControlPointArray=null,this.mFinalVerticalPoints=null}clearResult(){for(let A in this.mVerticalPolylines)this.mVerticalPolylines[A].destory();this.mVerticalPolylines=[],k(this.mFinalVerticalPoly)&&(this.mFinalVerticalPoly.destory(),this.mFinalVerticalPoly=null),k(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),k(this.mHorizontalPoints)&&(this.mHorizontalPoints.destory(),this.mHorizontalPoints=null),k(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),k(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null),k(this.tooltip)&&(this.tooltip.style.display="none")}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.pickVector(A,PD)){this.mControlPointArray.length>0&&this.mControlPointArray.pop(),this.mControlPointArray.push(Z.clone(PD)),this.mControlPointArray.push(Z.clone(PD)),k(this.mPoints)&&this.mPoints.add(Z.clone(PD)),this.mHorizontalControlPointArray.length>0&&this.mHorizontalControlPointArray.pop(),this.mHorizontalControlPointArray.push(Z.clone(PD)),this.mHorizontalControlPointArray.push(Z.clone(PD)),this.mMaxHeight=ret(this.mControlPointArray),iet(this.mHorizontalControlPointArray,this.mMaxHeight),k(this.mHorizontalPoints)&&this.mHorizontalPoints.add(Z.clone(this.mHorizontalControlPointArray[this.mHorizontalControlPointArray.length-1]));let f=this.mControlPointArray.length,m=[this.mControlPointArray[f-2],this.mHorizontalControlPointArray[f-2]],C=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:m,color:qe.YELLOW,width:2});this.mVerticalPolylines.push(C),Z.clone(this.mControlPointArray[f-1],this.mFinalVerticalPoints[0]),Z.clone(this.mHorizontalControlPointArray[f-1],this.mFinalVerticalPoints[1])}return!0}onRButtonDown(A){super.onRButtonDown(A),this.tooltip.style.display="none",this.mControlPointArray.length>=2&&(this.mCallback&&this.mCallback({result:this.mTotalLength}),this.mEnable=!1)}onMouseMove(A){super.onMouseMove(A),this.mClickCount<1&&(this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block");let f=this.mControlPointArray.length;if(!(f<=1)&&(this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u53F3\u952E\u7ED3\u675F\uFF01</span>',this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block",this.pickVector(A,PD))){Z.clone(PD,this.mControlPointArray[f-1]),Z.clone(PD,this.mHorizontalControlPointArray[f-1]),this.mMaxHeight=ret(this.mControlPointArray),iet(this.mHorizontalControlPointArray,this.mMaxHeight),this.mTotalLength=this.calculateLength(this.mHorizontalControlPointArray,!1);let m="\u957F\u5EA6:";this.mTotalLength>=1e3?m+=`${parseInt(this.mTotalLength)/1e3}\u5343\u7C73`:m+=`${parseInt(this.mTotalLength*1e3)/1e3}\u7C73`,Z.clone(this.mControlPointArray[f-1],this.mFinalVerticalPoints[0]),Z.clone(this.mHorizontalControlPointArray[f-1],this.mFinalVerticalPoints[1]),k(this.mPolyline)?(this.mLabel.position=this.mHorizontalControlPointArray[f-1],this.mLabel.text=m):(this.mPolyline=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mHorizontalControlPointArray,color:qe.fromRgba(4286644096),width:3}),this.mFinalVerticalPoly=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mFinalVerticalPoints,color:qe.YELLOW,width:2}),this.mLabel=zA.createLabelPrimitive(this.mEarthCtrl,{position:this.mHorizontalControlPointArray[f-1],text:m}))}}},Owe=Uwe;var l3=new Z(0,0,0),Gwe=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="MeasureAreaTool"}onActive(){this.mTotalLength=0,this.mControlPointArray=[],this.mPolygonPointArray=[],this.mPolygon=null,this.mPolyline=null,this.mPoints=null,this.mLabel=null}onDeactive(){this.clearResult(),this.mTotalLength=0,this.mControlPointArray=[],this.mPolygonPointArray=[]}clearResult(){k(this.mPolygon)&&(this.mPolygon.destory(),this.mPolygon=null),k(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),k(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),k(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null)}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.pickVector(A,l3)){if(this.mControlPointArray.length>0&&(this.mControlPointArray.pop(),this.mControlPointArray.pop()),this.mControlPointArray.push(Z.clone(l3)),this.mControlPointArray.push(Z.clone(l3)),this.mControlPointArray.push(Z.clone(this.mControlPointArray[0])),this.mPolygonPointArray.push(Z.clone(l3)),k(this.mPoints)&&this.mPoints.add(Z.clone(l3)),this.mPolygonPointArray.length<3)return;k(this.mPolygon)||(this.mPolygon=zA.createPolygonPrimitive(this.mEarthCtrl,{positions:this.mPolygonPointArray,color:qe.fromRgba(2290155392),outlineColor:qe.WHITE,width:3}))}return!0}onRButtonDown(A){super.onRButtonDown(A),this.mControlPointArray.length>=2&&(this.mCallback&&this.mCallback({result:this.mTotalArea}),this.mEnable=!1)}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;if(!(f<=2)&&this.pickVector(A,l3)){Z.clone(l3,this.mControlPointArray[f-2]),this.mTotalArea=this.calculateSphericalArea(this.mControlPointArray,!0);let m="\u6295\u5F71\u9762\u79EF:";this.mTotalArea>=1e5?m+=`${parseInt(this.mTotalArea/1e3)/1e3}\u5E73\u65B9\u5343\u7C73`:m+=`${parseInt(this.mTotalArea*1e3)/1e3}\u5E73\u65B9\u7C73`,k(this.mPolyline)?(this.mLabel.position=this.mControlPointArray[f-1],this.mLabel.text=m):(this.mPolyline=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:qe.fromRgba(3422617472),width:3}),this.mLabel=zA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[f-1],text:m}))}}},gJ=Gwe;var net=new Z(0,0,0),Hwe=class extends gJ{constructor(A,f,m){super(A,f,m),this.name="MeasureSurfaceAreaTool"}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;if(!(f<=2)&&this.pickVector(A,net)){Z.clone(net,this.mControlPointArray[f-2]),this.mTotalArea=this.calculateSphericalArea(this.mControlPointArray,!0);let m="\u6295\u5F71\u9762\u79EF:";this.mTotalArea>=1e5?m+=`${parseInt(this.mTotalArea/1e3)/1e3}\u5E73\u65B9\u5343\u7C73`:m+=`${parseInt(this.mTotalArea*1e3)/1e3}\u5E73\u65B9\u7C73`,k(this.mPolyline)?(this.mLabel.position=this.mControlPointArray[f-1],this.mLabel.text=m):(this.mPolyline=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:qe.fromRgba(3422617472),width:3}),this.mLabel=zA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[f-1],text:m}))}}},Vwe=Hwe;var Wx=new Z(0,0,0),zwe=new Lt(0,0,0);function oet(o,A,f){Lt.fromCartesian(o,null,zwe),zwe.height+=1.5,Lt.toCartesian(zwe,null,f)}var Ywe=class extends Qa{constructor(A,f,m){super(A,f,m),this.mClickCount=0,this.mTotalLength=0,this.mHorizontalControlPointArray=[],this.mControlPointArray=[],this.mFinalVerticalPoints=[],this.mFinalVerticalPoints.push(new Z(0,0,0)),this.mFinalVerticalPoints.push(new Z(0,0,0)),this.mMaxHeight=-99999999,this.mTotalLength=0,this.mPoly=null,this.mPoints=null,this.mHorizontalPoints=null,this.mLabel=null,this.mVerticalPolylines=[],this.mFinalVerticalPoly=null}onActive(){}onDeactive(){}destory(){k(this.mPoints)&&this.mPoints.destory(),k(this.mHorizontalPoints)&&this.mHorizontalPoints.destory()}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.mClickCount>=2)return!0;if(this.pickVector(A,Wx)){this.mControlPointArray.length>0&&this.mControlPointArray.pop(),this.mControlPointArray.push(Z.clone(Wx)),this.mControlPointArray.push(Z.clone(Wx)),k(this.mPoints)&&this.mPoints.add(Z.clone(Wx)),this.mHorizontalControlPointArray.length>0&&this.mHorizontalControlPointArray.pop(),oet(Wx,1.5,Wx),this.mHorizontalControlPointArray.push(Z.clone(Wx)),this.mHorizontalControlPointArray.push(Z.clone(Wx)),k(this.mHorizontalPoints)&&this.mHorizontalPoints.add(Z.clone(this.mHorizontalControlPointArray[this.mHorizontalControlPointArray.length-1]));let f=this.mControlPointArray.length;Z.clone(this.mControlPointArray[f-1],this.mFinalVerticalPoints[0]),Z.clone(this.mHorizontalControlPointArray[f-1],this.mFinalVerticalPoints[1]);let m=this;this.mClickCount===1&&this.mEarthCtrl.measure.lineOfSightByParams({startPoint:this.mHorizontalControlPointArray[0],endPoint:this.mHorizontalControlPointArray[2]},function(C){C.ret===!0&&(m.mHorizontalControlPointArray[f-2]=C.position,m.mHorizontalControlPointArray[f-1]=C.position),m.mCallback&&m.mCallback(C),m.mEnable=!1}),this.mClickCount++}return!0}onRender(){}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;f<=1||this.pickVector(A,Wx)&&(Z.clone(Wx,this.mControlPointArray[f-1]),oet(Wx,1.5,Wx),Z.clone(Wx,this.mHorizontalControlPointArray[f-1]),Z.clone(this.mControlPointArray[f-1],this.mFinalVerticalPoints[0]),Z.clone(this.mHorizontalControlPointArray[f-1],this.mFinalVerticalPoints[1]))}},aet=Ywe;var Jwe=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="PickObjectTool"}destory(){}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;let f={};return this.pickObject(A,f)&&this.mCallback&&this.mCallback(f),!0}},Kwe=Jwe;var Wwe=class extends Qa{constructor(A,f,m,C){super(f,m,C),this.name="PickPositionTool",this.options=A}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;let f=new Z(0,0,0);if(this.pickVector(A,f)){let m;!this.options||!this.options.type||this.options==="LongitudeAndLatitude"?(m=Lt.fromCartesian(f),m.longitude=De.toDegrees(m.longitude),m.latitude=De.toDegrees(m.latitude),this.mCallback&&this.mCallback({result:m})):this.options.type==="Cartographic"?(m=Lt.fromCartesian(f),this.mCallback&&this.mCallback({result:m})):this.options.type==="Cartesian2"?(m=A,this.mCallback&&this.mCallback({result:m})):this.options.type==="Cartesian3"&&(m=this.pickVector(A,f),this.mCallback&&this.mCallback({result:m}))}return!0}onRButtonUp(A){return super.onLButtonUp(A)===!1?!1:(this.mCallback&&this.mCallback({retCode:"finished"}),!0)}},qwe=Wwe;var jwe=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="HoverObjectTool"}destory(){}onMouseMove(A){if(super.onLButtonUp(A)===!1)return!1;let f={};return this.pickObject(A,f)&&this.mCallback&&this.mCallback(f),!0}},Xwe=jwe;var Zwe=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="DoubleClickObjectTool"}destory(){}onRButtonDown(A){if(super.onLButtonUp(A)===!1)return!1;let f={};return this.doubeClickObject(A,f)&&this.mCallback&&this.mCallback(f),!0}},$we=Zwe;var e1e=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="RClickObjectTool"}destory(){}onRButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;let f={};return this.pickObject(A,f)&&this.mCallback&&this.mCallback(f),!0}},t1e=e1e;function Kd(o){this._earthCtrl=o,this._coreMap=o.coreMap,this.tools=[]}Kd.prototype.lineLength=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new Pwe(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("line_length_tool",A),this.tools.push(A),A};Kd.prototype.pathLength=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new jie(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("path_length_tool",A),this.tools.push(A),A};Kd.prototype.measureHeight=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new Fwe(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("height_tool",A),this.tools.push(A),A};Kd.prototype.measureSlope=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new kwe(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("slope_tool",A),this.tools.push(A),A};Kd.prototype.spatialDistance=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new jie(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("spatial_distance_tool",A),this.tools.push(A),A};Kd.prototype.horizontalDistance=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new Owe(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("horizontal_distance_tool",A),this.tools.push(A),A};Kd.prototype.measureArea=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new gJ(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("area_tool",A),this.tools.push(A),A};Kd.prototype.measureSurfaceArea=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new Vwe(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("surface_area_tool",A),this.tools.push(A),A};var Xie=new Lt;Kd.prototype.measureTerrainHeight=function(o){return Xie.longitude=De.toRadians(o.longitude),Xie.latitude=De.toRadians(o.latitude),Xie.height=o.height,this._coreMap.scene.globe.getHeight(Xie)};Kd.prototype.lineOfSight=function(o,A){this._earthCtrl.tools.clearTool();let f=new aet(this._earthCtrl,function(m){A&&A(m)});this._earthCtrl.tools.registerTool("line_of_sight_tool",f)};Kd.prototype.threatDome=function(o,A){};Kd.prototype.viewShed=function(o,A){};Kd.prototype.buffer=function(o,A){};Kd.prototype.pickPosition=function(o,A){this._earthCtrl.tools.clearTool();let f=new qwe(o,this._earthCtrl,function(m){A&&A(m)});this._earthCtrl.tools.registerTool("pick_position_tool",f)};Kd.prototype.pickObject=function(o,A){this._earthCtrl.tools.clearTool();let f=new Kwe(this._earthCtrl,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("pick_object_tool",f),f};Kd.prototype.endPickObject=function(o){this._earthCtrl.tools.clearTool(),o.endPickObject(),this._earthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!0,this._earthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!0};Kd.prototype.hoverObject=function(o,A){this._earthCtrl.tools.clearTool();let f=new Xwe(this._earthCtrl,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("hover_object_tool",f),f};Kd.prototype.doubeClickObject=function(o,A){this._earthCtrl.tools.clearTool();let f=new $we(this._earthCtrl,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("doubeClick_object_tool",f),f};Kd.prototype.RClickObject=function(o,A){this._earthCtrl.tools.clearTool();let f=new t1e(this._earthCtrl,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("RClick_object_tool",f),f};Kd.prototype.clearResult=function(o){k(o)?o.clearResult():this._earthCtrl.tools.clearResult()};Kd.prototype.lineOfSightByParams=function(o,A){let f=Z.normalize(Z.subtract(o.endPoint,o.startPoint,new Z),new Z),m=Z.distance(o.endPoint,o.startPoint),C=new Oa(o.startPoint,f),E=[],I=this.earthCtrl.coreMap.scene.pickFromSegment(C,m,E),x=!0,y;return!k(I)||!k(I.position)?x=!1:y=I.position,A&&A({ret:x,position:y}),x};var i1e=Kd;var I6=new Z(0,0,0),r1e=class{constructor(){this.name="GwPolylineCreateTool"}onActive(){this.mTotalLength=0,this.mControlPointArray=[],this.mPathPointArray=[],this.mPolyline=null,this.mPoints=null}onDeactive(){k(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),k(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),this.mTotalLength=0,this.mControlPointArray=null,this.mPathPointArray=null}onLButtonUp(A){return super.onLButtonUp(A)===!1?!1:(this.pickVector(A,I6)&&(this.mControlPointArray.length>0&&this.mControlPointArray.pop(),this.mControlPointArray.push(Z.clone(I6)),this.mControlPointArray.push(Z.clone(I6)),this.mTotalLength=this.calculateLength(this.mControlPointArray,!1),k(this.mPoints)&&this.mPoints.add(Z.clone(I6))),!0)}onRButtonDown(A){super.onRButtonDown(A),this.mControlPointArray.length>=2&&(this.mCallback&&this.mCallback({result:this.mControlPointArray}),k(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),this.mPolyline=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:qe.fromRgba(4286644096),width:3}),this.mEnable=!1)}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;f<=1||this.pickVector(A,I6)&&(Z.clone(I6,this.mControlPointArray[f-1]),k(this.mPolyline)||(this.mPolyline=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:qe.fromRgba(4286644096),width:3})))}},Zie=r1e;var A3=new Z(0,0,0),n1e=class extends Qa{constructor(A,f,m){super(A,f,m),this.name="PolylineCreateTool"}onActive(){this.mTotalLength=0,this.mControlPointArray=[],this.mPolygonPointArray=[],this.mPolygon=null,this.mPolyline=null,this.mPoints=null}onDeactive(){k(this.mPolygon)&&(this.mPolygon.destory(),this.mPolygon=null),k(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),k(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),k(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null),this.mTotalLength=0,this.mControlPointArray=[],this.mPolygonPointArray=[]}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.pickVector(A,A3)){if(this.mControlPointArray.length>0&&(this.mControlPointArray.pop(),this.mControlPointArray.pop()),this.mControlPointArray.push(Z.clone(A3)),this.mControlPointArray.push(Z.clone(A3)),this.mControlPointArray.push(Z.clone(this.mControlPointArray[0])),this.mPolygonPointArray.push(Z.clone(A3)),k(this.mPoints)&&this.mPoints.add(Z.clone(A3)),this.mPolygonPointArray.length<3)return;k(this.mPolygon)||(this.mPolygon=zA.createPolygonPrimitive(this.mEarthCtrl,{positions:this.mPolygonPointArray,color:qe.fromRgba(2290155392),outlineColor:qe.WHITE,width:3}))}return!0}onRButtonDown(A){super.onRButtonDown(A),this.mControlPointArray.length>=2&&(this.mCallback&&this.mCallback({result:this.mControlPointArray}),this.mEnable=!1)}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;f<=2||this.pickVector(A,A3)&&(Z.clone(A3,this.mControlPointArray[f-2]),k(this.mPolyline)||(this.mPolyline=zA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:qe.fromRgba(3422617472),width:3})))}},$ie=n1e;function x6(o,A){this.mEarthCtrl=o,this.handler=new pr(o.coreMap.canvas),A=ae(A,ae.EMPTY_OBJECT),this.mCallback=A.callback,this.name="DrawShapeTool",this.entityShape=null,this.points=[],this.drawingMode=ae(A.shape,"polygon"),this.activeShapePoints=[],this.activeShape=void 0,this.floatingPoint=void 0;let f=this;f.handler.setInputAction(function(m){let C=f.mEarthCtrl.coreMap;if(!Fu.supportsPolylinesOnTerrain(C.scene)){console.log("This browser does not support polylines on terrain.");return}let E=C.scene.pickPosition(m.position);k(E)&&(f.activeShapePoints.length===0&&(f.floatingPoint=f.createPoint(E),f.activeShapePoints.push(E)),f.activeShapePoints.push(E),f.createPoint(E))},_i.LEFT_CLICK),f.handler.setInputAction(function(m){f.handler.destroy(),f.terminateShape()},_i.RIGHT_CLICK),f.handler.setInputAction(function(m){if(k(f.floatingPoint)){let C=f.mEarthCtrl.coreMap.scene.pickPosition(m.endPosition);if(k(C)&&(f.floatingPoint.position.setValue(C),f.activeShapePoints.pop(),f.activeShapePoints.push(C),!k(f.entityShape))){let E;f.drawingMode==="polygon"?f.activeShapePoints.length>=3&&(E=new Kr(function(){return new In(f.activeShapePoints)},!1),f.entityShape=f.drawShape(E)):(E=new Kr(function(){return f.activeShapePoints},!1),f.entityShape=f.drawShape(E))}}},_i.MOUSE_MOVE)}Object.defineProperties(x6.prototype,{});x6.prototype.createPoint=function(o){let A=this.mEarthCtrl.entities.add({position:o,point:{pixelSize:10,color:qe.YELLOW,heightReference:tn.CLAMP_TO_GROUND}});return this.points.push(A),A};x6.prototype.terminateShape=function(){!k(this.mCallback)||(console.info(this.entityShape),k(this.entityShape.polygon)?this.mCallback({result:this.entityShape.polygon.hierarchy.getValue().positions}):k(this.entityShape.polyline)?this.mCallback({result:this.entityShape.polyline.positions.getValue()}):this.mCallback({result:this.entityShape.point.positions.getValue()}))};x6.prototype.drawShape=function(o){let A,m=this.mEarthCtrl;return this.drawingMode==="polyline"?A=m.entities.add({polyline:{positions:o,clampToGround:!0,arcType:aa.RHUMB,material:qe.GREEN,width:5}}):this.drawingMode==="polygon"?A=m.entities.add({polygon:{hierarchy:o,material:new sa(qe.LIGHTSKYBLUE.withAlpha(.7))}}):this.drawingMode==="point"&&(A=m.entities.add({position:o,point:{pixelSize:10,color:qe.YELLOW,heightReference:tn.CLAMP_TO_GROUND}})),A};x6.prototype.removeFromMap=function(){let o=this.mEarthCtrl;o.entities.remove(this.floatingPoint),o.entities.remove(this.activeShape);for(let A=0;A<this.points.length;A++){let f=this.points[A];o.entities.remove(f)}this.entityShape=null,this.floatingPoint=void 0,this.activeShape=void 0,this.activeShapePoints=[],this.points=[]};var set=x6;function Cvi(o,A){let f=null,m="",C=null,E,I=[],x=function(){function M(B){this.options={name:"",polygon:{hierarchy:[],heightReference:ae(m.heightReference,1),perPositionHeight:m.heightReference===0,material:ae(m.material,qe.YELLOW.withAlpha(.5))}},this.hierarchy=B,this._init()}return M.prototype._init=function(){let B=this,D=function(){return B.hierarchy};this.options.polygon.hierarchy=new Kr(D,!1),this.polygon=o.entities.add(this.options),f=this.polygon},M}();C=new pr(o.coreMap.scene.canvas);let y=[],v={},w;C.setInputAction(function(M){let B=o.coreMap.camera.getPickRay(M.position),D=o.coreMap.scene.globe.pick(B,o.coreMap.scene),S=Lt.fromCartesian(D),P=De.toDegrees(S.longitude),R=De.toDegrees(S.latitude);y.length===0&&(y.push(D.clone()),I.push([P,R])),y.push(D),v=new In(y),I.push([P,R])},_i.LEFT_CLICK);let Q=new Evi;C.setInputAction(function(M){y.length===0?Q.showAt(M.endPosition,"\u5DE6\u952E\u5F00\u59CB\u7ED8\u5236\uFF01"):y.length<=2?Q.showAt(M.endPosition,"\u70B9\u51FB\u7EE7\u7EED\u7ED8\u5236\uFF01"):Q.showAt(M.endPosition,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236\uFF01");let B=o.coreMap.scene.pickPosition(M.endPosition);if(!B)return;let D=Lt.fromCartesian(B),S=De.toDegrees(D.longitude),P=De.toDegrees(D.latitude);y.length>=2&&(k(w)?B!==void 0&&(y.pop(),B.y+=1+Math.random(),y.push(B),v=new In(y),I.pop(),I.push([S,P])):(v=new In(y),w=new x(v)),o.entities.remove(E),E=o.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new Kr(function(){let R=new Z;return y.forEach(T=>{Z.add(R,T,R)}),Z.divideByScalar(R,y.length,new Z)},!1)}))},_i.MOUSE_MOVE),C.setInputAction(function(M){C.destroy(),Q.show(!1);let B={polygon:{},positions:[],area:[]};B.polygon=w;let D=[];for(let S=0;S<y.length;S++){let P=Lt.fromCartesian(y[S]),R=De.toDegrees(P.longitude),T=De.toDegrees(P.latitude),L=P.height;D.push({lon:R,lat:T,hei:L})}B.positions=D,A&&A(I),o.entities.remove(E),o.entities.remove(f)},_i.RIGHT_CLICK)}function Evi(o={},A,f){let m,C,E,I,x;typeof o=="object"&&(m=o),m&&m.origin?(m.origin==="center"&&(C=15,E=-12),m.origin==="top"&&(C=15,E=-44),m.origin==="bottom"&&(C=15,E=20)):(C=15,E=20),m&&m.color?(m.color==="white"&&(I="background: rgba(255, 255, 255, 0.8);color: black;"),m.color==="black"&&(I="background: rgba(0, 0, 0, 0.5);color: white;"),m.color==="yellow"&&(I="color: black;background-color: #ffcc33;border: 1px solid white;")):I="background: rgba(0, 0, 0, 0.5);color: white;",m&&m.id?x=`toolTip${m.id}`:x="toolTip";let y=null;if(!y){let v=document.createElement("div");ru(".map-widget",v);let w=`<div id="${x}" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;${I}"></div>`;ru(".map-widget",w),y=document.getElementById(x)}return f?(y.innerHTML=o,y.style.left=`${A.x+C}px`,y.style.top=`${A.y+E}px`,y.style.display="block"):y.style.display="none",{tooltip:y,style:m,showAt:function(v,w){this.tooltip.innerHTML=w,this.style&&this.style.origin?(this.style.origin==="center"&&(C=15,E=-this.tooltip.offsetHeight/2),this.style.origin==="top"&&(C=15,E=-this.tooltip.offsetHeight-20),this.style.origin==="bottom"&&(C=15,E=20)):(C=15,E=-this.tooltip.offsetHeight/2),this.tooltip.style.left=`${v.x+C}px`,this.tooltip.style.top=`${v.y+E}px`,this.tooltip.style.display="block"},show:function(v){v?this.tooltip.style.display="block":this.tooltip.style.display="none"}}}var Aet=Cvi;function fJ(o){this._earthCtrl=o,this._coreMap=o.coreMap}fJ.prototype.createPolyline=function(o){this._earthCtrl.tools.clearTool();let A=new Zie(this._earthCtrl,function(f){o&&o(f)});this._earthCtrl.tools.registerTool("createPolylineTool",A)};fJ.prototype.createPolygon=function(o){this._earthCtrl.tools.clearTool();let A=new $ie(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("createPolygonTool",A),A};fJ.prototype.createDrawShapeTool=function(o,A){return new set(this._earthCtrl,{callback:o,shape:A})};fJ.prototype.drawPolygon=function(o){return new Aet(this._earthCtrl,o)};var uet=fJ;function o1e(o){this._earthCtrl=o,this._coreMap=o.coreMap}o1e.prototype.select=function(o){this._earthCtrl.tools.clearTool();let A=new Zie(this._earthCtrl,function(f){o&&o(f)});this._earthCtrl.tools.registerTool("createPolylineTool",A)};o1e.prototype.selectInWorld=function(o){this._earthCtrl.tools.clearTool();let A=new $ie(this._earthCtrl,function(f){o&&o(f)});this._earthCtrl.tools.registerTool("createPolygonTool",A)};var a1e=o1e;function cet(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null,this.removeFromMap=function(){het(this)}}function Ivi(o){if(k(o._pps))return;o._pps=new Jo({name:"czm_fog",fragmentShader:xvi()}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function het(o){k(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function xvi(){return` uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; void main(void) { vec4 origcolor=texture(colorTexture, v_textureCoordinates); vec4 fogcolor=vec4(0.8,0.8,0.8,0.1); float depth = czm_readDepth(depthTexture, v_textureCoordinates); vec4 depthcolor=texture(depthTexture, v_textureCoordinates); float f=(depthcolor.r-0.22)/0.2; if(f<0.0) f=0.0; else if(f>1.0) f=1.0; out_FragColor = mix(origcolor,fogcolor,f); }`}Object.defineProperties(cet.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o?Ivi(this):het(this)}}});var s1e=cet;function det(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null,this._restoreParam={hueShift:o.coreMap.scene.skyAtmosphere?.hueShift,saturationShift:o.coreMap.scene.skyAtmosphere?.saturationShift,brightnessShift:o.coreMap.scene.skyAtmosphere?.brightnessShift,density:o.coreMap.scene.fog.density,minimumBrightness:o.coreMap.scene.fog.minimumBrightness}}function yvi(o){if(k(o._pps))return;o._restoreParam={hueShift:o.mEarthCtrl.coreMap.scene.skyAtmosphere.hueShift,saturationShift:o.mEarthCtrl.coreMap.scene.skyAtmosphere.saturationShift,brightnessShift:o.mEarthCtrl.coreMap.scene.skyAtmosphere.brightnessShift,density:o.mEarthCtrl.coreMap.scene.fog.density,minimumBrightness:o.mEarthCtrl.coreMap.scene.fog.minimumBrightness},o.mEarthCtrl.coreMap.scene.skyAtmosphere.hueShift=-.8,o.mEarthCtrl.coreMap.scene.skyAtmosphere.saturationShift=-.7,o.mEarthCtrl.coreMap.scene.skyAtmosphere.brightnessShift=-.33,o.mEarthCtrl.coreMap.scene.fog.density=.001,o.mEarthCtrl.coreMap.scene.fog.minimumBrightness=.8,o._pps=new Jo({name:"czm_rain",fragmentShader:_vi()}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function vvi(o){k(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null,o.mEarthCtrl.coreMap.scene.skyAtmosphere.hueShift=o._restoreParam.hueShift,o.mEarthCtrl.coreMap.scene.skyAtmosphere.saturationShift=o._restoreParam.saturationShift,o.mEarthCtrl.coreMap.scene.skyAtmosphere.brightnessShift=o._restoreParam.brightnessShift,o.mEarthCtrl.coreMap.scene.fog.density=o._restoreParam.density,o.mEarthCtrl.coreMap.scene.fog.minimumBrightness=o._restoreParam.minimumBrightness)}function _vi(){return`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float hash(float x) { return fract(sin(x*133.3)*13.13); } void main(void) { float time = czm_frameNumber / 60.0; vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y); vec3 c=vec3(.6,.7,.8); float a=-.4; float si=sin(a),co=cos(a); uv*=mat2(co,-si,si,co); uv*=length(uv+vec2(0,4.9))*.3+1.; float v=1.-sin(hash(floor(uv.x*100.))*2.); float b=clamp(abs(sin(20.*time*v+uv.y*(5./(2.+v))))-.95,0.,1.)*20.; c*=v*b; //\u5C4F\u5E55\u4E0A\u96E8\u7684\u989C\u8272 out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(c,1), 0.5); //\u5C06\u96E8\u548C\u4E09\u7EF4\u573A\u666F\u878D\u5408 } `}Object.defineProperties(det.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o?yvi(this):vvi(this)}}});var l1e=det;function get(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null}function Bvi(o){if(k(o._pps))return;o._pps=new Jo({name:"czm_snow",fragmentShader:bvi()}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function wvi(o){k(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function bvi(){return`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float snow(vec2 uv,float scale) { float time = czm_frameNumber / 60.0; float w=smoothstep(1.,0.,-uv.y*(scale/10.));if(w<.1)return 0.; uv+=time/scale;uv.y+=time*2./scale;uv.x+=sin(uv.y+time*.5)/scale; uv*=scale;vec2 s=floor(uv),f=fract(uv),p;float k=3.,d; p=.5+.35*sin(11.*fract(sin((s+p+scale)*mat2(7,3,6,5))*5.))-f;d=length(p);k=min(d,k); k=smoothstep(0.,k,sin(f.x+f.y)*0.01); return k*w; } void main(void) { vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y); vec3 finalColor=vec3(0); float c = 0.0; c+=snow(uv,30.)*.0; c+=snow(uv,20.)*.0; c+=snow(uv,15.)*.0; c+=snow(uv,10.); c+=snow(uv,8.); c+=snow(uv,6.); c+=snow(uv,5.); finalColor=(vec3(c)); out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(finalColor,1), 0.5); } `}Object.defineProperties(get.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o===!0?Bvi(this):wvi(this)}}});var A1e=get;function fet(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null,this._csbScale=new kt(.5,1,1,1)}function Qvi(o){if(k(o._pps))return;o._pps=new Jo({name:"czm_hsl",fragmentShader:Dvi(),uniforms:{u_colorCSBScale:function(){return o._csbScale}}}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function Svi(o){k(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function Dvi(){return` uniform vec4 u_colorCSBScale; uniform sampler2D colorTexture; in vec2 v_textureCoordinates; void main( void ) { vec4 renderTex = texture(colorTexture, v_textureCoordinates); vec3 finalColor = renderTex.rgb * u_colorCSBScale.z; float gray = 0.2125 * renderTex.r + 0.7154 * renderTex.g + 0.0721 * renderTex.b; vec3 grayColor = vec3(gray, gray, gray); finalColor = mix(grayColor, finalColor, u_colorCSBScale.y); vec3 avgColor = vec3(0.5, 0.5, 0.5); finalColor = mix(avgColor, finalColor, u_colorCSBScale.x); out_FragColor = vec4(finalColor.rgb, renderTex.a); } `}Object.defineProperties(fet.prototype,{contrast:{get:function(){return this._csbScale.x},set:function(o){this._csbScale.x=o}},saturation:{get:function(){return this._csbScale.y},set:function(o){this._csbScale.y=o}},brightness:{get:function(){return this._csbScale.z},set:function(o){this._csbScale.z=o}},show:{get:function(){return this._pps!==null},set:function(o){o?Qvi(this):Svi(this)}}});var u1e=fet;function pet(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null}function Mvi(o){if(k(o._pps))return;o._pps=new Jo({name:"czm_bwmode",fragmentShader:Pvi()}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function Tvi(o){k(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function Pvi(){return`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; void main(void) { vec4 c = texture( colorTexture, v_textureCoordinates ); float grey = 0.2125*c.r+0.7154*c.g+0.0721*c.b; c.r=grey*grey; c.g=grey*grey; c.b=grey*grey; out_FragColor=c; } `}Object.defineProperties(pet.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o?Mvi(this):Tvi(this)}}});var c1e=pet;function met(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null,this._restoreParam={hueShift:o.coreMap.scene.skyAtmosphere?.hueShift,saturationShift:o.coreMap.scene.skyAtmosphere?.saturationShift,brightnessShift:o.coreMap.scene.skyAtmosphere?.brightnessShift,density:o.coreMap.scene.fog.density,minimumBrightness:o.coreMap.scene.fog.minimumBrightness}}function Rvi(o){if(k(o._pps))return;let A=o.mEarthCtrl;o._restoreParam={hueShift:A.coreMap.scene.skyAtmosphere.hueShift,saturationShift:A.coreMap.scene.skyAtmosphere.saturationShift,brightnessShift:A.coreMap.scene.skyAtmosphere.brightnessShift,density:A.coreMap.scene.fog.density,minimumBrightness:A.coreMap.scene.fog.minimumBrightness},A.coreMap.scene.skyAtmosphere.hueShift=-.8,A.coreMap.scene.skyAtmosphere.saturationShift=-.7,A.coreMap.scene.skyAtmosphere.brightnessShift=-.33,A.coreMap.scene.fog.density=.001,A.coreMap.scene.fog.minimumBrightness=.8,o._pps=new Jo({name:"czm_night_mode",fragmentShader:Fvi()}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function Lvi(o){k(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null,o.mEarthCtrl.coreMap.scene.skyAtmosphere.hueShift=o._restoreParam.hueShift,o.mEarthCtrl.coreMap.scene.skyAtmosphere.saturationShift=o._restoreParam.saturationShift,o.mEarthCtrl.coreMap.scene.skyAtmosphere.brightnessShift=o._restoreParam.brightnessShift,o.mEarthCtrl.coreMap.scene.fog.density=o._restoreParam.density,o.mEarthCtrl.coreMap.scene.fog.minimumBrightness=o._restoreParam.minimumBrightness)}function Fvi(){return`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; void main(void) { out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(0.1, 0.1, 0.1,1), 0.7); } `}Object.defineProperties(met.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o===!0?Rvi(this):Lvi(this)}}});var h1e=met;function pJ(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._fog=new s1e(o),this._rain=new l1e(o),this._snow=new A1e(o),this._colorAdjustment=new u1e(o),this._bwMode=new c1e(o),this._nightMode=new h1e(o)}pJ.prototype.disableAllEffect=function(){this._fog.show=!1,this._rain.show=!1,this._snow.show=!1,this._colorAdjustment.show=!1,this._bwMode.show=!1,this._nightMode.show=!1};pJ.prototype.showEffect=function(o){this.disableAllEffect(),o==="fog"?this._fog.show=!0:o==="rain"?this._rain.show=!0:o==="snow"?this._snow.show=!0:o==="colorAdjustment"?this._colorAdjustment.show=!0:o==="bwMode"?this._bwMode.show=!0:o==="nightMode"&&(this._nightMode.show=!0)};pJ.prototype.disableEffect=function(o){o==="fog"?this._fog.show=!1:o==="rain"?this._rain.show=!1:o==="snow"?this._snow.show=!1:o==="colorAdjustment"?this._colorAdjustment.show=!1:o==="bwMode"?this._bwMode.show=!1:o==="nightMode"&&(this._nightMode.show=!1)};Object.defineProperties(pJ.prototype,{SkyBoxSource:{get:function(){return this.coreMap.scene.skyBox?this.coreMap.scene.skyBox.sources:{}},set:function(o){k(o)&&(this.coreMap.scene.skyBox&&this.coreMap.scene.skyBox.destroy(),this.coreMap.scene.skyBox=new HN({sources:o}))}},fog:{get:function(){return this._fog}},rain:{get:function(){return this._rain}},snow:{get:function(){return this._snow}},colorAdjustment:{get:function(){return this._colorAdjustment}},bwMode:{get:function(){return this._bwMode}},nightMode:{get:function(){return this._nightMode}}});var d1e=pJ;function Nvi(o,A){let f=o.length;for(;f--;)if(o[f]===A)return!0;return!1}function kvi(o,A){let f=o.indexOf(A);f>-1&&o.splice(f,1)}var ere=class extends xg{constructor(A){super(A),this._objectMap=[],this._isBenchUpdate=!1,this._EventSelectSetChanged=new s3("EventSelectSetChanged")}finalize(){this._objectArray=[]}addObject(A){if(Nvi(this._objectArray,A))return!1;this._objectArray.push(A),this._isBenchUpdate||this.commitChanged()}removeObject(A){kvi(this._objectArray,A),this._isBenchUpdate||this.commitChanged()}getObject(A){return A<0||A>=this._objectArray.length?null:this._objectArray[A]}removeAll(A){this._objectArray=[],this._isBenchUpdate||this.commitChanged()}beginUpdate(){this._isBenchUpdate=!0}endUpdate(){this._isBenchUpdate&&(this.commitChanged(),this._isBenchUpdate=!1)}commitChanged(){this._EventSelectSetChanged.notifyEvent(this)}};Object.defineProperties(ere.prototype,{count:{get:function(){return this._objectArray.length}},EventSelectSetChanged:{get:function(){return this._EventSelectSetChanged}}});var g1e=ere;var Uvi={GWIMAGERYLAYER:"GwImageryLayer",GWTERRAINLAYER:"GwTerrainLayer",GWMODELLAYER:"GwModelLayer",GWFEATURELAYER:"GwFeatureLayer",GWMODEL:"GwModel",GWWATERS:"GwWaters",GWEXPLOSION:"GwExplosion",GWFIREWORK:"GwFireworks",GWFIRE:"GwFire",GWSMOKE:"GwSmoke",GWRADARSCAN:"GwRadarScan",GWCIRCLESCAN:"GwCircleScan",GWPOINT:"GwPoint",GWLABEL:"GwLabel",GWBILLBOARD:"GwBillboard",GWPOLYLINE:"GwPolyline",GWPOLYGON:"GwPolygon",GWRECTANGLE:"GwRectangle",GWBOX:"GwBox",GWCYLINDER:"GwCylinder",GWELLIPSOID:"GwEllipsoid",GWVIDEOPROJECTION:"GwVideoProjection"},Ed=Object.freeze(Uvi);var Ovi={NODE:"NODE",IMAGERY_LAYER:"IMAGERY_LAYER",TERRAIN_LAYER:"TERRAIN_LAYER",MODEL_LAYER:"MODEL_LAYER",FEATURE_LAYER:"FEATURE_LAYER",SKYBOX:"SKYBOX",ENVIRONMENT:"ENVIRONMENT",VIEWPOINT:"VIEWPOINT",MODEL:"MODEL",WATERS:"WATERS",EXPLOSION:"EXPLOSION",FIREWORK:"FIREWORK",SMOKE:"SMOKE",FIRE:"FIRE",RADARSCAN:"RADARSCAN",CIRCLESCAN:"CIRCLESCAN",POINT:"POINT",LABEL:"LABEL",BILLBOARD:"BILLBOARD",POLYLINE:"POLYLINE",POLYGON:"POLYGON",RECTANGLE:"RECTANGLE",ELLIPSE:"ELLIPSE",BOX:"BOX",ELLIPSOID:"ELLIPSOID",CYLINDER:"CYLINDER",POLYLINEVOLUME:"POLYLINEVOLUME",PERSPECTIVE_VIDEO_PROJECTION:"PERSPECTIVE_VIDEO_PROJECTION",FISHEYE_VIDEO_PROJECTION:"FISHEYE_VIDEO_PROJECTION",TRACK:"TRACK",HEATMAP:"HEATMAP",ECHARTLAYER:"ECHARTLAYER"},Xn=Object.freeze(Ovi);function Gvi(o){return o!=null?o._value:o}var Dl=Gvi;function th(){}th.export=function(o){let A=null,f=th.ExportObjectMap[o._rtti];return f!==void 0&&(A=f(o)),A};function Hvi(o){let A=null,f=ae(o.sourceType,"wmts");if(f==="tms"){let m=o._primitive.imageryProvider._rectangle;k(m)?m={west:De.toDegrees(m.west),south:De.toDegrees(m.south),east:De.toDegrees(m.east),north:De.toDegrees(m.north)}:m={west:"",south:"",east:"",north:""},A={class:ae(o._parameter.class,Xn.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:ae(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:ae(o._primitive.imageryProvider.minimumLevel,""),west:m.west,south:m.south,east:m.east,north:m.north}}if(f==="wms"){let m=o._primitive.imageryProvider._resource._queryParameters;A={class:ae(o._parameter.class,Xn.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,layers:ae(o._primitive.imageryProvider._layers,""),maximumLevel:ae(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:ae(o._primitive.imageryProvider.minimumLevel,""),parameters:{transparent:m.transparent,format:m.format,crs:m.crs,version:m.version,layers:m.layers}}}return f==="wmts"&&(A={class:ae(o._parameter.class,Xn.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,layer:ae(o._primitive.imageryProvider._layer,""),format:ae(o._primitive.imageryProvider._format,""),tileMatrixSetID:ae(o._primitive.imageryProvider._tileMatrixSetID,""),maximumLevel:ae(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:ae(o._primitive.imageryProvider.minimumLevel,"")}),f==="mapbox"&&(A={class:ae(o._parameter.class,Xn.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,mapId:"",show:o.show,maximumLevel:ae(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:ae(o._primitive.imageryProvider.minimumLevel,"")}),f==="arcgis"&&(A={class:ae(o._parameter.class,Xn.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:ae(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:ae(o._primitive.imageryProvider.minimumLevel,"")}),f==="multi"&&(A={class:ae(o._parameter.class,Xn.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:ae(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:ae(o._primitive.imageryProvider.minimumLevel,"")}),f==="single"&&(A={class:ae(o._parameter.class,Xn.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:ae(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:ae(o._primitive.imageryProvider.minimumLevel,"")}),f==="baidu"&&(A={class:ae(o._parameter.class,Xn.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:ae(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:ae(o._primitive.imageryProvider.minimumLevel,"")}),f==="gaode"&&(A={class:ae(o._parameter.class,Xn.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:ae(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:ae(o._primitive.imageryProvider.minimumLevel,"")}),f==="mapworld"&&(A={class:ae(o._parameter.class,Xn.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:ae(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:ae(o._primitive.imageryProvider.minimumLevel,"")}),A}function Vvi(o){let A=null,f=ae(o.sourceType,"ctb");return f==="ude"&&(A={class:ae(o._parameter.class,Xn.TERRAIN_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._parameter.zIndex,url:o.dataUrl,show:o.show}),f==="ctb"&&(A={class:ae(o._parameter.class,Xn.TERRAIN_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._parameter.zIndex,url:o.dataUrl,show:o.show}),f==="multi"&&(A={class:ae(o._parameter.class,Xn.TERRAIN_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._parameter.zIndex,url:o.dataUrl,show:o.show}),A}function zvi(o){let A=null,f=ae(o.sourceType,"b3dm");return(f==="b3dm"||f==="3DTiles")&&(A={class:ae(o._parameter.class,Xn.MODEL_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,zIndex:o._parameter.zIndex,url:o.dataUrl,options:o._parameter.options,transform:o._parameter.transform}),f==="osgb"&&(A={class:ae(o._parameter.class,Xn.MODEL_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="s3m"&&(A={class:ae(o._parameter.class,Xn.MODEL_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),(f==="ude_block"||f==="ude_model")&&(A={class:ae(o._parameter.class,Xn.MODEL_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),A}function Yvi(o){console.log("\u5F53\u524D\u64CD\u4F5C\u8282\u70B9>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>",o);let A=null,f=ae(o.sourceType,"geojson");return f==="geojson"&&(A={class:ae(o._parameter.class,Xn.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="feature"&&(A={class:ae(o._parameter.class,Xn.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="custom"&&(A={class:ae(o._parameter.class,Xn.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="kml"&&(A={class:ae(o._parameter.class,Xn.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="arcgis_json"&&(A={class:ae(o._parameter.class,Xn.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="raster"&&(A={class:ae(o._parameter.class,Xn.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),A}function Jvi(o){let A=null,f=ae(o.sourceType,"gltf");return f==="gltf"&&(A={class:ae(o._parameter.class,Xn.MODEL),name:o.name,id:o.id,sourceType:f,show:o.show,url:o.dataUrl,lon:o.lon,lat:o.lat,alt:o.alt,heading:o.heading,pitch:o.pitch,roll:o.roll,scale:o._primitive.scale,minimumPixelSize:o._primitive.minimumPixelSize}),f==="glb"&&(A={class:ae(o._parameter.class,Xn.MODEL),name:o.name,id:o.id,sourceType:f,show:o.show,url:o.dataUrl,lon:o.lon,lat:o.lat,alt:o.alt,heading:o.heading,pitch:o.pitch,roll:o.roll,scale:o._primitive.scale,minimumPixelSize:o._primitive.minimumPixelSize}),A}function Kvi(o){let A=null;return A={class:ae(o._parameter.class,Xn.EXPLOSION),name:o.name,id:o.id,show:o.show,lon:o.parameter.lon,lat:o.parameter.lat,alt:o.parameter.alt},A}function Wvi(o){let A=null;return A={class:ae(o._parameter.class,Xn.WATERS),name:o.name,id:o.id,show:o.show,params:o.params,url:o.url,color:o.color,waterFrequency:o.waterFrequency,animationSpeed:o.animationSpeed,amplitude:o.amplitude},A}function qvi(o){let A=null;return A={class:ae(o._parameter.class,Xn.FIREWORK),name:o.name,id:o.id,show:o.show,lon:o.parameter.lon,lat:o.parameter.lat,alt:o.parameter.alt,emitHeight:o.parameter.emitHeight},A}function jvi(o){let A=null;return A={class:ae(o._parameter.class,Xn.FIRE),name:o.name,id:o.id,show:o.show,lon:o.parameter.lon,lat:o.parameter.lat,alt:o.parameter.alt,particleSize:o.parameter.particleSize},A}function Xvi(o){let A=null;return A={class:ae(o._parameter.class,Xn.SMOKE),name:o.name,id:o.id,show:o.show,lon:o.parameter.lon,lat:o.parameter.lat,alt:o.parameter.alt,particleSize:o.parameter.particleSize},A}function Zvi(o){let A=null;return A={class:Xn.RADARSCAN,name:o.name,id:o.id,show:o.show,lon:o._lon,lat:o._lat,height:o._height,maxRadius:o._maxRadius,duration:o._duration,color:o._color},A}function $vi(o){let A=null;return A={class:Xn.CIRCLESCAN,name:o.name,id:o.id,show:o.show,lon:o._lon,lat:o._lat,height:o._height,maxRadius:o._maxRadius,duration:o._duration,color:o._color},A}function e_i(o){let A=null,f=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(o._primitive.position._value);return A={class:ae(o._parameter.class,Xn.POINT),name:o.name,id:o.id,show:o.show,lon:De.toDegrees(f.longitude),lat:De.toDegrees(f.latitude),alt:parseInt(f.height.toFixed(2)),pixelSize:Dl(o._primitive.point.pixelSize),color:Dl(o._primitive.point.color),outlineColor:Dl(o._primitive.point.outlineColor),outlineWidth:Dl(o._primitive.point.outlineWidth)},A}function t_i(o){let A=null,f=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(o._primitive.position._value);return A={class:ae(o._parameter.class,Xn.LABEL),id:o.id,show:o.show,name:o.name,lon:De.toDegrees(f.longitude),lat:De.toDegrees(f.latitude),alt:parseInt(f.height.toFixed(2)),text:Dl(o._primitive.label.text),font:Dl(o._primitive.label.font),fillColor:Dl(o._primitive.label.fillColor),outlineWidth:Dl(o._primitive.label.outlineWidth),verticalOrigin:Dl(o._primitive.label.verticalOrigin)},A}function i_i(o){let A=null,f=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(o._primitive.position._value);return A={class:ae(o._parameter.class,Xn.BILLBOARD),name:o.name,id:o.id,show:o.show,lon:De.toDegrees(f.longitude),lat:De.toDegrees(f.latitude),alt:parseInt(f.height.toFixed(2)),image:Dl(o._primitive.billboard.image),scale:Dl(o._primitive.billboard.scale)},A}function r_i(o){let A=null,f=[];return o._primitive.polyline.positions._value.forEach(function(C){let E=[],I=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(C);E.push(De.toDegrees(I.longitude)),E.push(De.toDegrees(I.latitude)),E.push(I.height),f.push(E)}),A={class:ae(o._parameter.class,Xn.POLYLINE),name:o.name,id:o.id,show:o.show,positions:f,lineColor:o._parameter.lineColor,lineWidth:Dl(o._primitive.polyline.width),clampToGround:Dl(o._primitive.polyline.clampToGround),outlineColor:o._parameter.outlineColor},A}function n_i(o){let A=null,f=[];return o.positions.positions.forEach(function(C){let E=[],I=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(C);E.push(De.toDegrees(I.longitude)),E.push(De.toDegrees(I.latitude)),E.push(I.height),f.push(E)}),A={class:ae(o._parameter.class,Xn.POLYGON),name:o.name,id:o.id,show:o.show,positions:f,material:o.material?Dl(o._primitive.polygon.material.color):void 0,outline:Dl(o.outline),outlineColor:Dl(o.outlineColor)},A}function o_i(o){let A=null,f=o.coordinates,m=De.toDegrees(f.east),C=De.toDegrees(f.north),E=De.toDegrees(f.south),x=[De.toDegrees(f.west),E,m,C];return A={class:ae(o._parameter.class,Xn.RECTANGLE),name:o.name,id:o.id,show:o.show,coordinates:x,height:Dl(o.height),fillColor:o.fillColor?Dl(o.fillColor.color):void 0,outline:Dl(o.outline),outlineColor:Dl(o.outlineColor)},A}function a_i(o){let A=null,f=[],m=Dl(o.position),C=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(m);return f.push(De.toDegrees(C.longitude)),f.push(De.toDegrees(C.latitude)),f.push(C.height),A={class:ae(o._parameter.class,Xn.BOX),name:o.name,id:o.id,show:o.show,position:f,dimensions:o.dimensions._value,material:o.material?Dl(o._primitive.box.material.color):void 0,fill:Dl(o.fill),outline:Dl(o.outline),outlineColor:Dl(o.outlineColor)},A}function s_i(o){let A=null,f=[],m=Dl(o.position),C=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(m);return f.push(De.toDegrees(C.longitude)),f.push(De.toDegrees(C.latitude)),f.push(C.height),A={class:ae(o._parameter.class,Xn.CYLINDER),name:o.name,id:o.id,show:o.show,position:f,topRadius:Dl(o.topRadius),bottomRadius:Dl(o.bottomRadius),length:Dl(o.length),fill:Dl(o.fill),material:o.material?Dl(o._primitive.cylinder.material.color):void 0,outline:Dl(o.outline),outlineColor:Dl(o.outlineColor)},A}function l_i(o){let A=null,f=[],m=Dl(o.position),C=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(m);f.push(De.toDegrees(C.longitude)),f.push(De.toDegrees(C.latitude)),f.push(C.height);let E=[],I=Dl(o.radii);return E.push(I.x),E.push(I.y),E.push(I.z),A={class:ae(o._parameter.class,Xn.ELLIPSOID),name:o.name,id:o.id,show:o.show,position:f,radii:E,fill:Dl(o.fill),material:o.material?Dl(o._primitive.ellipsoid.material.color):void 0,outline:Dl(o.outline),outlineColor:Dl(o.outlineColor)},A}function A_i(o){let A=null,f=ae(o._parameter.sourceType,"perspective");return(f==="perspective"||f==="panorama")&&(A={class:ae(o._parameter.class,Xn.PERSPECTIVE_VIDEO_PROJECTION),name:o.name,id:o.id,sourceType:o._parameter.sourceType,matchMaterials:o._parameter.matchMaterials,lon:o._parameter.lon,lat:o._parameter.lat,height:o._parameter.height,heading:o._parameter.heading,pitch:o._parameter.pitch,roll:o._parameter.roll,fov:o._parameter.fov,far:o._parameter.far,near:o._parameter.near,opacity:o._parameter.opacity,maxDiffAngle:o._parameter.maxDiffAngle,videoLink:o._parameter.videoLink,aspect:o._parameter.aspect,addToMap:o._parameter.addToMap,preview:o._parameter.preview,playVideo:o._parameter.playVideo,showMesh:o.showMesh,show:o.show,enable:o._parameter.enable,videoFrameInterval:o._parameter.videoFrameInterval,useDepth:o._parameter.useDepth}),f==="fisheye"&&(A={class:ae(o._parameter.class,Xn.FISHEYE_VIDEO_PROJECTION),name:o.name,id:o.id,sourceType:o._parameter.sourceType,matchMaterials:o._parameter.matchMaterials,lon:o._parameter.lon,lat:o._parameter.lat,height:o._parameter.height,heading:o._parameter.heading,pitch:o._parameter.pitch,roll:o._parameter.roll,fov:o._parameter.fov,far:o._parameter.far,near:o._parameter.near,opacity:o._parameter.opacity,maxDiffAngle:o._parameter.maxDiffAngle,videoLink:o._parameter.videoLink,aspect:o._parameter.aspect,addToMap:o._parameter.addToMap,preview:o._parameter.preview,playVideo:o._parameter.playVideo,showMesh:o.showMesh,show:o.show,enable:o._parameter.enable,videoFrameInterval:o._parameter.videoFrameInterval,useDepth:o._parameter.useDepth}),A}th.ExportObjectMap={};th.ExportObjectMap[Ed.GWEXPLOSION]=Kvi;th.ExportObjectMap[Ed.GWWATERS]=Wvi;th.ExportObjectMap[Ed.GWFIREWORK]=qvi;th.ExportObjectMap[Ed.GWSMOKE]=Xvi;th.ExportObjectMap[Ed.GWFIRE]=jvi;th.ExportObjectMap[Ed.GWRADARSCAN]=Zvi;th.ExportObjectMap[Ed.GWCIRCLESCAN]=$vi;th.ExportObjectMap[Ed.GWPOINT]=e_i;th.ExportObjectMap[Ed.GWLABEL]=t_i;th.ExportObjectMap[Ed.GWBILLBOARD]=i_i;th.ExportObjectMap[Ed.GWPOLYLINE]=r_i;th.ExportObjectMap[Ed.GWPOLYGON]=n_i;th.ExportObjectMap[Ed.GWRECTANGLE]=o_i;th.ExportObjectMap[Ed.GWBOX]=a_i;th.ExportObjectMap[Ed.GWCYLINDER]=s_i;th.ExportObjectMap[Ed.GWELLIPSOID]=l_i;th.ExportObjectMap[Ed.GWVIDEOPROJECTION]=A_i;th.ExportObjectMap[Ed.GWIMAGERYLAYER]=Hvi;th.ExportObjectMap[Ed.GWTERRAINLAYER]=Vvi;th.ExportObjectMap[Ed.GWMODELLAYER]=zvi;th.ExportObjectMap[Ed.GWFEATURELAYER]=Yvi;th.ExportObjectMap[Ed.GWMODEL]=Jvi;var hs=th;function xb(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this.videoProjection=null,this._parameter=null,this._showMesh=!1,this._auxMeshArray=[],this._highlightState=0,this._colorStyle=[new qe(.3,1,.3),qe.YELLOW],this._rtti="GwVideoProjection"}Object.defineProperties(xb.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this.videoProjection!==null?this.videoProjection.enabled:!1},set:function(o){this.videoProjection!==null&&(this.videoProjection.enabled=o)}},showMesh:{get:function(){return this._showMesh},set:function(o){this._showMesh=o,this.updateAuxMesh()}},highlightState:{get:function(){return this._highlightState},set:function(o){this._highlightState=o,this.updateAuxMesh()}},id:{get:function(){return this.videoProjection._id}}});xb.prototype.setParameter=function(o){if(!!k(o)&&(k(o.lon)||k(o.lat)||k(o.height)||k(o.heading)||k(o.pitch)||k(o.roll)||k(o.near)||k(o.far)||k(o.aspect))){let A=this._parameter;for(let m in o)o.hasOwnProperty(m)&&k(A[m])&&(A[m]=o[m]);let f=this.videoProjection._lightCamera;f.setView({destination:Z.fromDegrees(A.lon,A.lat,A.height),orientation:{heading:De.toRadians(A.heading),pitch:De.toRadians(A.pitch),roll:De.toRadians(A.roll)}}),f.frustum.fov=A.fov/180*Math.PI,f.frustum.near=A.near||1,f.frustum.far=A.far||1e5,f.frustum.aspectRatio=A.aspect||1,this.updateAuxMesh()}};xb.prototype.initialize=function(o){this._parameter=o;let A=this._parameter,f=new Ms(this.coreMap.scene);A.fov=A.fov||60,f.setView({destination:Z.fromDegrees(A.lon,A.lat,A.height),orientation:{heading:De.toRadians(A.heading),pitch:De.toRadians(A.pitch),roll:De.toRadians(A.roll)}}),f.frustum.fov=A.fov/180*Math.PI,f.frustum.near=A.near||1,f.frustum.far=A.far||1e5,f.frustum.aspectRatio=A.aspect||1;let m;A.useDepth?m=new yz({name:A.name,matchMaterials:A.matchMaterials,context:this.coreMap.scene.context,lightCamera:f,enabled:A.show===!0,isPointLight:!1,cascadesEnabled:!1,numberOfCascades:1,frustum:{fov:A.fov/180*Math.PI,near:A.near||1,far:A.far||1e5,aspectRatio:A.aspect||1},depthBias:A.depthBias,videoFrameInterval:A.videoFrameInterval,playVideo:A.playVideo,opacity:A.opacity,calibrateParam:A.calibrateParam,maxDiffAngle:A.maxDiffAngle/180*Math.PI,useDepth:A.useDepth,blendTop:A.blendTop,blendRight:A.blendRight,blendBottom:A.blendBottom,blendLeft:A.blendLeft,maximumDistance:A.maximumDistance||1e3}):m=new xz({name:A.name,matchMaterials:A.matchMaterials,context:this.coreMap.scene.context,lightCamera:f,enabled:A.show===!0,isPointLight:!1,cascadesEnabled:!1,numberOfCascades:1,frustum:{fov:A.fov/180*Math.PI,near:A.near||1,far:A.far||1e5,aspectRatio:A.aspect||1},depthBias:A.depthBias,videoFrameInterval:A.videoFrameInterval,playVideo:A.playVideo,opacity:A.opacity,calibrateParam:A.calibrateParam,maxDiffAngle:A.maxDiffAngle/180*Math.PI,useDepth:!1,blendTop:A.blendTop,blendRight:A.blendRight,blendBottom:A.blendBottom,blendLeft:A.blendLeft,maximumDistance:A.maximumDistance}),m.castTexture=A.castTexture,this.videoProjection=m,this._showMesh=A.showMesh,A.addToMap===!0&&this.addToMap()};var f1e=new yr;xb.prototype.updateAuxMesh=function(){let o=this;if(o._auxMeshArray.length>0){for(let f=0;f<o._auxMeshArray.length;f++){let m=o._auxMeshArray[f];this.mEarthCtrl.coreMap.scene.primitives.remove(m)}this._auxMeshArray=[]}let A=_s;if(o._showMesh===!0){let f=o._colorStyle[o._highlightState],m=o.parameter;{let C=Z.fromDegrees(m.lon,m.lat,m.height),E={heading:De.toRadians(m.heading+90),pitch:De.toRadians(90-m.pitch),roll:De.toRadians(m.roll)},I=Vr.headingPitchRollQuaternion(C,E);f1e=yr.fromAxisAngle(o.videoProjection._lightCamera.direction,De.toRadians(90),f1e),yr.multiply(f1e,I,I);{let x=new Un({geometry:new ZO({frustum:this.videoProjection._lightCamera.frustum,origin:C,orientation:I,vertexFormat:wr.ALL}),id:"ellipsoid",attributes:{color:vo.fromColor(f.withAlpha(.1))}}),y=new pa({shadows:A.DISABLED,geometryInstances:x,appearance:new ma});this.mEarthCtrl.coreMap.scene.primitives.add(y),o._auxMeshArray.push(y)}{let x=new Un({geometry:new Ez({frustum:this.videoProjection._lightCamera.frustum,origin:C,orientation:I,vertexFormat:wr.ALL}),id:"outlines",shadows:A.DISABLED,attributes:{color:vo.fromColor(f.withAlpha(.8))}}),y=new pa({geometryInstances:x,appearance:new ma({translucent:!0,flat:!0}),shadows:A.DISABLED,asynchronous:!1});this.mEarthCtrl.coreMap.scene.primitives.add(y),o._auxMeshArray.push(y)}{let x=new Un({geometry:new I0({radii:new Z(.1,.1,.1),vertexFormat:wr.POSITION_AND_NORMAL}),modelMatrix:Re.multiplyByTranslation(Vr.eastNorthUpToFixedFrame(Z.fromDegrees(m.lon,m.lat,m.height)),new Z(0,0,0),new Re),id:"ellipsoid",shadows:A.DISABLED,attributes:{color:vo.fromColor(f.withAlpha(.5))}}),y=new pa({geometryInstances:x,appearance:new ma});this.mEarthCtrl.coreMap.scene.primitives.add(y),o._auxMeshArray.push(y)}}}};xb.prototype.addToMap=function(){this.videoProjection!==null&&(this.mEarthCtrl.textureProjectionMapList.push(this.videoProjection),this.updateAuxMesh())};xb.prototype.setEnable=function(o){this.videoProjection!==null&&(this.videoProjection.enabled=o)};xb.prototype.remove=function(){let o=this;if(o.videoProjection!==null){let A=o.mEarthCtrl.textureProjectionMapList;for(let f=0;f<A.length;f++){let m=A[f];o.videoProjection===m&&A.splice(f,1)}}if(o._auxMeshArray.length>0){for(let A=0;A<o._auxMeshArray.length;A++){let f=o._auxMeshArray[A];o.mEarthCtrl.coreMap.scene.primitives.remove(f)}o._auxMeshArray=[]}};xb.prototype.toJSON=function(){return hs.export(this)};xb.prototype.updateBlend=function(o,A,f,m){this.videoProjection&&this.videoProjection.updateBlend(this.coreMap.scene.context,o,A,f,m)};var p1e=xb;function y6(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this.shadowMap=null,this._rtti="GwVideoProjection"}y6.prototype.initialize=function(o){let A=new Ms(this.coreMap.scene);A.setView({destination:o.destination,orientation:o.orientation}),A.frustum.fov=o.fov||Math.PI/3,A.frustum.near=o.near||1,A.frustum.far=o.far||1e5,A.frustum.aspectRatio=o.aspect||1;let f=new yB({name:o.name,context:this.coreMap.scene.context,lightCamera:A,enabled:o.enabled||!0,isPointLight:!1,cascadesEnabled:!1,numberOfCascades:1,frustum:{fov:o.fov||Math.PI/3,near:o.near||1,far:o.far||1e5,aspectRatio:o.aspect||1},depthBias:o.depthBias,playVideo:o.playVideo});f.castTexture=o.castTexture,this.shadowMap=f,o.addToMap===!0&&this.addToMap()};y6.prototype.addToMap=function(){this.shadowMap!==null&&this.mEarthCtrl.shadowMapList.push(this.shadowMap)};y6.prototype.setEnable=function(o){this.shadowMap!==null&&(this.shadowMap.enabled=o)};y6.prototype.remove=function(){if(this.shadowMap!==null){let o=this.mEarthCtrl.shadowMapList;for(let A=0;A<o.length;A++){let f=o[A];this.shadowMap===f&&o.splice(A,1)}}};y6.prototype.toJSON=function(){return hs.export(this)};var Cet=y6;function RD(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this.videoProjection=null,this._parameter=null,this._showMesh=!1,this._auxMesh=null,this._rtti="GwVideoProjection"}Object.defineProperties(RD.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this.videoProjection!==null?this.videoProjection.enabled:!1},set:function(o){this.videoProjection!==null&&(this.videoProjection.enabled=o)}},showMesh:{get:function(){return this._showMesh},set:function(o){this._showMesh=o,this.updateAuxMesh()}}});RD.prototype.setParameter=function(o){if(!!k(o)){if(k(o.lon)||k(o.lat)||k(o.height)||k(o.heading)||k(o.pitch)||k(o.roll)||k(o.near)||k(o.far)||k(o.aspect)){let A=this._parameter;for(let m in o)o.hasOwnProperty(m)&&k(A[m])&&(A[m]=o[m]);let f=this.videoProjection._lightCamera;f.setView({destination:Z.fromDegrees(A.lon,A.lat,A.height),orientation:{heading:De.toRadians(A.heading),pitch:De.toRadians(A.pitch),roll:De.toRadians(A.roll)}}),f.frustum.fov=170/180*Math.PI,f.frustum.near=A.near||1,f.frustum.far=A.far||1e5,f.frustum.aspectRatio=A.aspect||1}this.updateAuxMesh()}};RD.prototype.initialize=function(o){this._parameter=o;let A=this._parameter,f=new Ms(this.coreMap.scene);f.setView({destination:Z.fromDegrees(A.lon,A.lat,A.height),orientation:{heading:De.toRadians(A.heading),pitch:De.toRadians(A.pitch),roll:De.toRadians(A.roll)}}),f.frustum.fov=170/180*Math.PI,f.frustum.near=A.near||1,f.frustum.far=A.far||1e5,f.frustum.aspectRatio=A.aspect||1;let m=new Iz({name:A.name,matchMaterials:A.matchMaterials,context:this.coreMap.scene.context,lightCamera:f,enabled:A.enabled||!0,isPointLight:!1,cascadesEnabled:!1,numberOfCascades:1,frustum:{fov:170/180*Math.PI,near:A.near||1,far:A.far||1e5,aspectRatio:A.aspect||1},depthBias:A.depthBias,videoFrameInterval:A.videoFrameInterval,playVideo:A.playVideo,opacity:A.opacity,maxDiffAngle:A.maxDiffAngle,maximumDistance:A.maximumDistance||1e3});m.castTexture=A.castTexture,this.videoProjection=m,this._showMesh=A.showMesh,A.addToMap===!0&&this.addToMap()};RD.prototype.updateAuxMesh=function(){let o=this;if(o._auxMesh&&(o.mEarthCtrl.factory.removeElement(o._auxMesh),o._auxMesh=null),o._showMesh===!0){let A=o.parameter,f=A.far||2;o._auxMesh=this.mEarthCtrl.factory.createElement({name:"sphere1",type:"ellipsoid",position:Z.fromDegrees(A.lon,A.lat,A.height),parameters:{radii:new Z(f,f,f),material:qe.RED.withAlpha(.1),outline:!0,outlineColor:qe.GREEN}})}};RD.prototype.addToMap=function(){this.videoProjection!==null&&(this.mEarthCtrl.textureProjectionMapList.push(this.videoProjection),this.updateAuxMesh())};RD.prototype.setEnable=function(o){this.videoProjection!==null&&(this.videoProjection.enabled=o)};RD.prototype.remove=function(){if(this.videoProjection!==null){let o=this.mEarthCtrl.textureProjectionMapList;for(let A=0;A<o.length;A++){let f=o[A];this.videoProjection===f&&o.splice(A,1)}}};RD.prototype.toJSON=function(){return hs.export(this)};var m1e=RD;var LP=function(){let o=this;o.timer=null,o.interval=.05,o.isPause=!1,o.callbackList=new s3("callback")};LP.prototype.init=function(o){this.interval=o};LP.prototype.fini=function(){this.stop()};LP.prototype.start=function(){let o=this,A=function(){o.isPause===!1&&o.callbackList.notifyEvent(this,0)};o.timer=window.setInterval(A,this.interval*1e3)};LP.prototype.stop=function(){this.timer&&(window.clearInterval(this.timer),this.timer=null)};LP.prototype.setPause=function(o){this.isPause=o};LP.prototype.addListener=function(o){this.callbackList.addEventHandler(this,o)};LP.prototype.clearListeners=function(){this.callbackList.clearEventHandler()};var tre=LP;function mJ(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this.trackInfos=[],this.timer=null,this.animationController=new tre,this.currIndex=-1,this.startTime=0,this.currentTrackInfo=null}function u_i(o,A){if(o.length===0)return null;let f=null;for(let m=0;m<o.length&&o[m].timeStamp<A;m++)f=o[m];return f}function c_i(o,A){A.class==="LOOKAT"&&(A.duration===void 0&&(A.duration=4e3),k(A.position)||(A.position=Z.fromDegrees(A.lon,A.lat,A.alt)),k(A.orientation)||(A.orientation={heading:De.toRadians(A.heading),pitch:De.toRadians(A.pitch),roll:De.toRadians(A.roll)}),o.coreMap.camera.flyTo({destination:A.position,orientation:A.orientation,duration:A.duration/1e3}))}mJ.prototype.initialize=function(o){let A=0,f=this;for(let m=0;m<o.stations.length;m++){let C=o.stations[m];C.class==="LOOKAT"&&(C.timeStamp=A,A+=C.stopTime,f.trackInfos.push(C))}f.animationController.addListener(function(m){let C=new Date().getTime()-f.startTime,E=u_i(f.trackInfos,C);E!==f.currentTrackInfo&&(c_i(f.mEarthCtrl,E),f.currentTrackInfo=E)})};mJ.prototype.finalize=function(){this.animationController.finalize(),this.currentTrackInfo=null};mJ.prototype.play=function(){let o=this;o.currentTrackInfo=null,o.startTime=new Date().getTime(),o.animationController.start()};mJ.prototype.stop=function(){this.animationController.stop(),this.currentTrackInfo=null};var Eet=mJ;var ire=class extends YA{constructor(A,f){super(A,f),this._rtti="Fire",this._primitive=null,this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll)}addToMap(){let A=this._parameter,f=this._coreMap;function m(){let I=Wl.fromDegrees(0,0,0),x=new Ux;return x.translation=Z.fromElements(2.5,4,1),x.rotation=yr.fromHeadingPitchRoll(I),Re.fromTranslationRotationScale(x)}let C=ae(A.particleSize,30),E=f.scene.primitives.add(new mb({image:ae(A.image,`${globalThis.GEOWORLD_BASE_URL}Assets/Images/fire.png`),startColor:ae(A.startColor,qe.RED.withAlpha(.7)),endColor:ae(A.endColor,qe.YELLOW.withAlpha(.3)),startScale:ae(A.startScale,1),endScale:ae(A.endScale,4),minimumParticleLife:ae(A.minimumParticleLife,1),maximumParticleLife:ae(A.maximumParticleLife,6),minimumSpeed:ae(A.minimumSpeed,5),maximumSpeed:ae(A.maximumSpeed,10),imageSize:new tt(C,C),emissionRate:ae(A.emissionRate,5),bursts:[],lifetime:ae(A.lifeTime,16),emitter:new n6(De.toRadians(30)),modelMatrix:this._spatialTransform.modelMatrix,emitterModelMatrix:m()}));this._primitive=E}removeFromMap(){this._primitive!==null&&this._coreMap.scene.primitives.remove(this._primitive)}toJSON(){let A=this;return hs.export(A)}};Object.defineProperties(ire.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var C1e=ire;var rre=class extends YA{constructor(A,f){super(A,f),this._rtti="Smoke",this._primitive=null,this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll),this._coreMap=A.coreMap}addToMap(){let A=this._parameter,f=this._coreMap;function m(){let I=Wl.fromDegrees(0,0,0),x=new Ux;return x.translation=Z.fromElements(2.5,4,1),x.rotation=yr.fromHeadingPitchRoll(I),Re.fromTranslationRotationScale(x)}let C=ae(A.particleSize,30),E=f.scene.primitives.add(new mb({image:ae(A.image,`${globalThis.GEOWORLD_BASE_URL}Assets/Images/smoke.png`),startColor:ae(A.startColor,qe.fromRgba(3425907507)),endColor:ae(A.endColor,qe.fromRgba(1154272460)),startScale:ae(A.startScale,1),endScale:ae(A.endScale,4),minimumParticleLife:ae(A.minimumParticleLife,1),maximumParticleLife:ae(A.maximumParticleLife,6),minimumSpeed:ae(A.minimumSpeed,5),maximumSpeed:ae(A.maximumSpeed,20),imageSize:new tt(C,C),emissionRate:ae(A.emissionRate,10),bursts:[],lifetime:ae(A.lifeTime,16),emitter:new n6(De.toRadians(30)),modelMatrix:this._spatialTransform.modelMatrix,emitterModelMatrix:m()}));this._primitive=E}removeFromMap(){this._primitive!==null&&this._coreMap.scene.primitives.remove(this._primitive)}toJSON(){let A=this;return hs.export(A)}};Object.defineProperties(rre.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},lon:{get:function(){if(this._parameter!==null)return this._lon},set:function(o){if(this._parameter!==null){if(this._lon===o)return;this._parameter.lon=o,this._spatialTransform.createFromWgs84(this._parameter.lon,this._parameter.lat,this._parameter.alt,this._parameter.heading,this._parameter.pitch,this._parameter.roll),this._primitive.modelMatrix=this._spatialTransform.modelMatrix}}},lat:{get:function(){if(this._parameter!==null)return this._lat},set:function(o){if(this._parameter!==null){if(this._lat===o)return;this._parameter.lat=o,this._spatialTransform.createFromWgs84(this._parameter.lon,this._parameter.lat,this._parameter.alt,this._parameter.heading,this._parameter.pitch,this._parameter.roll),this._primitive.modelMatrix=this._spatialTransform.modelMatrix}}},particleSize:{get:function(){if(this._primitive!==null)return this._primitive.particleSize},set:function(o){if(this._parameter!==null){if(this._parameter.particleSize===o)return;this._parameter.particleSize=o,this._primitive.imageSize=new tt(this._parameter.particleSize,this._parameter.particleSize)}}}});var E1e=rre;var nre=class extends YA{constructor(A,f){super(A,f),this._rtti="Explosion",this._primitive=null,this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll),this._coreMap=A.Viewer}finalize(){}addToMap(){let A=this._parameter,f=this._coreMap;function m(){let P=Wl.fromDegrees(0,0,0),R=new Ux;return R.translation=Z.fromElements(2.5,4,1),R.rotation=yr.fromHeadingPitchRoll(P),Re.fromTranslationRotationScale(R)}let C=this._spatialTransform.modelMatrix,E=new Z(0,0,0),I=30,x=100,y=new tt(30,30),v=400,w=10,Q=new Re;function M(P,R,T){let L=Z.add(E,P,new Z),F=Re.fromTranslation(L,Q),U=Re.multiply(C,F,new Re),N=Re.inverseTransformation(U,U),H=De.randomBetween(I,x),J=new Z,K=function(oe){let le=Re.multiplyByPoint(N,oe.position,J);Z.magnitudeSquared(le)>=H*H&&Z.clone(Z.ZERO,oe.velocity)},X=(H-I)/(x-I),j=.3,ie=X*(1-j)+j;return f.scene.primitives.add(new mb({image:ae(A.image,`${globalThis.GEOWORLD_BASE_URL}Assets/Images/fire.png`),startColor:R,endColor:R.withAlpha(0),particleLife:ie,speed:100,imageSize:y,emissionRate:0,emitter:new l6(.1),bursts:T,lifetime:w,updateCallback:K,modelMatrix:C,emitterModelMatrix:F}))}let B=[];for(let P=0;P<3;++P)B.push(new s6({time:De.nextRandomNumber()*w,minimum:v,maximum:v}));let D=new Z(0,0,0),S=qe.WHITE.withAlpha(.7);this._primitive=M(D,S,B)}removeFromMap(){this._primitive!==null&&this._coreMap.scene.primitives.remove(this._primitive)}toJSON(){let A=this;return hs.export(A)}};Object.defineProperties(nre.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var I1e=nre;var ore=class extends YA{constructor(A,f){super(A,f),this._rtti="Fireworks",this._primitives=[],this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll)}addToMap(){let A=this._parameter,f=this._coreMap,m=ae(A.emitHeight,100);function C(){let K=Wl.fromDegrees(0,0,0),X=new Ux;return X.translation=Z.fromElements(2.5,4,1),X.rotation=yr.fromHeadingPitchRoll(K),Re.fromTranslationRotationScale(X)}De.setRandomNumberSeed(315);let E=this._spatialTransform.modelMatrix,I=new Z(0,0,m),x;function y(){if(!k(x)){x=document.createElement("canvas"),x.width=20,x.height=20;let K=x.getContext("2d");K.beginPath(),K.arc(8,8,8,0,De.TWO_PI,!0),K.closePath(),K.fillStyle="rgb(255, 255, 255)",K.fill()}return x}let v=30,w=100,Q=new tt(7,7),M=400,B=10,D=20,S=new Re,P=this;function R(K,X,j){let ee=Z.add(I,K,new Z),ie=Re.fromTranslation(ee,S),z=Re.multiply(E,ie,new Re),oe=Re.inverseTransformation(z,z),le=De.randomBetween(v,w),Ae=new Z,he=function(W){let O=Re.multiplyByPoint(oe,W.position,Ae);Z.magnitudeSquared(O)>=le*le&&Z.clone(Z.ZERO,W.velocity)},ge=(le-v)/(w-v),de=.3,G=ge*(1-de)+de,Y=f.scene.primitives.add(new mb({image:y(),startColor:X,endColor:X.withAlpha(0),particleLife:G,speed:100,imageSize:Q,emissionRate:0,emitter:new l6(.1),bursts:j,lifetime:B,updateCallback:he,modelMatrix:E,emitterModelMatrix:ie}));P._primitives.push(Y)}let T=-100,L=100,F=-80,U=100,N=-50,H=50,J=[{minimumRed:.75,green:0,minimumBlue:.8,alpha:1},{red:0,minimumGreen:.75,minimumBlue:.8,alpha:1},{red:0,green:0,minimumBlue:.8,alpha:1},{minimumRed:.75,minimumGreen:.75,blue:0,alpha:1}];for(let K=0;K<D;++K){let X=De.randomBetween(T,L),j=De.randomBetween(F,U),ee=De.randomBetween(N,H),ie=new Z(X,j,ee),z=qe.fromRandom(J[K%J.length]),oe=[];for(let le=0;le<3;++le)oe.push(new s6({time:De.nextRandomNumber()*B,minimum:M,maximum:M}));R(ie,z,oe)}}removeFromMap(){for(let A in this._primitives)this._coreMap.scene.primitives.remove(this._primitives[A]);this._primitives=[]}toJSON(){console.log("\u70DF\u82B1=========================>>>>>",this);let A=this;return hs.export(A)}};Object.defineProperties(ore.prototype,{parameter:{get:function(){return this._parameter}},emitHeight:{get:function(){return this._parameter!==null?this._parameter.emitHeight:0},set:function(o){this._parameter!==null&&(this._parameter.emitHeight=o)}},show:{get:function(){return this._primitives.length>0?this._primitives[0].show:!1},set:function(o){for(let A in this._primitives)this._primitives[A].show=o}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var x1e=ore;var yet=Sat(xet(),1),Hs={defaults:{useEntitiesIfAvailable:!0,minCanvasSize:700,maxCanvasSize:2e3,radiusFactor:60,spacingFactor:1.5,maxOpacity:.8,minOpacity:.1,blur:.85,gradient:{0:"#00AEFF",".58":"#A8FF00",".70":"#FFF000",".85":"#FE9B1A",1:"#FE411B"},mode3D:!1,scaleHeight:1}};Hs.create=function(o,A,f){return new qx(o,A,f)};Hs._getContainer=function(o,A,f){let m=document.createElement("div");return f&&m.setAttribute("id",f),m.setAttribute("style",`width: ${o}px; height: ${A}px; margin: 0px; display: none;`),document.body.appendChild(m),m};Hs._getImageryProvider=function(o){let A=o._heatmap.getDataURL(),f=new Bv({url:A,rectangle:o._rectangle});return f._tilingScheme=new Sf({rectangleSouthwestInMeters:new tt(o._mbounds.west,o._mbounds.south),rectangleNortheastInMeters:new tt(o._mbounds.east,o._mbounds.north)}),f};Hs._getID=function(o){let A="",f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let m=0;m<(o||8);m++)A+=f.charAt(Math.floor(De.nextRandomNumber()*f.length));return A};var v6=new Pu;Hs.wgs84ToMercator=function(o){let A=v6.project(Lt.fromDegrees(o.x,o.y));return{x:A.x,y:A.y}};Hs.wgs84ToMercatorBB=function(o){let A=v6.project(Lt.fromDegrees(o.west,o.south)),f=v6.project(Lt.fromDegrees(o.east,o.north));return{north:f.y,east:f.x,south:A.y,west:A.x}};Hs.mercatorToWgs84=function(o){let A=v6.unproject(new Z(o.x,o.y));return{x:A.longitude,y:A.latitude}};Hs.mercatorToWgs84BB=function(o){let A=v6.unproject(new Z(o.west,o.south)),f=v6.unproject(new Z(o.east,o.north));return{north:this.rad2deg(f.latitude),east:this.rad2deg(f.longitude),south:this.rad2deg(A.latitude),west:this.rad2deg(A.longitude)}};Hs.deg2rad=function(o){return o*(Math.PI/180)};Hs.rad2deg=function(o){return o/(Math.PI/180)};function qx(o,A,f){if(!A)return null;f||(f={}),this._earthCtrl=o,this._options=f,this._id=Hs._getID(),this._options.gradient=this._options.gradient?this._options.gradient:Hs.defaults.gradient,this._options.maxOpacity=this._options.maxOpacity?this._options.maxOpacity:Hs.defaults.maxOpacity,this._options.minOpacity=this._options.minOpacity?this._options.minOpacity:Hs.defaults.minOpacity,this._options.blur=this._options.blur?this._options.blur:Hs.defaults.blur,this._mbounds=Hs.wgs84ToMercatorBB(A),this._setWidthAndHeight(this._mbounds),this._options.radius=Math.round(this._options.radius?this._options.radius:this.width>this.height?this.width/Hs.defaults.radiusFactor:this.height/Hs.defaults.radiusFactor),this._spacing=this._options.radius*Hs.defaults.spacingFactor,this._xoffset=this._mbounds.west,this._yoffset=this._mbounds.south,this.width=Math.round(this.width+this._spacing*2),this.height=Math.round(this.height+this._spacing*2),this._mbounds.west-=this._spacing*this._factor,this._mbounds.east+=this._spacing*this._factor,this._mbounds.south-=this._spacing*this._factor,this._mbounds.north+=this._spacing*this._factor,this.bounds=Hs.mercatorToWgs84BB(this._mbounds),this._rectangle=hi.fromDegrees(this.bounds.west,this.bounds.south,this.bounds.east,this.bounds.north),this._container=Hs._getContainer(this.width,this.height,this._id),this._options.container=this._container,this._heatmap=yet.default.create(this._options),this._container.children[0].setAttribute("id",`${this._id}-hm`),this._mode3D=this._options.mode3D?this._options.mode3D:Hs.defaults.mode3D,this._scaleHeight=this._options.scaleHeight?this._options.scaleHeight:Hs.defaults.scaleHeight,this._scaleHeight<=0&&(this._scaleHeight=1),this._granularity=this._options.granularity?this._options.granularity:De.RADIANS_PER_DEGREE,this._useEntitiesIfAvailable=this._options.useEntitiesIfAvailable!==void 0?this._options.useEntitiesIfAvailable:Hs.defaults.useEntitiesIfAvailable,this._lineCount=ae(this._options.lineCount,new tt(1e3,1e3)),this._lineWidth=ae(this._options.lineWidth,1),console.info(this._lineCount)}qx.prototype.wgs84PointToHeatmapPoint=function(o){return this.mercatorPointToHeatmapPoint(Hs.wgs84ToMercator(o))};qx.prototype.mercatorPointToHeatmapPoint=function(o){let A={};return A.x=Math.round((o.x-this._xoffset)/this._factor+this._spacing),A.y=Math.round((o.y-this._yoffset)/this._factor+this._spacing),A.y=this.height-A.y,A};qx.prototype.getValueAt=function(o,A){let f=this.wgs84PointToHeatmapPoint({x:o,y:A});return this._heatmap.getValueAt({x:f.x,y:f.y})};qx.prototype.setMode3D=function(o){o!==this._mode3D&&(this._mode3D=o,this.updateLayer())};qx.prototype._setWidthAndHeight=function(o){this.width=o.east>0&&o.west<0?o.east+Math.abs(o.west):Math.abs(o.east-o.west),this.height=o.north>0&&o.south<0?o.north+Math.abs(o.south):Math.abs(o.north-o.south),this._factor=1,this.width>this.height&&this.width>Hs.defaults.maxCanvasSize?(this._factor=this.width/Hs.defaults.maxCanvasSize,this.height/this._factor<Hs.defaults.minCanvasSize&&(this._factor=this.height/Hs.defaults.minCanvasSize)):this.height>this.width&&this.height>Hs.defaults.maxCanvasSize?(this._factor=this.height/Hs.defaults.maxCanvasSize,this.width/this._factor<Hs.defaults.minCanvasSize&&(this._factor=this.width/Hs.defaults.minCanvasSize)):this.width<this.height&&this.width<Hs.defaults.minCanvasSize?(this._factor=this.width/Hs.defaults.minCanvasSize,this.height/this._factor>Hs.defaults.maxCanvasSize&&(this._factor=this.height/Hs.defaults.maxCanvasSize)):this.height<this.width&&this.height<Hs.defaults.minCanvasSize&&(this._factor=this.height/Hs.defaults.minCanvasSize,this.width/this._factor>Hs.defaults.maxCanvasSize&&(this._factor=this.width/Hs.defaults.maxCanvasSize)),this.width=this.width/this._factor,this.height=this.height/this._factor};qx.prototype.setData=function(o,A,f){return f&&f.length>0&&o!==null&&o!==!1&&A!==null&&A!==!1?(this._heatmap.setData({min:o,max:A,data:f}),this.updateLayer(),!0):!1};qx.prototype.addWGS84Data=function(o){if(o){let A=Array.isArray(o)?o:[o],f=[];for(let m=0;m<A.length;m++){let C=A[m],E=this.wgs84PointToHeatmapPoint(C);(C.value||C.value===0)&&(E.value=C.value),f.push(E)}return this._heatmap.addData(f),this.updateLayer(),!0}return!1};qx.prototype.setWGS84Data=function(o,A,f){if(f&&f.length>0&&o!==null&&o!==!1&&A!==null&&A!==!1){let m=[];for(let C=0;C<f.length;C++){let E=f[C],I=this.wgs84PointToHeatmapPoint(E);(E.value||E.value===0)&&(I.value=E.value),m.push(I)}return this.setData(o,A,m)}return!1};qx.prototype.show=function(o){this._layer&&(this._layer.show=o)};qx.prototype.remove=function(){Hs.defaults.useEntitiesIfAvailable&&this._earthCtrl.entities?this._layer&&this._earthCtrl.primitives.remove(this._layer):this._layer&&this._earthCtrl.coreMap.scene.imageryLayers.remove(this._layer)};Object.defineProperties(qx.prototype,{readyPromise:{get:function(){return this._layer.readyPromise}}});function h_i(o){return new fa({fabric:{type:"HeatMapMaterial",materials:{imageMaterial:{type:"Image",uniforms:{image:o}},gridMaterial:{type:"Grid"}},components:{emission:" imageMaterial.diffuse * gridMaterial.diffuse",diffuse:" imageMaterial.diffuse * gridMaterial.diffuse",alpha:"imageMaterial.alpha * gridMaterial.alpha*2.0"}},translucent:!1})}qx.prototype.updateLayer=function(){if(this._useEntitiesIfAvailable&&this._earthCtrl.entities){this._layer&&this._earthCtrl.primitives.remove(this._layer);let o=this,A=this._rectangle,f=Z.fromRadiansArray([A.west,A.north,A.east,A.north,A.east,A.south,A.west,A.south]),m=h_i(this._heatmap._renderer.canvas);m.materials.gridMaterial.uniforms.color=qe.WHITE,m.materials.gridMaterial.uniforms.cellAlpha=.1,m.materials.gridMaterial.uniforms.lineCount=this._lineCount,m.materials.gridMaterial.uniforms.lineThickness=new tt(this._lineWidth,this._lineWidth),m.update(o._earthCtrl.coreMap.scene.context),this._layer=this._earthCtrl.primitives.add(new pa({geometryInstances:new Un({geometry:new bc({polygonHierarchy:new In(f),granularity:o._granularity})}),appearance:new cd({material:m}),heatMap:o._mode3D?o:void 0,scaleHeight:o._scaleHeight}))}else this._layer&&this._earthCtrl.coreMap.scene.imageryLayers.remove(this._layer),this._layer=this._earthCtrl.coreMap.scene.imageryLayers.addImageryProvider(Hs._getImageryProvider(this))};var vet=Hs;function _et(o,A){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._color=ae(A.color,qe.YELLOW.withAlpha(1)),this._maxRadius=ae(A.maxRadius,1500),this._duration=ae(A.duration,4e3),this._lon=ae(A.lon,121),this._lat=ae(A.lat,31),this._height=ae(A.height,500),this._cartoCenter=Lt.fromDegrees(this._lon,this._lat),this._pps=null,this._rtti="RadarScan",this._parameter=A,this.toJSON=function(){return hs.export(this)},this.removeFromMap=function(){Bet(this)}}function d_i(o){if(k(o._pps))return;let A=o._cartoCenter,f=Lt.toCartesian(A),m=new kt(f.x,f.y,f.z,1),C=new Lt(A.longitude,A.latitude,A.height+o._height),E=Lt.toCartesian(C),I=new kt(E.x,E.y,E.z,1),x=new Lt(A.longitude+De.toRadians(.001),A.latitude,A.height),y=Lt.toCartesian(x),v=new kt(y.x,y.y,y.z,1),w=new yr,Q=new Nt,M=new Date().getTime(),B=new kt,D=new kt,S=new kt,P=new Z,R=new Z,T=o.mEarthCtrl.coreMap.scene.camera;o._pps=new Jo({fragmentShader:g_i(),uniforms:{u_scanCenterEC:function(){return Re.multiplyByVector(T._viewMatrix,m,B)},u_scanPlaneNormalEC:function(){let F=Re.multiplyByVector(T._viewMatrix,m,B),U=Re.multiplyByVector(T._viewMatrix,I,D);return P.x=U.x-F.x,P.y=U.y-F.y,P.z=U.z-F.z,Z.normalize(P,P),P},u_radius:o._maxRadius,u_scanLineNormalEC:function(){let F=Re.multiplyByVector(T._viewMatrix,m,B),U=Re.multiplyByVector(T._viewMatrix,I,D),N=Re.multiplyByVector(T._viewMatrix,v,S);P.x=U.x-F.x,P.y=U.y-F.y,P.z=U.z-F.z,Z.normalize(P,P),R.x=N.x-F.x,R.y=N.y-F.y,R.z=N.z-F.z;let H=(new Date().getTime()-M)%o._duration/o._duration;return yr.fromAxisAngle(P,H*De.PI*2,w),Nt.fromQuaternion(w,Q),Nt.multiplyByVector(Q,R,R),Z.normalize(R,R),R},u_scanColor:o._color}}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function Bet(o){k(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function g_i(){return`uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform vec4 u_scanCenterEC; uniform vec3 u_scanPlaneNormalEC; uniform vec3 u_scanLineNormalEC; uniform float u_radius; uniform vec4 u_scanColor; vec4 toEye(in vec2 uv, in float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0)); vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera =posInCamera / posInCamera.w; return posInCamera; } bool isPointOnLineRight(in vec3 ptOnLine, in vec3 lineNormal, in vec3 testPt) { vec3 v01 = testPt - ptOnLine; normalize(v01); vec3 temp = cross(v01, lineNormal); float d = dot(temp, u_scanPlaneNormalEC); return d > 0.5; } vec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point) { vec3 v01 = point -planeOrigin; float d = dot(planeNormal, v01) ; return (point - planeNormal * d); } float distancePointToLine(in vec3 ptOnLine, in vec3 lineNormal, in vec3 testPt) { vec3 tempPt = pointProjectOnPlane(lineNormal, ptOnLine, testPt); return length(tempPt - ptOnLine); } float getDepth(in vec4 depth) { float z_window = czm_unpackDepth(depth); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; return (2.0 * z_window - n_range - f_range) / (f_range - n_range); } void main() { out_FragColor = texture(colorTexture, v_textureCoordinates); float depth = getDepth( texture(depthTexture, v_textureCoordinates)); vec4 viewPos = toEye(v_textureCoordinates, depth); vec3 prjOnPlane = pointProjectOnPlane(u_scanPlaneNormalEC.xyz, u_scanCenterEC.xyz, viewPos.xyz); float dis = length(prjOnPlane.xyz - u_scanCenterEC.xyz); float twou_radius = u_radius * 2.0; if(dis < u_radius) { vec3 lineEndPt = vec3(u_scanCenterEC.xyz) + u_scanLineNormalEC * u_radius; float f = 0.0; if(isPointOnLineRight(u_scanCenterEC.xyz, u_scanLineNormalEC.xyz, prjOnPlane.xyz)) { float dis1= length(prjOnPlane.xyz - lineEndPt); f = abs(twou_radius -dis1) / twou_radius; f = pow(f, 3.0); } out_FragColor = mix(out_FragColor, u_scanColor, f); } } `}Object.defineProperties(_et.prototype,{parameter:{get:function(){return this._parameter}},lon:{get:function(){if(this._parameter!==null)return this._lon},set:function(o){if(this._parameter!==null){if(this._lon===o)return;this._parameter.lon=o}}},lat:{get:function(){if(this._parameter!==null)return this._lat},set:function(o){if(this._parameter!==null){if(this._lat===o)return;this._parameter.lat=o}}},show:{get:function(){return this._pps!==null},set:function(o){this.show!==o&&(this._parameter.show=o,this._show=o,o?d_i(this):Bet(this))}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var y1e=_et;function wet(o,A){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._color=ae(A.color,qe.YELLOW.withAlpha(1)),this._maxRadius=ae(A.maxRadius,1500),this._duration=ae(A.duration,4e3),this._lon=ae(A.lon,121),this._lat=ae(A.lat,31),this._height=ae(A.height,500),this._cartoCenter=Lt.fromDegrees(this._lon,this._lat),this._pps=null,this._rtti="CircleScan",this._parameter=A,this.toJSON=function(){return hs.export(this)},this.removeFromMap=function(){bet(this)}}function f_i(o){if(k(o._pps))return;let A=o._cartoCenter,f=Lt.toCartesian(A),m=new kt(f.x,f.y,f.z,1),C=new Lt(A.longitude,A.latitude,A.height+o._height),E=Lt.toCartesian(C),I=new kt(E.x,E.y,E.z,1),x=new Date().getTime(),y=new kt,v=new kt,w=new Z,Q=o.mEarthCtrl.coreMap.scene.camera;o._pps=new Jo({fragmentShader:p_i(),uniforms:{u_scanCenterEC:function(){return Re.multiplyByVector(Q._viewMatrix,m,y)},u_scanPlaneNormalEC:function(){let B=Re.multiplyByVector(Q._viewMatrix,m,y),D=Re.multiplyByVector(Q._viewMatrix,I,v);return w.x=D.x-B.x,w.y=D.y-B.y,w.z=D.z-B.z,Z.normalize(w,w),w},u_radius:function(){return o._maxRadius*((new Date().getTime()-x)%o._duration)/o._duration},u_scanColor:o._color}}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function bet(o){k(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function p_i(){return`uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform vec4 u_scanCenterEC; uniform vec3 u_scanPlaneNormalEC; uniform float u_radius; uniform vec4 u_scanColor; vec4 toEye(in vec2 uv, in float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0)); vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera =posInCamera / posInCamera.w; return posInCamera; } vec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point) { vec3 v01 = point -planeOrigin; float d = dot(planeNormal, v01) ; return (point - planeNormal * d); } float getDepth(in vec4 depth) { float z_window = czm_unpackDepth(depth); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; return (2.0 * z_window - n_range - f_range) / (f_range - n_range); } void main() { out_FragColor = texture(colorTexture, v_textureCoordinates); float depth = getDepth( texture(depthTexture, v_textureCoordinates)); vec4 viewPos = toEye(v_textureCoordinates, depth); vec3 prjOnPlane = pointProjectOnPlane(u_scanPlaneNormalEC.xyz, u_scanCenterEC.xyz, viewPos.xyz); float dis = length(prjOnPlane.xyz - u_scanCenterEC.xyz); if(dis < u_radius) { float f = dis/ u_radius; f = pow(f, 2.0); out_FragColor = mix(out_FragColor, u_scanColor, f); } } `}Object.defineProperties(wet.prototype,{parameter:{get:function(){return this._parameter}},lon:{get:function(){if(this._parameter!==null)return this._lon},set:function(o){if(this._parameter!==null){if(this._lon===o)return;this._lon=o,this._parameter.lon=o}}},lat:{get:function(){if(this._parameter!==null)return this._lat},set:function(o){if(this._parameter!==null){if(this._lat===o)return;this._lat=o,this._parameter.lat=o}}},show:{get:function(){return this._pps!==null},set:function(o){this.show!==o&&(this._parameter.show=o,o?f_i(this):bet(this))}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var Qet=wet;function Det(o,A){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._color=ae(A.color,new qe(1,0,0,1)),this._maxRadius=ae(A.maxRadius,15e3),this._duration=ae(A.duration,4e3),this._lon=ae(A.lon,121),this._lat=ae(A.lat,31),this._height=ae(A.height,500),this._cartoCenter=Lt.fromDegrees(this._lon,this._lat),this._minHeight=ae(A.minHeight,10),this._maxHeight=ae(A.maxHeight,200),this._currentHeight=this._minHeight,this._pps=null}function m_i(o){if(k(o._pps))return;let A=o._cartoCenter,f=Lt.toCartesian(A),m=new kt(f.x,f.y,f.z,1),C=new Lt(A.longitude,A.latitude,A.height+o._height),E=Lt.toCartesian(C),I=new kt(E.x,E.y,E.z,1),x=new Date().getTime(),y=new kt,v=new kt,w=new Z,Q=o.mEarthCtrl.coreMap.scene.camera;o._pps=new Jo({fragmentShader:E_i(),uniforms:{u_scanCenterEC:function(){return Re.multiplyByVector(Q._viewMatrix,m,y)},u_scanPlaneNormalEC:function(){let B=Re.multiplyByVector(Q._viewMatrix,m,y),D=Re.multiplyByVector(Q._viewMatrix,I,v);return w.x=D.x-B.x,w.y=D.y-B.y,w.z=D.z-B.z,Z.normalize(w,w),w},u_radius:function(){return o._maxRadius},u_currentHeight:function(){if(o._currentHeight>=o._maxHeight)o._currentHeight=o._minHeight;else{let B=o._maxHeight-o._minHeight;B=B*((new Date().getTime()-x)%o._duration)/o._duration,o._currentHeight=o._minHeight+B}return o._currentHeight},u_scanColor:o._color}}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function C_i(o){k(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function E_i(){return`uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform vec4 u_scanCenterEC; uniform vec3 u_scanPlaneNormalEC; uniform float u_radius; uniform vec4 u_scanColor; uniform float u_currentHeight; vec4 toEye(in vec2 uv, in float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0)); vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera =posInCamera / posInCamera.w; return posInCamera; } vec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point) { vec3 v01 = point -planeOrigin; float d = dot(planeNormal, v01) ; return (point - planeNormal * d); } float getDepth(in vec4 depth) { float z_window = czm_unpackDepth(depth); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; return (2.0 * z_window - n_range - f_range) / (f_range - n_range); } void main() { out_FragColor = texture(colorTexture, v_textureCoordinates); float depth = getDepth( texture(depthTexture, v_textureCoordinates)); vec4 viewPos = toEye(v_textureCoordinates, depth); vec3 prjOnPlane = pointProjectOnPlane(u_scanPlaneNormalEC.xyz, u_scanCenterEC.xyz, viewPos.xyz); float height_dis = length(prjOnPlane.xyz-viewPos.xyz); if(height_dis >= u_currentHeight && height_dis <= (u_currentHeight+1.0)) { out_FragColor = mix(out_FragColor, u_scanColor, u_scanColor.a); } } `}Object.defineProperties(Det.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o===!0?m_i(this):C_i(this)}}});var Met=Det;function Tet(o,A){this.mEarthCtrl=o,this._maxRadius=ae(A.radius,10),this._shininess=ae(A.shininess,5),this._lightColor=ae(A.lightColor,qe.YELLOW),this._lon=ae(A.lon,121),this._lat=ae(A.lat,31),this._height=ae(A.height,500),this._cartoCenter=Lt.fromDegrees(this._lon,this._lat),this._lightPosition=Lt.fromDegrees(this._lon,this._lat,this._height),this._pps=null}function I_i(o){if(k(o._pps))return;let A=o._cartoCenter,f=Lt.toCartesian(A),m=new kt(f.x,f.y,f.z,1),C=new Lt(A.longitude,A.latitude,A.height+o._height),E=Lt.toCartesian(C),I=new kt(E.x,E.y,E.z,1),x=new kt,y=new kt,v=new Z,w=o.mEarthCtrl.coreMap.scene.camera;o._pps=new Jo({fragmentShader:y_i(),uniforms:{u_viewWorldPosition:function(){return w.position},u_lightWorldPosition:function(){return o._lightPosition},u_scanCenterEC:function(){return Re.multiplyByVector(w._viewMatrix,m,x)},u_scanPlaneNormalEC:function(){let M=Re.multiplyByVector(w._viewMatrix,m,x),B=Re.multiplyByVector(w._viewMatrix,I,y);return v.x=B.x-M.x,v.y=B.y-M.y,v.z=B.z-M.z,Z.normalize(v,v),v},u_radius:function(){return o._maxRadius},u_lightColor:function(){return o._lightColor}}}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function x_i(o){k(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function y_i(){return`uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform vec4 u_scanCenterEC; uniform vec3 u_scanPlaneNormalEC; uniform float u_radius; uniform vec4 u_lightColor; uniform float u_shininess; uniform mat4 u_cameraMatrix; uniform vec3 u_lightWorldPosition; uniform vec3 u_viewWorldPosition; vec4 toEye(in vec2 uv, in float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0)); vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera =posInCamera / posInCamera.w; return posInCamera; } vec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point) { vec3 v01 = point -planeOrigin; float d = dot(planeNormal, v01) ; return (point - planeNormal * d); } float getDepth(in vec4 depth) { float z_window = czm_unpackDepth(depth); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; return (2.0 * z_window - n_range - f_range) / (f_range - n_range); } void main() { out_FragColor = texture(colorTexture, v_textureCoordinates); float depth = getDepth( texture(depthTexture, v_textureCoordinates)); vec4 viewPos = toEye(v_textureCoordinates, depth); vec3 prjOnPlane = pointProjectOnPlane(u_scanPlaneNormalEC.xyz, u_scanCenterEC.xyz, viewPos.xyz); float dis = length(prjOnPlane.xyz - u_scanCenterEC.xyz); if(dis < u_radius) { vec3 surfaceWorldPosition = czm_eyeToWindowCoordinates(viewPos); vec3 v_surfaceToLight = u_lightWorldPosition - surfaceWorldPosition; vec3 v_surfaceToView = normalize( u_viewWorldPosition - surfaceWorldPosition); vec3 surfaceToLightDirection = normalize(v_surfaceToLight); vec3 surfaceToViewDirection = normalize(v_surfaceToView); vec3 halfVector = normalize(surfaceToLightDirection + surfaceToViewDirection); float light = dot(normal, surfaceToLightDirection); float specular = 0.0; if(light > 0.0) { specular = pow(dot(normal, halfVector), u_shininess); } out_FragColor.rgb *=light*u_lightColor; out_FragColor.rgb += specular*u_specularColor; } } `}Object.defineProperties(Tet.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o?I_i(this):x_i(this)}}});var Pet=Tet;var sre=class extends YA{constructor(A,f){super(A,f),this._rtti="Billboard",this._primitive=null,this._parameter=f,this._earthCtrl=A,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll)}addToMap(){let A=this._parameter,f={position:Z.fromDegrees(A.lon,A.lat,A.alt),name:A.name};A.image=ae(A.image,""),A.width=ae(A.iconWidth,16),A.height=ae(A.iconHeight,16),f.billboard=A,this._primitive=this._earthCtrl.entities.add(f)}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return hs.export(this)}};Object.defineProperties(sre.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},lon:{get:function(){return this._parameter!==null?this._parameter.lon:!1},set:function(o){this._parameter!==null&&(this._primitive.position=Z.fromDegrees(o,this._parameter.lat,this._parameter.alt),this._parameter.lon=o)}},lat:{get:function(){return this._parameter!==null?this._parameter.lat:!1},set:function(o){this._parameter!==null&&(this._primitive.position=Z.fromDegrees(this._parameter.lon,o,this._parameter.alt),this._parameter.lat=o)}},alt:{get:function(){return this._parameter!==null?this._parameter.alt:!1},set:function(o){this._primitive!==null&&(this._primitive.position=Z.fromDegrees(this._parameter.lon,this._parameter.lat,o),this._parameter.alt=o)}},image:{get:function(){return this._parameter!==null?this._parameter.image:!1},set:function(o){this._primitive!==null&&(this._primitive.billboard.image=o,this._parameter.image=o)}},scale:{get:function(){return this._parameter!==null?this._parameter.scale:!1},set:function(o){this._primitive!==null&&(this._primitive.billboard.scale=o,this._parameter.scale=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var v1e=sre;var lre=class extends YA{constructor(A,f){super(A),this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll),f.scale=ae(f.scale,1),f.minimumPixelSize=ae(f.minimumPixelSize,10)}addToMap(){let A=this._parameter,f=null,m=ae(A.sourceType,"gltf");(m==="gltf"||m==="glb")&&(f=yv.fromGltf(A),f.modelMatrix=this._spatialTransform.modelMatrix),this._primitive=this._coreMap.scene.primitives.add(f)}removeFromMap(){this._primitive!==null&&this._coreMap.scene.primitives.remove(this._primitive)}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([A._primitive.readyPromise]).then(function(C){let E=hs.export(A);console.log("modelObj",E),f(E)})})}};Object.defineProperties(lre.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},lon:{get:function(){return this._spatialTransform.longitude},set:function(o){this._spatialTransform.longitude=o}},lat:{get:function(){return this._spatialTransform.latitude},set:function(o){this._spatialTransform.latitude=o}},alt:{get:function(){return this._spatialTransform.altitude},set:function(o){this._spatialTransform.altitude=o}},heading:{get:function(){return this._spatialTransform.heading},set:function(o){this._spatialTransform.heading=o}},pitch:{get:function(){return this._spatialTransform.pitch},set:function(o){this._spatialTransform.pitch=o}},roll:{get:function(){return this._spatialTransform.roll},set:function(o){this._spatialTransform.roll=o}},parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},sourceType:{get:function(){return this._parameter!==null?this._parameter.sourceType:!1}},dataUrl:{get:function(){return this._parameter!==null?this._parameter.url:!1}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var _1e=lre;var Are=class extends YA{constructor(A,f){super(A),this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll)}addToMap(){let A=this._parameter,f={position:Z.fromDegrees(A.lon,A.lat,A.alt),name:A.name};A.text=ae(A.text,""),A.font=ae(A.font,"12pt monospace"),A.style=ae(A.style,fu.FILL_AND_OUTLINE),A.outlineWidth=ae(A.outlineWidth,2),A.verticalOrigin=ae(A.verticalOrigin,on.BOTTOM),A.pixelOffset=new tt(0,-9),f.label=A,this._primitive=this._earthCtrl.entities.add(f)}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return hs.export(this)}};Object.defineProperties(Are.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},parameter:{get:function(){return this._parameter}},text:{get:function(){return this._primitive!==null?this._primitive.label.text:!1},set:function(o){this._parameter!==null&&(this._primitive.label.text=o,this._parameter.text=o)}},icon:{get:function(){return this._parameter!==null?this._parameter.icon:""}},font:{get:function(){return this._parameter!==null?this._parameter.font:!1},set:function(o){this._parameter!==null&&(this._parameter.font=o)}},outlineWidth:{get:function(){return this._parameter!==null?this._parameter.outlineWidth:!1},set:function(o){this._parameter!==null&&(this._parameter.outlineWidth=o)}},verticalOrigin:{get:function(){return this._parameter!==null?this._parameter.verticalOrigin:!1},set:function(o){this._parameter!==null&&(this._parameter.verticalOrigin=o)}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},fillColor:{get:function(){return this._primitive!==null?this._primitive.label.fillColor:!1},set:function(o){this._parameter!==null&&(this._primitive.label.fillColor=o,this._parameter.fillColor=o)}},lon:{get:function(){return this._parameter!==null?this._parameter.lon:!1},set:function(o){this._primitive!==null&&(this._primitive.position=Z.fromDegrees(o,this._parameter.lat,this._parameter.alt),this._parameter.lon=o)}},lat:{get:function(){return this._parameter!==null?this._parameter.lat:!1},set:function(o){this._primitive!==null&&(this._primitive.position=Z.fromDegrees(this._parameter.lon,o,this._parameter.alt),this._parameter.lat=o)}},alt:{get:function(){return this._parameter!==null?this._parameter.alt:!1},set:function(o){this._primitive!==null&&(this._primitive.position=Z.fromDegrees(this._parameter.lon,this._parameter.lat,o),this._parameter.alt=o)}}});var B1e=Are;var ure=class extends YA{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=ae(f.lineWidth,1)}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({name:A.name,polyline:{positions:A.positions,width:A.lineWidth,material:A.lineColor,clampToGround:A.clampToGround,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=f}updateMaterial(){let A,f=this._parameter;return k(f.outlineColor)?A=new DS({color:f.lineColor,outlineColor:f.outlineColor}):A=f.lineColor,A}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return hs.export(this)}};Object.defineProperties(ure.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},positions:{get:function(){return this._primitive.polyline.positions},set:function(o){this._primitive.polyline.positions=o,this._parameter.positions=o}},lineColor:{get:function(){return this._parameter.lineColor},set:function(o){this._parameter.lineColor=o,this._primitive.polyline.material=this.updateMaterial()}},outlineColor:{get:function(){return this._parameter.outlineColor},set:function(o){this._parameter.outlineColor=o,this._primitive.polyline.material=this.updateMaterial()}},lineWidth:{get:function(){return this._primitive.polyline.width},set:function(o){this._primitive.polyline.width=o,this._parameter.lineWidth=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},clampToGround:{get:function(){return this._primitive!==null?this._primitive.polyline.clampToGround:!1},set:function(o){this._primitive!==null&&(this._primitive.polyline.clampToGround=o,this._parameter.clampToGround=o)}}});var w1e=ure;var cre=class extends YA{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=ae(f.lineWidth,2)}addToMap(){let A=this._parameter,f=ae(A.outline,!0),m=A.material,C=ae(A.outlineColor,m),E=null;k(A.hierarchy)?E=A.hierarchy:E={positions:A.positions};let I=this._earthCtrl.entities.add({name:A.name,polygon:{hierarchy:{positions:A.positions},height:A.height,heightReference:A.heightReference,extrudedHeight:A.extrudedHeight,extrudedHeightReference:A.extrudedHeightReference,stRotation:A.stRotation,fill:A.fill,outlineWidth:A.lineWidth,material:m,outline:f,outlineColor:C,perPositionHeight:A.perPositionHeight,closeTop:A.closeTop,closeBottom:A.closeBottom,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=I}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return hs.export(this)}};Object.defineProperties(cre.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},positions:{get:function(){return this._primitive.polygon.hierarchy._value},set:function(o){this._primitive.polygon.hierarchy._value=o}},fillColor:{get:function(){return this._primitive.polygon.material},set:function(o){this._primitive.polygon.material=o}},outline:{get:function(){return this._primitive.polygon.outline},set:function(o){this._primitive.polygon.outline=o}},outlineColor:{get:function(){return this._primitive.polygon.outlineColor},set:function(o){this._primitive.polygon.outlineColor=o}},lineWidth:{get:function(){return this._primitive.polygon.outlineWidth},set:function(o){this._primitive.polygon.outlineWidth=o}},height:{get:function(){return this._primitive.polygon.height._value},set:function(o){this._primitive.polygon.height._value=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var b1e=cre;var hre=class extends YA{constructor(A,f){super(A),this._parameter=f}addToMap(){let A=this._parameter,f=Z.fromDegrees(A.lon,A.lat,A.alt),m=this._earthCtrl.entities.add({position:f,name:A.name,show:ae(A.show,!0),point:{pixelSize:ae(A.pixelSize,1),color:A.color,outlineColor:A.outlineColor,outlineWidth:A.outlineWidth,distanceDisplayCondition:A.distanceDisplayCondition,heightReference:A.heightReference}});this._primitive=m}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return hs.export(this)}};Object.defineProperties(hre.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},point:{get:function(){return this._primitive.position},set:function(o){this._primitive.position=o}},pixelSize:{get:function(){return this._primitive.point.pixelSize},set:function(o){this._primitive.point.pixelSize=o,this._parameter.pixelSize=o}},color:{get:function(){return this._primitive.point.color},set:function(o){this._primitive!==null&&(this._primitive.point.color=o,this._parameter.color=o)}},outlineColor:{get:function(){return this._primitive.point.outlineColor},set:function(o){this._primitive.point.outlineColor=o}},outlineWidth:{get:function(){return this._primitive.point.lineWidth},set:function(o){this._primitive.point.lineWidth=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},lon:{get:function(){return this._parameter!==null?this._parameter.lon:!1},set:function(o){this._parameter!==null&&(this._primitive.position=Z.fromDegrees(o,this._parameter.lat,this._parameter.alt),this._parameter.lon=o)}},lat:{get:function(){return this._parameter!==null?this._parameter.lat:!1},set:function(o){this._parameter!==null&&(this._primitive.position=Z.fromDegrees(this._parameter.lon,o,this._parameter.alt),this._parameter.lat=o)}},alt:{get:function(){return this._parameter!==null?this._parameter.alt:!1},set:function(o){this._parameter!==null&&(this._primitive.position=Z.fromDegrees(this._parameter.lon,this._parameter.lat,o),this._parameter.alt=o)}}});var Q1e=hre;var dre=class extends YA{constructor(A,f){super(A,f),this._rtti="Box",this._parameter=null,this._primitive=null,this._parameter=f,this._parameter.lineWidth=ae(f.lineWidth,2),this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll)}addToMap(){let A=this._parameter,f=A.material,m=void 0,C=ae(A.outline,!0),E=A.fillColor,I=ae(A.outlineColor,E),x=this._earthCtrl.entities.add({position:A.position,name:A.name,box:{outlineWidth:A.lineWidth,material:f,fill:A.fill,outline:C,dimensions:A.dimensions,outlineColor:I,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition,depthFailMaterial:m}});this._primitive=x}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return hs.export(this)}};Object.defineProperties(dre.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},position:{get:function(){return this._primitive.position},set:function(o){this._primitive.position=o,this._parameter.position=o}},fill:{get:function(){return this._primitive.box.fill},set:function(o){this._primitive.box.fill=o,this._parameter.fill=o}},material:{get:function(){return this._primitive.box.material},set:function(o){this._primitive.box.material=o,this._parameter.material=o}},outline:{get:function(){return this._primitive.box.outline},set:function(o){this._primitive.box.outline=o,this._parameter.outline=o}},outlineColor:{get:function(){return this._primitive.box.outlineColor},set:function(o){this._primitive.box.outlineColor=o,this._parameter.outlineColor=o}},dimensions:{get:function(){return this._primitive.box.dimensions},set:function(o){this._primitive.box.dimensions=o,this._parameter.dimensions=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var S1e=dre;var gre=class extends YA{constructor(A,f){super(A,f),this._rtti="Cylinder",this._parameter=null,this._primitive=null,this._parameter=f,this._parameter.lineWidth=ae(f.lineWidth,2)}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({position:A.position,name:A.name,cylinder:{length:A.length,topRadius:A.topRadius,bottomRadius:A.bottomRadius,fill:A.fill,material:A.material,outline:A.outline,outlineColor:A.outlineColor,outlineWidth:A.outlineWidth,numberOfVerticalLines:A.numberOfVerticalLines,slices:A.slices,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=f}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return hs.export(this)}};Object.defineProperties(gre.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},position:{get:function(){return this._primitive.position},set:function(o){this._primitive.position=o,this._parameter.position=o}},length:{get:function(){return this._primitive.cylinder.length},set:function(o){this._primitive.cylinder.length=o,this._parameter.length=o}},topRadius:{get:function(){return this._primitive.cylinder.topRadius},set:function(o){this._primitive.cylinder.topRadius=o,this._parameter.topRadius=o}},bottomRadius:{get:function(){return this._primitive.cylinder.bottomRadius},set:function(o){this._primitive.cylinder.bottomRadius=o,this._parameter.bottomRadius=o}},fill:{get:function(){return this._primitive.cylinder.fill},set:function(o){this._primitive.cylinder.fill=o,this._parameter.fill=o}},material:{get:function(){return this._primitive.cylinder.material},set:function(o){this._primitive.cylinder.material=o,this._parameter.material=o}},outline:{get:function(){return this._primitive.cylinder.outline},set:function(o){this._primitive.cylinder.outline=o}},outlineColor:{get:function(){return this._primitive.cylinder.outlineColor},set:function(o){this._primitive.cylinder.outlineColor=o,this._parameter.outlineColor=o}},outlineWidth:{get:function(){return this._primitive.cylinder.outlineWidth},set:function(o){this._primitive.cylinder.outlineWidth=o,this._parameter.outlineWidth=o}},numberOfVerticalLines:{get:function(){return this._primitive.cylinder.numberOfVerticalLines},set:function(o){this._primitive.cylinder.numberOfVerticalLines=o,this._parameter.numberOfVerticalLines=o}},slices:{get:function(){return this._primitive.cylinder.slices},set:function(o){this._primitive.cylinder.slices=o,this._parameter.slices=o}},shadows:{get:function(){return this._primitive.cylinder.shadows},set:function(o){this._primitive.cylinder.shadows=o,this._parameter.shadows=o}},distanceDisplayCondition:{get:function(){return this._primitive.cylinder.distanceDisplayCondition},set:function(o){this._primitive.cylinder.distanceDisplayCondition=o,this._parameter.distanceDisplayCondition=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var D1e=gre;var fre=class extends YA{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=ae(f.lineWidth,2)}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({position:A.position,name:A.name,ellipsoid:{radii:A.radii,fill:A.fill,outlineWidth:A.lineWidth,material:A.material,outline:A.outline,outlineColor:A.outlineColor,stackPartitions:A.stackPartitions,slicePartitions:A.slicePartitions,subdivisions:A.subdivisions,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=f}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return hs.export(this)}};Object.defineProperties(fre.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},position:{get:function(){return this._primitive.position},set:function(o){this._primitive.position=o,this._parameter.position=o}},radii:{get:function(){return this._primitive.ellipsoid.radii},set:function(o){this._primitive.ellipsoid.radii=o,this._parameter.radii=o}},material:{get:function(){return this._primitive.ellipsoid.material},set:function(o){this._primitive.ellipsoid.material=o,this._parameter.material=o}},fill:{get:function(){return this._primitive.ellipsoid.fill},set:function(o){this._primitive.ellipsoid.fill=o,this._parameter.fill=o}},outline:{get:function(){return this._primitive.ellipsoid.outline},set:function(o){this._primitive.ellipsoid.outline=o,this._parameter.outline=o}},outlineColor:{get:function(){return this._primitive.ellipsoid.outlineColor},set:function(o){this._primitive.ellipsoid.outlineColor=o,this._parameter.outlineColor=o}},outlineWidth:{get:function(){return this._primitive.ellipsoid.outlineWidth},set:function(o){this._primitive.ellipsoid.outlineWidth=o,this._parameter.outlineWidth=o}},stackPartitions:{get:function(){return this._primitive.ellipsoid.stackPartitions},set:function(o){this._primitive.ellipsoid.stackPartitions=o,this._parameter.stackPartitions=o}},slicePartitions:{get:function(){return this._primitive.ellipsoid.slicePartitions},set:function(o){this._primitive.ellipsoid.slicePartitions=o,this._parameter.slicePartitions=o}},subdivisions:{get:function(){return this._primitive.ellipsoid.subdivisions},set:function(o){this._primitive.ellipsoid.subdivisions=o,this._parameter.subdivisions=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var M1e=fre;var pre=class extends YA{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=ae(f.lineWidth,2)}addToMap(){let A=this._parameter,f=ae(A.outline,!0),m=A.fillColor,C=ae(A.outlineColor,m),E=this._earthCtrl.entities.add({name:A.name,rectangle:{show:!0,coordinates:A.coordinates,height:A.height,heightReference:A.heightReference,extrudedHeight:A.extrudedHeight,extrudedHeightReference:A.extrudedHeightReference,rotation:A.rotation,stRotation:A.stRotation,fill:A.fill,material:m,outline:f,outlineColor:C,outlineWidth:A.lineWidth,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=E}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return hs.export(this)}};Object.defineProperties(pre.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},positions:{get:function(){return this._parameter!==null?this._primitive.rectangle.hierarchy._value:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.hierarchy._value=o)}},fillColor:{get:function(){return this._primitive!==null?this._primitive.rectangle.material:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.material=o,this._parameter.fillColor=o)}},outline:{get:function(){return this._primitive!==null?this._primitive.rectangle.outline:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.outline=o,this._parameter.outline=o)}},outlineColor:{get:function(){return this._primitive!==null?this._primitive.rectangle.outlineColor:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.outlineColor=o,this._parameter.outlineColor=o)}},lineWidth:{get:function(){return this._primitive!==null?this._primitive.rectangle.outlineWidth:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.outlineWidth=o,this._parameter.outlineWidth=o)}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},height:{get:function(){return this._primitive!==null?this._primitive.rectangle.height:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.height=o,this._parameter.height=o)}},coordinates:{get:function(){return this._primitive!==null?this._parameter.coordinates:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.coordinates=o,this._parameter.coordinates=o)}}});var T1e=pre;var mre=class extends YA{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=ae(f.lineWidth,2)}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({position:A.position,name:A.name,ellipse:{show:A.show,semiMajorAxis:A.semiMajorAxis,semiMinorAxis:A.semiMinorAxis,height:A.height,rotation:A.rotation,stRotation:A.stRotation,fill:A.fill,outlineWidth:A.lineWidth,material:A.material,outline:A.outline,outlineColor:A.outlineColor,shadows:A.shadows,numberOfVerticalLines:A.numberOfVerticalLines,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=f}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}};Object.defineProperties(mre.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},position:{get:function(){return this._primitive.position},set:function(o){this._primitive.position=o}},radii:{get:function(){return this._primitive.ellipsoid.radii},set:function(o){this._primitive.ellipsoid.radii=o}},material:{get:function(){return this._primitive.ellipsoid.material},set:function(o){this._primitive.ellipsoid.material=o}},fill:{get:function(){return this._primitive.ellipsoid.fill},set:function(o){this._primitive.ellipsoid.fill=o}},outline:{get:function(){return this._primitive.ellipsoid.outline},set:function(o){this._primitive.ellipsoid.outline=o}},outlineColor:{get:function(){return this._primitive.ellipsoid.outlineColor},set:function(o){this._primitive.ellipsoid.outlineColor=o}},outlineWidth:{get:function(){return this._primitive.ellipsoid.outlineWidth},set:function(o){this._primitive.ellipsoid.outlineWidth=o}},stackPartitions:{get:function(){return this._primitive.ellipsoid.stackPartitions},set:function(o){this._primitive.ellipsoid.stackPartitions=o}},slicePartitions:{get:function(){return this._primitive.ellipsoid.slicePartitions},set:function(o){this._primitive.ellipsoid.slicePartitions=o}},subdivisions:{get:function(){return this._primitive.ellipsoid.subdivisions},set:function(o){this._primitive.ellipsoid.subdivisions=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var P1e=mre;var Cre=class extends YA{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=ae(f.lineWidth,1)}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({name:A.name,polylineVolume:A});this._primitive=f}updateMaterial(){let A,f=this._parameter;return k(f.outlineColor)?A=new DS({color:f.lineColor,outlineColor:f.outlineColor}):A=f.lineColor,A}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}};Object.defineProperties(Cre.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},positions:{get:function(){return this._primitive.polyline.positions},set:function(o){this._primitive.polyline.positions=o,this._parameter.positions=o}},lineColor:{get:function(){return this._parameter.lineColor},set:function(o){this._parameter.lineColor=o,this.updateMaterial()}},outlineColor:{get:function(){return this._parameter.outlineColor},set:function(o){this._parameter.outlineColor=o,this.updateMaterial()}},lineWidth:{get:function(){return this._primitive.polyline.width},set:function(o){this._primitive.polyline.eidth=o,this._parameter.lineWidth=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},shape:{get:function(){return this._parameter!==null?this._parameter.shape:!1},set:function(o){this._parameter!==null&&(this._parameter.shape=o)}}});var R1e=Cre;var Ere=class extends xg{constructor(A,f){super(A),this._primitive=null,this._parameter=null,this._wModels=[],this._instance=[],this.instanceId=new Map,this._parameter=f}addToMap(){let A=this._parameter,f=ae(A.sourceType,"wmts"),m=null;if(f==="wmts")m=new RN(A);else if(f==="mapbox")m=new O4(A);else if(f==="arcgis")m=new Zy(A);else if(f==="wms")m=new G4(A);else if(f==="multi")m=new k$(A);else if(f==="single")m=new Bv(A);else if(f==="tms"){let C=ae(A.west,void 0),E=ae(A.south,void 0),I=ae(A.east,void 0),x=ae(A.north,void 0);k(C)&&k(E)&&k(I)&&k(x)&&(A.rectangle=new hi(De.toRadians(C),De.toRadians(E),De.toRadians(I),De.toRadians(x))),k(A.fileExtension)&&A.fileExtension==="json"&&(A.callback=this.processGeoJson()),m=new MB(A)}else f==="baidu"?m=new F$(A):f==="gaode"?m=new pI(A):f==="mapworld"?m=new RN(A):f==="mvt"&&(k(A.coreMap)||(A.coreMap=this._earthCtrl.coreMap),m=new O$(A,A.ol));m!==null&&(this._primitive=this._earthCtrl.imageryLayers.addImageryProvider(m),this._primitive._layerIndex=A.zIndex)}checkWModels(A){return k(this._wModels[A])}removeInstance(A,f){let C=this._wModels[A];if(k(C)){let E=C.geometryInstances;if(k(E))for(let I=0;I<E.length;I++)E[I].id}}removeWModels(A){if(k(this._parameter.retain)&&this._parameter.retain)return;let f=this,m=f._wModels[A];if(k(m)){for(let C=0;C<f._instance[A].length;C++)f.instanceId.has(f._instance[A][C])&&f.instanceId.delete(f._instance[A][C]);f._instance[A]=[],f._wModels[A]=void 0}}convertCoordinates(A){let f=[];for(let m=0;m<A.length;m++){let C=A[m];for(let E=0;E<C.length;E++)Array.prototype.push.apply(f,C[E])}return f}processGeoJson(){let A=this,f=ae(A._parameter.modelHeightKey,"\u5C42\u9AD8"),m=ae(A._parameter.modelColor,qe.BLUE);function C(I){A.removeWModels(I)}function E(I,x){if(!k(x)||A.checkWModels(x))return;let y=[],v=vo.fromColor(m);A._instance[x]||(A._instance[x]=[]);let w;for(let Q=0;Q<I.features.length;Q++){let M=I.features[Q];if(M.geometry.type==="Polygon"){let B=M.id;if(!A.instanceId.has(B)){let D=A.convertCoordinates(M.geometry.coordinates),S=Z.fromDegreesArray(D);w=M.properties[f],k(w)||(w=0),y.push(new Un({geometry:new bc({polygonHierarchy:new In(S),extrudedHeight:w}),id:B,releaseGeometryInstances:!1,attributes:{color:v}})),A.instanceId.set(B,x),A._instance[x].push(B)}}else if(M.geometry.type==="MultiPolygon"){let B=M.geometry.coordinates;for(let D=0;D<B.length;D++){let S=M.id+Q;if(!A.instanceId.has(S)){let P=B[D],R=A.convertCoordinates(P),T=Z.fromDegreesArray(R);w=M.properties[f],k(w)||(w=0),y.push(new Un({geometry:new bc({polygonHierarchy:new In(T),extrudedHeight:w}),id:S,releaseGeometryInstances:!1,attributes:{color:v}})),A.instanceId.set(S,x),A._instance[x].push(S)}}}else console.info(M.geometry.type)}if(y.length>0){let Q=A._earthCtrl.primitives.add(new pa({geometryInstances:y,allowPicking:!1,appearance:new ma({flat:!1,faceForward:!1,translucent:!1})}));A._wModels[x]=Q}}return{callback:E,removePrimitive:C}}removeFromMap(){this._primitive!==null&&this._earthCtrl.imageryLayers.remove(this._primitive)}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([A._primitive.imageryProvider.readyPromise]).then(function(C){let E=hs.export(A);console.log("imageobj",E),f(E)})})}};Object.defineProperties(Ere.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o),console.info(o);let A=this;for(let f=0;f<A._wModels.length;f++){let m=A._wModels[f],C=A.mEarthCtrl.entities.getById(m);C.show=o}}},sourceType:{get:function(){return this._parameter!==null?this._parameter.sourceType:!1}},dataUrl:{get:function(){return this._parameter!==null?this._parameter.url:!1}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var L1e=Ere;function v_i(o,A){for(var f=0;f<o.length;f++)if(A(o[f]))return f}function _6(o){if(o=o||[],!k(o.workerPath))throw new ni("workerPath is required.");this._workerPath=o.workerPath,this._poolSize=ae(o.poolSize,16),this._workers=[],this._defered=[]}Object.defineProperties(_6.prototype,{errorEvent:{get:function(){return this.errorEvent}},poolSize:{get:function(){return this._poolSize}}}),_6.prototype.queueWorkItem=function(o,A){for(var f=Nu(),m=null,C=999999,E=0;E<this._workers.length;E++){var m=this._workers[E];this._workers[E].jobQueueSize<C&&(m=this._workers[E],C=this._workers[E].jobQueueSize)}if(C>0&&this._workers.length<this.poolSize){m=new Worker(this._workerPath);var I=this;m.addEventListener("message",function(y){I.onWorkerMessage(y)},!1),m.addEventListener("error",function(y){I.onWorkerError(y)},!1),m.jobQueueSize=0,this._workers.push(m),m.id=Kl()}o.workerId=m.id;var x=Kl();return o.deferedId=x,this._defered[x]=f,m.jobQueueSize++,m.postMessage(o,A),f.promise};_6.prototype.trimPool=function(o){var A=this;if(o==null){this.timerId!=null&&clearTimeout(this.timerId),this.timerId=setTimeout(function(){A.trimPool(!0)},5e3);return}for(var f=0;f<this._workers.length;f++)this._workers[f].jobQueueSize==0&&(this._workers[f].terminate(),this._workers.splice(f,1),f--);this._workers.length?this.timerId=setTimeout(function(){A.trimPool(!0)},5e3):this.timerId=null};_6.prototype.onWorkerMessage=function(o){var A=o.data,f=v_i(this._workers,function(E){return E.id===A.workerId});if(f!=null){var m=this._workers[f];m.jobQueueSize--,this.trimPool()}var C=this._defered[A.deferedId];delete this._defered[A.deferedId],C.resolve(A)};_6.prototype.onWorkerError=function(o){console.log(o)};var Ret=_6;var __i=function(o,A,f,m){let C=f,E=m;var I=A.west,x=A.east,y=A.south,v=A.north,w=x-I,Q=v-y,M=o.longitude*180/Math.PI,B=o.latitude*180/Math.PI;return o.normalizedLongitude=(M-I)/w*f,o.normalizedLatitude=(B-y)/Q*m,o},B_i=function(o,A,f,m){var C=[],E=o[0].longitude!==void 0;return o.forEach(function(I){var x=[],y=E?I:FP.scene.globe.ellipsoid.cartesianToCartographic(I);y=__i(y,A,f,m),x.push(y.normalizedLongitude),x.push(y.normalizedLatitude),C.push(x)}),C},w_i=function(o,A,f){var m=32,C=A.west*De.DEGREES_PER_RADIAN,E=A.east*De.DEGREES_PER_RADIAN,I=A.south*De.DEGREES_PER_RADIAN,x=A.north*De.DEGREES_PER_RADIAN,y=new hi(C,I,E,x),v=B_i(o,y,m,m),w=b_i(v,"#FF0000",m,m);return w},b_i=function(o,A,f,m,C){if(C===void 0){var C=document.createElement("canvas");C.width=f,C.height=m}var E=C.getContext("2d");if(!(o.length<=0)){E.moveTo(o[0][0],o[0][1]);for(var I=0;I<o.length;I++)E.lineTo(o[I][0],o[I][1]);return A!=null&&A!=null&&(E.fillStyle=A,E.fill()),C}};function yb(o,A){return Math.floor(Math.random()*(A-o+1))+o}function Q_i(){return globalThis.GEOWORLD_BASE_URL+"Workers/ParseElevationWorker.js"}function S_i(o,A){var f=Nu();return yb=w_i(o.vertices,A,o.heights[0]),yb.timeStamp=o.timeStamp,yb.mtHeight=o.heights,yb.mtType=o.mtType,yb.fromKML=o.fromKML,yb.rect=o.rectangle,yb.level=o.level,f.resolve(yb),f.promise}function D_i(o,A){return Math.floor(Math.random()*(A-o+1))+o}function M_i(o,A){var f=Nu(),m=[];return o.forEach(function(C){m.push(S_i(C,A))}),Promise.all(m).then(function(C){var E=C[0].lenght,I=function(v,w){return w.timeStamp-v.timeStamp};if(C.length===1)f.resolve(C[0]);else{var x=C.sort(I),y=x.shift();x.forEach(function(v){y.forEach(function(w,Q){w===yb&&v[Q]!==yb&&(y[Q]=v[Q])})}),f.resolve(y)}}),f.promise}var FP,Let=!1;function Dc(o,A){if(FP=o,!k(A))throw new ni("options is required.");this._errorEvent=new ir,this._modelFloorMasks={},this._credit=A.credit,typeof this._credit=="string"&&(this._credit=new la(this._credit)),A.heightMapWidth=ae(A.heightMapWidth,32),A.heightMapHeight=ae(A.heightMapHeight,32),this._options=A,this.readyPromise=Promise.resolve(!0),this._subdomains=A.subdomains,A.firstRequestUrl=A.url.replace("{s}",this.sTag(0,0,0)),this._firstRequest=A.firstRequestUrl+"?request=GetMap&Version=1.3.0&Service=WMS&CRS=EPSG:4326&bbox=-90,-180,90,180&height=32&width=32&optimizedOnly=0&v=1&layers="+A.layerName+"&Styles=&Format=image/mpt";var f=this,m=A.pngOnly;A.maxTerrainLevel!==void 0&&isNaN(A.maxTerrainLevel)&&(A.maxTerrainLevel=void 0),this._maxTerrainLevel=ae(A.maxTerrainLevel,30),m?f.setFormatMPT(!1):$.ajax({url:A.cacheUrl?A.cacheUrl+"/0/0/0.mpt":this._firstRequest,success:function(E){var I=!!(k(E.childNodes)&&E.childNodes.length>0);if(!!I)return f.setFormatMPT(!1),null;f.setFormatMPT(!0)},error:function(){return f.setFormatMPT(!1),null},async:!1}),A.cacheUrl&&(this.isCache=!0,this.cacheLevel=A.cacheLevel||16,this._cacheUrl=A.cacheUrl+"/{z}/{x}/{y}.mpt");let C=this._maxTerrainLevel;this._availability={computeMaximumLevelAtPosition:function(E){return Math.min(C,16)}},this._urlTemplate=A.url+"?request=GetMap&Version=1.3.0&Service=WMS&v=1&CRS=EPSG:4326&bbox={south},{west},{north},{east}&height={height}&width={width}&optimizedOnly={optimizedOnly}&layers="+A.layerName+"&Styles=&Format=image/"+this._format,this._allElevationLayers=null,this._tilingScheme=new ph,this._levelZeroMaximumGeometricError=_m.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,A.heightMapWidth*4,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._workerPool=new Ret({workerPath:Q_i()}),this._pendingRequests=0,this._requestGridSize=8,this._requestsCache={},this._requestsCacheKeys=[],this.errorEvent.addEventListener(function(E){},this)}Dc._geometricErrorFactor=2;Object.defineProperties(Dc.prototype,{errorEvent:{get:function(){return this._errorEvent}},availability:{get:function(){return this._availability}},credit:{get:function(){return this._credit}},hasVertexNormals:{get:function(){return!1}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},hasWaterMask:{get:function(){return!1}},heightMapHeight:{get:function(){return this._options.heightMapHeight}},heightMapWidth:{get:function(){return this._options.heightMapWidth}},pendingRequests:{get:function(){return this._pendingRequests}}});Dc.prototype.setFormatMPT=function(o){if(!(o&&this.pngOnly)){var A=this._format;this._format=o?"mpt":"png",A!==this._format&&(this._isMPT=o,this._urlTemplate!==void 0&&(this._urlTemplate=this._urlTemplate.replace("image/"+A,"image/"+this._format)))}};Dc.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)*Dc._geometricErrorFactor};Dc.prototype.createKeyFromTile=function(o,A,f){return o+"_"+A+"_"+f};Dc.prototype.getTileDataAvailable=function(o,A,f){var m=Math.min(this._maxTerrainLevel,25);return this._isMPT?!0:f<m};Dc.prototype.requestFactorForLevel=function(o){var A=Math.log(this._requestGridSize)/Math.log(2);return A=Math.min(A,o),Math.pow(2,A)};Dc.prototype.getRequestBaseTerrainUrl=function(o,A,f,m){return this.getRequestUrl(o,A,f,m)};Dc.prototype.getRequestElevationLayer=function(o,A,f){return this.getRequestUrl(o,A,f,!1,!0)};Dc.prototype.getRequestUrl=function(x,y,v,m,C){var E=v,I=m!=null?this.requestFactorForLevel(v):1,x=m!=null?(x-x%I)/I:x,y=m!=null?(y-y%I)/I:y,v=m!=null?v-Math.log(I)/Math.log(2):v;if(this.isCache&&v!==0&&v<=this.cacheLevel)return this._cacheUrl.replace("{x}",x).replace("{y}",y).replace("{z}",v);var w=this.tilingScheme.tileXYToNativeRectangle(x,y,v),Q=this.heightMapWidth*I===256&&m?1:0;C&&(Q=0);var M=this._urlTemplate.replace("{south}",w.south).replace("{north}",w.north).replace("{west}",w.west).replace("{east}",w.east).replace("{optimizedOnly}",Q).replace("{width}",this.heightMapWidth*I).replace("{height}",this.heightMapHeight*I).replace("{s}",this.sTag(x,y,v));return M+"&level="+v+"&origLevel="+E};Dc.prototype.isT_Inside_E=function(o,A){return o.west>=A.west*De.DEGREES_PER_RADIAN&&o.east<=A.east*De.DEGREES_PER_RADIAN&&o.south>=A.south*De.DEGREES_PER_RADIAN&&o.north<=A.north*De.DEGREES_PER_RADIAN};Dc.prototype.isT_Intersects_E=function(o,A){var f=o.west*De.RADIANS_PER_DEGREE,m=o.east*De.RADIANS_PER_DEGREE,C=o.south*De.RADIANS_PER_DEGREE,E=o.north*De.RADIANS_PER_DEGREE,I=new hi(f,C,m,E),x=hi.intersection(I,A,new hi);return x};Dc.prototype.sTag=function(o,A,f){if(this._subdomains==null)return"";var m=(o+A+f)%this._subdomains.length;return this._subdomains[m]};Dc.prototype.refreshElevationLayer=function(o){if(o.rectangle&&FP.scene.globe._surface._levelZeroTiles!==void 0){var A=this.findDirectParent(o.rectangle,!0);A.freeResources()}};Dc.prototype.findDirectParent=function(o,A){var f=function(E,I,x){var y=x?4.1:2.1;if(E._rectangle.width<=I.width*y&&hi.contains(E._rectangle,hi.center(I)))return E;for(var v=E.children.length,w=0;w<v;w++){var Q=E.children[w];if(hi.contains(Q._rectangle,hi.center(I)))return f(Q,I,x)}return null};if(o.width==Math.PI)return null;for(var m=0;m<FP.scene.globe._surface._levelZeroTiles.length;m++){var C=f(FP.scene.globe._surface._levelZeroTiles[m],o,A);if(C)return C}return null};Dc.prototype.isTileAvailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new hi),C=this.findDirectParent(m);if(C&&C.data&&C.data.terrainData){if(!(C.data.terrainData._childTileMask>0))return!1;for(var E=C.children.length,I=0;I<E;I++){var x=C.children[I];if(hi.equals(x._rectangle,m))return C.data.terrainData._childTileMask&1<<I}}return!0};Dc.prototype.markTileAsUnavailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new hi),C=this.findDirectParent(m);C&&C.data&&C.data.terrainData&&C.data.terrainData._childTileMask>0&&$.each(C.children,function(E,I){if(hi.equals(I._rectangle,m)){switch(E){case 0:C.data.terrainData._childTileMask&=-5;break;case 1:C.data.terrainData._childTileMask&=-9;break;case 2:C.data.terrainData._childTileMask&=-2;break;case 3:C.data.terrainData._childTileMask&=-3;break;default:}return!1}return!0})};Dc.prototype.requestBaseTerrainTileGeometry=function(o,A,f,m){return this.requestTileGeometryBuffers(o,A,f,m)};Dc.prototype.requestElevationLayerTileGeometry=function(o,A,f,m,C){return this.requestTileGeometryBuffers(o,A,f,m,C)};Dc.prototype.requestTileGeometryBuffers=function(o,A,f,m,C){var E=this,I=15,x={};x.requestedRectangle=this.tilingScheme.tileXYToNativeRectangle(o,A,f),x.layer=C;var M,y,v,w,Q=Nu(),M=this.requestTileHeightBuffer(o,A,f,m,void 0,C);return M===void 0?void 0:(y=this.requestTileHeightBuffer(o+1,A,f,m,!0,C),v=this.requestTileHeightBuffer(o,A+1,f,m,!0,C),w=this.requestTileHeightBuffer(o+1,A+1,f,m,!0,C),Promise.all([M,y,v,w]).then(function(B){if(Let==0){if(B[0].myReject!=null&&B[0].myReject){Q.reject();return}for(var D=E.heightMapWidth+1,S=E.heightMapHeight+1,P=new Float32Array(D*S),R=B[0].isFloor,T=0;T<D;T++)for(var L=0;L<S;L++){var F=T,U=L,N=0;L===D-1&&(U=0,N=1,R&&(N=0,U=D-2)),T===S-1&&(F=0,N=2);var H=T*D+L,J=F*E.heightMapWidth+U;B[N]!==null&&(B[N].myReject==null||!B[N].myReject)&&(P[H]=B[N][J])}(B[3].myReject==null||!B[3].myReject)&&(P[D*S-1]=B[3][0]);var K=E.arrayToHeightmapTerrainData(P,D,S,I);x.buffer=K,Q.resolve(x)}else{var K=E.arrayToHeightmapTerrainData(B[0],E.heightMapWidth,E.heightMapHeight);x.buffer=K,Q.resolve(x)}}).catch(function(){Q.reject()}),Q.promise)};Dc.prototype.requestTileGeometry=function(o,A,f,m){var C=this,E=[],I=C.tilingScheme.tileXYToNativeRectangle(o,A,f);this._allElevationLayers!=null&&this._allElevationLayers.length>0&&f>7?$(this._allElevationLayers).each(function(y,v){var w=v.show;if(w){var Q=v.rectangle;C.isT_Inside_E(I,Q)?(C.setFormatMPT(!1),E.push(C.requestElevationLayerTileGeometry(o,A,f,m,v))):C.isT_Intersects_E(I,Q)!=null?(C.setFormatMPT(!1),E.push(C.requestElevationLayerTileGeometry(o,A,f,m,v)),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m))):(C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m)))}else C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m))}):(C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m)));var x=Nu();return Promise.all(E).then(function(y){if(y.length===1)y.layer!==void 0&&console.log("missing scale and offset"),x.resolve(y[0].buffer);else if(y.length>1){var v=$.grep(y,function(D){return D.layer!==void 0}),w=$.grep(y,function(D){return D.layer===void 0});if(v.length===0)x.resolve(y[0].buffer);else{var Q=v[v.length-1],M=w[w.length-1],B={tolerance:Q.layer.nullTolerance,nullValueNumber:Q.layer.nullValueNumber,verticesX:Q.layer.polygonVerticesX,verticesY:Q.layer.polygonVerticesY,scale:ae(Q.layer.scale,1),offset:ae(Q.layer.offset,0)};x.resolve(C.mergeBuffers(M.buffer,Q.buffer,B,M.requestedRectangle))}}else x.reject()}).catch(function(){x.reject()}),x.promise};Dc.prototype.mergeBuffers=function(o,A,f,m){var C,E,I,x,y,v=33,w=33,Q=m.west,M=m.north,B=m.east,D=m.south,S=m.width/v,P=m.height/w,R=f.scale,T=f.offset,L=f.nullValueNumber,F=f.tolerance,U=L!==void 0&&F!==void 0;if(U)var N=ae(f.nullValueNumber,0),H=ae(Number(f.tolerance),0);var J=new Float32Array(v*w);for(C=0,y=M;C<w;C++,y+=P)for(E=0,x=Q;E<v;E++,x+=S)I=C*v+E,U?J[I]=!A._buffer[I]||A._buffer[I]>=N-H&&A._buffer[I]<=N+H?o._buffer[I]:A._buffer[I]*R+T:J[I]=A._buffer[I]?A._buffer[I]*R+T:o._buffer[I];return this.arrayToHeightmapTerrainData(J,v,w,15)};Dc.prototype.requestTileHeightBuffer=function(o,A,f,m,C,E){var I=this;if(!isNaN(o+A+f)){(!k(m)||m===!1)&&(m=new g0({defer:!0}));var x=m.defer==0;C=ae(x,!1);var y=Nu();if(Let==0){var v;if(E!==void 0)E.getUrlFromSTag=function(ee,ie,z){return E.subdomains===void 0?E.url:E.subdomains[0]+"/SG"},v=this.getRequestElevationLayer(o,A,f).replace(this._options.url,E.getUrlFromSTag(o,A,f)+"/Elevation").replace(this._options.layerName,E.name),E.format==="mpt"&&(v=v.replace("image/png","image/mpt"));else{v=this.getRequestBaseTerrainUrl(o,A,f,x||C);var w=FP.terrainProvider.tilingScheme.tileXYToRectangle(o,A,f),Q=FP.terrainProvider._modifyTerrainObjects,M=Nu();if(Q!==void 0){var B=[];if(Q.forEach(function(ee){ee.show&&hi.intersection(w,ee.rectangle,new hi)!=null&&B.push(ee)}),B.length>0)if(B.length===1&&B[0].modelFloorBestLevel&&f>B[0].modelFloorBestLevel)M.resolve("NoMerge");else{var D=M_i(B,w,f);Promise.resolve(D).then(function(ee){M.resolve(ee)}).catch(function(ee){console.log(ee)})}else M.resolve("NoMerge")}else M.resolve("NoMerge");var S=Nu(),P=$.grep([],function(ee){return ee._selectedTiles.length>0});if(P.length===1&&P[0].level&&f>P[0].level)S.resolve("NoFloor");else{var R=!1,T=32,L=65535;P.forEach(function(ee){if(ee.ready&&ee.show&&ee.rootFloorRectangle!==void 0&&hi.intersection(w,ee.rootFloorRectangle)!==void 0){for(var ie=new Uint16Array(T*T),z=w.west,oe=w.south,le=(w.east-w.west)/32,Ae=(w.north-w.south)/32,he,ge=0;ge<T;ge++)for(var de=0;de<T;de++){var fe=z+le*de+le/2,G=w.north-Ae*ge-Ae/2,Y=new Lt(fe,G);he=L;var W=ee.getHRMTFP(ee,Y,!0);W!=null&&W.content&&W.content._model&&W.content._model.floor&&(he=W.content._model.floor.getHeight(Y.longitude,Y.latitude)),he!==L&&(he+=1.5),ie[ge*T+de]=he}R=!0,S.resolve(ie)}}),R||S.resolve("NoFloor")}var F=FP.scene.globe.ellipsoid}if(this._requestsCache.hasOwnProperty(v)===!1){if(this._requestsCache[v]={},this._requestsCacheKeys.push(v),this._requestsCacheKeys.length>100){for(var U=0;U<50;U++)delete this._requestsCache[this._requestsCacheKeys[U]];this._requestsCacheKeys.splice(0,50)}}else{var N=this._requestsCacheKeys.indexOf(v);this._requestsCacheKeys.splice(N,1),this._requestsCacheKeys.push(v)}var H=this._requestsCache[v];if(H.dataLoaded===void 0&&(x?H.dataLoaded=fr.fetchArrayBuffer(v):H.dataLoaded=fr.fetchArrayBuffer(v),!k(H.dataLoaded)))return;var J=this;this._pendingRequests++,Promise.resolve(H.dataLoaded).then(function(ee){H.workerFinished===void 0&&(H.workerFinished=J._workerPool.queueWorkItem({buffer:ee,isElevation:E!==void 0,level:f})),Promise.all([H.workerFinished,M.promise,S.promise]).then(function(ie){var z=ie[1]!==void 0&&ie[1]!=="NoMerge",oe=ie[2]!==void 0&&ie[2]!=="NoFloor";if(ie[0].rejected){for(var le=J.heightMapWidth*J.heightMapHeight,Ae=new Int16Array(le),he=0,ge=0;ge<le;ge++)Ae[ge]=300;return f>2&&(Ae.myReject=!0),y.resolve(Ae),y.promise}var de=J.extractTileHeightBuffer(ie[0].buffer,o,A,f);if(J._pendingRequests--,z)for(var ge=0;ge<32;ge++)for(var fe=0;fe<32;fe++){var G=ge*32+fe;de[G]=ie[1].mtHeight[0]}if(oe){for(var ge=0;ge<32;ge++)for(var fe=0;fe<32;fe++){var G=ge*32+fe;de[G]=ie[2][G]===65535||ie[2][G]>10500?de[G]:ie[2][G]}de.isFloor=!0}y.resolve(de)}).catch(function(){for(var ie=J.heightMapWidth*J.heightMapHeight,z=new Int16Array(ie),oe=0,le=0;le<ie;le++)z[le]=300;return f>2&&(z.myReject=!0),y.resolve(z),y.promise})}).catch(function(){J._pendingRequests--,y.reject()})}else{for(var K=this.heightMapWidth*this.heightMapHeight,X=new Int16Array(K),j=D_i(0,1500),U=0;U<K;U++)X[U]=j;y.resolve(X)}return y.promise}};Dc.prototype.extractTileHeightBuffer=function(o,A,f,m){try{for(var C=this.requestFactorForLevel(m),E=A%C,I=f%C,x=new Float32Array(this.heightMapWidth*this.heightMapHeight),y=1e6,v=-1e5,w=0;w<this.heightMapHeight;w++)for(var Q=0;Q<this.heightMapWidth;Q++){var M=w+I*this.heightMapHeight,B=Q+E*this.heightMapWidth,D=w*this.heightMapWidth+Q,S=M*this.heightMapWidth*C+B;o[S]>v&&(v=o[S]),o[S]<y&&(y=o[S]),x[D]=o[S]}}catch(P){console.log(P.message)}return x};Dc.prototype.arrayToHeightmapTerrainData=function(o,A,f,m){k(o)===!1&&(o=new Int16Array(A*f));var C={buffer:o,width:A,height:f,childTileMask:m};return new DB(C)};var Fet=Dc;var Ire=class extends xg{constructor(A,f){super(A),this._primitive=null,this._parameter=f}addToMap(){let A=this._parameter,f=null,m=ae(A.sourceType,"ctb");m==="ude"||(m==="ctb"?f=new GF(A):m==="multi"?f=new U$(this._earthCtrl):m==="sgs"&&(f=new Fet(this._earthCtrl.coreMap,A))),f!==null&&(this._primitive=f,this._coreMap.terrainProvider=f)}removeFromMap(){this._primitive!==null&&(this._coreMap.terrainProvider=new pD)}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([this._primitive.readyPromise]).then(function(C){let E=hs.export(A);console.log("terraobj",E),f(E)})})}};Object.defineProperties(Ire.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},sourceType:{get:function(){return this._parameter!==null?this._parameter.sourceType:!1}},dataUrl:{get:function(){return this._parameter!==null?this._parameter.url:!1}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var F1e=Ire;var xre=class extends xg{constructor(A,f){super(A),this._parameter=f}addToMap(){let A=this._parameter,f=null;A.sourceType==="b3dm"||A.sourceType==="3DTiles"?(f=new B0(A),k(A.transform)&&this.transform(A.transform,f)):A.sourceType==="osgb"?f=new B0(A):A.sourceType==="s3m"?f=new Vte(A):(A.sourceType==="ude_block"||A.sourceType==="ude_model")&&(A.skipLevelOfDetail=!0,f=new B0(A)),this._primitive=this._coreMap.scene.primitives.add(f)}removeFromMap(){this._primitive!==null&&this._coreMap.scene.primitives.remove(this._primitive)}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([A._primitive.readyPromise]).then(function(C){let E=hs.export(A);console.log("modellayerobj",E),f(E)})})}transform(A,f){f.readyPromise.then(function(m){let C=Nt.fromRotationX(De.toRadians(A.pitch)),E=Nt.fromRotationY(De.toRadians(A.roll)),I=Nt.fromRotationZ(De.toRadians(A.heading)),x=Re.fromRotationTranslation(C),y=Re.fromRotationTranslation(E),v=Re.fromRotationTranslation(I),w=Z.fromDegrees(A.lon,A.lat,A.alt),Q=Vr.eastNorthUpToFixedFrame(w);Re.multiply(Q,x,Q),Re.multiply(Q,y,Q),Re.multiply(Q,v,Q),m._root.transform=Q})}};Object.defineProperties(xre.prototype,{parameter:{get:function(){return this._parameter}},readyPromise:{get:function(){return this._primitive.readyPromise}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},sourceType:{get:function(){return this._parameter!==null?this._parameter.sourceType:!1}},dataUrl:{get:function(){return this._parameter!==null?this._parameter.url:!1}},boundingSphere:{get:function(){return this._primitive!==null&&this._primitive.boundingSphere?this._primitive.boundingSphere:null}},modelMatrix:{get:function(){return this._primitive!==null?this._primitive.modelMatrix:!1},set:function(o){this._primitive!==null&&(this._primitive.modelMatrix=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var N1e=xre;var yre=class extends xg{constructor(A,f){super(A),this._rtti="FeatureLayer",this._primitive=null,this._parameter=f}finalize(){}addToMap(){let A=this._parameter;this._primitive=new S$(this._earthCtrl,A)}removeFromMap(){this._primitive!==null&&this._primitive.destory()}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([A._primitive]).then(function(C){let E=hs.export(A);console.log("fireObj",E),f(E)})})}};Object.defineProperties(yre.prototype,{entities:{get:function(){return this._primitive.entities}},dataSource:{get:function(){return this._primitive.dataSource}},parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},sourceType:{get:function(){return this._parameter!==null?this._parameter.sourceType:!1}},dataUrl:{get:function(){return this._parameter!==null?this._parameter.url:!1}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var k1e=yre;function vre(o){this._earthCtrl=o,this._path="",this._layerWork=null}Object.defineProperties(vre.prototype,{});vre.prototype.addToMap=function(o){k(this._layerWork)?this._layerWork.updateOverlay(o):this._layerWork=new qee(this._earthCtrl.coreMap,o)};vre.prototype.removeFromMap=function(){this._layerWork.dispose()};var U1e=vre;var T_i={IMAGERYPROVIDERS:"imageryProviders",TERRAINPROVIDERS:"terrainProviders",MODELLAYERS:"modelLayers",FEATURELAYERS:"featureLayers",USERSCENE:"userScene"},ds=Object.freeze(T_i);var _re=class extends xg{constructor(A,f){super(A),this._parameter=f,this._parameter.type=ae(f.type,"water"),this._parameter.version=ae(f.version,"1.3.0"),this._parameter.baseWaterColor=ae(f.color,qe.fromCssColorString("#0374ff")),this._parameter.waterFrequency=ae(f.waterFrequency,3e3),this._parameter.animationSpeed=ae(f.animationSpeed,.01),this._parameter.amplitude=ae(f.amplitude,5e3)}addToMap(){let A=this._parameter;this._primitive=new XO(this._earthCtrl,A),this._primitive&&(this._parameter.color=this._primitive.baseWaterColor,this._parameter.params=this._primitive._params)}removeFromMap(){this._primitive!==null&&this._primitive.destory()}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([A._primitive]).then(function(C){let E=hs.export(A);console.log("waterObj",E),f(E)})})}};Object.defineProperties(_re.prototype,{type:{get:function(){return this._primitive.type}},version:{get:function(){return this._primitive._version}},params:{get:function(){return this._primitive._params},set:function(o){this._primitive!==null&&(this._primitive._params=o)}},show:{get:function(){return this._parameter!==null?this._parameter.show:!1},set:function(o){if(this._primitive!==null&&this._primitive._primitive&&this._primitive._primitive.length!==0){for(let A=0;A<this._primitive._primitive.length;A++)this._primitive._primitive[A].show=o;this._parameter.show=o}}},url:{get:function(){return this._primitive!==null?this._primitive.url:!1},set:function(o){this._primitive!==null&&(this._primitive.url=o)}},color:{get:function(){return this._primitive!==null?this._primitive.baseWaterColor:!1},set:function(o){this._primitive!==null&&(this._primitive.baseWaterColor=o)}},waterFrequency:{get:function(){return this._primitive!==null?this._primitive.waterFrequency:!1},set:function(o){this._primitive!==null&&(this._primitive.waterFrequency=o)}},animationSpeed:{get:function(){return this._primitive!==null?this._primitive.animationSpeed:!1},set:function(o){this._primitive!==null&&(this._primitive.animationSpeed=o)}},amplitude:{get:function(){return this._primitive!==null?this._primitive.amplitude:!1},set:function(o){this._primitive!==null&&(this._primitive.amplitude=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var O1e=_re;var G1e=class extends xg{constructor(A,f){super(A),this._parameter=f,this._viewer=A.coreMap,this._cesium=er}addToMap(){let A=this._parameter,f,m;ae(A.div)?(f=document.getElementById(A.div),m=A.div):(f=document.createElement("div"),f.id="Hawkeye",f.style.position="absolute",f.style.width="15%",f.style.height="20%",f.style.bottom="20px",f.style.right="0",f.style.pointerEvents="none",this._viewer.container.appendChild(f),m="Hawkeye"),A.style&&(A.style.width&&(f.style.width=A.style.width),A.style.height&&(f.style.height=A.style.height),A.style.bottom&&(f.style.bottom=A.style.bottom),A.style.right&&(f.style.right=A.style.right),A.style.top&&(f.style.top=A.style.top,f.style.bottom="unset"),A.style.left&&(f.style.left=A.style.left,f.style.right="unset"));let C;A.url?C=new this._cesium.SingleTileImageryProvider({url:A.url}):A.imageryProvider?C=A.imageryProvider:C=new MB({url:"http://103.25.37.71:4020/gisserver/tmsserver/earth_tms"});let E=new MY(m,{imageryProvider:C,baseLayerPicker:!1,shadows:!1,shouldAnimate:!0,animation:!0,scene3DOnly:!0,fullscreenButton:!1,geocoder:!1,homeButton:!1,infoBox:!1,selectionIndicator:!1,timeline:!1,navigationHelpButton:!1,contextOptions:{requestWebgl2:!0,licenseServer:window.licenseServer}});E._innerCreditContainer.style.display="none",E.scene.screenSpaceCameraController.enableRotate=!1,E.scene.screenSpaceCameraController.enableZoom=!1,E.scene.screenSpaceCameraController.enableTilt=!1;let I=this;function x(){let y=I._viewer.camera.position,v=Lt.fromCartesian(y);E.camera.setView({destination:Lt.toCartesian(v),orientation:{heading:I._viewer.camera.heading,pitch:I._viewer.camera.pitch,roll:I._viewer.camera.roll}})}return I._viewer.scene.preRender.addEventListener(x),this.close=function(){I._viewer.scene.preRender.removeEventListener(x),E.destroy(),f.remove(),I.close=void 0},this}removeFromMap(){this.close&&this.close()}},H1e=G1e;var Net=new kt;function P_i(o,A,f){let m=o.length,C,E,I;if(f){C=Jr.LUMINANCE,E=Gr.FLOAT,I=new Float32Array(m);for(let x=0;x<m;x++)I[x]=o[x]}else{C=Jr.RGBA,E=Gr.UNSIGNED_BYTE,I=new Uint8Array(m*4);for(let x=0;x<m;x++)kt.packFloat(o[x],Net),kt.pack(Net,I,x*4)}return new Rn.create({context:A,pixelFormat:C,pixelDatatype:E,source:{width:m,height:1,arrayBufferView:I},flipY:!1,sampler:new Ra({wrapS:oa.CLAMP_TO_EDGE,wrapT:oa.CLAMP_TO_EDGE,minificationFilter:ya.NEAREST,magnificationFilter:mu.NEAREST})})}var Bre=[];function R_i(o,A,f,m){Re.toArray(Re.IDENTITY,Bre);let C=new fa({fabric:{type:"spotMaterial",source:` # define Spot_Texture_Width ${A.length} ${f?"#define use_texture_float":""} float getPointComponent(int idx, float invTexSize) { vec2 uv = vec2((float(idx) + 0.5) * invTexSize, 0.5); #ifdef use_texture_float return texture(u_spotPointTexture, uv).x; #else return czm_unpackFloat(texture(u_spotPointTexture, uv)); #endif } vec3 czm_getMaterial_spot(vec3 positionEC, vec3 color) { if(u_spotPointTextureDimensions.x == 1) { return color; } vec3 diffuse = color; float constant = 1.0; float linear = 0.022; float quadratic = 0.0019; float attenuation = 0.0; vec3 sumSpotColor = vec3(0.0); float invTexSize = 1.0 / float(u_spotPointTextureDimensions.x); for(int idx = 0; idx <Spot_Texture_Width; idx += 12){ float x = getPointComponent(idx, invTexSize); float y = getPointComponent(idx + 1, invTexSize); float z = getPointComponent(idx + 2, invTexSize); float dirX = getPointComponent(idx + 3, invTexSize); float dirY = getPointComponent(idx + 4, invTexSize); float dirZ = getPointComponent(idx + 5, invTexSize); float colorX = getPointComponent(idx + 6, invTexSize); float colorY = getPointComponent(idx + 7, invTexSize); float colorZ = getPointComponent(idx + 8, invTexSize); float distanceLimit = getPointComponent(idx + 9, invTexSize); float cutOff = getPointComponent(idx + 10, invTexSize); float outerCutOff = getPointComponent(idx + 11, invTexSize); vec4 spotPosition = u_spotmodelViewMatrix * vec4(x, y, z, 1.0); mat3 spotmodelViewMatrix = mat3(u_spotmodelViewMatrix[0].xyz,u_spotmodelViewMatrix[1].xyz,u_spotmodelViewMatrix[2].xyz); vec3 spotDirection = spotmodelViewMatrix * vec3(dirX, dirY, dirZ); vec3 spotDirectionNormal = normalize(spotDirection); vec3 viewLight = vec3(positionEC - spotPosition.xyz); float lightDistance = dot(viewLight, spotDirectionNormal); float distanceFactor = lightDistance > distanceLimit ? 0.0: 1.0; vec3 vl = normalize(positionEC - spotPosition.xyz); float theta = dot(spotDirection, vl); float epsilon = cutOff - outerCutOff; float factor = clamp((theta - outerCutOff) / epsilon, 0.0, 1.0); sumSpotColor += vec3(colorX * factor * distanceFactor, colorY * factor * distanceFactor, colorZ * factor * distanceFactor); //float distance = length(positionEC - spotPosition.xyz); //attenuation += 1.0 / (constant + distance * linear + distance * distance * quadratic); } attenuation = 1.0; diffuse = diffuse * sumSpotColor * attenuation; color = color * u_backgroundBrightness + diffuse; return color; }`,uniforms:{u_spotmodelViewMatrix:Bre,u_spotPointTexture:"123",u_backgroundBrightness:m}},translucent:!1});return C._textures.u_spotPointTexture=o,C.uniforms.u_spotPointTextureDimensions.x=A.length,C.uniforms.u_spotPointTextureDimensions.y=1,C}var L_i=new Re;function ket(o,A,f,m,C){return new pB({lightingModel:C,uniforms:{u_spotPointTextureDimensions:{type:Yo.INT_VEC2,value:new tt(A.length,1)},u_spotPointTexture:{type:Yo.SAMPLER_2D,value:o},u_spotmodelViewMatrix:{type:Yo.MAT4,value:L_i},u_backgroundBrightness:{type:Yo.FLOAT,value:m}},fragmentShaderText:` #define Spot_Texture_Width ${A.length} ${f?"#define use_texture_float":""} float getPointComponent(int idx, float invTexSize) { vec2 uv = vec2((float(idx) + 0.5) * invTexSize, 0.5); #ifdef use_texture_float return texture(u_spotPointTexture, uv).x; #else return czm_unpackFloat(texture(u_spotPointTexture, uv)); #endif } void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { if(u_spotPointTextureDimensions.x == 1) { material.diffuse *= 1.0; } vec3 diffuse = material.diffuse; vec3 positionEC = fsInput.attributes.positionEC.xyz; float constant = 1.0; float linear = 0.022; float quadratic = 0.0019; float attenuation = 0.0; vec3 sumSpotColor = vec3(0.0); float invTexSize = 1.0 / float(u_spotPointTextureDimensions.x); for(int idx = 0; idx <Spot_Texture_Width; idx += 12){ float x = getPointComponent(idx, invTexSize); float y = getPointComponent(idx + 1, invTexSize); float z = getPointComponent(idx + 2, invTexSize); float dirX = getPointComponent(idx + 3, invTexSize); float dirY = getPointComponent(idx + 4, invTexSize); float dirZ = getPointComponent(idx + 5, invTexSize); float colorX = getPointComponent(idx + 6, invTexSize); float colorY = getPointComponent(idx + 7, invTexSize); float colorZ = getPointComponent(idx + 8, invTexSize); float distanceLimit = getPointComponent(idx + 9, invTexSize); float cutOff = getPointComponent(idx + 10, invTexSize); float outerCutOff = getPointComponent(idx + 11, invTexSize); vec4 spotPosition = u_spotmodelViewMatrix * vec4(x, y, z, 1.0); mat3 spotmodelViewMatrix = mat3(u_spotmodelViewMatrix[0].xyz,u_spotmodelViewMatrix[1].xyz,u_spotmodelViewMatrix[2].xyz); vec3 spotDirection = spotmodelViewMatrix * vec3(dirX, dirY, dirZ); vec3 spotDirectionNormal = normalize(spotDirection); vec3 viewLight = vec3(positionEC - spotPosition.xyz); float lightDistance = dot(viewLight, spotDirectionNormal); float distanceFactor = lightDistance > distanceLimit ? 0.0: 1.0; vec3 vl = normalize(positionEC - spotPosition.xyz); float theta = dot(spotDirection, vl); float epsilon = cutOff - outerCutOff; float factor = clamp((theta - outerCutOff) / epsilon, 0.0, 1.0); sumSpotColor += vec3(colorX * factor * distanceFactor, colorY * factor * distanceFactor, colorZ * factor * distanceFactor); //float distance = length(positionEC - spotPosition.xyz); //attenuation += 1.0 / (constant + distance * linear + distance * distance * quadratic); } attenuation = 1.0; diffuse = diffuse * sumSpotColor * attenuation; material.diffuse = material.diffuse * u_backgroundBrightness + diffuse; }`})}function F_i(o,A,f,m,C,E,I){let x=R_i(A,f,E,I);o.spotMaterial=x,m.preUpdate.addEventListener(function(){let y=m.camera.viewMatrix,v=new Re;Re.multiply(y,C,v),Re.toArray(v,Bre),x&&(x.uniforms.u_spotmodelViewMatrix=Bre)})}function N_i(o,A,f,m,C,E,I,x){let y=ket(A,f,E,I,x);o.customShader=y,m.preUpdate.addEventListener(function(){let v=m.camera.viewMatrix,w=new Re;Re.multiply(v,C,w),y.setUniform("u_spotmodelViewMatrix",w)})}function k_i(o,A,f,m,C,E,I){let x=ket(A,f,E,I);o.customShader=x,m.preUpdate.addEventListener(function(){let y=m.camera.viewMatrix,v=new Re;Re.multiply(y,C,v),x.setUniform("u_spotmodelViewMatrix",v)})}function CJ(o,A={},f=[]){!k(o)||(this._viewer=o,this._texture=void 0,!(!k(A)&&!(k(A.globe)&&k(A.tileset)&&k(A.gltf)))&&this.initialize(o,A,f))}CJ.prototype.reSet=function(o={},A=[]){this._texture&&(this._texture.destroy(),this._texture=void 0),this.initialize(this._viewer,o,A)};CJ.prototype.destroy=function(o){!k(o)&&!(k(o.globe)&&k(o.tileset)&&k(o.gltf))||(k(o.globe)&&o.globe.spotMaterial&&(o.globe.spotMaterial=void 0),k(o.tileset)&&o.tileset.customShader&&(o.tileset.customShader=null),k(o.gltf)&&o.gltf.customShader&&(o.gltf.customShader=null),this._texture&&(this._texture.destroy(),this._texture=void 0))};CJ.prototype.removeFromMap=function(o){this.destroy(o)};CJ.prototype.initialize=function(o,A,f){if(!k(A)&&!(k(A.globe)&&k(A.tileset)&&k(A.gltf)))return;let m=ae(A.globeBrightness,.2),C=ae(A.gltfBrightness,.2),E=ae(A.tilesetBrightness,.2),I=ae(A.gltfLightModel,oI.PBR),x=ae(A.tilesetLightModel,oI.PBR);if(!Array.isArray(f)||f.length===0)return;let y=o.scene,v=Vr.eastNorthUpToFixedFrame(f[0].position),w=new Re;Re.inverseTransformation(v,w);let Q=[],M=new Z;for(let S=0;S<f.length;S++){let P=f[S];Re.multiplyByPoint(w,P.position,M),Q.push(M.x,M.y,M.z),Q.push(P.direction.x,P.direction.y,P.direction.z),Q.push(P.spotColor.red,P.spotColor.green,P.spotColor.blue),Q.push(P.distance,Math.cos(P.cutOff/180*3.1415),Math.cos(P.outerCutOff/180*3.1415))}let B=!1,D=P_i(Q,y.context,B);this._texture=D,A.globe&&F_i(A.globe,D,Q,y,v,B,m),A.tileset&&N_i(A.tileset,D,Q,y,v,B,E,x),A.gltf&&k_i(A.gltf,D,Q,y,v,B,C,I)};var V1e=CJ;function u3(o,A){Du.defined("scene",o),Du.defined("tileset",A),this._scene=o,this._tileset=A,this._customShader=void 0,this._height=0,this._maxHeight=100,this._lightingModel=!0,this._translucencyMode=!0,this._preUpdate=u3._preUpdate.bind(this),this._scene.preUpdate.addEventListener(this._preUpdate),this._initialize()}Object.defineProperties(u3.prototype,{maxHeight:{set:function(o){this._customShader&&(this._maxHeight=o,this._customShader.uniforms.u_maxHeight.value=o)}},lineColor:{set:function(o){this._customShader&&(this._customShader.uniforms.u_lineColor.value=o)}},gradientColor:{set:function(o){this._customShader&&(this._customShader.uniforms.u_gradientColor.value=o)}},alpha:{set:function(o){this._customShader&&(o===1&&this._translucencyMode&&(this._translucencyMode=!1,this._initialize()),o!==1&&!this._translucencyMode&&(this._translucencyMode=!0,this._initialize()),this._customShader.uniforms.u_alpha.value=o)}},lightingModel:{set:function(o){this._customShader&&this._lightingModel!==o&&(this._lightingModel=o,this._initialize(),this._customShader.uniforms.u_lightingModel.value=o)}}});u3.prototype._initialize=function(){let o=this._createCostomShader({lightingModel:this._lightingModel,translucencyMode:this._translucencyMode});this._customShader=o,this._tileset.customShader=o};u3._preUpdate=function(){this._height>this._maxHeight?this._height=0:this._height+=.5,this._customShader.uniforms.u_height.value=this._height,this._scene.requestRender()};u3.prototype._createCostomShader=function(o){return new pB({lightingModel:oI.UNLIT,translucencyMode:o.translucencyMode?I2.TRANSLUCENT:I2.OPAQUE,uniforms:{u_timeIndex:{type:Yo.FLOAT,value:1},u_height:{type:Yo.FLOAT,value:0},u_maxHeight:{type:Yo.FLOAT,value:100},u_lineColor:{type:Yo.VEC3,value:new Z(2,2,2)},u_gradientColor:{type:Yo.VEC3,value:new Z(0,0,1)},u_alpha:{type:Yo.FLOAT,value:.5},u_lightingModel:{type:Yo.BOOL,value:!0}},varyings:{v_nor:wm.VEC3,v_pos:wm.VEC3},vertexShaderText:` void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_nor = vsInput.attributes.normalMC; v_pos = vsInput.attributes.positionMC; } `,fragmentShaderText:` // Color tiles by distance to the camera void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { vec3 positionECF = fsInput.attributes.positionEC; vec4 direct = vec4(0.0,0.0,1.0,0.0); vec4 directF = czm_modelView * direct; vec3 directN = normalize(directF.xyz); float distance = dot(positionECF, directN); float rgb = v_pos.z/u_maxHeight; if(u_lightingModel) { material.diffuse *= u_gradientColor * rgb; } else { material.diffuse = u_gradientColor * rgb; } if((v_pos.z < u_height) && (u_height < v_pos.z + 2.0)){ material.diffuse = u_lineColor; } material.alpha = u_alpha; } `})};u3.prototype.destroy=function(){this._tileset.customShader===this._customShader&&(this._customShader=void 0,this._tileset.customShader=void 0),this._scene.preUpdate.removeEventListener(this._preUpdate)};function U_i(){this.customShaders={},this.customShaders.lightLine=u3}var Uet=U_i;function B6(o,A){this.options=ae(A,{}),this.earthCtrl=o,this.viewer=o.coreMap,this.CSME=$Z,this.Cust=new this.CSME.CustomShaderStage(this.options.primitive,A),this.stageArr=[],this.eventListener=null,this.eventListener=this.viewer.scene.preUpdate.addEventListener(()=>{this.Cust.update()}),this.create()}B6.prototype.create=function(o){let A=this,f=null;o?f=o:f=A.options,f.lineMaterialStage&&(A.LineMaterialStage=new A.CSME.LineMaterialStage(ae(f.lineMaterialStage,{weight:.5})),A.Cust.addStage(A.LineMaterialStage),A.stageArr.push(A.LineMaterialStage)),f.gradientMaterialStage&&(A.GradientMaterialStage=new A.CSME.GradientMaterialStage(ae(f.gradientMaterialStage,{weight:.5})),A.Cust.addStage(A.GradientMaterialStage),A.stageArr.push(A.GradientMaterialStage)),f.normalizeMaterialStage&&(A.NormalizeMaterialStage=new A.CSME.NormalizeMaterialStage(ae(f.normalizeMaterialStage,{weight:.5})),A.Cust.addStage(A.NormalizeMaterialStage),A.stageArr.push(A.NormalizeMaterialStage)),f.dynamicColorMaterialStage&&(A.DynamicColorMaterialStage=new A.CSME.DynamicColorMaterialStage(ae(f.dynamicColorMaterialStage,{weight:.5})),A.Cust.addStage(A.DynamicColorMaterialStage),A.stageArr.push(A.DynamicColorMaterialStage)),f.reflectMaterialStage&&(A.ReflectMaterialStage=new A.CSME.ReflectMaterialStage(ae(f.reflectMaterialStage,{weight:.5})),A.Cust.addStage(A.ReflectMaterialStage),A.stageArr.push(A.ReflectMaterialStage)),f.textureMaterialStage&&(A.TextureMaterialStage=new A.CSME.TextureMaterialStage(ae(f.textureMaterialStage,{weight:.5,url:`${globalThis.GEOWORLD_BASE_URL}Assets/Textures/window.png`})),A.Cust.addStage(A.TextureMaterialStage),A.stageArr.push(A.TextureMaterialStage))};B6.prototype.addStage=function(o){let A=this;A.Cust.addStage(o),A.stageArr.push(o)};B6.prototype.removeStage=function(o){this.Cust.removeStage(o.name)};B6.prototype.update=function(){let o=this;o.viewer.scene.preUpdate.removeEventListener(o.eventListener),o.eventListener=o.viewer.scene.preUpdate.addEventListener(()=>{o.Cust.update()})};B6.prototype.removeFromMap=function(){let o=this;for(let A=0;A<o.stageArr.length;A++)o.removeStage(o.stageArr[A]);o.viewer.scene.preUpdate.removeEventListener(o.eventListener),o.eventListener=null};var Oet=B6;function wre(o,A={}){this._earthCtrl=o,this._edgeStage=null,this._options=A,this._options.visibleEdgeColor=ae(A.visibleEdgeColor,qe.fromCssColorString("#101010")),this._options.outlineWidth=ae(A.outlineWidth,1),this._options.thresholdAngle=ae(A.thresholdAngle,12*Math.PI/180),this.add()}wre.prototype.add=function(){this._edgeStage=j4();let o=this._edgeStage;o.visibleEdgeColor=this._options.visibleEdgeColor,o.outlineWidth=this._options.outlineWidth,o.thresholdAngle=this._options.thresholdAngle,o.selected=[{},{}],o.enabled=!0,this._earthCtrl.Viewer.postProcessStages.add(o)};wre.prototype.removeFromMap=function(){this._edgeStage&&(this._earthCtrl.Viewer.postProcessStages.remove(this._edgeStage),this.__edgeStage=null)};Object.defineProperties(wre.prototype,{show:{get:function(){return this._edgeStage.show},set:function(o){this._edgeStage.show=o}},outlineWidth:{get:function(){return this._edgeStage.outlineWidth},set:function(o){this._edgeStage.outlineWidth=o}},thresholdAngle:{get:function(){return this._edgeStage.thresholdAngle},set:function(o){!o||(this._edgeStage.thresholdAngle=o)}},visibleEdgeColor:{get:function(){return this._edgeStage.visibleEdgeColor},set:function(o){!o||(this._edgeStage.visibleEdgeColor=o)}},hiddenEdgeColor:{get:function(){return this._edgeStage.hiddenEdgeColor},set:function(o){!o||(this._edgeStage.hiddenEdgeColor=o)}},showGlow:{get:function(){return this._edgeStage.showGlow},set:function(o){this._edgeStage.showGlow=o}},edgeGlow:{get:function(){return this._edgeStage.edgeGlow},set:function(o){this._edgeStage.edgeGlow=o}},edgeStrength:{get:function(){return this._edgeStage.edgeGlow},set:function(o){this._edgeStage.edgeGlow=o}},edgeOnly:{get:function(){return this._edgeStage.edgeOnly},set:function(o){this._edgeStage.edgeOnly=o}}});var Get=wre;function bre(o,A={}){this._earthCtrl=o,this._edgeStage=null,this._options=A,this._visibleEdgeColor=ae(A.visibleEdgeColor,qe.fromCssColorString("#ff0000")),this._hiddenEdgeColor=ae(A.hiddenEdgeColor,qe.fromCssColorString("#4d4d4d")),this.handler=null,this.key=ae(A.key,"id"),this.model=ae(A.model,null),this.add()}bre.prototype.add=function(){let o=this,A="";this._edgeStage=j4(!0);let f=this._edgeStage;f.visibleEdgeColor=this._visibleEdgeColor,f.hiddenEdgeColor=this._hiddenEdgeColor,f.selected=[],f.enabled=!1,this._earthCtrl.Viewer.postProcessStages.add(f);function m(C,E){function I(y,v){let w=y.featuresLength;for(let Q=0;Q<w;++Q){let M=y.getFeature(Q);if(M.getProperty(o.key)===A){let D={pickId:M.pickId};E.selected=[D],E.enabled=!0}}}function x(y,v){let w=y.content,Q=w.innerContents;if(k(Q)){let M=Q.length;for(let B=0;B<M;++B)I(Q[B],v)}else I(w,v)}C.tileVisible.addEventListener(function(y){A!==""&&x(y,null)})}m(this.model,f),this.handler=new pr(this._earthCtrl.coreMap.scene.canvas),this.handler.setInputAction(function(C){let E=o._earthCtrl.coreMap.scene.pick(C.position);if(f.selected=[],A="",!E||!E.primitive)return;let x=E.primitive._pickIds,v={pickId:E.pickId};f.selected=[v],f.enabled=!0,A=E.getProperty(o.key)},_i.LEFT_CLICK)};bre.prototype.removeFromMap=function(){this.handler&&(this.handler.destroy(),this.handler=void 0),this._edgeStage&&this._earthCtrl.Viewer.postProcessStages.remove(this._edgeStage)};Object.defineProperties(bre.prototype,{showGlow:{get:function(){return this._edgeStage.showGlow},set:function(o){this._edgeStage.showGlow=o}},edgeGlow:{get:function(){return this._edgeStage.edgeGlow},set:function(o){this._edgeStage.edgeGlow=o}},edgeStrength:{get:function(){return this._edgeStage.edgeGlow},set:function(o){this._edgeStage.edgeGlow=o}},edgeOnly:{get:function(){return this._edgeStage.edgeOnly},set:function(o){this._edgeStage.edgeOnly=o}}});var Het=bre;var O_i=`uniform sampler2D specularMap; uniform sampler2D normalMap; uniform vec4 baseWaterColor; uniform vec4 blendColor; uniform float frequency; uniform float animationSpeed; uniform float amplitude; uniform float specularIntensity; uniform float fadeFactor; uniform vec4 sizeAndVelocity; czm_material czm_getMaterial(czm_materialInput materialInput) { float width = sizeAndVelocity.x; float height = sizeAndVelocity.y; float vx = sizeAndVelocity.z; float vy = sizeAndVelocity.w; czm_material material = czm_getDefaultMaterial(materialInput); float time = czm_frameNumber * animationSpeed; // fade is a function of the distance from the fragment and the frequency of the waves float fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor); // note: not using directional motion at this time, just set the angle to 0.0; vec2 st = materialInput.st * vec2(width, height) / 100.0 * frequency; st -= vec2(vx*time, vy*time); vec4 noise = czm_getWaterNoise(normalMap, st, time, 0.0); vec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude)); // fade out the normal perturbation as we move further from the water surface normalTangentSpace.xy /= fade; normalTangentSpace = normalize(normalTangentSpace); // get ratios for alignment of the new normal vector with a vector perpendicular to the tangent plane float tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0); // base color is a blend of the water and non-water color based on the value from the specular map // may need a uniform blend factor to better control this vec2 v = gl_FragCoord.xy / czm_viewport.zw; v.y = 1.0 - v.y; material.diffuse = texture(specularMap, v + noise.xy*0.03).rgb; // diffuse highlights are based on how perturbed the normal is material.diffuse += (0.1 * tsPerturbationRatio); material.diffuse = mix(baseWaterColor.rgb, material.diffuse, blendColor.rgb); material.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace); material.specular = specularIntensity; material.shininess = 10.0; material.alpha = baseWaterColor.a * blendColor.a; return material; }`,Vet=O_i;function zet(o){o._colorTexture&&!o._colorTexture.isDestroyed()?o._colorTexture.destroy():o._colorTexture&&(o._colorTexture.destroy=function(){console.log("destroy")},o._colorTexture=null),o._depthStencilTexture&&!o._depthStencilTexture.isDestroyed()&&(o._depthStencilTexture.destroy(),o._depthStencilTexture=null)}function Yet(o){o._framebuffer&&!o._framebuffer.isDestroyed()&&(o._framebuffer.destroy(),o._framebuffer=null)}function G_i(o,A,f,m){zet(o),Yet(o),o._colorTexture=new Rn({context:A,width:f,height:m,pixelFormat:Jr.RGBA,pixelDatatype:Gr.UNSIGNED_BYTE}),o._depthStencilTexture=new Rn({context:A,width:f,height:m,pixelFormat:Jr.DEPTH_STENCIL,pixelDatatype:Gr.UNSIGNED_INT_24_8}),o._framebuffer=new Gd({context:A,colorTextures:[o._colorTexture],depthStencilTexture:o._depthStencilTexture,destroyAttachments:null})}function EJ(o){let A=o;this._framebuffer=null,this._colorTexture=null,this._textureChangedEvent=new A.Event}EJ.prototype.getTextureChangedEvent=function(){return this._textureChangedEvent};EJ.prototype.update=function(o,A,f){var m=this._colorTexture;let C=!1;(!k(m)||m.width!==A||m.height!==f)&&(C=!0),!k(this._framebuffer)&&C&&(G_i(this,o,A,f),this._textureChangedEvent.raiseEvent(this._colorTexture))};EJ.prototype.isDestroyed=function(){return!1};EJ.prototype.destroy=function(){zet(this),Yet(this)};var Jet=EJ;var Ket,Wet,qet,jet,H_i=null,Xet,Zet;function V_i(o,A,f,m,C){let E=A._frameState;if(!k(A.debugCommandFilter)||A.debugCommandFilter(o))if(o instanceof QA)o.execute(f,m);else{E.useLogDepth&&k(o.derivedCommands.logDepth)&&(o=o.derivedCommands.logDepth.command);let I=E.passes;!I.pick&&A._hdr&&k(o.derivedCommands)&&k(o.derivedCommands.hdr)&&(o=o.derivedCommands.hdr.command),!I.pick&&!I.depth&&!A.debugShowCommands&&!A.debugShowFrustums&&o.execute(f,m)}}function z_i(o,A,f,m){let C=m;Ket=new C.PerspectiveFrustum,Wet=new C.PerspectiveOffCenterFrustum,qet=new C.OrthographicFrustum,jet=new C.OrthographicOffCenterFrustum,H_i=null,Xet=C.Cesium3DTilePassState&&new C.Cesium3DTilePassState({pass:C.Cesium3DTilePass.RENDER}),Zet=C.OctahedralProjectedCubeMap.prototype.update;let E=new C.Camera(o),I=o.context,x=o._view.passState;E=C.Camera.clone(o.camera,E);let y=E.positionCartographic,v=E.pitch,w=E.heading,Q=E.roll;E.setView({destination:C.Cartesian3.fromRadians(y.longitude,y.latitude,A+A-y.height),orientation:{heading:w,pitch:-v,roll:Q}});let M=.5*o.context.drawingBufferWidth,B=.5*o.context.drawingBufferHeight;x.viewport.x=0,x.viewport.y=0,x.viewport.width=M,x.viewport.height=B,f.update(I,M,B),x.framebuffer=f._framebuffer;let D=o._clearColorCommand;C.Color.multiplyByScalar(C.Color.DEEPSKYBLUE,.1,D.color),D.color.alpha=1,D.execute(I,x);let S=o._depthClearCommand,P=I.uniformState;P.updateCamera(E),P.seWaterHeight=A;let R;C.defined(E.frustum.fov)?R=E.frustum.clone(Ket):C.defined(E.frustum.infiniteProjectionMatrix)?R=E.frustum.clone(Wet):C.defined(E.frustum.width)?R=E.frustum.clone(qet):R=E.frustum.clone(jet),R.near=E.frustum.near,R.far=E.frustum.far,P.updateFrustum(R);let T=o._frameState;T.passes.render=!0,T.tilesetPassState=Xet,o.frameState.commandList.length=0,C.OctahedralProjectedCubeMap.prototype.update=function(){},o._primitives.update(T),C.OctahedralProjectedCubeMap.prototype.update=Zet,o._view.createPotentiallyVisibleSet(o);let L,F,U=o._view.frustumCommandsList;for(let N=0;N<U.length;N++){let H=U.length-N-1,J=U[H];H!==0?R.near=J.near*o.opaqueFrustumNearOffset:R.near=J.near,R.far=J.far,P.updateFrustum(R),S.execute(I,x),P.updatePass(C.Pass.CESIUM_3D_TILE),L=J.commands[C.Pass.CESIUM_3D_TILE],F=J.indices[C.Pass.CESIUM_3D_TILE];for(let K=0;K<F;K++)V_i(L[K],o,I,x)}x.framebuffer=0,P.seWaterHeight=-5e3}var $et=z_i;function jx(o,A){this._cesium=er,this._scene=o.Viewer.scene,this._option={baseWaterColor:A.baseWaterColor||new qe(.2,.3,.6,1),blendColor:A.blendColor||new qe(.5,.5,.5,.7),animationSpeed:A.animationSpeed||.05,amplitude:A.amplitude||2,frequency:A.frequency||5e3,specularIntensity:A.specularIntensity||.5,fadeFactor:A.fadeFactor||1,sizeAndVelocity:A.sizeAndVelocity||new kt(100,100,10,0),width:A.width||100,height:A.height||100},Z_i(this._option,this._cesium),this._wTexture=new Jet(this._cesium),this._trackedPrimitives=[];let f=this;this._disposeListener=this._scene.preRender.addEventListener(function(){let m=f._scene.camera,C=m.frustum.computeCullingVolume(m.positionWC,m.directionWC,m.upWC);if(f._trackedPrimitives.some(function(I){if(!I.show)return null;let x=I._boundingSphereWC||I._boundingVolumes,y=null;return x&&(y=x.some(function(v){return C.computeVisibility(v)!==Wo.OUTSIDE})),y})){let I=Number.MAX_VALUE,x=null;f._trackedPrimitives.forEach(function(y){if(y.show){let v=y._boundingSphereWC||y._boundingVolumes,w;if(v&&(w=v.some(function(Q){return C.computeVisibility(Q)!==Wo.OUTSIDE})),w){let Q=Z.distanceSquared(y.centerPos,m.positionWC)-y.radius;I>Q&&(I=Q,x=y)}}}),x&&$et(f._scene,x.waterHeight,f._wTexture,f._cesium)}}),console.log(window.nowView=this),this._createDebugView(),this.debugShow(!1)}function Y_i(o,A){let f=A.ModelUtility.getAttributeOrUniformBySemantic(o,"_BATCHID");return A.defined(f)||(f=A.ModelUtility.getAttributeOrUniformBySemantic(o,"BATCHID"),A.defined(f)&&A.Batched3DModel3DTileContent._deprecationWarning("b3dm-legacy-batchid","The glTF in this b3dm uses the semantic `BATCHID`. Application-specific semantics should be prefixed with an underscore: `_BATCHID`.")),f}function J_i(o,A){return function(f,m){let C=o._batchTable,E=!A.defined(o._classificationType),I=o._model.gltf;A.defined(I)&&(o._batchIdAttributeName=Y_i(I,A),o._diffuseAttributeOrUniformName[m]=A.ModelUtility.getDiffuseAttributeOrUniform(I,m)),f=A.ShaderSource.replaceMain(f,"gltf_seWater_main"),f+=`uniform mat4 u_inverseElevationMatrix; out vec3 v_elevationPos; void main() { gltf_seWater_main(); v_elevationPos = (u_inverseElevationMatrix * vec4(a_position, 1.0)).xyz; } `;let x=C.getVertexShaderCallback(E,o._batchIdAttributeName,o._diffuseAttributeOrUniformName[m]);return A.defined(x)?x(f):f}}function K_i(o,A){return function(f,m){let C=o._batchTable,E=!A.defined(o._classificationType),I=o._model.gltf;A.defined(I)&&(o._diffuseAttributeOrUniformName[m]=A.ModelUtility.getDiffuseAttributeOrUniform(I,m)),f=A.ShaderSource.replaceMain(f,"gltf_seWater_main"),f+=`in vec3 v_elevationPos; void main() { if (czm_seWaterHeight > -5000.0 && v_elevationPos.z < czm_seWaterHeight) { discard; } gltf_seWater_main(); } `;let x=C.getFragmentShaderCallback(E,o._diffuseAttributeOrUniformName[m],!1);return A.defined(x)?x(f):f}}function W_i(o,A){let f=o._batchTable;return o._batchTable.featuresLength===0?function(m){let C={u_inverseElevationMatrix:function(E){let I=o._model,x=typeof I._elevationMatrix;if(x==="undefined")return A.Matrix4.IDENTITY;if(x==="function"?I._uniformInverseElevationMatrix=I._elevationMatrix(I._uniformInverseElevationMatrix):A.Matrix4.clone(I._elevationMatrix,I._uniformInverseElevationMatrix),A.Matrix4.inverse(I._uniformInverseElevationMatrix,I._uniformInverseElevationMatrix),I._rtcCenter){let y=new A.Matrix4,v=A.Matrix4.fromTranslation(I._rtcCenter,y);A.Matrix4.multiply(I._uniformInverseElevationMatrix,v,I._uniformInverseElevationMatrix)}return I._uniformInverseElevationModelMatrix||(I._uniformInverseElevationModelMatrix=new A.Matrix4),E&&E.model?(I._uniformInverseElevationModelMatrix=A.Matrix4.multiply(I._uniformInverseElevationMatrix,E.model,I._uniformInverseElevationModelMatrix),I._uniformInverseElevationModelMatrix):A.Matrix4.IDENTITY}};return A.combine(m,C)}:function(m){let C={tile_batchTexture:function(){return defaultValue(f._batchTexture.batchTexture,f._batchTexture.defaultTexture)},tile_textureDimensions:function(){return f._batchTexture.textureDimensions},tile_textureStep:function(){return f._batchTexture.textureStep},tile_colorBlend:function(){return getColorBlend(f)},tile_pickTexture:function(){return f._batchTexture.pickTexture},u_inverseElevationMatrix:function(E){let I=o._model,x=typeof I._elevationMatrix;if(x==="undefined")return A.Matrix4.IDENTITY;if(x==="function"?I._uniformInverseElevationMatrix=I._elevationMatrix(I._uniformInverseElevationMatrix):A.Matrix4.clone(I._elevationMatrix,I._uniformInverseElevationMatrix),A.Matrix4.inverse(I._uniformInverseElevationMatrix,I._uniformInverseElevationMatrix),I._rtcCenter){let y=new A.Matrix4,v=A.Matrix4.fromTranslation(I._rtcCenter,y);A.Matrix4.multiply(I._uniformInverseElevationMatrix,v,I._uniformInverseElevationMatrix)}return I._uniformInverseElevationModelMatrix||(I._uniformInverseElevationModelMatrix=new A.Matrix4),I._uniformInverseElevationModelMatrix=A.Matrix4.multiply(I._uniformInverseElevationMatrix,E.model,I._uniformInverseElevationModelMatrix),I._uniformInverseElevationModelMatrix}};return A.combine(m,C)}}function q_i(o){this._size=o.size,this._datatype=o.datatype,this.getValue=o.getValue}function j_i(o,A,f){try{let m=f.Ellipsoid.WGS84,C=m.scaleToGeodeticSurface(o);return A=f.Transforms.eastNorthUpToFixedFrame(C,m,A),A}catch{return f.Matrix4.clone(f.Matrix4.IDENTITY,A)}}function X_i(o){o.AutomaticUniforms.czm_seWaterHeight||(o.AutomaticUniforms.czm_seWaterHeight=new q_i({size:1,datatype:o.WebGLConstants.FLOAT,getValue:function(f){return f.seWaterHeight?f.seWaterHeight:-5e3}}),o.ShaderSource._czmBuiltinsAndUniforms.czm_seWaterHeight="uniform float czm_seWaterHeight;");var A=o.Cesium3DTileset.prototype.update;o.Cesium3DTileset.prototype.update=function(f){A.call(this,f),this.show&&this.ready&&(this._autoElevationMatrix=j_i(this.boundingSphere.center,this._autoElevationMatrix,o))},o.Cesium3DTileContentFactory.b3dm=function(f,m,C,E,I){if(f.enableModelExperimental)return o.ModelExperimental3DTileContent.fromB3dm(f,m,C,E,I);let x=new o.Batched3DModel3DTileContent(f,m,C,E,I);return x._model instanceof o.ClassificationModel||(x._model._elevationMatrix=function(y){let v=f._elevationMatrix||f._autoElevationMatrix||o.Matrix4.IDENTITY;return y=o.Matrix4.clone(v,y),y},x._model._uniformMapLoaded=W_i(x,o),x._model._vertexShaderLoaded=J_i(x,o),x._model._fragmentShaderLoaded=K_i(x,o)),x},o.ShaderProgram.prototype._setUniforms=function(f,m,C){let E,I;if(o.defined(f)){let v=this._manualUniforms;for(E=v.length,I=0;I<E;++I){let w=v[I];w.value=f[w.name](m)}}let x=this._automaticUniforms;for(E=x.length,I=0;I<E;++I){let v=x[I];v.uniform.value=v.automaticUniform.getValue(m)}let y=this._uniforms;for(E=y.length,I=0;I<E;++I)y[I].set();if(C){let v=this._gl,w=this._program;v.validateProgram(w)}}}function Z_i(o,A){let f=o.baseWaterColor||new A.Color(.2,.3,.6,1),m=o.blendColor||new A.Color(.5,.5,.5,.7),C=o.animationSpeed||.05,E=o.amplitude||2,I=o.frequency||5e3,x=o.specularIntensity||.5,y=o.fadeFactor||1,v=o.sizeAndVelocity||new A.Cartesian4(100,100,10,0),w=o.width||316,Q=o.height||316;X_i(A),A.Material._materialCache.addMaterial("SEWater",{fabric:{type:"SEWater",uniforms:{baseWaterColor:f,blendColor:m,specularMap:A.Material.DefaultImageId,normalMap:A.Material.DefaultImageId,frequency:I,animationSpeed:C,amplitude:E,specularIntensity:x,fadeFactor:y,sizeAndVelocity:v},source:Vet},translucent:function(M){var B=M.uniforms;return B.baseWaterColor.alpha<1||B.blendColor.alpha<1}})}jx.prototype._createDebugView=function(){let o=this._cesium.Material.fromType("Image"),A=new this._cesium.ViewportQuad(new this._cesium.BoundingRectangle(0,100,300,300));A.material=o,this._debugViewportQuad=this._scene.primitives.add(A);let f=this._getWaterReflectTexture();f&&(o.uniforms.image=f)};jx.prototype.debugShow=function(o){this._debugViewportQuad.show=o};jx.prototype.isDebugShow=function(){return this._debugViewportQuad.show};jx.prototype._getWaterReflectTexture=function(){return this._wTexture._colorTexture};jx.prototype._getWaterReflectTextureChangedEvent=function(){return this._wTexture._textureChangedEvent};jx.prototype._createWaterMaterial=function(){var o=new this._cesium.Material({fabric:{type:"SEWater",uniforms:{specularMap:this._cesium.buildModuleUrl("Assets/Textures/waterNormals.jpg"),normalMap:this._cesium.buildModuleUrl("Assets/Textures/waterNormals.jpg"),frequency:this._option.frequency,animationSpeed:this._option.animationSpeed,amplitude:this._option.amplitude,width:this._option.width,height:this._option.height}}});let A=this;return o._uniforms.specularMap_0=function(){return A._wTexture._colorTexture||A._scene.context.defaultTexture},o};jx.prototype.createWaterPolygonPrimitive=function(o){let A=this,f=this._scene,m=null,C=null;if(o.type==0)m=this._cesium.PolygonGeometry.fromPositions({vertexFormat:this._cesium.MaterialAppearance.MaterialSupport.ALL.vertexFormat,positions:o.positions}),C=f.groundPrimitives.add(new this._cesium.GroundPrimitive({geometryInstances:new this._cesium.GeometryInstance({geometry:m}),appearance:new this._cesium.MaterialAppearance({materialSupport:this._cesium.MaterialAppearance.MaterialSupport.ALL}),classificationType:this._cesium.ClassificationType.BOTH})),C.appearance.material=this._createWaterMaterial();else if(o.type==1)m=this._cesium.CoplanarPolygonGeometry.fromPositions({vertexFormat:this._cesium.MaterialAppearance.MaterialSupport.ALL.vertexFormat,positions:o.positions}),C=f.primitives.add(new this._cesium.Primitive({geometryInstances:new this._cesium.GeometryInstance({geometry:m}),appearance:new this._cesium.MaterialAppearance({materialSupport:this._cesium.MaterialAppearance.MaterialSupport.ALL})})),C.appearance.material=this._createWaterMaterial();else if(o.type==2){let I=new this._cesium.GeometryInstance({geometry:o.geometry});C=f.primitives.add(new this._cesium.Primitive({geometryInstances:I,appearance:new this._cesium.EllipsoidSurfaceAppearance({material:this._createWaterMaterial()}),asynchronous:!1}))}C.appearance.material.uniforms.sizeAndVelocity.x=o.width,C.appearance.material.uniforms.sizeAndVelocity.y=o.height,C.radius=.5*Math.max(o.width,o.height),C.centerPos=o.center;let E=this._cesium.Cartographic.fromCartesian(o.center);return C.waterHeight=E.height,this._trackPrimitive(C),C};jx.prototype._trackPrimitive=function(o){this._trackedPrimitives.indexOf(o)<0&&this._trackedPrimitives.push(o)};jx.prototype.destroyWaterPolygonPrimitive=function(o){this._trackedPrimitives.indexOf(o)>=0&&(this._untrackPrimitive(o),this._scene.primitives.contains(o)&&this._scene.primitives.remove(o),this._scene.groundPrimitives.contains(o)&&this._scene.groundPrimitives.remove(o))};jx.prototype._untrackPrimitive=function(o){let A=this._trackedPrimitives.indexOf(o);A!=-1&&this._trackedPrimitives.splice(A,1)};jx.prototype.isDestroyed=function(){return!1};jx.prototype.destroy=function(){return this._disposeListener&&(this._disposeListener(),this._disposeListener=null),this._wTexture&&(this._wTexture.destroy(),this._wTexture=null),this._trackedPrimitives=[],this._cesium.destroyObject(this)};var ett=jx;function es(o){this._earthCtrl=o,this._coreMap=o.coreMap}function Om(){return((1+De.nextRandomNumber())*65536|0).toString(16).substring(1)}es.createUUID=function(){return`${Om()+Om()}-${Om()}-${Om()}-${Om()}-${Om()}${Om()}${Om()}`};es.createUUIDWithoutDash=function(){return Om()+Om()+Om()+Om()+Om()+Om()+Om()+Om()};es.prototype.createUUID=function(){return es.createUUID()};es.prototype.createGroup=function(o){let A=new C6;return A.id=o.id||es.createUUID(),A.name=o.name||"\u672A\u547D\u540D\u7EC4",A};es.prototype.createImageryLayer=function(o,A){let f=new L1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.IMAGERYPROVIDERS),f),f};es.prototype.createTerrainLayer=function(o,A){let f=new F1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.TERRAINPROVIDERS),f),f};es.prototype.removeTerrainLayer=function(o){this._coreMap.terrainProvider=new pD({})};es.prototype.createFeatureLayer=function(o,A){let f=new k1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.FEATURELAYERS),f),f};es.prototype.createModelLayer=function(o,A){let f=new N1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.MODELLAYERS),f),f};es.prototype.createWfsModel=function(o,A){let f=new XO(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.MODELLAYERS),f),f};es.prototype.createModel=function(o,A){let f=new _1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.removeModel=function(o){k(o)&&o.removeFromMap()};es.prototype.createCZMLObject=function(o,A){let f=this,m=ae(o.addToMap,!0),C=new oY(o.name);return C.load(o.url),m&&f._earthCtrl.dataSources.add(C),C.id=ae(o.id,this._earthCtrl.factory.createUUID()),A?this._earthCtrl.userScene.addChild(A,C):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),C),C};es.prototype.createElement=function(o){let A={};return A[o.type]=o.parameters,k(o.name)&&(A.name=o.name),k(o.position)&&(A.position=o.position),this._earthCtrl.entities.add(A)};es.prototype.removeElement=function(o){k(o)?this._earthCtrl.entities.remove(o):this._earthCtrl.entities.removeAll()};es.prototype.createVideoProjection=function(o,A){o.addToMap=ae(o.addToMap,!0);let f=ae(o.sourceType,"perspective"),m=null;return f==="perspective"?(m=new p1e(this._earthCtrl,o),m.initialize(o),m.name=o.name,A?this._earthCtrl.userScene.addChild(A,m):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),m)):f==="panorama"?(m=new Cet(this._earthCtrl,o),m.initialize(o),m.name=o.name,m.id=ae(o.id,this._earthCtrl.factory.createUUID()),A?this._earthCtrl.userScene.addChild(A,m):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),m)):f==="fisheye"&&(m=new m1e(this._earthCtrl,o),m.initialize(o),m.name=o.name,m.id=ae(o.id,this._earthCtrl.factory.createUUID()),A?this._earthCtrl.userScene.addChild(A,m):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),m)),m};es.prototype.createTrack=function(o,A){let f=new Eet(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),f.initialize(o),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createSceneNode=function(o,A,f){let m=new C6(this._earthCtrl);return m.id=o,m.name=A,m.label=f,m};es.prototype.createFire=function(o,A){let f=new C1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createSmoke=function(o,A){let f=new E1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createExplosion=function(o,A){let f=new I1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createFireworks=function(o,A){let f=new x1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createRadarScan=function(o,A){let f=new y1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),f.show=!0,A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createCircleScan=function(o,A){let f=new Qet(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),f.show=!0,A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createUpDownScan=function(o){let A=new Met(this._earthCtrl,o);return A.show=!0,A};es.prototype.createWaters=function(o,A){let f=new O1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),f.show=!0,A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createHeatmap=function(o,A){let f=vet.create(this._earthCtrl,o.bbox,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createLabel=function(o,A){let f=new B1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createBillboard=function(o,A){let f=new v1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createPolyline=function(o,A){let f=new w1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createPolygon=function(o,A){let f=new b1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createPoint=function(o,A){let f=new Q1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createBox=function(o,A){let f=new S1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createEllipsoid=function(o,A){let f=new M1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createCylinder=function(o,A){let f=new D1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createRectangle=function(o,A){let f=new T1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createEllipse=function(o,A){let f=new P1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createPolylineVolume=function(o,A){let f=new R1e(this._earthCtrl,o);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createEChartLayer=function(o,A){let f=new U1e(this._earthCtrl);return f.name=o.name,f.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&f.addToMap(o),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ds.USERSCENE),f),f};es.prototype.createPointLight=function(o){return new Pet(this._earthCtrl,o)};es.prototype.createHawkeye=function(o){let A=new H1e(this._earthCtrl,o);A.name=o.name,A.id=ae(o.id,this._earthCtrl.factory.createUUID()),ae(o.addToMap,!0)&&A.addToMap(o)};es.prototype.createSpotLight=function(o){let A=new V1e(this._earthCtrl.coreMap,o.entities,o.lights);return A.name=o.name,A.id=ae(o.id,this._earthCtrl.factory.createUUID()),A};es.prototype.createCustomShaderManager=function(o){let A=new Uet;return A.name=ae(o.name,null),A.id=ae(o.id,this._earthCtrl.factory.createUUID()),A};es.prototype.createCustomShaderStage=function(o){let A=new Oet(this._earthCtrl,o);return A.name=ae(o.name,null),A.id=ae(o.id,this._earthCtrl.factory.createUUID()),A};es.prototype.createModelOutline=function(o={}){let A=new Get(this._earthCtrl,o);return A.name=ae(o.name,null),A.id=ae(o.id,this._earthCtrl.factory.createUUID()),A};es.prototype.modelClick=function(o={}){let A=new Het(this._earthCtrl,o);return A.name=ae(o.name,null),A.id=ae(o.id,this._earthCtrl.factory.createUUID()),A};es.prototype.createWaterPolygon=function(o){let A=new ett(this._earthCtrl,o);return A.name=ae(o.name,null),A.id=ae(o.id,this._earthCtrl.factory.createUUID()),A.createWaterPolygonPrimitive(o)};var LD=es;var Qre=class extends xg{constructor(A,f){super(A),this._objectMap={},this._rootNode=null,this._isBenchUpdate=!1,this._selectSet=new g1e(A);let m=new C6(A);m.id=LD.createUUID(),m.name=ae(f.ProjectName,"root"),m.version=ae(f.version,null),m.desc=ae(f.desc,null),m.createTime=ae(f.createTime,new Date().toISOString()),m.lastUpdate=ae(f.lastUpdate,null),m.show=!0,this._rootNode=m,this._editNode=m,this._objectMap[m.id]=m,this._EventDocumentChanged=new s3("EventDocumentChanged")}finalize(){this._rootNode=null,this._objectMap={}}getChildById(A){return this._objectMap.hasOwnProperty(A)?this._objectMap[A]:null}addChild(A,f){A.addChild(f),this._objectMap[f.id]=f,this._isBenchUpdate||this.commitChanged()}removeChildById(A){let f=this._objectMap[A];k(f)&&this.removeChild(f)}removeChild(A){k(A)&&k(A.parentNode)&&(A.removeFromMap(),A.parentNode.removeChild(A)),delete this._objectMap[A.id],this._isBenchUpdate||this.commitChanged()}removeAll(){}beginUpdate(){this._isBenchUpdate=!0}endUpdate(){this._isBenchUpdate&&(this.commitChanged(),this._isBenchUpdate=!1)}commitChanged(){this._EventDocumentChanged.notifyEvent(this)}flyTo(A,f){k(A)&&k(A._primitive)&&(A=A._primitive),this._earthCtrl.coreMap.flyTo(A,f)}findLocationByID(A,f){if(!A)return;let m=this.getChildById(A);k(m)&&k(m._primitive)&&(m=m._primitive),this._earthCtrl.coreMap.flyTo(m,f)}moveLayer(A,f){let m=this.getChildById(A),C=null;for(let E=0;E<m.parentNode.childNodes.length;E++)m.parentNode.childNodes[E].id===m.id&&(C=E);f==="up"?(this._earthCtrl.coreMap.scene.imageryLayers.raise(m._primitive),this.changeLayer(m.parentNode.childNodes,C,C+1)):f==="down"&&(this._earthCtrl.coreMap.scene.imageryLayers.lower(m._primitive),this.changeLayer(m.parentNode.childNodes,C,C-1))}changeLayer(A,f,m){if(f=De.clamp(f,0,A.length-1),m=De.clamp(m,0,A.length-1),f===m)return;let C=A[f];A[f]=A[m],A[m]=C}outputJson(A){let f=this;new Promise(function(C,E){let I={IMAGERYPROVIDERS:"imageryProviders",TERRAINPROVIDERS:"terrainProviders",MODELLAYERS:"modelLayers",FEATURELAYERS:"featureLayers",USERSCENE:"userScene"},x=0,y=[];for(let v in I){let w=I[v],Q=f.rootNode.getChildByName(w);if(!Q)continue;let M=[];if(Q.childNodes.length===0)M=[];else for(let B=0;B<Q.childNodes.length;B++){let D=Q.childNodes[B].toJSON();M.push(D)}Promise.all(M).then(function(B){let D=[];if(B.length!==0){for(let R=0;R<B.length;R++)D.push(B[R]);let S=D[0].class;S!=="IMAGERY_LAYER"&&S!=="TERRAIN_LAYER"&&S!=="MODEL_LAYER"&&S!=="FEATURE_LAYER"&&(S="USER_SCENE");let P={item:S,objJson:D};y.push(P)}x++,x===5&&(C(y),x=0)})}}).then(function(C){let E={version:f.rootNode.version,projectName:f.rootNode.name,desc:f.rootNode.desc,createTime:f.rootNode.createTime,lastUpdate:new Date().toISOString(),imageryProviders:[],terrainProviders:[],modelLayers:[],featureLayers:[],userScene:[]};for(let w=0;w<C.length;w++)C[w].item==="IMAGERY_LAYER"&&(E.imageryProviders=C[w].objJson),C[w].item==="TERRAIN_LAYER"&&(E.terrainProviders=C[w].objJson),C[w].item==="MODEL_LAYER"&&(E.modelLayers=C[w].objJson),C[w].item==="FEATURE_LAYER"&&(E.featureLayers=C[w].objJson),C[w].item==="USER_SCENE"&&(E.userScene=C[w].objJson);let I={class:"ENVIRONMENT",underGround:ae(f._earthCtrl.camera.undergroundMode,null),shadow:ae(f._earthCtrl.shadows,null),depthTest:ae(f._earthCtrl.coreMap.scene.globe.depthTestAgainstTerrain,null),rain:ae(f._earthCtrl.environment.rain.show,null),snow:ae(f._earthCtrl.environment.snow.show,null),fog:ae(f._earthCtrl.environment.fog.show,null),bwMode:ae(f._earthCtrl.environment.bwMode.show,null),nightMode:ae(f._earthCtrl.environment.nightMode.show,null),colorAdjustment:{show:ae(f._earthCtrl.environment.colorAdjustment.show,null),contrast:ae(f._earthCtrl.environment.colorAdjustment.contrast,null),saturation:ae(f._earthCtrl.environment.colorAdjustment.saturation,null),brightness:ae(f._earthCtrl.environment.colorAdjustment.brightness,null)}},x={class:"SKYBOX",positiveX:ae(f._earthCtrl.environment.SkyBoxSource.positiveX,null),negativeX:ae(f._earthCtrl.environment.SkyBoxSource.negativeX,null),positiveY:ae(f._earthCtrl.environment.SkyBoxSource.positiveY,null),negativeY:ae(f._earthCtrl.environment.SkyBoxSource.negativeY,null),positiveZ:ae(f._earthCtrl.environment.SkyBoxSource.positiveZ,null),negativeZ:ae(f._earthCtrl.environment.SkyBoxSource.negativeZ,null)},y={class:"VIEWPOINT",lon:f._earthCtrl.camera.viewPoint.lon,lat:f._earthCtrl.camera.viewPoint.lat,alt:f._earthCtrl.camera.viewPoint.alt,heading:f._earthCtrl.camera.viewPoint.heading,pitch:f._earthCtrl.camera.viewPoint.pitch,roll:f._earthCtrl.camera.viewPoint.roll,duration:f._earthCtrl.camera.viewPoint.duration};E.userScene.push(I),E.userScene.push(x),E.userScene.push(y);let v=JSON.stringify(E);A&&A(v)})}};Object.defineProperties(Qre.prototype,{rootNode:{get:function(){return this._rootNode},set:function(o){this._rootNode=o}},editNode:{get:function(){return this._editNode},set:function(o){this._editNode=o}},selectSet:{get:function(){return this._selectSet}},EventDocumentChanged:{get:function(){return this._EventDocumentChanged}},EventObjectPropertyChanged:{get:function(){return this._EventObjectPropertyChanged}}});var z1e=Qre;function ttt(o){this._earthCtrl=o,this._coreMap=o.coreMap,this.initialize()}var dFi=new Oa,gFi=new Z,fFi=new Z;ttt.prototype.initialize=function(){let o=document.createElement("div");o.className="map-info-bar",o.style="position: absolute;display: none;left: 0px;bottom:0px;width: 100%;background:rgba(0,0,0,0.4); color:#e9e9e9; text-shadow:2px 2px 2px #000";let A=this._coreMap;A.container.appendChild(o);let f="float: right; min-width: 100px;margin-right: 20px;",m=document.createElement("div");m.style=f,o.appendChild(m);let C=document.createElement("div");C.style=f,o.appendChild(C);let E=document.createElement("div");E.style=f,o.appendChild(E);let I=A.scene.canvas,x=A.scene.globe.ellipsoid;new pr(I).setInputAction(function(v){let w=A.camera.pickEllipsoid(v.endPosition,x);if(w){let Q=A.scene.globe.ellipsoid.cartesianToCartographic(w),M=De.toDegrees(Q.latitude).toFixed(6),B=De.toDegrees(Q.longitude).toFixed(6),D=A.camera.positionCartographic.height.toFixed(1);E.innerHTML=`\u7ECF\u5EA6\uFF1A${B}`,C.innerHTML=`\u7EAC\u5EA6\uFF1A${M}`,m.innerHTML=`\u89C6\u70B9\u9AD8\uFF1A${D}\u7C73`}},_i.MOUSE_MOVE)};var itt=ttt;function yl(){}yl.parseBaseData=function(o,A){let f=[];if(k(A)&&k(A.imageryProviders))for(let C=0;C<A.imageryProviders.length;C++){let E=A.imageryProviders[C];if(E.enable===!1||E.show===!1)continue;if(k(E.tilingScheme)){let x=E.tilingScheme;x.type==="GeographicTilingScheme"&&(E.tilingScheme=new ph(x))}let I=LD.createImageryLayer(E);f.push(I)}let m=[];if(k(A)&&k(A.terrainProviders))for(let C=0;C<A.terrainProviders.length;C++){let E=A.terrainProviders[C];if(E.enable===!1||E.show===!1)continue;let I=LD.createTerrainLayer(E);m.push(I)}return{imageryProvider:f,terrainProvider:m}};yl.parse=function(o,A){if(!k(A))return;let f=[ds.IMAGERYPROVIDERS,ds.TERRAINPROVIDERS,ds.MODELLAYERS,ds.FEATURELAYERS,ds.USERSCENE];for(let m=0;m<f.length;m++){let C=o.factory.createSceneNode(LD.createUUID(),f[m]);C.show=!0,o.userScene.addChild(o.userScene.rootNode,C)}k(A[ds.IMAGERYPROVIDERS])&&w6(o,A[ds.IMAGERYPROVIDERS],o.userScene.rootNode.getChildByIndex(0),0),k(A[ds.TERRAINPROVIDERS])&&w6(o,A[ds.TERRAINPROVIDERS],o.userScene.rootNode.getChildByIndex(1),1),k(A[ds.MODELLAYERS])&&w6(o,A[ds.MODELLAYERS],o.userScene.rootNode.getChildByIndex(2)),k(A[ds.FEATURELAYERS])&&w6(o,A[ds.FEATURELAYERS],o.userScene.rootNode.getChildByIndex(3)),k(A[ds.USERSCENE])&&w6(o,A[ds.USERSCENE],o.userScene.rootNode.getChildByIndex(4))};function w6(o,A,f,m){for(let C=0;C<A.length;C++){let E=A[C],I=null;if(E.enable===!1)continue;k(E.class)?(E.class==="IMAGERY"&&(E.class=Xn.IMAGERY_LAYER),E.class==="TERRAIN"&&(E.class=Xn.TERRAIN_LAYER),I=E.class):(m===0?E.class=Xn.IMAGERY_LAYER:m===1&&(E.class=Xn.TERRAIN_LAYER),I=E.class);let x=yl.parserMap[I];x!==void 0&&x(o,E,f)}}function $_i(o,A,f){let m=o.factory.createSceneNode(A.id,A.name);m.show=ae(A.show,!0),o.userScene.addChild(f,m),k(A.childNodes)&&w6(o,A.childNodes,m)}function eBi(o,A,f){let m=A;if(k(m.tilingScheme)){let C=m.tilingScheme;C.type==="GeographicTilingScheme"&&(m.tilingScheme=new ph(C))}o.factory.createImageryLayer(m,f)}function tBi(o,A,f){let m=A;o.factory.createTerrainLayer(m,f)}function iBi(o,A,f){let m=A;m.addToMap=!0;let C=m.sourceType;C==="3DTiles"||C==="b3dm"||C==="osgb"||C==="s3m"||C==="ude_block"||C==="ude_model"?o.factory.createModelLayer(m,f):C==="czml"?o.factory.createCZMLObject(m,f):C==="wfsModel"&&o.factory.createWfsModel(m,f)}function rBi(o,A,f){let m=o.factory.createFeatureLayer(A,f)}function nBi(o,A,f){o.coreMap.scene.skyBox=new HN({sources:{positiveX:A.positiveX,negativeX:A.negativeX,positiveY:A.positiveY,negativeY:A.negativeY,positiveZ:A.positiveZ,negativeZ:A.negativeZ}})}function oBi(o,A,f){o.camera.undergroundMode=ae(A.underGround,!1),o.shadows=ae(A.shadow,!1),A.rain===!0&&o.environment.showEffect("rain"),A.snow===!0&&o.environment.showEffect("snow"),A.fog===!0&&o.environment.showEffect("fog"),o.coreMap.scene.globe.depthTestAgainstTerrain=ae(A.depthTest,!1),A.bwMode===!0&&o.environment.showEffect("bwMode"),A.nightMode===!0&&o.environment.showEffect("nightMode"),A.colorAdjustment.show===!0&&(o.environment.showEffect("colorAdjustment"),o.environment.colorAdjustment.contrast=A.colorAdjustment.contrast,o.environment.colorAdjustment.saturation=A.colorAdjustment.saturation,o.environment.colorAdjustment.brightness=A.colorAdjustment.brightness)}function aBi(o,A,f){o.camera.viewPoint=A,o.camera.flyTo(A.lon,A.lat,A.alt,A.heading,A.pitch,A.roll,A.duration)}function sBi(o,A,f){o.factory.createModel(A,f)}function lBi(o,A,f){o.factory.createWaters(A,f)}function ABi(o,A,f){o.factory.createExplosion(A,f)}function uBi(o,A,f){o.factory.createFireworks(A,f)}function cBi(o,A,f){o.factory.createSmoke(A,f)}function hBi(o,A,f){o.factory.createFire(A,f)}function dBi(o,A,f){A.color&&(A.color=new qe(A.color.red,A.color.green,A.color.blue,A.color.alpha)),o.factory.createRadarScan(A,f)}function gBi(o,A,f){A.color&&(A.color=new qe(A.color.red,A.color.green,A.color.blue,A.color.alpha)),o.factory.createCircleScan(A,f)}function fBi(o,A,f){A.color&&(A.color=new qe(A.color.red,A.color.green,A.color.blue,A.color.alpha)),A.outlineColor&&(A.outlineColor=new qe(A.color.red,A.color.green,A.color.blue,A.color.alpha)),o.factory.createPoint(A,f)}function pBi(o,A,f){A.fillColor&&(A.fillColor=new qe(A.fillColor.red,A.fillColor.green,A.fillColor.blue,A.fillColor.alpha)),o.factory.createLabel(A,f)}function mBi(o,A,f){o.factory.createBillboard(A,f)}function CBi(o,A,f){A.positions&&(A.positions=yl.array2DtoMercator(A.positions)),A.lineColor&&(A.lineColor=new qe(A.lineColor.red,A.lineColor.green,A.lineColor.blue,A.lineColor.alpha)),A.outlineColor&&(A.outlineColor=new qe(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),o.factory.createPolyline(A,f)}function EBi(o,A,f){A.material&&(A.material=new qe(A.material.red,A.material.green,A.material.blue,A.material.alpha)),A.outlineColor&&(A.outlineColor=new qe(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),A.positions&&(A.positions=yl.array2DtoMercator(A.positions)),o.factory.createPolygon(A,f)}function IBi(o,A,f){A.coordinates&&(A.coordinates=hi.fromDegrees(A.coordinates[0],A.coordinates[1],A.coordinates[2],A.coordinates[3])),A.fillColor&&(A.fillColor=new qe(A.fillColor.red,A.fillColor.green,A.fillColor.blue,A.fillColor.alpha)),A.outlineColor&&(A.outlineColor=new qe(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),o.factory.createRectangle(A,f)}function xBi(o,A,f){o.factory.createEllipse(A,f)}function yBi(o,A,f){A.material&&(A.material=new qe(A.material.red,A.material.green,A.material.blue,A.material.alpha)),A.outlineColor&&(A.outlineColor=new qe(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),A.position&&(A.position=Z.fromDegrees(A.position[0],A.position[1],A.position[2])),A.dimensions&&(A.dimensions=new Z(A.dimensions.x,A.dimensions.y,A.dimensions.z)),o.factory.createBox(A,f)}function vBi(o,A,f){A.material&&(A.material=new qe(A.material.red,A.material.green,A.material.blue,A.material.alpha)),A.outlineColor&&(A.outlineColor=new qe(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),A.position&&(A.position=Z.fromDegrees(A.position[0],A.position[1],A.position[2])),A.radii&&(A.radii=new Z(A.radii[0],A.radii[1],A.radii[2])),o.factory.createEllipsoid(A,f)}function _Bi(o,A,f){A.material&&(A.material=new qe(A.material.red,A.material.green,A.material.blue,A.material.alpha)),A.outlineColor&&(A.outlineColor=new qe(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),A.position&&(A.position=Z.fromDegrees(A.position[0],A.position[1],A.position[2])),o.factory.createCylinder(A,f)}function BBi(o,A,f){o.factory.createPolylineVolume(A,f)}function wBi(o,A,f){o.factory.createVideoProjection(A,f)}function bBi(o,A,f){o.factory.createVideoProjection(A,f)}function QBi(o,A,f){o.factory.createTrack(A,f)}function SBi(o,A,f){o.factory.createHeatmap(A,f)}function DBi(o,A,f){o.factory.createEChartLayer(A,f)}function MBi(o,A,f){let m=o.factory.createElement(A);o.userScene.addChild(f,m)}yl.array2DtoMercator=function(o){let A=[];return o.forEach(function(f){let m=Z.fromDegrees(f[0],f[1],f[2]);A.push(m)}),A};yl.parserMap={};yl.parserMap[Xn.NODE]=$_i;yl.parserMap[Xn.IMAGERY_LAYER]=eBi;yl.parserMap[Xn.TERRAIN_LAYER]=tBi;yl.parserMap[Xn.MODEL_LAYER]=iBi;yl.parserMap[Xn.FEATURE_LAYER]=rBi;yl.parserMap[Xn.SKYBOX]=nBi;yl.parserMap[Xn.ENVIRONMENT]=oBi;yl.parserMap[Xn.VIEWPOINT]=aBi;yl.parserMap[Xn.MODEL]=sBi;yl.parserMap[Xn.WATERS]=lBi;yl.parserMap[Xn.EXPLOSION]=ABi;yl.parserMap[Xn.FIREWORK]=uBi;yl.parserMap[Xn.SMOKE]=cBi;yl.parserMap[Xn.FIRE]=hBi;yl.parserMap[Xn.RADARSCAN]=dBi;yl.parserMap[Xn.CIRCLESCAN]=gBi;yl.parserMap[Xn.POINT]=fBi;yl.parserMap[Xn.LABEL]=pBi;yl.parserMap[Xn.BILLBOARD]=mBi;yl.parserMap[Xn.POLYLINE]=CBi;yl.parserMap[Xn.POLYGON]=EBi;yl.parserMap[Xn.RECTANGLE]=IBi;yl.parserMap[Xn.ELLIPSE]=xBi;yl.parserMap[Xn.BOX]=yBi;yl.parserMap[Xn.ELLIPSOID]=vBi;yl.parserMap[Xn.CYLINDER]=_Bi;yl.parserMap[Xn.POLYLINEVOLUME]=BBi;yl.parserMap[Xn.PERSPECTIVE_VIDEO_PROJECTION]=wBi;yl.parserMap[Xn.FISHEYE_VIDEO_PROJECTION]=bBi;yl.parserMap[Xn.TRACK]=QBi;yl.parserMap[Xn.HEATMAP]=SBi;yl.parserMap[Xn.ECHARTLAYER]=DBi;yl.parserMap.ELEMENT=MBi;var rtt=yl;var Y1e=class extends Qa{constructor(A,f,m,C){super(A,m,C),this.editBillboard=void 0,this.pickedEntity=void 0,this.isEditing=!1,this.editBillboard=f,k(this.editBillboard)&&k(this.editBillboard.entity.billboard)?console.info(this.editBillboard.entity):(this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Billboard entity is need!"}))}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editBillboard.entity.id&&(this.isEditing=!0,this.currentPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editBillboard.entity)||this.pickObject(A,this.editBillboard.entity))&&this.mCallback&&this.mCallback(this.editBillboard),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(k(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m,this.editBillboard.entity.position=m}return this.mCallback&&this.mCallback(this.editBillboard),!0}updateBillboard(A){if(k(A)&&k(this.editBillboard)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editBillboard.entity.position=A[C]:k(A[C])&&(this.editBillboard.entity.billboard[C]=A[C])}}}endEditEntity(){}},ntt=Y1e;var J1e=class extends Qa{constructor(A,f,m,C){super(A,m,C),this.editPoint=void 0,this.pickedEntity=void 0,this.isEditing=!1,this.editPoint=f,k(this.editPoint)&&k(this.editPoint.entity.point)?console.info(this.editPoint.entity.point):(this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Point entity is need!"}))}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editPoint.entity.id&&(this.isEditing=!0,this.currentPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editPoint.entity)||this.pickObject(A,this.editPoint.entity))&&this.mCallback&&this.mCallback(this.editPoint),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(k(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m,this.editPoint.entity.position=m}return this.mCallback&&this.mCallback(this.editPoint),!0}updatePoint(A){if(k(A)&&k(this.editPoint)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editPoint.entity.position=A[C]:k(A[C])&&(this.editPoint.entity.point[C]=A[C])}}}endEditEntity(){}},ott=J1e;var K1e=class extends Qa{constructor(A,f,m,C){if(super(A,m,C),this.editBox=void 0,this.pickedEntity=void 0,this.editHeightPoint=void 0,this.editWHPoint=void 0,this.pickEditHeightPoint=void 0,this.pickEditWHPoint=void 0,this.isEditing=!1,this.pointsId=[],this.height=0,this.dragPosition=void 0,this.editBox=f,k(this.editBox)&&k(this.editBox.entity.box)){let E=this.editBox.entity.position._value,I=Lt.fromCartesian(E);this.height=I.height;let x=new Z,y=new Z;this.getNorthPointByDistance(x,y),this.editHeightPoint=this.mEarthCtrl.entities.add({name:"box_edit_height_point",position:x,point:{heightReference:this.editBox.entity.box.heightReference,color:qe.WHITE,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}}),this.pointsId.push(this.editHeightPoint.id),this.editWHPoint=this.mEarthCtrl.entities.add({name:"box_edit_long_width_point",position:y,point:{heightReference:this.editBox.entity.box.heightReference,color:qe.RED,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}}),this.pointsId.push(this.editWHPoint.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Box entity is need!"})}addHeight(A){let f=this.editBox.entity.position._value,m=Lt.fromCartesian(f);return this.height=m.height+A,Z.fromRadians(m.longitude,m.latitude,this.height)}getNorthPointByDistance(A,f,m){let C;console.info(this.editBox.entity.position),k(m)?C=this.editBox.entity.position.getValue(m):C=this.editBox.entity.position._value;let E=Vr.eastNorthUpToFixedFrame(C),I=new Z,x=this.editBox.entity.box.dimensions._value;x||(x=this.editBox.entity.box.dimensions.getValue(m)),Z.divideByScalar(x,2,I),Z.clone(I,A),Z.clone(I,f),A.y*=-1,Re.multiplyByPoint(E,A,A),f.y*=-1,f.z*=-1,Re.multiplyByPoint(E,f,f)}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editBox.entity.id?(this.isEditing=!0,this.currentPoint=f,this.pickEditHeightPoint=void 0,this.pickEditWHPoint=void 0):f.name==="box_edit_height_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickEditHeightPoint=f,this.pickEditWHPoint=void 0):f.name==="box_edit_long_width_point"&&(this.isEditing=!0,this.currentPoint=void 0,this.pickEditHeightPoint=void 0,this.pickEditWHPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editBox)||this.pickObject(A,this.editBox.entity))&&this.mCallback&&this.mCallback(this.editBox),this.currentPoint=void 0,this.isEditing=!1,this.dragPosition=void 0,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;let f=new Date,m=jt.fromDate(f);if(k(this.currentPoint)||k(this.pickEditHeightPoint)||k(this.pickEditWHPoint)){let C=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,E=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,C);if(!E)return;let I=Lt.fromCartesian(E),x=Z.fromRadians(I.longitude,I.latitude,I.height+this.height);if(k(this.currentPoint))this.currentPoint.position=x,this.editBox.entity.position=new Kr(function(){return x},!1);else if(k(this.dragPosition)){if(k(this.pickEditWHPoint)){let w=Z.subtract(E,this.dragPosition,new Z),Q=Z.normalize(w,new Z);Z.dot(w,Q,w);let M=this.editBox.entity.box.dimensions._value;M||(M=this.editBox.entity.box.dimensions.getValue(m));let B=Z.clone(M);B.x-=w.x,B.y+=w.y,Z.abs(B,B),this.editBox.entity.box.dimensions=new Kr(function(){return B},!1)}else if(k(this.pickEditHeightPoint)){let w=Z.subtract(E,this.dragPosition,new Z),Q=this.editBox.entity.box.dimensions._value;Q||(Q=this.editBox.entity.box.dimensions.getValue(m));let M=Z.clone(Q);M.z+=w.z,Z.abs(M,M),this.editBox.entity.box.dimensions=M,this.editBox.entity.position=this.addHeight(w.z/2)}}this.dragPosition=E;let y=new Z,v=new Z;this.getNorthPointByDistance(y,v,m),this.editHeightPoint.position=y,this.editWHPoint.position=v}return this.mCallback&&this.mCallback(this.editBox),!0}updateBox(A){if(k(A)&&k(this.editBox)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editBox.entity.position=A[C]:k(A[C])&&(this.editBox.entity.box[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},att=K1e;var W1e=class extends Qa{constructor(A,f,m,C){if(super(A,m,C),this.editCylinder=void 0,this.pickedEntity=void 0,this.isEditing=!1,this.pointsId=[],this.height=0,this.topRadiusPoint=void 0,this.pickTopRadiusPoint=void 0,this.bottomRadiusPoint=void 0,this.pickBottomRadiusPoint=void 0,this.heightPoint=void 0,this.pickHeightPoint=void 0,this.dragPosition=void 0,this.editCylinder=f,k(this.editCylinder)&&k(this.editCylinder.entity.cylinder)){let E=this.editCylinder.entity.position._value,I=Lt.fromCartesian(E);this.height=I.height;let x=this.editCylinder.entity.cylinder.topRadius._value,y=this.editCylinder.entity.cylinder.bottomRadius._value,v=new Z,w=new Z,Q=new Z;this.getNorthPointByDistance(v,w,Q),this.heightPoint=this.mEarthCtrl.entities.add({name:"cylinder_edit_height_point",position:Q,point:{heightReference:this.editCylinder.entity.cylinder.heightReference,color:qe.WHITE,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}}),this.pointsId.push(this.heightPoint.id),x>0&&(this.topRadiusPoint=this.mEarthCtrl.entities.add({name:"cylinder_edit_top_radius_point",position:v,point:{heightReference:this.editCylinder.entity.cylinder.heightReference,color:qe.RED,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}}),this.pointsId.push(this.topRadiusPoint.id)),y>0&&(this.bottomRadiusPoint=this.mEarthCtrl.entities.add({name:"cylinder_edit_bottom_radius_point",position:w,point:{heightReference:this.editCylinder.entity.cylinder.heightReference,color:qe.RED,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}}),this.pointsId.push(this.bottomRadiusPoint.id))}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Cylinder entity is need!"})}addHeight(A){let f=this.editCylinder.entity.position._value,m=Lt.fromCartesian(f);return this.height=m.height+A,Z.fromRadians(m.longitude,m.latitude,this.height)}getNorthPointByDistance(A,f,m){let C=this.editCylinder.entity.position._value,E=Vr.eastNorthUpToFixedFrame(C),I=this.editCylinder.entity.cylinder.length._value,x=this.editCylinder.entity.cylinder.topRadius._value,y=this.editCylinder.entity.cylinder.bottomRadius._value;x>0&&(A.z+=I/2,A.x+=x,Re.multiplyByPoint(E,A,A)),y>0&&(f.x+=y,f.z-=I/2,Re.multiplyByPoint(E,f,f)),m.z+=I/2,Re.multiplyByPoint(E,m,m)}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editCylinder.entity.id?(this.isEditing=!0,this.currentPoint=f,this.pickHeightPoint=void 0,this.pickTopRadiusPoint=void 0,this.pickBottomRadiusPoint=void 0):f.name==="cylinder_edit_height_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickHeightPoint=f,this.pickTopRadiusPoint=void 0,this.pickBottomRadiusPoint=void 0):f.name==="cylinder_edit_top_radius_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickHeightPoint=void 0,this.pickTopRadiusPoint=f,this.pickBottomRadiusPoint=void 0):f.name==="cylinder_edit_bottom_radius_point"&&(this.isEditing=!0,this.currentPoint=void 0,this.pickHeightPoint=void 0,this.pickTopRadiusPoint=void 0,this.pickBottomRadiusPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editCylinder)||this.pickObject(A,this.editCylinder.entity))&&this.mCallback&&this.mCallback(this.editCylinder),this.currentPoint=void 0,this.dragPosition=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(k(this.currentPoint)||k(this.heightPoint)||k(this.topRadiusPoint)||k(this.bottomRadiusPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;let C=Lt.fromCartesian(m),E=Z.fromRadians(C.longitude,C.latitude,C.height+this.height);if(k(this.currentPoint))this.currentPoint.position=E,this.editCylinder.entity.position=E;else if(k(this.dragPosition)){if(k(this.pickHeightPoint)){let Q=Z.subtract(m,this.dragPosition,new Z),M=this.editCylinder.entity.cylinder.length._value;M+=Q.z,M=Math.abs(M),this.editCylinder.entity.position=this.addHeight(Q.z/2),this.editCylinder.entity.cylinder.length=M}else if(k(this.pickTopRadiusPoint)){let Q=Z.subtract(m,this.dragPosition,new Z),M=this.editCylinder.entity.cylinder.topRadius._value;M-=Q.x,M=Math.abs(M),this.editCylinder.entity.cylinder.topRadius=M}else if(k(this.pickBottomRadiusPoint)){let Q=Z.subtract(m,this.dragPosition,new Z),M=this.editCylinder.entity.cylinder.bottomRadius._value;M-=Q.x,M=Math.abs(M),this.editCylinder.entity.cylinder.bottomRadius=M}}this.dragPosition=m;let I=this.editCylinder.entity.cylinder.topRadius._value,x=this.editCylinder.entity.cylinder.bottomRadius._value,y=new Z,v=new Z,w=new Z;this.getNorthPointByDistance(y,v,w),I>0&&(this.topRadiusPoint.position=y),x>0&&(this.bottomRadiusPoint.position=v),this.heightPoint.position=w}return this.mCallback&&this.mCallback(this.editCylinder),!0}updateCylinder(A){if(k(A)&&k(this.editCylinder)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editCylinder.entity.position=A[C]:k(A[C])&&(this.editCylinder.entity.cylinder[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},stt=W1e;var q1e=class extends Qa{constructor(A,f,m,C){if(super(A,m,C),this.editEllipse=void 0,this.pickedEntity=void 0,this.semiMajorAxisPoint=void 0,this.semiMinorAxisPoint=void 0,this.pickSemiMajorAxisPoint=void 0,this.pickSemiMinorAxisPoint=void 0,this.pointsId=[],this.isEditing=!1,this.circle=!1,this.editEllipse=f,k(this.editEllipse)&&k(this.editEllipse.entity.ellipse)){let E=De.PI_OVER_TWO,I=this.updatePoint(E);this.semiMajorAxisPoint=this.mEarthCtrl.entities.add({name:"semi_major_axis_point",position:I,point:{heightReference:this.editEllipse.entity.ellipse.heightReference,color:qe.WHITE,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}}),this.pointsId.push(this.semiMajorAxisPoint.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Ellipse entity is need!"})}updatePoint(A){let f=new Z,m=new Z,C=new Z,E=this.editEllipse.entity.ellipse;this.semiMinorAxis=E.semiMinorAxis._value,this.semiMajorAxis=E.semiMajorAxis._value,this.circle=this.semiMajorAxis===this.semiMinorAxis;let I=ae(E.rotation,0);this.center=this.editEllipse.entity.position._value;let x=this.semiMinorAxis*this.semiMinorAxis,y=this.semiMajorAxis*this.semiMajorAxis,v=this.semiMajorAxis*this.semiMinorAxis,w=Z.magnitude(this.center),Q=Z.normalize(this.center,f),M=Z.cross(Z.UNIT_Z,this.center,m);M=Z.normalize(M,M);let B=Z.cross(Q,M,C),D=new Z;return Rx.pointOnEllipsoid(A,I,B,M,x,v,y,w,Q,D)}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editEllipse.entity.id?(this.isEditing=!0,this.currentPoint=f,this.pickSemiMajorAxisPoint=void 0,this.pickSemiMinorAxisPoint=void 0):f.name==="semi_minor_axis_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickSemiMajorAxisPoint=void 0,this.pickSemiMinorAxisPoint=f):f.name==="semi_major_axis_point"&&(this.isEditing=!0,this.currentPoint=void 0,this.pickSemiMajorAxisPoint=f,this.pickSemiMinorAxisPoint=void 0),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editEllipse)||this.pickObject(A,this.editEllipse.entity))&&this.mCallback&&this.mCallback(this.editEllipse),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(k(this.currentPoint)||k(this.pickSemiMajorAxisPoint)||k(this.pickSemiMinorAxisPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;if(k(this.currentPoint))this.currentPoint.position=m,this.editEllipse.entity.position=m;else if(k(this.pickSemiMajorAxisPoint)){let C=Z.distance(this.center,m);this.editEllipse.entity.ellipse.semiMajorAxis=C;let E=C*this.semiMinorAxis/this.semiMajorAxis;E>C&&(E=C),this.editEllipse.entity.ellipse.semiMinorAxis=E}else if(k(this.pickSemiMinorAxisPoint)){let C=Z.distance(this.center,m);this.editEllipse.entity.ellipse.semiMinorAxis=C}this.semiMajorAxisPoint.position=this.updatePoint(De.PI_OVER_TWO)}return this.mCallback&&this.mCallback(this.editEllipse),!0}updateEllipse(A){if(k(A)&&k(this.editEllipse)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editEllipse.entity.position=A[C]:k(A[C])&&(this.editEllipse.entity.ellipse[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},ltt=q1e;var j1e=class extends Qa{constructor(A,f,m,C){if(super(A,m,C),this.editEllipsoid=void 0,this.pickedEntity=void 0,this.height=0,this.isEditing=!1,this.pointsId=[],this.radiiXPoint=void 0,this.pickRadiiXPoint=void 0,this.radiiYPoint=void 0,this.pickRadiiYPoint=void 0,this.radiiZPoint=void 0,this.pickRadiiZPoint=void 0,this.dragPosition=void 0,this.editEllipsoid=f,k(this.editEllipsoid)&&k(this.editEllipsoid.entity.ellipsoid)){console.info(this.editEllipsoid.ellipsoid);let E=this.editEllipsoid.entity.position._value,I=Lt.fromCartesian(E);this.height=I.height;let x=new Z,y=new Z,v=new Z;this.getNorthPointByDistance(x,y,v),this.radiiXPoint=this.mEarthCtrl.entities.add({name:"ellipse_edit_x_point",position:x,point:{heightReference:this.editEllipsoid.entity.ellipsoid.heightReference,color:qe.WHITE,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}}),this.pointsId.push(this.radiiXPoint.id),this.radiiYPoint=this.mEarthCtrl.entities.add({name:"ellipse_edit_y_point",position:y,point:{heightReference:this.editEllipsoid.entity.ellipsoid.heightReference,color:qe.WHITE,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}}),this.pointsId.push(this.radiiYPoint.id),this.radiiZPoint=this.mEarthCtrl.entities.add({name:"ellipse_edit_z_point",position:v,point:{heightReference:this.editEllipsoid.entity.ellipsoid.heightReference,color:qe.WHITE,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}}),this.pointsId.push(this.radiiZPoint.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Ellipsoid entity is need!"})}addHeight(A){let f=this.editEllipsoid.entity.position._value,m=Lt.fromCartesian(f);return this.height=m.height+A,Z.fromRadians(m.longitude,m.latitude,this.height)}getNorthPointByDistance(A,f,m){let C=this.editEllipsoid.entity.position._value,E=Vr.eastNorthUpToFixedFrame(C),I=this.editEllipsoid.entity.ellipsoid.radii._value;A.x=I.x,Re.multiplyByPoint(E,A,A),f.y=-I.y,Re.multiplyByPoint(E,f,f),m.z=I.z,Re.multiplyByPoint(E,m,m)}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editEllipsoid.entity.id?(this.isEditing=!0,this.currentPoint=f,this.pickRadiiXPoint=void 0,this.pickRadiiYPoint=void 0,this.pickRadiiZPoint=void 0):f.name==="ellipse_edit_x_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickRadiiXPoint=f,this.pickRadiiYPoint=void 0,this.pickRadiiZPoint=void 0):f.name==="ellipse_edit_y_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickRadiiXPoint=void 0,this.pickRadiiYPoint=f,this.pickRadiiZPoint=void 0):f.name==="ellipse_edit_z_point"&&(this.isEditing=!0,this.currentPoint=void 0,this.pickRadiiXPoint=void 0,this.pickRadiiYPoint=void 0,this.pickRadiiZPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editEllipsoid)||this.pickObject(A,this.editEllipsoid.entity))&&this.mCallback&&this.mCallback(this.editEllipsoid),this.currentPoint=void 0,this.dragPosition=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(k(this.currentPoint)||k(this.pickRadiiXPoint)||k(this.pickRadiiYPoint)||k(this.pickRadiiZPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;let C=Lt.fromCartesian(m),E=Z.fromRadians(C.longitude,C.latitude,C.height+this.height);if(k(this.currentPoint))this.currentPoint.position=E,this.editEllipsoid.entity.position=E;else{if(k(this.dragPosition)){let v=Z.subtract(m,this.dragPosition,new Z),w=Z.normalize(v,new Z);Z.dot(v,w,v);let Q=this.editEllipsoid.entity.ellipsoid.radii._value,M=Z.clone(Q);k(this.pickRadiiXPoint)?M.x-=v.x:k(this.pickRadiiYPoint)?M.y+=v.y:k(this.pickRadiiZPoint)&&(M.z+=v.z,this.editEllipsoid.entity.position=this.addHeight(v.z)),Z.abs(M,M),this.editEllipsoid.entity.ellipsoid.radii=M}this.dragPosition=m}let I=new Z,x=new Z,y=new Z;this.getNorthPointByDistance(I,x,y),this.radiiXPoint.position=I,this.radiiYPoint.position=x,this.radiiZPoint.position=y}return this.mCallback&&this.mCallback(this.editEllipsoid),!0}updateEllipsoid(A){if(k(A)&&k(this.editEllipsoid)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editEllipsoid.entity.position=A[C]:k(A[C])&&(this.editEllipsoid.entity.ellipsoid[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},Att=j1e;var X1e=class extends Qa{constructor(A,f,m,C){if(super(A,m,C),this.editPolygon=void 0,this.pickedEntity=void 0,this.currentPoint=void 0,this.pointsId=[],this.isEditing=!1,this.editPolygon=f,k(this.editPolygon)&&k(this.editPolygon.entity.polygon))for(let E=0;E<this.editPolygon.entity.polygon.hierarchy._value.positions.length;E++){let I=this.editPolygon.entity.polygon.hierarchy._value.positions[E],x=this.mEarthCtrl.entities.add({name:"polygon_point",position:I,point:{color:qe.WHITE,pixelSize:8,outlineColor:qe.BLACK,outlineWidth:1}});this.pointsId.push(x.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Polygon entity is need!"})}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editPolygon.entity.id?(this.isEditing=!0,this.currentPoint=void 0):f.name==="polygon_point"&&(this.currentPoint=f,this.isEditing=!0),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editPolygon)||this.pickObject(A,this.editPolygon.entity))&&this.mCallback&&this.mCallback(this.editPolygon),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(k(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m;let C=[];for(let E=0;E<this.pointsId.length;E++){let I=this.pointsId[E];C.push(this.mEarthCtrl.entities.getById(I).position._value)}this.editPolygon.entity.polygon.hierarchy=C}return this.mCallback&&this.mCallback(this.editPolygon),!0}updatePolygon(A){if(k(A)&&k(this.editPolygon)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];k(A[C])&&(this.editPolygon.entity.polygon[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},utt=X1e;var Z1e=class extends Qa{constructor(A,f,m,C){super(A,m,C),this.editModel=void 0,this.pickedEntity=void 0,this.editColor=qe.RED.withAlpha(.8),this.isEditing=!1,this.editModel=f,this.oldColor=this.editModel.entity.color,this.editModel.entity.color=this.editColor,k(this.editModel)&&k(this.editModel.entity)?console.info(this.editModel.entity):(this.mEnable=!1,this.mCallback&&this.mCallback({msg:"gltf Model is need!"}))}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f===this.editModel.parameter.id&&(this.isEditing=!0,this.currentPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editModel)||this.pickObject(A,this.editModel.entity))&&this.mCallback&&this.mCallback(this.editModel),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(k(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;let C=Lt.fromCartesian(m),E=Lt.clone(C);E.longitude=De.toDegrees(E.longitude),E.latitude=De.toDegrees(E.latitude),this.editModel.lon=E.longitude,this.editModel.lat=E.latitude}return this.mCallback&&this.mCallback(this.editModel),!0}updateModel(A){if(k(A)&&k(this.editModel)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];if(k(A[C]))switch(C){case"lon":case"lat":case"alt":case"heading":case"pitch":case"roll":this.editModel[C]=A[C];break;default:this.editModel.entity[C]=A[C];break}}}}endEditEntity(){this.editModel.entity.color=this.oldColor}},ctt=Z1e;var $1e=class extends Qa{constructor(A,f,m,C){super(A,m,C),this.editLabel=void 0,this.pickedEntity=void 0,this.isEditing=!1,this.editLabel=f,k(this.editLabel)&&k(this.editLabel.entity.label)?console.info(this.editLabel.entity):(this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Label entity is need!"}))}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editLabel.entity.id&&(this.isEditing=!0,this.currentPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editLabel.entity)||this.pickObject(A,this.editLabel.entity))&&this.mCallback&&this.mCallback(this.editLabel),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(k(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m,this.editLabel.entity.position=m}return this.mCallback&&this.mCallback(this.editLabel),!0}updateLabel(A){if(k(A)&&k(this.editLabel)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editLabel.entity.position=A[C]:k(A[C])&&(this.editLabel.entity.label[C]=A[C])}}}endEditEntity(){}},htt=$1e;var ebe=class extends Qa{constructor(A,f,m,C){if(super(A,m,C),this.editPolyline=void 0,this.pickedEntity=void 0,this.currentPoint=void 0,this.pointsId=[],this.isEditing=!1,this.editPolyline=f,k(this.editPolyline)&&k(this.editPolyline.polyline))for(let E=0;E<this.editPolyline.polyline.positions._value.length;E++){let I=this.editPolyline.polyline.positions._value[E],x=this.mEarthCtrl.entities.add({name:"polyline_point",position:I,point:{color:qe.WHITE,pixelSize:8,outlineColor:qe.BLACK,outlineWidth:1}});this.pointsId.push(x.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Polyline entity is need!"})}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editPolyline.id?(this.isEditing=!0,this.currentPoint=void 0):f.name==="polyline_point"&&(this.currentPoint=f,this.isEditing=!0),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editPolyline)||this.pickObject(A,this.editPolyline.entity))&&this.mCallback&&this.mCallback(this.editPolyline),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(k(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m;let C=[];for(let E=0;E<this.pointsId.length;E++){let I=this.pointsId[E];C.push(this.mEarthCtrl.entities.getById(I).position._value)}this.editPolyline.polyline.positions=C}return this.mCallback&&this.mCallback(this.editPolyline),!0}updatePolyline(A){if(k(A)&&k(this.editPolyline)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];k(A[C])&&(this.editPolyline.polyline[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},dtt=ebe;var tbe=class extends Qa{constructor(A,f,m,C){if(super(A,m,C),this.editPolylineVolume=void 0,this.pickedEntity=void 0,this.currentPoint=void 0,this.pointsId=[],this.isEditing=!1,this.editPolylineVolume=f,k(this.editPolylineVolume)&&k(this.editPolylineVolume.entity.polylineVolume))for(let E=0;E<this.editPolylineVolume.entity.polylineVolume.positions._value.length;E++){let I=this.editPolylineVolume.entity.polylineVolume.positions._value[E],x=this.mEarthCtrl.entities.add({name:"edit_polylineVolume_point",position:I,point:{color:qe.WHITE,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}});this.pointsId.push(x.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"PolylineVolume entity is need!"})}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editPolylineVolume.entity.id?(this.isEditing=!0,this.currentPoint=void 0):f.name==="edit_polylineVolume_point"&&(this.isEditing=!0,this.currentPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editPolylineVolume)||this.pickObject(A,this.editPolylineVolume.entity))&&this.mCallback&&this.mCallback(this.editPolylineVolume),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(k(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m;let C=[];for(let E=0;E<this.pointsId.length;E++){let I=this.pointsId[E];C.push(this.mEarthCtrl.entities.getById(I).position._value)}this.editPolylineVolume.entity.polylineVolume.positions=C}return this.mCallback&&this.mCallback(this.editPolylineVolume),!0}updatePolylineVolume(A){if(k(A)&&k(this.editPolylineVolume)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editPolylineVolume.entity.position=A[C]:k(A[C])&&(this.editPolylineVolume.entity.polylineVolume[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},gtt=tbe;var ibe=class extends Qa{constructor(A,f,m,C){if(super(A,m,C),this.editRectangle=void 0,this.pickedEntity=void 0,this.leftTopPoint=void 0,this.rightBottomPoint=void 0,this.pointsId=[],this.isEditing=!1,this.editRectangle=f,k(this.editRectangle)&&k(this.editRectangle.entity.rectangle)){let E=this.editRectangle.entity.rectangle.coordinates._value,I=this.editRectangle.entity.rectangle.height._value,x=hi.northwest(E),y=Z.fromRadians(x.longitude,x.latitude,I),v=this.mEarthCtrl.entities.add({name:"rect_left_top_point",position:y,point:{heightReference:this.editRectangle.entity.rectangle.heightReference,color:qe.WHITE,pixelSize:8,outlineColor:qe.BLACK,outlineWidth:1}});this.pointsId.push(v.id),x=hi.southeast(E);let w=Z.fromRadians(x.longitude,x.latitude,I),Q=this.mEarthCtrl.entities.add({name:"rect_right_bottom_point",position:w,point:{heightReference:this.editRectangle.entity.rectangle.heightReference,color:qe.WHITE,pixelSize:8,outlineColor:qe.BLACK,outlineWidth:1}});this.pointsId.push(Q.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Rectangle entity is need!"})}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editRectangle.entity.id?(this.isEditing=!0,this.leftTopPoint=void 0,this.rightBottomPoint=void 0):f.name==="rect_left_top_point"?(this.leftTopPoint=f,this.rightBottomPoint=void 0,this.isEditing=!0):f.name==="rect_right_bottom_point"&&(this.rightBottomPoint=f,this.leftTopPoint=void 0,this.isEditing=!0),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((k(this.editRectangle)||this.pickObject(A,this.editRectangle.entity))&&this.mCallback&&this.mCallback(this.editRectangle),this.leftTopPoint=void 0,this.rightBottomPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(k(this.leftTopPoint)||k(this.rightBottomPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;let C=Lt.fromCartesian(m),E=this.editRectangle.entity.rectangle.coordinates._value;k(this.leftTopPoint)?(this.leftTopPoint.position=m,E.west=C.longitude,E.north=C.latitude):k(this.rightBottomPoint)&&(this.rightBottomPoint.position=m,E.south=C.latitude,E.east=C.longitude),this.editRectangle.entity.rectangle.coordinates=E}return this.mCallback&&this.mCallback(this.editRectangle),!0}updateRectangle(A){if(k(A)&&k(this.editRectangle)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editRectangle.entity.position=A[C]:k(A[C])&&(this.editRectangle.entity.rectangle[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},ftt=ibe;function pp(o,A={}){this._earthCtrl=o,this._scene=o.coreMap.scene,this.hpRoll={heading:0,pitch:0,roll:0,select:"",angle:0}}pp.prototype.start=function(o,A={}){if(this.end(),!!o){if(console.log(o),this.model=o,o._parameter)o._parameter.sourceType&&o._parameter.sourceType==="b3dm"||o._parameter.sourceType==="3DTiles"?(this.modeltype="b3dm",this.originPosition=Re.getTranslation(this.model._primitive._root.transform,new Z),this.model._parameter.transform||(this.model._parameter.transform={}),this.hpRoll={heading:this.model._parameter.transform.heading||0,pitch:this.model._parameter.transform.pitch||0,roll:this.model._parameter.transform.roll||0,select:"",angle:0}):o._parameter.sourceType&&o._parameter.sourceType==="I3S"?(this.modeltype="I3S",this.hpRoll={heading:this.model._parameter.heading||0,pitch:this.model._parameter.pitch||0,roll:this.model._parameter.roll||0,select:"",angle:0},this.originPosition=Re.getTranslation(this.model._layers[0]._tileset._root.transform,new Z)):o._parameter.sourceType&&o._parameter.sourceType==="s3m"?(this.modeltype="s3m",this.hpRoll={heading:this.model._parameter.heading||0,pitch:this.model._parameter.pitch||0,roll:this.model._parameter.roll||0,select:"",angle:0},this.originPosition=Re.getTranslation(this.model.modelMatrix,new Z)):(this.modeltype="GLTF",this.originPosition=Re.getTranslation(this.model._primitive.modelMatrix,new Z),this.hpRoll={heading:this.model._parameter.heading||0,pitch:this.model._parameter.pitch||0,roll:this.model._parameter.roll||0,select:"",angle:0});else if(o._layers&&o._layers[0]&&o._layers[0]._tileset){this.modeltype="I3S";let f=this.matrixGetRotation(this.model._layers[0]._tileset._root.transform);this.model._parameter={heading:f.heading||0,pitch:f.pitch||0,roll:f.roll||0,sourceType:"I3S"},this.hpRoll={heading:f.heading||0,pitch:f.pitch||0,roll:f.roll||0,select:"",angle:0},this.originPosition=Re.getTranslation(this.model._layers[0]._tileset._root.transform,new Z)}else if(o.fileType&&o.fileType==="OSGBCacheFile"||o.modelMatrix&&o._rectangle){this.modeltype="s3m";let f=this.matrixGetRotation(o.modelMatrix);this.model._parameter={heading:f.heading||0,pitch:f.pitch||0,roll:f.roll||0,sourceType:"s3m"},this.hpRoll={heading:f.heading||0,pitch:f.pitch||0,roll:f.roll||0,select:"",angle:0},this.originPosition=Re.getTranslation(this.model.modelMatrix,new Z)}else{console.log("\u6682\u4E0D\u652F\u6301\u8BE5\u6A21\u578B\u683C\u5F0F");return}return this.centerPoint=this.toDegrees(this.originPosition),this.initEvent(A),this}};pp.prototype.initEvent=function(o){this.editHandler=new pr(this._scene.canvas),this.modeltype==="b3dm"?this.radius=this.model._primitive.boundingSphere.radius:this.modeltype==="I3S"?this.radius=this.model._layers[0]._tileset.boundingSphere.radius:this.modeltype==="s3m"?this.radius=this.model._rootTiles[0].boundingVolume._boundingSphere.radius:this.radius=this.model._primitive._boundingSphere.radius;let A,f;this.createAxios(o.select),this.editHandler.setInputAction(m=>{A?(f=m.position,this.modeltype==="b3dm"?this.originPosition=Re.getTranslation(this.model._primitive._root.transform,new Z):this.modeltype==="I3S"?this.originPosition=Re.getTranslation(this.model._layers[0]._tileset._root.transform,new Z):this.modeltype==="s3m"?this.originPosition=Re.getTranslation(this.model.modelMatrix,new Z):this.originPosition=Re.getTranslation(this.model._primitive.modelMatrix,new Z),this.startPosition=this._scene.pickPosition(f)):f=void 0},_i.LEFT_DOWN),this._scene.pickPointInterval=500,this.editHandler.setInputAction(m=>{if(f){this._scene.screenSpaceCameraController.enableRotate=!1,this.edit(A,f,m),o.callback&&o.callback(A);return}let C=this._scene.pick(m.endPosition);if(C&&C.id)if(C.id._name&&C.id._name==="modeEditAxis"){let E=C.id._id;E==="entityPolylineY"?(A="y",this.selectAxis="y",this.setAxisStyle(!0,"y")):E==="entityPolylineX"?(A="x",this.selectAxis="x",this.setAxisStyle(!0,"x")):E==="entityPolylineZ"&&(A="z",this.selectAxis="z",this.setAxisStyle(!0,"z"))}else C.id==="axisSphereX"?A="pitch":C.id==="axisSphereY"?A="roll":C.id==="axisSphereZ"?A="heading":(A=void 0,this.setAxisStyle(!1));else A=void 0,this.setAxisStyle(!1)},_i.MOUSE_MOVE),this.editHandler.setInputAction(m=>{this.upDateHpRoll(),f=void 0,this._scene.screenSpaceCameraController.enableRotate=!0,this.rotateSector1&&this._earthCtrl.entities.remove(this.rotateSector1),this.rotateSector1=void 0,this.rotateSector2&&this._earthCtrl.entities.remove(this.rotateSector2),this.rotateSector2=void 0},_i.LEFT_UP)};pp.prototype.createAxios=function(o){let A=this.centerPoint,f=2e-5*Number(this.radius),m=18e-6*Number(this.radius),C=1.7*Number(this.radius);if((o===1||o===3)&&(this.arrowx=this._earthCtrl.entities.add({name:"modeEditAxis",id:"entityPolylineX",position:this.originPosition,polyline:{positions:new Z.fromDegreesArrayHeights([A.lon,A.lat,A.hei,A.lon+f,A.lat,A.hei]),material:new R2(qe.RED),followSurface:!1,width:25}}),this.arrowy=this._earthCtrl.entities.add({id:"entityPolylineY",name:"modeEditAxis",position:this.originPosition,polyline:{positions:new Z.fromDegreesArrayHeights([A.lon,A.lat,A.hei,A.lon,A.lat+m,A.hei]),material:new R2(qe.GREEN),followSurface:!1,width:25}}),this.arrowz=this._earthCtrl.entities.add({name:"modeEditAxis",id:"entityPolylineZ",position:this.originPosition,polyline:{positions:new Z.fromDegreesArrayHeights([A.lon,A.lat,A.hei,A.lon,A.lat,A.hei+C]),material:new R2(qe.BLUE),followSurface:!1,width:25}})),o===2||o===3){this.AxisX=this.createAxisSphere("axisSphereX",this.radius,this.originPosition,qe.RED),this.AxisY=this.createAxisSphere("axisSphereY",this.radius,this.originPosition,qe.GREEN),this.AxisZ=this.createAxisSphere("axisSphereZ",this.radius,this.originPosition,qe.BLUE);let E=Nt.fromRotationY(De.toRadians(90)),I=Re.fromRotationTranslation(E);Re.multiply(this.AxisX.modelMatrix,I,this.AxisX.modelMatrix);let x=Nt.fromRotationX(De.toRadians(90)),y=Re.fromRotationTranslation(x);Re.multiply(this.AxisY.modelMatrix,y,this.AxisY.modelMatrix)}};pp.prototype.createAxisSphere=function(o,A,f,m){let C={position:[],radius:A};for(let v=0;v<=360;v+=2){let w=Math.sin(De.toRadians(v)),Q=Math.cos(De.toRadians(v)),M=C.radius*Q,B=C.radius*w;C.position.push(new Z(M,B,0))}let E=Vr.eastNorthUpToFixedFrame(f),I=new AS({positions:C.position,width:8}),x=new Un({geometry:I,id:o}),y=new pa({geometryInstances:x,appearance:new vC({material:fa.fromType("Color")}),modelMatrix:E});return y.appearance.material.uniforms.color=m,this._scene.primitives.add(y)};pp.prototype.edit=function(o,A,f){if(o){let m=this.originPosition,C=this.startPosition,E=this._scene.pickPosition(f.endPosition),I=this.toDegrees(m),x=this.toDegrees(C),y=this.toDegrees(E),v=this._scene.cartesianToCanvasCoordinates(m),w=f.endPosition.y-A.y;if(o==="x"){let Q=x.lon-y.lon;I.lon-=Q*.7,this.setAxisPosition(I),this.setPosition(I)}else if(o==="y"){let Q=x.lat-y.lat;I.lat-=Q*.7,this.setAxisPosition(I),this.setPosition(I)}else if(o==="z"){let Q=x.hei-I.hei,M=w*Math.abs(Q/(A.y-v.y));I.hei-=M*.4,this.setAxisPosition(I),this.setPosition(I)}else if(o==="heading"){let Q=this.arge(v,A,f.endPosition,"+-",!0),M=this.hpRoll.heading-Q;this.hpRoll.select="heading",this.hpRoll.angle=M,this.setRotate("heading",M);let B=this.arge({x:I.lon,y:I.lat},{x:I.lon+this.radius,y:I.lat},{x:x.lon,y:x.lat},"360");this.setRotateLine("z",m,B,Q)}else if(o==="pitch"){let Q=this.hpRoll.pitch,M=this.arge(v,A,f.endPosition,"+-",!0),D=this.toDegrees(this._scene.camera.position).lon-I.lon,S=Z.subtract(C,m,new Z),P=Z.normalize(m,new Z),T=Z.angleBetween(S,P)*180/Math.PI;D>0?(Q+=M,x.lat-I.lat>0?this.setRotateLine("x",m,T,-M):this.setRotateLine("x",m,-T,-M)):(Q-=M,x.lat-I.lat>0?this.setRotateLine("x",m,T,M):this.setRotateLine("x",m,-T,M)),this.hpRoll.select="pitch",this.hpRoll.angle=Q,this.setRotate("pitch",Q)}else if(o==="roll"){let M=this.toDegrees(this._scene.camera.position).lat-I.lat,B=this.hpRoll.roll,D=this.arge(v,A,f.endPosition,"+-",!0),S=Z.subtract(C,m,new Z),P=Z.normalize(m,new Z),T=Z.angleBetween(S,P)*180/Math.PI;M>0?(B+=D,x.lon-I.lon>0?this.setRotateLine("y",m,T,D):this.setRotateLine("y",m,-T,D)):(B-=D,x.lon-I.lon>0?this.setRotateLine("y",m,T,-D):this.setRotateLine("y",m,-T,-D)),this.hpRoll.select="roll",this.hpRoll.angle=B,this.setRotate("roll",B)}}};pp.prototype.setPosition=function(o,A){let f=Z.fromDegrees(o.lon,o.lat,o.hei);if(this.modeltype==="b3dm"){let m=new Wl(De.toRadians(this.hpRoll.heading),De.toRadians(-this.hpRoll.roll),De.toRadians(this.hpRoll.pitch));this.model._primitive._root.transform=Vr.headingPitchRollToFixedFrame(f,m)}else if(this.modeltype==="I3S"){let m=new Wl(De.toRadians(this.hpRoll.heading),De.toRadians(this.hpRoll.pitch),De.toRadians(this.hpRoll.roll));this.model._layers[0]._tileset._root.transform=Vr.headingPitchRollToFixedFrame(f,m)}else if(this.modeltype==="s3m"){let m=new Wl(De.toRadians(this.hpRoll.heading),De.toRadians(this.hpRoll.pitch),De.toRadians(this.hpRoll.roll));this.model.modelMatrix=new Vr.headingPitchRollToFixedFrame(f,m)}else{let m=new Wl(De.toRadians(this.hpRoll.heading),De.toRadians(this.hpRoll.pitch),De.toRadians(this.hpRoll.roll)),C=Vr.localFrameToFixedFrameGenerator("north","west");this.model._primitive.modelMatrix=Vr.headingPitchRollToFixedFrame(f,m,gi.WGS84,C)}};pp.prototype.upDateHpRoll=function(){this.hpRoll.select==="heading"?(this.hpRoll.heading=this.hpRoll.angle,this.hpRoll.angle=0,this.hpRoll.select=""):this.hpRoll.select==="pitch"?(this.hpRoll.pitch=this.hpRoll.angle,this.hpRoll.angle=0,this.hpRoll.select=""):this.hpRoll.select==="roll"&&(this.hpRoll.roll=this.hpRoll.angle,this.hpRoll.angle=0,this.hpRoll.select=""),this.modeltype==="b3dm"?(this.model._parameter.transform.heading=this.hpRoll.heading,this.model._parameter.transform.roll=this.hpRoll.roll,this.model._parameter.transform.pitch=this.hpRoll.pitch):(this.model._parameter.heading=this.hpRoll.heading,this.model._parameter.roll=this.hpRoll.roll,this.model._parameter.pitch=this.hpRoll.pitch)};pp.prototype.setAxisPosition=function(o){let A=Z.fromDegrees(o.lon,o.lat,o.hei),f=2e-5*Number(this.radius),m=18e-6*Number(this.radius),C=1.7*Number(this.radius),E=Z.fromDegrees(o.lon+f,o.lat,o.hei),I=Z.fromDegrees(o.lon,o.lat+m,o.hei),x=Z.fromDegrees(o.lon,o.lat,o.hei+C);this._earthCtrl.entities.values[0]._polyline.positions=new Kr(function(){return[A,E]},!1),this._earthCtrl.entities.values[1]._polyline.positions=new Kr(function(){return[A,I]},!1),this._earthCtrl.entities.values[2]._polyline.positions=new Kr(function(){return[A,x]},!1)};pp.prototype.setAxisStyle=function(o,A){if(o){if(A==="x"){let f=this._earthCtrl.entities.getById("entityPolylineX");f._polyline._material._color._value=qe.YELLOW}else if(A==="y"){let f=this._earthCtrl.entities.getById("entityPolylineY");f._polyline._material._color._value=qe.YELLOW}else if(A==="z"){let f=this._earthCtrl.entities.getById("entityPolylineZ");f._polyline._material._color._value=qe.YELLOW}}else o||(this.selectAxis==="x"?(this.selectAxis=void 0,this._earthCtrl.entities.values[0]._polyline._material._color._value=qe.RED):this.selectAxis==="y"?(this.selectAxis=void 0,this._earthCtrl.entities.values[1]._polyline._material._color._value=qe.GREEN):this.selectAxis==="z"&&(this.selectAxis=void 0,this._earthCtrl.entities.values[2]._polyline._material._color._value=qe.BLUE))};pp.prototype.setRotate=function(o,A){let f=this.hpRoll.heading,m=this.hpRoll.pitch,C=this.hpRoll.roll;if(o==="heading"?f=A:o==="pitch"?m=A:o==="roll"&&(C=A),this.modeltype==="b3dm"){let E=new Wl(De.toRadians(f),De.toRadians(-C),De.toRadians(m));this.model._primitive._root.transform=Vr.headingPitchRollToFixedFrame(Re.getTranslation(this.model._primitive._root.transform,new Z),E)}else if(this.modeltype==="I3S"){let E=new Wl(De.toRadians(f),De.toRadians(m),De.toRadians(C));this.model._layers[0]._tileset._root.transform=Vr.headingPitchRollToFixedFrame(Re.getTranslation(this.model._layers[0]._tileset._root.transform,new Z),E)}else if(this.modeltype==="s3m"){let E=new Wl(De.toRadians(f),De.toRadians(m),De.toRadians(C));this.model.modelMatrix=Vr.headingPitchRollToFixedFrame(Re.getTranslation(this.model.modelMatrix,new Z),E)}else{let E=Vr.localFrameToFixedFrameGenerator("north","west"),I=new Wl(De.toRadians(f),De.toRadians(m),De.toRadians(C));this.model._primitive.modelMatrix=Vr.headingPitchRollToFixedFrame(Re.getTranslation(this.model._primitive.modelMatrix,new Z),I,gi.WGS84,E)}};pp.prototype.setRotateLine=function(o,A,f,m){o==="z"?(this.rotateSector1?this.rotateSector1.ellipsoid.maximumClock=new Kr(function(){return De.toRadians(m)},!1):this.rotateSector1=this._earthCtrl.entities.add({name:"rotateSector1",position:A,orientation:Vr.headingPitchRollQuaternion(A,new Wl(De.toRadians(360-f),0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:De.toRadians(0),maximumClock:De.toRadians(0),minimumCone:De.toRadians(90),maximumCone:De.toRadians(90),material:qe.ALICEBLUE.withAlpha(.3)}}),this.rotateSector2?this.rotateSector2.ellipsoid.maximumClock=new Kr(function(){return De.toRadians(m)},!1):this.rotateSector2=this._earthCtrl.entities.add({name:"rotateSector2",position:A,orientation:Vr.headingPitchRollQuaternion(A,new Wl(De.toRadians(360-f),0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:De.toRadians(0),maximumClock:De.toRadians(0),minimumCone:De.toRadians(90),maximumCone:De.toRadians(90),fill:!1,outline:!0,slicePartitions:2,outlineWidth:5,outlineColor:qe.YELLOW}})):o==="x"?(this.rotateSector1?this.rotateSector1.ellipsoid.maximumCone=new Kr(function(){return De.toRadians(m+f)},!1):this.rotateSector1=this._earthCtrl.entities.add({name:"rotateSector1",position:A,orientation:Vr.headingPitchRollQuaternion(A,new Wl(0,0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:De.toRadians(90.1),maximumClock:De.toRadians(90),minimumCone:De.toRadians(f),maximumCone:De.toRadians(0),material:qe.ALICEBLUE.withAlpha(.3)}}),this.rotateSector2?this.rotateSector2.ellipsoid.maximumCone=new Kr(function(){return De.toRadians(m+f)},!1):this.rotateSector2=this._earthCtrl.entities.add({name:"rotateSector2",position:A,orientation:Vr.headingPitchRollQuaternion(A,new Wl(0,0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:De.toRadians(90.1),maximumClock:De.toRadians(90),minimumCone:De.toRadians(f),maximumCone:De.toRadians(0),fill:!1,outline:!0,slicePartitions:2,outlineWidth:5,outlineColor:qe.YELLOW}})):o==="y"&&(this.rotateSector1?this.rotateSector1.ellipsoid.maximumCone=new Kr(function(){return De.toRadians(m+f)},!1):this.rotateSector1=this._earthCtrl.entities.add({name:"rotateSector1",position:A,orientation:Vr.headingPitchRollQuaternion(A,new Wl(0,0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:De.toRadians(.1),maximumClock:De.toRadians(0),minimumCone:De.toRadians(f),maximumCone:De.toRadians(0),material:qe.ALICEBLUE.withAlpha(.3)}}),this.rotateSector2?this.rotateSector2.ellipsoid.maximumCone=new Kr(function(){return De.toRadians(m+f)},!1):this.rotateSector2=this._earthCtrl.entities.add({name:"rotateSector2",position:A,orientation:Vr.headingPitchRollQuaternion(A,new Wl(0,0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:De.toRadians(.1),maximumClock:De.toRadians(0),minimumCone:De.toRadians(f),maximumCone:De.toRadians(0),fill:!1,outline:!0,slicePartitions:2,outlineWidth:5,outlineColor:qe.YELLOW}}))};pp.prototype.end=function(){this.AxisX&&this._scene.primitives.remove(this.AxisX),this.AxisX=void 0,this.AxisY&&this._scene.primitives.remove(this.AxisY),this.AxisY=void 0,this.AxisZ&&this._scene.primitives.remove(this.AxisZ),this.AxisZ=void 0,this.arrowx&&this._earthCtrl.entities.remove(this.arrowx),this.arrowx=void 0,this.arrowy&&this._earthCtrl.entities.remove(this.arrowy),this.arrowy=void 0,this.arrowz&&this._earthCtrl.entities.remove(this.arrowz),this.arrowz=void 0,this.editHandler&&this.editHandler.destroy(),this.editHandler=void 0};pp.prototype.toDegrees=function(o){let A=Lt.fromCartesian(o);return{lon:De.toDegrees(A.longitude),lat:De.toDegrees(A.latitude),hei:A.height}};pp.prototype.arge=function(o,A,f,m="180",C=!1){let E=Math.sqrt(Math.pow(o.x-A.x,2)+Math.pow(o.y-A.y,2)),I=Math.sqrt(Math.pow(o.x-f.x,2)+Math.pow(o.y-f.y,2)),x=Math.sqrt(Math.pow(A.x-f.x,2)+Math.pow(A.y-f.y,2)),y=(Math.pow(E,2)+Math.pow(I,2)-Math.pow(x,2))/(2*E*I),v=Math.acos(y)*180/Math.PI;if(m==="360"||m==="+-"){let w=C?-1:1;this.isClockwise([[A.x,w*A.y],[o.x,w*o.y],[f.x,w*f.y],[A.x,w*A.y]])||(m==="+-"?v=-v:v=360-v)}return Number(v.toFixed(2))};pp.prototype.isClockwise=function(o){let A=ws.lineString(o);return ws.booleanClockwise(A)};pp.prototype.matrixGetRotation=function(o){let A=Vr.eastNorthUpToFixedFrame(Re.getTranslation(o,new Z),gi.WGS84,new Re),f=Re.multiply(Re.inverse(A,new Re),o,new Re),m=Re.getRotation(f,new Nt),C=yr.fromRotationMatrix(m),E=Wl.fromQuaternion(C),I=De.toDegrees(E.heading),x=De.toDegrees(E.pitch),y=De.toDegrees(E.roll);return{heading:I,pitch:x,roll:y}};var ptt=pp;function Mc(o){this._earthCtrl=o,this._coreMap=o.coreMap}Mc.prototype.editPoint=function(o,A){this._earthCtrl.tools.clearTool();let f=new ott(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("point_edit_tool",f),f};Mc.prototype.updatePoint=function(o,A){o.updatePoint(A)};Mc.prototype.editPolyline=function(o,A){this._earthCtrl.tools.clearTool();let f=new dtt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("polyline_edit_tool",f),f};Mc.prototype.updatePolyline=function(o,A){o.updatePolyline(A)};Mc.prototype.editPolygon=function(o,A){this._earthCtrl.tools.clearTool();let f=new utt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("polygon_edit_tool",f),f};Mc.prototype.updatePolygon=function(o,A){o.updatePolygon(A)};Mc.prototype.editBox=function(o,A){this._earthCtrl.tools.clearTool();let f=new att(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("box_edit_tool",f),f};Mc.prototype.updateBox=function(o,A){o.updateBox(A)};Mc.prototype.editEllipsoid=function(o,A){this._earthCtrl.tools.clearTool();let f=new Att(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("ellipsoid_edit_tool",f),f};Mc.prototype.updateEllipsoid=function(o,A){o.updateEllipsoid(A)};Mc.prototype.editCylinder=function(o,A){this._earthCtrl.tools.clearTool();let f=new stt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("cylinder_edit_tool",f),f};Mc.prototype.updateCylinder=function(o,A){o.updateCylinder(A)};Mc.prototype.editModel=function(o,A){this._earthCtrl.tools.clearTool();let f=new ctt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("model_edit_tool",f),f};Mc.prototype.updateModel=function(o,A){o.updateModel(A)};Mc.prototype.createTransformEdit=function(o){return new ptt(this._earthCtrl,{model:o})};Mc.prototype.editBillboard=function(o,A){this._earthCtrl.tools.clearTool();let f=new ntt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("billboard_edit_tool",f),f};Mc.prototype.updateBillboard=function(o,A){o.updateBillboard(A)};Mc.prototype.editLabel=function(o,A){this._earthCtrl.tools.clearTool();let f=new htt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("label_edit_tool",f),f};Mc.prototype.updateLabel=function(o,A){o.updateLabel(A)};Mc.prototype.editRectangle=function(o,A){this._earthCtrl.tools.clearTool();let f=new ftt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("rectangle_edit_tool",f),f};Mc.prototype.updateRectangle=function(o,A){o.updateRectangle(A)};Mc.prototype.editEllipse=function(o,A){this._earthCtrl.tools.clearTool();let f=new ltt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("ellipse_edit_tool",f),f};Mc.prototype.updateEllipse=function(o,A){o.updateEllipse(A)};Mc.prototype.editPolylineVolume=function(o,A){this._earthCtrl.tools.clearTool();let f=new gtt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("polylinevolume_edit_tool",f),f};Mc.prototype.updatePolylineVolume=function(o,A){o.updatePolylineVolume(A)};Mc.prototype.endEditEntity=function(o){this._earthCtrl.tools.clearTool(),o.endEditEntity(),this._earthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!0,this._earthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!0};var rbe=Mc;function mp(o){this.mEarthCtrl=o,this.scene=this.mEarthCtrl.coreMap.scene,this.entities=this.mEarthCtrl.entities,this.camera=this.mEarthCtrl.coreMap.camera,this._points=[],this.item=void 0}mp.prototype.horizontalDistance=function(o,A){let f=this,m=!1,C=[],E="",I=[],x,y=this.scene.globe.ellipsoid,v={spot:[],distance:[],label:[],polyline:[]},w={point:qe.RED,polyline:qe.fromRgba(4286644096)};k(A)&&(k(A.point)&&(w.point=A.point),k(A.polyline)&&(w.polyline=A.polyline));let Q=new nI;this.scene.primitives.add(Q);let M=new Pu,B=new pr(f.scene.canvas),D=document.createElement("div");ru(".map-widget",D),ru(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>');let P=document.getElementById("toolTip");P.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01</span>';let R;m=!0;let T=function(U){let N=0,H=`${0}\u7C73`,J,K,X,j,ee,ie;for(let z=0;z<U.length-1;z+=1)J=y.cartesianToCartographic(U[z]),K=M.project(J),X=K.x,j=K.y,J=y.cartesianToCartographic(U[z+1]),K=M.project(J),ee=K.x,ie=K.y,N=N+Math.sqrt((X-ee)*(X-ee)+(j-ie)*(j-ie));return N>0&&(H=`${N.toFixed(2)}\u7C73`),N/1e3>=1&&(H=`${(N/1e3).toFixed(2)}\u5343\u7C73`),H},L=function(){function U(N){if(!k(N))throw new ni("positions is required!");if(N.length<2)throw new ni("positions \u7684\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E2");let H=fa.fromType(fa.ColorType);H.uniforms.color=new qe(1,1,0,.5),this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:w.polyline,width:3,clampToGround:!0}},this.path=N,this._init()}return U.prototype._init=function(){let N=this,H=function(){return N.path};this.options.polyline.positions=new Kr(H,!1),this.lineEntity=f.entities.add(this.options),f.item=this.lineEntity,v.polyline.push(this.lineEntity)},U}();B.setInputAction(function(U){let N,H;P.style.left=`${U.endPosition.x+10}px`,P.style.top=`${U.endPosition.y+20}px`,P.style.display="block",P.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01</span>';let J=!1,K=f.camera.getPickRay(U.endPosition);K&&(N=f.scene.globe.pick(K,f.scene));let X=f.scene.pick(U.endPosition);if(X){console.log("feature",X);let j=f.scene.pickPosition(U.endPosition);j&&(N=j),J=!0}if(!!N&&(H=gi.WGS84.cartesianToCartographic(N),H)){let j;J?j=f.scene.sampleHeight(H):j=f.scene.globe.getHeight(H);let ee=Z.fromDegrees(H.longitude/Math.PI*180,H.latitude/Math.PI*180,j);if(m){if(C.length<1)return;k(x)?(x.path.pop(),x.path.push(ee)):(C.push(ee),x=new L(C));let ie=T(x.path);f.entities.remove(R),R=f.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:x.path[x.path.length-1],label:{text:`\u603B\u957F\uFF1A${ie}`,show:!0,font:"26px \u6977\u4F53",fillColor:qe.WHITE,style:fu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:on.BOTTOM,pixelOffset:new tt(20,-20),disableDepthTestDistance:Number.POSITIVE_INFINITY}})}}},_i.MOUSE_MOVE);let F=function(U){I.push(U);let N=[];if(I.length>1){let H=I[I.length-2],J=I[I.length-1],K=Math.abs(H.longitude-J.longitude)*1e7,X=Math.abs(H.latitude-J.latitude)*1e7;K>X&&(X=K);let j=parseInt(X/10);j>1e3&&(j=1e3),j<2&&(j=2);for(let ee=0;ee<j;++ee)N.push(new Lt(De.lerp(H.longitude,J.longitude,ee/(j-1)),De.lerp(H.latitude,J.latitude,ee/(j-1))));N.push(J.clone())}else N=I;if(N.length>0)for(let H=0;H<N.length;H++){U=N[H];let J=f.scene.globe.getHeight(U),K=Z.fromDegrees(U.longitude/Math.PI*180,U.latitude/Math.PI*180,J);C.push(K)}};return B.setInputAction(function(U){let N,H,J=!1,K=f.camera.getPickRay(U.position);if(K&&(N=f.scene.globe.pick(K,f.scene)),f.scene.pick(U.position)){let j=f.scene.pickPosition(U.position);j&&(N=j),J=!0}if(N&&(H=gi.WGS84.cartesianToCartographic(N)),H){let j;J?j=f.scene.sampleHeight(H):j=f.scene.globe.getHeight(H);let ee=Z.fromDegrees(H.longitude/Math.PI*180,H.latitude/Math.PI*180,j);if(m){x&&x.path.pop(),F(H);let ie="0\u7C73";x&&(ie=T(x.path)),E=ie,v.spot.push(ee),v.distance.push(ie);let z=f.entities.add({position:ee,point:{pixelSize:5,color:w.point,outlineColor:qe.WHITE,outlineWidth:1,clampToGround:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY},label:{text:ie,show:!0,font:"26px \u6977\u4F53",fillColor:qe.WHITE,style:fu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:on.BOTTOM,pixelOffset:new tt(20,-20),clampToGround:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});v.label.push(z),f._points.push(z)}}},_i.LEFT_CLICK),B.setInputAction(function(){f.entities.remove(R),f._points[f._points.length-1].label.text=E,B.destroy(),C.pop(),k(o)&&typeof o=="function"&&o(v),P.style.display="none"},_i.RIGHT_CLICK),this};mp.prototype.spaceDistance=function(o,A){let f=this;f.scene.globe.depthTestAgainstTerrain=!0;let m=new pr(f.scene.canvas),C=[],E=null,I="0\u7C73",x=null,y,v="",w,Q=document.createElement("div");ru(".map-widget",Q),ru(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>');let B=document.getElementById("toolTip");B.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01</span>';let D={name:"",spot:[],distance:[],label:[],ployline:[]},S={point:qe.RED,polyline:qe.fromRgba(4286644096)};k(A)&&(k(A.point)&&(S.point=A.point),k(A.polyline)&&(S.polyline=A.polyline));let P=function(){function R(T){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:S.polyline,width:3,clampToGround:!1}},this.positions=T,this._init()}return R.prototype._init=function(){let T=this,L=function(){return T.positions};this.options.polyline.positions=new Kr(L,!1);let F=f.entities.add(this.options);f.item=F,D.ployline.push(F);let U=f.getuid();D.name=`\u65B0\u5EFA\u7A7A\u95F4\u8DDD\u79BB${U}`},R}();return m.setInputAction(function(R){if(f.scene.bim){let T=f.scene.bim.PickWorldPositionSync(R.endPosition.x,R.endPosition.y);T[0]===0?x=f.scene.pickPosition(R.endPosition):x=new Z(T[0],T[1],T[2]),console.log("????????",x)}else x=f.scene.pickPosition(R.endPosition);!x||(B.style.left=`${R.endPosition.x+10}px`,B.style.top=`${R.endPosition.y+20}px`,B.style.display="block",C.length>=2&&(k(E)?(C.pop(),C.push(x)):E=new P(C),B.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u53F3\u952E\u7ED3\u675F\uFF01</span>',I=f.getSpaceDistance(C)),f.entities.remove(w),w=f.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:C[C.length-1],label:{text:`\u603B\u957F\uFF1A${I}`,show:!0,font:"26px \u6977\u4F53",fillColor:qe.WHITE,style:fu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:on.BOTTOM,pixelOffset:new tt(20,-20),disableDepthTestDistance:Number.POSITIVE_INFINITY}}))},_i.MOUSE_MOVE),m.setInputAction(function(R){if(f.scene.bim){let L=f.scene.bim.PickWorldPositionSync(R.position.x,R.position.y);L[0]===0?x=f.scene.pickPosition(R.position):x=new Z(L[0],L[1],L[2]),console.log("????????",x)}else x=f.scene.pickPosition(R.position);if(!x)return;C.length===0&&C.push(x.clone()),C.push(x);let T=I;v=`\u603B\u957F\uFF1A${I}`,y=f.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:C[C.length-1],point:{pixelSize:5,color:S.point,outlineColor:qe.WHITE,outlineWidth:2,clampToGround:!1,disableDepthTestDistance:Number.POSITIVE_INFINITY},label:{text:T,show:!0,font:"26px \u6977\u4F53",fillColor:qe.WHITE,style:fu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:on.BOTTOM,pixelOffset:new tt(20,-20),heightReference:tn.NONE,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),f._points.push(y),D.spot.push(x),D.distance.push(I),D.label.push(y)},_i.LEFT_CLICK),m.setInputAction(function(R){B.style.display="none",f.entities.remove(w),f._points.length>0&&(f._points[f._points.length-1].label.text=v),m.destroy(),C.pop(),k(o)&&typeof o=="function"&&o(D)},_i.RIGHT_CLICK),this};mp.prototype.getSpaceDistance=function(o){let A=0,f="";for(let m=0;m<o.length-1;m++){let C=Lt.fromCartesian(o[m]),E=Lt.fromCartesian(o[m+1]),I=new Ig;I.setEndPoints(C,E);let x=I.surfaceDistance;x=Math.sqrt(Math.pow(x,2)+Math.pow(E.height-C.height,2)),A=A+x}return A>=1e3?f=`${(A/1e3).toFixed(2)}\u5343\u7C73`:f=`${A.toFixed(2)}\u7C73`,f};mp.prototype.getPlaneArea=function(o,A){let f=this;f.scene.globe.depthTestAgainstTerrain=!0;let m=0,C=new pr(f.scene._imageryLayerCollection),E=document.getElementById("toolTip");E||(ru(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>'),E=document.getElementById("toolTip")),E.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB\uFF0C\u53F3\u952E\u7ED3\u675F\uFF01</span>';let I=[],x={},y=[],v=[],w=null,Q=null,M,B={point:qe.RED,polyline:qe.fromRgba(4286644096),polygon:qe.fromRgba(4286644096).withAlpha(.5)};k(A)&&(k(A.point)&&(B.point=A.point),k(A.polyline)&&(B.polyline=A.polyline),k(A.polygon)&&(B.polygon=A.polygon));let D={mj:0,label:[],polygon:[]};E.style.display="block";let S=function(){function P(R){this.options={name:"\u591A\u8FB9\u5F62",polygon:{hierarchy:[],perPositionHeight:!0,material:B.polygon,clampToGround:!1}},this.hierarchy=R,this._init()}return P.prototype._init=function(){let R=this,T=function(){return R.hierarchy};this.options.polygon.hierarchy=new Kr(T,!1),this.polygon=f.entities.add(this.options),f.item=this.polygon,f._entity=this.polygon,D.polygon=this.polygon},P}();return C.setInputAction(function(P){if(E.style.left=`${P.endPosition.x+10}px`,E.style.top=`${P.endPosition.y+20}px`,f.scene.bim){let U=f.scene.bim.PickWorldPositionSync(P.endPosition.x,P.endPosition.y);U[0]===0?Q=f.scene.pickPosition(P.endPosition):Q=new Z(U[0],U[1],U[2])}else Q=f.scene.pickPosition(P.endPosition);if(!Q)return;let R=Lt.fromCartesian(Q),T=De.toDegrees(R.longitude),L=De.toDegrees(R.latitude),F=R.height;if(I.length>=2){k(w)?(I.pop(),I.push(Q),x=new In(I),v.pop(),v.push({lon:T,lat:L,hei:F})):(x=new In(I),w=new S(x));let U=f.getArea(v,I);f.entities.remove(M),M=f.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:I[I.length-1],label:{text:U,font:"26px \u6977\u4F53",show:!0,fillColor:qe.WHITE,style:fu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:on.BOTTOM,pixelOffset:new tt(20,-40),heightReference:tn.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),D.label=M}},_i.MOUSE_MOVE),C.setInputAction(function(P){if(f.scene.bim){let U=f.scene.bim.PickWorldPositionSync(P.position.x,P.position.y);U[0]===0?Q=f.scene.pickPosition(P.position):Q=new Z(U[0],U[1],U[2])}else Q=f.scene.pickPosition(P.position);if(!Q)return;let R=Lt.fromCartesian(Q);console.log("\u5DE6\u952E\u70B9",R);let T=De.toDegrees(R.longitude),L=De.toDegrees(R.latitude),F=R.height;I.length===0&&(I.push(Q.clone()),x=new In(I),v.push({lon:T,lat:L,hei:F}),I.push(Q.clone()),x=new In(I),v.push({lon:T,lat:L,hei:F})),I.push(Q),x=new In(I),y.push({lon:T,lat:L,hei:F}),v.push({lon:T,lat:L,hei:F})},_i.LEFT_CLICK),C.setInputAction(function(P){E.style.display="none",f.entities.remove(M),C.destroy();let R=f.getArea(v,I);m=R;let T=f.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:I[I.length-1],label:{text:R,font:"26px \u6977\u4F53",show:!0,fillColor:qe.WHITE,style:fu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:on.BOTTOM,pixelOffset:new tt(20,-40),heightReference:tn.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}});f._points.push(T),f._lable=T,D.mj=m,D.label=T,k(o)&&typeof o=="function"&&o(D)},_i.RIGHT_CLICK),this};mp.prototype.getSurfaceArea3d=function(o,A){let f=this;f.scene.globe.depthTestAgainstTerrain=!0;let m={mj:0,label:[],polygon:[]},C=!0,E=[],I={},x,y=f.scene,v=y.globe.ellipsoid,w=new nI;y.primitives.add(w);let Q,M,B=0,D={point:qe.RED,polyline:qe.fromRgba(4286644096),polygon:qe.fromRgba(4286644096).withAlpha(.5)};k(A)&&(k(A.point)&&(D.point=A.point),k(A.polyline)&&(D.polyline=A.polyline),k(A.polygon)&&(D.polygon=A.polygon));let S=document.createElement("div");ru(".map-widget",S),ru(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>');let R=document.getElementById("toolTip");R.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01</span>';let T=new pr(y.canvas),L=function(){function U(N){if(!k(N))throw new ni("positions is required!");if(N.length<3)throw new ni("positions \u7684\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E3");this.options={polygon:{show:!0,hierarchy:void 0,material:D.polygon,clampToGround:!1}},this.path=N,this._init()}return U.prototype._init=function(){let N=this,H=function(){return N.path};this.options.polygon.hierarchy=new Kr(H,!1),this.polygonEntity=f.entities.add(this.options),f.item=this.polygonEntity,m.polygon=this.polygonEntity,f._entity=this.polygonEntity},U}();T.setInputAction(function(U){let N=0;f.entities.remove(M);let H,J,K=f.scene.camera.getPickRay(U.endPosition);K&&(H=f.scene.globe.pick(K,f.scene));let X=f.scene.pick(U.endPosition),j=!1;if(X){let ie=f.scene.pickPosition(U.endPosition);ie&&(H=ie),j=!0}if(!H)return;let ee=function(ie){let z=new Array(ie.length),oe=function(he){return he.longitude=he.longitude/Math.PI*180,he.latitude=he.latitude/Math.PI*180,he},le=function(he){let ge=0;for(let de=0;de<he.length;de++){let fe=he[de],G;de<he.length-1?G=he[de+1]:G=he[0],ge+=fe.x*G.y-G.x*fe.y}return ge/2};for(let he=0;he<ie.length;he++)z[he]=oe(v.cartesianToCartographic(ie[he]));let Ae=0;for(let he=0;he<z.length;he++)Ae+=z[he].longitude;Ae=Ae/z.length;for(let he=0;he<z.length;he++)z[he]=f.Gauss_to_XY(z[he].longitude,z[he].latitude,Ae);return Math.abs(le(z))};if(J=gi.WGS84.cartesianToCartographic(H),J&&C){if(R.style.left=`${U.endPosition.x+10}px`,R.style.top=`${U.endPosition.y+20}px`,R.style.display="block",E.length<2){B===1&&(M=f.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:H,label:{text:`${N}\u5E73\u65B9\u5343\u7C73`,font:"26px \u6977\u4F53",show:!0,fillColor:qe.WHITE,style:fu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:on.BOTTOM,pixelOffset:new tt(20,-40),heightReference:tn.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),f._points.push(M),m.label=M);return}if(k(x)?(x.path.positions.pop(),x.path.positions.push(H)):(E.push(H),I=new In(E),x=new L(I)),E.length>=2){R.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u53F3\u952E\u7ED3\u675F\uFF01</span>';let ie=String(ee(x.path.positions));ie=ie.substr(0,ie.indexOf(".",0)),ie.length<6?N=`${ie}\u5E73\u65B9\u7C73`:(ie=String(ie/1e6),ie=ie.substr(0,ie.indexOf(".",0)+3),N=`${ie}\u5E73\u65B9\u5343\u7C73`),m.mj=N,M=f.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:H,label:{text:N,font:"26px \u6977\u4F53",show:!0,fillColor:qe.WHITE,style:fu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:on.BOTTOM,pixelOffset:new tt(20,-40),heightReference:tn.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),f._points.push(M),m.label=M}}},_i.MOUSE_MOVE),T.setInputAction(function(U){let N;B=1;let H=f.scene.camera.getPickRay(U.position);H&&(N=f.scene.globe.pick(H,f.scene));let J=f.scene.pick(U.position),K=!1;if(J){let X=f.scene.pickPosition(U.position);X&&(N=X),K=!0}N&&C&&(E.push(N),I=new In(E))},_i.LEFT_CLICK),T.setInputAction(function(){T.removeInputAction(_i.LEFT_CLICK),T.removeInputAction(_i.LEFT_DOUBLE_CLICK),f.trackedEntity=void 0,C=!1,Q=w.add({show:!0,id:"measureTool",position:E[E.length-1],pixelOffset:new tt(0,20),eyeOffset:new Z(0,0,0),horizontalOrigin:iu.CENTER,verticalOrigin:on.CENTER,scale:1,color:new qe(1,1,1,1)}),R.style.display="none",T.destroy(),k(o)&&typeof o=="function"&&o(m)},_i.RIGHT_CLICK);let F=function(U){let N=0,H=0,J=0;for(let X=0;X<U.length;X++)N+=U[X].x,H+=U[X].y,J+=U[X].z;return new Z(N/U.length,H/U.length,J/U.length)};return this};mp.prototype.to_N=function(o){let f=63567523142e-4,m=Math.sqrt(6378137*6378137-f*f)/6378137;return 6378137/Math.sqrt(1-m*m*Math.sin(o)*Math.sin(o))};mp.prototype.to_Sm=function(o){let f=63567523142e-4,m=Math.sqrt(6378137*6378137-f*f)/6378137,C,E,I,x,y;return C=1+m*m*3/4+Math.pow(m,4)*45/64+Math.pow(m,6)*175/256+Math.pow(m,8)*11025/16384,E=Math.pow(m,2)*3/4+Math.pow(m,4)*15/16+Math.pow(m,6)*525/512+Math.pow(m,8)*2205/2048,I=Math.pow(m,4)*15/64+Math.pow(m,6)*105/256+Math.pow(m,8)*2205/4096,x=Math.pow(m,6)*35/512+Math.pow(m,8)*315/2048,y=Math.pow(m,8)*315/16384,6378137*(1-m*m)*(C*o-E/2*Math.sin(2*o)+I/4*Math.sin(4*o)-x/6*Math.sin(6*o)+y/8*Math.sin(8*o))};mp.prototype.to_Radian=function(o){return o*Math.PI/180};mp.prototype.Gauss_to_XY=function(o,A,f){let C=63567523142e-4,E=Math.sqrt(6378137*6378137-C*C)/C,I=0,x=0,y=0,v=0,w=this.to_Radian(f);A=this.to_Radian(A),o=this.to_Radian(o);let Q=o-w,M=Math.cos(A);v=this.to_N(A),y=v*Math.cos(A),I=Math.tan(A),x=E*M;let B=Math.pow(I,2),D=Math.pow(I,4),S=Math.pow(x,2),P=Math.pow(x,4),R=Math.pow(M,3),T=Math.pow(M,5),L=this.to_Sm(A)+Math.pow(Q,2)/2*y*M*I+Math.pow(Q,4)/24*I*y*R*(5-B+9*S+4*P)+Math.pow(Q,6)/720*I*y*T*(61-58*I*I+D+270*S-330*I*I*S),F=Q*v*M+Math.pow(Q,3)/6*v*R*(1-I*I+x*x)+Math.pow(Q,5)/120*v*T*(5-18*I*I+D+14*S-58*S*B);return new tt(F,L)};mp.prototype.getArea=function(o,A){let f=0;for(let m=0;m<o.length-2;m++){let C=(m+1)%o.length,E=(m+2)%o.length,I=this.Angle(o[m],o[C],o[E]),x=this.getdistance(A[m],A[C]),y=this.getdistance(A[C],A[E]);f+=x*y*Math.abs(Math.sin(I))}return f<1e6?f=`${f.toFixed(4)}\u5E73\u65B9\u7C73`:f=`${(f/1e6).toFixed(4)}\u5E73\u65B9\u5343\u7C73`,f};mp.prototype.getdistance=function(o,A){let f=Lt.fromCartesian(o),m=Lt.fromCartesian(A),C=new Ig;C.setEndPoints(f,m);let E=C.surfaceDistance;return E=Math.sqrt(Math.pow(E,2)+Math.pow(m.height-f.height,2)),E};mp.prototype.Bearing=function(o,A){let f=Math.PI/180,m=180/Math.PI,C=o.lat*f,E=o.lon*f,I=A.lat*f,x=A.lon*f,y=-Math.atan2(Math.sin(E-x)*Math.cos(I),Math.cos(C)*Math.sin(I)-Math.sin(C)*Math.cos(I)*Math.cos(E-x));return y<0&&(y+=Math.PI*2),y=y*m,y};mp.prototype.Angle=function(o,A,f){let m=this.Bearing(A,o),C=this.Bearing(A,f),E=m-C;return E<0&&(E+=360),E};mp.prototype.getuid=function(){return this.uuid(8,16)};mp.prototype.uuid=function(o,A){let f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),m=[],C;if(A=A||f.length,o)for(C=0;C<o;C++)m[C]=f[0|De.nextRandomNumber()*A];else{let E;for(m[8]=m[13]=m[18]=m[23]="-",m[14]="4",C=0;C<36;C++)m[C]||(E=0|De.nextRandomNumber()*16,m[C]=f[C===19?E&3|8:E])}return m.join("")};mp.prototype.deleteObject=function(){if(this.entities.remove(this.item),this._points.length>0){for(let o=0;o<this._points.length;o++)this.entities.remove(this._points[o]);this._points=[]}try{this.scene.primitives.remove(this.item)}catch(o){console.log(o)}this.item=void 0};var IJ=mp;function Tv(o,A){this._earthCtrl=o,this._coreMap=this._earthCtrl.coreMap,this._show=ae(A.show,!0),this._lon=ae(A.lon,121),this._lat=ae(A.lat,31),this._height=ae(A.height,10),this._heading=ae(A.heading,0),this._pitch=ae(A.pitch,0),this._distance=ae(A.distance,300),this._position=Z.fromDegrees(A.lon,A.lat,A.height),this._horizontalViewAngle=ae(A.horizontalViewAngle,90),this._verticalViewAngle=ae(A.verticalViewAngle,60),this._horizontalViewAngle=this.adjustViewRange(this._horizontalViewAngle),this._verticalViewAngle=this.adjustViewRange(this._verticalViewAngle),this._visibleAreaColor=ae(A.visibleAreaColor,qe.GREEN.withAlpha(.4)),this._invisibleAreaColor=ae(A.invisibleAreaColor,qe.RED.withAlpha(.4)),this._size=ae(A.size,10240),this._softShadows=ae(A.softShadows,!0),this._colorStyle=ae(A.colorStyle,qe.YELLOW),this._parameter=A,this._lineArray=[],this._visualCone=!0,this.pyramid=void 0,this.updateViewShed()}Object.defineProperties(Tv.prototype,{show:{get:function(){return this._show},set:function(o){o!==this._show&&(this._show=o,this.updateViewShed())}},distance:{get:function(){return this._distance}},heading:{get:function(){return this._heading}},pitch:{get:function(){return this._pitch}},horizontalViewAngle:{get:function(){return this._horizontalViewAngle}},verticalViewAngle:{get:function(){return this._verticalViewAngle}},colorStyle:{get:function(){return this._colorStyle},set:function(o){this._colorStyle=o}},invisibleAreaColor:{get:function(){return this._invisibleAreaColor},set:function(o){this._invisibleAreaColor=o}},visibleAreaColor:{get:function(){return this._visibleAreaColor},set:function(o){this._visibleAreaColor=o}},visualCone:{get:function(){return this._visualCone},set:function(o){this._visualCone=o,this.visualConeShow(o)}}});Tv.prototype.adjustViewRange=function(o){return o<=0?o=1:o>=180&&(o=179),o};Tv.prototype.removeFromMap=function(){let o=this;k(o.viewShedMap)&&(o.viewShedMap.enabled=!1),k(o.pyramid)&&(o._earthCtrl.entities.removeById(o.pyramid.id),o.pyramid=null);for(let A=0;A<o._lineArray.length;A++){let f=o._lineArray[A];o._earthCtrl.entities.remove(f)}o._lineArray=[]};Tv.prototype.visualConeShow=function(o){let A=this;k(A.pyramid)&&(A.pyramid.show=o);for(let f=0;f<A._lineArray.length;f++){let m=A._lineArray[f];m.show=o}};Tv.prototype.addVisualPyramid=function(){let o=this,A=new zO({radii:new Kr(function(){return new Z(o._distance,o._distance,o._distance)},!1),minimumClock:new Kr(function(){return De.toRadians(90-o._heading-o._horizontalViewAngle/2)},!1),maximumClock:new Kr(function(){return De.toRadians(90-o._heading+o._horizontalViewAngle/2)},!1),minimumCone:new Kr(function(){return De.toRadians(90-o._verticalViewAngle/2)},!1),maximumCone:new Kr(function(){return De.toRadians(90+o._verticalViewAngle/2)},!1),fill:!1,outline:!0,subdivisions:128,slicePartitions:32,stackPartitions:16,outlineColor:new Kr(function(){return o._colorStyle},!1)}),f=new Fu({position:new Kr(function(){return o._position},!1),ellipsoid:A});this.pyramid=o._earthCtrl.entities.add(f)};Tv.prototype.createLightCamera=function(){k(this.viewShedMap)?this._lightCamera=this.viewShedMap._lightCamera:this._lightCamera=new Ms(this._coreMap.scene),this._lightCamera.position=this._position};Tv.prototype.updateParameters=function(o){let A=this,f=A._lightCamera;if(!!k(o)&&(k(o.lon)||k(o.lat)||k(o.height)||k(o.heading)||k(o.pitch)||k(o.roll)||k(o.far)||k(o.distance)||k(o.verticalViewAngle)||k(o.horizontalViewAngle))){let m=this._parameter;for(let x in o)o.hasOwnProperty(x)&&k(m[x])&&(m[x]=o[x]);m.distance>=A.viewShedMap.maximumDistance&&(m.distance=A.viewShedMap.maximumDistance),A._heading=m.heading,A._pitch=m.pitch,A._distance=m.distance,A.viewShedMap._pointLightRadius=m.distance,m.verticalViewAngle=A.adjustViewRange(m.verticalViewAngle),A._verticalViewAngle=m.verticalViewAngle,m.horizontalViewAngle=A.adjustViewRange(m.horizontalViewAngle),A._horizontalViewAngle=m.horizontalViewAngle,A._position=Z.fromDegrees(m.lon,m.lat,m.height);let C=De.toRadians(m.heading);f.setView({destination:A._position,orientation:{heading:C,pitch:0,roll:0}}),f.frustum.far=m.far||1e5;let E=De.toRadians(A._horizontalViewAngle),I=De.toRadians(A._verticalViewAngle);f.frustum.aspectRatio=Math.tan(E/2)/Math.tan(I/2),E>I?f.frustum.fov=E:f.frustum.fov=I}};Tv.prototype.createShadowMap=function(){if(k(this.viewShedMap)){this.viewShedMap.enabled=!0;return}this.viewShedMap=new _4({context:this._coreMap.scene.context,lightCamera:this._lightCamera,enabled:!0,isPointLight:!0,pointLightRadius:this._distance,cascadesEnabled:!1,size:this._size,softShadows:!0,normalOffset:!1,fromLightSource:!1,visibleAreaColor:this._visibleAreaColor,invisibleAreaColor:this._invisibleAreaColor}),this._earthCtrl.viewShedMapList.push(this.viewShedMap)};var Gm=new Z;Tv.prototype.drawViewCentrum=function(){let o=this;function A(){let v=o.pyramid._ellipsoid._minimumClock.getValue(),w=o.pyramid._ellipsoid._minimumCone.getValue(),Q=o.pyramid._ellipsoid.radii.getValue(),M=Math.sin,B=Math.cos,D=M(w),S=B(w),P=M(v),R=B(v);Gm.x=Q.x*D*R,Gm.y=Q.y*D*P,Gm.z=Q.z*S;let T=new EB.changeCartesian3ByScalar(o._position,Gm);return[o._position,T]}let f=this._earthCtrl.entities.add({polyline:{positions:new Kr(A,!1),material:this._colorStyle}});this._lineArray.push(f);function m(){let v=o.pyramid._ellipsoid._maximumClock.getValue(),w=o.pyramid._ellipsoid._minimumCone.getValue(),Q=o.pyramid._ellipsoid.radii.getValue(),M=Math.sin,B=Math.cos,D=M(w),S=B(w),P=M(v),R=B(v);Gm.x=Q.x*D*R,Gm.y=Q.y*D*P,Gm.z=Q.z*S;let T=new EB.changeCartesian3ByScalar(o._position,Gm);return[o._position,T]}let C=this._earthCtrl.entities.add({polyline:{positions:new Kr(m,!1),material:this._colorStyle}});this._lineArray.push(C);function E(){let v=o.pyramid._ellipsoid._minimumClock.getValue(),w=o.pyramid._ellipsoid._maximumCone.getValue(),Q=o.pyramid._ellipsoid.radii.getValue(),M=Math.sin,B=Math.cos,D=M(w),S=B(w),P=M(v),R=B(v);Gm.x=Q.x*D*R,Gm.y=Q.y*D*P,Gm.z=Q.z*S;let T=new EB.changeCartesian3ByScalar(o._position,Gm);return[o._position,T]}let I=this._earthCtrl.entities.add({polyline:{positions:new Kr(E,!1),material:this._colorStyle}});this._lineArray.push(I);function x(){let v=o.pyramid._ellipsoid._maximumClock.getValue(),w=o.pyramid._ellipsoid._maximumCone.getValue(),Q=o.pyramid._ellipsoid.radii.getValue(),M=Math.sin,B=Math.cos,D=M(w),S=B(w),P=M(v),R=B(v);Gm.x=Q.x*D*R,Gm.y=Q.y*D*P,Gm.z=Q.z*S;let T=EB.changeCartesian3ByScalar(o._position,Gm);return[o._position,T]}let y=this._earthCtrl.entities.add({polyline:{positions:new Kr(x,!1),material:this._colorStyle}});this._lineArray.push(y)};Tv.prototype.updateViewShed=function(){this.show?(this.createLightCamera(),this.setCameraParams(),this.createShadowMap(),this.addVisualPyramid(),this.drawViewCentrum()):this.removeFromMap()};Tv.prototype.setCameraParams=function(){this._lightCamera.frustum.near=.1,this._lightCamera.frustum.far=this._distance;let o=De.toRadians(this._horizontalViewAngle),A=De.toRadians(this._verticalViewAngle);this._lightCamera.frustum.aspectRatio=Math.tan(o/2)/Math.tan(A/2),o>A?this._lightCamera.frustum.fov=o:this._lightCamera.frustum.fov=A,this._lightCamera.setView({destination:this._position,orientation:{heading:De.toRadians(this._heading),pitch:De.toRadians(this._pitch),roll:0}})};var nbe=Tv;var obe=gi.WGS84;function Kh(o){this._cesiumViewer=o,this.coreMap=o.coreMap,this._scene=this.coreMap.scene,this.loading||this.addLoading(),this._tooltip=TBi(this.coreMap.container)}function abe(o,A){if(o===null||typeof o!="object"||o.constructor!==Object&&o.constructor!==Array)return o;if(o.constructor===Date||o.constructor===RegExp||o.constructor===Function||o.constructor===String||o.constructor===Number||o.constructor===Boolean)return new o.constructor(o);A=A||new o.constructor;for(let f in o)A[f]=typeof A[f]>"u"?abe(o[f],null):A[f];return A}function mtt(o,A){let f=abe(o),m;for(m in A)f[m]===void 0&&(f[m]=abe(A[m]));return f}function TBi(o){let A=function(f){let m=document.createElement("DIV");m.className="twipsy right";let C=document.createElement("DIV");C.className="twipsy-arrow",m.appendChild(C);let E=document.createElement("DIV");E.className="twipsy-inner",m.appendChild(E),this._div=m,this._title=E,f.appendChild(m)};return A.prototype.setVisible=function(f){this._div.style.display=f?"block":"none"},A.prototype.showAt=function(f,m){f&&m&&(this.setVisible(!0),this._title.innerHTML=m,this._div.style.left=`${f.x+30}px`,this._div.style.top=`${f.y-this._div.clientHeight/2-15}px`)},new A(o)}Kh.prototype.addToolbar=function(o,A){return A=mtt(A,{container:o}),new Kh.Toolbar(this,A)};var Ctt={shiftX:0,shiftY:0};Kh.prototype.createBillboardGroup=function(o,A,f){let m=new Kh.BillboardGroup(this,A);return m.addBillboards(o,f),m};Kh.BillboardGroup=function(o,A){this._drawHelper=o,this._scene=o._scene,this._options=mtt(A,Ctt);let f=new nI;this._scene.primitives.add(f),this._billboards=f,this._orderedBillboards=[]};Kh.BillboardGroup.prototype.createBillboard=function(o,A){let f=this._billboards.add({show:!0,position:o,pixelOffset:new tt(this._options.shiftX,this._options.shiftY),eyeOffset:new Z(0,0,-1e3),horizontalOrigin:iu.CENTER,verticalOrigin:on.CENTER,scale:.3,image:ae(this._options.iconUrl,`${globalThis.GEOWORLD_BASE_URL}Assets/Images/point.png`),color:new qe(1,1,1,1)});if(A){let E=function(x){C.enableRotate=x},I=function(){let x=0;for(let y=m._orderedBillboards.length;x<y&&m._orderedBillboards[x]!==f;++x);return x},m=this,C=this._scene.screenSpaceCameraController;if(A.dragHandlers){let x=this,y=new pr(x._scene.canvas);setListener(f,"leftDown",function(v){function w(M){f.position=M;for(let B=0,D=x._orderedBillboards.length;B<D&&x._orderedBillboards[B]!==f;++B);A.dragHandlers.onDrag&&A.dragHandlers.onDrag(I(),M)}function Q(M){y.destroy(),E(!0),A.dragHandlers.onDragEnd&&A.dragHandlers.onDragEnd(I(),M)}y.setInputAction(function(M){let B=x._scene.camera.pickEllipsoid(M.endPosition,obe);B?w(B):Q(B)},_i.MOUSE_MOVE),y.setInputAction(function(M){Q(x._scene.camera.pickEllipsoid(M.position,obe))},_i.LEFT_UP),E(!1),A.dragHandlers.onDragStart&&A.dragHandlers.onDragStart(I(),x._scene.camera.pickEllipsoid(v,obe))})}A.onDoubleClick&&setListener(f,"leftDoubleClick",function(x){A.onDoubleClick(I())}),A.onClick&&setListener(f,"leftClick",function(x){A.onClick(I())}),A.tooltip&&(setListener(f,"mouseMove",function(x){m._drawHelper._tooltip.showAt(x,A.tooltip())}),setListener(f,"mouseOut",function(x){m._drawHelper._tooltip.setVisible(!1)}))}return f};Kh.BillboardGroup.prototype.insertBillboard=function(o,A,f){this._orderedBillboards.splice(o,0,this.createBillboard(A,f))};Kh.BillboardGroup.prototype.addBillboard=function(o,A){this._orderedBillboards.push(this.createBillboard(o,A))};Kh.BillboardGroup.prototype.addBillboards=function(o,A){let f=0;for(;f<o.length;f++)this.addBillboard(o[f],A)};Kh.BillboardGroup.prototype.updateBillboardsPositions=function(o){let A=0;for(;A<o.length;A++)this.getBillboard(A).position=o[A]};Kh.BillboardGroup.prototype.countBillboards=function(){return this._orderedBillboards.length};Kh.BillboardGroup.prototype.getBillboard=function(o){return this._orderedBillboards[o]};Kh.BillboardGroup.prototype.removeBillboard=function(o){this._billboards.remove(this.getBillboard(o)),this._orderedBillboards.splice(o,1)};Kh.BillboardGroup.prototype.remove=function(){this._billboards=this._billboards&&this._billboards.removeAll()&&this._billboards.destroy()};Kh.BillboardGroup.prototype.setOnTop=function(){this._scene.primitives.raiseToTop(this._billboards)};Kh.prototype.cleanUp=function(){this._prevEntity!==void 0&&(this._cesiumViewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._markers!==void 0&&(this._markers.remove(),this._markers=void 0),this._volumeLabel!==void 0&&(this._cesiumViewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._tooltip.setVisible(!1)};Kh.prototype.startDrawing=function(o){let A=this,f=this._scene;f.globe.depthTestAgainstTerrain=!0;let m=this._tooltip,C=3,E=[],I=[],x;this._positions=I;let y=new pr(f.canvas);this._mouseHandler=y;let v=new Kh.BillboardGroup(this,Ctt);this._markers=v,this._prevEntity!==void 0&&(this._cesiumViewer.entities.remove(this._prevEntity),this._prevEntity=null),this._volumeLabel!==void 0&&(this._cesiumViewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),y.setInputAction(function(Q){if(Q.position!==null){let M=f.camera.getPickRay(Q.position),B=f.globe.pick(M,f),D=Lt.fromCartesian(B),S=De.toDegrees(D.longitude),P=De.toDegrees(D.latitude);if(B){if(E.length===0&&(E.push(S,P),I.push(B),x=B,v.addBillboard(x)),I.length>=4){let R=ms.wgs84ToWindowCoordinates(this._cesiumViewer.coreMap.scene,x);if(R!==void 0){let T=R.x-Q.position.x,L=R.y-Q.position.y;if(T*T+L*L<16){E.splice(E.length-2,2),I.pop(),this.isLoading(!0),this.stopDrawing(o);return}}}E.push(S,P),I.push(B),v.addBillboard(B),I.length===C&&(A._prevEntity=A._cesiumViewer.factory.createElement({type:"polygon",parameters:{hierarchy:Z.fromDegreesArray(E),material:qe.RED.withAlpha(.6),fill:!0}}),A._prevEntity.polygon.hierarchy=w())}}}.bind(this),_i.LEFT_CLICK),y.setInputAction(function(Q){let M=Q.endPosition;if(M!==null)if(I.length===0)m.showAt(M,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{let B=f.camera.getPickRay(M),D=f.globe.pick(B,f),S=Lt.fromCartesian(D),P=De.toDegrees(S.longitude),R=De.toDegrees(S.latitude);if(D&&(E.splice(E.length-2,2),I.pop(),E.push(P,R),I.push(D),v.getBillboard(I.length-1).position=D,m.showAt(M,"\u53CC\u51FB\u7ED3\u675F\u7ED8\u5236"),I.length>=3&&I.length>=4)){let T=ms.wgs84ToWindowCoordinates(this._cesiumViewer.coreMap.scene,x);if(T!==void 0){let L=T.x-M.x,F=T.y-M.y;L*L+F*F<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}.bind(this),_i.MOUSE_MOVE),y.setInputAction(function(Q){I.length<C+2||(this.isLoading(!0),setTimeout(()=>{this.stopDrawing(o)},100))}.bind(this),_i.LEFT_DOUBLE_CLICK);function w(){return Z.fromDegreesArray(E)}};Kh.prototype.stopDrawing=function(o){this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._markers!==void 0&&(this._markers.remove(),this._markers=void 0),this._prevEntity!==void 0&&(this._cesiumViewer.entities.remove(this._prevEntity),this._prevEntity=null),this._volumeLabel!==void 0&&(this._cesiumViewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._tooltip.setVisible(!1),document.body.style.cursor="wait";let A=this.computeCutVolume(),f=A.maxHeight;document.body.style.cursor="default",typeof o=="function"&&o(A.volume);let m={polygon:{hierarchy:{positions:this._positions},extrudedHeight:f,closeTop:!1,closeBottom:!1,material:qe.RED.withAlpha(.5),outline:!0,outlineColor:qe.WHITE,outlineWidth:2}};this._prevEntity=this._cesiumViewer.entities.add(m),this.isLoading(!1)};Kh.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`,o.appendChild(A),this.loading=o,this.coreMap.container.appendChild(o)};Kh.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};Kh.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};function PBi(o){let A=[],f=[];for(let Q=0;Q<o.length;Q++){let M=Lt.fromCartesian(o[Q]);A.push(M.longitude),f.push(M.latitude)}let m=0,C=0,E=0,I=0,x=0,y=0,v=0,w=0;for(let Q=0;Q<o.length;Q++)m=A[Q],C=f[Q],Q===o.length-1?(E=A[0],I=f[0]):(E=A[Q+1],I=f[Q+1]),y=m*I-E*C,x+=y,v+=(m+E)*y,w+=(C+I)*y;return x*=.5,v/=6*x,w/=6*x,new Lt(v,w)}function RBi(o,A,f){let m=Z.distance(o,A),C=Z.distance(A,f),E=Z.distance(f,o),I=(m+C+E)/2;return Math.sqrt(I*(I-m)*(I-C)*(I-E))}Kh.prototype.computeCutVolume=function(){let o=15e3;for(let L=0;L<this._positions.length;L++){let F=Lt.fromCartesian(this._positions[L]),U=this._scene.globe.getHeight(F);o>U&&(o=U)}let A=Math.PI/Math.pow(2,11);A=A/64;let f=new bc.fromPositions({positions:this._positions,vertexFormat:ma.FLAT_VERTEX_FORMAT,granularity:A}),m=new bc.createGeometry(f),C=0,E=0,I,x,y,v,w,Q,M,B,D,S,P,R;for(let L=0;L<m.indices.length;L+=3)I=m.indices[L],x=m.indices[L+1],y=m.indices[L+2],S=new Z(m.attributes.position.values[I*3],m.attributes.position.values[I*3+1],m.attributes.position.values[I*3+2]),P=Lt.fromCartesian(S),v=this._scene.globe.getHeight(P),M=Z.fromRadians(P.longitude,P.latitude,0),E<v&&(E=v),S=new Z(m.attributes.position.values[x*3],m.attributes.position.values[x*3+1],m.attributes.position.values[x*3+2]),P=Lt.fromCartesian(S),w=this._scene.globe.getHeight(P),B=Z.fromRadians(P.longitude,P.latitude,0),E<w&&(E=w),S=new Z(m.attributes.position.values[y*3],m.attributes.position.values[y*3+1],m.attributes.position.values[y*3+2]),P=Lt.fromCartesian(S),Q=this._scene.globe.getHeight(P),D=Z.fromRadians(P.longitude,P.latitude,0),E<Q&&(E=Q),R=RBi(M,B,D),C=C+R*(v-o+w-o+Q-o)/3;let T=PBi(this._positions);return this._volumeLabel=this._cesiumViewer.entities.add({position:Z.fromRadians(T.longitude,T.latitude,E+1e3),label:{text:`${C.toFixed(4)}\u7ACB\u65B9\u7C73`}}),{maxHeight:E,volume:C}};var sbe=Kh;function Ett(o,A){if(this.mEarthCtrl=o,this._parameter=A,this.coreMap=o.coreMap,this._color=ae(A.color,new qe(1,0,0,.7)),this._positions=A.positions,this._positions.length<3)throw new ni("invalid positions length!");this._duration=ae(A.duration,4e3),this._minHeight=ae(A.minHeight,0),this._maxHeight=ae(A.maxHeight,100),this._image=A.image,this._pps=null}function LBi(o,A){let f=Lt.fromCartesian(o[0]),m=f.longitude,C=f.latitude,E=m,I=C,x=A;for(let y=1;y<o.length;y++){let v=Lt.fromCartesian(o[y]);m>v.longitude?m=v.longitude:E<v.longitude&&(E=v.longitude),C>v.latitude?C=v.latitude:I<v.latitude&&(I=v.latitude)}return new Z.fromRadians((m+E)/2,(C+I)/2,x)}function FBi(o){if(k(o._pps))return;let A=LBi(o._positions,o._minHeight),f=Lt.fromCartesian(A),m=new kt(A.x,A.y,A.z,1),C=new Lt(f.longitude,f.latitude,o.maxHeight+100),E=Lt.toCartesian(C),I=new kt(E.x,E.y,E.z,1),x=new kt,y=new kt,v=new Z,w=o.mEarthCtrl.coreMap.scene.camera,Q=o._positions.length;o._pps=new Jo({fragmentShader:kBi(Q),uniforms:{u_floodCenterEC:function(){return Re.multiplyByVector(w._viewMatrix,m,x)},u_floodPlaneNormalEC:function(){let B=Re.multiplyByVector(w._viewMatrix,m,x),D=Re.multiplyByVector(w._viewMatrix,I,y);return v.x=D.x-B.x,v.y=D.y-B.y,v.z=D.z-B.z,Z.normalize(v,v),v},u_floodRange:function(){return o._positions},u_minHeight:function(){return o._minHeight},u_maxHeight:function(){return o._maxHeight},u_image:function(){return o.image},u_floodColor:function(){return o._color},u_positionsLength:function(){return o._positions.length}}}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function NBi(o){k(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function kBi(o){return`uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform vec4 u_floodCenterEC; uniform vec3 u_floodPlaneNormalEC; uniform float u_minHeight; uniform float u_maxHeight; uniform vec4 u_floodColor; uniform sampler2D u_image; uniform int u_positionsLength; uniform vec3 u_floodRange[${o}]; const int MAX_ITERATION = 100; vec4 toEye(in vec2 uv, in float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0)); vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera =posInCamera / posInCamera.w; return posInCamera; } vec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point) { vec3 v01 = point -planeOrigin; float d = dot(planeNormal, v01) ; return (point - planeNormal * d); } float getDepth(in vec4 depth) { float z_window = czm_unpackDepth(depth); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; return (2.0 * z_window - n_range - f_range) / (f_range - n_range); } bool isPointInRange(in vec3 testPt) { int c=0; vec3 pos0=u_floodRange[0]; vec3 prePos=pos0; for(int i=1; i < MAX_ITERATION; i++) { if(i >= u_positionsLength) { break; } if(i == u_positionsLength-1) { prePos = pos0; } int temp = 0; vec3 pos1=u_floodRange[i]; vec3 prj1OnPlane = pointProjectOnPlane(u_floodPlaneNormalEC.xyz, u_floodCenterEC.xyz, pos1); vec3 prj2OnPlane = pointProjectOnPlane(u_floodPlaneNormalEC.xyz, u_floodCenterEC.xyz, prePos); if (((prj1OnPlane.y>testPt.y) != (prj2OnPlane.y>testPt.y)) && (testPt.x < (prj2OnPlane.x-prj1OnPlane.x) * (testPt.y-prj1OnPlane.y) / (prj2OnPlane.y-prj1OnPlane.y) + prj1OnPlane.x)) c = (c==0?1:0); prePos = pos1; } return c!=0; } void main() { out_FragColor = texture(colorTexture, v_textureCoordinates); float depth = getDepth( texture(depthTexture, v_textureCoordinates)); vec4 viewPos = toEye(v_textureCoordinates, depth); vec3 prjOnPlane = pointProjectOnPlane(u_floodPlaneNormalEC.xyz, u_floodCenterEC.xyz, viewPos.xyz); float dis = length(prjOnPlane.xyz-viewPos.xyz); vec3 pos0=u_floodRange[0]; float radius_dis = length(prjOnPlane.xyz-u_floodCenterEC.xyz); if(dis >= 0.0 && dis <= (u_maxHeight-u_minHeight)) { out_FragColor = mix(out_FragColor, u_floodColor, 0.3); } } `}Object.defineProperties(Ett.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o?FBi(this):NBi(this)}},maxHeight:{get:function(){return this._maxHeight},set:function(o){this._maxHeight=o}},minHeight:{get:function(){return this._minHeight},set:function(o){this._minHeight=o}}});var c3=Ett;function Cp(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this._minHeight=ae(A.minHeight,0),this._maxHeight=ae(A.maxHeight,0),this._extrudedHeight=ae(A.extrudedHeight,0),this.shapeTool=void 0,this._speed=ae(A.speed,1),this._baseWaterColor=ae(A.baseWaterColor,new qe(.2,.3,.6,.5)),this._waterFrequency=ae(A.waterFrequency,1e3),this._animationSpeed=ae(A.animationSpeed,.01),this._amplitude=ae(A.amplitude,10),this._isPolygon=ae(A.isPolygon,!0),this.eventHelper=new Lm,this._nowHeight=null,this._height=ae(A.height,void 0),this._type=ae(A.type,"up")}Cp.prototype.drawPolygon=function(o){let A=this;this.shapeTool=A._earthCtrl.shapeTool.createDrawShapeTool(function(f){A.setPolygon({positions:f.result}),o&&o(A)})};Cp.prototype.setPolygon=function(o){this.positions=o.positions;let A=this,f=A.computePolygonHeightRange(this.positions);A._minHeight=f.minHeight,A._maxHeight=f.maxHeight,A._extrudedHeight=A._minHeight};Cp.prototype.computePolygonHeightRange=function(o){let A=[],f=this._earthCtrl.coreMap;for(let S=0;S<o.length;S++)A.push(o[S].clone());let m,C,E,I,x,y,v,w=0,Q=9999,M=Math.PI/Math.pow(2,11)/64,B=new bc.fromPositions({positions:A,vertexFormat:ma.FLAT_VERTEX_FORMAT,granularity:M}),D=new bc.createGeometry(B);for(let S=0;S<D.indices.length;S+=3)m=D.indices[S],C=D.indices[S+1],E=D.indices[S+2],v=new Z(D.attributes.position.values[3*m],D.attributes.position.values[3*m+1],D.attributes.position.values[3*m+2]),(I=f.scene.globe.getHeight(Lt.fromCartesian(v)))<Q&&(Q=I),w<I&&(w=I),v=new Z(D.attributes.position.values[3*C],D.attributes.position.values[3*C+1],D.attributes.position.values[3*C+2]),(x=f.scene.globe.getHeight(Lt.fromCartesian(v)))<Q&&(Q=x),w<x&&(w=x),v=new Z(D.attributes.position.values[3*E],D.attributes.position.values[3*E+1],D.attributes.position.values[3*E+2]),(y=f.scene.globe.getHeight(Lt.fromCartesian(v)))<Q&&(Q=y),w<y&&(w=y);return{maxHeight:w,minHeight:Q}};Cp.prototype.removeFromMap=function(){this._isPolygon?k(this.primitive)&&(this.removePrimitive(),this._extrudedHeight=this.minHeight,this.primitive=null):k(this.flood)&&(this.flood.show=!1),this.eventHelper&&this.eventHelper.removeAll(),this.shapeTool&&this.shapeTool.removeFromMap()};Cp.prototype._onTick=function(){let o=this;o._type==="up"?o._extrudedHeight>=o._maxHeight?(o._extrudedHeight=o._maxHeight,o._nowHeight=o._extrudedHeight,o.eventHelper.removeAll()):(o._isPolygon?o.removePrimitive():k(o.flood)||(o.flood=new c3(o._earthCtrl,{minHeight:o.minHeight,maxHeight:o._extrudedHeight,positions:o.positions}),o.flood.show=!0),o._extrudedHeight+=o._speed,o._isPolygon?o.addPrimitive():o.flood.maxHeight=o._extrudedHeight):o._type==="down"&&(o._extrudedHeight<=o._minHeight?(o._extrudedHeight=o._minHeight,o._nowHeight=o._extrudedHeight,o.eventHelper.removeAll()):(o._isPolygon?o.removePrimitive():k(o.flood)||(o.flood=new c3(o._earthCtrl,{minHeight:o.minHeight,maxHeight:o._extrudedHeight,positions:o.positions}),o.flood.show=!0),o._extrudedHeight-=o._speed,o._isPolygon?o.addPrimitive():o.flood.maxHeight=o._extrudedHeight))};Cp.prototype._onTickNext=function(){let o=this;o._nowHeight?o._type==="up"?o._extrudedHeight>=o._nowHeight+o._height?(o._extrudedHeight=o._nowHeight+o._height,o._nowHeight=o._extrudedHeight,o.eventHelper.removeAll()):(o._isPolygon?o.removePrimitive():k(o.flood)||(o.flood=new c3(o._earthCtrl,{minHeight:o.minHeight,maxHeight:o._extrudedHeight,positions:o.positions}),o.flood.show=!0),o._extrudedHeight+=o._speed,o._isPolygon?o.addPrimitive():o.flood.maxHeight=o._extrudedHeight):o._type==="down"&&(o._extrudedHeight<=o._nowHeight-o._height?(o._extrudedHeight=o._nowHeight-o._height,o._nowHeight=o._extrudedHeight,o.eventHelper.removeAll()):(o._isPolygon?o.removePrimitive():k(o.flood)||(o.flood=new c3(o._earthCtrl,{minHeight:o.minHeight,maxHeight:o._extrudedHeight,positions:o.positions}),o.flood.show=!0),o._extrudedHeight-=o._speed,o._isPolygon?o.addPrimitive():o.flood.maxHeight=o._extrudedHeight)):o._type==="up"?o._extrudedHeight>=o._minHeight+o._height?(o._extrudedHeight=o._minHeight+o._height,o._nowHeight=o._extrudedHeight,o.eventHelper.removeAll()):(o._isPolygon?o.removePrimitive():k(o.flood)||(o.flood=new c3(o._earthCtrl,{minHeight:o.minHeight,maxHeight:o._extrudedHeight,positions:o.positions}),o.flood.show=!0),o._extrudedHeight+=o._speed,o._isPolygon?o.addPrimitive():o.flood.maxHeight=o._extrudedHeight):o._type==="down"&&(o._extrudedHeight<=o._maxHeight-o._height?(o._extrudedHeight=o._maxHeight-o._height,o._nowHeight=o._extrudedHeight,o.eventHelper.removeAll()):(o._isPolygon?o.removePrimitive():k(o.flood)||(o.flood=new c3(o._earthCtrl,{minHeight:o.minHeight,maxHeight:o._extrudedHeight,positions:o.positions}),o.flood.show=!0),o._extrudedHeight-=o._speed,o._isPolygon?o.addPrimitive():o.flood.maxHeight=o._extrudedHeight))};Cp.prototype.removePrimitive=function(){k(this.primitive)&&this._earthCtrl.primitives.remove(this.primitive)};Cp.prototype.polygonAnalysis=function(){let o=this;k(o.shapeTool)&&(o.shapeTool.removeFromMap(),o.shapeTool=void 0),o._height?o.eventHelper.add(o._earthCtrl.coreMap.clock.onTick,Cp.prototype._onTickNext,this):o.eventHelper.add(o._earthCtrl.coreMap.clock.onTick,Cp.prototype._onTick,this);let A={};A.normalMap=`${globalThis.GEOWORLD_BASE_URL}Assets/Images/waterNormals.jpg`,A.baseWaterColor=o.baseWaterColor,A.frequency=o.waterFrequency,A.animationSpeed=o.animationSpeed,A.amplitude=o.amplitude;let f=new fa({fabric:{type:"Water",uniforms:A}});f.update(o._earthCtrl.coreMap.scene.context),o.primitiveAppearance=new fz({material:f,fragmentShaderSource:pz})};Cp.prototype.postAnalysis=function(){let o=this;k(o.shapeTool)&&(o.shapeTool.removeFromMap(),o.shapeTool=void 0),o._height?o.eventHelper.add(o._earthCtrl.coreMap.clock.onTick,Cp.prototype._onTickNext,this):o.eventHelper.add(o._earthCtrl.coreMap.clock.onTick,Cp.prototype._onTick,this)};Cp.prototype.addPrimitive=function(){let o=this;o.primitive=o._earthCtrl.primitives.add(new pa({geometryInstances:new Un({geometry:bc.fromPositions({positions:o.positions,extrudedHeight:o._extrudedHeight})}),asynchronous:!1,appearance:o.primitiveAppearance}))};Cp.prototype.startAnalysis=function(){let o=this;setTimeout(()=>{o._isPolygon?o.polygonAnalysis():o.postAnalysis()},100)};Object.defineProperties(Cp.prototype,{isPolygon:{get:function(){return this._isPolygon}},minHeight:{set:function(o){this._minHeight=o},get:function(){return this._minHeight}},maxHeight:{set:function(o){this._maxHeight=o},get:function(){return this._maxHeight}},speed:{set:function(o){this._speed=o},get:function(){return this._speed}},baseWaterColor:{set:function(o){this._baseWaterColor=o},get:function(){return this._baseWaterColor}},waterFrequency:{set:function(o){this._waterFrequency=o},get:function(){return this._waterFrequency}},animationSpeed:{set:function(o){this._animationSpeed=o},get:function(){return this._animationSpeed}},amplitude:{set:function(o){this._amplitude=o},get:function(){return this._amplitude}},height:{set:function(o){this._height=o,this.postAnalysis()},get:function(){return this._height}},type:{set:function(o){this._type=o},get:function(){return this._type}}});var lbe=Cp;function h3(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this.shapeTool=void 0,this.positions=void 0,this.echarts=void 0,this.mCallback=ae(A.callback,void 0),this.defaultChart=ae(A.defaultChart,!0),this.step=ae(A.step,20),this.image=A.image,this.echarstView=A.echartsView,this.echartsParentView=A.echartsParentView,this.billboard=void 0,this.minHeight=0,this.maxHeight=0,this.profile={arrHB:[],arrPoint:[],arrLX:[],points:[],distance:0}}h3.prototype.drawPolyLine=function(){let o=this;this.shapeTool=o._earthCtrl.shapeTool.createDrawShapeTool(function(A){o.setPolyline({positions:A.result})},"polyline")};h3.prototype.setPolyline=function(o){this.positions=o.positions};h3.prototype.startAnalysis=function(){if(!this.positions)return console.info("\u8BF7\u5148\u7ED8\u5236\u5256\u9762\u7EBF\uFF01");if(this.positions.length>1){this.profile.arrLX.push(0);for(let A=0;A<this.positions.length-1;A++){let f=this.positions[A],m=this.positions[A+1];this.profile2PointAnalysis(f,m)}this.processHeight();let o=this.profile;this.defaultChart&&OBi(this,o),k(this.mCallback)&&this.mCallback(o),this.positions=void 0}};h3.prototype.processHeight=function(){let o=this;if(!(o.profile.arrHB.length<=0)){o.minHeight=o.maxHeight=o.profile.arrHB[0];for(let A=1;A<o.profile.arrHB.length;A++){let f=o.profile.arrHB[A];f>o.maxHeight?o.maxHeight=f:f<o.minHeight&&(o.minHeight=f)}o.minHeight=parseInt(o.minHeight/100)*100;for(let A=0;A<o.profile.arrHB.length;A++){let f=o.profile.arrHB[A];o.profile.arrHB[A]=f-o.minHeight}}};var UBi=new Z;h3.prototype.profile2PointAnalysis=function(o,A){let f=this,m=Z.distance(o,A),C=parseInt(m/f.step),E=Lt.fromCartesian(o),I=Lt.fromCartesian(A);f.positions.length>2&&f.profile.arrLX.length>1&&f.profile.arrLX.push(f.profile.arrLX[f.profile.arrLX.length-1]+ube(f.profile.points[f.profile.points.length-1],E)),f.profile.points.push(E),f.profile.arrPoint.push(Abe(o)),f.profile.arrHB.push(E.height);let x=f.profile.arrLX.length-1;console.info(x);for(let y=1;y<C;y++){let v=Z.lerp(o,A,y/C,UBi),w=Lt.fromCartesian(v),Q=f._coreMap.scene.globe.getHeight(w);w.height=Q;let M=ube(f.profile.points[x+y-1],w);f.profile.distance=f.profile.distance+M,f.profile.points.push(w),f.profile.arrLX.push(f.profile.arrLX[x+y-1]+M),f.profile.arrPoint.push(Abe(v)),f.profile.arrHB.push(Q)}return f.profile.points.push(I),f.profile.arrLX.push(f.profile.arrLX[f.profile.arrLX.length-1]+ube(f.profile.points[f.profile.points.length-1],I)),f.profile.arrPoint.push(Abe(A)),f.profile.arrHB.push(I.height),f.profile};function vtt(o,A){let f=document.getElementById(o);f.style.display=A?"block":"none"}var Itt;function OBi(o,A){if(A!==null&&A.arrPoint!==null){vtt(o.echartsParentView,!0),k(o.echarts)||(o.echarts=Z9.init(document.getElementById(o.echarstView),"dark"));let f=A.arrPoint,m={grid:{left:10,right:10,bottom:10,containLabel:!0},dataZoom:[{type:"inside",throttle:50}],tooltip:{trigger:"axis",formatter:function(C){let E="";if(C.length===0)return E;let I=f[C[0].dataIndex],x=C[0].value+o.minHeight;return Itt=new Z.fromDegrees(I.x,I.y,x),k(o.billboard)||(o.billboard=o._earthCtrl.entities.add({name:"profile_billboard",position:new Kr(function(){return Itt},!1),billboard:{verticalOrigin:on.BOTTOM,image:o.image,iconWidth:8,iconHeight:8,scale:.5}})),o.billboard.show||(o.billboard.show=!0),E+=`\u6240\u5728\u4F4D\u7F6E ${ytt(I.x)},${ytt(I.y)}<br />\u8DDD\u8D77\u70B9 <label>${xtt(C[0].axisValue)}</label><br />${C[0].seriesName} <label style='color:${C[0].color};'>${xtt(x)}</label><br />`}},xAxis:[{name:"\u884C\u7A0B",type:"category",boundaryGap:!1,axisLine:{show:!1},axisLabel:{show:!1},data:A.arrLX}],yAxis:[{type:"value",axisLabel:{formatter:function(C){return`${C+o.minHeight}\u7C73`}}}],series:[{name:"\u9AD8\u7A0B\u503C",type:"line",smooth:!0,symbol:"none",sampling:"average",itemStyle:{normal:{color:"rgb(255, 70, 131)"}},areaStyle:{normal:{color:new Z9.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"rgb(255, 158, 68)"},{offset:1,color:"rgb(255, 70, 131)"}])}},data:A.arrHB}]};o.echarts.setOption(m)}}function xtt(o,A){if(o===null)return"";o=Number(o),(A===null||A==="auto")&&(o<1e3?A="m":A="km");let f="";switch(A){default:case"m":f=`${o.toFixed(2)}\u7C73`;break;case"km":f=`${(o*.001).toFixed(2)}\u516C\u91CC`;break;case"mile":f=`${(o*54e-5).toFixed(2)}\u6D77\u91CC`;break;case"zhang":f=`${(o*.3).toFixed(2)}\u4E08`;break}return f}function ytt(o){let A=o.toString();return A.slice(0,A.indexOf(".")+3)}function Abe(o){let A=Lt.fromCartesian(o),f=De.toDegrees(A.longitude),m=De.toDegrees(A.latitude),C=A.height;return{x:f,y:m,z:C}}function ube(o,A){let f=new Ig;f.setEndPoints(o,A);let m=f.surfaceDistance;return m=Math.sqrt(Math.pow(m,2)+Math.pow(A.height-o.height,2)),m}h3.prototype.removeFromMap=function(){let o=this;k(o.shapeTool)&&(o.shapeTool.removeFromMap(),o.shapeTool=void 0),k(o.billboard)&&(o._earthCtrl.entities.remove(o.billboard),o.billboard=void 0),vtt(o.echartsParentView,!1)};var cbe=h3;function Sre(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this._skylineColor=ae(A.color,qe.RED.withAlpha(1)),this._postProccessStage=null,this._postProcessStages=this._coreMap.scene.postProcessStages,this._width=ae(A.width,1),this._edgeDetection=BC.createEdgeDetectionStage({width:this._width||1}),this.addToMap()}Sre.prototype.addToMap=function(){this.removeFromMap();let o=new Jo({name:"czm_skylinetemp",fragmentShader:"uniform sampler2D colorTexture;uniform sampler2D depthTexture;in vec2 v_textureCoordinates;void main(void){float depth = czm_readDepth(depthTexture, v_textureCoordinates);vec4 color = texture(colorTexture, v_textureCoordinates);if(depth<1.0 - 0.000001){out_FragColor = color;}else{out_FragColor = vec4(1.0,0.0,0.0,1.0);}}"}),A=new Jo({name:"czm_skylinetemp1",fragmentShader:"uniform sampler2D colorTexture;uniform sampler2D redTexture;uniform sampler2D silhouetteTexture;uniform vec4 skylineColor;in vec2 v_textureCoordinates;void main(void){vec4 redcolor=texture(redTexture, v_textureCoordinates);vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates);vec4 color = texture(colorTexture, v_textureCoordinates);if(redcolor.r == 1.0){out_FragColor = mix(color, skylineColor, silhouetteColor.a);}else{out_FragColor = color;}}",uniforms:{redTexture:o.name,silhouetteTexture:this._edgeDetection.name,skylineColor:this._skylineColor}});this._postProccessStage=new x0({name:"czm_skyline",stages:[this._edgeDetection,o,A],inputPreviousStageTexture:!1,uniforms:this._edgeDetection.uniforms}),this._postProcessStages.add(this._postProccessStage)};Sre.prototype.removeFromMap=function(){this._postProccessStage&&(this._earthCtrl.coreMap.scene.postProcessStages.remove(this._postProccessStage),this._postProccessStage=null)};Object.defineProperties(Sre.prototype,{});var hbe=Sre;function Dre(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this.leftIndex=void 0,this.rightIndex=void 0,this.addToMap(A.leftIndex,A.rightIndex)}var d3={dragStartX:0,_scene:void 0};Dre.prototype.addToMap=function(o,A){document.getElementById("slider")&&this.clear();let m=this._coreMap.imageryLayers,C=this._coreMap.scene;d3._scene=C;let E=this._coreMap.container,I=document.createElement("div");I.id="slider",I.style.position="absolute",I.style.cursor="e-resize",I.style.top=0,I.style.backgroundColor="#D3D3D3",I.style.width="8px",I.style.height="100%",I.style.zIndex="1000",E.appendChild(I);let x=m.get(o),y=m.get(A);this.leftIndex=o,this.rightIndex=A,x.splitDirection=fI.LEFT,y.splitDirection=fI.RIGHT;let v=document.getElementById("slider");C.splitPosition=v.offsetLeft/v.parentElement.offsetWidth,v.addEventListener("mousedown",Btt,!1),window.addEventListener("mouseup",_tt,!1),v.style.left="50%",d3._scene.splitPosition=.5};function _tt(){window.removeEventListener("mousemove",dbe,!1)}function Btt(o){let A=document.getElementById("slider");d3.dragStartX=o.clientX-A.offsetLeft,window.addEventListener("mousemove",dbe,!1)}function dbe(o){let A=document.getElementById("slider"),f=(o.clientX-d3.dragStartX)/A.parentElement.offsetWidth;A.style.left=`${100*f}%`,d3._scene.splitPosition=f}Dre.prototype.removeFromMap=function(){let o=document.getElementById("slider");if(o){d3._scene.splitPosition="0%",o.removeEventListener("mousedown",Btt,!1),window.removeEventListener("mouseup",_tt,!1),window.removeEventListener("mousemove",dbe,!1),o.remove();let A=this._coreMap.imageryLayers,f=A.get(this.leftIndex),m=A.get(this.rightIndex);f.splitDirection=fI.NONE,m.splitDirection=fI.NONE,d3._scene=void 0}};Object.defineProperties(Dre.prototype,{});var wtt=Dre;function xJ(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this.color=ae(A.color,qe.RED.withAlpha(.5)),this.positions=A.positions,this.baseHeight=ae(A.baseHeight,0),this._height=ae(A.height,0),this.extrudedHeight=ae(A.extrudedHeight,1e4),this.limitHeightPrimitive=null,this.addToMap()}xJ.prototype.addToMap=function(){if(this.removeFromMap(),!this.positions)return;let o=Z.fromDegreesArray(this.positions),A=new Un({geometry:new bc({polygonHierarchy:new In(o),height:this.baseHeight,extrudedHeight:this.baseHeight+this.extrudedHeight}),attributes:{color:vo.fromColor(this.color)}});this.limitHeightPrimitive=this._coreMap.scene.primitives.add(new HO({geometryInstances:A,releaseGeometryInstances:!1,classificationType:nA.CESIUM_3D_TILE}))};xJ.prototype.changeHeight=function(o){!this.limitHeightPrimitive||(console.log("?!?!?!",this.limitHeightPrimitive),this.limitHeightPrimitive.readyPromise.then(A=>{let f=Lt.fromCartesian(this.limitHeightPrimitive._primitive._boundingSpheres[0].center);console.log("???",f);let m=Z.fromRadians(f.longitude,f.latitude,this.baseHeight),C=Z.fromRadians(f.longitude,f.latitude,this.baseHeight+o),E=Z.subtract(C,m,new Z);console.log("!!!!",this.limitHeightPrimitive._primitive.modelMatrix),this.limitHeightPrimitive._primitive.modelMatrix=Re.setTranslation(Re.IDENTITY,E,new Re),this.baseHeight=this.baseHeight+o}))};xJ.prototype.removeFromMap=function(){this.limitHeightPrimitive&&(this._coreMap.scene.primitives.remove(this.limitHeightPrimitive),this.limitHeightPrimitive=void 0)};Object.defineProperties(xJ.prototype,{});var gbe=xJ;function btt(o){this._earthCtrl=o}btt.prototype.toDegrees=function(o){let A=Lt.fromCartesian(o);return{lon:De.toDegrees(A.longitude),lat:De.toDegrees(A.latitude),height:A.height}};var Qtt=btt;function g3(o){this._viewer=o.coreMap,this._trans=new Qtt}g3.prototype.addClipping=function(o,A={}){if(this.remove(),A.type==="polygon"){let f=A.positions,m=[];f.forEach(x=>{m.push(this._trans.toDegrees(x))}),m.push(m[0]);let C;A.isInner?C=this.isClockWise(m):C=!this.isClockWise(m),C&&m.reverse();let E=[],I=this.getInverseTransform(o);for(let x=0;x<m.length-1;x++){let y=this.createPlane(m[x],m[x+1],I);E.push(y)}o.clippingPlanes=new AI({planes:E,unionClippingRegions:!A.isInner})}return this.item=o,this};g3.prototype.getInverseTransform=function(o){let A,f=o.root.transform;return f&&f.equals(Re.IDENTITY)||!f?A=Vr.eastNorthUpToFixedFrame(o.boundingSphere.center):A=Re.fromArray(o.root.transform),Re.inverseTransformation(A,new Re)};g3.prototype.getOriginCoordinateSystemPoint=function(o,A){let f=Z.fromDegrees(o.lon,o.lat);return Re.multiplyByPoint(A,f,new Z(0,0,0))};g3.prototype.createPlane=function(o,A,f){let m=this.getOriginCoordinateSystemPoint(o,f),C=this.getOriginCoordinateSystemPoint(A,f),E=new Z(0,0,1),I=Z.subtract(C,m,new Z),x=Z.cross(I,E,new Z);x=Z.normalize(x,x);let y=va.fromPointNormal(m,x);return PS.fromPlane(y)};g3.prototype.isClockWise=function(o){if(o.length<3)return null;o[0]===o[o.length-1]&&(o=o.slice(0,o.length-1));let A={i:-1,val:90};for(let y=0;y<o.length;y++){let{lat:v}=o[y];v<A.val&&(A.val=v,A.i=y)}let f=(A.i+o.length-1)%o.length,m=A.i,C=(A.i+1)%o.length,E={lat:o[m].lat-o[f].lat,lon:o[m].lon-o[f].lon},I={lat:o[C].lat-o[m].lat,lon:o[C].lon-o[m].lon},x=I.lon*E.lat-E.lon*I.lat;return x===0?o[C].lon<o[f].lon:x>0};g3.prototype.remove=function(){this.item&&this.item.clippingPlanes&&this.item.clippingPlanes.removeAll(),this.item&&(this.item.clippingPlanes=void 0)};var fbe=g3;var pbe;function mbe(o,A){this._viewer=o.coreMap,pbe=o.coreMap,this.createTerrainModifier(A.name,A.polygon,A.altitude)}mbe.prototype.findDirectParent=function(o){try{let A=[];if(o.width===Math.PI)return null;for(let f=0;f<pbe.scene.globe._surface._tilesToRender.length;f++){let m=pbe.scene.globe._surface._tilesToRender[f],C=m._rectangle;hi.intersection(C,o)&&A.push(m)}return A}catch(A){console.log(A)}return null};mbe.prototype.createTerrainModifier=function(o,A,f){let m=A.length,C=new Array(m);C.fill(f);let E=Kl(),I=Date.now(),x=hi.fromCartesianArray(A),y=this.findDirectParent(x);this._viewer.terrainProvider&&this._viewer.terrainProvider._modifyTerrainObjects===void 0&&(this._viewer.terrainProvider._modifyTerrainObjects=[]);let v=this._viewer,w={id:E,name:o,show:!0,rectangle:x,vertices:A,heights:C,timeStamp:I,remove:function(){if(v.terrainProvider&&v.terrainProvider._modifyTerrainObjects)for(let Q=v.terrainProvider._modifyTerrainObjects.length-1;Q>=0;Q--)v.terrainProvider._modifyTerrainObjects[Q].id===E&&v.terrainProvider._modifyTerrainObjects.splice(Q,1);if(y)try{for(let Q=0;Q<y.length;Q++)try{y[Q]._parent.freeResources()}catch(M){console.log(M)}}catch(Q){console.log(Q)}}};if(this._viewer.terrainProvider._modifyTerrainObjects.push(w),y)try{for(let Q=0;Q<y.length;Q++)try{y[Q]._parent.freeResources()}catch(M){console.log(M)}}catch(Q){console.log(Q)}return w};var Cbe=mbe;var b6;function Ebe(o){this._earthCtrl=o,this.Viewer=o.coreMap,b6=o.coreMap}Ebe.prototype.CreateTooltip=function(o={},A,f){let m,C,E,I,x;typeof o=="object"&&(m=o),m&&m.origin?(m.origin==="center"&&(C=15,E=-12),m.origin==="top"&&(C=15,E=-44),m.origin==="bottom"&&(C=15,E=20)):(C=15,E=20),m&&m.color?(m.color==="white"&&(I="background: rgba(255, 255, 255, 0.8);color: black;"),m.color==="black"&&(I="background: rgba(0, 0, 0, 0.5);color: white;"),m.color==="yellow"&&(I="color: black;background-color: #ffcc33;border: 1px solid white;")):I="background: rgba(0, 0, 0, 0.5);color: white;",m&&m.id?x=`toolTip${m.id}`:x="toolTip";let y=document.getElementById(x);if(!y){let v=document.createElement("div");ru(".map-widget",v);let w=`<div id="${x}" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;${I}"></div>`;ru(".map-widget",w),y=document.getElementById(x)}return f?(y.innerHTML=o,y.style.left=`${A.x+C}px`,y.style.top=`${A.y+E}px`,y.style.display="block"):y.style.display="none",{tooltip:y,style:m,showAt:function(v,w){this.tooltip.innerHTML=w,this.style&&this.style.origin?(this.style.origin==="center"&&(C=15,E=-this.tooltip.offsetHeight/2),this.style.origin==="top"&&(C=15,E=-this.tooltip.offsetHeight-20),this.style.origin==="bottom"&&(C=15,E=20)):(C=15,E=-this.tooltip.offsetHeight/2),this.tooltip.style.left=`${v.x+C}px`,this.tooltip.style.top=`${v.y+E}px`,this.tooltip.style.display="block"},show:function(v){v?this.tooltip.style.display="block":this.tooltip.style.display="none"}}};Ebe.prototype.CreateResultTooltip=function(o={}){let A,f,m,C=o.id?`resultToolTip${o.id}`:"resultToolTip",E=document.getElementById(C);if(o.color?(o.color==="white"&&(m="background: rgba(255, 255, 255, 0.8);color: black;"),o.color==="black"&&(m="background: rgba(0, 0, 0, 0.5);color: white;"),o.color==="blue"&&(m="background: rgba(48, 119, 221);color: white;"),o.color==="yellow"&&(m="color: black;background-color: #ffcc33;border: 1px solid white;")):m="color: black;background-color: #ffcc33;border: 1px solid white;",!E){let Q=`<div id="${C}" class="resultToolTip" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;${m}"></div>`;ru(".map-widget",Q),E=document.getElementById(C)}let I=o.addX||0,x=o.addY||0,y,v=this;function w(){if(y){if(o.far!==void 0||o.near!==void 0){let M=v.getPointToCameraDistance(b6,y);if(M>o.far){E.style.display="none";return}else if(M<o.near){E.style.display="none";return}E.style.display="block"}let Q=b6.scene.cartesianToCanvasCoordinates(y);if(!Q)return;A=-E.offsetWidth/2+I,f=-E.offsetHeight+x,E.style.left=`${Q.x+A}px`,E.style.top=`${Q.y+f}px`}}return b6.clock.onTick.addEventListener(w),{tooltip:E,position:y,showAt:function(Q,M){if(this.tooltip.innerHTML=M,this.tooltip.style.display="block",this.position=Q,y=Q,y){let B=b6.scene.cartesianToCanvasCoordinates(y);if(!B)return;A=-this.tooltip.offsetWidth/2+I,f=-this.tooltip.offsetHeight+x,this.tooltip.style.left=`${B.x+A}px`,this.tooltip.style.top=`${B.y+f}px`}},show:function(Q){Q?(this.tooltip.style.display="block",y=this.position):(this.tooltip.style.display="none",y=void 0)},destroy(){b6.clock.onTick.removeEventListener(w),E.remove()}}};var vb=Ebe;var Ibe=class{constructor(){this.minHeight=Number.MAX_VALUE,this.maxHeight=Number.MIN_VALUE,this.cutVolume=0,this.fillVolume=0,this.baseArea=0}},xbe=class{constructor(){this.minHeight=Number.MAX_VALUE,this.maxHeight=Number.MIN_VALUE,this.avgHeight=0,this.baseArea=0}};function Mre(o,A){this._earthCtrl=o,this._viewer=o.coreMap,this.baseHeight=ae(A.baseHeight,0),this.options=A}Mre.prototype.start=function(){let o=this.options.positions,A=this.options.countBase,f=this.options.basePositions,m=this.options.baseHeight,C=new Ibe,E=[];o.forEach(Q=>{let M=Lt.fromCartesian(Q);this.baseHeight=Math.min(M.height,ae(m,this.baseHeight)),E.push(ms.wgs84ToWindowCoordinates(this._viewer.scene,Q))});let I=GBi(E),x=ws.randomPoint(100,{bbox:[I[0],I[1],I[2],I[3]]}),y=HBi(E);ws.voronoi(x,{bbox:[I[0],I[1],I[2],I[3]]}).features.forEach(Q=>{let M=VBi(y,Q.geometry);if(M.length>0){let B=this.computeCubeInfo(M);this.baseHeight>B.avgHeight?C.fillVolume+=(this.baseHeight-B.avgHeight)*C.baseArea:C.cutVolume+=(B.avgHeight-this.baseHeight)*C.baseArea,C.maxHeight=Math.max(C.maxHeight,B.maxHeight),C.minHeight=Math.min(C.minHeight,B.minHeight),C.baseArea+=B.baseArea}});let w=this.countBaseVolume(A,f,m);return w!==0&&(C.cutVolume+=w,C.fillVolume+=w),C};Mre.prototype.countBaseVolume=function(o,A,f){let m=this;if(o){let C=[],E=[];for(let Q=0;Q<A.length;Q=Q+3){E.push(A[Q+2]);let M=Z.fromDegrees(A[Q],A[Q+1],f),B=Lt.fromCartesian(M);C.push(B)}C.push(C[0]);let I=Stt(C);E.sort(function(Q,M){return Q-M});let x=E[0],y=E[E.length-1];return Number(y-x)*I/2}return 0};Mre.prototype.computeCubeInfo=function(o){let A=this,f=[],m=Number.MAX_VALUE,C=Number.MIN_VALUE,E=0;o.forEach(function(y){let v=A._earthCtrl.coreMap.scene.camera.getPickRay(y),w=A._earthCtrl.coreMap.scene.globe.pick(v,A._earthCtrl.coreMap.scene),Q=Lt.fromCartesian(w);f.push(Q),m=Math.min(m,Q.height),C=Math.max(C,Q.height),E+=Q.height});let I=E/o.length,x=new xbe;return x.minHeight=m,x.maxHeight=C,x.avgHeight=I,x.baseArea=Stt(f),x};function Stt(o){let A=[0],f=[0],m=new Ig,C=Math.PI/180;for(let I=0;I<o.length-1;I++){let x=o[I],y=o[I+1];m.setEndPoints(x,y);let v=Math.sqrt(Math.pow(m.surfaceDistance,2)),w=y.latitude*C,Q=y.longitude*C,M=x.latitude*C,B=x.longitude*C,D=-Math.atan2(Math.sin(Q-B)*Math.cos(M),Math.cos(w)*Math.sin(M)-Math.sin(w)*Math.cos(M)*Math.cos(Q-B));D<0&&(D+=Math.PI*2),f.push(Math.sin(D)*v+f[I]),A.push(Math.cos(D)*v+A[I])}let E=0;for(let I=0;I<A.length-1;I++)E+=A[I]*f[I+1]-A[I+1]*f[I];return Math.abs(E+A[A.length-1]*f[0]-A[0]*f[f.length-1])/2}function GBi(o){let A=[],f=Number.MAX_VALUE,m=Number.MIN_VALUE,C=Number.MAX_VALUE,E=Number.MIN_VALUE;return o.forEach(I=>{f=Math.min(f,I.x),m=Math.max(m,I.x),C=Math.min(C,I.y),E=Math.max(E,I.y)}),A.push(f),A.push(C),A.push(m),A.push(E),A}function HBi(o){let A=[[]];return o.forEach(m=>{A[0].push([m.x,m.y])}),A[0].push([o[0].x,o[0].y]),ws.polygon(A).geometry}function VBi(o,A){let f=ws.intersect(o,A);return f?.geometry!==void 0?zBi(f?.geometry):[]}function zBi(o){let A=[];return o.coordinates.forEach(function(f){f.forEach(function(m){A.push(new tt(m[0],m[1]))})}),A.push(new tt(o.coordinates[0][0][0],o.coordinates[0][0][1])),A}var Tre=Mre;function Hm(o,A){this._earthCtrl=o,this._viewer=o.coreMap,this._cesium=er,this._scene=o.coreMap.scene,this._Tooltip=new vb(o),this.loadingImg=`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`,this.tooltip=this._Tooltip.CreateTooltip(),this.FlattenIsDraw=!1,this.wallArr=[],this.hierarchy=[],this.tophierarchy=[],this.heightsort=[],this.FlattenPolygon=[],this.deepth=100,this.polygon=null,this.editPoint=[],this.nowPoint=null,this.editPosition=[],this.topPositions=null,this._volumeLabel=void 0,this._volumeLabel1=void 0,this._option=ae(A.option,{}),this._irregularCut=ae(A.irregularCut,!1),this.terrainFlatten=new K4(o.coreMap.scene),this.CreatePolygon(A.height,A.option,A.callback)}Hm.prototype.CreatePolygon=function(o,A,f){if(this.FlattenIsDraw)return;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=null),this.removeLabel(),this.addLoading(),this.FlattenIsDraw=!0;let m=this._viewer,C=this._cesium;this.deepth=o||this.deepth,this.removeFromMap(),!A&&(A={});let E=[],I=this.hierarchy,x=this.polygon,y,v=null,w=0,Q=this.heightsort,M=this.deepth,B=this.wallArr,D=this;this.drawHandler=new C.ScreenSpaceEventHandler(m.scene.canvas),m.scene.globe.depthTestAgainstTerrain=!0;let S=this.tooltip,P;this._viewer.container.style.cursor=`url(${window.SmartEarthRootUrl} 'Workers/image/cursor/draw.cur')`,this.drawHandler.setInputAction(function(U){if(y=T(U.position),!y)return;let N=C.Cartographic.fromCartesian(y),H=C.Math.toDegrees(N.longitude),J=C.Math.toDegrees(N.latitude),K=N.height;E.push(y),I.push(H,J,N.height),D.tophierarchy.push(H,J,K),w===0?(E.push(y),I.push(H,J,N.height),P=m.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new C.CallbackProperty(()=>E,!1),clampToGround:!0,material:new C.ColorMaterialProperty(C.Color.YELLOW.withAlpha(.3)),width:3}})):w===1&&(P&&m.entities.remove(P),x=m.entities.add({name:null,id:D._earthCtrl.factory.createUUID(),polygon:{hierarchy:new C.PolygonHierarchy(C.Cartesian3.fromDegreesArrayHeights(I)),material:C.Color.YELLOW.withAlpha(.3)}}),x.polygon.hierarchy=new C.CallbackProperty(R,!1)),w++},C.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(U){if(w===0){S.showAt(U.endPosition,"\u5DE6\u952E\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u70B9");return}else w===1?S.showAt(U.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E8C\u4E2A\u70B9"):S.showAt(U.endPosition,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");if(y=T(U.endPosition),!y)return;let N=C.Cartographic.fromCartesian(y),H=C.Math.toDegrees(N.longitude),J=C.Math.toDegrees(N.latitude);I.splice(I.length-3,3),E.splice(E.length-1,1),E.push(y),I.push(H,J,N.height)},C.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(function(U){this.end&&this.end()}.bind(this),C.ScreenSpaceEventType.RIGHT_CLICK),this.end=U=>{if(S.show(!1),D._viewer.container.style.cursor="default",D.drawHandler.destroy(),P&&m.entities.remove(P),x&&m.entities.remove(x),this.FlattenIsDraw=!1,this.end=void 0,U==="cancel"||E.length<3)return;if(w<2){w=0;return}w=0;for(let ee=2;ee<I.length;ee=ee+3)Q.push(I[ee]);Q.sort(function(ee,ie){return ee-ie}),x=m.entities.add({name:null,id:D._earthCtrl.factory.createUUID(),polygon:{hierarchy:new C.CallbackProperty(function(){return new C.PolygonHierarchy(C.Cartesian3.fromDegreesArrayHeights(I))},!1),material:new C.ImageMaterialProperty({image:C.defaultValue(A.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new C.Cartesian2(1,1)})}}),E.push(E[0]);let N,H,J,K,X,j;for(let ee=0;ee<E.length-1;ee++){N=C.Cartographic.fromCartesian(E[ee]),H=C.Cartographic.fromCartesian(E[ee+1]),J=C.Math.toDegrees(N.longitude),X=C.Math.toDegrees(N.latitude),K=C.Math.toDegrees(H.longitude),j=C.Math.toDegrees(H.latitude),v?v=v>H.height?H.height:v:v=N.height>H.height?H.height:N.height;let ie=D.getPoint(J,X,K,j,N.height,H.height),z=[],oe=[];D.getHeightsFromLonLat(ie.positions,function(le){if(le){z=le;for(let Ae=0;Ae<z.length;Ae++)oe.push(D.heightsort[0]-D.deepth);D.drawwall(ie.wallJwd,z,oe)}})}x.polygon.height=Q[0]-M,this.FlattenPolygon.push(x),this.originHeight=Q[0],L(E),this.topPositions=E,typeof f=="function"&&f(E)};function R(){return new C.PolygonHierarchy(C.Cartesian3.fromDegreesArrayHeights(I))}function T(U){let N;if(m.scene.terrainProvider.constructor.name==="EllipsoidTerrainProvider")N=m.camera.pickEllipsoid(U,m.scene.globe.ellipsoid);else{let J=m.scene.camera.getPickRay(U);N=m.scene.globe.pick(J,m.scene)}if(m.scene.pick(U)){let J=m.scene.pickPosition(U);if(J){N=J;let K=C.Cartographic.fromCartesian(N),X=m.scene.globe.getHeight(K);K.height=X,N=C.Cartographic.toCartesian(K)}}return N}function L(U){let N=m.scene.globe,H=U.concat();H.splice(H.length-1,1);for(let K=0;K<H.length-1;K++)H[K].x===H[K+1].x&&H[K].y===H[K+1].y&&(H.splice(K,1),K--);let J=H.length;if(F(H)&&H.reverse(),D.irregularCut){D.terrainFlatten.clearPolygon();let K=[],X=m.scene.globe.ellipsoid;for(let j=0;j<H.length;j++){let ee=X.cartesianToCartographic(H[j]),ie=C.Math.toDegrees(ee.longitude),z=C.Math.toDegrees(ee.latitude),oe=ee.height;K.push(ie,z,oe)}D.terrainFlatten.addPolygon(K),D.terrainFlatten.update(),D.terrainFlatten.clipPlaneOfFlatten=!0}else{let K=[];for(let X=0;X<J;++X){let j=(X+1)%J,ee=C.Cartesian3.add(H[X],H[j],new C.Cartesian3);ee=C.Cartesian3.multiplyByScalar(ee,.5,ee);let ie=C.Cartesian3.normalize(ee,new C.Cartesian3),z=C.Cartesian3.subtract(H[j],ee,new C.Cartesian3);z=C.Cartesian3.normalize(z,z);let oe=C.Cartesian3.cross(z,ie,new C.Cartesian3);oe=C.Cartesian3.normalize(oe,oe);let le=new C.Plane(oe,0),Ae=C.Plane.getPointDistance(le,ee);K.push(new C.ClippingPlane(oe,Ae))}N.clippingPlanes=new C.ClippingPlaneCollection({planes:K})}}function F(U){if(U.length>=3)return!((U[1].x-U[0].x)*(U[2].y-U[1].y)-(U[1].y-U[0].y)*(U[2].x-U[1].x)>0)}return this};Hm.prototype.getPoint=function(o,A,f,m,C,E){let I=this,x=160,y=De.lerp(o,f,1/x)-o,v=De.lerp(A,m,1/x)-A,w=[],Q=[],M=[],B;w.push(o,A),B=Z.fromDegrees(o,A),Q.push(Lt.fromCartesian(B));for(let D=0;D<x;D++){let S=o+(D+1)*y,P=A+(D+1)*v;w.push(S,P),B=Z.fromDegrees(S,P),Q.push(Lt.fromCartesian(B))}return w.push(f,m),B=Z.fromDegrees(f,m),Q.push(Lt.fromCartesian(B)),{wallJwd:w,positions:Q}};Hm.prototype.getHeightsFromLonLat=function(o,A){let f=this._viewer,m=f.camera,C=[];if(this.isHaveTerrain(f))if(k(f.terrainProvider.availability)){let E=bB(f.terrainProvider,o);Promise.resolve(E).then(function(I){I.forEach(function(x){C.push(x.height)}),typeof A=="function"&&A(C)})}else o.forEach(function(E){let I=f.scene.globe.getHeight(E);C.push(I)}),typeof A=="function"&&A(C);else o.forEach(function(E){C.push(f.scene.globe.getHeight(E))}),typeof A=="function"&&A(C)};Hm.prototype.isHaveTerrain=function(){return!!(this._viewer.scene&&this._viewer.scene.terrainProvider&&this._viewer.scene.terrainProvider._layers)};Hm.prototype.drawwall=function(o,A,f){let m=this,C=m._viewer.entities.add({wall:{positions:new Kr(function(){return Z.fromDegreesArray(o)},!1),maximumHeights:A,minimumHeights:f}}),E=C.wall;E.material=new p0({image:ae(m._option.wallImgUrl,`${window.SmartEarthRootUrl}Workers/image/dzmc.jpg`),repeat:new tt(1,1)}),m.wallArr.push(C)};Hm.prototype.setDeepth=function(o){this.FlattenPolygon[0]&&this.FlattenPolygon[0].polygon.height.setValue(this.originHeight-o),this.wallArr.forEach(A=>{let f=A.wall.minimumHeights.getValue();f=Array(f.length),f.fill(this.originHeight-o),A.wall.minimumHeights.setValue(f)})};Hm.prototype.edit=function(o){let A=this,f=A.editPoint,m=A.nowPoint;if(A._earthCtrl.coreMap.scene.globe.depthTestAgainstTerrain=!1,m){for(let I of A.editPoint)I&&(I.show=!0);A.update(m,f,o);return}for(let I=2;I<A.hierarchy.length;I=I+3)A.hierarchy[I]=A.originHeight-A.deepth;A.FlattenPolygon[0]&&A._viewer.entities.remove(A.FlattenPolygon[0]),A.FlattenPolygon=[];let C=this._viewer.entities.add({name:null,id:A._earthCtrl.factory.createUUID(),polygon:{hierarchy:new In(Z.fromDegreesArrayHeights(A.hierarchy)),material:new p0({image:ae(A._option.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new tt(1,1)}),perPositionHeight:!0}});A.FlattenPolygon.push(C);let E=A.FlattenPolygon[0].polygon.hierarchy.getValue();for(let I of E.positions){let x=this._viewer.entities.add({id:A._earthCtrl.factory.createUUID(),position:I,point:{color:qe.WHITE,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}});f.push(x)}A._earthCtrl.measure.pickObject(null,function(I){let x=I.pickedObject.id;for(let y of f)if(x.id===y.id){A.nowPoint=y,A.update(y,f,o);return}})};Hm.prototype.endEdit=function(){let o=this;if(o._earthCtrl.coreMap.scene.globe.depthTestAgainstTerrain=!0,o.editPoint.length>0)for(let A of o.editPoint)A&&(A.show=!1)};Hm.prototype.excavationAndFill=function(){this.removeLabel();let o=this;this.endEdit(),o.topPositions&&(this.isLoading(!0),setTimeout(()=>{let A=null,f=null,m=!1;if(o.editPosition.length>0){let x=[];f=[];for(let y=0;y<o.editPosition.length-1;y++){let v=Lt.fromCartesian(o.editPosition[y]),w=De.toDegrees(v.longitude),Q=De.toDegrees(v.latitude),M=v.height;x.push(M),f.push(w,Q,M)}x.sort(function(y,v){return v-y}),A=x[0],m=!0}else A=o.heightsort[0]-o.deepth;let E=new Tre(o._earthCtrl,{positions:o.topPositions,baseHeight:A,basePositions:f,countBase:m}).start(),I=o.computeCentroidOfPolygon(o.topPositions);this._volumeLabel=this._viewer.entities.add({position:Z.fromRadians(I.longitude,I.latitude,o.heightsort[o.heightsort.length-1]),label:{text:`\u6316\u65B9\u4F53\u79EF\uFF1A${E.cutVolume}\u7ACB\u65B9\u7C73`,pixelOffset:{x:0,y:-30},font:"16px \u5B8B\u4F53",fillColor:qe.GOLD,verticalOrigin:on.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this._volumeLabel1=this._viewer.entities.add({position:Z.fromRadians(I.longitude,I.latitude,o.heightsort[o.heightsort.length-1]),label:{text:`\u586B\u65B9\u4F53\u79EF\uFF1A${E.fillVolume}\u7ACB\u65B9\u7C73`,pixelOffset:{x:0,y:-70},font:"16px \u5B8B\u4F53",fillColor:qe.GOLD,verticalOrigin:on.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this.isLoading(!1),console.log(E.result)},100))};Hm.prototype.computeCentroidOfPolygon=function(o){let A=[],f=[],m=0,C=0;for(let x=0;x<o.length;x++){let y=Lt.fromCartesian(o[x]);m+=y.longitude,C+=y.latitude,A.push(y.longitude),f.push(y.latitude)}let E=0,I=0;return E=m/o.length,I=C/o.length,new Lt(E,I)};Hm.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};Hm.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};Hm.prototype.update=function(o,A,f){let m=this,C=o.position.getValue(),I=m._scene.globe.ellipsoid.cartesianToCartographic(C),x=De.toDegrees(I.longitude),y=De.toDegrees(I.latitude),v=I.height;o.position.setValue(Z.fromDegrees(x,y,v+f)),m.editPoint=A,m.editPosition=[];let w=[];for(let M of A){let B=M.position.getValue();w.push(B),m.editPosition.push(B)}m.FlattenPolygon[0].polygon.hierarchy=new Kr(function(){return new In(w)},!0);let Q=m.editPosition;Q.push(Q[0]);for(let M=0;M<Q.length-1;M++){let D=[];for(let S=0;S<=160;S++){let P=Z.lerp(Q[M],Q[M+1],S/160,new Z),R=Lt.fromCartesian(P);D.push(R.height)}m.wallArr[M].wall.minimumHeights.setValue(D)}};Hm.prototype.removeFromMap=function(){this.endEdit(),this._earthCtrl.tools.clearTool(),this.editPoint=[],this.nowPoint=null;let o=this._viewer;if(this.wallArr.length>0){for(let A=0;A<this.wallArr.length;A++)o.entities.remove(this.wallArr[A]);this.wallArr=[]}o.scene.globe.clippingPlanes&&o.scene.globe.clippingPlanes.removeAll(),this.FlattenPolygon&&this.FlattenPolygon.length>0&&(this.FlattenPolygon.forEach(function(A){o.entities.remove(A)}),this.FlattenPolygon=[]),this.FlattenIsDraw=!1,this.removeLabel(),this.terrainFlatten&&this.terrainFlatten.clearPolygon()};Hm.prototype.removeLabel=function(){this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0)};var ybe=Hm;function Q0(o,A){this._earthCtrl=o,this._viewer=o.coreMap,this._scene=o.coreMap.scene,this.options=ae(A,{}),this._Tooltip=new vb(o),this._tooltip=this._Tooltip.CreateTooltip(),this._drawColor={point:ae(this.options.drawColor?.point,qe.BLUE),polyline:ae(this.options.drawColor?.polyline,qe.YELLOW),polygon:ae(this.options.drawColor?.point,qe.YELLOW.withAlpha(.5))},this.selectDatum=!0,this.onlyTerrain=!0,this.tin=!1,this._volumeTin=[],this.loadingImg=`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`}Q0.prototype.removeFromMap=function(){this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._prevEntity1!==void 0&&(this._viewer.entities.remove(this._prevEntity1),this._prevEntity1=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(o=>{this._viewer.entities.remove(o)}),this._volumeTin=[],this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=void 0),this.Triangulation=[],this.tinData=void 0,this._tooltip.show(!1)};Q0.prototype.deleteObject=Q0.prototype.removeFromMap;Q0.prototype.startDrawing=function(o={},A="auto",f){let m=this._scene,C=this._tooltip,E=3,I=[],x=[],y=[],v;this._positions=x,this._degreesArr=y,this._drawColor.point=o.point||this._drawColor.point,this._drawColor.polyline=o.polyline||this._drawColor.polyline,this._drawColor.polygon=o.polygon||this._drawColor.polygon,this.loadingImg=o.loading||this.loadingImg,this.tin=ae(o.tin,!0),this.onlyTerrain=ae(o.onlyTerrain,!1),this.selectDatum=ae(o.selectDatum,!0);let w=this;this._mouseHandler&&this._mouseHandler.destroy(),this.loading||this.addLoading();let Q=new pr(m.canvas);this._mouseHandler=Q,this.removeFromMap(),this._viewer.container.style.cursor=`url(${globalThis.GEOWORLD_BASE_URL} 'Workers/image/cursor/draw.cur')`;let M;Q.setInputAction(function(D){if(D.position!==null){let S=m.camera.getPickRay(D.position),P=m.globe.pick(S,m);if(this._viewer.scene.pick(D.position)){let T=this._viewer.scene.pickPosition(D.position);T&&(P=T)}if(P){let T=Lt.fromCartesian(P),L=De.toDegrees(T.longitude),F=De.toDegrees(T.latitude);if(I.length===0&&(I.push(L,F),y.push([L,F]),x.push(P),v=P),x.length>=4){let U=ms.wgs84ToWindowCoordinates(this._viewer.scene,v);if(U!==void 0){let N=U.x-D.position.x,H=U.y-D.position.y;if(N*N+H*H<16){I.splice(I.length-2,2),x.pop(),this.stopDrawing(f);return}}}I.push(L,F),y.push([L,F]),x.push(P),x.length===2&&!M&&(M=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Kr(function(){return x},!1),clampToGround:!0,material:w._drawColor.polygon,width:3}})),x.length===E&&(M&&this._viewer.entities.remove(M),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:new In(Z.fromDegreesArray(I)),material:w._drawColor.polygon,fill:!0}}),this._prevEntity.polygon.hierarchy=new Kr(B,!1))}}}.bind(this),_i.LEFT_CLICK),Q.setInputAction(function(D){let S=D.endPosition;if(S!==null)if(x.length===0)C.showAt(S,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{let P=m.camera.getPickRay(S),R=m.globe.pick(P,m),T=this._viewer.scene.pick(S),L=!1;if(T){let F=this._viewer.scene.pickPosition(S);F&&(R=F),L=!0}if(R){let F=Lt.fromCartesian(R),U=De.toDegrees(F.longitude),N=De.toDegrees(F.latitude);if(I.splice(I.length-2,2),y.pop(),x.pop(),I.push(U,N),y.push([U,N]),x.push(R),C.showAt(S,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"),x.length>=3&&x.length>=4){let H=ms.wgs84ToWindowCoordinates(this._viewer.scene,v);if(H!==void 0){let J=H.x-S.x,K=H.y-S.y;J*J+K*K<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}}.bind(this),_i.MOUSE_MOVE),Q.setInputAction(function(D){this.end&&this.end()}.bind(this),_i.RIGHT_CLICK);function B(){return new In(Z.fromDegreesArray(I))}return this.end=D=>{if(this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),w._viewer.container.style.cursor="default",this._tooltip.show(!1),M&&this._viewer.entities.remove(M),this.end=void 0,!(x.length<E)){if(this._prevEntity&&(this._prevEntity.polygon.hierarchy=Z.fromDegreesArray(I)),D==="cancel"){this._prevEntity&&this._viewer.entities.remove(this._prevEntity);return}this.stopDrawing(A,f)}},this};Q0.prototype.stopDrawing=function(o,A){this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(f=>{this._viewer.entities.remove(f)}),this._volumeTin=[],this.isLoading(!0),setTimeout(()=>{let f=this.computeCutVolume(o,this.onlyTerrain),m=C=>{let E=C.maxHeight,I=C.minHeight;this._prevEntity.polygon.height=C.minHeight,this._prevEntity.polygon.heightReference=0;let x={id:this._earthCtrl.factory.createUUID(),polygon:{hierarchy:{positions:this._positions},height:I,extrudedHeight:E,closeTop:!1,closeBottom:!1,material:qe.CYAN.withAlpha(.2),outline:!0,outlineColor:qe.RED,outlineWidth:2}};if(this._prevEntity1=this._viewer.entities.add(x),typeof A=="function"&&A(C),this.selectDatum){let y=()=>{this.addPoint(v=>{this.setDatum(v,w=>{typeof A=="function"&&A({...C,...w}),y()})})};y()}};this.onlyTerrain?f.then(C=>{m(C)}):m(f)},100)};Q0.prototype.computeCentroidOfPolygon=function(o){let A=[],f=[],m=0,C=0;for(let x=0;x<o.length;x++){let y=Lt.fromCartesian(o[x]);m+=y.longitude,C+=y.latitude,A.push(y.longitude),f.push(y.latitude)}let E=0,I=0;return E=m/o.length,I=C/o.length,new Lt(E,I)};Q0.prototype.computeCutVolume=function(o,A){let f=this,m=15e3,C=-15e3;o==="auto"&&(o=si.fromPoints(this._positions).radius/20);let E=this.getPointsInPolygon(this._degreesArr,o,!0),I=ws.polygon([this._degreesArr]),x=()=>{let{tin:y}=this.tinFromPoints(E,{getArea:!0,polygon:I});this.tinData=y;let v={fill:0,dig:0},w={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"},Q,M,B,D,S,P={fill:1,dig:1};this.Triangulation=[],y.features.forEach(T=>{if(T.positions){if(this.tin){let F=this._viewer.entities.add({polygon:{hierarchy:new In(T.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,outlineColor:qe.YELLOW}});this._volumeTin.push(F)}let L=T.geometry.coordinates[0];Q=L[0][2],M=L[1][2],B=L[2][2],S=T.area,this.Triangulation.push({bottomArea:S,height:[Q,M,B]}),D=(Q-m+M-m+B-m)/3,D>0?v.dig=v.dig+S*D*P.dig:v.fill=v.fill-S*D*P.fill,v.dig>1e10&&w.dig==="\u7ACB\u65B9\u7C73"&&(v.dig=v.dig/1e9,w.dig="\u7ACB\u65B9\u5343\u7C73",P.dig=1e-9),v.fill>1e10&&w.fill==="\u7ACB\u65B9\u7C73"&&(v.fill=v.fill/1e9,w.fill="\u7ACB\u65B9\u5343\u7C73",P.fill=1e-9)}});let R=this.computeCentroidOfPolygon(this._positions);return this._volumeLabel=this._viewer.entities.add({position:Z.fromRadians(R.longitude,R.latitude,C),label:{text:`\u6316\u65B9\u4F53\u79EF\uFF1A${v.dig.toFixed(4)}${w.dig}`,pixelOffset:{x:0,y:-30},font:"16px \u5B8B\u4F53",fillColor:qe.GOLD,verticalOrigin:on.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this._volumeLabel1=this._viewer.entities.add({position:Z.fromRadians(R.longitude,R.latitude,C),label:{text:`\u586B\u65B9\u4F53\u79EF\uFF1A${v.fill.toFixed(4)}${w.fill}`,pixelOffset:{x:0,y:-70},font:"16px \u5B8B\u4F53",fillColor:qe.GOLD,verticalOrigin:on.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this.isLoading(!1),{maxHeight:C,minHeight:m,volume:v,unit:w,spacing:o}};if(A){let y=[];return E.features.forEach(w=>{let Q=w.geometry.coordinates;y.push(Lt.fromDegrees(Q[0],Q[1]))}),bB(this._viewer.scene.globe.terrainProvider,y).then(w=>(E.features.forEach((Q,M)=>{let B=Q.geometry.coordinates;B[2]=w[M]&&w[M].height?w[M].height:0,C<B[2]&&(C=B[2]),m>B[2]&&(m=B[2])}),x()))}return E.features.forEach(y=>{let v=y.geometry.coordinates,w=new Lt(De.toRadians(v[0]),De.toRadians(v[1]));v[2]=this._viewer.scene.sampleHeight(w)||0,C<v[2]&&(C=v[2]),m>v[2]&&(m=v[2])}),x()};Q0.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};Q0.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};Q0.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};Q0.prototype.addPoint=function(o){this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=null),this._prevEntity1&&(this.addPointHandle=new pr(this._viewer.scene.canvas),this.addPointHandle.setInputAction(function(A){let f=this._viewer.scene.pick(A.position);if(f&&f.id&&f.id.id===this._prevEntity1.id){let m=this._viewer.scene.pickPosition(A.position);if(m){let C=Lt.fromCartesian(m);this.addPointHandle.destroy(),this.addPointHandle=null,o&&typeof o=="function"&&o(C.height.toFixed(1))}}}.bind(this),_i.LEFT_CLICK),this.addPointHandle.setInputAction(function(A){let f=this._viewer.scene.pick(A.endPosition);f&&f.id&&f.id.id===this._prevEntity1.id?this._tooltip.showAt(A.endPosition,"\u70B9\u51FB\u4FEE\u6539\u57FA\u51C6\u9762\u9AD8\u5EA6"):this._tooltip.show(!1)}.bind(this),_i.MOUSE_MOVE))};Q0.prototype.showTin=function(o){this.tin=o,this._volumeTin.forEach(A=>{this._viewer.entities.remove(A)}),this._volumeTin=[],o&&this.tinData&&this.tinData.features.forEach(A=>{if(A.positions){let f=this._viewer.entities.add({polygon:{hierarchy:new In(A.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,outlineColor:qe.YELLOW}});this._volumeTin.push(f)}})};Q0.prototype.setDatum=function(o,A){if(this.Triangulation&&this.Triangulation.length>0){let f,m,C,E={fill:0,dig:0},I={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"},x={fill:1,dig:1};this.Triangulation.forEach(function(y){f=y.bottomArea,m=y.height,C=(m[0]-o+m[1]-o+m[2]-o)/3,C>0?E.dig=E.dig+f*C*x.dig:E.fill=E.fill-f*C*x.fill,E.dig>1e10&&I.dig==="\u7ACB\u65B9\u7C73"&&(E.dig=E.dig/1e9,I.dig="\u7ACB\u65B9\u5343\u7C73",x.dig=1e-9),E.fill>1e10&&I.fill==="\u7ACB\u65B9\u7C73"&&(E.fill=E.fill/1e9,I.fill="\u7ACB\u65B9\u5343\u7C73",x.fill=1e-9)}),this._volumeLabel.label.text=`\u6316\u65B9\u4F53\u79EF\uFF1A${E.dig.toFixed(4)}${I.dig}`,this._volumeLabel1.label.text=`\u586B\u65B9\u4F53\u79EF\uFF1A${E.fill.toFixed(4)}${I.fill}`,this._prevEntity.polygon.height=o,A&&typeof A=="function"&&A({volume:E,unit:I})}};Q0.prototype.getPointsInPolygon=function(o,A=50,f=!0){if(o.length<3)return;o.push(o[0]);let m=ws.lineString(o),C=ws.bbox(m),E=ws.pointGrid(C,A,{units:"meters"}),I=ws.polygon([o]),x=ws.pointsWithinPolygon(E,I);if(f)for(let y=0;y<o.length-1;y++){let v=ws.lineString([o[y],o[y+1]]),w={units:"meters"},Q=ws.length(v,w),M;for(let B=A;;B+=A)if(B<=Q)M=ws.along(v,B,w),x.features.push(M);else{M=ws.along(v,Q,w),x.features.push(M);break}}return x};Q0.prototype.tinFromPoints=function(o,A={}){let{polygon:f,getArea:m}=A,C=ws.tin(o),E=0;return C&&C.features&&C.features.forEach(I=>{let x=!0;if(f){let y=ws.centerOfMass(I);x=ws.booleanPointInPolygon(y,f)}if(x){let y=I.geometry.coordinates[0],v=[],w=[];for(let Q=0;Q<3;Q++)v.push([y[Q][0],y[Q][1]]),w.push(Z.fromDegrees(y[Q][0],y[Q][1],y[Q][2]));I.positions=w,m&&(I.area=this.getArea(v,w,!0),E+=I.area)}}),{tin:C,area:E}};Q0.prototype.getArea=function(o,A,f){if(o.length<3)return;o.push(o[0]);let m=o,C=0,E=ws.polygon([m]),I;m.length===4?I=[E]:I=ws.tesselate(E).features;let x,y,v,w;return I.forEach(Q=>{x=Q.geometry.coordinates[0],y=m.findIndex(P=>P.toString()===x[0].toString()),v=m.findIndex(P=>P.toString()===x[1].toString()),w=m.findIndex(P=>P.toString()===x[2].toString());let M=this.getdistance(A[y],A[v]),B=this.getdistance(A[v],A[w]),D=this.getdistance(A[y],A[w]),S=(M+B+D)/2;C+=Math.sqrt(S*((S-M)*(S-B)*(S-D)))}),f||(C<1e6?C=`${C.toFixed(2)}\u5E73\u65B9\u7C73`:C=`${(C/1e6).toFixed(2)}\u5E73\u65B9\u5343\u7C73`),C};Q0.prototype.getdistance=function(o,A){let f=Lt.fromCartesian(o),m=Lt.fromCartesian(A),C=new Ig;C.setEndPoints(f,m);let E=C.surfaceDistance;return E=Math.sqrt(Math.pow(E,2)+Math.pow(m.height-f.height,2)),E};var Dtt=Q0;function Pre(o){this.mEarthCtrl=o,this._polylines=[],this._resPolylines=[],this._points=[],this.entities=this.mEarthCtrl.entities,this.camera=this.mEarthCtrl.coreMap.camera,this.scene=this.mEarthCtrl.coreMap.scene}Pre.prototype.createLineOfSight=function(o){let A=[],f=this,m=[],C=[],E={polyline:[]};f.objectsToExclude=null;let I,x=function(){function M(B){this.options={polyline:{show:!0,positions:[],material:qe.YELLOW,width:3,clampToGround:!1}},this.positionsp=B,this._init()}return M.prototype._init=function(){let B=this,D=function(){return B.positionsp};this.options.polyline.positions=new Kr(D,!1),this.polyline=f.entities.add(this.options),f.item=this.polyline,C.push(this.polyline)},M}(),y=new pr(f.scene.canvas),v=[],w;if(this._points.length>0)for(let M=0;M<this._points.length;M++)this.entities.remove(this._points[M]);let Q=[];return y.setInputAction(function(M){let B,D=new Z(0,0,0);if(new Qa(f.mEarthCtrl).pickVector(M.position,D)&&(B=D),!!B)if(v.length===0){v.push(B.clone(),B.clone());let P={leftX:M.position.x,leftY:M.position.y};Q.push(P),I=B.clone()}else{let P={rightX:M.position.x,rightY:M.position.y};Q.push(P);let R={postion:v,entity:C,cartesian:Q};m.push(R),Q=[],w=void 0,v=[],v.push(I.clone()),v.push(I.clone()),w=new x(v),A.push(w)}},_i.LEFT_CLICK),y.setInputAction(function(M){let B,D=f.camera.getPickRay(M.endPosition);if(B=f.scene.globe.pick(D,f.scene),f.scene.pick(M.endPosition)){let P=f.scene.pickPosition(M.endPosition);P&&(B=P)}!B||v.length>=2&&(k(w)?B!==void 0&&(v.pop(),v.push(B)):(w=new x(v),A.push(w)))},_i.MOUSE_MOVE),y.setInputAction(function(M){let B=f.entities.add(new Fu);f.objectsToExclude=[B];let D=!0;for(let S=0;S<m.length;S++)S===0?D=f.tsjx(m[0].postion[0],m[0].postion[1]):D=f.tsjx(m[S].postion[0],m[S].postion[1]);v.pop(),f._polylines=E.polyline,y.destroy();for(let S=0;S<C.length;S++)f.entities.remove(C[S]);k(o)&&typeof o=="function"&&o(E)},_i.RIGHT_CLICK),this};Pre.prototype.tsjx=function(o,A){let f=this,m=Z.normalize(Z.subtract(A,o,new Z),new Z),C=new Oa(o,m),E=f.scene.globe.pick(C,f.scene);E!=null?(I(E,o,qe.GREEN),I(E,A,qe.RED)):I(o,A,qe.GREEN);function I(x,y,v){let w=f.entities.add({polyline:{positions:[x,y],width:1,material:v,depthFailMaterial:v}});f._resPolylines.push(w)}return!1};Pre.prototype.deleteObject=function(){if(this._points.length>0){this.objectsToExclude=null;for(let o=0;o<this._points.length;o++)this.entities.remove(this._points[o])}if(this._resPolylines.length>0){for(let o=0;o<this._resPolylines.length;o++)this.entities.remove(this._resPolylines[o]);this._resPolylines=[]}};var Mtt=Pre;function Ac(o,A={}){this._earthCtrl=o,this._viewer=o.coreMap,this._scene=o.coreMap.scene,this.options=ae(A,{}),this._Tooltip=new vb(o),this._tooltip=this._Tooltip.CreateTooltip(),this._drawColor={point:ae(this.options.drawColor?.point,qe.BLUE),polyline:ae(this.options.drawColor?.polyline,qe.YELLOW),polygon:ae(this.options.drawColor?.polygon,qe.YELLOW.withAlpha(.5))},this.selectDatum=!0,this.onlyTerrain=!0,this.tin=!1,this._volumeTin=[],this.loadingImg=`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`,this.wallArr=[],this.FlattenPolygon=[],this._Apositions=[],this._heightsort=null,this._deepth=100,this._positions=[],this._modelArr=ae(A.modelArr,[]),this._isFlattening=ae(A.isFlattening,!0),this.modelCuttingPolygon=null,this.wallImgUrl=ae(A.wallImgUrl,null),this.bottomImgUrl=ae(A.bottomImgUrl,null),this.calculate=ae(A.calculate,!0),this._Loading=ae(A.loading,!0),this.editPoint=[],this.nowPoint=null,this.hierarchy=[],this._originHeight=null}Ac.prototype.removeMeasureFromMap=function(){this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._prevEntity1!==void 0&&(this._viewer.entities.remove(this._prevEntity1),this._prevEntity1=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(o=>{this._viewer.entities.remove(o)}),this._volumeTin=[],this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=void 0),this.Triangulation=[],this.tinData=void 0,this._tooltip.show(!1)};Ac.prototype.removeFromMap=function(){if(this.endEdit(),this.removeMeasureFromMap(),this.wallArr.length>0){for(let o=0;o<this.wallArr.length;o++)this._viewer.entities.remove(this.wallArr[o]);this.wallArr=[]}if(this.FlattenPolygon&&this.FlattenPolygon.length>0){for(let o=0;o<this.FlattenPolygon.length;o++)this._viewer.entities.remove(this.FlattenPolygon[o]);this.FlattenPolygon=[]}this.removeModelCutting()};Ac.prototype.deleteObject=Ac.prototype.removeFromMap;Ac.prototype.startDrawing=function(o={},A){let f=ae(o.spacing,"auto"),m=this._scene,C=this._tooltip,E=3,I=[],x=[],y=[],v=[],w=[],Q;this._Apositions=o.positions,this._positions=x,this._hierarchy=y,this._heightsort=v,this._degreesArr=w,this._deepth=ae(o.deepth,100),this._drawColor.point=o.point||this._drawColor.point,this._drawColor.polyline=o.polyline||this._drawColor.polyline,this._drawColor.polygon=o.polygon||this._drawColor.polygon,this.loadingImg=o.loading||this.loadingImg,this.tin=ae(o.tin,!1),this.onlyTerrain=ae(o.onlyTerrain,!1),this.selectDatum=ae(o.selectDatum,!1);let M=this;if(this._mouseHandler&&this._mouseHandler.destroy(),this.loading||this.addLoading(),o.positions){let B=Z.fromDegreesArray(o.positions);for(let D of B)x.push(D);if(!(x.length<E)){for(let D=0;D<o.positions.length;D+=2)w.push([o.positions[D],o.positions[D+1]]);this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:Z.fromDegreesArray(o.positions),material:M._drawColor.polygon,fill:!0}});for(let D=0;D<o.positions.length;D+=2){let S=M._viewer.scene.sampleHeight(new Lt(De.toRadians(o.positions[D]),De.toRadians(o.positions[D+1])));v.push(S),y.push(o.positions[D],o.positions[D+1],S)}this.stopDrawing(f,D=>{A&&A(D)})}}else{let B=new pr(m.canvas);this._mouseHandler=B,this.removeMeasureFromMap(),this._viewer.container.style.cursor=`url(${globalThis.GEOWORLD_BASE_URL} 'Workers/image/cursor/draw.cur')`;let D;B.setInputAction(function(P){if(P.position!==null){let R=m.camera.getPickRay(P.position),T=m.globe.pick(R,m);if(this._viewer.scene.pick(P.position)){let F=this._viewer.scene.pickPosition(P.position);F&&(T=F)}if(T){let F=Lt.fromCartesian(T),U=De.toDegrees(F.longitude),N=De.toDegrees(F.latitude);if(I.length===0&&(I.push(U,N),w.push([U,N]),x.push(T),Q=T),x.length>=4){let H=ms.wgs84ToWindowCoordinates(this._viewer.scene,Q);if(H!==void 0){let J=H.x-P.position.x,K=H.y-P.position.y;if(J*J+K*K<16){I.splice(I.length-2,2),x.pop(),this.stopDrawing(A);return}}}I.push(U,N),w.push([U,N]),x.push(T),x.length===2&&!D&&(D=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Kr(function(){return x},!1),clampToGround:!0,material:M._drawColor.polygon,width:3}})),x.length===E&&(D&&this._viewer.entities.remove(D),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:new In(Z.fromDegreesArray(I)),material:M._drawColor.polygon,fill:!0}}),this._prevEntity.polygon.hierarchy=new Kr(()=>new In(Z.fromDegreesArray(I)),!1))}}}.bind(this),_i.LEFT_CLICK),B.setInputAction(function(P){let R=P.endPosition;if(R!==null)if(x.length===0)C.showAt(R,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{let T=m.camera.getPickRay(R),L=m.globe.pick(T,m),F=this._viewer.scene.pick(R),U=!1;if(F){let N=this._viewer.scene.pickPosition(R);N&&(L=N),U=!0}if(L){let N=Lt.fromCartesian(L),H=De.toDegrees(N.longitude),J=De.toDegrees(N.latitude);if(I.splice(I.length-2,2),w.pop(),x.pop(),I.push(H,J),w.push([H,J]),x.push(L),C.showAt(R,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"),x.length>=3&&x.length>=4){let K=ms.wgs84ToWindowCoordinates(this._viewer.scene,Q);if(K!==void 0){let X=K.x-R.x,j=K.y-R.y;X*X+j*j<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}}.bind(this),_i.MOUSE_MOVE);let S=null;B.setInputAction(function(P){S=window.setTimeout(()=>{console.log("\u5355\u51FB"),this.end&&this.end()},200)}.bind(this),_i.RIGHT_CLICK),B.setInputAction(function(P){console.log("\u53CC\u51FB......"),clearTimeout(S)},_i.LEFT_DOUBLE_CLICK),this.end=P=>{if(this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),M._viewer.container.style.cursor="default",this._tooltip.show(!1),D&&this._viewer.entities.remove(D),this.end=void 0,console.log(w,"?????????"),!(x.length<E)){if(this._prevEntity&&(this._prevEntity.polygon.hierarchy=Z.fromDegreesArray(I)),P==="cancel"){this._prevEntity&&this._viewer.entities.remove(this._prevEntity);return}for(let R=0;R<I.length;R+=2){let T=M._viewer.scene.sampleHeight(new Lt(De.toRadians(I[R]),De.toRadians(I[R+1])));v.push(T),y.push(I[R],I[R+1],T)}this._Apositions=I,this.stopDrawing(f,A)}}}return this};Ac.prototype.stopDrawing=function(o,A){let f=this;this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(m=>{this._viewer.entities.remove(m)}),this._volumeTin=[],this._Loading&&this.isLoading(!0),setTimeout(()=>{f._heightsort.sort(function(D,S){return D-S});let m=this._viewer.entities.add({name:null,id:f._earthCtrl.factory.createUUID(),polygon:{hierarchy:new Kr(function(){return new In(Z.fromDegreesArrayHeights(f._hierarchy))},!1),material:new p0({image:ae(f.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new tt(1,1)})}});f.FlattenPolygon.push(m),f.originHeight=f._heightsort[0];let C=Z.fromDegreesArrayHeights(f._hierarchy);C.push(C[0]),f._positionsB=C;let E=null,I,x,y,v,w,Q;for(let D=0;D<C.length-1;D++){I=Lt.fromCartesian(C[D]),x=Lt.fromCartesian(C[D+1]),y=De.toDegrees(I.longitude),w=De.toDegrees(I.latitude),v=De.toDegrees(x.longitude),Q=De.toDegrees(x.latitude),E?E=E>x.height?x.height:E:E=I.height>x.height?x.height:I.height;let S=f.getPoint(y,w,v,Q,I.height,x.height),P=[],R=[];f.getHeightsFromLonLat(S.positions,function(T){if(T){P=T;for(let L=0;L<P.length;L++)R.push(f._heightsort[0]-f._deepth);f.drawwall(S.wallJwd,P,R)}})}if(f._baseHeight=f._heightsort[0]-f._deepth,m.polygon.height=f._baseHeight,!this.calculate)return f._isFlattening&&f.modelCutting(),A&&A(!0),this.isLoading(!1);let M=this.computeCutVolume(o,this.onlyTerrain),B=D=>{let S=D.maxHeight,P=D.minHeight;if(this._prevEntity.polygon.height=D.minHeight,this._prevEntity.polygon.heightReference=0,this.selectDatum){let R=()=>{this.addPoint(T=>{this.setDatum(T,L=>{typeof A=="function"&&A({...D,...L}),R()})})};R()}};this.onlyTerrain?M.then(D=>{B(D)}):B(M),f.setDatum(f._baseHeight,D=>{f._isFlattening&&f.modelCutting(),A&&A(D),this._Loading&&this.isLoading(!1)})},100)};Ac.prototype.modelCutting=function(){let o=this;if(o._modelCuttingPolygon=bc.fromPositions({positions:Z.fromDegreesArray(o._Apositions),height:o._baseHeight}),o._modelArr.length>0)for(let A of o._modelArr)A.addFlattenPolygon(o._modelCuttingPolygon),A.needUpdateFlatten=!0,A.clipPlaneOfFlatten=!0;else console.info("\u8BF7\u6DFB\u52A0\u6A21\u578B\uFF01")};Ac.prototype.removeModelCutting=function(){let o=this;if(o._modelArr.length>0){for(let A of o._modelArr)A.removeFlattenPolygon(o._modelCuttingPolygon);o._modelCuttingPolygon=null,o._modelArr=[]}else console.info("\u8BF7\u6DFB\u52A0\u6A21\u578B\uFF01")};Ac.prototype.computeCentroidOfPolygon=function(o){let A=[],f=[],m=0,C=0;for(let x=0;x<o.length;x++){let y=Lt.fromCartesian(o[x]);m+=y.longitude,C+=y.latitude,A.push(y.longitude),f.push(y.latitude)}let E=0,I=0;return E=m/o.length,I=C/o.length,new Lt(E,I)};Ac.prototype.edit=function(o,A,f){let m=this,C=m.editPoint,E=m.nowPoint;if(m._earthCtrl.coreMap.scene.globe.depthTestAgainstTerrain=!1,E){for(let y of m.editPoint)y&&(y.show=!0);m.update(E,C,o);return}for(let y=2;y<m._hierarchy.length;y=y+3)m._hierarchy[y]=m.originHeight-m._deepth;m.FlattenPolygon[0]&&m._viewer.entities.remove(m.FlattenPolygon[0]),m.FlattenPolygon=[];let I=this._viewer.entities.add({name:null,id:m._earthCtrl.factory.createUUID(),polygon:{hierarchy:new In(Z.fromDegreesArrayHeights(m._hierarchy)),material:new p0({image:ae(m.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new tt(1,1)}),perPositionHeight:!0}});m.FlattenPolygon.push(I);let x=m.FlattenPolygon[0].polygon.hierarchy.getValue();for(let y of x.positions){let v=this._viewer.entities.add({id:m._earthCtrl.factory.createUUID(),position:y,point:{color:qe.WHITE,pixelSize:12,outlineColor:qe.BLACK,outlineWidth:1}});C.push(v)}if(o)if(A){for(let y of C)if(A===y.id){m.nowPoint=y,m.update(y,C,o);return}}else m._earthCtrl.measure.pickObject(null,function(y){let v=y.pickedObject.id;for(let w of C)if(v.id===w.id){m.nowPoint=w,m.update(w,C,o);return}});else f&&f(C)};Ac.prototype.update=function(o,A,f){let m=this,C=o.position.getValue(),I=m._scene.globe.ellipsoid.cartesianToCartographic(C),x=De.toDegrees(I.longitude),y=De.toDegrees(I.latitude),v=I.height;o.position.setValue(Z.fromDegrees(x,y,v+f)),m.editPoint=A,m.editPosition=[];let w=[];for(let M of A){let B=M.position.getValue();w.push(B),m.editPosition.push(B)}m.FlattenPolygon[0].polygon.hierarchy=new Kr(function(){return new In(w)},!0);let Q=m.editPosition;Q.push(Q[0]);for(let M=0;M<Q.length-1;M++){let D=[];for(let S=0;S<=160;S++){let P=Z.lerp(Q[M],Q[M+1],S/160,new Z),R=Lt.fromCartesian(P);D.push(R.height)}m.wallArr[M].wall.minimumHeights.setValue(D)}};Ac.prototype.endEdit=function(){let o=this;if(o._earthCtrl.coreMap.scene.globe.depthTestAgainstTerrain=!0,o.editPoint.length>0)for(let A of o.editPoint)A&&(A.show=!1)};Ac.prototype.computeCutVolume=function(o,A){let f=this,m=15e3,C=-15e3;o==="auto"&&(o=si.fromPoints(this._positions).radius/20);let E=this.getPointsInPolygon(this._degreesArr,o,!0),I=ws.polygon([this._degreesArr]),x=()=>{let{tin:y}=this.tinFromPoints(E,{getArea:!0,polygon:I});this.tinData=y;let v={fill:0,dig:0},w={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"},Q,M,B,D,S,P={fill:1,dig:1};this.Triangulation=[],y.features.forEach(T=>{if(T.positions){if(this.tin){let F=this._viewer.entities.add({polygon:{hierarchy:new In(T.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,outlineColor:qe.YELLOW}});this._volumeTin.push(F)}let L=T.geometry.coordinates[0];Q=L[0][2],M=L[1][2],B=L[2][2],S=T.area,this.Triangulation.push({bottomArea:S,height:[Q,M,B]}),D=(Q-m+M-m+B-m)/3,D>0?v.dig=v.dig+S*D*P.dig:v.fill=v.fill-S*D*P.fill,v.dig>1e10&&w.dig==="\u7ACB\u65B9\u7C73"&&(v.dig=v.dig/1e9,w.dig="\u7ACB\u65B9\u5343\u7C73",P.dig=1e-9),v.fill>1e10&&w.fill==="\u7ACB\u65B9\u7C73"&&(v.fill=v.fill/1e9,w.fill="\u7ACB\u65B9\u5343\u7C73",P.fill=1e-9)}});let R=this.computeCentroidOfPolygon(this._positions);return this._volumeLabel=this._viewer.entities.add({position:Z.fromRadians(R.longitude,R.latitude,C),label:{text:`\u6316\u65B9\u4F53\u79EF\uFF1A${v.dig.toFixed(4)}${w.dig}`,pixelOffset:{x:0,y:-30},font:"16px \u5B8B\u4F53",fillColor:qe.GOLD,verticalOrigin:on.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this._volumeLabel1=this._viewer.entities.add({position:Z.fromRadians(R.longitude,R.latitude,C),label:{text:`\u586B\u65B9\u4F53\u79EF\uFF1A${v.fill.toFixed(4)}${w.fill}`,pixelOffset:{x:0,y:-70},font:"16px \u5B8B\u4F53",fillColor:qe.GOLD,verticalOrigin:on.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),{maxHeight:C,minHeight:m,volume:v,unit:w,spacing:o}};if(A){let y=[];return E.features.forEach(w=>{let Q=w.geometry.coordinates;y.push(Lt.fromDegrees(Q[0],Q[1]))}),bB(this._viewer.scene.globe.terrainProvider,y).then(w=>(E.features.forEach((Q,M)=>{let B=Q.geometry.coordinates;B[2]=w[M]&&w[M].height?w[M].height:0,C<B[2]&&(C=B[2]),m>B[2]&&(m=B[2])}),x()))}return E.features.forEach(y=>{let v=y.geometry.coordinates,w=new Lt(De.toRadians(v[0]),De.toRadians(v[1]));v[2]=this._viewer.scene.sampleHeight(w)||0,C<v[2]&&(C=v[2]),m>v[2]&&(m=v[2])}),x()};Ac.prototype.getPoint=function(o,A,f,m,C,E){let I=this,x=160,y=De.lerp(o,f,1/x)-o,v=De.lerp(A,m,1/x)-A,w=[],Q=[],M=[],B;w.push(o,A),B=Z.fromDegrees(o,A),Q.push(Lt.fromCartesian(B));for(let D=0;D<x;D++){let S=o+(D+1)*y,P=A+(D+1)*v;w.push(S,P),B=Z.fromDegrees(S,P),Q.push(Lt.fromCartesian(B))}return w.push(f,m),B=Z.fromDegrees(f,m),Q.push(Lt.fromCartesian(B)),{wallJwd:w,positions:Q}};Ac.prototype.getHeightsFromLonLat=function(o,A){let f=this._viewer,m=[];o.forEach(function(C){m.push(f.scene.sampleHeight(new Lt(C.longitude,C.latitude)))}),typeof A=="function"&&A(m)};Ac.prototype.isHaveTerrain=function(){return!!(this._viewer.scene&&this._viewer.scene.terrainProvider&&this._viewer.scene.terrainProvider._layers)};Ac.prototype.drawwall=function(o,A,f){let m=this,C=m._viewer.entities.add({wall:{positions:new Kr(function(){return Z.fromDegreesArray(o)},!1),maximumHeights:A,minimumHeights:f}}),E=C.wall;E.material=new p0({image:ae(m.wallImgUrl,`${window.SmartEarthRootUrl}Workers/image/dzmc.jpg`),repeat:new tt(1,1)}),m.wallArr.push(C)};Ac.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};Ac.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};Ac.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};Ac.prototype.addPoint=function(o){this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=null),this._prevEntity1&&(this.addPointHandle=new pr(this._viewer.scene.canvas),this.addPointHandle.setInputAction(function(A){let f=this._viewer.scene.pick(A.position);if(f&&f.id&&f.id.id===this._prevEntity1.id){let m=this._viewer.scene.pickPosition(A.position);if(m){let C=Lt.fromCartesian(m);this.addPointHandle.destroy(),this.addPointHandle=null,o&&typeof o=="function"&&o(C.height.toFixed(1))}}}.bind(this),_i.LEFT_CLICK),this.addPointHandle.setInputAction(function(A){let f=this._viewer.scene.pick(A.endPosition);f&&f.id&&f.id.id===this._prevEntity1.id?this._tooltip.showAt(A.endPosition,"\u70B9\u51FB\u4FEE\u6539\u57FA\u51C6\u9762\u9AD8\u5EA6"):this._tooltip.show(!1)}.bind(this),_i.MOUSE_MOVE))};Ac.prototype.showTin=function(o){this.tin=o,this._volumeTin.forEach(A=>{this._viewer.entities.remove(A)}),this._volumeTin=[],o&&this.tinData&&this.tinData.features.forEach(A=>{if(A.positions){let f=this._viewer.entities.add({polygon:{hierarchy:new In(A.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,outlineColor:qe.YELLOW}});this._volumeTin.push(f)}})};Ac.prototype.setDatum=function(o,A){if(this.Triangulation&&this.Triangulation.length>0){let f,m,C,E={fill:0,dig:0},I={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"},x={fill:1,dig:1};this.Triangulation.forEach(function(y){f=y.bottomArea,m=y.height,C=(m[0]-o+m[1]-o+m[2]-o)/3,C>0?E.dig=E.dig+f*C*x.dig:E.fill=E.fill-f*C*x.fill,E.dig>1e10&&I.dig==="\u7ACB\u65B9\u7C73"&&(E.dig=E.dig/1e9,I.dig="\u7ACB\u65B9\u5343\u7C73",x.dig=1e-9),E.fill>1e10&&I.fill==="\u7ACB\u65B9\u7C73"&&(E.fill=E.fill/1e9,I.fill="\u7ACB\u65B9\u5343\u7C73",x.fill=1e-9)}),this._volumeLabel.label.text=`\u6316\u65B9\u4F53\u79EF\uFF1A${E.dig.toFixed(4)}${I.dig}`,this._volumeLabel1.label.text=`\u586B\u65B9\u4F53\u79EF\uFF1A${E.fill.toFixed(4)}${I.fill}`,this._prevEntity.polygon.height=o,A&&typeof A=="function"&&A({volume:E,unit:I})}};Ac.prototype.getPointsInPolygon=function(o,A=50,f=!0){if(o.length<3)return;o.push(o[0]);let m=ws.lineString(o),C=ws.bbox(m),E=ws.pointGrid(C,A,{units:"meters"}),I=ws.polygon([o]),x=ws.pointsWithinPolygon(E,I);if(f)for(let y=0;y<o.length-1;y++){let v=ws.lineString([o[y],o[y+1]]),w={units:"meters"},Q=ws.length(v,w),M;for(let B=A;;B+=A)if(B<=Q)M=ws.along(v,B,w),x.features.push(M);else{M=ws.along(v,Q,w),x.features.push(M);break}}return x};Ac.prototype.tinFromPoints=function(o,A={}){let{polygon:f,getArea:m}=A,C=ws.tin(o),E=0;return C&&C.features&&C.features.forEach(I=>{let x=!0;if(f){let y=ws.centerOfMass(I);x=ws.booleanPointInPolygon(y,f)}if(x){let y=I.geometry.coordinates[0],v=[],w=[];for(let Q=0;Q<3;Q++)v.push([y[Q][0],y[Q][1]]),w.push(Z.fromDegrees(y[Q][0],y[Q][1],y[Q][2]));I.positions=w,m&&(I.area=this.getArea(v,w,!0),E+=I.area)}}),{tin:C,area:E}};Ac.prototype.getArea=function(o,A,f){if(o.length<3)return;o.push(o[0]);let m=o,C=0,E=ws.polygon([m]),I;m.length===4?I=[E]:I=ws.tesselate(E).features;let x,y,v,w;return I.forEach(Q=>{x=Q.geometry.coordinates[0],y=m.findIndex(P=>P.toString()===x[0].toString()),v=m.findIndex(P=>P.toString()===x[1].toString()),w=m.findIndex(P=>P.toString()===x[2].toString());let M=this.getdistance(A[y],A[v]),B=this.getdistance(A[v],A[w]),D=this.getdistance(A[y],A[w]),S=(M+B+D)/2;C+=Math.sqrt(S*((S-M)*(S-B)*(S-D)))}),f||(C<1e6?C=`${C.toFixed(2)}\u5E73\u65B9\u7C73`:C=`${(C/1e6).toFixed(2)}\u5E73\u65B9\u5343\u7C73`),C};Ac.prototype.getdistance=function(o,A){let f=Lt.fromCartesian(o),m=Lt.fromCartesian(A),C=new Ig;C.setEndPoints(f,m);let E=C.surfaceDistance;return E=Math.sqrt(Math.pow(E,2)+Math.pow(m.height-f.height,2)),E};var Ttt=Ac;function _b(o,A={}){this._earthCtrl=o,this._viewer=o.coreMap,this._scene=o.coreMap.scene,this.options=ae(A,{}),this._modelArr=[],this._Apositions=[],this.FlattenPolygon=[],this._Loading=ae(A.loading,!1),this._bottom=ae(A.bottom,!1),this.loadingImg=ae(A.loadingImg,`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`),this._Tooltip=new vb(o),this._tooltip=this._Tooltip.CreateTooltip(),this._positions=[],this._deepth=100,this._drawColor={point:ae(this.options.drawColor?.point,qe.BLUE),polyline:ae(this.options.drawColor?.polyline,qe.YELLOW),polygon:ae(this.options.drawColor?.polygon,qe.YELLOW.withAlpha(.5))}}_b.prototype.removeMeasureFromMap=function(){this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=void 0),this.Triangulation=[],this.tinData=void 0,this._tooltip.show(!1)};_b.prototype.startDrawing=function(o={},A){let f=this._scene,m=this._tooltip,C=3,E,I=[],x=[],y=[],v=[],w=[];this._positions=x,this._hierarchy=y,this._heightsort=v,this._degreesArr=w,this._deepth=ae(o.deepth,100),this._modelArr=ae(o.modelArr,[]);let Q=this;if(this._mouseHandler&&this._mouseHandler.destroy(),this.loading||this.addLoading(),o.positions){let M=Z.fromDegreesArray(o.positions);for(let B of M)x.push(B);if(!(x.length<C)){for(let B=0;B<o.positions.length;B+=2)w.push([o.positions[B],o.positions[B+1]]);console.log(x,"\u4F4D\u7F6E\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A"),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:Z.fromDegreesArray(o.positions),material:Q._drawColor.polygon,fill:!0}});for(let B=0;B<o.positions.length;B+=2){let D=Q._viewer.scene.sampleHeight(new Lt(De.toRadians(o.positions[B]),De.toRadians(o.positions[B+1])));v.push(D),y.push(o.positions[B],o.positions[B+1],D)}this._Apositions=o.positions,this.stopDrawing(B=>{A&&A(B)})}}else{let M=new pr(f.canvas);this._mouseHandler=M,this.removeMeasureFromMap(),this._viewer.container.style.cursor=`url(${globalThis.GEOWORLD_BASE_URL} 'Workers/image/cursor/draw.cur')`;let B;M.setInputAction(function(D){if(D.position!==null){let S=f.camera.getPickRay(D.position),P=f.globe.pick(S,f);if(this._viewer.scene.pick(D.position)){let T=this._viewer.scene.pickPosition(D.position);T&&(P=T)}if(P){let T=Lt.fromCartesian(P),L=De.toDegrees(T.longitude),F=De.toDegrees(T.latitude);if(I.length===0&&(I.push(L,F),w.push([L,F]),x.push(P),E=P),x.length>=4){let U=ms.wgs84ToWindowCoordinates(this._viewer.scene,E);if(U!==void 0){let N=U.x-D.position.x,H=U.y-D.position.y;if(N*N+H*H<16){I.splice(I.length-2,2),x.pop(),this.stopDrawing(A);return}}}I.push(L,F),w.push([L,F]),x.push(P),x.length===2&&!B&&(B=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Kr(function(){return x},!1),clampToGround:!0,material:Q._drawColor.polygon,width:3}})),x.length===C&&(B&&this._viewer.entities.remove(B),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:new In(Z.fromDegreesArray(I)),material:Q._drawColor.polygon,fill:!0}}),this._prevEntity.polygon.hierarchy=new Kr(()=>new In(Z.fromDegreesArray(I)),!1))}}}.bind(this),_i.LEFT_CLICK),M.setInputAction(function(D){let S=D.endPosition;if(S!==null)if(x.length===0)m.showAt(S,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{let P=f.camera.getPickRay(S),R=f.globe.pick(P,f),T=this._viewer.scene.pick(S),L=!1;if(T){let F=this._viewer.scene.pickPosition(S);F&&(R=F),L=!0}if(R){let F=Lt.fromCartesian(R),U=De.toDegrees(F.longitude),N=De.toDegrees(F.latitude);if(I.splice(I.length-2,2),w.pop(),x.pop(),I.push(U,N),w.push([U,N]),x.push(R),m.showAt(S,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"),x.length>=3&&x.length>=4){let H=ms.wgs84ToWindowCoordinates(this._viewer.scene,E);if(H!==void 0){let J=H.x-S.x,K=H.y-S.y;J*J+K*K<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}}.bind(this),_i.MOUSE_MOVE),M.setInputAction(function(D){this.end&&this.end()}.bind(this),_i.RIGHT_CLICK),this.end=D=>{if(this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),Q._viewer.container.style.cursor="default",this._tooltip.show(!1),B&&this._viewer.entities.remove(B),this.end=void 0,console.log(w,"?????????"),!(x.length<C)){if(this._prevEntity&&(this._prevEntity.polygon.hierarchy=Z.fromDegreesArray(I)),D==="cancel"){this._prevEntity&&this._viewer.entities.remove(this._prevEntity);return}for(let S=0;S<I.length;S+=2){let P=Q._viewer.scene.sampleHeight(new Lt(De.toRadians(I[S]),De.toRadians(I[S+1])));v.push(P),y.push(I[S],I[S+1],P)}this._Apositions=I,this.stopDrawing(A)}}}};_b.prototype.stopDrawing=function(o){let A=this;this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._Loading&&this.isLoading(!0),setTimeout(()=>{A._heightsort.sort(function(m,C){return m-C});let f=null;A._bottom?(f=this._viewer.entities.add({name:null,id:A._earthCtrl.factory.createUUID(),polygon:{hierarchy:new Kr(function(){return new In(Z.fromDegreesArrayHeights(A._hierarchy))},!1),material:new p0({image:ae(A.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new tt(1,1)})}}),A._baseHeight=A._heightsort[0]-A._deepth,f.polygon.height=A._baseHeight):f=this._viewer.entities.add({name:null,id:A._earthCtrl.factory.createUUID(),polygon:{hierarchy:new Kr(function(){return new In(Z.fromDegreesArrayHeights(A._hierarchy))},!1),material:qe.YELLOW.withAlpha(0)}}),A.FlattenPolygon.push(f),A.modelCutting()})};_b.prototype.modelCutting=function(){let o=this;if(o._modelCuttingPolygon=bc.fromPositions({positions:Z.fromDegreesArray(o._Apositions),height:o._baseHeight}),o._modelArr.length>0)for(let A of o._modelArr)A.addFlattenPolygon(o._modelCuttingPolygon),A.needUpdateFlatten=!0,A.clipPlaneOfFlatten=!0;else console.info("\u8BF7\u6DFB\u52A0\u6A21\u578B\uFF01")};_b.prototype.removeModelCutting=function(){let o=this;if(o._modelArr.length>0){for(let A of o._modelArr)A.removeFlattenPolygon(o._modelCuttingPolygon);o._modelCuttingPolygon=null,o._modelArr=[]}};_b.prototype.removeFromMap=function(){if(this.removeMeasureFromMap(),this.FlattenPolygon&&this.FlattenPolygon.length>0){for(let o=0;o<this.FlattenPolygon.length;o++)this._viewer.entities.remove(this.FlattenPolygon[o]);this.FlattenPolygon=[]}this.removeModelCutting()};_b.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};_b.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};_b.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};var Ptt=_b;function Bb(o,A={}){this._earthCtrl=o,this._viewer=o.coreMap,this._scene=o.coreMap.scene,this.options=ae(A,{}),this._Apositions=[],this.FlattenPolygon=[],this._terrainFlatten=new K4(o.coreMap.scene),this._Loading=ae(A.loading,!1),this._bottom=ae(A.bottom,!1),this.loadingImg=ae(A.loadingImg,`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`),this._Tooltip=new vb(o),this._tooltip=this._Tooltip.CreateTooltip(),this._positions=[],this._deepth=10,this._drawColor={point:ae(this.options.drawColor?.point,qe.BLUE),polyline:ae(this.options.drawColor?.polyline,qe.YELLOW),polygon:ae(this.options.drawColor?.polygon,qe.YELLOW.withAlpha(.5))}}Bb.prototype.removeMeasureFromMap=function(){this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=void 0),this.Triangulation=[],this.tinData=void 0,this._tooltip.show(!1)};Bb.prototype.startDrawing=function(o={},A){let f=this._scene,m=this._tooltip,C=3,E,I=[],x=[],y=[],v=[],w=[];this._positions=x,this._hierarchy=y,this._heightsort=v,this._degreesArr=w,this._deepth=ae(o.deepth,100);let Q=this;if(this._mouseHandler&&this._mouseHandler.destroy(),this.loading||this.addLoading(),o.positions){let M=Z.fromDegreesArray(o.positions);for(let B of M)x.push(B);if(!(x.length<C)){for(let B=0;B<o.positions.length;B+=2)w.push([o.positions[B],o.positions[B+1]]);this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:Z.fromDegreesArray(o.positions),material:Q._drawColor.polygon,fill:!0}});for(let B=0;B<o.positions.length;B+=2){let D=Q._viewer.scene.sampleHeight(new Lt(De.toRadians(o.positions[B]),De.toRadians(o.positions[B+1])));v.push(D),y.push(o.positions[B],o.positions[B+1],D)}this._Apositions=o.positions,this.stopDrawing(B=>{A&&A(B)})}}else{let M=new pr(f.canvas);this._mouseHandler=M,this.removeMeasureFromMap(),this._viewer.container.style.cursor=`url(${globalThis.GEOWORLD_BASE_URL} 'Workers/image/cursor/draw.cur')`;let B;M.setInputAction(function(D){if(D.position!==null){let S=f.camera.getPickRay(D.position),P=f.globe.pick(S,f);if(this._viewer.scene.pick(D.position)){let T=this._viewer.scene.pickPosition(D.position);T&&(P=T)}if(P){let T=Lt.fromCartesian(P),L=De.toDegrees(T.longitude),F=De.toDegrees(T.latitude);if(I.length===0&&(I.push(L,F),w.push([L,F]),x.push(P),E=P),x.length>=4){let U=ms.wgs84ToWindowCoordinates(this._viewer.scene,E);if(U!==void 0){let N=U.x-D.position.x,H=U.y-D.position.y;if(N*N+H*H<16){I.splice(I.length-2,2),x.pop(),this.stopDrawing(A);return}}}I.push(L,F),w.push([L,F]),x.push(P),x.length===2&&!B&&(B=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Kr(function(){return x},!1),clampToGround:!0,material:Q._drawColor.polygon,width:3}})),x.length===C&&(B&&this._viewer.entities.remove(B),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:new In(Z.fromDegreesArray(I)),material:Q._drawColor.polygon,fill:!0}}),this._prevEntity.polygon.hierarchy=new Kr(()=>new In(Z.fromDegreesArray(I)),!1))}}}.bind(this),_i.LEFT_CLICK),M.setInputAction(function(D){let S=D.endPosition;if(S!==null)if(x.length===0)m.showAt(S,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{let P=f.camera.getPickRay(S),R=f.globe.pick(P,f),T=this._viewer.scene.pick(S),L=!1;if(T){let F=this._viewer.scene.pickPosition(S);F&&(R=F),L=!0}if(R){let F=Lt.fromCartesian(R),U=De.toDegrees(F.longitude),N=De.toDegrees(F.latitude);if(I.splice(I.length-2,2),w.pop(),x.pop(),I.push(U,N),w.push([U,N]),x.push(R),m.showAt(S,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"),x.length>=3&&x.length>=4){let H=ms.wgs84ToWindowCoordinates(this._viewer.scene,E);if(H!==void 0){let J=H.x-S.x,K=H.y-S.y;J*J+K*K<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}}.bind(this),_i.MOUSE_MOVE),M.setInputAction(function(D){this.end&&this.end()}.bind(this),_i.RIGHT_CLICK),this.end=D=>{if(this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),Q._viewer.container.style.cursor="default",this._tooltip.show(!1),B&&this._viewer.entities.remove(B),this.end=void 0,console.log(w,"?????????"),!(x.length<C)){if(this._prevEntity&&(this._prevEntity.polygon.hierarchy=Z.fromDegreesArray(I)),D==="cancel"){this._prevEntity&&this._viewer.entities.remove(this._prevEntity);return}for(let S=0;S<I.length;S+=2){let P=Q._viewer.scene.sampleHeight(new Lt(De.toRadians(I[S]),De.toRadians(I[S+1])));v.push(P),y.push(I[S],I[S+1],P)}this._Apositions=I,this.stopDrawing(A)}}}};Bb.prototype.stopDrawing=function(o){let A=this;this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._Loading&&this.isLoading(!0),setTimeout(()=>{A._heightsort.sort(function(C,E){return C-E});let f=null;A._bottom?(f=this._viewer.entities.add({name:null,id:A._earthCtrl.factory.createUUID(),polygon:{hierarchy:new Kr(function(){return new In(Z.fromDegreesArrayHeights(A._hierarchy))},!1),material:new p0({image:ae(A.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new tt(1,1)})}}),A._baseHeight=A._heightsort[0]-A._deepth,f.polygon.height=A._baseHeight):f=this._viewer.entities.add({name:null,id:A._earthCtrl.factory.createUUID(),polygon:{hierarchy:new Kr(function(){return new In(Z.fromDegreesArrayHeights(A._hierarchy))},!1),material:qe.YELLOW.withAlpha(0)}}),A.FlattenPolygon.push(f);let m=[];A._baseHeight=A._heightsort[0]-A._deepth;for(let C=0;C<A._hierarchy.length;C+=3)m.push(A._hierarchy[C],A._hierarchy[C+1],A._baseHeight);console.log(m,"\u4F4D\u7F6E\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A"),A.terrainCutting(m)})};Bb.prototype.terrainCutting=function(o){let A=this;A._terrainFlatten.addPolygon(o),A._terrainFlatten.update(),A._terrainFlatten.clipPlaneOfFlatten=!0};Bb.prototype.removeTerrainCutting=function(){this._terrainFlatten.clearPolygon()};Bb.prototype.removeFromMap=function(){if(this.removeMeasureFromMap(),this.FlattenPolygon&&this.FlattenPolygon.length>0){for(let o=0;o<this.FlattenPolygon.length;o++)this._viewer.entities.remove(this.FlattenPolygon[o]);this.FlattenPolygon=[]}this.removeTerrainCutting()};Bb.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};Bb.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};Bb.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};var Rtt=Bb;function FD(o,A={}){if(this._earthCtrl=o,this._scene=o.coreMap.scene,this.selectLevelColor=A.selectLevelColor,this.notSelectColor=A.notSelectColor||null,this.highlightColor=A.highlightColor||new qe.fromCssColorString("rgba(255,215,0,0.9)"),this.distance=A.distance||{x:10,y:0,z:0},console.log(A),A.model)if(A.model._root&&A.model._root.transform)this.model=A.model;else{console.log("\u6682\u4E0D\u652F\u6301\u8BE5\u6A21\u578B\u683C\u5F0F");return}else{console.log("\u6CA1\u6709\u4F20\u5165\u6A21\u578B");return}this.clonedTileset=this.cloneTileset(A.model._primitive),this._scene.primitives.add(this.clonedTileset),this.clonedTileset.style=new Y1({show:!1}),this.originPosition=Re.getTranslation(this.model._root.transform,new Z)}FD.prototype.updataModel=function(o,A=[]){let f=new Y1;f.color={evaluateColor:m=>{if(o!=="")return this.notSelectColor}},f.show={evaluate:function(m){return A.indexOf(m.getProperty(o))===-1}},this.model.style=f,this.selectModelShow(o,A),this.modelShowAnimation(),this.editHandler&&this.editHandler.destroy(),this.editHandler=void 0,this.editHandler=new pr(this._scene.canvas),this.editHandler.setInputAction(m=>{let C=this._scene.pick(m.endPosition);C instanceof Ga?(this.selectFeature=!0,this.selectModelShow(o,A,C)):this.selectFeature&&(this.selectFeature=!1,this.selectModelShow(o,A))},_i.MOUSE_MOVE)};FD.prototype.changeStyleOptions=function(o){let{selectLevelColor:A,notSelectColor:f,highlightColor:m,distance:C}=o;this.selectLevelColor=A||this.selectLevelColor,this.notSelectColor=f||this.notSelectColor,this.highlightColor=m||this.highlightColor,this.distance=C||this.distance};FD.prototype.cloneTileset=function(){let o=new B0({url:this.model._url});return o.maximumScreenSpaceError=0,o};FD.prototype.selectModelShow=function(o,A,f){let m=new Y1;m.color={evaluateColor:C=>C===f?this.highlightColor:this.selectLevelColor},m.show={evaluate:function(C){return A.indexOf(C.getProperty(o))!==-1}},this.clonedTileset.style=m};FD.prototype.modelShowAnimation=function(){if(this.preUpdateListener&&this._scene.preUpdate.removeEventListener(this.preUpdateListener),this.originPosition.x===0||this.originPosition.y===0||this.originPosition.z===0){let o=this.model.boundingSphere.center,A=this.toDegrees(o),f;f=Z.fromDegrees(A.lon+1e-5*this.distance.x,A.lat+1e-5*this.distance.y,A.hei+this.distance.z);let m=new Z(o.x-f.x,o.y-f.y,o.z-f.z),C=this.clonedTileset,E=this.model,I=1;this.preUpdateListener=this._scene.preUpdate.addEventListener(function(){if(I<30){I++;let x=Z.lerp(new Z,m,I/30,new Z);C._modelMatrix=Re.multiplyByTranslation(E._primitive.modelMatrix,x,new Re)}})}else{let o=this.originPosition,A=this.matrixGetRotation(this.model._root.transform),f=this.toDegrees(o),m;m=Z.fromDegrees(f.lon+1e-5*this.distance.x,f.lat+1e-5*this.distance.y,f.hei+this.distance.z);let C=this.clonedTileset,E=this.model,I=1;this.preUpdateListener=this._scene.preUpdate.addEventListener(function(){if(I<30){I++;let x=Z.lerp(o,m,I/30,new Z),y=new Wl(De.toRadians(A.heading),De.toRadians(A.pitch),De.toRadians(A.roll));C._root.transform=new Vr.headingPitchRollToFixedFrame(x,y)}})}};FD.prototype.clickCheckInfo=function(o){let A=this._scene.pick(o);if(A instanceof Ga){let f=A.getPropertyIds(),m=f.length,C={};for(let E=0;E<m;++E)C[f[E]]=A.getProperty(f[E]);return C}};FD.prototype.toDegrees=function(o){let A=Lt.fromCartesian(o);return{lon:De.toDegrees(A.longitude),lat:De.toDegrees(A.latitude),hei:A.height}};FD.prototype.matrixGetRotation=function(o){let A=Vr.eastNorthUpToFixedFrame(Re.getTranslation(o,new Z),gi.WGS84,new Re),f=Re.multiply(Re.inverse(A,new Re),o,new Re),m=Re.getRotation(f,new Nt),C=yr.fromRotationMatrix(m),E=Wl.fromQuaternion(C),I=De.toDegrees(E.heading),x=De.toDegrees(E.pitch),y=De.toDegrees(E.roll);return{heading:I,pitch:x,roll:y}};var Ltt=FD;function Tc(o){this._earthCtrl=o,this._coreMap=o.coreMap,this.tools=[],this.vols=[],this.saveResult=!1}Tc.prototype.getDistanceSpace=function(o){this.saveResult===!1&&this.deleteObject(),this._tool=new IJ(this._earthCtrl),this._tool.spaceDistance(o),this.tools.push(this._tool)};Tc.prototype.getDistanceHorizontal=function(o){this.saveResult===!1&&this.deleteObject(),this._tool=new IJ(this._earthCtrl),this._tool.horizontalDistance(o),this.tools.push(this._tool)};Tc.prototype.deleteObject=function(){k(this._tool)&&this._tool.deleteObject(),this.saveResult===!1&&this.tools.pop()};Tc.prototype.deleteAll=function(){this.tools.forEach(function(o){o.deleteObject()}),this.vols.forEach(function(o){o.cleanUp()}),this._earthCtrl.measure.tools.forEach(function(o){o.clearResult()}),this.tools=[],this.vols=[],this._earthCtrl.measure.tools=[]};Tc.prototype.saveResults=function(o){this.saveResult=o};Tc.prototype.getPlaneArea=function(o){this.saveResult===!1&&this.deleteObject(),this._tool=new IJ(this._earthCtrl),this._tool.getPlaneArea(o),this.tools.push(this._tool)};Tc.prototype.getSurfaceArea3d=function(o){this.saveResult===!1&&this.deleteObject(),this._tool=new IJ(this._earthCtrl),this._tool.getSurfaceArea3d(o),this.tools.push(this._tool)};Tc.prototype.volumetric=function(o){this.saveResult===!1&&this.removeVolumetric(),this._vol=new sbe(this._earthCtrl),this._vol.startDrawing(o),this.vols.push(this._vol)};Tc.prototype.removeVolumetric=function(o){k(this._vol)&&this.vols.forEach(function(A){A.cleanUp()})};Tc.prototype.lineOfSight=function(o){this._tool=new Mtt(this._earthCtrl),this._tool.createLineOfSight(o),this.tools.push(this._tool)};Tc.prototype.createViewShed=function(o){return new nbe(this._earthCtrl,o)};Tc.prototype.createSubmergence=function(o){return new lbe(this._earthCtrl,o)};Tc.prototype.createProfile=function(o){return new cbe(this._earthCtrl,o)};Tc.prototype.createBufferAnalysis=function(o){return new N$(this._earthCtrl,o)};Tc.prototype.createSkyline=function(o){return new hbe(this._earthCtrl,o)};Tc.prototype.createCurtainContrast=function(o){return new wtt(this._earthCtrl,o)};Tc.prototype.createRestrictTheHeight=function(o){return new gbe(this._earthCtrl,o)};Tc.prototype.createModifyMesh=function(o,A){return new fbe(this._earthCtrl).addClipping(o,A)};Tc.prototype.createTerrainModifier=function(o){return new Cbe(this._earthCtrl,o)};Tc.prototype.createTerrainExcavation=function(o){return new ybe(this._earthCtrl,o)};Tc.prototype.createExcavationAndFillAnalysis=function(o){return new Tre(this._earthCtrl,o)};Tc.prototype.createVolumetricMeasure=function(o){return new Dtt(this._earthCtrl,o)};Tc.prototype.createModelVolumetric=function(o){return new Ttt(this._earthCtrl,o)};Tc.prototype.createModelCutting=function(o){return new Ptt(this._earthCtrl,o)};Tc.prototype.createTerrainCutting=function(o){return new Rtt(this._earthCtrl,o)};Tc.prototype.ShowBuildingRoom=function(o){return new Ltt(this._earthCtrl,o)};var vbe=Tc;function Rre(o,A){if(this._earthCtrl=o,!k(A.flagHtml))throw new ni("flagDiv is required.");this._flagHtml=A.flagHtml,this._options=ae(A,ae.EMAIL),this._circleRadius=ae(A.circleRadius,10),this._lon=ae(A.lon,121),this._lat=ae(A.lat,31),this._height=ae(A.height,0),this._show=ae(A.show,!0),this._flagScale=ae(A.flagScale,4),this._circleColor=ae(A.circleColor,qe.RED),this._cylinderColor=ae(A.cylinderColor,qe.YELLOWGREEN),this._duration=ae(A.duration,2e3),this._gradient=ae(A.gradient,2),this._count=ae(A.count,2),this._canvasZoom=ae(A.canvasZoom,10),this._circleEntity=void 0,this._cylinderEntity=void 0,this._lineEntity=void 0,this._htmlPlaneEntity=void 0,this._linePlaneEntity=void 0,this._flagDiv=document.createElement("div"),this._flagDiv.style.opacity="0.7",this._flagDiv.style.margin="0",this._flagDiv.style.padding="0",this._flagDiv.id=ae(A.id,Kl()),this._flagDiv.innerHTML=this._flagHtml,this._show&&this.addToMap()}Rre.prototype.removeFromMap=function(){k(this._circleEntity)&&(this._earthCtrl.entities.remove(this._circleEntity),this._circleEntity=void 0),k(this._cylinderEntity)&&(this._earthCtrl.entities.remove(this._cylinderEntity),this._cylinderEntity=void 0),k(this._lineEntity)&&(this._earthCtrl.entities.remove(this._lineEntity),this._lineEntity=void 0),k(this._linePlaneEntity)&&(this._earthCtrl.entities.remove(this._linePlaneEntity),this._linePlaneEntity=void 0),k(this._htmlPlaneEntity)&&(this._earthCtrl.entities.remove(this._htmlPlaneEntity),this._htmlPlaneEntity=void 0)};Rre.prototype.addToMap=function(){let o=this,A=0,f=2,m,C=Z.fromDegrees(o._lon,o._lat,o._height);if(k(o._circleEntity)||(o._circleEntity=o._earthCtrl.entities.add({position:C,ellipse:{height:o._height,semiMinorAxis:o._circleRadius,semiMajorAxis:o._circleRadius,material:new PO({duration:o._duration,gradient:o._gradient,color:o._circleColor,count:o._count})}})),!k(o._cylinderEntity)){let x=o._circleRadius*2/5,y=o._circleRadius*3/4;m=EB.changeCartesian3Height(C,y/2),o._cylinderEntity=o._earthCtrl.entities.add({position:m,cylinder:{length:y,topRadius:x,bottomRadius:x,fill:!0,outline:!1,material:o._cylinderColor}})}if(k(o._lineEntity)||(A=o._circleRadius*o._flagScale+o._height,o._lineEntity=o._earthCtrl.entities.add({polyline:{width:f,positions:Z.fromDegreesArrayHeights([o._lon,o._lat,o._height,o._lon,o._lat,A]),material:o._cylinderColor}})),!k(o._htmlPlaneEntity)){A=o._circleRadius*o._flagScale;let x=A/5,y=x*3,v=A-x/2,w=4*f,Q=new Z(w/2,0,v),M=EB.changeCartesian3ByScalar(C,Q);this._linePlaneEntity=o._earthCtrl.entities.add({position:M,plane:{plane:new va(Z.UNIT_Y,0),dimensions:new tt(w,x),material:o._cylinderColor}});let B=new Z(y/2+w,0,v);m=EB.changeCartesian3ByScalar(C,B);let D=o._flagDiv,S=o._canvasZoom,P=document.createElement("canvas");P.width=10*x/y*S,P.height=10*S,e4.drawDocument(D,P,{zoom:S}).then(function(R){o._htmlPlaneEntity=o._earthCtrl.entities.add({position:new Kr(E,!1),plane:{plane:new Kr(I,!0),dimensions:new tt(y,x),material:new p0({image:R.image,transparent:!0})}})},function(R){console.info(R)})}function E(){return m}function I(){let x=new Z;return x=Z.negate(Z.UNIT_Y,x),new va(x,0)}};Object.defineProperties(Rre.prototype,{});var Ftt=Rre;function Lre(o,A){this._earthCtrl=o,this._scene=o.coreMap.scene,this._options=k(A,ae.EMPTY_OBJECT),this._color=ae(A.color,qe.RED),this._lon=ae(A.lon,121),this._lat=ae(A.lat,31),this._height=ae(A.height,0),this._statistics=ae(A.statisticData,1e3),this._radius=ae(A.radius,100),this._duration=ae(A.duration,2e3),this._gradient=ae(A.gradient,2),this._count=ae(A.count,2),this._scale=ae(A.dataScale,1),this._show=ae(A.show,!0),this._billboardWidthRatio=ae(A.billboardWidthRatio,1.2),this._billboardHeightRatio=ae(A.billboardHeightRatio,2.4),this._prefix=ae(A.prefix,""),this._scaleByDistance=ae(A.scaleByDistance,new no(1500,3,15e3,.1)),this._topFillColor=ae(A.topFillColor,qe.fromCssColorString("#323232")),this._circleEntity=void 0,this._cylinderEntity=void 0,this._billboardEntity=void 0,this._position=Z.fromDegrees(this._lon,this._lat,this._height),this._show&&this.addToMap()}var NP=new Z;Lre.prototype.addToMap=function(){let o=this;if(k(o._circleEntity)||(o._circleEntity=o._earthCtrl.entities.add({position:o._position,ellipse:{height:o._height,semiMinorAxis:o._radius,semiMajorAxis:o._radius,material:new PO({duration:o._duration,gradient:o._gradient,color:o._color,count:o._count})}})),!k(o._cylinderEntity)){NP=Z.clone(o._position,NP);let A=o._statistics*o._scale,f=Vr.eastNorthUpToFixedFrame(NP),m=new Z(0,0,A/2);Re.multiplyByPoint(f,m,NP),o._cylinderEntity=o._earthCtrl.entities.add({position:NP,cylinder:{length:A,topRadius:o._radius/10,bottomRadius:o._radius/10,fill:!0,outline:!1,material:o._color}})}if(!k(o._billboardEntity)){NP=Z.clone(o._position,NP);let A=o._cylinderEntity.cylinder.length._value,f=Lt.fromCartesian(NP),m=Z.fromRadians(f.longitude,f.latitude,f.height+A);o._billboardEntity=o._earthCtrl.entities.add({position:m,billboard:{scaleByDistance:o._scaleByDistance,verticalOrigin:on.BOTTOM,width:o._radius/o._billboardWidthRatio,height:o._radius/o._billboardHeightRatio,image:KBi(o._color,o._topFillColor,o._prefix+o._statistics,o._radius).toDataURL()}})}};Lre.prototype.removeFromMap=function(){k(this._cylinderEntity)&&(this._earthCtrl.entities.remove(this._cylinderEntity),this._cylinderEntity=void 0),k(this._circleEntity)&&(this._earthCtrl.entities.remove(this._circleEntity),this._circleEntity=void 0),k(this._billboardEntity)&&(this._earthCtrl.entities.remove(this._billboardEntity),this._billboardEntity=void 0)};function YBi(o,A,f,m){o.save(),o.strokeStyle="rgba(0,0,0,0)",o.scale(m/150,m/100),o.save(),o.fillStyle=A.toCssColorString(),o.lineWidth=4,o.beginPath(),o.moveTo(77.8,82.1),o.lineTo(64.6,69),o.lineTo(23.8,69),o.bezierCurveTo(20.8,69,18.3,66.5,18.3,63.5),o.lineTo(18.3,22.5),o.bezierCurveTo(18.3,19.5,20.8,17,23.8,17),o.lineTo(131.8,17),o.bezierCurveTo(134.8,17,137.3,19.5,137.3,22.5),o.lineTo(137.3,63.5),o.bezierCurveTo(137.3,66.5,134.8,69,131.8,69),o.lineTo(90.9,69),o.lineTo(77.8,82.1),o.closePath(),o.moveTo(23.8,18),o.bezierCurveTo(21.3,18,19.3,20,19.3,22.5),o.lineTo(19.3,63.5),o.bezierCurveTo(19.3,66,21.3,68,23.8,68),o.lineTo(65,68),o.lineTo(77.7,80.7),o.lineTo(90.5,68),o.lineTo(131.8,68),o.bezierCurveTo(134.3,68,136.3,66,136.3,63.5),o.lineTo(136.3,22.5),o.bezierCurveTo(136.3,20,134.3,18,131.8,18),o.lineTo(23.8,18),o.closePath(),o.fill(),o.stroke(),o.restore(),o.save(),o.fillStyle=f.toCssColorString(),o.beginPath(),o.moveTo(131.8,18),o.lineTo(23.80000000000001,18),o.bezierCurveTo(21.30000000000001,18,19.30000000000001,20,19.30000000000001,22.5),o.lineTo(19.30000000000001,63.5),o.bezierCurveTo(19.30000000000001,66,21.30000000000001,68,23.80000000000001,68),o.lineTo(65,68),o.lineTo(77.7,80.7),o.lineTo(90.5,68),o.lineTo(131.8,68),o.bezierCurveTo(134.3,68,136.3,66,136.3,63.5),o.lineTo(136.3,22.5),o.bezierCurveTo(136.3,20,134.2,18,131.8,18),o.closePath(),o.fill(),o.stroke(),o.restore(),o.restore()}function JBi(o,A,f){let m=f/1.4,C=m,E=m;A.width>A.height?E=m*(A.height/A.width):A.width<A.height&&(C=m*(A.width/A.height));let I=f/150*8,x=Math.round((f-C+I)/2),y=Math.round((5/6*f-E)/2);o.drawImage(A,x,y,C,E)}function KBi(o,A,f,m){let C=document.createElement("canvas");C.width=m,C.height=m;let E=C.getContext("2d");YBi(E,o,A,m);let I=m,x=aN(f,{font:`bold ${I}pt Microsoft YaHei`,fillColor:o});return JBi(E,x,I),C}Object.defineProperties(Lre.prototype,{billboard:{get:function(){return this._billboardEntity}},cylinder:{get:function(){return this._cylinderEntity}},circle:{get:function(){return this._circleEntity}},show:{get:function(){return this._show},set:function(o){k(this._billboardEntity)&&(this._billboardEntity.show=o),k(this._cylinderEntity)&&(this._cylinderEntity.show=o),k(this._circleEntity)&&(this._circleEntity.show=o)}}});var Ntt=Lre;function _be(o,A){if(this._earthCtrl=o,this._scene=o.coreMap.scene,this._options=ae(A,ae.EMPTY_OBJECT),this._color=ae(A.color,qe.RED),this._lon=ae(A.lon,121),this._lat=ae(A.lat,31),this._height=ae(A.height,0),this._show=ae(A.show,!0),this._containerWidth=ae(A.containerWidth,200),this._containerHeight=ae(A.containerHeight,200),this._containerColor=ae(A.cylinderColor,qe.YELLOWGREEN),this._canvasZoom=ae(A.canvasZoom,10),this._scaleByDistance=ae(A.scaleByDistance,new no(1500,3,15e3,.1)),this._tipsHtml=A.tipsHtml,this._tipsEntity=void 0,this._tipsDiv=document.createElement("div"),this._tipsDiv.style.opacity="0.7",this._tipsDiv.style.margin="0",this._tipsDiv.style.padding="0",this._tipsDiv.id=ae(A.id,Kl()),this._tipsDiv.innerHTML=this._tipsHtml,!k(A.tipsHtml))throw new ni("tipsHtml is required.");this.addToMap()}_be.prototype.removeFromMap=function(){k(this._tipsEntity)&&(this._earthCtrl.entities.remove(this._tipsEntity),this._tipsEntity=void 0),k(this._tipsDiv)&&(this._earthCtrl.entities.remove(this._tipsDiv),this._tipsDiv=void 0)};_be.prototype.addToMap=function(){let o=this,A=Z.fromDegrees(o._lon,o._lat,o._height);if(!k(o._tipsEntity)){let m=o._containerHeight,C=o._containerWidth,E=o._canvasZoom,I=o._tipsDiv,x=document.createElement("canvas");x.width=C,x.height=m,e4.drawDocument(I,x,{zoom:E}).then(function(y){o._tipsEntity=o._earthCtrl.entities.add({position:new Kr(f,!1),billboard:{scaleByDistance:o._scaleByDistance,verticalOrigin:on.BOTTOM,width:C,height:m,image:y.image.src}})},function(y){console.info(y)})}function f(){return A}};var ktt=_be;function f3(o,A){this._earthCtrl=o,this._scene=o.coreMap.scene,this._options=ae(A,ae.EMPTY_OBJECT),this.element=document.createElement("div"),this._html=ae(A.html,""),this._lon=ae(A.lon,121),this._lat=ae(A.lat,31),this._height=ae(A.height,10),this._show=ae(A.show,!0),this._removeHandler=void 0,this._pos=void 0,this._position=void 0,this._c=void 0,this._changedC=void 0,this._point=void 0,this._parameter=A,this._rtti="GwScreenDialog",this.isInit=!1,this.isInit===!1&&this.addToMap()}f3.prototype.setHtml=function(o){this.element.innerHTML=o};f3.prototype.setShow=function(o){if(!this.isInit)return 0;this.element.style.display=o?"block":"none"};f3.prototype.showAt=function(){if(!this.isInit)return 0;this._position&&(this._pos=ms.wgs84ToWindowCoordinates(this._scene,this._position),this._pos&&(this.element.style.left=`${this._pos.x}px`,this.element.style.top=`${this._pos.y}px`))};f3.prototype.removeFromMap=function(){this.element.remove(),this.isInit=!1};f3.prototype.addToMap=function(){if(this.isInit)return 0;ru(".map-widget",this.element),this.element.innerHTML=this._html,this.element.style.position="absolute",this.isInit=!0,this._position=Z.fromDegrees(this._lon,this._lat,this._height),this.showAt(),this._c=new tt(this._pos.x,this._pos.y);let o=this;this._scene.camera.moveStart.addEventListener(function(){o._removeHandler=o._scene.postRender.addEventListener(function(){if(o._c){let A=new nN(gi.WGS84,o._earthCtrl.camera._camera.position);A&&o._position&&(A.isPointVisible(o._position)===!1?o.setShow(!1):(o._show===!0&&o.setShow(!0),o._changedC=ms.wgs84ToWindowCoordinates(o._scene,o._position),o._changedC?(o._c=o._changedC,o.showAt()):o.setShow(!1)))}})}),this._scene.camera.moveEnd.addEventListener(function(){o._removeHandler&&o._removeHandler.call()})};Object.defineProperties(f3.prototype,{show:{get:function(){return this._show},set:function(o){this._show!==o&&(this._show=o,this.setShow(o))}},html:{get:function(){return this._html},set:function(o){this._html!==o&&(this._html=o,this.setHtml(o))}},lon:{get:function(){return this._lon},set:function(o){this._lon!==o&&(this._lon=o,this._position=Z.fromDegrees(this._lon,this._lat,this._height),this.showAt())}},lat:{get:function(){return this._lat},set:function(o){this._lat!==o&&(this._lat=o,this._position=Z.fromDegrees(this._lon,this._lat,this._height),this.showAt())}},height:{get:function(){return this._height},set:function(o){this._height!==o&&(this._height=o,this._position=Z.fromDegrees(this._lon,this._lat,this._height),this.showAt())}}});var Utt=f3;function yJ(o){this._earthCtrl=o,this._coreMap=o.coreMap}yJ.prototype.createStatisticFlag=function(o){return new Ftt(this._earthCtrl,o)};yJ.prototype.createStatisticCylinder=function(o){return new Ntt(this._earthCtrl,o)};yJ.prototype.createTipsContainer=function(o){return new ktt(this._earthCtrl,o)};yJ.prototype.createScreenDialog=function(o){return new Utt(this._earthCtrl,o)};var Ott=yJ;function Fre(){var o=["blur","divRound","_sqlite3_column_type","aes","projectionMatrix","SubjectPublicKeyInfo","tagStr","p25519","getUTCMinutes","cookie","redAdd works only with red numbers","videostr","length octect is too long","Key length not a number","00000000000000","permute","_toString","alg","sha256","convert13b","[object DataView]","emittedReadable","cos","readDoubleBE","[object Arguments]","__final","log","delete","16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","removeListener","unknown key id ","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34","guessLen13b","62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","getUniqueId","exports","browser","paused","PEM section not found for: ","isNativeError","-----BEGIN ","_destroy","getUTCMonth","materialCount","rawListeners","upWC","/proc/self","%AsyncIteratorPrototype%","sqlite3_result_blob","ArrayBuffer","e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","[object GeneratorFunction]","HEAP8","isAsyncFunction","modulus","source","frameMaxRenderMemoryLength","bufferedRequest"," is outside of buffer bounds","createPotentiallyVisibleSet","blob:","af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","reading or ended","Invalid code point","iaddn","_sqlite3_result_error","diffAdd","messagePrefix","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907","_hmac","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78","AES","_invmp","push","0x8000000000000000","root","pickWorldNormal","_ishlnsubmul","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84","instance","isOdd","locateFile","Unsupported protocol ","352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","tail",'"buf" argument must be a Buffer or Uint8Array',"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","readdir","_opad","%s %d: %s","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6","ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","p521","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1","<EC JPoint x: ","d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","_transform","validateStatus",`Secure random number generation is not supported by this browser. Use Chrome, Firefox or Internet Explorer 11`,"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f",". Received type ","debuglog","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224","e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","blockSize","extnID","graphstr","pathname","notn","drawingBufferHeight","setPrivateKey","timeEnd","readableHighWaterMark","getMinutes","der","setGenerator","_cipher","redPow(normalNum)","Too many args for : ","call","SetExpressTypeVisibleDistance","place","ctime","stdout","entity","toTimeString","f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","_events","extnValue","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d","getColorDepth","all","_gen","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448","blinder","rejected","restore","isNaN","exists","Attempt to allocate Buffer larger than maximum size: 0x","ERR_INVALID_ARG_TYPE","MutationObserver","/dev","_reporterState","convertTo","00000000000","sha224","Requested array length <= 0","_hl","charstr","Reseed is required","_update","13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","tty","85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40","String int or enum given, but no values map","b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef","Uint32Array","val2","setRequestHeader","uniformState","isSymbolObject","frustum","Date","/dev/null","Nothing to prepare","texImage2D","3086d221a7d46bcde86c90e49284eb15","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7","readFloatBE","startTime","The recovery param is more than two bits","RelativeDistinguishedName","8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","toISOString","7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","exponent1","prime2","onUploadProgress","parameters","offset","(^|;\\s*)("," y: ","CancelOperatingStatus","sha1","isInfinity","external","isMap","83786UjacNF","mode","KeyPair can only verify","c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","consume","http","textD","targetStart out of bounds","notAfter","%AsyncFunction%","username","keyFromPrivate","ceil","supportsDescriptors","%Function.prototype.call%","ERR_AMBIGUOUS_ARGUMENT","tagClass","fromRed"," is not supported in userland","finished","_endoWnafMulAdd","BIM\u5BF9\u8C61\u53EA\u80FD\u521B\u5EFA\u4E00\u6B21","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589","FormData","target","split32","readUintBE","[Getter/Setter]","withCredentials","relativeOid","meshInstancesCount","readUint16LE","216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","clz32","The last argument must be of type Function","writeUInt16BE","_encoding","writeDoubleBE","we accept pull requests","ERR_FR_TOO_MANY_REDIRECTS",'{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}',"regexp","_isNumstr","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01","label","pseudoRandomBytes","readBigUInt64LE","expressTypeVisibleDistanceArrayBuff","0xffffffffffffffff","handleError","privateEncrypt","sqlite3_column_count","randomFill","name","finalCalled","Bim","ERR_BUFFER_OUT_OF_BOUNDS","da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","request","_sqlite3_sql","isubn","shl","content-type",'Failed to peek tag: "',"isFunction","modrn","first","[object String]","implicit","fired","codes","a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","_sqlite3_normalized_sql","createDiffieHellmanGroup","00000","daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","p384","213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","signatureAlgorithm",'Expected "actual" to be loosely unequal to:',"define","params","_undestroy","rename",'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ',"partial","_sqlite3_value_int","forEach","decryptBlock","bincn","readlink","randomFillSync","Invalid character","_view","Axios","endReadable","des-ede-cbc","clock","join32","writeBigUInt64LE","headers","queueMicrotask","invalid intrinsic syntax, expected closing `%`","secret","String","postRun","run","_rand","getBox","if-unmodified-since","sum64_5_lo","mulAdd","same-origin","defaults","alias","search",'The "%s" argument is ambiguous. %s',"2274xWAgGZ","_al","lineNumber","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453","Signature without r or s","isStringObject","Invalid key length","if-modified-since",'{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}',"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e","slice","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d","fov","timeoutErrorMessage","ucmp","_decrypt","ascii","a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","testn","/dev/stderr","paramsSerializer","_keySchedule","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d","ERR_INVALID_OPT_VALUE","destroy","[native code]","_priv","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8","25519","WeakSet","needReadable","init","hashInt","sign","Input not Buffer","pipe","relative","CreateMaterial","readableObjectMode","special","pbkdf2","sha512","baseURI","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4","@@toPrimitive must return a primitive value.","Buffer size must be a multiple of 16-bits","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423","ownKeys","_sqlite3_result_double","b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","iterator must be a function","readInt16LE","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f","construct","value","setImmediate","<BN: ",'The value of "',"printErr","AddModel","sqlite3_column_double","000000000","sha384","transforming","isPrimitive","normalize13b",">= ","stackSave","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"," has been removed","trace","sep","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f","padding","GetInstancesBox","grow","auth","cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","BYTES_PER_ELEMENT",'The "',"Bad iterations","1.2.840.10040.4.1","sqlite3_column_bytes","wrap","_randrange","silentJSONParsing","591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","EncryptedPrivateKeyInfo","readingMore",">= 0","worldUp","onerror","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/","BigInt not supported","ifError","ERR_TRANSFORM_WITH_LENGTH_0"," must be a string, a Buffer, a typed array or a DataView","isBlob","f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","cachedProperty","charAt","da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","toLowerCase",'Failed to decode tag of "',"shrn","runWhen","_sqlite3_exec","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196","5882490vDIJHH","rsa","_decodeStr","Object","isStandardBrowserEnv","Rand","encodeInt","EOF","util.promisify.custom","_encodeComposite","exec","thisProgram","one","Cannot call a class as a function","base","d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc","nmd","progress","8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","readableListening","array","_endoWnafT1","_sqlite3_column_blob","persEnc","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc","create_function","_encodeStr","redSub","encode","00000000000000000000","cancelToken","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f","_getBeta","BasePoint","link","ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","explicit","importKey","languages","filename","dbfile_","maxRenderTriangleCount","isStream","6.5.4","<EC Point Infinity>","ERR_STREAM_CANNOT_PIPE","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7","_encodePrimitive","_len","stream","[object FormData]","_sqlite3_column_text","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82","ReactNative","00000000"," and <= ","_gl","env","_bl","getTime","Attempting to set auth tag in unsupported state","EvalError","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6","getNormalizedSQL","createDiffieHellman","Unknown point format","propertyIsEnumerable","children","_threeDbl","_block","0000000000","k256","Salt","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414","pending","PickWorldNormalSync","_free",` uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; // varying vec2 v_textureCoordinates; uniform sampler2D bimTexture; const float PackUpscale = 256. / 255.;// fraction -> 0..1 (including 1) const float UnpackDownscale = 255. / 256.;// 0..1 -> fraction (excluding 1) const vec3 PackFactors = vec3(256. * 256. * 256., 256. * 256., 256.); const vec4 UnpackFactors = UnpackDownscale / vec4(PackFactors, 1.); const float ShiftRight8 = 1. / 256.; vec4 packDepthToRGBA(const in float v) { vec4 r = vec4(fract(v * PackFactors), v); r.yzw -= r.xyz * ShiftRight8;// tidy overflow return r * PackUpscale; } float unpackRGBAToDepth( const in vec4 v ) { return dot( v, UnpackFactors ); } void main(void) { vec4 cesiumColor = texture(colorTexture, v_textureCoordinates); float cesiumDepth = texture(depthTexture, v_textureCoordinates).r; // vec4 cesiumDepthColor = packDepthToRGBA(cesiumDepth); vec4 bimColor = texture(bimTexture, vec2(v_textureCoordinates.x,(1.0 - v_textureCoordinates.y) * 0.5 + 0.5)); vec4 bimDepthColor = texture(bimTexture, vec2(v_textureCoordinates.x,(1.0 - v_textureCoordinates.y) * 0.5)); float bimDepth = unpackRGBAToDepth(bimDepthColor); if(bimDepth == 0. || bimDepth == 1.){ out_FragColor = cesiumColor; } else if(bimDepth < cesiumDepth){ if((bimColor.r == 0.986868 &&bimColor.g == 0.986868 &&bimColor.b == 0.986868) || bimColor.a < 0.5){ float a1 = 1.0 - bimColor.a; out_FragColor = vec4(bimColor.r * bimColor.a + cesiumColor.r * a1, bimColor.g * bimColor.a + cesiumColor.g * a1, bimColor.b * bimColor.a + cesiumColor.b * a1, 1.0); }else{ bimColor.a = 1.0; out_FragColor = bimColor; } }else{ // gl_FragColor = cesiumColor; out_FragColor = cesiumColor; } } `,"test","0000000000000000000","s0_256","fsync","readBigUInt64BE","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672","isCancel","PublicKey","766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","can't switch encodings"," exists, but the property is not available.","ERR_STREAM_WRITE_AFTER_END","application/x-www-form-urlencoded;charset=utf-8","algo","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511","boxMin","d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","ended","universal","/tmp","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437","_extDbl","priv","11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","preInit","_decode","writeUInt8","Float64Array","head","_expand","notDeepStrictEqual","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","\\$&","listener","hasArrayLengthDefineBug","caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","_reseed","getRemainingSQL","[object Object]","encrypt","PickId","config","spread","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54","objid","prime1","port","_fixedNafMul","_pad","SetInstancesTransform","strict","b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","sqlite3_close_v2","getX","ERR_MULTIPLE_CALLBACK","iushrn","1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","Dec","SaveShell","getRandomValues","fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","_baseState","000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","unknown curve ","00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00","getY","isURLSearchParams","6666666666666666666666666666666666666666666666666666666666666658","encodingLength","[Function","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999","Unknown message digest","readableAddChunk","toHex","function","DataView","_bh","_called","fake","boxMax","_texture","Reporter","of ","000000","GeneratorFunction","_sqlite3_result_text","7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","BigInt is not supported","pop","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2","undefined","SHA-256","DeprecationWarning","_skipUntilEnd","_endoWnafT2","nonce","64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","text","content","noDeprecation","rinv","Sep",'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array',"toUpperCase","Already a number in reduction context","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","cmp","allocUnsafeSlow","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5","_alg","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","wordSize","sum64_hi","_encodeNull","one of ","unable to decrypt data","number","on readable","mont","stringify","currentScript","<BN-R: ",`secure random number generation not supported by this browser use chrome, FireFox or Internet Explorer 11`,"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e","___errno_location","set-cookie","_length","ERR_BAD_OPTION","drawingBufferWidth","AssertionError [ERR_ASSERTION]","_Sencoded","kMaxLength","SetInstancesStatus","ERR_CANCELED","open","description","crypto","Aug","] Transitional option '","_toArrayLikeLE","choice","renderPageFocus","this hasn't been initialised - super() hasn't been called","_readableState","aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","cipher","write","3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","map","invm","_sqlite3_result_null","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec","hashMode","undestroy","cwd","out of range index","readBigInt64BE","endsWith","a24","bignum","Got unwanted ","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed"," ... ","defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","sum32","ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","isInt32Array","unblinder","userAgent","getOwnPropertySymbols","hasInstance","stdin","recoveryParam","ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","file://","fromJSON","cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","Uint16Array","notEqual","toBuffer","viewMatrix","0123456789abcdef","sub","dsa","meshCount","clearTimeout has not been defined","readInt32BE","redSqr works only with red numbers","77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","Content-Type","createSign","zero8","Basic ","apply","iabs","_modelList","V20230725","Cipheriv","_zeroDbl","f64","mtime","keys","position","Promise was rejected with a falsy value","Child expected, but input is not object","simpleSieve","48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","ishrn","pubBytes","kStringMaxLength","<EC Point x: ","9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","unpipe","/home","_initNumber","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160","4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5",'The "emitter" argument must be of type EventEmitter. Received type ',"56QFpazI","eqXToP","_pub",'The "original" argument must be of type Function',"isTTY","<Buffer ","generate","writeUint8","subjectPrivateKey","_projAdd","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001","getUTCFullYear","revBin","isDecoderBuffer","toByteArray","createHash","create","May not write null values to stream","isSetIterator","cbId","neg","destroyed","iso646str","rmdir","BigUint64Array","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b","2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","_endoSplit","Uint8Array","muln","6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","_maxListeners","RSAPublicKey","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f","ending","time","_mulA","isArgumentsObject","true","utf8str","lastNeed","OnInitialized","symbol","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a","KeyPair is public only","binder","canceled","useDecoder","sqlite3_bind_int","floor","Password","randomBytes","_gh","getSQL","traceDeprecation","createCipheriv","save","sql-wasm.wasm","redN","isPlainObject","subject","scene",'" is invalid for option "size"',"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27","both async and sync fetching of the wasm failed","_sqlite3_bind_int","decodePoint","d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","Possible EventEmitter memory leak detected. ",'"list" argument must be an Array of Buffers',"writeUInt32LE","No value argument passed to `assert.ok()`","_makeLong","SharedArrayBuffer","encryptBlock","isString","near","arrayBufferBlockCount","utf-8","trpl","ClearShell","<generic error, no stack>","DiffieHellmanGroup","FileList","writecb","redShl works only with red numbers","_autopadding","readIntBE",'" is invalid for argument "value"',"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","minEntropy","SetMaterialColor","isDate","getJSF","_RegisterExtensionFunctions","_initArray","[object WeakSet]","getPrivateKey","read","wrapFn","SyntaxError","_delta8","CancelMaterialEdit","toHex32","isBigIntObject","magenta","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120","process.binding is not supported","bool","setPrototypeOf","subn","uor","failed to load wasm binary file at '","redInvm works only with red numbers","Feb","PresetCurve","readableFlowing","writeUint32LE","parent","writeInt32LE","catch","64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1","data too long for modulus","reverseArgs","baseURL","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b","redIAdd works only with red numbers","generateKeys","abort","The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ","intrinsic ","lastIndexOf","sum32_3","strictEqualObject","_digest is not implemented","isWeakMap","146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","writable","_decoder","latin1","timeout of ","async function* () {}","_toArrayLike","_decodeChoice","makeRBT","sum32_4","keyFromPublic","e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","createNode","twisted","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10","Shadow","foo","doubles","corked","Node","secure","depth","stackAlloc","Number can only safely store up to 53 bits","sqlite3_bind_blob","Object.prototype.toString","gtn","inverseViewMatrix","clone","175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","default","unshift","modelList","iters","eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","redSqrt works only with red numbers","pipeOnDrain","30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","throwIfRequested","bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","reporter","_sqlite3_finalize","timeout","idivn","throwDeprecation","getFileName","listeners","preRun","forceRed","set","startsWith","any","8mAtoew","Matrix4","ripemd","endEmitted","toStringTag","_skipDefault","_read","_cbcState","_decodeObjid","The ",'Expected "actual" to be strictly unequal to:',"readUInt16LE","mulp","CBC","curveType","non-byte EncoderBuffer value","1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180",", or ","return function (","transformResponse","writing","4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","_wnafMul","_getUse","Statement closed","Name","Buffer","requested too many random bytes","write after end","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811","[object AsyncFunction]",`, `,"nonceEnc","8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","RegisterExtensionFunctions","errorEmitted","PrivateKeyInfo","isEncoding","ECParameters","entropyEnc","super_","isNeg","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9",` `,"sqlite3_result_int","redSqrt","_flushBuffer","types","append","critical"," Lines skipped","modelDataLength","ms exceeded","newListener","wrapResult","readUInt16BE","./this.program","__proto__","75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","warn","Stream","clear","pointFromY","add","extended","Resize","egcd","_secCache","Unsupported state or unable to authenticate data","readable nexttick read 0","versions","dataStoreDataByteOffset","emit","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826","948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","_blockSize","_isBuffer","lastTotal","eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a","15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2","rand","defaultBuffer"," bytes","c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","fillLast","Error","_primeLen","AsyncGeneratorFunction","writeUint16BE","pub","_writableState","MaxListenersExceededWarning","HEAP16","onlyShowShells","max-forwards","skip","_wordDiv","8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","inotn","random","fromRed works only with numbers in reduction context","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573","multipart/form-data","_update must be implemented by subclass","a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","rotr64_hi","componentCount","compressed","%Math.max%","size must be a uint32","step","synchronous","000000000000","getFullYear","pointFromJSON","publicKey","f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437","_hash","timeout exceeded","Not enough entropy. Minimum is: ","getAllResponseHeaders","merge","listenerCount","%Object.getOwnPropertyDescriptor%","_primeCode","render","process.chdir is not supported","reduce","_tag","isZero","defineProperty","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc","decryption error",'"use strict"; return (',"Rencoded","reading","toP","7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","host","working","GET","constants","_ipad","XSRF-TOKEN","_normSign","version","string","prefinish","[object HTML document.all class]","max","fineWorker","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700","return","SBOX","sqlite3_prepare_v2","dataType","eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","ERR_STREAM_PUSH_AFTER_EOF","colors","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82","URIError","isRegExp","_prepareBlock","SHA-384","9QnTntv","Writable","getUTCHours","ResizeRenderSize","Arguments to path.join must be strings","context","Int32Array","maskn","emitReadable","isNullOrUndefined","etag","salt","_cbcInit","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51","buffer","Not supported on Montgomery curve","'name' must be a string","onmessage","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff","_sqlite3_clear_bindings","ucs-2","toJSON",") and < 2 ** ","Buffer.write(string, encoding, offset[, length]) is no longer supported","_buffer","serialNumber","content-length","getSecret","Decoding of string type: numstr unsupported characters"," ** ","generatedMessage","SetModelStoreyStatus","5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","26cfbdeL","p192","WebKitMutationObserver","trying to set auth tag in unsupported state","getBuffer","...","sharedData","Request failed with status code ","rotl32","174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","_isPrintstr","failed to asynchronously prepare wasm: ","little","isub","isFloat64Array","words","LN2","toBytes","makeSignature","clientX","round","%AsyncGeneratorFunction%","f32","f32d","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2",". Received ","_getString","Base should be between 2 and 36","gentime","_verify1","8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","forcedJSONParsing","74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","00000000000000000000000","Assertion failed","59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","instantiateStreaming","notBefore","file","_write()","short","827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","ERR_MISSING_ARGS","enterObject","isPrototypeOf","frameState","sqlite3_value_blob","setPublicKey","[object ArrayBuffer]","getOwnPropertyDescriptors","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913","ghash","customInspect","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a","ERR_BAD_OPTION_VALUE","prompt","bufferProcessing","redISub","Unknown file open mode: ","doesNotReject","getPrime","Cipher",'" is out of range.',"[object HTMLCollection]","Bad key length","urandom","lastResolve","rejection","SetComponentTransform","_hasDoubles","INV_SUB_MIX","ERR_UNKNOWN_ENCODING","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37","%Object.defineProperty%","an integer","certificate","some","ifError got unwanted exception: ","000000000000000000","_cl","secp384r1","call pause flowing=%j","stack","getMaxListeners","is invalid","lastChar",'The "util.promisify.custom" argument must be of type Function',"Trace","red","patch","ineg","maj32","return function*() {}","Promise","isAxiosError","outSize","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3","ExecScript","equals","tagged","tmp","0002","ERR_METHOD_NOT_IMPLEMENTED","DES","endo","textE","1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","_finID"," [Function","%Error.prototype%","__prime","GMT","prng","PickWorldNormal","interceptors","positionWC","prependListener","Validity","_finalized","readFileSync","fill","big","assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DEP0003","_encodeBool","463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e","instantiate","zero2","Number","promiseFn","error"," It must be ","0000000000000000000000000","minv","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154","subarray","onloadend","_writev","strip","sum64_4_lo","lte","state","proxy-authorization","Not implemented","decode","setTimeout has not been defined","_reverse","/dev/stdin","validity","4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","Invalid character in ","readableLength","substitute","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3","toArrayLike","yellow","Function","_fl","ENCRYPTED PRIVATE KEY","clarifyTimeoutError","mul","expires=","zOne","_sqlite3_column_double","r28shl","CanceledError","RGBA","5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","hash","iuxor","dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","errors","addn","CancelToken","_initNamed","/dev/shm/tmp","onRuntimeInitialized","count","data","predResist","pid","Duplex","sqlite3_value_double","uid","status","naf","deprecate","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695","Nov","X-XSRF-TOKEN","transform","validate","Public key is not a point","sqlite3_column_name","ecdsa/rsa","36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","fromSecret","inherits","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c","4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","Attempt to write outside buffer bounds","stream.unshift() after end event","getAuthTag","https","_sqlite3_open",'Failed to get length of "',"affine","columnNumber","_init","[object Generator]","754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","isEncoderBuffer","objectMode","expand","writeFloatBE","getBlob",'The value of "n" is out of range. It must be a non-negative number. Received ',"resumeScheduled","Decoding of string type: printstr unsupported characters","point","curve","imulK","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a","buffer too small","RSA PUBLIC KEY","dev","/dev/shm","poolSize","emitter","exponent2","expressTypeWeightsDataView","sync","Cannot call ","decodeInt","hasUnpiped","modelData","prefinished","jpoint","_dh","needDrain","setn","expires","85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","/dev/tty","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17","[object WebAssembly.Module]","warned","_importDER","verify","must not be","Initialized","_sqlite3_result_blob","now","8635qDJyrD","getHours","6056813JZctQC","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f","_invKeySchedule","isExternal","wrong private key type","uand","stub","setStatus","sqlite3_reset","prime","swap32","_cache","\x1B[32m","sqlite3_result_double","sum64_lo","Array.prototype.indexOf","SetMaterialTexture","iuor",'{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}',"worldDirection","unistr","modulus must be greater than 1","DSA PRIVATE KEY","_sqlite3_changes","json","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd","mixedAdd","getDate","ERR_OUT_OF_RANGE","ERR_STREAM_PREMATURE_CLOSE","AxiosError","_cesiumWidget","enableMouseHover","UTC","mousemove","prependOnceListener","argument should be a Buffer","Attempt to access memory outside buffer bounds","done","writeInt16LE","indexOf","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c","logReadFiles","ERR_BAD_REQUEST","instantiateWasm","uxor","rejects","fermatTest","/dev/tty1","674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","chdir","parseBytes","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6","andln","_truncateToN","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81","_digest","subscribe","toPrimitive","utils","_verify2","sqlite3_bind_parameter_index","node","styles","des3","pendingcb","76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","only tested with ed25519 so far","args","reseedInterval","ERR_INVALID_RETURN_VALUE","last-modified","final","resume","e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","_final","basis","pers","sqlite3_normalized_sql","INSPECT_MAX_BYTES","isUint16Array","free","_updateEncrypt","0000000000000000","path","every","redISub works only with red numbers","SetModelStoreyTransform","onwrite","gten","removeEventListener","jacobian","readSync","deepStrictEqual","transitional","invalid type for setValue: ","Unknown prime ","htonl","95007TkatzZ","e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11",' to be returned from the "',"Data must be a string or a buffer","iuand","input","- expected","actual","decrypt","enterKey","pem","Extension","HEAP32","title","body","ondata","_sqlite3_prepare_v2"," time is not supported yet","Not enough data to decrypt","Invalid curve","sum64_4_hi","ciphers","promisify","maybeReadMore read 0","camera","substr","must be","redMul works only with red numbers","arrayBufferBlockMaxByteLength","alloc","substring"," at: ","__esModule","ipad1","encryptBlockRaw","Child should have a key","fine_bim","_parseBase","message","_read()","req"," != ","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0","SetSceneEffect","expressTypeWeightsArrayBuff","_encodeInt","next","send","decoder","raw","showHidden","curve25519","recoverPubKey","_sqlite3_errmsg","modelId \u4E0D\u6B63\u786E","passphrase","red works only with red numbers","dblp","[object WeakMap]","intrinsic name must be a non-empty string","redSub works only with red numbers","concat","<EC JPoint Infinity>","shr64_lo","ino","encoders","[object Error]","isBuffer","sha","nlink","useCache","isEmpty","UTF8ToString","iterator","randomDevice","isInt8Array","highWaterMark","sin","readDoubleLE","uncork","_zeroBits",'The error "',"isUint32Array"," listeners added. Use emitter.setMaxListeners() to increase limit","strictEqual","p256","_sqlite3_value_bytes","numstr","ShowModel","_eh","toLocaleString","unknown tag: ","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6","rip","getr","publicDecrypt","%GeneratorFunction%","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc","intFromLE","writeBigUInt64BE","getColumnNames","canvas","Failed","isObject","_malloc","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945","tagClassByName","modn","wrapped _read","getByte","toUTCString","file:","createDecipher","isFileList","fail","ed25519","process","dataStoreDataCurrentBufferBlockIndex","_blockOffset","blocksize","-----END ","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396","readUInt8","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf","Values identical but not reference-equal:",".prototype.","000000000000000000000000","readUint16BE","RangeError","atime","drain","Map","constructor","allowSingleMeshMaxTriangleFaceQuantity","opad","alteredUse","unsubscribe","ushrn","publicExponent","sqlite3_data_count","d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","maxTextureSize","ontimeout","imod","unused","sqlite3_column_type","_write","32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","SetModelExpressTypeTransform","writeInt16BE","privateExponent","FS error","SHA-1","186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","Index out of range","i32","worldMatrix","_extAdd","zero","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482","getKeyRecoveryParam","stderr","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9","Network Error","Invalid curve, G*N != O","3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","optional","asyncIterator","wnd","int","_dl","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73","AlgorithmIdentifier","isBooleanObject","textBuffer","HEAPF64","writeUintLE","EnableAngularLines","AssertionError","options","_decodeGeneric",'"size" argument must be of type number',"addEventListener","SetInstancesMaterialId","_edeState","EC PRIVATE KEY","isError","readUint32LE","-e4437ed6010e88286f547fa90abfe4c3","points","encodePoint","pickWorldPosition",'"buffer" argument must be a Buffer instance',"s1_256","unlink","7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","AsyncFunction","offset must be a uint32","_sqlite3_reset","GetMaterial","resolve",'The value "',"operator","_countBits","Argument must be a Buffer","bind","signal","toRed","000000000000000","outLen","match","Unknown option ","prepare","signature","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374","100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","dbl","_getNAFPoints","use","getBytes","959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","ch32","blocks","HEAPU16","double","6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","_eventsCount",'"cb" argument must be a function',"inspect","threeA","GetTextureList","Second objid identifier OOB","Encoding ",">= -(2","mulf","salt should be Buffer with 8 byte length","defaultMaxListeners","obj","eventNames","readUIntBE","_prime","writeBigInt64BE","redNeg works only with red numbers","isPromise","_finalDecrypt","update","_stage","negative","https://github.com/crypto-browserify/crypto-browserify","pub_key","Request aborted","contains","Need x coordinate","awaitDrain","[object process]","secp192r1","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c","_projDbl","iand","_createNamed","imul","setAutoPadding","getDay","user-agent","SetModelExpressTypeStatus","SlowBuffer","swap64","pipe resume","_sqlite3_column_name","_encode","compare","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08","_sqlite3_close_v2","offset must be a number","far","eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c"," pub: ","redISqr","sourceEnd out of bounds","WeakMap",'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ',"toArray","Unknown curve ","isInt16Array","promise","noFSInit","8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","nodejs.util.inspect.custom","bitLength","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","readUint32BE","\\\\?\\","e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","umod","writeUIntBE","encoding","pipe count=%d opts=%j","pc2","freemem","readUint8","viewer"," arguments","writeFloatLE","hostname","ipad2","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd","private","redInvm","arrayBuffer","type","expected","Unable to find valid recovery factor","_randbelow","enumerable","PUBLIC KEY","join","Readable","isSymbol","min","includes","secp224r1",", and ","_finalOrDigest","bufferOff","Decipher","5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b","flow","JSON","GetData","decoders","def","Expected values to be strictly equal:","seqof/setof, but data is not Array","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46","rotr64_lo","readUIntLE","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4","GCM","e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","observe","isArrayBufferView","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589","/home/web_user","argv","isArrayBuffer","readUInt32LE","a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","Decoding of string type: ","tbsCertificate","iterateStatements","cameraId","HEAPU32","fromPrivate","EncoderBuffer","not ","streams","allocUnsafe","callbackify","DSAparam",'Failed to skip indefinite length body: "',"Aborted(","clientY","_authTag","onAbort","e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","Blob","two","acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","sum64_5_hi","d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","_alen","2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","_sqlite3_data_count","Circular reference detected in ","validators","_key","dir","PBKDF2","){ return binder.apply(this,arguments); }","ECONNABORTED","bim","ia5str","SetData"," after a stream was destroyed"," argument","renderWidthHeight","enc","utctime","Choice not matched","22iGmMwT","privateDecrypt","argument","Cannot convert first argument to object","utf-16le","SetExpressTypeWeights","DecoderBuffer","ft_1","gte","Attempting to get auth tag in unsupported state","console","49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","rotr32","_wnafT3","track","shln","pow","getOwnPropertyNames","dirname","774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","zeroA","_strip","isMainRender","getCiphers","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5","invalid point","cmpn","Input: ","flowing","wasm streaming compile failed: ","method","fromCharCode","corkedRequestsFree","Unhandled error.","divmod","inner","arraybuffer","_transformState","boolean"," z: ","notStrictEqual","coefficient","RegExp","Super expression must either be null or a function","733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","_useArgs","Float32Array","_parseHex","commands","isNumberObject","Sencoded","_finalEncrypt","i32d","application/json, text/plain, */*","aborted","_wrap","_mulC","removeAllListeners","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311","initializeFrame","_hh","_move","transformRequest","normalize","imaskn works only with positive numbers","left","_canRender","output","8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","focus","_ah","writeUInt16LE","13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","stream.push() after EOF","ERR_BAD_RESPONSE","equal","setFileName","no native wasm support detected","entries","derive","edwards","info","defaultEncoding","copy","ltn","location","flush","c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","Decoding ","lastReject","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38","emitClose","rethrow","isBigUint64Array","c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","BlockHash","monitorRunDependencies","pendingTotal","finish","NativeScript","Database closed","writableBuffer","Buffer size must be a multiple of 64-bits","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f","Expected values to be strictly deep-equal:","dataStoreArrayBuffer","hex","createECDH","postProcessStages","_wnafMulAdd","_encodeValue","File","gid",` should equal `,".UTF-8","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d","getComponent","SQLEngine",'Failed to match tag: "',"get","getMonth","nextTick","do read","RSA PRIVATE KEY","doesNotThrow","useBigInt","utf8","fromByteArray","assertOptions","CancelOperatingTransform","ReferenceError","isArray","EncryptedPrivateKey","/proc","Instance","MAX_STRING_LENGTH","for","allowHalfOpen","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1","ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff","_delta32","No such label: ","scrub","needTransform","getRowsModified","f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","stackRestore",'"allowMissing" argument must be a boolean',"isSharedArrayBuffer","_maxwellTrick","_decodeNull","entry","30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6",'" is identical to the message.',"_wnafT2","324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","reject","setof","width","_encrypt","divn","0001","_des","stylize","sqlite3_column_text","363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640"," and will be removed in the near future",'" argument must be of type number. Received type ',"_prev","_emscripten_builtin_memalign","_sqlite3_value_blob","ERR_STREAM_DESTROYED","176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","base intrinsic for ","extname","78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","writev","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a","RDNSequence","RSAPrivateKey","Invalid attempt to destructure non-iterable instance","hybrid","tagByName","modelDbModelIdList","SetComponentMaterialId","_sqlite3_bind_text","fun","_ch","SetClipPlane","_getEncoder","SHA-512","redSqr","PRIVATE KEY","hasOwnProperty","ior","prototype","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b","getAsObject","url","bufferedRequestCount"," must be specified","getPublic","size","fromTwos","iii","___wasm_call_ctors","privateKey","objid not found in values map","[object Function]","SetCamera","_sqlite3_create_function_v2","chunk","ERR_NETWORK","isEven","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661","columns","_multiply","eddsa","null","redMul","_importPublic","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1","isBuf","key","isFormData","NODE_DEBUG","application/json","Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.","conjugate","\x1B[34m","getDiffieHellman","_getEndomorphism","Invalid public key","post","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f","byteLength","Boolean","3516rCJtsB","errorOrDestroy","lten","_encodeTime","__gen","trim"," function but got ","53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","Hmac","trying to get auth tag in unsupported state","Encoding of string type: ","cyan"," bits","referer","getOwnPropertyDescriptor","ECPrivateKey","TYPED_ARRAY_SUPPORT","deriveKeys","MarkShell","abs","heartbeat","sqlite3_value_bytes","from"," in ","computeSecret","notDeepEqual","isView","parse","common","xsrfCookieName","instance of ","base64","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d","0x7fffffffffffffff","lastPromise","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe","Time","oneC","HEAPF32"," or ","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8","getBoundingClientRect","May","toDER","ecdsa","isDeepEqual","privBytes","off","52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","deepEqual",'Expected "actual" not to be strictly deep-equal to:',"76d06","ushln","subtle",'Failed to match body of: "',"secp521r1","response","_sqlite3_value_type","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da","At least one arg needs to be specified","Set","[Setter]","isNumber","toString","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e","hmacStrength","/dev/stdout","Wrong API use : tried to return a value of an unknown type ("," is not supported (we accept pull requests)","delimiter","_last","Unknown encoding: ","_tmp","_sqlite3_free","isFloat32Array","_Rencoded","directionWC","reset","valueOf","Trying to access beyond buffer length","_iaddn","pointClass","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3","toTwos","secp256k1","__CANCEL__","_encodeChoice","xor","d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","_bitLength","sqlite3_sql","listCiphers","createCipher","GetComponentMaterialId","shr64_hi","000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409","_importPrivate","endian","_el","projective","originalValue","filter","String.prototype.slice","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821","sunDirection","modelArrayBuff","publicEncrypt","redIAdd","readUInt32BE","extend","close","dataStoreObject","%s - %s","_createEncoderBuffer","Not supported","invalid sig","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc","_getEndoRoots","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096","isMapIterator","[object Array]"," and < 2","Cannot pipe, not readable","utf16le","ui8d",", at: ","imaskn","Readable.from is not available in the browser","_sqlite3_step","writeUint32BE","setAttribute","readInt8","seqof","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee","Symbol","false write response, pause","message too long","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257","Unknown tag: ","isAnyArrayBuffer","%Function.prototype.apply%","expressTypeVisibleDistanceDataView","Digest already called","web_user","/proc/self/fd","readInt32LE","error/message","password","toNumber","p32","pause","readable","outer","charCodeAt","000","ishln"," has been deprecated since v","Argument must be a number","getTimezoneOffset","dataCallBack","\x1B[39m","may not be an empty object","lastBufferedRequest","readFloatLE","mousePosition","writeDoubleLE","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82","emitWarning","_ghash","objDesc","reason","redISqr works only with red numbers","sqlite3_value_type","preloadedImages","privEnc","_secret","000000000000000000000","sorry, createCredentials is not implemented yet","upload","redAdd","product","7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67","[object Set]","code","34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","sqlite3_result_text","padLength","seen","ucs2","modelTotalCount","Module","i64","readUintLE","Uint8ClampedArray","Int8Array","CancelComponentEditMaterial","0000000","311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","wrapped data","postMessage","keyFromSecret","_flush","gcd","convertFrom","da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","_toArrayLikeBE",")=([^;]*)","BEGIN","configurable","String.prototype.indexOf","pickId","Array","Hash","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b","7700266gFMsmW","zeroBits","pipesCount","defineProperties","invalid key length ","sqlite3_open","_wnafT4",'Actual message: "',"rng"," not implemented for encoding: ","printstr","custom","leaveObject","writelen","ERR_DEPRECATED","%AsyncGenerator%","1.2.840.10045.2.1","ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc","sqlite3_bind_double","ireduce","protocol","0000000000000","PrivateKey","fromPublic","responseType","async function () {}","mulTo","des-ede3","frustumCommandsList","lambda","sqlite3_errmsg","isProxy","ETIMEDOUT","getPublicKey","_wnafT1","_sqlite3_bind_parameter_index","1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed","need readable","DecoderBuffer overrun","isUndefined","put","length less than watermark","seq","Accept","b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","module","sum32_5","kde","deriveBits","currentOffsetStartTemp","No callback provided to pbkdf2","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373","Unsupported tag: ","val1","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0","dest.write","writableHighWaterMark","length","unknown function","splice","writeInt32BE","isBoxedPrimitive","allBuffers","getPrototypeOf","indices","setMaxListeners","dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","ERR_STREAM_NULL_VALUES","GetModelTransform","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683","writeUInt32BE","des-cbc","writableLength","application/x-www-form-urlencoded","d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","data not multiple of block length","byte array longer than desired length","ixor","290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","writeInt8","isTypedArray","and","Values map doesn't contain: ","Database","asm","isGeneratorObject","Sign","isSet","executor must be a function.","isPoint","createVerify","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650","unknown filename","once","redShl","_decodeInt","writeBigInt64LE","onreadystatechange","throws","redNeg","WritableState","pubEnc","[object Date]","mod","float","createDecipheriv","writeIntBE","noExitRuntime","49489vSacrY","sham","sunDirectionWC","Decipheriv","7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06","Argument must not be a number","isAbsolute","_sqlite3_result_int64","SUB_MIX","flags","canonical","onDownloadProgress","timestamp","binary","seekable","pipes","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5","values","_fh","addListener","AddStore","sqlite3_changes","octstr","_sqlite3_bind_blob","byteOffset","format","_use","TypedArray","6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","red works only with positives",'"offset" is outside of buffer bounds',"_signType","replace","Invalid IV length","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4","5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72","stackStartFn","responseURL","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150","isqr","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402","getUTCSeconds","getUTCDate","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36","4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","rdev","_peekTag","bitstr","genKeyPair","copyWithin","setAuthTag","114ca50f7a8e2f3f657c1108d9d44cfd8","enum","e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889",").constructor;","_getBuffer","md5","Number is too big","_finalSize","priv_key","modelIndexOffsetStart","writableObjectMode","PostProcessStage","extensions","g0_256","Int16Array","split","sqr",'"length" is outside of buffer bounds',"div","d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","callback","serverAddress","null_","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405","_decodeList","mOneA","setHeader","path.exists is now called `fs.exists`.","view","lookup","object","writechunk","PickWorldPosition","_unpad","_sqlite3_column_count","getSeconds","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff","inf","_getEndoBasis","9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","imuln","jmulAdd","href","_sqlite3_result_int","offset is not uint","iadd","isPaused","algorithm","genstr","setUniqueId","type ","bindTexture","bmpstr","createCredentials","_mode","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517","Unable to find sencond key candinate","getHashes","00000000000000000","DiffieHellman","isWeakSet","bigint","decodeStrings","_sqlite3_bind_double","Running...","callee","onabort","statusText","pbkdf2Sync","rmd160","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8","property","entropy","captureStackTrace","sum64","EventEmitter","tree","Assertion failed: ","exitKey","_pubBytes","0000000000000000000000","precomputed","redIMul","readBigInt64LE","[object SharedArrayBuffer]","beta","adapter","size must be a number","handlers","cache","7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","_decodeTag","primitive","des-ede","precompute","Expected values to be loosely equal:","xsrfHeaderName","ERR_INVALID_ARG_VALUE","948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","DSAPrivateKey","_bimTexture","85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629","subjectPublicKey","Cesium","leaveKey","_listeners","pc1","_forceRed","[Circular]","pathLen","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8","PickWorldPositionSync","none","iushln","fulfilled","end","autoDestroy","shift","_encodeObjid","assign","0000","toJ","ripemd160","path=","isInteger","tag","_nRounds","605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","digest","Root node can have only one child","_sqlite3_value_text","Public key * N != O","redPow","hmac","Signature without R or S","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b","colorAndDepthBitmap","return this","has","wasmBinary","invalid suite type","getPrivate","p224","invalid iv length ","localStorage","pointFromX","readableBuffer","-----","sqrt","symlink","assert","[object HTMLAllCollection]","visibleModelBox","stackTraceLimit","52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758","_decodeTime","binding","kdeparams","0.27.2","1.2.840.113549.1.1.1","cameraWorldPosition","_updateDecrypt","isBN","3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd","jumlAdd","_getDecoder","Transform","7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","EDE","i16","msCrypto","writeencoding","then","unknown padding","t61str","cleanup","29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","_desState","+ actual","eqn"];return Fre=function(){return o},Fre()}function Tt(o,A){var f=Fre();return Tt=function(m,C){m=m-158;var E=f[m];return E},Tt(o,A)}(function(o,A){for(var f=Tt,m=o();[];)try{var C=-parseInt(f(1889))/1*(-parseInt(f(223))/2)+-parseInt(f(1497))/3*(-parseInt(f(750))/4)+parseInt(f(1397))/5*(parseInt(f(342))/6)+-parseInt(f(1399))/7*(parseInt(f(938))/8)+parseInt(f(1109))/9*(-parseInt(f(450))/10)+parseInt(f(2456))/11*(parseInt(f(2129))/12)+parseInt(f(1142))/13*(-parseInt(f(2347))/14);if(C===A)break;m.push(m.shift())}catch{m.push(m.shift())}})(Fre,784206),function(o,A){var f=Tt;f(2538)==typeof exports&&typeof module=="object"?module.exports=A():f(605)==typeof define&&define.amd?define([],A):typeof exports=="object"?exports[f(278)]=A():o[f(278)]=A()}(self||void 0,()=>{var o=Tt,A={29608:(w,Q,M)=>{var B=Tt;function D(L){return T=T||new Promise(function(F,U){var N=Tt,H,J,K,X,j,ee,ie,z,oe,le=L!==void 0?L:{},Ae=le[N(1862)],ui=(le[N(1862)]=function(Ve){U(new Error(Ve)),Ae&&Ae(Ve)},le.postRun=le[N(330)]||[],le[N(330)][N(2764)](function(){F(le)}),w=void 0,(H=H||(le!==void 0?le:{}))[N(1320)]=function(){var Ve=N;function ht(sr,_n){this.Ka=sr,this.db=_n,this.Ia=1,this.cb=[]}function xt(sr,_n){if(this.db=_n,_n=Ze(sr)+1,this.Xa=tE(_n),this.Xa===null)throw Error("Unable to allocate memory for the SQL string");je(sr,ke,this.Xa,_n),this.bb=this.Xa,this.Ta=this.hb=null}function Yt(sr,_n){var Tn=Tt;if(this[Tn(490)]=Tn(491)+(4294967295*Math[Tn(1040)]()>>>0),sr!=null){var Fo=this[Tn(490)],Ba=Fo;if(ho=typeof(ho="/")=="string"?ho:Gn(ho),Ba=Fo?wt(ho+"/"+Fo):ho,Fo=Uo(!0,!0),Ba=Xd(Ba,4095&(Fo!==void 0?Fo:438)|32768,0),sr){if(typeof sr=="string"){for(var ho=Array(sr[Tn(2405)]),Vs=0,Ma=sr[Tn(2405)];Vs<Ma;++Vs)ho[Vs]=sr[Tn(2282)](Vs);sr=ho}en(Ba,146|Fo),ho=pn(Ba,577),Eo(ho,sr,0,sr[Tn(2405)],0,_n),Sn(ho),en(Ba,Fo)}}this[Tn(272)](Ar(this.filename,li)),this.db=se(li,Tn(1653)),jm(this.db),this.Ya={},this.Qa={}}var li=AA(4),Di=H.cwrap,Ar=Di(Ve(2352),Ve(647),[Ve(1090),Ve(647)]),nn=Di(Ve(583),Ve(647),[Ve(647)]),ra=Di("sqlite3_exec","number",[Ve(647),Ve(1090),"number",Ve(647),Ve(647)]),Na=Di(Ve(2478),Ve(647),["number"]),$l=Di(Ve(1099),Ve(647),[Ve(647),Ve(1090),Ve(647),Ve(647),Ve(647)]),$d=Di(Ve(2219),Ve(1090),[Ve(647)]),wg=Di(Ve(1477),Ve(1090),[Ve(647)]),L0=Di(Ve(1099),"number",[Ve(647),"number",Ve(647),Ve(647),Ve(647)]),Gu=Di("sqlite3_bind_text","number",["number",Ve(647),Ve(647),"number",Ve(647)]),Xa=Di(Ve(910),Ve(647),[Ve(647),Ve(647),Ve(647),Ve(647),"number"]),Mp=Di(Ve(2366),Ve(647),[Ve(647),Ve(647),Ve(647)]),iE=Di(Ve(798),Ve(647),[Ve(647),"number",Ve(647)]),eg=Di(Ve(1460),"number",[Ve(647),Ve(1090)]),rE=Di("sqlite3_step",Ve(647),["number"]),Gb=Di(Ve(2378),Ve(1090),[Ve(647)]),Zu=Di(Ve(274),Ve(647),["number"]),bg=Di(Ve(1637),Ve(647),["number"]),Fc=Di(Ve(402),Ve(647),[Ve(647),"number"]),nE=Di(Ve(2054),Ve(1090),["number",Ve(647)]),F0=Di("sqlite3_column_blob","number",[Ve(647),Ve(647)]),kf=Di(Ve(424),Ve(647),["number",Ve(647)]),iy=Di(Ve(1643),Ve(647),[Ve(647),Ve(647)]),tg=Di(Ve(1337),"string",[Ve(647),Ve(647)]),_l=Di(Ve(1407),"number",["number"]),N0=Di("sqlite3_clear_bindings",Ve(647),[Ve(647)]),oE=Di("sqlite3_finalize",Ve(647),[Ve(647)]),aE=Di("sqlite3_create_function_v2",Ve(647),"number string number number number number number number number"[Ve(2523)](" ")),ew=Di(Ve(2301),"number",[Ve(647)]),Hb=Di(Ve(2150),Ve(647),[Ve(647)]),$D=Di("sqlite3_value_text",Ve(1090),[Ve(647)]),Vb=Di(Ve(1188),Ve(647),[Ve(647)]),tw=Di(Ve(1326),Ve(647),[Ve(647)]),k0=Di(Ve(1412),"",[Ve(647),Ve(647)]),qm=Di("sqlite3_result_null","",["number"]),sE=Di(Ve(2317),"",[Ve(647),Ve(1090),"number","number"]),lE=Di(Ve(2739),"",[Ve(647),"number",Ve(647),Ve(647)]),zb=Di(Ve(983),"",["number",Ve(647)]),$u=Di("sqlite3_result_error","",[Ve(647),Ve(1090),"number"]),jm=Di(Ve(973),Ve(647),["number"]);ht.prototype[Ve(1703)]=function(sr){var _n=Ve;if(this.Ka)return this[_n(2206)](),Array.isArray(sr)?this.wb(sr):sr==null||_n(2538)!=typeof sr||this.xb(sr);throw _n(962)},ht.prototype.step=function(){var sr=Ve;if(!this.Ka)throw sr(962);this.Ia=1;var _n=rE(this.Ka);switch(_n){case 100:return!0;case 101:return!1;default:throw this.db[sr(272)](_n)}},ht.prototype.rb=function(sr){return sr==null&&(sr=this.Ia,this.Ia+=1),Fc(this.Ka,sr)},ht[Ve(2086)].Bb=function(sr){var _n=Ve;if(sr==null&&(sr=this.Ia,this.Ia+=1),sr=nE(this.Ka,sr),_n(605)!=typeof BigInt)throw Error(_n(618));return BigInt(sr)},ht[Ve(2086)].Cb=function(sr){return sr==null&&(sr=this.Ia,this.Ia+=1),nE(this.Ka,sr)},ht[Ve(2086)][Ve(1359)]=function(sr){sr==null&&(sr=this.Ia,this.Ia+=1);var _n=kf(this.Ka,sr);sr=F0(this.Ka,sr);for(var Tn=new Uint8Array(_n),Fo=0;Fo<_n;Fo+=1)Tn[Fo]=He[sr+Fo];return Tn},ht[Ve(2086)][Ve(2009)]=function(sr,_n){var Tn=Ve;_n=_n||{},sr!=null&&this[Tn(1703)](sr)&&this[Tn(1052)](),sr=[];for(var Fo=bg(this.Ka),Ba=0;Ba<Fo;Ba+=1)switch(iy(this.Ka,Ba)){case 1:var ho=_n[Tn(2015)]?this.Bb(Ba):this.rb(Ba);sr[Tn(2764)](ho);break;case 2:sr.push(this.rb(Ba));break;case 3:sr[Tn(2764)](this.Cb(Ba));break;case 4:sr.push(this[Tn(1359)](Ba));break;default:sr[Tn(2764)](null)}return sr},ht[Ve(2086)][Ve(1597)]=function(){for(var sr=Ve,_n=[],Tn=Zu(this.Ka),Fo=0;Fo<Tn;Fo+=1)_n[sr(2764)](tg(this.Ka,Fo));return _n},ht.prototype[Ve(2089)]=function(sr,_n){var Tn=Ve;sr=this[Tn(2009)](sr,_n),_n=this[Tn(1597)]();for(var Fo={},Ba=0;Ba<_n[Tn(2405)];Ba+=1)Fo[_n[Ba]]=sr[Ba];return Fo},ht.prototype[Ve(803)]=function(){return $d(this.Ka)},ht[Ve(2086)][Ve(514)]=function(){return wg(this.Ka)},ht[Ve(2086)][Ve(331)]=function(sr){var _n=Ve;return sr!=null&&this.bind(sr),this[_n(1052)](),this[_n(2206)]()},ht[Ve(2086)].mb=function(sr,_n){_n==null&&(_n=this.Ia,this.Ia+=1);var Tn=Be(sr=ty(sr));this.cb.push(Tn),this.db.handleError(Gu(this.Ka,_n,Tn,sr.length-1,0))},ht[Ve(2086)].vb=function(sr,_n){var Tn=Ve;_n==null&&(_n=this.Ia,this.Ia+=1);var Fo=Be(sr);this.cb[Tn(2764)](Fo),this.db.handleError(Xa(this.Ka,_n,Fo,sr[Tn(2405)],0))},ht[Ve(2086)].lb=function(sr,_n){var Tn=Ve;_n==null&&(_n=this.Ia,this.Ia+=1),this.db[Tn(272)]((sr===(0|sr)?iE:Mp)(this.Ka,_n,sr))},ht[Ve(2086)].yb=function(sr){sr==null&&(sr=this.Ia,this.Ia+=1),Xa(this.Ka,sr,0,0,0)},ht.prototype.nb=function(sr,_n){var Tn=Ve;switch(_n==null&&(_n=this.Ia,this.Ia+=1),typeof sr){case Tn(1090):return void this.mb(sr,_n);case"number":return void this.lb(sr,_n);case Tn(2569):return void this.mb(sr[Tn(2192)](),_n);case Tn(1927):return void this.lb(sr+0,_n);case Tn(2538):if(sr===null)return void this.yb(_n);if(sr[Tn(2405)]!=null)return void this.vb(sr,_n)}throw"Wrong API use : tried to bind a value of an unknown type ("+sr+")."},ht[Ve(2086)].xb=function(sr){var _n=Ve,Tn=this;return Object[_n(732)](sr)[_n(312)](function(Fo){var Ba=eg(Tn.Ka,Fo);Ba!==0&&Tn.nb(sr[Fo],Ba)}),!0},ht.prototype.wb=function(sr){for(var _n=Ve,Tn=0;Tn<sr[_n(2405)];Tn+=1)this.nb(sr[Tn],Tn+1);return!0},ht[Ve(2086)].reset=function(){var sr=Ve;return this[sr(1797)](),N0(this.Ka)===0&&_l(this.Ka)===0},ht[Ve(2086)][Ve(1797)]=function(){for(var sr=Ve,_n;(_n=this.cb[sr(619)]())!==void 0;)Li(_n)},ht.prototype[Ve(1480)]=function(){this.freemem();var sr=oE(this.Ka)===0;return delete this.db.Ya[this.Ka],this.Ka=0,sr},xt[Ve(2086)].next=function(){var sr=Ve;if(this.Xa===null)return{done:!0};if(this.Ta!==null&&(this.Ta[sr(1480)](),this.Ta=null),!this.db.db)throw this.fb(),Error(sr(1990));var _n=vn(),Tn=AA(4);re(li),re(Tn);try{this.db[sr(272)](L0(this.db.db,this.bb,-1,li,Tn)),this.bb=se(Tn,sr(1653));var Fo=se(li,sr(1653));return Fo===0?(this.fb(),{done:!0}):(this.Ta=new ht(Fo,this.db),this.db.Ya[Fo]=this.Ta,{value:this.Ta,done:!1})}catch(Ba){throw this.hb=Je(this.bb),this.fb(),Ba}finally{bs(_n)}},xt[Ve(2086)].fb=function(){Li(this.Xa),this.Xa=null},xt.prototype[Ve(568)]=function(){return this.hb!==null?this.hb:Je(this.bb)},Ve(605)==typeof Symbol&&Ve(792)==typeof Symbol[Ve(1570)]&&(xt[Ve(2086)][Symbol.iterator]=function(){return this}),Yt[Ve(2086)][Ve(331)]=function(sr,_n){var Tn=Ve;if(!this.db)throw Tn(1990);if(_n){sr=this.prepare(sr,_n);try{sr.step()}finally{sr[Tn(1480)]()}}else this[Tn(272)](ra(this.db,sr,0,0,li));return this},Yt[Ve(2086)][Ve(460)]=function(sr,_n,Tn){var Fo=Ve;if(!this.db)throw Fo(1990);var Ba=vn(),ho=null;try{var Vs=Ze(sr)+1,Ma=AA(Vs),gs=(je(sr,He,Ma,Vs),Ma),Sh=AA(4);for(sr=[];se(gs,"i8")!==0;){re(li),re(Sh),this[Fo(272)](L0(this.db,gs,-1,li,Sh));var uA=se(li,Fo(1653)),gs=se(Sh,Fo(1653));if(uA!==0){for(Vs=null,ho=new ht(uA,this),_n!=null&&ho[Fo(1703)](_n);ho.step();)Vs===null&&(Vs={columns:ho.getColumnNames(),values:[]},sr.push(Vs)),Vs[Fo(2474)][Fo(2764)](ho[Fo(2009)](null,Tn));ho[Fo(1480)]()}}return sr}catch(gc){throw ho&&ho[Fo(1480)](),gc}finally{bs(Ba)}},Yt[Ve(2086)].each=function(sr,_n,Tn,Fo,Ba){var ho=Ve;ho(605)==typeof _n&&(Fo=Tn,Tn=_n,_n=void 0),sr=this[ho(1710)](sr,_n);try{for(;sr.step();)Tn(sr[ho(2089)](null,Ba))}finally{sr[ho(1480)]()}if(ho(605)==typeof Fo)return Fo()},Yt[Ve(2086)][Ve(1710)]=function(sr,_n){var Tn=Ve;if(re(li),this[Tn(272)]($l(this.db,sr,-1,li,0)),(sr=se(li,Tn(1653)))===0)throw Tn(200);var Fo=new ht(sr,this);return _n!=null&&Fo.bind(_n),this.Ya[sr]=Fo},Yt[Ve(2086)][Ve(1848)]=function(sr){return new xt(sr,this)},Yt[Ve(2086)].export=function(){var sr=Ve;Object[sr(2474)](this.Ya)[sr(312)](function(Tn){var Fo=sr;Tn[Fo(1480)]()}),Object[sr(2474)](this.Qa).forEach(O),this.Qa={},this[sr(272)](nn(this.db));var _n=La(this[sr(490)]);return this.handleError(Ar(this[sr(490)],li)),this.db=se(li,sr(1653)),_n},Yt[Ve(2086)][Ve(2239)]=function(){var sr=Ve;this.db!==null&&(Object[sr(2474)](this.Ya).forEach(function(_n){var Tn=sr;_n[Tn(1480)]()}),Object[sr(2474)](this.Qa)[sr(312)](O),this.Qa={},this[sr(272)](nn(this.db)),ci("/"+this[sr(490)]),this.db=null)},Yt[Ve(2086)][Ve(272)]=function(sr){if(sr===0)return null;throw sr=Gb(this.db),Error(sr)},Yt.prototype[Ve(2034)]=function(){return Na(this.db)},Yt[Ve(2086)][Ve(476)]=function(sr,_n){var Tn=Ve;Object[Tn(2086)][Tn(2084)][Tn(2811)](this.Qa,sr)&&(O(this.Qa[sr]),delete this.Qa[sr]);var Fo=function(Ba){var ho=Tn;if(!z){z=new WeakMap;for(var Vs=yt.length,Ma=0;Ma<0+Vs;Ma++){var gs=yt[ho(2009)](Ma);gs&&z[ho(935)](gs,Ma)}}if(z[ho(2647)](Ba))return z[ho(2009)](Ba);if(W[ho(2405)])Vs=W[ho(619)]();else{try{yt[ho(417)](1)}catch(uA){throw uA instanceof RangeError?ho(2119):uA}Vs=yt[ho(2405)]-1}try{yt[ho(935)](Vs,Ba)}catch(uA){if(!(uA instanceof TypeError))throw uA;if(ho(605)==typeof WebAssembly[ho(1300)]){for(var gs={i:ho(1653),j:ho(2323),f:ho(1164),d:ho(730)},Sh={parameters:[],results:[]},Ma=1;Ma<4;++Ma)Sh[ho(214)].push(gs["viii"[Ma]]);Ma=new WebAssembly[ho(1300)](Sh,Ba)}else{for(Sh={i:127,j:126,f:125,d:124},(gs=[1,0,1,96])[ho(2764)](3),Ma=0;Ma<3;++Ma)gs[ho(2764)](Sh[ho(2096)[Ma]]);gs[ho(2764)](0),gs[1]=gs[ho(2405)]-2,Ma=new Uint8Array([0,97,115,109,1,0,0,0][ho(1558)](gs,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),Ma=new WebAssembly[ho(2322)](Ma),Ma=new WebAssembly[ho(2024)](Ma,{e:{f:Ba}}).exports.f}yt[ho(935)](Vs,Ma)}return z[ho(935)](Ba,Vs),Vs}(function(Ba,ho,Vs){for(var Ma=Tn,gs,Sh=[],uA=0;uA<ho;uA+=1){var gc=se(Vs+4*uA,"i32");if((nf=ew(gc))===1||nf===2)gc=tw(gc);else if(nf===3)gc=$D(gc);else if(nf===4){for(var gc=Hb(nf=gc),nf=Vb(nf),iw=new Uint8Array(gc),MI=0;MI<gc;MI+=1)iw[MI]=He[nf+MI];gc=iw}else gc=null;Sh[Ma(2764)](gc)}try{gs=_n[Ma(724)](null,Sh)}catch(rw){return void $u(Ba,rw,-1)}switch(typeof gs){case Ma(1927):zb(Ba,gs?1:0);break;case Ma(647):k0(Ba,gs);break;case"string":sE(Ba,gs,-1,-1);break;case Ma(2538):gs===null?qm(Ba):gs[Ma(2405)]!=null?(ho=Be(gs),lE(Ba,ho,gs.length,-1),Li(ho)):$u(Ba,Ma(2196)+gs+").",-1);break;default:qm(Ba)}});return this.Qa[sr]=Fo,this[Tn(272)](aE(this.db,sr,_n.length,1,0,Fo,0,0,0)),this},H[Ve(2431)]=Yt},Object[N(2628)]({},H)),he=N(995),ge=N(2538)==typeof window,de=N(605)==typeof importScripts,fe=N(2538)==typeof S&&N(2538)==typeof S[N(1009)]&&N(1090)==typeof S[N(1009)][N(1461)],di="",G=(fe?(di=de?M(62520)[N(1907)](di)+"/":"//",ie=()=>{ee||(j=M(17354),ee=M(62520))},J=function(Ve,ht){var xt=N;return ie(),Ve=ee[xt(1953)](Ve),j[xt(1262)](Ve,ht?void 0:xt(2016))},X=Ve=>Ve=(Ve=J(Ve,!0))[N(1123)]?Ve:new Uint8Array(Ve),K=(Ve,ht,xt)=>{var Yt=N;ie(),Ve=ee[Yt(1953)](Ve),j.readFile(Ve,function(li,Di){var Ar=Yt;li?xt(li):ht(Di[Ar(1123)])})},1<S[N(1842)].length&&(he=S[N(1842)][1][N(2489)](/\\/g,"/")),S[N(1842)][N(352)](2),(w[N(2726)]=H).inspect=function(){return"[Emscripten Module object]"}):(ge||de)&&(de?di=self[N(1975)].href:N(621)!=typeof document&&document[N(651)]&&(di=document[N(651)].src),di=di.indexOf(N(2751))!==0?di.substr(0,di[N(2489)](/[?#].*/,"").lastIndexOf("/")+1):"",J=Ve=>{var ht=N,xt=new XMLHttpRequest;return xt.open("GET",Ve,!1),xt[ht(1544)](null),xt.responseText},de&&(X=Ve=>{var ht=N,xt=new XMLHttpRequest;return xt[ht(665)]("GET",Ve,!1),xt.responseType=ht(1925),xt.send(null),new Uint8Array(xt[ht(2185)])}),K=(Ve,ht,xt)=>{var Yt=N,li=new XMLHttpRequest;li[Yt(665)](Yt(1084),Ve,!0),li[Yt(2372)]=Yt(1925),li.onload=()=>{var Di=Yt;li[Di(1328)]==200||li.status==0&&li[Di(2185)]?ht(li.response):xt()},li[Yt(433)]=xt,li.send(null)}),H.print||P[N(2717)][N(1703)](P)),Y=H[N(400)]||P.warn[N(1703)](P),W=(Object[N(2628)](H,ui),H[N(461)]&&(he=H[N(461)]),[]);function O(Ve){var ht=N;z.delete(yt.get(Ve)),W[ht(2764)](Ve)}function re(Ve){var ht=N,xt=ht(1653);switch(xt=xt[ht(442)](xt[ht(2405)]-1)==="*"?ht(1653):xt){case"i1":case"i8":He[Ve>>0]=0;break;case"i16":Ne[Ve>>1]=0;break;case"i32":Pe[Ve>>2]=0;break;case ht(2323):_t=[0,(ft=0,1<=+Math[ht(2148)](ft)?0<ft?(0|Math.min(+Math[ht(799)](ft/4294967296),4294967295))>>>0:~~+Math.ceil((ft-(~~ft>>>0))/4294967296)>>>0:0)],Pe[Ve>>2]=_t[0],Pe[Ve+4>>2]=_t[1];break;case ht(2452):we[Ve>>2]=0;break;case ht(1723):Fe[Ve>>3]=0;break;default:dt(ht(1494)+xt)}}function se(Ve,ht="i8"){var xt=N;switch(ht=ht[xt(442)](ht[xt(2405)]-1)==="*"?xt(1653):ht){case"i1":case"i8":return He[Ve>>0];case xt(2680):return Ne[Ve>>1];case"i32":case xt(2323):return Pe[Ve>>2];case"float":return we[Ve>>2];case"double":return Number(Fe[Ve>>3]);default:dt("invalid type for getValue: "+ht)}return null}H[N(2648)]&&(oe=H.wasmBinary),H[N(2455)],N(2538)!=typeof WebAssembly&&dt(N(1967));var ce,me=!1,Ce=0,ye=1;function Be(Ve){var ht=N,xt=(Ce==ye?AA:tE)(Ve.length);return Ve[ht(1279)]||Ve[ht(352)]||(Ve=new Uint8Array(Ve)),ke[ht(935)](Ve,xt),xt}var Me,He,ke,Ne,Pe,we,Fe,Ue=N(621)!=typeof TextDecoder?new TextDecoder(N(2016)):void 0;function ze(Ve,ht,xt){var Yt=N,li=ht+xt;for(xt=ht;Ve[xt]&&!(li<=xt);)++xt;if(16<xt-ht&&Ve[Yt(1123)]&&Ue)return Ue.decode(Ve[Yt(1279)](ht,xt));for(li="";ht<xt;){var Di,Ar,nn=Ve[ht++];128&nn?(Di=63&Ve[ht++],(224&nn)==192?li+=String[Yt(1920)]((31&nn)<<6|Di):(Ar=63&Ve[ht++],(nn=(240&nn)==224?(15&nn)<<12|Di<<6|Ar:(7&nn)<<18|Di<<12|Ar<<6|63&Ve[ht++])<65536?li+=String[Yt(1920)](nn):(nn-=65536,li+=String[Yt(1920)](55296|nn>>10,56320|1023&nn)))):li+=String[Yt(1920)](nn)}return li}function Je(Ve,ht){return Ve?ze(ke,Ve,ht):""}function je(Ve,ht,xt,Yt){var li=N;if(!(0<Yt))return 0;var Di=xt;Yt=xt+Yt-1;for(var Ar=0;Ar<Ve[li(2405)];++Ar){var nn=Ve[li(2282)](Ar);if((nn=55296<=nn&&nn<=57343?65536+((1023&nn)<<10)|1023&Ve[li(2282)](++Ar):nn)<=127){if(Yt<=xt)break;ht[xt++]=nn}else{if(nn<=2047){if(Yt<=xt+1)break;ht[xt++]=192|nn>>6}else{if(nn<=65535){if(Yt<=xt+2)break;ht[xt++]=224|nn>>12}else{if(Yt<=xt+3)break;ht[xt++]=240|nn>>18,ht[xt++]=128|nn>>12&63}ht[xt++]=128|nn>>6&63}ht[xt++]=128|63&nn}}return ht[xt]=0,xt-Di}function Ze(Ve){for(var ht=N,xt=0,Yt=0;Yt<Ve.length;++Yt){var li=Ve[ht(2282)](Yt);(li=55296<=li&&li<=57343?65536+((1023&li)<<10)|1023&Ve[ht(2282)](++Yt):li)<=127?++xt:xt=li<=2047?xt+2:li<=65535?xt+3:xt+4}return xt}function rt(Ve){var ht=Ze(Ve)+1,xt=tE(ht);return xt&&je(Ve,He,xt,ht),xt}function At(){var Ve=N,ht=ce[Ve(1123)];Me=ht,H[Ve(2743)]=He=new Int8Array(ht),H[Ve(1033)]=Ne=new Int16Array(ht),H[Ve(1509)]=Pe=new Int32Array(ht),H.HEAPU8=ke=new Uint8Array(ht),H[Ve(1722)]=new Uint16Array(ht),H[Ve(1850)]=new Uint32Array(ht),H[Ve(2167)]=we=new Float32Array(ht),H[Ve(1673)]=Fe=new Float64Array(ht)}var yt,at,ft,_t,et=[],pt=[],zt=[],It=0,Pt=null,St=null;function dt(Ve){var ht=N;throw H[ht(1862)]&&H[ht(1862)](Ve),Y(Ve=ht(1859)+Ve+")"),me=!0,new WebAssembly.RuntimeError(Ve+". Build with -s ASSERTIONS=1 for more info.")}function Le(){var Ve=N;return at[Ve(936)]("data:application/octet-stream;base64,")}function _e(){var Ve=N,ht=at;try{if(ht==at&&oe)return new Uint8Array(oe);if(X)return X(ht);throw Ve(814)}catch(xt){dt(xt)}}function Oe(Ve){for(var ht=N;0<Ve[ht(2405)];){var xt,Yt=Ve.shift();ht(605)==typeof Yt?Yt(H):ht(647)==typeof(xt=Yt.Ib)?Yt.eb===void 0?yt[ht(2009)](xt)():yt[ht(2009)](xt)(Yt.eb):xt(Yt.eb===void 0?null:Yt.eb)}}function vt(Ve,ht){for(var xt=N,Yt=0,li=Ve[xt(2405)]-1;0<=li;li--){var Di=Ve[li];Di==="."?Ve.splice(li,1):Di===".."?(Ve[xt(2407)](li,1),Yt++):Yt&&(Ve.splice(li,1),Yt--)}if(ht)for(;Yt;Yt--)Ve[xt(917)]("..");return Ve}function wt(Ve){var ht=N,xt=Ve.charAt(0)==="/",Yt=Ve[ht(1522)](-1)==="/";return(Ve=(Ve=vt(Ve[ht(2523)]("/")[ht(2230)](function(li){return!!li}),!xt)[ht(1814)]("/"))||xt?Ve:".")&&Yt&&(Ve+="/"),(xt?"/":"")+Ve}function Bt(Ve){var ht=N;if(Ve==="/")return"/";var xt=(Ve=(Ve=wt(Ve)).replace(/\/$/,"")).lastIndexOf("/");return xt===-1?Ve:Ve[ht(1522)](xt+1)}function bi(){for(var Ve=N,ht="",xt=!1,Yt=arguments[Ve(2405)]-1;-1<=Yt&&!xt;Yt--){if(Ve(1090)!=typeof(xt=0<=Yt?arguments[Yt]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!xt)return"";ht=xt+"/"+ht,xt=xt[Ve(442)](0)==="/"}return(xt?"/":"")+vt(ht.split("/")[Ve(2230)](function(li){return!!li}),!xt)[Ve(1814)]("/")||"."}H[N(2302)]={},H.preloadedAudios={},at=N(807),Le()||(ui=at,at=H[N(2772)]?H.locateFile(ui,di):di+ui);var nr=[];function Ai(Ve,ht){nr[Ve]={input:[],output:[],Wa:ht},Xu(Ve,Kt)}var xi,Fi,pi,Vt,Kt={open:function(Ve){var ht=N,xt=nr[Ve.node[ht(2502)]];if(!xt)throw new Ci(43);Ve[ht(187)]=xt,Ve[ht(2471)]=!1},close:function(Ve){var ht=N;Ve[ht(187)].Wa.flush(Ve[ht(187)])},flush:function(Ve){var ht=N;Ve[ht(187)].Wa[ht(1976)](Ve[ht(187)])},read:function(Ve,ht,xt,Yt){var li=N;if(!Ve[li(187)]||!Ve[li(187)].Wa.sb)throw new Ci(60);for(var Di=0,Ar=0;Ar<Yt;Ar++){try{var nn=Ve.tty.Wa.sb(Ve[li(187)])}catch{throw new Ci(29)}if(nn===void 0&&Di===0)throw new Ci(6);if(nn==null)break;Di++,ht[xt+Ar]=nn}return Di&&(Ve.node[li(2469)]=Date.now()),Di},write:function(Ve,ht,xt,Yt){var li=N;if(!Ve[li(187)]||!Ve[li(187)].Wa.ib)throw new Ci(60);try{for(var Di=0;Di<Yt;Di++)Ve[li(187)].Wa.ib(Ve[li(187)],ht[xt+Di])}catch{throw new Ci(29)}return Yt&&(Ve[li(1461)][li(2469)]=Date[li(1396)]()),Di}},di={sb:function(Ve){var ht=N;if(!Ve[ht(1502)][ht(2405)]){var xt=null;if(fe){var Yt=R.alloc(256),li=0;try{li=j[ht(1491)](S[ht(702)].fd,Yt,0,256,-1)}catch(Di){if(!Di[ht(2192)]()[ht(1818)](ht(457)))throw Di;li=0}xt=0<li?Yt.slice(0,li).toString(ht(828)):null}else typeof window<"u"&&ht(605)==typeof window[ht(1197)]?(xt=window[ht(1197)](ht(1916)))!==null&&(xt+=` `):ht(605)==typeof readline&&(xt=readline())!==null&&(xt+=` `);if(!xt)return null;Ve[ht(1502)]=ty(xt,!0)}return Ve.input[ht(2626)]()},ib:function(Ve,ht){var xt=N;ht===null||ht===10?(G(ze(Ve[xt(1957)],0)),Ve[xt(1957)]=[]):ht!=0&&Ve.output[xt(2764)](ht)},flush:function(Ve){var ht=N;Ve[ht(1957)]&&0<Ve[ht(1957)][ht(2405)]&&(G(ze(Ve[ht(1957)],0)),Ve[ht(1957)]=[])}},ui={ib:function(Ve,ht){var xt=N;ht===null||ht===10?(Y(ze(Ve.output,0)),Ve[xt(1957)]=[]):ht!=0&&Ve.output[xt(2764)](ht)},flush:function(Ve){var ht=N;Ve.output&&0<Ve[ht(1957)][ht(2405)]&&(Y(ze(Ve[ht(1957)],0)),Ve[ht(1957)]=[])}},Ht={Oa:null,Pa:function(){var Ve=N;return Ht[Ve(898)](null,"/",16895,0)},createNode:function(Ve,ht,xt,Yt){var li=N;if((61440&xt)==24576||(61440&xt)==4096)throw new Ci(63);return Ht.Oa||(Ht.Oa={dir:{node:{Na:Ht.Fa.Na,Ma:Ht.Fa.Ma,lookup:Ht.Fa[li(2537)],Za:Ht.Fa.Za,rename:Ht.Fa[li(308)],unlink:Ht.Fa[li(1692)],rmdir:Ht.Fa[li(773)],readdir:Ht.Fa[li(2778)],symlink:Ht.Fa[li(2658)]},stream:{Sa:Ht.Ga.Sa}},file:{node:{Na:Ht.Fa.Na,Ma:Ht.Fa.Ma},stream:{Sa:Ht.Ga.Sa,read:Ht.Ga[li(848)],write:Ht.Ga.write,kb:Ht.Ga.kb,$a:Ht.Ga.$a,ab:Ht.Ga.ab}},link:{node:{Na:Ht.Fa.Na,Ma:Ht.Fa.Ma,readlink:Ht.Fa[li(315)]},stream:{}},ob:{node:{Na:Ht.Fa.Na,Ma:Ht.Fa.Ma},stream:P0}}),(61440&(xt=Ol(Ve,ht,xt,Yt))[li(224)])==16384?(xt.Fa=Ht.Oa[li(1876)].node,xt.Ga=Ht.Oa[li(1876)][li(500)],xt.Ha={}):(61440&xt[li(224)])==32768?(xt.Fa=Ht.Oa[li(1180)][li(1461)],xt.Ga=Ht.Oa[li(1180)].stream,xt.La=0,xt.Ha=null):(61440&xt[li(224)])==40960?(xt.Fa=Ht.Oa.link[li(1461)],xt.Ga=Ht.Oa.link[li(500)]):(61440&xt[li(224)])==8192&&(xt.Fa=Ht.Oa.ob[li(1461)],xt.Ga=Ht.Oa.ob.stream),xt[li(2469)]=Date[li(1396)](),Ve&&(Ve.Ha[ht]=xt,Ve.timestamp=xt[li(2469)]),xt},Jb:function(Ve){return Ve.Ha?Ve.Ha.subarray?Ve.Ha.subarray(0,Ve.La):new Uint8Array(Ve.Ha):new Uint8Array(0)},pb:function(Ve,ht){var xt=N,Yt=Ve.Ha?Ve.Ha.length:0;ht<=Yt||(ht=Math[xt(1093)](ht,Yt*(Yt<1048576?2:1.125)>>>0),Yt!=0&&(ht=Math[xt(1093)](ht,256)),Yt=Ve.Ha,Ve.Ha=new Uint8Array(ht),0<Ve.La&&Ve.Ha.set(Yt[xt(1279)](0,Ve.La),0))},Fb:function(Ve,ht){var xt=N,Yt;Ve.La!=ht&&(ht==0?(Ve.Ha=null,Ve.La=0):(Yt=Ve.Ha,Ve.Ha=new Uint8Array(ht),Yt&&Ve.Ha[xt(935)](Yt[xt(1279)](0,Math[xt(1817)](ht,Ve.La))),Ve.La=ht))},Fa:{Na:function(Ve){var ht=N,xt={};return xt.dev=(61440&Ve[ht(224)])==8192?Ve.id:1,xt[ht(1561)]=Ve.id,xt[ht(224)]=Ve[ht(224)],xt[ht(1566)]=1,xt[ht(1327)]=0,xt.gid=0,xt[ht(2502)]=Ve[ht(2502)],(61440&Ve.mode)==16384?xt[ht(2094)]=4096:(61440&Ve[ht(224)])==32768?xt[ht(2094)]=Ve.La:(61440&Ve[ht(224)])==40960?xt[ht(2094)]=Ve[ht(485)][ht(2405)]:xt.size=0,xt[ht(1627)]=new Date(Ve[ht(2469)]),xt[ht(731)]=new Date(Ve[ht(2469)]),xt[ht(2814)]=new Date(Ve[ht(2469)]),xt.zb=4096,xt[ht(1721)]=Math[ht(235)](xt.size/xt.zb),xt},Ma:function(Ve,ht){var xt=N;ht[xt(224)]!==void 0&&(Ve.mode=ht[xt(224)]),ht[xt(2469)]!==void 0&&(Ve[xt(2469)]=ht.timestamp),ht[xt(2094)]!==void 0&&Ht.Fb(Ve,ht[xt(2094)])},lookup:function(){throw so[44]},Za:function(Ve,ht,xt,Yt){var li=N;return Ht[li(898)](Ve,ht,xt,Yt)},rename:function(Ve,ht,xt){var Yt=N;if((61440&Ve.mode)==16384){try{var li=Ho(ht,xt)}catch{}if(li)for(var Di in li.Ha)throw new Ci(55)}delete Ve[Yt(868)].Ha[Ve[Yt(276)]],Ve[Yt(868)][Yt(2469)]=Date[Yt(1396)](),Ve[Yt(276)]=xt,ht.Ha[xt]=Ve,ht.timestamp=Ve.parent[Yt(2469)],Ve[Yt(868)]=ht},unlink:function(Ve,ht){var xt=N;delete Ve.Ha[ht],Ve[xt(2469)]=Date[xt(1396)]()},rmdir:function(Ve,ht){var xt=N;for(var Yt in Ho(Ve,ht).Ha)throw new Ci(55);delete Ve.Ha[ht],Ve[xt(2469)]=Date.now()},readdir:function(Ve){var ht=N,xt,Yt=[".",".."];for(xt in Ve.Ha)Ve.Ha[ht(2084)](xt)&&Yt.push(xt);return Yt},symlink:function(Ve,ht,xt){var Yt=N;return(Ve=Ht.createNode(Ve,ht,41471,0))[Yt(485)]=xt,Ve},readlink:function(Ve){var ht=N;if((61440&Ve[ht(224)])!=40960)throw new Ci(28);return Ve[ht(485)]}},Ga:{read:function(Ve,ht,xt,Yt,li){var Di=N,Ar=Ve.node.Ha;if(li>=Ve[Di(1461)].La)return 0;if(8<(Ve=Math[Di(1817)](Ve[Di(1461)].La-li,Yt))&&Ar[Di(1279)])ht[Di(935)](Ar.subarray(li,li+Ve),xt);else for(Yt=0;Yt<Ve;Yt++)ht[xt+Yt]=Ar[li+Yt];return Ve},write:function(Ve,ht,xt,Yt,li,Di){var Ar=N;if(ht[Ar(1123)]===He[Ar(1123)]&&(Di=!1),!Yt)return 0;if((Ve=Ve.node)[Ar(2469)]=Date[Ar(1396)](),ht.subarray&&(!Ve.Ha||Ve.Ha[Ar(1279)])){if(Di)return Ve.Ha=ht[Ar(1279)](xt,xt+Yt),Ve.La=Yt;if(Ve.La===0&&li===0)return Ve.Ha=ht[Ar(352)](xt,xt+Yt),Ve.La=Yt;if(li+Yt<=Ve.La)return Ve.Ha[Ar(935)](ht[Ar(1279)](xt,xt+Yt),li),Yt}if(Ht.pb(Ve,li+Yt),Ve.Ha.subarray&&ht[Ar(1279)])Ve.Ha[Ar(935)](ht[Ar(1279)](xt,xt+Yt),li);else for(Di=0;Di<Yt;Di++)Ve.Ha[li+Di]=ht[xt+Di];return Ve.La=Math.max(Ve.La,li+Yt),Yt},Sa:function(Ve,ht,xt){var Yt=N;if(xt===1?ht+=Ve[Yt(733)]:xt===2&&(61440&Ve[Yt(1461)][Yt(224)])==32768&&(ht+=Ve[Yt(1461)].La),ht<0)throw new Ci(28);return ht},kb:function(Ve,ht,xt){var Yt=N;Ht.pb(Ve[Yt(1461)],ht+xt),Ve[Yt(1461)].La=Math[Yt(1093)](Ve[Yt(1461)].La,ht+xt)},$a:function(Ve,ht,xt,Yt,li,Di){var Ar=N;if(ht!==0)throw new Ci(28);if((61440&Ve.node[Ar(224)])!=32768)throw new Ci(43);if(Ve=Ve[Ar(1461)].Ha,2&Di||Ve[Ar(1123)]!==Me){if((0<Yt||Yt+xt<Ve[Ar(2405)])&&(Ve=Ve[Ar(1279)]?Ve[Ar(1279)](Yt,Yt+xt):Array[Ar(2086)].slice[Ar(2811)](Ve,Yt,Yt+xt)),Yt=!0,xt=65536*Math.ceil(xt/65536),!(xt=(Di=qn(65536,xt))?(ke[Ar(1263)](0,Di,Di+xt),Di):0))throw new Ci(48);He.set(Ve,xt)}else Yt=!1,xt=Ve.byteOffset;return{Eb:xt,ub:Yt}},ab:function(Ve,ht,xt,Yt,li){var Di=N;if((61440&Ve[Di(1461)][Di(224)])!=32768)throw new Ci(43);return 2&li||Ht.Ga[Di(677)](Ve,ht,0,Yt,xt,!1),0}}},Ei=null,gt={},bt=[],Ot=1,Wt=null,Oi=!0,Ci=null,so={},Mn=(Ve,ht={})=>{var xt=N;if(!(Ve=bi("/",Ve)))return{path:"",node:null};if(8<(ht=Object[xt(2628)]({qb:!0,jb:0},ht)).jb)throw new Ci(32);Ve=vt(Ve[xt(2523)]("/")[xt(2230)](Na=>!!Na),!1);for(var Yt,li,Di=Ei,Ar="/",nn=0;nn<Ve[xt(2405)];nn++){var ra=nn===Ve[xt(2405)]-1;if(ra&&ht[xt(868)])break;if(Di=Ho(Di,Ve[nn]),Ar=wt(Ar+"/"+Ve[nn]),!Di.Ua||ra&&!ht.qb||(Di=Di.Ua.root),!ra||ht.Ra){for(ra=0;(61440&Di[xt(224)])==40960;)if(Di=ki(Ar),Ar=bi((Yt=Ar,li=void 0,Yt=(li=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/[xt(460)](Yt)[xt(352)](1))[0],li=li[1],Yt||li?Yt+(li=li&&li[xt(1522)](0,li[xt(2405)]-1)):"."),Di),Di=Mn(Ar,{jb:ht.jb+1})[xt(1461)],40<ra++)throw new Ci(32)}}return{path:Ar,node:Di}},Gn=Ve=>{for(var ht=N,xt;;){if(Ve===Ve.parent)return Ve=Ve.Pa.tb,xt?Ve[Ve[ht(2405)]-1]!=="/"?Ve+"/"+xt:Ve+xt:Ve;xt=xt?Ve.name+"/"+xt:Ve[ht(276)],Ve=Ve[ht(868)]}},Da=(Ve,ht)=>{for(var xt=N,Yt=0,li=0;li<ht.length;li++)Yt=(Yt<<5)-Yt+ht.charCodeAt(li)|0;return(Ve+Yt>>>0)%Wt[xt(2405)]},_a=Ve=>{var ht=N,xt=Da(Ve[ht(868)].id,Ve[ht(276)]);if(Wt[xt]===Ve)Wt[xt]=Ve.Va;else for(xt=Wt[xt];xt;){if(xt.Va===Ve){xt.Va=Ve.Va;break}xt=xt.Va}},Ho=(Ve,ht)=>{var xt=N,Yt;if(Yt=(Yt=su(Ve,"x"))?Yt:Ve.Fa.lookup?0:2)throw new Ci(Yt,Ve);for(Yt=Wt[Da(Ve.id,ht)];Yt;Yt=Yt.Va){var li=Yt[xt(276)];if(Yt[xt(868)].id===Ve.id&&li===ht)return Yt}return Ve.Fa[xt(2537)](Ve,ht)},Ol=(Ve,ht,xt,Yt)=>(Ve=new Ou(Ve,ht,xt,Yt),ht=Da(Ve.parent.id,Ve[N(276)]),Ve.Va=Wt[ht],Wt[ht]=Ve),au={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},oh=Ve=>{var ht=["r","w","rw"][3&Ve];return 512&Ve&&(ht+="w"),ht},su=(Ve,ht)=>Oi||(!ht[N(1818)]("r")||292&Ve[N(224)])&&(!ht.includes("w")||146&Ve[N(224)])&&(!ht[N(1818)]("x")||73&Ve.mode)?0:2,Bg=(Ve,ht)=>{try{return Ho(Ve,ht),20}catch{}return su(Ve,"wx")},Nf=(Ve,ht,xt)=>{var Yt=N;try{var li=Ho(Ve,ht)}catch(Di){return Di.Ja}if(Ve=su(Ve,"wx"))return Ve;if(xt){if((61440&li[Yt(224)])!=16384)return 54;if(li===li[Yt(868)]||Gn(li)==="/")return 10}else if((61440&li.mode)==16384)return 31;return 0},T0=(Ve,ht)=>(pi||((pi=function(){})[N(2086)]={}),Ve=Object[N(2628)](new pi,Ve),ht=((xt=0)=>{for(;xt<=4096;xt++)if(!bt[xt])return xt;throw new Ci(33)})(ht),Ve.fd=ht,bt[ht]=Ve),P0={open:Ve=>{var ht=N;Ve.Ga=gt[Ve[ht(1461)].rdev].Ga,Ve.Ga.open&&Ve.Ga[ht(665)](Ve)},Sa:()=>{throw new Ci(70)}},Xu=(Ve,ht)=>{gt[Ve]={Ga:ht}},Qp=(Ve,ht)=>{var xt=N,Yt=ht==="/",li=!ht;if(Yt&&Ei)throw new Ci(10);if(!Yt&&!li){var Di=Mn(ht,{qb:!1});if(ht=Di[xt(1483)],(Di=Di[xt(1461)]).Ua)throw new Ci(10);if((61440&Di[xt(224)])!=16384)throw new Ci(54)}((Ve=Ve.Pa(ht={type:Ve,Kb:{},tb:ht,Db:[]})).Pa=ht)[xt(2766)]=Ve,Yt?Ei=Ve:Di&&(Di.Ua=ht,Di.Pa&&Di.Pa.Db.push(ht))},Xd=(Ve,ht,xt)=>{var Yt=N,li=Mn(Ve,{parent:!0})[Yt(1461)];if(!(Ve=Bt(Ve))||Ve==="."||Ve==="..")throw new Ci(28);var Di=Bg(li,Ve);if(Di)throw new Ci(Di);if(li.Fa.Za)return li.Fa.Za(li,Ve,ht,xt);throw new Ci(63)},qA=(Ve,ht)=>Xd(Ve,1023&(ht!==void 0?ht:511)|16384,0),R0=(Ve,ht,xt)=>{xt===void 0&&(xt=ht,ht=438),Xd(Ve,8192|ht,xt)},Sp=(Ve,ht)=>{var xt=N;if(!bi(Ve))throw new Ci(44);var Yt=Mn(ht,{parent:!0})[xt(1461)];if(!Yt)throw new Ci(44);ht=Bt(ht);var li=Bg(Yt,ht);if(li)throw new Ci(li);if(!Yt.Fa[xt(2658)])throw new Ci(63);Yt.Fa[xt(2658)](Yt,ht,Ve)},Zd=Ve=>{var ht=N,xt=Mn(Ve,{parent:!0})[ht(1461)],Yt=(Ve=Bt(Ve),Ho(xt,Ve)),li=Nf(xt,Ve,!0);if(li)throw new Ci(li);if(!xt.Fa.rmdir)throw new Ci(63);if(Yt.Ua)throw new Ci(10);xt.Fa[ht(773)](xt,Ve),_a(Yt)},ci=Ve=>{var ht=N,xt=Mn(Ve,{parent:!0})[ht(1461)];if(!xt)throw new Ci(44);Ve=Bt(Ve);var Yt=Ho(xt,Ve),li=Nf(xt,Ve,!1);if(li)throw new Ci(li);if(!xt.Fa[ht(1692)])throw new Ci(63);if(Yt.Ua)throw new Ci(10);xt.Fa[ht(1692)](xt,Ve),_a(Yt)},ki=Ve=>{var ht=N;if(!(Ve=Mn(Ve)[ht(1461)]))throw new Ci(44);if(Ve.Fa.readlink)return bi(Gn(Ve[ht(868)]),Ve.Fa[ht(315)](Ve));throw new Ci(28)},mr=(Ve,ht)=>{var xt=N;if(!(Ve=Mn(Ve,{Ra:!ht})[xt(1461)]))throw new Ci(44);if(Ve.Fa.Na)return Ve.Fa.Na(Ve);throw new Ci(63)},zr=Ve=>mr(Ve,!0),en=(Ve,ht)=>{var xt=N;if(!(Ve=typeof Ve=="string"?Mn(Ve,{Ra:!0})[xt(1461)]:Ve).Fa.Ma)throw new Ci(63);Ve.Fa.Ma(Ve,{mode:4095&ht|-4096&Ve[xt(224)],timestamp:Date[xt(1396)]()})},Mr=(Ve,ht)=>{var xt=N;if(ht<0)throw new Ci(28);if(!(Ve=typeof Ve=="string"?Mn(Ve,{Ra:!0})[xt(1461)]:Ve).Fa.Ma)throw new Ci(63);if((61440&Ve[xt(224)])==16384)throw new Ci(31);if((61440&Ve.mode)!=32768)throw new Ci(28);var Yt=su(Ve,"w");if(Yt)throw new Ci(Yt);Ve.Fa.Ma(Ve,{size:ht,timestamp:Date.now()})},pn=(Ve,ht,xt,Yt)=>{var li=N;if(Ve==="")throw new Ci(44);if(li(1090)==typeof ht){var Di=au[ht];if(Di===void 0)throw Error(li(1200)+ht);ht=Di}if(xt=64&ht?4095&(xt===void 0?438:xt)|32768:0,li(2538)==typeof Ve)var Ar=Ve;else{Ve=wt(Ve);try{Ar=Mn(Ve,{Ra:!(131072&ht)})[li(1461)]}catch{}}if(Di=!1,64&ht)if(Ar){if(128&ht)throw new Ci(20)}else Ar=Xd(Ve,xt,0),Di=!0;if(!Ar)throw new Ci(44);if((61440&Ar[li(224)])==8192&&(ht&=-513),65536&ht&&(61440&Ar[li(224)])!=16384)throw new Ci(54);if(!Di&&(xt=Ar?(61440&Ar[li(224)])==40960?32:(61440&Ar[li(224)])==16384&&(oh(ht)!=="r"||512&ht)?31:su(Ar,oh(ht)):44))throw new Ci(xt);return 512&ht&&Mr(Ar,0),ht&=-131713,(Yt=T0({node:Ar,path:Gn(Ar),flags:ht,seekable:!0,position:0,Ga:Ar.Ga,Hb:[],error:!1},Yt)).Ga[li(665)]&&Yt.Ga[li(665)](Yt),!H[li(1441)]||1&ht||Ve in(Vt=Vt||{})||(Vt[Ve]=1),Yt},Sn=Ve=>{var ht=N;if(Ve.fd===null)throw new Ci(8);Ve.gb&&(Ve.gb=null);try{Ve.Ga[ht(2239)]&&Ve.Ga[ht(2239)](Ve)}catch(xt){throw xt}finally{bt[Ve.fd]=null}Ve.fd=null},jr=(Ve,ht,xt)=>{var Yt=N;if(Ve.fd===null)throw new Ci(8);if(!Ve.seekable||!Ve.Ga.Sa)throw new Ci(70);if(xt!=0&&xt!=1&&xt!=2)throw new Ci(28);Ve[Yt(733)]=Ve.Ga.Sa(Ve,ht,xt),Ve.Hb=[]},to=(Ve,ht,xt,Yt,li)=>{var Di=N;if(Yt<0||li<0)throw new Ci(28);if(Ve.fd===null)throw new Ci(8);if((2097155&Ve[Di(2466)])==1)throw new Ci(8);if((61440&Ve.node[Di(224)])==16384)throw new Ci(31);if(!Ve.Ga.read)throw new Ci(28);var Ar=li!==void 0;if(Ar){if(!Ve[Di(2471)])throw new Ci(70)}else li=Ve.position;return ht=Ve.Ga[Di(848)](Ve,ht,xt,Yt,li),Ar||(Ve[Di(733)]+=ht),ht},Eo=(Ve,ht,xt,Yt,li,Di)=>{var Ar=N;if(Yt<0||li<0)throw new Ci(28);if(Ve.fd===null)throw new Ci(8);if((2097155&Ve[Ar(2466)])==0)throw new Ci(8);if((61440&Ve[Ar(1461)].mode)==16384)throw new Ci(31);if(!Ve.Ga[Ar(677)])throw new Ci(28);Ve[Ar(2471)]&&1024&Ve[Ar(2466)]&&jr(Ve,0,2);var nn=li!==void 0;if(nn){if(!Ve[Ar(2471)])throw new Ci(70)}else li=Ve.position;return ht=Ve.Ga[Ar(677)](Ve,ht,xt,Yt,li,Di),nn||(Ve[Ar(733)]+=ht),ht},La=Ve=>{var ht=N,xt=pn(Ve,0),Yt=(Ve=mr(Ve)[ht(2094)],new Uint8Array(Ve));return to(xt,Yt,0,Ve,0),Ve=Yt,Sn(xt),Ve},Gl=()=>{var Ve=N;Ci||((Ci=function(ht,xt){var Yt=Tt;this.node=xt,this.Gb=function(li){this.Ja=li},this.Gb(ht),this[Yt(1535)]=Yt(1649)})[Ve(2086)]=Error(),Ci[Ve(2086)][Ve(1630)]=Ci,[44][Ve(312)](ht=>{var xt=Ve;so[ht]=new Ci(ht),so[ht][xt(1224)]=xt(831)}))},Uo=(Ve,ht)=>{var xt=0;return Ve&&(xt|=365),ht&&(xt|=146),xt},IA=(Ve,ht,xt)=>{Ve=wt("/dev/"+Ve);var Yt=Uo(!!ht,!!xt),li=(Fi=Fi||64,Fi++<<8|0);Xu(li,{open:Di=>{var Ar=Tt;Di[Ar(2471)]=!1},close:()=>{var Di=Tt;xt&&xt.buffer&&xt.buffer[Di(2405)]&&xt(10)},read:(Di,Ar,nn,ra)=>{for(var Na=Tt,$l=0,$d=0;$d<ra;$d++){try{var wg=ht()}catch{throw new Ci(29)}if(wg===void 0&&$l===0)throw new Ci(6);if(wg==null)break;$l++,Ar[nn+$d]=wg}return $l&&(Di[Na(1461)][Na(2469)]=Date.now()),$l},write:(Di,Ar,nn,ra)=>{for(var Na=Tt,$l=0;$l<ra;$l++)try{xt(Ar[nn+$l])}catch{throw new Ci(29)}return ra&&(Di.node[Na(2469)]=Date.now()),$l}}),R0(Ve,Yt,li)};function ss(Ve,ht,xt){var Yt=N;if(ht[0]==="/")return ht;if(Ve===-100)Ve="/";else{if(!(Ve=bt[Ve]))throw new Ci(8);Ve=Ve.path}if(ht[Yt(2405)]!=0)return wt(Ve+"/"+ht);if(xt)return Ve;throw new Ci(44)}function yd(Ve,ht,xt){var Yt=N;try{var li=Ve(ht)}catch(Di){if(Di&&Di[Yt(1461)]&&wt(ht)!==wt(Gn(Di[Yt(1461)])))return-54;throw Di}return Pe[xt>>2]=li[Yt(1369)],Pe[xt+4>>2]=0,Pe[xt+8>>2]=li[Yt(1561)],Pe[xt+12>>2]=li[Yt(224)],Pe[xt+16>>2]=li[Yt(1566)],Pe[xt+20>>2]=li[Yt(1327)],Pe[xt+24>>2]=li[Yt(2002)],Pe[xt+28>>2]=li[Yt(2502)],Pe[xt+32>>2]=0,_t=[li.size>>>0,(ft=li[Yt(2094)],1<=+Math.abs(ft)?0<ft?(0|Math[Yt(1817)](+Math[Yt(799)](ft/4294967296),4294967295))>>>0:~~+Math[Yt(235)]((ft-(~~ft>>>0))/4294967296)>>>0:0)],Pe[xt+40>>2]=_t[0],Pe[xt+44>>2]=_t[1],Pe[xt+48>>2]=4096,Pe[xt+52>>2]=li[Yt(1721)],Pe[xt+56>>2]=li[Yt(1627)][Yt(510)]()/1e3|0,Pe[xt+60>>2]=0,Pe[xt+64>>2]=li[Yt(731)][Yt(510)]()/1e3|0,Pe[xt+68>>2]=0,Pe[xt+72>>2]=li.ctime[Yt(510)]()/1e3|0,Pe[xt+76>>2]=0,_t=[li[Yt(1561)]>>>0,(ft=li[Yt(1561)],1<=+Math[Yt(2148)](ft)?0<ft?(0|Math.min(+Math[Yt(799)](ft/4294967296),4294967295))>>>0:~~+Math[Yt(235)]((ft-(~~ft>>>0))/4294967296)>>>0:0)],Pe[xt+80>>2]=_t[0],Pe[xt+84>>2]=_t[1],0}var Uu=void 0;function rf(){return Pe[(Uu+=4)-4>>2]}function Qh(Ve){if(Ve=bt[Ve])return Ve;throw new Ci(8)}function Lc(Ve,ht,xt){var Yt=N;function li(Na){var $l=Tt;return(Na=Na[$l(159)]().match(/\(([A-Za-z ]+)\)$/))?Na[1]:$l(1254)}var Di,Ar,nn,ra;Lc.Ab||(Lc.Ab=!0,Ve=Ve,ht=ht,xt=xt,Di=new Date().getFullYear(),Ar=new Date(Di,0,1),nn=new Date(Di,6,1),Di=Ar[Yt(2287)](),ra=nn.getTimezoneOffset(),Pe[Ve>>2]=60*Math[Yt(1093)](Di,ra),Pe[ht>>2]=Number(Di!=ra),Ve=li(Ar),ht=li(nn),Ve=rt(Ve),ht=rt(ht),ra<Di?(Pe[xt>>2]=Ve,Pe[xt+4>>2]=ht):(Pe[xt>>2]=ht,Pe[xt+4>>2]=Ve))}var Jm,Dp,Wv=fe?()=>{var Ve=S.hrtime();return 1e3*Ve[0]+Ve[1]/1e6}:()=>performance.now(),ZC={};function Km(){var Ve=N;if(!Jm){var ht,xt={USER:Ve(2272),LOGNAME:Ve(2272),PATH:"/",PWD:"/",HOME:Ve(1841),LANG:(Ve(2538)==typeof navigator&&navigator.languages&&navigator[Ve(489)][0]||"C")[Ve(2489)]("-","_")+Ve(2004),_:he||Ve(995)};for(ht in ZC)ZC[ht]===void 0?delete xt[ht]:xt[ht]=ZC[ht];var Yt=[];for(ht in xt)Yt[Ve(2764)](ht+"="+xt[ht]);Jm=Yt}return Jm}function Ou(Ve,ht,xt,Yt){var li=N;this[li(868)]=Ve=Ve||this,this.Pa=Ve.Pa,this.Ua=null,this.id=Ot++,this[li(276)]=ht,this.mode=xt,this.Fa={},this.Ga={},this[li(2502)]=Yt}function ty(Ve,ht){var xt=N,Yt=Array(Ze(Ve)+1);return Ve=je(Ve,Yt,0,Yt[xt(2405)]),ht&&(Yt[xt(2405)]=Ve),Yt}Object.defineProperties(Ou.prototype,{read:{get:function(){var Ve=N;return(365&this[Ve(224)])==365},set:function(Ve){var ht=N;Ve?this[ht(224)]|=365:this[ht(224)]&=-366}},write:{get:function(){var Ve=N;return(146&this[Ve(224)])==146},set:function(Ve){var ht=N;Ve?this[ht(224)]|=146:this.mode&=-147}}}),Gl(),Wt=Array(4096),Qp(Ht,"/"),qA(N(548)),qA(N(745)),qA(N(1841)),qA(N(176)),Xu(259,{read:()=>0,write:(Ve,ht,xt,Yt)=>Yt}),R0(N(199),259),Ai(1280,di),Ai(1536,ui),R0(N(1387),1280),R0(N(1447),1536),di=function(){var Ve=N,ht;if(Ve(2538)==typeof crypto&&Ve(605)==typeof crypto[Ve(590)])return ht=new Uint8Array(1),function(){var Yt=Ve;return crypto[Yt(590)](ht),ht[0]};if(fe)try{var xt=M(55835);return function(){var Yt=Ve;return xt[Yt(801)](1)[0]}}catch{}return function(){var Yt=Ve;dt(Yt(1571))}}(),IA(N(1040),di),IA(N(1207),di),qA(N(1370)),qA(N(1319)),qA(N(2023)),Dp=qA(N(2737)),qA(N(2273)),Qp({Pa:()=>{var Ve=Ol(Dp,"fd",16895,73);return Ve.Fa={lookup:(ht,xt)=>{var Yt=Tt,li=bt[+xt];if(li)return(ht={parent:null,Pa:{tb:Yt(609)},Fa:{readlink:()=>li[Yt(1483)]}})[Yt(868)]=ht;throw new Ci(8)}},Ve}},N(2273));var $C,Wm={a:function(Ve,ht,xt,Yt){var li=N;dt(li(2585)+Je(Ve)+li(2254)+[ht?Je(ht):li(2440),xt,Yt?Je(Yt):li(2406)])},h:function(Ve,ht){try{return Ve=Je(Ve),en(Ve,ht),0}catch(xt){if(xt instanceof Ci)return-xt.Ja;throw xt}},H:function(Ve,ht,xt){var Yt=N;try{var li;return ht=ss(Ve,ht=Je(ht)),-8&xt?-28:(li=Mn(ht,{Ra:!0})[Yt(1461)])?(Ve="",4&xt&&(Ve+="r"),2&xt&&(Ve+="w"),1&xt&&(Ve+="x"),Ve&&su(li,Ve)?-2:0):-44}catch(Di){if(Di instanceof Ci)return-Di.Ja;throw Di}},i:function(Ve,ht){var xt=N;try{var Yt=bt[Ve];if(Yt)return en(Yt[xt(1461)],ht),0;throw new Ci(8)}catch(li){if(li instanceof Ci)return-li.Ja;throw li}},g:function(Ve){var ht=N;try{var xt=bt[Ve];if(!xt)throw new Ci(8);var Yt=xt[ht(1461)],li=ht(1090)==typeof Yt?Mn(Yt,{Ra:!0}).node:Yt;if(li.Fa.Ma)return li.Fa.Ma(li,{timestamp:Date[ht(1396)]()}),0;throw new Ci(63)}catch(Di){if(Di instanceof Ci)return-Di.Ja;throw Di}},b:function(Ve,ht,xt){var Yt=N;Uu=xt;try{var li=Qh(Ve);switch(ht){case 0:var Di=rf();return Di<0?-28:pn(li[Yt(1483)],li[Yt(2466)],0,Di).fd;case 1:case 2:return 0;case 3:return li[Yt(2466)];case 4:return Di=rf(),li.flags|=Di,0;case 5:return Di=rf(),Ne[Di+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return Pe[eE()>>2]=28,-1;default:return-28}}catch(Ar){if(Ar instanceof Ci)return-Ar.Ja;throw Ar}},G:function(Ve,ht){var xt=N;try{var Yt=Qh(Ve);return yd(mr,Yt[xt(1483)],ht)}catch(li){if(li instanceof Ci)return-li.Ja;throw li}},B:function(Ve,ht){var xt=N;try{var Yt=bt[Ve];if(!Yt)throw new Ci(8);if((2097155&Yt[xt(2466)])==0)throw new Ci(28);return Mr(Yt[xt(1461)],ht),0}catch(li){if(li instanceof Ci)return-li.Ja;throw li}},A:function(Ve,ht){try{return ht===0?-28:ht<Ze("/")+1?-68:(je("/",ke,Ve,ht),Ve)}catch(xt){if(xt instanceof Ci)return-xt.Ja;throw xt}},E:function(Ve,ht){try{return Ve=Je(Ve),yd(zr,Ve,ht)}catch(xt){if(xt instanceof Ci)return-xt.Ja;throw xt}},x:function(Ve,ht){var xt=N;try{return(Ve=wt(Ve=Je(Ve)))[Ve[xt(2405)]-1]==="/"&&(Ve=Ve[xt(1522)](0,Ve[xt(2405)]-1)),qA(Ve,ht),0}catch(Yt){if(Yt instanceof Ci)return-Yt.Ja;throw Yt}},D:function(Ve,ht,xt,Yt){try{ht=Je(ht);var li=256&Yt;return ht=ss(Ve,ht,4096&Yt),yd(li?zr:mr,ht,xt)}catch(Di){if(Di instanceof Ci)return-Di.Ja;throw Di}},u:function(Ve,ht,xt,Yt){Uu=Yt;try{ht=ss(Ve,ht=Je(ht));var li=Yt?rf():0;return pn(ht,xt,li).fd}catch(Di){if(Di instanceof Ci)return-Di.Ja;throw Di}},s:function(Ve,ht,xt,Yt){var li=N;try{var Di,Ar,nn;return ht=ss(Ve,ht=Je(ht)),Yt<=0?-28:(Di=ki(ht),Ar=Math[li(1817)](Yt,Ze(Di)),nn=He[xt+Ar],je(Di,ke,xt,Yt+1),He[xt+Ar]=nn,Ar)}catch(ra){if(ra instanceof Ci)return-ra.Ja;throw ra}},r:function(Ve){try{return Ve=Je(Ve),Zd(Ve),0}catch(ht){if(ht instanceof Ci)return-ht.Ja;throw ht}},F:function(Ve,ht){try{return Ve=Je(Ve),yd(mr,Ve,ht)}catch(xt){if(xt instanceof Ci)return-xt.Ja;throw xt}},o:function(Ve,ht,xt){try{return ht=ss(Ve,ht=Je(ht)),xt===0?ci(ht):xt===512?Zd(ht):dt("Invalid flags passed to unlinkat"),0}catch(Yt){if(Yt instanceof Ci)return-Yt.Ja;throw Yt}},m:function(Ve,ht,xt){var Yt=N;try{ht=ss(Ve,ht=Je(ht),!0),Di=xt?(li=1e3*Pe[xt>>2]+Pe[xt+4>>2]/1e6,1e3*Pe[(xt+=8)>>2]+Pe[xt+4>>2]/1e6):li=Date[Yt(1396)](),Ve=li;var li,Di,Ar=Mn(ht,{Ra:!0})[Yt(1461)];return Ar.Fa.Ma(Ar,{timestamp:Math[Yt(1093)](Ve,Di)}),0}catch(nn){if(nn instanceof Ci)return-nn.Ja;throw nn}},e:function(){return Date.now()},j:function(Ve,ht){var xt=N;Ve=new Date(1e3*Pe[Ve>>2]),Pe[ht>>2]=Ve[xt(2543)](),Pe[ht+4>>2]=Ve[xt(2805)](),Pe[ht+8>>2]=Ve[xt(1398)](),Pe[ht+12>>2]=Ve[xt(1426)](),Pe[ht+16>>2]=Ve[xt(2010)](),Pe[ht+20>>2]=Ve[xt(1055)]()-1900,Pe[ht+24>>2]=Ve[xt(1761)]();var li=new Date(Ve.getFullYear(),0,1),Yt=(Pe[ht+28>>2]=(Ve[xt(510)]()-li[xt(510)]())/864e5|0,Pe[ht+36>>2]=-60*Ve[xt(2287)](),new Date(Ve[xt(1055)](),6,1).getTimezoneOffset()),li=li[xt(2287)]();Pe[ht+32>>2]=0|(Yt!=li&&Ve[xt(2287)]()==Math[xt(1817)](li,Yt))},v:function(Ve,ht,xt,Yt,li,Di,Ar){try{var nn=bt[li];if(!nn)return-8;if((2&xt)!=0&&(2&Yt)==0&&(2097155&nn.flags)!=2)throw new Ci(2);if((2097155&nn.flags)==1)throw new Ci(2);if(!nn.Ga.$a)throw new Ci(43);var ra=nn.Ga.$a(nn,Ve,ht,Di,xt,Yt),Na=ra.Eb;return Pe[Ar>>2]=ra.ub,Na}catch($l){if($l instanceof Ci)return-$l.Ja;throw $l}},w:function(Ve,ht,xt,Yt,li,Di){var Ar=N;try{var nn,ra=bt[li];ra&&2&xt&&(nn=ke[Ar(352)](Ve,Ve+ht),ra&&ra.Ga.ab&&ra.Ga.ab(ra,nn,Di,ht,Yt))}catch(Na){if(Na instanceof Ci)return-Na.Ja;throw Na}},n:Lc,p:function(){return 2147483648},d:Wv,c:function(Ve){var ht=N,xt=ke[ht(2405)];if(2147483648<(Ve>>>=0))return!1;for(var Yt=1;Yt<=4;Yt*=2){var li=xt*(1+.2/Yt),li=Math[ht(1817)](li,Ve+100663296),Di=Math;li=Math[ht(1093)](Ve,li),Di=Di[ht(1817)][ht(2811)](Di,2147483648,li+(65536-li%65536)%65536);e:{try{ce.grow(Di-Me.byteLength+65535>>>16),At();var Ar=1;break e}catch{}Ar=void 0}if(Ar)return!0}return!1},y:function(Ve,ht){var xt=0;return Km().forEach(function(Yt,li){var Di=Tt,Ar=ht+xt;for(li=Pe[Ve+4*li>>2]=Ar,Ar=0;Ar<Yt.length;++Ar)He[li++>>0]=Yt.charCodeAt(Ar);He[li>>0]=0,xt+=Yt[Di(2405)]+1}),0},z:function(Ve,ht){var xt=N,Yt=Km(),li=(Pe[Ve>>2]=Yt[xt(2405)],0);return Yt.forEach(function(Di){var Ar=xt;li+=Di[Ar(2405)]+1}),Pe[ht>>2]=li,0},f:function(Ve){try{var ht=Qh(Ve);return Sn(ht),0}catch(xt){if(xt instanceof Ci)return xt.Ja;throw xt}},l:function(Ve,ht){var xt=N;try{var Yt=Qh(Ve);return He[ht>>0]=Yt[xt(187)]?2:(61440&Yt[xt(224)])==16384?3:(61440&Yt[xt(224)])==40960?7:4,0}catch(li){if(li instanceof Ci)return li.Ja;throw li}},t:function(Ve,ht,xt,Yt){try{e:{for(var li=Qh(Ve),Di=Ve=0;Di<xt;Di++){var Ar=Pe[ht+(8*Di+4)>>2],nn=to(li,He,Pe[ht+8*Di>>2],Ar,void 0);if(nn<0){var ra=-1;break e}if(Ve+=nn,nn<Ar)break}ra=Ve}return Pe[Yt>>2]=ra,0}catch(Na){if(Na instanceof Ci)return Na.Ja;throw Na}},k:function(Ve,ht,xt,Yt,li){var Di=N;try{var Ar=Qh(Ve);return(Ve=4294967296*xt+(ht>>>0))<=-9007199254740992||9007199254740992<=Ve?-61:(jr(Ar,Ve,Yt),_t=[Ar.position>>>0,(ft=Ar.position,1<=+Math.abs(ft)?0<ft?(0|Math[Di(1817)](+Math[Di(799)](ft/4294967296),4294967295))>>>0:~~+Math.ceil((ft-(~~ft>>>0))/4294967296)>>>0:0)],Pe[li>>2]=_t[0],Pe[li+4>>2]=_t[1],Ar.gb&&Ve===0&&Yt===0&&(Ar.gb=null),0)}catch(nn){if(nn instanceof Ci)return nn.Ja;throw nn}},C:function(Ve){var ht=N;try{var xt=Qh(Ve);return xt.Ga&&xt.Ga[ht(532)]?-xt.Ga[ht(532)](xt):0}catch(Yt){if(Yt instanceof Ci)return Yt.Ja;throw Yt}},q:function(Ve,ht,xt,Yt){try{e:{for(var li=Qh(Ve),Di=Ve=0;Di<xt;Di++){var Ar=Eo(li,He,Pe[ht+8*Di>>2],Pe[ht+(8*Di+4)>>2],void 0);if(Ar<0){var nn=-1;break e}Ve+=Ar}nn=Ve}return Pe[Yt>>2]=nn,0}catch(ra){if(ra instanceof Ci)return ra.Ja;throw ra}}},eE=(function(){var Ve=N;function ht(Di){var Ar=Tt;H[Ar(2432)]=Di.exports,ce=H[Ar(2432)].I,At(),yt=H[Ar(2432)].za,pt[Ar(917)](H[Ar(2432)].J),It--,H.monitorRunDependencies&&H[Ar(1986)](It),It==0&&(Pt!==null&&(clearInterval(Pt),Pt=null),St&&(Di=St,St=null,Di()))}function xt(Di){var Ar=Tt;ht(Di[Ar(2770)])}function Yt(Di){var Ar=Tt;return function(){var nn=Tt;if(!oe&&(ge||de)){if(nn(605)==typeof fetch&&!at[nn(936)](nn(705)))return fetch(at,{credentials:"same-origin"}).then(function(ra){var Na=nn;if(ra.ok)return ra[Na(1807)]();throw Na(862)+at+"'"})[nn(870)](_e);if(K)return new Promise(function(ra,Na){K(at,function($l){ra(new Uint8Array($l))},Na)})}return Promise.resolve()[nn(2683)](_e)}().then(function(nn){var ra=Tt;return WebAssembly[ra(1270)](nn,li)})[Ar(2683)](function(nn){return nn})[Ar(2683)](Di,function(nn){var ra=Ar;Y(ra(1153)+nn),dt(nn)})}var li={a:Wm};if(It++,H[Ve(1986)]&&H[Ve(1986)](It),H[Ve(1443)])try{return H[Ve(1443)](li,ht)}catch(Di){return Y("Module.instantiateWasm callback failed with error: "+Di)}oe||Ve(605)!=typeof WebAssembly[Ve(1178)]||Le()||at[Ve(936)]("file://")||Ve(605)!=typeof fetch?Yt(xt):fetch(at,{credentials:Ve(337)})[Ve(2683)](function(Di){var Ar=Ve;return WebAssembly[Ar(1178)](Di,li)[Ar(2683)](xt,function(nn){var ra=Ar;return Y(ra(1918)+nn),Y("falling back to ArrayBuffer instantiation"),Yt(xt)})})}(),H[N(2097)]=function(){var Ve=N;return(H[Ve(2097)]=H[Ve(2432)].J)[Ve(724)](null,arguments)},H[N(2202)]=function(){var Ve=N;return(H[Ve(2202)]=H[Ve(2432)].K)[Ve(724)](null,arguments)},H._sqlite3_value_double=function(){var Ve=N;return(H._sqlite3_value_double=H[Ve(2432)].L)[Ve(724)](null,arguments)},H[N(2639)]=function(){var Ve=N;return(H[Ve(2639)]=H[Ve(2432)].M)[Ve(724)](null,arguments)},H[N(655)]=function(){var Ve=N;return(eE=H[Ve(655)]=H[Ve(2432)].N)[Ve(724)](null,arguments)}),tE=(H[N(1513)]=function(){var Ve=N;return(H[Ve(1513)]=H[Ve(2432)].O)[Ve(724)](null,arguments)},H._sqlite3_step=function(){var Ve=N;return(H[Ve(2257)]=H[Ve(2432)].P)[Ve(724)](null,arguments)},H[N(927)]=function(){var Ve=N;return(H._sqlite3_finalize=H[Ve(2432)].Q)[Ve(724)](null,arguments)},H._sqlite3_reset=function(){var Ve=N;return(H[Ve(1696)]=H.asm.R)[Ve(724)](null,arguments)},H[N(311)]=function(){var Ve=N;return(H._sqlite3_value_int=H[Ve(2432)].S)[Ve(724)](null,arguments)},H[N(1128)]=function(){var Ve=N;return(H[Ve(1128)]=H[Ve(2432)].T)[Ve(724)](null,arguments)},H[N(2060)]=function(){var Ve=N;return(H[Ve(2060)]=H[Ve(2432)].U)[Ve(724)](null,arguments)},H._sqlite3_value_bytes=function(){var Ve=N;return(H[Ve(1583)]=H[Ve(2432)].V).apply(null,arguments)},H[N(2186)]=function(){var Ve=N;return(H[Ve(2186)]=H[Ve(2432)].W)[Ve(724)](null,arguments)},H[N(1395)]=function(){var Ve=N;return(H[Ve(1395)]=H.asm.X)[Ve(724)](null,arguments)},H[N(390)]=function(){var Ve=N;return(H[Ve(390)]=H[Ve(2432)].Y).apply(null,arguments)},H[N(2756)]=function(){var Ve=N;return(H[Ve(2756)]=H[Ve(2432)].Z)[Ve(724)](null,arguments)},H[N(2551)]=function(){var Ve=N;return(H[Ve(2551)]=H.asm._)[Ve(724)](null,arguments)},H[N(2464)]=function(){var Ve=N;return(H[Ve(2464)]=H[Ve(2432)].$)[Ve(724)](null,arguments)},H[N(681)]=function(){var Ve=N;return(H._sqlite3_result_null=H[Ve(2432)].aa).apply(null,arguments)},H[N(616)]=function(){var Ve=N;return(H[Ve(616)]=H[Ve(2432)].ba)[Ve(724)](null,arguments)},H[N(282)]=function(){var Ve=N;return(H._sqlite3_sql=H[Ve(2432)].ca)[Ve(724)](null,arguments)},H[N(2542)]=function(){var Ve=N;return(H._sqlite3_column_count=H[Ve(2432)].da).apply(null,arguments)},H[N(1872)]=function(){var Ve=N;return(H[Ve(1872)]=H.asm.ea)[Ve(724)](null,arguments)},H[N(473)]=function(){var Ve=N;return(H[Ve(473)]=H[Ve(2432)].fa).apply(null,arguments)},H._sqlite3_column_bytes=function(){var Ve=N;return(H._sqlite3_column_bytes=H[Ve(2432)].ga).apply(null,arguments)},H[N(1307)]=function(){var Ve=N;return(H[Ve(1307)]=H[Ve(2432)].ha)[Ve(724)](null,arguments)},H[N(502)]=function(){var Ve=N;return(H[Ve(502)]=H[Ve(2432)].ia)[Ve(724)](null,arguments)},H[N(2693)]=function(){var Ve=N;return(H[Ve(2693)]=H[Ve(2432)].ja)[Ve(724)](null,arguments)},H[N(1767)]=function(){var Ve=N;return(H[Ve(1767)]=H[Ve(2432)].ka)[Ve(724)](null,arguments)},H[N(2480)]=function(){var Ve=N;return(H[Ve(2480)]=H.asm.la)[Ve(724)](null,arguments)},H[N(2571)]=function(){var Ve=N;return(H[Ve(2571)]=H[Ve(2432)].ma)[Ve(724)](null,arguments)},H[N(815)]=function(){var Ve=N;return(H[Ve(815)]=H.asm.na)[Ve(724)](null,arguments)},H[N(2076)]=function(){var Ve=N;return(H[Ve(2076)]=H.asm.oa)[Ve(724)](null,arguments)},H[N(2383)]=function(){var Ve=N;return(H._sqlite3_bind_parameter_index=H[Ve(2432)].pa)[Ve(724)](null,arguments)},H[N(297)]=function(){var Ve=N;return(H[Ve(297)]=H[Ve(2432)].qa)[Ve(724)](null,arguments)},H[N(1550)]=function(){var Ve=N;return(H[Ve(1550)]=H[Ve(2432)].ra)[Ve(724)](null,arguments)},H[N(448)]=function(){var Ve=N;return(H[Ve(448)]=H[Ve(2432)].sa)[Ve(724)](null,arguments)},H[N(1422)]=function(){var Ve=N;return(H._sqlite3_changes=H[Ve(2432)].ta)[Ve(724)](null,arguments)},H[N(1771)]=function(){var Ve=N;return(H[Ve(1771)]=H.asm.ua)[Ve(724)](null,arguments)},H[N(2102)]=function(){var Ve=N;return(H[Ve(2102)]=H[Ve(2432)].va).apply(null,arguments)},H[N(1348)]=function(){var Ve=N;return(H[Ve(1348)]=H.asm.wa).apply(null,arguments)},H[N(1601)]=function(){var Ve=N;return(tE=H[Ve(1601)]=H.asm.xa)[Ve(724)](null,arguments)}),Li=H[N(527)]=function(){var Ve=N;return(Li=H[Ve(527)]=H[Ve(2432)].ya)[Ve(724)](null,arguments)},qn=(H._RegisterExtensionFunctions=function(){var Ve=N;return(H[Ve(844)]=H[Ve(2432)].Aa)[Ve(724)](null,arguments)},H._emscripten_builtin_memalign=function(){var Ve=N;return(qn=H[Ve(2059)]=H[Ve(2432)].Ba).apply(null,arguments)}),vn=H[N(409)]=function(){var Ve=N;return(vn=H[Ve(409)]=H.asm.Ca)[Ve(724)](null,arguments)},bs=H[N(2036)]=function(){var Ve=N;return(bs=H.stackRestore=H[Ve(2432)].Da)[Ve(724)](null,arguments)},AA=H[N(908)]=function(){var Ve=N;return(AA=H[Ve(908)]=H.asm.Ea)[Ve(724)](null,arguments)};function Fa(){var Ve=N;function ht(){var Yt=Tt;if(!$C&&($C=!0,H.calledRun=!0,!me)){if(H[Yt(1784)]||xi||(xi=!0,Gl(),H.stdin=H[Yt(702)],H.stdout=H[Yt(2815)],H.stderr=H[Yt(1659)],H[Yt(702)]?IA(Yt(702),H[Yt(702)]):Sp(Yt(1387),Yt(1291)),H.stdout?IA(Yt(2815),null,H[Yt(2815)]):Sp(Yt(1387),Yt(2195)),H[Yt(1659)]?IA(Yt(1659),null,H[Yt(1659)]):Sp(Yt(1447),Yt(361)),pn(Yt(1291),0),pn(Yt(2195),1),pn(Yt(361),1)),Oi=!1,Oe(pt),H[Yt(1320)]&&H[Yt(1320)](),H[Yt(330)])for(Yt(605)==typeof H[Yt(330)]&&(H[Yt(330)]=[H[Yt(330)]]);H[Yt(330)][Yt(2405)];){var li=H[Yt(330)][Yt(2626)]();zt[Yt(917)](li)}Oe(zt)}}if(!(0<It)){if(H[Ve(933)])for(typeof H[Ve(933)]=="function"&&(H.preRun=[H[Ve(933)]]);H[Ve(933)][Ve(2405)];)xt=H[Ve(933)][Ve(2626)](),et[Ve(917)](xt);Oe(et),0<It||(H[Ve(1406)]?(H[Ve(1406)](Ve(2572)),setTimeout(function(){setTimeout(function(){var Yt=Tt;H[Yt(1406)]("")},1),ht()},1)):ht())}var xt}if(H.cwrap=function(Ve,ht,xt,Yt){var li=N,Di=(xt=xt||[])[li(1484)](function(Ar){return Ar==="number"});return ht!=="string"&&Di&&!Yt?H["_"+Ve]:function(){var Ar=li,nn=Ve,ra=ht,Na=xt,$l=arguments,$d={string:function(Mp){var iE=Tt,eg,rE=0;return Mp!=null&&Mp!==0&&(eg=1+(Mp[iE(2405)]<<2),rE=AA(eg),je(Mp,ke,rE,eg)),rE},array:function(Mp){var iE=Tt,eg=AA(Mp[iE(2405)]);return He[iE(935)](Mp,eg),eg}},wg=(nn=H["_"+nn],[]),L0=0;if($l)for(var Gu=0;Gu<$l[Ar(2405)];Gu++){var Xa=$d[Na[Gu]];Xa?(L0===0&&(L0=vn()),wg[Gu]=Xa($l[Gu])):wg[Gu]=$l[Gu]}return nn=Na=nn.apply(null,wg),L0!==0&&bs(L0),Ar(1090)===ra?Je(nn):ra==="boolean"?!!nn:nn}},H[N(1569)]=Je,H[N(409)]=vn,H[N(2036)]=bs,H[N(908)]=AA,St=function Ve(){$C||Fa(),$C||(St=Ve)},H[N(331)]=Fa,H[N(554)])for(N(605)==typeof H[N(554)]&&(H[N(554)]=[H[N(554)]]);0<H[N(554)][N(2405)];)H.preInit[N(619)]()();return Fa(),le})}w=M[B(467)](w);var S=M(34155),P=M(25108),R=M(48764)[B(964)],T=void 0;w[B(2726)]=D,w[B(2726)][B(916)]=D},39809:(w,Q,M)=>{var B=Tt;let D=Q;D[B(690)]=M(4590),D[B(305)]=M(22500).define,D[B(464)]=M(71979),D.constants=M(36826),D[B(1828)]=M(78307),D[B(1562)]=M(56579)},22500:(w,Q,M)=>{var B=Tt;let D=M(56579),S=M(78307),P=M(35717),R=Q;function T(L,F){var U=Tt;this[U(276)]=L,this[U(1511)]=F,this[U(1828)]={},this.encoders={}}R.define=function(L,F){return new T(L,F)},T[B(2086)][B(1758)]=function(L){var F=B;let U=this[F(276)];function N(H){var J=F;this[J(1318)](H,U)}return P(N,L),N.prototype[F(1318)]=function(H,J){var K=F;L[K(2811)](this,H,J)},new N(this)},T.prototype[B(2676)]=function(L){var F=B;return this[F(1828)][F(2084)](L=L||F(2806))||(this.decoders[L]=this[F(1758)](S[L])),this[F(1828)][L]},T[B(2086)][B(1288)]=function(L,F,U){var N=B;return this[N(2676)](F)[N(1288)](L,U)},T[B(2086)][B(2080)]=function(L){var F=B;return this[F(1562)].hasOwnProperty(L=L||F(2806))||(this[F(1562)][L]=this[F(1758)](D[L])),this.encoders[L]},T[B(2086)][B(479)]=function(L,F,U){var N=B;return this._getEncoder(F)[N(479)](L,U)}},36625:(w,Q,M)=>{var B=Tt;let D=M(35717),S=M(98465).b,P=M(2399)[B(964)];function R(L,F){var U=B;S[U(2811)](this,F),P[U(1564)](L)?(this.base=L,this[U(215)]=0,this[U(2405)]=L.length):this[U(1274)](U(376))}function T(L,F){var U=B;if(Array[U(2021)](L))this.length=0,this[U(396)]=L[U(679)](function(N){var H=U;return T.isEncoderBuffer(N)||(N=new T(N,F)),this[H(2405)]+=N.length,N},this);else if(U(647)==typeof L){if(!(0<=L&&L<=255))return F[U(1274)](U(953));this[U(396)]=L,this.length=1}else if(typeof L=="string")this[U(396)]=L,this[U(2405)]=P.byteLength(L);else{if(!P.isBuffer(L))return F.error("Unsupported type: "+typeof L);this[U(396)]=L,this[U(2405)]=L[U(2405)]}}D(R,S),(Q.C=R)[B(763)]=function(L){var F=B;return L instanceof R||F(2538)==typeof L&&P[F(1564)](L[F(464)])&&F(1895)===L.constructor[F(276)]&&F(647)==typeof L.offset&&typeof L[F(2405)]=="number"&&F(605)==typeof L[F(806)]&&typeof L[F(170)]=="function"&&F(605)==typeof L[F(1568)]&&F(605)==typeof L[F(1620)]&&typeof L[F(1036)]=="function"&&F(605)==typeof L.raw},R[B(2086)][B(806)]=function(){var L=B;return{offset:this[L(215)],reporter:S[L(2086)][L(806)][L(2811)](this)}},R[B(2086)].restore=function(L){var F=B;let U=new R(this[F(464)]);return U[F(215)]=L[F(215)],U[F(2405)]=this.offset,this.offset=L.offset,S[F(2086)][F(170)].call(this,L[F(926)]),U},R[B(2086)].isEmpty=function(){var L=B;return this[L(215)]===this[L(2405)]},R[B(2086)][B(1620)]=function(L){var F=B;return this[F(215)]+1<=this.length?this[F(464)].readUInt8(this.offset++,!0):this[F(1274)](L||"DecoderBuffer overrun")},R[B(2086)].skip=function(L,F){var U=B;if(!(this.offset+L<=this[U(2405)]))return this.error(F||U(2386));let N=new R(this[U(464)]);return N[U(177)]=this[U(177)],N[U(215)]=this[U(215)],N.length=this[U(215)]+L,this.offset+=L,N},R[B(2086)].raw=function(L){var F=B;return this[F(464)].slice((L||this).offset,this[F(2405)])},(Q.R=T)[B(1355)]=function(L){var F=B;return L instanceof T||F(2538)==typeof L&&L[F(1630)][F(276)]==="EncoderBuffer"&&typeof L[F(2405)]=="number"&&F(605)==typeof L.join},T.prototype[B(1814)]=function(L,F){var U=B;return L=L||P[U(1526)](this[U(2405)]),F=F||0,this[U(2405)]!==0&&(Array[U(2021)](this[U(396)])?this[U(396)][U(312)](function(N){var H=U;N[H(1814)](L,F),F+=N[H(2405)]}):(U(647)==typeof this[U(396)]?L[F]=this[U(396)]:typeof this[U(396)]=="string"?L.write(this.value,F):P[U(1564)](this[U(396)])&&this[U(396)][U(1973)](L,F),F+=this[U(2405)])),L}},71979:(w,Q,M)=>{var B=Tt;let D=Q;D[B(612)]=M(98465).b,D.DecoderBuffer=M(36625).C,D[B(1852)]=M(36625).R,D[B(905)]=M(41949)},41949:(w,Q,M)=>{var B=Tt;let D=M(98465).b,S=M(36625).R,P=M(36625).C,R=M(79746),T=[B(2390),"seqof",B(935),B(2047),B(575),B(858),B(1170),B(1887),B(2530),B(2509),"int",B(2298),B(2504),B(2560),B(183),B(2556),B(2798),B(1881),B(772),B(1584),B(2479),B(2357),B(2685),B(1419),"utf8str",B(2702)],L=[B(2115),B(1736),B(1717),"optional","explicit","implicit",B(1829),B(671),B(937),B(1750)].concat(T);function F(N,H,J){var K=B;let X={};(this._baseState=X)[K(276)]=J,X[K(1886)]=N,X.parent=H||null,X[K(518)]=null,X[K(2634)]=null,X[K(1467)]=null,X.reverseArgs=null,X[K(671)]=null,X.optional=!1,X.any=!1,X[K(1736)]=!1,X[K(1717)]=null,X[K(797)]=null,X[K(2115)]=null,X[K(916)]=null,X[K(487)]=null,X[K(291)]=null,X.contains=null,X.parent||(X[K(518)]=[],this[K(1944)]())}w[B(2726)]=F;let U=["enc",B(868),B(518),B(2634),"args","reverseArgs",B(671),B(1664),B(937),"obj","use",B(1633),"key",B(916),"explicit",B(291),"contains"];F[B(2086)].clone=function(){var N=B;let H=this[N(592)],J={},K=(U[N(312)](function(X){J[X]=H[X]}),new this[N(1630)](J[N(868)]));return K[N(592)]=J,K},F[B(2086)]._wrap=function(){var N=B;let H=this._baseState;L[N(312)](function(J){this[J]=function(){var K=Tt;let X=new this[K(1630)](this);return H.children[K(2764)](X),X[J][K(724)](X,arguments)}},this)},F.prototype[B(1352)]=function(N){var H=B;let J=this[H(592)];R(J[H(868)]===null),N[H(2811)](this),J[H(518)]=J.children[H(2230)](function(K){var X=H;return K[X(592)][X(868)]===this},this),R[H(1965)](J[H(518)].length,1,H(2638))},F[B(2086)][B(1934)]=function(N){var H=B;let J=this[H(592)],K=N[H(2230)](function(X){var j=H;return X instanceof this[j(1630)]},this);N=N[H(2230)](function(X){var j=H;return!(X instanceof this[j(1630)])},this),K[H(2405)]!==0&&(R(J.children===null),(J[H(518)]=K)[H(312)](function(X){var j=H;X[j(592)].parent=this},this)),N[H(2405)]!==0&&(R(J[H(1467)]===null),J[H(1467)]=N,J.reverseArgs=N[H(679)](function(X){var j=H;if(j(2538)!=typeof X||X[j(1630)]!==Object)return X;let ee={};return Object.keys(X)[j(312)](function(ie){ie==(0|ie)&&(ie|=0);var z=X[ie];ee[z]=ie}),ee}))},["_peekTag",B(2599),"_use",B(452),B(946),B(2665),B(2040),B(2443),"_decodeBool",B(2532),B(459),B(477),B(2627),B(2132),B(644),"_encodeInt","_encodeBool"][B(312)](function(N){var H=B;F[H(2086)][N]=function(){var J=H,K=this[J(592)];throw new Error(N+J(2356)+K[J(1886)])}}),T[B(312)](function(N){F.prototype[N]=function(){var H=Tt;let J=this[H(592)];var K=Array[H(2086)][H(352)][H(2811)](arguments);return R(J[H(2634)]===null),J[H(2634)]=N,this[H(1934)](K),this}}),F[B(2086)][B(1717)]=function(N){var H=B;R(N);let J=this[H(592)];return R(J[H(1717)]===null),J[H(1717)]=N,this},F[B(2086)][B(1664)]=function(){var N=B;let H=this._baseState;return H[N(1664)]=!0,this},F[B(2086)][B(1829)]=function(N){var H=B;let J=this[H(592)];return R(J[H(916)]===null),J.default=N,J[H(1664)]=!0,this},F[B(2086)][B(487)]=function(N){var H=B;let J=this[H(592)];return R(J[H(487)]===null&&J[H(291)]===null),J[H(487)]=N,this},F[B(2086)][B(291)]=function(N){var H=B;let J=this[H(592)];return R(J[H(487)]===null&&J.implicit===null),J[H(291)]=N,this},F.prototype[B(1736)]=function(){var N=B;let H=this[N(592)];var J=Array[N(2086)][N(352)][N(2811)](arguments);return H[N(1736)]=!0,J[N(2405)]!==0&&this[N(1934)](J),this},F[B(2086)][B(2115)]=function(N){var H=B;let J=this[H(592)];return R(J[H(2115)]===null),J[H(2115)]=N,this},F[B(2086)][B(937)]=function(){let N=this._baseState;return N.any=!0,this},F[B(2086)].choice=function(N){var H=B;let J=this[H(592)];return R(J[H(671)]===null),J[H(671)]=N,this[H(1934)](Object[H(732)](N).map(function(K){return N[K]})),this},F.prototype[B(1750)]=function(N){var H=B;let J=this._baseState;return R(J[H(1717)]===null),J.contains=N,this},F[B(2086)][B(555)]=function(N,H){var J=B;let K=this[J(592)];if(K.parent===null)return N[J(993)](K.children[0][J(555)](N,H));let X=K[J(916)],j=!0,ee=null;if(K[J(2115)]!==null&&(ee=N.enterKey(K[J(2115)])),K[J(1664)]){let le=null;if(K[J(487)]!==null?le=K[J(487)]:K[J(291)]!==null?le=K[J(291)]:K[J(2634)]!==null&&(le=K.tag),le!==null||K.any){if(j=this._peekTag(N,le,K[J(937)]),N.isError(j))return j}else{var ie=N[J(806)]();try{K[J(671)]===null?this._decodeGeneric(K[J(2634)],N,H):this[J(893)](N,H),j=!0}catch{j=!1}N[J(170)](ie)}}let z;if(K[J(1736)]&&j&&(z=N.enterObject()),j){if(K[J(487)]!==null){if(ie=this[J(2599)](N,K[J(487)]),N[J(1684)](ie))return ie;N=ie}if(ie=N[J(215)],K[J(1717)]===null&&K[J(671)]===null){let le;K[J(937)]&&(le=N.save());var oe=this[J(2599)](N,K.implicit!==null?K[J(291)]:K[J(2634)],K.any);if(N[J(1684)](oe))return oe;K.any?X=N[J(1546)](le):N=oe}if(H&&H[J(1903)]&&K.tag!==null&&H.track(N[J(1483)](),ie,N.length,J(1241)),H&&H[J(1903)]&&K[J(2634)]!==null&&H.track(N[J(1483)](),N[J(215)],N[J(2405)],J(629)),K[J(937)]||(X=K[J(671)]===null?this[J(1678)](K[J(2634)],N,H):this._decodeChoice(N,H)),N.isError(X))return X;K.any||K[J(671)]!==null||K.children===null||K[J(518)][J(312)](function(le){le._decode(N,H)}),!K[J(1750)]||J(2479)!==K.tag&&J(2504)!==K[J(2634)]||(oe=new P(X),X=this[J(961)](K[J(1750)],N[J(177)].obj)._decode(oe,H))}return K.obj&&j&&(X=N[J(2359)](z)),K[J(2115)]===null||X===null&&j!==!0?ee!==null&&N[J(2586)](ee):N[J(2613)](ee,K[J(2115)],X),X},F.prototype[B(1678)]=function(N,H,J){var K=B,X=this[K(592)];return K(2390)===N||K(935)===N?null:K(2261)===N||N==="setof"?this._decodeList(H,N,X[K(1467)][0],J):/str$/[K(529)](N)?this[K(452)](H,N,J):K(575)===N&&X[K(1467)]?this._decodeObjid(H,X[K(1467)][0],X[K(1467)][1],J):K(575)===N?this[K(946)](H,null,null,J):K(1170)===N||N==="utctime"?this[K(2665)](H,N,J):K(2530)===N?this._decodeNull(H,J):N==="bool"?this._decodeBool(H,J):N==="objDesc"?this[K(452)](H,N,J):K(1667)===N||N==="enum"?this[K(2443)](H,X[K(1467)]&&X[K(1467)][0],J):X[K(1717)]!==null?this._getUse(X[K(1717)],H[K(177)].obj)._decode(H,J):H[K(1274)](K(1588)+N)},F[B(2086)]._getUse=function(N,H){var J=B;let K=this._baseState;return K[J(797)]=this._use(N,H),R(K[J(797)][J(592)][J(868)]===null),K[J(797)]=K[J(797)][J(592)][J(518)][0],K[J(291)]!==K[J(797)][J(592)][J(291)]&&(K[J(797)]=K[J(797)][J(914)](),K[J(797)][J(592)][J(291)]=K[J(291)]),K[J(797)]},F[B(2086)][B(893)]=function(N,H){var J=B;let K=this._baseState,X=null,j=!1;return Object[J(732)](K[J(671)])[J(1218)](function(ee){var ie=J,z=N.save();let oe=K.choice[ee];try{var le=oe[ie(555)](N,H);if(N[ie(1684)](le))return!1;X={type:ee,value:le},j=!0}catch{return N[ie(170)](z),!1}return!0},this),j?X:N[J(1274)](J(1888))},F[B(2086)][B(2242)]=function(N){var H=B;return new S(N,this[H(926)])},F[B(2086)][B(1768)]=function(N,H,J){var K=B,X=this[K(592)];if((X[K(916)]===null||X[K(916)]!==N)&&(X=this[K(2e3)](N,H,J),X!==void 0&&!this._skipDefault(X,H,J)))return X},F[B(2086)]._encodeValue=function(N,H,J){var K=B;let X=this._baseState;if(X[K(868)]===null)return X.children[0]._encode(N,H||new D);let j=null;if(this[K(926)]=H,X[K(1664)]&&N===void 0){if(X.default===null)return;N=X.default}let ee=null,ie=!1;if(X[K(937)])j=this[K(2242)](N);else if(X[K(671)])j=this._encodeChoice(N,H);else if(X[K(1750)])ee=this[K(961)](X[K(1750)],J)[K(1768)](N,H),ie=!0;else if(X.children)ee=X[K(518)][K(679)](function(oe){var le=K;if(le(2530)===oe[le(592)][le(2634)])return oe[le(1768)](null,H,N);if(oe._baseState[le(2115)]===null)return H[le(1274)](le(1532));var Ae=H.enterKey(oe[le(592)][le(2115)]);return le(2538)!=typeof N?H.error(le(735)):(oe=oe._encode(N[oe[le(592)][le(2115)]],H,N),H[le(2613)](Ae),oe)},this)[K(2230)](function(oe){return oe}),ee=this[K(2242)](ee);else if(X.tag==="seqof"||X[K(2634)]==="setof"){if(!X.args||X.args[K(2405)]!==1)return H.error(K(2810)+X[K(2634)]);if(!Array[K(2021)](N))return H.error(K(1831));let oe=this[K(914)]();oe[K(592)][K(291)]=null,ee=this[K(2242)](N[K(679)](function(le){var Ae=K,he=this[Ae(592)];return this[Ae(961)](he.args[0],N)[Ae(1768)](le,H)},oe))}else X[K(1717)]!==null?j=this._getUse(X[K(1717)],J)[K(1768)](N,H):(ee=this[K(498)](X[K(2634)],N),ie=!0);var z;return X[K(937)]||X.choice!==null||(J=X.implicit!==null?X[K(291)]:X[K(2634)],z=X[K(291)]===null?"universal":K(1114),J===null?X[K(1717)]===null&&H.error("Tag could be omitted only for .use()"):X.use===null&&(j=this[K(459)](J,ie,z,ee))),j=X[K(487)]!==null?this._encodeComposite(X[K(487)],!1,"context",j):j},F[B(2086)][B(2215)]=function(N,H){var J=B,K=this._baseState;let X=K[J(671)][N[J(1808)]];return X||R(!1,N[J(1808)]+" not found in "+JSON[J(650)](Object[J(732)](K[J(671)]))),X[J(1768)](N[J(396)],H)},F.prototype[B(498)]=function(N,H){var J=B,K=this[J(592)];if(/str$/[J(529)](N))return this[J(477)](H,N);if(J(575)===N&&K[J(1467)])return this[J(2627)](H,K[J(873)][0],K.args[1]);if(N==="objid")return this[J(2627)](H,null,null);if(J(1170)===N||J(1887)===N)return this._encodeTime(H,N);if(N==="null_")return this[J(644)]();if(N==="int"||J(2509)===N)return this[J(1542)](H,K[J(1467)]&&K.reverseArgs[0]);if(N==="bool")return this[J(1267)](H);if(J(2298)===N)return this[J(477)](H,N);throw new Error(J(2400)+N)},F[B(2086)]._isNumstr=function(N){var H=B;return/^[0-9 ]*$/[H(529)](N)},F[B(2086)][B(1152)]=function(N){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(N)}},98465:(w,Q,M)=>{var B=Tt;let D=M(35717);function S(R){var T=Tt;this[T(177)]={obj:null,path:[],options:R||{},errors:[]}}function P(R,T){var L=Tt;this[L(1483)]=R,this[L(1982)](T)}(Q.b=S)[B(2086)][B(1684)]=function(R){return R instanceof P},S.prototype[B(806)]=function(){var R=B,T=this[R(177)];return{obj:T.obj,pathLen:T[R(1483)][R(2405)]}},S[B(2086)].restore=function(R){var T=B;let L=this._reporterState;L[T(1736)]=R[T(1736)],L[T(1483)]=L.path.slice(0,R[T(2618)])},S.prototype[B(1506)]=function(R){var T=B;return this[T(177)].path[T(2764)](R)},S[B(2086)][B(2586)]=function(R){var T=B;let L=this[T(177)];L[T(1483)]=L[T(1483)][T(352)](0,R-1)},S[B(2086)].leaveKey=function(R,T,L){var F=B;let U=this._reporterState;this.exitKey(R),U[F(1736)]!==null&&(U.obj[T]=L)},S[B(2086)][B(1483)]=function(){var R=B;return this._reporterState[R(1483)][R(1814)]("/")},S[B(2086)][B(1185)]=function(){var R=B;let T=this[R(177)];var L=T[R(1736)];return T.obj={},L},S[B(2086)][B(2359)]=function(R){var T=B;let L=this[T(177)];var F=L[T(1736)];return L[T(1736)]=R,F},S[B(2086)][B(1274)]=function(U){var T=B;let L=this[T(177)];var F=U instanceof P,U=F?U:new P(L[T(1483)][T(679)](function(N){return"["+JSON.stringify(N)+"]"})[T(1814)](""),U[T(1535)]||U,U.stack);if(L.options[T(310)])return F||L.errors[T(2764)](U),U;throw U},S[B(2086)].wrapResult=function(R){var T=B,L=this[T(177)];return L[T(1677)][T(310)]?{result:this[T(1684)](R)?null:R,errors:L[T(1315)]}:R},D(P,Error),P[B(2086)][B(1982)]=function(R){var T=B;if(this[T(1535)]=R+T(1528)+(this[T(1483)]||"(shallow)"),Error[T(2581)]&&Error[T(2581)](this,P),!this[T(1224)])try{throw new Error(this[T(1535)])}catch(L){this.stack=L[T(1224)]}return this}},70160:(w,Q)=>{var M=Tt;function B(D){var S=Tt;let P={};return Object[S(732)](D)[S(312)](function(R){(0|R)==R&&(R|=0);var T=D[R];P[T]=R}),P}Q[M(239)]={0:M(547),1:"application",2:"context",3:M(1805)},Q[M(1604)]=B(Q[M(239)]),Q[M(2634)]={0:M(2624),1:"bool",2:M(1667),3:M(2504),4:M(2479),5:M(2530),6:"objid",7:M(2298),8:M(221),9:"real",10:M(2509),11:"embed",12:M(789),13:M(252),16:"seq",17:M(935),18:M(1584),19:"printstr",20:M(2685),21:M(2702),22:M(1881),23:M(1887),24:"gentime",25:M(2798),26:M(772),27:"genstr",28:M(1419),29:M(183),30:M(2560)},Q[M(2073)]=B(Q[M(2634)])},36826:(w,Q,M)=>{var B=Tt;let D=Q;D[B(1290)]=function(S){var P=B;let R={};return Object.keys(S)[P(312)](function(T){(0|T)==T&&(T|=0);var L=S[T];R[L]=T}),R},D[B(2806)]=M(70160)},41671:(w,Q,M)=>{var B=Tt;let D=M(35717),S=M(4590),P=M(36625).C,R=M(41949),T=M(70160);function L(N){var H=Tt;R[H(2811)](this,"der",N)}function F(N,H){var J=Tt;let K=N[J(1620)](H);if(N[J(1684)](K))return K;var X=T[J(239)][K>>6],j=(32&K)==0;if((31&K)==31){let ie=K;for(K=0;(128&ie)==128;){if(ie=N[J(1620)](H),N.isError(ie))return ie;K=(K<<=7)|127&ie}}else K&=31;var ee=T[J(2634)][K];return{cls:X,primitive:j,tag:K,tagStr:ee}}function U(N,H,J){var K=Tt;let X=N.readUInt8(J);if(N[K(1684)](X))return X;if(!H&&X===128)return null;if((128&X)==0)return X;var j=127&X;if(4<j)return N.error(K(2703));for(let ie=X=0;ie<j;ie++){X<<=8;var ee=N[K(1620)](J);if(N[K(1684)](ee))return ee;X|=ee}return X}(w[B(2726)]=function(N){var H=B;this[H(1886)]=H(2806),this.name=N[H(276)],this[H(158)]=N,this[H(2584)]=new L,this[H(2584)][H(1352)](N[H(1511)])})[B(2086)][B(1288)]=function(N,H){var J=B;return P[J(763)](N)||(N=new P(N,H)),this[J(2584)]._decode(N,H)},D(L,R),L[B(2086)][B(2503)]=function(N,H,J){var K=B;if(N[K(1568)]())return!1;var X=N[K(806)](),j=F(N,K(286)+H+'"');return N[K(1684)](j)?j:(N[K(170)](X),j[K(2634)]===H||j[K(2697)]===H||j.tagStr+"of"===H||J)},L[B(2086)][B(2599)]=function(N,H,J){var K=B,X=F(N,K(445)+H+'"');if(N[K(1684)](X))return X;let j=U(N,X[K(2600)],K(1349)+H+'"');return N[K(1684)](j)?j:!J&&X[K(2634)]!==H&&X.tagStr!==H&&X[K(2697)]+"of"!==H?N.error(K(2008)+H+'"'):X[K(2600)]||j!==null?N[K(1036)](j,K(2183)+H+'"'):(J=N[K(806)](),X=this[K(624)](N,K(1858)+this.tag+'"'),N[K(1684)](X)?X:(j=N[K(215)]-J[K(215)],N.restore(J),N.skip(j,K(2183)+H+'"')))},L.prototype[B(624)]=function(N,H){for(var J=B;;){var K=F(N,H);if(N[J(1684)](K))return K;var X=U(N,K[J(2600)],H);if(N.isError(X)||(X=K[J(2600)]||X!==null?N.skip(X):this._skipUntilEnd(N,H),N.isError(X)))return X;if(J(2624)===K[J(2697)])break}},L[B(2086)][B(2532)]=function(N,H,J,K){var X=B;let j=[];for(;!N[X(1568)]();){var ee=this[X(2503)](N,X(2624));if(N[X(1684)](ee))return ee;var ie=J[X(1288)](N,X(2806),K);if(N.isError(ie)&&ee)break;j.push(ie)}return j},L[B(2086)][B(452)]=function(N,H){var J=B,K;if(J(2504)===H)return K=N[J(1620)](),N[J(1684)](K)?K:{unused:K,data:N[J(1546)]()};if(J(2560)!==H)return J(1584)===H?(K=N.raw()[J(2192)](J(358)),this._isNumstr(K)?K:N.error(J(1137))):H==="octstr"||J(2298)===H?N[J(1546)]():J(2357)===H?(K=N[J(1546)]()[J(2192)](J(358)),this[J(1152)](K)?K:N[J(1274)](J(1362))):/str$/[J(529)](H)?N.raw()[J(2192)]():N.error(J(1846)+H+" unsupported");{let X=N[J(1546)]();if(X[J(2405)]%2==1)return N[J(1274)]("Decoding of string type: bmpstr length mismatch");let j="";for(let ee=0;ee<X[J(2405)]/2;ee++)j+=String[J(1920)](X[J(994)](2*ee));return j}},L[B(2086)][B(946)]=function(N,H,J){var K=B;let X,j=[],ee=0,ie=0;for(;!N[K(1568)]();)ie=N.readUInt8(),ee=(ee<<=7)|127&ie,(128&ie)==0&&(j[K(2764)](ee),ee=0);128&ie&&j[K(2764)](ee);let z=j[0]/40|0,oe=j[0]%40;if(X=J?j:[z,oe].concat(j[K(352)](1)),H){let le=H[X.join(" ")];(le=le===void 0?H[X.join(".")]:le)!==void 0&&(X=le)}return X},L[B(2086)][B(2665)]=function(N,H){var J=B;let K=N.raw()[J(2192)](),X,j,ee,ie,z,oe;if(H==="gentime")X=0|K[J(352)](0,4),j=0|K[J(352)](4,6),ee=0|K[J(352)](6,8),ie=0|K[J(352)](8,10),z=0|K[J(352)](10,12),oe=0|K.slice(12,14);else{if(H!=="utctime")return N[J(1274)](J(1978)+H+J(1514));X=0|K[J(352)](0,2),j=0|K[J(352)](2,4),ee=0|K[J(352)](4,6),ie=0|K[J(352)](6,8),z=0|K[J(352)](8,10),oe=0|K[J(352)](10,12),X=X<70?2e3+X:1900+X}return Date[J(1432)](X,j-1,ee,ie,z,oe,0)},L[B(2086)][B(2040)]=function(){return null},L.prototype._decodeBool=function(N){var H=B,J=N[H(1620)]();return N.isError(J)?J:J!==0},L[B(2086)]._decodeInt=function(N,H){var J=B;N=N[J(1546)]();let K=new S(N);return K=H&&H[K[J(2192)](10)]||K},L[B(2086)][B(2483)]=function(N,H){var J=B;return(N=J(605)==typeof N?N(H):N)[J(2676)](J(2806))[J(2584)]}},78307:(w,Q,M)=>{var B=Tt;let D=Q;D[B(2806)]=M(41671),D[B(1507)]=M(59631)},59631:(w,Q,M)=>{var B=Tt;let D=M(35717),S=M(2399).Buffer,P=M(41671);function R(T){var L=Tt;P[L(2811)](this,T),this[L(1886)]=L(1507)}D(R,P),(w[B(2726)]=R).prototype[B(1288)]=function(T,L){var F=B;let U=T.toString().split(/[\r\n]+/g);var N=L[F(267)][F(634)](),H=/^-----(BEGIN|END) ([^-]+)-----$/;let J=-1,K=-1;for(let ee=0;ee<U[F(2405)];ee++){var X=U[ee][F(1708)](H);if(X!==null&&X[2]===N){if(J!==-1){if(X[1]!=="END")break;K=ee;break}if(F(2340)!==X[1])break;J=ee}}if(J===-1||K===-1)throw new Error(F(2729)+N);let j=U.slice(J+1,K)[F(1814)]("");return j[F(2489)](/[^a-z0-9+/=]+/gi,""),T=S[F(2151)](j,F(2160)),P[F(2086)][F(1288)][F(2811)](this,T,L)}},66984:(w,Q,M)=>{var B=Tt;let D=M(35717),S=M(2399)[B(964)],P=M(41949),R=M(70160);function T(F){var U=B;P.call(this,U(2806),F)}function L(F){return F<10?"0"+F:F}(w[B(2726)]=function(F){var U=B;this.enc=U(2806),this[U(276)]=F[U(276)],this[U(158)]=F,this[U(2584)]=new T,this[U(2584)]._init(F[U(1511)])})[B(2086)][B(479)]=function(F,U){var N=B;return this[N(2584)][N(1768)](F,U).join()},D(T,P),T[B(2086)][B(459)]=function(F,U,N,H){var J=B;if(F=function(j,ee,ie,z){var oe=Tt;let le;if(oe(2261)===j?j=oe(2390):oe(2047)===j&&(j=oe(935)),R[oe(2073)][oe(2084)](j))le=R[oe(2073)][j];else{if(oe(647)!=typeof j||(0|j)!==j)return z[oe(1274)](oe(2267)+j);le=j}return 31<=le?z[oe(1274)]("Multi-octet tag encoding unsupported"):(ee||(le|=32),le|=R[oe(1604)][ie||oe(547)]<<6)}(F,U,N,this[J(926)]),H[J(2405)]<128){let j=S.alloc(2);return j[0]=F,j[1]=H[J(2405)],this[J(2242)]([j,H])}let K=1;for(let j=H[J(2405)];256<=j;j>>=8)K++;let X=S.alloc(2+K);X[0]=F,X[1]=128|K;for(let j=1+K,ee=H[J(2405)];0<ee;j--,ee>>=8)X[j]=255ⅇreturn this._createEncoderBuffer([X,H])},T.prototype._encodeStr=function(F,U){var N=B;if(N(2504)===U)return this[N(2242)]([0|F[N(1642)],F[N(1322)]]);if(N(2560)!==U)return N(1584)===U?this[N(265)](F)?this._createEncoderBuffer(F):this[N(926)][N(1274)]("Encoding of string type: numstr supports only digits and space"):N(2357)===U?this[N(1152)](F)?this[N(2242)](F):this[N(926)][N(1274)]("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/[N(529)](U)||N(2298)===U?this[N(2242)](F):this.reporter[N(1274)](N(2139)+U+" unsupported");{let H=S[N(1526)](2*F.length);for(let J=0;J<F.length;J++)H.writeUInt16BE(F[N(2282)](J),2*J);return this[N(2242)](H)}},T[B(2086)]._encodeObjid=function(F,U,N){var H=B;if(H(1090)==typeof F){if(!U)return this[H(926)][H(1274)]("string objid given, but no values map found");if(!U[H(2084)](F))return this.reporter[H(1274)](H(2099));F=U[F].split(/[\s.]+/g);for(let j=0;j<F.length;j++)F[j]|=0}else if(Array[H(2021)](F)){F=F.slice();for(let j=0;j<F[H(2405)];j++)F[j]|=0}if(!Array[H(2021)](F))return this[H(926)][H(1274)]("objid() should be either array or string, got: "+JSON.stringify(F));if(!N){if(40<=F[1])return this.reporter[H(1274)](H(1730));F.splice(0,2,40*F[0]+F[1])}let J=0;for(let j=0;j<F[H(2405)];j++){let ee=F[j];for(J++;128<=ee;ee>>=7)J++}let K=S[H(1526)](J),X=K[H(2405)]-1;for(let j=F[H(2405)]-1;0<=j;j--){let ee=F[j];for(K[X--]=127ⅇ0<(ee>>=7);)K[X--]=128|127&ee}return this[H(2242)](K)},T[B(2086)][B(2132)]=function(F,U){var N=B;let H,J=new Date(F);return U==="gentime"?H=[L(J[N(761)]()),L(J[N(2733)]()+1),L(J.getUTCDate()),L(J[N(1111)]()),L(J.getUTCMinutes()),L(J[N(2498)]()),"Z"][N(1814)](""):N(1887)===U?H=[L(J[N(761)]()%100),L(J[N(2733)]()+1),L(J[N(2499)]()),L(J[N(1111)]()),L(J[N(2699)]()),L(J[N(2498)]()),"Z"][N(1814)](""):this[N(926)].error(N(1731)+U+N(1514)),this[N(477)](H,N(2479))},T.prototype[B(644)]=function(){return this._createEncoderBuffer("")},T[B(2086)][B(1542)]=function(F,U){var N=B;if(N(1090)==typeof F){if(!U)return this[N(926)][N(1274)](N(190));if(!U[N(2084)](F))return this[N(926)].error(N(2430)+JSON[N(650)](F));F=U[F]}if(N(647)!=typeof F&&!S[N(1564)](F)){let K=F[N(1780)]();!F[N(375)]&&128&K[0]&&K[N(917)](0),F=S[N(2151)](K)}if(S[N(1564)](F)){let K=F.length;F[N(2405)]===0&&K++;let X=S[N(1526)](K);return F.copy(X),F[N(2405)]===0&&(X[0]=0),this._createEncoderBuffer(X)}if(F<128)return this[N(2242)](F);if(F<256)return this[N(2242)]([0,F]);let H=1;for(let K=F;256<=K;K>>=8)H++;let J=new Array(H);for(let K=J[N(2405)]-1;0<=K;K--)J[K]=255&F,F>>=8;return 128&J[0]&&J[N(917)](0),this._createEncoderBuffer(S.from(J))},T.prototype[B(1267)]=function(F){return this._createEncoderBuffer(F?255:0)},T[B(2086)][B(2483)]=function(F,U){var N=B;return(F=N(605)==typeof F?F(U):F)[N(2080)]("der")[N(2584)]},T[B(2086)][B(943)]=function(F,U,N){var H=B;let J=this[H(592)],K;if(J[H(916)]===null)return!1;var X=F[H(1814)]();if(J[H(1022)]===void 0&&(J.defaultBuffer=this[H(2e3)](J[H(916)],U,N)[H(1814)]()),X.length!==J.defaultBuffer[H(2405)])return!1;for(K=0;K<X.length;K++)if(X[K]!==J[H(1022)][K])return!1;return!0}},56579:(w,Q,M)=>{var B=Tt;let D=Q;D[B(2806)]=M(66984),D[B(1507)]=M(2883)},2883:(w,Q,M)=>{var B=Tt;let D=M(35717),S=M(66984);function P(R){var T=Tt;S[T(2811)](this,R),this[T(1886)]="pem"}D(P,S),(w[B(2726)]=P)[B(2086)][B(479)]=function(R,T){var L=B;let F=S[L(2086)].encode[L(2811)](this,R),U=F[L(2192)]("base64"),N=[L(2731)+T[L(267)]+"-----"];for(let H=0;H<U[L(2405)];H+=64)N[L(2764)](U[L(352)](H,H+64));return N[L(2764)](L(1618)+T[L(267)]+L(2656)),N[L(1814)](` `)}},4590:function(w,Q,M){(function(B){"use strict";var D=Tt;function S(fe,G){var Y=Tt;if(!fe)throw new Error(G||Y(1176))}function P(fe,G){var Y=Tt;function W(){}fe[Y(979)]=G,W[Y(2086)]=G[Y(2086)],fe.prototype=new W,fe[Y(2086)][Y(1630)]=fe}function R(fe,G,Y){var W=Tt;if(R[W(2672)](fe))return fe;this[W(1746)]=0,this.words=null,this[W(2405)]=0,(this[W(1230)]=null)!==fe&&(G!=="le"&&G!=="be"||(Y=G,G=10),this[W(1352)](fe||0,G||10,Y||"be"))}var T;typeof w=="object"?w[D(2726)]=R:B.BN=R,(R.BN=R)[D(642)]=26;try{T=(typeof window<"u"&&window[D(964)]!==void 0?window:M(80950)).Buffer}catch{}function L(fe,G){var Y=D;return fe=fe[Y(2282)](G),65<=fe&&fe<=70?fe-55:97<=fe&&fe<=102?fe-87:fe-48&15}function F(fe,G,Y){var W=L(fe,Y);return G<=Y-1&&(W|=L(fe,Y-1)<<4),W}function U(fe,G,Y,W){for(var O=D,me=0,re=Math[O(1817)](fe[O(2405)],Y),se=G;se<re;se++)var ce=fe[O(2282)](se)-48,me=me*W+(49<=ce?ce-49+10:17<=ce?ce-17+10:ce);return me}R[D(2672)]=function(fe){var G=D;return fe instanceof R||fe!==null&&G(2538)==typeof fe&&fe[G(1630)][G(642)]===R[G(642)]&&Array[G(2021)](fe[G(1157)])},R[D(1093)]=function(fe,G){return 0<fe.cmp(G)?fe:G},R[D(1817)]=function(fe,G){var Y=D;return fe[Y(637)](G)<0?fe:G},R[D(2086)][D(1352)]=function(fe,G,Y){var W=D;if(W(647)==typeof fe)return this[W(746)](fe,G,Y);if(W(2538)==typeof fe)return this[W(845)](fe,G,Y);S((G=W(1996)===G?16:G)===(0|G)&&2<=G&&G<=36);var O=0;(fe=fe[W(2192)]()[W(2489)](/\s+/g,""))[0]==="-"&&(O++,this[W(1746)]=1),O<fe[W(2405)]&&(G===16?this._parseHex(fe,O,Y):(this[W(1534)](fe,G,O),Y==="le"&&this._initArray(this[W(1780)](),G,Y)))},R.prototype._initNumber=function(fe,G,Y){var W=D;fe<0&&(this[W(1746)]=1,fe=-fe),fe<67108864?(this[W(1157)]=[67108863&fe],this[W(2405)]=1):fe<4503599627370496?(this.words=[67108863&fe,fe/67108864&67108863],this[W(2405)]=2):(S(fe<9007199254740992),this[W(1157)]=[67108863&fe,fe/67108864&67108863,1],this[W(2405)]=3),Y==="le"&&this[W(845)](this[W(1780)](),G,Y)},R[D(2086)]._initArray=function(fe,G,Y){var W=D;if(S(typeof fe[W(2405)]=="number"),fe[W(2405)]<=0)return this[W(1157)]=[0],this.length=1,this;this.length=Math[W(235)](fe[W(2405)]/3),this[W(1157)]=new Array(this[W(2405)]);for(var O,re,se=0;se<this[W(2405)];se++)this[W(1157)][se]=0;var ce=0;if(Y==="be")for(se=fe[W(2405)]-1,O=0;0<=se;se-=3)re=fe[se]|fe[se-1]<<8|fe[se-2]<<16,this[W(1157)][O]|=re<<ce&67108863,this[W(1157)][O+1]=re>>>26-ce&67108863,26<=(ce+=24)&&(ce-=26,O++);else if(Y==="le")for(O=se=0;se<fe[W(2405)];se+=3)re=fe[se]|fe[se+1]<<8|fe[se+2]<<16,this[W(1157)][O]|=re<<ce&67108863,this[W(1157)][O+1]=re>>>26-ce&67108863,26<=(ce+=24)&&(ce-=26,O++);return this[W(1282)]()},R[D(2086)][D(1936)]=function(fe,G,Y){var W=D;this[W(2405)]=Math.ceil((fe[W(2405)]-G)/6),this.words=new Array(this[W(2405)]);for(var O=0;O<this[W(2405)];O++)this[W(1157)][O]=0;var re,se=0,ce=0;if(Y==="be")for(O=fe[W(2405)]-1;G<=O;O-=2)re=F(fe,G,O)<<se,this.words[ce]|=67108863&re,18<=se?(se-=18,this[W(1157)][ce+=1]|=re>>>26):se+=8;else for(O=(fe[W(2405)]-G)%2==0?G+1:G;O<fe[W(2405)];O+=2)re=F(fe,G,O)<<se,this[W(1157)][ce]|=67108863&re,18<=se?(se-=18,this.words[ce+=1]|=re>>>26):se+=8;this[W(1282)]()},R.prototype[D(1534)]=function(fe,G,Y){var W=D;this.words=[0];for(var O=0,re=this[W(2405)]=1;re<=67108863;re*=G)O++;for(var re=re/G|0,se=fe.length-Y,ce=se%--O,me=Math[W(1817)](se,se-ce)+Y,Ce=0,ye=Y;ye<me;ye+=O)Ce=U(fe,ye,ye+O,G),this[W(2548)](re),this[W(1157)][0]+Ce<67108864?this[W(1157)][0]+=Ce:this[W(2209)](Ce);if(ce!=0){for(var Be=1,Ce=U(fe,ye,fe.length,G),ye=0;ye<ce;ye++)Be*=G;this[W(2548)](Be),this[W(1157)][0]+Ce<67108864?this[W(1157)][0]+=Ce:this[W(2209)](Ce)}this.strip()},R.prototype[D(1973)]=function(fe){var G=D;fe[G(1157)]=new Array(this[G(2405)]);for(var Y=0;Y<this[G(2405)];Y++)fe[G(1157)][Y]=this[G(1157)][Y];fe.length=this.length,fe[G(1746)]=this[G(1746)],fe.red=this.red},R.prototype.clone=function(){var fe=D,G=new R(null);return this[fe(1973)](G),G},R[D(2086)]._expand=function(fe){for(var G=D;this[G(2405)]<fe;)this.words[this[G(2405)]++]=0;return this},R[D(2086)].strip=function(){for(var fe=D;1<this.length&&this.words[this[fe(2405)]-1]===0;)this[fe(2405)]--;return this[fe(1088)]()},R[D(2086)][D(1088)]=function(){var fe=D;return this[fe(2405)]===1&&this.words[0]===0&&(this.negative=0),this},R.prototype.inspect=function(){var fe=D;return(this.red?fe(652):fe(398))+this[fe(2192)](16)+">"};var N=["","0","00",D(2283),D(2629),"00000","000000",D(2328),"00000000","000000000",D(521),D(179),"000000000000",D(2369),D(2705),D(1706),D(1482),D(2566),D(1220),D(530),D(480),D(2305),"0000000000000000000000",D(1175),"000000000000000000000000",D(1276)],H=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],J=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function K(fe,G,Y){var W=D;Y[W(1746)]=G[W(1746)]^fe[W(1746)];var O=fe[W(2405)]+G[W(2405)]|0,O=(Y.length=O)-1|0,re=(ce=(0|fe.words[0])*(0|G[W(1157)][0]))/67108864|0;Y.words[0]=67108863&ce;for(var se=1;se<O;se++){for(var ce,me=re>>>26,Ce=67108863&re,ye=Math.min(se,G[W(2405)]-1),Be=Math[W(1093)](0,se-fe[W(2405)]+1);Be<=ye;Be++)me+=(ce=(0|fe.words[se-Be|0])*(0|G[W(1157)][Be])+Ce)/67108864|0,Ce=67108863&ce;Y[W(1157)][se]=0|Ce,re=0|me}return re!==0?Y[W(1157)][se]=0|re:Y[W(2405)]--,Y[W(1282)]()}R[D(2086)].toString=function(fe,G){var Y=D;if(G=0|G||1,(fe=fe||10)===16||Y(1996)===fe){for(var W="",O=0,re=0,se=0;se<this[Y(2405)];se++){var ce=this[Y(1157)][se],me=(16777215&(ce<<O|re)).toString(16),W=(re=ce>>>24-O&16777215)!=0||se!==this[Y(2405)]-1?N[6-me[Y(2405)]]+me+W:me+W;26<=(O+=2)&&(O-=26,se--)}for(re!==0&&(W=re[Y(2192)](16)+W);W[Y(2405)]%G!=0;)W="0"+W;return this[Y(1746)]!==0?"-"+W:W}if(fe===(0|fe)&&2<=fe&&fe<=36){var Ce=H[fe],ye=J[fe];for(W="",(Be=this.clone())[Y(1746)]=0;!Be[Y(1072)]();){var Be,Me=Be.modn(ye)[Y(2192)](fe);W=(Be=Be.idivn(ye)).isZero()?Me+W:N[Ce-Me[Y(2405)]]+Me+W}for(this[Y(1072)]()&&(W="0"+W);W.length%G!=0;)W="0"+W;return this.negative!==0?"-"+W:W}S(!1,"Base should be between 2 and 36")},R[D(2086)][D(2277)]=function(){var fe=D,G=this[fe(1157)][0];return this.length===2?G+=67108864*this[fe(1157)][1]:this[fe(2405)]===3&&this[fe(1157)][2]===1?G+=4503599627370496+67108864*this[fe(1157)][1]:2<this[fe(2405)]&&S(!1,fe(909)),this[fe(1746)]!==0?-G:G},R[D(2086)][D(1130)]=function(){var fe=D;return this[fe(2192)](16)},R[D(2086)][D(710)]=function(fe,G){var Y=D;return S(T!==void 0),this[Y(1298)](T,fe,G)},R[D(2086)][D(1780)]=function(fe,G){var Y=D;return this[Y(1298)](Array,fe,G)},R[D(2086)][D(1298)]=function(fe,G,me){var W=D,O,re,se=this[W(2127)](),ce=me||Math.max(1,se),me=(S(se<=ce,W(2424)),S(0<ce,W(181)),this[W(1282)](),G==="le"),Ce=new fe(ce),ye=this[W(914)]();if(me){for(re=0;!ye[W(1072)]();re++)O=ye.andln(255),ye[W(586)](8),Ce[re]=O;for(;re<ce;re++)Ce[re]=0}else{for(re=0;re<ce-se;re++)Ce[re]=0;for(re=0;!ye[W(1072)]();re++)O=ye.andln(255),ye.iushrn(8),Ce[ce-re-1]=O}return Ce},Math.clz32?R[D(2086)]._countBits=function(fe){return 32-Math.clz32(fe)}:R[D(2086)]._countBits=function(fe){var G=0;return 4096<=fe&&(G+=13,fe>>>=13),64<=fe&&(G+=7,fe>>>=7),8<=fe&&(G+=4,fe>>>=4),2<=fe&&(G+=2,fe>>>=2),G+fe},R[D(2086)][D(1577)]=function(fe){if(fe===0)return 26;var G=0;return(8191&fe)==0&&(G+=13,fe>>>=13),(127&fe)==0&&(G+=7,fe>>>=7),(15&fe)==0&&(G+=4,fe>>>=4),(3&fe)==0&&(G+=2,fe>>>=2),(1&fe)==0&&G++,G},R[D(2086)].bitLength=function(){var fe=D,G=this[fe(1157)][this[fe(2405)]-1],G=this[fe(1701)](G);return 26*(this[fe(2405)]-1)+G},R[D(2086)][D(2348)]=function(){var fe=D;if(this[fe(1072)]())return 0;for(var G=0,Y=0;Y<this[fe(2405)];Y++){var W=this[fe(1577)](this.words[Y]);if(G+=W,W!==26)break}return G},R[D(2086)][D(2127)]=function(){var fe=D;return Math[fe(235)](this[fe(1787)]()/8)},R[D(2086)].toTwos=function(fe){var G=D;return this[G(1746)]!==0?this.abs()[G(1039)](fe)[G(2755)](1):this[G(914)]()},R[D(2086)][D(2095)]=function(fe){var G=D;return this[G(360)](fe-1)?this[G(2800)](fe).iaddn(1)[G(1232)]():this[G(914)]()},R.prototype.isNeg=function(){var fe=D;return this[fe(1746)]!==0},R[D(2086)][D(770)]=function(){return this.clone().ineg()},R.prototype.ineg=function(){var fe=D;return this[fe(1072)]()||(this[fe(1746)]^=1),this},R.prototype[D(1416)]=function(fe){for(var G=D;this[G(2405)]<fe[G(2405)];)this.words[this[G(2405)]++]=0;for(var Y=0;Y<fe[G(2405)];Y++)this[G(1157)][Y]=this[G(1157)][Y]|fe[G(1157)][Y];return this.strip()},R.prototype[D(2085)]=function(fe){var G=D;return S((this[G(1746)]|fe.negative)==0),this[G(1416)](fe)},R.prototype.or=function(fe){var G=D;return this[G(2405)]>fe[G(2405)]?this.clone().ior(fe):fe[G(914)]()[G(2085)](this)},R.prototype.uor=function(fe){var G=D;return this.length>fe[G(2405)]?this[G(914)]()[G(1416)](fe):fe.clone()[G(1416)](this)},R.prototype.iuand=function(fe){for(var G=D,Y=this.length>fe.length?fe:this,W=0;W<Y[G(2405)];W++)this.words[W]=this.words[W]&fe[G(1157)][W];return this.length=Y[G(2405)],this[G(1282)]()},R[D(2086)][D(1757)]=function(fe){var G=D;return S((this.negative|fe[G(1746)])==0),this[G(1501)](fe)},R[D(2086)][D(2429)]=function(fe){var G=D;return this[G(2405)]>fe[G(2405)]?this[G(914)]()[G(1757)](fe):fe[G(914)]()[G(1757)](this)},R[D(2086)].uand=function(fe){var G=D;return this[G(2405)]>fe[G(2405)]?this[G(914)]()[G(1501)](fe):fe[G(914)]()[G(1501)](this)},R[D(2086)][D(1313)]=function(fe){for(var G=D,Y,W=this[G(2405)]>fe[G(2405)]?(Y=this,fe):(Y=fe,this),O=0;O<W[G(2405)];O++)this[G(1157)][O]=Y[G(1157)][O]^W[G(1157)][O];if(this!==Y)for(;O<Y[G(2405)];O++)this[G(1157)][O]=Y[G(1157)][O];return this[G(2405)]=Y[G(2405)],this[G(1282)]()},R[D(2086)][D(2425)]=function(fe){var G=D;return S((this[G(1746)]|fe[G(1746)])==0),this[G(1313)](fe)},R.prototype[D(2216)]=function(fe){var G=D;return this.length>fe[G(2405)]?this.clone().ixor(fe):fe[G(914)]().ixor(this)},R[D(2086)][D(1444)]=function(fe){var G=D;return this[G(2405)]>fe[G(2405)]?this[G(914)]().iuxor(fe):fe[G(914)]()[G(1313)](this)},R.prototype[D(1039)]=function(W){var G=D;S(typeof W=="number"&&0<=W);var Y=0|Math[G(235)](W/26),W=W%26;this[G(559)](Y),0<W&&Y--;for(var O=0;O<Y;O++)this[G(1157)][O]=67108863&~this.words[O];return 0<W&&(this[G(1157)][O]=~this[G(1157)][O]&67108863>>26-W),this.strip()},R[D(2086)][D(2800)]=function(fe){var G=D;return this[G(914)]()[G(1039)](fe)},R[D(2086)][D(1384)]=function(O,G){var Y=D;S(Y(647)==typeof O&&0<=O);var W=O/26|0,O=O%26;return this[Y(559)](1+W),this[Y(1157)][W]=G?this[Y(1157)][W]|1<<O:this[Y(1157)][W]&~(1<<O),this[Y(1282)]()},R[D(2086)].iadd=function(fe){var G=D,Y,W;if(this[G(1746)]!==0&&fe.negative===0)return this.negative=0,Y=this[G(1155)](fe),this[G(1746)]^=1,this[G(1088)]();if(this[G(1746)]===0&&fe[G(1746)]!==0)return fe[G(1746)]=0,Y=this[G(1155)](fe),fe[G(1746)]=1,Y._normSign();for(var O=this.length>fe[G(2405)]?(W=this,fe):(W=fe,this),re=0,se=0;se<O[G(2405)];se++)Y=(0|W.words[se])+(0|O[G(1157)][se])+re,this[G(1157)][se]=67108863&Y,re=Y>>>26;for(;re!==0&&se<W.length;se++)Y=(0|W[G(1157)][se])+re,this[G(1157)][se]=67108863&Y,re=Y>>>26;if(this.length=W[G(2405)],re!==0)this.words[this[G(2405)]]=re,this[G(2405)]++;else if(W!==this)for(;se<W[G(2405)];se++)this.words[se]=W.words[se];return this},R.prototype[D(1002)]=function(fe){var G=D,Y;return fe[G(1746)]!==0&&this[G(1746)]===0?(fe[G(1746)]=0,Y=this[G(713)](fe),fe.negative^=1,Y):fe[G(1746)]===0&&this[G(1746)]!==0?(this[G(1746)]=0,Y=fe[G(713)](this),this[G(1746)]=1,Y):this[G(2405)]>fe[G(2405)]?this[G(914)]().iadd(fe):fe[G(914)]()[G(2553)](this)},R.prototype.isub=function(fe){var G=D,Y;if(fe.negative!==0)return fe[G(1746)]=0,Y=this[G(2553)](fe),fe.negative=1,Y[G(1088)]();if(this[G(1746)]!==0)return this[G(1746)]=0,this[G(2553)](fe),this.negative=1,this[G(1088)]();var W,O=this[G(637)](fe);if(O===0)return this.negative=0,this.length=1,this[G(1157)][0]=0,this;for(var re=0<O?(W=this,fe):(W=fe,this),se=0,ce=0;ce<re[G(2405)];ce++)se=(Y=(0|W[G(1157)][ce])-(0|re[G(1157)][ce])+se)>>26,this[G(1157)][ce]=67108863&Y;for(;se!==0&&ce<W[G(2405)];ce++)se=(Y=(0|W[G(1157)][ce])+se)>>26,this.words[ce]=67108863&Y;if(se===0&&ce<W[G(2405)]&&W!==this)for(;ce<W[G(2405)];ce++)this[G(1157)][ce]=W[G(1157)][ce];return this[G(2405)]=Math.max(this[G(2405)],ce),W!==this&&(this[G(1746)]=1),this.strip()},R[D(2086)].sub=function(fe){var G=D;return this[G(914)]()[G(1155)](fe)};var X=function(Le,St,Y){var W=D,ze=Le[W(1157)],Pt=St[W(1157)],O=Y.words,Kt=0|ze[0],Vt=8191&Kt,Kt=Kt>>>13,Ei=0|ze[1],Ht=8191&Ei,Ei=Ei>>>13,se=0|ze[2],re=8191&se,se=se>>>13,me=0|ze[3],ce=8191&me,me=me>>>13,ye=0|ze[4],Ce=8191&ye,ye=ye>>>13,Me=0|ze[5],Be=8191&Me,Me=Me>>>13,ke=0|ze[6],He=8191&ke,ke=ke>>>13,Pe=0|ze[7],Ne=8191&Pe,Pe=Pe>>>13,Fe=0|ze[8],we=8191&Fe,Fe=Fe>>>13,ze=0|ze[9],Ue=8191&ze,ze=ze>>>13,pi=0|Pt[0],Fi=8191&pi,pi=pi>>>13,ui=0|Pt[1],di=8191&ui,ui=ui>>>13,bt=0|Pt[2],gt=8191&bt,bt=bt>>>13,je=0|Pt[3],Je=8191&je,je=je>>>13,rt=0|Pt[4],Ze=8191&rt,rt=rt>>>13,yt=0|Pt[5],At=8191&yt,yt=yt>>>13,ft=0|Pt[6],at=8191&ft,ft=ft>>>13,et=0|Pt[7],_t=8191&et,et=et>>>13,zt=0|Pt[8],pt=8191&zt,zt=zt>>>13,Pt=0|Pt[9],It=8191&Pt,Pt=Pt>>>13,St=(Y[W(1746)]=Le[W(1746)]^St[W(1746)],Y[W(2405)]=19,(0+Math[W(1759)](Vt,Fi)|0)+((8191&(Le=Math.imul(Vt,pi)+Math[W(1759)](Kt,Fi)|0))<<13)|0),Ot=(Math.imul(Kt,pi)+(Le>>>13)|0)+(St>>>26)|0,dt=(St&=67108863,Math.imul(Ht,Fi)),Le=Math[W(1759)](Ht,pi)+Math[W(1759)](Ei,Fi)|0,_e=Math[W(1759)](Ei,pi),Oe=(Ot+(dt+Math[W(1759)](Vt,di)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Vt,ui)|0)+Math[W(1759)](Kt,di)|0))<<13)|0,vt=(Ot=((_e+Math[W(1759)](Kt,ui)|0)+(Le>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,dt=Math[W(1759)](re,Fi),Le=Math.imul(re,pi)+Math[W(1759)](se,Fi)|0,_e=Math.imul(se,pi),dt=dt+Math[W(1759)](Ht,di)|0,Le=(Le+Math[W(1759)](Ht,ui)|0)+Math[W(1759)](Ei,di)|0,_e=_e+Math.imul(Ei,ui)|0,(Ot+(dt+Math[W(1759)](Vt,gt)|0)|0)+((8191&(Le=(Le+Math.imul(Vt,bt)|0)+Math[W(1759)](Kt,gt)|0))<<13)|0),wt=(Ot=((_e+Math[W(1759)](Kt,bt)|0)+(Le>>>13)|0)+(vt>>>26)|0,vt&=67108863,dt=Math.imul(ce,Fi),Le=Math.imul(ce,pi)+Math[W(1759)](me,Fi)|0,_e=Math[W(1759)](me,pi),dt=dt+Math[W(1759)](re,di)|0,Le=(Le+Math.imul(re,ui)|0)+Math[W(1759)](se,di)|0,_e=_e+Math[W(1759)](se,ui)|0,dt=dt+Math[W(1759)](Ht,gt)|0,Le=(Le+Math[W(1759)](Ht,bt)|0)+Math[W(1759)](Ei,gt)|0,_e=_e+Math[W(1759)](Ei,bt)|0,(Ot+(dt+Math[W(1759)](Vt,Je)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Vt,je)|0)+Math[W(1759)](Kt,Je)|0))<<13)|0),Bt=(Ot=((_e+Math[W(1759)](Kt,je)|0)+(Le>>>13)|0)+(wt>>>26)|0,wt&=67108863,dt=Math.imul(Ce,Fi),Le=Math.imul(Ce,pi)+Math[W(1759)](ye,Fi)|0,_e=Math[W(1759)](ye,pi),dt=dt+Math[W(1759)](ce,di)|0,Le=(Le+Math[W(1759)](ce,ui)|0)+Math.imul(me,di)|0,_e=_e+Math.imul(me,ui)|0,dt=dt+Math.imul(re,gt)|0,Le=(Le+Math.imul(re,bt)|0)+Math[W(1759)](se,gt)|0,_e=_e+Math[W(1759)](se,bt)|0,dt=dt+Math[W(1759)](Ht,Je)|0,Le=(Le+Math[W(1759)](Ht,je)|0)+Math[W(1759)](Ei,Je)|0,_e=_e+Math[W(1759)](Ei,je)|0,(Ot+(dt+Math[W(1759)](Vt,Ze)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Vt,rt)|0)+Math[W(1759)](Kt,Ze)|0))<<13)|0),bi=(Ot=((_e+Math[W(1759)](Kt,rt)|0)+(Le>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,dt=Math[W(1759)](Be,Fi),Le=Math[W(1759)](Be,pi)+Math.imul(Me,Fi)|0,_e=Math[W(1759)](Me,pi),dt=dt+Math[W(1759)](Ce,di)|0,Le=(Le+Math[W(1759)](Ce,ui)|0)+Math[W(1759)](ye,di)|0,_e=_e+Math[W(1759)](ye,ui)|0,dt=dt+Math[W(1759)](ce,gt)|0,Le=(Le+Math[W(1759)](ce,bt)|0)+Math[W(1759)](me,gt)|0,_e=_e+Math.imul(me,bt)|0,dt=dt+Math[W(1759)](re,Je)|0,Le=(Le+Math[W(1759)](re,je)|0)+Math[W(1759)](se,Je)|0,_e=_e+Math.imul(se,je)|0,dt=dt+Math.imul(Ht,Ze)|0,Le=(Le+Math.imul(Ht,rt)|0)+Math[W(1759)](Ei,Ze)|0,_e=_e+Math[W(1759)](Ei,rt)|0,(Ot+(dt+Math.imul(Vt,At)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Vt,yt)|0)+Math[W(1759)](Kt,At)|0))<<13)|0),nr=(Ot=((_e+Math[W(1759)](Kt,yt)|0)+(Le>>>13)|0)+(bi>>>26)|0,bi&=67108863,dt=Math.imul(He,Fi),Le=Math[W(1759)](He,pi)+Math.imul(ke,Fi)|0,_e=Math[W(1759)](ke,pi),dt=dt+Math.imul(Be,di)|0,Le=(Le+Math[W(1759)](Be,ui)|0)+Math[W(1759)](Me,di)|0,_e=_e+Math[W(1759)](Me,ui)|0,dt=dt+Math[W(1759)](Ce,gt)|0,Le=(Le+Math[W(1759)](Ce,bt)|0)+Math.imul(ye,gt)|0,_e=_e+Math.imul(ye,bt)|0,dt=dt+Math[W(1759)](ce,Je)|0,Le=(Le+Math[W(1759)](ce,je)|0)+Math[W(1759)](me,Je)|0,_e=_e+Math.imul(me,je)|0,dt=dt+Math[W(1759)](re,Ze)|0,Le=(Le+Math[W(1759)](re,rt)|0)+Math[W(1759)](se,Ze)|0,_e=_e+Math.imul(se,rt)|0,dt=dt+Math[W(1759)](Ht,At)|0,Le=(Le+Math[W(1759)](Ht,yt)|0)+Math[W(1759)](Ei,At)|0,_e=_e+Math[W(1759)](Ei,yt)|0,(Ot+(dt+Math[W(1759)](Vt,at)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Vt,ft)|0)+Math[W(1759)](Kt,at)|0))<<13)|0),Ai=(Ot=((_e+Math[W(1759)](Kt,ft)|0)+(Le>>>13)|0)+(nr>>>26)|0,nr&=67108863,dt=Math[W(1759)](Ne,Fi),Le=Math[W(1759)](Ne,pi)+Math[W(1759)](Pe,Fi)|0,_e=Math[W(1759)](Pe,pi),dt=dt+Math.imul(He,di)|0,Le=(Le+Math[W(1759)](He,ui)|0)+Math.imul(ke,di)|0,_e=_e+Math[W(1759)](ke,ui)|0,dt=dt+Math.imul(Be,gt)|0,Le=(Le+Math[W(1759)](Be,bt)|0)+Math[W(1759)](Me,gt)|0,_e=_e+Math.imul(Me,bt)|0,dt=dt+Math[W(1759)](Ce,Je)|0,Le=(Le+Math[W(1759)](Ce,je)|0)+Math[W(1759)](ye,Je)|0,_e=_e+Math.imul(ye,je)|0,dt=dt+Math.imul(ce,Ze)|0,Le=(Le+Math[W(1759)](ce,rt)|0)+Math[W(1759)](me,Ze)|0,_e=_e+Math[W(1759)](me,rt)|0,dt=dt+Math[W(1759)](re,At)|0,Le=(Le+Math[W(1759)](re,yt)|0)+Math.imul(se,At)|0,_e=_e+Math[W(1759)](se,yt)|0,dt=dt+Math[W(1759)](Ht,at)|0,Le=(Le+Math[W(1759)](Ht,ft)|0)+Math[W(1759)](Ei,at)|0,_e=_e+Math[W(1759)](Ei,ft)|0,(Ot+(dt+Math[W(1759)](Vt,_t)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Vt,et)|0)+Math[W(1759)](Kt,_t)|0))<<13)|0),xi=(Ot=((_e+Math[W(1759)](Kt,et)|0)+(Le>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,dt=Math[W(1759)](we,Fi),Le=Math[W(1759)](we,pi)+Math.imul(Fe,Fi)|0,_e=Math[W(1759)](Fe,pi),dt=dt+Math.imul(Ne,di)|0,Le=(Le+Math.imul(Ne,ui)|0)+Math[W(1759)](Pe,di)|0,_e=_e+Math[W(1759)](Pe,ui)|0,dt=dt+Math[W(1759)](He,gt)|0,Le=(Le+Math[W(1759)](He,bt)|0)+Math[W(1759)](ke,gt)|0,_e=_e+Math[W(1759)](ke,bt)|0,dt=dt+Math[W(1759)](Be,Je)|0,Le=(Le+Math[W(1759)](Be,je)|0)+Math[W(1759)](Me,Je)|0,_e=_e+Math[W(1759)](Me,je)|0,dt=dt+Math[W(1759)](Ce,Ze)|0,Le=(Le+Math[W(1759)](Ce,rt)|0)+Math[W(1759)](ye,Ze)|0,_e=_e+Math[W(1759)](ye,rt)|0,dt=dt+Math[W(1759)](ce,At)|0,Le=(Le+Math[W(1759)](ce,yt)|0)+Math.imul(me,At)|0,_e=_e+Math.imul(me,yt)|0,dt=dt+Math[W(1759)](re,at)|0,Le=(Le+Math[W(1759)](re,ft)|0)+Math[W(1759)](se,at)|0,_e=_e+Math[W(1759)](se,ft)|0,dt=dt+Math[W(1759)](Ht,_t)|0,Le=(Le+Math[W(1759)](Ht,et)|0)+Math[W(1759)](Ei,_t)|0,_e=_e+Math[W(1759)](Ei,et)|0,(Ot+(dt+Math[W(1759)](Vt,pt)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Vt,zt)|0)+Math[W(1759)](Kt,pt)|0))<<13)|0),Fi=(Ot=((_e+Math.imul(Kt,zt)|0)+(Le>>>13)|0)+(xi>>>26)|0,xi&=67108863,dt=Math[W(1759)](Ue,Fi),Le=Math[W(1759)](Ue,pi)+Math[W(1759)](ze,Fi)|0,_e=Math.imul(ze,pi),dt=dt+Math[W(1759)](we,di)|0,Le=(Le+Math[W(1759)](we,ui)|0)+Math[W(1759)](Fe,di)|0,_e=_e+Math[W(1759)](Fe,ui)|0,dt=dt+Math.imul(Ne,gt)|0,Le=(Le+Math.imul(Ne,bt)|0)+Math.imul(Pe,gt)|0,_e=_e+Math[W(1759)](Pe,bt)|0,dt=dt+Math[W(1759)](He,Je)|0,Le=(Le+Math[W(1759)](He,je)|0)+Math[W(1759)](ke,Je)|0,_e=_e+Math[W(1759)](ke,je)|0,dt=dt+Math.imul(Be,Ze)|0,Le=(Le+Math[W(1759)](Be,rt)|0)+Math[W(1759)](Me,Ze)|0,_e=_e+Math[W(1759)](Me,rt)|0,dt=dt+Math[W(1759)](Ce,At)|0,Le=(Le+Math.imul(Ce,yt)|0)+Math[W(1759)](ye,At)|0,_e=_e+Math[W(1759)](ye,yt)|0,dt=dt+Math[W(1759)](ce,at)|0,Le=(Le+Math[W(1759)](ce,ft)|0)+Math[W(1759)](me,at)|0,_e=_e+Math[W(1759)](me,ft)|0,dt=dt+Math[W(1759)](re,_t)|0,Le=(Le+Math[W(1759)](re,et)|0)+Math.imul(se,_t)|0,_e=_e+Math[W(1759)](se,et)|0,dt=dt+Math[W(1759)](Ht,pt)|0,Le=(Le+Math[W(1759)](Ht,zt)|0)+Math[W(1759)](Ei,pt)|0,_e=_e+Math.imul(Ei,zt)|0,(Ot+(dt+Math.imul(Vt,It)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Vt,Pt)|0)+Math[W(1759)](Kt,It)|0))<<13)|0),pi=(Ot=((_e+Math[W(1759)](Kt,Pt)|0)+(Le>>>13)|0)+(Fi>>>26)|0,Fi&=67108863,dt=Math[W(1759)](Ue,di),Le=Math.imul(Ue,ui)+Math[W(1759)](ze,di)|0,_e=Math.imul(ze,ui),dt=dt+Math[W(1759)](we,gt)|0,Le=(Le+Math[W(1759)](we,bt)|0)+Math[W(1759)](Fe,gt)|0,_e=_e+Math[W(1759)](Fe,bt)|0,dt=dt+Math[W(1759)](Ne,Je)|0,Le=(Le+Math[W(1759)](Ne,je)|0)+Math[W(1759)](Pe,Je)|0,_e=_e+Math[W(1759)](Pe,je)|0,dt=dt+Math.imul(He,Ze)|0,Le=(Le+Math[W(1759)](He,rt)|0)+Math[W(1759)](ke,Ze)|0,_e=_e+Math[W(1759)](ke,rt)|0,dt=dt+Math[W(1759)](Be,At)|0,Le=(Le+Math[W(1759)](Be,yt)|0)+Math[W(1759)](Me,At)|0,_e=_e+Math.imul(Me,yt)|0,dt=dt+Math[W(1759)](Ce,at)|0,Le=(Le+Math[W(1759)](Ce,ft)|0)+Math.imul(ye,at)|0,_e=_e+Math[W(1759)](ye,ft)|0,dt=dt+Math.imul(ce,_t)|0,Le=(Le+Math.imul(ce,et)|0)+Math[W(1759)](me,_t)|0,_e=_e+Math[W(1759)](me,et)|0,dt=dt+Math[W(1759)](re,pt)|0,Le=(Le+Math[W(1759)](re,zt)|0)+Math.imul(se,pt)|0,_e=_e+Math.imul(se,zt)|0,(Ot+(dt+Math[W(1759)](Ht,It)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Ht,Pt)|0)+Math.imul(Ei,It)|0))<<13)|0),Vt=(Ot=((_e+Math[W(1759)](Ei,Pt)|0)+(Le>>>13)|0)+(pi>>>26)|0,pi&=67108863,dt=Math[W(1759)](Ue,gt),Le=Math[W(1759)](Ue,bt)+Math[W(1759)](ze,gt)|0,_e=Math[W(1759)](ze,bt),dt=dt+Math[W(1759)](we,Je)|0,Le=(Le+Math[W(1759)](we,je)|0)+Math.imul(Fe,Je)|0,_e=_e+Math.imul(Fe,je)|0,dt=dt+Math[W(1759)](Ne,Ze)|0,Le=(Le+Math[W(1759)](Ne,rt)|0)+Math.imul(Pe,Ze)|0,_e=_e+Math[W(1759)](Pe,rt)|0,dt=dt+Math[W(1759)](He,At)|0,Le=(Le+Math.imul(He,yt)|0)+Math[W(1759)](ke,At)|0,_e=_e+Math.imul(ke,yt)|0,dt=dt+Math[W(1759)](Be,at)|0,Le=(Le+Math.imul(Be,ft)|0)+Math[W(1759)](Me,at)|0,_e=_e+Math[W(1759)](Me,ft)|0,dt=dt+Math.imul(Ce,_t)|0,Le=(Le+Math[W(1759)](Ce,et)|0)+Math.imul(ye,_t)|0,_e=_e+Math[W(1759)](ye,et)|0,dt=dt+Math.imul(ce,pt)|0,Le=(Le+Math[W(1759)](ce,zt)|0)+Math[W(1759)](me,pt)|0,_e=_e+Math.imul(me,zt)|0,(Ot+(dt+Math[W(1759)](re,It)|0)|0)+((8191&(Le=(Le+Math[W(1759)](re,Pt)|0)+Math[W(1759)](se,It)|0))<<13)|0),Kt=(Ot=((_e+Math[W(1759)](se,Pt)|0)+(Le>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,dt=Math.imul(Ue,Je),Le=Math.imul(Ue,je)+Math[W(1759)](ze,Je)|0,_e=Math[W(1759)](ze,je),dt=dt+Math[W(1759)](we,Ze)|0,Le=(Le+Math[W(1759)](we,rt)|0)+Math[W(1759)](Fe,Ze)|0,_e=_e+Math[W(1759)](Fe,rt)|0,dt=dt+Math[W(1759)](Ne,At)|0,Le=(Le+Math[W(1759)](Ne,yt)|0)+Math[W(1759)](Pe,At)|0,_e=_e+Math.imul(Pe,yt)|0,dt=dt+Math[W(1759)](He,at)|0,Le=(Le+Math[W(1759)](He,ft)|0)+Math[W(1759)](ke,at)|0,_e=_e+Math[W(1759)](ke,ft)|0,dt=dt+Math.imul(Be,_t)|0,Le=(Le+Math[W(1759)](Be,et)|0)+Math.imul(Me,_t)|0,_e=_e+Math[W(1759)](Me,et)|0,dt=dt+Math[W(1759)](Ce,pt)|0,Le=(Le+Math[W(1759)](Ce,zt)|0)+Math.imul(ye,pt)|0,_e=_e+Math[W(1759)](ye,zt)|0,(Ot+(dt+Math[W(1759)](ce,It)|0)|0)+((8191&(Le=(Le+Math[W(1759)](ce,Pt)|0)+Math[W(1759)](me,It)|0))<<13)|0),di=(Ot=((_e+Math[W(1759)](me,Pt)|0)+(Le>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,dt=Math[W(1759)](Ue,Ze),Le=Math[W(1759)](Ue,rt)+Math[W(1759)](ze,Ze)|0,_e=Math[W(1759)](ze,rt),dt=dt+Math[W(1759)](we,At)|0,Le=(Le+Math[W(1759)](we,yt)|0)+Math.imul(Fe,At)|0,_e=_e+Math.imul(Fe,yt)|0,dt=dt+Math.imul(Ne,at)|0,Le=(Le+Math[W(1759)](Ne,ft)|0)+Math[W(1759)](Pe,at)|0,_e=_e+Math[W(1759)](Pe,ft)|0,dt=dt+Math[W(1759)](He,_t)|0,Le=(Le+Math[W(1759)](He,et)|0)+Math[W(1759)](ke,_t)|0,_e=_e+Math.imul(ke,et)|0,dt=dt+Math[W(1759)](Be,pt)|0,Le=(Le+Math.imul(Be,zt)|0)+Math[W(1759)](Me,pt)|0,_e=_e+Math.imul(Me,zt)|0,(Ot+(dt+Math[W(1759)](Ce,It)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Ce,Pt)|0)+Math[W(1759)](ye,It)|0))<<13)|0),ui=(Ot=((_e+Math.imul(ye,Pt)|0)+(Le>>>13)|0)+(di>>>26)|0,di&=67108863,dt=Math[W(1759)](Ue,At),Le=Math.imul(Ue,yt)+Math[W(1759)](ze,At)|0,_e=Math[W(1759)](ze,yt),dt=dt+Math[W(1759)](we,at)|0,Le=(Le+Math.imul(we,ft)|0)+Math[W(1759)](Fe,at)|0,_e=_e+Math[W(1759)](Fe,ft)|0,dt=dt+Math[W(1759)](Ne,_t)|0,Le=(Le+Math[W(1759)](Ne,et)|0)+Math[W(1759)](Pe,_t)|0,_e=_e+Math[W(1759)](Pe,et)|0,dt=dt+Math[W(1759)](He,pt)|0,Le=(Le+Math[W(1759)](He,zt)|0)+Math[W(1759)](ke,pt)|0,_e=_e+Math.imul(ke,zt)|0,(Ot+(dt+Math[W(1759)](Be,It)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Be,Pt)|0)+Math.imul(Me,It)|0))<<13)|0),Ht=(Ot=((_e+Math[W(1759)](Me,Pt)|0)+(Le>>>13)|0)+(ui>>>26)|0,ui&=67108863,dt=Math[W(1759)](Ue,at),Le=Math.imul(Ue,ft)+Math[W(1759)](ze,at)|0,_e=Math[W(1759)](ze,ft),dt=dt+Math[W(1759)](we,_t)|0,Le=(Le+Math[W(1759)](we,et)|0)+Math[W(1759)](Fe,_t)|0,_e=_e+Math[W(1759)](Fe,et)|0,dt=dt+Math[W(1759)](Ne,pt)|0,Le=(Le+Math[W(1759)](Ne,zt)|0)+Math[W(1759)](Pe,pt)|0,_e=_e+Math[W(1759)](Pe,zt)|0,(Ot+(dt+Math[W(1759)](He,It)|0)|0)+((8191&(Le=(Le+Math[W(1759)](He,Pt)|0)+Math[W(1759)](ke,It)|0))<<13)|0),Ei=(Ot=((_e+Math.imul(ke,Pt)|0)+(Le>>>13)|0)+(Ht>>>26)|0,Ht&=67108863,dt=Math[W(1759)](Ue,_t),Le=Math[W(1759)](Ue,et)+Math[W(1759)](ze,_t)|0,_e=Math.imul(ze,et),dt=dt+Math.imul(we,pt)|0,Le=(Le+Math[W(1759)](we,zt)|0)+Math[W(1759)](Fe,pt)|0,_e=_e+Math[W(1759)](Fe,zt)|0,(Ot+(dt+Math[W(1759)](Ne,It)|0)|0)+((8191&(Le=(Le+Math[W(1759)](Ne,Pt)|0)+Math[W(1759)](Pe,It)|0))<<13)|0),gt=(Ot=((_e+Math[W(1759)](Pe,Pt)|0)+(Le>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,dt=Math[W(1759)](Ue,pt),Le=Math[W(1759)](Ue,zt)+Math[W(1759)](ze,pt)|0,_e=Math[W(1759)](ze,zt),(Ot+(dt+Math[W(1759)](we,It)|0)|0)+((8191&(Le=(Le+Math[W(1759)](we,Pt)|0)+Math[W(1759)](Fe,It)|0))<<13)|0),bt=(Ot=((_e+Math.imul(Fe,Pt)|0)+(Le>>>13)|0)+(gt>>>26)|0,gt&=67108863,(Ot+Math[W(1759)](Ue,It)|0)+((8191&(Le=Math[W(1759)](Ue,Pt)+Math[W(1759)](ze,It)|0))<<13)|0),Ot=(Math[W(1759)](ze,Pt)+(Le>>>13)|0)+(bt>>>26)|0;return bt&=67108863,O[0]=St,O[1]=Oe,O[2]=vt,O[3]=wt,O[4]=Bt,O[5]=bi,O[6]=nr,O[7]=Ai,O[8]=xi,O[9]=Fi,O[10]=pi,O[11]=Vt,O[12]=Kt,O[13]=di,O[14]=ui,O[15]=Ht,O[16]=Ei,O[17]=gt,O[18]=bt,Ot!=0&&(O[19]=Ot,Y[W(2405)]++),Y};function j(fe,G,Y){var W=D;return new ee()[W(950)](fe,G,Y)}function ee(fe,G){this.x=fe,this.y=G}Math[D(1759)]||(X=K),R[D(2086)][D(2374)]=function(fe,G){var Y=D,W=this[Y(2405)]+fe[Y(2405)];return(this[Y(2405)]===10&&fe[Y(2405)]===10?X:W<63?K:W<1024?function(O,re,se){var ce=Y;se.negative=re[ce(1746)]^O[ce(1746)],se.length=O.length+re[ce(2405)];for(var me=0,Ce=0,ye=0;ye<se[ce(2405)]-1;ye++){for(var Be=Ce,Ce=0,Me=67108863&me,He=Math.min(ye,re[ce(2405)]-1),ke=Math[ce(1093)](0,ye-O.length+1);ke<=He;ke++){var Ne,Pe=(0|O[ce(1157)][ye-ke])*(0|re[ce(1157)][ke]),Me=67108863&(Ne=(67108863&Pe)+Me|0);Ce+=(Be=(Be=Be+(Pe/67108864|0)|0)+(Ne>>>26)|0)>>>26,Be&=67108863}se[ce(1157)][ye]=Me,me=Be,Be=Ce}return me!==0?se.words[ye]=me:se.length--,se.strip()}:j)(this,fe,G)},ee[D(2086)][D(894)]=function(fe){for(var G=D,Y=new Array(fe),W=R[G(2086)][G(1701)](fe)-1,O=0;O<fe;O++)Y[O]=this[G(762)](O,W,fe);return Y},ee[D(2086)][D(762)]=function(fe,G,Y){if(fe===0||fe===Y-1)return fe;for(var W=0,O=0;O<G;O++)W|=(1&fe)<<G-O-1,fe>>=1;return W},ee[D(2086)][D(2706)]=function(fe,G,Y,W,O,re){for(var se=0;se<re;se++)W[se]=G[fe[se]],O[se]=Y[fe[se]]},ee[D(2086)][D(1334)]=function(fe,G,Y,W,O,re){var se=D;this.permute(re,fe,G,Y,W,O);for(var ce=1;ce<O;ce<<=1)for(var me=ce<<1,Ce=Math[se(2713)](2*Math.PI/me),ye=Math.sin(2*Math.PI/me),Be=0;Be<O;Be+=me)for(var Me=Ce,He=ye,ke=0;ke<ce;ke++){var Ne=Y[Be+ke],Pe=W[Be+ke],we=Y[Be+ke+ce],Fe=Me*we-He*(Ue=W[Be+ke+ce]),Ue=Me*Ue+He*we;Y[Be+ke]=Ne+(we=Fe),W[Be+ke]=Pe+Ue,Y[Be+ke+ce]=Ne-we,W[Be+ke+ce]=Pe-Ue,ke!==me&&(Fe=Ce*Me-ye*He,He=Ce*He+ye*Me,Me=Fe)}},ee.prototype[D(2723)]=function(fe,G){for(var Y=D,G=1&(O=1|Math[Y(1093)](G,fe)),W=0,O=O/2|0;O;O>>>=1)W++;return 1<<W+1+G},ee.prototype[D(2120)]=function(fe,G,Y){if(!(Y<=1))for(var W=0;W<Y/2;W++){var O=fe[W];fe[W]=fe[Y-W-1],fe[Y-W-1]=O,O=G[W],G[W]=-G[Y-W-1],G[Y-W-1]=-O}},ee[D(2086)][D(407)]=function(fe,G){for(var Y=D,W=0,O=0;O<G/2;O++){var re=8192*Math[Y(1162)](fe[2*O+1]/G)+Math[Y(1162)](fe[2*O]/G)+W;fe[O]=67108863&re,W=re<67108864?0:re/67108864|0}return fe},ee[D(2086)][D(2710)]=function(fe,G,Y,W){for(var O=0,re=0;re<G;re++)O+=0|fe[re],Y[2*re]=8191&O,Y[2*re+1]=8191&(O>>>=13),O>>>=13;for(re=2*G;re<W;++re)Y[re]=0;S(O===0),S((-8192&O)==0)},ee[D(2086)][D(1405)]=function(fe){for(var G=new Array(fe),Y=0;Y<fe;Y++)G[Y]=0;return G},ee[D(2086)][D(950)]=function(fe,G,Y){var W=D,O=2*this[W(2723)](fe[W(2405)],G[W(2405)]),re=this[W(894)](O),se=this.stub(O),ce=new Array(O),me=new Array(O),Ce=new Array(O),ye=new Array(O),Be=new Array(O),Me=new Array(O),He=Y[W(1157)];He[W(2405)]=O,this[W(2710)](fe[W(1157)],fe[W(2405)],ce,O),this.convert13b(G[W(1157)],G[W(2405)],ye,O),this.transform(ce,se,me,Ce,O,re),this.transform(ye,se,Be,Me,O,re);for(var ke=0;ke<O;ke++){var Ne=me[ke]*Be[ke]-Ce[ke]*Me[ke];Ce[ke]=me[ke]*Me[ke]+Ce[ke]*Be[ke],me[ke]=Ne}return this[W(2120)](me,Ce,O),this[W(1334)](me,Ce,He,se,O,re),this[W(2120)](He,se,O),this[W(407)](He,O),Y[W(1746)]=fe[W(1746)]^G[W(1746)],Y.length=fe[W(2405)]+G[W(2405)],Y[W(1282)]()},R[D(2086)][D(1304)]=function(fe){var G=D,Y=new R(null);return Y[G(1157)]=new Array(this[G(2405)]+fe[G(2405)]),this[G(2374)](fe,Y)},R[D(2086)].mulf=function(fe){var G=D,Y=new R(null);return Y.words=new Array(this[G(2405)]+fe.length),j(this,fe,Y)},R.prototype[D(1759)]=function(fe){var G=D;return this[G(914)]()[G(2374)](fe,this)},R[D(2086)].imuln=function(fe){var G=D;S(G(647)==typeof fe),S(fe<67108864);for(var Y=0,W=0;W<this[G(2405)];W++){var O=(0|this[G(1157)][W])*fe,re=(67108863&O)+(67108863&Y),Y=(Y>>=26)+(O/67108864|0)+(re>>>26);this[G(1157)][W]=67108863&re}return Y!==0&&(this[G(1157)][W]=Y,this[G(2405)]++),this},R[D(2086)][D(779)]=function(fe){var G=D;return this.clone()[G(2548)](fe)},R[D(2086)].sqr=function(){var fe=D;return this[fe(1304)](this)},R[D(2086)][D(2496)]=function(){var fe=D;return this[fe(1759)](this[fe(914)]())},R.prototype[D(1905)]=function(fe){var G=D,Y=function(se){for(var ce=Tt,me=new Array(se.bitLength()),Ce=0;Ce<me[ce(2405)];Ce++){var ye=Ce%26;me[Ce]=(se.words[Ce/26|0]&1<<ye)>>>ye}return me}(fe);if(Y[G(2405)]===0)return new R(1);for(var W=this,O=0;O<Y[G(2405)]&&Y[O]===0;O++,W=W[G(2524)]());if(++O<Y[G(2405)])for(var re=W[G(2524)]();O<Y[G(2405)];O++,re=re[G(2524)]())Y[O]!==0&&(W=W[G(1304)](re));return W},R[D(2086)][D(2622)]=function(fe){var G=D;S(G(647)==typeof fe&&0<=fe);var Y=fe%26,W=(fe-Y)/26,O=67108863>>>26-Y<<26-Y;if(Y!=0){for(var re=0,se=0;se<this[G(2405)];se++){var ce=this[G(1157)][se]&O,me=(0|this[G(1157)][se])-ce<<Y;this[G(1157)][se]=me|re,re=ce>>>26-Y}re&&(this[G(1157)][se]=re,this[G(2405)]++)}if(W!=0){for(se=this[G(2405)]-1;0<=se;se--)this[G(1157)][se+W]=this[G(1157)][se];for(se=0;se<W;se++)this.words[se]=0;this.length+=W}return this[G(1282)]()},R.prototype[D(2284)]=function(fe){var G=D;return S(this[G(1746)]===0),this[G(2622)](fe)},R.prototype.iushrn=function(fe,G,Y){var W=D;S(typeof fe=="number"&&0<=fe);var O,O=G?(G-G%26)/26:0,re=fe%26,se=Math[W(1817)]((fe-re)/26,this[W(2405)]),ce=67108863^67108863>>>re<<re,me=Y;if(O-=se,O=Math.max(0,O),me){for(var Ce=0;Ce<se;Ce++)me[W(1157)][Ce]=this[W(1157)][Ce];me[W(2405)]=se}if(se!==0)if(this.length>se)for(this[W(2405)]-=se,Ce=0;Ce<this[W(2405)];Ce++)this[W(1157)][Ce]=this[W(1157)][Ce+se];else this.words[0]=0,this[W(2405)]=1;for(var ye=0,Ce=this.length-1;0<=Ce&&(ye!==0||O<=Ce);Ce--){var Be=0|this[W(1157)][Ce];this[W(1157)][Ce]=ye<<26-re|Be>>>re,ye=Be&ce}return me&&ye!==0&&(me[W(1157)][me.length++]=ye),this.length===0&&(this[W(1157)][0]=0,this[W(2405)]=1),this.strip()},R[D(2086)].ishrn=function(fe,G,Y){var W=D;return S(this[W(1746)]===0),this[W(586)](fe,G,Y)},R[D(2086)].shln=function(fe){var G=D;return this.clone()[G(2284)](fe)},R[D(2086)][D(2181)]=function(fe){var G=D;return this[G(914)]().iushln(fe)},R[D(2086)][D(446)]=function(fe){var G=D;return this[G(914)]()[G(739)](fe)},R.prototype[D(1635)]=function(fe){var G=D;return this[G(914)]()[G(586)](fe)},R.prototype.testn=function(W){var G=D;S(G(647)==typeof W&&0<=W);var Y=W%26,W=(W-Y)/26;return!(this[G(2405)]<=W||!(this[G(1157)][W]&1<<Y))},R[D(2086)][D(2255)]=function(W){var G=D;S(typeof W=="number"&&0<=W);var Y=W%26,W=(W-Y)/26;return S(this[G(1746)]===0,G(1954)),this[G(2405)]<=W?this:(Y!=0&&W++,this[G(2405)]=Math[G(1817)](W,this[G(2405)]),Y!=0&&(this[G(1157)][this.length-1]&=67108863^67108863>>>Y<<Y),this.strip())},R[D(2086)][D(1116)]=function(fe){var G=D;return this[G(914)]()[G(2255)](fe)},R[D(2086)][D(2755)]=function(fe){var G=D;return S(G(647)==typeof fe),S(fe<67108864),fe<0?this[G(283)](-fe):this[G(1746)]!==0?(this[G(2405)]===1&&(0|this[G(1157)][0])<fe?(this.words[0]=fe-(0|this[G(1157)][0]),this[G(1746)]=0):(this[G(1746)]=0,this.isubn(fe),this[G(1746)]=1),this):this[G(2209)](fe)},R[D(2086)][D(2209)]=function(fe){var G=D;this[G(1157)][0]+=fe;for(var Y=0;Y<this[G(2405)]&&67108864<=this[G(1157)][Y];Y++)this[G(1157)][Y]-=67108864,Y===this[G(2405)]-1?this[G(1157)][Y+1]=1:this.words[Y+1]++;return this.length=Math[G(1093)](this[G(2405)],Y+1),this},R[D(2086)][D(283)]=function(fe){var G=D;if(S(G(647)==typeof fe),S(fe<67108864),fe<0)return this[G(2755)](-fe);if(this[G(1746)]!==0)return this[G(1746)]=0,this[G(2755)](fe),this[G(1746)]=1,this;if(this[G(1157)][0]-=fe,this.length===1&&this[G(1157)][0]<0)this[G(1157)][0]=-this[G(1157)][0],this[G(1746)]=1;else for(var Y=0;Y<this[G(2405)]&&this[G(1157)][Y]<0;Y++)this[G(1157)][Y]+=67108864,--this[G(1157)][Y+1];return this[G(1282)]()},R.prototype[D(1316)]=function(fe){var G=D;return this[G(914)]().iaddn(fe)},R[D(2086)][D(860)]=function(fe){var G=D;return this[G(914)]()[G(283)](fe)},R[D(2086)].iabs=function(){var fe=D;return this[fe(1746)]=0,this},R.prototype[D(2148)]=function(){var fe=D;return this[fe(914)]().iabs()},R.prototype[D(2768)]=function(fe,G,Y){for(var W=D,O=fe[W(2405)]+Y,re=(this[W(559)](O),0),se=0;se<fe.length;se++){var ce=(0|this[W(1157)][se+Y])+re,me=(0|fe[W(1157)][se])*G,re=((ce-=67108863&me)>>26)-(me/67108864|0);this[W(1157)][se+Y]=67108863&ce}for(;se<this.length-Y;se++)re=(ce=(0|this[W(1157)][se+Y])+re)>>26,this[W(1157)][se+Y]=67108863&ce;if(re===0)return this[W(1282)]();for(S(re===-1),se=re=0;se<this[W(2405)];se++)re=(ce=-(0|this[W(1157)][se])+re)>>26,this.words[se]=67108863&ce;return this[W(1746)]=1,this.strip()},R[D(2086)]._wordDiv=function(fe,G){var Y=D;this.length,fe.length;var W,O=this[Y(914)](),re=fe,se=0|re[Y(1157)][re[Y(2405)]-1],ce=((fe=26-this[Y(1701)](se))!=0&&(re=re[Y(2181)](fe),O[Y(2622)](fe),se=0|re.words[re[Y(2405)]-1]),O[Y(2405)]-re[Y(2405)]);if(Y(2451)!==G){(W=new R(null))[Y(2405)]=1+ce,W[Y(1157)]=new Array(W.length);for(var me=0;me<W[Y(2405)];me++)W[Y(1157)][me]=0}var Ce=O[Y(914)]()[Y(2768)](re,1,ce);Ce[Y(1746)]===0&&(O=Ce,W&&(W[Y(1157)][ce]=1));for(var ye=ce-1;0<=ye;ye--){var Be=67108864*(0|O[Y(1157)][re[Y(2405)]+ye])+(0|O[Y(1157)][re[Y(2405)]+ye-1]),Be=Math[Y(1817)](Be/se|0,67108863);for(O[Y(2768)](re,Be,ye);O[Y(1746)]!==0;)Be--,O[Y(1746)]=0,O._ishlnsubmul(re,1,ye),O[Y(1072)]()||(O.negative^=1);W&&(W[Y(1157)][ye]=Be)}return W&&W[Y(1282)](),O.strip(),Y(2526)!==G&&fe!=0&&O[Y(586)](fe),{div:W||null,mod:O}},R[D(2086)][D(1923)]=function(fe,G,Y){var W=D;return S(!fe[W(1072)]()),this[W(1072)]()?{div:new R(0),mod:new R(0)}:this[W(1746)]!==0&&fe.negative===0?(se=this[W(770)]()[W(1923)](fe,G),W(2451)!==G&&(O=se.div[W(770)]()),W(2526)!==G&&(re=se[W(2451)][W(770)](),Y&&re.negative!==0&&re[W(2553)](fe)),{div:O,mod:re}):this[W(1746)]===0&&fe[W(1746)]!==0?(se=this.divmod(fe[W(770)](),G),{div:O=W(2451)!==G?se[W(2526)][W(770)]():O,mod:se[W(2451)]}):(this[W(1746)]&fe[W(1746)])!=0?(se=this[W(770)]()[W(1923)](fe[W(770)](),G),W(2526)!==G&&(re=se[W(2451)].neg(),Y&&re[W(1746)]!==0&&re.isub(fe)),{div:se.div,mod:re}):fe.length>this[W(2405)]||this[W(637)](fe)<0?{div:new R(0),mod:this}:fe[W(2405)]===1?W(2526)===G?{div:this.divn(fe[W(1157)][0]),mod:null}:W(2451)===G?{div:null,mod:new R(this[W(1605)](fe[W(1157)][0]))}:{div:this[W(2050)](fe[W(1157)][0]),mod:new R(this[W(1605)](fe.words[0]))}:this[W(1037)](fe,G);var O,re,se},R[D(2086)].div=function(fe){var G=D;return this[G(1923)](fe,G(2526),!1)[G(2526)]},R[D(2086)].mod=function(fe){var G=D;return this[G(1923)](fe,G(2451),!1).mod},R.prototype.umod=function(fe){var G=D;return this[G(1923)](fe,"mod",!0)[G(2451)]},R.prototype.divRound=function(O){var G=D,Y=this.divmod(O);if(Y.mod[G(1072)]())return Y[G(2526)];var re=Y[G(2526)][G(1746)]!==0?Y[G(2451)][G(1155)](O):Y.mod,W=O.ushrn(1),O=O[G(1452)](1),re=re[G(637)](W);return re<0||O===1&&re===0?Y[G(2526)]:Y.div.negative!==0?Y[G(2526)][G(283)](1):Y[G(2526)].iaddn(1)},R[D(2086)][D(1605)]=function(fe){var G=D;S(fe<=67108863);for(var Y=(1<<26)%fe,W=0,O=this[G(2405)]-1;0<=O;O--)W=(Y*W+(0|this[G(1157)][O]))%fe;return W},R[D(2086)][D(929)]=function(fe){var G=D;S(fe<=67108863);for(var Y=0,W=this[G(2405)]-1;0<=W;W--){var O=(0|this[G(1157)][W])+67108864*Y;this.words[W]=O/fe|0,Y=O%fe}return this[G(1282)]()},R.prototype.divn=function(fe){var G=D;return this[G(914)]()[G(929)](fe)},R.prototype[D(1005)]=function(fe){var G=D;S(fe[G(1746)]===0),S(!fe[G(1072)]());for(var W=this,Y=fe[G(914)](),W=W[G(1746)]!==0?W[G(1792)](fe):W.clone(),O=new R(1),re=new R(0),se=new R(0),ce=new R(1),me=0;W[G(2105)]()&&Y[G(2105)]();)W[G(586)](1),Y[G(586)](1),++me;for(var Ce=Y.clone(),ye=W.clone();!W[G(1072)]();){for(var Be=0,Me=1;(W[G(1157)][0]&Me)==0&&Be<26;++Be,Me<<=1);if(0<Be)for(W[G(586)](Be);0<Be--;)(O[G(2771)]()||re.isOdd())&&(O[G(2553)](Ce),re[G(1155)](ye)),O[G(586)](1),re.iushrn(1);for(var He=0,ke=1;(Y[G(1157)][0]&ke)==0&&He<26;++He,ke<<=1);if(0<He)for(Y[G(586)](He);0<He--;)(se[G(2771)]()||ce[G(2771)]())&&(se[G(2553)](Ce),ce[G(1155)](ye)),se[G(586)](1),ce[G(586)](1);0<=W[G(637)](Y)?(W.isub(Y),O[G(1155)](se),re[G(1155)](ce)):(Y[G(1155)](W),se[G(1155)](O),ce[G(1155)](re))}return{a:se,b:ce,gcd:Y.iushln(me)}},R[D(2086)]._invmp=function(fe){var G=D;S(fe[G(1746)]===0),S(!fe[G(1072)]());for(var Y,O=this,W=fe[G(914)](),O=O[G(1746)]!==0?O[G(1792)](fe):O[G(914)](),re=new R(1),se=new R(0),ce=W.clone();0<O.cmpn(1)&&0<W.cmpn(1);){for(var me=0,Ce=1;(O[G(1157)][0]&Ce)==0&&me<26;++me,Ce<<=1);if(0<me)for(O[G(586)](me);0<me--;)re[G(2771)]()&&re[G(2553)](ce),re[G(586)](1);for(var ye=0,Be=1;(W[G(1157)][0]&Be)==0&&ye<26;++ye,Be<<=1);if(0<ye)for(W[G(586)](ye);0<ye--;)se[G(2771)]()&&se[G(2553)](ce),se[G(586)](1);0<=O[G(637)](W)?(O[G(1155)](W),re[G(1155)](se)):(W[G(1155)](O),se[G(1155)](re))}return(Y=O.cmpn(1)===0?re:se)[G(1915)](0)<0&&Y[G(2553)](fe),Y},R[D(2086)][D(2334)]=function(fe){var G=D;if(this[G(1072)]())return fe.abs();if(fe[G(1072)]())return this[G(2148)]();var Y=this[G(914)](),W=fe[G(914)]();Y[G(1746)]=0;for(var O=W[G(1746)]=0;Y[G(2105)]()&&W[G(2105)]();O++)Y[G(586)](1),W[G(586)](1);for(;;){for(;Y[G(2105)]();)Y[G(586)](1);for(;W.isEven();)W.iushrn(1);var re=Y[G(637)](W);if(re<0)var se=Y,Y=W,W=se;else if(re===0||W[G(1915)](1)===0)break;Y[G(1155)](W)}return W[G(2622)](O)},R[D(2086)][D(680)]=function(fe){var G=D;return this[G(1005)](fe).a[G(1792)](fe)},R[D(2086)][D(2105)]=function(){var fe=D;return(1&this[fe(1157)][0])==0},R[D(2086)][D(2771)]=function(){var fe=D;return(1&this[fe(1157)][0])==1},R[D(2086)][D(1452)]=function(fe){var G=D;return this[G(1157)][0]&fe},R.prototype[D(314)]=function(Y){var G=D;S(G(647)==typeof Y);var W=Y%26,Y=(Y-W)/26,W=1<<W;if(this[G(2405)]<=Y)return this[G(559)](1+Y),this.words[Y]|=W,this;for(var O=W,re=Y;O!==0&&re<this[G(2405)];re++){var se=0|this[G(1157)][re],O=(se+=O)>>>26;se&=67108863,this[G(1157)][re]=se}return O!==0&&(this[G(1157)][re]=O,this[G(2405)]++),this},R[D(2086)][D(1072)]=function(){var fe=D;return this[fe(2405)]===1&&this[fe(1157)][0]===0},R[D(2086)][D(1915)]=function(fe){var G=D,Y=fe<0;return this[G(1746)]===0||Y?this[G(1746)]===0&&Y?1:(this[G(1282)](),Y=1<this[G(2405)]?1:(S((fe=Y?-fe:fe)<=67108863,G(2514)),(Y=0|this[G(1157)][0])===fe?0:Y<fe?-1:1),this.negative!==0?0|-Y:Y):-1},R.prototype[D(637)]=function(fe){var G=D;return this.negative!==0&&fe.negative===0?-1:this[G(1746)]===0&&fe.negative!==0?1:(fe=this[G(356)](fe),this.negative!==0?0|-fe:fe)},R[D(2086)][D(356)]=function(fe){var G=D;if(this[G(2405)]>fe[G(2405)])return 1;if(this[G(2405)]<fe[G(2405)])return-1;for(var Y=0,W=this[G(2405)]-1;0<=W;W--){var O=0|this[G(1157)][W],re=0|fe[G(1157)][W];if(O!=re){O<re?Y=-1:re<O&&(Y=1);break}}return Y},R[D(2086)].gtn=function(fe){var G=D;return this[G(1915)](fe)===1},R[D(2086)].gt=function(fe){var G=D;return this[G(637)](fe)===1},R[D(2086)].gten=function(fe){var G=D;return 0<=this[G(1915)](fe)},R[D(2086)][D(1897)]=function(fe){var G=D;return 0<=this[G(637)](fe)},R[D(2086)][D(1974)]=function(fe){return this.cmpn(fe)===-1},R[D(2086)].lt=function(fe){var G=D;return this[G(637)](fe)===-1},R.prototype[D(2131)]=function(fe){return this.cmpn(fe)<=0},R[D(2086)][D(1284)]=function(fe){var G=D;return this[G(637)](fe)<=0},R[D(2086)].eqn=function(fe){var G=D;return this[G(1915)](fe)===0},R[D(2086)].eq=function(fe){var G=D;return this[G(637)](fe)===0},R.red=function(fe){return new ge(fe)},R.prototype[D(1705)]=function(fe){var G=D;return S(!this.red,"Already a number in reduction context"),S(this.negative===0,G(2486)),fe.convertTo(this)[G(2616)](fe)},R.prototype[D(240)]=function(){var fe=D;return S(this[fe(1230)],"fromRed works only with numbers in reduction context"),this[fe(1230)][fe(2335)](this)},R[D(2086)][D(2616)]=function(fe){var G=D;return this[G(1230)]=fe,this},R[D(2086)][D(934)]=function(fe){var G=D;return S(!this[G(1230)],"Already a number in reduction context"),this._forceRed(fe)},R.prototype[D(2308)]=function(fe){var G=D;return S(this[G(1230)],G(2701)),this[G(1230)][G(1002)](this,fe)},R.prototype[D(2236)]=function(fe){var G=D;return S(this[G(1230)],G(876)),this.red[G(2553)](this,fe)},R[D(2086)][D(478)]=function(fe){var G=D;return S(this[G(1230)],"redSub works only with red numbers"),this[G(1230)][G(713)](this,fe)},R[D(2086)][D(1199)]=function(fe){var G=D;return S(this[G(1230)],"redISub works only with red numbers"),this[G(1230)][G(1155)](this,fe)},R[D(2086)][D(2442)]=function(fe){var G=D;return S(this[G(1230)],G(835)),this.red[G(284)](this,fe)},R.prototype[D(2111)]=function(fe){var G=D;return S(this.red,"redMul works only with red numbers"),this[G(1230)][G(1459)](this,fe),this[G(1230)].mul(this,fe)},R[D(2086)][D(2590)]=function(fe){var G=D;return S(this.red,"redMul works only with red numbers"),this[G(1230)][G(1459)](this,fe),this.red[G(1759)](this,fe)},R[D(2086)][D(2082)]=function(){var fe=D;return S(this[fe(1230)],"redSqr works only with red numbers"),this[fe(1230)][fe(1171)](this),this.red[fe(2524)](this)},R[D(2086)][D(1776)]=function(){var fe=D;return S(this[fe(1230)],fe(2300)),this[fe(1230)][fe(1171)](this),this[fe(1230)][fe(2496)](this)},R.prototype[D(984)]=function(){var fe=D;return S(this.red,"redSqrt works only with red numbers"),this[fe(1230)][fe(1171)](this),this[fe(1230)][fe(2657)](this)},R[D(2086)][D(1806)]=function(){var fe=D;return S(this[fe(1230)],fe(863)),this[fe(1230)][fe(1171)](this),this[fe(1230)].invm(this)},R.prototype[D(2447)]=function(){var fe=D;return S(this[fe(1230)],fe(1741)),this[fe(1230)]._verify1(this),this[fe(1230)].neg(this)},R[D(2086)].redPow=function(fe){var G=D;return S(this[G(1230)]&&!fe.red,"redPow(normalNum)"),this[G(1230)]._verify1(this),this[G(1230)][G(1905)](this,fe)};var ie={k256:null,p224:null,p192:null,p25519:null};function z(fe,G){var Y=D;this.name=fe,this.p=new R(G,16),this.n=this.p[Y(1787)](),this.k=new R(1)[Y(2622)](this.n).isub(this.p),this[Y(1242)]=this[Y(2201)]()}function oe(){var fe=D;z[fe(2811)](this,fe(522),"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function le(){var fe=D;z[fe(2811)](this,"p224",fe(760))}function Ae(){var fe=D;z[fe(2811)](this,fe(1143),fe(1127))}function he(){var fe=D;z.call(this,fe(370),fe(692))}function ge(fe){var G=D,Y;G(1090)==typeof fe?(Y=R._prime(fe),this.m=Y.p,this[G(1408)]=Y):(S(fe[G(912)](1),"modulus must be greater than 1"),this.m=fe,this[G(1408)]=null)}function de(fe){var G=D;ge[G(2811)](this,fe),this[G(2626)]=this.m[G(1787)](),this[G(2626)]%26!=0&&(this.shift+=26-this[G(2626)]%26),this.r=new R(1).iushln(this[G(2626)]),this.r2=this.imod(this.r[G(2524)]()),this[G(631)]=this.r[G(2763)](this.m),this[G(1277)]=this[G(631)].mul(this.r).isubn(1)[G(2526)](this.m),this[G(1277)]=this.minv[G(1792)](this.r),this.minv=this.r[G(713)](this.minv)}z[D(2086)][D(2201)]=function(){var fe=new R(null);return fe.words=new Array(Math.ceil(this.n/13)),fe},z[D(2086)][D(2367)]=function(fe){for(var G=D,Y,W=fe;this.split(W,this[G(1242)]),(Y=(W=(W=this.imulK(W))[G(2553)](this.tmp))[G(1787)]())>this.n;);return fe=Y<this.n?-1:W[G(356)](this.p),fe===0?(W[G(1157)][0]=0,W[G(2405)]=1):0<fe?W[G(1155)](this.p):W[G(1282)]!==void 0?W[G(1282)]():W._strip(),W},z[D(2086)][D(2523)]=function(fe,G){var Y=D;fe[Y(586)](this.n,0,G)},z[D(2086)][D(1365)]=function(fe){return fe.imul(this.k)},P(oe,z),oe.prototype[D(2523)]=function(fe,G){for(var Y=D,W=Math[Y(1817)](fe[Y(2405)],9),O=0;O<W;O++)G[Y(1157)][O]=fe[Y(1157)][O];if(G.length=W,fe.length<=9)return fe.words[0]=0,void(fe[Y(2405)]=1);var re=fe[Y(1157)][9];for(G[Y(1157)][G[Y(2405)]++]=4194303&re,O=10;O<fe.length;O++){var se=0|fe[Y(1157)][O];fe[Y(1157)][O-10]=(4194303&se)<<4|re>>>22,re=se}(fe[Y(1157)][O-10]=re>>>=22)==0&&10<fe[Y(2405)]?fe[Y(2405)]-=10:fe[Y(2405)]-=9},oe[D(2086)][D(1365)]=function(fe){var G=D;fe[G(1157)][fe[G(2405)]]=0,fe[G(1157)][fe[G(2405)]+1]=0,fe[G(2405)]+=2;for(var Y=0,W=0;W<fe[G(2405)];W++){var O=0|fe[G(1157)][W];Y+=977*O,fe[G(1157)][W]=67108863&Y,Y=64*O+(Y/67108864|0)}return fe[G(1157)][fe[G(2405)]-1]===0&&(fe[G(2405)]--,fe[G(1157)][fe[G(2405)]-1]===0&&fe[G(2405)]--),fe},P(le,z),P(Ae,z),P(he,z),he[D(2086)][D(1365)]=function(fe){for(var G=D,Y=0,W=0;W<fe[G(2405)];W++){var O=19*(0|fe[G(1157)][W])+Y,re=67108863&O;O>>>=26,fe.words[W]=re,Y=O}return Y!==0&&(fe[G(1157)][fe[G(2405)]++]=Y),fe},R[D(1739)]=function(fe){var G=D;if(ie[fe])return ie[fe];var Y;if(fe==="k256")Y=new oe;else if(G(2651)===fe)Y=new le;else if(G(1143)===fe)Y=new Ae;else{if(G(2698)!==fe)throw new Error(G(1495)+fe);Y=new he}return ie[fe]=Y},ge.prototype._verify1=function(fe){var G=D;S(fe.negative===0,G(2486)),S(fe[G(1230)],G(1553))},ge[D(2086)][D(1459)]=function(fe,G){var Y=D;S((fe[Y(1746)]|G[Y(1746)])==0,"red works only with positives"),S(fe.red&&fe[Y(1230)]===G.red,Y(1553))},ge[D(2086)].imod=function(fe){var G=D;return(this[G(1408)]?this[G(1408)][G(2367)](fe):fe[G(1792)](this.m))[G(2616)](this)},ge.prototype.neg=function(fe){var G=D;return fe[G(1072)]()?fe[G(914)]():this.m[G(713)](fe)._forceRed(this)},ge[D(2086)][D(1002)]=function(fe,G){var Y=D;return this[Y(1459)](fe,G),fe=fe[Y(1002)](G),0<=fe[Y(637)](this.m)&&fe.isub(this.m),fe[Y(2616)](this)},ge.prototype[D(2553)]=function(fe,G){var Y=D;return this[Y(1459)](fe,G),fe=fe.iadd(G),0<=fe.cmp(this.m)&&fe[Y(1155)](this.m),fe},ge[D(2086)].sub=function(fe,G){var Y=D;return this._verify2(fe,G),fe=fe[Y(713)](G),fe[Y(1915)](0)<0&&fe.iadd(this.m),fe[Y(2616)](this)},ge.prototype.isub=function(fe,G){var Y=D;return this[Y(1459)](fe,G),fe=fe.isub(G),fe[Y(1915)](0)<0&&fe[Y(2553)](this.m),fe},ge[D(2086)][D(284)]=function(fe,G){var Y=D;return this[Y(1171)](fe),this[Y(1641)](fe[Y(2181)](G))},ge[D(2086)][D(1759)]=function(fe,G){var Y=D;return this[Y(1459)](fe,G),this[Y(1641)](fe[Y(1759)](G))},ge[D(2086)][D(1304)]=function(fe,G){var Y=D;return this._verify2(fe,G),this[Y(1641)](fe[Y(1304)](G))},ge[D(2086)][D(2496)]=function(fe){var G=D;return this[G(1759)](fe,fe[G(914)]())},ge[D(2086)].sqr=function(fe){return this.mul(fe,fe)},ge.prototype[D(2657)]=function(fe){var G=D;if(fe[G(1072)]())return fe[G(914)]();var Y=this.m[G(1452)](3);if(S(Y%2==1),Y===3)return Y=this.m[G(1002)](new R(1))[G(586)](2),this.pow(fe,Y);for(var W=this.m[G(860)](1),O=0;!W[G(1072)]()&&W[G(1452)](1)===0;)O++,W[G(586)](1);S(!W[G(1072)]());for(var re=new R(1)[G(1705)](this),se=re[G(2447)](),ce=this.m[G(860)](1)[G(586)](1),me=new R(2*(me=this.m[G(1787)]())*me)[G(1705)](this);this.pow(me,ce).cmp(se)!==0;)me.redIAdd(se);for(var Ce=this[G(1905)](me,W),ye=this[G(1905)](fe,W.addn(1)[G(586)](1)),Be=this.pow(fe,W),Me=O;Be.cmp(re)!==0;){for(var He=Be,ke=0;He[G(637)](re)!==0;ke++)He=He[G(2082)]();S(ke<Me);var Ne=this[G(1905)](Ce,new R(1)[G(2622)](Me-ke-1)),ye=ye[G(2111)](Ne),Ce=Ne[G(2082)](),Be=Be[G(2111)](Ce),Me=ke}return ye},ge.prototype[D(680)]=function(fe){var G=D;return fe=fe[G(2763)](this.m),fe[G(1746)]!==0?(fe[G(1746)]=0,this.imod(fe)[G(2447)]()):this[G(1641)](fe)},ge.prototype.pow=function(fe,G){var Y=D;if(G[Y(1072)]())return new R(1)[Y(1705)](this);if(G[Y(1915)](1)===0)return fe[Y(914)]();var W=new Array(16);W[0]=new R(1)[Y(1705)](this),W[1]=fe;for(var O=2;O<W[Y(2405)];O++)W[O]=this.mul(W[O-1],fe);var re=W[0],se=0,ce=0,me=G[Y(1787)]()%26;for(me===0&&(me=26),O=G.length-1;0<=O;O--){for(var Ce=G[Y(1157)][O],ye=me-1;0<=ye;ye--){var Be=Ce>>ye&1;re!==W[0]&&(re=this[Y(2524)](re)),Be==0&&se===0?ce=0:(se=se<<1|Be,(++ce==4||O===0&&ye===0)&&(re=this[Y(1304)](re,W[se]),se=ce=0))}me=26}return re},ge[D(2086)][D(178)]=function(fe){var G=D,Y=fe[G(1792)](this.m);return Y===fe?Y[G(914)]():Y},ge.prototype.convertFrom=function(fe){var G=D;return fe=fe[G(914)](),fe.red=null,fe},R[D(649)]=function(fe){return new de(fe)},P(de,ge),de.prototype[D(178)]=function(fe){var G=D;return this[G(1641)](fe[G(2181)](this.shift))},de.prototype[D(2335)]=function(fe){var G=D;return fe=this[G(1641)](fe[G(1304)](this[G(631)])),fe[G(1230)]=null,fe},de.prototype[D(1759)]=function(fe,G){var Y=D;return fe[Y(1072)]()||G[Y(1072)]()?(fe[Y(1157)][0]=0,fe.length=1,fe):(fe=fe[Y(1759)](G),G=fe[Y(1116)](this[Y(2626)])[Y(1304)](this[Y(1277)])[Y(2255)](this[Y(2626)])[Y(1304)](this.m),fe=fe[Y(1155)](G).iushrn(this[Y(2626)]),G=fe,0<=fe[Y(637)](this.m)?G=fe.isub(this.m):fe.cmpn(0)<0&&(G=fe.iadd(this.m)),G[Y(2616)](this))},de[D(2086)][D(1304)]=function(fe,G){var Y=D;return fe[Y(1072)]()||G[Y(1072)]()?new R(0)[Y(2616)](this):(fe=fe.mul(G),G=fe.maskn(this[Y(2626)])[Y(1304)](this[Y(1277)])[Y(2255)](this[Y(2626)])[Y(1304)](this.m),fe=fe[Y(1155)](G)[Y(586)](this[Y(2626)]),G=fe,0<=fe[Y(637)](this.m)?G=fe[Y(1155)](this.m):fe[Y(1915)](0)<0&&(G=fe.iadd(this.m)),G[Y(2616)](this))},de[D(2086)][D(680)]=function(fe){var G=D;return this[G(1641)](fe[G(2763)](this.m)[G(1304)](this.r2))._forceRed(this)}})((w=M.nmd(w),this))},69282:(le,Q,M)=>{var B=Tt,D=M(34155),S=M(25108);function P(me){var Ce=Tt;return(P=Ce(605)==typeof Symbol&&Ce(792)==typeof Symbol.iterator?function(ye){return typeof ye}:function(ye){var Be=Ce;return ye&&Be(605)==typeof Symbol&&ye[Be(1630)]===Symbol&&ye!==Symbol[Be(2086)]?Be(792):typeof ye})(me)}var R,T,ee=M(62136)[B(293)],L=ee[B(238)],F=ee.ERR_INVALID_ARG_TYPE,U=ee[B(2605)],N=ee[B(1469)],H=ee[B(1184)],J=M(25961),K=M(89539).inspect,ee=M(89539).types,X=ee[B(1742)],j=ee[B(1106)],ee=Object[B(2628)]||M(8091)[B(2628)],ie=Object.is||M(20609);function z(){var me=B,Ce=M(19158);R=Ce[me(2174)],T=Ce.isDeepStrictEqual}var oe=!1,le=le[B(2726)]=de,Ae={};function he(me){var Ce=B;throw me[Ce(1535)]instanceof Error?me[Ce(1535)]:new J(me)}function ge(me,Ce,ye,Be){var Me=B;if(!ye){var He=!1;if(Ce===0)He=!0,Be=Me(821);else if(Be instanceof Error)throw Be;throw Ce=new J({actual:ye,expected:!0,message:Be,operator:"==",stackStartFn:me}),Ce[Me(1139)]=He,Ce}}function de(){for(var me=B,Ce=arguments[me(2405)],ye=new Array(Ce),Be=0;Be<Ce;Be++)ye[Be]=arguments[Be];ge[me(724)](void 0,[de,ye[me(2405)]].concat(ye))}function fe(me,Ce,ye){var Be=B,Me=this;if(!(this instanceof fe))throw new TypeError(Be(463));Ce[Be(312)](function(He){var ke=Be;He in me&&(ye!==void 0&&typeof ye[He]=="string"&&j(me[He])&&me[He][ke(529)](ye[He])?Me[He]=ye[He]:Me[He]=me[He])})}function G(me,Ce,ye,Be){var Me=B;if(Me(605)==typeof Ce)return Ce.prototype!==void 0&&me instanceof Ce||!Error.isPrototypeOf(Ce)&&Ce[Me(2811)]({},me)===!0;if(j(Ce))return Ce.test(me);if(arguments[Me(2405)]===2)throw new F(Me(1809),[Me(1300),Me(1931)],Ce);var He;if(Me(2538)!==P(me)||me===null)throw(He=new J({actual:me,expected:Ce,message:ye,operator:Me(1492),stackStartFn:Be}))[Me(1700)]=Be[Me(276)],He;var ke=Object[Me(732)](Ce);if(Ce instanceof Error)ke.push(Me(276),Me(1535));else if(ke.length===0)throw new U(Me(1274),Ce,Me(2290));return R===void 0&&z(),ke.forEach(function(Ne){var Pe=Me;if(typeof me[Ne]!="string"||!j(Ce[Ne])||!Ce[Ne][Pe(529)](me[Ne])){var we=me,Fe=Ce,Ue=ye,ze=ke,Je=Be;if(!(Ne in we&&T(we[Ne],Fe[Ne]))){if(!Ue)throw Ne=new fe(we,ze),ze=new fe(Fe,ze,we),(Ne=new J({actual:Ne,expected:ze,operator:"deepStrictEqual",stackStartFn:Je}))[Pe(1504)]=we,Ne[Pe(1809)]=Fe,Ne[Pe(1700)]=Je[Pe(276)],Ne;he({actual:we,expected:Fe,message:Ue,operator:Je[Pe(276)],stackStartFn:Je})}}}),1}function Y(me){var Ce=B;if(Ce(605)!=typeof me)throw new F("fn",Ce(1300),me);try{me()}catch(ye){return ye}return Ae}function W(me){var Ce=B;return X(me)||me!==null&&Ce(2538)===P(me)&&typeof me.then=="function"&&Ce(605)==typeof me[Ce(870)]}function O(me){var Ce=B;return Promise[Ce(1698)]()[Ce(2683)](function(){var ye=Ce,Be;if(typeof me=="function"){if(!W(Be=me()))throw new N("instance of Promise","promiseFn",Be)}else{if(!W(me))throw new F(ye(1273),[ye(1300),ye(1235)],me);Be=me}return Promise[ye(1698)]().then(function(){return Be}).then(function(){return Ae})[ye(870)](function(Me){return Me})})}function re(me,Ce,ye,Be){var Me=B;if(Me(1090)==typeof ye){if(arguments[Me(2405)]===4)throw new F(Me(1274),[Me(453),Me(1026),"Function",Me(1931)],ye);if(Me(2538)===P(Ce)&&Ce!==null){if(Ce[Me(1535)]===ye)throw new L(Me(2275),'The error message "'[Me(1558)](Ce[Me(1535)],Me(2043)))}else if(Ce===ye)throw new L("error/message",Me(1578).concat(Ce,'" is identical to the message.'));Be=ye,ye=void 0}else if(ye!=null&&Me(2538)!==P(ye)&&Me(605)!=typeof ye)throw new F(Me(1274),[Me(453),Me(1026),Me(1300),"RegExp"],ye);var He,ke;if(Ce===Ae&&(He="",ye&&ye[Me(276)]&&(He+=" ("[Me(1558)](ye[Me(276)],")")),He+=Be?": "[Me(1558)](Be):".",ke=me[Me(276)]==="rejects"?"rejection":"exception",he({actual:void 0,expected:ye,operator:me[Me(276)],message:"Missing expected "[Me(1558)](ke)[Me(1558)](He),stackStartFn:me})),ye&&!G(Ce,ye,Be,me))throw Ce}function se(me,Ce,ye,Be){var Me=B,He;if(Ce!==Ae)throw Me(1090)==typeof ye&&(Be=ye,ye=void 0),ye&&!G(Ce,ye)||(Be=Be?": "[Me(1558)](Be):".",He=Me(1201)===me[Me(276)]?Me(1209):"exception",he({actual:Ce,expected:ye,operator:me[Me(276)],message:Me(691)[Me(1558)](He).concat(Be,` `)+Me(2354).concat(Ce&&Ce[Me(1535)],'"'),stackStartFn:me})),Ce}function ce(){for(var me=B,Ce=arguments[me(2405)],ye=new Array(Ce),Be=0;Be<Ce;Be++)ye[Be]=arguments[Be];ge.apply(void 0,[ce,ye[me(2405)]].concat(ye))}le[B(1612)]=function me(Ce,ye,Be,Me,He){var ke=B,Ne,Pe=arguments.length;throw Pe===0?Ne=ke(1599):Pe===1?(Be=Ce,Ce=void 0):(oe===!1&&(oe=!0,(D[ke(2296)]||S[ke(998)][ke(1703)](S))(ke(1265),ke(623),"DEP0094")),Pe===2&&(Me="!=")),Be instanceof Error?Be:(Pe={actual:Ce,expected:ye,operator:Me===void 0?ke(1612):Me,stackStartFn:He||me},Be!==void 0&&(Pe.message=Be),Pe=new J(Pe),Ne&&(Pe[ke(1535)]=Ne,Pe[ke(1139)]=!0),Pe)},le[B(1676)]=J,le.ok=de,le[B(1965)]=function me(Ce,ye,Be){var Me=B;if(arguments[Me(2405)]<2)throw new H(Me(1504),Me(1809));Ce!=ye&&he({actual:Ce,expected:ye,message:Be,operator:"==",stackStartFn:me})},le.notEqual=function me(Ce,ye,Be){var Me=B;if(arguments[Me(2405)]<2)throw new H("actual",Me(1809));Ce==ye&&he({actual:Ce,expected:ye,message:Be,operator:"!=",stackStartFn:me})},le[B(2178)]=function me(Ce,ye,Be){var Me=B;if(arguments[Me(2405)]<2)throw new H("actual","expected");R===void 0&&z(),R(Ce,ye)||he({actual:Ce,expected:ye,message:Be,operator:Me(2178),stackStartFn:me})},le[B(2154)]=function me(Ce,ye,Be){var Me=B;if(arguments.length<2)throw new H("actual",Me(1809));R===void 0&&z(),R(Ce,ye)&&he({actual:Ce,expected:ye,message:Be,operator:Me(2154),stackStartFn:me})},le[B(1492)]=function me(Ce,ye,Be){var Me=B;if(arguments[Me(2405)]<2)throw new H(Me(1504),Me(1809));R===void 0&&z(),T(Ce,ye)||he({actual:Ce,expected:ye,message:Be,operator:"deepStrictEqual",stackStartFn:me})},le[B(560)]=function me(Ce,ye,Be){var Me=B;if(arguments.length<2)throw new H(Me(1504),"expected");R===void 0&&z(),T(Ce,ye)&&he({actual:Ce,expected:ye,message:Be,operator:Me(560),stackStartFn:me})},le[B(1581)]=function me(Ce,ye,Be){var Me=B;if(arguments[Me(2405)]<2)throw new H(Me(1504),"expected");ie(Ce,ye)||he({actual:Ce,expected:ye,message:Be,operator:Me(1581),stackStartFn:me})},le.notStrictEqual=function me(Ce,ye,Be){var Me=B;if(arguments[Me(2405)]<2)throw new H(Me(1504),Me(1809));ie(Ce,ye)&&he({actual:Ce,expected:ye,message:Be,operator:"notStrictEqual",stackStartFn:me})},le[B(2446)]=function me(Ce){for(var ye=B,Be=arguments[ye(2405)],Me=new Array(1<Be?Be-1:0),He=1;He<Be;He++)Me[He-1]=arguments[He];re[ye(724)](void 0,[me,Y(Ce)][ye(1558)](Me))},le[B(1445)]=function me(Ce){for(var ye=B,Be=arguments[ye(2405)],Me=new Array(1<Be?Be-1:0),He=1;He<Be;He++)Me[He-1]=arguments[He];return O(Ce).then(function(ke){var Ne=ye;return re[Ne(724)](void 0,[me,ke][Ne(1558)](Me))})},le[B(2014)]=function me(Ce){for(var ye=B,Be=arguments[ye(2405)],Me=new Array(1<Be?Be-1:0),He=1;He<Be;He++)Me[He-1]=arguments[He];se[ye(724)](void 0,[me,Y(Ce)][ye(1558)](Me))},le[B(1201)]=function me(Ce){for(var ye=B,Be=arguments[ye(2405)],Me=new Array(1<Be?Be-1:0),He=1;He<Be;He++)Me[He-1]=arguments[He];return O(Ce).then(function(ke){var Ne=ye;return se[Ne(724)](void 0,[me,ke][Ne(1558)](Me))})},le[B(436)]=function me(Ce){var ye=B;if(Ce!=null){var Be=ye(1219),Be=(ye(2538)===P(Ce)&&ye(1090)==typeof Ce.message?Ce[ye(1535)][ye(2405)]===0&&Ce[ye(1630)]?Be+=Ce[ye(1630)][ye(276)]:Be+=Ce[ye(1535)]:Be+=K(Ce),new J({actual:Ce,expected:null,operator:"ifError",message:Be,stackStartFn:me})),Ce=Ce[ye(1224)];if(ye(1090)==typeof Ce){for(var Me=Ce[ye(2523)](` `),He=(Me[ye(2626)](),Be[ye(1224)][ye(2523)](` `)),ke=0;ke<Me[ye(2405)];ke++){var Ne=He.indexOf(Me[ke]);if(Ne!==-1){He=He[ye(352)](0,Ne);break}}Be[ye(1224)]="".concat(He.join(` `),` `)[ye(1558)](Me[ye(1814)](` `))}throw Be}},le[B(581)]=ee(ce,le,{equal:le.strictEqual,deepEqual:le[B(1492)],notEqual:le[B(1929)],notDeepEqual:le.notDeepStrictEqual}),le.strict.strict=le[B(581)]},25961:(w,Q,M)=>{var B=Tt,D=M(34155);function S(he,ge){for(var de=Tt,fe=0;fe<ge[de(2405)];fe++){var G=ge[fe];G[de(1812)]=G.enumerable||!1,G[de(2341)]=!0,"value"in G&&(G[de(887)]=!0),Object[de(1073)](he,G[de(2115)],G)}}function P(he,ge){var de=Tt;return!ge||de(2538)!==N(ge)&&de(605)!=typeof ge?R(he):ge}function R(he){var ge=Tt;if(he===void 0)throw new ReferenceError(ge(673));return he}function T(he){var ge=Tt,de=ge(605)==typeof Map?new Map:void 0,fe=he;if(fe===null||Function[ge(2192)][ge(2811)](fe)[ge(1439)](ge(367))===-1)return fe;if(ge(605)!=typeof fe)throw new TypeError(ge(1932));if(de!==void 0){if(de[ge(2647)](fe))return de[ge(2009)](fe);de[ge(935)](fe,G)}function G(){var Y=ge;return L(fe,arguments,U(this)[Y(1630)])}return G[ge(2086)]=Object[ge(766)](fe.prototype,{constructor:{value:G,enumerable:!1,writable:!0,configurable:!0}}),F(G,fe)}function L(he,ge,de){var fe=Tt;return(L=function(){var G=Tt;if(G(621)!=typeof Reflect&&Reflect[G(395)]&&!Reflect.construct[G(2457)]){if(typeof Proxy=="function")return 1;try{return Date[G(2086)][G(2192)].call(Reflect[G(395)](Date,[],function(){})),1}catch{return}}}()?Reflect[fe(395)]:function(G,se,W){var O=fe,re=[null],se=(re[O(2764)][O(724)](re,se),new(Function.bind[O(724)](G,re)));return W&&F(se,W.prototype),se})[fe(724)](null,arguments)}function F(he,ge){return(F=Object.setPrototypeOf||function(de,fe){return de.__proto__=fe,de})(he,ge)}function U(he){var ge=Tt;return(U=Object[ge(859)]?Object[ge(2411)]:function(de){var fe=ge;return de[fe(996)]||Object[fe(2411)](de)})(he)}function N(he){var ge=Tt;return(N=ge(605)==typeof Symbol&&ge(792)==typeof Symbol[ge(1570)]?function(de){return typeof de}:function(de){var fe=ge;return de&&fe(605)==typeof Symbol&&de.constructor===Symbol&&de!==Symbol[fe(2086)]?"symbol":typeof de})(he)}var H=M(89539)[B(1727)],J=M(62136)[B(293)][B(174)];function K(he,ge,de){var fe=B;return(de===void 0||de>he[fe(2405)])&&(de=he.length),he[fe(1527)](de-ge[fe(2405)],de)===ge}var X="",j="",ee="",ie="",z={deepStrictEqual:B(1994),strictEqual:B(1830),strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:B(2603),notDeepStrictEqual:B(2179),notStrictEqual:B(948),notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:B(304),notIdentical:B(1622)},oe=10;function le(he){var ge=B,de=Object[ge(732)](he),fe=Object[ge(766)](Object[ge(2411)](he));return de[ge(312)](function(G){fe[G]=he[G]}),Object[ge(1073)](fe,"message",{value:he[ge(1535)]}),fe}function Ae(he){return H(he,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}M=function(){var he=B,ge=fe,de=T(Error);if(he(605)!=typeof de&&de!==null)throw new TypeError("Super expression must either be null or a function");function fe(me){var Y=he,W;if(!(this instanceof fe))throw new TypeError(Y(463));if(Y(2538)!==N(me)||me===null)throw new J(Y(1677),"Object",me);var O=me.message,re=me[Y(1700)],se=me[Y(2493)],ce=me[Y(1504)],me=me[Y(1809)],Ce=Error.stackTraceLimit;if(Error[Y(2662)]=0,O!=null)W=P(this,U(fe)[Y(2811)](this,String(O)));else if(D[Y(1659)]&&D[Y(1659)][Y(754)]&&(ee=D[Y(1659)]&&D[Y(1659)].getColorDepth&&D[Y(1659)][Y(164)]()!==1?(X=Y(2121),j=Y(1411),ie=Y(2289),"\x1B[31m"):ie=j=X=""),Y(2538)===N(ce)&&ce!==null&&Y(2538)===N(me)&&me!==null&&Y(1224)in ce&&ce instanceof Error&&Y(1224)in me&&me instanceof Error&&(ce=le(ce),me=le(me)),Y(1492)===re||Y(1581)===re)W=P(this,U(fe).call(this,function(ke,Ne,Pe){var we=Y,Fe="",Ue="",ze=0,Je="",je=!1,Ze=Ae(ke),rt=Ze[we(2523)](` `),At=Ae(Ne)[we(2523)](` `),yt=0,at="";if(we(1581)===Pe&&we(2538)===N(ke)&&we(2538)===N(Ne)&&ke!==null&&Ne!==null&&(Pe=we(883)),rt[we(2405)]===1&&At[we(2405)]===1&&rt[0]!==At[0]){var ft=rt[0].length+At[0][we(2405)];if(ft<=oe){if(!(N(ke)==="object"&&ke!==null||we(2538)===N(Ne)&&Ne!==null||ke===0&&Ne===0))return"".concat(z[Pe],` `)+"".concat(rt[0]," !== ").concat(At[0],` `)}else if(we(883)!==Pe&&ft<(D[we(1659)]&&D[we(1659)][we(754)]?D[we(1659)][we(2107)]:80)){for(;rt[0][yt]===At[0][yt];)yt++;2<yt&&(at=we(982)[we(1558)](function(vt,wt){var Bt=we;if(wt=Math[Bt(799)](wt),vt.length==0||wt==0)return"";var bi=vt[Bt(2405)]*wt;for(wt=Math.floor(Math.log(wt)/Math.log(2));wt;)vt+=vt,wt--;return vt+vt[Bt(1527)](0,bi-vt[Bt(2405)])}(" ",yt),"^"),yt=0)}}for(var _t=rt[rt[we(2405)]-1],et=At[At.length-1];_t===et&&(yt++<2?Je=we(982)[we(1558)](_t)[we(1558)](Je):Fe=_t,rt[we(619)](),At[we(619)](),rt.length!==0&&At[we(2405)]!==0);)_t=rt[rt.length-1],et=At[At[we(2405)]-1];var pt=Math[we(1093)](rt.length,At[we(2405)]);if(pt===0){var zt=Ze.split(` `);if(30<zt[we(2405)])for(zt[26]=""[we(1558)](X,"...")[we(1558)](ie);27<zt.length;)zt[we(619)]();return""[we(1558)](z.notIdentical,` `)[we(1558)](zt.join(` `),` `)}3<yt&&(Je=` `[we(1558)](X,we(1147)).concat(ie)[we(1558)](Je),je=!0),Fe!==""&&(Je=` `[we(1558)](Fe)[we(1558)](Je),Fe="");for(var It=0,Pt=z[Pe]+` `.concat(j,we(2689))[we(1558)](ie," ")[we(1558)](ee,we(1503))[we(1558)](ie),St=" "[we(1558)](X,"...").concat(ie,we(989)),yt=0;yt<pt;yt++){var dt,Le,_e,Oe=yt-ze;if(rt.length<yt+1?(1<Oe&&2<yt&&(4<Oe?(Ue+=` `[we(1558)](X,we(1147))[we(1558)](ie),je=!0):3<Oe&&(Ue+=we(982)[we(1558)](At[yt-2]),It++),Ue+=we(982)[we(1558)](At[yt-1]),It++),ze=yt,Fe+=` `[we(1558)](ee,"-")[we(1558)](ie," ")[we(1558)](At[yt]),It++):At[we(2405)]<yt+1?(1<Oe&&2<yt&&(4<Oe?(Ue+=` `.concat(X,we(1147))[we(1558)](ie),je=!0):3<Oe&&(Ue+=we(982)[we(1558)](rt[yt-2]),It++),Ue+=we(982)[we(1558)](rt[yt-1]),It++),ze=yt,Ue+=` `.concat(j,"+").concat(ie," ")[we(1558)](rt[yt]),It++):(dt=At[yt],(_e=(Le=rt[yt])!==dt&&(!K(Le,",")||Le[we(352)](0,-1)!==dt))&&K(dt,",")&&dt[we(352)](0,-1)===Le&&(_e=!1,Le+=","),_e?(1<Oe&&2<yt&&(4<Oe?(Ue+=` `[we(1558)](X,we(1147))[we(1558)](ie),je=!0):3<Oe&&(Ue+=we(982)[we(1558)](rt[yt-2]),It++),Ue+=we(982)[we(1558)](rt[yt-1]),It++),ze=yt,Ue+=` `[we(1558)](j,"+")[we(1558)](ie," ")[we(1558)](Le),Fe+=` `.concat(ee,"-")[we(1558)](ie," ")[we(1558)](dt),It+=2):(Ue+=Fe,Fe="",Oe!=1&&yt!==0||(Ue+=` `[we(1558)](Le),It++))),20<It&&yt<pt-2)return""[we(1558)](Pt)[we(1558)](St,` `)[we(1558)](Ue,` `).concat(X,we(1147)).concat(ie).concat(Fe,` `)+""[we(1558)](X,"...")[we(1558)](ie)}return""[we(1558)](Pt)[we(1558)](je?St:"",` `).concat(Ue)[we(1558)](Fe)[we(1558)](Je)[we(1558)](at)}(ce,me,re)));else if(Y(560)===re||Y(1929)===re){var ye=z[re],Be=Ae(ce).split(` `);if(Y(1929)===re&&Y(2538)===N(ce)&&ce!==null&&(ye=z.notStrictEqualObject),30<Be[Y(2405)])for(Be[26]=""[Y(1558)](X,"...")[Y(1558)](ie);27<Be.length;)Be.pop();W=Be[Y(2405)]===1?P(this,U(fe).call(this,""[Y(1558)](ye," ")[Y(1558)](Be[0]))):P(this,U(fe)[Y(2811)](this,"".concat(ye,` `)[Y(1558)](Be[Y(1814)](` `),` `)))}else{var ye=Ae(ce),Me="",He=z[re];Y(2154)===re||Y(709)===re?1024<(ye=""[Y(1558)](z[re],` `)[Y(1558)](ye)).length&&(ye=""[Y(1558)](ye.slice(0,1021),"...")):(Me=""[Y(1558)](Ae(me)),512<ye[Y(2405)]&&(ye=""[Y(1558)](ye[Y(352)](0,509),Y(1147))),512<Me[Y(2405)]&&(Me=""[Y(1558)](Me[Y(352)](0,509),"...")),Y(2178)===re||re==="equal"?ye=""[Y(1558)](He,` `)[Y(1558)](ye,Y(2003)):Me=" ".concat(re," ")[Y(1558)](Me)),W=P(this,U(fe)[Y(2811)](this,""[Y(1558)](ye)[Y(1558)](Me)))}return Error.stackTraceLimit=Ce,W.generatedMessage=!O,Object.defineProperty(R(W),Y(276),{value:Y(660),enumerable:!1,writable:!0,configurable:!0}),W[Y(2314)]="ERR_ASSERTION",W[Y(1504)]=ce,W[Y(1809)]=me,W[Y(1700)]=re,Error[Y(2581)]&&Error[Y(2581)](R(W),se),W.stack,W[Y(276)]=Y(1676),P(W)}return ge.prototype=Object.create(de&&de[he(2086)],{constructor:{value:ge,writable:!0,configurable:!0}}),de&&F(ge,de),ge=[{key:he(2192),value:function(){var G=he;return"".concat(this[G(276)]," [").concat(this[G(2314)],"]: ").concat(this.message)}},{key:H[he(2358)],value:function(G,Y){return H(this,function(W){for(var O=Tt,re=1;re<arguments[O(2405)];re++){var se=arguments[re]!=null?arguments[re]:{},ce=Object[O(732)](se);(ce=O(605)==typeof Object[O(700)]?ce[O(1558)](Object.getOwnPropertySymbols(se)[O(2230)](function(me){var Ce=O;return Object[Ce(2143)](se,me)[Ce(1812)]})):ce)[O(312)](function(me){var Ce=W,ye=se[me=me];me in Ce?Object.defineProperty(Ce,me,{value:ye,enumerable:!0,configurable:!0,writable:!0}):Ce[me]=ye})}return W}({},Y,{customInspect:!1,depth:0}))}}],S(fe[he(2086)],ge),fe}(),w.exports=M},62136:(w,Q,M)=>{var B=Tt;function D(N){var H=Tt;return(D=typeof Symbol=="function"&&H(792)==typeof Symbol[H(1570)]?function(J){return typeof J}:function(J){var K=H;return J&&K(605)==typeof Symbol&&J[K(1630)]===Symbol&&J!==Symbol.prototype?K(792):typeof J})(N)}function S(N){var H=Tt;return(S=Object[H(859)]?Object.getPrototypeOf:function(J){var K=H;return J[K(996)]||Object[K(2411)](J)})(N)}function P(N,H){var J=Tt;return(P=Object[J(859)]||function(K,X){var j=J;return K[j(996)]=X,K})(N,H)}var R,T,L={};function F(N,H,J){J=J||Error;var K=function(){var X=Tt,j=ie,ee=J;if(X(605)!=typeof ee&&ee!==null)throw new TypeError(X(1932));function ie(z,oe,le){var Ae=X;if(this instanceof ie)return(z=function(he,ge){var de=Tt;if(!ge||de(2538)!==D(ge)&&typeof ge!="function"){if(he!==void 0)return he;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return ge}(this,S(ie)[Ae(2811)](this,Ae(1090)==typeof H?H:H(z,oe,le)))).code=N,z;throw new TypeError(Ae(463))}return j[X(2086)]=Object[X(766)](ee&&ee[X(2086)],{constructor:{value:j,writable:!0,configurable:!0}}),ee&&P(j,ee),ie}();L[N]=K}function U(N,H){var J=Tt,K;return Array.isArray(N)?(K=N[J(2405)],N=N[J(679)](function(X){return String(X)}),2<K?J(645)[J(1558)](H," ").concat(N[J(352)](0,K-1)[J(1814)](", "),J(955))+N[K-1]:K===2?J(645)[J(1558)](H," ")[J(1558)](N[0],J(2168))[J(1558)](N[1]):J(613)[J(1558)](H," ").concat(N[0])):J(613).concat(H," ")[J(1558)](String(N))}F(B(238),B(341),TypeError),F("ERR_INVALID_ARG_TYPE",function(N,H,J){var K=B,X,j,ee,ie;return(R=R===void 0?M(69282):R)(K(1090)==typeof N,K(1125)),K(1090)==typeof H&&H[K(1522)](0,K(1853)[K(2405)])==="not "?(X=K(1393),H=H.replace(/^not /,"")):X=K(1523),(ie===void 0||ie>N.length)&&(ie=N[K(2405)]),(N.substring(ie-(ee=" argument")[K(2405)],ie)===ee?K(947)[K(1558)](N," ")[K(1558)](X," ")[K(1558)](U(H,K(1808))):(ie=(j=K(647)!=typeof j?0:j)+"."[K(2405)]>N[K(2405)]||N[K(1439)](".",j)===-1?K(1891):K(2579),K(421).concat(N,'" ')[K(1558)](ie," ")[K(1558)](X," ")[K(1558)](U(H,"type"))))+K(2792).concat(D(J))},TypeError),F(B(2605),function(N,H){var J=B,K=2<arguments[J(2405)]&&arguments[2]!==void 0?arguments[2]:J(1226),X=(T=T===void 0?M(89539):T).inspect(H);return 128<X[J(2405)]&&(X=""[J(1558)](X[J(352)](0,128),J(1147))),"The argument '"[J(1558)](N,"' ")[J(1558)](K,J(1167)).concat(X)},TypeError,RangeError),F(B(1469),function(N,H,J){var K=B;return J=J&&J[K(1630)]&&J[K(1630)][K(276)]?K(2159)[K(1558)](J[K(1630)][K(276)]):K(2558)[K(1558)](D(J)),"Expected "[K(1558)](N,K(1499))[K(1558)](H,'"')+K(2135).concat(J,".")},TypeError),F("ERR_MISSING_ARGS",function(){for(var N=B,H=arguments.length,j=new Array(H),J=0;J<H;J++)j[J]=arguments[J];(R=R===void 0?M(69282):R)(0<j[N(2405)],N(2188));var K=N(947),X=j[N(2405)],j=j[N(679)](function(ee){var ie=N;return'"'[ie(1558)](ee,'"')});switch(X){case 1:K+=""[N(1558)](j[0],N(1884));break;case 2:K+=""[N(1558)](j[0]," and ")[N(1558)](j[1],N(1800));break;default:K=(K+=j[N(352)](0,X-1)[N(1814)](", "))+N(1820)[N(1558)](j[X-1],N(1800))}return""[N(1558)](K,N(2092))},TypeError),w.exports[B(293)]=L},19158:(w,Q,X)=>{var B=Tt;function D(Fe,Ue){return function(ze){var Je=Tt;if(Array[Je(2021)](ze))return ze}(Fe)||function(ze,Je){var je=Tt,Ze=[],rt=!0,At=!1,yt=void 0;try{for(var at,ft=ze[Symbol[je(1570)]]();!(rt=(at=ft[je(1543)]())[je(1437)])&&(Ze[je(2764)](at.value),!Je||Ze[je(2405)]!==Je);rt=!0);}catch(_t){At=!0,yt=_t}finally{try{rt||ft[je(1097)]==null||ft[je(1097)]()}finally{if(At)throw yt}}return Ze}(Fe,Ue)||function(){var ze=Tt;throw new TypeError(ze(2071))}()}function S(Fe){var Ue=Tt;return(S=typeof Symbol=="function"&&Ue(792)==typeof Symbol[Ue(1570)]?function(ze){return typeof ze}:function(ze){var Je=Ue;return ze&&Je(605)==typeof Symbol&&ze[Je(1630)]===Symbol&&ze!==Symbol[Je(2086)]?"symbol":typeof ze})(Fe)}function P(Fe){var Ue=Tt,ze=[];return Fe[Ue(312)](function(Je){var je=Ue;return ze[je(2764)](Je)}),ze}function R(Fe){var Ue=[];return Fe.forEach(function(ze,Je){var je=Tt;return Ue[je(2764)]([Je,ze])}),Ue}var T=/a/g[B(2466)]!==void 0,L=Object.is||X(20609),F=Object[B(700)]||function(){return[]},U=Number[B(171)]||X(20360);function N(Fe){var Ue=B;return Fe.call[Ue(1703)](Fe)}var H=N(Object[B(2086)][B(2084)]),J=N(Object[B(2086)][B(517)]),K=N(Object[B(2086)][B(2192)]),X=X(89539)[B(986)],j=X[B(2268)],ee=X[B(1839)],ie=X[B(842)],z=X.isMap,oe=X.isRegExp,le=X.isSet,Ae=X[B(2730)],he=X[B(2409)],ge=X[B(1938)],de=X[B(347)],fe=X[B(1671)],G=X[B(854)],Y=X[B(196)],W=X.isFloat32Array,O=X[B(1156)];function re(Fe){var Ue=B;if(Fe.length===0||10<Fe[Ue(2405)])return!0;for(var ze=0;ze<Fe[Ue(2405)];ze++){var Je=Fe.charCodeAt(ze);if(Je<48||57<Je)return!0}return Fe[Ue(2405)]===10&&Fe>=Math[Ue(1905)](2,32)}function se(Fe){var Ue=B;return Object[Ue(732)](Fe)[Ue(2230)](re)[Ue(1558)](F(Fe)[Ue(2230)](Object[Ue(2086)][Ue(517)][Ue(1703)](Fe)))}function ce(Fe,Ue){var ze=B;if(Fe===Ue)return 0;for(var Je=Fe[ze(2405)],je=Ue[ze(2405)],Ze=0,rt=Math[ze(1817)](Je,je);Ze<rt;++Ze)if(Fe[Ze]!==Ue[Ze]){Je=Fe[Ze],je=Ue[Ze];break}return Je<je?-1:je<Je?1:0}var me=0,Ce=1,ye=2,Be=3;function Me(Fe,Ue,ze,Je){var je=B;if(Fe===Ue)return Fe!==0||!ze||L(Fe,Ue);if(ze){if(je(2538)!==S(Fe))return je(647)==typeof Fe&&U(Fe)&&U(Ue);if(je(2538)!==S(Ue)||Fe===null||Ue===null||Object[je(2411)](Fe)!==Object[je(2411)](Ue))return!1}else{if(Fe===null||S(Fe)!=="object")return(Ue===null||je(2538)!==S(Ue))&&Fe==Ue;if(Ue===null||je(2538)!==S(Ue))return!1}var Ze=K(Fe);if(Ze!==K(Ue))return!1;if(Array[je(2021)](Fe)){if(Fe[je(2405)]!==Ue.length)return!1;var rt=se(Fe),At=se(Ue);return rt[je(2405)]===At.length&&ke(Fe,Ue,ze,Je,Ce,rt)}if(je(569)===Ze&&(!z(Fe)&&z(Ue)||!le(Fe)&&le(Ue)))return!1;if(ie(Fe)){if(!ie(Ue)||Date[je(2086)][je(510)][je(2811)](Fe)!==Date[je(2086)][je(510)][je(2811)](Ue))return!1}else if(oe(Fe)){if(!oe(Ue)||(At=Ue,T?Fe[je(2746)]!==At[je(2746)]||Fe.flags!==At.flags:RegExp[je(2086)].toString.call(Fe)!==RegExp[je(2086)][je(2192)].call(At)))return!1}else if(Ae(Fe)||Fe instanceof Error){if(Fe[je(1535)]!==Ue[je(1535)]||Fe[je(276)]!==Ue[je(276)])return!1}else{if(ee(Fe)){if(ze||!W(Fe)&&!O(Fe)){if(Fe.byteLength!==(rt=Ue)[je(2127)]||ce(new Uint8Array(Fe[je(1123)],Fe[je(2481)],Fe[je(2127)]),new Uint8Array(rt.buffer,rt[je(2481)],rt[je(2127)]))!==0)return!1}else if(!function(ft,_t){var et=je;if(ft[et(2127)]===_t[et(2127)]){for(var pt=0;pt<ft[et(2127)];pt++)if(ft[pt]!==_t[pt])return;return 1}}(Fe,Ue))return!1;var Ze=se(Fe),At=se(Ue);return Ze[je(2405)]===At[je(2405)]&&ke(Fe,Ue,ze,Je,me,Ze)}if(le(Fe))return!(!le(Ue)||Fe[je(2094)]!==Ue.size)&&ke(Fe,Ue,ze,Je,ye);if(z(Fe))return!(!z(Ue)||Fe[je(2094)]!==Ue[je(2094)])&&ke(Fe,Ue,ze,Je,Be);if(j(Fe)){if(Fe[je(2127)]!==(rt=Ue)[je(2127)]||ce(new Uint8Array(Fe),new Uint8Array(rt))!==0)return!1}else if(he(Fe)&&(At=Ue,!(ge(Ze=Fe)?ge(At)&&L(Number[je(2086)][je(2207)][je(2811)](Ze),Number[je(2086)][je(2207)][je(2811)](At)):de(Ze)?de(At)&&String.prototype.valueOf[je(2811)](Ze)===String.prototype[je(2207)][je(2811)](At):fe(Ze)?fe(At)&&Boolean[je(2086)].valueOf[je(2811)](Ze)===Boolean[je(2086)][je(2207)][je(2811)](At):G(Ze)?G(At)&&BigInt[je(2086)][je(2207)].call(Ze)===BigInt[je(2086)][je(2207)][je(2811)](At):Y(At)&&Symbol.prototype[je(2207)][je(2811)](Ze)===Symbol[je(2086)][je(2207)][je(2811)](At))))return!1}return ke(Fe,Ue,ze,Je,me)}function He(Fe,Ue){var ze=B;return Ue[ze(2230)](function(Je){return J(Fe,Je)})}function ke(Fe,Ue,ze,Je,je,Ze){var rt=B;if(arguments[rt(2405)]===5){Ze=Object[rt(732)](Fe);var At=Object[rt(732)](Ue);if(Ze[rt(2405)]!==At[rt(2405)])return!1}for(var yt=0;yt<Ze[rt(2405)];yt++)if(!H(Ue,Ze[yt]))return!1;if(ze&&arguments[rt(2405)]===5){var at=F(Fe);if(at.length!==0){for(var ft=0,yt=0;yt<at[rt(2405)];yt++){var _t=at[yt];if(J(Fe,_t)){if(!J(Ue,_t))return!1;Ze[rt(2764)](_t),ft++}else if(J(Ue,_t))return!1}if(At=F(Ue),at.length!==At[rt(2405)]&&He(Ue,At)[rt(2405)]!==ft)return!1}else if(At=F(Ue),At.length!==0&&He(Ue,At)[rt(2405)]!==0)return!1}if(Ze[rt(2405)]===0&&(je===me||je===Ce&&Fe[rt(2405)]===0||Fe[rt(2094)]===0))return!0;if(Je===void 0)Je={val1:new Map,val2:new Map,position:0};else{if(At=Je[rt(2401)][rt(2009)](Fe),At!==void 0){var et=Je[rt(193)][rt(2009)](Ue);if(et!==void 0)return At===et}Je[rt(733)]++}return Je[rt(2401)][rt(935)](Fe,Je[rt(733)]),Je[rt(193)].set(Ue,Je.position),At=function(pt,zt,It,Pt,St,dt){var Le=rt,_e=0;if(dt===ye){if(!function(Bt,bi,nr,Ai){for(var xi=Tt,Fi,pi,Vt,Kt=null,di=P(Bt),ui=0;ui<di.length;ui++){var Ht=di[ui];if(S(Ht)==="object"&&Ht!==null)(Kt=Kt===null?new Set:Kt)[xi(1002)](Ht);else if(!bi.has(Ht)){if(nr||(Fi=Bt,pi=bi,Vt=void 0,!((Vt=Pe(Ht))!=null?Vt:pi[xi(2647)](Vt)&&!Fi[xi(2647)](Vt))))return;(Kt=Kt===null?new Set:Kt)[xi(1002)](Ht)}}if(Kt===null)return 1;for(var Ei=P(bi),gt=0;gt<Ei.length;gt++){var bt=Ei[gt];if(xi(2538)===S(bt)&&bt!==null){if(!Ne(Kt,bt,nr,Ai))return}else if(!nr&&!Bt.has(bt)&&!Ne(Kt,bt,nr,Ai))return}return Kt[xi(2094)]===0}(pt,zt,It,St))return!1}else if(dt===Be){if(!function(Bt,bi,nr,Ai){for(var xi=Tt,Fi=null,pi=R(Bt),Vt=0;Vt<pi[xi(2405)];Vt++){var di=D(pi[Vt],2),Kt=di[0],di=di[1];if(xi(2538)===S(Kt)&&Kt!==null)(Fi=Fi===null?new Set:Fi).add(Kt);else{var ui=bi[xi(2009)](Kt);if(ui===void 0&&!bi.has(Kt)||!Me(di,ui,nr,Ai)){if(nr||!function(bt,Ot,Wt,Oi){var Ci=xi,so=Pe(Kt);if(so!=null)return so;var Mn=Ot[Ci(2009)](so);return(Mn!==void 0||Ot[Ci(2647)](so))&&Me(Wt,Mn,!1,Oi)&&!bt[Ci(2647)](so)&&Me(Wt,Mn,!1,Oi)}(Bt,bi,di,Ai))return;(Fi=Fi===null?new Set:Fi).add(Kt)}}}if(Fi===null)return 1;for(var Ht=R(bi),Ei=0;Ei<Ht[xi(2405)];Ei++){var gt=D(Ht[Ei],2),Kt=gt[0],gt=gt[1];if(xi(2538)===S(Kt)&&Kt!==null){if(!we(Fi,Bt,Kt,gt,nr,Ai))return}else if(!(nr||Bt[xi(2647)](Kt)&&Me(Bt[xi(2009)](Kt),gt,!1,Ai)||we(Fi,Bt,Kt,gt,!1,Ai)))return}return Fi[xi(2094)]===0}(pt,zt,It,St))return!1}else if(dt===Ce)for(;_e<pt[Le(2405)];_e++){if(!H(pt,_e)){if(H(zt,_e))return!1;for(var Oe=Object[Le(732)](pt);_e<Oe[Le(2405)];_e++){var vt=Oe[_e];if(!H(zt,vt)||!Me(pt[vt],zt[vt],It,St))return!1}return Oe.length===Object.keys(zt)[Le(2405)]}if(!H(zt,_e)||!Me(pt[_e],zt[_e],It,St))return!1}for(_e=0;_e<Pt[Le(2405)];_e++){var wt=Pt[_e];if(!Me(pt[wt],zt[wt],It,St))return!1}return!0}(Fe,Ue,ze,Ze,Je,je),Je.val1[rt(2718)](Fe),Je[rt(193)].delete(Ue),At}function Ne(Fe,Ue,ze,Je){for(var je=B,Ze=P(Fe),rt=0;rt<Ze[je(2405)];rt++){var At=Ze[rt];if(Me(Ue,At,ze,Je))return Fe[je(2718)](At),1}}function Pe(Fe){var Ue=B;switch(S(Fe)){case Ue(621):return null;case Ue(2538):return;case Ue(792):return!1;case Ue(1090):Fe=+Fe;case Ue(647):if(U(Fe))return!1}return!0}function we(Fe,Ue,ze,Je,je,Ze){for(var rt=B,At=P(Fe),yt=0;yt<At[rt(2405)];yt++){var at=At[yt];if(Me(ze,at,je,Ze)&&Me(Je,Ue[rt(2009)](at),je,Ze))return Fe[rt(2718)](at),1}}w[B(2726)]={isDeepEqual:function(Fe,Ue){return Me(Fe,Ue,!1)},isDeepStrictEqual:function(Fe,Ue){return Me(Fe,Ue,!0)}}},16314:(w,Q,M)=>{var B=Tt,D=["BigInt64Array",B(774),B(1935),"Float64Array",B(2522),"Int32Array",B(2326),"Uint16Array","Uint32Array",B(778),"Uint8ClampedArray"],S=B(621)==typeof globalThis?M.g:globalThis;w[B(2726)]=function(){for(var P=B,R=[],T=0;T<D[P(2405)];T++)typeof S[D[T]]=="function"&&(R[R[P(2405)]]=D[T]);return R}},9669:(w,Q,M)=>{var B=Tt;w[B(2726)]=M(51609)},55448:(w,Q,M)=>{var B=Tt,D=M(64867),S=M(36026),P=M(4372),R=M(15327),T=M(94097),L=M(84109),F=M(67985),U=M(77874),N=M(82648),H=M(60644),J=M(90205);w[B(2726)]=function(K){return new Promise(function(X,j){var ee=Tt,ie,de=K[ee(1322)],z=K[ee(325)],oe=K[ee(2372)];function le(){var G=ee;K[G(481)]&&K.cancelToken.unsubscribe(ie),K[G(1704)]&&K.signal[G(1489)]("abort",ie)}D.isFormData(de)&&D[ee(454)]()&&delete z[ee(720)];var Ae=new XMLHttpRequest,he=(K[ee(418)]&&(he=K[ee(418)][ee(233)]||"",fe=K[ee(418)][ee(2276)]?unescape(encodeURIComponent(K.auth[ee(2276)])):"",z.Authorization=ee(723)+btoa(he+":"+fe)),T(K[ee(874)],K[ee(2090)]));function ge(){var G=ee,Y;Ae&&(Y=G(1063)in Ae?L(Ae[G(1063)]()):null,Y={data:oe&&G(628)!==oe&&oe!=="json"?Ae[G(2185)]:Ae.responseText,status:Ae[G(1328)],statusText:Ae[G(2575)],headers:Y,config:K,request:Ae},S(function(W){X(W),le()},function(W){j(W),le()},Y),Ae=null)}Ae[ee(665)](K[ee(1919)][ee(634)](),R(he,K[ee(306)],K[ee(362)]),!0),Ae[ee(928)]=K.timeout,"onloadend"in Ae?Ae[ee(1280)]=ge:Ae[ee(2445)]=function(){var G=ee;Ae&&Ae.readyState===4&&(Ae[G(1328)]!==0||Ae[G(2494)]&&Ae.responseURL[G(1439)](G(1609))===0)&&setTimeout(ge)},Ae[ee(2574)]=function(){var G=ee;Ae&&(j(new N(G(1749),N[G(1879)],K,Ae)),Ae=null)},Ae[ee(433)]=function(){var G=ee;j(new N(G(1661),N[G(2104)],K,Ae,Ae)),Ae=null},Ae[ee(1640)]=function(){var G=ee,Y=K[G(928)]?G(890)+K[G(928)]+G(991):G(1061),W=K[G(1493)]||U;K.timeoutErrorMessage&&(Y=K[G(355)]),j(new N(Y,W[G(1303)]?N[G(2380)]:N.ECONNABORTED,K,Ae)),Ae=null},D[ee(454)]()&&(fe=(K.withCredentials||F(he))&&K[ee(2158)]?P[ee(848)](K[ee(2158)]):void 0)&&(z[K[ee(2604)]]=fe),"setRequestHeader"in Ae&&D[ee(312)](z,function(G,Y){var W=ee;de===void 0&&W(285)===Y[W(444)]()?delete z[Y]:Ae[W(194)](Y,G)}),D[ee(2387)](K[ee(251)])||(Ae[ee(251)]=!!K[ee(251)]),oe&&ee(1423)!==oe&&(Ae[ee(2372)]=K[ee(2372)]),ee(605)==typeof K[ee(2468)]&&Ae[ee(1680)](ee(468),K[ee(2468)]),ee(605)==typeof K[ee(213)]&&Ae[ee(2307)]&&Ae[ee(2307)][ee(1680)](ee(468),K[ee(213)]),(K[ee(481)]||K.signal)&&(ie=function(G){var Y=ee;Ae&&(j(!G||G.type?new H:G),Ae[Y(878)](),Ae=null)},K[ee(481)]&&K[ee(481)][ee(1456)](ie),K[ee(1704)]&&(K.signal[ee(1943)]?ie():K.signal.addEventListener(ee(878),ie)));var de=de||null,fe=J(he);fe&&[ee(228),ee(1347),ee(1180)][ee(1439)](fe)===-1?j(new N(ee(2773)+fe+":",N.ERR_BAD_REQUEST,K)):Ae[ee(1544)](de)})}},51609:(w,Q,M)=>{var B=Tt,D=M(64867),S=M(91849),P=M(30321),R=M(47185),T=function L(F){var U=Tt,N=new P(F),H=S(P[U(2086)].request,N);return D[U(2238)](H,P[U(2086)],N),D[U(2238)](H,N),H.create=function(J){return L(R(F,J))},H}(M(45546));T[B(319)]=P,T[B(1309)]=M(60644),T[B(1317)]=M(14972),T[B(535)]=M(26502),T.VERSION=M(97288)[B(1089)],T.toFormData=M(47675),T.AxiosError=M(82648),T.Cancel=T.CanceledError,T[B(165)]=function(L){return Promise.all(L)},T[B(573)]=M(8713),T[B(1236)]=M(16268),w[B(2726)]=T,w[B(2726)][B(916)]=T},14972:(w,Q,M)=>{var B=Tt,D=M(60644);function S(P){var R=Tt;if(R(605)!=typeof P)throw new TypeError(R(2436));this[R(1783)]=new Promise(function(F){T=F});var T,L=this;this[R(1783)][R(2683)](function(F){var U=R;if(L[U(2614)]){for(var N=L[U(2614)][U(2405)],H=0;H<N;H++)L[U(2614)][H](F);L[U(2614)]=null}}),this.promise[R(2683)]=function(H){var U=R,N,H=new Promise(function(J){L.subscribe(J),N=J})[U(2683)](H);return H.cancel=function(){var J=U;L[J(1634)](N)},H},P(function(F){var U=R;L[U(2299)]||(L[U(2299)]=new D(F),T(L[U(2299)]))})}S[B(2086)][B(924)]=function(){if(this.reason)throw this.reason},S[B(2086)][B(1456)]=function(P){var R=B;this.reason?P(this[R(2299)]):this._listeners?this._listeners[R(2764)](P):this._listeners=[P]},S[B(2086)][B(1634)]=function(P){var R=B;this._listeners&&(P=this[R(2614)][R(1439)](P))!==-1&&this[R(2614)][R(2407)](P,1)},S[B(2746)]=function(){var P;return{token:new S(function(R){P=R}),cancel:P}},w[B(2726)]=S},60644:(w,Q,M)=>{var B=Tt,D=M(82648);function S(P){var R=Tt;D[R(2811)](this,P??R(796),D[R(664)]),this.name=R(1309)}M(64867)[B(1341)](S,D,{__CANCEL__:!0}),w[B(2726)]=S},26502:w=>{var Q=Tt;w[Q(2726)]=function(M){var B=Q;return!(!M||!M[B(2214)])}},30321:(w,Q,M)=>{var B=Tt,D=M(64867),S=M(15327),P=M(80782),R=M(13572),T=M(47185),L=M(94097),F=M(54875),U=F[B(1874)];function N(H){var J=B;this[J(338)]=H,this[J(1257)]={request:new P,response:new P}}N.prototype.request=function(j,J){var K=B;typeof j=="string"?(J=J||{})[K(2090)]=j:J=j||{},(J=T(this[K(338)],J))[K(1919)]?J.method=J.method[K(444)]():this[K(338)][K(1919)]?J.method=this[K(338)][K(1919)][K(444)]():J[K(1919)]=K(2009);var X,j=J[K(1493)],ee=(j!==void 0&&F[K(2018)](j,{silentJSONParsing:U.transitional(U[K(1927)]),forcedJSONParsing:U[K(1493)](U[K(1927)]),clarifyTimeoutError:U[K(1493)](U[K(1927)])},!1),[]),ie=!0,z=(this.interceptors[K(281)][K(312)](function(ge){var de=K;de(605)==typeof ge[de(447)]&&ge.runWhen(J)===!1||(ie=ie&&ge[de(1053)],ee[de(917)](ge.fulfilled,ge[de(169)]))}),[]);if(this[K(1257)][K(2185)][K(312)](function(ge){var de=K;z.push(ge[de(2623)],ge[de(169)])}),!ie){var oe=[R,void 0];for(Array[K(2086)][K(917)][K(724)](oe,ee),oe=oe[K(1558)](z),X=Promise[K(1698)](J);oe[K(2405)];)X=X[K(2683)](oe[K(2626)](),oe[K(2626)]());return X}for(var le=J;ee[K(2405)];){var Ae=ee.shift(),he=ee.shift();try{le=Ae(le)}catch(ge){he(ge);break}}try{X=R(le)}catch(ge){return Promise[K(2046)](ge)}for(;z[K(2405)];)X=X[K(2683)](z[K(2626)](),z[K(2626)]());return X},N[B(2086)].getUri=function(H){var J=B;H=T(this.defaults,H);var K=L(H.baseURL,H.url);return S(K,H[J(306)],H[J(362)])},D[B(312)](["delete",B(2009),B(558),B(1677)],function(H){N.prototype[H]=function(J,K){var X=Tt;return this[X(281)](T(K||{},{method:H,url:J,data:(K||{})[X(1322)]}))}}),D[B(312)](["post",B(2388),B(1231)],function(H){var J=B;function K(X){return function(j,ee,ie){var z=Tt;return this[z(281)](T(ie||{},{method:H,headers:X?{"Content-Type":z(1043)}:{},url:j,data:ee}))}}N[J(2086)][H]=K(),N[J(2086)][H+"Form"]=K(!0)}),w[B(2726)]=N},82648:(w,Q,M)=>{var B=Tt,D=M(64867);function S(T,L,F,U,N){var H=Tt;Error[H(2811)](this),this[H(1535)]=T,this[H(276)]=H(1429),L&&(this.code=L),F&&(this[H(572)]=F),U&&(this[H(281)]=U),N&&(this[H(2185)]=N)}D[B(1341)](S,Error,{toJSON:function(){var T=B;return{message:this[T(1535)],name:this.name,description:this[T(666)],number:this[T(647)],fileName:this.fileName,lineNumber:this[T(344)],columnNumber:this[T(1351)],stack:this[T(1224)],config:this.config,code:this.code,status:this.response&&this[T(2185)][T(1328)]?this[T(2185)][T(1328)]:null}}});var P=S[B(2086)],R={};[B(1196),B(658),"ECONNABORTED",B(2380),B(2104),B(262),B(2361),"ERR_BAD_RESPONSE",B(1442),B(664)][B(312)](function(T){R[T]={value:T}}),Object[B(2350)](S,R),Object[B(1073)](P,"isAxiosError",{value:!0}),S[B(2151)]=function(T,L,F,U,N,H){var J=B,K=Object.create(P);return D.toFlatObject(T,K,function(X){var j=Tt;return X!==Error[j(2086)]}),S.call(K,T.message,L,F,U,N),K[J(276)]=T[J(276)],H&&Object[J(2628)](K,H),K},w[B(2726)]=S},80782:(w,Q,M)=>{var B=Tt,D=M(64867);function S(){this.handlers=[]}S[B(2086)][B(1717)]=function(P,R,T){var L=B;return this[L(2596)][L(2764)]({fulfilled:P,rejected:R,synchronous:!!T&&T[L(1053)],runWhen:T?T[L(447)]:null}),this[L(2596)][L(2405)]-1},S[B(2086)].eject=function(P){this.handlers[P]&&(this.handlers[P]=null)},S[B(2086)][B(312)]=function(P){var R=B;D[R(312)](this[R(2596)],function(T){T!==null&&P(T)})},w[B(2726)]=S},94097:(w,Q,M)=>{var B=Tt,D=M(91793),S=M(7303);w[B(2726)]=function(P,R){return P&&!D(R)?S(P,R):R}},13572:(w,Q,M)=>{var B=Tt,D=M(64867),S=M(18527),P=M(26502),R=M(45546),T=M(60644);function L(F){var U=Tt;if(F.cancelToken&&F[U(481)][U(924)](),F[U(1704)]&&F[U(1704)][U(1943)])throw new T}w[B(2726)]=function(F){var U=B;return L(F),F[U(325)]=F[U(325)]||{},F[U(1322)]=S[U(2811)](F,F[U(1322)],F.headers,F[U(1952)]),F.headers=D.merge(F[U(325)].common||{},F[U(325)][F[U(1919)]]||{},F[U(325)]),D[U(312)]([U(2718),U(2009),U(558),"post","put","patch",U(2157)],function(N){var H=U;delete F[H(325)][N]}),(F[U(2594)]||R[U(2594)])(F)[U(2683)](function(N){var H=U;return L(F),N.data=S.call(F,N.data,N[H(325)],F.transformResponse),N},function(N){var H=U;return P(N)||(L(F),N&&N[H(2185)]&&(N.response.data=S[H(2811)](F,N[H(2185)].data,N[H(2185)].headers,F[H(957)]))),Promise[H(2046)](N)})}},47185:(w,Q,M)=>{var B=Tt,D=M(64867);w[B(2726)]=function(S,P){var R=B;P=P||{};var T={};function L(K,X){var j=Tt;return D.isPlainObject(K)&&D[j(809)](X)?D[j(1064)](K,X):D[j(809)](X)?D.merge({},X):D[j(2021)](X)?X[j(352)]():X}function F(K){var X=Tt;return D[X(2387)](P[K])?D[X(2387)](S[K])?void 0:L(void 0,S[K]):L(S[K],P[K])}function U(K){var X=Tt;if(!D[X(2387)](P[K]))return L(void 0,P[K])}function N(K){return D.isUndefined(P[K])?D.isUndefined(S[K])?void 0:L(void 0,S[K]):L(void 0,P[K])}function H(K){return K in P?L(S[K],P[K]):K in S?L(void 0,S[K]):void 0}var J={url:U,method:U,data:U,baseURL:N,transformRequest:N,transformResponse:N,paramsSerializer:N,timeout:N,timeoutMessage:N,withCredentials:N,adapter:N,responseType:N,xsrfCookieName:N,xsrfHeaderName:N,onUploadProgress:N,onDownloadProgress:N,decompress:N,maxContentLength:N,maxBodyLength:N,beforeRedirect:N,transport:N,httpAgent:N,httpsAgent:N,cancelToken:N,socketPath:N,responseEncoding:N,validateStatus:H};return D[R(312)](Object[R(732)](S)[R(1558)](Object[R(732)](P)),function(K){var X=R,j=J[K]||F,ee=j(K);D[X(2387)](ee)&&j!==H||(T[K]=ee)}),T}},36026:(w,Q,M)=>{var B=Tt,D=M(82648);w[B(2726)]=function(S,P,R){var T=B,L=R.config[T(2788)];R.status&&L&&!L(R[T(1328)])?P(new D(T(1149)+R.status,[D[T(1442)],D.ERR_BAD_RESPONSE][Math[T(799)](R.status/100)-4],R[T(572)],R[T(281)],R)):S(R)}},18527:(w,Q,M)=>{var B=M(64867),D=M(45546);w.exports=function(S,P,R){var T=this||D;return B.forEach(R,function(L){var F=Tt;S=L[F(2811)](T,S,P)}),S}},45546:(w,Q,M)=>{var B=Tt,D=M(34155),S=M(64867),P=M(16016),R=M(82648),T=M(77874),L=M(47675),F={"Content-Type":B(2421)};function U(J,K){var X=B;!S[X(2387)](J)&&S.isUndefined(J[X(720)])&&(J["Content-Type"]=K)}var N,H={transitional:T,adapter:N=typeof XMLHttpRequest<"u"||D!==void 0&&B(1753)===Object[B(2086)][B(2192)][B(2811)](D)?M(55448):N,transformRequest:[function(J,K){var X=B;if(P(K,X(2391)),P(K,"Content-Type"),S[X(2116)](J)||S[X(1843)](J)||S[X(1564)](J)||S[X(493)](J)||S.isFile(J)||S[X(439)](J))return J;if(S[X(1839)](J))return J[X(1123)];if(S[X(597)](J))return U(K,X(541)),J[X(2192)]();var j,ee=S[X(1600)](J),ie=K&&K[X(720)];if((z=S[X(1611)](J))||ee&&ie==="multipart/form-data")return j=this[X(508)]&&this[X(508)][X(246)],L(z?{"files[]":J}:J,j&&new j);if(ee||X(2118)===ie){U(K,X(2118));var z=J;if(S[X(825)](z))try{return(0,JSON[X(2156)])(z),S.trim(z)}catch(oe){if(oe[X(276)]!=="SyntaxError")throw oe}return(0,JSON[X(650)])(z)}return J}],transformResponse:[function(J){var K=B,X=this.transitional||H.transitional,j=X&&X[K(427)],X=X&&X[K(1173)],j=!j&&K(1423)===this[K(2372)];if(j||X&&S[K(825)](J)&&J[K(2405)])try{return JSON[K(2156)](J)}catch(ee){if(j)throw K(850)===ee[K(276)]?R[K(2151)](ee,R[K(1964)],this,null,this[K(2185)]):ee}return J}],timeout:0,xsrfCookieName:B(1087),xsrfHeaderName:B(1333),maxContentLength:-1,maxBodyLength:-1,env:{FormData:M(91623)},validateStatus:function(J){return 200<=J&&J<300},headers:{common:{Accept:B(1942)}}};S[B(312)]([B(2718),"get",B(558)],function(J){H.headers[J]={}}),S[B(312)]([B(2125),B(2388),B(1231)],function(J){var K=B;H[K(325)][J]=S.merge(F)}),w[B(2726)]=H},77874:w=>{var Q=Tt;w[Q(2726)]={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},97288:w=>{var Q=Tt;w[Q(2726)]={version:Q(2668)}},91849:w=>{var Q=Tt;w[Q(2726)]=function(M,B){return function(){for(var D=Tt,S=new Array(arguments.length),P=0;P<S[D(2405)];P++)S[P]=arguments[P];return M[D(724)](B,S)}}},15327:(w,Q,M)=>{var B=Tt,D=M(64867);function S(P){var R=Tt;return encodeURIComponent(P)[R(2489)](/%3A/gi,":")[R(2489)](/%24/g,"$")[R(2489)](/%2C/gi,",")[R(2489)](/%20/g,"+")[R(2489)](/%5B/gi,"[")[R(2489)](/%5D/gi,"]")}w[B(2726)]=function(P,R,U){var L=B;if(!R)return P;var F,U=U?U(R):D[L(597)](R)?R[L(2192)]():(F=[],D.forEach(R,function(N,H){var J=L;N!=null&&(D[J(2021)](N)?H+="[]":N=[N],D[J(312)](N,function(K){var X=J;D[X(842)](K)?K=K[X(209)]():D[X(1600)](K)&&(K=JSON[X(650)](K)),F[X(2764)](S(H)+"="+S(K))}))}),F[L(1814)]("&"));return U&&((R=P[L(1439)]("#"))!==-1&&(P=P.slice(0,R)),P+=(P.indexOf("?")===-1?"?":"&")+U),P}},7303:w=>{w.exports=function(Q,M){var B=Tt;return M?Q[B(2489)](/\/+$/,"")+"/"+M.replace(/^\/+/,""):Q}},4372:(w,Q,M)=>{var B=Tt,D=M(64867);w[B(2726)]=D[B(454)]()?{write:function(S,P,R,T,L,F){var U=B,N=[];N[U(2764)](S+"="+encodeURIComponent(P)),D[U(2191)](R)&&N.push(U(1305)+new Date(R).toGMTString()),D[U(825)](T)&&N.push(U(2632)+T),D[U(825)](L)&&N[U(2764)]("domain="+L),F===!0&&N[U(2764)](U(906)),document[U(2700)]=N.join("; ")},read:function(S){var P=B;return S=document[P(2700)][P(1708)](new RegExp(P(216)+S+P(2339))),S?decodeURIComponent(S[3]):null},remove:function(S){var P=B;this[P(677)](S,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},91793:w=>{var Q=Tt;w[Q(2726)]=function(M){var B=Q;return/^([a-z][a-z\d+\-.]*:)?\/\//i[B(529)](M)}},16268:(w,Q,M)=>{var B=M(64867);w.exports=function(D){var S=Tt;return B[S(1600)](D)&&D[S(1236)]===!0}},67985:(w,Q,M)=>{var B=Tt,D,S,P,R=M(64867);function T(L){var F=Tt;return S&&(P[F(2259)](F(2550),L),L=P[F(2550)]),P[F(2259)](F(2550),L),{href:P[F(2550)],protocol:P.protocol?P[F(2368)][F(2489)](/:$/,""):"",host:P[F(1082)],search:P[F(340)]?P[F(340)].replace(/^\?/,""):"",hash:P[F(1312)]?P[F(1312)][F(2489)](/^#/,""):"",hostname:P[F(1802)],port:P[F(577)],pathname:P[F(2799)][F(442)](0)==="/"?P[F(2799)]:"/"+P.pathname}}w[B(2726)]=R[B(454)]()?(S=/(msie|trident)/i[B(529)](navigator[B(699)]),P=document.createElement("a"),D=T(window.location[B(2550)]),function(L){var F=B;return L=R.isString(L)?T(L):L,L.protocol===D[F(2368)]&&L[F(1082)]===D[F(1082)]}):function(){return!0}},16016:(w,Q,M)=>{var B=Tt,D=M(64867);w[B(2726)]=function(S,P){var R=B;D[R(312)](S,function(T,L){var F=R;L!==P&&L[F(634)]()===P.toUpperCase()&&(S[P]=T,delete S[L])})}},91623:w=>{w.exports=null},84109:(w,Q,M)=>{var B=Tt,D=M(64867),S=["age","authorization",B(1135),B(285),B(1119),B(1385),B(2151),B(1082),B(349),B(334),B(1470),"location",B(1035),B(1286),B(2142),"retry-after",B(1762)];w.exports=function(P){var R=B,T,L,F={};return P&&D[R(312)](P[R(2523)](` `),function(U){var N=R;L=U[N(1439)](":"),T=D[N(2134)](U[N(1522)](0,L))[N(444)](),L=D[N(2134)](U[N(1522)](L+1)),!T||F[T]&&0<=S.indexOf(T)||(F[T]=N(656)===T?(F[T]||[])[N(1558)]([L]):F[T]?F[T]+", "+L:L)}),F}},90205:w=>{w.exports=function(Q){return Q=/^([-+\w]{1,25})(:?\/\/|:)/.exec(Q),Q&&Q[1]||""}},8713:w=>{var Q=Tt;w[Q(2726)]=function(M){return function(B){var D=Tt;return M[D(724)](null,B)}}},47675:(w,Q,M)=>{var B=Tt,D=M(48764)[B(964)],S=M(64867);w.exports=function(P,R){R=R||new FormData;var T=[];function L(F){var U=Tt;return F===null?"":S.isDate(F)?F[U(209)]():S[U(1843)](F)||S[U(2428)](F)?typeof Blob=="function"?new Blob([F]):D[U(2151)](F):F}return function F(U,N){var H=Tt;if(S.isPlainObject(U)||S[H(2021)](U)){if(T[H(1439)](U)!==-1)throw Error(H(1873)+N);T.push(U),S[H(312)](U,function(J,K){var X=H;if(!S[X(2387)](J)){var j=N?N+"."+K:K;if(J&&!N&&X(2538)==typeof J){if(S[X(688)](K,"{}"))J=JSON[X(650)](J);else if(S[X(688)](K,"[]")&&(K=S[X(1780)](J)))return void K[X(312)](function(ee){S.isUndefined(ee)||R.append(j,L(ee))})}F(J,j)}}),T[H(619)]()}else R[H(987)](N,L(U))}(P),R}},54875:(w,Q,M)=>{var B=Tt,D=M(25108),S=M(97288)[B(1089)],P=M(82648),R={},T=([B(2538),"boolean",B(647),"function",B(1090),"symbol"][B(312)](function(L,F){R[L]=function(U){return typeof U===L||"a"+(F<1?"n ":" ")+L}}),{});R[B(1493)]=function(L,F,U){function N(H,J){var K=Tt;return"[Axios v"+S+K(669)+H+"'"+J+(U?". "+U:"")}return function(H,J,K){var X=Tt;if(L===!1)throw new P(N(J,X(411)+(F?X(2152)+F:"")),P[X(2361)]);return F&&!T[J]&&(T[J]=!0,D[X(998)](N(J,X(2285)+F+X(2056)))),!L||L(H,J,K)}},w[B(2726)]={assertOptions:function(L,F,U){var N=B;if(N(2538)!=typeof L)throw new P("options must be an object",P[N(1196)]);for(var H=Object.keys(L),J=H[N(2405)];0<J--;){var K=H[J],X=F[K];if(X){var j=L[K],X=j===void 0||X(j,K,L);if(X!==!0)throw new P("option "+K+" must be "+X,P[N(1196)])}else if(U!==!0)throw new P(N(1709)+K,P[N(658)])}},validators:R}},64867:(w,Q,J)=>{var B=Tt;function D(le){var Ae=Tt;return le=R.call(le),S[le]||(S[le]=le[Ae(352)](8,-1)[Ae(444)]())}var S,P=J(91849),R=Object.prototype.toString;S=Object[B(766)](null);function T(le){return le=le.toLowerCase(),function(Ae){return D(Ae)===le}}function L(le){var Ae=B;return Array[Ae(2021)](le)}function F(le){return le===void 0}var U=T(B(2740));function N(le){var Ae=B;return le!==null&&Ae(2538)==typeof le}function H(le){var Ae=B;return Ae(2538)!==D(le)?!1:(le=Object[Ae(2411)](le),le===null||le===Object[Ae(2086)])}var J=T("Date"),K=T(B(2001)),X=T(B(1864)),j=T(B(833));function ee(le){var Ae=B;return Ae(2100)===R[Ae(2811)](le)}var ie,z=T("URLSearchParams");function oe(le,Ae){var he=B;if(le!=null)if(L(le=typeof le!="object"?[le]:le))for(var ge=0,de=le.length;ge<de;ge++)Ae.call(null,le[ge],ge,le);else for(var fe in le)Object.prototype.hasOwnProperty[he(2811)](le,fe)&&Ae[he(2811)](null,le[fe],fe,le)}ie=typeof Uint8Array<"u"&&Object[B(2411)](Uint8Array),w.exports={isArray:L,isArrayBuffer:U,isBuffer:function(le){var Ae=B;return le!==null&&!F(le)&&le[Ae(1630)]!==null&&!F(le[Ae(1630)])&&typeof le[Ae(1630)][Ae(1564)]=="function"&&le.constructor[Ae(1564)](le)},isFormData:function(le){var Ae=B,he=Ae(501);return le&&(Ae(605)==typeof FormData&&le instanceof FormData||R[Ae(2811)](le)===he||ee(le[Ae(2192)])&&le[Ae(2192)]()===he)},isArrayBufferView:function(le){var Ae=B;return typeof ArrayBuffer<"u"&&ArrayBuffer[Ae(2155)]?ArrayBuffer.isView(le):le&&le.buffer&&U(le.buffer)},isString:function(le){var Ae=B;return Ae(1090)==typeof le},isNumber:function(le){var Ae=B;return Ae(647)==typeof le},isObject:N,isPlainObject:H,isUndefined:F,isDate:J,isFile:K,isBlob:X,isFunction:ee,isStream:function(le){var Ae=B;return N(le)&&ee(le[Ae(377)])},isURLSearchParams:z,isStandardBrowserEnv:function(){var le=B;return(typeof navigator>"u"||le(504)!==navigator[le(2309)]&&le(1989)!==navigator[le(2309)]&&navigator[le(2309)]!=="NS")&&le(621)!=typeof window&&typeof document<"u"},forEach:oe,merge:function le(){var Ae=B,he={};function ge(G,Y){var W=Tt;H(he[Y])&&H(G)?he[Y]=le(he[Y],G):H(G)?he[Y]=le({},G):L(G)?he[Y]=G[W(352)]():he[Y]=G}for(var de=0,fe=arguments[Ae(2405)];de<fe;de++)oe(arguments[de],ge);return he},extend:function(le,Ae,he){return oe(Ae,function(ge,de){var fe=Tt;le[de]=he&&fe(605)==typeof ge?P(ge,he):ge}),le},trim:function(le){var Ae=B;return le[Ae(2134)]?le[Ae(2134)]():le[Ae(2489)](/^\s+|\s+$/g,"")},stripBOM:function(le){return le.charCodeAt(0)===65279?le.slice(1):le},inherits:function(le,Ae,he,ge){var de=B;le[de(2086)]=Object[de(766)](Ae[de(2086)],ge),le[de(2086)][de(1630)]=le,he&&Object[de(2628)](le[de(2086)],he)},toFlatObject:function(le,Ae,he){var ge=B,de,fe,G,Y={};Ae=Ae||{};do for(fe=(de=Object[ge(1906)](le))[ge(2405)];0<fe--;)Y[G=de[fe]]||(Ae[G]=le[G],Y[G]=!0);while((le=Object[ge(2411)](le))&&(!he||he(le,Ae))&&le!==Object[ge(2086)]);return Ae},kindOf:D,kindOfTest:T,endsWith:function(le,Ae,he){var ge=B;return le=String(le),(he===void 0||he>le.length)&&(he=le[ge(2405)]),he-=Ae[ge(2405)],le=le[ge(1439)](Ae,he),le!==-1&&le===he},toArray:function(le){var Ae=B;if(!le)return null;var he=le[Ae(2405)];if(F(he))return null;for(var ge=new Array(he);0<he--;)ge[he]=le[he];return ge},isTypedArray:function(le){return ie&&le instanceof ie},isFileList:j}},79742:(w,Q)=>{var M=Tt;Q.byteLength=function(N){var N=L(N),U=N[0],N=N[1];return 3*(U+N)/4-N},Q[M(764)]=function(F){for(var U=M,N,J=L(F),H=J[0],J=J[1],K=new S(3*(H+J)/4-J),X=0,j=0<J?H-4:H,ee=0;ee<j;ee+=4)N=D[F[U(2282)](ee)]<<18|D[F[U(2282)](ee+1)]<<12|D[F[U(2282)](ee+2)]<<6|D[F[U(2282)](ee+3)],K[X++]=N>>16&255,K[X++]=N>>8&255,K[X++]=255&N;return J===2&&(N=D[F[U(2282)](ee)]<<2|D[F.charCodeAt(ee+1)]>>4,K[X++]=255&N),J===1&&(N=D[F.charCodeAt(ee)]<<10|D[F.charCodeAt(ee+1)]<<4|D[F[U(2282)](ee+2)]>>2,K[X++]=N>>8&255,K[X++]=255&N),K},Q[M(2017)]=function(F){for(var U=M,N,H=F[U(2405)],J=H%3,K=[],X=0,j=H-J;X<j;X+=16383)K.push(function(ee,ie){for(var z=U,oe,le=[],Ae=X;Ae<ie;Ae+=3)oe=(ee[Ae]<<16&16711680)+(ee[Ae+1]<<8&65280)+(255&ee[Ae+2]),le[z(2764)](B[oe>>18&63]+B[oe>>12&63]+B[oe>>6&63]+B[63&oe]);return le[z(1814)]("")}(F,j<X+16383?j:X+16383));return J==1?(N=F[H-1],K[U(2764)](B[N>>2]+B[N<<4&63]+"==")):J==2&&(N=(F[H-2]<<8)+F[H-1],K[U(2764)](B[N>>10]+B[N>>4&63]+B[N<<2&63]+"=")),K[U(1814)]("")};for(var B=[],D=[],S=M(621)!=typeof Uint8Array?Uint8Array:Array,P=M(434),R=0,T=P[M(2405)];R<T;++R)B[R]=P[R],D[P.charCodeAt(R)]=R;function L(F){var U=M,N=F[U(2405)];if(0<N%4)throw new Error("Invalid string. Length must be a multiple of 4");return F=F[U(1439)]("="),N=(F=F===-1?N:F)===N?0:4-F%4,[F,N]}D["-"[M(2282)](0)]=62,D["_"[M(2282)](0)]=63},13550:function(w,Q,M){var B=Tt;(function(D){"use strict";var S=Tt;function P(W,O){var re=Tt;if(!W)throw new Error(O||re(1176))}function R(W,O){var re=Tt;function se(){}W[re(979)]=O,se[re(2086)]=O[re(2086)],W.prototype=new se,W[re(2086)][re(1630)]=W}function T(W,O,re){var se=Tt;if(T[se(2672)](W))return W;this.negative=0,this.words=null,this[se(2405)]=0,(this[se(1230)]=null)!==W&&(O!=="le"&&O!=="be"||(re=O,O=10),this[se(1352)](W||0,O||10,re||"be"))}var L;typeof w=="object"?w[S(2726)]=T:D.BN=T,(T.BN=T)[S(642)]=26;try{L=(S(621)!=typeof window&&window[S(964)]!==void 0?window:M(46601))[S(964)]}catch{}function F(W,O){var re=S;return O=W.charCodeAt(O),48<=O&&O<=57?O-48:65<=O&&O<=70?O-55:97<=O&&O<=102?O-87:void P(!1,re(1294)+W)}function U(W,O,re){var se=F(W,re);return O<=re-1&&(se|=F(W,re-1)<<4),se}function N(W,O,re,se){for(var ce=S,me,Ce=0,ye=Math[ce(1817)](W[ce(2405)],re),Be=O;Be<ye;Be++){var Me=W[ce(2282)](Be)-48;Ce*=se,me=49<=Me?Me-49+10:17<=Me?Me-17+10:Me,P(0<=Me&&me<se,ce(317)),Ce+=me}return Ce}function H(W,O){var re=S;W.words=O.words,W[re(2405)]=O.length,W[re(1746)]=O[re(1746)],W[re(1230)]=O[re(1230)]}if(T[S(2672)]=function(W){var O=S;return W instanceof T||W!==null&&O(2538)==typeof W&&W[O(1630)][O(642)]===T[O(642)]&&Array[O(2021)](W[O(1157)])},T[S(1093)]=function(W,O){var re=S;return 0<W[re(637)](O)?W:O},T[S(1817)]=function(W,O){return W.cmp(O)<0?W:O},T[S(2086)]._init=function(W,O,re){var se=S;if(typeof W=="number")return this[se(746)](W,O,re);if(se(2538)==typeof W)return this[se(845)](W,O,re);P((O=se(1996)===O?16:O)===(0|O)&&2<=O&&O<=36);var ce=0;(W=W[se(2192)]()[se(2489)](/\s+/g,""))[0]==="-"&&(ce++,this.negative=1),ce<W.length&&(O===16?this[se(1936)](W,ce,re):(this[se(1534)](W,O,ce),re==="le"&&this._initArray(this[se(1780)](),O,re)))},T.prototype[S(746)]=function(W,O,re){var se=S;W<0&&(this.negative=1,W=-W),W<67108864?(this[se(1157)]=[67108863&W],this[se(2405)]=1):W<4503599627370496?(this[se(1157)]=[67108863&W,W/67108864&67108863],this[se(2405)]=2):(P(W<9007199254740992),this[se(1157)]=[67108863&W,W/67108864&67108863,1],this.length=3),re==="le"&&this._initArray(this[se(1780)](),O,re)},T[S(2086)]._initArray=function(W,O,re){var se=S;if(P(se(647)==typeof W[se(2405)]),W[se(2405)]<=0)return this.words=[0],this.length=1,this;this[se(2405)]=Math[se(235)](W[se(2405)]/3),this[se(1157)]=new Array(this.length);for(var ce,me,Ce=0;Ce<this[se(2405)];Ce++)this[se(1157)][Ce]=0;var ye=0;if(re==="be")for(Ce=W[se(2405)]-1,ce=0;0<=Ce;Ce-=3)me=W[Ce]|W[Ce-1]<<8|W[Ce-2]<<16,this[se(1157)][ce]|=me<<ye&67108863,this.words[ce+1]=me>>>26-ye&67108863,26<=(ye+=24)&&(ye-=26,ce++);else if(re==="le")for(ce=Ce=0;Ce<W[se(2405)];Ce+=3)me=W[Ce]|W[Ce+1]<<8|W[Ce+2]<<16,this[se(1157)][ce]|=me<<ye&67108863,this[se(1157)][ce+1]=me>>>26-ye&67108863,26<=(ye+=24)&&(ye-=26,ce++);return this._strip()},T[S(2086)][S(1936)]=function(W,O,re){var se=S;this.length=Math[se(235)]((W[se(2405)]-O)/6),this[se(1157)]=new Array(this[se(2405)]);for(var ce=0;ce<this[se(2405)];ce++)this[se(1157)][ce]=0;var me,Ce=0,ye=0;if(re==="be")for(ce=W[se(2405)]-1;O<=ce;ce-=2)me=U(W,O,ce)<<Ce,this[se(1157)][ye]|=67108863&me,18<=Ce?(Ce-=18,this[se(1157)][ye+=1]|=me>>>26):Ce+=8;else for(ce=(W.length-O)%2==0?O+1:O;ce<W[se(2405)];ce+=2)me=U(W,O,ce)<<Ce,this[se(1157)][ye]|=67108863&me,18<=Ce?(Ce-=18,this.words[ye+=1]|=me>>>26):Ce+=8;this[se(1910)]()},T.prototype[S(1534)]=function(W,O,re){var se=S;this[se(1157)]=[0];for(var ce=0,me=this[se(2405)]=1;me<=67108863;me*=O)ce++;for(var me=me/O|0,Ce=W.length-re,ye=Ce%--ce,Be=Math[se(1817)](Ce,Ce-ye)+re,Me=0,He=re;He<Be;He+=ce)Me=N(W,He,He+ce,O),this[se(2548)](me),this[se(1157)][0]+Me<67108864?this.words[0]+=Me:this[se(2209)](Me);if(ye!=0){for(var ke=1,Me=N(W,He,W[se(2405)],O),He=0;He<ye;He++)ke*=O;this[se(2548)](ke),this[se(1157)][0]+Me<67108864?this[se(1157)][0]+=Me:this._iaddn(Me)}this[se(1910)]()},T[S(2086)][S(1973)]=function(W){var O=S;W.words=new Array(this.length);for(var re=0;re<this[O(2405)];re++)W.words[re]=this.words[re];W[O(2405)]=this[O(2405)],W.negative=this[O(1746)],W.red=this[O(1230)]},T.prototype[S(1951)]=function(W){H(W,this)},T.prototype[S(914)]=function(){var W=new T(null);return this.copy(W),W},T[S(2086)][S(559)]=function(W){for(var O=S;this.length<W;)this.words[this[O(2405)]++]=0;return this},T[S(2086)][S(1910)]=function(){for(var W=S;1<this[W(2405)]&&this[W(1157)][this[W(2405)]-1]===0;)this[W(2405)]--;return this._normSign()},T[S(2086)][S(1088)]=function(){var W=S;return this.length===1&&this[W(1157)][0]===0&&(this[W(1746)]=0),this},S(621)!=typeof Symbol&&S(605)==typeof Symbol[S(2026)])try{T[S(2086)][Symbol[S(2026)](S(1786))]=J}catch{T[S(2086)][S(1727)]=J}else T.prototype[S(1727)]=J;function J(){var W=S;return(this.red?W(652):W(398))+this.toString(16)+">"}var K=["","0","00",S(2283),S(2629),"00000",S(614),"0000000",S(505),S(403),S(521),"00000000000",S(1054),S(2369),S(2705),"000000000000000",S(1482),S(2566),S(1220),S(530),S(480),S(2305),S(2588),S(1175),S(1624),S(1276)],X=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],j=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function ee(W,O,re){var se=S;re[se(1746)]=O[se(1746)]^W[se(1746)];var ce=W[se(2405)]+O[se(2405)]|0,ce=(re[se(2405)]=ce)-1|0,me=(ye=(0|W.words[0])*(0|O[se(1157)][0]))/67108864|0;re.words[0]=67108863&ye;for(var Ce=1;Ce<ce;Ce++){for(var ye,Be=me>>>26,Me=67108863&me,He=Math[se(1817)](Ce,O[se(2405)]-1),ke=Math.max(0,Ce-W[se(2405)]+1);ke<=He;ke++)Be+=(ye=(0|W[se(1157)][Ce-ke|0])*(0|O[se(1157)][ke])+Me)/67108864|0,Me=67108863&ye;re.words[Ce]=0|Me,me=0|Be}return me!==0?re.words[Ce]=0|me:re[se(2405)]--,re._strip()}T[S(2086)][S(2192)]=function(W,O){var re=S;if(O=0|O||1,(W=W||10)===16||re(1996)===W){for(var se="",ce=0,me=0,Ce=0;Ce<this[re(2405)];Ce++){var ye=this[re(1157)][Ce],Be=(16777215&(ye<<ce|me))[re(2192)](16),me=ye>>>24-ce&16777215;26<=(ce+=2)&&(ce-=26,Ce--),se=me!==0||Ce!==this[re(2405)]-1?K[6-Be.length]+Be+se:Be+se}for(me!==0&&(se=me[re(2192)](16)+se);se[re(2405)]%O!=0;)se="0"+se;return this[re(1746)]!==0?"-"+se:se}if(W===(0|W)&&2<=W&&W<=36){var Me=X[W],He=j[W];for(se="",(ke=this.clone())[re(1746)]=0;!ke.isZero();)var ke,Ne=ke[re(288)](He)[re(2192)](W),se=(ke=ke.idivn(He)).isZero()?Ne+se:K[Me-Ne[re(2405)]]+Ne+se;for(this[re(1072)]()&&(se="0"+se);se[re(2405)]%O!=0;)se="0"+se;return this[re(1746)]!==0?"-"+se:se}P(!1,re(1169))},T[S(2086)][S(2277)]=function(){var W=S,O=this[W(1157)][0];return this[W(2405)]===2?O+=67108864*this[W(1157)][1]:this[W(2405)]===3&&this.words[2]===1?O+=4503599627370496+67108864*this[W(1157)][1]:2<this[W(2405)]&&P(!1,W(909)),this[W(1746)]!==0?-O:O},T[S(2086)][S(1130)]=function(){return this.toString(16,2)},L&&(T[S(2086)].toBuffer=function(W,O){var re=S;return this[re(1298)](L,W,O)}),T[S(2086)][S(1780)]=function(W,O){var re=S;return this[re(1298)](Array,W,O)},T[S(2086)].toArrayLike=function(Ce,O,me){var se=S;this[se(1910)]();var ce=this.byteLength(),me=me||Math[se(1093)](1,ce),Ce=(P(ce<=me,se(2424)),P(0<me,se(181)),me=me,(Ce=Ce)[se(1855)]?Ce[se(1855)](me):new Ce(me));return this[se(892)+(O==="le"?"LE":"BE")](Ce,ce),Ce},T[S(2086)][S(670)]=function(W,O){for(var re=S,se=0,ce=0,me=0,Ce=0;me<this[re(2405)];me++){var ye=this[re(1157)][me]<<Ce|ce;W[se++]=255&ye,se<W[re(2405)]&&(W[se++]=ye>>8&255),se<W[re(2405)]&&(W[se++]=ye>>16&255),Ce===6?(se<W[re(2405)]&&(W[se++]=ye>>24&255),Ce=ce=0):(ce=ye>>>24,Ce+=2)}if(se<W[re(2405)])for(W[se++]=ce;se<W.length;)W[se++]=0},T[S(2086)][S(2338)]=function(W,O){for(var re=S,se=W[re(2405)]-1,ce=0,me=0,Ce=0;me<this.length;me++){var ye=this[re(1157)][me]<<Ce|ce;W[se--]=255&ye,0<=se&&(W[se--]=ye>>8&255),0<=se&&(W[se--]=ye>>16&255),Ce===6?(0<=se&&(W[se--]=ye>>24&255),Ce=ce=0):(ce=ye>>>24,Ce+=2)}if(0<=se)for(W[se--]=ce;0<=se;)W[se--]=0},Math.clz32?T[S(2086)][S(1701)]=function(W){var O=S;return 32-Math[O(256)](W)}:T[S(2086)][S(1701)]=function(W){var O=0;return 4096<=W&&(O+=13,W>>>=13),64<=W&&(O+=7,W>>>=7),8<=W&&(O+=4,W>>>=4),2<=W&&(O+=2,W>>>=2),O+W},T[S(2086)][S(1577)]=function(W){if(W===0)return 26;var O=0;return(8191&W)==0&&(O+=13,W>>>=13),(127&W)==0&&(O+=7,W>>>=7),(15&W)==0&&(O+=4,W>>>=4),(3&W)==0&&(O+=2,W>>>=2),(1&W)==0&&O++,O},T[S(2086)][S(1787)]=function(){var W=S,O=this[W(1157)][this[W(2405)]-1],O=this._countBits(O);return 26*(this.length-1)+O},T[S(2086)][S(2348)]=function(){var W=S;if(this[W(1072)]())return 0;for(var O=0,re=0;re<this.length;re++){var se=this[W(1577)](this.words[re]);if(O+=se,se!==26)break}return O},T.prototype[S(2127)]=function(){var W=S;return Math[W(235)](this[W(1787)]()/8)},T[S(2086)][S(2212)]=function(W){var O=S;return this.negative!==0?this[O(2148)]().inotn(W).iaddn(1):this[O(914)]()},T[S(2086)][S(2095)]=function(W){var O=S;return this[O(360)](W-1)?this[O(2800)](W)[O(2755)](1)[O(1232)]():this[O(914)]()},T[S(2086)][S(980)]=function(){return this.negative!==0},T[S(2086)][S(770)]=function(){var W=S;return this[W(914)]().ineg()},T[S(2086)].ineg=function(){var W=S;return this[W(1072)]()||(this[W(1746)]^=1),this},T[S(2086)][S(1416)]=function(W){for(var O=S;this[O(2405)]<W[O(2405)];)this[O(1157)][this[O(2405)]++]=0;for(var re=0;re<W[O(2405)];re++)this.words[re]=this[O(1157)][re]|W.words[re];return this._strip()},T.prototype[S(2085)]=function(W){var O=S;return P((this[O(1746)]|W[O(1746)])==0),this.iuor(W)},T[S(2086)].or=function(W){var O=S;return this[O(2405)]>W[O(2405)]?this[O(914)]()[O(2085)](W):W[O(914)]()[O(2085)](this)},T[S(2086)][S(861)]=function(W){var O=S;return this[O(2405)]>W[O(2405)]?this[O(914)]()[O(1416)](W):W[O(914)]()[O(1416)](this)},T[S(2086)][S(1501)]=function(W){for(var O=S,re=this[O(2405)]>W.length?W:this,se=0;se<re[O(2405)];se++)this[O(1157)][se]=this[O(1157)][se]&W.words[se];return this[O(2405)]=re[O(2405)],this[O(1910)]()},T.prototype.iand=function(W){var O=S;return P((this[O(1746)]|W[O(1746)])==0),this.iuand(W)},T[S(2086)][S(2429)]=function(W){var O=S;return this[O(2405)]>W[O(2405)]?this.clone().iand(W):W[O(914)]().iand(this)},T[S(2086)][S(1404)]=function(W){var O=S;return this[O(2405)]>W.length?this[O(914)]()[O(1501)](W):W.clone()[O(1501)](this)},T.prototype[S(1313)]=function(W){for(var O=S,re,se=this[O(2405)]>W[O(2405)]?(re=this,W):(re=W,this),ce=0;ce<se[O(2405)];ce++)this[O(1157)][ce]=re[O(1157)][ce]^se[O(1157)][ce];if(this!==re)for(;ce<re.length;ce++)this[O(1157)][ce]=re.words[ce];return this[O(2405)]=re[O(2405)],this[O(1910)]()},T[S(2086)][S(2425)]=function(W){var O=S;return P((this.negative|W[O(1746)])==0),this.iuxor(W)},T[S(2086)][S(2216)]=function(W){var O=S;return this[O(2405)]>W.length?this[O(914)]().ixor(W):W[O(914)]()[O(2425)](this)},T[S(2086)][S(1444)]=function(W){var O=S;return this[O(2405)]>W[O(2405)]?this.clone()[O(1313)](W):W[O(914)]().iuxor(this)},T[S(2086)][S(1039)]=function(se){var O=S;P(O(647)==typeof se&&0<=se);var re=0|Math.ceil(se/26),se=se%26;this[O(559)](re),0<se&&re--;for(var ce=0;ce<re;ce++)this.words[ce]=67108863&~this.words[ce];return 0<se&&(this[O(1157)][ce]=~this[O(1157)][ce]&67108863>>26-se),this[O(1910)]()},T[S(2086)][S(2800)]=function(W){var O=S;return this[O(914)]().inotn(W)},T[S(2086)].setn=function(ce,O){var re=S;P(typeof ce=="number"&&0<=ce);var se=ce/26|0,ce=ce%26;return this[re(559)](1+se),this[re(1157)][se]=O?this[re(1157)][se]|1<<ce:this.words[se]&~(1<<ce),this._strip()},T.prototype[S(2553)]=function(W){var O=S,re,se;if(this[O(1746)]!==0&&W.negative===0)return this.negative=0,re=this[O(1155)](W),this.negative^=1,this[O(1088)]();if(this[O(1746)]===0&&W[O(1746)]!==0)return W[O(1746)]=0,re=this[O(1155)](W),W[O(1746)]=1,re[O(1088)]();for(var ce=this[O(2405)]>W[O(2405)]?(se=this,W):(se=W,this),me=0,Ce=0;Ce<ce[O(2405)];Ce++)re=(0|se[O(1157)][Ce])+(0|ce[O(1157)][Ce])+me,this[O(1157)][Ce]=67108863&re,me=re>>>26;for(;me!==0&&Ce<se[O(2405)];Ce++)re=(0|se[O(1157)][Ce])+me,this[O(1157)][Ce]=67108863&re,me=re>>>26;if(this[O(2405)]=se[O(2405)],me!==0)this[O(1157)][this[O(2405)]]=me,this.length++;else if(se!==this)for(;Ce<se[O(2405)];Ce++)this[O(1157)][Ce]=se[O(1157)][Ce];return this},T[S(2086)][S(1002)]=function(W){var O=S,re;return W[O(1746)]!==0&&this.negative===0?(W[O(1746)]=0,re=this[O(713)](W),W[O(1746)]^=1,re):W[O(1746)]===0&&this[O(1746)]!==0?(this[O(1746)]=0,re=W[O(713)](this),this[O(1746)]=1,re):this.length>W[O(2405)]?this[O(914)]()[O(2553)](W):W[O(914)]()[O(2553)](this)},T[S(2086)].isub=function(W){var O=S,re;if(W[O(1746)]!==0)return W[O(1746)]=0,re=this[O(2553)](W),W[O(1746)]=1,re[O(1088)]();if(this.negative!==0)return this.negative=0,this.iadd(W),this[O(1746)]=1,this[O(1088)]();var se,ce=this[O(637)](W);if(ce===0)return this[O(1746)]=0,this[O(2405)]=1,this.words[0]=0,this;for(var me=0<ce?(se=this,W):(se=W,this),Ce=0,ye=0;ye<me.length;ye++)Ce=(re=(0|se[O(1157)][ye])-(0|me[O(1157)][ye])+Ce)>>26,this[O(1157)][ye]=67108863&re;for(;Ce!==0&&ye<se[O(2405)];ye++)Ce=(re=(0|se[O(1157)][ye])+Ce)>>26,this[O(1157)][ye]=67108863&re;if(Ce===0&&ye<se[O(2405)]&&se!==this)for(;ye<se.length;ye++)this[O(1157)][ye]=se[O(1157)][ye];return this.length=Math[O(1093)](this[O(2405)],ye),se!==this&&(this[O(1746)]=1),this._strip()},T[S(2086)].sub=function(W){var O=S;return this[O(914)]().isub(W)};var ie=function(vt,_e,re){var se=S,Ze=vt.words,Le=_e[se(1157)],ce=re[se(1157)],Ht=0|Ze[0],ui=8191&Ht,Ht=Ht>>>13,Ot=0|Ze[1],bt=8191&Ot,Ot=Ot>>>13,Ce=0|Ze[2],me=8191&Ce,Ce=Ce>>>13,Be=0|Ze[3],ye=8191&Be,Be=Be>>>13,He=0|Ze[4],Me=8191&He,He=He>>>13,Ne=0|Ze[5],ke=8191&Ne,Ne=Ne>>>13,we=0|Ze[6],Pe=8191&we,we=we>>>13,Ue=0|Ze[7],Fe=8191&Ue,Ue=Ue>>>13,Je=0|Ze[8],ze=8191&Je,Je=Je>>>13,Ze=0|Ze[9],je=8191&Ze,Ze=Ze>>>13,di=0|Le[0],Kt=8191&di,di=di>>>13,gt=0|Le[1],Ei=8191>,gt=gt>>>13,Oi=0|Le[2],Wt=8191&Oi,Oi=Oi>>>13,At=0|Le[3],rt=8191&At,At=At>>>13,at=0|Le[4],yt=8191&at,at=at>>>13,_t=0|Le[5],ft=8191&_t,_t=_t>>>13,pt=0|Le[6],et=8191&pt,pt=pt>>>13,It=0|Le[7],zt=8191&It,It=It>>>13,St=0|Le[8],Pt=8191&St,St=St>>>13,Le=0|Le[9],dt=8191&Le,Le=Le>>>13,_e=(re[se(1746)]=vt[se(1746)]^_e.negative,re.length=19,(0+Math[se(1759)](ui,Kt)|0)+((8191&(vt=Math.imul(ui,di)+Math[se(1759)](Ht,Kt)|0))<<13)|0),Ci=(Math[se(1759)](Ht,di)+(vt>>>13)|0)+(_e>>>26)|0,Oe=(_e&=67108863,Math[se(1759)](bt,Kt)),vt=Math[se(1759)](bt,di)+Math[se(1759)](Ot,Kt)|0,wt=Math[se(1759)](Ot,di),Bt=(Ci+(Oe+Math[se(1759)](ui,Ei)|0)|0)+((8191&(vt=(vt+Math.imul(ui,gt)|0)+Math[se(1759)](Ht,Ei)|0))<<13)|0,bi=(Ci=((wt+Math[se(1759)](Ht,gt)|0)+(vt>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,Oe=Math[se(1759)](me,Kt),vt=Math[se(1759)](me,di)+Math[se(1759)](Ce,Kt)|0,wt=Math[se(1759)](Ce,di),Oe=Oe+Math[se(1759)](bt,Ei)|0,vt=(vt+Math[se(1759)](bt,gt)|0)+Math[se(1759)](Ot,Ei)|0,wt=wt+Math[se(1759)](Ot,gt)|0,(Ci+(Oe+Math[se(1759)](ui,Wt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](ui,Oi)|0)+Math[se(1759)](Ht,Wt)|0))<<13)|0),nr=(Ci=((wt+Math[se(1759)](Ht,Oi)|0)+(vt>>>13)|0)+(bi>>>26)|0,bi&=67108863,Oe=Math[se(1759)](ye,Kt),vt=Math[se(1759)](ye,di)+Math[se(1759)](Be,Kt)|0,wt=Math[se(1759)](Be,di),Oe=Oe+Math[se(1759)](me,Ei)|0,vt=(vt+Math.imul(me,gt)|0)+Math[se(1759)](Ce,Ei)|0,wt=wt+Math[se(1759)](Ce,gt)|0,Oe=Oe+Math[se(1759)](bt,Wt)|0,vt=(vt+Math[se(1759)](bt,Oi)|0)+Math[se(1759)](Ot,Wt)|0,wt=wt+Math.imul(Ot,Oi)|0,(Ci+(Oe+Math[se(1759)](ui,rt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](ui,At)|0)+Math[se(1759)](Ht,rt)|0))<<13)|0),Ai=(Ci=((wt+Math[se(1759)](Ht,At)|0)+(vt>>>13)|0)+(nr>>>26)|0,nr&=67108863,Oe=Math[se(1759)](Me,Kt),vt=Math[se(1759)](Me,di)+Math.imul(He,Kt)|0,wt=Math.imul(He,di),Oe=Oe+Math[se(1759)](ye,Ei)|0,vt=(vt+Math[se(1759)](ye,gt)|0)+Math[se(1759)](Be,Ei)|0,wt=wt+Math[se(1759)](Be,gt)|0,Oe=Oe+Math[se(1759)](me,Wt)|0,vt=(vt+Math[se(1759)](me,Oi)|0)+Math[se(1759)](Ce,Wt)|0,wt=wt+Math[se(1759)](Ce,Oi)|0,Oe=Oe+Math[se(1759)](bt,rt)|0,vt=(vt+Math[se(1759)](bt,At)|0)+Math[se(1759)](Ot,rt)|0,wt=wt+Math[se(1759)](Ot,At)|0,(Ci+(Oe+Math.imul(ui,yt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](ui,at)|0)+Math.imul(Ht,yt)|0))<<13)|0),xi=(Ci=((wt+Math[se(1759)](Ht,at)|0)+(vt>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,Oe=Math[se(1759)](ke,Kt),vt=Math[se(1759)](ke,di)+Math[se(1759)](Ne,Kt)|0,wt=Math[se(1759)](Ne,di),Oe=Oe+Math.imul(Me,Ei)|0,vt=(vt+Math.imul(Me,gt)|0)+Math[se(1759)](He,Ei)|0,wt=wt+Math.imul(He,gt)|0,Oe=Oe+Math[se(1759)](ye,Wt)|0,vt=(vt+Math.imul(ye,Oi)|0)+Math[se(1759)](Be,Wt)|0,wt=wt+Math[se(1759)](Be,Oi)|0,Oe=Oe+Math[se(1759)](me,rt)|0,vt=(vt+Math.imul(me,At)|0)+Math.imul(Ce,rt)|0,wt=wt+Math[se(1759)](Ce,At)|0,Oe=Oe+Math[se(1759)](bt,yt)|0,vt=(vt+Math[se(1759)](bt,at)|0)+Math.imul(Ot,yt)|0,wt=wt+Math.imul(Ot,at)|0,(Ci+(Oe+Math[se(1759)](ui,ft)|0)|0)+((8191&(vt=(vt+Math[se(1759)](ui,_t)|0)+Math[se(1759)](Ht,ft)|0))<<13)|0),Fi=(Ci=((wt+Math[se(1759)](Ht,_t)|0)+(vt>>>13)|0)+(xi>>>26)|0,xi&=67108863,Oe=Math[se(1759)](Pe,Kt),vt=Math.imul(Pe,di)+Math.imul(we,Kt)|0,wt=Math[se(1759)](we,di),Oe=Oe+Math.imul(ke,Ei)|0,vt=(vt+Math[se(1759)](ke,gt)|0)+Math[se(1759)](Ne,Ei)|0,wt=wt+Math[se(1759)](Ne,gt)|0,Oe=Oe+Math[se(1759)](Me,Wt)|0,vt=(vt+Math[se(1759)](Me,Oi)|0)+Math[se(1759)](He,Wt)|0,wt=wt+Math[se(1759)](He,Oi)|0,Oe=Oe+Math[se(1759)](ye,rt)|0,vt=(vt+Math[se(1759)](ye,At)|0)+Math[se(1759)](Be,rt)|0,wt=wt+Math[se(1759)](Be,At)|0,Oe=Oe+Math.imul(me,yt)|0,vt=(vt+Math.imul(me,at)|0)+Math[se(1759)](Ce,yt)|0,wt=wt+Math[se(1759)](Ce,at)|0,Oe=Oe+Math[se(1759)](bt,ft)|0,vt=(vt+Math[se(1759)](bt,_t)|0)+Math[se(1759)](Ot,ft)|0,wt=wt+Math[se(1759)](Ot,_t)|0,(Ci+(Oe+Math.imul(ui,et)|0)|0)+((8191&(vt=(vt+Math.imul(ui,pt)|0)+Math.imul(Ht,et)|0))<<13)|0),pi=(Ci=((wt+Math.imul(Ht,pt)|0)+(vt>>>13)|0)+(Fi>>>26)|0,Fi&=67108863,Oe=Math.imul(Fe,Kt),vt=Math[se(1759)](Fe,di)+Math.imul(Ue,Kt)|0,wt=Math[se(1759)](Ue,di),Oe=Oe+Math[se(1759)](Pe,Ei)|0,vt=(vt+Math[se(1759)](Pe,gt)|0)+Math[se(1759)](we,Ei)|0,wt=wt+Math[se(1759)](we,gt)|0,Oe=Oe+Math[se(1759)](ke,Wt)|0,vt=(vt+Math[se(1759)](ke,Oi)|0)+Math[se(1759)](Ne,Wt)|0,wt=wt+Math[se(1759)](Ne,Oi)|0,Oe=Oe+Math[se(1759)](Me,rt)|0,vt=(vt+Math[se(1759)](Me,At)|0)+Math[se(1759)](He,rt)|0,wt=wt+Math[se(1759)](He,At)|0,Oe=Oe+Math[se(1759)](ye,yt)|0,vt=(vt+Math[se(1759)](ye,at)|0)+Math[se(1759)](Be,yt)|0,wt=wt+Math[se(1759)](Be,at)|0,Oe=Oe+Math[se(1759)](me,ft)|0,vt=(vt+Math[se(1759)](me,_t)|0)+Math[se(1759)](Ce,ft)|0,wt=wt+Math.imul(Ce,_t)|0,Oe=Oe+Math[se(1759)](bt,et)|0,vt=(vt+Math[se(1759)](bt,pt)|0)+Math[se(1759)](Ot,et)|0,wt=wt+Math.imul(Ot,pt)|0,(Ci+(Oe+Math[se(1759)](ui,zt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](ui,It)|0)+Math[se(1759)](Ht,zt)|0))<<13)|0),Vt=(Ci=((wt+Math[se(1759)](Ht,It)|0)+(vt>>>13)|0)+(pi>>>26)|0,pi&=67108863,Oe=Math[se(1759)](ze,Kt),vt=Math[se(1759)](ze,di)+Math.imul(Je,Kt)|0,wt=Math[se(1759)](Je,di),Oe=Oe+Math[se(1759)](Fe,Ei)|0,vt=(vt+Math[se(1759)](Fe,gt)|0)+Math.imul(Ue,Ei)|0,wt=wt+Math[se(1759)](Ue,gt)|0,Oe=Oe+Math[se(1759)](Pe,Wt)|0,vt=(vt+Math[se(1759)](Pe,Oi)|0)+Math[se(1759)](we,Wt)|0,wt=wt+Math[se(1759)](we,Oi)|0,Oe=Oe+Math[se(1759)](ke,rt)|0,vt=(vt+Math.imul(ke,At)|0)+Math[se(1759)](Ne,rt)|0,wt=wt+Math[se(1759)](Ne,At)|0,Oe=Oe+Math[se(1759)](Me,yt)|0,vt=(vt+Math.imul(Me,at)|0)+Math[se(1759)](He,yt)|0,wt=wt+Math.imul(He,at)|0,Oe=Oe+Math[se(1759)](ye,ft)|0,vt=(vt+Math[se(1759)](ye,_t)|0)+Math[se(1759)](Be,ft)|0,wt=wt+Math[se(1759)](Be,_t)|0,Oe=Oe+Math.imul(me,et)|0,vt=(vt+Math[se(1759)](me,pt)|0)+Math.imul(Ce,et)|0,wt=wt+Math[se(1759)](Ce,pt)|0,Oe=Oe+Math[se(1759)](bt,zt)|0,vt=(vt+Math[se(1759)](bt,It)|0)+Math.imul(Ot,zt)|0,wt=wt+Math[se(1759)](Ot,It)|0,(Ci+(Oe+Math[se(1759)](ui,Pt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](ui,St)|0)+Math[se(1759)](Ht,Pt)|0))<<13)|0),Kt=(Ci=((wt+Math[se(1759)](Ht,St)|0)+(vt>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,Oe=Math.imul(je,Kt),vt=Math[se(1759)](je,di)+Math.imul(Ze,Kt)|0,wt=Math[se(1759)](Ze,di),Oe=Oe+Math[se(1759)](ze,Ei)|0,vt=(vt+Math[se(1759)](ze,gt)|0)+Math[se(1759)](Je,Ei)|0,wt=wt+Math[se(1759)](Je,gt)|0,Oe=Oe+Math[se(1759)](Fe,Wt)|0,vt=(vt+Math[se(1759)](Fe,Oi)|0)+Math[se(1759)](Ue,Wt)|0,wt=wt+Math[se(1759)](Ue,Oi)|0,Oe=Oe+Math[se(1759)](Pe,rt)|0,vt=(vt+Math[se(1759)](Pe,At)|0)+Math[se(1759)](we,rt)|0,wt=wt+Math[se(1759)](we,At)|0,Oe=Oe+Math[se(1759)](ke,yt)|0,vt=(vt+Math.imul(ke,at)|0)+Math.imul(Ne,yt)|0,wt=wt+Math[se(1759)](Ne,at)|0,Oe=Oe+Math[se(1759)](Me,ft)|0,vt=(vt+Math[se(1759)](Me,_t)|0)+Math.imul(He,ft)|0,wt=wt+Math[se(1759)](He,_t)|0,Oe=Oe+Math[se(1759)](ye,et)|0,vt=(vt+Math[se(1759)](ye,pt)|0)+Math.imul(Be,et)|0,wt=wt+Math[se(1759)](Be,pt)|0,Oe=Oe+Math.imul(me,zt)|0,vt=(vt+Math.imul(me,It)|0)+Math[se(1759)](Ce,zt)|0,wt=wt+Math[se(1759)](Ce,It)|0,Oe=Oe+Math[se(1759)](bt,Pt)|0,vt=(vt+Math[se(1759)](bt,St)|0)+Math[se(1759)](Ot,Pt)|0,wt=wt+Math[se(1759)](Ot,St)|0,(Ci+(Oe+Math[se(1759)](ui,dt)|0)|0)+((8191&(vt=(vt+Math.imul(ui,Le)|0)+Math[se(1759)](Ht,dt)|0))<<13)|0),di=(Ci=((wt+Math[se(1759)](Ht,Le)|0)+(vt>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,Oe=Math.imul(je,Ei),vt=Math[se(1759)](je,gt)+Math[se(1759)](Ze,Ei)|0,wt=Math[se(1759)](Ze,gt),Oe=Oe+Math[se(1759)](ze,Wt)|0,vt=(vt+Math[se(1759)](ze,Oi)|0)+Math[se(1759)](Je,Wt)|0,wt=wt+Math[se(1759)](Je,Oi)|0,Oe=Oe+Math[se(1759)](Fe,rt)|0,vt=(vt+Math[se(1759)](Fe,At)|0)+Math[se(1759)](Ue,rt)|0,wt=wt+Math[se(1759)](Ue,At)|0,Oe=Oe+Math[se(1759)](Pe,yt)|0,vt=(vt+Math[se(1759)](Pe,at)|0)+Math[se(1759)](we,yt)|0,wt=wt+Math[se(1759)](we,at)|0,Oe=Oe+Math.imul(ke,ft)|0,vt=(vt+Math[se(1759)](ke,_t)|0)+Math[se(1759)](Ne,ft)|0,wt=wt+Math[se(1759)](Ne,_t)|0,Oe=Oe+Math[se(1759)](Me,et)|0,vt=(vt+Math.imul(Me,pt)|0)+Math.imul(He,et)|0,wt=wt+Math[se(1759)](He,pt)|0,Oe=Oe+Math.imul(ye,zt)|0,vt=(vt+Math[se(1759)](ye,It)|0)+Math[se(1759)](Be,zt)|0,wt=wt+Math[se(1759)](Be,It)|0,Oe=Oe+Math[se(1759)](me,Pt)|0,vt=(vt+Math[se(1759)](me,St)|0)+Math[se(1759)](Ce,Pt)|0,wt=wt+Math[se(1759)](Ce,St)|0,(Ci+(Oe+Math[se(1759)](bt,dt)|0)|0)+((8191&(vt=(vt+Math.imul(bt,Le)|0)+Math.imul(Ot,dt)|0))<<13)|0),ui=(Ci=((wt+Math[se(1759)](Ot,Le)|0)+(vt>>>13)|0)+(di>>>26)|0,di&=67108863,Oe=Math.imul(je,Wt),vt=Math.imul(je,Oi)+Math.imul(Ze,Wt)|0,wt=Math.imul(Ze,Oi),Oe=Oe+Math.imul(ze,rt)|0,vt=(vt+Math[se(1759)](ze,At)|0)+Math[se(1759)](Je,rt)|0,wt=wt+Math.imul(Je,At)|0,Oe=Oe+Math[se(1759)](Fe,yt)|0,vt=(vt+Math.imul(Fe,at)|0)+Math.imul(Ue,yt)|0,wt=wt+Math.imul(Ue,at)|0,Oe=Oe+Math[se(1759)](Pe,ft)|0,vt=(vt+Math.imul(Pe,_t)|0)+Math[se(1759)](we,ft)|0,wt=wt+Math[se(1759)](we,_t)|0,Oe=Oe+Math[se(1759)](ke,et)|0,vt=(vt+Math.imul(ke,pt)|0)+Math[se(1759)](Ne,et)|0,wt=wt+Math.imul(Ne,pt)|0,Oe=Oe+Math[se(1759)](Me,zt)|0,vt=(vt+Math.imul(Me,It)|0)+Math[se(1759)](He,zt)|0,wt=wt+Math[se(1759)](He,It)|0,Oe=Oe+Math.imul(ye,Pt)|0,vt=(vt+Math[se(1759)](ye,St)|0)+Math.imul(Be,Pt)|0,wt=wt+Math[se(1759)](Be,St)|0,(Ci+(Oe+Math.imul(me,dt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](me,Le)|0)+Math[se(1759)](Ce,dt)|0))<<13)|0),Ht=(Ci=((wt+Math[se(1759)](Ce,Le)|0)+(vt>>>13)|0)+(ui>>>26)|0,ui&=67108863,Oe=Math[se(1759)](je,rt),vt=Math[se(1759)](je,At)+Math[se(1759)](Ze,rt)|0,wt=Math[se(1759)](Ze,At),Oe=Oe+Math[se(1759)](ze,yt)|0,vt=(vt+Math.imul(ze,at)|0)+Math[se(1759)](Je,yt)|0,wt=wt+Math.imul(Je,at)|0,Oe=Oe+Math.imul(Fe,ft)|0,vt=(vt+Math[se(1759)](Fe,_t)|0)+Math[se(1759)](Ue,ft)|0,wt=wt+Math.imul(Ue,_t)|0,Oe=Oe+Math.imul(Pe,et)|0,vt=(vt+Math[se(1759)](Pe,pt)|0)+Math[se(1759)](we,et)|0,wt=wt+Math[se(1759)](we,pt)|0,Oe=Oe+Math[se(1759)](ke,zt)|0,vt=(vt+Math[se(1759)](ke,It)|0)+Math[se(1759)](Ne,zt)|0,wt=wt+Math.imul(Ne,It)|0,Oe=Oe+Math[se(1759)](Me,Pt)|0,vt=(vt+Math[se(1759)](Me,St)|0)+Math[se(1759)](He,Pt)|0,wt=wt+Math[se(1759)](He,St)|0,(Ci+(Oe+Math[se(1759)](ye,dt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](ye,Le)|0)+Math[se(1759)](Be,dt)|0))<<13)|0),Ei=(Ci=((wt+Math.imul(Be,Le)|0)+(vt>>>13)|0)+(Ht>>>26)|0,Ht&=67108863,Oe=Math[se(1759)](je,yt),vt=Math[se(1759)](je,at)+Math[se(1759)](Ze,yt)|0,wt=Math[se(1759)](Ze,at),Oe=Oe+Math[se(1759)](ze,ft)|0,vt=(vt+Math[se(1759)](ze,_t)|0)+Math[se(1759)](Je,ft)|0,wt=wt+Math[se(1759)](Je,_t)|0,Oe=Oe+Math[se(1759)](Fe,et)|0,vt=(vt+Math[se(1759)](Fe,pt)|0)+Math[se(1759)](Ue,et)|0,wt=wt+Math[se(1759)](Ue,pt)|0,Oe=Oe+Math[se(1759)](Pe,zt)|0,vt=(vt+Math.imul(Pe,It)|0)+Math[se(1759)](we,zt)|0,wt=wt+Math[se(1759)](we,It)|0,Oe=Oe+Math.imul(ke,Pt)|0,vt=(vt+Math.imul(ke,St)|0)+Math[se(1759)](Ne,Pt)|0,wt=wt+Math[se(1759)](Ne,St)|0,(Ci+(Oe+Math.imul(Me,dt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](Me,Le)|0)+Math[se(1759)](He,dt)|0))<<13)|0),gt=(Ci=((wt+Math[se(1759)](He,Le)|0)+(vt>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,Oe=Math[se(1759)](je,ft),vt=Math[se(1759)](je,_t)+Math[se(1759)](Ze,ft)|0,wt=Math[se(1759)](Ze,_t),Oe=Oe+Math[se(1759)](ze,et)|0,vt=(vt+Math[se(1759)](ze,pt)|0)+Math[se(1759)](Je,et)|0,wt=wt+Math[se(1759)](Je,pt)|0,Oe=Oe+Math[se(1759)](Fe,zt)|0,vt=(vt+Math.imul(Fe,It)|0)+Math[se(1759)](Ue,zt)|0,wt=wt+Math[se(1759)](Ue,It)|0,Oe=Oe+Math.imul(Pe,Pt)|0,vt=(vt+Math.imul(Pe,St)|0)+Math[se(1759)](we,Pt)|0,wt=wt+Math[se(1759)](we,St)|0,(Ci+(Oe+Math[se(1759)](ke,dt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](ke,Le)|0)+Math[se(1759)](Ne,dt)|0))<<13)|0),bt=(Ci=((wt+Math[se(1759)](Ne,Le)|0)+(vt>>>13)|0)+(gt>>>26)|0,gt&=67108863,Oe=Math[se(1759)](je,et),vt=Math[se(1759)](je,pt)+Math.imul(Ze,et)|0,wt=Math[se(1759)](Ze,pt),Oe=Oe+Math[se(1759)](ze,zt)|0,vt=(vt+Math[se(1759)](ze,It)|0)+Math[se(1759)](Je,zt)|0,wt=wt+Math[se(1759)](Je,It)|0,Oe=Oe+Math[se(1759)](Fe,Pt)|0,vt=(vt+Math.imul(Fe,St)|0)+Math.imul(Ue,Pt)|0,wt=wt+Math[se(1759)](Ue,St)|0,(Ci+(Oe+Math[se(1759)](Pe,dt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](Pe,Le)|0)+Math[se(1759)](we,dt)|0))<<13)|0),Ot=(Ci=((wt+Math[se(1759)](we,Le)|0)+(vt>>>13)|0)+(bt>>>26)|0,bt&=67108863,Oe=Math[se(1759)](je,zt),vt=Math[se(1759)](je,It)+Math[se(1759)](Ze,zt)|0,wt=Math[se(1759)](Ze,It),Oe=Oe+Math[se(1759)](ze,Pt)|0,vt=(vt+Math[se(1759)](ze,St)|0)+Math.imul(Je,Pt)|0,wt=wt+Math[se(1759)](Je,St)|0,(Ci+(Oe+Math[se(1759)](Fe,dt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](Fe,Le)|0)+Math[se(1759)](Ue,dt)|0))<<13)|0),Wt=(Ci=((wt+Math[se(1759)](Ue,Le)|0)+(vt>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,Oe=Math[se(1759)](je,Pt),vt=Math.imul(je,St)+Math[se(1759)](Ze,Pt)|0,wt=Math[se(1759)](Ze,St),(Ci+(Oe+Math[se(1759)](ze,dt)|0)|0)+((8191&(vt=(vt+Math[se(1759)](ze,Le)|0)+Math[se(1759)](Je,dt)|0))<<13)|0),Oi=(Ci=((wt+Math[se(1759)](Je,Le)|0)+(vt>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,(Ci+Math[se(1759)](je,dt)|0)+((8191&(vt=Math[se(1759)](je,Le)+Math[se(1759)](Ze,dt)|0))<<13)|0),Ci=(Math[se(1759)](Ze,Le)+(vt>>>13)|0)+(Oi>>>26)|0;return Oi&=67108863,ce[0]=_e,ce[1]=Bt,ce[2]=bi,ce[3]=nr,ce[4]=Ai,ce[5]=xi,ce[6]=Fi,ce[7]=pi,ce[8]=Vt,ce[9]=Kt,ce[10]=di,ce[11]=ui,ce[12]=Ht,ce[13]=Ei,ce[14]=gt,ce[15]=bt,ce[16]=Ot,ce[17]=Wt,ce[18]=Oi,Ci!=0&&(ce[19]=Ci,re[se(2405)]++),re};function z(W,O,re){var se=S;re[se(1746)]=O[se(1746)]^W[se(1746)],re.length=W[se(2405)]+O[se(2405)];for(var ce=0,me=0,Ce=0;Ce<re[se(2405)]-1;Ce++){for(var ye=me,me=0,Be=67108863&ce,Me=Math[se(1817)](Ce,O.length-1),He=Math[se(1093)](0,Ce-W[se(2405)]+1);He<=Me;He++){var ke,Ne=(0|W[se(1157)][Ce-He])*(0|O[se(1157)][He]),Be=67108863&(ke=(67108863&Ne)+Be|0);me+=(ye=(ye=ye+(Ne/67108864|0)|0)+(ke>>>26)|0)>>>26,ye&=67108863}re.words[Ce]=Be,ce=ye,ye=me}return ce!==0?re[se(1157)][Ce]=ce:re[se(2405)]--,re._strip()}function oe(W,O,re){return z(W,O,re)}Math[S(1759)]||(ie=ee),T[S(2086)][S(2374)]=function(W,O){var re=S,se=this[re(2405)]+W[re(2405)];return(this[re(2405)]===10&&W[re(2405)]===10?ie:se<63?ee:se<1024?z:oe)(this,W,O)},T[S(2086)][S(1304)]=function(W){var O=S,re=new T(null);return re[O(1157)]=new Array(this[O(2405)]+W.length),this.mulTo(W,re)},T[S(2086)][S(1733)]=function(W){var O=S,re=new T(null);return re[O(1157)]=new Array(this[O(2405)]+W.length),oe(this,W,re)},T[S(2086)][S(1759)]=function(W){var O=S;return this[O(914)]().mulTo(W,this)},T[S(2086)][S(2548)]=function(W){for(var O=S,re=W<0,se=(P(O(647)==typeof(W=re?-W:W)),P(W<67108864),0),ce=0;ce<this[O(2405)];ce++){var me=(0|this[O(1157)][ce])*W,Ce=(67108863&me)+(67108863&se),se=(se>>=26)+(me/67108864|0)+(Ce>>>26);this.words[ce]=67108863&Ce}return se!==0&&(this.words[ce]=se,this[O(2405)]++),re?this[O(1232)]():this},T[S(2086)].muln=function(W){var O=S;return this[O(914)]()[O(2548)](W)},T.prototype[S(2524)]=function(){var W=S;return this[W(1304)](this)},T.prototype[S(2496)]=function(){var W=S;return this[W(1759)](this[W(914)]())},T[S(2086)][S(1905)]=function(W){var O=S,re=function(Ce){for(var ye=Tt,Be=new Array(Ce[ye(1787)]()),Me=0;Me<Be[ye(2405)];Me++)Be[Me]=Ce[ye(1157)][Me/26|0]>>>Me%26&1;return Be}(W);if(re.length===0)return new T(1);for(var se=this,ce=0;ce<re[O(2405)]&&re[ce]===0;ce++,se=se[O(2524)]());if(++ce<re.length)for(var me=se[O(2524)]();ce<re[O(2405)];ce++,me=me[O(2524)]())re[ce]!==0&&(se=se[O(1304)](me));return se},T.prototype[S(2622)]=function(W){var O=S;P(O(647)==typeof W&&0<=W);var re=W%26,se=(W-re)/26,ce=67108863>>>26-re<<26-re;if(re!=0){for(var me=0,Ce=0;Ce<this[O(2405)];Ce++){var ye=this[O(1157)][Ce]&ce,Be=(0|this[O(1157)][Ce])-ye<<re;this.words[Ce]=Be|me,me=ye>>>26-re}me&&(this[O(1157)][Ce]=me,this.length++)}if(se!=0){for(Ce=this[O(2405)]-1;0<=Ce;Ce--)this.words[Ce+se]=this[O(1157)][Ce];for(Ce=0;Ce<se;Ce++)this[O(1157)][Ce]=0;this[O(2405)]+=se}return this[O(1910)]()},T.prototype[S(2284)]=function(W){var O=S;return P(this[O(1746)]===0),this[O(2622)](W)},T.prototype[S(586)]=function(W,O,re){var se=S;P(typeof W=="number"&&0<=W);var ce,ce=O?(O-O%26)/26:0,me=W%26,Ce=Math[se(1817)]((W-me)/26,this[se(2405)]),ye=67108863^67108863>>>me<<me,Be=re;if(ce-=Ce,ce=Math[se(1093)](0,ce),Be){for(var Me=0;Me<Ce;Me++)Be[se(1157)][Me]=this[se(1157)][Me];Be.length=Ce}if(Ce!==0)if(this[se(2405)]>Ce)for(this[se(2405)]-=Ce,Me=0;Me<this[se(2405)];Me++)this[se(1157)][Me]=this.words[Me+Ce];else this[se(1157)][0]=0,this.length=1;for(var He=0,Me=this[se(2405)]-1;0<=Me&&(He!==0||ce<=Me);Me--){var ke=0|this.words[Me];this[se(1157)][Me]=He<<26-me|ke>>>me,He=ke&ye}return Be&&He!==0&&(Be[se(1157)][Be[se(2405)]++]=He),this[se(2405)]===0&&(this[se(1157)][0]=0,this.length=1),this[se(1910)]()},T.prototype[S(739)]=function(W,O,re){var se=S;return P(this[se(1746)]===0),this.iushrn(W,O,re)},T[S(2086)][S(1904)]=function(W){var O=S;return this[O(914)]().ishln(W)},T[S(2086)][S(2181)]=function(W){var O=S;return this[O(914)]()[O(2622)](W)},T[S(2086)][S(446)]=function(W){var O=S;return this[O(914)]()[O(739)](W)},T[S(2086)][S(1635)]=function(W){var O=S;return this.clone()[O(586)](W)},T.prototype.testn=function(se){var O=S;P(O(647)==typeof se&&0<=se);var re=se%26,se=(se-re)/26;return!(this[O(2405)]<=se||!(this[O(1157)][se]&1<<re))},T[S(2086)][S(2255)]=function(se){var O=S;P(O(647)==typeof se&&0<=se);var re=se%26,se=(se-re)/26;return P(this[O(1746)]===0,O(1954)),this.length<=se?this:(re!=0&&se++,this[O(2405)]=Math[O(1817)](se,this[O(2405)]),re!=0&&(this.words[this[O(2405)]-1]&=67108863^67108863>>>re<<re),this[O(1910)]())},T[S(2086)][S(1116)]=function(W){var O=S;return this[O(914)]().imaskn(W)},T.prototype[S(2755)]=function(W){var O=S;return P(typeof W=="number"),P(W<67108864),W<0?this[O(283)](-W):this[O(1746)]!==0?(this[O(2405)]===1&&(0|this.words[0])<=W?(this.words[0]=W-(0|this[O(1157)][0]),this[O(1746)]=0):(this[O(1746)]=0,this.isubn(W),this[O(1746)]=1),this):this[O(2209)](W)},T[S(2086)][S(2209)]=function(W){var O=S;this.words[0]+=W;for(var re=0;re<this[O(2405)]&&67108864<=this[O(1157)][re];re++)this[O(1157)][re]-=67108864,re===this.length-1?this[O(1157)][re+1]=1:this[O(1157)][re+1]++;return this.length=Math[O(1093)](this[O(2405)],re+1),this},T[S(2086)].isubn=function(W){var O=S;if(P(O(647)==typeof W),P(W<67108864),W<0)return this[O(2755)](-W);if(this.negative!==0)return this[O(1746)]=0,this[O(2755)](W),this[O(1746)]=1,this;if(this.words[0]-=W,this[O(2405)]===1&&this[O(1157)][0]<0)this[O(1157)][0]=-this[O(1157)][0],this[O(1746)]=1;else for(var re=0;re<this[O(2405)]&&this.words[re]<0;re++)this[O(1157)][re]+=67108864,--this[O(1157)][re+1];return this[O(1910)]()},T[S(2086)][S(1316)]=function(W){var O=S;return this[O(914)]()[O(2755)](W)},T[S(2086)][S(860)]=function(W){var O=S;return this[O(914)]()[O(283)](W)},T[S(2086)][S(725)]=function(){var W=S;return this[W(1746)]=0,this},T.prototype[S(2148)]=function(){var W=S;return this.clone()[W(725)]()},T[S(2086)]._ishlnsubmul=function(W,O,re){for(var se=S,ce=W[se(2405)]+re,me=(this[se(559)](ce),0),Ce=0;Ce<W[se(2405)];Ce++){var ye=(0|this.words[Ce+re])+me,Be=(0|W[se(1157)][Ce])*O,me=((ye-=67108863&Be)>>26)-(Be/67108864|0);this[se(1157)][Ce+re]=67108863&ye}for(;Ce<this[se(2405)]-re;Ce++)me=(ye=(0|this[se(1157)][Ce+re])+me)>>26,this.words[Ce+re]=67108863&ye;if(me===0)return this._strip();for(P(me===-1),Ce=me=0;Ce<this[se(2405)];Ce++)me=(ye=-(0|this.words[Ce])+me)>>26,this[se(1157)][Ce]=67108863&ye;return this.negative=1,this[se(1910)]()},T[S(2086)]._wordDiv=function(W,O){var re=S;this[re(2405)],W[re(2405)];var se,ce=this.clone(),me=W,Ce=0|me[re(1157)][me[re(2405)]-1],ye=((W=26-this._countBits(Ce))!=0&&(me=me[re(2181)](W),ce[re(2622)](W),Ce=0|me[re(1157)][me[re(2405)]-1]),ce[re(2405)]-me[re(2405)]);if(re(2451)!==O){(se=new T(null)).length=1+ye,se[re(1157)]=new Array(se[re(2405)]);for(var Be=0;Be<se[re(2405)];Be++)se.words[Be]=0}var Me=ce.clone()[re(2768)](me,1,ye);Me[re(1746)]===0&&(ce=Me,se&&(se[re(1157)][ye]=1));for(var He=ye-1;0<=He;He--){var ke=67108864*(0|ce[re(1157)][me[re(2405)]+He])+(0|ce[re(1157)][me[re(2405)]+He-1]),ke=Math[re(1817)](ke/Ce|0,67108863);for(ce[re(2768)](me,ke,He);ce[re(1746)]!==0;)ke--,ce.negative=0,ce[re(2768)](me,1,He),ce.isZero()||(ce.negative^=1);se&&(se[re(1157)][He]=ke)}return se&&se[re(1910)](),ce[re(1910)](),re(2526)!==O&&W!=0&&ce.iushrn(W),{div:se||null,mod:ce}},T.prototype[S(1923)]=function(W,O,re){var se=S;return P(!W[se(1072)]()),this[se(1072)]()?{div:new T(0),mod:new T(0)}:this[se(1746)]!==0&&W.negative===0?(Ce=this[se(770)]()[se(1923)](W,O),O!=="mod"&&(ce=Ce[se(2526)][se(770)]()),se(2526)!==O&&(me=Ce[se(2451)][se(770)](),re&&me[se(1746)]!==0&&me[se(2553)](W)),{div:ce,mod:me}):this[se(1746)]===0&&W.negative!==0?(Ce=this[se(1923)](W[se(770)](),O),{div:ce=se(2451)!==O?Ce[se(2526)][se(770)]():ce,mod:Ce[se(2451)]}):(this.negative&W[se(1746)])!=0?(Ce=this.neg()[se(1923)](W[se(770)](),O),O!=="div"&&(me=Ce[se(2451)].neg(),re&&me[se(1746)]!==0&&me[se(1155)](W)),{div:Ce[se(2526)],mod:me}):W.length>this[se(2405)]||this[se(637)](W)<0?{div:new T(0),mod:this}:W[se(2405)]===1?se(2526)===O?{div:this[se(2050)](W.words[0]),mod:null}:se(2451)===O?{div:null,mod:new T(this.modrn(W.words[0]))}:{div:this[se(2050)](W[se(1157)][0]),mod:new T(this[se(288)](W[se(1157)][0]))}:this[se(1037)](W,O);var ce,me,Ce},T.prototype[S(2526)]=function(W){var O=S;return this.divmod(W,O(2526),!1)[O(2526)]},T[S(2086)].mod=function(W){var O=S;return this[O(1923)](W,O(2451),!1).mod},T[S(2086)].umod=function(W){var O=S;return this[O(1923)](W,O(2451),!0)[O(2451)]},T[S(2086)].divRound=function(ce){var O=S,re=this.divmod(ce);if(re[O(2451)][O(1072)]())return re[O(2526)];var me=re[O(2526)][O(1746)]!==0?re.mod[O(1155)](ce):re[O(2451)],se=ce[O(1635)](1),ce=ce[O(1452)](1),me=me[O(637)](se);return me<0||ce===1&&me===0?re[O(2526)]:re.div[O(1746)]!==0?re.div[O(283)](1):re[O(2526)][O(2755)](1)},T[S(2086)].modrn=function(W){for(var O=S,re=W<0,se=(P((W=re?-W:W)<=67108863),(1<<26)%W),ce=0,me=this.length-1;0<=me;me--)ce=(se*ce+(0|this[O(1157)][me]))%W;return re?-ce:ce},T[S(2086)].modn=function(W){return this.modrn(W)},T[S(2086)].idivn=function(W){for(var O=S,re=W<0,se=(P((W=re?-W:W)<=67108863),0),ce=this[O(2405)]-1;0<=ce;ce--){var me=(0|this.words[ce])+67108864*se;this[O(1157)][ce]=me/W|0,se=me%W}return this[O(1910)](),re?this[O(1232)]():this},T[S(2086)][S(2050)]=function(W){var O=S;return this.clone()[O(929)](W)},T[S(2086)][S(1005)]=function(W){var O=S;P(W.negative===0),P(!W[O(1072)]());for(var se=this,re=W[O(914)](),se=se[O(1746)]!==0?se[O(1792)](W):se[O(914)](),ce=new T(1),me=new T(0),Ce=new T(0),ye=new T(1),Be=0;se[O(2105)]()&&re[O(2105)]();)se[O(586)](1),re[O(586)](1),++Be;for(var Me=re[O(914)](),He=se.clone();!se.isZero();){for(var ke=0,Ne=1;(se[O(1157)][0]&Ne)==0&&ke<26;++ke,Ne<<=1);if(0<ke)for(se[O(586)](ke);0<ke--;)(ce[O(2771)]()||me[O(2771)]())&&(ce[O(2553)](Me),me[O(1155)](He)),ce[O(586)](1),me[O(586)](1);for(var Pe=0,we=1;(re[O(1157)][0]&we)==0&&Pe<26;++Pe,we<<=1);if(0<Pe)for(re.iushrn(Pe);0<Pe--;)(Ce[O(2771)]()||ye[O(2771)]())&&(Ce[O(2553)](Me),ye[O(1155)](He)),Ce[O(586)](1),ye.iushrn(1);0<=se.cmp(re)?(se.isub(re),ce[O(1155)](Ce),me[O(1155)](ye)):(re[O(1155)](se),Ce[O(1155)](ce),ye[O(1155)](me))}return{a:Ce,b:ye,gcd:re.iushln(Be)}},T.prototype._invmp=function(W){var O=S;P(W[O(1746)]===0),P(!W[O(1072)]());for(var re,ce=this,se=W[O(914)](),ce=ce.negative!==0?ce.umod(W):ce[O(914)](),me=new T(1),Ce=new T(0),ye=se[O(914)]();0<ce[O(1915)](1)&&0<se.cmpn(1);){for(var Be=0,Me=1;(ce[O(1157)][0]&Me)==0&&Be<26;++Be,Me<<=1);if(0<Be)for(ce.iushrn(Be);0<Be--;)me[O(2771)]()&&me[O(2553)](ye),me[O(586)](1);for(var He=0,ke=1;(se.words[0]&ke)==0&&He<26;++He,ke<<=1);if(0<He)for(se.iushrn(He);0<He--;)Ce[O(2771)]()&&Ce[O(2553)](ye),Ce[O(586)](1);0<=ce.cmp(se)?(ce.isub(se),me.isub(Ce)):(se.isub(ce),Ce.isub(me))}return(re=ce[O(1915)](1)===0?me:Ce)[O(1915)](0)<0&&re[O(2553)](W),re},T[S(2086)][S(2334)]=function(W){var O=S;if(this.isZero())return W[O(2148)]();if(W[O(1072)]())return this[O(2148)]();var re=this[O(914)](),se=W[O(914)]();re.negative=0;for(var ce=se.negative=0;re[O(2105)]()&&se[O(2105)]();ce++)re[O(586)](1),se[O(586)](1);for(;;){for(;re.isEven();)re.iushrn(1);for(;se.isEven();)se[O(586)](1);var me=re[O(637)](se);if(me<0)var Ce=re,re=se,se=Ce;else if(me===0||se.cmpn(1)===0)break;re.isub(se)}return se.iushln(ce)},T[S(2086)][S(680)]=function(W){var O=S;return this[O(1005)](W).a[O(1792)](W)},T[S(2086)][S(2105)]=function(){var W=S;return(1&this[W(1157)][0])==0},T[S(2086)].isOdd=function(){var W=S;return(1&this[W(1157)][0])==1},T[S(2086)].andln=function(W){return this.words[0]&W},T[S(2086)][S(314)]=function(re){var O=S;P(O(647)==typeof re);var se=re%26,re=(re-se)/26,se=1<<se;if(this[O(2405)]<=re)return this[O(559)](1+re),this[O(1157)][re]|=se,this;for(var ce=se,me=re;ce!==0&&me<this[O(2405)];me++){var Ce=0|this.words[me],ce=(Ce+=ce)>>>26;Ce&=67108863,this[O(1157)][me]=Ce}return ce!==0&&(this.words[me]=ce,this[O(2405)]++),this},T.prototype[S(1072)]=function(){var W=S;return this[W(2405)]===1&&this.words[0]===0},T[S(2086)][S(1915)]=function(W){var O=S,re=W<0;return this[O(1746)]===0||re?this[O(1746)]===0&&re?1:(this[O(1910)](),re=1<this[O(2405)]?1:(P((W=re?-W:W)<=67108863,O(2514)),(re=0|this.words[0])===W?0:re<W?-1:1),this.negative!==0?0|-re:re):-1},T[S(2086)][S(637)]=function(W){var O=S;return this[O(1746)]!==0&&W[O(1746)]===0?-1:this[O(1746)]===0&&W[O(1746)]!==0?1:(W=this[O(356)](W),this.negative!==0?0|-W:W)},T[S(2086)][S(356)]=function(W){var O=S;if(this[O(2405)]>W[O(2405)])return 1;if(this[O(2405)]<W[O(2405)])return-1;for(var re=0,se=this[O(2405)]-1;0<=se;se--){var ce=0|this[O(1157)][se],me=0|W[O(1157)][se];if(ce!=me){ce<me?re=-1:me<ce&&(re=1);break}}return re},T[S(2086)][S(912)]=function(W){var O=S;return this[O(1915)](W)===1},T.prototype.gt=function(W){var O=S;return this[O(637)](W)===1},T.prototype[S(1488)]=function(W){var O=S;return 0<=this[O(1915)](W)},T.prototype[S(1897)]=function(W){var O=S;return 0<=this[O(637)](W)},T[S(2086)].ltn=function(W){var O=S;return this[O(1915)](W)===-1},T[S(2086)].lt=function(W){return this.cmp(W)===-1},T[S(2086)][S(2131)]=function(W){return this.cmpn(W)<=0},T[S(2086)][S(1284)]=function(W){var O=S;return this[O(637)](W)<=0},T.prototype[S(2690)]=function(W){var O=S;return this[O(1915)](W)===0},T[S(2086)].eq=function(W){var O=S;return this[O(637)](W)===0},T[S(1230)]=function(W){return new G(W)},T[S(2086)].toRed=function(W){var O=S;return P(!this[O(1230)],O(635)),P(this[O(1746)]===0,"red works only with positives"),W[O(178)](this)._forceRed(W)},T[S(2086)][S(240)]=function(){var W=S;return P(this[W(1230)],W(1041)),this[W(1230)].convertFrom(this)},T.prototype[S(2616)]=function(W){var O=S;return this[O(1230)]=W,this},T[S(2086)][S(934)]=function(W){var O=S;return P(!this.red,O(635)),this._forceRed(W)},T[S(2086)][S(2308)]=function(W){var O=S;return P(this.red,O(2701)),this[O(1230)].add(this,W)},T[S(2086)][S(2236)]=function(W){var O=S;return P(this[O(1230)],"redIAdd works only with red numbers"),this[O(1230)][O(2553)](this,W)},T[S(2086)][S(478)]=function(W){var O=S;return P(this[O(1230)],O(1557)),this[O(1230)][O(713)](this,W)},T[S(2086)].redISub=function(W){var O=S;return P(this[O(1230)],O(1485)),this[O(1230)][O(1155)](this,W)},T[S(2086)][S(2442)]=function(W){var O=S;return P(this[O(1230)],"redShl works only with red numbers"),this[O(1230)].shl(this,W)},T.prototype.redMul=function(W){var O=S;return P(this[O(1230)],O(1524)),this[O(1230)][O(1459)](this,W),this[O(1230)].mul(this,W)},T[S(2086)].redIMul=function(W){var O=S;return P(this[O(1230)],O(1524)),this.red[O(1459)](this,W),this[O(1230)][O(1759)](this,W)},T[S(2086)].redSqr=function(){var W=S;return P(this.red,"redSqr works only with red numbers"),this.red[W(1171)](this),this[W(1230)][W(2524)](this)},T.prototype[S(1776)]=function(){var W=S;return P(this[W(1230)],W(2300)),this[W(1230)][W(1171)](this),this[W(1230)][W(2496)](this)},T[S(2086)][S(984)]=function(){var W=S;return P(this[W(1230)],W(921)),this[W(1230)][W(1171)](this),this[W(1230)][W(2657)](this)},T.prototype[S(1806)]=function(){var W=S;return P(this[W(1230)],"redInvm works only with red numbers"),this[W(1230)][W(1171)](this),this[W(1230)][W(680)](this)},T[S(2086)][S(2447)]=function(){var W=S;return P(this[W(1230)],"redNeg works only with red numbers"),this[W(1230)][W(1171)](this),this[W(1230)][W(770)](this)},T[S(2086)].redPow=function(W){var O=S;return P(this[O(1230)]&&!W[O(1230)],O(2809)),this.red[O(1171)](this),this[O(1230)][O(1905)](this,W)};var le={k256:null,p224:null,p192:null,p25519:null};function Ae(W,O){var re=S;this[re(276)]=W,this.p=new T(O,16),this.n=this.p.bitLength(),this.k=new T(1)[re(2622)](this.n)[re(1155)](this.p),this[re(1242)]=this[re(2201)]()}function he(){var W=S;Ae[W(2811)](this,W(522),W(783))}function ge(){var W=S;Ae[W(2811)](this,W(2651),"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function de(){var W=S;Ae[W(2811)](this,W(1143),"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function fe(){var W=S;Ae[W(2811)](this,"25519",W(692))}function G(W){var O=S,re;O(1090)==typeof W?(re=T[O(1739)](W),this.m=re.p,this[O(1408)]=re):(P(W[O(912)](1),O(1420)),this.m=W,this[O(1408)]=null)}function Y(W){var O=S;G[O(2811)](this,W),this[O(2626)]=this.m.bitLength(),this[O(2626)]%26!=0&&(this.shift+=26-this[O(2626)]%26),this.r=new T(1)[O(2622)](this[O(2626)]),this.r2=this[O(1641)](this.r.sqr()),this[O(631)]=this.r[O(2763)](this.m),this[O(1277)]=this[O(631)][O(1304)](this.r).isubn(1)[O(2526)](this.m),this[O(1277)]=this.minv[O(1792)](this.r),this.minv=this.r[O(713)](this[O(1277)])}Ae[S(2086)][S(2201)]=function(){var W=S,O=new T(null);return O[W(1157)]=new Array(Math[W(235)](this.n/13)),O},Ae[S(2086)][S(2367)]=function(W){for(var O=S,re,se=W;this[O(2523)](se,this.tmp),(re=(se=(se=this[O(1365)](se))[O(2553)](this[O(1242)]))[O(1787)]())>this.n;);return W=re<this.n?-1:se[O(356)](this.p),W===0?(se.words[0]=0,se[O(2405)]=1):0<W?se.isub(this.p):se[O(1282)]!==void 0?se[O(1282)]():se[O(1910)](),se},Ae[S(2086)][S(2523)]=function(W,O){var re=S;W[re(586)](this.n,0,O)},Ae[S(2086)][S(1365)]=function(W){var O=S;return W[O(1759)](this.k)},R(he,Ae),he.prototype.split=function(W,O){for(var re=S,se=Math.min(W[re(2405)],9),ce=0;ce<se;ce++)O[re(1157)][ce]=W[re(1157)][ce];if(O[re(2405)]=se,W[re(2405)]<=9)return W[re(1157)][0]=0,void(W[re(2405)]=1);var me=W.words[9];for(O[re(1157)][O[re(2405)]++]=4194303&me,ce=10;ce<W.length;ce++){var Ce=0|W[re(1157)][ce];W[re(1157)][ce-10]=(4194303&Ce)<<4|me>>>22,me=Ce}(W.words[ce-10]=me>>>=22)==0&&10<W.length?W[re(2405)]-=10:W[re(2405)]-=9},he[S(2086)][S(1365)]=function(W){var O=S;W[O(1157)][W[O(2405)]]=0,W.words[W[O(2405)]+1]=0,W[O(2405)]+=2;for(var re=0,se=0;se<W.length;se++){var ce=0|W[O(1157)][se];re+=977*ce,W[O(1157)][se]=67108863&re,re=64*ce+(re/67108864|0)}return W[O(1157)][W[O(2405)]-1]===0&&(W[O(2405)]--,W[O(1157)][W[O(2405)]-1]===0&&W[O(2405)]--),W},R(ge,Ae),R(de,Ae),R(fe,Ae),fe[S(2086)][S(1365)]=function(W){for(var O=S,re=0,se=0;se<W.length;se++){var ce=19*(0|W[O(1157)][se])+re,me=67108863&ce;ce>>>=26,W.words[se]=me,re=ce}return re!==0&&(W[O(1157)][W[O(2405)]++]=re),W},T._prime=function(W){var O=S;if(le[W])return le[W];var re;if(O(522)===W)re=new he;else if(O(2651)===W)re=new ge;else if(O(1143)===W)re=new de;else{if(W!=="p25519")throw new Error(O(1495)+W);re=new fe}return le[W]=re},G.prototype[S(1171)]=function(W){var O=S;P(W[O(1746)]===0,"red works only with positives"),P(W[O(1230)],O(1553))},G.prototype[S(1459)]=function(W,O){var re=S;P((W[re(1746)]|O[re(1746)])==0,re(2486)),P(W[re(1230)]&&W[re(1230)]===O[re(1230)],"red works only with red numbers")},G.prototype[S(1641)]=function(W){var O=S;return this[O(1408)]?this[O(1408)][O(2367)](W)._forceRed(this):(H(W,W.umod(this.m)[O(2616)](this)),W)},G[S(2086)].neg=function(W){var O=S;return W.isZero()?W[O(914)]():this.m[O(713)](W)._forceRed(this)},G.prototype[S(1002)]=function(W,O){var re=S;return this[re(1459)](W,O),W=W[re(1002)](O),0<=W[re(637)](this.m)&&W[re(1155)](this.m),W[re(2616)](this)},G.prototype[S(2553)]=function(W,O){var re=S;return this[re(1459)](W,O),W=W[re(2553)](O),0<=W.cmp(this.m)&&W[re(1155)](this.m),W},G[S(2086)][S(713)]=function(W,O){var re=S;return this._verify2(W,O),W=W.sub(O),W.cmpn(0)<0&&W[re(2553)](this.m),W[re(2616)](this)},G[S(2086)][S(1155)]=function(W,O){var re=S;return this[re(1459)](W,O),W=W[re(1155)](O),W.cmpn(0)<0&&W[re(2553)](this.m),W},G[S(2086)].shl=function(W,O){var re=S;return this[re(1171)](W),this[re(1641)](W[re(2181)](O))},G.prototype.imul=function(W,O){var re=S;return this[re(1459)](W,O),this[re(1641)](W[re(1759)](O))},G[S(2086)].mul=function(W,O){var re=S;return this[re(1459)](W,O),this[re(1641)](W[re(1304)](O))},G[S(2086)][S(2496)]=function(W){var O=S;return this[O(1759)](W,W.clone())},G[S(2086)][S(2524)]=function(W){var O=S;return this[O(1304)](W,W)},G[S(2086)][S(2657)]=function(W){var O=S;if(W.isZero())return W.clone();var re=this.m[O(1452)](3);if(P(re%2==1),re===3)return re=this.m.add(new T(1))[O(586)](2),this[O(1905)](W,re);for(var se=this.m.subn(1),ce=0;!se[O(1072)]()&&se[O(1452)](1)===0;)ce++,se[O(586)](1);P(!se[O(1072)]());for(var me=new T(1).toRed(this),Ce=me[O(2447)](),ye=this.m[O(860)](1).iushrn(1),Be=new T(2*(Be=this.m[O(1787)]())*Be)[O(1705)](this);this[O(1905)](Be,ye)[O(637)](Ce)!==0;)Be.redIAdd(Ce);for(var Me=this[O(1905)](Be,se),He=this[O(1905)](W,se[O(1316)](1)[O(586)](1)),ke=this[O(1905)](W,se),Ne=ce;ke.cmp(me)!==0;){for(var Pe=ke,we=0;Pe.cmp(me)!==0;we++)Pe=Pe.redSqr();P(we<Ne);var Fe=this[O(1905)](Me,new T(1)[O(2622)](Ne-we-1)),He=He[O(2111)](Fe),Me=Fe[O(2082)](),ke=ke[O(2111)](Me),Ne=we}return He},G[S(2086)][S(680)]=function(W){var O=S;return W=W[O(2763)](this.m),W.negative!==0?(W[O(1746)]=0,this[O(1641)](W)[O(2447)]()):this[O(1641)](W)},G.prototype[S(1905)]=function(W,O){var re=S;if(O[re(1072)]())return new T(1)[re(1705)](this);if(O[re(1915)](1)===0)return W.clone();var se=new Array(16);se[0]=new T(1)[re(1705)](this),se[1]=W;for(var ce=2;ce<se.length;ce++)se[ce]=this[re(1304)](se[ce-1],W);var me=se[0],Ce=0,ye=0,Be=O[re(1787)]()%26;for(Be===0&&(Be=26),ce=O[re(2405)]-1;0<=ce;ce--){for(var Me=O.words[ce],He=Be-1;0<=He;He--){var ke=Me>>He&1;me!==se[0]&&(me=this[re(2524)](me)),ke==0&&Ce===0?ye=0:(Ce=Ce<<1|ke,(++ye==4||ce===0&&He===0)&&(me=this[re(1304)](me,se[Ce]),Ce=ye=0))}Be=26}return me},G[S(2086)][S(178)]=function(W){var O=S,re=W.umod(this.m);return re===W?re[O(914)]():re},G[S(2086)].convertFrom=function(W){var O=S;return W=W[O(914)](),W[O(1230)]=null,W},T[S(649)]=function(W){return new Y(W)},R(Y,G),Y[S(2086)][S(178)]=function(W){var O=S;return this[O(1641)](W[O(2181)](this[O(2626)]))},Y[S(2086)].convertFrom=function(W){var O=S;return W=this[O(1641)](W[O(1304)](this.rinv)),W[O(1230)]=null,W},Y[S(2086)][S(1759)]=function(W,O){var re=S;return W[re(1072)]()||O.isZero()?(W.words[0]=0,W[re(2405)]=1,W):(W=W[re(1759)](O),O=W.maskn(this.shift)[re(1304)](this[re(1277)])[re(2255)](this[re(2626)])[re(1304)](this.m),W=W[re(1155)](O).iushrn(this.shift),O=W,0<=W[re(637)](this.m)?O=W[re(1155)](this.m):W[re(1915)](0)<0&&(O=W[re(2553)](this.m)),O[re(2616)](this))},Y[S(2086)].mul=function(W,O){var re=S;return W[re(1072)]()||O.isZero()?new T(0)._forceRed(this):(W=W[re(1304)](O),O=W[re(1116)](this[re(2626)]).mul(this.minv)[re(2255)](this[re(2626)]).mul(this.m),W=W[re(1155)](O).iushrn(this[re(2626)]),O=W,0<=W[re(637)](this.m)?O=W[re(1155)](this.m):W[re(1915)](0)<0&&(O=W[re(2553)](this.m)),O._forceRed(this))},Y[S(2086)][S(680)]=function(W){var O=S;return this[O(1641)](W[O(2763)](this.m).mul(this.r2))[O(2616)](this)}})((w=M[B(467)](w),this))},29931:(w,Q,M)=>{var B=Tt,D;function S(R){var T=Tt;this[T(1021)]=R}if(w.exports=function(R){var T=Tt;return(D=D||new S(null))[T(756)](R)},(w[B(2726)][B(455)]=S)[B(2086)][B(756)]=function(R){var T=B;return this[T(332)](R)},S[B(2086)][B(332)]=function(R){var T=B;if(this[T(1021)][T(1718)])return this[T(1021)][T(1718)](R);for(var L=new Uint8Array(R),F=0;F<L[T(2405)];F++)L[F]=this.rand[T(1607)]();return L},B(2538)==typeof self)self[B(667)]&&self[B(667)][B(590)]?S[B(2086)][B(332)]=function(R){var T=B;return R=new Uint8Array(R),self[T(667)].getRandomValues(R),R}:self[B(2681)]&&self.msCrypto[B(590)]?S[B(2086)][B(332)]=function(R){var T=B;return R=new Uint8Array(R),self[T(2681)][T(590)](R),R}:B(2538)==typeof window&&(S[B(2086)][B(332)]=function(){throw new Error("Not implemented yet")});else try{var P=M(89214);if(B(605)!=typeof P[B(801)])throw new Error(B(2243));S[B(2086)][B(332)]=function(R){var T=B;return P[T(801)](R)}}catch{}},74497:(w,Q,M)=>{var B=Tt,D=M(89509).Buffer;function S(U){for(var N=Tt,H=(U=D[N(1564)](U)?U:D[N(2151)](U))[N(2405)]/4|0,J=new Array(H),K=0;K<H;K++)J[K]=U[N(2237)](4*K);return J}function P(U){for(var N=Tt;0<U[N(2405)];U++)U[0]=0}function R(U,N,H,J,K){for(var X,j,ee,ie,z=H[0],oe=H[1],le=H[2],Ae=H[3],he=U[0]^N[0],ge=U[1]^N[1],de=U[2]^N[2],fe=U[3]^N[3],G=4,Y=1;Y<K;Y++)X=z[he>>>24]^oe[ge>>>16&255]^le[de>>>8&255]^Ae[255&fe]^N[G++],j=z[ge>>>24]^oe[de>>>16&255]^le[fe>>>8&255]^Ae[255&he]^N[G++],ee=z[de>>>24]^oe[fe>>>16&255]^le[he>>>8&255]^Ae[255&ge]^N[G++],ie=z[fe>>>24]^oe[he>>>16&255]^le[ge>>>8&255]^Ae[255&de]^N[G++],he=X,ge=j,de=ee,fe=ie;return X=(J[he>>>24]<<24|J[ge>>>16&255]<<16|J[de>>>8&255]<<8|J[255&fe])^N[G++],j=(J[ge>>>24]<<24|J[de>>>16&255]<<16|J[fe>>>8&255]<<8|J[255&he])^N[G++],ee=(J[de>>>24]<<24|J[fe>>>16&255]<<16|J[he>>>8&255]<<8|J[255&ge])^N[G++],ie=(J[fe>>>24]<<24|J[he>>>16&255]<<16|J[ge>>>8&255]<<8|J[255&de])^N[G++],[X>>>=0,j>>>=0,ee>>>=0,ie>>>=0]}var T=[0,1,2,4,8,16,32,64,128,27,54],L=function(){for(var U=new Array(256),N=0;N<256;N++)U[N]=N<128?N<<1:N<<1^283;for(var H=[],J=[],K=[[],[],[],[]],X=[[],[],[],[]],j=0,ee=0,ie=0;ie<256;++ie){var z=ee^ee<<1^ee<<2^ee<<3^ee<<4,oe=(H[j]=z=z>>>8^255&z^99,U[J[z]=j]),le=U[oe],Ae=U[le],he=257*U[z]^16843008*z;K[0][j]=he<<24|he>>>8,K[1][j]=he<<16|he>>>16,K[2][j]=he<<8|he>>>24,K[3][j]=he,X[0][z]=(he=16843009*Ae^65537*le^257*oe^16843008*j)<<24|he>>>8,X[1][z]=he<<16|he>>>16,X[2][z]=he<<8|he>>>24,X[3][z]=he,j===0?j=ee=1:(j=oe^U[U[U[Ae^oe]]],ee^=U[U[ee]])}return{SBOX:H,INV_SBOX:J,SUB_MIX:K,INV_SUB_MIX:X}}();function F(U){this._key=S(U),this._reset()}F[B(2796)]=16,F.keySize=32,F[B(2086)].blockSize=F.blockSize,F.prototype.keySize=F.keySize,F[B(2086)]._reset=function(){for(var U=B,N=this._key,H=N[U(2405)],J=H+6,K=4*(J+1),X=[],j=0;j<H;j++)X[j]=N[j];for(j=H;j<K;j++){var ee=X[j-1];j%H==0?(ee=L.SBOX[(ee=ee<<8|ee>>>24)>>>24]<<24|L[U(1098)][ee>>>16&255]<<16|L[U(1098)][ee>>>8&255]<<8|L[U(1098)][255&ee],ee^=T[j/H|0]<<24):6<H&&j%H==4&&(ee=L[U(1098)][ee>>>24]<<24|L[U(1098)][ee>>>16&255]<<16|L[U(1098)][ee>>>8&255]<<8|L[U(1098)][255&ee]),X[j]=X[j-H]^ee}for(var ie=[],z=0;z<K;z++){var oe=K-z,le=X[oe-(z%4?0:4)];ie[z]=z<4||oe<=4?le:L[U(1212)][0][L[U(1098)][le>>>24]]^L[U(1212)][1][L.SBOX[le>>>16&255]]^L.INV_SUB_MIX[2][L[U(1098)][le>>>8&255]]^L[U(1212)][3][L[U(1098)][255&le]]}this[U(2635)]=J,this[U(363)]=X,this[U(1401)]=ie},F[B(2086)][B(1531)]=function(U){var N=B;return R(U=S(U),this._keySchedule,L[N(2465)],L[N(1098)],this._nRounds)},F[B(2086)][B(824)]=function(H){var N=B,H=this[N(1531)](H),J=D[N(1855)](16);return J.writeUInt32BE(H[0],0),J[N(2418)](H[1],4),J[N(2418)](H[2],8),J.writeUInt32BE(H[3],12),J},F[B(2086)][B(313)]=function(J){var N=B,H=(J=S(J))[1],H=(J[1]=J[3],J[3]=H,R(J,this[N(1401)],L.INV_SUB_MIX,L.INV_SBOX,this[N(2635)])),J=D[N(1855)](16);return J[N(2418)](H[0],0),J[N(2418)](H[3],4),J.writeUInt32BE(H[2],8),J[N(2418)](H[1],12),J},F[B(2086)][B(2032)]=function(){var U=B;P(this[U(363)]),P(this[U(1401)]),P(this[U(1875)])},w[B(2726)][B(2762)]=F},62422:(w,Q,M)=>{var B=Tt,D=M(74497),S=M(89509).Buffer,P=M(71027),R=M(35717),T=M(83288),L=M(67295),F=M(20685);function U(N,ee,J,K){var X=Tt;P[X(2811)](this);var j=S[X(1526)](4,0),ee=(this[X(2808)]=new D[X(2762)](ee),this._cipher[X(824)](j));this[X(2297)]=new T(ee),J=function(ie,he,Ae){var le=X;if(he[le(2405)]===12)return ie._finID=S[le(1558)]([he,S[le(2151)]([0,0,0,1])]),S[le(1558)]([he,S[le(2151)]([0,0,0,2])]);var Ae=new T(Ae),de=he[le(2405)],ge=de%16,he=(Ae.update(he),ge&&Ae[le(1744)](S[le(1526)](16-ge,0)),Ae[le(1744)](S[le(1526)](8,0)),8*de),ge=S[le(1526)](8),de=(ge[le(1793)](he,0,8),Ae[le(1744)](ge),ie[le(1250)]=Ae[le(1285)],S[le(2151)](ie[le(1250)]));return F(de),de}(this,J,ee),this._prev=S[X(2151)](J),this[X(1410)]=S[X(1855)](0),this[X(1006)]=S[X(1855)](0),this[X(357)]=K,this[X(1869)]=0,this[X(499)]=0,this._mode=N,this._authTag=null,this._called=!1}R(U,P),U.prototype[B(185)]=function(N){var H=B;!this[H(608)]&&this._alen&&(J=16-this[H(1869)]%16)<16&&(J=S[H(1526)](J,0),this[H(2297)][H(1744)](J)),this._called=!0;var J=this[H(2562)][H(570)](this,N);return this[H(357)]?this[H(2297)][H(1744)](N):this[H(2297)][H(1744)](J),this[H(499)]+=N.length,J},U[B(2086)][B(1474)]=function(){var N=B;if(this[N(357)]&&!this[N(1861)])throw new Error(N(1007));var H=L(this._ghash[N(1471)](8*this._alen,8*this[N(499)]),this[N(2808)].encryptBlock(this._finID));if(this[N(357)]&&function(J,K){for(var X=N,j=0,ee=(J[X(2405)]!==K.length&&j++,Math[X(1817)](J.length,K.length)),ie=0;ie<ee;++ie)j+=J[ie]^K[ie];return j}(H,this._authTag))throw new Error(N(1007));this[N(1861)]=H,this._cipher[N(2032)]()},U[B(2086)][B(1346)]=function(){var N=B;if(this._decrypt||!S[N(1564)](this._authTag))throw new Error(N(1898));return this._authTag},U.prototype[B(2507)]=function(N){var H=B;if(!this._decrypt)throw new Error(H(511));this[H(1861)]=N},U[B(2086)].setAAD=function(N){var H=B;if(this[H(608)])throw new Error("Attempting to set AAD in unsupported state");this._ghash[H(1744)](N),this[H(1869)]+=N[H(2405)]},w[B(2726)]=U},44696:(w,Q,M)=>{var B=Tt,D=M(71494),S=M(66193),P=M(44946);Q[B(2221)]=Q.Cipher=D.createCipher,Q[B(805)]=Q[B(728)]=D[B(805)],Q[B(1610)]=Q.Decipher=S[B(1610)],Q[B(2453)]=Q[B(2459)]=S[B(2453)],Q.listCiphers=Q[B(1912)]=function(){var R=B;return Object[R(732)](P)}},66193:(w,Q,M)=>{var B=Tt,D=M(62422),S=M(89509)[B(964)],P=M(45),R=M(25969),T=M(71027),L=M(74497),F=M(13048);function U(J,K,X){var j=B;T.call(this),this._cache=new N,this[j(2199)]=void 0,this[j(2808)]=new L[j(2762)](K),this[j(2058)]=S.from(X),this[j(2562)]=J,this[j(836)]=!0}function N(){var J=B;this[J(2597)]=S[J(1855)](0)}function H(J,K,X){var j=B;if(J=P[J[j(444)]()],!J)throw new TypeError(j(2649));if(j(1090)==typeof X&&(X=S[j(2151)](X)),J[j(224)]!=="GCM"&&X[j(2405)]!==J.iv)throw new TypeError(j(2652)+X[j(2405)]);if((K=j(1090)==typeof K?S[j(2151)](K):K)[j(2405)]!==J[j(2115)]/8)throw new TypeError("invalid key length "+K[j(2405)]);return J[j(1808)]==="stream"?new R(J[j(2393)],K,X,!0):J[j(1808)]==="auth"?new D(J[j(2393)],K,X,!0):new U(J[j(2393)],K,X)}M(35717)(U,T),U[B(2086)][B(185)]=function(J){var K=B;this._cache.add(J);for(var X,j=[];X=this[K(1410)][K(2009)](this[K(836)]);)X=this[K(2562)][K(1505)](this,X),j[K(2764)](X);return S.concat(j)},U[B(2086)][B(1474)]=function(){var J=B,K=this[J(1410)][J(1976)]();if(this[J(836)]){var X=this[J(2562)][J(1505)](this,K),j=X[15];if(j<1||16<j)throw new Error("unable to decrypt data");for(var ee=-1;++ee<j;)if(X[ee+(16-j)]!==j)throw new Error(J(646));if(j!==16)return X[J(352)](0,16-j)}else if(K)throw new Error(J(2423))},U[B(2086)][B(1760)]=function(J){var K=B;return this[K(836)]=!!J,this},N[B(2086)].add=function(J){var K=B;this[K(2597)]=S[K(1558)]([this[K(2597)],J])},N[B(2086)][B(2009)]=function(J){var K=B,X;if(J){if(16<this[K(2597)][K(2405)])return X=this[K(2597)][K(352)](0,16),this.cache=this.cache[K(352)](16),X}else if(16<=this[K(2597)][K(2405)])return X=this[K(2597)][K(352)](0,16),this[K(2597)]=this[K(2597)].slice(16),X;return null},N[B(2086)][B(1976)]=function(){var J=B;if(this[J(2597)][J(2405)])return this[J(2597)]},Q[B(1610)]=function(J,K){var X=B,j=P[J[X(444)]()];if(!j)throw new TypeError(X(2649));return K=F(K,!1,j[X(2115)],j.iv),H(J,K[X(2115)],K.iv)},Q[B(2453)]=H},71494:(w,Q,M)=>{var B=Tt,D=M(45),S=M(62422),P=M(89509)[B(964)],R=M(25969),T=M(71027),L=M(74497),F=M(13048);function U(K,X,j){var ee=B;T[ee(2811)](this),this[ee(1410)]=new H,this[ee(2808)]=new L[ee(2762)](X),this[ee(2058)]=P[ee(2151)](j),this._mode=K,this[ee(836)]=!0}M(35717)(U,T),U[B(2086)][B(185)]=function(K){var X=B;this._cache.add(K);for(var j,ee=[];j=this._cache[X(2009)]();)j=this[X(2562)][X(570)](this,j),ee[X(2764)](j);return P[X(1558)](ee)};var N=P[B(1526)](16,16);function H(){var K=B;this[K(2597)]=P[K(1855)](0)}function J(K,X,j){var ee=B;if(K=D[K[ee(444)]()],!K)throw new TypeError("invalid suite type");if((X=typeof X=="string"?P[ee(2151)](X):X)[ee(2405)]!==K[ee(2115)]/8)throw new TypeError(ee(2351)+X[ee(2405)]);if(ee(1090)==typeof j&&(j=P[ee(2151)](j)),ee(1836)!==K[ee(224)]&&j[ee(2405)]!==K.iv)throw new TypeError(ee(2652)+j[ee(2405)]);return new(ee(500)===K[ee(1808)]?R:ee(418)===K[ee(1808)]?S:U)(K[ee(2393)],X,j)}U[B(2086)][B(1474)]=function(){var K=B,X=this._cache[K(1976)]();if(this[K(836)])return X=this[K(2562)][K(570)](this,X),this[K(2808)][K(2032)](),X;if(!X[K(1240)](N))throw this._cipher.scrub(),new Error(K(2423))},U[B(2086)].setAutoPadding=function(K){var X=B;return this[X(836)]=!!K,this},H[B(2086)][B(1002)]=function(K){var X=B;this[X(2597)]=P[X(1558)]([this[X(2597)],K])},H[B(2086)][B(2009)]=function(){var K=B,X;return 15<this.cache[K(2405)]?(X=this[K(2597)][K(352)](0,16),this[K(2597)]=this.cache[K(352)](16),X):null},H.prototype.flush=function(){for(var K=B,X=16-this[K(2597)].length,j=P.allocUnsafe(X),ee=-1;++ee<X;)j.writeUInt8(X,ee);return P[K(1558)]([this.cache,j])},Q[B(805)]=J,Q[B(2221)]=function(K,X){var j=B,ee=D[K[j(444)]()];if(!ee)throw new TypeError(j(2649));return X=F(X,!1,ee.key,ee.iv),J(K,X.key,X.iv)}},83288:(w,Q,M)=>{var B=Tt,D=M(89509).Buffer,S=D[B(1526)](16,0);function P(T){var L=B,F=D[L(1855)](16);return F[L(2418)](T[0]>>>0,0),F[L(2418)](T[1]>>>0,4),F[L(2418)](T[2]>>>0,8),F.writeUInt32BE(T[3]>>>0,12),F}function R(T){var L=B;this.h=T,this[L(1285)]=D.alloc(16,0),this[L(2597)]=D[L(1855)](0)}R[B(2086)][B(1193)]=function(T){for(var L=B,F=-1;++F<T[L(2405)];)this[L(1285)][F]^=T[F];this[L(2108)]()},R.prototype[B(2108)]=function(){for(var T=B,L,F,U,N=[(L=this.h)[T(2237)](0),L[T(2237)](4),L.readUInt32BE(8),L[T(2237)](12)],H=[0,0,0,0],J=-1;++J<128;){for((this[T(1285)][~~(J/8)]&1<<7-J%8)!=0&&(H[0]^=N[0],H[1]^=N[1],H[2]^=N[2],H[3]^=N[3]),U=(1&N[3])!=0,F=3;0<F;F--)N[F]=N[F]>>>1|(1&N[F-1])<<31;N[0]=N[0]>>>1,U&&(N[0]=N[0]^225<<24)}this[T(1285)]=P(H)},R[B(2086)][B(1744)]=function(T){var L=B,F;for(this[L(2597)]=D[L(1558)]([this[L(2597)],T]);16<=this.cache[L(2405)];)F=this[L(2597)][L(352)](0,16),this.cache=this[L(2597)].slice(16),this[L(1193)](F)},R[B(2086)].final=function(T,L){var F=B;return this[F(2597)][F(2405)]&&this[F(1193)](D[F(1558)]([this[F(2597)],S],16)),this[F(1193)](P([0,T,0,L])),this[F(1285)]},w[B(2726)]=R},20685:w=>{var Q=Tt;w[Q(2726)]=function(M){for(var B=Q,D,S=M[B(2405)];S--;){if((D=M[B(1620)](S))!==255){D++,M[B(556)](D,S);break}M[B(556)](0,S)}}},25292:(w,Q,M)=>{var B=M(67295);Q.encrypt=function(D,S){var P=Tt;return S=B(S,D[P(2058)]),D[P(2058)]=D[P(2808)][P(824)](S),D[P(2058)]},Q.decrypt=function(T,S){var P=Tt,R=T[P(2058)],T=(T[P(2058)]=S,T._cipher[P(313)](S));return B(T,R)}},86311:(w,Q,M)=>{var B=Tt,D=M(89509)[B(964)],S=M(67295);function P(R,T,L){var F=B,U=T[F(2405)],N=S(T,R[F(1410)]);return R._cache=R._cache[F(352)](U),R[F(2058)]=D[F(1558)]([R[F(2058)],L?T:N]),N}Q[B(570)]=function(R,T,L){for(var F=B,U,N=D[F(1855)](0);T[F(2405)];){if(R[F(1410)][F(2405)]===0&&(R[F(1410)]=R[F(2808)][F(824)](R[F(2058)]),R[F(2058)]=D[F(1855)](0)),!(R[F(1410)][F(2405)]<=T.length)){N=D.concat([N,P(R,T,L)]);break}U=R[F(1410)][F(2405)],N=D[F(1558)]([N,P(R,T[F(352)](0,U),L)]),T=T.slice(U)}return N}},21510:(w,Q,M)=>{var B=Tt,D=M(89509).Buffer;Q[B(570)]=function(S,P,R){for(var T=B,L=P[T(2405)],F=D[T(1855)](L),U=-1;++U<L;)F[U]=function(N,H,J){for(var K=T,X,j,ee=-1,ie=0;++ee<8;)ie+=(128&(j=N[K(2808)][K(824)](N[K(2058)])[0]^(X=H&1<<7-ee?128:0)))>>ee%8,N[K(2058)]=function(z,oe){var le=K,Ae=z[le(2405)],he=-1,ge=D[le(1855)](z[le(2405)]);for(z=D.concat([z,D.from([oe])]);++he<Ae;)ge[he]=z[he]<<1|z[he+1]>>7;return ge}(N[K(2058)],J?X:j);return ie}(S,P[U],R);return F}},71964:(w,Q,M)=>{var B=Tt,D=M(89509)[B(964)];Q[B(570)]=function(S,P,R){for(var T=B,L,F,U,N,H=P[T(2405)],J=D[T(1855)](H),K=-1;++K<H;)J[K]=(F=P[K],U=R,N=(L=S)[T(2808)].encryptBlock(L._prev)[0]^F,L._prev=D[T(1558)]([L[T(2058)][T(352)](1),D[T(2151)]([U?F:N])]),N);return J}},96009:(w,Q,M)=>{var B=Tt,D=M(67295),S=M(89509).Buffer,P=M(20685);Q[B(570)]=function(R,T){var L=B,F=Math[L(235)](T.length/16),U=R[L(1410)][L(2405)];R[L(1410)]=S[L(1558)]([R._cache,S[L(1855)](16*F)]);for(var N=0;N<F;N++){J=(H=R)[L(2808)][L(1531)](H._prev),P(H[L(2058)]);var H=J,J=U+16*N;R[L(1410)][L(2418)](H[0],J+0),R._cache[L(2418)](H[1],J+4),R[L(1410)][L(2418)](H[2],J+8),R._cache[L(2418)](H[3],J+12)}var K=R[L(1410)][L(352)](0,T[L(2405)]);return R[L(1410)]=R._cache[L(352)](T[L(2405)]),D(T,K)}},11084:(w,Q)=>{var M=Tt;Q.encrypt=function(B,D){var S=Tt;return B._cipher[S(824)](D)},Q[M(1505)]=function(B,D){var S=M;return B._cipher[S(313)](D)}},45:(w,Q,M)=>{var B=Tt,D,S={ECB:M(11084),CBC:M(25292),CFB:M(86311),CFB8:M(71964),CFB1:M(21510),OFB:M(18861),CTR:M(96009),GCM:M(96009)},P=M(44946);for(D in P)P[D].module=S[P[D][B(224)]];w[B(2726)]=P},18861:(w,Q,M)=>{var B=Tt,D=M(48764)[B(964)],S=M(67295);Q[B(570)]=function(P,R){for(var T=B;P[T(1410)].length<R[T(2405)];)P._cache=D[T(1558)]([P._cache,((L=P)[T(2058)]=L[T(2808)].encryptBlock(L._prev),L[T(2058)])]);var L,F=P[T(1410)][T(352)](0,R[T(2405)]);return P[T(1410)]=P[T(1410)].slice(R.length),S(R,F)}},25969:(w,Q,M)=>{var B=Tt,D=M(74497),S=M(89509)[B(964)],P=M(71027);function R(T,L,F,U){var N=B;P[N(2811)](this),this[N(2808)]=new D[N(2762)](L),this[N(2058)]=S[N(2151)](F),this._cache=S.allocUnsafe(0),this[N(1006)]=S[N(1855)](0),this._decrypt=U,this[N(2562)]=T}M(35717)(R,P),R[B(2086)][B(185)]=function(T){var L=B;return this[L(2562)].encrypt(this,T,this[L(357)])},R[B(2086)]._final=function(){var T=B;this[T(2808)][T(2032)]()},w[B(2726)]=R},53614:(w,Q,M)=>{var B=Tt,D=M(47667),S=M(44696),P=M(45),R=M(99715),T=M(13048);function L(U,N,H){var J=Tt;if(U=U[J(444)](),P[U])return S[J(805)](U,N,H);if(R[U])return new D({key:N,iv:H,mode:U});throw new TypeError("invalid suite type")}function F(U,N,H){var J=Tt;if(U=U[J(444)](),P[U])return S[J(2453)](U,N,H);if(R[U])return new D({key:N,iv:H,mode:U,decrypt:!0});throw new TypeError(J(2649))}Q[B(2221)]=Q[B(1203)]=function(U,N){var H=B,J,K;if(U=U[H(444)](),P[U])J=P[U][H(2115)],K=P[U].iv;else{if(!R[U])throw new TypeError(H(2649));J=8*R[U][H(2115)],K=R[U].iv}return N=T(N,!1,J,K),L(U,N[H(2115)],N.iv)},Q[B(805)]=Q[B(728)]=L,Q[B(1610)]=Q.Decipher=function(U,N){var H=B,J,K;if(U=U.toLowerCase(),P[U])J=P[U][H(2115)],K=P[U].iv;else{if(!R[U])throw new TypeError(H(2649));J=8*R[U].key,K=R[U].iv}return N=T(N,!1,J,K),F(U,N[H(2115)],N.iv)},Q.createDecipheriv=Q.Decipheriv=F,Q[B(2220)]=Q[B(1912)]=function(){var U=B;return Object[U(732)](R)[U(1558)](S[U(1912)]())}},47667:(w,Q,M)=>{var B=Tt,D=M(71027),S=M(15251),P=M(35717),R=M(89509)[B(964)],T={"des-ede3-cbc":S[B(951)][B(1270)](S[B(2679)]),"des-ede3":S[B(2679)],"des-ede-cbc":S[B(951)][B(1270)](S.EDE),"des-ede":S.EDE,"des-cbc":S[B(951)][B(1270)](S[B(1245)]),"des-ecb":S[B(1245)]};function L(F){var U=B;D[U(2811)](this);var K=F.mode[U(444)](),N=T[K],H=F[U(1505)]?U(1505):U(570),J=F[U(2115)],K=(R[U(1564)](J)||(J=R.from(J)),U(2601)!==K&&K!=="des-ede-cbc"||(J=R.concat([J,J[U(352)](0,8)])),F.iv);R[U(1564)](K)||(K=R[U(2151)](K)),this[U(2052)]=N[U(766)]({key:J,iv:K,type:H})}T.des=T[B(2419)],T[B(1463)]=T["des-ede3-cbc"],P(w.exports=L,D),L[B(2086)][B(185)]=function(F){var U=B;return R.from(this[U(2052)][U(1744)](F))},L[B(2086)]._final=function(){var F=B;return R.from(this[F(2052)][F(1471)]())}},99715:(w,Q)=>{var M=Tt;Q["des-ecb"]={key:8,iv:0},Q["des-cbc"]=Q.des={key:8,iv:8},Q["des-ede3-cbc"]=Q[M(1463)]={key:24,iv:8},Q[M(2375)]={key:24,iv:0},Q[M(321)]={key:16,iv:8},Q[M(2601)]={key:16,iv:0}},23663:(w,Q,M)=>{var B=Tt,D=M(48764)[B(964)],S=M(13550),P=M(61798);function R(L){for(var F=B,U,N=L[F(2745)][F(2127)]();0<=(U=new S(P(N))).cmp(L[F(2745)])||!U[F(1792)](L.prime1)||!U[F(1792)](L[F(212)]););return U}function T(j,F){var U=B,N={blinder:(N=R(H=F))[U(1705)](S[U(649)](H.modulus))[U(2641)](new S(H[U(1636)]))[U(240)](),unblinder:N[U(680)](H[U(2745)])},H=F[U(2745)][U(2127)](),j=new S(j)[U(1304)](N[U(168)])[U(1792)](F[U(2745)]),ee=j[U(1705)](S[U(649)](F[U(576)])),j=j.toRed(S[U(649)](F[U(212)])),J=F[U(1930)],K=F[U(576)],X=F[U(212)],ee=ee.redPow(F.exponent1)[U(240)](),j=j[U(2641)](F[U(1373)])[U(240)](),ee=ee[U(1155)](j)[U(1759)](J)[U(1792)](K)[U(1759)](X);return j[U(2553)](ee).imul(N[U(698)]).umod(F[U(2745)])[U(1298)](D,"be",H)}T[B(1591)]=R,w[B(2726)]=T},56042:(w,Q,M)=>{var B=Tt;w[B(2726)]=M(75207)},64743:(w,Q,M)=>{var B=Tt,D=M(25679)[B(964)],S=M(23482),P=M(88473),R=M(35717),T=M(82957),L=M(47753),F=M(75207);function U(K){var X=B;if(P[X(1110)][X(2811)](this),K=F[K],!K)throw new Error("Unknown message digest");this._hashType=K[X(1312)],this[X(1060)]=S(K[X(1312)]),this[X(1071)]=K.id,this[X(2488)]=K[X(375)]}function N(K){var X=B;if(P.Writable[X(2811)](this),K=F[K],!K)throw new Error(X(602));this._hash=S(K[X(1312)]),this._tag=K.id,this[X(2488)]=K[X(375)]}function H(K){return new U(K)}function J(K){return new N(K)}Object[B(732)](F)[B(312)](function(K){var X=B;F[K].id=D[X(2151)](F[K].id,X(1996)),F[K.toLowerCase()]=F[K]}),R(U,P[B(1110)]),U[B(2086)]._write=function(K,X,j){var ee=B;this._hash[ee(1744)](K),j()},U[B(2086)][B(1744)]=function(K,X){var j=B;return j(1090)==typeof K&&(K=D.from(K,X)),this._hash[j(1744)](K),this},U[B(2086)].sign=function(K,X){var j=B;this.end();var ee=this[j(1060)][j(2637)](),ee=T(ee,K,this._hashType,this[j(2488)],this[j(1071)]);return X?ee[j(2192)](X):ee},R(N,P[B(1110)]),N[B(2086)][B(1644)]=function(K,X,j){var ee=B;this._hash[ee(1744)](K),j()},N[B(2086)][B(1744)]=function(K,X){var j=B;return j(1090)==typeof K&&(K=D[j(2151)](K,X)),this._hash.update(K),this},N[B(2086)][B(1392)]=function(K,X,j){var ee=B;return typeof X=="string"&&(X=D.from(X,j)),this[ee(2624)](),j=this[ee(1060)][ee(2637)](),L(X,j,K,this._signType,this._tag)},w[B(2726)]={Sign:H,Verify:J,createSign:H,createVerify:J}},82957:(w,Q,M)=>{var B=Tt,D=M(25679).Buffer,S=M(58355),P=M(23663),R=M(86266).ec,T=M(13550),L=M(70980),F=M(1308);function U(J,ie,X,j){var ee=Tt;(J=D.from(J[ee(1780)]())).length<ie[ee(2127)]()&&(z=D.alloc(ie[ee(2127)]()-J[ee(2405)]),J=D[ee(1558)]([z,J]));var z=X.length,ie=function(le,Ae){var he=ee;return le=(le=N(X,Ae))[he(2451)](Ae),le=D.from(le[he(1780)]()),le[he(2405)]<Ae[he(2127)]()&&(Ae=D.alloc(Ae[he(2127)]()-le[he(2405)]),le=D[he(1558)]([Ae,le])),le}(X,ie),z=((oe=D[ee(1526)](z))[ee(1263)](1),D[ee(1526)](z)),z=S(j,z).update(oe).update(D[ee(2151)]([0]))[ee(1744)](J)[ee(1744)](ie).digest(),oe=S(j,z).update(oe)[ee(2637)]();return{k:z=S(j,z)[ee(1744)](oe).update(D[ee(2151)]([1]))[ee(1744)](J)[ee(1744)](ie).digest(),v:oe=S(j,z)[ee(1744)](oe)[ee(2637)]()}}function N(ee,K){var X=Tt,j=new T(ee),ee=(ee[X(2405)]<<3)-K.bitLength();return 0<ee&&j[X(739)](ee),j}function H(J,K,X){var j=Tt,ee,ie;do for(ee=D[j(1526)](0);8*ee[j(2405)]<J[j(1787)]();)K.v=S(X,K.k)[j(1744)](K.v)[j(2637)](),ee=D.concat([ee,K.v]);while(ie=N(ee,J),K.k=S(X,K.k).update(K.v).update(D[j(2151)]([0]))[j(2637)](),K.v=S(X,K.k)[j(1744)](K.v)[j(2637)](),ie.cmp(J)!==-1);return ie}w.exports=function(J,le,X,j,ee){var ie=Tt,z,oe,le=L(le);if(le[ie(1364)]){if(ie(2173)!==j&&ie(1338)!==j)throw new Error(ie(1403));var Ae=J,he=le,ge=F[he[ie(1364)].join(".")];if(!ge)throw new Error(ie(594)+he[ie(1364)][ie(1814)]("."));return ge=new R(ge)[ie(234)](he[ie(2098)]).sign(Ae),D[ie(2151)](ge.toDER())}if(ie(714)===le[ie(1808)]){if(ie(714)!==j)throw new Error(ie(1403));for(var de,he=J,fe=X,G=le.params[ie(2516)],Y=le[ie(306)].p,W=le[ie(306)].q,O=le[ie(306)].g,re=new T(0),se=N(he,W)[ie(2451)](W),ce=!1,me=U(G,W,he,fe);ce===!1;)de=H(W,me,fe),z=de,oe=W,re=O[ie(1705)](T[ie(649)](Y))[ie(2641)](z)[ie(240)]().mod(oe),(ce=de[ie(680)](W)[ie(1759)](se[ie(1002)](G[ie(1304)](re)))[ie(2451)](W)).cmpn(0)===0&&(ce=!1,re=new T(0));return Ae=ce,ge=(ge=re).toArray(),Ae=Ae[ie(1780)](),128&ge[0]&&(ge=[0][ie(1558)](ge)),128&Ae[0]&&(Ae=[0][ie(1558)](Ae)),X=(X=[48,ge.length+Ae[ie(2405)]+4,2,ge[ie(2405)]]).concat(ge,[2,Ae[ie(2405)]],Ae),D[ie(2151)](X)}if(ie(451)!==j&&ie(1338)!==j)throw new Error(ie(1403));J=D[ie(1558)]([ee,J]);for(var Ce=le.modulus.byteLength(),ye=[0,1];J[ie(2405)]+ye[ie(2405)]+1<Ce;)ye[ie(2764)](255);ye.push(0);for(var Be=-1;++Be<J[ie(2405)];)ye[ie(2764)](J[Be]);return P(ye,le)},w[B(2726)].getKey=U,w[B(2726)].makeKey=H},47753:(w,Q,M)=>{var B=Tt,D=M(25679)[B(964)],S=M(13550),P=M(86266).ec,R=M(70980),T=M(1308);function L(F,U){var N=B;if(F[N(1915)](0)<=0)throw new Error(N(2244));if(F[N(637)](U)>=U)throw new Error(N(2244))}w[B(2726)]=function(F,U,ie,H,J){var K=B,X,j,ee,ie=R(ie);if(ie[K(1808)]==="ec"){if(K(2173)!==H&&K(1338)!==H)throw new Error("wrong public key type");var z=F,oe=U,Ae=ie,le=T[Ae[K(1322)].algorithm[K(1364)][K(1814)](".")];if(!le)throw new Error(K(594)+Ae[K(1322)][K(2555)][K(1364)][K(1814)]("."));var le=new P(le),Ae=Ae.data[K(758)].data;return le.verify(oe,z,Ae)}if(K(714)===ie[K(1808)]){if(K(714)!==H)throw new Error("wrong public key type");return le=F,oe=U,z=ie[K(1322)].p,Ae=ie[K(1322)].q,fe=ie[K(1322)].g,X=ie.data[K(1748)],ee=(le=R.signature[K(1288)](le,K(2806))).s,le=le.r,L(ee,Ae),L(le,Ae),j=S.mont(z),ee=ee[K(680)](Ae),fe[K(1705)](j).redPow(new S(oe)[K(1304)](ee)[K(2451)](Ae))[K(240)]()[K(1304)](X[K(1705)](j)[K(2641)](le.mul(ee)[K(2451)](Ae))[K(240)]())[K(2451)](z)[K(2451)](Ae)[K(637)](le)===0}if(K(451)!==H&&K(1338)!==H)throw new Error("wrong public key type");U=D[K(1558)]([J,U]);for(var Y=ie.modulus[K(2127)](),de=[1],he=0;U[K(2405)]+de[K(2405)]+2<Y;)de.push(255),he++;de.push(0);for(var ge=-1;++ge<U[K(2405)];)de[K(2764)](U[ge]);var de=D[K(2151)](de),fe=S[K(649)](ie.modulus),G=(F=(F=new S(F)[K(1705)](fe))[K(2641)](new S(ie.publicExponent)),F=D[K(2151)](F[K(240)]()[K(1780)]()),he<8?1:0),Y=Math[K(1817)](F[K(2405)],de[K(2405)]);for(F[K(2405)]!==de[K(2405)]&&(G=1),ge=-1;++ge<Y;)G|=F[ge]^de[ge];return G===0}},25679:(w,Q,M)=>{var B=Tt,D=M(48764),S=D[B(964)];function P(T,L){for(var F in T)L[F]=T[F]}function R(T,L,F){return S(T,L,F)}S[B(2151)]&&S.alloc&&S[B(1855)]&&S[B(638)]?w.exports=D:(P(D,Q),Q.Buffer=R),R[B(2086)]=Object[B(766)](S.prototype),P(S,R),R[B(2151)]=function(T,L,F){var U=B;if(typeof T=="number")throw new TypeError(U(2462));return S(T,L,F)},R.alloc=function(T,L,F){var U=B;if(U(647)!=typeof T)throw new TypeError("Argument must be a number");return T=S(T),L!==void 0?U(1090)==typeof F?T[U(1263)](L,F):T[U(1263)](L):T.fill(0),T},R.allocUnsafe=function(T){if(typeof T!="number")throw new TypeError("Argument must be a number");return S(T)},R[B(638)]=function(T){var L=B;if(L(647)!=typeof T)throw new TypeError(L(2286));return D.SlowBuffer(T)}},67295:(w,Q,M)=>{var B=Tt,D=M(48764)[B(964)];w.exports=function(S,P){for(var R=B,T=Math[R(1817)](S[R(2405)],P[R(2405)]),L=new D(T),F=0;F<T;++F)L[F]=S[F]^P[F];return L}},48764:(w,Q,M)=>{var B=Tt,D=M(25108);let S=M(79742),P=M(80645);M=B(605)==typeof Symbol&&B(605)==typeof Symbol[B(2026)]?Symbol.for("nodejs.util.inspect.custom"):null,Q[B(964)]=L,Q[B(1764)]=function(we){var Fe=B;return L[Fe(1526)](+(we=+we!=we?0:we))},Q[B(1478)]=50;let R=2147483647;function T(we){var Fe=B;if(we>R)throw new RangeError(Fe(1699)+we+Fe(812));return we=new Uint8Array(we),Object.setPrototypeOf(we,L[Fe(2086)]),we}function L(we,Fe,Ue){var ze=B;if(ze(647)!=typeof we)return F(we,Fe,Ue);if(ze(1090)==typeof Fe)throw new TypeError('The "string" argument must be of type string. Received type number');return N(we)}function F(we,Fe,Ue){var ze=B;if(ze(1090)==typeof we){var Je=we,je=Fe;if(!L[ze(976)](je=typeof je=="string"&&je!==""?je:ze(2016)))throw new TypeError(ze(2200)+je);var Ze=0|X(Je,je);let At=T(Ze);return Je=At[ze(677)](Je,je),At=Je!==Ze?At[ze(352)](0,Je):At}if(ArrayBuffer.isView(we))return Me(je=we,Uint8Array)?J((Ze=new Uint8Array(je))[ze(1123)],Ze[ze(2481)],Ze.byteLength):H(je);if(we==null)throw new TypeError(ze(879)+typeof we);if(Me(we,ArrayBuffer)||we&&Me(we[ze(1123)],ArrayBuffer)||ze(621)!=typeof SharedArrayBuffer&&(Me(we,SharedArrayBuffer)||we&&Me(we[ze(1123)],SharedArrayBuffer)))return J(we,Fe,Ue);if(ze(647)==typeof we)throw new TypeError('The "value" argument must not be of type number. Received type number');if(Je=we.valueOf&&we[ze(2207)](),Je!=null&&Je!==we)return L[ze(2151)](Je,Fe,Ue);var rt=L.isBuffer(Ze=we)?((Je=T(je=0|K(Ze[ze(2405)])))[ze(2405)]!==0&&Ze[ze(1973)](Je,0,0,je),Je):Ze.length!==void 0?ze(647)!=typeof Ze[ze(2405)]||He(Ze[ze(2405)])?T(0):H(Ze):ze(964)===Ze[ze(1808)]&&Array.isArray(Ze[ze(1322)])?H(Ze[ze(1322)]):void 0;if(rt)return rt;if(ze(621)!=typeof Symbol&&Symbol[ze(1457)]!=null&&ze(605)==typeof we[Symbol.toPrimitive])return L[ze(2151)](we[Symbol.toPrimitive](ze(1090)),Fe,Ue);throw new TypeError(ze(879)+typeof we)}function U(we){var Fe=B;if(Fe(647)!=typeof we)throw new TypeError(Fe(1679));if(we<0)throw new RangeError('The value "'+we+'" is invalid for option "size"')}function N(we){return U(we),T(we<0?0:0|K(we))}function H(we){var Fe=B,Ue=we[Fe(2405)]<0?0:0|K(we[Fe(2405)]);let ze=T(Ue);for(let Je=0;Je<Ue;Je+=1)ze[Je]=255&we[Je];return ze}function J(we,Fe,Ue){var ze=B;if(Fe<0||we[ze(2127)]<Fe)throw new RangeError(ze(2487));if(we[ze(2127)]<Fe+(Ue||0))throw new RangeError(ze(2525));return we=Fe===void 0&&Ue===void 0?new Uint8Array(we):Ue===void 0?new Uint8Array(we,Fe):new Uint8Array(we,Fe,Ue),Object[ze(859)](we,L[ze(2086)]),we}function K(we){var Fe=B;if(we>=R)throw new RangeError(Fe(173)+R[Fe(2192)](16)+Fe(1023));return 0|we}function X(we,Fe){var Ue=B;if(L.isBuffer(we))return we[Ue(2405)];if(ArrayBuffer[Ue(2155)](we)||Me(we,ArrayBuffer))return we[Ue(2127)];if(typeof we!="string")throw new TypeError(Ue(309)+typeof we);var ze=we[Ue(2405)],Je=2<arguments[Ue(2405)]&&arguments[2]===!0;if(!Je&&ze===0)return 0;let je=!1;for(;;)switch(Fe){case"ascii":case"latin1":case"binary":return ze;case"utf8":case"utf-8":return Ce(we).length;case"ucs2":case Ue(1129):case Ue(2252):case Ue(1893):return 2*ze;case Ue(1996):return ze>>>1;case Ue(2160):return ye(we).length;default:if(je)return Je?-1:Ce(we).length;Fe=(""+Fe)[Ue(444)](),je=!0}}function j(we,Fe,Ue){var ze=we[Fe];we[Fe]=we[Ue],we[Ue]=ze}function ee(we,Fe,Ue,ze,Je){var je=B;if(we[je(2405)]===0)return-1;if(typeof Ue=="string"?(ze=Ue,Ue=0):2147483647<Ue?Ue=2147483647:Ue<-2147483648&&(Ue=-2147483648),(Ue=(Ue=He(Ue=+Ue)?Je?0:we[je(2405)]-1:Ue)<0?we[je(2405)]+Ue:Ue)>=we[je(2405)]){if(Je)return-1;Ue=we[je(2405)]-1}else if(Ue<0){if(!Je)return-1;Ue=0}if(je(1090)==typeof Fe&&(Fe=L[je(2151)](Fe,ze)),L.isBuffer(Fe))return Fe[je(2405)]===0?-1:ie(we,Fe,Ue,ze,Je);if(typeof Fe=="number")return Fe&=255,typeof Uint8Array[je(2086)][je(1439)]=="function"?(Je?Uint8Array[je(2086)][je(1439)]:Uint8Array.prototype[je(881)])[je(2811)](we,Fe,Ue):ie(we,[Fe],Ue,ze,Je);throw new TypeError("val must be string, number or Buffer")}function ie(we,Fe,Ue,ze,Je){var je=B;let Ze=1,rt=we.length,At=Fe.length;if(ze!==void 0&&(je(2320)===(ze=String(ze).toLowerCase())||je(1129)===ze||je(2252)===ze||je(1893)===ze)){if(we[je(2405)]<2||Fe[je(2405)]<2)return-1;Ze=2,rt/=2,At/=2,Ue/=2}function yt(ft,_t){var et=je;return Ze===1?ft[_t]:ft[et(994)](_t*Ze)}let at;if(Je){let ft=-1;for(at=Ue;at<rt;at++)if(yt(we,at)===yt(Fe,ft===-1?0:at-ft)){if(ft===-1&&(ft=at),at-ft+1===At)return ft*Ze}else ft!==-1&&(at-=at-ft),ft=-1}else for(Ue+At>rt&&(Ue=rt-At),at=Ue;0<=at;at--){let ft=!0;for(let _t=0;_t<At;_t++)if(yt(we,at+_t)!==yt(Fe,_t)){ft=!1;break}if(ft)return at}return-1}function z(we,Fe,Ue){var ze=B;Ue=Math[ze(1817)](we.length,Ue);let Je=[],je=Fe;for(;je<Ue;){var Ze=we[je];let yt=null,at=239<Ze?4:223<Ze?3:191<Ze?2:1;if(je+at<=Ue){let ft,_t,et,pt;switch(at){case 1:Ze<128&&(yt=Ze);break;case 2:(192&(ft=we[je+1]))==128&&127<(pt=(31&Ze)<<6|63&ft)&&(yt=pt);break;case 3:ft=we[je+1],_t=we[je+2],(192&ft)==128&&(192&_t)==128&&2047<(pt=(15&Ze)<<12|(63&ft)<<6|63&_t)&&(pt<55296||57343<pt)&&(yt=pt);break;case 4:ft=we[je+1],_t=we[je+2],et=we[je+3],(192&ft)==128&&(192&_t)==128&&(192&et)==128&&65535<(pt=(15&Ze)<<18|(63&ft)<<12|(63&_t)<<6|63&et)&&pt<1114112&&(yt=pt)}}yt===null?(yt=65533,at=1):65535<yt&&(yt-=65536,Je[ze(2764)](yt>>>10&1023|55296),yt=56320|1023&yt),Je[ze(2764)](yt),je+=at}{var rt=Je,At=rt[ze(2405)];if(At<=oe)return String[ze(1920)][ze(724)](String,rt);let yt="",at=0;for(;at<At;)yt+=String[ze(1920)].apply(String,rt.slice(at,at+=oe));return yt}}Q[B(662)]=R,(L[B(2145)]=function(){var we=B;try{let Ue=new Uint8Array(1);var Fe={foo:function(){return 42}};return Object[we(859)](Fe,Uint8Array[we(2086)]),Object[we(859)](Ue,Fe),Ue.foo()===42}catch{return!1}}())||D===void 0||B(605)!=typeof D.error||D[B(1274)]("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object[B(1073)](L[B(2086)],B(868),{enumerable:!0,get:function(){var we=B;if(L[we(1564)](this))return this[we(1123)]}}),Object[B(1073)](L.prototype,B(215),{enumerable:!0,get:function(){var we=B;if(L[we(1564)](this))return this[we(2481)]}}),L[B(1371)]=8192,L[B(2151)]=F,Object[B(859)](L.prototype,Uint8Array[B(2086)]),Object.setPrototypeOf(L,Uint8Array),L.alloc=function(we,Fe,Ue){var ze=B;return Fe=Fe,Ue=Ue,U(we=we),we<=0||Fe===void 0?T(we):ze(1090)==typeof Ue?T(we)[ze(1263)](Fe,Ue):T(we)[ze(1263)](Fe)},L[B(1855)]=N,L[B(638)]=N,L[B(1564)]=function(we){var Fe=B;return we!=null&&we[Fe(1015)]===!0&&we!==L[Fe(2086)]},L[B(1769)]=function(we,Fe){var Ue=B;if(Me(we,Uint8Array)&&(we=L[Ue(2151)](we,we.offset,we[Ue(2127)])),Me(Fe,Uint8Array)&&(Fe=L[Ue(2151)](Fe,Fe[Ue(215)],Fe.byteLength)),!L[Ue(1564)](we)||!L[Ue(1564)](Fe))throw new TypeError(Ue(633));if(we===Fe)return 0;let ze=we[Ue(2405)],Je=Fe[Ue(2405)];for(let je=0,Ze=Math[Ue(1817)](ze,Je);je<Ze;++je)if(we[je]!==Fe[je]){ze=we[je],Je=Fe[je];break}return ze<Je?-1:Je<ze?1:0},L[B(976)]=function(we){var Fe=B;switch(String(we).toLowerCase()){case Fe(1996):case Fe(2016):case Fe(828):case Fe(358):case Fe(889):case Fe(2470):case"base64":case Fe(2320):case"ucs-2":case Fe(2252):case Fe(1893):return!0;default:return!1}},L[B(1558)]=function(we,Fe){var Ue=B;if(!Array[Ue(2021)](we))throw new TypeError(Ue(819));if(we.length===0)return L.alloc(0);let ze;if(Fe===void 0)for(Fe=0,ze=0;ze<we.length;++ze)Fe+=we[ze][Ue(2405)];var Je=L.allocUnsafe(Fe);let je=0;for(ze=0;ze<we[Ue(2405)];++ze){let Ze=we[ze];if(Me(Ze,Uint8Array))je+Ze[Ue(2405)]>Je.length?(Ze=L.isBuffer(Ze)?Ze:L.from(Ze))[Ue(1973)](Je,je):Uint8Array[Ue(2086)].set[Ue(2811)](Je,Ze,je);else{if(!L[Ue(1564)](Ze))throw new TypeError(Ue(819));Ze.copy(Je,je)}je+=Ze[Ue(2405)]}return Je},L[B(2127)]=X,L[B(2086)][B(1015)]=!0,L[B(2086)].swap16=function(){var we=B,Fe=this[we(2405)];if(Fe%2!=0)throw new RangeError(we(387));for(let Ue=0;Ue<Fe;Ue+=2)j(this,Ue,Ue+1);return this},L.prototype[B(1409)]=function(){var we=B,Fe=this[we(2405)];if(Fe%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let Ue=0;Ue<Fe;Ue+=4)j(this,Ue,Ue+3),j(this,Ue+1,Ue+2);return this},L[B(2086)][B(1765)]=function(){var we=B,Fe=this[we(2405)];if(Fe%8!=0)throw new RangeError(we(1992));for(let Ue=0;Ue<Fe;Ue+=8)j(this,Ue,Ue+7),j(this,Ue+1,Ue+6),j(this,Ue+2,Ue+5),j(this,Ue+3,Ue+4);return this},L[B(2086)][B(1587)]=L[B(2086)][B(2192)]=function(){var we=B,Fe=this[we(2405)];return Fe===0?"":arguments[we(2405)]===0?z(this,0,Fe):function(Ue,ze,Je){var je=we;let Ze=!1;if((ze=ze===void 0||ze<0?0:ze)>this[je(2405)]||(Je=Je===void 0||Je>this[je(2405)]?this[je(2405)]:Je)<=0||(Je>>>=0)<=(ze>>>=0))return"";for(Ue=Ue||je(2016);;)switch(Ue){case je(1996):{var rt=ze,At=Je,yt=this[je(2405)];(!At||At<0||yt<At)&&(At=yt);let zt="";for(let It=rt=!rt||rt<0?0:rt;It<At;++It)zt+=ke[this[It]];return zt}case je(2016):case je(828):return z(this,ze,Je);case"ascii":{var yt=ze,at=Je;let It="";at=Math.min(this[je(2405)],at);for(let Pt=yt;Pt<at;++Pt)It+=String[je(1920)](127&this[Pt]);return It}case je(889):case je(2470):{var rt=ze,ft=Je;let It="";ft=Math[je(1817)](this[je(2405)],ft);for(let Pt=rt;Pt<ft;++Pt)It+=String[je(1920)](this[Pt]);return It}case je(2160):return pt=Je,(et=ze)===0&&pt===this[je(2405)]?S[je(2017)](this):S[je(2017)](this[je(352)](et,pt));case"ucs2":case je(1129):case je(2252):case je(1893):{var et=ze,pt=Je,_t=this[je(352)](et,pt);let Pt="";for(let St=0;St<_t[je(2405)]-1;St+=2)Pt+=String[je(1920)](_t[St]+256*_t[St+1]);return Pt}default:if(Ze)throw new TypeError(je(2200)+Ue);Ue=(Ue+"")[je(444)](),Ze=!0}var et,pt}[we(724)](this,arguments)},L[B(2086)][B(1240)]=function(we){var Fe=B;if(L[Fe(1564)](we))return this===we||L[Fe(1769)](this,we)===0;throw new TypeError(Fe(1702))},L.prototype[B(1727)]=function(){var we=B;let Fe="";var Ue=Q.INSPECT_MAX_BYTES;return Fe=this[we(2192)](we(1996),0,Ue)[we(2489)](/(.{2})/g,"$1 ")[we(2134)](),this[we(2405)]>Ue&&(Fe+=we(693)),we(755)+Fe+">"},M&&(L[B(2086)][M]=L[B(2086)][B(1727)]),L.prototype.compare=function(we,Fe,Ue,ze,Je){var je=B;if(Me(we,Uint8Array)&&(we=L[je(2151)](we,we.offset,we.byteLength)),!L[je(1564)](we))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof we);if(Ue===void 0&&(Ue=we?we[je(2405)]:0),ze===void 0&&(ze=0),Je===void 0&&(Je=this.length),(Fe=Fe===void 0?0:Fe)<0||Ue>we[je(2405)]||ze<0||Je>this[je(2405)])throw new RangeError(je(686));if(Je<=ze&&Ue<=Fe)return 0;if(Je<=ze)return-1;if(Ue<=Fe)return 1;if(this===we)return 0;let Ze=(Je>>>=0)-(ze>>>=0),rt=(Ue>>>=0)-(Fe>>>=0);var At=Math[je(1817)](Ze,rt),yt=this[je(352)](ze,Je),at=we.slice(Fe,Ue);for(let ft=0;ft<At;++ft)if(yt[ft]!==at[ft]){Ze=yt[ft],rt=at[ft];break}return Ze<rt?-1:rt<Ze?1:0},L[B(2086)][B(1818)]=function(we,Fe,Ue){return this.indexOf(we,Fe,Ue)!==-1},L.prototype[B(1439)]=function(we,Fe,Ue){return ee(this,we,Fe,Ue,!0)},L[B(2086)][B(881)]=function(we,Fe,Ue){return ee(this,we,Fe,Ue,!1)},L.prototype[B(677)]=function(we,Fe,Ue,ze){var Je=B;if(Fe===void 0)ze="utf8",Ue=this[Je(2405)],Fe=0;else if(Ue===void 0&&Je(1090)==typeof Fe)ze=Fe,Ue=this.length,Fe=0;else{if(!isFinite(Fe))throw new Error(Je(1132));Fe>>>=0,isFinite(Ue)?(Ue>>>=0,ze===void 0&&(ze=Je(2016))):(ze=Ue,Ue=void 0)}var je,Ze,rt,At,yt,at,ft=this[Je(2405)]-Fe;if((Ue===void 0||ft<Ue)&&(Ue=ft),0<we.length&&(Ue<0||Fe<0)||Fe>this[Je(2405)])throw new RangeError(Je(1344));ze=ze||Je(2016);let _t=!1;for(;;)switch(ze){case Je(1996):{var et=we,pt=Ue,zt=Number(Fe)||0,It=this[Je(2405)]-zt,It=((!pt||It<(pt=Number(pt)))&&(pt=It),et[Je(2405)]);It/2<pt&&(pt=It/2);let St;for(St=0;St<pt;++St){var Pt=parseInt(et[Je(1522)](2*St,2),16);if(He(Pt))return St;this[zt+St]=Pt}return St}case Je(2016):case Je(828):return It=Fe,At=Ue,Be(Ce(we,this.length-It),this,It,At);case"ascii":case"latin1":case Je(2470):return At=this,yt=Fe,at=Ue,Be(function(St){var dt=Je;let Le=[];for(let _e=0;_e<St[dt(2405)];++_e)Le.push(255&St.charCodeAt(_e));return Le}(we),At,yt,at);case"base64":return yt=Fe,at=Ue,Be(ye(we),this,yt,at);case Je(2320):case Je(1129):case Je(2252):case Je(1893):return Ze=Fe,rt=Ue,Be(function(St,dt){var Le=Je,_e,Oe;let vt=[];for(let wt=0;wt<St[Le(2405)]&&!((dt-=2)<0);++wt)Oe=(_e=St[Le(2282)](wt))>>8,vt.push(_e%256),vt[Le(2764)](Oe);return vt}(we,(je=this)[Je(2405)]-Ze),je,Ze,rt);default:if(_t)throw new TypeError(Je(2200)+ze);ze=(""+ze).toLowerCase(),_t=!0}},L.prototype.toJSON=function(){var we=B;return{type:"Buffer",data:Array[we(2086)][we(352)][we(2811)](this._arr||this,0)}};let oe=4096;function le(we,Fe,Ue){var ze=B;if(we%1!=0||we<0)throw new RangeError(ze(2552));if(Ue<we+Fe)throw new RangeError(ze(2208))}function Ae(we,Fe,Ue,ze,Je,je){var Ze=B;if(!L[Ze(1564)](we))throw new TypeError(Ze(1690));if(Je<Fe||Fe<je)throw new RangeError('"value" argument is out of bounds');if(Ue+ze>we[Ze(2405)])throw new RangeError("Index out of range")}function he(we,Fe,Ue,ze,Je){return re(Fe,ze,Je,we,Ue,7),ze=Number(Fe&BigInt(4294967295)),we[Ue++]=ze,we[Ue++]=ze>>=8,we[Ue++]=ze>>=8,we[Ue++]=ze>>=8,Je=Number(Fe>>BigInt(32)&BigInt(4294967295)),we[Ue++]=Je,we[Ue++]=Je>>=8,we[Ue++]=Je>>=8,we[Ue++]=Je>>=8,Ue}function ge(we,Fe,Ue,ze,Je){return re(Fe,ze,Je,we,Ue,7),ze=Number(Fe&BigInt(4294967295)),we[Ue+7]=ze,we[Ue+6]=ze>>=8,we[Ue+5]=ze>>=8,we[Ue+4]=ze>>=8,Je=Number(Fe>>BigInt(32)&BigInt(4294967295)),we[Ue+3]=Je,we[Ue+2]=Je>>=8,we[Ue+1]=Je>>=8,we[Ue]=Je>>=8,Ue+8}function de(we,Fe,Ue,ze){var Je=B;if(Ue+ze>we[Je(2405)])throw new RangeError(Je(1652));if(Ue<0)throw new RangeError(Je(1652))}function fe(we,Fe,Ue,ze,Je){return Fe=+Fe,Ue>>>=0,Je||de(we,0,Ue,4),P.write(we,Fe,Ue,ze,23,4),Ue+4}function G(we,Fe,Ue,ze,Je){var je=B;return Fe=+Fe,Ue>>>=0,Je||de(we,0,Ue,8),P[je(677)](we,Fe,Ue,ze,52,8),Ue+8}L.prototype[B(352)]=function(we,Fe){var Ue=B,ze=this[Ue(2405)],ze=((we=~~we)<0?(we+=ze)<0&&(we=0):ze<we&&(we=ze),(Fe=Fe===void 0?ze:~~Fe)<0?(Fe+=ze)<0&&(Fe=0):ze<Fe&&(Fe=ze),Fe<we&&(Fe=we),this[Ue(1279)](we,Fe));return Object.setPrototypeOf(ze,L[Ue(2086)]),ze},L[B(2086)][B(2324)]=L.prototype[B(1834)]=function(we,Fe,Ue){var ze=B;we>>>=0,Fe>>>=0,Ue||le(we,Fe,this[ze(2405)]);let Je=this[we],je=1,Ze=0;for(;++Ze<Fe&&(je*=256);)Je+=this[we+Ze]*je;return Je},L.prototype[B(249)]=L[B(2086)][B(1738)]=function(we,Fe,Ue){var ze=B;we>>>=0,Fe>>>=0,Ue||le(we,Fe,this[ze(2405)]);let Je=this[we+--Fe],je=1;for(;0<Fe&&(je*=256);)Je+=this[we+--Fe]*je;return Je},L[B(2086)][B(1798)]=L[B(2086)].readUInt8=function(we,Fe){return we>>>=0,Fe||le(we,1,this.length),this[we]},L.prototype[B(254)]=L.prototype[B(949)]=function(we,Fe){return we>>>=0,Fe||le(we,2,this.length),this[we]|this[we+1]<<8},L[B(2086)][B(1625)]=L[B(2086)].readUInt16BE=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,2,this[Ue(2405)]),this[we]<<8|this[we+1]},L.prototype[B(1685)]=L[B(2086)][B(1844)]=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,4,this[Ue(2405)]),(this[we]|this[we+1]<<8|this[we+2]<<16)+16777216*this[we+3]},L[B(2086)][B(1789)]=L[B(2086)][B(2237)]=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,4,this[Ue(2405)]),16777216*this[we]+(this[we+1]<<16|this[we+2]<<8|this[we+3])},L[B(2086)][B(269)]=Ne(function(Je){var Fe=B;se(Je>>>=0,"offset");var ze=this[Je],Ue=this[Je+7],ze=(ze!==void 0&&Ue!==void 0||ce(Je,this[Fe(2405)]-8),ze+256*this[++Je]+65536*this[++Je]+this[++Je]*2**24),Je=this[++Je]+256*this[++Je]+65536*this[++Je]+Ue*2**24;return BigInt(ze)+(BigInt(Je)<<BigInt(32))}),L[B(2086)][B(533)]=Ne(function(Je){var Fe=B;se(Je>>>=0,Fe(215));var ze=this[Je],Ue=this[Je+7],ze=(ze!==void 0&&Ue!==void 0||ce(Je,this.length-8),ze*2**24+65536*this[++Je]+256*this[++Je]+this[++Je]),Je=this[++Je]*2**24+65536*this[++Je]+256*this[++Je]+Ue;return(BigInt(ze)<<BigInt(32))+BigInt(Je)}),L.prototype.readIntLE=function(we,Fe,Ue){var ze=B;we>>>=0,Fe>>>=0,Ue||le(we,Fe,this[ze(2405)]);let Je=this[we],je=1,Ze=0;for(;++Ze<Fe&&(je*=256);)Je+=this[we+Ze]*je;return je*=128,Je>=je&&(Je-=Math[ze(1905)](2,8*Fe)),Je},L[B(2086)][B(837)]=function(we,Fe,Ue){var ze=B;we>>>=0,Fe>>>=0,Ue||le(we,Fe,this.length);let Je=Fe,je=1,Ze=this[we+--Je];for(;0<Je&&(je*=256);)Ze+=this[we+--Je]*je;return je*=128,Ze>=je&&(Ze-=Math[ze(1905)](2,8*Fe)),Ze},L[B(2086)][B(2260)]=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,1,this[Ue(2405)]),128&this[we]?-1*(255-this[we]+1):this[we]},L.prototype[B(393)]=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,2,this[Ue(2405)]),Fe=this[we]|this[we+1]<<8,32768&Fe?4294901760|Fe:Fe},L[B(2086)].readInt16BE=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,2,this[Ue(2405)]),Fe=this[we+1]|this[we]<<8,32768&Fe?4294901760|Fe:Fe},L[B(2086)][B(2274)]=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,4,this[Ue(2405)]),this[we]|this[we+1]<<8|this[we+2]<<16|this[we+3]<<24},L[B(2086)][B(717)]=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,4,this[Ue(2405)]),this[we]<<24|this[we+1]<<16|this[we+2]<<8|this[we+3]},L[B(2086)][B(2591)]=Ne(function(we){var Fe=B;se(we>>>=0,Fe(215));var Ue=this[we],ze=this[we+7],ze=(Ue!==void 0&&ze!==void 0||ce(we,this[Fe(2405)]-8),this[we+4]+256*this[we+5]+65536*this[we+6]+(ze<<24));return(BigInt(ze)<<BigInt(32))+BigInt(Ue+256*this[++we]+65536*this[++we]+this[++we]*2**24)}),L.prototype[B(687)]=Ne(function(we){var Fe=B;se(we>>>=0,"offset");var ze=this[we],Ue=this[we+7],ze=(ze!==void 0&&Ue!==void 0||ce(we,this[Fe(2405)]-8),(ze<<24)+65536*this[++we]+256*this[++we]+this[++we]);return(BigInt(ze)<<BigInt(32))+BigInt(this[++we]*2**24+65536*this[++we]+256*this[++we]+Ue)}),L[B(2086)][B(2292)]=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,4,this[Ue(2405)]),P[Ue(848)](this,we,!0,23,4)},L[B(2086)][B(204)]=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,4,this[Ue(2405)]),P[Ue(848)](this,we,!1,23,4)},L.prototype[B(1575)]=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,8,this.length),P[Ue(848)](this,we,!0,52,8)},L[B(2086)][B(2714)]=function(we,Fe){var Ue=B;return we>>>=0,Fe||le(we,8,this[Ue(2405)]),P[Ue(848)](this,we,!1,52,8)},L[B(2086)][B(1674)]=L[B(2086)].writeUIntLE=function(we,Fe,Ue,ze){var Je=B;we=+we,Fe>>>=0,Ue>>>=0,ze||Ae(this,we,Fe,Ue,Math[Je(1905)](2,8*Ue)-1,0);let je=1,Ze=0;for(this[Fe]=255&we;++Ze<Ue&&(je*=256);)this[Fe+Ze]=we/je&255;return Fe+Ue},L[B(2086)].writeUintBE=L[B(2086)][B(1793)]=function(we,Fe,Ue,ze){var Je=B;we=+we,Fe>>>=0,Ue>>>=0,ze||Ae(this,we,Fe,Ue,Math[Je(1905)](2,8*Ue)-1,0);let je=Ue-1,Ze=1;for(this[Fe+je]=255&we;0<=--je&&(Ze*=256);)this[Fe+je]=we/Ze&255;return Fe+Ue},L[B(2086)][B(757)]=L[B(2086)].writeUInt8=function(we,Fe,Ue){return we=+we,Fe>>>=0,Ue||Ae(this,we,Fe,1,255,0),this[Fe]=255&we,Fe+1},L[B(2086)].writeUint16LE=L.prototype[B(1961)]=function(we,Fe,Ue){return we=+we,Fe>>>=0,Ue||Ae(this,we,Fe,2,65535,0),this[Fe]=255&we,this[Fe+1]=we>>>8,Fe+2},L[B(2086)][B(1029)]=L[B(2086)][B(258)]=function(we,Fe,Ue){return we=+we,Fe>>>=0,Ue||Ae(this,we,Fe,2,65535,0),this[Fe]=we>>>8,this[Fe+1]=255&we,Fe+2},L[B(2086)][B(867)]=L[B(2086)][B(820)]=function(we,Fe,Ue){return we=+we,Fe>>>=0,Ue||Ae(this,we,Fe,4,4294967295,0),this[Fe+3]=we>>>24,this[Fe+2]=we>>>16,this[Fe+1]=we>>>8,this[Fe]=255&we,Fe+4},L[B(2086)][B(2258)]=L.prototype.writeUInt32BE=function(we,Fe,Ue){return we=+we,Fe>>>=0,Ue||Ae(this,we,Fe,4,4294967295,0),this[Fe]=we>>>24,this[Fe+1]=we>>>16,this[Fe+2]=we>>>8,this[Fe+3]=255&we,Fe+4},L[B(2086)][B(324)]=Ne(function(we,Fe=0){var Ue=B;return he(this,we,Fe,BigInt(0),BigInt(Ue(271)))}),L.prototype[B(1596)]=Ne(function(we,Fe=0){var Ue=B;return ge(this,we,Fe,BigInt(0),BigInt(Ue(271)))}),L.prototype.writeIntLE=function(we,Fe,Ue,ze){var Je=B;we=+we,Fe>>>=0,ze||Ae(this,we,Fe,Ue,(ze=Math[Je(1905)](2,8*Ue-1))-1,-ze);let je=0,Ze=1,rt=0;for(this[Fe]=255&we;++je<Ue&&(Ze*=256);)we<0&&rt===0&&this[Fe+je-1]!==0&&(rt=1),this[Fe+je]=(we/Ze>>0)-rt&255;return Fe+Ue},L[B(2086)][B(2454)]=function(we,Fe,Ue,ze){var Je=B;we=+we,Fe>>>=0,ze||Ae(this,we,Fe,Ue,(ze=Math[Je(1905)](2,8*Ue-1))-1,-ze);let je=Ue-1,Ze=1,rt=0;for(this[Fe+je]=255&we;0<=--je&&(Ze*=256);)we<0&&rt===0&&this[Fe+je+1]!==0&&(rt=1),this[Fe+je]=(we/Ze>>0)-rt&255;return Fe+Ue},L[B(2086)][B(2427)]=function(we,Fe,Ue){return we=+we,Fe>>>=0,Ue||Ae(this,we,Fe,1,127,-128),this[Fe]=255&(we=we<0?255+we+1:we),Fe+1},L.prototype[B(1438)]=function(we,Fe,Ue){return we=+we,Fe>>>=0,Ue||Ae(this,we,Fe,2,32767,-32768),this[Fe]=255&we,this[Fe+1]=we>>>8,Fe+2},L[B(2086)][B(1647)]=function(we,Fe,Ue){return we=+we,Fe>>>=0,Ue||Ae(this,we,Fe,2,32767,-32768),this[Fe]=we>>>8,this[Fe+1]=255&we,Fe+2},L.prototype.writeInt32LE=function(we,Fe,Ue){return we=+we,Fe>>>=0,Ue||Ae(this,we,Fe,4,2147483647,-2147483648),this[Fe]=255&we,this[Fe+1]=we>>>8,this[Fe+2]=we>>>16,this[Fe+3]=we>>>24,Fe+4},L.prototype[B(2408)]=function(we,Fe,Ue){return we=+we,Fe>>>=0,Ue||Ae(this,we,Fe,4,2147483647,-2147483648),this[Fe]=(we=we<0?4294967295+we+1:we)>>>24,this[Fe+1]=we>>>16,this[Fe+2]=we>>>8,this[Fe+3]=255&we,Fe+4},L[B(2086)][B(2444)]=Ne(function(we,Fe=0){var Ue=B;return he(this,we,Fe,-BigInt(Ue(2765)),BigInt("0x7fffffffffffffff"))}),L[B(2086)][B(1740)]=Ne(function(we,Fe=0){var Ue=B;return ge(this,we,Fe,-BigInt("0x8000000000000000"),BigInt(Ue(2162)))}),L[B(2086)][B(1801)]=function(we,Fe,Ue){return fe(this,we,Fe,!0,Ue)},L[B(2086)][B(1358)]=function(we,Fe,Ue){return fe(this,we,Fe,!1,Ue)},L[B(2086)][B(2294)]=function(we,Fe,Ue){return G(this,we,Fe,!0,Ue)},L[B(2086)][B(260)]=function(we,Fe,Ue){return G(this,we,Fe,!1,Ue)},L[B(2086)][B(1973)]=function(we,Fe,Ue,ze){var Je=B;if(!L.isBuffer(we))throw new TypeError(Je(1435));if(Ue=Ue||0,ze||ze===0||(ze=this.length),Fe>=we.length&&(Fe=we[Je(2405)]),(ze=0<ze&&ze<Ue?Ue:ze)===Ue||we[Je(2405)]===0||this[Je(2405)]===0)return 0;if((Fe=Fe||0)<0)throw new RangeError(Je(230));if(Ue<0||Ue>=this[Je(2405)])throw new RangeError(Je(1652));if(ze<0)throw new RangeError(Je(1777));ze>this[Je(2405)]&&(ze=this.length);var je=(ze=we[Je(2405)]-Fe<ze-Ue?we[Je(2405)]-Fe+Ue:ze)-Ue;return this===we&&Je(605)==typeof Uint8Array[Je(2086)][Je(2506)]?this.copyWithin(Fe,Ue,ze):Uint8Array.prototype[Je(935)][Je(2811)](we,this.subarray(Ue,ze),Fe),je},L.prototype.fill=function(we,Fe,Ue,ze){var Je=B;if(Je(1090)==typeof we){if(Je(1090)==typeof Fe?(ze=Fe,Fe=0,Ue=this[Je(2405)]):typeof Ue=="string"&&(ze=Ue,Ue=this[Je(2405)]),ze!==void 0&&Je(1090)!=typeof ze)throw new TypeError("encoding must be a string");if(Je(1090)==typeof ze&&!L[Je(976)](ze))throw new TypeError(Je(2200)+ze);var je;we.length===1&&(je=we[Je(2282)](0),(Je(2016)===ze&&je<128||ze==="latin1")&&(we=je))}else Je(647)==typeof we?we&=255:Je(1927)==typeof we&&(we=Number(we));if(Fe<0||this[Je(2405)]<Fe||this.length<Ue)throw new RangeError("Out of range index");if(Ue<=Fe)return this;Fe>>>=0,Ue=Ue===void 0?this[Je(2405)]:Ue>>>0;let Ze;if(Je(647)==typeof(we=we||0))for(Ze=Fe;Ze<Ue;++Ze)this[Ze]=we;else{var rt=L.isBuffer(we)?we:L.from(we,ze),At=rt[Je(2405)];if(At===0)throw new TypeError(Je(1699)+we+Je(838));for(Ze=0;Ze<Ue-Fe;++Ze)this[Ze+Fe]=rt[Ze%At]}return this};let Y={};function W(we,Fe,Ue){var ze=B;Y[we]=class extends Ue{constructor(){var Je=Tt;super(),Object[Je(1073)](this,"message",{value:Fe[Je(724)](this,arguments),writable:!0,configurable:!0}),this[Je(276)]=this[Je(276)]+(" ["+we+"]"),this[Je(1224)],delete this[Je(276)]}get[ze(2314)](){return we}set[ze(2314)](Je){var je=ze;Object[je(1073)](this,je(2314),{configurable:!0,enumerable:!0,value:Je,writable:!0})}[ze(2192)](){var Je=ze;return this[Je(276)]+(" ["+we+"]: ")+this[Je(1535)]}}}function O(we){var Fe=B;let Ue="",ze=we[Fe(2405)];for(var Je=we[0]==="-"?1:0;ze>=4+Je;ze-=3)Ue="_"+we[Fe(352)](ze-3,ze)+Ue;return""+we.slice(0,ze)+Ue}function re(we,Fe,Ue,ze,Je,je){var Ze=B,rt;if(Ue<we||we<Fe)throw rt=Ze(2569)==typeof Fe?"n":"",Fe=3<je?Fe===0||Fe===BigInt(0)?Ze(431)+rt+Ze(2250)+rt+Ze(1138)+8*(je+1)+rt:Ze(1732)+rt+Ze(1138)+(8*(je+1)-1)+rt+Ze(1131)+(8*(je+1)-1)+rt:Ze(408)+Fe+rt+Ze(506)+Ue+rt,new Y.ERR_OUT_OF_RANGE(Ze(396),Fe,we);Ue=ze,rt=je,se(Fe=Je,Ze(215)),Ue[Fe]!==void 0&&Ue[Fe+rt]!==void 0||ce(Fe,Ue.length-(rt+1))}function se(we,Fe){var Ue=B;if(Ue(647)!=typeof we)throw new Y[Ue(174)](Fe,Ue(647),we)}function ce(we,Fe,Ue){var ze=B;throw Math[ze(799)](we)!==we?(se(we,Ue),new Y[ze(1427)](Ue||"offset",ze(1216),we)):Fe<0?new Y[ze(279)]:new Y[ze(1427)](Ue||ze(215),ze(408)+(Ue?1:0)+ze(506)+Fe,we)}W(B(279),function(we){var Fe=B;return we?we+Fe(2749):Fe(1436)},RangeError),W(B(174),function(we,Fe){var Ue=B;return Ue(421)+we+Ue(2057)+typeof Fe},TypeError),W("ERR_OUT_OF_RANGE",function(we,Fe,Ue){var ze=B;we=ze(399)+we+ze(1204);let Je=Ue;return Number[ze(2633)](Ue)&&Math[ze(2148)](Ue)>2**32?Je=O(String(Ue)):ze(2569)==typeof Ue&&(Je=String(Ue),(Ue>BigInt(2)**BigInt(32)||Ue<-(BigInt(2)**BigInt(32)))&&(Je=O(Je)),Je+="n"),we+(ze(1275)+Fe+ze(1167)+Je)},RangeError);let me=/[^+/0-9A-Za-z-_]/g;function Ce(we,Fe){var Ue=B;Fe=Fe||1/0;let ze;var Je=we[Ue(2405)];let je=null,Ze=[];for(let rt=0;rt<Je;++rt){if(55295<(ze=we.charCodeAt(rt))&&ze<57344){if(!je){if(56319<ze){-1<(Fe-=3)&&Ze[Ue(2764)](239,191,189);continue}if(rt+1===Je){-1<(Fe-=3)&&Ze[Ue(2764)](239,191,189);continue}je=ze;continue}if(ze<56320){-1<(Fe-=3)&&Ze[Ue(2764)](239,191,189),je=ze;continue}ze=65536+(je-55296<<10|ze-56320)}else je&&-1<(Fe-=3)&&Ze[Ue(2764)](239,191,189);if(je=null,ze<128){if(--Fe<0)break;Ze[Ue(2764)](ze)}else if(ze<2048){if((Fe-=2)<0)break;Ze[Ue(2764)](ze>>6|192,63&ze|128)}else if(ze<65536){if((Fe-=3)<0)break;Ze[Ue(2764)](ze>>12|224,ze>>6&63|128,63&ze|128)}else{if(!(ze<1114112))throw new Error(Ue(2754));if((Fe-=4)<0)break;Ze[Ue(2764)](ze>>18|240,ze>>12&63|128,ze>>6&63|128,63&ze|128)}}return Ze}function ye(we){return S.toByteArray(function(Fe){var Ue=Tt;if((Fe=(Fe=Fe[Ue(2523)]("=")[0])[Ue(2134)]()[Ue(2489)](me,"")).length<2)return"";for(;Fe[Ue(2405)]%4!=0;)Fe+="=";return Fe}(we))}function Be(we,Fe,Ue,ze){var Je=B;let je;for(je=0;je<ze&&!(je+Ue>=Fe[Je(2405)]||je>=we[Je(2405)]);++je)Fe[je+Ue]=we[je];return je}function Me(we,Fe){var Ue=B;return we instanceof Fe||we!=null&&we.constructor!=null&&we[Ue(1630)][Ue(276)]!=null&&we[Ue(1630)].name===Fe[Ue(276)]}function He(we){return we!=we}let ke=function(){var we=B,Fe=we(712);let Ue=new Array(256);for(let Je=0;Je<16;++Je){var ze=16*Je;for(let je=0;je<16;++je)Ue[ze+je]=Fe[Je]+Fe[je]}return Ue}();function Ne(we){var Fe=B;return Fe(621)==typeof BigInt?Pe:we}function Pe(){var we=B;throw new Error(we(435))}},21924:(w,Q,M)=>{var B=Tt,D=M(40210),S=M(55559),P=S(D(B(2342)));w[B(2726)]=function(R,T){var L=B;return T=D(R,!!T),L(605)==typeof T&&-1<P(R,L(1623))?S(T):T}},55559:(w,Q,S)=>{var B=Tt,D=S(58612),S=S(40210),P=S(B(2269)),R=S(B(237)),T=S("%Reflect.apply%",!0)||D[B(2811)](R,P),L=S(B(1066),!0),F=S(B(1215),!0),U=S(B(1050));if(F)try{F({},"a",{value:1})}catch{F=null}function N(){return T(D,P,arguments)}w[B(2726)]=function(H){var J=B,K=T(D,R,arguments);return L&&F&&L(K,J(2405))[J(2341)]&&F(K,J(2405),{value:1+U(0,H[J(2405)]-(arguments.length-1))}),K},F?F(w.exports,"apply",{value:N}):w[B(2726)][B(724)]=N},71027:(w,Q,M)=>{var B=Tt,D=M(89509)[B(964)],S=M(42830)[B(2677)],P=M(32553).s;function R(T){var L=B;S[L(2811)](this),this[L(683)]=L(1090)==typeof T,this[L(683)]?this[T]=this[L(1821)]:this[L(1471)]=this[L(1821)],this[L(1474)]&&(this[L(2716)]=this[L(1474)],this[L(1474)]=null),this[L(888)]=null,this[L(259)]=null}M(35717)(R,S),R[B(2086)][B(1744)]=function(T,L,F){var U=B;return U(1090)==typeof T&&(T=D[U(2151)](T,L)),L=this[U(185)](T),this.hashMode?this:F?this[U(2707)](L,F):L},R.prototype[B(1760)]=function(){},R[B(2086)][B(1346)]=function(){var T=B;throw new Error(T(2138))},R[B(2086)][B(2507)]=function(){var T=B;throw new Error(T(1145))},R[B(2086)].setAAD=function(){throw new Error("trying to set aad in unsupported state")},R[B(2086)][B(2787)]=function(T,L,F){var U=B,N;try{this[U(683)]?this._update(T):this.push(this[U(185)](T))}catch(H){N=H}finally{F(N)}},R.prototype[B(2333)]=function(T){var L=B,F;try{this[L(2764)](this.__final())}catch(U){F=U}T(F)},R[B(2086)][B(1821)]=function(T){var L=B,F=this.__final()||D.alloc(0);return T?this[L(2707)](F,T,!0):F},R[B(2086)][B(2707)]=function(T,L,F){var U=B;if(this[U(888)]||(this[U(888)]=new P(L),this[U(259)]=L),this[U(259)]!==L)throw new Error(U(538));return L=this[U(888)][U(677)](T),F&&(L+=this[U(888)].end()),L},w[B(2726)]=R},25108:(w,Q,M)=>{var B=Tt,D=M(89539),S=M(69282);function P(){return new Date().getTime()}for(var R=Array.prototype[B(352)],T={},L=M.g!==void 0&&M.g[B(1899)]?M.g[B(1899)]:typeof window<"u"&&window[B(1899)]?window[B(1899)]:{},F=[[function(){},B(2717)],[function(){var J=B;L.log[J(724)](L,arguments)},B(1971)],[function(){var J=B;L[J(2717)].apply(L,arguments)},B(998)],[function(){var J=B;L[J(998)][J(724)](L,arguments)},B(1274)],[function(J){T[J]=P()},B(785)],[function(J){var K=B,X=T[J];if(!X)throw new Error(K(2031)+J);delete T[J],X=P()-X,L[K(2717)](J+": "+X+"ms")},B(2803)],[function(){var J=B,K=new Error;K[J(276)]=J(1229),K[J(1535)]=D.format[J(724)](null,arguments),L[J(1274)](K[J(1224)])},B(412)],[function(J){var K=B;L.log(D[K(1727)](J)+` `)},"dir"],[function(J){var K=B,X;J||(X=R[K(2811)](arguments,1),S.ok(!1,D[K(2482)].apply(null,X)))},B(2659)]],U=0;U<F[B(2405)];U++){var H=F[U],N=H[0],H=H[1];L[H]||(L[H]=N)}w[B(2726)]=L},76393:(w,Q,M)=>{var B=Tt,D=M(48764)[B(964)],S=M(86266),P=M(16426),R=(w[B(2726)]=function(F){return new T(F)},{secp256k1:{name:B(2213),byteLength:32},secp224r1:{name:B(2651),byteLength:28},prime256v1:{name:B(1582),byteLength:32},prime192v1:{name:B(1143),byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:B(2783),byteLength:66}});function T(F){var U=B;this[U(952)]=R[F],this[U(952)]||(this[U(952)]={name:F}),this[U(1364)]=new S.ec(this[U(952)].name),this.keys=void 0}function L(F,U,N){var H=B;return Array[H(2021)](F)||(F=F[H(1780)]()),F=new D(F),N&&F.length<N&&((N=new D(N-F[H(2405)]))[H(1263)](0),F=D[H(1558)]([N,F])),U?F[H(2192)](U):F}R.p224=R[B(1819)],R[B(1582)]=R.secp256r1=R.prime256v1,R[B(1143)]=R[B(1754)]=R.prime192v1,R[B(301)]=R[B(1222)],R[B(2783)]=R[B(2184)],T[B(2086)][B(877)]=function(F,U){var N=B;return this[N(732)]=this[N(1364)][N(2505)](),this[N(2381)](F,U)},T[B(2086)][B(2153)]=function(F,U,N){var H=B;return U=U||H(2016),D.isBuffer(F)||(F=new D(F,U)),L(this[H(1364)][H(896)](F)[H(2093)]()[H(1304)](this[H(732)].getPrivate())[H(584)](),N,this[H(952)][H(2127)])},T[B(2086)][B(2381)]=function(F,U){var N=B,H=this[N(732)].getPublic(N(1049)===U,!0);return N(2072)===U&&(H[H[N(2405)]-1]%2?H[0]=7:H[0]=6),L(H,F)},T.prototype[B(847)]=function(F){var U=B;return L(this[U(732)].getPrivate(),F)},T[B(2086)][B(1189)]=function(F,U){var N=B;return U=U||"utf8",D[N(1564)](F)||(F=new D(F,U)),this[N(732)][N(2112)](F),this},T[B(2086)][B(2802)]=function(F,U){var N=B;return U=U||N(2016),D.isBuffer(F)||(F=new D(F,U)),U=(U=new P(F)).toString(16),this[N(732)]=this[N(1364)].genKeyPair(),this.keys[N(2225)](U),this}},16426:function(w,Q,M){var B=Tt;(function(D){"use strict";var S=Tt;function P(G,Y){var W=Tt;if(!G)throw new Error(Y||W(1176))}function R(G,Y){var W=Tt;function O(){}G[W(979)]=Y,O.prototype=Y.prototype,G[W(2086)]=new O,G.prototype[W(1630)]=G}function T(G,Y,W){var O=Tt;if(T.isBN(G))return G;this[O(1746)]=0,this[O(1157)]=null,this[O(2405)]=0,(this[O(1230)]=null)!==G&&(Y!=="le"&&Y!=="be"||(W=Y,Y=10),this[O(1352)](G||0,Y||10,W||"be"))}var L;typeof w=="object"?w.exports=T:D.BN=T,(T.BN=T)[S(642)]=26;try{L=(S(621)!=typeof window&&window[S(964)]!==void 0?window:M(8623)).Buffer}catch{}function F(G,Y){var W=S;return G=G[W(2282)](Y),65<=G&&G<=70?G-55:97<=G&&G<=102?G-87:G-48&15}function U(G,Y,W){var O=F(G,W);return Y<=W-1&&(O|=F(G,W-1)<<4),O}function N(G,Y,W,O){for(var re=S,Ce=0,se=Math[re(1817)](G.length,W),ce=Y;ce<se;ce++)var me=G.charCodeAt(ce)-48,Ce=Ce*O+(49<=me?me-49+10:17<=me?me-17+10:me);return Ce}T[S(2672)]=function(G){var Y=S;return G instanceof T||G!==null&&typeof G=="object"&&G[Y(1630)][Y(642)]===T[Y(642)]&&Array[Y(2021)](G[Y(1157)])},T[S(1093)]=function(G,Y){var W=S;return 0<G[W(637)](Y)?G:Y},T[S(1817)]=function(G,Y){var W=S;return G[W(637)](Y)<0?G:Y},T[S(2086)]._init=function(G,Y,W){var O=S;if(typeof G=="number")return this[O(746)](G,Y,W);if(O(2538)==typeof G)return this[O(845)](G,Y,W);P((Y=O(1996)===Y?16:Y)===(0|Y)&&2<=Y&&Y<=36);var re=0;(G=G[O(2192)]().replace(/\s+/g,""))[0]==="-"&&(re++,this[O(1746)]=1),re<G[O(2405)]&&(Y===16?this[O(1936)](G,re,W):(this[O(1534)](G,Y,re),W==="le"&&this[O(845)](this[O(1780)](),Y,W)))},T.prototype[S(746)]=function(G,Y,W){var O=S;G<0&&(this[O(1746)]=1,G=-G),G<67108864?(this.words=[67108863&G],this[O(2405)]=1):G<4503599627370496?(this[O(1157)]=[67108863&G,G/67108864&67108863],this[O(2405)]=2):(P(G<9007199254740992),this[O(1157)]=[67108863&G,G/67108864&67108863,1],this[O(2405)]=3),W==="le"&&this[O(845)](this[O(1780)](),Y,W)},T.prototype._initArray=function(G,Y,W){var O=S;if(P(O(647)==typeof G[O(2405)]),G[O(2405)]<=0)return this.words=[0],this.length=1,this;this[O(2405)]=Math[O(235)](G.length/3),this[O(1157)]=new Array(this[O(2405)]);for(var re,se,ce=0;ce<this[O(2405)];ce++)this[O(1157)][ce]=0;var me=0;if(W==="be")for(ce=G[O(2405)]-1,re=0;0<=ce;ce-=3)se=G[ce]|G[ce-1]<<8|G[ce-2]<<16,this[O(1157)][re]|=se<<me&67108863,this[O(1157)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);else if(W==="le")for(re=ce=0;ce<G[O(2405)];ce+=3)se=G[ce]|G[ce+1]<<8|G[ce+2]<<16,this[O(1157)][re]|=se<<me&67108863,this[O(1157)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);return this.strip()},T.prototype[S(1936)]=function(G,Y,W){var O=S;this[O(2405)]=Math[O(235)]((G[O(2405)]-Y)/6),this[O(1157)]=new Array(this.length);for(var re=0;re<this[O(2405)];re++)this[O(1157)][re]=0;var se,ce=0,me=0;if(W==="be")for(re=G.length-1;Y<=re;re-=2)se=U(G,Y,re)<<ce,this[O(1157)][me]|=67108863&se,18<=ce?(ce-=18,this.words[me+=1]|=se>>>26):ce+=8;else for(re=(G[O(2405)]-Y)%2==0?Y+1:Y;re<G[O(2405)];re+=2)se=U(G,Y,re)<<ce,this.words[me]|=67108863&se,18<=ce?(ce-=18,this.words[me+=1]|=se>>>26):ce+=8;this[O(1282)]()},T[S(2086)][S(1534)]=function(G,Y,W){var O=S;this[O(1157)]=[0];for(var re=0,se=this.length=1;se<=67108863;se*=Y)re++;for(var se=se/Y|0,ce=G[O(2405)]-W,me=ce%--re,Ce=Math[O(1817)](ce,ce-me)+W,ye=0,Be=W;Be<Ce;Be+=re)ye=N(G,Be,Be+re,Y),this[O(2548)](se),this[O(1157)][0]+ye<67108864?this[O(1157)][0]+=ye:this[O(2209)](ye);if(me!=0){for(var Me=1,ye=N(G,Be,G.length,Y),Be=0;Be<me;Be++)Me*=Y;this[O(2548)](Me),this[O(1157)][0]+ye<67108864?this[O(1157)][0]+=ye:this[O(2209)](ye)}this[O(1282)]()},T.prototype[S(1973)]=function(G){var Y=S;G.words=new Array(this.length);for(var W=0;W<this[Y(2405)];W++)G.words[W]=this[Y(1157)][W];G[Y(2405)]=this[Y(2405)],G[Y(1746)]=this[Y(1746)],G[Y(1230)]=this[Y(1230)]},T[S(2086)][S(914)]=function(){var G=S,Y=new T(null);return this[G(1973)](Y),Y},T[S(2086)]._expand=function(G){for(var Y=S;this[Y(2405)]<G;)this[Y(1157)][this[Y(2405)]++]=0;return this},T[S(2086)][S(1282)]=function(){for(var G=S;1<this.length&&this[G(1157)][this[G(2405)]-1]===0;)this[G(2405)]--;return this[G(1088)]()},T[S(2086)][S(1088)]=function(){var G=S;return this[G(2405)]===1&&this[G(1157)][0]===0&&(this.negative=0),this},T.prototype[S(1727)]=function(){var G=S;return(this[G(1230)]?G(652):G(398))+this[G(2192)](16)+">"};var H=["","0","00",S(2283),S(2629),"00000",S(614),S(2328),"00000000",S(403),S(521),S(179),"000000000000",S(2369),S(2705),S(1706),S(1482),"00000000000000000",S(1220),S(530),"00000000000000000000",S(2305),S(2588),S(1175),S(1624),"0000000000000000000000000"],J=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],K=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function X(G,Y,W){var O=S;W[O(1746)]=Y[O(1746)]^G[O(1746)];var re=G[O(2405)]+Y[O(2405)]|0,re=(W[O(2405)]=re)-1|0,se=(me=(0|G[O(1157)][0])*(0|Y[O(1157)][0]))/67108864|0;W[O(1157)][0]=67108863&me;for(var ce=1;ce<re;ce++){for(var me,Ce=se>>>26,ye=67108863&se,Be=Math[O(1817)](ce,Y[O(2405)]-1),Me=Math[O(1093)](0,ce-G[O(2405)]+1);Me<=Be;Me++)Ce+=(me=(0|G[O(1157)][ce-Me|0])*(0|Y[O(1157)][Me])+ye)/67108864|0,ye=67108863&me;W.words[ce]=0|ye,se=0|Ce}return se!==0?W[O(1157)][ce]=0|se:W[O(2405)]--,W[O(1282)]()}T.prototype.toString=function(G,Y){var W=S;if(Y=0|Y||1,(G=G||10)===16||G==="hex"){for(var O="",re=0,se=0,ce=0;ce<this[W(2405)];ce++){var me=this[W(1157)][ce],Ce=(16777215&(me<<re|se))[W(2192)](16),O=(se=me>>>24-re&16777215)!=0||ce!==this[W(2405)]-1?H[6-Ce[W(2405)]]+Ce+O:Ce+O;26<=(re+=2)&&(re-=26,ce--)}for(se!==0&&(O=se[W(2192)](16)+O);O.length%Y!=0;)O="0"+O;return this[W(1746)]!==0?"-"+O:O}if(G===(0|G)&&2<=G&&G<=36){var ye=J[G],Be=K[G];for(O="",(Me=this[W(914)]())[W(1746)]=0;!Me[W(1072)]();){var Me,He=Me.modn(Be)[W(2192)](G);O=(Me=Me[W(929)](Be)).isZero()?He+O:H[ye-He[W(2405)]]+He+O}for(this[W(1072)]()&&(O="0"+O);O.length%Y!=0;)O="0"+O;return this[W(1746)]!==0?"-"+O:O}P(!1,"Base should be between 2 and 36")},T.prototype.toNumber=function(){var G=S,Y=this[G(1157)][0];return this[G(2405)]===2?Y+=67108864*this[G(1157)][1]:this[G(2405)]===3&&this[G(1157)][2]===1?Y+=4503599627370496+67108864*this[G(1157)][1]:2<this.length&&P(!1,G(909)),this[G(1746)]!==0?-Y:Y},T.prototype[S(1130)]=function(){return this.toString(16)},T[S(2086)][S(710)]=function(G,Y){return P(L!==void 0),this.toArrayLike(L,G,Y)},T[S(2086)][S(1780)]=function(G,Y){var W=S;return this[W(1298)](Array,G,Y)},T[S(2086)].toArrayLike=function(G,Y,Ce){var O=S,re,se,ce=this[O(2127)](),me=Ce||Math[O(1093)](1,ce),Ce=(P(ce<=me,O(2424)),P(0<me,O(181)),this[O(1282)](),Y==="le"),ye=new G(me),Be=this[O(914)]();if(Ce){for(se=0;!Be[O(1072)]();se++)re=Be[O(1452)](255),Be[O(586)](8),ye[se]=re;for(;se<me;se++)ye[se]=0}else{for(se=0;se<me-ce;se++)ye[se]=0;for(se=0;!Be[O(1072)]();se++)re=Be.andln(255),Be[O(586)](8),ye[me-se-1]=re}return ye},Math.clz32?T[S(2086)][S(1701)]=function(G){var Y=S;return 32-Math[Y(256)](G)}:T[S(2086)]._countBits=function(G){var Y=0;return 4096<=G&&(Y+=13,G>>>=13),64<=G&&(Y+=7,G>>>=7),8<=G&&(Y+=4,G>>>=4),2<=G&&(Y+=2,G>>>=2),Y+G},T.prototype[S(1577)]=function(G){if(G===0)return 26;var Y=0;return(8191&G)==0&&(Y+=13,G>>>=13),(127&G)==0&&(Y+=7,G>>>=7),(15&G)==0&&(Y+=4,G>>>=4),(3&G)==0&&(Y+=2,G>>>=2),(1&G)==0&&Y++,Y},T[S(2086)].bitLength=function(){var G=S,Y=this[G(1157)][this[G(2405)]-1],Y=this[G(1701)](Y);return 26*(this[G(2405)]-1)+Y},T[S(2086)][S(2348)]=function(){var G=S;if(this[G(1072)]())return 0;for(var Y=0,W=0;W<this.length;W++){var O=this[G(1577)](this[G(1157)][W]);if(Y+=O,O!==26)break}return Y},T[S(2086)][S(2127)]=function(){var G=S;return Math.ceil(this[G(1787)]()/8)},T[S(2086)][S(2212)]=function(G){var Y=S;return this[Y(1746)]!==0?this[Y(2148)]()[Y(1039)](G).iaddn(1):this[Y(914)]()},T.prototype.fromTwos=function(G){var Y=S;return this.testn(G-1)?this.notn(G)[Y(2755)](1)[Y(1232)]():this[Y(914)]()},T.prototype[S(980)]=function(){var G=S;return this[G(1746)]!==0},T.prototype[S(770)]=function(){var G=S;return this.clone()[G(1232)]()},T[S(2086)].ineg=function(){var G=S;return this[G(1072)]()||(this[G(1746)]^=1),this},T[S(2086)][S(1416)]=function(G){for(var Y=S;this[Y(2405)]<G[Y(2405)];)this[Y(1157)][this.length++]=0;for(var W=0;W<G[Y(2405)];W++)this[Y(1157)][W]=this[Y(1157)][W]|G[Y(1157)][W];return this[Y(1282)]()},T[S(2086)][S(2085)]=function(G){var Y=S;return P((this[Y(1746)]|G[Y(1746)])==0),this.iuor(G)},T[S(2086)].or=function(G){var Y=S;return this[Y(2405)]>G.length?this.clone().ior(G):G[Y(914)]()[Y(2085)](this)},T[S(2086)].uor=function(G){var Y=S;return this[Y(2405)]>G.length?this[Y(914)]()[Y(1416)](G):G[Y(914)]()[Y(1416)](this)},T[S(2086)][S(1501)]=function(G){for(var Y=S,W=this[Y(2405)]>G[Y(2405)]?G:this,O=0;O<W[Y(2405)];O++)this[Y(1157)][O]=this[Y(1157)][O]&G[Y(1157)][O];return this[Y(2405)]=W.length,this.strip()},T.prototype.iand=function(G){var Y=S;return P((this[Y(1746)]|G[Y(1746)])==0),this[Y(1501)](G)},T[S(2086)][S(2429)]=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this.clone().iand(G):G.clone()[Y(1757)](this)},T[S(2086)][S(1404)]=function(G){var Y=S;return this.length>G[Y(2405)]?this[Y(914)]()[Y(1501)](G):G[Y(914)]()[Y(1501)](this)},T[S(2086)].iuxor=function(G){for(var Y=S,W,O=this[Y(2405)]>G[Y(2405)]?(W=this,G):(W=G,this),re=0;re<O[Y(2405)];re++)this[Y(1157)][re]=W[Y(1157)][re]^O[Y(1157)][re];if(this!==W)for(;re<W[Y(2405)];re++)this[Y(1157)][re]=W[Y(1157)][re];return this.length=W[Y(2405)],this[Y(1282)]()},T.prototype.ixor=function(G){var Y=S;return P((this[Y(1746)]|G.negative)==0),this[Y(1313)](G)},T[S(2086)].xor=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]().ixor(G):G[Y(914)]()[Y(2425)](this)},T[S(2086)][S(1444)]=function(G){var Y=S;return this.length>G.length?this.clone()[Y(1313)](G):G[Y(914)]().iuxor(this)},T[S(2086)].inotn=function(O){var Y=S;P(Y(647)==typeof O&&0<=O);var W=0|Math[Y(235)](O/26),O=O%26;this[Y(559)](W),0<O&&W--;for(var re=0;re<W;re++)this[Y(1157)][re]=67108863&~this[Y(1157)][re];return 0<O&&(this[Y(1157)][re]=~this.words[re]&67108863>>26-O),this[Y(1282)]()},T.prototype[S(2800)]=function(G){var Y=S;return this.clone()[Y(1039)](G)},T[S(2086)][S(1384)]=function(re,Y){var W=S;P(W(647)==typeof re&&0<=re);var O=re/26|0,re=re%26;return this[W(559)](1+O),this[W(1157)][O]=Y?this[W(1157)][O]|1<<re:this[W(1157)][O]&~(1<<re),this.strip()},T[S(2086)][S(2553)]=function(G){var Y=S,W,O;if(this[Y(1746)]!==0&&G[Y(1746)]===0)return this[Y(1746)]=0,W=this[Y(1155)](G),this[Y(1746)]^=1,this._normSign();if(this.negative===0&&G[Y(1746)]!==0)return G[Y(1746)]=0,W=this.isub(G),G[Y(1746)]=1,W[Y(1088)]();for(var re=this[Y(2405)]>G.length?(O=this,G):(O=G,this),se=0,ce=0;ce<re[Y(2405)];ce++)W=(0|O[Y(1157)][ce])+(0|re.words[ce])+se,this[Y(1157)][ce]=67108863&W,se=W>>>26;for(;se!==0&&ce<O[Y(2405)];ce++)W=(0|O[Y(1157)][ce])+se,this[Y(1157)][ce]=67108863&W,se=W>>>26;if(this[Y(2405)]=O.length,se!==0)this[Y(1157)][this[Y(2405)]]=se,this[Y(2405)]++;else if(O!==this)for(;ce<O[Y(2405)];ce++)this[Y(1157)][ce]=O.words[ce];return this},T[S(2086)].add=function(G){var Y=S,W;return G[Y(1746)]!==0&&this.negative===0?(G[Y(1746)]=0,W=this[Y(713)](G),G[Y(1746)]^=1,W):G[Y(1746)]===0&&this[Y(1746)]!==0?(this.negative=0,W=G.sub(this),this.negative=1,W):this.length>G.length?this[Y(914)]()[Y(2553)](G):G.clone()[Y(2553)](this)},T.prototype.isub=function(G){var Y=S,W;if(G[Y(1746)]!==0)return G[Y(1746)]=0,W=this.iadd(G),G[Y(1746)]=1,W[Y(1088)]();if(this.negative!==0)return this[Y(1746)]=0,this[Y(2553)](G),this[Y(1746)]=1,this._normSign();var O,re=this[Y(637)](G);if(re===0)return this[Y(1746)]=0,this[Y(2405)]=1,this[Y(1157)][0]=0,this;for(var se=0<re?(O=this,G):(O=G,this),ce=0,me=0;me<se[Y(2405)];me++)ce=(W=(0|O.words[me])-(0|se[Y(1157)][me])+ce)>>26,this[Y(1157)][me]=67108863&W;for(;ce!==0&&me<O.length;me++)ce=(W=(0|O[Y(1157)][me])+ce)>>26,this[Y(1157)][me]=67108863&W;if(ce===0&&me<O.length&&O!==this)for(;me<O.length;me++)this[Y(1157)][me]=O[Y(1157)][me];return this[Y(2405)]=Math[Y(1093)](this[Y(2405)],me),O!==this&&(this.negative=1),this[Y(1282)]()},T[S(2086)][S(713)]=function(G){var Y=S;return this[Y(914)]().isub(G)};var j=function(_e,dt,W){var O=S,Je=_e[O(1157)],St=dt.words,re=W[O(1157)],di=0|Je[0],Kt=8191&di,di=di>>>13,gt=0|Je[1],Ei=8191>,gt=gt>>>13,ce=0|Je[2],se=8191&ce,ce=ce>>>13,Ce=0|Je[3],me=8191&Ce,Ce=Ce>>>13,Be=0|Je[4],ye=8191&Be,Be=Be>>>13,He=0|Je[5],Me=8191&He,He=He>>>13,Ne=0|Je[6],ke=8191&Ne,Ne=Ne>>>13,we=0|Je[7],Pe=8191&we,we=we>>>13,Ue=0|Je[8],Fe=8191&Ue,Ue=Ue>>>13,Je=0|Je[9],ze=8191&Je,Je=Je>>>13,Vt=0|St[0],pi=8191&Vt,Vt=Vt>>>13,Ht=0|St[1],ui=8191&Ht,Ht=Ht>>>13,Ot=0|St[2],bt=8191&Ot,Ot=Ot>>>13,Ze=0|St[3],je=8191&Ze,Ze=Ze>>>13,At=0|St[4],rt=8191&At,At=At>>>13,at=0|St[5],yt=8191&at,at=at>>>13,_t=0|St[6],ft=8191&_t,_t=_t>>>13,pt=0|St[7],et=8191&pt,pt=pt>>>13,It=0|St[8],zt=8191&It,It=It>>>13,St=0|St[9],Pt=8191&St,St=St>>>13,dt=(W[O(1746)]=_e[O(1746)]^dt.negative,W.length=19,(0+Math[O(1759)](Kt,pi)|0)+((8191&(_e=Math[O(1759)](Kt,Vt)+Math[O(1759)](di,pi)|0))<<13)|0),Wt=(Math.imul(di,Vt)+(_e>>>13)|0)+(dt>>>26)|0,Le=(dt&=67108863,Math[O(1759)](Ei,pi)),_e=Math[O(1759)](Ei,Vt)+Math[O(1759)](gt,pi)|0,Oe=Math[O(1759)](gt,Vt),vt=(Wt+(Le+Math.imul(Kt,ui)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,Ht)|0)+Math[O(1759)](di,ui)|0))<<13)|0,wt=(Wt=((Oe+Math[O(1759)](di,Ht)|0)+(_e>>>13)|0)+(vt>>>26)|0,vt&=67108863,Le=Math[O(1759)](se,pi),_e=Math[O(1759)](se,Vt)+Math[O(1759)](ce,pi)|0,Oe=Math[O(1759)](ce,Vt),Le=Le+Math[O(1759)](Ei,ui)|0,_e=(_e+Math[O(1759)](Ei,Ht)|0)+Math[O(1759)](gt,ui)|0,Oe=Oe+Math[O(1759)](gt,Ht)|0,(Wt+(Le+Math[O(1759)](Kt,bt)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,Ot)|0)+Math[O(1759)](di,bt)|0))<<13)|0),Bt=(Wt=((Oe+Math[O(1759)](di,Ot)|0)+(_e>>>13)|0)+(wt>>>26)|0,wt&=67108863,Le=Math[O(1759)](me,pi),_e=Math[O(1759)](me,Vt)+Math.imul(Ce,pi)|0,Oe=Math[O(1759)](Ce,Vt),Le=Le+Math.imul(se,ui)|0,_e=(_e+Math[O(1759)](se,Ht)|0)+Math[O(1759)](ce,ui)|0,Oe=Oe+Math[O(1759)](ce,Ht)|0,Le=Le+Math[O(1759)](Ei,bt)|0,_e=(_e+Math[O(1759)](Ei,Ot)|0)+Math[O(1759)](gt,bt)|0,Oe=Oe+Math[O(1759)](gt,Ot)|0,(Wt+(Le+Math[O(1759)](Kt,je)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,Ze)|0)+Math.imul(di,je)|0))<<13)|0),bi=(Wt=((Oe+Math[O(1759)](di,Ze)|0)+(_e>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,Le=Math[O(1759)](ye,pi),_e=Math.imul(ye,Vt)+Math[O(1759)](Be,pi)|0,Oe=Math[O(1759)](Be,Vt),Le=Le+Math[O(1759)](me,ui)|0,_e=(_e+Math.imul(me,Ht)|0)+Math[O(1759)](Ce,ui)|0,Oe=Oe+Math[O(1759)](Ce,Ht)|0,Le=Le+Math[O(1759)](se,bt)|0,_e=(_e+Math.imul(se,Ot)|0)+Math[O(1759)](ce,bt)|0,Oe=Oe+Math.imul(ce,Ot)|0,Le=Le+Math[O(1759)](Ei,je)|0,_e=(_e+Math.imul(Ei,Ze)|0)+Math.imul(gt,je)|0,Oe=Oe+Math[O(1759)](gt,Ze)|0,(Wt+(Le+Math[O(1759)](Kt,rt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,At)|0)+Math[O(1759)](di,rt)|0))<<13)|0),nr=(Wt=((Oe+Math[O(1759)](di,At)|0)+(_e>>>13)|0)+(bi>>>26)|0,bi&=67108863,Le=Math[O(1759)](Me,pi),_e=Math[O(1759)](Me,Vt)+Math[O(1759)](He,pi)|0,Oe=Math[O(1759)](He,Vt),Le=Le+Math[O(1759)](ye,ui)|0,_e=(_e+Math[O(1759)](ye,Ht)|0)+Math.imul(Be,ui)|0,Oe=Oe+Math[O(1759)](Be,Ht)|0,Le=Le+Math.imul(me,bt)|0,_e=(_e+Math[O(1759)](me,Ot)|0)+Math[O(1759)](Ce,bt)|0,Oe=Oe+Math[O(1759)](Ce,Ot)|0,Le=Le+Math[O(1759)](se,je)|0,_e=(_e+Math.imul(se,Ze)|0)+Math[O(1759)](ce,je)|0,Oe=Oe+Math[O(1759)](ce,Ze)|0,Le=Le+Math[O(1759)](Ei,rt)|0,_e=(_e+Math[O(1759)](Ei,At)|0)+Math[O(1759)](gt,rt)|0,Oe=Oe+Math[O(1759)](gt,At)|0,(Wt+(Le+Math.imul(Kt,yt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,at)|0)+Math[O(1759)](di,yt)|0))<<13)|0),Ai=(Wt=((Oe+Math[O(1759)](di,at)|0)+(_e>>>13)|0)+(nr>>>26)|0,nr&=67108863,Le=Math[O(1759)](ke,pi),_e=Math.imul(ke,Vt)+Math[O(1759)](Ne,pi)|0,Oe=Math.imul(Ne,Vt),Le=Le+Math[O(1759)](Me,ui)|0,_e=(_e+Math[O(1759)](Me,Ht)|0)+Math[O(1759)](He,ui)|0,Oe=Oe+Math[O(1759)](He,Ht)|0,Le=Le+Math.imul(ye,bt)|0,_e=(_e+Math[O(1759)](ye,Ot)|0)+Math[O(1759)](Be,bt)|0,Oe=Oe+Math[O(1759)](Be,Ot)|0,Le=Le+Math[O(1759)](me,je)|0,_e=(_e+Math[O(1759)](me,Ze)|0)+Math[O(1759)](Ce,je)|0,Oe=Oe+Math[O(1759)](Ce,Ze)|0,Le=Le+Math[O(1759)](se,rt)|0,_e=(_e+Math[O(1759)](se,At)|0)+Math[O(1759)](ce,rt)|0,Oe=Oe+Math[O(1759)](ce,At)|0,Le=Le+Math[O(1759)](Ei,yt)|0,_e=(_e+Math.imul(Ei,at)|0)+Math.imul(gt,yt)|0,Oe=Oe+Math[O(1759)](gt,at)|0,(Wt+(Le+Math.imul(Kt,ft)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,_t)|0)+Math[O(1759)](di,ft)|0))<<13)|0),xi=(Wt=((Oe+Math[O(1759)](di,_t)|0)+(_e>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,Le=Math.imul(Pe,pi),_e=Math[O(1759)](Pe,Vt)+Math[O(1759)](we,pi)|0,Oe=Math[O(1759)](we,Vt),Le=Le+Math[O(1759)](ke,ui)|0,_e=(_e+Math[O(1759)](ke,Ht)|0)+Math.imul(Ne,ui)|0,Oe=Oe+Math[O(1759)](Ne,Ht)|0,Le=Le+Math[O(1759)](Me,bt)|0,_e=(_e+Math.imul(Me,Ot)|0)+Math[O(1759)](He,bt)|0,Oe=Oe+Math.imul(He,Ot)|0,Le=Le+Math[O(1759)](ye,je)|0,_e=(_e+Math.imul(ye,Ze)|0)+Math[O(1759)](Be,je)|0,Oe=Oe+Math[O(1759)](Be,Ze)|0,Le=Le+Math.imul(me,rt)|0,_e=(_e+Math.imul(me,At)|0)+Math[O(1759)](Ce,rt)|0,Oe=Oe+Math[O(1759)](Ce,At)|0,Le=Le+Math.imul(se,yt)|0,_e=(_e+Math[O(1759)](se,at)|0)+Math.imul(ce,yt)|0,Oe=Oe+Math[O(1759)](ce,at)|0,Le=Le+Math[O(1759)](Ei,ft)|0,_e=(_e+Math.imul(Ei,_t)|0)+Math[O(1759)](gt,ft)|0,Oe=Oe+Math.imul(gt,_t)|0,(Wt+(Le+Math.imul(Kt,et)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,pt)|0)+Math[O(1759)](di,et)|0))<<13)|0),Fi=(Wt=((Oe+Math[O(1759)](di,pt)|0)+(_e>>>13)|0)+(xi>>>26)|0,xi&=67108863,Le=Math.imul(Fe,pi),_e=Math.imul(Fe,Vt)+Math[O(1759)](Ue,pi)|0,Oe=Math.imul(Ue,Vt),Le=Le+Math[O(1759)](Pe,ui)|0,_e=(_e+Math[O(1759)](Pe,Ht)|0)+Math.imul(we,ui)|0,Oe=Oe+Math[O(1759)](we,Ht)|0,Le=Le+Math[O(1759)](ke,bt)|0,_e=(_e+Math[O(1759)](ke,Ot)|0)+Math.imul(Ne,bt)|0,Oe=Oe+Math.imul(Ne,Ot)|0,Le=Le+Math[O(1759)](Me,je)|0,_e=(_e+Math[O(1759)](Me,Ze)|0)+Math[O(1759)](He,je)|0,Oe=Oe+Math[O(1759)](He,Ze)|0,Le=Le+Math[O(1759)](ye,rt)|0,_e=(_e+Math[O(1759)](ye,At)|0)+Math[O(1759)](Be,rt)|0,Oe=Oe+Math.imul(Be,At)|0,Le=Le+Math[O(1759)](me,yt)|0,_e=(_e+Math[O(1759)](me,at)|0)+Math.imul(Ce,yt)|0,Oe=Oe+Math.imul(Ce,at)|0,Le=Le+Math[O(1759)](se,ft)|0,_e=(_e+Math[O(1759)](se,_t)|0)+Math[O(1759)](ce,ft)|0,Oe=Oe+Math[O(1759)](ce,_t)|0,Le=Le+Math[O(1759)](Ei,et)|0,_e=(_e+Math.imul(Ei,pt)|0)+Math.imul(gt,et)|0,Oe=Oe+Math[O(1759)](gt,pt)|0,(Wt+(Le+Math.imul(Kt,zt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,It)|0)+Math[O(1759)](di,zt)|0))<<13)|0),pi=(Wt=((Oe+Math[O(1759)](di,It)|0)+(_e>>>13)|0)+(Fi>>>26)|0,Fi&=67108863,Le=Math.imul(ze,pi),_e=Math[O(1759)](ze,Vt)+Math[O(1759)](Je,pi)|0,Oe=Math[O(1759)](Je,Vt),Le=Le+Math[O(1759)](Fe,ui)|0,_e=(_e+Math.imul(Fe,Ht)|0)+Math.imul(Ue,ui)|0,Oe=Oe+Math.imul(Ue,Ht)|0,Le=Le+Math[O(1759)](Pe,bt)|0,_e=(_e+Math[O(1759)](Pe,Ot)|0)+Math[O(1759)](we,bt)|0,Oe=Oe+Math[O(1759)](we,Ot)|0,Le=Le+Math[O(1759)](ke,je)|0,_e=(_e+Math[O(1759)](ke,Ze)|0)+Math.imul(Ne,je)|0,Oe=Oe+Math[O(1759)](Ne,Ze)|0,Le=Le+Math[O(1759)](Me,rt)|0,_e=(_e+Math[O(1759)](Me,At)|0)+Math[O(1759)](He,rt)|0,Oe=Oe+Math[O(1759)](He,At)|0,Le=Le+Math.imul(ye,yt)|0,_e=(_e+Math[O(1759)](ye,at)|0)+Math[O(1759)](Be,yt)|0,Oe=Oe+Math[O(1759)](Be,at)|0,Le=Le+Math[O(1759)](me,ft)|0,_e=(_e+Math[O(1759)](me,_t)|0)+Math.imul(Ce,ft)|0,Oe=Oe+Math.imul(Ce,_t)|0,Le=Le+Math[O(1759)](se,et)|0,_e=(_e+Math[O(1759)](se,pt)|0)+Math[O(1759)](ce,et)|0,Oe=Oe+Math[O(1759)](ce,pt)|0,Le=Le+Math[O(1759)](Ei,zt)|0,_e=(_e+Math[O(1759)](Ei,It)|0)+Math[O(1759)](gt,zt)|0,Oe=Oe+Math[O(1759)](gt,It)|0,(Wt+(Le+Math[O(1759)](Kt,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,St)|0)+Math.imul(di,Pt)|0))<<13)|0),Vt=(Wt=((Oe+Math[O(1759)](di,St)|0)+(_e>>>13)|0)+(pi>>>26)|0,pi&=67108863,Le=Math[O(1759)](ze,ui),_e=Math[O(1759)](ze,Ht)+Math[O(1759)](Je,ui)|0,Oe=Math[O(1759)](Je,Ht),Le=Le+Math[O(1759)](Fe,bt)|0,_e=(_e+Math[O(1759)](Fe,Ot)|0)+Math[O(1759)](Ue,bt)|0,Oe=Oe+Math[O(1759)](Ue,Ot)|0,Le=Le+Math.imul(Pe,je)|0,_e=(_e+Math[O(1759)](Pe,Ze)|0)+Math[O(1759)](we,je)|0,Oe=Oe+Math[O(1759)](we,Ze)|0,Le=Le+Math[O(1759)](ke,rt)|0,_e=(_e+Math[O(1759)](ke,At)|0)+Math.imul(Ne,rt)|0,Oe=Oe+Math[O(1759)](Ne,At)|0,Le=Le+Math.imul(Me,yt)|0,_e=(_e+Math.imul(Me,at)|0)+Math[O(1759)](He,yt)|0,Oe=Oe+Math[O(1759)](He,at)|0,Le=Le+Math[O(1759)](ye,ft)|0,_e=(_e+Math[O(1759)](ye,_t)|0)+Math.imul(Be,ft)|0,Oe=Oe+Math[O(1759)](Be,_t)|0,Le=Le+Math[O(1759)](me,et)|0,_e=(_e+Math[O(1759)](me,pt)|0)+Math[O(1759)](Ce,et)|0,Oe=Oe+Math[O(1759)](Ce,pt)|0,Le=Le+Math[O(1759)](se,zt)|0,_e=(_e+Math[O(1759)](se,It)|0)+Math.imul(ce,zt)|0,Oe=Oe+Math[O(1759)](ce,It)|0,(Wt+(Le+Math.imul(Ei,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(Ei,St)|0)+Math[O(1759)](gt,Pt)|0))<<13)|0),Kt=(Wt=((Oe+Math.imul(gt,St)|0)+(_e>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,Le=Math[O(1759)](ze,bt),_e=Math[O(1759)](ze,Ot)+Math[O(1759)](Je,bt)|0,Oe=Math.imul(Je,Ot),Le=Le+Math.imul(Fe,je)|0,_e=(_e+Math.imul(Fe,Ze)|0)+Math.imul(Ue,je)|0,Oe=Oe+Math[O(1759)](Ue,Ze)|0,Le=Le+Math.imul(Pe,rt)|0,_e=(_e+Math[O(1759)](Pe,At)|0)+Math[O(1759)](we,rt)|0,Oe=Oe+Math.imul(we,At)|0,Le=Le+Math.imul(ke,yt)|0,_e=(_e+Math[O(1759)](ke,at)|0)+Math.imul(Ne,yt)|0,Oe=Oe+Math[O(1759)](Ne,at)|0,Le=Le+Math[O(1759)](Me,ft)|0,_e=(_e+Math[O(1759)](Me,_t)|0)+Math.imul(He,ft)|0,Oe=Oe+Math[O(1759)](He,_t)|0,Le=Le+Math.imul(ye,et)|0,_e=(_e+Math[O(1759)](ye,pt)|0)+Math.imul(Be,et)|0,Oe=Oe+Math[O(1759)](Be,pt)|0,Le=Le+Math.imul(me,zt)|0,_e=(_e+Math[O(1759)](me,It)|0)+Math.imul(Ce,zt)|0,Oe=Oe+Math[O(1759)](Ce,It)|0,(Wt+(Le+Math.imul(se,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](se,St)|0)+Math[O(1759)](ce,Pt)|0))<<13)|0),di=(Wt=((Oe+Math[O(1759)](ce,St)|0)+(_e>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,Le=Math[O(1759)](ze,je),_e=Math.imul(ze,Ze)+Math[O(1759)](Je,je)|0,Oe=Math[O(1759)](Je,Ze),Le=Le+Math[O(1759)](Fe,rt)|0,_e=(_e+Math[O(1759)](Fe,At)|0)+Math[O(1759)](Ue,rt)|0,Oe=Oe+Math.imul(Ue,At)|0,Le=Le+Math[O(1759)](Pe,yt)|0,_e=(_e+Math[O(1759)](Pe,at)|0)+Math[O(1759)](we,yt)|0,Oe=Oe+Math[O(1759)](we,at)|0,Le=Le+Math[O(1759)](ke,ft)|0,_e=(_e+Math[O(1759)](ke,_t)|0)+Math.imul(Ne,ft)|0,Oe=Oe+Math.imul(Ne,_t)|0,Le=Le+Math[O(1759)](Me,et)|0,_e=(_e+Math[O(1759)](Me,pt)|0)+Math[O(1759)](He,et)|0,Oe=Oe+Math[O(1759)](He,pt)|0,Le=Le+Math.imul(ye,zt)|0,_e=(_e+Math[O(1759)](ye,It)|0)+Math.imul(Be,zt)|0,Oe=Oe+Math[O(1759)](Be,It)|0,(Wt+(Le+Math.imul(me,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](me,St)|0)+Math[O(1759)](Ce,Pt)|0))<<13)|0),ui=(Wt=((Oe+Math.imul(Ce,St)|0)+(_e>>>13)|0)+(di>>>26)|0,di&=67108863,Le=Math.imul(ze,rt),_e=Math[O(1759)](ze,At)+Math.imul(Je,rt)|0,Oe=Math.imul(Je,At),Le=Le+Math.imul(Fe,yt)|0,_e=(_e+Math[O(1759)](Fe,at)|0)+Math[O(1759)](Ue,yt)|0,Oe=Oe+Math[O(1759)](Ue,at)|0,Le=Le+Math.imul(Pe,ft)|0,_e=(_e+Math[O(1759)](Pe,_t)|0)+Math[O(1759)](we,ft)|0,Oe=Oe+Math[O(1759)](we,_t)|0,Le=Le+Math[O(1759)](ke,et)|0,_e=(_e+Math[O(1759)](ke,pt)|0)+Math[O(1759)](Ne,et)|0,Oe=Oe+Math[O(1759)](Ne,pt)|0,Le=Le+Math.imul(Me,zt)|0,_e=(_e+Math[O(1759)](Me,It)|0)+Math[O(1759)](He,zt)|0,Oe=Oe+Math[O(1759)](He,It)|0,(Wt+(Le+Math.imul(ye,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](ye,St)|0)+Math.imul(Be,Pt)|0))<<13)|0),Ht=(Wt=((Oe+Math.imul(Be,St)|0)+(_e>>>13)|0)+(ui>>>26)|0,ui&=67108863,Le=Math[O(1759)](ze,yt),_e=Math.imul(ze,at)+Math[O(1759)](Je,yt)|0,Oe=Math[O(1759)](Je,at),Le=Le+Math.imul(Fe,ft)|0,_e=(_e+Math[O(1759)](Fe,_t)|0)+Math[O(1759)](Ue,ft)|0,Oe=Oe+Math[O(1759)](Ue,_t)|0,Le=Le+Math[O(1759)](Pe,et)|0,_e=(_e+Math[O(1759)](Pe,pt)|0)+Math[O(1759)](we,et)|0,Oe=Oe+Math.imul(we,pt)|0,Le=Le+Math.imul(ke,zt)|0,_e=(_e+Math[O(1759)](ke,It)|0)+Math[O(1759)](Ne,zt)|0,Oe=Oe+Math[O(1759)](Ne,It)|0,(Wt+(Le+Math[O(1759)](Me,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Me,St)|0)+Math.imul(He,Pt)|0))<<13)|0),Ei=(Wt=((Oe+Math[O(1759)](He,St)|0)+(_e>>>13)|0)+(Ht>>>26)|0,Ht&=67108863,Le=Math[O(1759)](ze,ft),_e=Math.imul(ze,_t)+Math[O(1759)](Je,ft)|0,Oe=Math.imul(Je,_t),Le=Le+Math[O(1759)](Fe,et)|0,_e=(_e+Math.imul(Fe,pt)|0)+Math[O(1759)](Ue,et)|0,Oe=Oe+Math.imul(Ue,pt)|0,Le=Le+Math[O(1759)](Pe,zt)|0,_e=(_e+Math[O(1759)](Pe,It)|0)+Math[O(1759)](we,zt)|0,Oe=Oe+Math[O(1759)](we,It)|0,(Wt+(Le+Math[O(1759)](ke,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(ke,St)|0)+Math.imul(Ne,Pt)|0))<<13)|0),gt=(Wt=((Oe+Math[O(1759)](Ne,St)|0)+(_e>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,Le=Math.imul(ze,et),_e=Math[O(1759)](ze,pt)+Math[O(1759)](Je,et)|0,Oe=Math[O(1759)](Je,pt),Le=Le+Math[O(1759)](Fe,zt)|0,_e=(_e+Math[O(1759)](Fe,It)|0)+Math[O(1759)](Ue,zt)|0,Oe=Oe+Math[O(1759)](Ue,It)|0,(Wt+(Le+Math.imul(Pe,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Pe,St)|0)+Math[O(1759)](we,Pt)|0))<<13)|0),bt=(Wt=((Oe+Math[O(1759)](we,St)|0)+(_e>>>13)|0)+(gt>>>26)|0,gt&=67108863,Le=Math[O(1759)](ze,zt),_e=Math[O(1759)](ze,It)+Math[O(1759)](Je,zt)|0,Oe=Math[O(1759)](Je,It),(Wt+(Le+Math.imul(Fe,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Fe,St)|0)+Math[O(1759)](Ue,Pt)|0))<<13)|0),Ot=(Wt=((Oe+Math.imul(Ue,St)|0)+(_e>>>13)|0)+(bt>>>26)|0,bt&=67108863,(Wt+Math[O(1759)](ze,Pt)|0)+((8191&(_e=Math[O(1759)](ze,St)+Math[O(1759)](Je,Pt)|0))<<13)|0),Wt=(Math.imul(Je,St)+(_e>>>13)|0)+(Ot>>>26)|0;return Ot&=67108863,re[0]=dt,re[1]=vt,re[2]=wt,re[3]=Bt,re[4]=bi,re[5]=nr,re[6]=Ai,re[7]=xi,re[8]=Fi,re[9]=pi,re[10]=Vt,re[11]=Kt,re[12]=di,re[13]=ui,re[14]=Ht,re[15]=Ei,re[16]=gt,re[17]=bt,re[18]=Ot,Wt!=0&&(re[19]=Wt,W[O(2405)]++),W};function ee(G,Y,W){var O=S;return new ie()[O(950)](G,Y,W)}function ie(G,Y){this.x=G,this.y=Y}Math[S(1759)]||(j=X),T.prototype[S(2374)]=function(G,Y){var W=S,O=this[W(2405)]+G[W(2405)];return(this.length===10&&G[W(2405)]===10?j:O<63?X:O<1024?function(re,se,ce){var me=W;ce.negative=se.negative^re.negative,ce.length=re[me(2405)]+se[me(2405)];for(var Ce=0,ye=0,Be=0;Be<ce.length-1;Be++){for(var Me=ye,ye=0,He=67108863&Ce,ke=Math[me(1817)](Be,se[me(2405)]-1),Ne=Math.max(0,Be-re[me(2405)]+1);Ne<=ke;Ne++){var Pe,we=(0|re[me(1157)][Be-Ne])*(0|se[me(1157)][Ne]),He=67108863&(Pe=(67108863&we)+He|0);ye+=(Me=(Me=Me+(we/67108864|0)|0)+(Pe>>>26)|0)>>>26,Me&=67108863}ce[me(1157)][Be]=He,Ce=Me,Me=ye}return Ce!==0?ce.words[Be]=Ce:ce.length--,ce.strip()}:ee)(this,G,Y)},ie[S(2086)][S(894)]=function(G){for(var Y=S,W=new Array(G),O=T.prototype[Y(1701)](G)-1,re=0;re<G;re++)W[re]=this[Y(762)](re,O,G);return W},ie[S(2086)].revBin=function(G,Y,W){if(G===0||G===W-1)return G;for(var O=0,re=0;re<Y;re++)O|=(1&G)<<Y-re-1,G>>=1;return O},ie[S(2086)][S(2706)]=function(G,Y,W,O,re,se){for(var ce=0;ce<se;ce++)O[ce]=Y[G[ce]],re[ce]=W[G[ce]]},ie[S(2086)][S(1334)]=function(G,Y,W,O,re,se){var ce=S;this[ce(2706)](se,G,Y,W,O,re);for(var me=1;me<re;me<<=1)for(var Ce=me<<1,ye=Math.cos(2*Math.PI/Ce),Be=Math[ce(1574)](2*Math.PI/Ce),Me=0;Me<re;Me+=Ce)for(var He=ye,ke=Be,Ne=0;Ne<me;Ne++){var Pe=W[Me+Ne],we=O[Me+Ne],Fe=W[Me+Ne+me],Ue=He*Fe-ke*(ze=O[Me+Ne+me]),ze=He*ze+ke*Fe;W[Me+Ne]=Pe+(Fe=Ue),O[Me+Ne]=we+ze,W[Me+Ne+me]=Pe-Fe,O[Me+Ne+me]=we-ze,Ne!==Ce&&(Ue=ye*He-Be*ke,ke=ye*ke+Be*He,He=Ue)}},ie[S(2086)][S(2723)]=function(G,Y){for(var W=S,Y=1&(re=1|Math[W(1093)](Y,G)),O=0,re=re/2|0;re;re>>>=1)O++;return 1<<O+1+Y},ie[S(2086)].conjugate=function(G,Y,W){if(!(W<=1))for(var O=0;O<W/2;O++){var re=G[O];G[O]=G[W-O-1],G[W-O-1]=re,re=Y[O],Y[O]=-Y[W-O-1],Y[W-O-1]=-re}},ie[S(2086)][S(407)]=function(G,Y){for(var W=S,O=0,re=0;re<Y/2;re++){var se=8192*Math[W(1162)](G[2*re+1]/Y)+Math[W(1162)](G[2*re]/Y)+O;G[re]=67108863&se,O=se<67108864?0:se/67108864|0}return G},ie[S(2086)][S(2710)]=function(G,Y,W,O){for(var re=0,se=0;se<Y;se++)re+=0|G[se],W[2*se]=8191&re,W[2*se+1]=8191&(re>>>=13),re>>>=13;for(se=2*Y;se<O;++se)W[se]=0;P(re===0),P((-8192&re)==0)},ie.prototype[S(1405)]=function(G){for(var Y=new Array(G),W=0;W<G;W++)Y[W]=0;return Y},ie[S(2086)][S(950)]=function(G,Y,W){var O=S,re=2*this.guessLen13b(G.length,Y[O(2405)]),se=this[O(894)](re),ce=this.stub(re),me=new Array(re),Ce=new Array(re),ye=new Array(re),Be=new Array(re),Me=new Array(re),He=new Array(re),ke=W[O(1157)];ke.length=re,this.convert13b(G.words,G[O(2405)],me,re),this[O(2710)](Y[O(1157)],Y[O(2405)],Be,re),this[O(1334)](me,ce,Ce,ye,re,se),this.transform(Be,ce,Me,He,re,se);for(var Ne=0;Ne<re;Ne++){var Pe=Ce[Ne]*Me[Ne]-ye[Ne]*He[Ne];ye[Ne]=Ce[Ne]*He[Ne]+ye[Ne]*Me[Ne],Ce[Ne]=Pe}return this[O(2120)](Ce,ye,re),this[O(1334)](Ce,ye,ke,ce,re,se),this[O(2120)](ke,ce,re),this[O(407)](ke,re),W[O(1746)]=G[O(1746)]^Y[O(1746)],W[O(2405)]=G[O(2405)]+Y[O(2405)],W.strip()},T[S(2086)].mul=function(G){var Y=S,W=new T(null);return W.words=new Array(this.length+G.length),this[Y(2374)](G,W)},T[S(2086)][S(1733)]=function(G){var Y=S,W=new T(null);return W[Y(1157)]=new Array(this.length+G[Y(2405)]),ee(this,G,W)},T[S(2086)][S(1759)]=function(G){var Y=S;return this[Y(914)]()[Y(2374)](G,this)},T[S(2086)].imuln=function(G){var Y=S;P(Y(647)==typeof G),P(G<67108864);for(var W=0,O=0;O<this[Y(2405)];O++){var re=(0|this[Y(1157)][O])*G,se=(67108863&re)+(67108863&W),W=(W>>=26)+(re/67108864|0)+(se>>>26);this.words[O]=67108863&se}return W!==0&&(this[Y(1157)][O]=W,this.length++),this},T.prototype[S(779)]=function(G){var Y=S;return this[Y(914)]()[Y(2548)](G)},T[S(2086)][S(2524)]=function(){var G=S;return this[G(1304)](this)},T[S(2086)][S(2496)]=function(){var G=S;return this[G(1759)](this[G(914)]())},T.prototype[S(1905)]=function(G){var Y=S,W=function(ce){for(var me=Tt,Ce=new Array(ce[me(1787)]()),ye=0;ye<Ce.length;ye++){var Be=ye%26;Ce[ye]=(ce.words[ye/26|0]&1<<Be)>>>Be}return Ce}(G);if(W[Y(2405)]===0)return new T(1);for(var O=this,re=0;re<W[Y(2405)]&&W[re]===0;re++,O=O[Y(2524)]());if(++re<W[Y(2405)])for(var se=O.sqr();re<W[Y(2405)];re++,se=se[Y(2524)]())W[re]!==0&&(O=O.mul(se));return O},T.prototype[S(2622)]=function(G){var Y=S;P(typeof G=="number"&&0<=G);var W=G%26,O=(G-W)/26,re=67108863>>>26-W<<26-W;if(W!=0){for(var se=0,ce=0;ce<this.length;ce++){var me=this[Y(1157)][ce]&re,Ce=(0|this[Y(1157)][ce])-me<<W;this.words[ce]=Ce|se,se=me>>>26-W}se&&(this.words[ce]=se,this.length++)}if(O!=0){for(ce=this[Y(2405)]-1;0<=ce;ce--)this[Y(1157)][ce+O]=this[Y(1157)][ce];for(ce=0;ce<O;ce++)this[Y(1157)][ce]=0;this[Y(2405)]+=O}return this.strip()},T[S(2086)][S(2284)]=function(G){var Y=S;return P(this[Y(1746)]===0),this[Y(2622)](G)},T[S(2086)][S(586)]=function(G,Y,W){var O=S;P(typeof G=="number"&&0<=G);var re,re=Y?(Y-Y%26)/26:0,se=G%26,ce=Math.min((G-se)/26,this.length),me=67108863^67108863>>>se<<se,Ce=W;if(re-=ce,re=Math[O(1093)](0,re),Ce){for(var ye=0;ye<ce;ye++)Ce[O(1157)][ye]=this[O(1157)][ye];Ce[O(2405)]=ce}if(ce!==0)if(this[O(2405)]>ce)for(this[O(2405)]-=ce,ye=0;ye<this.length;ye++)this.words[ye]=this[O(1157)][ye+ce];else this.words[0]=0,this[O(2405)]=1;for(var Be=0,ye=this[O(2405)]-1;0<=ye&&(Be!==0||re<=ye);ye--){var Me=0|this[O(1157)][ye];this[O(1157)][ye]=Be<<26-se|Me>>>se,Be=Me&me}return Ce&&Be!==0&&(Ce[O(1157)][Ce[O(2405)]++]=Be),this.length===0&&(this[O(1157)][0]=0,this[O(2405)]=1),this[O(1282)]()},T[S(2086)][S(739)]=function(G,Y,W){var O=S;return P(this[O(1746)]===0),this.iushrn(G,Y,W)},T[S(2086)][S(1904)]=function(G){var Y=S;return this[Y(914)]()[Y(2284)](G)},T[S(2086)][S(2181)]=function(G){var Y=S;return this[Y(914)]().iushln(G)},T[S(2086)][S(446)]=function(G){var Y=S;return this.clone()[Y(739)](G)},T[S(2086)][S(1635)]=function(G){var Y=S;return this[Y(914)]()[Y(586)](G)},T[S(2086)][S(360)]=function(O){var Y=S;P(Y(647)==typeof O&&0<=O);var W=O%26,O=(O-W)/26;return!(this.length<=O||!(this[Y(1157)][O]&1<<W))},T[S(2086)].imaskn=function(O){var Y=S;P(Y(647)==typeof O&&0<=O);var W=O%26,O=(O-W)/26;return P(this[Y(1746)]===0,"imaskn works only with positive numbers"),this[Y(2405)]<=O?this:(W!=0&&O++,this[Y(2405)]=Math.min(O,this[Y(2405)]),W!=0&&(this[Y(1157)][this[Y(2405)]-1]&=67108863^67108863>>>W<<W),this[Y(1282)]())},T[S(2086)][S(1116)]=function(G){var Y=S;return this[Y(914)]()[Y(2255)](G)},T.prototype[S(2755)]=function(G){var Y=S;return P(Y(647)==typeof G),P(G<67108864),G<0?this.isubn(-G):this.negative!==0?(this[Y(2405)]===1&&(0|this[Y(1157)][0])<G?(this[Y(1157)][0]=G-(0|this[Y(1157)][0]),this[Y(1746)]=0):(this.negative=0,this[Y(283)](G),this.negative=1),this):this[Y(2209)](G)},T[S(2086)]._iaddn=function(G){var Y=S;this[Y(1157)][0]+=G;for(var W=0;W<this[Y(2405)]&&67108864<=this[Y(1157)][W];W++)this.words[W]-=67108864,W===this.length-1?this[Y(1157)][W+1]=1:this.words[W+1]++;return this[Y(2405)]=Math[Y(1093)](this[Y(2405)],W+1),this},T[S(2086)][S(283)]=function(G){var Y=S;if(P(Y(647)==typeof G),P(G<67108864),G<0)return this[Y(2755)](-G);if(this[Y(1746)]!==0)return this[Y(1746)]=0,this[Y(2755)](G),this[Y(1746)]=1,this;if(this[Y(1157)][0]-=G,this[Y(2405)]===1&&this[Y(1157)][0]<0)this.words[0]=-this[Y(1157)][0],this[Y(1746)]=1;else for(var W=0;W<this.length&&this[Y(1157)][W]<0;W++)this[Y(1157)][W]+=67108864,--this[Y(1157)][W+1];return this[Y(1282)]()},T[S(2086)][S(1316)]=function(G){var Y=S;return this[Y(914)]()[Y(2755)](G)},T[S(2086)][S(860)]=function(G){var Y=S;return this[Y(914)]()[Y(283)](G)},T[S(2086)][S(725)]=function(){var G=S;return this[G(1746)]=0,this},T[S(2086)][S(2148)]=function(){var G=S;return this[G(914)]().iabs()},T.prototype[S(2768)]=function(G,Y,W){for(var O=S,re=G.length+W,se=(this[O(559)](re),0),ce=0;ce<G[O(2405)];ce++){var me=(0|this[O(1157)][ce+W])+se,Ce=(0|G[O(1157)][ce])*Y,se=((me-=67108863&Ce)>>26)-(Ce/67108864|0);this[O(1157)][ce+W]=67108863&me}for(;ce<this[O(2405)]-W;ce++)se=(me=(0|this[O(1157)][ce+W])+se)>>26,this[O(1157)][ce+W]=67108863&me;if(se===0)return this[O(1282)]();for(P(se===-1),ce=se=0;ce<this[O(2405)];ce++)se=(me=-(0|this[O(1157)][ce])+se)>>26,this[O(1157)][ce]=67108863&me;return this.negative=1,this[O(1282)]()},T[S(2086)]._wordDiv=function(G,Y){var W=S;this[W(2405)],G[W(2405)];var O,re=this[W(914)](),se=G,ce=0|se.words[se[W(2405)]-1],me=((G=26-this[W(1701)](ce))!=0&&(se=se.ushln(G),re[W(2622)](G),ce=0|se[W(1157)][se.length-1]),re[W(2405)]-se[W(2405)]);if(W(2451)!==Y){(O=new T(null))[W(2405)]=1+me,O[W(1157)]=new Array(O.length);for(var Ce=0;Ce<O.length;Ce++)O[W(1157)][Ce]=0}var ye=re[W(914)]()[W(2768)](se,1,me);ye[W(1746)]===0&&(re=ye,O&&(O[W(1157)][me]=1));for(var Be=me-1;0<=Be;Be--){var Me=67108864*(0|re.words[se[W(2405)]+Be])+(0|re[W(1157)][se[W(2405)]+Be-1]),Me=Math[W(1817)](Me/ce|0,67108863);for(re._ishlnsubmul(se,Me,Be);re[W(1746)]!==0;)Me--,re[W(1746)]=0,re[W(2768)](se,1,Be),re.isZero()||(re[W(1746)]^=1);O&&(O.words[Be]=Me)}return O&&O[W(1282)](),re[W(1282)](),W(2526)!==Y&&G!=0&&re[W(586)](G),{div:O||null,mod:re}},T[S(2086)].divmod=function(G,Y,W){var O=S;return P(!G.isZero()),this.isZero()?{div:new T(0),mod:new T(0)}:this.negative!==0&&G[O(1746)]===0?(ce=this.neg().divmod(G,Y),O(2451)!==Y&&(re=ce.div[O(770)]()),Y!=="div"&&(se=ce.mod.neg(),W&&se[O(1746)]!==0&&se[O(2553)](G)),{div:re,mod:se}):this[O(1746)]===0&&G[O(1746)]!==0?(ce=this[O(1923)](G[O(770)](),Y),{div:re=O(2451)!==Y?ce[O(2526)][O(770)]():re,mod:ce[O(2451)]}):(this[O(1746)]&G[O(1746)])!=0?(ce=this[O(770)]()[O(1923)](G[O(770)](),Y),Y!=="div"&&(se=ce[O(2451)][O(770)](),W&&se[O(1746)]!==0&&se[O(1155)](G)),{div:ce[O(2526)],mod:se}):G[O(2405)]>this.length||this[O(637)](G)<0?{div:new T(0),mod:this}:G[O(2405)]===1?O(2526)===Y?{div:this[O(2050)](G[O(1157)][0]),mod:null}:O(2451)===Y?{div:null,mod:new T(this[O(1605)](G[O(1157)][0]))}:{div:this[O(2050)](G[O(1157)][0]),mod:new T(this.modn(G[O(1157)][0]))}:this[O(1037)](G,Y);var re,se,ce},T[S(2086)][S(2526)]=function(G){var Y=S;return this.divmod(G,Y(2526),!1).div},T[S(2086)][S(2451)]=function(G){var Y=S;return this.divmod(G,Y(2451),!1)[Y(2451)]},T[S(2086)][S(1792)]=function(G){var Y=S;return this.divmod(G,Y(2451),!0).mod},T[S(2086)].divRound=function(re){var Y=S,W=this.divmod(re);if(W[Y(2451)][Y(1072)]())return W[Y(2526)];var se=W[Y(2526)][Y(1746)]!==0?W[Y(2451)].isub(re):W[Y(2451)],O=re[Y(1635)](1),re=re[Y(1452)](1),se=se[Y(637)](O);return se<0||re===1&&se===0?W[Y(2526)]:W[Y(2526)][Y(1746)]!==0?W[Y(2526)][Y(283)](1):W[Y(2526)][Y(2755)](1)},T[S(2086)][S(1605)]=function(G){var Y=S;P(G<=67108863);for(var W=(1<<26)%G,O=0,re=this[Y(2405)]-1;0<=re;re--)O=(W*O+(0|this[Y(1157)][re]))%G;return O},T[S(2086)][S(929)]=function(G){var Y=S;P(G<=67108863);for(var W=0,O=this[Y(2405)]-1;0<=O;O--){var re=(0|this[Y(1157)][O])+67108864*W;this[Y(1157)][O]=re/G|0,W=re%G}return this[Y(1282)]()},T[S(2086)][S(2050)]=function(G){var Y=S;return this[Y(914)]()[Y(929)](G)},T[S(2086)][S(1005)]=function(G){var Y=S;P(G[Y(1746)]===0),P(!G[Y(1072)]());for(var O=this,W=G.clone(),O=O[Y(1746)]!==0?O.umod(G):O.clone(),re=new T(1),se=new T(0),ce=new T(0),me=new T(1),Ce=0;O[Y(2105)]()&&W.isEven();)O[Y(586)](1),W[Y(586)](1),++Ce;for(var ye=W[Y(914)](),Be=O.clone();!O[Y(1072)]();){for(var Me=0,He=1;(O[Y(1157)][0]&He)==0&&Me<26;++Me,He<<=1);if(0<Me)for(O[Y(586)](Me);0<Me--;)(re[Y(2771)]()||se.isOdd())&&(re[Y(2553)](ye),se[Y(1155)](Be)),re[Y(586)](1),se[Y(586)](1);for(var ke=0,Ne=1;(W[Y(1157)][0]&Ne)==0&&ke<26;++ke,Ne<<=1);if(0<ke)for(W[Y(586)](ke);0<ke--;)(ce[Y(2771)]()||me[Y(2771)]())&&(ce[Y(2553)](ye),me[Y(1155)](Be)),ce.iushrn(1),me.iushrn(1);0<=O[Y(637)](W)?(O[Y(1155)](W),re[Y(1155)](ce),se[Y(1155)](me)):(W.isub(O),ce[Y(1155)](re),me[Y(1155)](se))}return{a:ce,b:me,gcd:W[Y(2622)](Ce)}},T.prototype._invmp=function(G){var Y=S;P(G[Y(1746)]===0),P(!G[Y(1072)]());for(var W,re=this,O=G[Y(914)](),re=re[Y(1746)]!==0?re.umod(G):re[Y(914)](),se=new T(1),ce=new T(0),me=O[Y(914)]();0<re.cmpn(1)&&0<O[Y(1915)](1);){for(var Ce=0,ye=1;(re[Y(1157)][0]&ye)==0&&Ce<26;++Ce,ye<<=1);if(0<Ce)for(re[Y(586)](Ce);0<Ce--;)se[Y(2771)]()&&se[Y(2553)](me),se[Y(586)](1);for(var Be=0,Me=1;(O[Y(1157)][0]&Me)==0&&Be<26;++Be,Me<<=1);if(0<Be)for(O.iushrn(Be);0<Be--;)ce[Y(2771)]()&&ce[Y(2553)](me),ce[Y(586)](1);0<=re.cmp(O)?(re.isub(O),se[Y(1155)](ce)):(O[Y(1155)](re),ce.isub(se))}return(W=re.cmpn(1)===0?se:ce)[Y(1915)](0)<0&&W[Y(2553)](G),W},T[S(2086)][S(2334)]=function(G){var Y=S;if(this[Y(1072)]())return G[Y(2148)]();if(G.isZero())return this.abs();var W=this[Y(914)](),O=G[Y(914)]();W[Y(1746)]=0;for(var re=O[Y(1746)]=0;W[Y(2105)]()&&O[Y(2105)]();re++)W.iushrn(1),O[Y(586)](1);for(;;){for(;W[Y(2105)]();)W[Y(586)](1);for(;O[Y(2105)]();)O[Y(586)](1);var se=W[Y(637)](O);if(se<0)var ce=W,W=O,O=ce;else if(se===0||O.cmpn(1)===0)break;W.isub(O)}return O[Y(2622)](re)},T[S(2086)][S(680)]=function(G){var Y=S;return this[Y(1005)](G).a[Y(1792)](G)},T[S(2086)][S(2105)]=function(){var G=S;return(1&this[G(1157)][0])==0},T[S(2086)][S(2771)]=function(){var G=S;return(1&this[G(1157)][0])==1},T[S(2086)][S(1452)]=function(G){var Y=S;return this[Y(1157)][0]&G},T[S(2086)][S(314)]=function(W){var Y=S;P(Y(647)==typeof W);var O=W%26,W=(W-O)/26,O=1<<O;if(this.length<=W)return this[Y(559)](1+W),this[Y(1157)][W]|=O,this;for(var re=O,se=W;re!==0&&se<this[Y(2405)];se++){var ce=0|this.words[se],re=(ce+=re)>>>26;ce&=67108863,this[Y(1157)][se]=ce}return re!==0&&(this[Y(1157)][se]=re,this[Y(2405)]++),this},T[S(2086)][S(1072)]=function(){var G=S;return this[G(2405)]===1&&this.words[0]===0},T[S(2086)][S(1915)]=function(G){var Y=S,W=G<0;return this[Y(1746)]===0||W?this[Y(1746)]===0&&W?1:(this.strip(),W=1<this[Y(2405)]?1:(P((G=W?-G:G)<=67108863,"Number is too big"),(W=0|this[Y(1157)][0])===G?0:W<G?-1:1),this[Y(1746)]!==0?0|-W:W):-1},T[S(2086)].cmp=function(G){var Y=S;return this.negative!==0&&G[Y(1746)]===0?-1:this.negative===0&&G[Y(1746)]!==0?1:(G=this[Y(356)](G),this[Y(1746)]!==0?0|-G:G)},T[S(2086)][S(356)]=function(G){var Y=S;if(this.length>G[Y(2405)])return 1;if(this[Y(2405)]<G[Y(2405)])return-1;for(var W=0,O=this[Y(2405)]-1;0<=O;O--){var re=0|this[Y(1157)][O],se=0|G[Y(1157)][O];if(re!=se){re<se?W=-1:se<re&&(W=1);break}}return W},T[S(2086)][S(912)]=function(G){var Y=S;return this[Y(1915)](G)===1},T[S(2086)].gt=function(G){var Y=S;return this[Y(637)](G)===1},T[S(2086)][S(1488)]=function(G){return 0<=this.cmpn(G)},T.prototype.gte=function(G){return 0<=this.cmp(G)},T[S(2086)][S(1974)]=function(G){return this.cmpn(G)===-1},T[S(2086)].lt=function(G){var Y=S;return this[Y(637)](G)===-1},T[S(2086)][S(2131)]=function(G){var Y=S;return this[Y(1915)](G)<=0},T[S(2086)][S(1284)]=function(G){var Y=S;return this[Y(637)](G)<=0},T[S(2086)][S(2690)]=function(G){var Y=S;return this[Y(1915)](G)===0},T[S(2086)].eq=function(G){return this.cmp(G)===0},T.red=function(G){return new de(G)},T[S(2086)][S(1705)]=function(G){var Y=S;return P(!this[Y(1230)],Y(635)),P(this[Y(1746)]===0,Y(2486)),G.convertTo(this)[Y(2616)](G)},T[S(2086)].fromRed=function(){var G=S;return P(this[G(1230)],G(1041)),this[G(1230)][G(2335)](this)},T[S(2086)]._forceRed=function(G){return this.red=G,this},T[S(2086)][S(934)]=function(G){var Y=S;return P(!this.red,Y(635)),this._forceRed(G)},T[S(2086)][S(2308)]=function(G){var Y=S;return P(this[Y(1230)],"redAdd works only with red numbers"),this[Y(1230)].add(this,G)},T[S(2086)].redIAdd=function(G){var Y=S;return P(this.red,"redIAdd works only with red numbers"),this[Y(1230)].iadd(this,G)},T[S(2086)][S(478)]=function(G){var Y=S;return P(this.red,Y(1557)),this[Y(1230)][Y(713)](this,G)},T[S(2086)][S(1199)]=function(G){var Y=S;return P(this.red,"redISub works only with red numbers"),this[Y(1230)][Y(1155)](this,G)},T[S(2086)][S(2442)]=function(G){var Y=S;return P(this.red,Y(835)),this[Y(1230)][Y(284)](this,G)},T[S(2086)].redMul=function(G){var Y=S;return P(this[Y(1230)],Y(1524)),this.red[Y(1459)](this,G),this[Y(1230)][Y(1304)](this,G)},T[S(2086)][S(2590)]=function(G){var Y=S;return P(this.red,Y(1524)),this[Y(1230)]._verify2(this,G),this.red.imul(this,G)},T.prototype[S(2082)]=function(){var G=S;return P(this[G(1230)],"redSqr works only with red numbers"),this[G(1230)][G(1171)](this),this[G(1230)][G(2524)](this)},T[S(2086)].redISqr=function(){var G=S;return P(this.red,G(2300)),this.red[G(1171)](this),this.red[G(2496)](this)},T[S(2086)][S(984)]=function(){var G=S;return P(this.red,G(921)),this[G(1230)][G(1171)](this),this[G(1230)].sqrt(this)},T[S(2086)][S(1806)]=function(){var G=S;return P(this[G(1230)],"redInvm works only with red numbers"),this.red._verify1(this),this[G(1230)][G(680)](this)},T.prototype.redNeg=function(){var G=S;return P(this.red,"redNeg works only with red numbers"),this[G(1230)][G(1171)](this),this[G(1230)].neg(this)},T[S(2086)][S(2641)]=function(G){var Y=S;return P(this.red&&!G[Y(1230)],Y(2809)),this[Y(1230)]._verify1(this),this[Y(1230)][Y(1905)](this,G)};var z={k256:null,p224:null,p192:null,p25519:null};function oe(G,Y){var W=S;this[W(276)]=G,this.p=new T(Y,16),this.n=this.p[W(1787)](),this.k=new T(1)[W(2622)](this.n).isub(this.p),this[W(1242)]=this[W(2201)]()}function le(){var G=S;oe[G(2811)](this,G(522),"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function Ae(){var G=S;oe[G(2811)](this,G(2651),G(760))}function he(){var G=S;oe[G(2811)](this,"p192",G(1127))}function ge(){var G=S;oe[G(2811)](this,G(370),G(692))}function de(G){var Y=S,W;Y(1090)==typeof G?(W=T[Y(1739)](G),this.m=W.p,this[Y(1408)]=W):(P(G[Y(912)](1),Y(1420)),this.m=G,this[Y(1408)]=null)}function fe(G){var Y=S;de.call(this,G),this[Y(2626)]=this.m[Y(1787)](),this[Y(2626)]%26!=0&&(this[Y(2626)]+=26-this[Y(2626)]%26),this.r=new T(1).iushln(this.shift),this.r2=this[Y(1641)](this.r[Y(2524)]()),this[Y(631)]=this.r[Y(2763)](this.m),this[Y(1277)]=this[Y(631)][Y(1304)](this.r)[Y(283)](1)[Y(2526)](this.m),this[Y(1277)]=this.minv[Y(1792)](this.r),this.minv=this.r[Y(713)](this[Y(1277)])}oe[S(2086)][S(2201)]=function(){var G=new T(null);return G.words=new Array(Math.ceil(this.n/13)),G},oe.prototype[S(2367)]=function(G){for(var Y=S,W,O=G;this[Y(2523)](O,this[Y(1242)]),(W=(O=(O=this[Y(1365)](O))[Y(2553)](this[Y(1242)]))[Y(1787)]())>this.n;);return G=W<this.n?-1:O.ucmp(this.p),G===0?(O[Y(1157)][0]=0,O[Y(2405)]=1):0<G?O[Y(1155)](this.p):O.strip!==void 0?O[Y(1282)]():O[Y(1910)](),O},oe[S(2086)][S(2523)]=function(G,Y){var W=S;G[W(586)](this.n,0,Y)},oe[S(2086)].imulK=function(G){var Y=S;return G[Y(1759)](this.k)},R(le,oe),le[S(2086)][S(2523)]=function(G,Y){for(var W=S,O=Math[W(1817)](G[W(2405)],9),re=0;re<O;re++)Y[W(1157)][re]=G[W(1157)][re];if(Y[W(2405)]=O,G[W(2405)]<=9)return G.words[0]=0,void(G[W(2405)]=1);var se=G.words[9];for(Y[W(1157)][Y[W(2405)]++]=4194303&se,re=10;re<G[W(2405)];re++){var ce=0|G[W(1157)][re];G[W(1157)][re-10]=(4194303&ce)<<4|se>>>22,se=ce}(G.words[re-10]=se>>>=22)==0&&10<G.length?G[W(2405)]-=10:G[W(2405)]-=9},le[S(2086)][S(1365)]=function(G){var Y=S;G[Y(1157)][G[Y(2405)]]=0,G[Y(1157)][G.length+1]=0,G[Y(2405)]+=2;for(var W=0,O=0;O<G[Y(2405)];O++){var re=0|G[Y(1157)][O];W+=977*re,G[Y(1157)][O]=67108863&W,W=64*re+(W/67108864|0)}return G[Y(1157)][G.length-1]===0&&(G[Y(2405)]--,G[Y(1157)][G[Y(2405)]-1]===0&&G.length--),G},R(Ae,oe),R(he,oe),R(ge,oe),ge[S(2086)][S(1365)]=function(G){for(var Y=S,W=0,O=0;O<G[Y(2405)];O++){var re=19*(0|G[Y(1157)][O])+W,se=67108863&re;re>>>=26,G.words[O]=se,W=re}return W!==0&&(G[Y(1157)][G[Y(2405)]++]=W),G},T[S(1739)]=function(G){var Y=S;if(z[G])return z[G];var W;if(Y(522)===G)W=new le;else if(Y(2651)===G)W=new Ae;else if(Y(1143)===G)W=new he;else{if(Y(2698)!==G)throw new Error("Unknown prime "+G);W=new ge}return z[G]=W},de[S(2086)]._verify1=function(G){var Y=S;P(G[Y(1746)]===0,Y(2486)),P(G[Y(1230)],"red works only with red numbers")},de[S(2086)]._verify2=function(G,Y){var W=S;P((G[W(1746)]|Y.negative)==0,W(2486)),P(G[W(1230)]&&G[W(1230)]===Y[W(1230)],W(1553))},de[S(2086)][S(1641)]=function(G){var Y=S;return(this[Y(1408)]?this[Y(1408)][Y(2367)](G):G.umod(this.m))[Y(2616)](this)},de[S(2086)].neg=function(G){var Y=S;return G[Y(1072)]()?G[Y(914)]():this.m[Y(713)](G)._forceRed(this)},de[S(2086)][S(1002)]=function(G,Y){var W=S;return this._verify2(G,Y),G=G.add(Y),0<=G.cmp(this.m)&&G[W(1155)](this.m),G._forceRed(this)},de[S(2086)][S(2553)]=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(2553)](Y),0<=G[W(637)](this.m)&&G[W(1155)](this.m),G},de[S(2086)][S(713)]=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(713)](Y),G.cmpn(0)<0&&G.iadd(this.m),G[W(2616)](this)},de[S(2086)][S(1155)]=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G.isub(Y),G.cmpn(0)<0&&G.iadd(this.m),G},de[S(2086)][S(284)]=function(G,Y){var W=S;return this[W(1171)](G),this[W(1641)](G.ushln(Y))},de.prototype[S(1759)]=function(G,Y){var W=S;return this[W(1459)](G,Y),this[W(1641)](G[W(1759)](Y))},de[S(2086)][S(1304)]=function(G,Y){var W=S;return this._verify2(G,Y),this[W(1641)](G[W(1304)](Y))},de[S(2086)][S(2496)]=function(G){return this.imul(G,G.clone())},de[S(2086)].sqr=function(G){return this.mul(G,G)},de[S(2086)][S(2657)]=function(G){var Y=S;if(G[Y(1072)]())return G[Y(914)]();var W=this.m.andln(3);if(P(W%2==1),W===3)return W=this.m[Y(1002)](new T(1))[Y(586)](2),this[Y(1905)](G,W);for(var O=this.m[Y(860)](1),re=0;!O[Y(1072)]()&&O[Y(1452)](1)===0;)re++,O[Y(586)](1);P(!O[Y(1072)]());for(var se=new T(1)[Y(1705)](this),ce=se.redNeg(),me=this.m.subn(1)[Y(586)](1),Ce=new T(2*(Ce=this.m.bitLength())*Ce)[Y(1705)](this);this.pow(Ce,me).cmp(ce)!==0;)Ce[Y(2236)](ce);for(var ye=this[Y(1905)](Ce,O),Be=this.pow(G,O[Y(1316)](1)[Y(586)](1)),Me=this.pow(G,O),He=re;Me[Y(637)](se)!==0;){for(var ke=Me,Ne=0;ke[Y(637)](se)!==0;Ne++)ke=ke[Y(2082)]();P(Ne<He);var Pe=this[Y(1905)](ye,new T(1)[Y(2622)](He-Ne-1)),Be=Be[Y(2111)](Pe),ye=Pe.redSqr(),Me=Me[Y(2111)](ye),He=Ne}return Be},de[S(2086)][S(680)]=function(G){var Y=S;return G=G[Y(2763)](this.m),G[Y(1746)]!==0?(G[Y(1746)]=0,this.imod(G)[Y(2447)]()):this[Y(1641)](G)},de[S(2086)][S(1905)]=function(G,Y){var W=S;if(Y.isZero())return new T(1).toRed(this);if(Y[W(1915)](1)===0)return G[W(914)]();var O=new Array(16);O[0]=new T(1)[W(1705)](this),O[1]=G;for(var re=2;re<O[W(2405)];re++)O[re]=this.mul(O[re-1],G);var se=O[0],ce=0,me=0,Ce=Y.bitLength()%26;for(Ce===0&&(Ce=26),re=Y.length-1;0<=re;re--){for(var ye=Y[W(1157)][re],Be=Ce-1;0<=Be;Be--){var Me=ye>>Be&1;se!==O[0]&&(se=this[W(2524)](se)),Me==0&&ce===0?me=0:(ce=ce<<1|Me,(++me==4||re===0&&Be===0)&&(se=this[W(1304)](se,O[ce]),ce=me=0))}Ce=26}return se},de[S(2086)].convertTo=function(G){var Y=S,W=G[Y(1792)](this.m);return W===G?W[Y(914)]():W},de.prototype.convertFrom=function(G){var Y=S;return G=G[Y(914)](),G[Y(1230)]=null,G},T[S(649)]=function(G){return new fe(G)},R(fe,de),fe.prototype[S(178)]=function(G){var Y=S;return this[Y(1641)](G[Y(2181)](this[Y(2626)]))},fe[S(2086)][S(2335)]=function(G){var Y=S;return G=this.imod(G[Y(1304)](this[Y(631)])),G[Y(1230)]=null,G},fe[S(2086)].imul=function(G,Y){var W=S;return G[W(1072)]()||Y[W(1072)]()?(G[W(1157)][0]=0,G[W(2405)]=1,G):(G=G.imul(Y),Y=G.maskn(this[W(2626)]).mul(this[W(1277)])[W(2255)](this[W(2626)])[W(1304)](this.m),G=G.isub(Y)[W(586)](this[W(2626)]),Y=G,0<=G[W(637)](this.m)?Y=G[W(1155)](this.m):G[W(1915)](0)<0&&(Y=G[W(2553)](this.m)),Y[W(2616)](this))},fe[S(2086)][S(1304)]=function(G,Y){var W=S;return G[W(1072)]()||Y[W(1072)]()?new T(0)[W(2616)](this):(G=G[W(1304)](Y),Y=G[W(1116)](this[W(2626)]).mul(this[W(1277)])[W(2255)](this.shift)[W(1304)](this.m),G=G[W(1155)](Y).iushrn(this[W(2626)]),Y=G,0<=G[W(637)](this.m)?Y=G[W(1155)](this.m):G[W(1915)](0)<0&&(Y=G.iadd(this.m)),Y[W(2616)](this))},fe[S(2086)][S(680)]=function(G){var Y=S;return this.imod(G[Y(2763)](this.m)[Y(1304)](this.r2))[Y(2616)](this)}})((w=M[B(467)](w),this))},23482:(w,Q,M)=>{var B=Tt,D=M(35717),S=M(62318),P=M(79785),R=M(89072),T=M(71027);function L(F){var U=Tt;T[U(2811)](this,U(2637)),this[U(1060)]=F}D(L,T),L[B(2086)][B(185)]=function(F){var U=B;this[U(1060)].update(F)},L[B(2086)][B(1474)]=function(){var F=B;return this[F(1060)].digest()},w[B(2726)]=function(F){var U=B;return U(2513)===(F=F[U(444)]())?new S:F==="rmd160"||U(2631)===F?new P:new L(R(F))}},78028:(w,Q,M)=>{var B=M(62318);w.exports=function(D){var S=Tt;return new B().update(D)[S(2637)]()}},58355:(w,Q,M)=>{var B=Tt,D=M(35717),S=M(51031),P=M(71027),R=M(89509).Buffer,T=M(78028),L=M(79785),F=M(89072),U=R[B(1526)](128);function N(H,J){var K=B;P[K(2811)](this,"digest"),typeof J=="string"&&(J=R[K(2151)](J));for(var X=K(383)===H||K(404)===H?128:64,j=(this[K(640)]=H,(this._key=J)[K(2405)]>X?J=(K(2577)===H?new L:F(H)).update(J)[K(2637)]():J[K(2405)]<X&&(J=R[K(1558)]([J,U],X)),this[K(1086)]=R[K(1855)](X)),ee=this[K(2779)]=R.allocUnsafe(X),ie=0;ie<X;ie++)j[ie]=54^J[ie],ee[ie]=92^J[ie];this[K(1060)]=K(2577)===H?new L:F(H),this[K(1060)][K(1744)](j)}D(N,P),N[B(2086)][B(185)]=function(H){var J=B;this[J(1060)][J(1744)](H)},N.prototype._final=function(){var H=B,J=this[H(1060)][H(2637)]();return(H(2577)===this[H(640)]?new L:F(this[H(640)]))[H(1744)](this[H(2779)]).update(J).digest()},w[B(2726)]=function(H,J){var K=B;return K(2577)===(H=H[K(444)]())||K(2631)===H?new N(K(2577),J):K(2513)===H?new S(T,J):new N(H,J)}},51031:(w,Q,M)=>{var B=Tt,D=M(35717),S=M(89509)[B(964)],P=M(71027),R=S[B(1526)](128);function T(L,F){var U=B;P[U(2811)](this,"digest"),typeof F=="string"&&(F=S[U(2151)](F)),this[U(640)]=L,64<(this._key=F)[U(2405)]?F=L(F):F[U(2405)]<64&&(F=S[U(1558)]([F,R],64));for(var N=this[U(1086)]=S.allocUnsafe(64),H=this[U(2779)]=S[U(1855)](64),J=0;J<64;J++)N[J]=54^F[J],H[J]=92^F[J];this._hash=[N]}D(T,P),T[B(2086)]._update=function(L){var F=B;this[F(1060)][F(2764)](L)},T[B(2086)]._final=function(){var L=B,F=this[L(640)](S[L(1558)](this._hash));return this[L(640)](S[L(1558)]([this[L(2779)],F]))},w[B(2726)]=T},55835:(w,Q,M)=>{var B=Tt;Q[B(801)]=Q[B(2355)]=Q[B(268)]=Q[B(1255)]=M(61798),Q[B(765)]=Q[B(2345)]=M(23482),Q.createHmac=Q[B(2137)]=M(58355);var S=M(56042),S=Object[B(732)](S),D=[B(219),B(180),B(2709),"sha384","sha512",B(2513),B(2577)][B(1558)](S),S=(Q[B(2565)]=function(){return D},M(25632)),S=(Q.pbkdf2=S.pbkdf2,Q.pbkdf2Sync=S[B(2576)],M(53614)),S=(Q.Cipher=S[B(1203)],Q[B(2221)]=S[B(2221)],Q[B(728)]=S.Cipheriv,Q.createCipheriv=S.createCipheriv,Q[B(1823)]=S.Decipher,Q[B(1610)]=S[B(1610)],Q[B(2459)]=S[B(2459)],Q[B(2453)]=S[B(2453)],Q[B(1912)]=S[B(1912)],Q[B(2220)]=S.listCiphers,M(62607)),S=(Q[B(832)]=S[B(832)],Q.createDiffieHellmanGroup=S[B(298)],Q.getDiffieHellman=S[B(2122)],Q.createDiffieHellman=S[B(515)],Q.DiffieHellman=S[B(2567)],M(64743)),S=(Q[B(721)]=S[B(721)],Q.Sign=S[B(2434)],Q[B(2438)]=S.createVerify,Q.Verify=S.Verify,Q[B(1997)]=M(76393),M(7900)),S=(Q.publicEncrypt=S.publicEncrypt,Q[B(273)]=S[B(273)],Q[B(1592)]=S[B(1592)],Q[B(1890)]=S[B(1890)],M(77963));Q[B(275)]=S[B(275)],Q.randomFillSync=S.randomFillSync,Q[B(2561)]=function(){var P=B;throw new Error([P(2306),P(261),P(1747)][P(1814)](` `))},Q[B(1085)]={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},4289:(w,Q,F)=>{var B=Tt;function D(N,H){var J=Tt,K=2<arguments[J(2405)]?arguments[2]:{},X=S(H);P&&(X=T[J(2811)](X,Object[J(700)](H)));for(var j=0;j<X[J(2405)];j+=1)(function(ee,ie,z,oe){var le=J;if(ie in ee){if(oe===!0){if(ee[ie]===z)return}else if(le(605)!=typeof(Ae=oe)||le(2100)!==R.call(Ae)||!oe())return}var Ae;U?L(ee,ie,{configurable:!0,enumerable:!1,value:z,writable:!0}):ee[ie]=z})(N,X[j],H[X[j]],K[X[j]])}var S=F(82215),P=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",R=Object[B(2086)].toString,T=Array[B(2086)][B(1558)],L=Object.defineProperty,F=F(31044)(),U=L&&F;D[B(236)]=!!U,w[B(2726)]=D},15251:(w,Q,M)=>{var B=Tt;Q[B(1458)]=M(11278),Q.Cipher=M(55756),Q[B(1245)]=M(70778),Q[B(951)]=M(39051),Q[B(2679)]=M(50651)},39051:(w,Q,M)=>{var B=Tt,D=M(79746),S=M(35717),P={};function R(T){var L=Tt;D[L(1965)](T[L(2405)],8,L(2490)),this.iv=new Array(8);for(var F=0;F<this.iv[L(2405)];F++)this.iv[F]=T[F]}Q[B(1270)]=function(T){var L=B;function F(J){var K=Tt;T[K(2811)](this,J),this[K(1121)]()}S(F,T);for(var U=Object.keys(P),N=0;N<U.length;N++){var H=U[N];F[L(2086)][H]=P[H]}return F[L(766)]=function(J){return new F(J)},F},P[B(1121)]=function(){var T=B,L=new R(this[T(1677)].iv);this[T(945)]=L},P[B(185)]=function(T,L,F,U){var N=B,H=this[N(945)],J=this.constructor[N(979)][N(2086)],K=H.iv;if(this[N(1808)]==="encrypt"){for(var X=0;X<this[N(2796)];X++)K[X]^=T[L+X];for(J._update.call(this,K,0,F,U),X=0;X<this[N(2796)];X++)K[X]=F[U+X]}else{for(J[N(185)].call(this,T,L,F,U),X=0;X<this[N(2796)];X++)F[U+X]^=K[X];for(X=0;X<this[N(2796)];X++)K[X]=T[L+X]}}},55756:(w,Q,M)=>{var B=Tt,D=M(79746);function S(P){var R=Tt;this[R(1677)]=P,this[R(1808)]=this[R(1677)][R(1808)],this.blockSize=8,this._init(),this[R(1123)]=new Array(this[R(2796)]),this[R(1822)]=0,this[R(415)]=P[R(415)]!==!1}(w[B(2726)]=S).prototype[B(1352)]=function(){},S[B(2086)][B(1744)]=function(P){var R=B;return P[R(2405)]===0?[]:R(1505)===this.type?this[R(2671)](P):this[R(1481)](P)},S[B(2086)][B(1133)]=function(P,R){for(var T=B,L=Math[T(1817)](this.buffer[T(2405)]-this.bufferOff,P[T(2405)]-R),F=0;F<L;F++)this[T(1123)][this[T(1822)]+F]=P[R+F];return this[T(1822)]+=L,L},S[B(2086)][B(985)]=function(P,R){var T=B;return this[T(185)](this[T(1123)],0,P,R),this[T(1822)]=0,this.blockSize},S[B(2086)][B(1481)]=function(P){for(var R=B,T=0,L=0,F=(this[R(1822)]+P[R(2405)])/this[R(2796)]|0,U=new Array(F*this[R(2796)]),N=(this[R(1822)]!==0&&(T+=this[R(1133)](P,T),this.bufferOff===this[R(1123)][R(2405)]&&(L+=this[R(985)](U,L))),P[R(2405)]-(P[R(2405)]-T)%this.blockSize);T<N;T+=this.blockSize)this[R(185)](P,T,U,L),L+=this[R(2796)];for(;T<P[R(2405)];T++,this[R(1822)]++)this.buffer[this[R(1822)]]=P[T];return U},S[B(2086)][B(2671)]=function(P){for(var R=B,T=0,L=0,F=Math[R(235)]((this[R(1822)]+P[R(2405)])/this.blockSize)-1,U=new Array(F*this[R(2796)]);0<F;F--)T+=this[R(1133)](P,T),L+=this[R(985)](U,L);return T+=this[R(1133)](P,T),U},S[B(2086)][B(1471)]=function(P){var R=B,T;return P&&(T=this[R(1744)](P)),P=R(570)===this[R(1808)]?this._finalEncrypt():this._finalDecrypt(),T?T[R(1558)](P):P},S.prototype._pad=function(P,R){if(R===0)return!1;for(;R<P.length;)P[R++]=0;return!0},S[B(2086)][B(1940)]=function(){var P=B;if(!this[P(579)](this[P(1123)],this[P(1822)]))return[];var R=new Array(this.blockSize);return this[P(185)](this.buffer,0,R,0),R},S[B(2086)][B(2541)]=function(P){return P},S[B(2086)][B(1743)]=function(){var P=B;D[P(1965)](this[P(1822)],this[P(2796)],P(1515));var R=new Array(this[P(2796)]);return this[P(985)](R,0),this._unpad(R)}},70778:(w,Q,M)=>{var B=Tt,D=M(79746),S=M(35717),P=M(11278),R=M(55756);function T(){var U=Tt;this[U(1242)]=new Array(2),this[U(732)]=null}function L(U){var N=Tt;R[N(2811)](this,U);var H=new T;this[N(2688)]=H,this[N(2146)](H,U[N(2115)])}S(L,R),(w[B(2726)]=L)[B(766)]=function(U){return new L(U)};var F=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];L[B(2086)][B(2146)]=function(U,N){var H=B;U[H(732)]=new Array(32),D[H(1965)](N.length,this[H(2796)],H(348));var J=P.readUInt32BE(N,0),K=P.readUInt32BE(N,4);P[H(2615)](J,K,U[H(1242)],0),J=U.tmp[0],K=U.tmp[1];for(var X=0;X<U[H(732)].length;X+=2){var j=F[X>>>1],J=P[H(1308)](J,j),K=P.r28shl(K,j);P[H(1796)](J,K,U.keys,X)}},L.prototype[B(185)]=function(ee,N,H,J){var K=B,X=this[K(2688)],j=P[K(2237)](ee,N),ee=P[K(2237)](ee,N+4);P.ip(j,ee,X[K(1242)],0),j=X[K(1242)][0],ee=X[K(1242)][1],K(570)===this[K(1808)]?this._encrypt(X,j,ee,X[K(1242)],0):this[K(357)](X,j,ee,X[K(1242)],0),j=X.tmp[0],ee=X[K(1242)][1],P[K(2418)](H,j,J),P[K(2418)](H,ee,J+4)},L.prototype[B(579)]=function(U,N){if(this.padding===!1)return!1;for(var H=U.length-N,J=N;J<U.length;J++)U[J]=H;return!0},L[B(2086)][B(2541)]=function(U){var N=B;if(this.padding===!1)return U;for(var H=U[U[N(2405)]-1],J=U[N(2405)]-H;J<U[N(2405)];J++)D[N(1965)](U[J],H);return U[N(352)](0,U[N(2405)]-H)},L.prototype[B(2049)]=function(U,N,H,J,K){for(var X=B,oe=N,z=H,j=0;j<U[X(732)][X(2405)];j+=2)var ee=U[X(732)][j],ie=U.keys[j+1],ee=(P[X(1357)](z,U[X(1242)],0),ee^=U.tmp[0],ie^=U[X(1242)][1],P[X(1296)](ee,ie)),ie=z,z=(oe^P[X(2706)](ee))>>>0,oe=ie;P.rip(z,oe,J,K)},L[B(2086)][B(357)]=function(U,N,H,J,K){for(var X=B,z=H,oe=N,j=U[X(732)].length-2;0<=j;j-=2)var ee=U[X(732)][j],ie=U[X(732)][j+1],ee=(P[X(1357)](z,U[X(1242)],0),ee^=U[X(1242)][0],ie^=U[X(1242)][1],P.substitute(ee,ie)),ie=z,z=(oe^P[X(2706)](ee))>>>0,oe=ie;P[X(1590)](z,oe,J,K)}},50651:(w,Q,M)=>{var B=Tt,D=M(79746),S=M(35717),P=M(55756),R=M(70778);function T(F,K){var N=Tt;D[N(1965)](K[N(2405)],24,N(348));var H=K[N(352)](0,8),J=K.slice(8,16),K=K[N(352)](16,24);this[N(1518)]=N(570)===F?[R[N(766)]({type:N(570),key:H}),R.create({type:"decrypt",key:J}),R[N(766)]({type:N(570),key:K})]:[R[N(766)]({type:N(1505),key:K}),R[N(766)]({type:N(570),key:J}),R[N(766)]({type:N(1505),key:H})]}function L(F){var U=Tt;P[U(2811)](this,F),F=new T(this[U(1808)],this.options[U(2115)]),this[U(1682)]=F}S(L,P),(w[B(2726)]=L)[B(766)]=function(F){return new L(F)},L[B(2086)][B(185)]=function(F,U,N,H){var J=B,K=this[J(1682)];K[J(1518)][0][J(185)](F,U,N,H),K[J(1518)][1][J(185)](N,H,N,H),K.ciphers[2]._update(N,H,N,H)},L[B(2086)][B(579)]=R[B(2086)][B(579)],L[B(2086)][B(2541)]=R[B(2086)][B(2541)]},11278:(w,Q)=>{var M=Tt;Q[M(2237)]=function(P,R){return(P[0+R]<<24|P[1+R]<<16|P[2+R]<<8|P[3+R])>>>0},Q[M(2418)]=function(P,R,T){P[0+T]=R>>>24,P[1+T]=R>>>16&255,P[2+T]=R>>>8&255,P[3+T]=255&R},Q.ip=function(P,R,T,L){for(var F=0,U=0,N=6;0<=N;N-=2){for(var H=0;H<=24;H+=8)F=F<<1|R>>>H+N&1;for(H=0;H<=24;H+=8)F=F<<1|P>>>H+N&1}for(N=6;0<=N;N-=2){for(H=1;H<=25;H+=8)U=U<<1|R>>>H+N&1;for(H=1;H<=25;H+=8)U=U<<1|P>>>H+N&1}T[L+0]=F>>>0,T[L+1]=U>>>0},Q[M(1590)]=function(P,R,T,L){for(var F=0,U=0,N=0;N<4;N++)for(var H=24;0<=H;H-=8)F=(F=F<<1|R>>>H+N&1)<<1|P>>>H+N&1;for(N=4;N<8;N++)for(H=24;0<=H;H-=8)U=(U=U<<1|R>>>H+N&1)<<1|P>>>H+N&1;T[L+0]=F>>>0,T[L+1]=U>>>0},Q[M(2615)]=function(P,R,T,L){for(var F=0,U=0,N=7;5<=N;N--){for(var H=0;H<=24;H+=8)F=F<<1|R>>H+N&1;for(H=0;H<=24;H+=8)F=F<<1|P>>H+N&1}for(H=0;H<=24;H+=8)F=F<<1|R>>H+N&1;for(N=1;N<=3;N++){for(H=0;H<=24;H+=8)U=U<<1|R>>H+N&1;for(H=0;H<=24;H+=8)U=U<<1|P>>H+N&1}for(H=0;H<=24;H+=8)U=U<<1|P>>H+N&1;T[L+0]=F>>>0,T[L+1]=U>>>0},Q.r28shl=function(P,R){return P<<R&268435455|P>>>28-R};var B=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24],D=(Q[M(1796)]=function(P,R,T,L){for(var F=M,U=0,N=0,H=B[F(2405)]>>>1,J=0;J<H;J++)U=U<<1|P>>>B[J]&1;for(J=H;J<B[F(2405)];J++)N=N<<1|R>>>B[J]&1;T[L+0]=U>>>0,T[L+1]=N>>>0},Q.expand=function(P,R,T){for(var F=0,L=0,F=(1&P)<<5|P>>>27,U=23;15<=U;U-=4)F=F<<6|P>>>U&63;for(U=11;3<=U;U-=4)L=(L|P>>>U&63)<<6;L|=(31&P)<<1|P>>>31,R[T+0]=F>>>0,R[T+1]=L>>>0},[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11]),S=(Q[M(1296)]=function(P,R){for(var T=0,L=0;L<4;L++)T=T<<4|D[64*L+(P>>>18-6*L&63)];for(L=0;L<4;L++)T=T<<4|D[256+64*L+(R>>>18-6*L&63)];return T>>>0},[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7]);Q.permute=function(P){for(var R=M,T=0,L=0;L<S[R(2405)];L++)T=T<<1|P>>>S[L]&1;return T>>>0},Q.padSplit=function(P,R,T){for(var L=M,F=P.toString(2);F[L(2405)]<R;)F="0"+F;for(var U=[],N=0;N<R;N+=T)U[L(2764)](F[L(352)](N,N+T));return U[L(1814)](" ")}},62607:(w,Q,M)=>{var B=Tt,D=M(48764).Buffer,S=M(43590),P=M(29799),R=M(57426),T={binary:!0,hex:!0,base64:!0};Q[B(832)]=Q.createDiffieHellmanGroup=Q.getDiffieHellman=function(N){var F=B,U=new D(P[N].prime,F(1996)),N=new D(P[N].gen,F(1996));return new R(U,N)},Q[B(515)]=Q.DiffieHellman=function L(F,U,N,H){var J=B;return D[J(1564)](U)||T[U]===void 0?L(F,J(2470),U,N):(U=U||J(2470),H=H||J(2470),N=N||new D([2]),D[J(1564)](N)||(N=new D(N,H)),J(647)==typeof F?new R(S(F,N),N,!0):(D[J(1564)](F)||(F=new D(F,U)),new R(F,N,!0)))}},57426:(w,Q,M)=>{var B=Tt,D=M(48764)[B(964)],S=M(83620),P=new(M(63047)),R=new S(24),T=new S(11),L=new S(10),F=new S(3),U=new S(7),N=M(43590),H=M(61798);function J(ie,z){var oe=B;return z=z||oe(2016),D[oe(1564)](ie)||(ie=new D(ie,z)),this._pub=new S(ie),this}function K(ie,z){var oe=B;return z=z||oe(2016),D[oe(1564)](ie)||(ie=new D(ie,z)),this._priv=new S(ie),this}w[B(2726)]=j;var X={};function j(ie,z,oe){var le=B;this[le(2807)](z),this[le(1253)]=new S(ie),this[le(1739)]=S[le(649)](this[le(1253)]),this[le(1027)]=ie.length,this[le(752)]=void 0,this[le(368)]=void 0,this[le(1067)]=void 0,oe?(this[le(1189)]=J,this[le(2802)]=K):this[le(1067)]=8}function ee(ie,z){var oe=B;return ie=new D(ie[oe(1780)]()),z?ie[oe(2192)](z):ie}Object[B(1073)](j[B(2086)],"verifyError",{enumerable:!0,get:function(){var ie=B;return ie(647)!=typeof this[ie(1067)]&&(this[ie(1067)]=function(z,Ae){var le=ie,Ae=Ae.toString(le(1996)),he=[Ae,z[le(2192)](16)][le(1814)]("_");if(he in X)return X[he];var ge,de=0;if(z.isEven()||!N[le(736)]||!N.fermatTest(z)||!P.test(z))return X[he]=de=de+1+(Ae==="02"||Ae==="05"?8:4);switch(P[le(529)](z[le(446)](1))||(de+=2),Ae){case"02":z[le(2451)](R)[le(637)](T)&&(de+=8);break;case"05":(ge=z.mod(L))[le(637)](F)&&ge[le(637)](U)&&(de+=8);break;default:de+=4}return X[he]=de}(this[ie(1253)],this[ie(2133)])),this._primeCode}}),j[B(2086)][B(877)]=function(){var ie=B;return this._priv||(this[ie(368)]=new S(H(this[ie(1027)]))),this[ie(752)]=this[ie(166)][ie(1705)](this[ie(1739)])[ie(2641)](this._priv)[ie(240)](),this[ie(2381)]()},j[B(2086)].computeSecret=function(oe){var z=B,oe=(oe=(oe=new S(oe))[z(1705)](this[z(1739)])).redPow(this[z(368)])[z(240)](),oe=new D(oe.toArray()),le=this[z(1202)]();return oe.length<le[z(2405)]&&((le=new D(le[z(2405)]-oe.length))[z(1263)](0),oe=D[z(1558)]([le,oe])),oe},j[B(2086)][B(2381)]=function(ie){var z=B;return ee(this[z(752)],ie)},j.prototype[B(847)]=function(ie){return ee(this._priv,ie)},j[B(2086)][B(1202)]=function(ie){var z=B;return ee(this[z(1253)],ie)},j.prototype.getGenerator=function(ie){return ee(this._gen,ie)},j[B(2086)][B(2807)]=function(ie,z){var oe=B;return z=z||oe(2016),D[oe(1564)](ie)||(ie=new D(ie,z)),this.__gen=ie,this[oe(166)]=new S(ie),this}},43590:(w,Q,M)=>{var B=Tt,D=M(61798),S=((w[B(2726)]=ee)[B(736)]=X,ee[B(1446)]=j,M(83620)),P=new S(24),R=new(M(63047)),T=new S(1),L=new S(2),F=new S(5),U=(new S(16),new S(8),new S(10)),N=new S(3),H=(new S(7),new S(11)),J=new S(4),K=(new S(12),null);function X(ie){for(var z=B,oe=function(){var Ae=Tt;if(K!==null)return K;var he=[];he[0]=2;for(var ge=1,de=3;de<1048576;de+=2){for(var fe=Math.ceil(Math[Ae(2657)](de)),G=0;G<ge&&he[G]<=fe&&de%he[G]!=0;G++);ge!==G&&he[G]<=fe||(he[ge++]=de)}return K=he}(),le=0;le<oe.length;le++)if(ie.modn(oe[le])===0)return ie[z(1915)](oe[le])===0;return!0}function j(ie){var z=B,oe=S.mont(ie);return L.toRed(oe).redPow(ie[z(860)](1)).fromRed()[z(1915)](1)===0}function ee(ie,z){var oe=B;if(ie<16)return new S(z===2||z===5?[140,123]:[140,39]);var le,Ae;for(z=new S(z);;){for(le=new S(D(Math.ceil(ie/8)));le[oe(1787)]()>ie;)le[oe(739)](1);if(le[oe(2105)]()&&le.iadd(T),le[oe(360)](1)||le.iadd(L),z[oe(637)](L)){if(!z[oe(637)](F))for(;le[oe(2451)](U)[oe(637)](N);)le[oe(2553)](J)}else for(;le.mod(P)[oe(637)](H);)le[oe(2553)](J);if(X(Ae=le[oe(446)](1))&&X(le)&&j(Ae)&&j(le)&&R[oe(529)](Ae)&&R[oe(529)](le))return le}}},83620:function(w,Q,M){var B=Tt;(function(D){"use strict";var S=Tt;function P(G,Y){var W=Tt;if(!G)throw new Error(Y||W(1176))}function R(G,Y){var W=Tt;function O(){}G.super_=Y,O[W(2086)]=Y[W(2086)],G.prototype=new O,G[W(2086)].constructor=G}function T(G,Y,W){var O=Tt;if(T[O(2672)](G))return G;this[O(1746)]=0,this[O(1157)]=null,this[O(2405)]=0,(this[O(1230)]=null)!==G&&(Y!=="le"&&Y!=="be"||(W=Y,Y=10),this[O(1352)](G||0,Y||10,W||"be"))}var L;S(2538)==typeof w?w[S(2726)]=T:D.BN=T,(T.BN=T)[S(642)]=26;try{L=(S(621)!=typeof window&&window[S(964)]!==void 0?window:M(7748)).Buffer}catch{}function F(G,Y){return G=G.charCodeAt(Y),65<=G&&G<=70?G-55:97<=G&&G<=102?G-87:G-48&15}function U(G,Y,W){var O=F(G,W);return Y<=W-1&&(O|=F(G,W-1)<<4),O}function N(G,Y,W,O){for(var re=S,Ce=0,se=Math[re(1817)](G.length,W),ce=Y;ce<se;ce++)var me=G.charCodeAt(ce)-48,Ce=Ce*O+(49<=me?me-49+10:17<=me?me-17+10:me);return Ce}T.isBN=function(G){var Y=S;return G instanceof T||G!==null&&Y(2538)==typeof G&&G[Y(1630)][Y(642)]===T[Y(642)]&&Array[Y(2021)](G.words)},T.max=function(G,Y){var W=S;return 0<G[W(637)](Y)?G:Y},T.min=function(G,Y){var W=S;return G[W(637)](Y)<0?G:Y},T.prototype[S(1352)]=function(G,Y,W){var O=S;if(O(647)==typeof G)return this[O(746)](G,Y,W);if(typeof G=="object")return this[O(845)](G,Y,W);P((Y=Y==="hex"?16:Y)===(0|Y)&&2<=Y&&Y<=36);var re=0;(G=G.toString()[O(2489)](/\s+/g,""))[0]==="-"&&(re++,this[O(1746)]=1),re<G[O(2405)]&&(Y===16?this[O(1936)](G,re,W):(this._parseBase(G,Y,re),W==="le"&&this[O(845)](this[O(1780)](),Y,W)))},T[S(2086)]._initNumber=function(G,Y,W){var O=S;G<0&&(this.negative=1,G=-G),G<67108864?(this[O(1157)]=[67108863&G],this[O(2405)]=1):G<4503599627370496?(this[O(1157)]=[67108863&G,G/67108864&67108863],this.length=2):(P(G<9007199254740992),this.words=[67108863&G,G/67108864&67108863,1],this[O(2405)]=3),W==="le"&&this[O(845)](this[O(1780)](),Y,W)},T[S(2086)][S(845)]=function(G,Y,W){var O=S;if(P(O(647)==typeof G[O(2405)]),G[O(2405)]<=0)return this[O(1157)]=[0],this[O(2405)]=1,this;this[O(2405)]=Math[O(235)](G[O(2405)]/3),this.words=new Array(this.length);for(var re,se,ce=0;ce<this.length;ce++)this[O(1157)][ce]=0;var me=0;if(W==="be")for(ce=G[O(2405)]-1,re=0;0<=ce;ce-=3)se=G[ce]|G[ce-1]<<8|G[ce-2]<<16,this[O(1157)][re]|=se<<me&67108863,this[O(1157)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);else if(W==="le")for(re=ce=0;ce<G[O(2405)];ce+=3)se=G[ce]|G[ce+1]<<8|G[ce+2]<<16,this[O(1157)][re]|=se<<me&67108863,this[O(1157)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);return this[O(1282)]()},T[S(2086)][S(1936)]=function(G,Y,W){var O=S;this[O(2405)]=Math[O(235)]((G[O(2405)]-Y)/6),this[O(1157)]=new Array(this[O(2405)]);for(var re=0;re<this[O(2405)];re++)this.words[re]=0;var se,ce=0,me=0;if(W==="be")for(re=G[O(2405)]-1;Y<=re;re-=2)se=U(G,Y,re)<<ce,this[O(1157)][me]|=67108863&se,18<=ce?(ce-=18,this[O(1157)][me+=1]|=se>>>26):ce+=8;else for(re=(G[O(2405)]-Y)%2==0?Y+1:Y;re<G[O(2405)];re+=2)se=U(G,Y,re)<<ce,this[O(1157)][me]|=67108863&se,18<=ce?(ce-=18,this[O(1157)][me+=1]|=se>>>26):ce+=8;this[O(1282)]()},T[S(2086)][S(1534)]=function(G,Y,W){var O=S;this[O(1157)]=[0];for(var re=0,se=this[O(2405)]=1;se<=67108863;se*=Y)re++;for(var se=se/Y|0,ce=G.length-W,me=ce%--re,Ce=Math[O(1817)](ce,ce-me)+W,ye=0,Be=W;Be<Ce;Be+=re)ye=N(G,Be,Be+re,Y),this.imuln(se),this.words[0]+ye<67108864?this.words[0]+=ye:this[O(2209)](ye);if(me!=0){for(var Me=1,ye=N(G,Be,G[O(2405)],Y),Be=0;Be<me;Be++)Me*=Y;this[O(2548)](Me),this[O(1157)][0]+ye<67108864?this.words[0]+=ye:this._iaddn(ye)}this[O(1282)]()},T[S(2086)].copy=function(G){var Y=S;G[Y(1157)]=new Array(this[Y(2405)]);for(var W=0;W<this[Y(2405)];W++)G[Y(1157)][W]=this[Y(1157)][W];G.length=this.length,G[Y(1746)]=this[Y(1746)],G[Y(1230)]=this[Y(1230)]},T[S(2086)][S(914)]=function(){var G=S,Y=new T(null);return this[G(1973)](Y),Y},T[S(2086)][S(559)]=function(G){for(var Y=S;this[Y(2405)]<G;)this[Y(1157)][this[Y(2405)]++]=0;return this},T[S(2086)][S(1282)]=function(){for(var G=S;1<this[G(2405)]&&this[G(1157)][this[G(2405)]-1]===0;)this[G(2405)]--;return this._normSign()},T[S(2086)][S(1088)]=function(){var G=S;return this.length===1&&this.words[0]===0&&(this[G(1746)]=0),this},T.prototype.inspect=function(){var G=S;return(this[G(1230)]?G(652):G(398))+this[G(2192)](16)+">"};var H=["","0","00",S(2283),S(2629),S(299),S(614),"0000000",S(505),"000000000","0000000000","00000000000",S(1054),S(2369),"00000000000000",S(1706),S(1482),S(2566),"000000000000000000",S(530),S(480),"000000000000000000000",S(2588),S(1175),S(1624),S(1276)],J=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],K=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function X(G,Y,W){var O=S;W[O(1746)]=Y[O(1746)]^G[O(1746)];var re=G[O(2405)]+Y[O(2405)]|0,re=(W.length=re)-1|0,se=(me=(0|G[O(1157)][0])*(0|Y[O(1157)][0]))/67108864|0;W[O(1157)][0]=67108863&me;for(var ce=1;ce<re;ce++){for(var me,Ce=se>>>26,ye=67108863&se,Be=Math[O(1817)](ce,Y.length-1),Me=Math[O(1093)](0,ce-G[O(2405)]+1);Me<=Be;Me++)Ce+=(me=(0|G[O(1157)][ce-Me|0])*(0|Y.words[Me])+ye)/67108864|0,ye=67108863&me;W[O(1157)][ce]=0|ye,se=0|Ce}return se!==0?W.words[ce]=0|se:W.length--,W.strip()}T[S(2086)][S(2192)]=function(G,Y){var W=S;if(Y=0|Y||1,(G=G||10)===16||W(1996)===G){for(var O="",re=0,se=0,ce=0;ce<this[W(2405)];ce++){var me=this[W(1157)][ce],Ce=(16777215&(me<<re|se))[W(2192)](16),O=(se=me>>>24-re&16777215)!=0||ce!==this[W(2405)]-1?H[6-Ce[W(2405)]]+Ce+O:Ce+O;26<=(re+=2)&&(re-=26,ce--)}for(se!==0&&(O=se[W(2192)](16)+O);O[W(2405)]%Y!=0;)O="0"+O;return this[W(1746)]!==0?"-"+O:O}if(G===(0|G)&&2<=G&&G<=36){var ye=J[G],Be=K[G];for(O="",(Me=this[W(914)]())[W(1746)]=0;!Me[W(1072)]();){var Me,He=Me.modn(Be)[W(2192)](G);O=(Me=Me[W(929)](Be)).isZero()?He+O:H[ye-He[W(2405)]]+He+O}for(this[W(1072)]()&&(O="0"+O);O[W(2405)]%Y!=0;)O="0"+O;return this[W(1746)]!==0?"-"+O:O}P(!1,"Base should be between 2 and 36")},T[S(2086)][S(2277)]=function(){var G=S,Y=this[G(1157)][0];return this[G(2405)]===2?Y+=67108864*this[G(1157)][1]:this.length===3&&this.words[2]===1?Y+=4503599627370496+67108864*this.words[1]:2<this[G(2405)]&&P(!1,G(909)),this[G(1746)]!==0?-Y:Y},T.prototype[S(1130)]=function(){return this.toString(16)},T[S(2086)][S(710)]=function(G,Y){var W=S;return P(L!==void 0),this[W(1298)](L,G,Y)},T[S(2086)][S(1780)]=function(G,Y){return this.toArrayLike(Array,G,Y)},T[S(2086)][S(1298)]=function(G,Y,Ce){var O=S,re,se,ce=this[O(2127)](),me=Ce||Math.max(1,ce),Ce=(P(ce<=me,O(2424)),P(0<me,"Requested array length <= 0"),this[O(1282)](),Y==="le"),ye=new G(me),Be=this[O(914)]();if(Ce){for(se=0;!Be[O(1072)]();se++)re=Be[O(1452)](255),Be.iushrn(8),ye[se]=re;for(;se<me;se++)ye[se]=0}else{for(se=0;se<me-ce;se++)ye[se]=0;for(se=0;!Be[O(1072)]();se++)re=Be[O(1452)](255),Be[O(586)](8),ye[me-se-1]=re}return ye},Math.clz32?T[S(2086)]._countBits=function(G){return 32-Math.clz32(G)}:T[S(2086)][S(1701)]=function(G){var Y=0;return 4096<=G&&(Y+=13,G>>>=13),64<=G&&(Y+=7,G>>>=7),8<=G&&(Y+=4,G>>>=4),2<=G&&(Y+=2,G>>>=2),Y+G},T.prototype[S(1577)]=function(G){if(G===0)return 26;var Y=0;return(8191&G)==0&&(Y+=13,G>>>=13),(127&G)==0&&(Y+=7,G>>>=7),(15&G)==0&&(Y+=4,G>>>=4),(3&G)==0&&(Y+=2,G>>>=2),(1&G)==0&&Y++,Y},T[S(2086)][S(1787)]=function(){var G=S,Y=this[G(1157)][this[G(2405)]-1],Y=this[G(1701)](Y);return 26*(this[G(2405)]-1)+Y},T.prototype[S(2348)]=function(){var G=S;if(this.isZero())return 0;for(var Y=0,W=0;W<this[G(2405)];W++){var O=this[G(1577)](this[G(1157)][W]);if(Y+=O,O!==26)break}return Y},T[S(2086)][S(2127)]=function(){var G=S;return Math.ceil(this[G(1787)]()/8)},T[S(2086)][S(2212)]=function(G){var Y=S;return this[Y(1746)]!==0?this[Y(2148)]()[Y(1039)](G)[Y(2755)](1):this[Y(914)]()},T[S(2086)][S(2095)]=function(G){var Y=S;return this[Y(360)](G-1)?this[Y(2800)](G).iaddn(1)[Y(1232)]():this.clone()},T.prototype.isNeg=function(){return this.negative!==0},T[S(2086)][S(770)]=function(){var G=S;return this[G(914)]()[G(1232)]()},T[S(2086)][S(1232)]=function(){var G=S;return this.isZero()||(this[G(1746)]^=1),this},T[S(2086)][S(1416)]=function(G){for(var Y=S;this[Y(2405)]<G[Y(2405)];)this.words[this[Y(2405)]++]=0;for(var W=0;W<G[Y(2405)];W++)this.words[W]=this[Y(1157)][W]|G[Y(1157)][W];return this[Y(1282)]()},T[S(2086)][S(2085)]=function(G){var Y=S;return P((this[Y(1746)]|G[Y(1746)])==0),this[Y(1416)](G)},T.prototype.or=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(2085)](G):G.clone()[Y(2085)](this)},T.prototype[S(861)]=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(1416)](G):G[Y(914)]()[Y(1416)](this)},T[S(2086)].iuand=function(G){for(var Y=S,W=this.length>G[Y(2405)]?G:this,O=0;O<W.length;O++)this[Y(1157)][O]=this.words[O]&G.words[O];return this[Y(2405)]=W[Y(2405)],this[Y(1282)]()},T[S(2086)][S(1757)]=function(G){var Y=S;return P((this.negative|G[Y(1746)])==0),this[Y(1501)](G)},T.prototype[S(2429)]=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(1757)](G):G[Y(914)]()[Y(1757)](this)},T.prototype[S(1404)]=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(1501)](G):G[Y(914)]().iuand(this)},T[S(2086)][S(1313)]=function(G){for(var Y=S,W,O=this[Y(2405)]>G[Y(2405)]?(W=this,G):(W=G,this),re=0;re<O[Y(2405)];re++)this[Y(1157)][re]=W[Y(1157)][re]^O.words[re];if(this!==W)for(;re<W[Y(2405)];re++)this[Y(1157)][re]=W[Y(1157)][re];return this.length=W[Y(2405)],this.strip()},T.prototype[S(2425)]=function(G){var Y=S;return P((this[Y(1746)]|G[Y(1746)])==0),this.iuxor(G)},T[S(2086)][S(2216)]=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]().ixor(G):G[Y(914)]()[Y(2425)](this)},T[S(2086)][S(1444)]=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]().iuxor(G):G[Y(914)]()[Y(1313)](this)},T[S(2086)][S(1039)]=function(O){var Y=S;P(Y(647)==typeof O&&0<=O);var W=0|Math.ceil(O/26),O=O%26;this[Y(559)](W),0<O&&W--;for(var re=0;re<W;re++)this[Y(1157)][re]=67108863&~this[Y(1157)][re];return 0<O&&(this.words[re]=~this[Y(1157)][re]&67108863>>26-O),this[Y(1282)]()},T[S(2086)].notn=function(G){var Y=S;return this[Y(914)]().inotn(G)},T[S(2086)].setn=function(re,Y){var W=S;P(W(647)==typeof re&&0<=re);var O=re/26|0,re=re%26;return this[W(559)](1+O),this[W(1157)][O]=Y?this[W(1157)][O]|1<<re:this[W(1157)][O]&~(1<<re),this.strip()},T[S(2086)][S(2553)]=function(G){var Y=S,W,O;if(this[Y(1746)]!==0&&G[Y(1746)]===0)return this[Y(1746)]=0,W=this[Y(1155)](G),this[Y(1746)]^=1,this[Y(1088)]();if(this.negative===0&&G[Y(1746)]!==0)return G[Y(1746)]=0,W=this[Y(1155)](G),G[Y(1746)]=1,W[Y(1088)]();for(var re=this.length>G[Y(2405)]?(O=this,G):(O=G,this),se=0,ce=0;ce<re[Y(2405)];ce++)W=(0|O[Y(1157)][ce])+(0|re[Y(1157)][ce])+se,this.words[ce]=67108863&W,se=W>>>26;for(;se!==0&&ce<O[Y(2405)];ce++)W=(0|O.words[ce])+se,this.words[ce]=67108863&W,se=W>>>26;if(this[Y(2405)]=O[Y(2405)],se!==0)this[Y(1157)][this[Y(2405)]]=se,this[Y(2405)]++;else if(O!==this)for(;ce<O[Y(2405)];ce++)this[Y(1157)][ce]=O[Y(1157)][ce];return this},T[S(2086)][S(1002)]=function(G){var Y=S,W;return G[Y(1746)]!==0&&this[Y(1746)]===0?(G[Y(1746)]=0,W=this[Y(713)](G),G.negative^=1,W):G.negative===0&&this[Y(1746)]!==0?(this[Y(1746)]=0,W=G[Y(713)](this),this[Y(1746)]=1,W):this.length>G[Y(2405)]?this[Y(914)]()[Y(2553)](G):G.clone()[Y(2553)](this)},T[S(2086)][S(1155)]=function(G){var Y=S,W;if(G[Y(1746)]!==0)return G.negative=0,W=this[Y(2553)](G),G[Y(1746)]=1,W[Y(1088)]();if(this[Y(1746)]!==0)return this.negative=0,this[Y(2553)](G),this[Y(1746)]=1,this[Y(1088)]();var O,re=this[Y(637)](G);if(re===0)return this[Y(1746)]=0,this[Y(2405)]=1,this[Y(1157)][0]=0,this;for(var se=0<re?(O=this,G):(O=G,this),ce=0,me=0;me<se.length;me++)ce=(W=(0|O[Y(1157)][me])-(0|se.words[me])+ce)>>26,this[Y(1157)][me]=67108863&W;for(;ce!==0&&me<O[Y(2405)];me++)ce=(W=(0|O.words[me])+ce)>>26,this[Y(1157)][me]=67108863&W;if(ce===0&&me<O[Y(2405)]&&O!==this)for(;me<O[Y(2405)];me++)this.words[me]=O[Y(1157)][me];return this[Y(2405)]=Math[Y(1093)](this[Y(2405)],me),O!==this&&(this[Y(1746)]=1),this[Y(1282)]()},T[S(2086)].sub=function(G){return this.clone().isub(G)};var j=function(_e,dt,W){var O=S,Je=_e[O(1157)],St=dt.words,re=W[O(1157)],di=0|Je[0],Kt=8191&di,di=di>>>13,gt=0|Je[1],Ei=8191>,gt=gt>>>13,ce=0|Je[2],se=8191&ce,ce=ce>>>13,Ce=0|Je[3],me=8191&Ce,Ce=Ce>>>13,Be=0|Je[4],ye=8191&Be,Be=Be>>>13,He=0|Je[5],Me=8191&He,He=He>>>13,Ne=0|Je[6],ke=8191&Ne,Ne=Ne>>>13,we=0|Je[7],Pe=8191&we,we=we>>>13,Ue=0|Je[8],Fe=8191&Ue,Ue=Ue>>>13,Je=0|Je[9],ze=8191&Je,Je=Je>>>13,Vt=0|St[0],pi=8191&Vt,Vt=Vt>>>13,Ht=0|St[1],ui=8191&Ht,Ht=Ht>>>13,Ot=0|St[2],bt=8191&Ot,Ot=Ot>>>13,Ze=0|St[3],je=8191&Ze,Ze=Ze>>>13,At=0|St[4],rt=8191&At,At=At>>>13,at=0|St[5],yt=8191&at,at=at>>>13,_t=0|St[6],ft=8191&_t,_t=_t>>>13,pt=0|St[7],et=8191&pt,pt=pt>>>13,It=0|St[8],zt=8191&It,It=It>>>13,St=0|St[9],Pt=8191&St,St=St>>>13,dt=(W[O(1746)]=_e[O(1746)]^dt[O(1746)],W[O(2405)]=19,(0+Math[O(1759)](Kt,pi)|0)+((8191&(_e=Math[O(1759)](Kt,Vt)+Math[O(1759)](di,pi)|0))<<13)|0),Wt=(Math.imul(di,Vt)+(_e>>>13)|0)+(dt>>>26)|0,Le=(dt&=67108863,Math[O(1759)](Ei,pi)),_e=Math.imul(Ei,Vt)+Math[O(1759)](gt,pi)|0,Oe=Math[O(1759)](gt,Vt),vt=(Wt+(Le+Math[O(1759)](Kt,ui)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,Ht)|0)+Math[O(1759)](di,ui)|0))<<13)|0,wt=(Wt=((Oe+Math[O(1759)](di,Ht)|0)+(_e>>>13)|0)+(vt>>>26)|0,vt&=67108863,Le=Math[O(1759)](se,pi),_e=Math[O(1759)](se,Vt)+Math[O(1759)](ce,pi)|0,Oe=Math[O(1759)](ce,Vt),Le=Le+Math.imul(Ei,ui)|0,_e=(_e+Math[O(1759)](Ei,Ht)|0)+Math.imul(gt,ui)|0,Oe=Oe+Math.imul(gt,Ht)|0,(Wt+(Le+Math[O(1759)](Kt,bt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,Ot)|0)+Math[O(1759)](di,bt)|0))<<13)|0),Bt=(Wt=((Oe+Math[O(1759)](di,Ot)|0)+(_e>>>13)|0)+(wt>>>26)|0,wt&=67108863,Le=Math[O(1759)](me,pi),_e=Math[O(1759)](me,Vt)+Math[O(1759)](Ce,pi)|0,Oe=Math[O(1759)](Ce,Vt),Le=Le+Math[O(1759)](se,ui)|0,_e=(_e+Math[O(1759)](se,Ht)|0)+Math[O(1759)](ce,ui)|0,Oe=Oe+Math[O(1759)](ce,Ht)|0,Le=Le+Math[O(1759)](Ei,bt)|0,_e=(_e+Math.imul(Ei,Ot)|0)+Math.imul(gt,bt)|0,Oe=Oe+Math[O(1759)](gt,Ot)|0,(Wt+(Le+Math.imul(Kt,je)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,Ze)|0)+Math[O(1759)](di,je)|0))<<13)|0),bi=(Wt=((Oe+Math.imul(di,Ze)|0)+(_e>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,Le=Math[O(1759)](ye,pi),_e=Math[O(1759)](ye,Vt)+Math[O(1759)](Be,pi)|0,Oe=Math.imul(Be,Vt),Le=Le+Math.imul(me,ui)|0,_e=(_e+Math[O(1759)](me,Ht)|0)+Math[O(1759)](Ce,ui)|0,Oe=Oe+Math[O(1759)](Ce,Ht)|0,Le=Le+Math[O(1759)](se,bt)|0,_e=(_e+Math[O(1759)](se,Ot)|0)+Math[O(1759)](ce,bt)|0,Oe=Oe+Math[O(1759)](ce,Ot)|0,Le=Le+Math[O(1759)](Ei,je)|0,_e=(_e+Math[O(1759)](Ei,Ze)|0)+Math[O(1759)](gt,je)|0,Oe=Oe+Math[O(1759)](gt,Ze)|0,(Wt+(Le+Math[O(1759)](Kt,rt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,At)|0)+Math[O(1759)](di,rt)|0))<<13)|0),nr=(Wt=((Oe+Math[O(1759)](di,At)|0)+(_e>>>13)|0)+(bi>>>26)|0,bi&=67108863,Le=Math[O(1759)](Me,pi),_e=Math[O(1759)](Me,Vt)+Math[O(1759)](He,pi)|0,Oe=Math[O(1759)](He,Vt),Le=Le+Math[O(1759)](ye,ui)|0,_e=(_e+Math[O(1759)](ye,Ht)|0)+Math.imul(Be,ui)|0,Oe=Oe+Math[O(1759)](Be,Ht)|0,Le=Le+Math[O(1759)](me,bt)|0,_e=(_e+Math[O(1759)](me,Ot)|0)+Math[O(1759)](Ce,bt)|0,Oe=Oe+Math[O(1759)](Ce,Ot)|0,Le=Le+Math.imul(se,je)|0,_e=(_e+Math[O(1759)](se,Ze)|0)+Math[O(1759)](ce,je)|0,Oe=Oe+Math.imul(ce,Ze)|0,Le=Le+Math.imul(Ei,rt)|0,_e=(_e+Math.imul(Ei,At)|0)+Math[O(1759)](gt,rt)|0,Oe=Oe+Math.imul(gt,At)|0,(Wt+(Le+Math[O(1759)](Kt,yt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,at)|0)+Math[O(1759)](di,yt)|0))<<13)|0),Ai=(Wt=((Oe+Math[O(1759)](di,at)|0)+(_e>>>13)|0)+(nr>>>26)|0,nr&=67108863,Le=Math[O(1759)](ke,pi),_e=Math[O(1759)](ke,Vt)+Math.imul(Ne,pi)|0,Oe=Math[O(1759)](Ne,Vt),Le=Le+Math[O(1759)](Me,ui)|0,_e=(_e+Math[O(1759)](Me,Ht)|0)+Math[O(1759)](He,ui)|0,Oe=Oe+Math.imul(He,Ht)|0,Le=Le+Math.imul(ye,bt)|0,_e=(_e+Math[O(1759)](ye,Ot)|0)+Math[O(1759)](Be,bt)|0,Oe=Oe+Math[O(1759)](Be,Ot)|0,Le=Le+Math[O(1759)](me,je)|0,_e=(_e+Math[O(1759)](me,Ze)|0)+Math.imul(Ce,je)|0,Oe=Oe+Math[O(1759)](Ce,Ze)|0,Le=Le+Math.imul(se,rt)|0,_e=(_e+Math[O(1759)](se,At)|0)+Math[O(1759)](ce,rt)|0,Oe=Oe+Math[O(1759)](ce,At)|0,Le=Le+Math[O(1759)](Ei,yt)|0,_e=(_e+Math[O(1759)](Ei,at)|0)+Math[O(1759)](gt,yt)|0,Oe=Oe+Math.imul(gt,at)|0,(Wt+(Le+Math[O(1759)](Kt,ft)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,_t)|0)+Math[O(1759)](di,ft)|0))<<13)|0),xi=(Wt=((Oe+Math[O(1759)](di,_t)|0)+(_e>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,Le=Math.imul(Pe,pi),_e=Math[O(1759)](Pe,Vt)+Math[O(1759)](we,pi)|0,Oe=Math[O(1759)](we,Vt),Le=Le+Math[O(1759)](ke,ui)|0,_e=(_e+Math[O(1759)](ke,Ht)|0)+Math.imul(Ne,ui)|0,Oe=Oe+Math[O(1759)](Ne,Ht)|0,Le=Le+Math[O(1759)](Me,bt)|0,_e=(_e+Math[O(1759)](Me,Ot)|0)+Math.imul(He,bt)|0,Oe=Oe+Math[O(1759)](He,Ot)|0,Le=Le+Math[O(1759)](ye,je)|0,_e=(_e+Math[O(1759)](ye,Ze)|0)+Math[O(1759)](Be,je)|0,Oe=Oe+Math.imul(Be,Ze)|0,Le=Le+Math.imul(me,rt)|0,_e=(_e+Math.imul(me,At)|0)+Math[O(1759)](Ce,rt)|0,Oe=Oe+Math.imul(Ce,At)|0,Le=Le+Math.imul(se,yt)|0,_e=(_e+Math[O(1759)](se,at)|0)+Math.imul(ce,yt)|0,Oe=Oe+Math[O(1759)](ce,at)|0,Le=Le+Math[O(1759)](Ei,ft)|0,_e=(_e+Math[O(1759)](Ei,_t)|0)+Math.imul(gt,ft)|0,Oe=Oe+Math.imul(gt,_t)|0,(Wt+(Le+Math.imul(Kt,et)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,pt)|0)+Math.imul(di,et)|0))<<13)|0),Fi=(Wt=((Oe+Math.imul(di,pt)|0)+(_e>>>13)|0)+(xi>>>26)|0,xi&=67108863,Le=Math.imul(Fe,pi),_e=Math[O(1759)](Fe,Vt)+Math[O(1759)](Ue,pi)|0,Oe=Math.imul(Ue,Vt),Le=Le+Math.imul(Pe,ui)|0,_e=(_e+Math[O(1759)](Pe,Ht)|0)+Math[O(1759)](we,ui)|0,Oe=Oe+Math[O(1759)](we,Ht)|0,Le=Le+Math[O(1759)](ke,bt)|0,_e=(_e+Math[O(1759)](ke,Ot)|0)+Math.imul(Ne,bt)|0,Oe=Oe+Math[O(1759)](Ne,Ot)|0,Le=Le+Math[O(1759)](Me,je)|0,_e=(_e+Math[O(1759)](Me,Ze)|0)+Math[O(1759)](He,je)|0,Oe=Oe+Math.imul(He,Ze)|0,Le=Le+Math[O(1759)](ye,rt)|0,_e=(_e+Math[O(1759)](ye,At)|0)+Math[O(1759)](Be,rt)|0,Oe=Oe+Math[O(1759)](Be,At)|0,Le=Le+Math[O(1759)](me,yt)|0,_e=(_e+Math[O(1759)](me,at)|0)+Math[O(1759)](Ce,yt)|0,Oe=Oe+Math.imul(Ce,at)|0,Le=Le+Math.imul(se,ft)|0,_e=(_e+Math.imul(se,_t)|0)+Math.imul(ce,ft)|0,Oe=Oe+Math[O(1759)](ce,_t)|0,Le=Le+Math[O(1759)](Ei,et)|0,_e=(_e+Math[O(1759)](Ei,pt)|0)+Math[O(1759)](gt,et)|0,Oe=Oe+Math[O(1759)](gt,pt)|0,(Wt+(Le+Math[O(1759)](Kt,zt)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,It)|0)+Math[O(1759)](di,zt)|0))<<13)|0),pi=(Wt=((Oe+Math.imul(di,It)|0)+(_e>>>13)|0)+(Fi>>>26)|0,Fi&=67108863,Le=Math[O(1759)](ze,pi),_e=Math.imul(ze,Vt)+Math[O(1759)](Je,pi)|0,Oe=Math[O(1759)](Je,Vt),Le=Le+Math.imul(Fe,ui)|0,_e=(_e+Math.imul(Fe,Ht)|0)+Math[O(1759)](Ue,ui)|0,Oe=Oe+Math.imul(Ue,Ht)|0,Le=Le+Math[O(1759)](Pe,bt)|0,_e=(_e+Math[O(1759)](Pe,Ot)|0)+Math[O(1759)](we,bt)|0,Oe=Oe+Math[O(1759)](we,Ot)|0,Le=Le+Math[O(1759)](ke,je)|0,_e=(_e+Math[O(1759)](ke,Ze)|0)+Math[O(1759)](Ne,je)|0,Oe=Oe+Math[O(1759)](Ne,Ze)|0,Le=Le+Math[O(1759)](Me,rt)|0,_e=(_e+Math[O(1759)](Me,At)|0)+Math[O(1759)](He,rt)|0,Oe=Oe+Math.imul(He,At)|0,Le=Le+Math[O(1759)](ye,yt)|0,_e=(_e+Math[O(1759)](ye,at)|0)+Math[O(1759)](Be,yt)|0,Oe=Oe+Math[O(1759)](Be,at)|0,Le=Le+Math[O(1759)](me,ft)|0,_e=(_e+Math[O(1759)](me,_t)|0)+Math[O(1759)](Ce,ft)|0,Oe=Oe+Math[O(1759)](Ce,_t)|0,Le=Le+Math[O(1759)](se,et)|0,_e=(_e+Math[O(1759)](se,pt)|0)+Math[O(1759)](ce,et)|0,Oe=Oe+Math[O(1759)](ce,pt)|0,Le=Le+Math[O(1759)](Ei,zt)|0,_e=(_e+Math[O(1759)](Ei,It)|0)+Math[O(1759)](gt,zt)|0,Oe=Oe+Math.imul(gt,It)|0,(Wt+(Le+Math[O(1759)](Kt,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,St)|0)+Math.imul(di,Pt)|0))<<13)|0),Vt=(Wt=((Oe+Math.imul(di,St)|0)+(_e>>>13)|0)+(pi>>>26)|0,pi&=67108863,Le=Math[O(1759)](ze,ui),_e=Math[O(1759)](ze,Ht)+Math[O(1759)](Je,ui)|0,Oe=Math[O(1759)](Je,Ht),Le=Le+Math[O(1759)](Fe,bt)|0,_e=(_e+Math[O(1759)](Fe,Ot)|0)+Math[O(1759)](Ue,bt)|0,Oe=Oe+Math.imul(Ue,Ot)|0,Le=Le+Math[O(1759)](Pe,je)|0,_e=(_e+Math[O(1759)](Pe,Ze)|0)+Math[O(1759)](we,je)|0,Oe=Oe+Math.imul(we,Ze)|0,Le=Le+Math[O(1759)](ke,rt)|0,_e=(_e+Math[O(1759)](ke,At)|0)+Math[O(1759)](Ne,rt)|0,Oe=Oe+Math[O(1759)](Ne,At)|0,Le=Le+Math[O(1759)](Me,yt)|0,_e=(_e+Math.imul(Me,at)|0)+Math[O(1759)](He,yt)|0,Oe=Oe+Math[O(1759)](He,at)|0,Le=Le+Math.imul(ye,ft)|0,_e=(_e+Math[O(1759)](ye,_t)|0)+Math[O(1759)](Be,ft)|0,Oe=Oe+Math[O(1759)](Be,_t)|0,Le=Le+Math[O(1759)](me,et)|0,_e=(_e+Math.imul(me,pt)|0)+Math[O(1759)](Ce,et)|0,Oe=Oe+Math.imul(Ce,pt)|0,Le=Le+Math[O(1759)](se,zt)|0,_e=(_e+Math.imul(se,It)|0)+Math.imul(ce,zt)|0,Oe=Oe+Math[O(1759)](ce,It)|0,(Wt+(Le+Math.imul(Ei,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Ei,St)|0)+Math[O(1759)](gt,Pt)|0))<<13)|0),Kt=(Wt=((Oe+Math[O(1759)](gt,St)|0)+(_e>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,Le=Math.imul(ze,bt),_e=Math.imul(ze,Ot)+Math[O(1759)](Je,bt)|0,Oe=Math[O(1759)](Je,Ot),Le=Le+Math[O(1759)](Fe,je)|0,_e=(_e+Math[O(1759)](Fe,Ze)|0)+Math[O(1759)](Ue,je)|0,Oe=Oe+Math[O(1759)](Ue,Ze)|0,Le=Le+Math.imul(Pe,rt)|0,_e=(_e+Math.imul(Pe,At)|0)+Math[O(1759)](we,rt)|0,Oe=Oe+Math[O(1759)](we,At)|0,Le=Le+Math[O(1759)](ke,yt)|0,_e=(_e+Math[O(1759)](ke,at)|0)+Math[O(1759)](Ne,yt)|0,Oe=Oe+Math.imul(Ne,at)|0,Le=Le+Math[O(1759)](Me,ft)|0,_e=(_e+Math[O(1759)](Me,_t)|0)+Math[O(1759)](He,ft)|0,Oe=Oe+Math[O(1759)](He,_t)|0,Le=Le+Math.imul(ye,et)|0,_e=(_e+Math[O(1759)](ye,pt)|0)+Math[O(1759)](Be,et)|0,Oe=Oe+Math.imul(Be,pt)|0,Le=Le+Math[O(1759)](me,zt)|0,_e=(_e+Math[O(1759)](me,It)|0)+Math.imul(Ce,zt)|0,Oe=Oe+Math[O(1759)](Ce,It)|0,(Wt+(Le+Math[O(1759)](se,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](se,St)|0)+Math[O(1759)](ce,Pt)|0))<<13)|0),di=(Wt=((Oe+Math[O(1759)](ce,St)|0)+(_e>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,Le=Math[O(1759)](ze,je),_e=Math.imul(ze,Ze)+Math[O(1759)](Je,je)|0,Oe=Math[O(1759)](Je,Ze),Le=Le+Math[O(1759)](Fe,rt)|0,_e=(_e+Math[O(1759)](Fe,At)|0)+Math[O(1759)](Ue,rt)|0,Oe=Oe+Math[O(1759)](Ue,At)|0,Le=Le+Math[O(1759)](Pe,yt)|0,_e=(_e+Math[O(1759)](Pe,at)|0)+Math[O(1759)](we,yt)|0,Oe=Oe+Math[O(1759)](we,at)|0,Le=Le+Math[O(1759)](ke,ft)|0,_e=(_e+Math.imul(ke,_t)|0)+Math[O(1759)](Ne,ft)|0,Oe=Oe+Math[O(1759)](Ne,_t)|0,Le=Le+Math[O(1759)](Me,et)|0,_e=(_e+Math[O(1759)](Me,pt)|0)+Math[O(1759)](He,et)|0,Oe=Oe+Math[O(1759)](He,pt)|0,Le=Le+Math.imul(ye,zt)|0,_e=(_e+Math[O(1759)](ye,It)|0)+Math.imul(Be,zt)|0,Oe=Oe+Math.imul(Be,It)|0,(Wt+(Le+Math[O(1759)](me,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(me,St)|0)+Math[O(1759)](Ce,Pt)|0))<<13)|0),ui=(Wt=((Oe+Math[O(1759)](Ce,St)|0)+(_e>>>13)|0)+(di>>>26)|0,di&=67108863,Le=Math[O(1759)](ze,rt),_e=Math.imul(ze,At)+Math[O(1759)](Je,rt)|0,Oe=Math[O(1759)](Je,At),Le=Le+Math[O(1759)](Fe,yt)|0,_e=(_e+Math[O(1759)](Fe,at)|0)+Math[O(1759)](Ue,yt)|0,Oe=Oe+Math[O(1759)](Ue,at)|0,Le=Le+Math.imul(Pe,ft)|0,_e=(_e+Math[O(1759)](Pe,_t)|0)+Math[O(1759)](we,ft)|0,Oe=Oe+Math[O(1759)](we,_t)|0,Le=Le+Math[O(1759)](ke,et)|0,_e=(_e+Math[O(1759)](ke,pt)|0)+Math.imul(Ne,et)|0,Oe=Oe+Math[O(1759)](Ne,pt)|0,Le=Le+Math[O(1759)](Me,zt)|0,_e=(_e+Math[O(1759)](Me,It)|0)+Math.imul(He,zt)|0,Oe=Oe+Math[O(1759)](He,It)|0,(Wt+(Le+Math[O(1759)](ye,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(ye,St)|0)+Math.imul(Be,Pt)|0))<<13)|0),Ht=(Wt=((Oe+Math.imul(Be,St)|0)+(_e>>>13)|0)+(ui>>>26)|0,ui&=67108863,Le=Math[O(1759)](ze,yt),_e=Math[O(1759)](ze,at)+Math[O(1759)](Je,yt)|0,Oe=Math.imul(Je,at),Le=Le+Math[O(1759)](Fe,ft)|0,_e=(_e+Math[O(1759)](Fe,_t)|0)+Math[O(1759)](Ue,ft)|0,Oe=Oe+Math[O(1759)](Ue,_t)|0,Le=Le+Math[O(1759)](Pe,et)|0,_e=(_e+Math.imul(Pe,pt)|0)+Math[O(1759)](we,et)|0,Oe=Oe+Math[O(1759)](we,pt)|0,Le=Le+Math[O(1759)](ke,zt)|0,_e=(_e+Math.imul(ke,It)|0)+Math[O(1759)](Ne,zt)|0,Oe=Oe+Math.imul(Ne,It)|0,(Wt+(Le+Math[O(1759)](Me,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(Me,St)|0)+Math[O(1759)](He,Pt)|0))<<13)|0),Ei=(Wt=((Oe+Math[O(1759)](He,St)|0)+(_e>>>13)|0)+(Ht>>>26)|0,Ht&=67108863,Le=Math[O(1759)](ze,ft),_e=Math[O(1759)](ze,_t)+Math[O(1759)](Je,ft)|0,Oe=Math[O(1759)](Je,_t),Le=Le+Math.imul(Fe,et)|0,_e=(_e+Math[O(1759)](Fe,pt)|0)+Math[O(1759)](Ue,et)|0,Oe=Oe+Math[O(1759)](Ue,pt)|0,Le=Le+Math[O(1759)](Pe,zt)|0,_e=(_e+Math[O(1759)](Pe,It)|0)+Math.imul(we,zt)|0,Oe=Oe+Math[O(1759)](we,It)|0,(Wt+(Le+Math[O(1759)](ke,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](ke,St)|0)+Math[O(1759)](Ne,Pt)|0))<<13)|0),gt=(Wt=((Oe+Math[O(1759)](Ne,St)|0)+(_e>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,Le=Math[O(1759)](ze,et),_e=Math[O(1759)](ze,pt)+Math.imul(Je,et)|0,Oe=Math[O(1759)](Je,pt),Le=Le+Math.imul(Fe,zt)|0,_e=(_e+Math[O(1759)](Fe,It)|0)+Math[O(1759)](Ue,zt)|0,Oe=Oe+Math.imul(Ue,It)|0,(Wt+(Le+Math[O(1759)](Pe,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(Pe,St)|0)+Math[O(1759)](we,Pt)|0))<<13)|0),bt=(Wt=((Oe+Math[O(1759)](we,St)|0)+(_e>>>13)|0)+(gt>>>26)|0,gt&=67108863,Le=Math[O(1759)](ze,zt),_e=Math.imul(ze,It)+Math[O(1759)](Je,zt)|0,Oe=Math[O(1759)](Je,It),(Wt+(Le+Math[O(1759)](Fe,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Fe,St)|0)+Math[O(1759)](Ue,Pt)|0))<<13)|0),Ot=(Wt=((Oe+Math[O(1759)](Ue,St)|0)+(_e>>>13)|0)+(bt>>>26)|0,bt&=67108863,(Wt+Math[O(1759)](ze,Pt)|0)+((8191&(_e=Math[O(1759)](ze,St)+Math[O(1759)](Je,Pt)|0))<<13)|0),Wt=(Math[O(1759)](Je,St)+(_e>>>13)|0)+(Ot>>>26)|0;return Ot&=67108863,re[0]=dt,re[1]=vt,re[2]=wt,re[3]=Bt,re[4]=bi,re[5]=nr,re[6]=Ai,re[7]=xi,re[8]=Fi,re[9]=pi,re[10]=Vt,re[11]=Kt,re[12]=di,re[13]=ui,re[14]=Ht,re[15]=Ei,re[16]=gt,re[17]=bt,re[18]=Ot,Wt!=0&&(re[19]=Wt,W[O(2405)]++),W};function ee(G,Y,W){var O=S;return new ie()[O(950)](G,Y,W)}function ie(G,Y){this.x=G,this.y=Y}Math[S(1759)]||(j=X),T.prototype[S(2374)]=function(G,Y){var W=S,O=this[W(2405)]+G[W(2405)];return(this[W(2405)]===10&&G.length===10?j:O<63?X:O<1024?function(re,se,ce){var me=W;ce[me(1746)]=se.negative^re[me(1746)],ce[me(2405)]=re.length+se[me(2405)];for(var Ce=0,ye=0,Be=0;Be<ce[me(2405)]-1;Be++){for(var Me=ye,ye=0,He=67108863&Ce,ke=Math[me(1817)](Be,se.length-1),Ne=Math[me(1093)](0,Be-re.length+1);Ne<=ke;Ne++){var Pe,we=(0|re[me(1157)][Be-Ne])*(0|se[me(1157)][Ne]),He=67108863&(Pe=(67108863&we)+He|0);ye+=(Me=(Me=Me+(we/67108864|0)|0)+(Pe>>>26)|0)>>>26,Me&=67108863}ce.words[Be]=He,Ce=Me,Me=ye}return Ce!==0?ce[me(1157)][Be]=Ce:ce.length--,ce.strip()}:ee)(this,G,Y)},ie.prototype.makeRBT=function(G){for(var Y=S,W=new Array(G),O=T[Y(2086)][Y(1701)](G)-1,re=0;re<G;re++)W[re]=this[Y(762)](re,O,G);return W},ie[S(2086)][S(762)]=function(G,Y,W){if(G===0||G===W-1)return G;for(var O=0,re=0;re<Y;re++)O|=(1&G)<<Y-re-1,G>>=1;return O},ie.prototype[S(2706)]=function(G,Y,W,O,re,se){for(var ce=0;ce<se;ce++)O[ce]=Y[G[ce]],re[ce]=W[G[ce]]},ie[S(2086)][S(1334)]=function(G,Y,W,O,re,se){var ce=S;this[ce(2706)](se,G,Y,W,O,re);for(var me=1;me<re;me<<=1)for(var Ce=me<<1,ye=Math.cos(2*Math.PI/Ce),Be=Math[ce(1574)](2*Math.PI/Ce),Me=0;Me<re;Me+=Ce)for(var He=ye,ke=Be,Ne=0;Ne<me;Ne++){var Pe=W[Me+Ne],we=O[Me+Ne],Fe=W[Me+Ne+me],Ue=He*Fe-ke*(ze=O[Me+Ne+me]),ze=He*ze+ke*Fe;W[Me+Ne]=Pe+(Fe=Ue),O[Me+Ne]=we+ze,W[Me+Ne+me]=Pe-Fe,O[Me+Ne+me]=we-ze,Ne!==Ce&&(Ue=ye*He-Be*ke,ke=ye*ke+Be*He,He=Ue)}},ie[S(2086)][S(2723)]=function(G,Y){for(var W=S,Y=1&(re=1|Math[W(1093)](Y,G)),O=0,re=re/2|0;re;re>>>=1)O++;return 1<<O+1+Y},ie[S(2086)][S(2120)]=function(G,Y,W){if(!(W<=1))for(var O=0;O<W/2;O++){var re=G[O];G[O]=G[W-O-1],G[W-O-1]=re,re=Y[O],Y[O]=-Y[W-O-1],Y[W-O-1]=-re}},ie[S(2086)].normalize13b=function(G,Y){for(var W=S,O=0,re=0;re<Y/2;re++){var se=8192*Math[W(1162)](G[2*re+1]/Y)+Math[W(1162)](G[2*re]/Y)+O;G[re]=67108863&se,O=se<67108864?0:se/67108864|0}return G},ie[S(2086)][S(2710)]=function(G,Y,W,O){for(var re=0,se=0;se<Y;se++)re+=0|G[se],W[2*se]=8191&re,W[2*se+1]=8191&(re>>>=13),re>>>=13;for(se=2*Y;se<O;++se)W[se]=0;P(re===0),P((-8192&re)==0)},ie.prototype[S(1405)]=function(G){for(var Y=new Array(G),W=0;W<G;W++)Y[W]=0;return Y},ie[S(2086)][S(950)]=function(G,Y,W){var O=S,re=2*this[O(2723)](G.length,Y[O(2405)]),se=this[O(894)](re),ce=this[O(1405)](re),me=new Array(re),Ce=new Array(re),ye=new Array(re),Be=new Array(re),Me=new Array(re),He=new Array(re),ke=W[O(1157)];ke[O(2405)]=re,this[O(2710)](G[O(1157)],G[O(2405)],me,re),this[O(2710)](Y[O(1157)],Y[O(2405)],Be,re),this[O(1334)](me,ce,Ce,ye,re,se),this[O(1334)](Be,ce,Me,He,re,se);for(var Ne=0;Ne<re;Ne++){var Pe=Ce[Ne]*Me[Ne]-ye[Ne]*He[Ne];ye[Ne]=Ce[Ne]*He[Ne]+ye[Ne]*Me[Ne],Ce[Ne]=Pe}return this[O(2120)](Ce,ye,re),this[O(1334)](Ce,ye,ke,ce,re,se),this[O(2120)](ke,ce,re),this[O(407)](ke,re),W.negative=G.negative^Y[O(1746)],W[O(2405)]=G.length+Y[O(2405)],W[O(1282)]()},T.prototype[S(1304)]=function(G){var Y=S,W=new T(null);return W[Y(1157)]=new Array(this[Y(2405)]+G[Y(2405)]),this[Y(2374)](G,W)},T.prototype[S(1733)]=function(G){var Y=S,W=new T(null);return W[Y(1157)]=new Array(this[Y(2405)]+G.length),ee(this,G,W)},T[S(2086)][S(1759)]=function(G){var Y=S;return this[Y(914)]().mulTo(G,this)},T[S(2086)].imuln=function(G){var Y=S;P(Y(647)==typeof G),P(G<67108864);for(var W=0,O=0;O<this[Y(2405)];O++){var re=(0|this[Y(1157)][O])*G,se=(67108863&re)+(67108863&W),W=(W>>=26)+(re/67108864|0)+(se>>>26);this.words[O]=67108863&se}return W!==0&&(this[Y(1157)][O]=W,this.length++),this},T[S(2086)][S(779)]=function(G){var Y=S;return this[Y(914)]()[Y(2548)](G)},T[S(2086)][S(2524)]=function(){var G=S;return this[G(1304)](this)},T[S(2086)][S(2496)]=function(){var G=S;return this[G(1759)](this[G(914)]())},T[S(2086)][S(1905)]=function(G){var Y=S,W=function(ce){for(var me=Tt,Ce=new Array(ce.bitLength()),ye=0;ye<Ce[me(2405)];ye++){var Be=ye%26;Ce[ye]=(ce[me(1157)][ye/26|0]&1<<Be)>>>Be}return Ce}(G);if(W[Y(2405)]===0)return new T(1);for(var O=this,re=0;re<W[Y(2405)]&&W[re]===0;re++,O=O[Y(2524)]());if(++re<W[Y(2405)])for(var se=O.sqr();re<W.length;re++,se=se[Y(2524)]())W[re]!==0&&(O=O[Y(1304)](se));return O},T[S(2086)][S(2622)]=function(G){var Y=S;P(typeof G=="number"&&0<=G);var W=G%26,O=(G-W)/26,re=67108863>>>26-W<<26-W;if(W!=0){for(var se=0,ce=0;ce<this[Y(2405)];ce++){var me=this[Y(1157)][ce]&re,Ce=(0|this[Y(1157)][ce])-me<<W;this[Y(1157)][ce]=Ce|se,se=me>>>26-W}se&&(this.words[ce]=se,this[Y(2405)]++)}if(O!=0){for(ce=this[Y(2405)]-1;0<=ce;ce--)this.words[ce+O]=this.words[ce];for(ce=0;ce<O;ce++)this[Y(1157)][ce]=0;this[Y(2405)]+=O}return this[Y(1282)]()},T[S(2086)].ishln=function(G){var Y=S;return P(this[Y(1746)]===0),this[Y(2622)](G)},T[S(2086)].iushrn=function(G,Y,W){var O=S;P(O(647)==typeof G&&0<=G);var re,re=Y?(Y-Y%26)/26:0,se=G%26,ce=Math[O(1817)]((G-se)/26,this.length),me=67108863^67108863>>>se<<se,Ce=W;if(re-=ce,re=Math[O(1093)](0,re),Ce){for(var ye=0;ye<ce;ye++)Ce.words[ye]=this[O(1157)][ye];Ce[O(2405)]=ce}if(ce!==0)if(this[O(2405)]>ce)for(this.length-=ce,ye=0;ye<this[O(2405)];ye++)this[O(1157)][ye]=this[O(1157)][ye+ce];else this[O(1157)][0]=0,this[O(2405)]=1;for(var Be=0,ye=this[O(2405)]-1;0<=ye&&(Be!==0||re<=ye);ye--){var Me=0|this.words[ye];this.words[ye]=Be<<26-se|Me>>>se,Be=Me&me}return Ce&&Be!==0&&(Ce[O(1157)][Ce[O(2405)]++]=Be),this[O(2405)]===0&&(this[O(1157)][0]=0,this[O(2405)]=1),this[O(1282)]()},T[S(2086)][S(739)]=function(G,Y,W){var O=S;return P(this[O(1746)]===0),this[O(586)](G,Y,W)},T.prototype.shln=function(G){return this.clone().ishln(G)},T.prototype[S(2181)]=function(G){var Y=S;return this.clone()[Y(2622)](G)},T.prototype[S(446)]=function(G){var Y=S;return this[Y(914)]()[Y(739)](G)},T.prototype[S(1635)]=function(G){var Y=S;return this[Y(914)]()[Y(586)](G)},T[S(2086)][S(360)]=function(O){var Y=S;P(Y(647)==typeof O&&0<=O);var W=O%26,O=(O-W)/26;return!(this[Y(2405)]<=O||!(this[Y(1157)][O]&1<<W))},T[S(2086)][S(2255)]=function(O){var Y=S;P(Y(647)==typeof O&&0<=O);var W=O%26,O=(O-W)/26;return P(this[Y(1746)]===0,"imaskn works only with positive numbers"),this[Y(2405)]<=O?this:(W!=0&&O++,this[Y(2405)]=Math[Y(1817)](O,this.length),W!=0&&(this[Y(1157)][this[Y(2405)]-1]&=67108863^67108863>>>W<<W),this[Y(1282)]())},T[S(2086)][S(1116)]=function(G){var Y=S;return this[Y(914)]()[Y(2255)](G)},T.prototype[S(2755)]=function(G){var Y=S;return P(Y(647)==typeof G),P(G<67108864),G<0?this[Y(283)](-G):this[Y(1746)]!==0?(this.length===1&&(0|this.words[0])<G?(this.words[0]=G-(0|this.words[0]),this[Y(1746)]=0):(this[Y(1746)]=0,this[Y(283)](G),this[Y(1746)]=1),this):this._iaddn(G)},T[S(2086)][S(2209)]=function(G){var Y=S;this[Y(1157)][0]+=G;for(var W=0;W<this[Y(2405)]&&67108864<=this[Y(1157)][W];W++)this[Y(1157)][W]-=67108864,W===this[Y(2405)]-1?this[Y(1157)][W+1]=1:this.words[W+1]++;return this[Y(2405)]=Math[Y(1093)](this[Y(2405)],W+1),this},T[S(2086)].isubn=function(G){var Y=S;if(P(Y(647)==typeof G),P(G<67108864),G<0)return this[Y(2755)](-G);if(this[Y(1746)]!==0)return this[Y(1746)]=0,this[Y(2755)](G),this[Y(1746)]=1,this;if(this[Y(1157)][0]-=G,this[Y(2405)]===1&&this.words[0]<0)this[Y(1157)][0]=-this[Y(1157)][0],this[Y(1746)]=1;else for(var W=0;W<this[Y(2405)]&&this[Y(1157)][W]<0;W++)this[Y(1157)][W]+=67108864,--this[Y(1157)][W+1];return this.strip()},T.prototype[S(1316)]=function(G){var Y=S;return this[Y(914)]().iaddn(G)},T[S(2086)][S(860)]=function(G){var Y=S;return this[Y(914)]()[Y(283)](G)},T[S(2086)][S(725)]=function(){return this.negative=0,this},T[S(2086)][S(2148)]=function(){return this.clone().iabs()},T[S(2086)][S(2768)]=function(G,Y,W){for(var O=S,re=G.length+W,se=(this[O(559)](re),0),ce=0;ce<G[O(2405)];ce++){var me=(0|this.words[ce+W])+se,Ce=(0|G[O(1157)][ce])*Y,se=((me-=67108863&Ce)>>26)-(Ce/67108864|0);this[O(1157)][ce+W]=67108863&me}for(;ce<this[O(2405)]-W;ce++)se=(me=(0|this[O(1157)][ce+W])+se)>>26,this.words[ce+W]=67108863&me;if(se===0)return this.strip();for(P(se===-1),ce=se=0;ce<this.length;ce++)se=(me=-(0|this.words[ce])+se)>>26,this[O(1157)][ce]=67108863&me;return this[O(1746)]=1,this.strip()},T[S(2086)][S(1037)]=function(G,Y){var W=S;this[W(2405)],G.length;var O,re=this[W(914)](),se=G,ce=0|se[W(1157)][se.length-1],me=((G=26-this[W(1701)](ce))!=0&&(se=se[W(2181)](G),re.iushln(G),ce=0|se[W(1157)][se[W(2405)]-1]),re[W(2405)]-se[W(2405)]);if(Y!=="mod"){(O=new T(null)).length=1+me,O[W(1157)]=new Array(O[W(2405)]);for(var Ce=0;Ce<O.length;Ce++)O[W(1157)][Ce]=0}var ye=re.clone()[W(2768)](se,1,me);ye[W(1746)]===0&&(re=ye,O&&(O[W(1157)][me]=1));for(var Be=me-1;0<=Be;Be--){var Me=67108864*(0|re.words[se[W(2405)]+Be])+(0|re.words[se[W(2405)]+Be-1]),Me=Math[W(1817)](Me/ce|0,67108863);for(re[W(2768)](se,Me,Be);re.negative!==0;)Me--,re[W(1746)]=0,re[W(2768)](se,1,Be),re[W(1072)]()||(re[W(1746)]^=1);O&&(O[W(1157)][Be]=Me)}return O&&O.strip(),re[W(1282)](),Y!=="div"&&G!=0&&re[W(586)](G),{div:O||null,mod:re}},T.prototype[S(1923)]=function(G,Y,W){var O=S;return P(!G[O(1072)]()),this[O(1072)]()?{div:new T(0),mod:new T(0)}:this.negative!==0&&G[O(1746)]===0?(ce=this[O(770)]()[O(1923)](G,Y),O(2451)!==Y&&(re=ce[O(2526)][O(770)]()),O(2526)!==Y&&(se=ce[O(2451)][O(770)](),W&&se[O(1746)]!==0&&se.iadd(G)),{div:re,mod:se}):this[O(1746)]===0&&G[O(1746)]!==0?(ce=this[O(1923)](G[O(770)](),Y),{div:re=O(2451)!==Y?ce[O(2526)][O(770)]():re,mod:ce[O(2451)]}):(this[O(1746)]&G.negative)!=0?(ce=this[O(770)]()[O(1923)](G[O(770)](),Y),O(2526)!==Y&&(se=ce[O(2451)][O(770)](),W&&se[O(1746)]!==0&&se[O(1155)](G)),{div:ce.div,mod:se}):G[O(2405)]>this[O(2405)]||this[O(637)](G)<0?{div:new T(0),mod:this}:G.length===1?O(2526)===Y?{div:this[O(2050)](G[O(1157)][0]),mod:null}:Y==="mod"?{div:null,mod:new T(this[O(1605)](G[O(1157)][0]))}:{div:this.divn(G[O(1157)][0]),mod:new T(this[O(1605)](G.words[0]))}:this._wordDiv(G,Y);var re,se,ce},T[S(2086)].div=function(G){var Y=S;return this.divmod(G,Y(2526),!1).div},T[S(2086)][S(2451)]=function(G){var Y=S;return this[Y(1923)](G,"mod",!1)[Y(2451)]},T[S(2086)].umod=function(G){var Y=S;return this[Y(1923)](G,"mod",!0)[Y(2451)]},T[S(2086)][S(2692)]=function(re){var Y=S,W=this[Y(1923)](re);if(W[Y(2451)][Y(1072)]())return W[Y(2526)];var se=W.div[Y(1746)]!==0?W[Y(2451)].isub(re):W.mod,O=re[Y(1635)](1),re=re.andln(1),se=se[Y(637)](O);return se<0||re===1&&se===0?W[Y(2526)]:W[Y(2526)].negative!==0?W[Y(2526)][Y(283)](1):W[Y(2526)][Y(2755)](1)},T[S(2086)][S(1605)]=function(G){var Y=S;P(G<=67108863);for(var W=(1<<26)%G,O=0,re=this.length-1;0<=re;re--)O=(W*O+(0|this[Y(1157)][re]))%G;return O},T.prototype[S(929)]=function(G){var Y=S;P(G<=67108863);for(var W=0,O=this[Y(2405)]-1;0<=O;O--){var re=(0|this[Y(1157)][O])+67108864*W;this[Y(1157)][O]=re/G|0,W=re%G}return this[Y(1282)]()},T[S(2086)][S(2050)]=function(G){var Y=S;return this[Y(914)]()[Y(929)](G)},T[S(2086)][S(1005)]=function(G){var Y=S;P(G.negative===0),P(!G[Y(1072)]());for(var O=this,W=G.clone(),O=O.negative!==0?O.umod(G):O[Y(914)](),re=new T(1),se=new T(0),ce=new T(0),me=new T(1),Ce=0;O[Y(2105)]()&&W[Y(2105)]();)O[Y(586)](1),W[Y(586)](1),++Ce;for(var ye=W.clone(),Be=O[Y(914)]();!O[Y(1072)]();){for(var Me=0,He=1;(O[Y(1157)][0]&He)==0&&Me<26;++Me,He<<=1);if(0<Me)for(O[Y(586)](Me);0<Me--;)(re[Y(2771)]()||se[Y(2771)]())&&(re[Y(2553)](ye),se[Y(1155)](Be)),re[Y(586)](1),se[Y(586)](1);for(var ke=0,Ne=1;(W[Y(1157)][0]&Ne)==0&&ke<26;++ke,Ne<<=1);if(0<ke)for(W.iushrn(ke);0<ke--;)(ce[Y(2771)]()||me.isOdd())&&(ce[Y(2553)](ye),me[Y(1155)](Be)),ce[Y(586)](1),me.iushrn(1);0<=O.cmp(W)?(O[Y(1155)](W),re[Y(1155)](ce),se[Y(1155)](me)):(W[Y(1155)](O),ce[Y(1155)](re),me[Y(1155)](se))}return{a:ce,b:me,gcd:W[Y(2622)](Ce)}},T[S(2086)][S(2763)]=function(G){var Y=S;P(G.negative===0),P(!G.isZero());for(var W,re=this,O=G[Y(914)](),re=re[Y(1746)]!==0?re[Y(1792)](G):re[Y(914)](),se=new T(1),ce=new T(0),me=O[Y(914)]();0<re[Y(1915)](1)&&0<O[Y(1915)](1);){for(var Ce=0,ye=1;(re.words[0]&ye)==0&&Ce<26;++Ce,ye<<=1);if(0<Ce)for(re[Y(586)](Ce);0<Ce--;)se.isOdd()&&se[Y(2553)](me),se[Y(586)](1);for(var Be=0,Me=1;(O.words[0]&Me)==0&&Be<26;++Be,Me<<=1);if(0<Be)for(O[Y(586)](Be);0<Be--;)ce[Y(2771)]()&&ce[Y(2553)](me),ce[Y(586)](1);0<=re[Y(637)](O)?(re[Y(1155)](O),se.isub(ce)):(O[Y(1155)](re),ce[Y(1155)](se))}return(W=re.cmpn(1)===0?se:ce)[Y(1915)](0)<0&&W[Y(2553)](G),W},T[S(2086)][S(2334)]=function(G){var Y=S;if(this[Y(1072)]())return G[Y(2148)]();if(G.isZero())return this.abs();var W=this[Y(914)](),O=G[Y(914)]();W[Y(1746)]=0;for(var re=O[Y(1746)]=0;W[Y(2105)]()&&O[Y(2105)]();re++)W[Y(586)](1),O[Y(586)](1);for(;;){for(;W[Y(2105)]();)W[Y(586)](1);for(;O.isEven();)O[Y(586)](1);var se=W[Y(637)](O);if(se<0)var ce=W,W=O,O=ce;else if(se===0||O[Y(1915)](1)===0)break;W[Y(1155)](O)}return O.iushln(re)},T.prototype[S(680)]=function(G){var Y=S;return this[Y(1005)](G).a[Y(1792)](G)},T.prototype.isEven=function(){var G=S;return(1&this[G(1157)][0])==0},T.prototype[S(2771)]=function(){return(1&this.words[0])==1},T[S(2086)][S(1452)]=function(G){return this.words[0]&G},T[S(2086)][S(314)]=function(W){var Y=S;P(Y(647)==typeof W);var O=W%26,W=(W-O)/26,O=1<<O;if(this[Y(2405)]<=W)return this[Y(559)](1+W),this[Y(1157)][W]|=O,this;for(var re=O,se=W;re!==0&&se<this[Y(2405)];se++){var ce=0|this.words[se],re=(ce+=re)>>>26;ce&=67108863,this.words[se]=ce}return re!==0&&(this[Y(1157)][se]=re,this[Y(2405)]++),this},T[S(2086)][S(1072)]=function(){var G=S;return this[G(2405)]===1&&this[G(1157)][0]===0},T.prototype.cmpn=function(G){var Y=S,W=G<0;return this.negative===0||W?this[Y(1746)]===0&&W?1:(this.strip(),W=1<this[Y(2405)]?1:(P((G=W?-G:G)<=67108863,Y(2514)),(W=0|this[Y(1157)][0])===G?0:W<G?-1:1),this[Y(1746)]!==0?0|-W:W):-1},T.prototype[S(637)]=function(G){var Y=S;return this[Y(1746)]!==0&&G.negative===0?-1:this[Y(1746)]===0&&G[Y(1746)]!==0?1:(G=this.ucmp(G),this[Y(1746)]!==0?0|-G:G)},T[S(2086)].ucmp=function(G){var Y=S;if(this[Y(2405)]>G[Y(2405)])return 1;if(this[Y(2405)]<G[Y(2405)])return-1;for(var W=0,O=this.length-1;0<=O;O--){var re=0|this[Y(1157)][O],se=0|G[Y(1157)][O];if(re!=se){re<se?W=-1:se<re&&(W=1);break}}return W},T.prototype[S(912)]=function(G){var Y=S;return this[Y(1915)](G)===1},T[S(2086)].gt=function(G){var Y=S;return this[Y(637)](G)===1},T[S(2086)][S(1488)]=function(G){var Y=S;return 0<=this[Y(1915)](G)},T[S(2086)][S(1897)]=function(G){var Y=S;return 0<=this[Y(637)](G)},T[S(2086)][S(1974)]=function(G){return this.cmpn(G)===-1},T[S(2086)].lt=function(G){return this.cmp(G)===-1},T[S(2086)][S(2131)]=function(G){var Y=S;return this[Y(1915)](G)<=0},T.prototype[S(1284)]=function(G){var Y=S;return this[Y(637)](G)<=0},T[S(2086)].eqn=function(G){var Y=S;return this[Y(1915)](G)===0},T.prototype.eq=function(G){var Y=S;return this[Y(637)](G)===0},T[S(1230)]=function(G){return new de(G)},T[S(2086)][S(1705)]=function(G){var Y=S;return P(!this.red,"Already a number in reduction context"),P(this[Y(1746)]===0,Y(2486)),G.convertTo(this)[Y(2616)](G)},T[S(2086)][S(240)]=function(){var G=S;return P(this[G(1230)],G(1041)),this[G(1230)][G(2335)](this)},T[S(2086)][S(2616)]=function(G){var Y=S;return this[Y(1230)]=G,this},T[S(2086)][S(934)]=function(G){var Y=S;return P(!this.red,Y(635)),this[Y(2616)](G)},T[S(2086)].redAdd=function(G){var Y=S;return P(this.red,"redAdd works only with red numbers"),this.red[Y(1002)](this,G)},T[S(2086)][S(2236)]=function(G){var Y=S;return P(this[Y(1230)],"redIAdd works only with red numbers"),this[Y(1230)][Y(2553)](this,G)},T[S(2086)][S(478)]=function(G){var Y=S;return P(this[Y(1230)],Y(1557)),this[Y(1230)].sub(this,G)},T[S(2086)].redISub=function(G){var Y=S;return P(this.red,Y(1485)),this[Y(1230)][Y(1155)](this,G)},T[S(2086)][S(2442)]=function(G){var Y=S;return P(this[Y(1230)],"redShl works only with red numbers"),this[Y(1230)].shl(this,G)},T[S(2086)][S(2111)]=function(G){var Y=S;return P(this[Y(1230)],Y(1524)),this[Y(1230)][Y(1459)](this,G),this.red[Y(1304)](this,G)},T.prototype[S(2590)]=function(G){var Y=S;return P(this.red,Y(1524)),this[Y(1230)][Y(1459)](this,G),this[Y(1230)][Y(1759)](this,G)},T[S(2086)].redSqr=function(){var G=S;return P(this[G(1230)],"redSqr works only with red numbers"),this.red._verify1(this),this[G(1230)][G(2524)](this)},T[S(2086)][S(1776)]=function(){var G=S;return P(this.red,G(2300)),this[G(1230)]._verify1(this),this[G(1230)][G(2496)](this)},T[S(2086)][S(984)]=function(){var G=S;return P(this[G(1230)],G(921)),this[G(1230)][G(1171)](this),this.red[G(2657)](this)},T[S(2086)][S(1806)]=function(){var G=S;return P(this[G(1230)],G(863)),this.red[G(1171)](this),this[G(1230)][G(680)](this)},T[S(2086)][S(2447)]=function(){var G=S;return P(this[G(1230)],G(1741)),this[G(1230)]._verify1(this),this[G(1230)].neg(this)},T[S(2086)][S(2641)]=function(G){var Y=S;return P(this[Y(1230)]&&!G.red,Y(2809)),this[Y(1230)][Y(1171)](this),this[Y(1230)].pow(this,G)};var z={k256:null,p224:null,p192:null,p25519:null};function oe(G,Y){var W=S;this[W(276)]=G,this.p=new T(Y,16),this.n=this.p[W(1787)](),this.k=new T(1)[W(2622)](this.n)[W(1155)](this.p),this[W(1242)]=this._tmp()}function le(){var G=S;oe.call(this,G(522),G(783))}function Ae(){var G=S;oe[G(2811)](this,G(2651),"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function he(){var G=S;oe[G(2811)](this,G(1143),G(1127))}function ge(){oe.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function de(G){var Y=S,W;Y(1090)==typeof G?(W=T[Y(1739)](G),this.m=W.p,this[Y(1408)]=W):(P(G[Y(912)](1),"modulus must be greater than 1"),this.m=G,this[Y(1408)]=null)}function fe(G){var Y=S;de.call(this,G),this[Y(2626)]=this.m.bitLength(),this.shift%26!=0&&(this[Y(2626)]+=26-this.shift%26),this.r=new T(1)[Y(2622)](this[Y(2626)]),this.r2=this[Y(1641)](this.r[Y(2524)]()),this[Y(631)]=this.r[Y(2763)](this.m),this[Y(1277)]=this[Y(631)].mul(this.r)[Y(283)](1).div(this.m),this.minv=this[Y(1277)].umod(this.r),this[Y(1277)]=this.r[Y(713)](this.minv)}oe[S(2086)][S(2201)]=function(){var G=S,Y=new T(null);return Y[G(1157)]=new Array(Math[G(235)](this.n/13)),Y},oe[S(2086)][S(2367)]=function(G){for(var Y=S,W,O=G;this.split(O,this[Y(1242)]),(W=(O=(O=this[Y(1365)](O))[Y(2553)](this[Y(1242)]))[Y(1787)]())>this.n;);return G=W<this.n?-1:O.ucmp(this.p),G===0?(O.words[0]=0,O[Y(2405)]=1):0<G?O[Y(1155)](this.p):O[Y(1282)]!==void 0?O[Y(1282)]():O[Y(1910)](),O},oe.prototype[S(2523)]=function(G,Y){var W=S;G[W(586)](this.n,0,Y)},oe.prototype.imulK=function(G){var Y=S;return G[Y(1759)](this.k)},R(le,oe),le.prototype[S(2523)]=function(G,Y){for(var W=S,O=Math[W(1817)](G[W(2405)],9),re=0;re<O;re++)Y.words[re]=G[W(1157)][re];if(Y[W(2405)]=O,G[W(2405)]<=9)return G[W(1157)][0]=0,void(G[W(2405)]=1);var se=G[W(1157)][9];for(Y[W(1157)][Y[W(2405)]++]=4194303&se,re=10;re<G[W(2405)];re++){var ce=0|G.words[re];G[W(1157)][re-10]=(4194303&ce)<<4|se>>>22,se=ce}(G[W(1157)][re-10]=se>>>=22)==0&&10<G[W(2405)]?G[W(2405)]-=10:G[W(2405)]-=9},le[S(2086)][S(1365)]=function(G){var Y=S;G.words[G.length]=0,G[Y(1157)][G[Y(2405)]+1]=0,G[Y(2405)]+=2;for(var W=0,O=0;O<G[Y(2405)];O++){var re=0|G.words[O];W+=977*re,G[Y(1157)][O]=67108863&W,W=64*re+(W/67108864|0)}return G[Y(1157)][G[Y(2405)]-1]===0&&(G[Y(2405)]--,G[Y(1157)][G[Y(2405)]-1]===0&&G[Y(2405)]--),G},R(Ae,oe),R(he,oe),R(ge,oe),ge[S(2086)][S(1365)]=function(G){for(var Y=S,W=0,O=0;O<G[Y(2405)];O++){var re=19*(0|G[Y(1157)][O])+W,se=67108863&re;re>>>=26,G[Y(1157)][O]=se,W=re}return W!==0&&(G[Y(1157)][G[Y(2405)]++]=W),G},T[S(1739)]=function(G){var Y=S;if(z[G])return z[G];var W;if(G==="k256")W=new le;else if(G==="p224")W=new Ae;else if(Y(1143)===G)W=new he;else{if(Y(2698)!==G)throw new Error(Y(1495)+G);W=new ge}return z[G]=W},de.prototype[S(1171)]=function(G){var Y=S;P(G[Y(1746)]===0,"red works only with positives"),P(G[Y(1230)],Y(1553))},de[S(2086)][S(1459)]=function(G,Y){var W=S;P((G[W(1746)]|Y[W(1746)])==0,W(2486)),P(G[W(1230)]&&G[W(1230)]===Y.red,W(1553))},de[S(2086)][S(1641)]=function(G){var Y=S;return(this[Y(1408)]?this[Y(1408)][Y(2367)](G):G.umod(this.m))[Y(2616)](this)},de.prototype[S(770)]=function(G){var Y=S;return G.isZero()?G[Y(914)]():this.m.sub(G)[Y(2616)](this)},de[S(2086)][S(1002)]=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(1002)](Y),0<=G[W(637)](this.m)&&G[W(1155)](this.m),G[W(2616)](this)},de.prototype[S(2553)]=function(G,Y){var W=S;return this._verify2(G,Y),G=G[W(2553)](Y),0<=G[W(637)](this.m)&&G[W(1155)](this.m),G},de[S(2086)][S(713)]=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(713)](Y),G[W(1915)](0)<0&&G[W(2553)](this.m),G[W(2616)](this)},de.prototype[S(1155)]=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(1155)](Y),G[W(1915)](0)<0&&G[W(2553)](this.m),G},de.prototype[S(284)]=function(G,Y){var W=S;return this[W(1171)](G),this[W(1641)](G[W(2181)](Y))},de[S(2086)].imul=function(G,Y){var W=S;return this[W(1459)](G,Y),this.imod(G.imul(Y))},de.prototype[S(1304)]=function(G,Y){var W=S;return this[W(1459)](G,Y),this[W(1641)](G[W(1304)](Y))},de[S(2086)][S(2496)]=function(G){var Y=S;return this[Y(1759)](G,G[Y(914)]())},de.prototype[S(2524)]=function(G){var Y=S;return this[Y(1304)](G,G)},de[S(2086)][S(2657)]=function(G){var Y=S;if(G[Y(1072)]())return G[Y(914)]();var W=this.m.andln(3);if(P(W%2==1),W===3)return W=this.m[Y(1002)](new T(1)).iushrn(2),this[Y(1905)](G,W);for(var O=this.m[Y(860)](1),re=0;!O[Y(1072)]()&&O[Y(1452)](1)===0;)re++,O[Y(586)](1);P(!O[Y(1072)]());for(var se=new T(1).toRed(this),ce=se.redNeg(),me=this.m[Y(860)](1).iushrn(1),Ce=new T(2*(Ce=this.m[Y(1787)]())*Ce).toRed(this);this[Y(1905)](Ce,me)[Y(637)](ce)!==0;)Ce.redIAdd(ce);for(var ye=this[Y(1905)](Ce,O),Be=this[Y(1905)](G,O.addn(1)[Y(586)](1)),Me=this[Y(1905)](G,O),He=re;Me[Y(637)](se)!==0;){for(var ke=Me,Ne=0;ke[Y(637)](se)!==0;Ne++)ke=ke.redSqr();P(Ne<He);var Pe=this.pow(ye,new T(1)[Y(2622)](He-Ne-1)),Be=Be[Y(2111)](Pe),ye=Pe[Y(2082)](),Me=Me[Y(2111)](ye),He=Ne}return Be},de[S(2086)][S(680)]=function(G){var Y=S;return G=G._invmp(this.m),G.negative!==0?(G[Y(1746)]=0,this[Y(1641)](G)[Y(2447)]()):this[Y(1641)](G)},de[S(2086)][S(1905)]=function(G,Y){var W=S;if(Y[W(1072)]())return new T(1)[W(1705)](this);if(Y[W(1915)](1)===0)return G[W(914)]();var O=new Array(16);O[0]=new T(1)[W(1705)](this),O[1]=G;for(var re=2;re<O[W(2405)];re++)O[re]=this[W(1304)](O[re-1],G);var se=O[0],ce=0,me=0,Ce=Y.bitLength()%26;for(Ce===0&&(Ce=26),re=Y[W(2405)]-1;0<=re;re--){for(var ye=Y[W(1157)][re],Be=Ce-1;0<=Be;Be--){var Me=ye>>Be&1;se!==O[0]&&(se=this.sqr(se)),Me==0&&ce===0?me=0:(ce=ce<<1|Me,(++me==4||re===0&&Be===0)&&(se=this[W(1304)](se,O[ce]),ce=me=0))}Ce=26}return se},de.prototype[S(178)]=function(G){var Y=G.umod(this.m);return Y===G?Y.clone():Y},de[S(2086)][S(2335)]=function(G){var Y=S;return G=G[Y(914)](),G[Y(1230)]=null,G},T[S(649)]=function(G){return new fe(G)},R(fe,de),fe[S(2086)].convertTo=function(G){var Y=S;return this[Y(1641)](G[Y(2181)](this[Y(2626)]))},fe[S(2086)][S(2335)]=function(G){var Y=S;return G=this[Y(1641)](G[Y(1304)](this[Y(631)])),G[Y(1230)]=null,G},fe.prototype[S(1759)]=function(G,Y){var W=S;return G[W(1072)]()||Y[W(1072)]()?(G[W(1157)][0]=0,G[W(2405)]=1,G):(G=G.imul(Y),Y=G.maskn(this[W(2626)])[W(1304)](this[W(1277)]).imaskn(this[W(2626)])[W(1304)](this.m),G=G[W(1155)](Y).iushrn(this[W(2626)]),Y=G,0<=G[W(637)](this.m)?Y=G[W(1155)](this.m):G[W(1915)](0)<0&&(Y=G[W(2553)](this.m)),Y._forceRed(this))},fe.prototype[S(1304)]=function(G,Y){var W=S;return G[W(1072)]()||Y[W(1072)]()?new T(0)[W(2616)](this):(G=G[W(1304)](Y),Y=G[W(1116)](this.shift)[W(1304)](this.minv)[W(2255)](this[W(2626)])[W(1304)](this.m),G=G[W(1155)](Y)[W(586)](this[W(2626)]),Y=G,0<=G[W(637)](this.m)?Y=G[W(1155)](this.m):G[W(1915)](0)<0&&(Y=G.iadd(this.m)),Y[W(2616)](this))},fe.prototype.invm=function(G){var Y=S;return this[Y(1641)](G[Y(2763)](this.m)[Y(1304)](this.r2))._forceRed(this)}})((w=M[B(467)](w),this))},86266:(w,Q,M)=>{var B=Tt;Q[B(1089)]=M(18597).i8,Q[B(1458)]=M(80953),Q[B(1021)]=M(29931),Q[B(1364)]=M(88254),Q.curves=M(45427),Q.ec=M(57954),Q[B(2109)]=M(65980)},4918:(w,Q,M)=>{var B=Tt,D=M(73785),S=M(80953),P=S.getNAF,R=S[B(843)],T=S.assert;function L(U,N){var H=B;this[H(1808)]=U,this.p=new D(N.p,16),this[H(1230)]=N[H(1408)]?D[H(1230)](N[H(1408)]):D[H(649)](this.p),this.zero=new D(0)[H(1705)](this[H(1230)]),this[H(462)]=new D(1)[H(1705)](this[H(1230)]),this[H(1865)]=new D(2)[H(1705)](this.red),this.n=N.n&&new D(N.n,16),this.g=N.g&&this[H(1056)](N.g,N.gRed),this[H(2382)]=new Array(4),this[H(2044)]=new Array(4),this[H(1902)]=new Array(4),this[H(2353)]=new Array(4),this[H(2218)]=this.n?this.n.bitLength():0,U=this.n&&this.p[H(2526)](this.n),!U||0<U[H(1915)](100)?this[H(808)]=null:(this._maxwellTrick=!0,this[H(808)]=this.n.toRed(this[H(1230)]))}function F(U,N){var H=B;this.curve=U,this[H(1808)]=N,this[H(2589)]=null}(w[B(2726)]=L)[B(2086)].point=function(){var U=B;throw new Error(U(1287))},L.prototype[B(1335)]=function(){throw new Error("Not implemented")},L[B(2086)][B(578)]=function(U,N){var H=B;T(U[H(2589)]);for(var J=U._getDoubles(),K=P(N,1,this[H(2218)]),U=(1<<J[H(1052)]+1)-(J[H(1052)]%2==0?2:1),X=(U/=3,[]),j=0;j<K.length;j+=J.step){for(var ee=0,ie=j+J.step-1;j<=ie;ie--)ee=(ee<<1)+K[ie];X[H(2764)](ee)}for(var z=this[H(1381)](null,null,null),oe=this[H(1381)](null,null,null),le=U;0<le;le--){for(j=0;j<X.length;j++)(ee=X[j])===le?oe=oe.mixedAdd(J[H(1687)][j]):ee===-le&&(oe=oe[H(1425)](J[H(1687)][j].neg()));z=z[H(1002)](oe)}return z[H(1080)]()},L.prototype._wnafMul=function(U,N){for(var H=B,J=U[H(1716)](4),K=J[H(1666)],X=J[H(1687)],j=P(N,K,this._bitLength),ee=this[H(1381)](null,null,null),ie=j.length-1;0<=ie;ie--){for(var z=0;0<=ie&&j[ie]===0;ie--)z++;if(0<=ie&&z++,ee=ee.dblp(z),ie<0)break;var oe=j[ie];T(oe!==0),ee=H(1350)===U[H(1808)]?0<oe?ee[H(1425)](X[oe-1>>1]):ee[H(1425)](X[-oe-1>>1][H(770)]()):0<oe?ee[H(1002)](X[oe-1>>1]):ee[H(1002)](X[-oe-1>>1][H(770)]())}return H(1350)===U[H(1808)]?ee[H(1080)]():ee},L.prototype._wnafMulAdd=function(U,N,H,J,K){for(var X=B,j=this[X(2382)],ee=this[X(2044)],ie=this[X(1902)],z=0,oe=0;oe<J;oe++){var le,Ae=(le=N[oe])[X(1716)](U);j[oe]=Ae.wnd,ee[oe]=Ae[X(1687)]}for(oe=J-1;1<=oe;oe-=2){var he=oe-1,ge=oe;if(j[he]!==1||j[ge]!==1)ie[he]=P(H[he],j[he],this[X(2218)]),ie[ge]=P(H[ge],j[ge],this[X(2218)]),z=Math[X(1093)](ie[he][X(2405)],z),z=Math[X(1093)](ie[ge][X(2405)],z);else{var de=[N[he],null,null,N[ge]],fe=(N[he].y[X(637)](N[ge].y)===0?(de[1]=N[he][X(1002)](N[ge]),de[2]=N[he][X(2630)]().mixedAdd(N[ge][X(770)]())):N[he].y[X(637)](N[ge].y[X(2447)]())===0?(de[1]=N[he][X(2630)]()[X(1425)](N[ge]),de[2]=N[he][X(1002)](N[ge][X(770)]())):(de[1]=N[he].toJ().mixedAdd(N[ge]),de[2]=N[he][X(2630)]()[X(1425)](N[ge][X(770)]())),[-3,-1,-5,-7,0,7,5,1,3]),G=R(H[he],H[ge]),z=Math[X(1093)](G[0][X(2405)],z);for(ie[he]=new Array(z),ie[ge]=new Array(z),me=0;me<z;me++){var Y=0|G[0][me],W=0|G[1][me];ie[he][me]=fe[3*(1+Y)+(1+W)],ie[ge][me]=0,ee[he]=de}}}for(var O=this.jpoint(null,null,null),re=this._wnafT4,oe=z;0<=oe;oe--){for(var se=0;0<=oe;){for(var ce=!0,me=0;me<J;me++)re[me]=0|ie[me][oe],re[me]!==0&&(ce=!1);if(!ce)break;se++,oe--}if(0<=oe&&se++,O=O[X(1554)](se),oe<0)break;for(me=0;me<J;me++){var Ce=re[me];Ce!==0&&(0<Ce?le=ee[me][Ce-1>>1]:Ce<0&&(le=ee[me][-Ce-1>>1][X(770)]()),O=le[X(1808)]==="affine"?O[X(1425)](le):O[X(1002)](le))}}for(oe=0;oe<J;oe++)ee[oe]=null;return K?O:O[X(1080)]()},(L[B(484)]=F)[B(2086)].eq=function(){var U=B;throw new Error(U(1287))},F[B(2086)].validate=function(){return this.curve.validate(this)},L[B(2086)][B(816)]=function(U,N){var H=B;if(U=S.toArray(U,N),N=this.p[H(2127)](),(U[0]===4||U[0]===6||U[0]===7)&&U.length-1==2*N)return U[0]===6?T(U[U[H(2405)]-1]%2==0):U[0]===7&&T(U[U[H(2405)]-1]%2==1),this[H(1363)](U[H(352)](1,1+N),U[H(352)](1+N,1+2*N));if(U[0]!==2&&U[0]!==3||U.length-1!==N)throw new Error(H(516));return this[H(2654)](U[H(352)](1,1+N),U[0]===3)},F[B(2086)].encodeCompressed=function(U){return this.encode(U,!0)},F[B(2086)][B(1768)]=function(U){var N=B,H=this[N(1364)].p[N(2127)](),J=this[N(584)]()[N(1780)]("be",H);return U?[this[N(596)]().isEven()?2:3][N(1558)](J):[4][N(1558)](J,this[N(596)]().toArray("be",H))},F[B(2086)][B(479)]=function(U,N){var H=B;return S[H(479)](this[H(1768)](N),U)},F[B(2086)].precompute=function(U){var N=B;if(this[N(2589)])return this;var H={doubles:null,naf:null,beta:null};return H.naf=this._getNAFPoints(8),H[N(903)]=this._getDoubles(4,U),H[N(2593)]=this[N(483)](),this[N(2589)]=H,this},F.prototype[B(1211)]=function(U){var N=B;if(!this[N(2589)])return!1;var H=this.precomputed[N(903)];return!!H&&H[N(1687)][N(2405)]>=Math[N(235)]((U[N(1787)]()+1)/H.step)},F[B(2086)]._getDoubles=function(U,N){var H=B;if(this[H(2589)]&&this[H(2589)][H(903)])return this[H(2589)][H(903)];for(var J=[this],K=this,X=0;X<N;X+=U){for(var j=0;j<U;j++)K=K[H(1715)]();J[H(2764)](K)}return{step:U,points:J}},F[B(2086)]._getNAFPoints=function(U){var N=B;if(this.precomputed&&this[N(2589)][N(1329)])return this[N(2589)][N(1329)];for(var H=[this],J=(1<<U)-1,K=J==1?null:this[N(1715)](),X=1;X<J;X++)H[X]=H[X-1].add(K);return{wnd:U,points:H}},F[B(2086)]._getBeta=function(){return null},F.prototype[B(1554)]=function(U){for(var N=B,H=this,J=0;J<U;J++)H=H[N(1715)]();return H}},31138:(w,Q,M)=>{var B=Tt,D=M(80953),S=M(73785),P=M(35717),R=M(4918),T=D[B(2659)];function L(U){var N=B;this[N(899)]=(0|U.a)!=1,this[N(2533)]=this[N(899)]&&(0|U.a)==-1,this.extended=this.mOneA,R.call(this,"edwards",U),this.a=new S(U.a,16).umod(this.red.m),this.a=this.a[N(1705)](this[N(1230)]),this.c=new S(U.c,16)[N(1705)](this[N(1230)]),this.c2=this.c[N(2082)](),this.d=new S(U.d,16)[N(1705)](this.red),this.dd=this.d[N(2308)](this.d),T(!this[N(899)]||this.c[N(240)]()[N(1915)](1)===0),this[N(2166)]=(0|U.c)==1}function F(U,N,H,J,K){var X=B;R[X(484)][X(2811)](this,U,X(2228)),N===null&&H===null&&J===null?(this.x=this[X(1364)][X(1656)],this.y=this[X(1364)][X(462)],this.z=this.curve[X(462)],this.t=this[X(1364)][X(1656)],this[X(1306)]=!0):(this.x=new S(N,16),this.y=new S(H,16),this.z=J?new S(J,16):this[X(1364)][X(462)],this.t=K&&new S(K,16),this.x[X(1230)]||(this.x=this.x[X(1705)](this[X(1364)][X(1230)])),this.y[X(1230)]||(this.y=this.y[X(1705)](this[X(1364)][X(1230)])),this.z[X(1230)]||(this.z=this.z[X(1705)](this[X(1364)][X(1230)])),this.t&&!this.t.red&&(this.t=this.t[X(1705)](this.curve.red)),this[X(1306)]=this.z===this[X(1364)][X(462)],this[X(1364)][X(1003)]&&!this.t&&(this.t=this.x[X(2111)](this.y),this[X(1306)]||(this.t=this.t[X(2111)](this.z[X(1806)]()))))}P(L,R),(w[B(2726)]=L)[B(2086)][B(786)]=function(U){var N=B;return this[N(2533)]?U[N(2447)]():this.a[N(2111)](U)},L[B(2086)][B(1945)]=function(U){var N=B;return this[N(2166)]?U:this.c.redMul(U)},L.prototype[B(1381)]=function(U,N,H,J){var K=B;return this[K(1363)](U,N,H,J)},L.prototype[B(2654)]=function(U,N){var H=B,K=(U=(U=new S(U,16)).red?U:U[H(1705)](this.red)).redSqr(),J=this.c2[H(478)](this.a[H(2111)](K)),K=this[H(462)][H(478)](this.c2[H(2111)](this.d)[H(2111)](K)),J=J[H(2111)](K[H(1806)]()),K=J[H(984)]();if(K[H(2082)]()[H(478)](J)[H(637)](this[H(1656)])!==0)throw new Error(H(1914));return J=K.fromRed()[H(2771)](),(N&&!J||!N&&J)&&(K=K[H(2447)]()),this[H(1363)](U,K)},L[B(2086)][B(1001)]=function(U,N){var H=B,J=(U=(U=new S(U,16)).red?U:U.toRed(this[H(1230)]))[H(2082)](),K=J[H(478)](this.c2),J=J[H(2111)](this.d).redMul(this.c2).redSub(this.a),K=K.redMul(J[H(1806)]());if(K[H(637)](this[H(1656)])===0){if(N)throw new Error(H(1914));return this[H(1363)](this[H(1656)],U)}if(J=K[H(984)](),J[H(2082)]()[H(478)](K)[H(637)](this[H(1656)])!==0)throw new Error("invalid point");return J[H(240)]()[H(2771)]()!==N&&(J=J[H(2447)]()),this[H(1363)](J,U)},L[B(2086)][B(1335)]=function(H){var N=B;if(H[N(220)]())return!0;H[N(1953)]();var K=H.x[N(2082)](),H=H.y[N(2082)](),J=K.redMul(this.a)[N(2308)](H),K=this.c2[N(2111)](this[N(462)][N(2308)](this.d[N(2111)](K).redMul(H)));return J[N(637)](K)===0},P(F,R[B(484)]),L[B(2086)].pointFromJSON=function(U){return F.fromJSON(this,U)},L[B(2086)].point=function(U,N,H,J){return new F(this,U,N,H,J)},F[B(706)]=function(U,N){return new F(U,N[0],N[1],N[2])},F[B(2086)][B(1727)]=function(){var U=B;return this[U(220)]()?U(495):U(742)+this.x[U(240)]()[U(2192)](16,2)+U(217)+this.y.fromRed()[U(2192)](16,2)+U(1928)+this.z[U(240)]()[U(2192)](16,2)+">"},F[B(2086)].isInfinity=function(){var U=B;return this.x[U(1915)](0)===0&&(this.y[U(637)](this.z)===0||this[U(1306)]&&this.y[U(637)](this[U(1364)].c)===0)},F[B(2086)][B(551)]=function(){var U=B,X=this.x[U(2082)](),J=this.y[U(2082)](),H=(H=this.z.redSqr())[U(2236)](H),j=this[U(1364)][U(786)](X),X=this.x[U(2308)](this.y)[U(2082)]()[U(1199)](X)[U(1199)](J),N=j.redAdd(J),H=N[U(478)](H),j=j[U(478)](J),J=X[U(2111)](H),K=N.redMul(j),X=X[U(2111)](j),j=H[U(2111)](N);return this[U(1364)][U(1363)](J,K,j,X)},F[B(2086)][B(1756)]=function(){var U=B,N,H,J,K,X,j=this.x[U(2308)](this.y)[U(2082)](),ee=this.x[U(2082)](),ie=this.y[U(2082)](),z=this[U(1364)][U(899)]?(z=(X=this[U(1364)]._mulA(ee))[U(2308)](ie),this.zOne?(N=j[U(478)](ee)[U(478)](ie)[U(2111)](z[U(478)](this[U(1364)][U(1865)])),H=z[U(2111)](X[U(478)](ie)),z[U(2082)]()[U(478)](z)[U(478)](z)):(J=this.z[U(2082)](),K=z[U(478)](J)[U(1199)](J),N=j[U(478)](ee)[U(1199)](ie)[U(2111)](K),H=z.redMul(X[U(478)](ie)),z.redMul(K))):(X=ee[U(2308)](ie),J=this[U(1364)][U(1945)](this.z).redSqr(),K=X.redSub(J).redSub(J),N=this[U(1364)][U(1945)](j[U(1199)](X))[U(2111)](K),H=this[U(1364)]._mulC(X)[U(2111)](ee[U(1199)](ie)),X[U(2111)](K));return this[U(1364)][U(1363)](N,H,z)},F[B(2086)].dbl=function(){var U=B;return this.isInfinity()?this:this.curve[U(1003)]?this._extDbl():this[U(1756)]()},F.prototype[B(1655)]=function(J){var N=B,X=this.y[N(478)](this.x)[N(2111)](J.y.redSub(J.x)),K=this.y[N(2308)](this.x)[N(2111)](J.y.redAdd(J.x)),ee=this.t[N(2111)](this.curve.dd)[N(2111)](J.t),J=this.z.redMul(J.z.redAdd(J.z)),j=K[N(478)](X),H=J.redSub(ee),J=J[N(2308)](ee),ee=K.redAdd(X),K=j[N(2111)](H),X=J[N(2111)](ee),j=j.redMul(ee),ee=H[N(2111)](J);return this.curve[N(1363)](K,X,ee,j)},F[B(2086)][B(759)]=function(ie){var N=B,H,J=this.z[N(2111)](ie.z),ee=J.redSqr(),K=this.x[N(2111)](ie.x),X=this.y[N(2111)](ie.y),z=this[N(1364)].d[N(2111)](K)[N(2111)](X),j=ee[N(478)](z),ee=ee[N(2308)](z),z=this.x[N(2308)](this.y)[N(2111)](ie.x[N(2308)](ie.y))[N(1199)](K)[N(1199)](X),ie=J[N(2111)](j).redMul(z),z=this[N(1364)][N(899)]?(H=J[N(2111)](ee)[N(2111)](X.redSub(this[N(1364)][N(786)](K))),j.redMul(ee)):(H=J[N(2111)](ee)[N(2111)](X[N(478)](K)),this[N(1364)][N(1945)](j)[N(2111)](ee));return this.curve[N(1363)](ie,H,z)},F[B(2086)].add=function(U){var N=B;return this.isInfinity()?U:U.isInfinity()?this:this[N(1364)][N(1003)]?this[N(1655)](U):this[N(759)](U)},F.prototype[B(1304)]=function(U){var N=B;return this[N(1211)](U)?this.curve[N(578)](this,U):this[N(1364)][N(960)](this,U)},F.prototype[B(336)]=function(U,N,H){var J=B;return this.curve[J(1999)](1,[this,N],[U,H],2,!1)},F[B(2086)][B(2549)]=function(U,N,H){var J=B;return this[J(1364)]._wnafMulAdd(1,[this,N],[U,H],2,!0)},F[B(2086)][B(1953)]=function(){var U=B;if(this[U(1306)])return this;var N=this.z[U(1806)]();return this.x=this.x[U(2111)](N),this.y=this.y[U(2111)](N),this.t&&(this.t=this.t[U(2111)](N)),this.z=this.curve[U(462)],this.zOne=!0,this},F[B(2086)].neg=function(){var U=B;return this[U(1364)][U(1363)](this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},F[B(2086)][B(584)]=function(){var U=B;return this.normalize(),this.x[U(240)]()},F[B(2086)][B(596)]=function(){var U=B;return this[U(1953)](),this.y[U(240)]()},F[B(2086)].eq=function(U){var N=B;return this===U||this.getX()[N(637)](U[N(584)]())===0&&this[N(596)]()[N(637)](U[N(596)]())===0},F[B(2086)][B(751)]=function(U){var N=B,H=U[N(1705)](this[N(1364)][N(1230)])[N(2111)](this.z);if(this.x[N(637)](H)===0)return!0;for(var J=U[N(914)](),K=this[N(1364)].redN[N(2111)](this.z);;){if(J[N(2553)](this.curve.n),0<=J[N(637)](this[N(1364)].p))return!1;if(H.redIAdd(K),this.x[N(637)](H)===0)return!0}},F[B(2086)][B(1080)]=F[B(2086)][B(1953)],F[B(2086)].mixedAdd=F.prototype.add},88254:(w,Q,M)=>{var B=Tt;Q[B(464)]=M(4918),Q[B(1182)]=M(6673),Q[B(649)]=M(22881),Q[B(1970)]=M(31138)},22881:(w,Q,M)=>{var B=Tt,D=M(73785),S=M(35717),P=M(4918),R=M(80953);function T(F){var U=Tt;P[U(2811)](this,U(649),F),this.a=new D(F.a,16)[U(1705)](this[U(1230)]),this.b=new D(F.b,16)[U(1705)](this[U(1230)]),this.i4=new D(4)[U(1705)](this.red)[U(1806)](),this[U(1865)]=new D(2)[U(1705)](this[U(1230)]),this[U(689)]=this.i4[U(2111)](this.a[U(2308)](this[U(1865)]))}function L(F,U,N){var H=Tt;P[H(484)][H(2811)](this,F,H(2228)),U===null&&N===null?(this.x=this[H(1364)][H(462)],this.z=this.curve[H(1656)]):(this.x=new D(U,16),this.z=new D(N,16),this.x[H(1230)]||(this.x=this.x.toRed(this[H(1364)][H(1230)])),this.z[H(1230)]||(this.z=this.z.toRed(this.curve[H(1230)])))}S(T,P),(w[B(2726)]=T)[B(2086)][B(1335)]=function(N){var U=B,N=N[U(1953)]().x,H=N[U(2082)](),H=H[U(2111)](N)[U(2308)](H[U(2111)](this.a))[U(2308)](N);return H.redSqrt()[U(2082)]()[U(637)](H)===0},S(L,P.BasePoint),T[B(2086)][B(816)]=function(F,U){var N=B;return this[N(1363)](R[N(1780)](F,U),1)},T[B(2086)][B(1363)]=function(F,U){return new L(this,F,U)},T.prototype.pointFromJSON=function(F){var U=B;return L[U(706)](this,F)},L[B(2086)].precompute=function(){},L[B(2086)]._encode=function(){var F=B;return this[F(584)]()[F(1780)]("be",this[F(1364)].p.byteLength())},L[B(706)]=function(F,U){var N=B;return new L(F,U[0],U[1]||F[N(462)])},L[B(2086)][B(1727)]=function(){var F=B;return this[F(220)]()?F(495):F(742)+this.x[F(240)]().toString(16,2)+" z: "+this.z[F(240)]().toString(16,2)+">"},L[B(2086)][B(220)]=function(){var F=B;return this.z[F(1915)](0)===0},L.prototype[B(1715)]=function(){var F=B,N=this.x[F(2308)](this.z)[F(2082)](),H=this.x[F(478)](this.z)[F(2082)](),U=N[F(478)](H),N=N[F(2111)](H),H=U[F(2111)](H.redAdd(this[F(1364)][F(689)].redMul(U)));return this[F(1364)].point(N,H)},L[B(2086)][B(1002)]=function(){throw new Error("Not supported on Montgomery curve")},L[B(2086)][B(2757)]=function(H,U){var N=B,J=this.x.redAdd(this.z),X=this.x[N(478)](this.z),K=H.x[N(2308)](H.z),H=H.x[N(478)](H.z)[N(2111)](J),J=K[N(2111)](X),K=U.z[N(2111)](H.redAdd(J).redSqr()),X=U.x[N(2111)](H[N(1199)](J)[N(2082)]());return this[N(1364)][N(1363)](K,X)},L[B(2086)][B(1304)]=function(F){for(var U=B,N=F[U(914)](),H=this,J=this[U(1364)].point(null,null),K=[];N.cmpn(0)!==0;N[U(586)](1))K[U(2764)](N[U(1452)](1));for(var X=K.length-1;0<=X;X--)K[X]===0?(H=H.diffAdd(J,this),J=J[U(1715)]()):(J=H.diffAdd(J,this),H=H[U(1715)]());return J},L.prototype.mulAdd=function(){var F=B;throw new Error(F(1124))},L[B(2086)][B(2675)]=function(){var F=B;throw new Error(F(1124))},L[B(2086)].eq=function(F){var U=B;return this[U(584)]().cmp(F[U(584)]())===0},L[B(2086)].normalize=function(){var F=B;return this.x=this.x[F(2111)](this.z[F(1806)]()),this.z=this[F(1364)].one,this},L[B(2086)][B(584)]=function(){var F=B;return this[F(1953)](),this.x[F(240)]()}},6673:(w,Q,M)=>{var B=Tt,D=M(80953),S=M(73785),P=M(35717),R=M(4918),T=D[B(2659)];function L(N){var H=B;R.call(this,"short",N),this.a=new S(N.a,16).toRed(this[H(1230)]),this.b=new S(N.b,16)[H(1705)](this[H(1230)]),this.tinv=this[H(1865)][H(1806)](),this[H(1909)]=this.a.fromRed()[H(1915)](0)===0,this[H(1728)]=this.a[H(240)]()[H(713)](this.p).cmpn(-3)===0,this[H(1246)]=this[H(2123)](N),this[H(472)]=new Array(4),this._endoWnafT2=new Array(4)}function F(N,H,J,K){var X=B;R[X(484)][X(2811)](this,N,X(1350)),H===null&&J===null?(this.x=null,this.y=null,this[X(2545)]=!0):(this.x=new S(H,16),this.y=new S(J,16),K&&(this.x[X(934)](this[X(1364)][X(1230)]),this.y.forceRed(this.curve[X(1230)])),this.x[X(1230)]||(this.x=this.x[X(1705)](this[X(1364)][X(1230)])),this.y[X(1230)]||(this.y=this.y.toRed(this.curve[X(1230)])),this[X(2545)]=!1)}function U(N,H,J,K){var X=B;R[X(484)][X(2811)](this,N,X(1490)),H===null&&J===null&&K===null?(this.x=this[X(1364)][X(462)],this.y=this.curve[X(462)],this.z=new S(0)):(this.x=new S(H,16),this.y=new S(J,16),this.z=new S(K,16)),this.x[X(1230)]||(this.x=this.x[X(1705)](this[X(1364)][X(1230)])),this.y[X(1230)]||(this.y=this.y[X(1705)](this.curve.red)),this.z.red||(this.z=this.z[X(1705)](this[X(1364)][X(1230)])),this.zOne=this.z===this.curve.one}P(L,R),(w[B(2726)]=L).prototype[B(2123)]=function(N){var H=B,J,K,X;if(this[H(1909)]&&this.g&&this.n&&this.p.modn(3)===1)return K=(N[H(2593)]?new S(N[H(2593)],16):K=(K=this._getEndoRoots(this.p))[0][H(637)](K[1])<0?K[0]:K[1])[H(1705)](this[H(1230)]),N.lambda?J=new S(N[H(2377)],16):(X=this._getEndoRoots(this.n),this.g.mul(X[0]).x[H(637)](this.g.x.redMul(K))===0?J=X[0]:(J=X[1],T(this.g[H(1304)](J).x.cmp(this.g.x[H(2111)](K))===0))),{beta:K,lambda:J,basis:N[H(1475)]?N[H(1475)][H(679)](function(j){return{a:new S(j.a,16),b:new S(j.b,16)}}):this[H(2546)](J)}},L[B(2086)][B(2246)]=function(X){var H=B,X=X===this.p?this.red:S[H(649)](X),J=new S(2)[H(1705)](X)[H(1806)](),K=J[H(2447)](),X=new S(3)[H(1705)](X)[H(2447)]().redSqrt()[H(2111)](J);return[K.redAdd(X).fromRed(),K[H(478)](X)[H(240)]()]},L[B(2086)][B(2546)]=function(W){for(var H=B,J,K,X,j,ee,ie=this.n[H(1635)](Math[H(799)](this.n[H(1787)]()/2)),z=W,oe=this.n[H(914)](),le=new S(1),Ae=new S(0),he=new S(0),ge=new S(1),de=0;z[H(1915)](0)!==0;){var Y=oe[H(2526)](z),fe=oe[H(713)](Y[H(1304)](z)),G=he[H(713)](Y[H(1304)](le)),Y=ge[H(713)](Y[H(1304)](Ae));if(!X&&fe[H(637)](ie)<0)J=ee[H(770)](),K=le,X=fe[H(770)](),j=G;else if(X&&++de==2)break;oe=z,z=ee=fe,he=le,le=G,ge=Ae,Ae=Y}var W=fe[H(770)](),O=G,re=X.sqr()[H(1002)](j[H(2524)]());return 0<=W[H(2524)]().add(O[H(2524)]())[H(637)](re)&&(W=J,O=K),X[H(1746)]&&(X=X.neg(),j=j[H(770)]()),W.negative&&(W=W[H(770)](),O=O.neg()),[{a:X,b:j},{a:W,b:O}]},L.prototype._endoSplit=function(N){var H=B,J=this[H(1246)][H(1475)],ie=J[0],J=J[1],ee=J.b.mul(N).divRound(this.n),K=ie.b[H(770)]()[H(1304)](N).divRound(this.n),X=ee[H(1304)](ie.a),j=K[H(1304)](J.a),ee=ee[H(1304)](ie.b),ie=K[H(1304)](J.b);return{k1:N[H(713)](X).sub(j),k2:ee[H(1002)](ie).neg()}},L[B(2086)][B(2654)]=function(N,H){var J=B,K=(N=(N=new S(N,16))[J(1230)]?N:N[J(1705)](this[J(1230)]))[J(2082)]()[J(2111)](N)[J(2236)](N.redMul(this.a))[J(2236)](this.b),X=K[J(984)]();if(X[J(2082)]().redSub(K)[J(637)](this[J(1656)])!==0)throw new Error(J(1914));return K=X.fromRed()[J(2771)](),(H&&!K||!H&&K)&&(X=X[J(2447)]()),this[J(1363)](N,X)},L.prototype[B(1335)]=function(J){var H=B;if(J[H(2545)])return!0;var X=J.x,J=J.y,K=this.a.redMul(X),X=X.redSqr()[H(2111)](X)[H(2236)](K).redIAdd(this.b);return J[H(2082)]()[H(1199)](X).cmpn(0)===0},L[B(2086)]._endoWnafMulAdd=function(N,H,J){for(var K=B,X=this[K(472)],j=this[K(625)],ee=0;ee<N[K(2405)];ee++){var ie=this[K(777)](H[ee]),z=N[ee],oe=z[K(483)]();ie.k1[K(1746)]&&(ie.k1[K(1232)](),z=z[K(770)](!0)),ie.k2[K(1746)]&&(ie.k2[K(1232)](),oe=oe.neg(!0)),X[2*ee]=z,X[2*ee+1]=oe,j[2*ee]=ie.k1,j[2*ee+1]=ie.k2}for(var J=this[K(1999)](1,X,j,2*ee,J),le=0;le<2*ee;le++)X[le]=null,j[le]=null;return J},P(F,R.BasePoint),L[B(2086)][B(1363)]=function(N,H,J){return new F(this,N,H,J)},L[B(2086)][B(1056)]=function(N,H){var J=B;return F[J(706)](this,N,H)},F[B(2086)]._getBeta=function(){var N=B;if(this[N(1364)][N(1246)]){var H=this[N(2589)];if(H&&H[N(2593)])return H.beta;var J,K,X=this[N(1364)][N(1363)](this.x[N(2111)](this[N(1364)].endo.beta),this.y);return H&&(J=this.curve,K=function(j){var ee=N;return J[ee(1363)](j.x.redMul(J[ee(1246)][ee(2593)]),j.y)},(H[N(2593)]=X)[N(2589)]={beta:null,naf:H[N(1329)]&&{wnd:H[N(1329)][N(1666)],points:H[N(1329)][N(1687)][N(679)](K)},doubles:H[N(903)]&&{step:H[N(903)].step,points:H.doubles[N(1687)].map(K)}}),X}},F[B(2086)][B(1130)]=function(){var N=B;return this[N(2589)]?[this.x,this.y,this.precomputed&&{doubles:this[N(2589)][N(903)]&&{step:this[N(2589)][N(903)][N(1052)],points:this[N(2589)].doubles[N(1687)].slice(1)},naf:this[N(2589)][N(1329)]&&{wnd:this[N(2589)].naf[N(1666)],points:this.precomputed[N(1329)][N(1687)][N(352)](1)}}]:[this.x,this.y]},F[B(706)]=function(N,H,J){var K=B;K(1090)==typeof H&&(H=JSON[K(2156)](H));var X=N[K(1363)](H[0],H[1],J);if(!H[2])return X;function j(ee){var ie=K;return N[ie(1363)](ee[0],ee[1],J)}return H=H[2],X[K(2589)]={beta:null,doubles:H.doubles&&{step:H.doubles[K(1052)],points:[X][K(1558)](H[K(903)][K(1687)][K(679)](j))},naf:H[K(1329)]&&{wnd:H[K(1329)][K(1666)],points:[X][K(1558)](H[K(1329)].points[K(679)](j))}},X},F.prototype[B(1727)]=function(){var N=B;return this[N(220)]()?N(495):N(742)+this.x[N(240)]().toString(16,2)+N(217)+this.y.fromRed()[N(2192)](16,2)+">"},F[B(2086)][B(220)]=function(){return this.inf},F[B(2086)].add=function(J){var H=B;if(this.inf)return J;if(J[H(2545)])return this;if(this.eq(J))return this.dbl();if(this.neg().eq(J))return this[H(1364)][H(1363)](null,null);if(this.x[H(637)](J.x)===0)return this.curve[H(1363)](null,null);var K=this.y[H(478)](J.y),J=(K=K[H(1915)](0)!==0?K[H(2111)](this.x[H(478)](J.x).redInvm()):K)[H(2082)]()[H(1199)](this.x)[H(1199)](J.x),K=K.redMul(this.x[H(478)](J))[H(1199)](this.y);return this[H(1364)].point(J,K)},F[B(2086)][B(1715)]=function(){var N=B;if(this[N(2545)])return this;var K=this.y[N(2308)](this.y);if(K.cmpn(0)===0)return this[N(1364)][N(1363)](null,null);var J=this[N(1364)].a,H=this.x[N(2082)](),K=K.redInvm(),H=H.redAdd(H)[N(2236)](H)[N(2236)](J).redMul(K),J=H[N(2082)]().redISub(this.x[N(2308)](this.x)),K=H.redMul(this.x[N(478)](J)).redISub(this.y);return this[N(1364)][N(1363)](J,K)},F[B(2086)][B(584)]=function(){return this.x.fromRed()},F[B(2086)][B(596)]=function(){return this.y.fromRed()},F[B(2086)][B(1304)]=function(N){var H=B;return N=new S(N,16),this[H(220)]()?this:this[H(1211)](N)?this[H(1364)][H(578)](this,N):this.curve[H(1246)]?this[H(1364)][H(243)]([this],[N]):this[H(1364)]._wnafMul(this,N)},F.prototype[B(336)]=function(N,H,J){var K=B;return H=[this,H],N=[N,J],this.curve[K(1246)]?this[K(1364)][K(243)](H,N):this[K(1364)][K(1999)](1,H,N,2)},F[B(2086)].jmulAdd=function(N,H,J){var K=B;return H=[this,H],N=[N,J],this[K(1364)][K(1246)]?this[K(1364)]._endoWnafMulAdd(H,N,!0):this[K(1364)][K(1999)](1,H,N,2,!0)},F[B(2086)].eq=function(N){var H=B;return this===N||this[H(2545)]===N[H(2545)]&&(this[H(2545)]||this.x[H(637)](N.x)===0&&this.y.cmp(N.y)===0)},F[B(2086)][B(770)]=function(N){var H=B;if(this[H(2545)])return this;var J,K=this[H(1364)][H(1363)](this.x,this.y.redNeg());return N&&this[H(2589)]&&(N=this.precomputed,J=function(X){return X.neg()},K[H(2589)]={naf:N.naf&&{wnd:N.naf[H(1666)],points:N[H(1329)][H(1687)].map(J)},doubles:N[H(903)]&&{step:N[H(903)][H(1052)],points:N[H(903)][H(1687)][H(679)](J)}}),K},F.prototype.toJ=function(){var N=B;return this[N(2545)]?this[N(1364)].jpoint(null,null,null):this[N(1364)][N(1381)](this.x,this.y,this[N(1364)].one)},P(U,R[B(484)]),L[B(2086)][B(1381)]=function(N,H,J){return new U(this,N,H,J)},U.prototype.toP=function(){var N=B;if(this[N(220)]())return this[N(1364)][N(1363)](null,null);var H=this.z[N(1806)](),K=H[N(2082)](),J=this.x[N(2111)](K),K=this.y.redMul(K).redMul(H);return this.curve[N(1363)](J,K)},U[B(2086)][B(770)]=function(){var N=B;return this[N(1364)].jpoint(this.x,this.y[N(2447)](),this.z)},U[B(2086)][B(1002)]=function(N){var H=B;if(this[H(220)]())return N;if(N[H(220)]())return this;var J=N.z[H(2082)](),ee=this.z[H(2082)](),ie=this.x[H(2111)](J),K=N.x[H(2111)](ee),J=this.y[H(2111)](J.redMul(N.z)),ee=N.y.redMul(ee[H(2111)](this.z)),K=ie.redSub(K),ee=J[H(478)](ee);if(K[H(1915)](0)===0)return ee.cmpn(0)!==0?this[H(1364)][H(1381)](null,null,null):this.dbl();var j=K[H(2082)](),X=j.redMul(K),ie=ie[H(2111)](j),j=ee[H(2082)]()[H(2236)](X)[H(1199)](ie)[H(1199)](ie),ee=ee[H(2111)](ie[H(1199)](j))[H(1199)](J[H(2111)](X)),ie=this.z[H(2111)](N.z)[H(2111)](K);return this[H(1364)][H(1381)](j,ee,ie)},U[B(2086)][B(1425)]=function(j){var H=B;if(this[H(220)]())return j[H(2630)]();if(j[H(220)]())return this;var K=this.z[H(2082)](),ie=this.x,ee=j.x[H(2111)](K),J=this.y,j=j.y[H(2111)](K)[H(2111)](this.z),K=ie.redSub(ee),ee=J[H(478)](j);if(K[H(1915)](0)===0)return ee[H(1915)](0)!==0?this[H(1364)][H(1381)](null,null,null):this[H(1715)]();var j=K[H(2082)](),X=j.redMul(K),ie=ie[H(2111)](j),j=ee[H(2082)]()[H(2236)](X)[H(1199)](ie)[H(1199)](ie),ee=ee[H(2111)](ie.redISub(j)).redISub(J[H(2111)](X)),ie=this.z[H(2111)](K);return this[H(1364)][H(1381)](j,ee,ie)},U[B(2086)][B(1554)]=function(N){var H=B;if(N===0)return this;if(this.isInfinity())return this;if(!N)return this[H(1715)]();if(this[H(1364)][H(1909)]||this[H(1364)].threeA){for(var J=this,K=0;K<N;K++)J=J[H(1715)]();return J}for(var X=this[H(1364)].a,j=this[H(1364)].tinv,ee=this.x,ie=this.y,z=this.z,oe=z[H(2082)]()[H(2082)](),le=ie[H(2308)](ie),K=0;K<N;K++){var ge=ee[H(2082)](),de=le[H(2082)](),Ae=de[H(2082)](),ge=ge[H(2308)](ge).redIAdd(ge).redIAdd(X.redMul(oe)),de=ee[H(2111)](de),he=ge[H(2082)]().redISub(de.redAdd(de)),de=de[H(1199)](he),ge=(ge=ge[H(2111)](de))[H(2236)](ge)[H(1199)](Ae),de=le[H(2111)](z);K+1<N&&(oe=oe[H(2111)](Ae)),ee=he,z=de,le=ge}return this.curve[H(1381)](ee,le[H(2111)](j),z)},U.prototype.dbl=function(){var N=B;return this[N(220)]()?this:this[N(1364)].zeroA?this[N(729)]():this.curve[N(1728)]?this[N(519)]():this._dbl()},U[B(2086)][B(729)]=function(){var N=B,H,J,K,X,j,ee=this[N(1306)]?(J=this.x[N(2082)](),K=(H=this.y[N(2082)]()).redSqr(),H=(H=this.x[N(2308)](H)[N(2082)]().redISub(J)[N(1199)](K)).redIAdd(H),X=(J=J[N(2308)](J).redIAdd(J))[N(2082)]().redISub(H)[N(1199)](H),K=(K=(K=K[N(2236)](K))[N(2236)](K))[N(2236)](K),H=J[N(2111)](H[N(1199)](J=X))[N(1199)](K),this.y[N(2308)](this.y)):(X=this.x[N(2082)](),j=(K=this.y[N(2082)]())[N(2082)](),K=(K=this.x[N(2308)](K)[N(2082)]()[N(1199)](X).redISub(j))[N(2236)](K),ee=(X=X.redAdd(X)[N(2236)](X))[N(2082)](),j=(j=(j=j[N(2236)](j))[N(2236)](j))[N(2236)](j),J=ee.redISub(K)[N(1199)](K),H=X[N(2111)](K[N(1199)](J))[N(1199)](j),(ee=this.y[N(2111)](this.z))[N(2236)](ee));return this[N(1364)][N(1381)](J,H,ee)},U.prototype[B(519)]=function(){var N=B,H,J,K,X,j,ee,ie,z;return this[N(1306)]?(J=this.x[N(2082)](),j=(H=this.y[N(2082)]())[N(2082)](),H=(H=this.x.redAdd(H)[N(2082)]()[N(1199)](J).redISub(j))[N(2236)](H),K=X=(J=J[N(2308)](J).redIAdd(J)[N(2236)](this[N(1364)].a))[N(2082)]()[N(1199)](H)[N(1199)](H),j=(j=(j=j.redIAdd(j))[N(2236)](j))[N(2236)](j),J=J.redMul(H[N(1199)](X))[N(1199)](j),H=this.y[N(2308)](this.y)):(X=this.z.redSqr(),j=this.y.redSqr(),ie=this.x[N(2111)](j),ee=(ee=this.x[N(478)](X)[N(2111)](this.x[N(2308)](X))).redAdd(ee).redIAdd(ee),z=(ie=(ie=ie.redIAdd(ie))[N(2236)](ie)).redAdd(ie),K=ee.redSqr()[N(1199)](z),H=this.y[N(2308)](this.z)[N(2082)]().redISub(j).redISub(X),z=(z=(z=(z=j[N(2082)]()).redIAdd(z))[N(2236)](z))[N(2236)](z),J=ee[N(2111)](ie[N(1199)](K))[N(1199)](z)),this[N(1364)][N(1381)](K,J,H)},U[B(2086)]._dbl=function(){var N=B,X=this[N(1364)].a,K=this.x,H=this.y,J=this.z,j=J.redSqr()[N(2082)](),ie=K[N(2082)](),ee=H[N(2082)](),ie=ie[N(2308)](ie)[N(2236)](ie)[N(2236)](X[N(2111)](j)),X=K[N(2308)](K),j=(X=X[N(2236)](X))[N(2111)](ee),K=ie[N(2082)]().redISub(j[N(2308)](j)),X=j[N(1199)](K),j=ee.redSqr(),ee=(j=(j=(j=j[N(2236)](j))[N(2236)](j))[N(2236)](j),ie.redMul(X)[N(1199)](j)),ie=H[N(2308)](H)[N(2111)](J);return this.curve[N(1381)](K,ee,ie)},U.prototype[B(829)]=function(){var N=B;if(!this[N(1364)][N(1909)])return this.dbl().add(this);var J=this.x.redSqr(),j=this.y[N(2082)](),H=this.z[N(2082)](),ie=j[N(2082)](),X=J.redAdd(J)[N(2236)](J),ee=X[N(2082)](),J=this.x[N(2308)](j)[N(2082)]()[N(1199)](J)[N(1199)](ie),K=(J=(J=(J=J[N(2236)](J))[N(2308)](J)[N(2236)](J))[N(1199)](ee))[N(2082)](),ie=ie[N(2236)](ie),X=(ie=(ie=(ie=ie[N(2236)](ie)).redIAdd(ie))[N(2236)](ie),X[N(2236)](J).redSqr()[N(1199)](ee)[N(1199)](K)[N(1199)](ie)),ee=j[N(2111)](X),j=(ee=(ee=ee.redIAdd(ee))[N(2236)](ee),this.x.redMul(K)[N(1199)](ee)),ee=(j=(j=j.redIAdd(j)).redIAdd(j),this.y[N(2111)](X[N(2111)](ie[N(1199)](X))[N(1199)](J[N(2111)](K)))),ie=(ee=(ee=(ee=ee[N(2236)](ee)).redIAdd(ee))[N(2236)](ee),this.z.redAdd(J)[N(2082)]()[N(1199)](H).redISub(K));return this.curve[N(1381)](j,ee,ie)},U[B(2086)][B(1304)]=function(N,H){var J=B;return N=new S(N,H),this[J(1364)][J(960)](this,N)},U[B(2086)].eq=function(N){var H=B;if(N[H(1808)]==="affine")return this.eq(N[H(2630)]());if(this===N)return!0;var J=this.z[H(2082)](),K=N.z[H(2082)]();return this.x[H(2111)](K)[H(1199)](N.x[H(2111)](J))[H(1915)](0)!==0?!1:(J=J[H(2111)](this.z),K=K[H(2111)](N.z),this.y[H(2111)](K)[H(1199)](N.y[H(2111)](J))[H(1915)](0)===0)},U[B(2086)][B(751)]=function(N){var H=B,J=this.z[H(2082)](),K=N[H(1705)](this.curve[H(1230)])[H(2111)](J);if(this.x.cmp(K)===0)return!0;for(var X=N[H(914)](),j=this[H(1364)][H(808)].redMul(J);;){if(X.iadd(this.curve.n),0<=X[H(637)](this[H(1364)].p))return!1;if(K.redIAdd(j),this.x[H(637)](K)===0)return!0}},U[B(2086)][B(1727)]=function(){var N=B;return this[N(220)]()?N(1559):N(2785)+this.x[N(2192)](16,2)+N(217)+this.y[N(2192)](16,2)+N(1928)+this.z[N(2192)](16,2)+">"},U.prototype[B(220)]=function(){return this.z.cmpn(0)===0}},45427:(w,P,M)=>{var B=Tt,D,S=P,P=M(33715),R=M(88254),T=M(80953)[B(2659)];function L(U){var N=B;U[N(1808)]==="short"?this[N(1364)]=new R.short(U):N(1970)===U.type?this[N(1364)]=new R[N(1970)](U):this[N(1364)]=new R[N(649)](U),this.g=this[N(1364)].g,this.n=this[N(1364)].n,this[N(1312)]=U[N(1312)],T(this.g[N(1335)](),N(1516)),T(this.g.mul(this.n)[N(220)](),N(1662))}function F(U,N){var H=B;Object[H(1073)](S,U,{configurable:!0,enumerable:!0,get:function(){var J=H,K=new L(N);return Object[J(1073)](S,U,{configurable:!0,enumerable:!0,value:K}),K}})}S[B(865)]=L,F(B(1143),{type:B(1182),prime:B(1143),p:B(1127),a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:B(871),n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:P[B(2709)],gRed:!1,g:[B(2777),B(968)]}),F(B(2651),{type:B(1182),prime:B(2651),p:B(760),a:B(2164),b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:P.sha256,gRed:!1,g:[B(582),B(2722)]}),F(B(1582),{type:B(1182),prime:null,p:B(2029),a:B(2311),b:B(1824),n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:P.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296",B(2473)]}),F(B(301),{type:B(1182),prime:null,p:B(2544),a:B(1075),b:B(191),n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:P.sha384,gRed:!1,g:[B(675),"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),F(B(2783),{type:B(1182),prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:B(2365),b:B(595),n:B(2224),hash:P[B(383)],gRed:!1,g:[B(593),B(2439)]}),F(B(1548),{type:"mont",prime:B(2698),p:B(692),a:B(2180),b:"1",n:B(2384),hash:P.sha256,gRed:!1,g:["9"]}),F(B(1613),{type:B(1970),prime:B(2698),p:B(692),a:"-1",c:"1",d:B(2663),n:B(2384),hash:P[B(2709)],gRed:!1,g:[B(255),B(598)]});try{D=M(91037)}catch{D=void 0}F(B(2213),{type:B(1182),prime:B(522),p:B(783),a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:P[B(2709)],beta:B(2460),lambda:B(2492),basis:[{a:B(202),b:B(1686)},{a:B(2508),b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:[B(561),"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",D]})},57954:(w,Q,M)=>{var B=Tt,D=M(73785),S=M(2156),P=M(80953),R=M(45427),T=M(29931),L=P.assert,F=M(31251),U=M(90611);function N(H){var J=Tt;if(!(this instanceof N))return new N(H);J(1090)==typeof H&&(L(Object[J(2086)][J(2084)].call(R,H),J(1781)+H),H=R[H]),H instanceof R[J(865)]&&(H={curve:H}),this.curve=H[J(1364)].curve,this.n=this[J(1364)].n,this.nh=this.n[J(1635)](1),this.g=this[J(1364)].g,this.g=H[J(1364)].g,this.g[J(2602)](H[J(1364)].n.bitLength()+1),this[J(1312)]=H[J(1312)]||H[J(1364)][J(1312)]}(w[B(2726)]=N)[B(2086)].keyPair=function(H){return new F(this,H)},N[B(2086)][B(234)]=function(H,J){var K=B;return F[K(1851)](this,H,J)},N[B(2086)][B(896)]=function(H,J){var K=B;return F[K(2371)](this,H,J)},N[B(2086)][B(2505)]=function(H){for(var J=B,K=new S({hash:this.hash,pers:(H=H||{})[J(1476)],persEnc:H[J(474)]||"utf8",entropy:H[J(2580)]||T(this[J(1312)][J(2194)]),entropyEnc:H[J(2580)]&&H[J(978)]||J(2016),nonce:this.n[J(1780)]()}),X=this.n[J(2127)](),j=this.n[J(713)](new D(2));;){var ee=new D(K.generate(X));if(!(0<ee[J(637)](j)))return ee[J(2755)](1),this.keyFromPrivate(ee)}},N.prototype[B(1453)]=function(H,J){var K=B,X=8*H[K(2127)]()-this.n.bitLength();return 0<X&&(H=H[K(1635)](X)),!J&&0<=H.cmp(this.n)?H[K(713)](this.n):H},N[B(2086)][B(375)]=function(H,J,K,X){var j=B;j(2538)==typeof K&&(X=K,K=null),X=X||{},J=this[j(234)](J,K),H=this[j(1453)](new D(H,16));for(var K=this.n[j(2127)](),ee=J[j(2650)]().toArray("be",K),K=H[j(1780)]("be",K),ie=new S({hash:this[j(1312)],entropy:ee,nonce:K,pers:X[j(1476)],persEnc:X[j(474)]||j(2016)}),z=this.n.sub(new D(1)),oe=0;;oe++){var le=X.k?X.k(oe):new D(ie[j(756)](this.n[j(2127)]()));if(!((le=this[j(1453)](le,!0)).cmpn(1)<=0||0<=le.cmp(z))){var Ae=this.g[j(1304)](le);if(!Ae[j(220)]()){var he=Ae[j(584)](),ge=he[j(1792)](this.n);if(ge[j(1915)](0)!==0&&(le=(le=le[j(680)](this.n).mul(ge[j(1304)](J[j(2650)]()).iadd(H)))[j(1792)](this.n),le[j(1915)](0)!==0))return Ae=(Ae.getY()[j(2771)]()?1:0)|(he.cmp(ge)!==0?2:0),X[j(2467)]&&0<le.cmp(this.nh)&&(le=this.n[j(713)](le),Ae^=1),new U({r:ge,s:le,recoveryParam:Ae})}}}},N[B(2086)][B(1392)]=function(ie,z,K,X){var j=B;if(ie=this._truncateToN(new D(ie,16)),K=this[j(896)](K,X),X=(z=new U(z,j(1996))).r,z=z.s,X[j(1915)](1)<0||0<=X[j(637)](this.n)||z[j(1915)](1)<0||0<=z.cmp(this.n))return!1;var ee,z=z[j(680)](this.n),ie=z[j(1304)](ie).umod(this.n),z=z[j(1304)](X).umod(this.n);return this[j(1364)][j(2039)]?!(ee=this.g[j(2549)](ie,K[j(2093)](),z)).isInfinity()&&ee[j(751)](X):!(ee=this.g[j(336)](ie,K.getPublic(),z))[j(220)]()&&ee[j(584)]()[j(1792)](this.n).cmp(X)===0},N[B(2086)][B(1549)]=function(ie,J,Ae,ee){var j=B;L((3&Ae)===Ae,j(206)),J=new U(J,ee);var ee=this.n,ie=new D(ie),z=J.r,oe=J.s,le=1&Ae,Ae=Ae>>1;if(0<=z.cmp(this[j(1364)].p[j(1792)](this[j(1364)].n))&&Ae)throw new Error(j(2564));return z=Ae?this[j(1364)][j(2654)](z[j(1002)](this.curve.n),le):this.curve[j(2654)](z,le),Ae=J.r[j(680)](ee),le=ee[j(713)](ie).mul(Ae)[j(1792)](ee),J=oe.mul(Ae).umod(ee),this.g[j(336)](le,z,J)},N.prototype[B(1658)]=function(H,J,K,X){var j=B;if((J=new U(J,X)).recoveryParam!==null)return J[j(703)];for(var ee,ie=0;ie<4;ie++){try{ee=this[j(1549)](H,J,ie)}catch{continue}if(ee.eq(K))return ie}throw new Error(j(1810))}},31251:(w,Q,M)=>{var B=Tt,D=M(73785),S=M(80953).assert;function P(R,T){var L=Tt;this.ec=R,this[L(552)]=null,this.pub=null,T.priv&&this._importPrivate(T[L(552)],T[L(2303)]),T[L(1030)]&&this[L(2112)](T[L(1030)],T[L(2449)])}(w[B(2726)]=P)[B(2371)]=function(R,T,L){return T instanceof P?T:new P(R,{pub:T,pubEnc:L})},P[B(1851)]=function(R,T,L){return T instanceof P?T:new P(R,{priv:T,privEnc:L})},P[B(2086)].validate=function(){var R=B,T=this[R(2093)]();return T.isInfinity()?{result:!1,reason:R(2124)}:T[R(1335)]()?T[R(1304)](this.ec[R(1364)].n)[R(220)]()?{result:!0,reason:null}:{result:!1,reason:R(2640)}:{result:!1,reason:R(1336)}},P[B(2086)].getPublic=function(R,T){var L=B;return typeof R=="string"&&(T=R,R=null),this.pub||(this.pub=this.ec.g.mul(this[L(552)])),T?this[L(1030)][L(479)](T,R):this[L(1030)]},P[B(2086)][B(2650)]=function(R){var T=B;return T(1996)===R?this[T(552)][T(2192)](16,2):this[T(552)]},P.prototype[B(2225)]=function(R,T){var L=B;this[L(552)]=new D(R,T||16),this[L(552)]=this[L(552)].umod(this.ec[L(1364)].n)},P[B(2086)][B(2112)]=function(R,T){var L=B;if(R.x||R.y)return L(649)===this.ec[L(1364)][L(1808)]?S(R.x,L(1751)):L(1182)!==this.ec.curve[L(1808)]&&L(1970)!==this.ec[L(1364)][L(1808)]||S(R.x&&R.y,"Need both x and y coordinate"),void(this[L(1030)]=this.ec[L(1364)][L(1363)](R.x,R.y));this[L(1030)]=this.ec[L(1364)].decodePoint(R,T)},P[B(2086)][B(1969)]=function(R){var T=B;return R[T(1335)]()||S(R.validate(),"public point not validated"),R[T(1304)](this[T(552)])[T(584)]()},P.prototype.sign=function(R,T,L){return this.ec.sign(R,this,T,L)},P[B(2086)][B(1392)]=function(R,T){var L=B;return this.ec[L(1392)](R,T,this)},P.prototype[B(1727)]=function(){var R=B;return"<Key priv: "+(this[R(552)]&&this[R(552)][R(2192)](16,2))+R(1775)+(this[R(1030)]&&this[R(1030)][R(1727)]())+" >"}},90611:(w,Q,M)=>{var B=Tt,D=M(73785),S=M(80953),P=S[B(2659)];function R(N,H){var J=B;if(N instanceof R)return N;this[J(1391)](N,H)||(P(N.r&&N.s,J(346)),this.r=new D(N.r,16),this.s=new D(N.s,16),N[J(703)]===void 0?this[J(703)]=null:this[J(703)]=N.recoveryParam)}function T(){var N=B;this[N(2813)]=0}function L(N,H){var J=B,K=N[H[J(2813)]++];if(!(128&K))return K;var X=15&K;if(X==0||4<X)return!1;for(var j=0,ee=0,ie=H[J(2813)];ee<X;ee++,ie++)j=((j<<=8)|N[ie])>>>0;return!(j<=127)&&(H[J(2813)]=ie,j)}function F(N){for(var H=B,J=0,K=N[H(2405)]-1;!N[J]&&!(128&N[J+1])&&J<K;)J++;return J===0?N:N[H(352)](J)}function U(N,H){var J=B;if(H<128)N.push(H);else{var K=1+(Math[J(2717)](H)/Math[J(1158)]>>>3);for(N[J(2764)](128|K);--K;)N.push(H>>>(K<<3)&255);N[J(2764)](H)}}(w[B(2726)]=R)[B(2086)]._importDER=function(N,H){var J=B;if(N=S[J(1780)](N,H),H=new T,N[H.place++]!==48)return!1;var K=L(N,H);if(K===!1||K+H[J(2813)]!==N.length||N[H[J(2813)]++]!==2||(K=L(N,H),K===!1))return!1;var X=N[J(352)](H[J(2813)],K+H.place);if(H.place+=K,N[H[J(2813)]++]!==2||(K=L(N,H),K===!1)||N[J(2405)]!==K+H[J(2813)])return!1;if(N=N[J(352)](H.place,K+H[J(2813)]),X[0]===0){if(!(128&X[1]))return!1;X=X[J(352)](1)}if(N[0]===0){if(!(128&N[1]))return!1;N=N[J(352)](1)}return this.r=new D(X),this.s=new D(N),!(this[J(703)]=null)},R[B(2086)][B(2172)]=function(N){var H=B,K=this.r.toArray(),J=this.s[H(1780)]();for(128&K[0]&&(K=[0][H(1558)](K)),128&J[0]&&(J=[0].concat(J)),K=F(K),J=F(J);!(J[0]||128&J[1]);)J=J[H(352)](1);var X=[2],K=(U(X,K[H(2405)]),(X=X[H(1558)](K))[H(2764)](2),U(X,J[H(2405)]),X.concat(J)),X=[48];return U(X,K[H(2405)]),X=X[H(1558)](K),S[H(479)](X,N)}},65980:(w,Q,M)=>{var B=Tt,D=M(33715),S=M(45427),P=M(80953),R=P[B(2659)],T=P[B(1450)],L=M(79087),F=M(23622);function U(N){var H=B;if(R(H(1613)===N,H(1466)),!(this instanceof U))return new U(N);N=S[N][H(1364)],this[H(1364)]=N,this.g=N.g,this.g[H(2602)](N.n[H(1787)]()+1),this[H(2210)]=N.point()[H(1630)],this[H(599)]=Math[H(235)](N.n[H(1787)]()/8),this[H(1312)]=D.sha512}(w[B(2726)]=U)[B(2086)][B(375)]=function(ee,ie){var J=B;ee=T(ee);var ie=this[J(2332)](ie),K=this[J(374)](ie[J(2758)](),ee),X=this.g[J(1304)](K),j=this[J(1688)](X),ee=this[J(374)](j,ie[J(740)](),ee)[J(1304)](ie.priv()),ie=K[J(1002)](ee)[J(1792)](this[J(1364)].n);return this[J(1160)]({R:X,S:ie,Rencoded:j})},U.prototype[B(1392)]=function(j,H,X){var K=B;j=T(j),H=this[K(1160)](H);var X=this[K(896)](X),j=this.hashInt(H[K(1078)](),X[K(740)](),j),ee=this.g[K(1304)](H.S());return H.R()[K(1002)](X[K(1030)]()[K(1304)](j)).eq(ee)},U[B(2086)][B(374)]=function(){for(var N=B,H=this[N(1312)](),J=0;J<arguments[N(2405)];J++)H[N(1744)](arguments[J]);return P[N(1595)](H[N(2637)]()).umod(this[N(1364)].n)},U.prototype[B(896)]=function(N){var H=B;return L[H(2371)](this,N)},U[B(2086)].keyFromSecret=function(N){var H=B;return L[H(1340)](this,N)},U.prototype[B(1160)]=function(N){return N instanceof F?N:new F(this,N)},U.prototype[B(1688)]=function(N){var H=B,J=N[H(596)]()[H(1780)]("le",this.encodingLength);return J[this[H(599)]-1]|=N[H(584)]()[H(2771)]()?128:0,J},U[B(2086)][B(816)]=function(K){var H=B,X=(K=P[H(1450)](K))[H(2405)]-1,J=K[H(352)](0,X)[H(1558)](-129&K[X]),K=(128&K[X])!=0,X=P[H(1595)](J);return this.curve[H(1001)](X,K)},U[B(2086)][B(456)]=function(N){var H=B;return N[H(1780)]("le",this[H(599)])},U[B(2086)][B(1377)]=function(N){return P.intFromLE(N)},U[B(2086)].isPoint=function(N){var H=B;return N instanceof this[H(2210)]}},79087:(w,Q,R)=>{var B=Tt,D=R(80953),S=D.assert,P=D[B(1450)],R=D[B(441)];function T(L,F){var U=B;this[U(2109)]=L,this[U(2304)]=P(F[U(328)]),L[U(2437)](F[U(1030)])?this._pub=F[U(1030)]:this[U(2587)]=P(F[U(1030)])}T[B(2371)]=function(L,F){return F instanceof T?F:new T(L,{pub:F})},T[B(1340)]=function(L,F){return F instanceof T?F:new T(L,{secret:F})},T[B(2086)][B(328)]=function(){return this._secret},R(T,"pubBytes",function(){var L=B;return this[L(2109)].encodePoint(this[L(1030)]())}),R(T,B(1030),function(){var L=B;return this[L(2587)]?this[L(2109)][L(816)](this[L(2587)]):this[L(2109)].g[L(1304)](this[L(552)]())}),R(T,"privBytes",function(){var L=B,F=this[L(2109)],N=this.hash(),U=F.encodingLength-1,N=N[L(352)](0,F[L(599)]);return N[0]&=248,N[U]&=127,N[U]|=64,N}),R(T,"priv",function(){var L=B;return this[L(2109)][L(1377)](this[L(2175)]())}),R(T,B(1312),function(){var L=B;return this.eddsa[L(1312)]()[L(1744)](this.secret()).digest()}),R(T,B(2758),function(){var L=B;return this[L(1312)]().slice(this[L(2109)][L(599)])}),T.prototype[B(375)]=function(L){var F=B;return S(this[F(2304)],F(225)),this[F(2109)].sign(L,this)},T[B(2086)][B(1392)]=function(L,F){var U=B;return this[U(2109)][U(1392)](L,F,this)},T[B(2086)][B(1136)]=function(L){var F=B;return S(this._secret,F(794)),D[F(479)](this.secret(),L)},T.prototype.getPublic=function(L){var F=B;return D[F(479)](this[F(740)](),L)},w[B(2726)]=T},23622:(w,Q,R)=>{var B=Tt,D=R(73785),S=R(80953),P=S[B(2659)],R=S.cachedProperty,T=S[B(1450)];function L(F,U){var N=B;this[N(2109)]=F,N(2538)!=typeof U&&(U=T(U)),Array[N(2021)](U)&&(U={R:U[N(352)](0,F.encodingLength),S:U[N(352)](F[N(599)])}),P(U.R&&U.S,N(2643)),F[N(2437)](U.R)&&(this._R=U.R),U.S instanceof D&&(this._S=U.S),this[N(2204)]=Array[N(2021)](U.R)?U.R:U[N(1078)],this[N(661)]=Array[N(2021)](U.S)?U.S:U[N(1939)]}R(L,"S",function(){var F=B;return this[F(2109)][F(1377)](this[F(1939)]())}),R(L,"R",function(){var F=B;return this[F(2109)].decodePoint(this[F(1078)]())}),R(L,B(1078),function(){var F=B;return this[F(2109)].encodePoint(this.R())}),R(L,"Sencoded",function(){var F=B;return this[F(2109)][F(456)](this.S())}),L[B(2086)].toBytes=function(){var F=B;return this[F(1078)]()[F(1558)](this.Sencoded())},L[B(2086)][B(604)]=function(){var F=B;return S[F(479)](this[F(1159)](),F(1996))[F(634)]()},w[B(2726)]=L},91037:w=>{var Q=Tt;w[Q(2726)]={doubles:{step:4,points:[[Q(897),Q(2232)],[Q(839),Q(1621)],[Q(915),Q(1331)],[Q(2055),Q(981)],[Q(972),Q(2500)],[Q(1046),"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],[Q(920),Q(601)],[Q(1714),"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d",Q(163)],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],[Q(280),Q(2161)],[Q(2136),Q(1602)],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862",Q(345)],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7",Q(747)],[Q(678),Q(2402)],[Q(1386),"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],[Q(2606),Q(245)],[Q(780),Q(1388)],[Q(1791),"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],[Q(1837),Q(1424)],[Q(302),Q(1166)],[Q(1293),Q(513)],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6",Q(414)],[Q(1465),Q(266)],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891",Q(1297)],[Q(2422),Q(1993)],[Q(391),Q(497)],[Q(1249),Q(2761)],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070",Q(2113)],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4",Q(2495)],[Q(1172),Q(2295)],[Q(1498),Q(2245)],[Q(1958),Q(2346)],[Q(2795),Q(1122)],[Q(2392),"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],[Q(1868),Q(856)],[Q(2045),Q(2769)],[Q(1343),Q(967)],[Q(1871),Q(364)],[Q(2485),Q(369)],[Q(359),"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],[Q(2598),"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac",Q(1400)],[Q(188),"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],[Q(2364),Q(2759)],[Q(1183),Q(682)],[Q(1101),"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f",Q(524)],[Q(1248),Q(2674)],[Q(886),Q(1539)],[Q(591),"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],[Q(443),"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],[Q(1045),Q(1440)],[Q(1151),Q(1669)],[Q(1719),Q(1804)],[Q(2527),Q(2531)],[Q(627),Q(1840)],[Q(295),"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],[Q(186),Q(813)],[Q(925),"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],[Q(1038),"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],[Q(208),Q(1603)],[Q(2414),Q(1042)],[Q(2035),Q(1104)]]},naf:{wnd:7,points:[[Q(1788),Q(534)],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4",Q(1589)],[Q(636),Q(2187)],[Q(1866),Q(1214)],[Q(1908),Q(2644)],[Q(160),Q(1454)],[Q(1638),"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],[Q(694),"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],[Q(1870),"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],[Q(2774),Q(1947)],[Q(776),Q(2312)],[Q(2547),Q(2497)],[Q(300),Q(410)],[Q(1024),Q(1657)],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4",Q(503)],[Q(296),Q(1619)],[Q(2636),"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],[Q(2724),"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],[Q(2791),Q(2068)],[Q(1693),Q(549)],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],[Q(1900),Q(1195)],[Q(719),Q(1451)],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530",Q(1095)],[Q(1268),"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],[Q(565),"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120",Q(189)],[Q(1081),"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],[Q(1354),Q(2417)],[Q(1863),Q(639)],[Q(1651),Q(1712)],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],[Q(1311),"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],[Q(2426),Q(793)],[Q(738),"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],[Q(537),"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],[Q(1177),Q(2193)],[Q(440),"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],[Q(2678),"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],[Q(1013),Q(351)],[Q(2310),Q(1059)],[Q(1663),Q(1948)],[Q(465),Q(1835)],[Q(2316),"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],[Q(1933),Q(353)],[Q(1019),"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],[Q(1845),Q(2610)],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980",Q(2461)],[Q(2329),Q(1713)],[Q(2315),Q(2262)],[Q(1058),Q(2028)],[Q(2337),Q(2088)],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf",Q(2106)],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5",Q(2781)],[Q(2782),"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],[Q(2719),"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],[Q(1017),Q(1594)],[Q(2065),"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5",Q(1342)],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5",Q(875)],[Q(226),Q(1192)],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881",Q(1278)],[Q(1141),"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],[Q(1339),Q(475)],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726",Q(2794)],[Q(1785),Q(1269)],[Q(587),"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],[Q(2609),Q(543)],[Q(2687),"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],[Q(294),Q(620)],[Q(748),"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],[Q(545),Q(1238)],[Q(696),Q(2005)],[Q(2752),Q(1096)],[Q(2510),Q(385)],[Q(428),Q(449)],[Q(553),"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],[Q(2673),Q(2266)],[Q(707),"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],[Q(1977),Q(2247)],[Q(1984),Q(1980)],[Q(2790),Q(482)],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38",Q(167)],[Q(2336),Q(1018)],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],[Q(2501),Q(550)],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea",Q(203)],[Q(419),"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e",Q(574)],[Q(737),"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],[Q(1314),Q(2563)],[Q(1724),Q(900)],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],[Q(1774),Q(654)],[Q(1962),Q(2784)],[Q(486),Q(1020)],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80",Q(388)],[Q(704),Q(2619)],[Q(469),Q(2664)],[Q(2177),"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],[Q(1473),"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],[Q(210),"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],[Q(1645),"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],[Q(2741),Q(2491)],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8",Q(1074)],[Q(959),"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d",Q(1012)],[Q(1448),Q(1913)],[Q(2217),Q(2087)],[Q(2042),Q(775)],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297",Q(466)],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a",Q(1755)],[Q(566),Q(2126)],[Q(817),Q(1366)],[Q(2786),Q(1832)],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065",Q(394)],[Q(617),"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],[Q(1174),Q(1770)],[Q(923),Q(2169)],[Q(743),Q(2399)],[Q(2062),Q(2211)],[Q(997),Q(2578)],[Q(2066),"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],[Q(954),Q(1660)]]}}},80953:(w,P,R)=>{var B=Tt,D=P,S=R(73785),P=R(79746),R=R(34504);D[B(2659)]=P,D[B(1780)]=R.toArray,D[B(1271)]=R[B(1271)],D.toHex=R[B(604)],D[B(479)]=R[B(479)],D.getNAF=function(T,L,F){for(var U=B,N=new Array(Math.max(T.bitLength(),F)+1),H=(N[U(1263)](0),1<<L+1),J=T[U(914)](),K=0;K<N[U(2405)];K++){var X,j=J[U(1452)](H-1);J[U(2771)]()?J[U(283)](X=(H>>1)-1<j?(H>>1)-j:j):X=0,N[K]=X,J[U(586)](1)}return N},D.getJSF=function(T,L){for(var F=B,U,N=[[],[]],H=(T=T[F(914)](),L=L.clone(),0),J=0;0<T[F(1915)](-H)||0<L[F(1915)](-J);){var K,X=T[F(1452)](3)+H&3,j=L[F(1452)](3)+J&3;j===3&&(j=-1),K=(1&(X=X===3?-1:X))==0?0:(U=T[F(1452)](7)+H&7)!=3&&U!==5||j!==2?X:-X,N[0][F(2764)](K),X=(1&j)==0?0:(U=L[F(1452)](7)+J&7)!=3&&U!==5||X!==2?j:-j,N[1][F(2764)](X),2*H===K+1&&(H=1-H),2*J===X+1&&(J=1-J),T[F(586)](1),L[F(586)](1)}return N},D[B(441)]=function(T,L,F){var U=B,N="_"+L;T[U(2086)][L]=function(){return this[N]!==void 0?this[N]:this[N]=F.call(this)}},D[B(1450)]=function(T){var L=B;return typeof T=="string"?D.toArray(T,L(1996)):T},D[B(1595)]=function(T){var L=B;return new S(T,L(1996),"le")}},73785:function(w,Q,M){var B=Tt;(function(D){"use strict";var S=Tt;function P(G,Y){var W=Tt;if(!G)throw new Error(Y||W(1176))}function R(G,Y){var W=Tt;function O(){}G[W(979)]=Y,O[W(2086)]=Y.prototype,G[W(2086)]=new O,G[W(2086)][W(1630)]=G}function T(G,Y,W){var O=Tt;if(T[O(2672)](G))return G;this[O(1746)]=0,this[O(1157)]=null,this[O(2405)]=0,(this[O(1230)]=null)!==G&&(Y!=="le"&&Y!=="be"||(W=Y,Y=10),this._init(G||0,Y||10,W||"be"))}var L;S(2538)==typeof w?w[S(2726)]=T:D.BN=T,(T.BN=T)[S(642)]=26;try{L=(S(621)!=typeof window&&window.Buffer!==void 0?window:M(85568)).Buffer}catch{}function F(G,Y){var W=S;return G=G[W(2282)](Y),65<=G&&G<=70?G-55:97<=G&&G<=102?G-87:G-48&15}function U(G,Y,W){var O=F(G,W);return Y<=W-1&&(O|=F(G,W-1)<<4),O}function N(G,Y,W,O){for(var re=S,Ce=0,se=Math[re(1817)](G[re(2405)],W),ce=Y;ce<se;ce++)var me=G.charCodeAt(ce)-48,Ce=Ce*O+(49<=me?me-49+10:17<=me?me-17+10:me);return Ce}T[S(2672)]=function(G){var Y=S;return G instanceof T||G!==null&&typeof G=="object"&&G.constructor[Y(642)]===T[Y(642)]&&Array[Y(2021)](G.words)},T.max=function(G,Y){var W=S;return 0<G[W(637)](Y)?G:Y},T[S(1817)]=function(G,Y){var W=S;return G[W(637)](Y)<0?G:Y},T[S(2086)][S(1352)]=function(G,Y,W){var O=S;if(typeof G=="number")return this[O(746)](G,Y,W);if(O(2538)==typeof G)return this[O(845)](G,Y,W);P((Y=O(1996)===Y?16:Y)===(0|Y)&&2<=Y&&Y<=36);var re=0;(G=G[O(2192)]().replace(/\s+/g,""))[0]==="-"&&(re++,this[O(1746)]=1),re<G[O(2405)]&&(Y===16?this[O(1936)](G,re,W):(this[O(1534)](G,Y,re),W==="le"&&this[O(845)](this[O(1780)](),Y,W)))},T[S(2086)][S(746)]=function(G,Y,W){var O=S;G<0&&(this[O(1746)]=1,G=-G),G<67108864?(this[O(1157)]=[67108863&G],this[O(2405)]=1):G<4503599627370496?(this[O(1157)]=[67108863&G,G/67108864&67108863],this[O(2405)]=2):(P(G<9007199254740992),this[O(1157)]=[67108863&G,G/67108864&67108863,1],this[O(2405)]=3),W==="le"&&this[O(845)](this[O(1780)](),Y,W)},T.prototype._initArray=function(G,Y,W){var O=S;if(P(O(647)==typeof G.length),G[O(2405)]<=0)return this[O(1157)]=[0],this.length=1,this;this[O(2405)]=Math[O(235)](G[O(2405)]/3),this.words=new Array(this[O(2405)]);for(var re,se,ce=0;ce<this[O(2405)];ce++)this[O(1157)][ce]=0;var me=0;if(W==="be")for(ce=G[O(2405)]-1,re=0;0<=ce;ce-=3)se=G[ce]|G[ce-1]<<8|G[ce-2]<<16,this[O(1157)][re]|=se<<me&67108863,this[O(1157)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);else if(W==="le")for(re=ce=0;ce<G.length;ce+=3)se=G[ce]|G[ce+1]<<8|G[ce+2]<<16,this.words[re]|=se<<me&67108863,this[O(1157)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);return this.strip()},T[S(2086)][S(1936)]=function(G,Y,W){var O=S;this[O(2405)]=Math[O(235)]((G[O(2405)]-Y)/6),this[O(1157)]=new Array(this[O(2405)]);for(var re=0;re<this.length;re++)this.words[re]=0;var se,ce=0,me=0;if(W==="be")for(re=G.length-1;Y<=re;re-=2)se=U(G,Y,re)<<ce,this[O(1157)][me]|=67108863&se,18<=ce?(ce-=18,this[O(1157)][me+=1]|=se>>>26):ce+=8;else for(re=(G[O(2405)]-Y)%2==0?Y+1:Y;re<G.length;re+=2)se=U(G,Y,re)<<ce,this[O(1157)][me]|=67108863&se,18<=ce?(ce-=18,this.words[me+=1]|=se>>>26):ce+=8;this[O(1282)]()},T[S(2086)][S(1534)]=function(G,Y,W){var O=S;this[O(1157)]=[0];for(var re=0,se=this[O(2405)]=1;se<=67108863;se*=Y)re++;for(var se=se/Y|0,ce=G[O(2405)]-W,me=ce%--re,Ce=Math[O(1817)](ce,ce-me)+W,ye=0,Be=W;Be<Ce;Be+=re)ye=N(G,Be,Be+re,Y),this[O(2548)](se),this[O(1157)][0]+ye<67108864?this[O(1157)][0]+=ye:this[O(2209)](ye);if(me!=0){for(var Me=1,ye=N(G,Be,G[O(2405)],Y),Be=0;Be<me;Be++)Me*=Y;this[O(2548)](Me),this[O(1157)][0]+ye<67108864?this[O(1157)][0]+=ye:this[O(2209)](ye)}this[O(1282)]()},T.prototype.copy=function(G){var Y=S;G[Y(1157)]=new Array(this[Y(2405)]);for(var W=0;W<this[Y(2405)];W++)G[Y(1157)][W]=this[Y(1157)][W];G[Y(2405)]=this.length,G.negative=this.negative,G.red=this[Y(1230)]},T[S(2086)][S(914)]=function(){var G=S,Y=new T(null);return this[G(1973)](Y),Y},T.prototype[S(559)]=function(G){for(var Y=S;this[Y(2405)]<G;)this[Y(1157)][this[Y(2405)]++]=0;return this},T[S(2086)].strip=function(){for(var G=S;1<this[G(2405)]&&this[G(1157)][this[G(2405)]-1]===0;)this[G(2405)]--;return this[G(1088)]()},T.prototype[S(1088)]=function(){var G=S;return this.length===1&&this[G(1157)][0]===0&&(this[G(1746)]=0),this},T[S(2086)][S(1727)]=function(){var G=S;return(this[G(1230)]?G(652):G(398))+this[G(2192)](16)+">"};var H=["","0","00",S(2283),S(2629),S(299),S(614),"0000000",S(505),S(403),S(521),S(179),S(1054),"0000000000000",S(2705),S(1706),S(1482),S(2566),"000000000000000000",S(530),S(480),S(2305),S(2588),S(1175),S(1624),S(1276)],J=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],K=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function X(G,Y,W){var O=S;W.negative=Y.negative^G[O(1746)];var re=G[O(2405)]+Y[O(2405)]|0,re=(W[O(2405)]=re)-1|0,se=(me=(0|G[O(1157)][0])*(0|Y[O(1157)][0]))/67108864|0;W[O(1157)][0]=67108863&me;for(var ce=1;ce<re;ce++){for(var me,Ce=se>>>26,ye=67108863&se,Be=Math.min(ce,Y[O(2405)]-1),Me=Math[O(1093)](0,ce-G.length+1);Me<=Be;Me++)Ce+=(me=(0|G[O(1157)][ce-Me|0])*(0|Y[O(1157)][Me])+ye)/67108864|0,ye=67108863&me;W[O(1157)][ce]=0|ye,se=0|Ce}return se!==0?W[O(1157)][ce]=0|se:W.length--,W[O(1282)]()}T[S(2086)].toString=function(G,Y){var W=S;if(Y=0|Y||1,(G=G||10)===16||G==="hex"){for(var O="",re=0,se=0,ce=0;ce<this[W(2405)];ce++){var me=this.words[ce],Ce=(16777215&(me<<re|se))[W(2192)](16),O=(se=me>>>24-re&16777215)!=0||ce!==this[W(2405)]-1?H[6-Ce[W(2405)]]+Ce+O:Ce+O;26<=(re+=2)&&(re-=26,ce--)}for(se!==0&&(O=se[W(2192)](16)+O);O[W(2405)]%Y!=0;)O="0"+O;return this[W(1746)]!==0?"-"+O:O}if(G===(0|G)&&2<=G&&G<=36){var ye=J[G],Be=K[G];for(O="",(Me=this[W(914)]())[W(1746)]=0;!Me.isZero();){var Me,He=Me[W(1605)](Be)[W(2192)](G);O=(Me=Me[W(929)](Be))[W(1072)]()?He+O:H[ye-He[W(2405)]]+He+O}for(this[W(1072)]()&&(O="0"+O);O.length%Y!=0;)O="0"+O;return this[W(1746)]!==0?"-"+O:O}P(!1,W(1169))},T[S(2086)][S(2277)]=function(){var G=S,Y=this.words[0];return this[G(2405)]===2?Y+=67108864*this.words[1]:this.length===3&&this[G(1157)][2]===1?Y+=4503599627370496+67108864*this[G(1157)][1]:2<this[G(2405)]&&P(!1,"Number can only safely store up to 53 bits"),this[G(1746)]!==0?-Y:Y},T[S(2086)][S(1130)]=function(){var G=S;return this[G(2192)](16)},T[S(2086)].toBuffer=function(G,Y){var W=S;return P(L!==void 0),this[W(1298)](L,G,Y)},T[S(2086)].toArray=function(G,Y){var W=S;return this[W(1298)](Array,G,Y)},T.prototype[S(1298)]=function(G,Y,Ce){var O=S,re,se,ce=this[O(2127)](),me=Ce||Math[O(1093)](1,ce),Ce=(P(ce<=me,O(2424)),P(0<me,"Requested array length <= 0"),this[O(1282)](),Y==="le"),ye=new G(me),Be=this[O(914)]();if(Ce){for(se=0;!Be[O(1072)]();se++)re=Be[O(1452)](255),Be[O(586)](8),ye[se]=re;for(;se<me;se++)ye[se]=0}else{for(se=0;se<me-ce;se++)ye[se]=0;for(se=0;!Be[O(1072)]();se++)re=Be[O(1452)](255),Be[O(586)](8),ye[me-se-1]=re}return ye},Math[S(256)]?T[S(2086)][S(1701)]=function(G){var Y=S;return 32-Math[Y(256)](G)}:T[S(2086)][S(1701)]=function(G){var Y=0;return 4096<=G&&(Y+=13,G>>>=13),64<=G&&(Y+=7,G>>>=7),8<=G&&(Y+=4,G>>>=4),2<=G&&(Y+=2,G>>>=2),Y+G},T[S(2086)]._zeroBits=function(G){if(G===0)return 26;var Y=0;return(8191&G)==0&&(Y+=13,G>>>=13),(127&G)==0&&(Y+=7,G>>>=7),(15&G)==0&&(Y+=4,G>>>=4),(3&G)==0&&(Y+=2,G>>>=2),(1&G)==0&&Y++,Y},T[S(2086)][S(1787)]=function(){var G=S,Y=this[G(1157)][this[G(2405)]-1],Y=this._countBits(Y);return 26*(this.length-1)+Y},T[S(2086)][S(2348)]=function(){var G=S;if(this[G(1072)]())return 0;for(var Y=0,W=0;W<this.length;W++){var O=this[G(1577)](this[G(1157)][W]);if(Y+=O,O!==26)break}return Y},T[S(2086)][S(2127)]=function(){var G=S;return Math[G(235)](this[G(1787)]()/8)},T[S(2086)][S(2212)]=function(G){var Y=S;return this[Y(1746)]!==0?this[Y(2148)]()[Y(1039)](G)[Y(2755)](1):this[Y(914)]()},T[S(2086)][S(2095)]=function(G){var Y=S;return this[Y(360)](G-1)?this.notn(G).iaddn(1)[Y(1232)]():this.clone()},T[S(2086)][S(980)]=function(){var G=S;return this[G(1746)]!==0},T[S(2086)][S(770)]=function(){var G=S;return this[G(914)]()[G(1232)]()},T[S(2086)][S(1232)]=function(){var G=S;return this[G(1072)]()||(this.negative^=1),this},T[S(2086)].iuor=function(G){for(var Y=S;this[Y(2405)]<G[Y(2405)];)this[Y(1157)][this.length++]=0;for(var W=0;W<G[Y(2405)];W++)this.words[W]=this[Y(1157)][W]|G.words[W];return this.strip()},T[S(2086)][S(2085)]=function(G){var Y=S;return P((this[Y(1746)]|G.negative)==0),this.iuor(G)},T[S(2086)].or=function(G){var Y=S;return this.length>G[Y(2405)]?this[Y(914)]()[Y(2085)](G):G.clone().ior(this)},T[S(2086)][S(861)]=function(G){var Y=S;return this.length>G[Y(2405)]?this[Y(914)]()[Y(1416)](G):G[Y(914)]()[Y(1416)](this)},T[S(2086)][S(1501)]=function(G){for(var Y=S,W=this[Y(2405)]>G[Y(2405)]?G:this,O=0;O<W[Y(2405)];O++)this[Y(1157)][O]=this[Y(1157)][O]&G[Y(1157)][O];return this[Y(2405)]=W[Y(2405)],this[Y(1282)]()},T[S(2086)][S(1757)]=function(G){var Y=S;return P((this[Y(1746)]|G[Y(1746)])==0),this[Y(1501)](G)},T[S(2086)].and=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(1757)](G):G[Y(914)]()[Y(1757)](this)},T.prototype.uand=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]().iuand(G):G[Y(914)]().iuand(this)},T[S(2086)].iuxor=function(G){for(var Y=S,W,O=this[Y(2405)]>G.length?(W=this,G):(W=G,this),re=0;re<O[Y(2405)];re++)this[Y(1157)][re]=W[Y(1157)][re]^O[Y(1157)][re];if(this!==W)for(;re<W[Y(2405)];re++)this[Y(1157)][re]=W[Y(1157)][re];return this.length=W[Y(2405)],this.strip()},T[S(2086)][S(2425)]=function(G){var Y=S;return P((this.negative|G.negative)==0),this[Y(1313)](G)},T.prototype.xor=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(2425)](G):G[Y(914)]().ixor(this)},T[S(2086)][S(1444)]=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(1313)](G):G[Y(914)]().iuxor(this)},T[S(2086)].inotn=function(O){var Y=S;P(Y(647)==typeof O&&0<=O);var W=0|Math[Y(235)](O/26),O=O%26;this._expand(W),0<O&&W--;for(var re=0;re<W;re++)this[Y(1157)][re]=67108863&~this[Y(1157)][re];return 0<O&&(this[Y(1157)][re]=~this[Y(1157)][re]&67108863>>26-O),this.strip()},T[S(2086)][S(2800)]=function(G){var Y=S;return this[Y(914)]()[Y(1039)](G)},T[S(2086)][S(1384)]=function(re,Y){var W=S;P(W(647)==typeof re&&0<=re);var O=re/26|0,re=re%26;return this._expand(1+O),this[W(1157)][O]=Y?this.words[O]|1<<re:this[W(1157)][O]&~(1<<re),this[W(1282)]()},T.prototype[S(2553)]=function(G){var Y=S,W,O;if(this[Y(1746)]!==0&&G[Y(1746)]===0)return this[Y(1746)]=0,W=this[Y(1155)](G),this[Y(1746)]^=1,this[Y(1088)]();if(this.negative===0&&G[Y(1746)]!==0)return G.negative=0,W=this[Y(1155)](G),G[Y(1746)]=1,W[Y(1088)]();for(var re=this[Y(2405)]>G[Y(2405)]?(O=this,G):(O=G,this),se=0,ce=0;ce<re.length;ce++)W=(0|O.words[ce])+(0|re[Y(1157)][ce])+se,this[Y(1157)][ce]=67108863&W,se=W>>>26;for(;se!==0&&ce<O[Y(2405)];ce++)W=(0|O.words[ce])+se,this[Y(1157)][ce]=67108863&W,se=W>>>26;if(this.length=O[Y(2405)],se!==0)this.words[this[Y(2405)]]=se,this.length++;else if(O!==this)for(;ce<O[Y(2405)];ce++)this[Y(1157)][ce]=O[Y(1157)][ce];return this},T[S(2086)][S(1002)]=function(G){var Y=S,W;return G[Y(1746)]!==0&&this[Y(1746)]===0?(G[Y(1746)]=0,W=this[Y(713)](G),G[Y(1746)]^=1,W):G[Y(1746)]===0&&this[Y(1746)]!==0?(this.negative=0,W=G[Y(713)](this),this.negative=1,W):this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(2553)](G):G[Y(914)]()[Y(2553)](this)},T[S(2086)][S(1155)]=function(G){var Y=S,W;if(G[Y(1746)]!==0)return G[Y(1746)]=0,W=this[Y(2553)](G),G.negative=1,W[Y(1088)]();if(this[Y(1746)]!==0)return this.negative=0,this.iadd(G),this[Y(1746)]=1,this[Y(1088)]();var O,re=this[Y(637)](G);if(re===0)return this[Y(1746)]=0,this[Y(2405)]=1,this[Y(1157)][0]=0,this;for(var se=0<re?(O=this,G):(O=G,this),ce=0,me=0;me<se[Y(2405)];me++)ce=(W=(0|O[Y(1157)][me])-(0|se[Y(1157)][me])+ce)>>26,this[Y(1157)][me]=67108863&W;for(;ce!==0&&me<O[Y(2405)];me++)ce=(W=(0|O.words[me])+ce)>>26,this[Y(1157)][me]=67108863&W;if(ce===0&&me<O[Y(2405)]&&O!==this)for(;me<O[Y(2405)];me++)this[Y(1157)][me]=O.words[me];return this[Y(2405)]=Math.max(this.length,me),O!==this&&(this[Y(1746)]=1),this[Y(1282)]()},T[S(2086)].sub=function(G){var Y=S;return this[Y(914)]()[Y(1155)](G)};var j=function(_e,dt,W){var O=S,Je=_e.words,St=dt.words,re=W[O(1157)],di=0|Je[0],Kt=8191&di,di=di>>>13,gt=0|Je[1],Ei=8191>,gt=gt>>>13,ce=0|Je[2],se=8191&ce,ce=ce>>>13,Ce=0|Je[3],me=8191&Ce,Ce=Ce>>>13,Be=0|Je[4],ye=8191&Be,Be=Be>>>13,He=0|Je[5],Me=8191&He,He=He>>>13,Ne=0|Je[6],ke=8191&Ne,Ne=Ne>>>13,we=0|Je[7],Pe=8191&we,we=we>>>13,Ue=0|Je[8],Fe=8191&Ue,Ue=Ue>>>13,Je=0|Je[9],ze=8191&Je,Je=Je>>>13,Vt=0|St[0],pi=8191&Vt,Vt=Vt>>>13,Ht=0|St[1],ui=8191&Ht,Ht=Ht>>>13,Ot=0|St[2],bt=8191&Ot,Ot=Ot>>>13,Ze=0|St[3],je=8191&Ze,Ze=Ze>>>13,At=0|St[4],rt=8191&At,At=At>>>13,at=0|St[5],yt=8191&at,at=at>>>13,_t=0|St[6],ft=8191&_t,_t=_t>>>13,pt=0|St[7],et=8191&pt,pt=pt>>>13,It=0|St[8],zt=8191&It,It=It>>>13,St=0|St[9],Pt=8191&St,St=St>>>13,dt=(W[O(1746)]=_e[O(1746)]^dt[O(1746)],W.length=19,(0+Math[O(1759)](Kt,pi)|0)+((8191&(_e=Math[O(1759)](Kt,Vt)+Math.imul(di,pi)|0))<<13)|0),Wt=(Math[O(1759)](di,Vt)+(_e>>>13)|0)+(dt>>>26)|0,Le=(dt&=67108863,Math.imul(Ei,pi)),_e=Math[O(1759)](Ei,Vt)+Math[O(1759)](gt,pi)|0,Oe=Math[O(1759)](gt,Vt),vt=(Wt+(Le+Math[O(1759)](Kt,ui)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,Ht)|0)+Math[O(1759)](di,ui)|0))<<13)|0,wt=(Wt=((Oe+Math[O(1759)](di,Ht)|0)+(_e>>>13)|0)+(vt>>>26)|0,vt&=67108863,Le=Math[O(1759)](se,pi),_e=Math[O(1759)](se,Vt)+Math.imul(ce,pi)|0,Oe=Math[O(1759)](ce,Vt),Le=Le+Math.imul(Ei,ui)|0,_e=(_e+Math[O(1759)](Ei,Ht)|0)+Math[O(1759)](gt,ui)|0,Oe=Oe+Math[O(1759)](gt,Ht)|0,(Wt+(Le+Math[O(1759)](Kt,bt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,Ot)|0)+Math[O(1759)](di,bt)|0))<<13)|0),Bt=(Wt=((Oe+Math.imul(di,Ot)|0)+(_e>>>13)|0)+(wt>>>26)|0,wt&=67108863,Le=Math.imul(me,pi),_e=Math[O(1759)](me,Vt)+Math.imul(Ce,pi)|0,Oe=Math.imul(Ce,Vt),Le=Le+Math[O(1759)](se,ui)|0,_e=(_e+Math.imul(se,Ht)|0)+Math[O(1759)](ce,ui)|0,Oe=Oe+Math[O(1759)](ce,Ht)|0,Le=Le+Math.imul(Ei,bt)|0,_e=(_e+Math[O(1759)](Ei,Ot)|0)+Math[O(1759)](gt,bt)|0,Oe=Oe+Math.imul(gt,Ot)|0,(Wt+(Le+Math[O(1759)](Kt,je)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,Ze)|0)+Math[O(1759)](di,je)|0))<<13)|0),bi=(Wt=((Oe+Math[O(1759)](di,Ze)|0)+(_e>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,Le=Math.imul(ye,pi),_e=Math[O(1759)](ye,Vt)+Math[O(1759)](Be,pi)|0,Oe=Math[O(1759)](Be,Vt),Le=Le+Math[O(1759)](me,ui)|0,_e=(_e+Math[O(1759)](me,Ht)|0)+Math[O(1759)](Ce,ui)|0,Oe=Oe+Math[O(1759)](Ce,Ht)|0,Le=Le+Math[O(1759)](se,bt)|0,_e=(_e+Math.imul(se,Ot)|0)+Math.imul(ce,bt)|0,Oe=Oe+Math[O(1759)](ce,Ot)|0,Le=Le+Math[O(1759)](Ei,je)|0,_e=(_e+Math[O(1759)](Ei,Ze)|0)+Math[O(1759)](gt,je)|0,Oe=Oe+Math[O(1759)](gt,Ze)|0,(Wt+(Le+Math.imul(Kt,rt)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,At)|0)+Math[O(1759)](di,rt)|0))<<13)|0),nr=(Wt=((Oe+Math[O(1759)](di,At)|0)+(_e>>>13)|0)+(bi>>>26)|0,bi&=67108863,Le=Math[O(1759)](Me,pi),_e=Math[O(1759)](Me,Vt)+Math[O(1759)](He,pi)|0,Oe=Math[O(1759)](He,Vt),Le=Le+Math.imul(ye,ui)|0,_e=(_e+Math[O(1759)](ye,Ht)|0)+Math[O(1759)](Be,ui)|0,Oe=Oe+Math[O(1759)](Be,Ht)|0,Le=Le+Math.imul(me,bt)|0,_e=(_e+Math[O(1759)](me,Ot)|0)+Math[O(1759)](Ce,bt)|0,Oe=Oe+Math.imul(Ce,Ot)|0,Le=Le+Math[O(1759)](se,je)|0,_e=(_e+Math[O(1759)](se,Ze)|0)+Math[O(1759)](ce,je)|0,Oe=Oe+Math[O(1759)](ce,Ze)|0,Le=Le+Math[O(1759)](Ei,rt)|0,_e=(_e+Math.imul(Ei,At)|0)+Math[O(1759)](gt,rt)|0,Oe=Oe+Math[O(1759)](gt,At)|0,(Wt+(Le+Math.imul(Kt,yt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,at)|0)+Math[O(1759)](di,yt)|0))<<13)|0),Ai=(Wt=((Oe+Math.imul(di,at)|0)+(_e>>>13)|0)+(nr>>>26)|0,nr&=67108863,Le=Math[O(1759)](ke,pi),_e=Math[O(1759)](ke,Vt)+Math[O(1759)](Ne,pi)|0,Oe=Math[O(1759)](Ne,Vt),Le=Le+Math[O(1759)](Me,ui)|0,_e=(_e+Math[O(1759)](Me,Ht)|0)+Math.imul(He,ui)|0,Oe=Oe+Math[O(1759)](He,Ht)|0,Le=Le+Math[O(1759)](ye,bt)|0,_e=(_e+Math[O(1759)](ye,Ot)|0)+Math[O(1759)](Be,bt)|0,Oe=Oe+Math.imul(Be,Ot)|0,Le=Le+Math.imul(me,je)|0,_e=(_e+Math[O(1759)](me,Ze)|0)+Math[O(1759)](Ce,je)|0,Oe=Oe+Math[O(1759)](Ce,Ze)|0,Le=Le+Math[O(1759)](se,rt)|0,_e=(_e+Math[O(1759)](se,At)|0)+Math.imul(ce,rt)|0,Oe=Oe+Math[O(1759)](ce,At)|0,Le=Le+Math[O(1759)](Ei,yt)|0,_e=(_e+Math[O(1759)](Ei,at)|0)+Math.imul(gt,yt)|0,Oe=Oe+Math[O(1759)](gt,at)|0,(Wt+(Le+Math[O(1759)](Kt,ft)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,_t)|0)+Math.imul(di,ft)|0))<<13)|0),xi=(Wt=((Oe+Math[O(1759)](di,_t)|0)+(_e>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,Le=Math[O(1759)](Pe,pi),_e=Math[O(1759)](Pe,Vt)+Math.imul(we,pi)|0,Oe=Math[O(1759)](we,Vt),Le=Le+Math[O(1759)](ke,ui)|0,_e=(_e+Math.imul(ke,Ht)|0)+Math[O(1759)](Ne,ui)|0,Oe=Oe+Math.imul(Ne,Ht)|0,Le=Le+Math.imul(Me,bt)|0,_e=(_e+Math[O(1759)](Me,Ot)|0)+Math[O(1759)](He,bt)|0,Oe=Oe+Math[O(1759)](He,Ot)|0,Le=Le+Math.imul(ye,je)|0,_e=(_e+Math.imul(ye,Ze)|0)+Math[O(1759)](Be,je)|0,Oe=Oe+Math.imul(Be,Ze)|0,Le=Le+Math[O(1759)](me,rt)|0,_e=(_e+Math[O(1759)](me,At)|0)+Math[O(1759)](Ce,rt)|0,Oe=Oe+Math[O(1759)](Ce,At)|0,Le=Le+Math[O(1759)](se,yt)|0,_e=(_e+Math[O(1759)](se,at)|0)+Math.imul(ce,yt)|0,Oe=Oe+Math[O(1759)](ce,at)|0,Le=Le+Math[O(1759)](Ei,ft)|0,_e=(_e+Math.imul(Ei,_t)|0)+Math[O(1759)](gt,ft)|0,Oe=Oe+Math[O(1759)](gt,_t)|0,(Wt+(Le+Math[O(1759)](Kt,et)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,pt)|0)+Math[O(1759)](di,et)|0))<<13)|0),Fi=(Wt=((Oe+Math[O(1759)](di,pt)|0)+(_e>>>13)|0)+(xi>>>26)|0,xi&=67108863,Le=Math.imul(Fe,pi),_e=Math[O(1759)](Fe,Vt)+Math[O(1759)](Ue,pi)|0,Oe=Math[O(1759)](Ue,Vt),Le=Le+Math[O(1759)](Pe,ui)|0,_e=(_e+Math[O(1759)](Pe,Ht)|0)+Math[O(1759)](we,ui)|0,Oe=Oe+Math[O(1759)](we,Ht)|0,Le=Le+Math[O(1759)](ke,bt)|0,_e=(_e+Math[O(1759)](ke,Ot)|0)+Math.imul(Ne,bt)|0,Oe=Oe+Math[O(1759)](Ne,Ot)|0,Le=Le+Math.imul(Me,je)|0,_e=(_e+Math[O(1759)](Me,Ze)|0)+Math.imul(He,je)|0,Oe=Oe+Math[O(1759)](He,Ze)|0,Le=Le+Math.imul(ye,rt)|0,_e=(_e+Math.imul(ye,At)|0)+Math[O(1759)](Be,rt)|0,Oe=Oe+Math[O(1759)](Be,At)|0,Le=Le+Math.imul(me,yt)|0,_e=(_e+Math.imul(me,at)|0)+Math.imul(Ce,yt)|0,Oe=Oe+Math[O(1759)](Ce,at)|0,Le=Le+Math.imul(se,ft)|0,_e=(_e+Math[O(1759)](se,_t)|0)+Math[O(1759)](ce,ft)|0,Oe=Oe+Math.imul(ce,_t)|0,Le=Le+Math.imul(Ei,et)|0,_e=(_e+Math[O(1759)](Ei,pt)|0)+Math[O(1759)](gt,et)|0,Oe=Oe+Math.imul(gt,pt)|0,(Wt+(Le+Math[O(1759)](Kt,zt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,It)|0)+Math.imul(di,zt)|0))<<13)|0),pi=(Wt=((Oe+Math.imul(di,It)|0)+(_e>>>13)|0)+(Fi>>>26)|0,Fi&=67108863,Le=Math[O(1759)](ze,pi),_e=Math[O(1759)](ze,Vt)+Math[O(1759)](Je,pi)|0,Oe=Math[O(1759)](Je,Vt),Le=Le+Math[O(1759)](Fe,ui)|0,_e=(_e+Math[O(1759)](Fe,Ht)|0)+Math.imul(Ue,ui)|0,Oe=Oe+Math[O(1759)](Ue,Ht)|0,Le=Le+Math[O(1759)](Pe,bt)|0,_e=(_e+Math.imul(Pe,Ot)|0)+Math[O(1759)](we,bt)|0,Oe=Oe+Math[O(1759)](we,Ot)|0,Le=Le+Math.imul(ke,je)|0,_e=(_e+Math.imul(ke,Ze)|0)+Math[O(1759)](Ne,je)|0,Oe=Oe+Math.imul(Ne,Ze)|0,Le=Le+Math[O(1759)](Me,rt)|0,_e=(_e+Math[O(1759)](Me,At)|0)+Math[O(1759)](He,rt)|0,Oe=Oe+Math[O(1759)](He,At)|0,Le=Le+Math[O(1759)](ye,yt)|0,_e=(_e+Math[O(1759)](ye,at)|0)+Math[O(1759)](Be,yt)|0,Oe=Oe+Math[O(1759)](Be,at)|0,Le=Le+Math.imul(me,ft)|0,_e=(_e+Math[O(1759)](me,_t)|0)+Math[O(1759)](Ce,ft)|0,Oe=Oe+Math.imul(Ce,_t)|0,Le=Le+Math.imul(se,et)|0,_e=(_e+Math[O(1759)](se,pt)|0)+Math.imul(ce,et)|0,Oe=Oe+Math[O(1759)](ce,pt)|0,Le=Le+Math[O(1759)](Ei,zt)|0,_e=(_e+Math[O(1759)](Ei,It)|0)+Math[O(1759)](gt,zt)|0,Oe=Oe+Math[O(1759)](gt,It)|0,(Wt+(Le+Math[O(1759)](Kt,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,St)|0)+Math[O(1759)](di,Pt)|0))<<13)|0),Vt=(Wt=((Oe+Math[O(1759)](di,St)|0)+(_e>>>13)|0)+(pi>>>26)|0,pi&=67108863,Le=Math.imul(ze,ui),_e=Math[O(1759)](ze,Ht)+Math[O(1759)](Je,ui)|0,Oe=Math[O(1759)](Je,Ht),Le=Le+Math[O(1759)](Fe,bt)|0,_e=(_e+Math[O(1759)](Fe,Ot)|0)+Math[O(1759)](Ue,bt)|0,Oe=Oe+Math.imul(Ue,Ot)|0,Le=Le+Math.imul(Pe,je)|0,_e=(_e+Math[O(1759)](Pe,Ze)|0)+Math[O(1759)](we,je)|0,Oe=Oe+Math.imul(we,Ze)|0,Le=Le+Math[O(1759)](ke,rt)|0,_e=(_e+Math[O(1759)](ke,At)|0)+Math[O(1759)](Ne,rt)|0,Oe=Oe+Math[O(1759)](Ne,At)|0,Le=Le+Math[O(1759)](Me,yt)|0,_e=(_e+Math.imul(Me,at)|0)+Math[O(1759)](He,yt)|0,Oe=Oe+Math.imul(He,at)|0,Le=Le+Math[O(1759)](ye,ft)|0,_e=(_e+Math[O(1759)](ye,_t)|0)+Math[O(1759)](Be,ft)|0,Oe=Oe+Math[O(1759)](Be,_t)|0,Le=Le+Math[O(1759)](me,et)|0,_e=(_e+Math[O(1759)](me,pt)|0)+Math[O(1759)](Ce,et)|0,Oe=Oe+Math.imul(Ce,pt)|0,Le=Le+Math[O(1759)](se,zt)|0,_e=(_e+Math.imul(se,It)|0)+Math.imul(ce,zt)|0,Oe=Oe+Math[O(1759)](ce,It)|0,(Wt+(Le+Math[O(1759)](Ei,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Ei,St)|0)+Math[O(1759)](gt,Pt)|0))<<13)|0),Kt=(Wt=((Oe+Math[O(1759)](gt,St)|0)+(_e>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,Le=Math.imul(ze,bt),_e=Math[O(1759)](ze,Ot)+Math.imul(Je,bt)|0,Oe=Math.imul(Je,Ot),Le=Le+Math[O(1759)](Fe,je)|0,_e=(_e+Math[O(1759)](Fe,Ze)|0)+Math[O(1759)](Ue,je)|0,Oe=Oe+Math[O(1759)](Ue,Ze)|0,Le=Le+Math[O(1759)](Pe,rt)|0,_e=(_e+Math[O(1759)](Pe,At)|0)+Math[O(1759)](we,rt)|0,Oe=Oe+Math[O(1759)](we,At)|0,Le=Le+Math[O(1759)](ke,yt)|0,_e=(_e+Math.imul(ke,at)|0)+Math[O(1759)](Ne,yt)|0,Oe=Oe+Math.imul(Ne,at)|0,Le=Le+Math[O(1759)](Me,ft)|0,_e=(_e+Math[O(1759)](Me,_t)|0)+Math[O(1759)](He,ft)|0,Oe=Oe+Math.imul(He,_t)|0,Le=Le+Math[O(1759)](ye,et)|0,_e=(_e+Math.imul(ye,pt)|0)+Math[O(1759)](Be,et)|0,Oe=Oe+Math[O(1759)](Be,pt)|0,Le=Le+Math[O(1759)](me,zt)|0,_e=(_e+Math[O(1759)](me,It)|0)+Math[O(1759)](Ce,zt)|0,Oe=Oe+Math[O(1759)](Ce,It)|0,(Wt+(Le+Math[O(1759)](se,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(se,St)|0)+Math[O(1759)](ce,Pt)|0))<<13)|0),di=(Wt=((Oe+Math.imul(ce,St)|0)+(_e>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,Le=Math[O(1759)](ze,je),_e=Math.imul(ze,Ze)+Math[O(1759)](Je,je)|0,Oe=Math[O(1759)](Je,Ze),Le=Le+Math[O(1759)](Fe,rt)|0,_e=(_e+Math.imul(Fe,At)|0)+Math.imul(Ue,rt)|0,Oe=Oe+Math.imul(Ue,At)|0,Le=Le+Math[O(1759)](Pe,yt)|0,_e=(_e+Math[O(1759)](Pe,at)|0)+Math[O(1759)](we,yt)|0,Oe=Oe+Math[O(1759)](we,at)|0,Le=Le+Math.imul(ke,ft)|0,_e=(_e+Math[O(1759)](ke,_t)|0)+Math[O(1759)](Ne,ft)|0,Oe=Oe+Math[O(1759)](Ne,_t)|0,Le=Le+Math[O(1759)](Me,et)|0,_e=(_e+Math[O(1759)](Me,pt)|0)+Math[O(1759)](He,et)|0,Oe=Oe+Math[O(1759)](He,pt)|0,Le=Le+Math.imul(ye,zt)|0,_e=(_e+Math[O(1759)](ye,It)|0)+Math[O(1759)](Be,zt)|0,Oe=Oe+Math.imul(Be,It)|0,(Wt+(Le+Math[O(1759)](me,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](me,St)|0)+Math.imul(Ce,Pt)|0))<<13)|0),ui=(Wt=((Oe+Math[O(1759)](Ce,St)|0)+(_e>>>13)|0)+(di>>>26)|0,di&=67108863,Le=Math[O(1759)](ze,rt),_e=Math[O(1759)](ze,At)+Math[O(1759)](Je,rt)|0,Oe=Math[O(1759)](Je,At),Le=Le+Math.imul(Fe,yt)|0,_e=(_e+Math.imul(Fe,at)|0)+Math[O(1759)](Ue,yt)|0,Oe=Oe+Math[O(1759)](Ue,at)|0,Le=Le+Math[O(1759)](Pe,ft)|0,_e=(_e+Math[O(1759)](Pe,_t)|0)+Math[O(1759)](we,ft)|0,Oe=Oe+Math[O(1759)](we,_t)|0,Le=Le+Math[O(1759)](ke,et)|0,_e=(_e+Math[O(1759)](ke,pt)|0)+Math[O(1759)](Ne,et)|0,Oe=Oe+Math.imul(Ne,pt)|0,Le=Le+Math[O(1759)](Me,zt)|0,_e=(_e+Math[O(1759)](Me,It)|0)+Math[O(1759)](He,zt)|0,Oe=Oe+Math.imul(He,It)|0,(Wt+(Le+Math[O(1759)](ye,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](ye,St)|0)+Math[O(1759)](Be,Pt)|0))<<13)|0),Ht=(Wt=((Oe+Math[O(1759)](Be,St)|0)+(_e>>>13)|0)+(ui>>>26)|0,ui&=67108863,Le=Math[O(1759)](ze,yt),_e=Math.imul(ze,at)+Math.imul(Je,yt)|0,Oe=Math[O(1759)](Je,at),Le=Le+Math[O(1759)](Fe,ft)|0,_e=(_e+Math.imul(Fe,_t)|0)+Math.imul(Ue,ft)|0,Oe=Oe+Math[O(1759)](Ue,_t)|0,Le=Le+Math.imul(Pe,et)|0,_e=(_e+Math[O(1759)](Pe,pt)|0)+Math.imul(we,et)|0,Oe=Oe+Math[O(1759)](we,pt)|0,Le=Le+Math.imul(ke,zt)|0,_e=(_e+Math[O(1759)](ke,It)|0)+Math[O(1759)](Ne,zt)|0,Oe=Oe+Math[O(1759)](Ne,It)|0,(Wt+(Le+Math[O(1759)](Me,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Me,St)|0)+Math[O(1759)](He,Pt)|0))<<13)|0),Ei=(Wt=((Oe+Math[O(1759)](He,St)|0)+(_e>>>13)|0)+(Ht>>>26)|0,Ht&=67108863,Le=Math[O(1759)](ze,ft),_e=Math[O(1759)](ze,_t)+Math[O(1759)](Je,ft)|0,Oe=Math.imul(Je,_t),Le=Le+Math.imul(Fe,et)|0,_e=(_e+Math[O(1759)](Fe,pt)|0)+Math.imul(Ue,et)|0,Oe=Oe+Math[O(1759)](Ue,pt)|0,Le=Le+Math[O(1759)](Pe,zt)|0,_e=(_e+Math[O(1759)](Pe,It)|0)+Math[O(1759)](we,zt)|0,Oe=Oe+Math[O(1759)](we,It)|0,(Wt+(Le+Math[O(1759)](ke,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](ke,St)|0)+Math.imul(Ne,Pt)|0))<<13)|0),gt=(Wt=((Oe+Math.imul(Ne,St)|0)+(_e>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,Le=Math.imul(ze,et),_e=Math[O(1759)](ze,pt)+Math[O(1759)](Je,et)|0,Oe=Math[O(1759)](Je,pt),Le=Le+Math[O(1759)](Fe,zt)|0,_e=(_e+Math[O(1759)](Fe,It)|0)+Math.imul(Ue,zt)|0,Oe=Oe+Math[O(1759)](Ue,It)|0,(Wt+(Le+Math[O(1759)](Pe,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(Pe,St)|0)+Math[O(1759)](we,Pt)|0))<<13)|0),bt=(Wt=((Oe+Math[O(1759)](we,St)|0)+(_e>>>13)|0)+(gt>>>26)|0,gt&=67108863,Le=Math.imul(ze,zt),_e=Math[O(1759)](ze,It)+Math[O(1759)](Je,zt)|0,Oe=Math[O(1759)](Je,It),(Wt+(Le+Math[O(1759)](Fe,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Fe,St)|0)+Math[O(1759)](Ue,Pt)|0))<<13)|0),Ot=(Wt=((Oe+Math[O(1759)](Ue,St)|0)+(_e>>>13)|0)+(bt>>>26)|0,bt&=67108863,(Wt+Math[O(1759)](ze,Pt)|0)+((8191&(_e=Math[O(1759)](ze,St)+Math.imul(Je,Pt)|0))<<13)|0),Wt=(Math.imul(Je,St)+(_e>>>13)|0)+(Ot>>>26)|0;return Ot&=67108863,re[0]=dt,re[1]=vt,re[2]=wt,re[3]=Bt,re[4]=bi,re[5]=nr,re[6]=Ai,re[7]=xi,re[8]=Fi,re[9]=pi,re[10]=Vt,re[11]=Kt,re[12]=di,re[13]=ui,re[14]=Ht,re[15]=Ei,re[16]=gt,re[17]=bt,re[18]=Ot,Wt!=0&&(re[19]=Wt,W.length++),W};function ee(G,Y,W){var O=S;return new ie()[O(950)](G,Y,W)}function ie(G,Y){this.x=G,this.y=Y}Math[S(1759)]||(j=X),T.prototype[S(2374)]=function(G,Y){var W=S,O=this.length+G.length;return(this[W(2405)]===10&&G[W(2405)]===10?j:O<63?X:O<1024?function(re,se,ce){var me=W;ce.negative=se[me(1746)]^re[me(1746)],ce.length=re.length+se.length;for(var Ce=0,ye=0,Be=0;Be<ce[me(2405)]-1;Be++){for(var Me=ye,ye=0,He=67108863&Ce,ke=Math[me(1817)](Be,se.length-1),Ne=Math[me(1093)](0,Be-re[me(2405)]+1);Ne<=ke;Ne++){var Pe,we=(0|re[me(1157)][Be-Ne])*(0|se[me(1157)][Ne]),He=67108863&(Pe=(67108863&we)+He|0);ye+=(Me=(Me=Me+(we/67108864|0)|0)+(Pe>>>26)|0)>>>26,Me&=67108863}ce[me(1157)][Be]=He,Ce=Me,Me=ye}return Ce!==0?ce[me(1157)][Be]=Ce:ce[me(2405)]--,ce[me(1282)]()}:ee)(this,G,Y)},ie.prototype[S(894)]=function(G){for(var Y=S,W=new Array(G),O=T.prototype[Y(1701)](G)-1,re=0;re<G;re++)W[re]=this.revBin(re,O,G);return W},ie[S(2086)].revBin=function(G,Y,W){if(G===0||G===W-1)return G;for(var O=0,re=0;re<Y;re++)O|=(1&G)<<Y-re-1,G>>=1;return O},ie[S(2086)].permute=function(G,Y,W,O,re,se){for(var ce=0;ce<se;ce++)O[ce]=Y[G[ce]],re[ce]=W[G[ce]]},ie[S(2086)][S(1334)]=function(G,Y,W,O,re,se){var ce=S;this[ce(2706)](se,G,Y,W,O,re);for(var me=1;me<re;me<<=1)for(var Ce=me<<1,ye=Math.cos(2*Math.PI/Ce),Be=Math[ce(1574)](2*Math.PI/Ce),Me=0;Me<re;Me+=Ce)for(var He=ye,ke=Be,Ne=0;Ne<me;Ne++){var Pe=W[Me+Ne],we=O[Me+Ne],Fe=W[Me+Ne+me],Ue=He*Fe-ke*(ze=O[Me+Ne+me]),ze=He*ze+ke*Fe;W[Me+Ne]=Pe+(Fe=Ue),O[Me+Ne]=we+ze,W[Me+Ne+me]=Pe-Fe,O[Me+Ne+me]=we-ze,Ne!==Ce&&(Ue=ye*He-Be*ke,ke=ye*ke+Be*He,He=Ue)}},ie.prototype[S(2723)]=function(G,Y){for(var W=S,Y=1&(re=1|Math[W(1093)](Y,G)),O=0,re=re/2|0;re;re>>>=1)O++;return 1<<O+1+Y},ie[S(2086)][S(2120)]=function(G,Y,W){if(!(W<=1))for(var O=0;O<W/2;O++){var re=G[O];G[O]=G[W-O-1],G[W-O-1]=re,re=Y[O],Y[O]=-Y[W-O-1],Y[W-O-1]=-re}},ie.prototype.normalize13b=function(G,Y){for(var W=S,O=0,re=0;re<Y/2;re++){var se=8192*Math[W(1162)](G[2*re+1]/Y)+Math[W(1162)](G[2*re]/Y)+O;G[re]=67108863&se,O=se<67108864?0:se/67108864|0}return G},ie[S(2086)].convert13b=function(G,Y,W,O){for(var re=0,se=0;se<Y;se++)re+=0|G[se],W[2*se]=8191&re,W[2*se+1]=8191&(re>>>=13),re>>>=13;for(se=2*Y;se<O;++se)W[se]=0;P(re===0),P((-8192&re)==0)},ie[S(2086)][S(1405)]=function(G){for(var Y=new Array(G),W=0;W<G;W++)Y[W]=0;return Y},ie[S(2086)][S(950)]=function(G,Y,W){var O=S,re=2*this.guessLen13b(G[O(2405)],Y[O(2405)]),se=this[O(894)](re),ce=this[O(1405)](re),me=new Array(re),Ce=new Array(re),ye=new Array(re),Be=new Array(re),Me=new Array(re),He=new Array(re),ke=W[O(1157)];ke[O(2405)]=re,this[O(2710)](G[O(1157)],G.length,me,re),this[O(2710)](Y[O(1157)],Y.length,Be,re),this[O(1334)](me,ce,Ce,ye,re,se),this[O(1334)](Be,ce,Me,He,re,se);for(var Ne=0;Ne<re;Ne++){var Pe=Ce[Ne]*Me[Ne]-ye[Ne]*He[Ne];ye[Ne]=Ce[Ne]*He[Ne]+ye[Ne]*Me[Ne],Ce[Ne]=Pe}return this[O(2120)](Ce,ye,re),this[O(1334)](Ce,ye,ke,ce,re,se),this[O(2120)](ke,ce,re),this[O(407)](ke,re),W[O(1746)]=G.negative^Y[O(1746)],W[O(2405)]=G[O(2405)]+Y[O(2405)],W.strip()},T[S(2086)][S(1304)]=function(G){var Y=S,W=new T(null);return W[Y(1157)]=new Array(this.length+G.length),this[Y(2374)](G,W)},T.prototype[S(1733)]=function(G){var Y=S,W=new T(null);return W[Y(1157)]=new Array(this[Y(2405)]+G[Y(2405)]),ee(this,G,W)},T.prototype[S(1759)]=function(G){var Y=S;return this[Y(914)]()[Y(2374)](G,this)},T.prototype[S(2548)]=function(G){var Y=S;P(Y(647)==typeof G),P(G<67108864);for(var W=0,O=0;O<this[Y(2405)];O++){var re=(0|this[Y(1157)][O])*G,se=(67108863&re)+(67108863&W),W=(W>>=26)+(re/67108864|0)+(se>>>26);this[Y(1157)][O]=67108863&se}return W!==0&&(this.words[O]=W,this[Y(2405)]++),this},T.prototype[S(779)]=function(G){var Y=S;return this[Y(914)]()[Y(2548)](G)},T[S(2086)][S(2524)]=function(){var G=S;return this[G(1304)](this)},T.prototype[S(2496)]=function(){var G=S;return this[G(1759)](this[G(914)]())},T.prototype[S(1905)]=function(G){var Y=S,W=function(ce){for(var me=Tt,Ce=new Array(ce[me(1787)]()),ye=0;ye<Ce[me(2405)];ye++){var Be=ye%26;Ce[ye]=(ce[me(1157)][ye/26|0]&1<<Be)>>>Be}return Ce}(G);if(W[Y(2405)]===0)return new T(1);for(var O=this,re=0;re<W.length&&W[re]===0;re++,O=O[Y(2524)]());if(++re<W[Y(2405)])for(var se=O[Y(2524)]();re<W.length;re++,se=se[Y(2524)]())W[re]!==0&&(O=O[Y(1304)](se));return O},T[S(2086)][S(2622)]=function(G){var Y=S;P(typeof G=="number"&&0<=G);var W=G%26,O=(G-W)/26,re=67108863>>>26-W<<26-W;if(W!=0){for(var se=0,ce=0;ce<this[Y(2405)];ce++){var me=this[Y(1157)][ce]&re,Ce=(0|this.words[ce])-me<<W;this[Y(1157)][ce]=Ce|se,se=me>>>26-W}se&&(this[Y(1157)][ce]=se,this.length++)}if(O!=0){for(ce=this[Y(2405)]-1;0<=ce;ce--)this[Y(1157)][ce+O]=this[Y(1157)][ce];for(ce=0;ce<O;ce++)this[Y(1157)][ce]=0;this[Y(2405)]+=O}return this.strip()},T.prototype[S(2284)]=function(G){return P(this.negative===0),this.iushln(G)},T.prototype[S(586)]=function(G,Y,W){var O=S;P(O(647)==typeof G&&0<=G);var re,re=Y?(Y-Y%26)/26:0,se=G%26,ce=Math.min((G-se)/26,this[O(2405)]),me=67108863^67108863>>>se<<se,Ce=W;if(re-=ce,re=Math[O(1093)](0,re),Ce){for(var ye=0;ye<ce;ye++)Ce[O(1157)][ye]=this.words[ye];Ce.length=ce}if(ce!==0)if(this.length>ce)for(this[O(2405)]-=ce,ye=0;ye<this[O(2405)];ye++)this.words[ye]=this[O(1157)][ye+ce];else this[O(1157)][0]=0,this[O(2405)]=1;for(var Be=0,ye=this[O(2405)]-1;0<=ye&&(Be!==0||re<=ye);ye--){var Me=0|this.words[ye];this[O(1157)][ye]=Be<<26-se|Me>>>se,Be=Me&me}return Ce&&Be!==0&&(Ce[O(1157)][Ce[O(2405)]++]=Be),this[O(2405)]===0&&(this.words[0]=0,this[O(2405)]=1),this[O(1282)]()},T[S(2086)][S(739)]=function(G,Y,W){var O=S;return P(this[O(1746)]===0),this[O(586)](G,Y,W)},T.prototype.shln=function(G){var Y=S;return this[Y(914)]()[Y(2284)](G)},T.prototype.ushln=function(G){var Y=S;return this[Y(914)]()[Y(2622)](G)},T.prototype.shrn=function(G){var Y=S;return this.clone()[Y(739)](G)},T.prototype.ushrn=function(G){var Y=S;return this[Y(914)]()[Y(586)](G)},T[S(2086)].testn=function(W){P(typeof W=="number"&&0<=W);var Y=W%26,W=(W-Y)/26;return!(this.length<=W||!(this.words[W]&1<<Y))},T[S(2086)][S(2255)]=function(O){var Y=S;P(Y(647)==typeof O&&0<=O);var W=O%26,O=(O-W)/26;return P(this.negative===0,"imaskn works only with positive numbers"),this[Y(2405)]<=O?this:(W!=0&&O++,this[Y(2405)]=Math[Y(1817)](O,this[Y(2405)]),W!=0&&(this[Y(1157)][this[Y(2405)]-1]&=67108863^67108863>>>W<<W),this[Y(1282)]())},T[S(2086)][S(1116)]=function(G){var Y=S;return this.clone()[Y(2255)](G)},T[S(2086)].iaddn=function(G){var Y=S;return P(Y(647)==typeof G),P(G<67108864),G<0?this[Y(283)](-G):this[Y(1746)]!==0?(this[Y(2405)]===1&&(0|this[Y(1157)][0])<G?(this[Y(1157)][0]=G-(0|this[Y(1157)][0]),this.negative=0):(this[Y(1746)]=0,this[Y(283)](G),this[Y(1746)]=1),this):this._iaddn(G)},T[S(2086)][S(2209)]=function(G){var Y=S;this[Y(1157)][0]+=G;for(var W=0;W<this[Y(2405)]&&67108864<=this[Y(1157)][W];W++)this[Y(1157)][W]-=67108864,W===this.length-1?this[Y(1157)][W+1]=1:this.words[W+1]++;return this[Y(2405)]=Math[Y(1093)](this.length,W+1),this},T[S(2086)][S(283)]=function(G){var Y=S;if(P(Y(647)==typeof G),P(G<67108864),G<0)return this[Y(2755)](-G);if(this[Y(1746)]!==0)return this[Y(1746)]=0,this[Y(2755)](G),this.negative=1,this;if(this[Y(1157)][0]-=G,this[Y(2405)]===1&&this[Y(1157)][0]<0)this.words[0]=-this.words[0],this[Y(1746)]=1;else for(var W=0;W<this.length&&this[Y(1157)][W]<0;W++)this[Y(1157)][W]+=67108864,--this[Y(1157)][W+1];return this[Y(1282)]()},T[S(2086)][S(1316)]=function(G){var Y=S;return this[Y(914)]()[Y(2755)](G)},T[S(2086)][S(860)]=function(G){var Y=S;return this[Y(914)]()[Y(283)](G)},T[S(2086)].iabs=function(){var G=S;return this[G(1746)]=0,this},T[S(2086)][S(2148)]=function(){var G=S;return this[G(914)]()[G(725)]()},T[S(2086)]._ishlnsubmul=function(G,Y,W){for(var O=S,re=G[O(2405)]+W,se=(this[O(559)](re),0),ce=0;ce<G[O(2405)];ce++){var me=(0|this.words[ce+W])+se,Ce=(0|G.words[ce])*Y,se=((me-=67108863&Ce)>>26)-(Ce/67108864|0);this[O(1157)][ce+W]=67108863&me}for(;ce<this[O(2405)]-W;ce++)se=(me=(0|this.words[ce+W])+se)>>26,this[O(1157)][ce+W]=67108863&me;if(se===0)return this.strip();for(P(se===-1),ce=se=0;ce<this[O(2405)];ce++)se=(me=-(0|this[O(1157)][ce])+se)>>26,this.words[ce]=67108863&me;return this[O(1746)]=1,this.strip()},T[S(2086)][S(1037)]=function(G,Y){var W=S;this[W(2405)],G[W(2405)];var O,re=this[W(914)](),se=G,ce=0|se[W(1157)][se[W(2405)]-1],me=((G=26-this[W(1701)](ce))!=0&&(se=se[W(2181)](G),re[W(2622)](G),ce=0|se[W(1157)][se[W(2405)]-1]),re.length-se[W(2405)]);if(W(2451)!==Y){(O=new T(null))[W(2405)]=1+me,O[W(1157)]=new Array(O[W(2405)]);for(var Ce=0;Ce<O[W(2405)];Ce++)O[W(1157)][Ce]=0}var ye=re.clone()[W(2768)](se,1,me);ye[W(1746)]===0&&(re=ye,O&&(O.words[me]=1));for(var Be=me-1;0<=Be;Be--){var Me=67108864*(0|re[W(1157)][se[W(2405)]+Be])+(0|re[W(1157)][se[W(2405)]+Be-1]),Me=Math[W(1817)](Me/ce|0,67108863);for(re[W(2768)](se,Me,Be);re[W(1746)]!==0;)Me--,re[W(1746)]=0,re[W(2768)](se,1,Be),re[W(1072)]()||(re[W(1746)]^=1);O&&(O[W(1157)][Be]=Me)}return O&&O.strip(),re[W(1282)](),Y!=="div"&&G!=0&&re.iushrn(G),{div:O||null,mod:re}},T[S(2086)][S(1923)]=function(G,Y,W){var O=S;return P(!G[O(1072)]()),this[O(1072)]()?{div:new T(0),mod:new T(0)}:this[O(1746)]!==0&&G[O(1746)]===0?(ce=this[O(770)]()[O(1923)](G,Y),O(2451)!==Y&&(re=ce[O(2526)][O(770)]()),O(2526)!==Y&&(se=ce[O(2451)][O(770)](),W&&se[O(1746)]!==0&&se[O(2553)](G)),{div:re,mod:se}):this[O(1746)]===0&&G[O(1746)]!==0?(ce=this[O(1923)](G[O(770)](),Y),{div:re=O(2451)!==Y?ce[O(2526)][O(770)]():re,mod:ce[O(2451)]}):(this[O(1746)]&G[O(1746)])!=0?(ce=this[O(770)]().divmod(G[O(770)](),Y),O(2526)!==Y&&(se=ce[O(2451)][O(770)](),W&&se[O(1746)]!==0&&se[O(1155)](G)),{div:ce[O(2526)],mod:se}):G[O(2405)]>this.length||this[O(637)](G)<0?{div:new T(0),mod:this}:G.length===1?O(2526)===Y?{div:this[O(2050)](G.words[0]),mod:null}:Y==="mod"?{div:null,mod:new T(this[O(1605)](G.words[0]))}:{div:this[O(2050)](G.words[0]),mod:new T(this[O(1605)](G[O(1157)][0]))}:this._wordDiv(G,Y);var re,se,ce},T[S(2086)].div=function(G){var Y=S;return this[Y(1923)](G,"div",!1)[Y(2526)]},T[S(2086)].mod=function(G){var Y=S;return this.divmod(G,Y(2451),!1).mod},T.prototype.umod=function(G){var Y=S;return this[Y(1923)](G,Y(2451),!0)[Y(2451)]},T[S(2086)][S(2692)]=function(re){var Y=S,W=this.divmod(re);if(W.mod[Y(1072)]())return W[Y(2526)];var se=W[Y(2526)][Y(1746)]!==0?W[Y(2451)][Y(1155)](re):W[Y(2451)],O=re.ushrn(1),re=re[Y(1452)](1),se=se[Y(637)](O);return se<0||re===1&&se===0?W[Y(2526)]:W.div[Y(1746)]!==0?W[Y(2526)].isubn(1):W[Y(2526)][Y(2755)](1)},T.prototype[S(1605)]=function(G){var Y=S;P(G<=67108863);for(var W=(1<<26)%G,O=0,re=this[Y(2405)]-1;0<=re;re--)O=(W*O+(0|this.words[re]))%G;return O},T[S(2086)].idivn=function(G){var Y=S;P(G<=67108863);for(var W=0,O=this[Y(2405)]-1;0<=O;O--){var re=(0|this[Y(1157)][O])+67108864*W;this[Y(1157)][O]=re/G|0,W=re%G}return this.strip()},T[S(2086)][S(2050)]=function(G){var Y=S;return this.clone()[Y(929)](G)},T[S(2086)][S(1005)]=function(G){var Y=S;P(G[Y(1746)]===0),P(!G.isZero());for(var O=this,W=G[Y(914)](),O=O[Y(1746)]!==0?O[Y(1792)](G):O[Y(914)](),re=new T(1),se=new T(0),ce=new T(0),me=new T(1),Ce=0;O.isEven()&&W[Y(2105)]();)O[Y(586)](1),W[Y(586)](1),++Ce;for(var ye=W[Y(914)](),Be=O.clone();!O[Y(1072)]();){for(var Me=0,He=1;(O[Y(1157)][0]&He)==0&&Me<26;++Me,He<<=1);if(0<Me)for(O.iushrn(Me);0<Me--;)(re[Y(2771)]()||se.isOdd())&&(re[Y(2553)](ye),se[Y(1155)](Be)),re[Y(586)](1),se[Y(586)](1);for(var ke=0,Ne=1;(W.words[0]&Ne)==0&&ke<26;++ke,Ne<<=1);if(0<ke)for(W[Y(586)](ke);0<ke--;)(ce[Y(2771)]()||me[Y(2771)]())&&(ce[Y(2553)](ye),me[Y(1155)](Be)),ce[Y(586)](1),me[Y(586)](1);0<=O[Y(637)](W)?(O[Y(1155)](W),re.isub(ce),se[Y(1155)](me)):(W[Y(1155)](O),ce[Y(1155)](re),me.isub(se))}return{a:ce,b:me,gcd:W.iushln(Ce)}},T[S(2086)]._invmp=function(G){var Y=S;P(G.negative===0),P(!G[Y(1072)]());for(var W,re=this,O=G[Y(914)](),re=re.negative!==0?re.umod(G):re[Y(914)](),se=new T(1),ce=new T(0),me=O[Y(914)]();0<re[Y(1915)](1)&&0<O.cmpn(1);){for(var Ce=0,ye=1;(re[Y(1157)][0]&ye)==0&&Ce<26;++Ce,ye<<=1);if(0<Ce)for(re[Y(586)](Ce);0<Ce--;)se[Y(2771)]()&&se[Y(2553)](me),se[Y(586)](1);for(var Be=0,Me=1;(O[Y(1157)][0]&Me)==0&&Be<26;++Be,Me<<=1);if(0<Be)for(O[Y(586)](Be);0<Be--;)ce.isOdd()&&ce.iadd(me),ce[Y(586)](1);0<=re.cmp(O)?(re[Y(1155)](O),se[Y(1155)](ce)):(O[Y(1155)](re),ce[Y(1155)](se))}return(W=re[Y(1915)](1)===0?se:ce).cmpn(0)<0&&W[Y(2553)](G),W},T[S(2086)].gcd=function(G){var Y=S;if(this[Y(1072)]())return G[Y(2148)]();if(G[Y(1072)]())return this[Y(2148)]();var W=this[Y(914)](),O=G[Y(914)]();W[Y(1746)]=0;for(var re=O[Y(1746)]=0;W[Y(2105)]()&&O[Y(2105)]();re++)W.iushrn(1),O[Y(586)](1);for(;;){for(;W[Y(2105)]();)W[Y(586)](1);for(;O.isEven();)O[Y(586)](1);var se=W.cmp(O);if(se<0)var ce=W,W=O,O=ce;else if(se===0||O.cmpn(1)===0)break;W[Y(1155)](O)}return O[Y(2622)](re)},T.prototype.invm=function(G){var Y=S;return this[Y(1005)](G).a[Y(1792)](G)},T[S(2086)].isEven=function(){var G=S;return(1&this[G(1157)][0])==0},T[S(2086)][S(2771)]=function(){var G=S;return(1&this[G(1157)][0])==1},T.prototype[S(1452)]=function(G){var Y=S;return this[Y(1157)][0]&G},T[S(2086)][S(314)]=function(W){var Y=S;P(Y(647)==typeof W);var O=W%26,W=(W-O)/26,O=1<<O;if(this[Y(2405)]<=W)return this[Y(559)](1+W),this[Y(1157)][W]|=O,this;for(var re=O,se=W;re!==0&&se<this.length;se++){var ce=0|this[Y(1157)][se],re=(ce+=re)>>>26;ce&=67108863,this.words[se]=ce}return re!==0&&(this[Y(1157)][se]=re,this[Y(2405)]++),this},T[S(2086)].isZero=function(){var G=S;return this.length===1&&this[G(1157)][0]===0},T[S(2086)][S(1915)]=function(G){var Y=S,W=G<0;return this[Y(1746)]===0||W?this[Y(1746)]===0&&W?1:(this[Y(1282)](),W=1<this[Y(2405)]?1:(P((G=W?-G:G)<=67108863,Y(2514)),(W=0|this[Y(1157)][0])===G?0:W<G?-1:1),this[Y(1746)]!==0?0|-W:W):-1},T[S(2086)][S(637)]=function(G){var Y=S;return this[Y(1746)]!==0&&G[Y(1746)]===0?-1:this.negative===0&&G.negative!==0?1:(G=this.ucmp(G),this[Y(1746)]!==0?0|-G:G)},T.prototype.ucmp=function(G){var Y=S;if(this[Y(2405)]>G[Y(2405)])return 1;if(this[Y(2405)]<G[Y(2405)])return-1;for(var W=0,O=this[Y(2405)]-1;0<=O;O--){var re=0|this.words[O],se=0|G[Y(1157)][O];if(re!=se){re<se?W=-1:se<re&&(W=1);break}}return W},T[S(2086)].gtn=function(G){return this.cmpn(G)===1},T.prototype.gt=function(G){var Y=S;return this[Y(637)](G)===1},T[S(2086)][S(1488)]=function(G){var Y=S;return 0<=this[Y(1915)](G)},T[S(2086)][S(1897)]=function(G){var Y=S;return 0<=this[Y(637)](G)},T[S(2086)][S(1974)]=function(G){return this.cmpn(G)===-1},T[S(2086)].lt=function(G){var Y=S;return this[Y(637)](G)===-1},T[S(2086)][S(2131)]=function(G){var Y=S;return this[Y(1915)](G)<=0},T[S(2086)][S(1284)]=function(G){var Y=S;return this[Y(637)](G)<=0},T[S(2086)][S(2690)]=function(G){var Y=S;return this[Y(1915)](G)===0},T[S(2086)].eq=function(G){var Y=S;return this[Y(637)](G)===0},T[S(1230)]=function(G){return new de(G)},T[S(2086)][S(1705)]=function(G){var Y=S;return P(!this.red,Y(635)),P(this[Y(1746)]===0,"red works only with positives"),G.convertTo(this)[Y(2616)](G)},T[S(2086)][S(240)]=function(){var G=S;return P(this[G(1230)],G(1041)),this[G(1230)][G(2335)](this)},T.prototype[S(2616)]=function(G){var Y=S;return this[Y(1230)]=G,this},T[S(2086)][S(934)]=function(G){var Y=S;return P(!this[Y(1230)],Y(635)),this[Y(2616)](G)},T[S(2086)][S(2308)]=function(G){var Y=S;return P(this.red,Y(2701)),this.red[Y(1002)](this,G)},T[S(2086)][S(2236)]=function(G){var Y=S;return P(this[Y(1230)],Y(876)),this[Y(1230)][Y(2553)](this,G)},T[S(2086)][S(478)]=function(G){var Y=S;return P(this[Y(1230)],Y(1557)),this[Y(1230)][Y(713)](this,G)},T[S(2086)].redISub=function(G){var Y=S;return P(this[Y(1230)],"redISub works only with red numbers"),this[Y(1230)][Y(1155)](this,G)},T[S(2086)][S(2442)]=function(G){var Y=S;return P(this[Y(1230)],Y(835)),this[Y(1230)].shl(this,G)},T[S(2086)][S(2111)]=function(G){var Y=S;return P(this[Y(1230)],Y(1524)),this.red._verify2(this,G),this[Y(1230)][Y(1304)](this,G)},T[S(2086)][S(2590)]=function(G){var Y=S;return P(this[Y(1230)],"redMul works only with red numbers"),this[Y(1230)][Y(1459)](this,G),this[Y(1230)].imul(this,G)},T[S(2086)][S(2082)]=function(){var G=S;return P(this[G(1230)],G(718)),this[G(1230)][G(1171)](this),this[G(1230)][G(2524)](this)},T.prototype[S(1776)]=function(){var G=S;return P(this[G(1230)],G(2300)),this[G(1230)][G(1171)](this),this[G(1230)][G(2496)](this)},T[S(2086)][S(984)]=function(){var G=S;return P(this.red,G(921)),this[G(1230)][G(1171)](this),this.red.sqrt(this)},T[S(2086)].redInvm=function(){var G=S;return P(this[G(1230)],G(863)),this[G(1230)][G(1171)](this),this[G(1230)].invm(this)},T[S(2086)][S(2447)]=function(){var G=S;return P(this[G(1230)],G(1741)),this[G(1230)][G(1171)](this),this[G(1230)][G(770)](this)},T[S(2086)][S(2641)]=function(G){var Y=S;return P(this.red&&!G[Y(1230)],"redPow(normalNum)"),this[Y(1230)][Y(1171)](this),this.red.pow(this,G)};var z={k256:null,p224:null,p192:null,p25519:null};function oe(G,Y){var W=S;this.name=G,this.p=new T(Y,16),this.n=this.p[W(1787)](),this.k=new T(1).iushln(this.n)[W(1155)](this.p),this[W(1242)]=this[W(2201)]()}function le(){var G=S;oe[G(2811)](this,G(522),G(783))}function Ae(){var G=S;oe[G(2811)](this,G(2651),G(760))}function he(){var G=S;oe[G(2811)](this,G(1143),"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ge(){var G=S;oe[G(2811)](this,G(370),G(692))}function de(G){var Y=S,W;Y(1090)==typeof G?(W=T[Y(1739)](G),this.m=W.p,this[Y(1408)]=W):(P(G[Y(912)](1),Y(1420)),this.m=G,this[Y(1408)]=null)}function fe(G){var Y=S;de[Y(2811)](this,G),this[Y(2626)]=this.m.bitLength(),this[Y(2626)]%26!=0&&(this[Y(2626)]+=26-this[Y(2626)]%26),this.r=new T(1).iushln(this[Y(2626)]),this.r2=this[Y(1641)](this.r[Y(2524)]()),this.rinv=this.r[Y(2763)](this.m),this[Y(1277)]=this.rinv[Y(1304)](this.r)[Y(283)](1)[Y(2526)](this.m),this.minv=this[Y(1277)][Y(1792)](this.r),this[Y(1277)]=this.r[Y(713)](this[Y(1277)])}oe.prototype._tmp=function(){var G=S,Y=new T(null);return Y.words=new Array(Math[G(235)](this.n/13)),Y},oe[S(2086)].ireduce=function(G){for(var Y=S,W,O=G;this.split(O,this[Y(1242)]),(W=(O=(O=this.imulK(O))[Y(2553)](this[Y(1242)]))[Y(1787)]())>this.n;);return G=W<this.n?-1:O[Y(356)](this.p),G===0?(O.words[0]=0,O.length=1):0<G?O.isub(this.p):O[Y(1282)]!==void 0?O[Y(1282)]():O[Y(1910)](),O},oe.prototype[S(2523)]=function(G,Y){var W=S;G[W(586)](this.n,0,Y)},oe[S(2086)][S(1365)]=function(G){return G.imul(this.k)},R(le,oe),le.prototype[S(2523)]=function(G,Y){for(var W=S,O=Math[W(1817)](G.length,9),re=0;re<O;re++)Y[W(1157)][re]=G[W(1157)][re];if(Y[W(2405)]=O,G.length<=9)return G[W(1157)][0]=0,void(G[W(2405)]=1);var se=G.words[9];for(Y[W(1157)][Y[W(2405)]++]=4194303&se,re=10;re<G.length;re++){var ce=0|G[W(1157)][re];G[W(1157)][re-10]=(4194303&ce)<<4|se>>>22,se=ce}(G[W(1157)][re-10]=se>>>=22)==0&&10<G[W(2405)]?G[W(2405)]-=10:G[W(2405)]-=9},le[S(2086)][S(1365)]=function(G){var Y=S;G[Y(1157)][G[Y(2405)]]=0,G[Y(1157)][G[Y(2405)]+1]=0,G[Y(2405)]+=2;for(var W=0,O=0;O<G[Y(2405)];O++){var re=0|G[Y(1157)][O];W+=977*re,G[Y(1157)][O]=67108863&W,W=64*re+(W/67108864|0)}return G.words[G[Y(2405)]-1]===0&&(G.length--,G[Y(1157)][G.length-1]===0&&G[Y(2405)]--),G},R(Ae,oe),R(he,oe),R(ge,oe),ge[S(2086)][S(1365)]=function(G){for(var Y=S,W=0,O=0;O<G[Y(2405)];O++){var re=19*(0|G[Y(1157)][O])+W,se=67108863&re;re>>>=26,G.words[O]=se,W=re}return W!==0&&(G[Y(1157)][G[Y(2405)]++]=W),G},T[S(1739)]=function(G){var Y=S;if(z[G])return z[G];var W;if(Y(522)===G)W=new le;else if(Y(2651)===G)W=new Ae;else if(G==="p192")W=new he;else{if(G!=="p25519")throw new Error(Y(1495)+G);W=new ge}return z[G]=W},de[S(2086)]._verify1=function(G){var Y=S;P(G[Y(1746)]===0,"red works only with positives"),P(G[Y(1230)],Y(1553))},de[S(2086)][S(1459)]=function(G,Y){var W=S;P((G[W(1746)]|Y.negative)==0,W(2486)),P(G[W(1230)]&&G[W(1230)]===Y[W(1230)],W(1553))},de[S(2086)][S(1641)]=function(G){var Y=S;return(this[Y(1408)]?this[Y(1408)].ireduce(G):G[Y(1792)](this.m))[Y(2616)](this)},de[S(2086)][S(770)]=function(G){var Y=S;return G.isZero()?G[Y(914)]():this.m[Y(713)](G)[Y(2616)](this)},de[S(2086)][S(1002)]=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(1002)](Y),0<=G[W(637)](this.m)&&G[W(1155)](this.m),G[W(2616)](this)},de.prototype[S(2553)]=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(2553)](Y),0<=G[W(637)](this.m)&&G[W(1155)](this.m),G},de[S(2086)].sub=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(713)](Y),G[W(1915)](0)<0&&G.iadd(this.m),G[W(2616)](this)},de.prototype[S(1155)]=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(1155)](Y),G[W(1915)](0)<0&&G[W(2553)](this.m),G},de[S(2086)][S(284)]=function(G,Y){var W=S;return this[W(1171)](G),this[W(1641)](G.ushln(Y))},de[S(2086)][S(1759)]=function(G,Y){var W=S;return this[W(1459)](G,Y),this[W(1641)](G.imul(Y))},de[S(2086)][S(1304)]=function(G,Y){var W=S;return this[W(1459)](G,Y),this[W(1641)](G[W(1304)](Y))},de[S(2086)][S(2496)]=function(G){var Y=S;return this[Y(1759)](G,G[Y(914)]())},de[S(2086)][S(2524)]=function(G){var Y=S;return this[Y(1304)](G,G)},de.prototype.sqrt=function(G){var Y=S;if(G[Y(1072)]())return G.clone();var W=this.m[Y(1452)](3);if(P(W%2==1),W===3)return W=this.m.add(new T(1)).iushrn(2),this[Y(1905)](G,W);for(var O=this.m[Y(860)](1),re=0;!O[Y(1072)]()&&O.andln(1)===0;)re++,O[Y(586)](1);P(!O.isZero());for(var se=new T(1).toRed(this),ce=se.redNeg(),me=this.m[Y(860)](1)[Y(586)](1),Ce=new T(2*(Ce=this.m[Y(1787)]())*Ce).toRed(this);this[Y(1905)](Ce,me).cmp(ce)!==0;)Ce[Y(2236)](ce);for(var ye=this[Y(1905)](Ce,O),Be=this.pow(G,O.addn(1).iushrn(1)),Me=this.pow(G,O),He=re;Me[Y(637)](se)!==0;){for(var ke=Me,Ne=0;ke[Y(637)](se)!==0;Ne++)ke=ke.redSqr();P(Ne<He);var Pe=this[Y(1905)](ye,new T(1)[Y(2622)](He-Ne-1)),Be=Be[Y(2111)](Pe),ye=Pe[Y(2082)](),Me=Me[Y(2111)](ye),He=Ne}return Be},de[S(2086)][S(680)]=function(G){var Y=S;return G=G[Y(2763)](this.m),G[Y(1746)]!==0?(G[Y(1746)]=0,this.imod(G)[Y(2447)]()):this[Y(1641)](G)},de.prototype[S(1905)]=function(G,Y){var W=S;if(Y.isZero())return new T(1)[W(1705)](this);if(Y.cmpn(1)===0)return G[W(914)]();var O=new Array(16);O[0]=new T(1)[W(1705)](this),O[1]=G;for(var re=2;re<O[W(2405)];re++)O[re]=this[W(1304)](O[re-1],G);var se=O[0],ce=0,me=0,Ce=Y[W(1787)]()%26;for(Ce===0&&(Ce=26),re=Y[W(2405)]-1;0<=re;re--){for(var ye=Y[W(1157)][re],Be=Ce-1;0<=Be;Be--){var Me=ye>>Be&1;se!==O[0]&&(se=this[W(2524)](se)),Me==0&&ce===0?me=0:(ce=ce<<1|Me,(++me==4||re===0&&Be===0)&&(se=this.mul(se,O[ce]),ce=me=0))}Ce=26}return se},de[S(2086)][S(178)]=function(G){var Y=S,W=G[Y(1792)](this.m);return W===G?W.clone():W},de[S(2086)][S(2335)]=function(G){var Y=S;return G=G[Y(914)](),G[Y(1230)]=null,G},T.mont=function(G){return new fe(G)},R(fe,de),fe[S(2086)].convertTo=function(G){var Y=S;return this[Y(1641)](G.ushln(this.shift))},fe[S(2086)][S(2335)]=function(G){var Y=S;return G=this[Y(1641)](G.mul(this.rinv)),G[Y(1230)]=null,G},fe[S(2086)][S(1759)]=function(G,Y){var W=S;return G[W(1072)]()||Y[W(1072)]()?(G[W(1157)][0]=0,G[W(2405)]=1,G):(G=G[W(1759)](Y),Y=G[W(1116)](this[W(2626)])[W(1304)](this[W(1277)])[W(2255)](this[W(2626)]).mul(this.m),G=G[W(1155)](Y)[W(586)](this[W(2626)]),Y=G,0<=G[W(637)](this.m)?Y=G[W(1155)](this.m):G.cmpn(0)<0&&(Y=G.iadd(this.m)),Y[W(2616)](this))},fe[S(2086)].mul=function(G,Y){var W=S;return G.isZero()||Y[W(1072)]()?new T(0)[W(2616)](this):(G=G[W(1304)](Y),Y=G.maskn(this[W(2626)]).mul(this[W(1277)]).imaskn(this[W(2626)]).mul(this.m),G=G[W(1155)](Y)[W(586)](this.shift),Y=G,0<=G[W(637)](this.m)?Y=G.isub(this.m):G.cmpn(0)<0&&(Y=G[W(2553)](this.m)),Y[W(2616)](this))},fe[S(2086)][S(680)]=function(G){var Y=S;return this[Y(1641)](G._invmp(this.m)[Y(1304)](this.r2))._forceRed(this)}})((w=M[B(467)](w),this))},8091:w=>{var Q=Tt;function M(B,D){var S=Tt;if(B==null)throw new TypeError(S(1892));for(var P=Object(B),R=1;R<arguments.length;R++){var T=arguments[R];if(T!=null)for(var L=Object[S(732)](Object(T)),F=0,U=L.length;F<U;F++){var N=L[F],H=Object[S(2143)](T,N);H!==void 0&&H[S(1812)]&&(P[N]=T[N])}}return P}w[Q(2726)]={assign:M,polyfill:function(){var B=Q;Object[B(2628)]||Object.defineProperty(Object,B(2628),{enumerable:!1,configurable:!0,writable:!0,value:M})}}},17187:(w,Q,S)=>{var B=Tt,D=S(25108),S=B(2538)==typeof Reflect?Reflect:null,P=S&&B(605)==typeof S[B(724)]?S[B(724)]:function(ie,z,oe){var le=B;return Function[le(2086)].apply[le(2811)](ie,z,oe)},R=S&&B(605)==typeof S.ownKeys?S[B(389)]:Object[B(700)]?function(ie){var z=B;return Object[z(1906)](ie)[z(1558)](Object.getOwnPropertySymbols(ie))}:function(ie){return Object.getOwnPropertyNames(ie)},T=Number[B(171)]||function(ie){return ie!=ie};function L(){var ie=B;L[ie(373)].call(this)}w[B(2726)]=L,w[B(2726)][B(2441)]=function(ie,z){return new Promise(function(oe,le){var Ae=Tt;function he(de){var fe=Tt;ie[fe(2720)](z,ge),le(de)}function ge(){var de=Tt;de(605)==typeof ie[de(2720)]&&ie[de(2720)](de(1274),he),oe([][de(352)].call(arguments))}ee(ie,z,ge,{once:!0}),Ae(1274)===z||Ae(605)==typeof ie.on&&ee(ie,"error",he,{once:!0})})},(L[B(2583)]=L)[B(2086)][B(161)]=void 0,L[B(2086)][B(1725)]=0,L[B(2086)]._maxListeners=void 0;var F=10;function U(ie){var z=B;if(z(605)!=typeof ie)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof ie)}function N(ie){var z=B;return ie[z(781)]===void 0?L[z(1735)]:ie._maxListeners}function H(ie,z,oe,le){var Ae=B,he,ge;return U(oe),(he=ie._events)===void 0?(he=ie[Ae(161)]=Object[Ae(766)](null),ie._eventsCount=0):(he[Ae(992)]!==void 0&&(ie[Ae(1011)](Ae(992),z,oe.listener||oe),he=ie._events),ge=he[z]),ge===void 0?(ge=he[z]=oe,++ie._eventsCount):(Ae(605)==typeof ge?ge=he[z]=le?[oe,ge]:[ge,oe]:le?ge[Ae(917)](oe):ge.push(oe),0<(he=N(ie))&&ge.length>he&&!ge[Ae(1390)]&&(ge[Ae(1390)]=!0,(le=new Error(Ae(818)+ge[Ae(2405)]+" "+String(z)+Ae(1580)))[Ae(276)]=Ae(1032),le[Ae(1372)]=ie,le[Ae(1808)]=z,le[Ae(1321)]=ge[Ae(2405)],oe=le,D&&D[Ae(998)]&&D.warn(oe))),ie}function J(ie,z,oe){var le=B;return ie={fired:!1,wrapFn:void 0,target:ie,type:z,listener:oe},z=function(){var Ae=Tt;if(!this[Ae(292)])return this[Ae(247)][Ae(2720)](this[Ae(1808)],this[Ae(849)]),this[Ae(292)]=!0,arguments[Ae(2405)]===0?this[Ae(563)][Ae(2811)](this[Ae(247)]):this[Ae(563)][Ae(724)](this[Ae(247)],arguments)}[le(1703)](ie),z.listener=oe,ie.wrapFn=z}function K(ie,z,oe){var le=B;if(ie=ie[le(161)],ie===void 0)return[];if(ie=ie[z],ie===void 0)return[];if(typeof ie=="function")return oe?[ie[le(563)]||ie]:[ie];if(oe){for(var Ae=ie,he=new Array(Ae.length),ge=0;ge<he[le(2405)];++ge)he[ge]=Ae[ge][le(563)]||Ae[ge];return he}return j(ie,ie.length)}function X(ie){var z=B,oe=this[z(161)];if(oe!==void 0){if(oe=oe[ie],z(605)==typeof oe)return 1;if(oe!==void 0)return oe[z(2405)]}return 0}function j(ie,z){for(var oe=new Array(z),le=0;le<z;++le)oe[le]=ie[le];return oe}function ee(ie,z,oe,le){var Ae=B;if(Ae(605)==typeof ie.on)le[Ae(2441)]?ie.once(z,oe):ie.on(z,oe);else{if(typeof ie[Ae(1680)]!="function")throw new TypeError(Ae(749)+typeof ie);ie.addEventListener(z,function he(ge){var de=Ae;le.once&&ie[de(1489)](z,he),oe(ge)})}}Object.defineProperty(L,"defaultMaxListeners",{enumerable:!0,get:function(){return F},set:function(ie){var z=B;if(z(647)!=typeof ie||ie<0||T(ie))throw new RangeError(z(1779)+ie+".");F=ie}}),L[B(373)]=function(){var ie=B;this[ie(161)]!==void 0&&this[ie(161)]!==Object[ie(2411)](this)[ie(161)]||(this[ie(161)]=Object[ie(766)](null),this._eventsCount=0),this[ie(781)]=this[ie(781)]||void 0},L[B(2086)][B(2413)]=function(ie){var z=B;if(z(647)!=typeof ie||ie<0||T(ie))throw new RangeError(z(1360)+ie+".");return this[z(781)]=ie,this},L[B(2086)][B(1225)]=function(){return N(this)},L[B(2086)][B(1011)]=function(ie){for(var z=B,oe=[],le=1;le<arguments[z(2405)];le++)oe.push(arguments[le]);var Ae=ie==="error",he=this[z(161)];if(he!==void 0)Ae=Ae&&he[z(1274)]===void 0;else if(!Ae)return!1;if(Ae)throw(ge=0<oe[z(2405)]?oe[0]:ge)instanceof Error?ge:(Ae=new Error(z(1922)+(ge?" ("+ge.message+")":"")),Ae.context=ge,Ae);var ge=he[ie];if(ge===void 0)return!1;if(z(605)==typeof ge)P(ge,this,oe);else for(var de=ge.length,fe=j(ge,de),le=0;le<de;++le)P(fe[le],this,oe);return!0},L.prototype.on=L[B(2086)].addListener=function(ie,z){return H(this,ie,z,!1)},L.prototype[B(1259)]=function(ie,z){return H(this,ie,z,!0)},L.prototype[B(2441)]=function(ie,z){return U(z),this.on(ie,J(this,ie,z)),this},L[B(2086)][B(1434)]=function(ie,z){var oe=B;return U(z),this[oe(1259)](ie,J(this,ie,z)),this},L[B(2086)][B(2176)]=L[B(2086)][B(2720)]=function(ie,z){var oe=B,le,Ae,he,ge,de;if(U(z),(Ae=this[oe(161)])===void 0)return this;if((le=Ae[ie])===void 0)return this;if(le===z||le[oe(563)]===z)--this._eventsCount==0?this._events=Object[oe(766)](null):(delete Ae[ie],Ae[oe(2720)]&&this[oe(1011)](oe(2720),ie,le[oe(563)]||z));else if(oe(605)!=typeof le){for(he=-1,ge=le[oe(2405)]-1;0<=ge;ge--)if(le[ge]===z||le[ge][oe(563)]===z){de=le[ge][oe(563)],he=ge;break}if(he<0)return this;if(he===0)le[oe(2626)]();else{for(var fe=le,G=he;G+1<fe[oe(2405)];G++)fe[G]=fe[G+1];fe.pop()}le[oe(2405)]===1&&(Ae[ie]=le[0]),Ae[oe(2720)]!==void 0&&this.emit(oe(2720),ie,de||z)}return this},L[B(2086)][B(1946)]=function(ie){var z=B,oe,le=this[z(161)];if(le===void 0)return this;if(le[z(2720)]===void 0)return arguments[z(2405)]===0?(this[z(161)]=Object[z(766)](null),this[z(1725)]=0):le[ie]!==void 0&&(--this[z(1725)]==0?this[z(161)]=Object.create(null):delete le[ie]),this;if(arguments[z(2405)]===0){for(var Ae,he=Object[z(732)](le),ge=0;ge<he[z(2405)];++ge)z(2720)!==(Ae=he[ge])&&this[z(1946)](Ae);return this.removeAllListeners(z(2720)),this._events=Object[z(766)](null),this[z(1725)]=0,this}if(z(605)==typeof(oe=le[ie]))this[z(2720)](ie,oe);else if(oe!==void 0)for(ge=oe[z(2405)]-1;0<=ge;ge--)this[z(2720)](ie,oe[ge]);return this},L[B(2086)][B(932)]=function(ie){return K(this,ie,!0)},L.prototype[B(2735)]=function(ie){return K(this,ie,!1)},L[B(1065)]=function(ie,z){var oe=B;return oe(605)==typeof ie.listenerCount?ie[oe(1065)](z):X[oe(2811)](ie,z)},L[B(2086)][B(1065)]=X,L.prototype[B(1737)]=function(){var ie=B;return 0<this[ie(1725)]?R(this[ie(161)]):[]}},13048:(w,Q,M)=>{var B=Tt,D=M(89509)[B(964)],S=M(62318);w[B(2726)]=function(P,R,T,L){var F=B;if(D[F(1564)](P)||(P=D[F(2151)](P,"binary")),R&&(R=D[F(1564)](R)?R:D[F(2151)](R,"binary"))[F(2405)]!==8)throw new RangeError(F(1734));for(var U=T/8,N=D[F(1526)](U),H=D[F(1526)](L||0),J=D[F(1526)](0);0<U||0<L;){var K,X,j=new S,j=(j[F(1744)](J),j.update(P),R&&j[F(1744)](R),J=j[F(2637)](),0);0<U&&(K=N[F(2405)]-U,j=Math[F(1817)](U,J[F(2405)]),J[F(1973)](N,K,0,j),U-=j),j<J[F(2405)]&&0<L&&(K=H.length-L,X=Math[F(1817)](L,J.length-j),J[F(1973)](H,K,j,j+X),L-=X)}return J[F(1263)](0),{key:N,iv:H}}},94029:(w,Q,M)=>{var B=Tt,D=M(95320),S=Object.prototype.toString,P=Object.prototype[B(2084)];w[B(2726)]=function(R,T,L){var F=B;if(!D(T))throw new TypeError(F(392));var U;if(3<=arguments.length&&(U=L),F(2249)===S[F(2811)](R))for(var N=R,H=T,J=U,K=0,X=N[F(2405)];K<X;K++)P[F(2811)](N,K)&&(J==null?H(N[K],K,N):H[F(2811)](J,N[K],K,N));else if(typeof R=="string")for(var j=R,ee=T,ie=U,z=0,oe=j[F(2405)];z<oe;z++)ie==null?ee(j[F(442)](z),z,j):ee[F(2811)](ie,j[F(442)](z),z,j);else{var le,Ae=R,he=T,ge=U;for(le in Ae)P[F(2811)](Ae,le)&&(ge==null?he(Ae[le],le,Ae):he[F(2811)](ge,Ae[le],le,Ae))}}},17354:(w,Q,M)=>{var B=Tt;M(25108)[B(2717)]("I'm `fs` modules")},17648:w=>{var Q=Tt,M=Array.prototype[Q(352)],B=Object[Q(2086)][Q(2192)];w[Q(2726)]=function(D){var S=Q,P=this;if(typeof P!="function"||S(2100)!==B[S(2811)](P))throw new TypeError("Function.prototype.bind called on incompatible "+P);for(var R,T,L=M.call(arguments,1),F=Math.max(0,P[S(2405)]-L.length),U=[],N=0;N<F;N++)U.push("$"+N);return R=Function(S(795),S(956)+U.join(",")+S(1878))(function(){var H=S,J;return this instanceof R?(J=P.apply(this,L[H(1558)](M[H(2811)](arguments))),Object(J)===J?J:this):P[H(724)](D,L[H(1558)](M[H(2811)](arguments)))}),P[S(2086)]&&((T=function(){})[S(2086)]=P.prototype,R.prototype=new T,T.prototype=null),R}},58612:(w,Q,M)=>{var B=Tt;M=M(17648),w.exports=Function.prototype[B(1703)]||M},40210:(w,Q,M)=>{var B=Tt;function D(de){var fe=Tt;try{return R(fe(1077)+de+fe(2511))()}catch{}}var S,P=SyntaxError,R=Function,T=TypeError,L=Object[B(2143)];if(L)try{L({},"")}catch{L=null}function F(){throw new T}var j=L?function(){var de=B;try{return F}catch{try{return L(arguments,de(2573))[de(2009)]}catch{return F}}}():F,U=M(41405)(),J=M(28185)(),N=Object[B(2411)]||(J?function(de){var fe=B;return de[fe(996)]}:null),H={},J=B(621)!=typeof Uint8Array&&N?N(Uint8Array):S,K={"%AggregateError%":B(621)==typeof AggregateError?S:AggregateError,"%Array%":Array,"%ArrayBuffer%":B(621)==typeof ArrayBuffer?S:ArrayBuffer,"%ArrayIteratorPrototype%":U&&N?N([][Symbol[B(1570)]]()):S,"%AsyncFromSyncIteratorPrototype%":S,"%AsyncFunction%":H,"%AsyncGenerator%":H,"%AsyncGeneratorFunction%":H,"%AsyncIteratorPrototype%":H,"%Atomics%":B(621)==typeof Atomics?S:Atomics,"%BigInt%":B(621)==typeof BigInt?S:BigInt,"%BigInt64Array%":B(621)==typeof BigInt64Array?S:BigInt64Array,"%BigUint64Array%":B(621)==typeof BigUint64Array?S:BigUint64Array,"%Boolean%":Boolean,"%DataView%":B(621)==typeof DataView?S:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":B(621)==typeof Float32Array?S:Float32Array,"%Float64Array%":B(621)==typeof Float64Array?S:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?S:FinalizationRegistry,"%Function%":R,"%GeneratorFunction%":H,"%Int8Array%":typeof Int8Array>"u"?S:Int8Array,"%Int16Array%":B(621)==typeof Int16Array?S:Int16Array,"%Int32Array%":B(621)==typeof Int32Array?S:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":U&&N?N(N([][Symbol[B(1570)]]())):S,"%JSON%":B(2538)==typeof JSON?JSON:S,"%Map%":B(621)==typeof Map?S:Map,"%MapIteratorPrototype%":typeof Map<"u"&&U&&N?N(new Map()[Symbol.iterator]()):S,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?S:Promise,"%Proxy%":B(621)==typeof Proxy?S:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":B(621)==typeof Reflect?S:Reflect,"%RegExp%":RegExp,"%Set%":B(621)==typeof Set?S:Set,"%SetIteratorPrototype%":B(621)!=typeof Set&&U&&N?N(new Set()[Symbol[B(1570)]]()):S,"%SharedArrayBuffer%":B(621)==typeof SharedArrayBuffer?S:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":U&&N?N(""[Symbol[B(1570)]]()):S,"%Symbol%":U?Symbol:S,"%SyntaxError%":P,"%ThrowTypeError%":j,"%TypedArray%":J,"%TypeError%":T,"%Uint8Array%":typeof Uint8Array>"u"?S:Uint8Array,"%Uint8ClampedArray%":B(621)==typeof Uint8ClampedArray?S:Uint8ClampedArray,"%Uint16Array%":B(621)==typeof Uint16Array?S:Uint16Array,"%Uint32Array%":B(621)==typeof Uint32Array?S:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?S:WeakMap,"%WeakRef%":typeof WeakRef>"u"?S:WeakRef,"%WeakSet%":B(621)==typeof WeakSet?S:WeakSet};if(N)try{null.error}catch(de){U=N(N(de)),K[B(1252)]=U}var X={"%ArrayBufferPrototype%":[B(2740),B(2086)],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array",B(2086),B(1968)],"%ArrayProto_forEach%":["Array","prototype",B(312)],"%ArrayProto_keys%":[B(2344),B(2086),B(732)],"%ArrayProto_values%":[B(2344),"prototype",B(2474)],"%AsyncFunctionPrototype%":[B(1694),B(2086)],"%AsyncGenerator%":[B(1028),B(2086)],"%AsyncGeneratorPrototype%":[B(1028),B(2086),"prototype"],"%BooleanPrototype%":[B(2128),B(2086)],"%DataViewPrototype%":[B(606),"prototype"],"%DatePrototype%":[B(198),B(2086)],"%ErrorPrototype%":[B(1026),B(2086)],"%EvalErrorPrototype%":[B(512),B(2086)],"%Float32ArrayPrototype%":["Float32Array",B(2086)],"%Float64ArrayPrototype%":[B(557),"prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":[B(615),B(2086)],"%GeneratorPrototype%":[B(615),B(2086),B(2086)],"%Int8ArrayPrototype%":["Int8Array",B(2086)],"%Int16ArrayPrototype%":[B(2522),B(2086)],"%Int32ArrayPrototype%":[B(1115),B(2086)],"%JSONParse%":[B(1826),B(2156)],"%JSONStringify%":[B(1826),"stringify"],"%MapPrototype%":[B(1629),B(2086)],"%NumberPrototype%":[B(1272),B(2086)],"%ObjectPrototype%":[B(453),B(2086)],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":[B(453),B(2086),B(2207)],"%PromisePrototype%":[B(1235),B(2086)],"%PromiseProto_then%":[B(1235),B(2086),B(2683)],"%Promise_all%":[B(1235),B(165)],"%Promise_reject%":["Promise",B(2046)],"%Promise_resolve%":["Promise",B(1698)],"%RangeErrorPrototype%":[B(1626),B(2086)],"%ReferenceErrorPrototype%":[B(2020),"prototype"],"%RegExpPrototype%":[B(1931),B(2086)],"%SetPrototype%":[B(2189),B(2086)],"%SharedArrayBufferPrototype%":[B(823),"prototype"],"%StringPrototype%":[B(329),"prototype"],"%SymbolPrototype%":[B(2263),"prototype"],"%SyntaxErrorPrototype%":[B(850),B(2086)],"%TypedArrayPrototype%":[B(2484),B(2086)],"%TypeErrorPrototype%":["TypeError",B(2086)],"%Uint8ArrayPrototype%":[B(778),B(2086)],"%Uint8ClampedArrayPrototype%":[B(2325),"prototype"],"%Uint16ArrayPrototype%":[B(708),"prototype"],"%Uint32ArrayPrototype%":[B(192),B(2086)],"%URIErrorPrototype%":[B(1105),B(2086)],"%WeakMapPrototype%":[B(1778),B(2086)],"%WeakSetPrototype%":[B(371),B(2086)]},j=M(58612),ee=M(17642),ie=j[B(2811)](Function[B(2811)],Array[B(2086)][B(1558)]),z=j[B(2811)](Function.apply,Array[B(2086)][B(2407)]),oe=j[B(2811)](Function[B(2811)],String[B(2086)][B(2489)]),le=j[B(2811)](Function[B(2811)],String[B(2086)][B(352)]),Ae=j[B(2811)](Function.call,RegExp[B(2086)].exec),he=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,ge=/\\(\\)?/g;w.exports=function(de,fe){var G=B;if(typeof de!="string"||de.length===0)throw new T(G(1556));if(1<arguments[G(2405)]&&G(1927)!=typeof fe)throw new T(G(2037));if(Ae(/^%?[^%]*%?$/,de)===null)throw new P("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var Y=function(Me){var He=G,ke=le(Me,0,1),Ne=le(Me,-1);if(ke==="%"&&Ne!=="%")throw new P(He(327));if(Ne==="%"&&ke!=="%")throw new P("invalid intrinsic syntax, expected opening `%`");var Pe=[];return oe(Me,he,function(we,Fe,Ue,ze){var Je=He;Pe[Pe[Je(2405)]]=Ue?oe(ze,ge,"$1"):Fe||we}),Pe}(de),W=0<Y[G(2405)]?Y[0]:"",se=function(Me,He){var ke=G,Ne,Pe=Me;if(ee(X,Pe)&&(Pe="%"+(Ne=X[Pe])[0]+"%"),ee(K,Pe)){var we=K[Pe];if((we=we===H?function Fe(Ue){var ze=Tt,Je,je;return ze(232)===Ue?Je=D(ze(2373)):ze(1593)===Ue?Je=D("function* () {}"):ze(1163)===Ue?Je=D(ze(891)):ze(2362)===Ue?(je=Fe(ze(1163)))&&(Je=je[ze(2086)]):ze(2738)===Ue&&(je=Fe(ze(2362)))&&N&&(Je=N(je[ze(2086)])),K[Ue]=Je}(Pe):we)!==void 0||He)return{alias:Ne,name:Pe,value:we};throw new T(ke(880)+Me+" exists, but is not available. Please file an issue!")}throw new P(ke(880)+Me+" does not exist!")}("%"+W+"%",fe),O=(se[G(276)],se[G(396)]),re=!1,se=se[G(339)];se&&(W=se[0],z(Y,ie([0,1],se)));for(var ce=1,me=!0;ce<Y.length;ce+=1){var Ce=Y[ce],ye=le(Ce,0,1),Be=le(Ce,-1);if((ye==='"'||ye==="'"||ye==="`"||Be==='"'||Be==="'"||Be==="`")&&ye!==Be)throw new P("property names with quotes must have matching quotes");if(G(1630)!==Ce&&me||(re=!0),ee(K,ye="%"+(W+="."+Ce)+"%"))O=K[ye];else if(O!=null){if(!(Ce in O)){if(fe)return;throw new T(G(2063)+de+G(539))}O=L&&ce+1>=Y[G(2405)]?(me=!!(Be=L(O,Ce)))&&"get"in Be&&!(G(2229)in Be[G(2009)])?Be[G(2009)]:O[Ce]:(me=ee(O,Ce),O[Ce]),me&&!re&&(K[ye]=O)}}return O}},27296:(w,Q,M)=>{var B=Tt;if(M=M(40210)("%Object.getOwnPropertyDescriptor%",!0),M)try{M([],B(2405))}catch{M=null}w[B(2726)]=M},31044:(w,Q,M)=>{var B=Tt;function D(){if(S)try{return S({},"a",{value:1}),!0}catch{return!1}return!1}var S=M(40210)(B(1215),!0);D[B(564)]=function(){var P=B;if(!D())return null;try{return S([],"length",{value:1})[P(2405)]!==1}catch{return!0}},w[B(2726)]=D},28185:w=>{var Q=Tt,M={foo:{}},B=Object;w[Q(2726)]=function(){var D=Q;return{__proto__:M}[D(902)]===M.foo&&!({__proto__:null}instanceof B)}},41405:(w,Q,M)=>{var B=Tt,D=B(621)!=typeof Symbol&&Symbol,S=M(55419);w[B(2726)]=function(){var P=B;return P(605)==typeof D&&P(605)==typeof Symbol&&P(792)==typeof D("foo")&&P(792)==typeof Symbol("bar")&&S()}},55419:w=>{var Q=Tt;w[Q(2726)]=function(){var M=Q;if(typeof Symbol!="function"||M(605)!=typeof Object[M(700)])return!1;if(typeof Symbol[M(1570)]=="symbol")return!0;var B={},D=Symbol(M(529)),S=Object(D);if(typeof D=="string"||Object[M(2086)][M(2192)][M(2811)](D)!=="[object Symbol]"||Object.prototype[M(2192)].call(S)!=="[object Symbol]")return!1;for(D in B[D]=42,B)return!1;return!(M(605)==typeof Object[M(732)]&&Object.keys(B).length!==0||M(605)==typeof Object[M(1906)]&&Object[M(1906)](B).length!==0||(S=Object[M(700)](B),S[M(2405)]!==1||S[0]!==D)||!Object[M(2086)][M(517)][M(2811)](B,D)||M(605)==typeof Object[M(2143)]&&(S=Object[M(2143)](B,D),S.value!==42||S.enumerable!==!0))}},96410:(w,Q,M)=>{var B=Tt,D=M(55419);w[B(2726)]=function(){var S=B;return D()&&!!Symbol[S(942)]}},17642:(w,Q,M)=>{var B=Tt;M=M(58612),w[B(2726)]=M[B(2811)](Function[B(2811)],Object[B(2086)][B(2084)])},3349:(w,Q,M)=>{var B=Tt,D=M(50213)[B(964)],S=M(88473)[B(2677)];function P(R){var T=B;S[T(2811)](this),this._block=D[T(1855)](R),this._blockSize=R,this[T(1616)]=0,this[T(657)]=[0,0,0,0],this._finalized=!1}M(35717)(P,S),P.prototype[B(2787)]=function(R,T,L){var F=B,U=null;try{this[F(1744)](R,T)}catch(N){U=N}L(U)},P[B(2086)][B(2333)]=function(R){var T=B,L=null;try{this[T(2764)](this[T(2637)]())}catch(F){L=F}R(L)},P[B(2086)][B(1744)]=function(R,T){var L=B,F=R;if(!D[L(1564)](F)&&L(1090)!=typeof F)throw new TypeError(L(1500));if(this._finalized)throw new Error(L(2271));D[L(1564)](R)||(R=D.from(R,T));for(var U=this[L(520)],N=0;this[L(1616)]+R[L(2405)]-N>=this[L(1014)];){for(var H=this._blockOffset;H<this[L(1014)];)U[H++]=R[N++];this[L(185)](),this._blockOffset=0}for(;N<R[L(2405)];)U[this._blockOffset++]=R[N++];for(var J=0,K=8*R.length;0<K;++J)this[L(657)][J]+=K,0<(K=this[L(657)][J]/4294967296|0)&&(this[L(657)][J]-=4294967296*K);return this},P[B(2086)]._update=function(){throw new Error("_update is not implemented")},P[B(2086)][B(2637)]=function(R){var T=B;if(this[T(1261)])throw new Error(T(2271));this[T(1261)]=!0;var L=this[T(1455)]();R!==void 0&&(L=L.toString(R)),this[T(520)][T(1263)](0);for(var F=this[T(1616)]=0;F<4;++F)this[T(657)][F]=0;return L},P[B(2086)][B(1455)]=function(){var R=B;throw new Error(R(884))},w[B(2726)]=P},50213:(w,Q,M)=>{var B=Tt,D=M(48764),S=D.Buffer;function P(T,L){for(var F in T)L[F]=T[F]}function R(T,L,F){return S(T,L,F)}S.from&&S[B(1526)]&&S[B(1855)]&&S[B(638)]?w[B(2726)]=D:(P(D,Q),Q[B(964)]=R),R[B(2086)]=Object[B(766)](S[B(2086)]),P(S,R),R.from=function(T,L,F){var U=B;if(U(647)==typeof T)throw new TypeError(U(2462));return S(T,L,F)},R[B(1526)]=function(T,L,F){var U=B;if(U(647)!=typeof T)throw new TypeError(U(2286));return T=S(T),L!==void 0?U(1090)==typeof F?T[U(1263)](L,F):T[U(1263)](L):T.fill(0),T},R[B(1855)]=function(T){var L=B;if(L(647)!=typeof T)throw new TypeError(L(2286));return S(T)},R[B(638)]=function(T){var L=B;if(L(647)!=typeof T)throw new TypeError("Argument must be a number");return D.SlowBuffer(T)}},33715:(w,Q,M)=>{var B=Tt;Q[B(1458)]=M(26436),Q.common=M(95772),Q[B(1565)]=M(89041),Q[B(940)]=M(12949),Q[B(2642)]=M(52344),Q[B(219)]=Q[B(1565)].sha1,Q[B(2709)]=Q[B(1565)][B(2709)],Q[B(180)]=Q[B(1565)][B(180)],Q[B(404)]=Q.sha.sha384,Q[B(383)]=Q.sha.sha512,Q[B(2631)]=Q.ripemd[B(2631)]},95772:(w,Q,M)=>{var B=Tt,D=M(26436),S=M(79746);function P(){var R=Tt;this[R(525)]=null,this.pendingTotal=0,this[R(2796)]=this.constructor[R(2796)],this[R(1237)]=this[R(1630)][R(1237)],this[R(2194)]=this.constructor[R(2194)],this[R(2318)]=this.constructor[R(2318)]/8,this[R(2226)]="big",this[R(851)]=this[R(2796)]/8,this[R(2030)]=this[R(2796)]/32}(Q[B(1985)]=P)[B(2086)][B(1744)]=function(R,T){var L=B;if(R=D[L(1780)](R,T),this.pending?this[L(525)]=this.pending[L(1558)](R):this[L(525)]=R,this[L(1987)]+=R[L(2405)],this[L(525)][L(2405)]>=this[L(851)]){T=(R=this[L(525)]).length%this[L(851)],this.pending=R[L(352)](R[L(2405)]-T,R[L(2405)]),this[L(525)][L(2405)]===0&&(this.pending=null),R=D[L(323)](R,0,R[L(2405)]-T,this[L(2226)]);for(var F=0;F<R[L(2405)];F+=this[L(2030)])this._update(R,F,F+this[L(2030)])}return this},P[B(2086)][B(2637)]=function(R){var T=B;return this[T(1744)](this._pad()),S(this.pending===null),this[T(1455)](R)},P[B(2086)]._pad=function(){var R=B,T=this[R(1987)],L=this[R(851)],F=L-(T+this[R(2318)])%L,U=new Array(F+this.padLength);U[0]=128;for(var N=1;N<F;N++)U[N]=0;if(T<<=3,R(1264)===this[R(2226)]){for(var H=8;H<this.padLength;H++)U[N++]=0;U[N++]=0,U[N++]=0,U[N++]=0,U[N++]=0,U[N++]=T>>>24&255,U[N++]=T>>>16&255,U[N++]=T>>>8&255,U[N++]=255&T}else for(U[N++]=255&T,U[N++]=T>>>8&255,U[N++]=T>>>16&255,U[N++]=T>>>24&255,U[N++]=0,U[N++]=0,U[N++]=0,U[N++]=0,H=8;H<this[R(2318)];H++)U[N++]=0;return U}},52344:(w,Q,M)=>{var B=Tt,D=M(26436),S=M(79746);function P(R,T,L){var F=Tt;if(!(this instanceof P))return new P(R,T,L);this[F(2345)]=R,this[F(2796)]=R[F(2796)]/8,this[F(1237)]=R.outSize/8,this[F(1924)]=null,this[F(2281)]=null,this[F(1352)](D[F(1780)](T,L))}(w[B(2726)]=P)[B(2086)][B(1352)]=function(R){var T=B;R[T(2405)]>this[T(2796)]&&(R=new this[T(2345)]()[T(1744)](R)[T(2637)]()),S(R[T(2405)]<=this[T(2796)]);for(var L=R.length;L<this.blockSize;L++)R.push(0);for(L=0;L<R[T(2405)];L++)R[L]^=54;for(this[T(1924)]=new this[T(2345)]()[T(1744)](R),L=0;L<R[T(2405)];L++)R[L]^=106;this.outer=new this[T(2345)]()[T(1744)](R)},P[B(2086)][B(1744)]=function(R,T){var L=B;return this[L(1924)].update(R,T),this},P.prototype[B(2637)]=function(R){var T=B;return this[T(2281)][T(1744)](this[T(1924)][T(2637)]()),this[T(2281)][T(2637)](R)}},12949:(w,Q,S)=>{var B=Tt,D=S(26436),S=S(95772),P=D[B(1150)],R=D[B(695)],T=D[B(882)],L=D[B(895)],F=S.BlockHash;function U(){var j=B;if(!(this instanceof U))return new U;F[j(2811)](this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this[j(2226)]=j(1154)}function N(j,ee,ie,z){return j<=15?ee^ie^z:j<=31?ee&ie|~ee&z:j<=47?(ee|~ie)^z:j<=63?ee&z|ie&~z:ee^(ie|~z)}D[B(1341)](U,F),(Q[B(2631)]=U)[B(2796)]=512,U[B(1237)]=160,U[B(2194)]=192,U[B(2318)]=64,U[B(2086)]._update=function(j,ee){for(var de=z=this.h[0],W=he=this.h[1],Y=Ae=this.h[2],G=le=this.h[3],fe=oe=this.h[4],ie=0;ie<80;ie++)var ge=R(P(L(z,N(ie,he,Ae,le),j[H[ie]+ee],ie<=15?0:ie<=31?1518500249:ie<=47?1859775393:ie<=63?2400959708:2840853838),K[ie]),oe),z=oe,oe=le,le=P(Ae,10),Ae=he,he=ge,ge=R(P(L(de,N(79-ie,W,Y,G),j[J[ie]+ee],ie<=15?1352829926:ie<=31?1548603684:ie<=47?1836072691:ie<=63?2053994217:0),X[ie]),fe),de=fe,fe=G,G=P(Y,10),Y=W,W=ge;ge=T(this.h[1],Ae,G),this.h[1]=T(this.h[2],le,fe),this.h[2]=T(this.h[3],oe,de),this.h[3]=T(this.h[4],z,W),this.h[4]=T(this.h[0],he,Y),this.h[0]=ge},U[B(2086)][B(1455)]=function(j){var ee=B;return ee(1996)===j?D[ee(853)](this.h,"little"):D.split32(this.h,ee(1154))};var H=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],J=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],K=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],X=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},89041:(w,Q,M)=>{var B=Tt;Q[B(219)]=M(84761),Q[B(180)]=M(10799),Q[B(2709)]=M(89344),Q[B(404)]=M(80772),Q[B(383)]=M(45900)},84761:(w,Q,P)=>{var B=Tt,D=P(26436),S=P(95772),P=P(37038),R=D.rotl32,T=D[B(695)],L=D[B(2394)],F=P.ft_1,U=S[B(1985)],N=[1518500249,1859775393,2400959708,3395469782];function H(){if(!(this instanceof H))return new H;U.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}D[B(1341)](H,U),(w.exports=H).blockSize=512,H[B(1237)]=160,H[B(2194)]=80,H[B(2318)]=64,H.prototype[B(185)]=function(J,K){for(var X=this.W,j=0;j<16;j++)X[j]=J[K+j];for(;j<X.length;j++)X[j]=R(X[j-3]^X[j-8]^X[j-14]^X[j-16],1);for(var Ae=this.h[0],le=this.h[1],oe=this.h[2],z=this.h[3],ie=this.h[4],j=0;j<X.length;j++)var ee=~~(j/20),ee=L(R(Ae,5),F(ee,le,oe,z),ie,X[j],N[ee]),ie=z,z=oe,oe=R(le,30),le=Ae,Ae=ee;this.h[0]=T(this.h[0],Ae),this.h[1]=T(this.h[1],le),this.h[2]=T(this.h[2],oe),this.h[3]=T(this.h[3],z),this.h[4]=T(this.h[4],ie)},H.prototype[B(1455)]=function(J){var K=B;return K(1996)===J?D.toHex32(this.h,K(1264)):D[K(248)](this.h,K(1264))}},10799:(w,Q,M)=>{var B=Tt,D=M(26436),S=M(89344);function P(){if(!(this instanceof P))return new P;S.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}D[B(1341)](P,S),(w[B(2726)]=P)[B(2796)]=512,P[B(1237)]=224,P[B(2194)]=192,P.padLength=64,P[B(2086)]._digest=function(R){var T=B;return T(1996)===R?D[T(853)](this.h[T(352)](0,7),T(1264)):D.split32(this.h.slice(0,7),T(1264))}},89344:(w,Q,M)=>{var B=Tt,D=M(26436),S=M(95772),P=M(37038),R=M(79746),T=D[B(695)],L=D[B(895)],F=D[B(2394)],U=P[B(1720)],N=P[B(1233)],H=P[B(531)],J=P.s1_256,K=P[B(2521)],X=P.g1_256,j=S[B(1985)],ee=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function ie(){var z=B;if(!(this instanceof ie))return new ie;j[z(2811)](this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=ee,this.W=new Array(64)}D[B(1341)](ie,j),(w.exports=ie)[B(2796)]=512,ie[B(1237)]=256,ie[B(2194)]=192,ie.padLength=64,ie[B(2086)][B(185)]=function(z,oe){for(var le=B,Ae=this.W,he=0;he<16;he++)Ae[he]=z[oe+he];for(;he<Ae[le(2405)];he++)Ae[he]=L(X(Ae[he-2]),Ae[he-7],K(Ae[he-15]),Ae[he-16]);var ge=this.h[0],de=this.h[1],fe=this.h[2],G=this.h[3],Y=this.h[4],W=this.h[5],O=this.h[6],re=this.h[7];for(R(this.k.length===Ae[le(2405)]),he=0;he<Ae[le(2405)];he++)var se=F(re,J(Y),U(Y,W,O),this.k[he],Ae[he]),ce=T(H(ge),N(ge,de,fe)),re=O,O=W,W=Y,Y=T(G,se),G=fe,fe=de,de=ge,ge=T(se,ce);this.h[0]=T(this.h[0],ge),this.h[1]=T(this.h[1],de),this.h[2]=T(this.h[2],fe),this.h[3]=T(this.h[3],G),this.h[4]=T(this.h[4],Y),this.h[5]=T(this.h[5],W),this.h[6]=T(this.h[6],O),this.h[7]=T(this.h[7],re)},ie[B(2086)][B(1455)]=function(z){var oe=B;return oe(1996)===z?D[oe(853)](this.h,oe(1264)):D.split32(this.h,oe(1264))}},80772:(w,Q,M)=>{var B=Tt,D=M(26436),S=M(45900);function P(){if(!(this instanceof P))return new P;S.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}D[B(1341)](P,S),(w[B(2726)]=P).blockSize=1024,P[B(1237)]=384,P[B(2194)]=192,P[B(2318)]=128,P[B(2086)][B(1455)]=function(R){var T=B;return R==="hex"?D[T(853)](this.h[T(352)](0,12),T(1264)):D[T(248)](this.h[T(352)](0,12),T(1264))}},45900:(w,Q,M)=>{var B=Tt,D=M(26436),S=M(95772),P=M(79746),R=D[B(1047)],T=D[B(1833)],L=D[B(2223)],F=D[B(1560)],U=D.sum64,N=D.sum64_hi,H=D.sum64_lo,J=D.sum64_4_hi,K=D[B(1283)],X=D[B(1867)],j=D[B(335)],ee=S[B(1985)],ie=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function z(){var oe=B;if(!(this instanceof z))return new z;ee[oe(2811)](this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=ie,this.W=new Array(160)}D[B(1341)](z,ee),(w[B(2726)]=z)[B(2796)]=1024,z.outSize=512,z[B(2194)]=192,z[B(2318)]=128,z[B(2086)][B(1107)]=function(oe,le){for(var Ae=B,he=this.W,ge=0;ge<32;ge++)he[ge]=oe[le+ge];for(;ge<he[Ae(2405)];ge+=2){var de=function(ce,me){return ce=R(ce,me,19)^R(me,ce,29)^L(ce,me,6),ce<0&&(ce+=4294967296),ce}(he[ge-4],he[ge-3]),fe=function(ce,me){return ce=T(ce,me,19)^T(me,ce,29)^F(ce,me,6),ce<0&&(ce+=4294967296),ce}(he[ge-4],he[ge-3]),G=he[ge-14],Y=he[ge-13],W=function(ce,me){return ce=R(ce,me,1)^R(ce,me,8)^L(ce,me,7),ce<0&&(ce+=4294967296),ce}(he[ge-30],he[ge-29]),O=function(ce,me){return ce=T(ce,me,1)^T(ce,me,8)^F(ce,me,7),ce<0&&(ce+=4294967296),ce}(he[ge-30],he[ge-29]),re=he[ge-32],se=he[ge-31];he[ge]=J(de,fe,G,Y,W,O,re,se),he[ge+1]=K(de,fe,G,Y,W,O,re,se)}},z[B(2086)]._update=function(oe,le){var Ae=B;this._prepareBlock(oe,le);var he=this.W,ge=this.h[0],de=this.h[1],fe=this.h[2],G=this.h[3],Y=this.h[4],W=this.h[5],O=this.h[6],re=this.h[7],se=this.h[8],ce=this.h[9],me=this.h[10],Ce=this.h[11],ye=this.h[12],Be=this.h[13],Me=this.h[14],He=this.h[15];P(this.k[Ae(2405)]===he[Ae(2405)]);for(var ke=0;ke<he[Ae(2405)];ke+=2){var Ne,Ze=Me,rt=He,At=function(yt,at){return at=R(yt,at,14)^R(yt,at,18)^R(at,yt,9),at<0&&(at+=4294967296),at}(se,ce),Pe=function(yt,at){return at=T(yt,at,14)^T(yt,at,18)^T(at,yt,9),at<0&&(at+=4294967296),at}(se,ce),we=(je=void 0,je=se&me^~se&ye,je<0&&(je+=4294967296),Ne=void 0,Ne=ce&Ce^~ce&Be,Ne<0&&(Ne+=4294967296),this.k[ke]),Fe=this.k[ke+1],Ue=he[ke],ze=he[ke+1],Je=X(Ze,rt,At,Pe,je,Ne,we,Fe,Ue,ze),je=j(Ze,rt,At,Pe,je,Ne,we,Fe,Ue,ze),Ze=function(yt,at){return at=R(yt,at,28)^R(at,yt,2)^R(at,yt,7),at<0&&(at+=4294967296),at}(ge,de),rt=function(yt,at){return at=T(yt,at,28)^T(at,yt,2)^T(at,yt,7),at<0&&(at+=4294967296),at}(ge,de),At=(Ne=void 0,Ne=ge&fe^ge&Y^fe&Y,Ne<0&&(Ne+=4294967296),Ne);we=void 0,(we=de&G^de&W^G&W)<0&&(we+=4294967296),Fe=N(Ze,rt,At,Pe=we),Ue=H(Ze,rt,At,Pe),Me=ye,He=Be,ye=me,Be=Ce,me=se,Ce=ce,se=N(O,re,Je,je),ce=H(re,re,Je,je),O=Y,re=W,Y=fe,W=G,fe=ge,G=de,ge=N(Je,je,Fe,Ue),de=H(Je,je,Fe,Ue)}U(this.h,0,ge,de),U(this.h,2,fe,G),U(this.h,4,Y,W),U(this.h,6,O,re),U(this.h,8,se,ce),U(this.h,10,me,Ce),U(this.h,12,ye,Be),U(this.h,14,Me,He)},z[B(2086)][B(1455)]=function(oe){var le=B;return le(1996)===oe?D[le(853)](this.h,"big"):D[le(248)](this.h,"big")}},37038:(w,Q,M)=>{var B=Tt,D=M(26436).rotr32;function S(R,T,L){return R&T^~R&L}function P(R,T,L){return R&T^R&L^T&L}Q[B(1896)]=function(R,T,L,F){return R===0?S(T,L,F):R===1||R===3?T^L^F:R===2?P(T,L,F):void 0},Q[B(1720)]=S,Q.maj32=P,Q[B(2278)]=function(R,T,L){return R^T^L},Q[B(531)]=function(R){return D(R,2)^D(R,13)^D(R,22)},Q[B(1691)]=function(R){return D(R,6)^D(R,11)^D(R,25)},Q[B(2521)]=function(R){return D(R,7)^D(R,18)^R>>>3},Q.g1_256=function(R){return D(R,17)^D(R,19)^R>>>10}},26436:(w,Q,S)=>{var B=Tt,D=S(79746),S=S(35717);function P(L){return(L>>>24|L>>>8&65280|L<<8&16711680|(255&L)<<24)>>>0}function R(L){var F=Tt;return L[F(2405)]===1?"0"+L:L}function T(L){var F=Tt;return L[F(2405)]===7?"0"+L:L[F(2405)]===6?"00"+L:L.length===5?F(2283)+L:L[F(2405)]===4?F(2629)+L:L[F(2405)]===3?F(299)+L:L[F(2405)]===2?"000000"+L:L[F(2405)]===1?F(2328)+L:L}Q.inherits=S,Q[B(1780)]=function(L,F){var U=B;if(Array[U(2021)](L))return L.slice();if(!L)return[];var N,H,J=[];if(U(1090)==typeof L)if(F){if(U(1996)===F)for((L=L[U(2489)](/[^a-z0-9]+/gi,""))[U(2405)]%2!=0&&(L="0"+L),X=0;X<L.length;X+=2)J[U(2764)](parseInt(L[X]+L[X+1],16))}else for(var K=0,X=0;X<L[U(2405)];X++){var j=L[U(2282)](X);j<128?J[K++]=j:(j<2048?J[K++]=j>>6|192:(H=X,(64512&(N=L)[U(2282)](H))!=55296||H<0||H+1>=N[U(2405)]||(64512&N.charCodeAt(H+1))!=56320?J[K++]=j>>12|224:(j=65536+((1023&j)<<10)+(1023&L[U(2282)](++X)),J[K++]=j>>18|240,J[K++]=j>>12&63|128),J[K++]=j>>6&63|128),J[K++]=63&j|128)}else for(X=0;X<L[U(2405)];X++)J[X]=0|L[X];return J},Q[B(604)]=function(L){for(var F=B,U="",N=0;N<L[F(2405)];N++)U+=R(L[N].toString(16));return U},Q[B(1496)]=P,Q.toHex32=function(L,F){for(var U=B,N="",H=0;H<L[U(2405)];H++){var J=L[H];N+=T((J=F==="little"?P(J):J)[U(2192)](16))}return N},Q[B(1271)]=R,Q[B(722)]=T,Q[B(323)]=function(L,F,U,N){for(var H=B,U=U-F,J=(D(U%4==0),new Array(U/4)),K=0,X=F;K<J[H(2405)];K++,X+=4){var j=H(1264)===N?L[X]<<24|L[X+1]<<16|L[X+2]<<8|L[X+3]:L[X+3]<<24|L[X+2]<<16|L[X+1]<<8|L[X];J[K]=j>>>0}return J},Q[B(248)]=function(L,F){for(var U=B,N=new Array(4*L.length),H=0,J=0;H<L.length;H++,J+=4){var K=L[H];U(1264)===F?(N[J]=K>>>24,N[J+1]=K>>>16&255,N[J+2]=K>>>8&255,N[J+3]=255&K):(N[J+3]=K>>>24,N[J+2]=K>>>16&255,N[J+1]=K>>>8&255,N[J]=255&K)}return N},Q[B(1901)]=function(L,F){return L>>>F|L<<32-F},Q[B(1150)]=function(L,F){return L<<F|L>>>32-F},Q[B(695)]=function(L,F){return L+F>>>0},Q.sum32_3=function(L,F,U){return L+F+U>>>0},Q[B(895)]=function(L,F,U,N){return L+F+U+N>>>0},Q.sum32_5=function(L,F,U,N,H){return L+F+U+N+H>>>0},Q[B(2582)]=function(L,F,U,N){var H=L[F],J=N+L[F+1]>>>0;L[F]=(J<N?1:0)+U+H>>>0,L[F+1]=J},Q[B(643)]=function(L,F,U,N){return(F+N>>>0<F?1:0)+L+U>>>0},Q[B(1413)]=function(L,F,U,N){return F+N>>>0},Q[B(1517)]=function(L,F,U,N,H,J,K,X){var j=0;return L+U+H+K+((j+=(L=F+N>>>0)<F?1:0)+((L=L+J>>>0)<J?1:0)+(L+X>>>0<X?1:0))>>>0},Q.sum64_4_lo=function(L,F,U,N,H,J,K,X){return F+N+J+X>>>0},Q[B(1867)]=function(L,F,U,N,H,J,K,X,j,ee){return L+U+H+K+j+(0+((L=F+N>>>0)<F?1:0)+((L=L+J>>>0)<J?1:0)+((L=L+X>>>0)<X?1:0)+(L+ee>>>0<ee?1:0))>>>0},Q[B(335)]=function(L,F,U,N,H,J,K,X,j,ee){return F+N+J+X+ee>>>0},Q[B(1047)]=function(L,F,U){return(F<<32-U|L>>>U)>>>0},Q[B(1833)]=function(L,F,U){return(L<<32-U|F>>>U)>>>0},Q.shr64_hi=function(L,F,U){return L>>>U},Q[B(1560)]=function(L,F,U){return(L<<32-U|F>>>U)>>>0}},2156:(w,Q,M)=>{var B=Tt,D=M(33715),S=M(34504),P=M(79746);function R(N){var L=Tt;if(!(this instanceof R))return new R(N);this.hash=N[L(1312)],this.predResist=!!N[L(1323)],this[L(1707)]=this[L(1312)][L(1237)],this[L(840)]=N[L(840)]||this.hash[L(2194)],this._reseed=null,this[L(1468)]=null,this.K=null,this.V=null;var F=S[L(1780)](N[L(2580)],N.entropyEnc||"hex"),U=S[L(1780)](N[L(626)],N[L(971)]||L(1996)),N=S[L(1780)](N[L(1476)],N[L(474)]||L(1996));P(F[L(2405)]>=this[L(840)]/8,L(1062)+this[L(840)]+" bits"),this[L(1352)](F,U,N)}(w.exports=R)[B(2086)][B(1352)]=function(T,L,F){var U=B;T=T[U(1558)](L)[U(1558)](F),this.K=new Array(this.outLen/8),this.V=new Array(this[U(1707)]/8);for(var N=0;N<this.V[U(2405)];N++)this.K[N]=0,this.V[N]=1;this[U(185)](T),this._reseed=1,this[U(1468)]=281474976710656},R.prototype[B(2760)]=function(){return new D.hmac(this.hash,this.K)},R[B(2086)][B(185)]=function(T){var L=B,F=this[L(2760)]()[L(1744)](this.V).update([0]);T&&(F=F[L(1744)](T)),this.K=F.digest(),this.V=this[L(2760)]()[L(1744)](this.V).digest(),T&&(this.K=this[L(2760)]().update(this.V)[L(1744)]([1])[L(1744)](T)[L(2637)](),this.V=this[L(2760)]()[L(1744)](this.V)[L(2637)]())},R[B(2086)].reseed=function(T,L,F,U){var N=B;N(1090)!=typeof L&&(U=F,F=L,L=null),T=S.toArray(T,L),F=S[N(1780)](F,U),P(T.length>=this[N(840)]/8,"Not enough entropy. Minimum is: "+this[N(840)]+N(2141)),this[N(185)](T.concat(F||[])),this[N(567)]=1},R[B(2086)][B(756)]=function(T,L,F,U){var N=B;if(this._reseed>this[N(1468)])throw new Error(N(184));typeof L!="string"&&(U=F,F=L,L=null),F&&(F=S[N(1780)](F,U||N(1996)),this[N(185)](F));for(var H=[];H[N(2405)]<T;)this.V=this._hmac().update(this.V)[N(2637)](),H=H[N(1558)](this.V);return U=H[N(352)](0,T),this[N(185)](F),this[N(567)]++,S[N(479)](U,L)}},80645:(w,Q)=>{var M=Tt;Q[M(848)]=function(B,D,S,P,j){var T=M,L,F,U=8*j-P-1,N=(1<<U)-1,H=N>>1,J=-7,K=S?j-1:0,X=S?-1:1,j=B[D+K];for(K+=X,L=j&(1<<-J)-1,j>>=-J,J+=U;0<J;L=256*L+B[D+K],K+=X,J-=8);for(F=L&(1<<-J)-1,L>>=-J,J+=P;0<J;F=256*F+B[D+K],K+=X,J-=8);if(L===0)L=1-H;else{if(L===N)return F?NaN:1/0*(j?-1:1);F+=Math[T(1905)](2,P),L-=H}return(j?-1:1)*F*Math.pow(2,L-P)},Q.write=function(B,D,S,P,R,ee){var L=M,F,U,N=8*ee-R-1,H=(1<<N)-1,J=H>>1,K=R===23?Math[L(1905)](2,-24)-Math[L(1905)](2,-77):0,X=P?0:ee-1,j=P?1:-1,ee=D<0||D===0&&1/D<0?1:0;for(D=Math[L(2148)](D),isNaN(D)||D===1/0?(U=isNaN(D)?1:0,F=H):(F=Math[L(799)](Math[L(2717)](D)/Math[L(1158)]),D*(P=Math.pow(2,-F))<1&&(F--,P*=2),2<=(D+=1<=F+J?K/P:K*Math.pow(2,1-J))*P&&(F++,P/=2),H<=F+J?(U=0,F=H):1<=F+J?(U=(D*P-1)*Math[L(1905)](2,R),F+=J):(U=D*Math[L(1905)](2,J-1)*Math[L(1905)](2,R),F=0));8<=R;B[S+X]=255&U,X+=j,U/=256,R-=8);for(F=F<<R|U,N+=R;0<N;B[S+X]=255&F,X+=j,F/=256,N-=8);B[S+X-j]|=128*ee}},35717:w=>{var Q=Tt;typeof Object[Q(766)]=="function"?w.exports=function(M,B){var D=Q;B&&(M[D(979)]=B,M[D(2086)]=Object[D(766)](B[D(2086)],{constructor:{value:M,enumerable:!1,writable:!0,configurable:!0}}))}:w[Q(2726)]=function(M,B){var D=Q,S;B&&(M[D(979)]=B,(S=function(){}).prototype=B[D(2086)],M.prototype=new S,M[D(2086)][D(1630)]=M)}},82584:(w,Q,T)=>{var B=Tt;function D(L){var F=Tt;return!(P&&L&&F(2538)==typeof L&&Symbol[F(942)]in L)&&R(L)==="[object Arguments]"}function S(L){var F=Tt;return!!D(L)||L!==null&&F(2538)==typeof L&&typeof L.length=="number"&&0<=L[F(2405)]&&F(2249)!==R(L)&&F(2100)===R(L[F(2573)])}var P=T(96410)(),R=T(21924)(B(911)),T=function(){return D(arguments)}();D.isLegacyArguments=S,w[B(2726)]=T?D:S},95320:w=>{var Q=Tt,M,B,D=Function.prototype[Q(2192)],S=Q(2538)==typeof Reflect&&Reflect!==null&&Reflect[Q(724)];if(Q(605)==typeof S&&Q(605)==typeof Object[Q(1073)])try{M=Object.defineProperty({},Q(2405),{get:function(){throw B}}),B={},S(function(){throw 42},null,M)}catch(H){H!==B&&(S=null)}else S=null;function P(H){var J=Q;try{var K=D.call(H);return T[J(529)](K)}catch{return}}function R(H){var J=Q;try{return!P(H)&&(D[J(2811)](H),!0)}catch{return!1}}var T=/^\s*class\b/,L=Object[Q(2086)][Q(2192)],F=Q(605)==typeof Symbol&&!!Symbol[Q(942)],U=!(0 in[,]),N=function(){return!1};Q(2538)==typeof document&&L[Q(2811)](document.all)===L[Q(2811)](document[Q(165)])&&(N=function(H){var J=Q;if(!(!U&&H||H!==void 0&&J(2538)!=typeof H))try{var K=L[J(2811)](H);return(J(2660)===K||J(1092)===K||J(1205)===K||J(569)===K)&&H("")==null}catch{}return!1}),w[Q(2726)]=S?function(H){var J=Q;if(N(H))return!0;if(!H||J(605)!=typeof H&&J(2538)!=typeof H)return!1;try{S(H,null,M)}catch(K){if(K!==B)return!1}return!P(H)&&R(H)}:function(H){var J=Q;if(N(H))return!0;if(!H||typeof H!="function"&&J(2538)!=typeof H)return!1;if(F)return R(H);if(P(H))return!1;var K=L.call(H);return!(J(2100)!==K&&J(2742)!==K&&!/^\[object HTML/[J(529)](K))&&R(H)}},48662:(w,Q,M)=>{var B=Tt,D,S=Object.prototype.toString,P=Function[B(2086)].toString,R=/^\s*(?:function)?\*/,T=M(96410)(),L=Object.getPrototypeOf;w.exports=function(F){var U=B;return!(U(605)!=typeof F||!R[U(529)](P[U(2811)](F))&&(T?!L||(D===void 0&&(N=function(){var H=U;if(!T)return!1;try{return Function(H(1234))()}catch{}}(),D=!!N&&L(N)),L(F)!==D):U(2742)!==S[U(2811)](F)));var N}},98611:w=>{var Q=Tt;w[Q(2726)]=function(M){return M!=M}},20360:(w,Q,R)=>{var B=Tt,T=R(55559),D=R(4289),S=R(98611),P=R(29415),R=R(23194),T=T(P(),Number);D(T,{getPolyfill:P,implementation:S,shim:R}),w[B(2726)]=T},29415:(w,Q,M)=>{var B=Tt,D=M(98611);w[B(2726)]=function(){var S=B;return Number[S(171)]&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number[S(171)]:D}},23194:(w,Q,M)=>{var B=Tt,D=M(4289),S=M(29415);w[B(2726)]=function(){var P=S();return D(Number,{isNaN:P},{isNaN:function(){var R=Tt;return Number[R(171)]!==P}}),P}},85692:(w,Q,M)=>{var B=Tt,D=M(94029),S=M(16314),P=M(21924),R=P(B(911)),T=M(96410)(),L=M(27296),F=B(621)==typeof globalThis?M.g:globalThis,U=S(),N=P(B(1414),!0)||function(X,j){for(var ee=B,ie=0;ie<X[ee(2405)];ie+=1)if(X[ie]===j)return ie;return-1},H=P(B(2231)),J={},K=Object[B(2411)];T&&L&&K&&D(U,function(X){var j=B,ee,ie=new F[X];Symbol.toStringTag in ie&&(ie=K(ie),(ee=L(ie,Symbol[j(942)]))||(ie=K(ie),ee=L(ie,Symbol[j(942)])),J[X]=ee[j(2009)])}),w[B(2726)]=function(X){var j=B;return!(!X||j(2538)!=typeof X)&&(T&&Symbol[j(942)]in X?!!L&&(ee=X,ie=!1,D(J,function(z,oe){var le=j;if(!ie)try{ie=z[le(2811)](ee)===oe}catch{}}),ie):(X=H(R(X),8,-1),-1<N(U,X)));var ee,ie}},62318:(w,Q,M)=>{var B=Tt,D=M(35717),S=M(3349),P=M(89509)[B(964)],R=new Array(16);function T(){S.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function L(J,K){return J<<K|J>>>32-K}function F(J,K,X,j,ee,ie,z){return L(J+(K&X|~K&j)+ee+ie|0,z)+K|0}function U(J,K,X,j,ee,ie,z){return L(J+(K&j|X&~j)+ee+ie|0,z)+K|0}function N(J,K,X,j,ee,ie,z){return L(J+(K^X^j)+ee+ie|0,z)+K|0}function H(J,K,X,j,ee,ie,z){return L(J+(X^(K|~j))+ee+ie|0,z)+K|0}D(T,S),T.prototype[B(185)]=function(){for(var J=B,K=R,X=0;X<16;++X)K[X]=this._block[J(2274)](4*X);var j=F(this._a,z=this._b,ie=this._c,ee=this._d,K[0],3614090360,7),ee=F(ee,j,z,ie,K[1],3905402710,12),ie=F(ie,ee,j,z,K[2],606105819,17),z=F(z,ie,ee,j,K[3],3250441966,22),j=F(j,z,ie,ee,K[4],4118548399,7),ee=F(ee,j,z,ie,K[5],1200080426,12),ie=F(ie,ee,j,z,K[6],2821735955,17),z=F(z,ie,ee,j,K[7],4249261313,22);j=F(j,z,ie,ee,K[8],1770035416,7),ee=F(ee,j,z,ie,K[9],2336552879,12),ie=F(ie,ee,j,z,K[10],4294925233,17),z=F(z,ie,ee,j,K[11],2304563134,22),j=F(j,z,ie,ee,K[12],1804603682,7),ee=F(ee,j,z,ie,K[13],4254626195,12),ie=F(ie,ee,j,z,K[14],2792965006,17),j=U(j,z=F(z,ie,ee,j,K[15],1236535329,22),ie,ee,K[1],4129170786,5),ee=U(ee,j,z,ie,K[6],3225465664,9),ie=U(ie,ee,j,z,K[11],643717713,14),z=U(z,ie,ee,j,K[0],3921069994,20),j=U(j,z,ie,ee,K[5],3593408605,5),ee=U(ee,j,z,ie,K[10],38016083,9),ie=U(ie,ee,j,z,K[15],3634488961,14),z=U(z,ie,ee,j,K[4],3889429448,20),j=U(j,z,ie,ee,K[9],568446438,5),ee=U(ee,j,z,ie,K[14],3275163606,9),ie=U(ie,ee,j,z,K[3],4107603335,14),z=U(z,ie,ee,j,K[8],1163531501,20),j=U(j,z,ie,ee,K[13],2850285829,5),ee=U(ee,j,z,ie,K[2],4243563512,9),ie=U(ie,ee,j,z,K[7],1735328473,14),j=N(j,z=U(z,ie,ee,j,K[12],2368359562,20),ie,ee,K[5],4294588738,4),ee=N(ee,j,z,ie,K[8],2272392833,11),ie=N(ie,ee,j,z,K[11],1839030562,16),z=N(z,ie,ee,j,K[14],4259657740,23),j=N(j,z,ie,ee,K[1],2763975236,4),ee=N(ee,j,z,ie,K[4],1272893353,11),ie=N(ie,ee,j,z,K[7],4139469664,16),z=N(z,ie,ee,j,K[10],3200236656,23),j=N(j,z,ie,ee,K[13],681279174,4),ee=N(ee,j,z,ie,K[0],3936430074,11),ie=N(ie,ee,j,z,K[3],3572445317,16),z=N(z,ie,ee,j,K[6],76029189,23),j=N(j,z,ie,ee,K[9],3654602809,4),ee=N(ee,j,z,ie,K[12],3873151461,11),ie=N(ie,ee,j,z,K[15],530742520,16),j=H(j,z=N(z,ie,ee,j,K[2],3299628645,23),ie,ee,K[0],4096336452,6),ee=H(ee,j,z,ie,K[7],1126891415,10),ie=H(ie,ee,j,z,K[14],2878612391,15),z=H(z,ie,ee,j,K[5],4237533241,21),j=H(j,z,ie,ee,K[12],1700485571,6),ee=H(ee,j,z,ie,K[3],2399980690,10),ie=H(ie,ee,j,z,K[10],4293915773,15),z=H(z,ie,ee,j,K[1],2240044497,21),j=H(j,z,ie,ee,K[8],1873313359,6),ee=H(ee,j,z,ie,K[15],4264355552,10),ie=H(ie,ee,j,z,K[6],2734768916,15),z=H(z,ie,ee,j,K[13],1309151649,21),j=H(j,z,ie,ee,K[4],4149444226,6),ee=H(ee,j,z,ie,K[11],3174756917,10),ie=H(ie,ee,j,z,K[2],718787259,15),z=H(z,ie,ee,j,K[9],3951481745,21),this._a=this._a+j|0,this._b=this._b+z|0,this._c=this._c+ie|0,this._d=this._d+ee|0},T[B(2086)]._digest=function(){var J=B;this[J(520)][this._blockOffset++]=128,56<this[J(1616)]&&(this[J(520)][J(1263)](0,this[J(1616)],64),this[J(185)](),this[J(1616)]=0),this[J(520)][J(1263)](0,this[J(1616)],56),this[J(520)][J(820)](this._length[0],56),this[J(520)][J(820)](this[J(657)][1],60),this._update();var K=P[J(1855)](16);return K[J(869)](this._a,0),K[J(869)](this._b,4),K[J(869)](this._c,8),K[J(869)](this._d,12),K},w.exports=T},63047:(w,Q,M)=>{var B=Tt,D=M(96240),S=M(29931);function P(R){var T=Tt;this[T(1021)]=R||new S.Rand}(w[B(2726)]=P)[B(766)]=function(R){return new P(R)},P[B(2086)][B(1811)]=function(R){var T=B,L=R.bitLength(),F=Math[T(235)](L/8);do var U=new D(this[T(1021)][T(756)](F));while(0<=U[T(637)](R));return U},P.prototype[B(426)]=function(R,T){var L=B;return T=T.sub(R),R[L(1002)](this[L(1811)](T))},P[B(2086)].test=function(R,T,L){for(var F=B,U=R[F(1787)](),N=D[F(649)](R),H=new D(1)[F(1705)](N),J=(T=T||Math[F(1093)](1,U/48|0),R[F(860)](1)),K=0;!J[F(360)](K);K++);for(var X=R[F(446)](K),j=J[F(1705)](N);0<T;T--){var ee=this._randrange(new D(2),J),ie=(L&&L(ee),ee[F(1705)](N).redPow(X));if(ie[F(637)](H)!==0&&ie[F(637)](j)!==0){for(var z=1;z<K;z++){if((ie=ie[F(2082)]())[F(637)](H)===0)return!1;if(ie[F(637)](j)===0)break}if(z===K)return!1}}return!0},P[B(2086)].getDivisor=function(R,T){for(var L=B,F=R[L(1787)](),U=D[L(649)](R),N=new D(1)[L(1705)](U),H=(T=T||Math.max(1,F/48|0),R[L(860)](1)),J=0;!H[L(360)](J);J++);for(var K=R[L(446)](J),X=H[L(1705)](U);0<T;T--){var j=this[L(426)](new D(2),H),ee=R[L(2334)](j);if(ee[L(1915)](1)!==0)return ee;var ie=j[L(1705)](U)[L(2641)](K);if(ie[L(637)](N)!==0&&ie[L(637)](X)!==0){for(var z=1;z<J;z++){if((ie=ie.redSqr())[L(637)](N)===0)return ie[L(240)]()[L(860)](1)[L(2334)](R);if(ie[L(637)](X)===0)break}if(z===J)return(ie=ie.redSqr()).fromRed()[L(860)](1)[L(2334)](R)}}return!1}},96240:function(w,Q,M){var B=Tt;(function(D){"use strict";var S=Tt;function P(G,Y){var W=Tt;if(!G)throw new Error(Y||W(1176))}function R(G,Y){var W=Tt;function O(){}G.super_=Y,O[W(2086)]=Y[W(2086)],G[W(2086)]=new O,G[W(2086)][W(1630)]=G}function T(G,Y,W){var O=Tt;if(T[O(2672)](G))return G;this.negative=0,this[O(1157)]=null,this[O(2405)]=0,(this[O(1230)]=null)!==G&&(Y!=="le"&&Y!=="be"||(W=Y,Y=10),this[O(1352)](G||0,Y||10,W||"be"))}var L;S(2538)==typeof w?w[S(2726)]=T:D.BN=T,(T.BN=T).wordSize=26;try{L=(S(621)!=typeof window&&window[S(964)]!==void 0?window:M(56619))[S(964)]}catch{}function F(G,Y){var W=S;return G=G[W(2282)](Y),65<=G&&G<=70?G-55:97<=G&&G<=102?G-87:G-48&15}function U(G,Y,W){var O=F(G,W);return Y<=W-1&&(O|=F(G,W-1)<<4),O}function N(G,Y,W,O){for(var re=S,Ce=0,se=Math[re(1817)](G[re(2405)],W),ce=Y;ce<se;ce++)var me=G[re(2282)](ce)-48,Ce=Ce*O+(49<=me?me-49+10:17<=me?me-17+10:me);return Ce}T[S(2672)]=function(G){var Y=S;return G instanceof T||G!==null&&Y(2538)==typeof G&&G.constructor[Y(642)]===T[Y(642)]&&Array.isArray(G[Y(1157)])},T[S(1093)]=function(G,Y){var W=S;return 0<G[W(637)](Y)?G:Y},T[S(1817)]=function(G,Y){var W=S;return G[W(637)](Y)<0?G:Y},T.prototype[S(1352)]=function(G,Y,W){var O=S;if(typeof G=="number")return this[O(746)](G,Y,W);if(O(2538)==typeof G)return this[O(845)](G,Y,W);P((Y=O(1996)===Y?16:Y)===(0|Y)&&2<=Y&&Y<=36);var re=0;(G=G[O(2192)]().replace(/\s+/g,""))[0]==="-"&&(re++,this[O(1746)]=1),re<G[O(2405)]&&(Y===16?this[O(1936)](G,re,W):(this[O(1534)](G,Y,re),W==="le"&&this._initArray(this[O(1780)](),Y,W)))},T[S(2086)][S(746)]=function(G,Y,W){var O=S;G<0&&(this[O(1746)]=1,G=-G),G<67108864?(this[O(1157)]=[67108863&G],this[O(2405)]=1):G<4503599627370496?(this.words=[67108863&G,G/67108864&67108863],this[O(2405)]=2):(P(G<9007199254740992),this.words=[67108863&G,G/67108864&67108863,1],this[O(2405)]=3),W==="le"&&this[O(845)](this[O(1780)](),Y,W)},T[S(2086)][S(845)]=function(G,Y,W){var O=S;if(P(typeof G[O(2405)]=="number"),G[O(2405)]<=0)return this.words=[0],this[O(2405)]=1,this;this.length=Math.ceil(G[O(2405)]/3),this[O(1157)]=new Array(this[O(2405)]);for(var re,se,ce=0;ce<this.length;ce++)this[O(1157)][ce]=0;var me=0;if(W==="be")for(ce=G[O(2405)]-1,re=0;0<=ce;ce-=3)se=G[ce]|G[ce-1]<<8|G[ce-2]<<16,this[O(1157)][re]|=se<<me&67108863,this[O(1157)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);else if(W==="le")for(re=ce=0;ce<G.length;ce+=3)se=G[ce]|G[ce+1]<<8|G[ce+2]<<16,this[O(1157)][re]|=se<<me&67108863,this[O(1157)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);return this[O(1282)]()},T.prototype._parseHex=function(G,Y,W){var O=S;this[O(2405)]=Math[O(235)]((G[O(2405)]-Y)/6),this[O(1157)]=new Array(this[O(2405)]);for(var re=0;re<this[O(2405)];re++)this[O(1157)][re]=0;var se,ce=0,me=0;if(W==="be")for(re=G[O(2405)]-1;Y<=re;re-=2)se=U(G,Y,re)<<ce,this[O(1157)][me]|=67108863&se,18<=ce?(ce-=18,this.words[me+=1]|=se>>>26):ce+=8;else for(re=(G[O(2405)]-Y)%2==0?Y+1:Y;re<G[O(2405)];re+=2)se=U(G,Y,re)<<ce,this[O(1157)][me]|=67108863&se,18<=ce?(ce-=18,this[O(1157)][me+=1]|=se>>>26):ce+=8;this[O(1282)]()},T[S(2086)][S(1534)]=function(G,Y,W){var O=S;this[O(1157)]=[0];for(var re=0,se=this.length=1;se<=67108863;se*=Y)re++;for(var se=se/Y|0,ce=G.length-W,me=ce%--re,Ce=Math[O(1817)](ce,ce-me)+W,ye=0,Be=W;Be<Ce;Be+=re)ye=N(G,Be,Be+re,Y),this.imuln(se),this[O(1157)][0]+ye<67108864?this[O(1157)][0]+=ye:this[O(2209)](ye);if(me!=0){for(var Me=1,ye=N(G,Be,G[O(2405)],Y),Be=0;Be<me;Be++)Me*=Y;this[O(2548)](Me),this[O(1157)][0]+ye<67108864?this.words[0]+=ye:this[O(2209)](ye)}this[O(1282)]()},T.prototype[S(1973)]=function(G){var Y=S;G[Y(1157)]=new Array(this.length);for(var W=0;W<this[Y(2405)];W++)G[Y(1157)][W]=this[Y(1157)][W];G[Y(2405)]=this.length,G.negative=this[Y(1746)],G[Y(1230)]=this[Y(1230)]},T.prototype[S(914)]=function(){var G=S,Y=new T(null);return this[G(1973)](Y),Y},T.prototype._expand=function(G){for(var Y=S;this[Y(2405)]<G;)this.words[this.length++]=0;return this},T[S(2086)][S(1282)]=function(){for(var G=S;1<this[G(2405)]&&this[G(1157)][this.length-1]===0;)this[G(2405)]--;return this[G(1088)]()},T[S(2086)][S(1088)]=function(){var G=S;return this[G(2405)]===1&&this[G(1157)][0]===0&&(this[G(1746)]=0),this},T.prototype[S(1727)]=function(){var G=S;return(this.red?"<BN-R: ":G(398))+this.toString(16)+">"};var H=["","0","00",S(2283),S(2629),S(299),S(614),S(2328),S(505),S(403),S(521),S(179),S(1054),"0000000000000",S(2705),"000000000000000","0000000000000000",S(2566),S(1220),S(530),S(480),S(2305),S(2588),S(1175),"000000000000000000000000","0000000000000000000000000"],J=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],K=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function X(G,Y,W){var O=S;W[O(1746)]=Y.negative^G.negative;var re=G[O(2405)]+Y[O(2405)]|0,re=(W[O(2405)]=re)-1|0,se=(me=(0|G.words[0])*(0|Y[O(1157)][0]))/67108864|0;W[O(1157)][0]=67108863&me;for(var ce=1;ce<re;ce++){for(var me,Ce=se>>>26,ye=67108863&se,Be=Math.min(ce,Y[O(2405)]-1),Me=Math.max(0,ce-G[O(2405)]+1);Me<=Be;Me++)Ce+=(me=(0|G[O(1157)][ce-Me|0])*(0|Y[O(1157)][Me])+ye)/67108864|0,ye=67108863&me;W[O(1157)][ce]=0|ye,se=0|Ce}return se!==0?W.words[ce]=0|se:W[O(2405)]--,W.strip()}T[S(2086)][S(2192)]=function(G,Y){var W=S;if(Y=0|Y||1,(G=G||10)===16||G==="hex"){for(var O="",re=0,se=0,ce=0;ce<this.length;ce++){var me=this[W(1157)][ce],Ce=(16777215&(me<<re|se))[W(2192)](16),O=(se=me>>>24-re&16777215)!=0||ce!==this[W(2405)]-1?H[6-Ce[W(2405)]]+Ce+O:Ce+O;26<=(re+=2)&&(re-=26,ce--)}for(se!==0&&(O=se.toString(16)+O);O[W(2405)]%Y!=0;)O="0"+O;return this[W(1746)]!==0?"-"+O:O}if(G===(0|G)&&2<=G&&G<=36){var ye=J[G],Be=K[G];for(O="",(Me=this[W(914)]()).negative=0;!Me[W(1072)]();){var Me,He=Me[W(1605)](Be)[W(2192)](G);O=(Me=Me.idivn(Be))[W(1072)]()?He+O:H[ye-He[W(2405)]]+He+O}for(this[W(1072)]()&&(O="0"+O);O.length%Y!=0;)O="0"+O;return this[W(1746)]!==0?"-"+O:O}P(!1,W(1169))},T[S(2086)].toNumber=function(){var G=S,Y=this[G(1157)][0];return this[G(2405)]===2?Y+=67108864*this[G(1157)][1]:this.length===3&&this[G(1157)][2]===1?Y+=4503599627370496+67108864*this[G(1157)][1]:2<this.length&&P(!1,G(909)),this[G(1746)]!==0?-Y:Y},T[S(2086)][S(1130)]=function(){var G=S;return this[G(2192)](16)},T.prototype[S(710)]=function(G,Y){var W=S;return P(L!==void 0),this[W(1298)](L,G,Y)},T[S(2086)][S(1780)]=function(G,Y){var W=S;return this[W(1298)](Array,G,Y)},T.prototype[S(1298)]=function(G,Y,Ce){var O=S,re,se,ce=this.byteLength(),me=Ce||Math[O(1093)](1,ce),Ce=(P(ce<=me,"byte array longer than desired length"),P(0<me,O(181)),this[O(1282)](),Y==="le"),ye=new G(me),Be=this[O(914)]();if(Ce){for(se=0;!Be[O(1072)]();se++)re=Be[O(1452)](255),Be[O(586)](8),ye[se]=re;for(;se<me;se++)ye[se]=0}else{for(se=0;se<me-ce;se++)ye[se]=0;for(se=0;!Be[O(1072)]();se++)re=Be[O(1452)](255),Be[O(586)](8),ye[me-se-1]=re}return ye},Math[S(256)]?T[S(2086)][S(1701)]=function(G){var Y=S;return 32-Math[Y(256)](G)}:T[S(2086)][S(1701)]=function(G){var Y=0;return 4096<=G&&(Y+=13,G>>>=13),64<=G&&(Y+=7,G>>>=7),8<=G&&(Y+=4,G>>>=4),2<=G&&(Y+=2,G>>>=2),Y+G},T[S(2086)]._zeroBits=function(G){if(G===0)return 26;var Y=0;return(8191&G)==0&&(Y+=13,G>>>=13),(127&G)==0&&(Y+=7,G>>>=7),(15&G)==0&&(Y+=4,G>>>=4),(3&G)==0&&(Y+=2,G>>>=2),(1&G)==0&&Y++,Y},T[S(2086)][S(1787)]=function(){var G=S,Y=this.words[this[G(2405)]-1],Y=this[G(1701)](Y);return 26*(this[G(2405)]-1)+Y},T[S(2086)][S(2348)]=function(){var G=S;if(this.isZero())return 0;for(var Y=0,W=0;W<this[G(2405)];W++){var O=this[G(1577)](this[G(1157)][W]);if(Y+=O,O!==26)break}return Y},T.prototype[S(2127)]=function(){var G=S;return Math.ceil(this[G(1787)]()/8)},T.prototype[S(2212)]=function(G){var Y=S;return this.negative!==0?this[Y(2148)]()[Y(1039)](G)[Y(2755)](1):this[Y(914)]()},T[S(2086)][S(2095)]=function(G){var Y=S;return this.testn(G-1)?this.notn(G)[Y(2755)](1)[Y(1232)]():this.clone()},T[S(2086)][S(980)]=function(){var G=S;return this[G(1746)]!==0},T[S(2086)][S(770)]=function(){var G=S;return this.clone()[G(1232)]()},T[S(2086)][S(1232)]=function(){var G=S;return this[G(1072)]()||(this[G(1746)]^=1),this},T[S(2086)][S(1416)]=function(G){for(var Y=S;this[Y(2405)]<G[Y(2405)];)this[Y(1157)][this[Y(2405)]++]=0;for(var W=0;W<G.length;W++)this[Y(1157)][W]=this[Y(1157)][W]|G[Y(1157)][W];return this[Y(1282)]()},T[S(2086)].ior=function(G){var Y=S;return P((this.negative|G[Y(1746)])==0),this.iuor(G)},T.prototype.or=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]().ior(G):G[Y(914)]()[Y(2085)](this)},T[S(2086)].uor=function(G){var Y=S;return this.length>G.length?this.clone()[Y(1416)](G):G.clone()[Y(1416)](this)},T[S(2086)][S(1501)]=function(G){for(var Y=S,W=this[Y(2405)]>G[Y(2405)]?G:this,O=0;O<W[Y(2405)];O++)this[Y(1157)][O]=this[Y(1157)][O]&G[Y(1157)][O];return this.length=W[Y(2405)],this[Y(1282)]()},T[S(2086)].iand=function(G){var Y=S;return P((this.negative|G[Y(1746)])==0),this[Y(1501)](G)},T.prototype[S(2429)]=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(1757)](G):G[Y(914)]()[Y(1757)](this)},T[S(2086)][S(1404)]=function(G){var Y=S;return this[Y(2405)]>G.length?this[Y(914)]().iuand(G):G[Y(914)]()[Y(1501)](this)},T[S(2086)][S(1313)]=function(G){for(var Y=S,W,O=this[Y(2405)]>G[Y(2405)]?(W=this,G):(W=G,this),re=0;re<O.length;re++)this[Y(1157)][re]=W.words[re]^O.words[re];if(this!==W)for(;re<W[Y(2405)];re++)this.words[re]=W[Y(1157)][re];return this[Y(2405)]=W.length,this[Y(1282)]()},T[S(2086)][S(2425)]=function(G){var Y=S;return P((this[Y(1746)]|G[Y(1746)])==0),this[Y(1313)](G)},T[S(2086)][S(2216)]=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(2425)](G):G.clone().ixor(this)},T[S(2086)].uxor=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this.clone()[Y(1313)](G):G[Y(914)]()[Y(1313)](this)},T[S(2086)].inotn=function(O){var Y=S;P(typeof O=="number"&&0<=O);var W=0|Math[Y(235)](O/26),O=O%26;this[Y(559)](W),0<O&&W--;for(var re=0;re<W;re++)this[Y(1157)][re]=67108863&~this.words[re];return 0<O&&(this[Y(1157)][re]=~this.words[re]&67108863>>26-O),this[Y(1282)]()},T[S(2086)][S(2800)]=function(G){var Y=S;return this[Y(914)]()[Y(1039)](G)},T[S(2086)].setn=function(re,Y){var W=S;P(W(647)==typeof re&&0<=re);var O=re/26|0,re=re%26;return this[W(559)](1+O),this[W(1157)][O]=Y?this[W(1157)][O]|1<<re:this[W(1157)][O]&~(1<<re),this[W(1282)]()},T[S(2086)][S(2553)]=function(G){var Y=S,W,O;if(this.negative!==0&&G[Y(1746)]===0)return this[Y(1746)]=0,W=this[Y(1155)](G),this[Y(1746)]^=1,this[Y(1088)]();if(this[Y(1746)]===0&&G[Y(1746)]!==0)return G[Y(1746)]=0,W=this.isub(G),G[Y(1746)]=1,W[Y(1088)]();for(var re=this.length>G.length?(O=this,G):(O=G,this),se=0,ce=0;ce<re[Y(2405)];ce++)W=(0|O.words[ce])+(0|re[Y(1157)][ce])+se,this[Y(1157)][ce]=67108863&W,se=W>>>26;for(;se!==0&&ce<O[Y(2405)];ce++)W=(0|O[Y(1157)][ce])+se,this[Y(1157)][ce]=67108863&W,se=W>>>26;if(this[Y(2405)]=O[Y(2405)],se!==0)this.words[this[Y(2405)]]=se,this.length++;else if(O!==this)for(;ce<O.length;ce++)this[Y(1157)][ce]=O[Y(1157)][ce];return this},T[S(2086)][S(1002)]=function(G){var Y=S,W;return G[Y(1746)]!==0&&this[Y(1746)]===0?(G[Y(1746)]=0,W=this.sub(G),G.negative^=1,W):G[Y(1746)]===0&&this[Y(1746)]!==0?(this[Y(1746)]=0,W=G[Y(713)](this),this.negative=1,W):this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(2553)](G):G[Y(914)]()[Y(2553)](this)},T[S(2086)][S(1155)]=function(G){var Y=S,W;if(G.negative!==0)return G[Y(1746)]=0,W=this[Y(2553)](G),G.negative=1,W[Y(1088)]();if(this[Y(1746)]!==0)return this[Y(1746)]=0,this[Y(2553)](G),this[Y(1746)]=1,this[Y(1088)]();var O,re=this[Y(637)](G);if(re===0)return this[Y(1746)]=0,this[Y(2405)]=1,this[Y(1157)][0]=0,this;for(var se=0<re?(O=this,G):(O=G,this),ce=0,me=0;me<se[Y(2405)];me++)ce=(W=(0|O[Y(1157)][me])-(0|se[Y(1157)][me])+ce)>>26,this[Y(1157)][me]=67108863&W;for(;ce!==0&&me<O[Y(2405)];me++)ce=(W=(0|O.words[me])+ce)>>26,this[Y(1157)][me]=67108863&W;if(ce===0&&me<O[Y(2405)]&&O!==this)for(;me<O[Y(2405)];me++)this[Y(1157)][me]=O[Y(1157)][me];return this.length=Math[Y(1093)](this[Y(2405)],me),O!==this&&(this[Y(1746)]=1),this[Y(1282)]()},T.prototype[S(713)]=function(G){var Y=S;return this[Y(914)]()[Y(1155)](G)};var j=function(_e,dt,W){var O=S,Je=_e[O(1157)],St=dt[O(1157)],re=W[O(1157)],di=0|Je[0],Kt=8191&di,di=di>>>13,gt=0|Je[1],Ei=8191>,gt=gt>>>13,ce=0|Je[2],se=8191&ce,ce=ce>>>13,Ce=0|Je[3],me=8191&Ce,Ce=Ce>>>13,Be=0|Je[4],ye=8191&Be,Be=Be>>>13,He=0|Je[5],Me=8191&He,He=He>>>13,Ne=0|Je[6],ke=8191&Ne,Ne=Ne>>>13,we=0|Je[7],Pe=8191&we,we=we>>>13,Ue=0|Je[8],Fe=8191&Ue,Ue=Ue>>>13,Je=0|Je[9],ze=8191&Je,Je=Je>>>13,Vt=0|St[0],pi=8191&Vt,Vt=Vt>>>13,Ht=0|St[1],ui=8191&Ht,Ht=Ht>>>13,Ot=0|St[2],bt=8191&Ot,Ot=Ot>>>13,Ze=0|St[3],je=8191&Ze,Ze=Ze>>>13,At=0|St[4],rt=8191&At,At=At>>>13,at=0|St[5],yt=8191&at,at=at>>>13,_t=0|St[6],ft=8191&_t,_t=_t>>>13,pt=0|St[7],et=8191&pt,pt=pt>>>13,It=0|St[8],zt=8191&It,It=It>>>13,St=0|St[9],Pt=8191&St,St=St>>>13,dt=(W[O(1746)]=_e[O(1746)]^dt.negative,W[O(2405)]=19,(0+Math[O(1759)](Kt,pi)|0)+((8191&(_e=Math[O(1759)](Kt,Vt)+Math[O(1759)](di,pi)|0))<<13)|0),Wt=(Math[O(1759)](di,Vt)+(_e>>>13)|0)+(dt>>>26)|0,Le=(dt&=67108863,Math[O(1759)](Ei,pi)),_e=Math.imul(Ei,Vt)+Math[O(1759)](gt,pi)|0,Oe=Math.imul(gt,Vt),vt=(Wt+(Le+Math[O(1759)](Kt,ui)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,Ht)|0)+Math[O(1759)](di,ui)|0))<<13)|0,wt=(Wt=((Oe+Math.imul(di,Ht)|0)+(_e>>>13)|0)+(vt>>>26)|0,vt&=67108863,Le=Math[O(1759)](se,pi),_e=Math[O(1759)](se,Vt)+Math[O(1759)](ce,pi)|0,Oe=Math[O(1759)](ce,Vt),Le=Le+Math[O(1759)](Ei,ui)|0,_e=(_e+Math[O(1759)](Ei,Ht)|0)+Math[O(1759)](gt,ui)|0,Oe=Oe+Math[O(1759)](gt,Ht)|0,(Wt+(Le+Math.imul(Kt,bt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,Ot)|0)+Math[O(1759)](di,bt)|0))<<13)|0),Bt=(Wt=((Oe+Math[O(1759)](di,Ot)|0)+(_e>>>13)|0)+(wt>>>26)|0,wt&=67108863,Le=Math.imul(me,pi),_e=Math.imul(me,Vt)+Math[O(1759)](Ce,pi)|0,Oe=Math[O(1759)](Ce,Vt),Le=Le+Math.imul(se,ui)|0,_e=(_e+Math[O(1759)](se,Ht)|0)+Math[O(1759)](ce,ui)|0,Oe=Oe+Math.imul(ce,Ht)|0,Le=Le+Math[O(1759)](Ei,bt)|0,_e=(_e+Math[O(1759)](Ei,Ot)|0)+Math.imul(gt,bt)|0,Oe=Oe+Math[O(1759)](gt,Ot)|0,(Wt+(Le+Math[O(1759)](Kt,je)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,Ze)|0)+Math[O(1759)](di,je)|0))<<13)|0),bi=(Wt=((Oe+Math[O(1759)](di,Ze)|0)+(_e>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,Le=Math[O(1759)](ye,pi),_e=Math[O(1759)](ye,Vt)+Math.imul(Be,pi)|0,Oe=Math[O(1759)](Be,Vt),Le=Le+Math[O(1759)](me,ui)|0,_e=(_e+Math[O(1759)](me,Ht)|0)+Math[O(1759)](Ce,ui)|0,Oe=Oe+Math[O(1759)](Ce,Ht)|0,Le=Le+Math[O(1759)](se,bt)|0,_e=(_e+Math[O(1759)](se,Ot)|0)+Math[O(1759)](ce,bt)|0,Oe=Oe+Math[O(1759)](ce,Ot)|0,Le=Le+Math[O(1759)](Ei,je)|0,_e=(_e+Math[O(1759)](Ei,Ze)|0)+Math[O(1759)](gt,je)|0,Oe=Oe+Math[O(1759)](gt,Ze)|0,(Wt+(Le+Math[O(1759)](Kt,rt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,At)|0)+Math.imul(di,rt)|0))<<13)|0),nr=(Wt=((Oe+Math.imul(di,At)|0)+(_e>>>13)|0)+(bi>>>26)|0,bi&=67108863,Le=Math[O(1759)](Me,pi),_e=Math[O(1759)](Me,Vt)+Math[O(1759)](He,pi)|0,Oe=Math[O(1759)](He,Vt),Le=Le+Math[O(1759)](ye,ui)|0,_e=(_e+Math[O(1759)](ye,Ht)|0)+Math[O(1759)](Be,ui)|0,Oe=Oe+Math[O(1759)](Be,Ht)|0,Le=Le+Math[O(1759)](me,bt)|0,_e=(_e+Math[O(1759)](me,Ot)|0)+Math[O(1759)](Ce,bt)|0,Oe=Oe+Math[O(1759)](Ce,Ot)|0,Le=Le+Math[O(1759)](se,je)|0,_e=(_e+Math[O(1759)](se,Ze)|0)+Math.imul(ce,je)|0,Oe=Oe+Math.imul(ce,Ze)|0,Le=Le+Math[O(1759)](Ei,rt)|0,_e=(_e+Math.imul(Ei,At)|0)+Math.imul(gt,rt)|0,Oe=Oe+Math[O(1759)](gt,At)|0,(Wt+(Le+Math[O(1759)](Kt,yt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,at)|0)+Math[O(1759)](di,yt)|0))<<13)|0),Ai=(Wt=((Oe+Math.imul(di,at)|0)+(_e>>>13)|0)+(nr>>>26)|0,nr&=67108863,Le=Math.imul(ke,pi),_e=Math[O(1759)](ke,Vt)+Math.imul(Ne,pi)|0,Oe=Math[O(1759)](Ne,Vt),Le=Le+Math[O(1759)](Me,ui)|0,_e=(_e+Math.imul(Me,Ht)|0)+Math[O(1759)](He,ui)|0,Oe=Oe+Math[O(1759)](He,Ht)|0,Le=Le+Math[O(1759)](ye,bt)|0,_e=(_e+Math.imul(ye,Ot)|0)+Math[O(1759)](Be,bt)|0,Oe=Oe+Math[O(1759)](Be,Ot)|0,Le=Le+Math[O(1759)](me,je)|0,_e=(_e+Math[O(1759)](me,Ze)|0)+Math[O(1759)](Ce,je)|0,Oe=Oe+Math[O(1759)](Ce,Ze)|0,Le=Le+Math[O(1759)](se,rt)|0,_e=(_e+Math[O(1759)](se,At)|0)+Math[O(1759)](ce,rt)|0,Oe=Oe+Math[O(1759)](ce,At)|0,Le=Le+Math[O(1759)](Ei,yt)|0,_e=(_e+Math[O(1759)](Ei,at)|0)+Math[O(1759)](gt,yt)|0,Oe=Oe+Math.imul(gt,at)|0,(Wt+(Le+Math[O(1759)](Kt,ft)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,_t)|0)+Math[O(1759)](di,ft)|0))<<13)|0),xi=(Wt=((Oe+Math.imul(di,_t)|0)+(_e>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,Le=Math[O(1759)](Pe,pi),_e=Math[O(1759)](Pe,Vt)+Math[O(1759)](we,pi)|0,Oe=Math[O(1759)](we,Vt),Le=Le+Math[O(1759)](ke,ui)|0,_e=(_e+Math[O(1759)](ke,Ht)|0)+Math.imul(Ne,ui)|0,Oe=Oe+Math[O(1759)](Ne,Ht)|0,Le=Le+Math[O(1759)](Me,bt)|0,_e=(_e+Math[O(1759)](Me,Ot)|0)+Math[O(1759)](He,bt)|0,Oe=Oe+Math[O(1759)](He,Ot)|0,Le=Le+Math.imul(ye,je)|0,_e=(_e+Math[O(1759)](ye,Ze)|0)+Math[O(1759)](Be,je)|0,Oe=Oe+Math[O(1759)](Be,Ze)|0,Le=Le+Math.imul(me,rt)|0,_e=(_e+Math.imul(me,At)|0)+Math[O(1759)](Ce,rt)|0,Oe=Oe+Math[O(1759)](Ce,At)|0,Le=Le+Math[O(1759)](se,yt)|0,_e=(_e+Math[O(1759)](se,at)|0)+Math[O(1759)](ce,yt)|0,Oe=Oe+Math[O(1759)](ce,at)|0,Le=Le+Math[O(1759)](Ei,ft)|0,_e=(_e+Math[O(1759)](Ei,_t)|0)+Math[O(1759)](gt,ft)|0,Oe=Oe+Math.imul(gt,_t)|0,(Wt+(Le+Math.imul(Kt,et)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,pt)|0)+Math[O(1759)](di,et)|0))<<13)|0),Fi=(Wt=((Oe+Math[O(1759)](di,pt)|0)+(_e>>>13)|0)+(xi>>>26)|0,xi&=67108863,Le=Math[O(1759)](Fe,pi),_e=Math[O(1759)](Fe,Vt)+Math[O(1759)](Ue,pi)|0,Oe=Math.imul(Ue,Vt),Le=Le+Math[O(1759)](Pe,ui)|0,_e=(_e+Math[O(1759)](Pe,Ht)|0)+Math[O(1759)](we,ui)|0,Oe=Oe+Math[O(1759)](we,Ht)|0,Le=Le+Math[O(1759)](ke,bt)|0,_e=(_e+Math.imul(ke,Ot)|0)+Math.imul(Ne,bt)|0,Oe=Oe+Math[O(1759)](Ne,Ot)|0,Le=Le+Math[O(1759)](Me,je)|0,_e=(_e+Math[O(1759)](Me,Ze)|0)+Math[O(1759)](He,je)|0,Oe=Oe+Math[O(1759)](He,Ze)|0,Le=Le+Math[O(1759)](ye,rt)|0,_e=(_e+Math.imul(ye,At)|0)+Math[O(1759)](Be,rt)|0,Oe=Oe+Math[O(1759)](Be,At)|0,Le=Le+Math[O(1759)](me,yt)|0,_e=(_e+Math[O(1759)](me,at)|0)+Math[O(1759)](Ce,yt)|0,Oe=Oe+Math.imul(Ce,at)|0,Le=Le+Math.imul(se,ft)|0,_e=(_e+Math[O(1759)](se,_t)|0)+Math[O(1759)](ce,ft)|0,Oe=Oe+Math.imul(ce,_t)|0,Le=Le+Math.imul(Ei,et)|0,_e=(_e+Math[O(1759)](Ei,pt)|0)+Math.imul(gt,et)|0,Oe=Oe+Math[O(1759)](gt,pt)|0,(Wt+(Le+Math[O(1759)](Kt,zt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,It)|0)+Math[O(1759)](di,zt)|0))<<13)|0),pi=(Wt=((Oe+Math[O(1759)](di,It)|0)+(_e>>>13)|0)+(Fi>>>26)|0,Fi&=67108863,Le=Math[O(1759)](ze,pi),_e=Math.imul(ze,Vt)+Math.imul(Je,pi)|0,Oe=Math.imul(Je,Vt),Le=Le+Math[O(1759)](Fe,ui)|0,_e=(_e+Math[O(1759)](Fe,Ht)|0)+Math[O(1759)](Ue,ui)|0,Oe=Oe+Math[O(1759)](Ue,Ht)|0,Le=Le+Math[O(1759)](Pe,bt)|0,_e=(_e+Math.imul(Pe,Ot)|0)+Math[O(1759)](we,bt)|0,Oe=Oe+Math.imul(we,Ot)|0,Le=Le+Math[O(1759)](ke,je)|0,_e=(_e+Math[O(1759)](ke,Ze)|0)+Math.imul(Ne,je)|0,Oe=Oe+Math[O(1759)](Ne,Ze)|0,Le=Le+Math.imul(Me,rt)|0,_e=(_e+Math[O(1759)](Me,At)|0)+Math.imul(He,rt)|0,Oe=Oe+Math[O(1759)](He,At)|0,Le=Le+Math[O(1759)](ye,yt)|0,_e=(_e+Math.imul(ye,at)|0)+Math[O(1759)](Be,yt)|0,Oe=Oe+Math[O(1759)](Be,at)|0,Le=Le+Math.imul(me,ft)|0,_e=(_e+Math[O(1759)](me,_t)|0)+Math[O(1759)](Ce,ft)|0,Oe=Oe+Math.imul(Ce,_t)|0,Le=Le+Math[O(1759)](se,et)|0,_e=(_e+Math[O(1759)](se,pt)|0)+Math[O(1759)](ce,et)|0,Oe=Oe+Math[O(1759)](ce,pt)|0,Le=Le+Math[O(1759)](Ei,zt)|0,_e=(_e+Math[O(1759)](Ei,It)|0)+Math[O(1759)](gt,zt)|0,Oe=Oe+Math[O(1759)](gt,It)|0,(Wt+(Le+Math[O(1759)](Kt,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,St)|0)+Math[O(1759)](di,Pt)|0))<<13)|0),Vt=(Wt=((Oe+Math[O(1759)](di,St)|0)+(_e>>>13)|0)+(pi>>>26)|0,pi&=67108863,Le=Math[O(1759)](ze,ui),_e=Math[O(1759)](ze,Ht)+Math[O(1759)](Je,ui)|0,Oe=Math[O(1759)](Je,Ht),Le=Le+Math[O(1759)](Fe,bt)|0,_e=(_e+Math[O(1759)](Fe,Ot)|0)+Math[O(1759)](Ue,bt)|0,Oe=Oe+Math[O(1759)](Ue,Ot)|0,Le=Le+Math[O(1759)](Pe,je)|0,_e=(_e+Math[O(1759)](Pe,Ze)|0)+Math[O(1759)](we,je)|0,Oe=Oe+Math[O(1759)](we,Ze)|0,Le=Le+Math[O(1759)](ke,rt)|0,_e=(_e+Math[O(1759)](ke,At)|0)+Math[O(1759)](Ne,rt)|0,Oe=Oe+Math[O(1759)](Ne,At)|0,Le=Le+Math[O(1759)](Me,yt)|0,_e=(_e+Math[O(1759)](Me,at)|0)+Math.imul(He,yt)|0,Oe=Oe+Math[O(1759)](He,at)|0,Le=Le+Math[O(1759)](ye,ft)|0,_e=(_e+Math[O(1759)](ye,_t)|0)+Math[O(1759)](Be,ft)|0,Oe=Oe+Math.imul(Be,_t)|0,Le=Le+Math[O(1759)](me,et)|0,_e=(_e+Math[O(1759)](me,pt)|0)+Math[O(1759)](Ce,et)|0,Oe=Oe+Math[O(1759)](Ce,pt)|0,Le=Le+Math[O(1759)](se,zt)|0,_e=(_e+Math.imul(se,It)|0)+Math[O(1759)](ce,zt)|0,Oe=Oe+Math[O(1759)](ce,It)|0,(Wt+(Le+Math.imul(Ei,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Ei,St)|0)+Math[O(1759)](gt,Pt)|0))<<13)|0),Kt=(Wt=((Oe+Math[O(1759)](gt,St)|0)+(_e>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,Le=Math[O(1759)](ze,bt),_e=Math[O(1759)](ze,Ot)+Math[O(1759)](Je,bt)|0,Oe=Math[O(1759)](Je,Ot),Le=Le+Math[O(1759)](Fe,je)|0,_e=(_e+Math[O(1759)](Fe,Ze)|0)+Math[O(1759)](Ue,je)|0,Oe=Oe+Math[O(1759)](Ue,Ze)|0,Le=Le+Math[O(1759)](Pe,rt)|0,_e=(_e+Math[O(1759)](Pe,At)|0)+Math[O(1759)](we,rt)|0,Oe=Oe+Math[O(1759)](we,At)|0,Le=Le+Math[O(1759)](ke,yt)|0,_e=(_e+Math[O(1759)](ke,at)|0)+Math[O(1759)](Ne,yt)|0,Oe=Oe+Math[O(1759)](Ne,at)|0,Le=Le+Math.imul(Me,ft)|0,_e=(_e+Math[O(1759)](Me,_t)|0)+Math[O(1759)](He,ft)|0,Oe=Oe+Math[O(1759)](He,_t)|0,Le=Le+Math[O(1759)](ye,et)|0,_e=(_e+Math.imul(ye,pt)|0)+Math[O(1759)](Be,et)|0,Oe=Oe+Math[O(1759)](Be,pt)|0,Le=Le+Math.imul(me,zt)|0,_e=(_e+Math[O(1759)](me,It)|0)+Math.imul(Ce,zt)|0,Oe=Oe+Math[O(1759)](Ce,It)|0,(Wt+(Le+Math[O(1759)](se,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(se,St)|0)+Math.imul(ce,Pt)|0))<<13)|0),di=(Wt=((Oe+Math[O(1759)](ce,St)|0)+(_e>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,Le=Math[O(1759)](ze,je),_e=Math[O(1759)](ze,Ze)+Math[O(1759)](Je,je)|0,Oe=Math[O(1759)](Je,Ze),Le=Le+Math.imul(Fe,rt)|0,_e=(_e+Math[O(1759)](Fe,At)|0)+Math[O(1759)](Ue,rt)|0,Oe=Oe+Math[O(1759)](Ue,At)|0,Le=Le+Math[O(1759)](Pe,yt)|0,_e=(_e+Math[O(1759)](Pe,at)|0)+Math[O(1759)](we,yt)|0,Oe=Oe+Math[O(1759)](we,at)|0,Le=Le+Math[O(1759)](ke,ft)|0,_e=(_e+Math[O(1759)](ke,_t)|0)+Math[O(1759)](Ne,ft)|0,Oe=Oe+Math.imul(Ne,_t)|0,Le=Le+Math[O(1759)](Me,et)|0,_e=(_e+Math[O(1759)](Me,pt)|0)+Math.imul(He,et)|0,Oe=Oe+Math[O(1759)](He,pt)|0,Le=Le+Math[O(1759)](ye,zt)|0,_e=(_e+Math.imul(ye,It)|0)+Math[O(1759)](Be,zt)|0,Oe=Oe+Math[O(1759)](Be,It)|0,(Wt+(Le+Math[O(1759)](me,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](me,St)|0)+Math.imul(Ce,Pt)|0))<<13)|0),ui=(Wt=((Oe+Math[O(1759)](Ce,St)|0)+(_e>>>13)|0)+(di>>>26)|0,di&=67108863,Le=Math[O(1759)](ze,rt),_e=Math[O(1759)](ze,At)+Math[O(1759)](Je,rt)|0,Oe=Math[O(1759)](Je,At),Le=Le+Math[O(1759)](Fe,yt)|0,_e=(_e+Math.imul(Fe,at)|0)+Math[O(1759)](Ue,yt)|0,Oe=Oe+Math.imul(Ue,at)|0,Le=Le+Math.imul(Pe,ft)|0,_e=(_e+Math[O(1759)](Pe,_t)|0)+Math.imul(we,ft)|0,Oe=Oe+Math[O(1759)](we,_t)|0,Le=Le+Math.imul(ke,et)|0,_e=(_e+Math[O(1759)](ke,pt)|0)+Math.imul(Ne,et)|0,Oe=Oe+Math.imul(Ne,pt)|0,Le=Le+Math[O(1759)](Me,zt)|0,_e=(_e+Math[O(1759)](Me,It)|0)+Math.imul(He,zt)|0,Oe=Oe+Math[O(1759)](He,It)|0,(Wt+(Le+Math.imul(ye,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](ye,St)|0)+Math[O(1759)](Be,Pt)|0))<<13)|0),Ht=(Wt=((Oe+Math[O(1759)](Be,St)|0)+(_e>>>13)|0)+(ui>>>26)|0,ui&=67108863,Le=Math[O(1759)](ze,yt),_e=Math[O(1759)](ze,at)+Math[O(1759)](Je,yt)|0,Oe=Math[O(1759)](Je,at),Le=Le+Math[O(1759)](Fe,ft)|0,_e=(_e+Math[O(1759)](Fe,_t)|0)+Math[O(1759)](Ue,ft)|0,Oe=Oe+Math.imul(Ue,_t)|0,Le=Le+Math[O(1759)](Pe,et)|0,_e=(_e+Math[O(1759)](Pe,pt)|0)+Math[O(1759)](we,et)|0,Oe=Oe+Math[O(1759)](we,pt)|0,Le=Le+Math[O(1759)](ke,zt)|0,_e=(_e+Math[O(1759)](ke,It)|0)+Math[O(1759)](Ne,zt)|0,Oe=Oe+Math[O(1759)](Ne,It)|0,(Wt+(Le+Math[O(1759)](Me,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Me,St)|0)+Math[O(1759)](He,Pt)|0))<<13)|0),Ei=(Wt=((Oe+Math[O(1759)](He,St)|0)+(_e>>>13)|0)+(Ht>>>26)|0,Ht&=67108863,Le=Math[O(1759)](ze,ft),_e=Math[O(1759)](ze,_t)+Math[O(1759)](Je,ft)|0,Oe=Math[O(1759)](Je,_t),Le=Le+Math[O(1759)](Fe,et)|0,_e=(_e+Math[O(1759)](Fe,pt)|0)+Math[O(1759)](Ue,et)|0,Oe=Oe+Math.imul(Ue,pt)|0,Le=Le+Math[O(1759)](Pe,zt)|0,_e=(_e+Math[O(1759)](Pe,It)|0)+Math[O(1759)](we,zt)|0,Oe=Oe+Math.imul(we,It)|0,(Wt+(Le+Math[O(1759)](ke,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](ke,St)|0)+Math[O(1759)](Ne,Pt)|0))<<13)|0),gt=(Wt=((Oe+Math.imul(Ne,St)|0)+(_e>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,Le=Math[O(1759)](ze,et),_e=Math[O(1759)](ze,pt)+Math.imul(Je,et)|0,Oe=Math[O(1759)](Je,pt),Le=Le+Math[O(1759)](Fe,zt)|0,_e=(_e+Math[O(1759)](Fe,It)|0)+Math[O(1759)](Ue,zt)|0,Oe=Oe+Math[O(1759)](Ue,It)|0,(Wt+(Le+Math[O(1759)](Pe,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Pe,St)|0)+Math[O(1759)](we,Pt)|0))<<13)|0),bt=(Wt=((Oe+Math[O(1759)](we,St)|0)+(_e>>>13)|0)+(gt>>>26)|0,gt&=67108863,Le=Math[O(1759)](ze,zt),_e=Math.imul(ze,It)+Math[O(1759)](Je,zt)|0,Oe=Math[O(1759)](Je,It),(Wt+(Le+Math.imul(Fe,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Fe,St)|0)+Math[O(1759)](Ue,Pt)|0))<<13)|0),Ot=(Wt=((Oe+Math.imul(Ue,St)|0)+(_e>>>13)|0)+(bt>>>26)|0,bt&=67108863,(Wt+Math[O(1759)](ze,Pt)|0)+((8191&(_e=Math[O(1759)](ze,St)+Math[O(1759)](Je,Pt)|0))<<13)|0),Wt=(Math[O(1759)](Je,St)+(_e>>>13)|0)+(Ot>>>26)|0;return Ot&=67108863,re[0]=dt,re[1]=vt,re[2]=wt,re[3]=Bt,re[4]=bi,re[5]=nr,re[6]=Ai,re[7]=xi,re[8]=Fi,re[9]=pi,re[10]=Vt,re[11]=Kt,re[12]=di,re[13]=ui,re[14]=Ht,re[15]=Ei,re[16]=gt,re[17]=bt,re[18]=Ot,Wt!=0&&(re[19]=Wt,W[O(2405)]++),W};function ee(G,Y,W){var O=S;return new ie()[O(950)](G,Y,W)}function ie(G,Y){this.x=G,this.y=Y}Math.imul||(j=X),T[S(2086)][S(2374)]=function(G,Y){var W=S,O=this.length+G[W(2405)];return(this[W(2405)]===10&&G[W(2405)]===10?j:O<63?X:O<1024?function(re,se,ce){var me=W;ce.negative=se.negative^re[me(1746)],ce[me(2405)]=re[me(2405)]+se.length;for(var Ce=0,ye=0,Be=0;Be<ce[me(2405)]-1;Be++){for(var Me=ye,ye=0,He=67108863&Ce,ke=Math[me(1817)](Be,se[me(2405)]-1),Ne=Math.max(0,Be-re.length+1);Ne<=ke;Ne++){var Pe,we=(0|re[me(1157)][Be-Ne])*(0|se[me(1157)][Ne]),He=67108863&(Pe=(67108863&we)+He|0);ye+=(Me=(Me=Me+(we/67108864|0)|0)+(Pe>>>26)|0)>>>26,Me&=67108863}ce[me(1157)][Be]=He,Ce=Me,Me=ye}return Ce!==0?ce[me(1157)][Be]=Ce:ce.length--,ce[me(1282)]()}:ee)(this,G,Y)},ie.prototype[S(894)]=function(G){for(var Y=S,W=new Array(G),O=T[Y(2086)][Y(1701)](G)-1,re=0;re<G;re++)W[re]=this[Y(762)](re,O,G);return W},ie.prototype[S(762)]=function(G,Y,W){if(G===0||G===W-1)return G;for(var O=0,re=0;re<Y;re++)O|=(1&G)<<Y-re-1,G>>=1;return O},ie[S(2086)][S(2706)]=function(G,Y,W,O,re,se){for(var ce=0;ce<se;ce++)O[ce]=Y[G[ce]],re[ce]=W[G[ce]]},ie[S(2086)][S(1334)]=function(G,Y,W,O,re,se){var ce=S;this.permute(se,G,Y,W,O,re);for(var me=1;me<re;me<<=1)for(var Ce=me<<1,ye=Math[ce(2713)](2*Math.PI/Ce),Be=Math[ce(1574)](2*Math.PI/Ce),Me=0;Me<re;Me+=Ce)for(var He=ye,ke=Be,Ne=0;Ne<me;Ne++){var Pe=W[Me+Ne],we=O[Me+Ne],Fe=W[Me+Ne+me],Ue=He*Fe-ke*(ze=O[Me+Ne+me]),ze=He*ze+ke*Fe;W[Me+Ne]=Pe+(Fe=Ue),O[Me+Ne]=we+ze,W[Me+Ne+me]=Pe-Fe,O[Me+Ne+me]=we-ze,Ne!==Ce&&(Ue=ye*He-Be*ke,ke=ye*ke+Be*He,He=Ue)}},ie[S(2086)][S(2723)]=function(G,Y){for(var W=S,Y=1&(re=1|Math[W(1093)](Y,G)),O=0,re=re/2|0;re;re>>>=1)O++;return 1<<O+1+Y},ie[S(2086)].conjugate=function(G,Y,W){if(!(W<=1))for(var O=0;O<W/2;O++){var re=G[O];G[O]=G[W-O-1],G[W-O-1]=re,re=Y[O],Y[O]=-Y[W-O-1],Y[W-O-1]=-re}},ie[S(2086)][S(407)]=function(G,Y){for(var W=S,O=0,re=0;re<Y/2;re++){var se=8192*Math[W(1162)](G[2*re+1]/Y)+Math[W(1162)](G[2*re]/Y)+O;G[re]=67108863&se,O=se<67108864?0:se/67108864|0}return G},ie.prototype.convert13b=function(G,Y,W,O){for(var re=0,se=0;se<Y;se++)re+=0|G[se],W[2*se]=8191&re,W[2*se+1]=8191&(re>>>=13),re>>>=13;for(se=2*Y;se<O;++se)W[se]=0;P(re===0),P((-8192&re)==0)},ie.prototype[S(1405)]=function(G){for(var Y=new Array(G),W=0;W<G;W++)Y[W]=0;return Y},ie[S(2086)][S(950)]=function(G,Y,W){var O=S,re=2*this[O(2723)](G[O(2405)],Y[O(2405)]),se=this.makeRBT(re),ce=this[O(1405)](re),me=new Array(re),Ce=new Array(re),ye=new Array(re),Be=new Array(re),Me=new Array(re),He=new Array(re),ke=W[O(1157)];ke[O(2405)]=re,this[O(2710)](G.words,G.length,me,re),this[O(2710)](Y[O(1157)],Y[O(2405)],Be,re),this.transform(me,ce,Ce,ye,re,se),this[O(1334)](Be,ce,Me,He,re,se);for(var Ne=0;Ne<re;Ne++){var Pe=Ce[Ne]*Me[Ne]-ye[Ne]*He[Ne];ye[Ne]=Ce[Ne]*He[Ne]+ye[Ne]*Me[Ne],Ce[Ne]=Pe}return this.conjugate(Ce,ye,re),this[O(1334)](Ce,ye,ke,ce,re,se),this[O(2120)](ke,ce,re),this.normalize13b(ke,re),W.negative=G.negative^Y[O(1746)],W[O(2405)]=G[O(2405)]+Y.length,W[O(1282)]()},T[S(2086)][S(1304)]=function(G){var Y=S,W=new T(null);return W.words=new Array(this[Y(2405)]+G[Y(2405)]),this[Y(2374)](G,W)},T.prototype[S(1733)]=function(G){var Y=S,W=new T(null);return W[Y(1157)]=new Array(this[Y(2405)]+G[Y(2405)]),ee(this,G,W)},T[S(2086)][S(1759)]=function(G){var Y=S;return this[Y(914)]()[Y(2374)](G,this)},T[S(2086)][S(2548)]=function(G){var Y=S;P(Y(647)==typeof G),P(G<67108864);for(var W=0,O=0;O<this.length;O++){var re=(0|this[Y(1157)][O])*G,se=(67108863&re)+(67108863&W),W=(W>>=26)+(re/67108864|0)+(se>>>26);this[Y(1157)][O]=67108863&se}return W!==0&&(this[Y(1157)][O]=W,this[Y(2405)]++),this},T.prototype[S(779)]=function(G){var Y=S;return this[Y(914)]()[Y(2548)](G)},T.prototype[S(2524)]=function(){var G=S;return this[G(1304)](this)},T[S(2086)][S(2496)]=function(){return this.imul(this.clone())},T[S(2086)][S(1905)]=function(G){var Y=S,W=function(ce){for(var me=Tt,Ce=new Array(ce.bitLength()),ye=0;ye<Ce[me(2405)];ye++){var Be=ye%26;Ce[ye]=(ce.words[ye/26|0]&1<<Be)>>>Be}return Ce}(G);if(W[Y(2405)]===0)return new T(1);for(var O=this,re=0;re<W.length&&W[re]===0;re++,O=O[Y(2524)]());if(++re<W[Y(2405)])for(var se=O[Y(2524)]();re<W[Y(2405)];re++,se=se.sqr())W[re]!==0&&(O=O[Y(1304)](se));return O},T.prototype[S(2622)]=function(G){var Y=S;P(Y(647)==typeof G&&0<=G);var W=G%26,O=(G-W)/26,re=67108863>>>26-W<<26-W;if(W!=0){for(var se=0,ce=0;ce<this[Y(2405)];ce++){var me=this[Y(1157)][ce]&re,Ce=(0|this.words[ce])-me<<W;this.words[ce]=Ce|se,se=me>>>26-W}se&&(this[Y(1157)][ce]=se,this[Y(2405)]++)}if(O!=0){for(ce=this.length-1;0<=ce;ce--)this[Y(1157)][ce+O]=this[Y(1157)][ce];for(ce=0;ce<O;ce++)this[Y(1157)][ce]=0;this.length+=O}return this[Y(1282)]()},T.prototype[S(2284)]=function(G){var Y=S;return P(this[Y(1746)]===0),this[Y(2622)](G)},T[S(2086)][S(586)]=function(G,Y,W){var O=S;P(typeof G=="number"&&0<=G);var re,re=Y?(Y-Y%26)/26:0,se=G%26,ce=Math[O(1817)]((G-se)/26,this.length),me=67108863^67108863>>>se<<se,Ce=W;if(re-=ce,re=Math[O(1093)](0,re),Ce){for(var ye=0;ye<ce;ye++)Ce.words[ye]=this[O(1157)][ye];Ce[O(2405)]=ce}if(ce!==0)if(this[O(2405)]>ce)for(this[O(2405)]-=ce,ye=0;ye<this[O(2405)];ye++)this[O(1157)][ye]=this[O(1157)][ye+ce];else this[O(1157)][0]=0,this[O(2405)]=1;for(var Be=0,ye=this[O(2405)]-1;0<=ye&&(Be!==0||re<=ye);ye--){var Me=0|this[O(1157)][ye];this.words[ye]=Be<<26-se|Me>>>se,Be=Me&me}return Ce&&Be!==0&&(Ce[O(1157)][Ce[O(2405)]++]=Be),this[O(2405)]===0&&(this.words[0]=0,this.length=1),this[O(1282)]()},T[S(2086)][S(739)]=function(G,Y,W){var O=S;return P(this[O(1746)]===0),this[O(586)](G,Y,W)},T[S(2086)][S(1904)]=function(G){var Y=S;return this[Y(914)]().ishln(G)},T[S(2086)][S(2181)]=function(G){var Y=S;return this[Y(914)]().iushln(G)},T[S(2086)][S(446)]=function(G){var Y=S;return this[Y(914)]().ishrn(G)},T[S(2086)][S(1635)]=function(G){var Y=S;return this[Y(914)]()[Y(586)](G)},T[S(2086)].testn=function(O){var Y=S;P(Y(647)==typeof O&&0<=O);var W=O%26,O=(O-W)/26;return!(this[Y(2405)]<=O||!(this.words[O]&1<<W))},T[S(2086)][S(2255)]=function(O){var Y=S;P(typeof O=="number"&&0<=O);var W=O%26,O=(O-W)/26;return P(this[Y(1746)]===0,"imaskn works only with positive numbers"),this[Y(2405)]<=O?this:(W!=0&&O++,this[Y(2405)]=Math[Y(1817)](O,this[Y(2405)]),W!=0&&(this[Y(1157)][this.length-1]&=67108863^67108863>>>W<<W),this.strip())},T[S(2086)][S(1116)]=function(G){return this.clone().imaskn(G)},T.prototype[S(2755)]=function(G){var Y=S;return P(Y(647)==typeof G),P(G<67108864),G<0?this[Y(283)](-G):this.negative!==0?(this.length===1&&(0|this.words[0])<G?(this[Y(1157)][0]=G-(0|this[Y(1157)][0]),this[Y(1746)]=0):(this[Y(1746)]=0,this.isubn(G),this[Y(1746)]=1),this):this[Y(2209)](G)},T[S(2086)][S(2209)]=function(G){var Y=S;this[Y(1157)][0]+=G;for(var W=0;W<this.length&&67108864<=this.words[W];W++)this.words[W]-=67108864,W===this[Y(2405)]-1?this.words[W+1]=1:this[Y(1157)][W+1]++;return this[Y(2405)]=Math.max(this[Y(2405)],W+1),this},T.prototype[S(283)]=function(G){var Y=S;if(P(Y(647)==typeof G),P(G<67108864),G<0)return this.iaddn(-G);if(this[Y(1746)]!==0)return this[Y(1746)]=0,this[Y(2755)](G),this[Y(1746)]=1,this;if(this[Y(1157)][0]-=G,this[Y(2405)]===1&&this[Y(1157)][0]<0)this[Y(1157)][0]=-this.words[0],this.negative=1;else for(var W=0;W<this[Y(2405)]&&this[Y(1157)][W]<0;W++)this[Y(1157)][W]+=67108864,--this[Y(1157)][W+1];return this[Y(1282)]()},T.prototype[S(1316)]=function(G){var Y=S;return this.clone()[Y(2755)](G)},T[S(2086)][S(860)]=function(G){var Y=S;return this[Y(914)]()[Y(283)](G)},T[S(2086)].iabs=function(){var G=S;return this[G(1746)]=0,this},T[S(2086)][S(2148)]=function(){var G=S;return this[G(914)]().iabs()},T[S(2086)]._ishlnsubmul=function(G,Y,W){for(var O=S,re=G[O(2405)]+W,se=(this[O(559)](re),0),ce=0;ce<G[O(2405)];ce++){var me=(0|this[O(1157)][ce+W])+se,Ce=(0|G[O(1157)][ce])*Y,se=((me-=67108863&Ce)>>26)-(Ce/67108864|0);this[O(1157)][ce+W]=67108863&me}for(;ce<this[O(2405)]-W;ce++)se=(me=(0|this.words[ce+W])+se)>>26,this[O(1157)][ce+W]=67108863&me;if(se===0)return this[O(1282)]();for(P(se===-1),ce=se=0;ce<this.length;ce++)se=(me=-(0|this[O(1157)][ce])+se)>>26,this[O(1157)][ce]=67108863&me;return this[O(1746)]=1,this[O(1282)]()},T[S(2086)][S(1037)]=function(G,Y){var W=S;this[W(2405)],G.length;var O,re=this[W(914)](),se=G,ce=0|se[W(1157)][se[W(2405)]-1],me=((G=26-this._countBits(ce))!=0&&(se=se[W(2181)](G),re[W(2622)](G),ce=0|se[W(1157)][se[W(2405)]-1]),re.length-se[W(2405)]);if(W(2451)!==Y){(O=new T(null))[W(2405)]=1+me,O[W(1157)]=new Array(O[W(2405)]);for(var Ce=0;Ce<O.length;Ce++)O[W(1157)][Ce]=0}var ye=re[W(914)]()._ishlnsubmul(se,1,me);ye[W(1746)]===0&&(re=ye,O&&(O[W(1157)][me]=1));for(var Be=me-1;0<=Be;Be--){var Me=67108864*(0|re[W(1157)][se[W(2405)]+Be])+(0|re.words[se[W(2405)]+Be-1]),Me=Math.min(Me/ce|0,67108863);for(re._ishlnsubmul(se,Me,Be);re[W(1746)]!==0;)Me--,re[W(1746)]=0,re[W(2768)](se,1,Be),re[W(1072)]()||(re[W(1746)]^=1);O&&(O[W(1157)][Be]=Me)}return O&&O[W(1282)](),re[W(1282)](),Y!=="div"&&G!=0&&re[W(586)](G),{div:O||null,mod:re}},T[S(2086)][S(1923)]=function(G,Y,W){var O=S;return P(!G.isZero()),this[O(1072)]()?{div:new T(0),mod:new T(0)}:this[O(1746)]!==0&&G[O(1746)]===0?(ce=this.neg().divmod(G,Y),O(2451)!==Y&&(re=ce.div[O(770)]()),O(2526)!==Y&&(se=ce[O(2451)].neg(),W&&se.negative!==0&&se[O(2553)](G)),{div:re,mod:se}):this.negative===0&&G[O(1746)]!==0?(ce=this[O(1923)](G[O(770)](),Y),{div:re=O(2451)!==Y?ce[O(2526)][O(770)]():re,mod:ce[O(2451)]}):(this.negative&G.negative)!=0?(ce=this[O(770)]()[O(1923)](G[O(770)](),Y),Y!=="div"&&(se=ce[O(2451)][O(770)](),W&&se[O(1746)]!==0&&se[O(1155)](G)),{div:ce[O(2526)],mod:se}):G.length>this[O(2405)]||this.cmp(G)<0?{div:new T(0),mod:this}:G[O(2405)]===1?O(2526)===Y?{div:this[O(2050)](G[O(1157)][0]),mod:null}:O(2451)===Y?{div:null,mod:new T(this[O(1605)](G[O(1157)][0]))}:{div:this.divn(G[O(1157)][0]),mod:new T(this[O(1605)](G[O(1157)][0]))}:this[O(1037)](G,Y);var re,se,ce},T[S(2086)][S(2526)]=function(G){var Y=S;return this.divmod(G,Y(2526),!1)[Y(2526)]},T[S(2086)].mod=function(G){var Y=S;return this[Y(1923)](G,"mod",!1)[Y(2451)]},T[S(2086)][S(1792)]=function(G){var Y=S;return this[Y(1923)](G,Y(2451),!0)[Y(2451)]},T[S(2086)][S(2692)]=function(re){var Y=S,W=this[Y(1923)](re);if(W[Y(2451)].isZero())return W[Y(2526)];var se=W[Y(2526)][Y(1746)]!==0?W[Y(2451)][Y(1155)](re):W[Y(2451)],O=re[Y(1635)](1),re=re[Y(1452)](1),se=se[Y(637)](O);return se<0||re===1&&se===0?W.div:W[Y(2526)].negative!==0?W[Y(2526)][Y(283)](1):W[Y(2526)][Y(2755)](1)},T[S(2086)][S(1605)]=function(G){var Y=S;P(G<=67108863);for(var W=(1<<26)%G,O=0,re=this[Y(2405)]-1;0<=re;re--)O=(W*O+(0|this[Y(1157)][re]))%G;return O},T[S(2086)][S(929)]=function(G){var Y=S;P(G<=67108863);for(var W=0,O=this[Y(2405)]-1;0<=O;O--){var re=(0|this[Y(1157)][O])+67108864*W;this.words[O]=re/G|0,W=re%G}return this[Y(1282)]()},T[S(2086)].divn=function(G){var Y=S;return this.clone()[Y(929)](G)},T[S(2086)][S(1005)]=function(G){var Y=S;P(G[Y(1746)]===0),P(!G[Y(1072)]());for(var O=this,W=G[Y(914)](),O=O[Y(1746)]!==0?O[Y(1792)](G):O[Y(914)](),re=new T(1),se=new T(0),ce=new T(0),me=new T(1),Ce=0;O[Y(2105)]()&&W[Y(2105)]();)O[Y(586)](1),W.iushrn(1),++Ce;for(var ye=W.clone(),Be=O[Y(914)]();!O[Y(1072)]();){for(var Me=0,He=1;(O[Y(1157)][0]&He)==0&&Me<26;++Me,He<<=1);if(0<Me)for(O[Y(586)](Me);0<Me--;)(re[Y(2771)]()||se.isOdd())&&(re[Y(2553)](ye),se[Y(1155)](Be)),re[Y(586)](1),se[Y(586)](1);for(var ke=0,Ne=1;(W.words[0]&Ne)==0&&ke<26;++ke,Ne<<=1);if(0<ke)for(W[Y(586)](ke);0<ke--;)(ce[Y(2771)]()||me[Y(2771)]())&&(ce[Y(2553)](ye),me[Y(1155)](Be)),ce.iushrn(1),me[Y(586)](1);0<=O.cmp(W)?(O[Y(1155)](W),re[Y(1155)](ce),se[Y(1155)](me)):(W[Y(1155)](O),ce[Y(1155)](re),me.isub(se))}return{a:ce,b:me,gcd:W[Y(2622)](Ce)}},T[S(2086)]._invmp=function(G){var Y=S;P(G[Y(1746)]===0),P(!G[Y(1072)]());for(var W,re=this,O=G[Y(914)](),re=re[Y(1746)]!==0?re[Y(1792)](G):re.clone(),se=new T(1),ce=new T(0),me=O.clone();0<re[Y(1915)](1)&&0<O[Y(1915)](1);){for(var Ce=0,ye=1;(re.words[0]&ye)==0&&Ce<26;++Ce,ye<<=1);if(0<Ce)for(re[Y(586)](Ce);0<Ce--;)se[Y(2771)]()&&se[Y(2553)](me),se.iushrn(1);for(var Be=0,Me=1;(O[Y(1157)][0]&Me)==0&&Be<26;++Be,Me<<=1);if(0<Be)for(O.iushrn(Be);0<Be--;)ce[Y(2771)]()&&ce[Y(2553)](me),ce.iushrn(1);0<=re[Y(637)](O)?(re[Y(1155)](O),se.isub(ce)):(O[Y(1155)](re),ce[Y(1155)](se))}return(W=re[Y(1915)](1)===0?se:ce).cmpn(0)<0&&W[Y(2553)](G),W},T[S(2086)][S(2334)]=function(G){var Y=S;if(this.isZero())return G[Y(2148)]();if(G.isZero())return this[Y(2148)]();var W=this[Y(914)](),O=G[Y(914)]();W.negative=0;for(var re=O[Y(1746)]=0;W[Y(2105)]()&&O.isEven();re++)W.iushrn(1),O[Y(586)](1);for(;;){for(;W[Y(2105)]();)W[Y(586)](1);for(;O[Y(2105)]();)O[Y(586)](1);var se=W.cmp(O);if(se<0)var ce=W,W=O,O=ce;else if(se===0||O[Y(1915)](1)===0)break;W[Y(1155)](O)}return O.iushln(re)},T[S(2086)][S(680)]=function(G){var Y=S;return this[Y(1005)](G).a[Y(1792)](G)},T[S(2086)].isEven=function(){var G=S;return(1&this[G(1157)][0])==0},T[S(2086)].isOdd=function(){var G=S;return(1&this[G(1157)][0])==1},T[S(2086)].andln=function(G){var Y=S;return this[Y(1157)][0]&G},T[S(2086)].bincn=function(W){var Y=S;P(Y(647)==typeof W);var O=W%26,W=(W-O)/26,O=1<<O;if(this.length<=W)return this._expand(1+W),this.words[W]|=O,this;for(var re=O,se=W;re!==0&&se<this.length;se++){var ce=0|this[Y(1157)][se],re=(ce+=re)>>>26;ce&=67108863,this[Y(1157)][se]=ce}return re!==0&&(this[Y(1157)][se]=re,this[Y(2405)]++),this},T[S(2086)][S(1072)]=function(){var G=S;return this[G(2405)]===1&&this[G(1157)][0]===0},T[S(2086)][S(1915)]=function(G){var Y=S,W=G<0;return this[Y(1746)]===0||W?this[Y(1746)]===0&&W?1:(this[Y(1282)](),W=1<this[Y(2405)]?1:(P((G=W?-G:G)<=67108863,Y(2514)),(W=0|this[Y(1157)][0])===G?0:W<G?-1:1),this[Y(1746)]!==0?0|-W:W):-1},T[S(2086)][S(637)]=function(G){var Y=S;return this.negative!==0&&G.negative===0?-1:this[Y(1746)]===0&&G[Y(1746)]!==0?1:(G=this[Y(356)](G),this.negative!==0?0|-G:G)},T[S(2086)][S(356)]=function(G){var Y=S;if(this[Y(2405)]>G[Y(2405)])return 1;if(this[Y(2405)]<G[Y(2405)])return-1;for(var W=0,O=this.length-1;0<=O;O--){var re=0|this[Y(1157)][O],se=0|G[Y(1157)][O];if(re!=se){re<se?W=-1:se<re&&(W=1);break}}return W},T[S(2086)][S(912)]=function(G){var Y=S;return this[Y(1915)](G)===1},T[S(2086)].gt=function(G){var Y=S;return this[Y(637)](G)===1},T.prototype.gten=function(G){var Y=S;return 0<=this[Y(1915)](G)},T.prototype[S(1897)]=function(G){var Y=S;return 0<=this[Y(637)](G)},T.prototype.ltn=function(G){var Y=S;return this[Y(1915)](G)===-1},T[S(2086)].lt=function(G){var Y=S;return this[Y(637)](G)===-1},T[S(2086)][S(2131)]=function(G){var Y=S;return this[Y(1915)](G)<=0},T.prototype[S(1284)]=function(G){var Y=S;return this[Y(637)](G)<=0},T[S(2086)][S(2690)]=function(G){var Y=S;return this[Y(1915)](G)===0},T[S(2086)].eq=function(G){return this.cmp(G)===0},T[S(1230)]=function(G){return new de(G)},T[S(2086)][S(1705)]=function(G){var Y=S;return P(!this[Y(1230)],Y(635)),P(this.negative===0,Y(2486)),G[Y(178)](this)[Y(2616)](G)},T[S(2086)][S(240)]=function(){var G=S;return P(this[G(1230)],G(1041)),this[G(1230)][G(2335)](this)},T.prototype[S(2616)]=function(G){return this.red=G,this},T[S(2086)][S(934)]=function(G){var Y=S;return P(!this[Y(1230)],Y(635)),this[Y(2616)](G)},T[S(2086)][S(2308)]=function(G){var Y=S;return P(this.red,Y(2701)),this.red[Y(1002)](this,G)},T[S(2086)].redIAdd=function(G){var Y=S;return P(this.red,"redIAdd works only with red numbers"),this[Y(1230)][Y(2553)](this,G)},T.prototype[S(478)]=function(G){var Y=S;return P(this[Y(1230)],"redSub works only with red numbers"),this.red[Y(713)](this,G)},T[S(2086)][S(1199)]=function(G){var Y=S;return P(this.red,"redISub works only with red numbers"),this[Y(1230)][Y(1155)](this,G)},T[S(2086)][S(2442)]=function(G){var Y=S;return P(this.red,Y(835)),this[Y(1230)][Y(284)](this,G)},T[S(2086)].redMul=function(G){var Y=S;return P(this[Y(1230)],Y(1524)),this[Y(1230)][Y(1459)](this,G),this[Y(1230)][Y(1304)](this,G)},T.prototype.redIMul=function(G){var Y=S;return P(this[Y(1230)],Y(1524)),this.red[Y(1459)](this,G),this[Y(1230)][Y(1759)](this,G)},T[S(2086)][S(2082)]=function(){var G=S;return P(this.red,G(718)),this[G(1230)][G(1171)](this),this[G(1230)][G(2524)](this)},T[S(2086)][S(1776)]=function(){var G=S;return P(this[G(1230)],"redISqr works only with red numbers"),this[G(1230)]._verify1(this),this[G(1230)][G(2496)](this)},T[S(2086)].redSqrt=function(){var G=S;return P(this[G(1230)],"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},T[S(2086)][S(1806)]=function(){var G=S;return P(this[G(1230)],"redInvm works only with red numbers"),this[G(1230)][G(1171)](this),this[G(1230)].invm(this)},T[S(2086)][S(2447)]=function(){var G=S;return P(this.red,"redNeg works only with red numbers"),this[G(1230)][G(1171)](this),this[G(1230)][G(770)](this)},T.prototype[S(2641)]=function(G){var Y=S;return P(this[Y(1230)]&&!G[Y(1230)],Y(2809)),this[Y(1230)]._verify1(this),this[Y(1230)][Y(1905)](this,G)};var z={k256:null,p224:null,p192:null,p25519:null};function oe(G,Y){var W=S;this.name=G,this.p=new T(Y,16),this.n=this.p.bitLength(),this.k=new T(1).iushln(this.n)[W(1155)](this.p),this.tmp=this[W(2201)]()}function le(){var G=S;oe[G(2811)](this,"k256",G(783))}function Ae(){var G=S;oe.call(this,G(2651),"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function he(){var G=S;oe.call(this,G(1143),G(1127))}function ge(){var G=S;oe.call(this,G(370),G(692))}function de(G){var Y=S,W;Y(1090)==typeof G?(W=T[Y(1739)](G),this.m=W.p,this[Y(1408)]=W):(P(G[Y(912)](1),Y(1420)),this.m=G,this[Y(1408)]=null)}function fe(G){var Y=S;de[Y(2811)](this,G),this[Y(2626)]=this.m.bitLength(),this.shift%26!=0&&(this[Y(2626)]+=26-this.shift%26),this.r=new T(1).iushln(this[Y(2626)]),this.r2=this[Y(1641)](this.r[Y(2524)]()),this.rinv=this.r[Y(2763)](this.m),this.minv=this[Y(631)][Y(1304)](this.r)[Y(283)](1)[Y(2526)](this.m),this[Y(1277)]=this[Y(1277)][Y(1792)](this.r),this[Y(1277)]=this.r[Y(713)](this[Y(1277)])}oe[S(2086)][S(2201)]=function(){var G=new T(null);return G.words=new Array(Math.ceil(this.n/13)),G},oe[S(2086)][S(2367)]=function(G){for(var Y=S,W,O=G;this[Y(2523)](O,this.tmp),(W=(O=(O=this[Y(1365)](O))[Y(2553)](this[Y(1242)]))[Y(1787)]())>this.n;);return G=W<this.n?-1:O[Y(356)](this.p),G===0?(O[Y(1157)][0]=0,O.length=1):0<G?O[Y(1155)](this.p):O[Y(1282)]!==void 0?O[Y(1282)]():O._strip(),O},oe.prototype[S(2523)]=function(G,Y){var W=S;G[W(586)](this.n,0,Y)},oe[S(2086)][S(1365)]=function(G){var Y=S;return G[Y(1759)](this.k)},R(le,oe),le[S(2086)].split=function(G,Y){for(var W=S,O=Math[W(1817)](G.length,9),re=0;re<O;re++)Y[W(1157)][re]=G[W(1157)][re];if(Y[W(2405)]=O,G[W(2405)]<=9)return G[W(1157)][0]=0,void(G[W(2405)]=1);var se=G[W(1157)][9];for(Y[W(1157)][Y[W(2405)]++]=4194303&se,re=10;re<G[W(2405)];re++){var ce=0|G[W(1157)][re];G.words[re-10]=(4194303&ce)<<4|se>>>22,se=ce}(G.words[re-10]=se>>>=22)==0&&10<G[W(2405)]?G[W(2405)]-=10:G.length-=9},le[S(2086)].imulK=function(G){var Y=S;G[Y(1157)][G[Y(2405)]]=0,G[Y(1157)][G.length+1]=0,G[Y(2405)]+=2;for(var W=0,O=0;O<G[Y(2405)];O++){var re=0|G[Y(1157)][O];W+=977*re,G[Y(1157)][O]=67108863&W,W=64*re+(W/67108864|0)}return G[Y(1157)][G[Y(2405)]-1]===0&&(G[Y(2405)]--,G.words[G.length-1]===0&&G.length--),G},R(Ae,oe),R(he,oe),R(ge,oe),ge.prototype[S(1365)]=function(G){for(var Y=S,W=0,O=0;O<G.length;O++){var re=19*(0|G.words[O])+W,se=67108863&re;re>>>=26,G[Y(1157)][O]=se,W=re}return W!==0&&(G[Y(1157)][G[Y(2405)]++]=W),G},T[S(1739)]=function(G){var Y=S;if(z[G])return z[G];var W;if(Y(522)===G)W=new le;else if(G==="p224")W=new Ae;else if(G==="p192")W=new he;else{if(Y(2698)!==G)throw new Error(Y(1495)+G);W=new ge}return z[G]=W},de[S(2086)][S(1171)]=function(G){var Y=S;P(G[Y(1746)]===0,Y(2486)),P(G[Y(1230)],"red works only with red numbers")},de[S(2086)][S(1459)]=function(G,Y){var W=S;P((G[W(1746)]|Y[W(1746)])==0,"red works only with positives"),P(G[W(1230)]&&G[W(1230)]===Y.red,W(1553))},de.prototype[S(1641)]=function(G){var Y=S;return(this[Y(1408)]?this[Y(1408)].ireduce(G):G.umod(this.m))._forceRed(this)},de[S(2086)][S(770)]=function(G){var Y=S;return G[Y(1072)]()?G[Y(914)]():this.m[Y(713)](G)[Y(2616)](this)},de[S(2086)][S(1002)]=function(G,Y){var W=S;return this._verify2(G,Y),G=G[W(1002)](Y),0<=G[W(637)](this.m)&&G[W(1155)](this.m),G[W(2616)](this)},de[S(2086)][S(2553)]=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G.iadd(Y),0<=G[W(637)](this.m)&&G[W(1155)](this.m),G},de[S(2086)].sub=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(713)](Y),G[W(1915)](0)<0&&G[W(2553)](this.m),G[W(2616)](this)},de[S(2086)][S(1155)]=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(1155)](Y),G[W(1915)](0)<0&&G[W(2553)](this.m),G},de[S(2086)][S(284)]=function(G,Y){var W=S;return this._verify1(G),this[W(1641)](G[W(2181)](Y))},de.prototype[S(1759)]=function(G,Y){var W=S;return this[W(1459)](G,Y),this[W(1641)](G[W(1759)](Y))},de[S(2086)][S(1304)]=function(G,Y){var W=S;return this[W(1459)](G,Y),this.imod(G[W(1304)](Y))},de[S(2086)][S(2496)]=function(G){var Y=S;return this[Y(1759)](G,G[Y(914)]())},de[S(2086)][S(2524)]=function(G){var Y=S;return this[Y(1304)](G,G)},de[S(2086)][S(2657)]=function(G){var Y=S;if(G[Y(1072)]())return G[Y(914)]();var W=this.m.andln(3);if(P(W%2==1),W===3)return W=this.m[Y(1002)](new T(1))[Y(586)](2),this[Y(1905)](G,W);for(var O=this.m[Y(860)](1),re=0;!O.isZero()&&O[Y(1452)](1)===0;)re++,O[Y(586)](1);P(!O[Y(1072)]());for(var se=new T(1).toRed(this),ce=se.redNeg(),me=this.m[Y(860)](1)[Y(586)](1),Ce=new T(2*(Ce=this.m[Y(1787)]())*Ce).toRed(this);this[Y(1905)](Ce,me)[Y(637)](ce)!==0;)Ce[Y(2236)](ce);for(var ye=this[Y(1905)](Ce,O),Be=this[Y(1905)](G,O.addn(1)[Y(586)](1)),Me=this[Y(1905)](G,O),He=re;Me.cmp(se)!==0;){for(var ke=Me,Ne=0;ke.cmp(se)!==0;Ne++)ke=ke.redSqr();P(Ne<He);var Pe=this[Y(1905)](ye,new T(1)[Y(2622)](He-Ne-1)),Be=Be[Y(2111)](Pe),ye=Pe.redSqr(),Me=Me[Y(2111)](ye),He=Ne}return Be},de[S(2086)][S(680)]=function(G){var Y=S;return G=G[Y(2763)](this.m),G.negative!==0?(G[Y(1746)]=0,this[Y(1641)](G)[Y(2447)]()):this[Y(1641)](G)},de.prototype[S(1905)]=function(G,Y){var W=S;if(Y.isZero())return new T(1).toRed(this);if(Y[W(1915)](1)===0)return G[W(914)]();var O=new Array(16);O[0]=new T(1).toRed(this),O[1]=G;for(var re=2;re<O[W(2405)];re++)O[re]=this[W(1304)](O[re-1],G);var se=O[0],ce=0,me=0,Ce=Y[W(1787)]()%26;for(Ce===0&&(Ce=26),re=Y[W(2405)]-1;0<=re;re--){for(var ye=Y[W(1157)][re],Be=Ce-1;0<=Be;Be--){var Me=ye>>Be&1;se!==O[0]&&(se=this[W(2524)](se)),Me==0&&ce===0?me=0:(ce=ce<<1|Me,(++me==4||re===0&&Be===0)&&(se=this[W(1304)](se,O[ce]),ce=me=0))}Ce=26}return se},de[S(2086)][S(178)]=function(G){var Y=S,W=G[Y(1792)](this.m);return W===G?W.clone():W},de[S(2086)][S(2335)]=function(G){var Y=S;return G=G[Y(914)](),G[Y(1230)]=null,G},T.mont=function(G){return new fe(G)},R(fe,de),fe[S(2086)].convertTo=function(G){var Y=S;return this[Y(1641)](G[Y(2181)](this[Y(2626)]))},fe[S(2086)][S(2335)]=function(G){var Y=S;return G=this[Y(1641)](G[Y(1304)](this[Y(631)])),G[Y(1230)]=null,G},fe[S(2086)].imul=function(G,Y){var W=S;return G[W(1072)]()||Y.isZero()?(G[W(1157)][0]=0,G[W(2405)]=1,G):(G=G[W(1759)](Y),Y=G[W(1116)](this[W(2626)]).mul(this.minv)[W(2255)](this.shift)[W(1304)](this.m),G=G.isub(Y)[W(586)](this[W(2626)]),Y=G,0<=G[W(637)](this.m)?Y=G[W(1155)](this.m):G[W(1915)](0)<0&&(Y=G[W(2553)](this.m)),Y[W(2616)](this))},fe.prototype[S(1304)]=function(G,Y){var W=S;return G[W(1072)]()||Y[W(1072)]()?new T(0)[W(2616)](this):(G=G.mul(Y),Y=G[W(1116)](this[W(2626)]).mul(this.minv)[W(2255)](this[W(2626)])[W(1304)](this.m),G=G[W(1155)](Y)[W(586)](this[W(2626)]),Y=G,0<=G[W(637)](this.m)?Y=G[W(1155)](this.m):G[W(1915)](0)<0&&(Y=G[W(2553)](this.m)),Y[W(2616)](this))},fe[S(2086)][S(680)]=function(G){var Y=S;return this[Y(1641)](G[Y(2763)](this.m)[Y(1304)](this.r2))[Y(2616)](this)}})((w=M[B(467)](w),this))},79746:w=>{var Q=Tt;(w[Q(2726)]=function(M,B){if(!M)throw new Error(B||"Assertion failed")})[Q(1965)]=function(M,B,D){var S=Q;if(M!=B)throw new Error(D||S(2585)+M+S(1538)+B)}},34504:(w,Q)=>{var M=Tt;function B(S){var P=Tt;return S[P(2405)]===1?"0"+S:S}function D(S){for(var P=Tt,R="",T=0;T<S[P(2405)];T++)R+=B(S[T][P(2192)](16));return R}Q[M(1780)]=function(S,P){var R=M;if(Array.isArray(S))return S.slice();if(!S)return[];var T=[];if(R(1090)!=typeof S){for(var L=0;L<S[R(2405)];L++)T[L]=0|S[L];return T}if(P==="hex")for((S=S.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(S="0"+S),L=0;L<S[R(2405)];L+=2)T[R(2764)](parseInt(S[L]+S[L+1],16));else for(L=0;L<S.length;L++){var U=S[R(2282)](L),F=U>>8,U=255&U;F?T.push(F,U):T[R(2764)](U)}return T},Q.zero2=B,Q[M(604)]=D,Q.encode=function(S,P){return P==="hex"?D(S):S}},24244:w=>{var Q=Tt;function M(B){return B!=B}w[Q(2726)]=function(B,D){return B===0&&D===0?1/B==1/D:B===D||!(!M(B)||!M(D))}},20609:(w,Q,R)=>{var B=Tt,D=R(4289),T=R(55559),S=R(24244),P=R(75624),R=R(52281),T=T(P(),Object);D(T,{getPolyfill:P,implementation:S,shim:R}),w[B(2726)]=T},75624:(w,Q,M)=>{var B=M(24244);w.exports=function(){var D=Tt;return D(605)==typeof Object.is?Object.is:B}},52281:(w,Q,M)=>{var B=Tt,D=M(75624),S=M(4289);w[B(2726)]=function(){var P=D();return S(Object,{is:P},{is:function(){return Object.is!==P}}),P}},18987:(w,Q,M)=>{var B=Tt,D,S,P,R,T,L,F,U,N,H;Object[B(732)]||(D=Object[B(2086)][B(2084)],S=Object[B(2086)][B(2192)],P=M(21414),M=Object[B(2086)][B(517)],R=!M[B(2811)]({toString:null},B(2192)),T=M.call(function(){},"prototype"),L=[B(2192),B(1587),B(2207),B(2084),B(1186),"propertyIsEnumerable",B(1630)],F=function(J){var K=B,X=J[K(1630)];return X&&X[K(2086)]===J},U={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},N=function(){var J=B;if(J(621)==typeof window)return!1;for(var K in window)try{if(!U["$"+K]&&D[J(2811)](window,K)&&window[K]!==null&&J(2538)==typeof window[K])try{F(window[K])}catch{return!0}}catch{return!0}return!1}(),H=function(J){var K=B,X=J!==null&&typeof J=="object",j=K(2100)===S[K(2811)](J),ee=P(J),ie=X&&K(290)===S[K(2811)](J),z=[];if(!X&&!j&&!ee)throw new TypeError("Object.keys called on a non-object");var oe=T&&j;if(ie&&0<J[K(2405)]&&!D[K(2811)](J,0))for(var le=0;le<J.length;++le)z[K(2764)](String(le));if(ee&&0<J[K(2405)])for(var Ae=0;Ae<J.length;++Ae)z[K(2764)](String(Ae));else for(var he in J)oe&&he==="prototype"||!D[K(2811)](J,he)||z.push(String(he));if(R)for(var ge=function(fe){var G=K;if(G(621)==typeof window||!N)return F(fe);try{return F(fe)}catch{return!1}}(J),de=0;de<L[K(2405)];++de)ge&&K(1630)===L[de]||!D[K(2811)](J,L[de])||z[K(2764)](L[de]);return z}),w[B(2726)]=H},82215:(w,Q,M)=>{var B=Tt,D=Array[B(2086)][B(352)],S=M(21414),P=Object[B(732)],R=P?function(L){return P(L)}:M(18987),T=Object.keys;R.shim=function(){var L=B;return Object.keys?function(){var F=Tt,U=Object.keys(arguments);return U&&U[F(2405)]===arguments[F(2405)]}(1,2)||(Object[L(732)]=function(F){var U=L;return S(F)?T(D[U(2811)](F)):T(F)}):Object.keys=R,Object[L(732)]||R},w[B(2726)]=R},21414:w=>{var Q=Tt,M=Object[Q(2086)][Q(2192)];w[Q(2726)]=function(B){var D=Q,S=M.call(B);return D(2715)===S||S!=="[object Array]"&&B!==null&&D(2538)==typeof B&&D(647)==typeof B[D(2405)]&&0<=B[D(2405)]&&D(2100)===M.call(B[D(2573)])}},52818:(w,Q,P)=>{var B=Tt,D=P(39809),P=(Q[B(1217)]=P(41934),D[B(305)](B(2070),function(){var T=B;this.seq()[T(1736)](this.key(T(1089)).int(),this[T(2115)](T(2745))[T(1667)](),this[T(2115)](T(1636)).int(),this[T(2115)](T(1648)).int(),this.key(T(576))[T(1667)](),this[T(2115)](T(212)).int(),this[T(2115)](T(211)).int(),this.key("exponent2")[T(1667)](),this.key(T(1930))[T(1667)]())})),P=(Q.RSAPrivateKey=P,D[B(305)](B(782),function(){var T=B;this[T(2390)]()[T(1736)](this[T(2115)]("modulus")[T(1667)](),this[T(2115)](T(1636))[T(1667)]())})),P=(Q[B(782)]=P,D[B(305)]("SubjectPublicKeyInfo",function(){var T=B;this[T(2390)]()[T(1736)](this[T(2115)]("algorithm").use(S),this[T(2115)](T(2611)).bitstr())})),S=(Q[B(536)]=P,D[B(305)](B(1670),function(){var T=B;this.seq().obj(this[T(2115)](T(2555)).objid(),this.key(T(2621)).null_()[T(1664)](),this.key("curve").objid()[T(1664)](),this[T(2115)](T(306)).seq()[T(1736)](this[T(2115)]("p")[T(1667)](),this.key("q")[T(1667)](),this[T(2115)]("g").int())[T(1664)]())})),P=D[B(305)](B(975),function(){var T=B;this[T(2390)]()[T(1736)](this[T(2115)](T(1089)).int(),this.key(T(2555))[T(1717)](S),this[T(2115)](T(758)).octstr())}),P=(Q[B(2370)]=P,D[B(305)](B(429),function(){var T=B;this[T(2390)]().obj(this[T(2115)](T(2555))[T(2390)]()[T(1736)](this[T(2115)]("id")[T(575)](),this.key(T(1505))[T(2390)]()[T(1736)](this[T(2115)](T(2395))[T(2390)]()[T(1736)](this.key("id")[T(575)](),this[T(2115)]("kdeparams").seq()[T(1736)](this[T(2115)]("salt")[T(2479)](),this[T(2115)](T(919))[T(1667)]())),this[T(2115)]("cipher").seq().obj(this[T(2115)](T(542))[T(575)](),this[T(2115)]("iv")[T(2479)]()))),this.key(T(758))[T(2479)]())})),P=(Q[B(2022)]=P,D[B(305)](B(2607),function(){var T=B;this[T(2390)]()[T(1736)](this[T(2115)](T(1089))[T(1667)](),this[T(2115)]("p")[T(1667)](),this[T(2115)]("q")[T(1667)](),this.key("g")[T(1667)](),this[T(2115)](T(1748))[T(1667)](),this[T(2115)](T(2516))[T(1667)]())})),P=(Q[B(2607)]=P,Q.DSAparam=D[B(305)]("DSAparam",function(){var T=B;this[T(1667)]()}),D[B(305)](B(2144),function(){var T=B;this.seq().obj(this[T(2115)](T(1089)).int(),this[T(2115)](T(2098)).octstr(),this.key(T(214))[T(1664)]()[T(487)](0)[T(1717)](R),this[T(2115)](T(1057)).optional()[T(487)](1)[T(2504)]())})),R=(Q[B(2144)]=P,D.define(B(977),function(){var T=B;this[T(671)]({namedCurve:this[T(575)]()})}));Q.signature=D.define(B(1711),function(){var T=B;this[T(2390)]()[T(1736)](this.key("r").int(),this[T(2115)]("s")[T(1667)]())})},41934:(w,Q,J)=>{var B=Tt,J=J(39809),D=J[B(305)](B(2165),function(){var K=B;this.choice({utcTime:this[K(1887)](),generalTime:this[K(1170)]()})}),S=J[B(305)]("AttributeTypeValue",function(){var K=B;this[K(2390)]().obj(this[K(2115)](K(1808))[K(575)](),this[K(2115)]("value")[K(937)]())}),P=J[B(305)]("AlgorithmIdentifier",function(){var K=B;this[K(2390)]()[K(1736)](this[K(2115)](K(2555))[K(575)](),this.key(K(214))[K(1664)](),this.key("curve").objid()[K(1664)]())}),R=J[B(305)](B(2696),function(){var K=B;this[K(2390)]().obj(this[K(2115)](K(2555))[K(1717)](P),this[K(2115)]("subjectPublicKey")[K(2504)]())}),T=J.define(B(207),function(){var K=B;this[K(2047)](S)}),L=J[B(305)](B(2069),function(){var K=B;this[K(2261)](T)}),F=J[B(305)](B(963),function(){var K=B;this[K(671)]({rdnSequence:this[K(1717)](L)})}),U=J[B(305)](B(1260),function(){var K=B;this.seq()[K(1736)](this[K(2115)](K(1179))[K(1717)](D),this[K(2115)](K(231))[K(1717)](D))}),N=J[B(305)](B(1508),function(){var K=B;this[K(2390)]().obj(this.key(K(2797))[K(575)](),this[K(2115)](K(988))[K(858)]()[K(1829)](!1),this[K(2115)](K(162))[K(2479)]())}),H=J.define("TBSCertificate",function(){var K=B;this.seq().obj(this.key("version")[K(487)](0).int().optional(),this[K(2115)](K(1134)).int(),this[K(2115)](K(1711)).use(P),this[K(2115)]("issuer")[K(1717)](F),this.key(K(1292))[K(1717)](U),this.key(K(810))[K(1717)](F),this.key("subjectPublicKeyInfo")[K(1717)](R),this[K(2115)]("issuerUniqueID")[K(291)](1).bitstr()[K(1664)](),this.key("subjectUniqueID")[K(291)](2)[K(2504)]()[K(1664)](),this.key(K(2520))[K(487)](3)[K(2261)](N)[K(1664)]())}),J=J[B(305)]("X509Certificate",function(){var K=B;this[K(2390)]()[K(1736)](this[K(2115)](K(1847))[K(1717)](H),this[K(2115)](K(303)).use(P),this.key("signatureValue")[K(2504)]())});w.exports=J},77631:(w,Q,M)=>{var B=Tt,D=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,S=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,P=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,R=M(13048),T=M(44696),L=M(89509).Buffer;w[B(2726)]=function(K,U){var N=B,H,J,K=K[N(2192)](),X=K[N(1708)](D),j=X?(J=N(2694)+X[1],j=L[N(2151)](X[2],N(1996)),H=L[N(2151)](X[3][N(2489)](/[\r\n]/g,""),N(2160)),U=R(U,j[N(352)](0,8),parseInt(X[1],10))[N(2115)],X=[],J=T[N(2453)](J,U,j),X[N(2764)](J.update(H)),X[N(2764)](J[N(1471)]()),L[N(1558)](X)):(U=K[N(1708)](P),L.from(U[2][N(2489)](/[\r\n]/g,""),N(2160)));return{tag:K[N(1708)](S)[1],data:j}}},70980:(w,Q,M)=>{var B=Tt,D=M(52818),S=M(22562),P=M(77631),R=M(44696),T=M(25632),L=M(89509)[B(964)];(w.exports=function(F){var U=B;typeof F!="object"||L[U(1564)](F)||(N=F[U(1552)],F=F.key),typeof F=="string"&&(F=L[U(2151)](F));var N,H,J,K,X,j,ee,ie,z,oe,le=(F=P(F,N)).tag,Ae=F[U(1322)];switch(le){case"CERTIFICATE":J=D[U(1217)][U(1288)](Ae,"der")[U(1847)].subjectPublicKeyInfo;case U(1813):switch(H=(J=J||D[U(536)][U(1288)](Ae,U(2806)))[U(2555)][U(2555)][U(1814)](".")){case U(2669):return D.RSAPublicKey[U(1288)](J.subjectPublicKey[U(1322)],U(2806));case"1.2.840.10045.2.1":return J.subjectPrivateKey=J[U(2611)],{type:"ec",data:J};case U(423):return J.algorithm[U(306)].pub_key=D[U(1857)][U(1288)](J.subjectPublicKey[U(1322)],"der"),{type:U(714),data:J[U(2555)][U(306)]};default:throw new Error(U(2721)+H)}case U(1302):ie=N,z=(j=Ae=D[U(2022)][U(1288)](Ae,U(2806)))[U(2555)][U(1505)].kde.kdeparams[U(1120)],oe=parseInt(j[U(2555)][U(1505)][U(2395)][U(2667)].iters.toString(),10),K=S[j[U(2555)][U(1505)][U(676)][U(542)][U(1814)](".")],X=j[U(2555)][U(1505)].cipher.iv,j=j[U(758)],ee=parseInt(K[U(2523)]("-")[1],10)/8,ie=T[U(2576)](ie,z,oe,ee,"sha1"),z=R.createDecipheriv(K,ie,X),(oe=[])[U(2764)](z[U(1744)](j)),oe[U(2764)](z.final()),Ae=L[U(1558)](oe);case U(2083):switch(H=(J=D[U(2370)][U(1288)](Ae,U(2806))).algorithm[U(2555)][U(1814)](".")){case U(2669):return D.RSAPrivateKey.decode(J[U(758)],U(2806));case U(2363):return{curve:J.algorithm[U(1364)],privateKey:D[U(2144)][U(1288)](J[U(758)],U(2806)).privateKey};case U(423):return J[U(2555)][U(306)][U(2516)]=D[U(1857)][U(1288)](J.subjectPrivateKey,U(2806)),{type:U(714),params:J.algorithm.params};default:throw new Error(U(2721)+H)}case U(1368):return D[U(782)].decode(Ae,U(2806));case U(2013):return D[U(2070)][U(1288)](Ae,U(2806));case U(1421):return{type:"dsa",params:D.DSAPrivateKey[U(1288)](Ae,U(2806))};case U(1683):return{curve:(Ae=D[U(2144)][U(1288)](Ae,U(2806))).parameters[U(396)],privateKey:Ae[U(2098)]};default:throw new Error("unknown key type "+le)}}).signature=D[B(1711)]},62520:(w,Q,M)=>{var B={};(function(){"use strict";var D=Tt,S,P,R,T,L,F=B.platform==="win32",U=M(89539);function N(H,J){for(var K=Tt,X=0,j=H[K(2405)]-1;0<=j;j--){var ee=H[j];ee==="."?H[K(2407)](j,1):ee===".."?(H[K(2407)](j,1),X++):X&&(H[K(2407)](j,1),X--)}if(J)for(;X--;)H[K(917)]("..");return H}F?(S=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,P=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,L=function(X){var J=Tt,X=S[J(460)](X),K=(X[1]||"")+(X[2]||""),X=X[3]||"",X=P[J(460)](X);return[K,X[1],X[2],X[3]]},R=function(H){return"\\\\"+H.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")},Q.resolve=function(){for(var H=Tt,J,K="",X="",j=!1,ee=arguments[H(2405)]-1;-1<=ee;ee--){if(0<=ee?J=arguments[ee]:K?(J=B[H(508)]["="+K])&&J[H(1522)](0,3)[H(444)]()===K.toLowerCase()+"\\"||(J=K+"\\"):J=B[H(685)](),!U[H(825)](J))throw new TypeError("Arguments to path.resolve must be strings");if(J){var le=S[H(460)](J),ie=le[1]||"",z=ie&&ie[H(442)](1)!==":",oe=Q[H(2463)](J),le=le[3];if((!ie||!K||ie.toLowerCase()===K[H(444)]())&&(j||(X=le+"\\"+X,j=oe),(K=K||ie)&&j))break}}return(K=z?R(K):K)+(j?"\\":"")+N(X[H(2523)](/[\\\/]+/)[H(2230)](function(Ae){return!!Ae}),!j)[H(1814)]("\\")||"."},Q[D(1953)]=function(j){var J=D,ee=S[J(460)](j),K=ee[1]||"",X=K&&K[J(442)](1)!==":",j=Q.isAbsolute(j),ee=ee[3],ie=/[\\\/]$/[J(529)](ee);return K&&K[J(442)](1)===":"&&(K=K[0][J(444)]()+K[J(1522)](1)),(ee=(ee=N(ee[J(2523)](/[\\\/]+/)[J(2230)](function(z){return!!z}),!j).join("\\"))||j?ee:".")&&ie&&(ee+="\\"),(K=X?R(K):K)+(j?"\\":"")+ee},Q[D(2463)]=function(K){var J=D,K=S[J(460)](K),X=K[1]||"",X=!!X&&X[J(442)](1)!==":";return!!K[2]||X},Q[D(1814)]=function(){var H=D,J=Array[H(2086)][H(2230)][H(2811)](arguments,function(X){var j=H;if(U[j(825)](X))return X;throw new TypeError("Arguments to path.join must be strings")}),K=J[H(1814)]("\\");return/^[\\\/]{2}[^\\\/]/.test(J[0])||(K=K[H(2489)](/^[\\\/]{2,}/,"\\")),Q[H(1953)](K)},Q[D(378)]=function(X,J){var K=D;X=Q[K(1698)](X),J=Q[K(1698)](J);var X=X[K(444)](),j=J[K(444)]();function ee(de){for(var fe=K,G=0;G<de.length&&de[G]==="";G++);for(var Y=de[fe(2405)]-1;0<=Y&&de[Y]==="";Y--);return Y<G?[]:de.slice(G,Y+1)}for(var ie=ee(J[K(2523)]("\\")),z=ee(X[K(2523)]("\\")),oe=ee(j.split("\\")),le=Math[K(1817)](z[K(2405)],oe[K(2405)]),Ae=le,he=0;he<le;he++)if(z[he]!==oe[he]){Ae=he;break}if(Ae==0)return J;for(var ge=[],he=Ae;he<z[K(2405)];he++)ge.push("..");return(ge=ge[K(1558)](ie.slice(Ae)))[K(1814)]("\\")},Q[D(413)]="\\",Q[D(2198)]=";"):(T=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,L=function(H){var J=D;return T[J(460)](H)[J(352)](1)},Q[D(1698)]=function(){for(var H=D,J="",K=!1,X=arguments[H(2405)]-1;-1<=X&&!K;X--){var j=0<=X?arguments[X]:B[H(685)]();if(!U.isString(j))throw new TypeError("Arguments to path.resolve must be strings");j&&(J=j+"/"+J,K=j[H(442)](0)==="/")}return(K?"/":"")+N(J[H(2523)]("/").filter(function(ee){return!!ee}),!K)[H(1814)]("/")||"."},Q[D(1953)]=function(H){for(var J=D,K=Q[J(2463)](H),X=H[H[J(2405)]-1]==="/",j=H[J(2523)]("/"),ee=[],ie=0;ie<j[J(2405)];ie++)j[ie]&&ee[J(2764)](j[ie]);return(H=(H=N(ee,!K)[J(1814)]("/"))||K?H:".")&&X&&(H+="/"),(K?"/":"")+H},Q.isAbsolute=function(H){var J=D;return H[J(442)](0)==="/"},Q[D(1814)]=function(){for(var H=D,J="",K=0;K<arguments[H(2405)];K++){var X=arguments[K];if(!U[H(825)](X))throw new TypeError(H(1113));X&&(J+=J?"/"+X:X)}return Q[H(1953)](J)},Q[D(378)]=function(H,J){var K=D;function X(Ae){for(var he=Tt,ge=0;ge<Ae[he(2405)]&&Ae[ge]==="";ge++);for(var de=Ae[he(2405)]-1;0<=de&&Ae[de]==="";de--);return de<ge?[]:Ae[he(352)](ge,de+1)}H=Q[K(1698)](H)[K(1522)](1),J=Q[K(1698)](J)[K(1522)](1);for(var j=X(H.split("/")),ee=X(J[K(2523)]("/")),ie=Math[K(1817)](j.length,ee[K(2405)]),z=ie,oe=0;oe<ie;oe++)if(j[oe]!==ee[oe]){z=oe;break}for(var le=[],oe=z;oe<j[K(2405)];oe++)le[K(2764)]("..");return(le=le[K(1558)](ee[K(352)](z)))[K(1814)]("/")},Q.sep="/",Q[D(2198)]=":"),Q[D(1907)]=function(X){var J=D,X=L(X),K=X[0],X=X[1];return K||X?K+(X&&X.substr(0,X[J(2405)]-1)):"."},Q.basename=function(H,J){var K=D;return H=L(H)[2],J&&H.substr(-1*J[K(2405)])===J?H[K(1522)](0,H[K(2405)]-J.length):H},Q[D(2064)]=function(H){return L(H)[3]},Q[D(172)]=U[D(1330)](function(H,J){var K=D;M(17354)[K(172)](H,J)},D(2535)),Q.existsSync=U[D(1330)](function(H){return M(17354).existsSync(H)},"path.existsSync is now called `fs.existsSync`."),Q[D(822)]=F?function(H){var J=D;if(!U[J(825)](H))return H;if(!H)return"";var K=Q[J(1698)](H);return/^[a-zA-Z]\:\\/[J(529)](K)?J(1790)+K:/^\\\\[^?.]/[J(529)](K)?"\\\\?\\UNC\\"+K[J(1527)](2):H}:function(H){return H}})()},25632:(w,Q,M)=>{var B=Tt;Q[B(382)]=M(88638),Q[B(2576)]=M(91257)},88638:(w,Q,M)=>{var B=Tt,D,S,P=M(89509)[B(964)],R=M(77357),T=M(12368),L=M(91257),F=M(57777),U=M.g[B(667)]&&M.g[B(667)][B(2182)],N={sha:B(1650),"sha-1":B(1650),sha1:B(1650),sha256:B(622),"sha-256":B(622),sha384:B(1108),"sha-384":"SHA-384","sha-512":B(2081),sha512:"SHA-512"},H=[];function J(){var X=B;return S=S||(M.g[X(1614)]&&M.g.process[X(2011)]?M.g[X(1614)].nextTick:M.g[X(326)]||M.g[X(397)]||M.g.setTimeout)}function K(X,j,ee,ie,z){var oe=B;return U[oe(488)]("raw",X,{name:oe(1877)},!1,["deriveBits"]).then(function(le){var Ae=oe;return U[Ae(2396)]({name:Ae(1877),salt:j,iterations:ee,hash:{name:z}},le,ie<<3)})[oe(2683)](function(le){var Ae=oe;return P[Ae(2151)](le)})}w[B(2726)]=function(X,j,ee,ie,z,oe){var le=B;le(605)==typeof z&&(oe=z,z=void 0);var Ae,he,ge=N[(z=z||le(219)).toLowerCase()];if(ge&&le(605)==typeof M.g[le(1235)]){if(R(ee,ie),X=F(X,T,le(800)),j=F(j,T,le(523)),typeof oe!="function")throw new Error(le(2398));Ae=function(de){var fe=le;if(M.g[fe(1614)]&&!M.g.process.browser||!U||!U[fe(488)]||!U[fe(2396)])return Promise[fe(1698)](!1);if(H[de]!==void 0)return H[de];var G=K(D=D||P[fe(1526)](8),D,10,128,de)[fe(2683)](function(){return!0}).catch(function(){return!1});return H[de]=G}(ge)[le(2683)](function(de){return de?K(X,j,ee,ie,ge):L(X,j,ee,ie,z)}),he=oe,Ae[le(2683)](function(de){J()(function(){he(null,de)})},function(de){J()(function(){he(de)})})}else J()(function(){var de;try{de=L(X,j,ee,ie,z)}catch(fe){return oe(fe)}oe(null,de)})}},12368:(w,Q,S)=>{var B=Tt,D=S(34155),S=S.g.process&&S.g[B(1614)][B(2727)]||!S.g[B(1614)]||!S.g[B(1614)].version||6<=parseInt(D[B(1089)][B(2523)](".")[0][B(352)](1),10)?B(828):B(2470);w[B(2726)]=S},77357:w=>{var Q=Tt,M=Math[Q(1905)](2,30)-1;w[Q(2726)]=function(B,D){var S=Q;if(S(647)!=typeof B)throw new TypeError("Iterations not a number");if(B<0)throw new TypeError(S(422));if(S(647)!=typeof D)throw new TypeError(S(2704));if(D<0||M<D||D!=D)throw new TypeError(S(1206))}},91257:(w,Q,M)=>{var B=Tt,D=M(78028),S=M(79785),P=M(89072),R=M(89509).Buffer,T=M(77357),L=M(12368),F=M(57777),U=R.alloc(128),N={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function H(J,K,X){for(var j=Tt,ee,ie=(ee=J)==="rmd160"||j(2631)===ee?function(he){var ge=j;return new S()[ge(1744)](he)[ge(2637)]()}:j(2513)===ee?D:function(he){var ge=j;return P(ee)[ge(1744)](he)[ge(2637)]()},z=j(383)===J||j(404)===J?128:64,oe=(K.length>z?K=ie(K):K.length<z&&(K=R[j(1558)]([K,U],z)),R[j(1855)](z+N[J])),le=R[j(1855)](z+N[J]),Ae=0;Ae<z;Ae++)oe[Ae]=54^K[Ae],le[Ae]=92^K[Ae];X=R.allocUnsafe(z+X+4),oe[j(1973)](X,0,0,z),this[j(1530)]=X,this[j(1803)]=oe,this[j(1632)]=le,this[j(2708)]=J,this.blocksize=z,this.hash=ie,this[j(2094)]=N[J]}H[B(2086)][B(331)]=function(J,K){var X=B;return J[X(1973)](K,this[X(1617)]),this[X(1312)](K)[X(1973)](this[X(1632)],this.blocksize),this.hash(this[X(1632)])},w[B(2726)]=function(J,K,X,j,ee){var ie=B;T(X,j);for(var z=new H(ee=ee||ie(219),J=F(J,L,ie(800)),(K=F(K,L,"Salt"))[ie(2405)]),oe=R[ie(1855)](j),le=R[ie(1855)](K[ie(2405)]+4),Ae=(K[ie(1973)](le,0,0,K[ie(2405)]),0),he=N[ee],ge=Math.ceil(j/he),de=1;de<=ge;de++){le[ie(2418)](de,K.length);for(var fe=z.run(le,z[ie(1530)]),G=fe,Y=1;Y<X;Y++)for(var G=z[ie(331)](G,z[ie(1803)]),W=0;W<he;W++)fe[W]^=G[W];fe[ie(1973)](oe,Ae),Ae+=he}return oe}},57777:(w,Q,M)=>{var B=Tt,D=M(89509)[B(964)];w[B(2726)]=function(S,P,R){var T=B;if(D[T(1564)](S))return S;if(typeof S=="string")return D.from(S,P);if(ArrayBuffer.isView(S))return D[T(2151)](S.buffer);throw new TypeError(R+T(438))}},34155:D=>{var Q=Tt,M,B,D=D[Q(2726)]={};function S(){var X=Q;throw new Error(X(1289))}function P(){var X=Q;throw new Error(X(716))}try{M=Q(605)==typeof setTimeout?setTimeout:S}catch{M=S}try{B=Q(605)==typeof clearTimeout?clearTimeout:P}catch{B=P}function R(X){var j=Q;if(M===setTimeout)return setTimeout(X,0);if((M===S||!M)&&setTimeout)return(M=setTimeout)(X,0);try{return M(X,0)}catch{try{return M[j(2811)](null,X,0)}catch{return M[j(2811)](this,X,0)}}}var T,L=[],F=!1,U=-1;function N(){var X=Q;F&&T&&(F=!1,T[X(2405)]?L=T[X(1558)](L):U=-1,L[X(2405)]&&H())}function H(){var X=Q;if(!F){for(var j=R(N),ee=(F=!0,L[X(2405)]);ee;){for(T=L,L=[];++U<ee;)T&&T[U].run();U=-1,ee=L[X(2405)]}T=null,F=!1,function(ie){var z=X;if(B===clearTimeout)return clearTimeout(ie);if((B===P||!B)&&clearTimeout)return(B=clearTimeout)(ie);try{B(ie)}catch{try{return B[z(2811)](null,ie)}catch{return B[z(2811)](this,ie)}}}(j)}}function J(X,j){this.fun=X,this.array=j}function K(){}D.nextTick=function(X){var j=Q,ee=new Array(arguments[j(2405)]-1);if(1<arguments.length)for(var ie=1;ie<arguments[j(2405)];ie++)ee[ie-1]=arguments[ie];L.push(new J(X,ee)),L[j(2405)]!==1||F||R(H)},J[Q(2086)].run=function(){var X=Q;this[X(2077)][X(724)](null,this[X(471)])},D[Q(1510)]=Q(2727),D[Q(2727)]=!0,D.env={},D[Q(1842)]=[],D[Q(1089)]="",D.versions={},D.on=K,D[Q(2476)]=K,D.once=K,D[Q(2176)]=K,D.removeListener=K,D.removeAllListeners=K,D.emit=K,D[Q(1259)]=K,D[Q(1434)]=K,D[Q(932)]=function(X){return[]},D.binding=function(X){var j=Q;throw new Error(j(857))},D[Q(685)]=function(){return"/"},D[Q(1449)]=function(X){var j=Q;throw new Error(j(1069))},D.umask=function(){return 0}},7900:(w,Q,M)=>{var B=Tt;Q.publicEncrypt=M(16559),Q[B(1890)]=M(26138),Q[B(273)]=function(D,S){var P=B;return Q[P(2235)](D,S,!0)},Q[B(1592)]=function(D,S){return Q.privateDecrypt(D,S,!0)}},99199:(w,Q,M)=>{var B=Tt,D=M(23482),S=M(89509)[B(964)];w[B(2726)]=function(P,R){for(var T=B,L,F,U=S.alloc(0),N=0;U[T(2405)]<R;)L=N++,F=void 0,(F=S[T(1855)](4))[T(2418)](L,0),L=F,U=S[T(1558)]([U,D(T(219)).update(P).update(L)[T(2637)]()]);return U[T(352)](0,R)}},92144:function(w,Q,M){var B=Tt;(function(D){"use strict";var S=Tt;function P(G,Y){var W=Tt;if(!G)throw new Error(Y||W(1176))}function R(G,Y){var W=Tt;function O(){}G[W(979)]=Y,O[W(2086)]=Y[W(2086)],G[W(2086)]=new O,G[W(2086)].constructor=G}function T(G,Y,W){var O=Tt;if(T[O(2672)](G))return G;this[O(1746)]=0,this[O(1157)]=null,this[O(2405)]=0,(this[O(1230)]=null)!==G&&(Y!=="le"&&Y!=="be"||(W=Y,Y=10),this[O(1352)](G||0,Y||10,W||"be"))}var L;S(2538)==typeof w?w[S(2726)]=T:D.BN=T,(T.BN=T)[S(642)]=26;try{L=(S(621)!=typeof window&&window[S(964)]!==void 0?window:M(77108))[S(964)]}catch{}function F(G,Y){var W=S;return G=G[W(2282)](Y),65<=G&&G<=70?G-55:97<=G&&G<=102?G-87:G-48&15}function U(G,Y,W){var O=F(G,W);return Y<=W-1&&(O|=F(G,W-1)<<4),O}function N(G,Y,W,O){for(var re=S,Ce=0,se=Math[re(1817)](G.length,W),ce=Y;ce<se;ce++)var me=G[re(2282)](ce)-48,Ce=Ce*O+(49<=me?me-49+10:17<=me?me-17+10:me);return Ce}T[S(2672)]=function(G){var Y=S;return G instanceof T||G!==null&&Y(2538)==typeof G&&G[Y(1630)][Y(642)]===T[Y(642)]&&Array.isArray(G[Y(1157)])},T[S(1093)]=function(G,Y){var W=S;return 0<G[W(637)](Y)?G:Y},T[S(1817)]=function(G,Y){var W=S;return G[W(637)](Y)<0?G:Y},T[S(2086)]._init=function(G,Y,W){var O=S;if(O(647)==typeof G)return this[O(746)](G,Y,W);if(typeof G=="object")return this[O(845)](G,Y,W);P((Y=O(1996)===Y?16:Y)===(0|Y)&&2<=Y&&Y<=36);var re=0;(G=G[O(2192)]()[O(2489)](/\s+/g,""))[0]==="-"&&(re++,this[O(1746)]=1),re<G[O(2405)]&&(Y===16?this._parseHex(G,re,W):(this[O(1534)](G,Y,re),W==="le"&&this[O(845)](this[O(1780)](),Y,W)))},T[S(2086)][S(746)]=function(G,Y,W){var O=S;G<0&&(this[O(1746)]=1,G=-G),G<67108864?(this[O(1157)]=[67108863&G],this.length=1):G<4503599627370496?(this[O(1157)]=[67108863&G,G/67108864&67108863],this[O(2405)]=2):(P(G<9007199254740992),this[O(1157)]=[67108863&G,G/67108864&67108863,1],this[O(2405)]=3),W==="le"&&this[O(845)](this[O(1780)](),Y,W)},T[S(2086)]._initArray=function(G,Y,W){var O=S;if(P(typeof G.length=="number"),G.length<=0)return this[O(1157)]=[0],this.length=1,this;this[O(2405)]=Math[O(235)](G[O(2405)]/3),this[O(1157)]=new Array(this.length);for(var re,se,ce=0;ce<this.length;ce++)this.words[ce]=0;var me=0;if(W==="be")for(ce=G.length-1,re=0;0<=ce;ce-=3)se=G[ce]|G[ce-1]<<8|G[ce-2]<<16,this.words[re]|=se<<me&67108863,this.words[re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);else if(W==="le")for(re=ce=0;ce<G.length;ce+=3)se=G[ce]|G[ce+1]<<8|G[ce+2]<<16,this[O(1157)][re]|=se<<me&67108863,this[O(1157)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);return this[O(1282)]()},T[S(2086)][S(1936)]=function(G,Y,W){var O=S;this[O(2405)]=Math[O(235)]((G[O(2405)]-Y)/6),this[O(1157)]=new Array(this[O(2405)]);for(var re=0;re<this[O(2405)];re++)this.words[re]=0;var se,ce=0,me=0;if(W==="be")for(re=G.length-1;Y<=re;re-=2)se=U(G,Y,re)<<ce,this[O(1157)][me]|=67108863&se,18<=ce?(ce-=18,this[O(1157)][me+=1]|=se>>>26):ce+=8;else for(re=(G[O(2405)]-Y)%2==0?Y+1:Y;re<G[O(2405)];re+=2)se=U(G,Y,re)<<ce,this[O(1157)][me]|=67108863&se,18<=ce?(ce-=18,this.words[me+=1]|=se>>>26):ce+=8;this.strip()},T[S(2086)][S(1534)]=function(G,Y,W){var O=S;this[O(1157)]=[0];for(var re=0,se=this[O(2405)]=1;se<=67108863;se*=Y)re++;for(var se=se/Y|0,ce=G[O(2405)]-W,me=ce%--re,Ce=Math.min(ce,ce-me)+W,ye=0,Be=W;Be<Ce;Be+=re)ye=N(G,Be,Be+re,Y),this[O(2548)](se),this[O(1157)][0]+ye<67108864?this[O(1157)][0]+=ye:this[O(2209)](ye);if(me!=0){for(var Me=1,ye=N(G,Be,G[O(2405)],Y),Be=0;Be<me;Be++)Me*=Y;this[O(2548)](Me),this.words[0]+ye<67108864?this[O(1157)][0]+=ye:this[O(2209)](ye)}this[O(1282)]()},T[S(2086)][S(1973)]=function(G){var Y=S;G.words=new Array(this[Y(2405)]);for(var W=0;W<this.length;W++)G[Y(1157)][W]=this.words[W];G[Y(2405)]=this[Y(2405)],G.negative=this[Y(1746)],G[Y(1230)]=this[Y(1230)]},T[S(2086)].clone=function(){var G=new T(null);return this.copy(G),G},T[S(2086)][S(559)]=function(G){for(var Y=S;this[Y(2405)]<G;)this.words[this[Y(2405)]++]=0;return this},T.prototype.strip=function(){for(var G=S;1<this[G(2405)]&&this[G(1157)][this[G(2405)]-1]===0;)this[G(2405)]--;return this[G(1088)]()},T[S(2086)][S(1088)]=function(){var G=S;return this[G(2405)]===1&&this[G(1157)][0]===0&&(this[G(1746)]=0),this},T[S(2086)].inspect=function(){var G=S;return(this[G(1230)]?G(652):G(398))+this[G(2192)](16)+">"};var H=["","0","00",S(2283),S(2629),S(299),"000000",S(2328),"00000000",S(403),S(521),S(179),S(1054),S(2369),"00000000000000",S(1706),S(1482),S(2566),S(1220),S(530),S(480),S(2305),S(2588),S(1175),S(1624),S(1276)],J=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],K=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function X(G,Y,W){var O=S;W.negative=Y[O(1746)]^G[O(1746)];var re=G.length+Y[O(2405)]|0,re=(W[O(2405)]=re)-1|0,se=(me=(0|G[O(1157)][0])*(0|Y[O(1157)][0]))/67108864|0;W[O(1157)][0]=67108863&me;for(var ce=1;ce<re;ce++){for(var me,Ce=se>>>26,ye=67108863&se,Be=Math[O(1817)](ce,Y.length-1),Me=Math[O(1093)](0,ce-G[O(2405)]+1);Me<=Be;Me++)Ce+=(me=(0|G[O(1157)][ce-Me|0])*(0|Y[O(1157)][Me])+ye)/67108864|0,ye=67108863&me;W[O(1157)][ce]=0|ye,se=0|Ce}return se!==0?W[O(1157)][ce]=0|se:W[O(2405)]--,W.strip()}T[S(2086)][S(2192)]=function(G,Y){var W=S;if(Y=0|Y||1,(G=G||10)===16||W(1996)===G){for(var O="",re=0,se=0,ce=0;ce<this[W(2405)];ce++){var me=this[W(1157)][ce],Ce=(16777215&(me<<re|se))[W(2192)](16),O=(se=me>>>24-re&16777215)!=0||ce!==this[W(2405)]-1?H[6-Ce[W(2405)]]+Ce+O:Ce+O;26<=(re+=2)&&(re-=26,ce--)}for(se!==0&&(O=se[W(2192)](16)+O);O[W(2405)]%Y!=0;)O="0"+O;return this[W(1746)]!==0?"-"+O:O}if(G===(0|G)&&2<=G&&G<=36){var ye=J[G],Be=K[G];for(O="",(Me=this[W(914)]())[W(1746)]=0;!Me[W(1072)]();){var Me,He=Me[W(1605)](Be).toString(G);O=(Me=Me[W(929)](Be)).isZero()?He+O:H[ye-He[W(2405)]]+He+O}for(this[W(1072)]()&&(O="0"+O);O[W(2405)]%Y!=0;)O="0"+O;return this[W(1746)]!==0?"-"+O:O}P(!1,W(1169))},T[S(2086)][S(2277)]=function(){var G=S,Y=this[G(1157)][0];return this[G(2405)]===2?Y+=67108864*this.words[1]:this.length===3&&this.words[2]===1?Y+=4503599627370496+67108864*this.words[1]:2<this[G(2405)]&&P(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-Y:Y},T[S(2086)][S(1130)]=function(){var G=S;return this[G(2192)](16)},T[S(2086)][S(710)]=function(G,Y){var W=S;return P(L!==void 0),this[W(1298)](L,G,Y)},T[S(2086)].toArray=function(G,Y){var W=S;return this[W(1298)](Array,G,Y)},T[S(2086)].toArrayLike=function(G,Y,Ce){var O=S,re,se,ce=this[O(2127)](),me=Ce||Math.max(1,ce),Ce=(P(ce<=me,"byte array longer than desired length"),P(0<me,"Requested array length <= 0"),this[O(1282)](),Y==="le"),ye=new G(me),Be=this[O(914)]();if(Ce){for(se=0;!Be.isZero();se++)re=Be[O(1452)](255),Be[O(586)](8),ye[se]=re;for(;se<me;se++)ye[se]=0}else{for(se=0;se<me-ce;se++)ye[se]=0;for(se=0;!Be.isZero();se++)re=Be[O(1452)](255),Be[O(586)](8),ye[me-se-1]=re}return ye},Math[S(256)]?T[S(2086)]._countBits=function(G){var Y=S;return 32-Math[Y(256)](G)}:T[S(2086)][S(1701)]=function(G){var Y=0;return 4096<=G&&(Y+=13,G>>>=13),64<=G&&(Y+=7,G>>>=7),8<=G&&(Y+=4,G>>>=4),2<=G&&(Y+=2,G>>>=2),Y+G},T.prototype[S(1577)]=function(G){if(G===0)return 26;var Y=0;return(8191&G)==0&&(Y+=13,G>>>=13),(127&G)==0&&(Y+=7,G>>>=7),(15&G)==0&&(Y+=4,G>>>=4),(3&G)==0&&(Y+=2,G>>>=2),(1&G)==0&&Y++,Y},T[S(2086)][S(1787)]=function(){var G=S,Y=this[G(1157)][this.length-1],Y=this[G(1701)](Y);return 26*(this.length-1)+Y},T[S(2086)].zeroBits=function(){var G=S;if(this[G(1072)]())return 0;for(var Y=0,W=0;W<this[G(2405)];W++){var O=this[G(1577)](this[G(1157)][W]);if(Y+=O,O!==26)break}return Y},T.prototype[S(2127)]=function(){var G=S;return Math.ceil(this[G(1787)]()/8)},T[S(2086)][S(2212)]=function(G){var Y=S;return this[Y(1746)]!==0?this[Y(2148)]()[Y(1039)](G)[Y(2755)](1):this.clone()},T[S(2086)][S(2095)]=function(G){var Y=S;return this.testn(G-1)?this[Y(2800)](G)[Y(2755)](1)[Y(1232)]():this.clone()},T[S(2086)][S(980)]=function(){var G=S;return this[G(1746)]!==0},T[S(2086)][S(770)]=function(){var G=S;return this.clone()[G(1232)]()},T[S(2086)].ineg=function(){var G=S;return this[G(1072)]()||(this[G(1746)]^=1),this},T[S(2086)][S(1416)]=function(G){for(var Y=S;this[Y(2405)]<G[Y(2405)];)this[Y(1157)][this[Y(2405)]++]=0;for(var W=0;W<G[Y(2405)];W++)this[Y(1157)][W]=this[Y(1157)][W]|G[Y(1157)][W];return this[Y(1282)]()},T[S(2086)].ior=function(G){var Y=S;return P((this[Y(1746)]|G[Y(1746)])==0),this[Y(1416)](G)},T[S(2086)].or=function(G){var Y=S;return this.length>G.length?this[Y(914)]()[Y(2085)](G):G[Y(914)]()[Y(2085)](this)},T[S(2086)].uor=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(1416)](G):G.clone().iuor(this)},T[S(2086)].iuand=function(G){for(var Y=S,W=this.length>G[Y(2405)]?G:this,O=0;O<W[Y(2405)];O++)this[Y(1157)][O]=this[Y(1157)][O]&G[Y(1157)][O];return this[Y(2405)]=W[Y(2405)],this.strip()},T.prototype[S(1757)]=function(G){var Y=S;return P((this[Y(1746)]|G.negative)==0),this[Y(1501)](G)},T[S(2086)][S(2429)]=function(G){var Y=S;return this[Y(2405)]>G.length?this[Y(914)]()[Y(1757)](G):G[Y(914)]().iand(this)},T[S(2086)][S(1404)]=function(G){var Y=S;return this[Y(2405)]>G[Y(2405)]?this[Y(914)]()[Y(1501)](G):G[Y(914)]()[Y(1501)](this)},T[S(2086)][S(1313)]=function(G){for(var Y=S,W,O=this[Y(2405)]>G[Y(2405)]?(W=this,G):(W=G,this),re=0;re<O[Y(2405)];re++)this[Y(1157)][re]=W[Y(1157)][re]^O[Y(1157)][re];if(this!==W)for(;re<W[Y(2405)];re++)this[Y(1157)][re]=W[Y(1157)][re];return this.length=W[Y(2405)],this.strip()},T.prototype.ixor=function(G){var Y=S;return P((this[Y(1746)]|G[Y(1746)])==0),this[Y(1313)](G)},T.prototype.xor=function(G){var Y=S;return this.length>G[Y(2405)]?this[Y(914)]()[Y(2425)](G):G[Y(914)]()[Y(2425)](this)},T[S(2086)][S(1444)]=function(G){var Y=S;return this.length>G[Y(2405)]?this[Y(914)]()[Y(1313)](G):G[Y(914)]()[Y(1313)](this)},T[S(2086)][S(1039)]=function(O){var Y=S;P(typeof O=="number"&&0<=O);var W=0|Math[Y(235)](O/26),O=O%26;this[Y(559)](W),0<O&&W--;for(var re=0;re<W;re++)this.words[re]=67108863&~this[Y(1157)][re];return 0<O&&(this[Y(1157)][re]=~this[Y(1157)][re]&67108863>>26-O),this.strip()},T[S(2086)][S(2800)]=function(G){var Y=S;return this[Y(914)]().inotn(G)},T[S(2086)][S(1384)]=function(re,Y){var W=S;P(typeof re=="number"&&0<=re);var O=re/26|0,re=re%26;return this[W(559)](1+O),this[W(1157)][O]=Y?this[W(1157)][O]|1<<re:this[W(1157)][O]&~(1<<re),this[W(1282)]()},T[S(2086)].iadd=function(G){var Y=S,W,O;if(this[Y(1746)]!==0&&G[Y(1746)]===0)return this.negative=0,W=this[Y(1155)](G),this.negative^=1,this[Y(1088)]();if(this[Y(1746)]===0&&G.negative!==0)return G[Y(1746)]=0,W=this.isub(G),G[Y(1746)]=1,W[Y(1088)]();for(var re=this[Y(2405)]>G[Y(2405)]?(O=this,G):(O=G,this),se=0,ce=0;ce<re.length;ce++)W=(0|O[Y(1157)][ce])+(0|re[Y(1157)][ce])+se,this[Y(1157)][ce]=67108863&W,se=W>>>26;for(;se!==0&&ce<O[Y(2405)];ce++)W=(0|O.words[ce])+se,this[Y(1157)][ce]=67108863&W,se=W>>>26;if(this[Y(2405)]=O.length,se!==0)this[Y(1157)][this[Y(2405)]]=se,this[Y(2405)]++;else if(O!==this)for(;ce<O[Y(2405)];ce++)this[Y(1157)][ce]=O[Y(1157)][ce];return this},T[S(2086)][S(1002)]=function(G){var Y=S,W;return G.negative!==0&&this[Y(1746)]===0?(G[Y(1746)]=0,W=this[Y(713)](G),G[Y(1746)]^=1,W):G[Y(1746)]===0&&this.negative!==0?(this[Y(1746)]=0,W=G[Y(713)](this),this[Y(1746)]=1,W):this[Y(2405)]>G[Y(2405)]?this.clone()[Y(2553)](G):G[Y(914)]()[Y(2553)](this)},T.prototype[S(1155)]=function(G){var Y=S,W;if(G[Y(1746)]!==0)return G.negative=0,W=this[Y(2553)](G),G[Y(1746)]=1,W[Y(1088)]();if(this[Y(1746)]!==0)return this[Y(1746)]=0,this[Y(2553)](G),this[Y(1746)]=1,this[Y(1088)]();var O,re=this[Y(637)](G);if(re===0)return this[Y(1746)]=0,this[Y(2405)]=1,this[Y(1157)][0]=0,this;for(var se=0<re?(O=this,G):(O=G,this),ce=0,me=0;me<se[Y(2405)];me++)ce=(W=(0|O[Y(1157)][me])-(0|se[Y(1157)][me])+ce)>>26,this.words[me]=67108863&W;for(;ce!==0&&me<O[Y(2405)];me++)ce=(W=(0|O[Y(1157)][me])+ce)>>26,this.words[me]=67108863&W;if(ce===0&&me<O[Y(2405)]&&O!==this)for(;me<O[Y(2405)];me++)this[Y(1157)][me]=O[Y(1157)][me];return this[Y(2405)]=Math[Y(1093)](this.length,me),O!==this&&(this[Y(1746)]=1),this.strip()},T.prototype[S(713)]=function(G){var Y=S;return this[Y(914)]()[Y(1155)](G)};var j=function(_e,dt,W){var O=S,Je=_e[O(1157)],St=dt[O(1157)],re=W[O(1157)],di=0|Je[0],Kt=8191&di,di=di>>>13,gt=0|Je[1],Ei=8191>,gt=gt>>>13,ce=0|Je[2],se=8191&ce,ce=ce>>>13,Ce=0|Je[3],me=8191&Ce,Ce=Ce>>>13,Be=0|Je[4],ye=8191&Be,Be=Be>>>13,He=0|Je[5],Me=8191&He,He=He>>>13,Ne=0|Je[6],ke=8191&Ne,Ne=Ne>>>13,we=0|Je[7],Pe=8191&we,we=we>>>13,Ue=0|Je[8],Fe=8191&Ue,Ue=Ue>>>13,Je=0|Je[9],ze=8191&Je,Je=Je>>>13,Vt=0|St[0],pi=8191&Vt,Vt=Vt>>>13,Ht=0|St[1],ui=8191&Ht,Ht=Ht>>>13,Ot=0|St[2],bt=8191&Ot,Ot=Ot>>>13,Ze=0|St[3],je=8191&Ze,Ze=Ze>>>13,At=0|St[4],rt=8191&At,At=At>>>13,at=0|St[5],yt=8191&at,at=at>>>13,_t=0|St[6],ft=8191&_t,_t=_t>>>13,pt=0|St[7],et=8191&pt,pt=pt>>>13,It=0|St[8],zt=8191&It,It=It>>>13,St=0|St[9],Pt=8191&St,St=St>>>13,dt=(W[O(1746)]=_e[O(1746)]^dt[O(1746)],W[O(2405)]=19,(0+Math.imul(Kt,pi)|0)+((8191&(_e=Math.imul(Kt,Vt)+Math.imul(di,pi)|0))<<13)|0),Wt=(Math[O(1759)](di,Vt)+(_e>>>13)|0)+(dt>>>26)|0,Le=(dt&=67108863,Math[O(1759)](Ei,pi)),_e=Math.imul(Ei,Vt)+Math.imul(gt,pi)|0,Oe=Math.imul(gt,Vt),vt=(Wt+(Le+Math.imul(Kt,ui)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,Ht)|0)+Math[O(1759)](di,ui)|0))<<13)|0,wt=(Wt=((Oe+Math.imul(di,Ht)|0)+(_e>>>13)|0)+(vt>>>26)|0,vt&=67108863,Le=Math[O(1759)](se,pi),_e=Math.imul(se,Vt)+Math[O(1759)](ce,pi)|0,Oe=Math[O(1759)](ce,Vt),Le=Le+Math.imul(Ei,ui)|0,_e=(_e+Math[O(1759)](Ei,Ht)|0)+Math[O(1759)](gt,ui)|0,Oe=Oe+Math[O(1759)](gt,Ht)|0,(Wt+(Le+Math[O(1759)](Kt,bt)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,Ot)|0)+Math[O(1759)](di,bt)|0))<<13)|0),Bt=(Wt=((Oe+Math[O(1759)](di,Ot)|0)+(_e>>>13)|0)+(wt>>>26)|0,wt&=67108863,Le=Math[O(1759)](me,pi),_e=Math[O(1759)](me,Vt)+Math.imul(Ce,pi)|0,Oe=Math[O(1759)](Ce,Vt),Le=Le+Math[O(1759)](se,ui)|0,_e=(_e+Math[O(1759)](se,Ht)|0)+Math[O(1759)](ce,ui)|0,Oe=Oe+Math[O(1759)](ce,Ht)|0,Le=Le+Math[O(1759)](Ei,bt)|0,_e=(_e+Math.imul(Ei,Ot)|0)+Math.imul(gt,bt)|0,Oe=Oe+Math[O(1759)](gt,Ot)|0,(Wt+(Le+Math[O(1759)](Kt,je)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,Ze)|0)+Math[O(1759)](di,je)|0))<<13)|0),bi=(Wt=((Oe+Math.imul(di,Ze)|0)+(_e>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,Le=Math.imul(ye,pi),_e=Math[O(1759)](ye,Vt)+Math[O(1759)](Be,pi)|0,Oe=Math[O(1759)](Be,Vt),Le=Le+Math[O(1759)](me,ui)|0,_e=(_e+Math[O(1759)](me,Ht)|0)+Math[O(1759)](Ce,ui)|0,Oe=Oe+Math[O(1759)](Ce,Ht)|0,Le=Le+Math[O(1759)](se,bt)|0,_e=(_e+Math[O(1759)](se,Ot)|0)+Math.imul(ce,bt)|0,Oe=Oe+Math[O(1759)](ce,Ot)|0,Le=Le+Math.imul(Ei,je)|0,_e=(_e+Math[O(1759)](Ei,Ze)|0)+Math.imul(gt,je)|0,Oe=Oe+Math[O(1759)](gt,Ze)|0,(Wt+(Le+Math[O(1759)](Kt,rt)|0)|0)+((8191&(_e=(_e+Math.imul(Kt,At)|0)+Math[O(1759)](di,rt)|0))<<13)|0),nr=(Wt=((Oe+Math[O(1759)](di,At)|0)+(_e>>>13)|0)+(bi>>>26)|0,bi&=67108863,Le=Math[O(1759)](Me,pi),_e=Math[O(1759)](Me,Vt)+Math.imul(He,pi)|0,Oe=Math[O(1759)](He,Vt),Le=Le+Math[O(1759)](ye,ui)|0,_e=(_e+Math[O(1759)](ye,Ht)|0)+Math[O(1759)](Be,ui)|0,Oe=Oe+Math.imul(Be,Ht)|0,Le=Le+Math.imul(me,bt)|0,_e=(_e+Math[O(1759)](me,Ot)|0)+Math[O(1759)](Ce,bt)|0,Oe=Oe+Math[O(1759)](Ce,Ot)|0,Le=Le+Math.imul(se,je)|0,_e=(_e+Math[O(1759)](se,Ze)|0)+Math[O(1759)](ce,je)|0,Oe=Oe+Math.imul(ce,Ze)|0,Le=Le+Math[O(1759)](Ei,rt)|0,_e=(_e+Math[O(1759)](Ei,At)|0)+Math.imul(gt,rt)|0,Oe=Oe+Math[O(1759)](gt,At)|0,(Wt+(Le+Math[O(1759)](Kt,yt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,at)|0)+Math[O(1759)](di,yt)|0))<<13)|0),Ai=(Wt=((Oe+Math[O(1759)](di,at)|0)+(_e>>>13)|0)+(nr>>>26)|0,nr&=67108863,Le=Math[O(1759)](ke,pi),_e=Math[O(1759)](ke,Vt)+Math[O(1759)](Ne,pi)|0,Oe=Math.imul(Ne,Vt),Le=Le+Math.imul(Me,ui)|0,_e=(_e+Math.imul(Me,Ht)|0)+Math[O(1759)](He,ui)|0,Oe=Oe+Math[O(1759)](He,Ht)|0,Le=Le+Math[O(1759)](ye,bt)|0,_e=(_e+Math[O(1759)](ye,Ot)|0)+Math.imul(Be,bt)|0,Oe=Oe+Math[O(1759)](Be,Ot)|0,Le=Le+Math[O(1759)](me,je)|0,_e=(_e+Math[O(1759)](me,Ze)|0)+Math[O(1759)](Ce,je)|0,Oe=Oe+Math[O(1759)](Ce,Ze)|0,Le=Le+Math[O(1759)](se,rt)|0,_e=(_e+Math[O(1759)](se,At)|0)+Math[O(1759)](ce,rt)|0,Oe=Oe+Math[O(1759)](ce,At)|0,Le=Le+Math[O(1759)](Ei,yt)|0,_e=(_e+Math[O(1759)](Ei,at)|0)+Math[O(1759)](gt,yt)|0,Oe=Oe+Math[O(1759)](gt,at)|0,(Wt+(Le+Math.imul(Kt,ft)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,_t)|0)+Math[O(1759)](di,ft)|0))<<13)|0),xi=(Wt=((Oe+Math.imul(di,_t)|0)+(_e>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,Le=Math.imul(Pe,pi),_e=Math[O(1759)](Pe,Vt)+Math[O(1759)](we,pi)|0,Oe=Math[O(1759)](we,Vt),Le=Le+Math[O(1759)](ke,ui)|0,_e=(_e+Math[O(1759)](ke,Ht)|0)+Math[O(1759)](Ne,ui)|0,Oe=Oe+Math[O(1759)](Ne,Ht)|0,Le=Le+Math.imul(Me,bt)|0,_e=(_e+Math.imul(Me,Ot)|0)+Math[O(1759)](He,bt)|0,Oe=Oe+Math[O(1759)](He,Ot)|0,Le=Le+Math[O(1759)](ye,je)|0,_e=(_e+Math[O(1759)](ye,Ze)|0)+Math.imul(Be,je)|0,Oe=Oe+Math[O(1759)](Be,Ze)|0,Le=Le+Math[O(1759)](me,rt)|0,_e=(_e+Math[O(1759)](me,At)|0)+Math.imul(Ce,rt)|0,Oe=Oe+Math[O(1759)](Ce,At)|0,Le=Le+Math[O(1759)](se,yt)|0,_e=(_e+Math[O(1759)](se,at)|0)+Math[O(1759)](ce,yt)|0,Oe=Oe+Math[O(1759)](ce,at)|0,Le=Le+Math[O(1759)](Ei,ft)|0,_e=(_e+Math[O(1759)](Ei,_t)|0)+Math[O(1759)](gt,ft)|0,Oe=Oe+Math[O(1759)](gt,_t)|0,(Wt+(Le+Math[O(1759)](Kt,et)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,pt)|0)+Math.imul(di,et)|0))<<13)|0),Fi=(Wt=((Oe+Math[O(1759)](di,pt)|0)+(_e>>>13)|0)+(xi>>>26)|0,xi&=67108863,Le=Math[O(1759)](Fe,pi),_e=Math[O(1759)](Fe,Vt)+Math[O(1759)](Ue,pi)|0,Oe=Math[O(1759)](Ue,Vt),Le=Le+Math[O(1759)](Pe,ui)|0,_e=(_e+Math.imul(Pe,Ht)|0)+Math.imul(we,ui)|0,Oe=Oe+Math[O(1759)](we,Ht)|0,Le=Le+Math[O(1759)](ke,bt)|0,_e=(_e+Math.imul(ke,Ot)|0)+Math.imul(Ne,bt)|0,Oe=Oe+Math[O(1759)](Ne,Ot)|0,Le=Le+Math[O(1759)](Me,je)|0,_e=(_e+Math.imul(Me,Ze)|0)+Math[O(1759)](He,je)|0,Oe=Oe+Math[O(1759)](He,Ze)|0,Le=Le+Math[O(1759)](ye,rt)|0,_e=(_e+Math[O(1759)](ye,At)|0)+Math[O(1759)](Be,rt)|0,Oe=Oe+Math[O(1759)](Be,At)|0,Le=Le+Math.imul(me,yt)|0,_e=(_e+Math[O(1759)](me,at)|0)+Math.imul(Ce,yt)|0,Oe=Oe+Math[O(1759)](Ce,at)|0,Le=Le+Math[O(1759)](se,ft)|0,_e=(_e+Math[O(1759)](se,_t)|0)+Math.imul(ce,ft)|0,Oe=Oe+Math[O(1759)](ce,_t)|0,Le=Le+Math[O(1759)](Ei,et)|0,_e=(_e+Math[O(1759)](Ei,pt)|0)+Math[O(1759)](gt,et)|0,Oe=Oe+Math[O(1759)](gt,pt)|0,(Wt+(Le+Math[O(1759)](Kt,zt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,It)|0)+Math[O(1759)](di,zt)|0))<<13)|0),pi=(Wt=((Oe+Math[O(1759)](di,It)|0)+(_e>>>13)|0)+(Fi>>>26)|0,Fi&=67108863,Le=Math[O(1759)](ze,pi),_e=Math.imul(ze,Vt)+Math.imul(Je,pi)|0,Oe=Math.imul(Je,Vt),Le=Le+Math[O(1759)](Fe,ui)|0,_e=(_e+Math[O(1759)](Fe,Ht)|0)+Math[O(1759)](Ue,ui)|0,Oe=Oe+Math[O(1759)](Ue,Ht)|0,Le=Le+Math.imul(Pe,bt)|0,_e=(_e+Math[O(1759)](Pe,Ot)|0)+Math[O(1759)](we,bt)|0,Oe=Oe+Math.imul(we,Ot)|0,Le=Le+Math.imul(ke,je)|0,_e=(_e+Math[O(1759)](ke,Ze)|0)+Math[O(1759)](Ne,je)|0,Oe=Oe+Math[O(1759)](Ne,Ze)|0,Le=Le+Math[O(1759)](Me,rt)|0,_e=(_e+Math[O(1759)](Me,At)|0)+Math[O(1759)](He,rt)|0,Oe=Oe+Math[O(1759)](He,At)|0,Le=Le+Math[O(1759)](ye,yt)|0,_e=(_e+Math[O(1759)](ye,at)|0)+Math[O(1759)](Be,yt)|0,Oe=Oe+Math[O(1759)](Be,at)|0,Le=Le+Math[O(1759)](me,ft)|0,_e=(_e+Math[O(1759)](me,_t)|0)+Math.imul(Ce,ft)|0,Oe=Oe+Math.imul(Ce,_t)|0,Le=Le+Math[O(1759)](se,et)|0,_e=(_e+Math[O(1759)](se,pt)|0)+Math[O(1759)](ce,et)|0,Oe=Oe+Math.imul(ce,pt)|0,Le=Le+Math[O(1759)](Ei,zt)|0,_e=(_e+Math.imul(Ei,It)|0)+Math[O(1759)](gt,zt)|0,Oe=Oe+Math.imul(gt,It)|0,(Wt+(Le+Math[O(1759)](Kt,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Kt,St)|0)+Math.imul(di,Pt)|0))<<13)|0),Vt=(Wt=((Oe+Math.imul(di,St)|0)+(_e>>>13)|0)+(pi>>>26)|0,pi&=67108863,Le=Math[O(1759)](ze,ui),_e=Math[O(1759)](ze,Ht)+Math.imul(Je,ui)|0,Oe=Math.imul(Je,Ht),Le=Le+Math.imul(Fe,bt)|0,_e=(_e+Math[O(1759)](Fe,Ot)|0)+Math[O(1759)](Ue,bt)|0,Oe=Oe+Math[O(1759)](Ue,Ot)|0,Le=Le+Math[O(1759)](Pe,je)|0,_e=(_e+Math[O(1759)](Pe,Ze)|0)+Math[O(1759)](we,je)|0,Oe=Oe+Math[O(1759)](we,Ze)|0,Le=Le+Math[O(1759)](ke,rt)|0,_e=(_e+Math.imul(ke,At)|0)+Math[O(1759)](Ne,rt)|0,Oe=Oe+Math[O(1759)](Ne,At)|0,Le=Le+Math.imul(Me,yt)|0,_e=(_e+Math[O(1759)](Me,at)|0)+Math[O(1759)](He,yt)|0,Oe=Oe+Math[O(1759)](He,at)|0,Le=Le+Math[O(1759)](ye,ft)|0,_e=(_e+Math.imul(ye,_t)|0)+Math.imul(Be,ft)|0,Oe=Oe+Math[O(1759)](Be,_t)|0,Le=Le+Math[O(1759)](me,et)|0,_e=(_e+Math.imul(me,pt)|0)+Math[O(1759)](Ce,et)|0,Oe=Oe+Math[O(1759)](Ce,pt)|0,Le=Le+Math.imul(se,zt)|0,_e=(_e+Math[O(1759)](se,It)|0)+Math[O(1759)](ce,zt)|0,Oe=Oe+Math[O(1759)](ce,It)|0,(Wt+(Le+Math[O(1759)](Ei,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Ei,St)|0)+Math[O(1759)](gt,Pt)|0))<<13)|0),Kt=(Wt=((Oe+Math.imul(gt,St)|0)+(_e>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,Le=Math[O(1759)](ze,bt),_e=Math[O(1759)](ze,Ot)+Math.imul(Je,bt)|0,Oe=Math.imul(Je,Ot),Le=Le+Math[O(1759)](Fe,je)|0,_e=(_e+Math[O(1759)](Fe,Ze)|0)+Math[O(1759)](Ue,je)|0,Oe=Oe+Math[O(1759)](Ue,Ze)|0,Le=Le+Math[O(1759)](Pe,rt)|0,_e=(_e+Math[O(1759)](Pe,At)|0)+Math[O(1759)](we,rt)|0,Oe=Oe+Math.imul(we,At)|0,Le=Le+Math[O(1759)](ke,yt)|0,_e=(_e+Math[O(1759)](ke,at)|0)+Math[O(1759)](Ne,yt)|0,Oe=Oe+Math.imul(Ne,at)|0,Le=Le+Math.imul(Me,ft)|0,_e=(_e+Math[O(1759)](Me,_t)|0)+Math.imul(He,ft)|0,Oe=Oe+Math[O(1759)](He,_t)|0,Le=Le+Math.imul(ye,et)|0,_e=(_e+Math.imul(ye,pt)|0)+Math[O(1759)](Be,et)|0,Oe=Oe+Math[O(1759)](Be,pt)|0,Le=Le+Math[O(1759)](me,zt)|0,_e=(_e+Math[O(1759)](me,It)|0)+Math[O(1759)](Ce,zt)|0,Oe=Oe+Math.imul(Ce,It)|0,(Wt+(Le+Math[O(1759)](se,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(se,St)|0)+Math.imul(ce,Pt)|0))<<13)|0),di=(Wt=((Oe+Math[O(1759)](ce,St)|0)+(_e>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,Le=Math[O(1759)](ze,je),_e=Math[O(1759)](ze,Ze)+Math[O(1759)](Je,je)|0,Oe=Math[O(1759)](Je,Ze),Le=Le+Math[O(1759)](Fe,rt)|0,_e=(_e+Math.imul(Fe,At)|0)+Math.imul(Ue,rt)|0,Oe=Oe+Math[O(1759)](Ue,At)|0,Le=Le+Math[O(1759)](Pe,yt)|0,_e=(_e+Math[O(1759)](Pe,at)|0)+Math.imul(we,yt)|0,Oe=Oe+Math[O(1759)](we,at)|0,Le=Le+Math[O(1759)](ke,ft)|0,_e=(_e+Math[O(1759)](ke,_t)|0)+Math[O(1759)](Ne,ft)|0,Oe=Oe+Math[O(1759)](Ne,_t)|0,Le=Le+Math[O(1759)](Me,et)|0,_e=(_e+Math.imul(Me,pt)|0)+Math[O(1759)](He,et)|0,Oe=Oe+Math.imul(He,pt)|0,Le=Le+Math[O(1759)](ye,zt)|0,_e=(_e+Math.imul(ye,It)|0)+Math.imul(Be,zt)|0,Oe=Oe+Math[O(1759)](Be,It)|0,(Wt+(Le+Math[O(1759)](me,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(me,St)|0)+Math[O(1759)](Ce,Pt)|0))<<13)|0),ui=(Wt=((Oe+Math.imul(Ce,St)|0)+(_e>>>13)|0)+(di>>>26)|0,di&=67108863,Le=Math[O(1759)](ze,rt),_e=Math[O(1759)](ze,At)+Math[O(1759)](Je,rt)|0,Oe=Math[O(1759)](Je,At),Le=Le+Math[O(1759)](Fe,yt)|0,_e=(_e+Math[O(1759)](Fe,at)|0)+Math[O(1759)](Ue,yt)|0,Oe=Oe+Math[O(1759)](Ue,at)|0,Le=Le+Math[O(1759)](Pe,ft)|0,_e=(_e+Math[O(1759)](Pe,_t)|0)+Math[O(1759)](we,ft)|0,Oe=Oe+Math[O(1759)](we,_t)|0,Le=Le+Math.imul(ke,et)|0,_e=(_e+Math[O(1759)](ke,pt)|0)+Math[O(1759)](Ne,et)|0,Oe=Oe+Math[O(1759)](Ne,pt)|0,Le=Le+Math.imul(Me,zt)|0,_e=(_e+Math[O(1759)](Me,It)|0)+Math[O(1759)](He,zt)|0,Oe=Oe+Math[O(1759)](He,It)|0,(Wt+(Le+Math[O(1759)](ye,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](ye,St)|0)+Math[O(1759)](Be,Pt)|0))<<13)|0),Ht=(Wt=((Oe+Math.imul(Be,St)|0)+(_e>>>13)|0)+(ui>>>26)|0,ui&=67108863,Le=Math[O(1759)](ze,yt),_e=Math[O(1759)](ze,at)+Math[O(1759)](Je,yt)|0,Oe=Math.imul(Je,at),Le=Le+Math.imul(Fe,ft)|0,_e=(_e+Math.imul(Fe,_t)|0)+Math.imul(Ue,ft)|0,Oe=Oe+Math[O(1759)](Ue,_t)|0,Le=Le+Math[O(1759)](Pe,et)|0,_e=(_e+Math[O(1759)](Pe,pt)|0)+Math.imul(we,et)|0,Oe=Oe+Math[O(1759)](we,pt)|0,Le=Le+Math[O(1759)](ke,zt)|0,_e=(_e+Math.imul(ke,It)|0)+Math[O(1759)](Ne,zt)|0,Oe=Oe+Math.imul(Ne,It)|0,(Wt+(Le+Math[O(1759)](Me,Pt)|0)|0)+((8191&(_e=(_e+Math.imul(Me,St)|0)+Math[O(1759)](He,Pt)|0))<<13)|0),Ei=(Wt=((Oe+Math[O(1759)](He,St)|0)+(_e>>>13)|0)+(Ht>>>26)|0,Ht&=67108863,Le=Math[O(1759)](ze,ft),_e=Math[O(1759)](ze,_t)+Math[O(1759)](Je,ft)|0,Oe=Math[O(1759)](Je,_t),Le=Le+Math[O(1759)](Fe,et)|0,_e=(_e+Math[O(1759)](Fe,pt)|0)+Math.imul(Ue,et)|0,Oe=Oe+Math[O(1759)](Ue,pt)|0,Le=Le+Math[O(1759)](Pe,zt)|0,_e=(_e+Math[O(1759)](Pe,It)|0)+Math.imul(we,zt)|0,Oe=Oe+Math[O(1759)](we,It)|0,(Wt+(Le+Math.imul(ke,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](ke,St)|0)+Math[O(1759)](Ne,Pt)|0))<<13)|0),gt=(Wt=((Oe+Math.imul(Ne,St)|0)+(_e>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,Le=Math[O(1759)](ze,et),_e=Math[O(1759)](ze,pt)+Math[O(1759)](Je,et)|0,Oe=Math[O(1759)](Je,pt),Le=Le+Math[O(1759)](Fe,zt)|0,_e=(_e+Math[O(1759)](Fe,It)|0)+Math[O(1759)](Ue,zt)|0,Oe=Oe+Math[O(1759)](Ue,It)|0,(Wt+(Le+Math[O(1759)](Pe,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Pe,St)|0)+Math[O(1759)](we,Pt)|0))<<13)|0),bt=(Wt=((Oe+Math[O(1759)](we,St)|0)+(_e>>>13)|0)+(gt>>>26)|0,gt&=67108863,Le=Math[O(1759)](ze,zt),_e=Math.imul(ze,It)+Math[O(1759)](Je,zt)|0,Oe=Math[O(1759)](Je,It),(Wt+(Le+Math[O(1759)](Fe,Pt)|0)|0)+((8191&(_e=(_e+Math[O(1759)](Fe,St)|0)+Math[O(1759)](Ue,Pt)|0))<<13)|0),Ot=(Wt=((Oe+Math[O(1759)](Ue,St)|0)+(_e>>>13)|0)+(bt>>>26)|0,bt&=67108863,(Wt+Math.imul(ze,Pt)|0)+((8191&(_e=Math[O(1759)](ze,St)+Math[O(1759)](Je,Pt)|0))<<13)|0),Wt=(Math[O(1759)](Je,St)+(_e>>>13)|0)+(Ot>>>26)|0;return Ot&=67108863,re[0]=dt,re[1]=vt,re[2]=wt,re[3]=Bt,re[4]=bi,re[5]=nr,re[6]=Ai,re[7]=xi,re[8]=Fi,re[9]=pi,re[10]=Vt,re[11]=Kt,re[12]=di,re[13]=ui,re[14]=Ht,re[15]=Ei,re[16]=gt,re[17]=bt,re[18]=Ot,Wt!=0&&(re[19]=Wt,W[O(2405)]++),W};function ee(G,Y,W){var O=S;return new ie()[O(950)](G,Y,W)}function ie(G,Y){this.x=G,this.y=Y}Math[S(1759)]||(j=X),T[S(2086)].mulTo=function(G,Y){var W=S,O=this[W(2405)]+G[W(2405)];return(this[W(2405)]===10&&G[W(2405)]===10?j:O<63?X:O<1024?function(re,se,ce){var me=W;ce[me(1746)]=se[me(1746)]^re.negative,ce[me(2405)]=re[me(2405)]+se.length;for(var Ce=0,ye=0,Be=0;Be<ce[me(2405)]-1;Be++){for(var Me=ye,ye=0,He=67108863&Ce,ke=Math[me(1817)](Be,se[me(2405)]-1),Ne=Math.max(0,Be-re.length+1);Ne<=ke;Ne++){var Pe,we=(0|re[me(1157)][Be-Ne])*(0|se.words[Ne]),He=67108863&(Pe=(67108863&we)+He|0);ye+=(Me=(Me=Me+(we/67108864|0)|0)+(Pe>>>26)|0)>>>26,Me&=67108863}ce[me(1157)][Be]=He,Ce=Me,Me=ye}return Ce!==0?ce[me(1157)][Be]=Ce:ce[me(2405)]--,ce[me(1282)]()}:ee)(this,G,Y)},ie[S(2086)][S(894)]=function(G){for(var Y=new Array(G),W=T.prototype._countBits(G)-1,O=0;O<G;O++)Y[O]=this.revBin(O,W,G);return Y},ie.prototype[S(762)]=function(G,Y,W){if(G===0||G===W-1)return G;for(var O=0,re=0;re<Y;re++)O|=(1&G)<<Y-re-1,G>>=1;return O},ie[S(2086)].permute=function(G,Y,W,O,re,se){for(var ce=0;ce<se;ce++)O[ce]=Y[G[ce]],re[ce]=W[G[ce]]},ie.prototype[S(1334)]=function(G,Y,W,O,re,se){var ce=S;this[ce(2706)](se,G,Y,W,O,re);for(var me=1;me<re;me<<=1)for(var Ce=me<<1,ye=Math[ce(2713)](2*Math.PI/Ce),Be=Math[ce(1574)](2*Math.PI/Ce),Me=0;Me<re;Me+=Ce)for(var He=ye,ke=Be,Ne=0;Ne<me;Ne++){var Pe=W[Me+Ne],we=O[Me+Ne],Fe=W[Me+Ne+me],Ue=He*Fe-ke*(ze=O[Me+Ne+me]),ze=He*ze+ke*Fe;W[Me+Ne]=Pe+(Fe=Ue),O[Me+Ne]=we+ze,W[Me+Ne+me]=Pe-Fe,O[Me+Ne+me]=we-ze,Ne!==Ce&&(Ue=ye*He-Be*ke,ke=ye*ke+Be*He,He=Ue)}},ie[S(2086)][S(2723)]=function(G,Y){for(var W=S,Y=1&(re=1|Math[W(1093)](Y,G)),O=0,re=re/2|0;re;re>>>=1)O++;return 1<<O+1+Y},ie[S(2086)].conjugate=function(G,Y,W){if(!(W<=1))for(var O=0;O<W/2;O++){var re=G[O];G[O]=G[W-O-1],G[W-O-1]=re,re=Y[O],Y[O]=-Y[W-O-1],Y[W-O-1]=-re}},ie[S(2086)][S(407)]=function(G,Y){for(var W=S,O=0,re=0;re<Y/2;re++){var se=8192*Math[W(1162)](G[2*re+1]/Y)+Math[W(1162)](G[2*re]/Y)+O;G[re]=67108863&se,O=se<67108864?0:se/67108864|0}return G},ie[S(2086)][S(2710)]=function(G,Y,W,O){for(var re=0,se=0;se<Y;se++)re+=0|G[se],W[2*se]=8191&re,W[2*se+1]=8191&(re>>>=13),re>>>=13;for(se=2*Y;se<O;++se)W[se]=0;P(re===0),P((-8192&re)==0)},ie[S(2086)].stub=function(G){for(var Y=new Array(G),W=0;W<G;W++)Y[W]=0;return Y},ie[S(2086)][S(950)]=function(G,Y,W){var O=S,re=2*this[O(2723)](G.length,Y[O(2405)]),se=this[O(894)](re),ce=this[O(1405)](re),me=new Array(re),Ce=new Array(re),ye=new Array(re),Be=new Array(re),Me=new Array(re),He=new Array(re),ke=W[O(1157)];ke[O(2405)]=re,this.convert13b(G[O(1157)],G[O(2405)],me,re),this[O(2710)](Y[O(1157)],Y.length,Be,re),this[O(1334)](me,ce,Ce,ye,re,se),this[O(1334)](Be,ce,Me,He,re,se);for(var Ne=0;Ne<re;Ne++){var Pe=Ce[Ne]*Me[Ne]-ye[Ne]*He[Ne];ye[Ne]=Ce[Ne]*He[Ne]+ye[Ne]*Me[Ne],Ce[Ne]=Pe}return this.conjugate(Ce,ye,re),this[O(1334)](Ce,ye,ke,ce,re,se),this[O(2120)](ke,ce,re),this[O(407)](ke,re),W[O(1746)]=G[O(1746)]^Y[O(1746)],W[O(2405)]=G.length+Y.length,W.strip()},T[S(2086)][S(1304)]=function(G){var Y=S,W=new T(null);return W.words=new Array(this[Y(2405)]+G.length),this[Y(2374)](G,W)},T.prototype.mulf=function(G){var Y=S,W=new T(null);return W[Y(1157)]=new Array(this[Y(2405)]+G[Y(2405)]),ee(this,G,W)},T[S(2086)][S(1759)]=function(G){var Y=S;return this.clone()[Y(2374)](G,this)},T[S(2086)].imuln=function(G){var Y=S;P(Y(647)==typeof G),P(G<67108864);for(var W=0,O=0;O<this[Y(2405)];O++){var re=(0|this[Y(1157)][O])*G,se=(67108863&re)+(67108863&W),W=(W>>=26)+(re/67108864|0)+(se>>>26);this.words[O]=67108863&se}return W!==0&&(this[Y(1157)][O]=W,this[Y(2405)]++),this},T[S(2086)].muln=function(G){return this.clone().imuln(G)},T[S(2086)].sqr=function(){return this.mul(this)},T[S(2086)][S(2496)]=function(){var G=S;return this[G(1759)](this.clone())},T[S(2086)][S(1905)]=function(G){var Y=S,W=function(ce){for(var me=Tt,Ce=new Array(ce[me(1787)]()),ye=0;ye<Ce[me(2405)];ye++){var Be=ye%26;Ce[ye]=(ce[me(1157)][ye/26|0]&1<<Be)>>>Be}return Ce}(G);if(W.length===0)return new T(1);for(var O=this,re=0;re<W[Y(2405)]&&W[re]===0;re++,O=O[Y(2524)]());if(++re<W[Y(2405)])for(var se=O.sqr();re<W[Y(2405)];re++,se=se[Y(2524)]())W[re]!==0&&(O=O[Y(1304)](se));return O},T.prototype[S(2622)]=function(G){var Y=S;P(typeof G=="number"&&0<=G);var W=G%26,O=(G-W)/26,re=67108863>>>26-W<<26-W;if(W!=0){for(var se=0,ce=0;ce<this[Y(2405)];ce++){var me=this[Y(1157)][ce]&re,Ce=(0|this[Y(1157)][ce])-me<<W;this[Y(1157)][ce]=Ce|se,se=me>>>26-W}se&&(this[Y(1157)][ce]=se,this[Y(2405)]++)}if(O!=0){for(ce=this[Y(2405)]-1;0<=ce;ce--)this[Y(1157)][ce+O]=this[Y(1157)][ce];for(ce=0;ce<O;ce++)this[Y(1157)][ce]=0;this.length+=O}return this[Y(1282)]()},T.prototype[S(2284)]=function(G){var Y=S;return P(this[Y(1746)]===0),this[Y(2622)](G)},T[S(2086)][S(586)]=function(G,Y,W){var O=S;P(O(647)==typeof G&&0<=G);var re,re=Y?(Y-Y%26)/26:0,se=G%26,ce=Math[O(1817)]((G-se)/26,this[O(2405)]),me=67108863^67108863>>>se<<se,Ce=W;if(re-=ce,re=Math[O(1093)](0,re),Ce){for(var ye=0;ye<ce;ye++)Ce[O(1157)][ye]=this[O(1157)][ye];Ce[O(2405)]=ce}if(ce!==0)if(this[O(2405)]>ce)for(this[O(2405)]-=ce,ye=0;ye<this.length;ye++)this[O(1157)][ye]=this.words[ye+ce];else this[O(1157)][0]=0,this[O(2405)]=1;for(var Be=0,ye=this.length-1;0<=ye&&(Be!==0||re<=ye);ye--){var Me=0|this[O(1157)][ye];this[O(1157)][ye]=Be<<26-se|Me>>>se,Be=Me&me}return Ce&&Be!==0&&(Ce[O(1157)][Ce[O(2405)]++]=Be),this[O(2405)]===0&&(this[O(1157)][0]=0,this[O(2405)]=1),this.strip()},T[S(2086)][S(739)]=function(G,Y,W){var O=S;return P(this[O(1746)]===0),this[O(586)](G,Y,W)},T[S(2086)].shln=function(G){var Y=S;return this[Y(914)]().ishln(G)},T[S(2086)].ushln=function(G){var Y=S;return this.clone()[Y(2622)](G)},T.prototype[S(446)]=function(G){var Y=S;return this[Y(914)]()[Y(739)](G)},T[S(2086)][S(1635)]=function(G){var Y=S;return this.clone()[Y(586)](G)},T.prototype[S(360)]=function(O){var Y=S;P(typeof O=="number"&&0<=O);var W=O%26,O=(O-W)/26;return!(this[Y(2405)]<=O||!(this[Y(1157)][O]&1<<W))},T[S(2086)].imaskn=function(O){var Y=S;P(typeof O=="number"&&0<=O);var W=O%26,O=(O-W)/26;return P(this[Y(1746)]===0,"imaskn works only with positive numbers"),this[Y(2405)]<=O?this:(W!=0&&O++,this.length=Math[Y(1817)](O,this[Y(2405)]),W!=0&&(this[Y(1157)][this[Y(2405)]-1]&=67108863^67108863>>>W<<W),this[Y(1282)]())},T[S(2086)][S(1116)]=function(G){var Y=S;return this[Y(914)]()[Y(2255)](G)},T[S(2086)][S(2755)]=function(G){var Y=S;return P(Y(647)==typeof G),P(G<67108864),G<0?this[Y(283)](-G):this[Y(1746)]!==0?(this[Y(2405)]===1&&(0|this[Y(1157)][0])<G?(this[Y(1157)][0]=G-(0|this[Y(1157)][0]),this[Y(1746)]=0):(this[Y(1746)]=0,this[Y(283)](G),this[Y(1746)]=1),this):this[Y(2209)](G)},T[S(2086)][S(2209)]=function(G){var Y=S;this[Y(1157)][0]+=G;for(var W=0;W<this[Y(2405)]&&67108864<=this[Y(1157)][W];W++)this.words[W]-=67108864,W===this[Y(2405)]-1?this[Y(1157)][W+1]=1:this[Y(1157)][W+1]++;return this[Y(2405)]=Math.max(this[Y(2405)],W+1),this},T[S(2086)][S(283)]=function(G){var Y=S;if(P(Y(647)==typeof G),P(G<67108864),G<0)return this[Y(2755)](-G);if(this[Y(1746)]!==0)return this.negative=0,this[Y(2755)](G),this[Y(1746)]=1,this;if(this.words[0]-=G,this[Y(2405)]===1&&this.words[0]<0)this[Y(1157)][0]=-this[Y(1157)][0],this.negative=1;else for(var W=0;W<this[Y(2405)]&&this[Y(1157)][W]<0;W++)this[Y(1157)][W]+=67108864,--this[Y(1157)][W+1];return this[Y(1282)]()},T[S(2086)][S(1316)]=function(G){var Y=S;return this.clone()[Y(2755)](G)},T[S(2086)][S(860)]=function(G){var Y=S;return this[Y(914)]()[Y(283)](G)},T[S(2086)].iabs=function(){var G=S;return this[G(1746)]=0,this},T[S(2086)][S(2148)]=function(){var G=S;return this[G(914)]()[G(725)]()},T.prototype[S(2768)]=function(G,Y,W){for(var O=S,re=G.length+W,se=(this[O(559)](re),0),ce=0;ce<G[O(2405)];ce++){var me=(0|this.words[ce+W])+se,Ce=(0|G[O(1157)][ce])*Y,se=((me-=67108863&Ce)>>26)-(Ce/67108864|0);this[O(1157)][ce+W]=67108863&me}for(;ce<this.length-W;ce++)se=(me=(0|this[O(1157)][ce+W])+se)>>26,this[O(1157)][ce+W]=67108863&me;if(se===0)return this[O(1282)]();for(P(se===-1),ce=se=0;ce<this[O(2405)];ce++)se=(me=-(0|this[O(1157)][ce])+se)>>26,this[O(1157)][ce]=67108863&me;return this[O(1746)]=1,this[O(1282)]()},T[S(2086)][S(1037)]=function(G,Y){var W=S;this[W(2405)],G[W(2405)];var O,re=this[W(914)](),se=G,ce=0|se[W(1157)][se[W(2405)]-1],me=((G=26-this[W(1701)](ce))!=0&&(se=se.ushln(G),re[W(2622)](G),ce=0|se[W(1157)][se[W(2405)]-1]),re[W(2405)]-se.length);if(W(2451)!==Y){(O=new T(null))[W(2405)]=1+me,O[W(1157)]=new Array(O[W(2405)]);for(var Ce=0;Ce<O.length;Ce++)O[W(1157)][Ce]=0}var ye=re.clone()[W(2768)](se,1,me);ye[W(1746)]===0&&(re=ye,O&&(O[W(1157)][me]=1));for(var Be=me-1;0<=Be;Be--){var Me=67108864*(0|re[W(1157)][se.length+Be])+(0|re.words[se[W(2405)]+Be-1]),Me=Math.min(Me/ce|0,67108863);for(re[W(2768)](se,Me,Be);re[W(1746)]!==0;)Me--,re.negative=0,re[W(2768)](se,1,Be),re[W(1072)]()||(re[W(1746)]^=1);O&&(O[W(1157)][Be]=Me)}return O&&O[W(1282)](),re[W(1282)](),W(2526)!==Y&&G!=0&&re[W(586)](G),{div:O||null,mod:re}},T[S(2086)][S(1923)]=function(G,Y,W){var O=S;return P(!G[O(1072)]()),this[O(1072)]()?{div:new T(0),mod:new T(0)}:this.negative!==0&&G[O(1746)]===0?(ce=this[O(770)]()[O(1923)](G,Y),O(2451)!==Y&&(re=ce[O(2526)][O(770)]()),Y!=="div"&&(se=ce[O(2451)][O(770)](),W&&se.negative!==0&&se.iadd(G)),{div:re,mod:se}):this.negative===0&&G.negative!==0?(ce=this[O(1923)](G[O(770)](),Y),{div:re=Y!=="mod"?ce[O(2526)][O(770)]():re,mod:ce.mod}):(this.negative&G[O(1746)])!=0?(ce=this[O(770)]()[O(1923)](G[O(770)](),Y),Y!=="div"&&(se=ce[O(2451)][O(770)](),W&&se.negative!==0&&se.isub(G)),{div:ce[O(2526)],mod:se}):G[O(2405)]>this[O(2405)]||this[O(637)](G)<0?{div:new T(0),mod:this}:G.length===1?O(2526)===Y?{div:this[O(2050)](G[O(1157)][0]),mod:null}:O(2451)===Y?{div:null,mod:new T(this.modn(G[O(1157)][0]))}:{div:this.divn(G.words[0]),mod:new T(this[O(1605)](G[O(1157)][0]))}:this[O(1037)](G,Y);var re,se,ce},T.prototype[S(2526)]=function(G){var Y=S;return this[Y(1923)](G,Y(2526),!1)[Y(2526)]},T[S(2086)][S(2451)]=function(G){var Y=S;return this[Y(1923)](G,Y(2451),!1)[Y(2451)]},T[S(2086)][S(1792)]=function(G){var Y=S;return this.divmod(G,Y(2451),!0)[Y(2451)]},T[S(2086)].divRound=function(re){var Y=S,W=this[Y(1923)](re);if(W[Y(2451)][Y(1072)]())return W[Y(2526)];var se=W.div[Y(1746)]!==0?W[Y(2451)][Y(1155)](re):W[Y(2451)],O=re[Y(1635)](1),re=re[Y(1452)](1),se=se[Y(637)](O);return se<0||re===1&&se===0?W.div:W[Y(2526)][Y(1746)]!==0?W.div[Y(283)](1):W[Y(2526)][Y(2755)](1)},T.prototype.modn=function(G){var Y=S;P(G<=67108863);for(var W=(1<<26)%G,O=0,re=this.length-1;0<=re;re--)O=(W*O+(0|this[Y(1157)][re]))%G;return O},T[S(2086)].idivn=function(G){var Y=S;P(G<=67108863);for(var W=0,O=this[Y(2405)]-1;0<=O;O--){var re=(0|this[Y(1157)][O])+67108864*W;this[Y(1157)][O]=re/G|0,W=re%G}return this[Y(1282)]()},T[S(2086)].divn=function(G){var Y=S;return this.clone()[Y(929)](G)},T.prototype[S(1005)]=function(G){var Y=S;P(G[Y(1746)]===0),P(!G.isZero());for(var O=this,W=G[Y(914)](),O=O[Y(1746)]!==0?O[Y(1792)](G):O[Y(914)](),re=new T(1),se=new T(0),ce=new T(0),me=new T(1),Ce=0;O[Y(2105)]()&&W[Y(2105)]();)O[Y(586)](1),W[Y(586)](1),++Ce;for(var ye=W[Y(914)](),Be=O[Y(914)]();!O[Y(1072)]();){for(var Me=0,He=1;(O.words[0]&He)==0&&Me<26;++Me,He<<=1);if(0<Me)for(O[Y(586)](Me);0<Me--;)(re[Y(2771)]()||se.isOdd())&&(re[Y(2553)](ye),se[Y(1155)](Be)),re[Y(586)](1),se[Y(586)](1);for(var ke=0,Ne=1;(W[Y(1157)][0]&Ne)==0&&ke<26;++ke,Ne<<=1);if(0<ke)for(W[Y(586)](ke);0<ke--;)(ce.isOdd()||me.isOdd())&&(ce[Y(2553)](ye),me[Y(1155)](Be)),ce.iushrn(1),me[Y(586)](1);0<=O[Y(637)](W)?(O[Y(1155)](W),re[Y(1155)](ce),se.isub(me)):(W[Y(1155)](O),ce[Y(1155)](re),me[Y(1155)](se))}return{a:ce,b:me,gcd:W[Y(2622)](Ce)}},T[S(2086)][S(2763)]=function(G){var Y=S;P(G.negative===0),P(!G[Y(1072)]());for(var W,re=this,O=G.clone(),re=re[Y(1746)]!==0?re[Y(1792)](G):re[Y(914)](),se=new T(1),ce=new T(0),me=O.clone();0<re[Y(1915)](1)&&0<O[Y(1915)](1);){for(var Ce=0,ye=1;(re[Y(1157)][0]&ye)==0&&Ce<26;++Ce,ye<<=1);if(0<Ce)for(re[Y(586)](Ce);0<Ce--;)se[Y(2771)]()&&se[Y(2553)](me),se.iushrn(1);for(var Be=0,Me=1;(O[Y(1157)][0]&Me)==0&&Be<26;++Be,Me<<=1);if(0<Be)for(O[Y(586)](Be);0<Be--;)ce[Y(2771)]()&&ce[Y(2553)](me),ce[Y(586)](1);0<=re[Y(637)](O)?(re[Y(1155)](O),se[Y(1155)](ce)):(O.isub(re),ce[Y(1155)](se))}return(W=re[Y(1915)](1)===0?se:ce)[Y(1915)](0)<0&&W[Y(2553)](G),W},T[S(2086)][S(2334)]=function(G){var Y=S;if(this[Y(1072)]())return G[Y(2148)]();if(G[Y(1072)]())return this[Y(2148)]();var W=this[Y(914)](),O=G[Y(914)]();W[Y(1746)]=0;for(var re=O[Y(1746)]=0;W.isEven()&&O[Y(2105)]();re++)W.iushrn(1),O[Y(586)](1);for(;;){for(;W.isEven();)W[Y(586)](1);for(;O.isEven();)O[Y(586)](1);var se=W[Y(637)](O);if(se<0)var ce=W,W=O,O=ce;else if(se===0||O[Y(1915)](1)===0)break;W[Y(1155)](O)}return O[Y(2622)](re)},T.prototype[S(680)]=function(G){var Y=S;return this[Y(1005)](G).a[Y(1792)](G)},T.prototype[S(2105)]=function(){var G=S;return(1&this[G(1157)][0])==0},T[S(2086)][S(2771)]=function(){var G=S;return(1&this[G(1157)][0])==1},T[S(2086)][S(1452)]=function(G){var Y=S;return this[Y(1157)][0]&G},T.prototype.bincn=function(W){var Y=S;P(Y(647)==typeof W);var O=W%26,W=(W-O)/26,O=1<<O;if(this.length<=W)return this[Y(559)](1+W),this[Y(1157)][W]|=O,this;for(var re=O,se=W;re!==0&&se<this[Y(2405)];se++){var ce=0|this[Y(1157)][se],re=(ce+=re)>>>26;ce&=67108863,this[Y(1157)][se]=ce}return re!==0&&(this[Y(1157)][se]=re,this[Y(2405)]++),this},T[S(2086)][S(1072)]=function(){var G=S;return this[G(2405)]===1&&this[G(1157)][0]===0},T[S(2086)][S(1915)]=function(G){var Y=S,W=G<0;return this[Y(1746)]===0||W?this[Y(1746)]===0&&W?1:(this[Y(1282)](),W=1<this[Y(2405)]?1:(P((G=W?-G:G)<=67108863,"Number is too big"),(W=0|this[Y(1157)][0])===G?0:W<G?-1:1),this[Y(1746)]!==0?0|-W:W):-1},T[S(2086)][S(637)]=function(G){var Y=S;return this[Y(1746)]!==0&&G[Y(1746)]===0?-1:this.negative===0&&G.negative!==0?1:(G=this.ucmp(G),this[Y(1746)]!==0?0|-G:G)},T.prototype[S(356)]=function(G){var Y=S;if(this.length>G.length)return 1;if(this[Y(2405)]<G[Y(2405)])return-1;for(var W=0,O=this[Y(2405)]-1;0<=O;O--){var re=0|this[Y(1157)][O],se=0|G[Y(1157)][O];if(re!=se){re<se?W=-1:se<re&&(W=1);break}}return W},T[S(2086)].gtn=function(G){return this.cmpn(G)===1},T[S(2086)].gt=function(G){var Y=S;return this[Y(637)](G)===1},T.prototype[S(1488)]=function(G){var Y=S;return 0<=this[Y(1915)](G)},T[S(2086)][S(1897)]=function(G){return 0<=this.cmp(G)},T.prototype[S(1974)]=function(G){var Y=S;return this[Y(1915)](G)===-1},T[S(2086)].lt=function(G){var Y=S;return this[Y(637)](G)===-1},T[S(2086)][S(2131)]=function(G){var Y=S;return this[Y(1915)](G)<=0},T[S(2086)][S(1284)]=function(G){var Y=S;return this[Y(637)](G)<=0},T[S(2086)][S(2690)]=function(G){var Y=S;return this[Y(1915)](G)===0},T[S(2086)].eq=function(G){var Y=S;return this[Y(637)](G)===0},T[S(1230)]=function(G){return new de(G)},T.prototype.toRed=function(G){var Y=S;return P(!this[Y(1230)],Y(635)),P(this[Y(1746)]===0,Y(2486)),G[Y(178)](this)._forceRed(G)},T.prototype[S(240)]=function(){var G=S;return P(this.red,G(1041)),this[G(1230)][G(2335)](this)},T.prototype[S(2616)]=function(G){var Y=S;return this[Y(1230)]=G,this},T[S(2086)].forceRed=function(G){var Y=S;return P(!this[Y(1230)],Y(635)),this._forceRed(G)},T[S(2086)].redAdd=function(G){var Y=S;return P(this.red,Y(2701)),this[Y(1230)].add(this,G)},T.prototype[S(2236)]=function(G){var Y=S;return P(this[Y(1230)],"redIAdd works only with red numbers"),this[Y(1230)][Y(2553)](this,G)},T[S(2086)][S(478)]=function(G){var Y=S;return P(this[Y(1230)],Y(1557)),this[Y(1230)].sub(this,G)},T[S(2086)][S(1199)]=function(G){var Y=S;return P(this[Y(1230)],Y(1485)),this[Y(1230)].isub(this,G)},T[S(2086)][S(2442)]=function(G){var Y=S;return P(this[Y(1230)],Y(835)),this[Y(1230)].shl(this,G)},T.prototype[S(2111)]=function(G){var Y=S;return P(this[Y(1230)],Y(1524)),this[Y(1230)]._verify2(this,G),this[Y(1230)][Y(1304)](this,G)},T[S(2086)].redIMul=function(G){var Y=S;return P(this[Y(1230)],Y(1524)),this[Y(1230)][Y(1459)](this,G),this.red.imul(this,G)},T[S(2086)][S(2082)]=function(){var G=S;return P(this[G(1230)],G(718)),this.red._verify1(this),this[G(1230)][G(2524)](this)},T[S(2086)].redISqr=function(){var G=S;return P(this[G(1230)],"redISqr works only with red numbers"),this[G(1230)][G(1171)](this),this[G(1230)].isqr(this)},T.prototype[S(984)]=function(){var G=S;return P(this[G(1230)],G(921)),this[G(1230)][G(1171)](this),this[G(1230)][G(2657)](this)},T[S(2086)].redInvm=function(){var G=S;return P(this.red,G(863)),this[G(1230)][G(1171)](this),this[G(1230)].invm(this)},T[S(2086)][S(2447)]=function(){var G=S;return P(this[G(1230)],G(1741)),this[G(1230)]._verify1(this),this[G(1230)][G(770)](this)},T[S(2086)][S(2641)]=function(G){var Y=S;return P(this.red&&!G[Y(1230)],"redPow(normalNum)"),this[Y(1230)][Y(1171)](this),this[Y(1230)][Y(1905)](this,G)};var z={k256:null,p224:null,p192:null,p25519:null};function oe(G,Y){var W=S;this[W(276)]=G,this.p=new T(Y,16),this.n=this.p[W(1787)](),this.k=new T(1)[W(2622)](this.n).isub(this.p),this[W(1242)]=this[W(2201)]()}function le(){var G=S;oe[G(2811)](this,G(522),G(783))}function Ae(){var G=S;oe.call(this,G(2651),G(760))}function he(){var G=S;oe[G(2811)](this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ge(){var G=S;oe[G(2811)](this,G(370),G(692))}function de(G){var Y=S,W;Y(1090)==typeof G?(W=T[Y(1739)](G),this.m=W.p,this[Y(1408)]=W):(P(G.gtn(1),"modulus must be greater than 1"),this.m=G,this.prime=null)}function fe(G){var Y=S;de[Y(2811)](this,G),this[Y(2626)]=this.m[Y(1787)](),this[Y(2626)]%26!=0&&(this[Y(2626)]+=26-this[Y(2626)]%26),this.r=new T(1).iushln(this[Y(2626)]),this.r2=this.imod(this.r[Y(2524)]()),this.rinv=this.r[Y(2763)](this.m),this[Y(1277)]=this[Y(631)][Y(1304)](this.r)[Y(283)](1)[Y(2526)](this.m),this[Y(1277)]=this[Y(1277)][Y(1792)](this.r),this[Y(1277)]=this.r.sub(this.minv)}oe[S(2086)]._tmp=function(){var G=S,Y=new T(null);return Y[G(1157)]=new Array(Math[G(235)](this.n/13)),Y},oe[S(2086)][S(2367)]=function(G){for(var Y=S,W,O=G;this.split(O,this.tmp),(W=(O=(O=this[Y(1365)](O))[Y(2553)](this[Y(1242)]))[Y(1787)]())>this.n;);return G=W<this.n?-1:O[Y(356)](this.p),G===0?(O[Y(1157)][0]=0,O[Y(2405)]=1):0<G?O[Y(1155)](this.p):O[Y(1282)]!==void 0?O[Y(1282)]():O._strip(),O},oe[S(2086)][S(2523)]=function(G,Y){var W=S;G[W(586)](this.n,0,Y)},oe[S(2086)][S(1365)]=function(G){var Y=S;return G[Y(1759)](this.k)},R(le,oe),le[S(2086)][S(2523)]=function(G,Y){for(var W=S,O=Math.min(G.length,9),re=0;re<O;re++)Y[W(1157)][re]=G[W(1157)][re];if(Y[W(2405)]=O,G[W(2405)]<=9)return G.words[0]=0,void(G[W(2405)]=1);var se=G[W(1157)][9];for(Y[W(1157)][Y[W(2405)]++]=4194303&se,re=10;re<G[W(2405)];re++){var ce=0|G[W(1157)][re];G.words[re-10]=(4194303&ce)<<4|se>>>22,se=ce}(G[W(1157)][re-10]=se>>>=22)==0&&10<G[W(2405)]?G.length-=10:G.length-=9},le[S(2086)].imulK=function(G){var Y=S;G.words[G[Y(2405)]]=0,G[Y(1157)][G[Y(2405)]+1]=0,G[Y(2405)]+=2;for(var W=0,O=0;O<G[Y(2405)];O++){var re=0|G[Y(1157)][O];W+=977*re,G[Y(1157)][O]=67108863&W,W=64*re+(W/67108864|0)}return G[Y(1157)][G[Y(2405)]-1]===0&&(G[Y(2405)]--,G[Y(1157)][G.length-1]===0&&G.length--),G},R(Ae,oe),R(he,oe),R(ge,oe),ge[S(2086)][S(1365)]=function(G){for(var Y=S,W=0,O=0;O<G[Y(2405)];O++){var re=19*(0|G.words[O])+W,se=67108863&re;re>>>=26,G[Y(1157)][O]=se,W=re}return W!==0&&(G[Y(1157)][G[Y(2405)]++]=W),G},T[S(1739)]=function(G){var Y=S;if(z[G])return z[G];var W;if(Y(522)===G)W=new le;else if(G==="p224")W=new Ae;else if(Y(1143)===G)W=new he;else{if(Y(2698)!==G)throw new Error(Y(1495)+G);W=new ge}return z[G]=W},de.prototype[S(1171)]=function(G){var Y=S;P(G[Y(1746)]===0,Y(2486)),P(G[Y(1230)],Y(1553))},de.prototype[S(1459)]=function(G,Y){var W=S;P((G[W(1746)]|Y.negative)==0,"red works only with positives"),P(G[W(1230)]&&G.red===Y[W(1230)],"red works only with red numbers")},de[S(2086)][S(1641)]=function(G){var Y=S;return(this.prime?this[Y(1408)][Y(2367)](G):G[Y(1792)](this.m))._forceRed(this)},de[S(2086)].neg=function(G){var Y=S;return G[Y(1072)]()?G[Y(914)]():this.m.sub(G)[Y(2616)](this)},de[S(2086)].add=function(G,Y){var W=S;return this._verify2(G,Y),G=G[W(1002)](Y),0<=G[W(637)](this.m)&&G.isub(this.m),G._forceRed(this)},de.prototype.iadd=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(2553)](Y),0<=G[W(637)](this.m)&&G.isub(this.m),G},de[S(2086)].sub=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(713)](Y),G[W(1915)](0)<0&&G[W(2553)](this.m),G._forceRed(this)},de[S(2086)].isub=function(G,Y){var W=S;return this[W(1459)](G,Y),G=G[W(1155)](Y),G[W(1915)](0)<0&&G[W(2553)](this.m),G},de.prototype[S(284)]=function(G,Y){var W=S;return this[W(1171)](G),this[W(1641)](G.ushln(Y))},de[S(2086)][S(1759)]=function(G,Y){var W=S;return this[W(1459)](G,Y),this[W(1641)](G[W(1759)](Y))},de[S(2086)][S(1304)]=function(G,Y){var W=S;return this[W(1459)](G,Y),this[W(1641)](G[W(1304)](Y))},de[S(2086)][S(2496)]=function(G){var Y=S;return this.imul(G,G[Y(914)]())},de[S(2086)][S(2524)]=function(G){var Y=S;return this[Y(1304)](G,G)},de[S(2086)][S(2657)]=function(G){var Y=S;if(G.isZero())return G[Y(914)]();var W=this.m[Y(1452)](3);if(P(W%2==1),W===3)return W=this.m.add(new T(1))[Y(586)](2),this.pow(G,W);for(var O=this.m[Y(860)](1),re=0;!O[Y(1072)]()&&O[Y(1452)](1)===0;)re++,O[Y(586)](1);P(!O[Y(1072)]());for(var se=new T(1)[Y(1705)](this),ce=se.redNeg(),me=this.m[Y(860)](1)[Y(586)](1),Ce=new T(2*(Ce=this.m[Y(1787)]())*Ce)[Y(1705)](this);this[Y(1905)](Ce,me)[Y(637)](ce)!==0;)Ce.redIAdd(ce);for(var ye=this[Y(1905)](Ce,O),Be=this[Y(1905)](G,O[Y(1316)](1)[Y(586)](1)),Me=this[Y(1905)](G,O),He=re;Me[Y(637)](se)!==0;){for(var ke=Me,Ne=0;ke.cmp(se)!==0;Ne++)ke=ke[Y(2082)]();P(Ne<He);var Pe=this[Y(1905)](ye,new T(1).iushln(He-Ne-1)),Be=Be[Y(2111)](Pe),ye=Pe.redSqr(),Me=Me.redMul(ye),He=Ne}return Be},de.prototype[S(680)]=function(G){var Y=S;return G=G._invmp(this.m),G[Y(1746)]!==0?(G[Y(1746)]=0,this[Y(1641)](G)[Y(2447)]()):this[Y(1641)](G)},de[S(2086)][S(1905)]=function(G,Y){var W=S;if(Y[W(1072)]())return new T(1)[W(1705)](this);if(Y[W(1915)](1)===0)return G.clone();var O=new Array(16);O[0]=new T(1)[W(1705)](this),O[1]=G;for(var re=2;re<O[W(2405)];re++)O[re]=this[W(1304)](O[re-1],G);var se=O[0],ce=0,me=0,Ce=Y.bitLength()%26;for(Ce===0&&(Ce=26),re=Y[W(2405)]-1;0<=re;re--){for(var ye=Y[W(1157)][re],Be=Ce-1;0<=Be;Be--){var Me=ye>>Be&1;se!==O[0]&&(se=this[W(2524)](se)),Me==0&&ce===0?me=0:(ce=ce<<1|Me,(++me==4||re===0&&Be===0)&&(se=this[W(1304)](se,O[ce]),ce=me=0))}Ce=26}return se},de.prototype[S(178)]=function(G){var Y=S,W=G[Y(1792)](this.m);return W===G?W[Y(914)]():W},de[S(2086)][S(2335)]=function(G){var Y=S;return G=G[Y(914)](),G[Y(1230)]=null,G},T.mont=function(G){return new fe(G)},R(fe,de),fe[S(2086)].convertTo=function(G){var Y=S;return this[Y(1641)](G[Y(2181)](this[Y(2626)]))},fe[S(2086)][S(2335)]=function(G){var Y=S;return G=this[Y(1641)](G[Y(1304)](this[Y(631)])),G[Y(1230)]=null,G},fe[S(2086)][S(1759)]=function(G,Y){var W=S;return G[W(1072)]()||Y.isZero()?(G[W(1157)][0]=0,G[W(2405)]=1,G):(G=G[W(1759)](Y),Y=G[W(1116)](this[W(2626)])[W(1304)](this[W(1277)])[W(2255)](this[W(2626)])[W(1304)](this.m),G=G[W(1155)](Y)[W(586)](this[W(2626)]),Y=G,0<=G[W(637)](this.m)?Y=G[W(1155)](this.m):G[W(1915)](0)<0&&(Y=G[W(2553)](this.m)),Y[W(2616)](this))},fe[S(2086)][S(1304)]=function(G,Y){var W=S;return G.isZero()||Y.isZero()?new T(0)[W(2616)](this):(G=G.mul(Y),Y=G[W(1116)](this[W(2626)]).mul(this[W(1277)])[W(2255)](this.shift).mul(this.m),G=G[W(1155)](Y).iushrn(this.shift),Y=G,0<=G[W(637)](this.m)?Y=G[W(1155)](this.m):G[W(1915)](0)<0&&(Y=G[W(2553)](this.m)),Y[W(2616)](this))},fe.prototype[S(680)]=function(G){var Y=S;return this[Y(1641)](G._invmp(this.m).mul(this.r2))[Y(2616)](this)}})((w=M[B(467)](w),this))},26138:(w,Q,M)=>{var B=Tt,D=M(70980),S=M(99199),P=M(57859),R=M(92144),T=M(23663),L=M(23482),F=M(84818),U=M(89509).Buffer;w[B(2726)]=function(j,z,J){var K=B,X=j[K(415)]||(J?1:4),j=D(j),ee=j[K(2745)][K(2127)]();if(z.length>ee||0<=new R(z)[K(637)](j[K(2745)]))throw new Error(K(1076));var z=J?F(new R(z),j):T(z,j),ie=U[K(1526)](ee-z.length),z=U[K(1558)]([ie,z],ee);if(X===4){var ie=z,ee=j[K(2745)][K(2127)](),j=L(K(219))[K(1744)](U[K(1526)](0))[K(2637)](),oe=j.length;if(ie[0]!==0)throw new Error(K(1076));var le=ie[K(352)](1,oe+1),ie=ie[K(352)](oe+1),le=P(le,S(ie,oe)),Ae=P(ie,S(le,ee-oe-1));if(function(O,re){var se=K;O=U[se(2151)](O),re=U[se(2151)](re);for(var ce=0,me=O[se(2405)],Ce=(O[se(2405)]!==re.length&&(ce++,me=Math.min(O[se(2405)],re[se(2405)])),-1);++Ce<me;)ce+=O[Ce]^re[Ce];return ce}(j,Ae[K(352)](0,oe)))throw new Error("decryption error");for(var he=oe;Ae[he]===0;)he++;if(Ae[he++]===1)return Ae[K(352)](he);throw new Error(K(1076))}if(X===1){for(var ge=z,ie=J,le=ge[K(352)](0,2),de=2,fe=0;ge[de++]!==0;)if(de>=ge[K(2405)]){fe++;break}if(ee=ge[K(352)](2,de-1),(K(1243)!==le[K(2192)](K(1996))&&!ie||K(2051)!==le[K(2192)](K(1996))&&ie)&&fe++,ee.length<8&&fe++,fe)throw new Error(K(1076));return ge[K(352)](de)}if(X===3)return z;throw new Error(K(2684))}},16559:(w,Q,M)=>{var B=Tt,D=M(70980),S=M(61798),P=M(23482),R=M(99199),T=M(57859),L=M(92144),F=M(84818),U=M(23663),N=M(89509).Buffer;w[B(2726)]=function(H,J,K){var X=B,j,ee=H.padding||(K?1:4),ie=D(H);if(ee===4)j=function(z){var oe=Tt,le=ie[oe(2745)][oe(2127)](),fe=z.length,de=P("sha1").update(N[oe(1526)](0)).digest(),Ae=de[oe(2405)],he=2*Ae;if(le-he-2<fe)throw new Error(oe(2265));var fe=N[oe(1526)](le-fe-he-2),he=le-Ae-1,ge=S(Ae),de=T(N[oe(1558)]([de,fe,N[oe(1526)](1,1),z],he),R(ge,he)),fe=T(ge,R(de,Ae));return new L(N[oe(1558)]([N[oe(1526)](1),fe,de],le))}(J);else if(ee===1)j=function(ge,oe,le){var Ae=Tt,he=oe[Ae(2405)],ge=ge[Ae(2745)][Ae(2127)]();if(ge-11<he)throw new Error(Ae(2265));return he=le?N[Ae(1526)](ge-he-3,255):function(de){for(var fe=Ae,G,Y=N[fe(1855)](de),W=0,O=S(2*de),re=0;W<de;)re===O[fe(2405)]&&(O=S(2*de),re=0),(G=O[re++])&&(Y[W++]=G);return Y}(ge-he-3),new L(N[Ae(1558)]([N[Ae(2151)]([0,le?1:2]),he,N[Ae(1526)](1),oe],ge))}(ie,J,K);else{if(ee!==3)throw new Error("unknown padding");if(0<=(j=new L(J))[X(637)](ie.modulus))throw new Error(X(872))}return(K?U:F)(j,ie)}},84818:(w,Q,M)=>{var B=Tt,D=M(92144),S=M(89509).Buffer;w[B(2726)]=function(P,R){var T=B;return S[T(2151)](P.toRed(D.mont(R.modulus))[T(2641)](new D(R[T(1636)]))[T(240)]()[T(1780)]())}},57859:w=>{var Q=Tt;w[Q(2726)]=function(M,B){for(var D=M.length,S=-1;++S<D;)M[S]^=B[S];return M}},61798:(w,Q,M)=>{var B=Tt,D=M(34155),S=M(89509).Buffer,P=M.g[B(667)]||M.g[B(2681)];P&&P[B(590)]?w.exports=function(R,T){var L=B;if(4294967295<R)throw new RangeError(L(965));var F=S[L(1855)](R);if(0<R)if(65536<R)for(var U=0;U<R;U+=65536)P.getRandomValues(F[L(352)](U,U+65536));else P[L(590)](F);return typeof T!="function"?F:D[L(2011)](function(){T(null,F)})}:w[B(2726)]=function(){var R=B;throw new Error(R(2789))}},77963:(w,Q,M)=>{var B=Tt,D=M(34155);function S(){var K=Tt;throw new Error(K(653))}var P=M(89509),R=M(61798),T=P[B(964)],L=P[B(662)],F=M.g[B(667)]||M.g.msCrypto,U=Math[B(1905)](2,32)-1;function N(K,X){var j=B;if(typeof K!="number"||K!=K)throw new TypeError(j(1772));if(U<K||K<0)throw new TypeError(j(1695));if(L<K||X<K)throw new RangeError("offset out of range")}function H(K,X,j){var ee=B;if(ee(647)!=typeof K||K!=K)throw new TypeError(ee(2595));if(U<K||K<0)throw new TypeError(ee(1051));if(j<K+X||L<K)throw new RangeError(ee(1367))}function J(K,X,j,ee){var ie=B,z;return D.browser?(z=K[ie(1123)],z=new Uint8Array(z,X,j),F[ie(590)](z),ee?void D[ie(2011)](function(){ee(null,K)}):K):ee?void R(j,function(oe,le){if(oe)return ee(oe);le.copy(K,X),ee(null,K)}):(R(j)[ie(1973)](K,X),K)}F&&F[B(590)]||!D[B(2727)]?(Q[B(275)]=function(K,X,j,ee){var ie=B;if(!(T[ie(1564)](K)||K instanceof M.g[ie(778)]))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if(ie(605)==typeof X)ee=X,X=0,j=K[ie(2405)];else if(ie(605)==typeof j)ee=j,j=K[ie(2405)]-X;else if(ie(605)!=typeof ee)throw new TypeError(ie(1726));return N(X,K[ie(2405)]),H(j,X,K[ie(2405)]),J(K,X,j,ee)},Q[B(316)]=function(K,X,j){var ee=B;if(X===void 0&&(X=0),T.isBuffer(K)||K instanceof M.g.Uint8Array)return N(X,K[ee(2405)]),H(j=j===void 0?K.length-X:j,X,K[ee(2405)]),J(K,X,j);throw new TypeError(ee(2776))}):(Q[B(275)]=S,Q[B(316)]=S)},94281:w=>{var Q=Tt,M={};function B(S,P,R){var T=Tt,L=function(F){var U=Tt,N,H;function J(K,X,j){var ee=Tt;return F.call(this,ee(1090)==typeof P?P:P(K,X,j))||this}return H=F,(N=J)[U(2086)]=Object[U(766)](H[U(2086)]),(N.prototype[U(1630)]=N)[U(996)]=H,J}(R=R||Error);L.prototype[T(276)]=R[T(276)],L.prototype[T(2314)]=S,M[S]=L}function D(S,P){var R=Tt,T;return Array[R(2021)](S)?(T=S[R(2405)],S=S[R(679)](function(L){return String(L)}),2<T?R(645).concat(P," ")[R(1558)](S[R(352)](0,T-1)[R(1814)](", "),", or ")+S[T-1]:T===2?R(645)[R(1558)](P," ")[R(1558)](S[0],R(2168)).concat(S[1]):R(613)[R(1558)](P," ").concat(S[0])):R(613).concat(P," ")[R(1558)](String(S))}B(Q(365),function(S,P){return'The value "'+P+'" is invalid for option "'+S+'"'},TypeError),B(Q(174),function(S,P,R){var T=Q,L,F,U;return T(1090)==typeof P&&P[T(1522)](0,T(1853)[T(2405)])==="not "?(L="must not be",P=P[T(2489)](/^not /,"")):L=T(1523),(U===void 0||U>S[T(2405)])&&(U=S[T(2405)]),(T(1884)===S[T(1527)](U-T(1884).length,U)?T(947)[T(1558)](S," ").concat(L," ").concat(D(P,T(1808))):(U=(F=T(647)!=typeof F?0:F)+"."[T(2405)]>S.length||S[T(1439)](".",F)===-1?T(1891):"property",T(421).concat(S,'" ')[T(1558)](U," ")[T(1558)](L," ")[T(1558)](D(P,T(1808)))))+T(2792).concat(typeof R)},TypeError),B(Q(1102),Q(1963)),B(Q(1244),function(S){var P=Q;return P(947)+S+" method is not implemented"}),B(Q(1428),"Premature close"),B("ERR_STREAM_DESTROYED",function(S){var P=Q;return P(1376)+S+P(1883)}),B(Q(585),"Callback called multiple times"),B(Q(496),Q(2251)),B(Q(540),Q(966)),B(Q(2415),Q(767),TypeError),B(Q(1213),function(S){var P=Q;return P(2200)+S},TypeError),B(Q(641),Q(1345)),w[Q(2726)].q=M},56753:(w,Q,M)=>{var B=Tt,D=M(34155),S=Object[B(732)]||function(J){var K=B,X,j=[];for(X in J)j[K(2764)](X);return j},P=(w[B(2726)]=U,M(79481)),R=M(64229);M(35717)(U,P);for(var T=S(R[B(2086)]),L=0;L<T[B(2405)];L++){var F=T[L];U[B(2086)][F]||(U.prototype[F]=R.prototype[F])}function U(J){var K=B;if(!(this instanceof U))return new U(J);P[K(2811)](this,J),R.call(this,J),this[K(2027)]=!0,J&&(J[K(2280)]===!1&&(this[K(2280)]=!1),J[K(887)]===!1&&(this[K(887)]=!1),J[K(2027)]===!1&&(this.allowHalfOpen=!1,this.once("end",N)))}function N(){this._writableState.ended||D.nextTick(H,this)}function H(J){var K=B;J[K(2624)]()}Object[B(1073)](U[B(2086)],B(2404),{enumerable:!1,get:function(){var J=B;return this[J(1031)][J(1573)]}}),Object[B(1073)](U[B(2086)],B(1991),{enumerable:!1,get:function(){var J=B;return this[J(1031)]&&this[J(1031)][J(1146)]()}}),Object[B(1073)](U.prototype,B(2420),{enumerable:!1,get:function(){return this._writableState.length}}),Object[B(1073)](U[B(2086)],B(771),{enumerable:!1,get:function(){var J=B;return this[J(674)]!==void 0&&this[J(1031)]!==void 0&&this._readableState.destroyed&&this[J(1031)][J(771)]},set:function(J){var K=B;this[K(674)]!==void 0&&this._writableState!==void 0&&(this[K(674)][K(771)]=J,this._writableState[K(771)]=J)}})},82725:(w,Q,M)=>{var B=Tt;w[B(2726)]=S;var D=M(74605);function S(P){if(!(this instanceof S))return new S(P);D.call(this,P)}M(35717)(S,D),S[B(2086)][B(2787)]=function(P,R,T){T(null,P)}},79481:(K,Q,M)=>{var B=Tt;function D(ke,Ne){var Pe=Tt;return ke[Pe(932)](Ne)[Pe(2405)]}var S,P,R,T,L=M(34155),F=((K[B(2726)]=ge).ReadableState=he,M(17187)[B(2583)],M(22503)),U=M(48764).Buffer,N=(M.g!==void 0?M.g:typeof window<"u"?window:B(621)!=typeof self?self:{})[B(778)]||function(){},K=M(94616),H=K&&K[B(2793)]?K[B(2793)](B(500)):function(){},J=M(57327),K=M(61195),X=M(82457).getHighWaterMark,j=M(94281).q,ee=j[B(174)],ie=j.ERR_STREAM_PUSH_AFTER_EOF,z=j[B(1244)],oe=j.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,le=(M(35717)(ge,F),K[B(2130)]),Ae=[B(1274),B(2239),B(366),B(2279),B(1472)];function he(ke,Ne,Pe){var we=B;S=S||M(56753),we(1927)!=typeof Pe&&(Pe=Ne instanceof S),this[we(1356)]=!!(ke=ke||{})[we(1356)],Pe&&(this.objectMode=this[we(1356)]||!!ke[we(380)]),this.highWaterMark=X(this,ke,we(2804),Pe),this.buffer=new J,this.length=0,this[we(2472)]=null,this[we(2349)]=0,this.flowing=null,this[we(546)]=!1,this[we(941)]=!1,this[we(1079)]=!1,this[we(1375)]=!0,this[we(372)]=!1,this[we(2712)]=!1,this[we(470)]=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=ke[we(1981)]!==!1,this[we(2625)]=!!ke[we(2625)],this[we(771)]=!1,this[we(1972)]=ke[we(1972)]||"utf8",this[we(1752)]=0,this[we(430)]=!1,this[we(1545)]=null,this[we(1794)]=null,ke[we(1794)]&&(P=P||M(32553).s,this[we(1545)]=new P(ke[we(1794)]),this.encoding=ke[we(1794)])}function ge(ke){var Ne=B;if(S=S||M(56753),!(this instanceof ge))return new ge(ke);var Pe=this instanceof S;this[Ne(674)]=new he(ke,this,Pe),this.readable=!0,ke&&(Ne(605)==typeof ke[Ne(848)]&&(this[Ne(944)]=ke[Ne(848)]),typeof ke[Ne(366)]=="function"&&(this._destroy=ke[Ne(366)])),F[Ne(2811)](this)}function de(ke,Ne,Pe,we,Fe){var Ue=B;H(Ue(603),Ne);var ze,Je,je,Ze,rt,At=ke[Ue(674)];if(Ne===null)At[Ue(1079)]=!1,rt=ke,je=At,H("onEofChunk"),je[Ue(546)]||(je[Ue(1545)]&&(Je=je[Ue(1545)][Ue(2624)]())&&Je[Ue(2405)]&&(je[Ue(1123)][Ue(2764)](Je),je[Ue(2405)]+=je[Ue(1356)]?1:Je.length),je[Ue(546)]=!0,je[Ue(1375)]?Y(rt):(je[Ue(372)]=!1,je[Ue(2712)]||(je[Ue(2712)]=!0,W(rt))));else if(ze=Fe?ze:(Je=At,rt=je=Ne,Ze=U[Ue(1564)](rt)||rt instanceof N||Ue(1090)==typeof je||je===void 0||Je.objectMode?Ze:new ee(Ue(2103),["string",Ue(964),Ue(778)],je)))le(ke,ze);else if(At[Ue(1356)]||Ne&&0<Ne[Ue(2405)])if(Ue(1090)==typeof Ne||At[Ue(1356)]||Object[Ue(2411)](Ne)===U.prototype||(Fe=Ne,Ne=U[Ue(2151)](Fe)),we)At[Ue(941)]?le(ke,new oe):fe(ke,At,Ne,!0);else if(At[Ue(546)])le(ke,new ie);else{if(At[Ue(771)])return!1;At[Ue(1079)]=!1,At[Ue(1545)]&&!Pe?(Ne=At[Ue(1545)][Ue(677)](Ne),At[Ue(1356)]||Ne.length!==0?fe(ke,At,Ne,!1):O(ke,At)):fe(ke,At,Ne,!1)}else we||(At[Ue(1079)]=!1,O(ke,At));return!At[Ue(546)]&&(At[Ue(2405)]<At[Ue(1573)]||At.length===0)}function fe(ke,Ne,Pe,we){var Fe=B;Ne[Fe(1917)]&&Ne[Fe(2405)]===0&&!Ne[Fe(1375)]?(Ne[Fe(1752)]=0,ke[Fe(1011)]("data",Pe)):(Ne[Fe(2405)]+=Ne[Fe(1356)]?1:Pe[Fe(2405)],we?Ne.buffer[Fe(917)](Pe):Ne[Fe(1123)][Fe(2764)](Pe),Ne[Fe(372)]&&Y(ke)),O(ke,Ne)}Object[B(1073)](ge[B(2086)],B(771),{enumerable:!1,get:function(){var ke=B;return this[ke(674)]!==void 0&&this[ke(674)][ke(771)]},set:function(ke){var Ne=B;this[Ne(674)]&&(this[Ne(674)][Ne(771)]=ke)}}),ge[B(2086)][B(366)]=K[B(366)],ge[B(2086)][B(307)]=K[B(684)],ge[B(2086)][B(2732)]=function(ke,Ne){Ne(ke)},ge[B(2086)][B(2764)]=function(ke,Ne){var Pe=B,we,Fe=this[Pe(674)];return Fe[Pe(1356)]?we=!0:Pe(1090)==typeof ke&&((Ne=Ne||Fe[Pe(1972)])!==Fe.encoding&&(ke=U.from(ke,Ne),Ne=""),we=!0),de(this,ke,Ne,!1,we)},ge[B(2086)][B(917)]=function(ke){return de(this,ke,null,!0,!1)},ge[B(2086)][B(2554)]=function(){var ke=B;return this[ke(674)][ke(1917)]===!1},ge[B(2086)].setEncoding=function(ke){for(var Ne=B,Pe=new(P=P||M(32553).s)(ke),we=(this[Ne(674)][Ne(1545)]=Pe,this._readableState.encoding=this._readableState[Ne(1545)][Ne(1794)],this[Ne(674)].buffer[Ne(558)]),Fe="";we!==null;)Fe+=Pe[Ne(677)](we.data),we=we.next;return this[Ne(674)][Ne(1123)].clear(),Fe!==""&&this[Ne(674)][Ne(1123)].push(Fe),this[Ne(674)][Ne(2405)]=Fe[Ne(2405)],this};function G(ke,Ne){var Pe=B;return ke<=0||Ne.length===0&&Ne[Pe(546)]?0:Ne[Pe(1356)]?1:ke!=ke?(Ne[Pe(1917)]&&Ne[Pe(2405)]?Ne[Pe(1123)].head[Pe(1322)]:Ne)[Pe(2405)]:(ke>Ne[Pe(1573)]&&(Ne[Pe(1573)]=(1073741824<=(we=ke)?we=1073741824:(we--,we=(we=(we=(we=(we|=we>>>1)|we>>>2)|we>>>4)|we>>>8)|we>>>16,we++),we)),ke<=Ne[Pe(2405)]?ke:Ne[Pe(546)]?Ne[Pe(2405)]:(Ne[Pe(372)]=!0,0));var we}function Y(ke){var Ne=B,Pe=ke[Ne(674)];H("emitReadable",Pe[Ne(372)],Pe.emittedReadable),Pe.needReadable=!1,Pe[Ne(2712)]||(H(Ne(1117),Pe.flowing),Pe[Ne(2712)]=!0,L[Ne(2011)](W,ke))}function W(ke){var Ne=B,Pe=ke._readableState;H("emitReadable_",Pe[Ne(771)],Pe[Ne(2405)],Pe[Ne(546)]),Pe[Ne(771)]||!Pe[Ne(2405)]&&!Pe[Ne(546)]||(ke.emit(Ne(2280)),Pe.emittedReadable=!1),Pe[Ne(372)]=!Pe.flowing&&!Pe[Ne(546)]&&Pe.length<=Pe[Ne(1573)],Ce(ke)}function O(ke,Ne){var Pe=B;Ne.readingMore||(Ne[Pe(430)]=!0,L[Pe(2011)](re,ke,Ne))}function re(ke,Ne){for(var Pe=B;!Ne.reading&&!Ne[Pe(546)]&&(Ne.length<Ne[Pe(1573)]||Ne[Pe(1917)]&&Ne[Pe(2405)]===0);){var we=Ne[Pe(2405)];if(H(Pe(1520)),ke[Pe(848)](0),we===Ne[Pe(2405)])break}Ne[Pe(430)]=!1}function se(ke){var Ne=B,Pe=ke[Ne(674)];Pe[Ne(470)]=0<ke[Ne(1065)](Ne(2280)),Pe[Ne(1361)]&&!Pe.paused?Pe[Ne(1917)]=!0:0<ke.listenerCount("data")&&ke[Ne(1472)]()}function ce(ke){var Ne=B;H(Ne(1008)),ke[Ne(848)](0)}function me(ke,Ne){var Pe=B;H(Pe(1472),Ne[Pe(1079)]),Ne[Pe(1079)]||ke[Pe(848)](0),Ne[Pe(1361)]=!1,ke.emit("resume"),Ce(ke),Ne[Pe(1917)]&&!Ne.reading&&ke[Pe(848)](0)}function Ce(ke){var Ne=B,Pe=ke._readableState;for(H(Ne(1825),Pe.flowing);Pe.flowing&&ke.read()!==null;);}function ye(ke,Ne){var Pe=B;return Ne.length===0?null:(Ne[Pe(1356)]?we=Ne.buffer.shift():!ke||ke>=Ne[Pe(2405)]?(we=Ne[Pe(1545)]?Ne[Pe(1123)][Pe(1814)](""):Ne[Pe(1123)][Pe(2405)]===1?Ne[Pe(1123)].first():Ne[Pe(1123)][Pe(1558)](Ne[Pe(2405)]),Ne.buffer[Pe(1e3)]()):we=Ne[Pe(1123)].consume(ke,Ne[Pe(1545)]),we);var we}function Be(ke){var Ne=B,Pe=ke[Ne(674)];H(Ne(320),Pe[Ne(941)]),Pe[Ne(941)]||(Pe.ended=!0,L.nextTick(Me,Pe,ke))}function Me(ke,Ne){var Pe=B;H("endReadableNT",ke.endEmitted,ke[Pe(2405)]),ke[Pe(941)]||ke[Pe(2405)]!==0||(ke[Pe(941)]=!0,Ne[Pe(2280)]=!1,Ne[Pe(1011)](Pe(2624)),ke[Pe(2625)]&&(!(ke=Ne._writableState)||ke[Pe(2625)]&&ke.finished)&&Ne[Pe(366)]())}function He(ke,Ne){for(var Pe=B,we=0,Fe=ke[Pe(2405)];we<Fe;we++)if(ke[we]===Ne)return we;return-1}ge[B(2086)][B(848)]=function(ke){var Ne=B;H("read",ke),ke=parseInt(ke,10);var Pe=this[Ne(674)],we=ke;if(ke!==0&&(Pe.emittedReadable=!1),ke===0&&Pe.needReadable&&((Pe[Ne(1573)]!==0?Pe[Ne(2405)]>=Pe[Ne(1573)]:0<Pe[Ne(2405)])||Pe.ended))return H("read: emitReadable",Pe.length,Pe.ended),(Pe[Ne(2405)]===0&&Pe.ended?Be:Y)(this),null;if((ke=G(ke,Pe))===0&&Pe[Ne(546)])return Pe[Ne(2405)]===0&&Be(this),null;var Fe=Pe.needReadable;return H(Ne(2385),Fe),(Pe[Ne(2405)]===0||Pe[Ne(2405)]-ke<Pe[Ne(1573)])&&H(Ne(2389),Fe=!0),Pe.ended||Pe[Ne(1079)]?H(Ne(2753),Fe=!1):Fe&&(H(Ne(2012)),Pe[Ne(1079)]=!0,Pe[Ne(1375)]=!0,Pe[Ne(2405)]===0&&(Pe.needReadable=!0),this[Ne(944)](Pe.highWaterMark),Pe[Ne(1375)]=!1,Pe[Ne(1079)]||(ke=G(we,Pe))),(Fe=0<ke?ye(ke,Pe):null)===null?(Pe[Ne(372)]=Pe[Ne(2405)]<=Pe[Ne(1573)],ke=0):(Pe.length-=ke,Pe.awaitDrain=0),Pe[Ne(2405)]===0&&(Pe[Ne(546)]||(Pe[Ne(372)]=!0),we!==ke&&Pe.ended&&Be(this)),Fe!==null&&this[Ne(1011)](Ne(1322),Fe),Fe},ge.prototype[B(944)]=function(ke){var Ne=B;le(this,new z(Ne(1536)))},ge[B(2086)][B(377)]=function(ke,Ne){var Pe=B,we=this,Fe=this._readableState;switch(Fe[Pe(2349)]){case 0:Fe[Pe(2472)]=ke;break;case 1:Fe[Pe(2472)]=[Fe[Pe(2472)],ke];break;default:Fe[Pe(2472)][Pe(2764)](ke)}Fe[Pe(2349)]+=1,H(Pe(1795),Fe[Pe(2349)],Ne),Ne=Ne&&Ne[Pe(2624)]===!1||ke===L[Pe(2815)]||ke===L[Pe(1659)]?_t:Ue;function Ue(){var et=Pe;H("onend"),ke[et(2624)]()}Fe[Pe(941)]?L[Pe(2011)](Ne):we[Pe(2441)](Pe(2624),Ne),ke.on(Pe(744),function et(pt,zt){var It=Pe;H("onunpipe"),pt===we&&zt&&zt[It(1378)]===!1&&(zt[It(1378)]=!0,H(It(2686)),ke.removeListener("close",at),ke[It(2720)]("finish",ft),ke.removeListener(It(1628),Ze),ke[It(2720)](It(1274),yt),ke[It(2720)](It(744),et),we[It(2720)]("end",Ue),we[It(2720)](It(2624),_t),we[It(2720)](It(1322),At),rt=!0,!Fe[It(1752)]||ke[It(1031)]&&!ke[It(1031)][It(1383)]||Ze())});var ze,Je,je=we,Ze=function(){var et=Pe,pt=je[et(674)];H(et(922),pt[et(1752)]),pt.awaitDrain&&pt[et(1752)]--,pt[et(1752)]===0&&D(je,et(1322))&&(pt[et(1917)]=!0,Ce(je))},rt=(ke.on(Pe(1628),Ze),!1);function At(et){var pt=Pe;H(pt(1512)),et=ke[pt(677)](et),H(pt(2403),et),et===!1&&((Fe[pt(2349)]===1&&Fe[pt(2472)]===ke||1<Fe[pt(2349)]&&He(Fe.pipes,ke)!==-1)&&!rt&&(H(pt(2264),Fe[pt(1752)]),Fe[pt(1752)]++),we[pt(2279)]())}function yt(et){var pt=Pe;H(pt(433),et),_t(),ke.removeListener("error",yt),D(ke,pt(1274))===0&&le(ke,et)}function at(){var et=Pe;ke[et(2720)]("finish",ft),_t()}function ft(){var et=Pe;H("onfinish"),ke[et(2720)](et(2239),at),_t()}function _t(){var et=Pe;H("unpipe"),we[et(744)](ke)}return we.on(Pe(1322),At),Ne="error",Je=yt,Pe(605)==typeof(ze=ke)[Pe(1259)]?ze[Pe(1259)](Ne,Je):ze[Pe(161)]&&ze[Pe(161)][Ne]?Array[Pe(2021)](ze[Pe(161)][Ne])?ze[Pe(161)][Ne][Pe(917)](Je):ze._events[Ne]=[Je,ze[Pe(161)][Ne]]:ze.on(Ne,Je),ke[Pe(2441)]("close",at),ke[Pe(2441)]("finish",ft),ke[Pe(1011)](Pe(377),we),Fe[Pe(1917)]||(H(Pe(1766)),we.resume()),ke},ge[B(2086)][B(744)]=function(ke){var Ne=B,Pe=this._readableState,we={hasUnpiped:!1};if(Pe[Ne(2349)]===0)return this;if(Pe[Ne(2349)]===1)return ke&&ke!==Pe[Ne(2472)]||(ke=ke||Pe[Ne(2472)],Pe[Ne(2472)]=null,Pe[Ne(2349)]=0,Pe.flowing=!1,ke&&ke.emit("unpipe",this,we)),this;if(!ke){var Fe=Pe[Ne(2472)],Ue=Pe[Ne(2349)];Pe.pipes=null,Pe[Ne(2349)]=0,Pe[Ne(1917)]=!1;for(var ze=0;ze<Ue;ze++)Fe[ze][Ne(1011)](Ne(744),this,{hasUnpiped:!1});return this}var Je=He(Pe[Ne(2472)],ke);return Je!==-1&&(Pe.pipes[Ne(2407)](Je,1),--Pe[Ne(2349)],Pe[Ne(2349)]===1&&(Pe[Ne(2472)]=Pe.pipes[0]),ke.emit(Ne(744),this,we)),this},ge[B(2086)][B(2476)]=ge[B(2086)].on=function(ke,we){var Pe=B,we=F[Pe(2086)].on[Pe(2811)](this,ke,we),Fe=this[Pe(674)];return Pe(1322)===ke?(Fe[Pe(470)]=0<this[Pe(1065)](Pe(2280)),Fe[Pe(1917)]!==!1&&this[Pe(1472)]()):Pe(2280)!==ke||Fe[Pe(941)]||Fe[Pe(470)]||(Fe[Pe(470)]=Fe[Pe(372)]=!0,Fe[Pe(1917)]=!1,Fe[Pe(2712)]=!1,H(Pe(648),Fe[Pe(2405)],Fe[Pe(1079)]),Fe[Pe(2405)]?Y(this):Fe[Pe(1079)]||L[Pe(2011)](ce,this)),we},ge[B(2086)][B(2720)]=function(ke,Ne){var Pe=B;return Ne=F.prototype[Pe(2720)][Pe(2811)](this,ke,Ne),Pe(2280)===ke&&L[Pe(2011)](se,this),Ne},ge[B(2086)][B(1946)]=function(ke){var Ne=B,Pe=F[Ne(2086)][Ne(1946)][Ne(724)](this,arguments);return ke!=="readable"&&ke!==void 0||L[Ne(2011)](se,this),Pe},ge[B(2086)][B(1472)]=function(){var ke=B,Ne,Pe=this._readableState;return Pe[ke(1917)]||(H(ke(1472)),Pe[ke(1917)]=!Pe.readableListening,(Ne=Pe)[ke(1361)]||(Ne[ke(1361)]=!0,L[ke(2011)](me,this,Ne))),Pe[ke(2728)]=!1,this},ge[B(2086)][B(2279)]=function(){var ke=B;return H(ke(1223),this._readableState[ke(1917)]),this[ke(674)].flowing!==!1&&(H("pause"),this._readableState[ke(1917)]=!1,this[ke(1011)](ke(2279))),this[ke(674)].paused=!0,this},ge[B(2086)][B(425)]=function(ke){var Ne=B,Pe,we=this,Fe=this._readableState,Ue=!1;for(Pe in ke.on("end",function(){var Je=Tt,je;H("wrapped end"),Fe[Je(1545)]&&!Fe.ended&&(je=Fe[Je(1545)].end())&&je[Je(2405)]&&we[Je(2764)](je),we[Je(2764)](null)}),ke.on(Ne(1322),function(Je){var je=Ne;H(je(2330)),Fe[je(1545)]&&(Je=Fe[je(1545)][je(677)](Je)),Fe[je(1356)]&&Je==null||(Fe[je(1356)]||Je&&Je[je(2405)])&&!we.push(Je)&&(Ue=!0,ke[je(2279)]())}),ke)this[Pe]===void 0&&typeof ke[Pe]=="function"&&(this[Pe]=function(Je){return function(){var je=Tt;return ke[Je][je(724)](ke,arguments)}}(Pe));for(var ze=0;ze<Ae.length;ze++)ke.on(Ae[ze],this.emit[Ne(1703)](this,Ae[ze]));return this[Ne(944)]=function(Je){var je=Ne;H(je(1606),Je),Ue&&(Ue=!1,ke[je(1472)]())},this},B(605)==typeof Symbol&&(ge.prototype[Symbol[B(1665)]]=function(){return(R=R===void 0?M(45850):R)(this)}),Object[B(1073)](ge.prototype,B(2804),{enumerable:!1,get:function(){var ke=B;return this._readableState[ke(1573)]}}),Object.defineProperty(ge[B(2086)],B(2655),{enumerable:!1,get:function(){var ke=B;return this._readableState&&this[ke(674)].buffer}}),Object.defineProperty(ge[B(2086)],B(866),{enumerable:!1,get:function(){var ke=B;return this[ke(674)][ke(1917)]},set:function(ke){var Ne=B;this[Ne(674)]&&(this[Ne(674)].flowing=ke)}}),ge._fromList=ye,Object.defineProperty(ge[B(2086)],B(1295),{enumerable:!1,get:function(){var ke=B;return this._readableState[ke(2405)]}}),typeof Symbol=="function"&&(ge[B(2151)]=function(ke,Ne){return(T=T===void 0?M(15167):T)(ge,ke,Ne)})},74605:(D,Q,M)=>{var B=Tt;D[B(2726)]=F;var D=M(94281).q,S=D[B(1244)],P=D[B(585)],R=D.ERR_TRANSFORM_ALREADY_TRANSFORMING,T=D[B(437)],L=M(56753);function F(H){var J=B;if(!(this instanceof F))return new F(H);L[J(2811)](this,H),this._transformState={afterTransform:function(K,X){var j=J,ee=this[j(1926)],ie=(ee[j(405)]=!1,ee[j(834)]);if(ie===null)return this[j(1011)](j(1274),new P);ee[j(2539)]=null,(ee[j(834)]=null)!=X&&this[j(2764)](X),ie(K),ee=this[j(674)],ee[j(1079)]=!1,(ee[j(372)]||ee[j(2405)]<ee.highWaterMark)&&this._read(ee[j(1573)])}.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this[J(674)].needReadable=!0,this[J(674)][J(1375)]=!1,H&&(J(605)==typeof H[J(1334)]&&(this[J(2787)]=H[J(1334)]),typeof H[J(1976)]=="function"&&(this[J(2333)]=H.flush)),this.on("prefinish",U)}function U(){var H=B,J=this;H(605)!=typeof this[H(2333)]||this._readableState[H(771)]?N(this,null,null):this[H(2333)](function(K,X){N(J,K,X)})}function N(H,J,K){var X=B;if(J)return H[X(1011)](X(1274),J);if(K!=null&&H[X(2764)](K),H._writableState.length)throw new T;if(H[X(1926)][X(405)])throw new R;H.push(null)}M(35717)(F,L),F[B(2086)].push=function(H,J){var K=B;return this[K(1926)][K(2033)]=!1,L[K(2086)].push[K(2811)](this,H,J)},F[B(2086)][B(2787)]=function(H,J,K){K(new S("_transform()"))},F[B(2086)][B(1644)]=function(H,J,K){var X=B,j=this[X(1926)];j.writecb=K,j.writechunk=H,j[X(2682)]=J,j[X(405)]||(K=this[X(674)],(j[X(2033)]||K[X(372)]||K[X(2405)]<K[X(1573)])&&this[X(944)](K[X(1573)]))},F[B(2086)][B(944)]=function(H){var J=B,K=this[J(1926)];K[J(2539)]===null||K[J(405)]?K[J(2033)]=!0:(K[J(405)]=!0,this._transform(K[J(2539)],K.writeencoding,K.afterTransform))},F[B(2086)][B(2732)]=function(H,J){var K=B;L[K(2086)]._destroy[K(2811)](this,H,function(X){J(X)})}},64229:(T,Q,M)=>{var B=Tt,D,S=M(34155);function P(se){var ce=Tt,me=this;this[ce(1543)]=null,this[ce(2041)]=null,this[ce(1988)]=function(){var Ce=ce,ye=me,Be=se,Me=ye[Ce(2041)];for(ye.entry=null;Me;){var He=Me[Ce(2528)];Be[Ce(1464)]--,He(void 0),Me=Me[Ce(1543)]}Be[Ce(1921)][Ce(1543)]=ye}}(T[B(2726)]=de)[B(2448)]=ge;var R,T={deprecate:M(94927)},L=M(22503),F=M(48764)[B(964)],U=(M.g!==void 0?M.g:B(621)!=typeof window?window:B(621)!=typeof self?self:{})[B(778)]||function(){},N=M(61195),H=M(82457).getHighWaterMark,J=M(94281).q,K=J[B(174)],X=J.ERR_METHOD_NOT_IMPLEMENTED,j=J[B(585)],ee=J[B(496)],ie=J[B(2061)],z=J[B(2415)],oe=J.ERR_STREAM_WRITE_AFTER_END,le=J[B(1213)],Ae=N[B(2130)];function he(){}function ge(se,ce,me){var Ce=B;D=D||M(56753),Ce(1927)!=typeof me&&(me=ce instanceof D),this[Ce(1356)]=!!(se=se||{})[Ce(1356)],me&&(this[Ce(1356)]=this[Ce(1356)]||!!se[Ce(2518)]),this[Ce(1573)]=H(this,se,"writableHighWaterMark",me),this.finalCalled=!1,this[Ce(1383)]=!1,this[Ce(784)]=!1,this[Ce(546)]=!1,this.finished=!1,me=(this[Ce(771)]=!1)===se[Ce(2570)],this[Ce(2570)]=!me,this[Ce(1972)]=se[Ce(1972)]||Ce(2016),this[Ce(2405)]=0,this.writing=!1,this[Ce(904)]=0,this[Ce(1375)]=!0,this.bufferProcessing=!1,this[Ce(1487)]=function(ye){var Be=Ce,Me=ce,He=Me[Be(1031)],ke=He.sync,Ne=He.writecb;if(Be(605)!=typeof Ne)throw new j;var Pe,we,Fe,Ue=He;Ue.writing=!1,Ue[Be(834)]=null,Ue.length-=Ue[Be(2360)],Ue[Be(2360)]=0,ye?(Ue=Me,we=ke,ye=ye,Fe=Ne,--(Pe=He).pendingcb,we?(S[Be(2011)](Fe,ye),S[Be(2011)](re,Ue,Pe),Ue._writableState.errorEmitted=!0,Ae(Ue,ye)):(Fe(ye),Ue[Be(1031)][Be(974)]=!0,Ae(Ue,ye),re(Ue,Pe))):((we=W(He)||Me[Be(771)])||He[Be(904)]||He[Be(1198)]||!He.bufferedRequest||Y(Me,He),ke?S[Be(2011)](G,Me,He,we,Ne):G(Me,He,we,Ne))},this.writecb=null,this[Ce(2360)]=0,this[Ce(2748)]=null,this[Ce(2291)]=null,this[Ce(1464)]=0,this.prefinished=!1,this.errorEmitted=!1,this[Ce(1981)]=se[Ce(1981)]!==!1,this[Ce(2625)]=!!se[Ce(2625)],this[Ce(2091)]=0,this[Ce(1921)]=new P(this)}M(35717)(de,L),ge[B(2086)].getBuffer=function(){for(var se=B,ce=this.bufferedRequest,me=[];ce;)me[se(2764)](ce),ce=ce[se(1543)];return me};try{Object[B(1073)](ge[B(2086)],B(1123),{get:T[B(1330)](function(){var se=B;return this[se(1146)]()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.",B(1266))})}catch{}function de(se){var ce=B,me=this instanceof(D=D||M(56753));if(!me&&!R.call(de,this))return new de(se);this[ce(1031)]=new ge(se,this,me),this[ce(887)]=!0,se&&(typeof se[ce(677)]=="function"&&(this[ce(1644)]=se.write),ce(605)==typeof se[ce(2067)]&&(this[ce(1281)]=se[ce(2067)]),ce(605)==typeof se[ce(366)]&&(this[ce(2732)]=se[ce(366)]),typeof se[ce(1471)]=="function"&&(this[ce(1474)]=se[ce(1471)])),L[ce(2811)](this)}function fe(se,ce,me,Ce,ye,Be,Me){var He=B;ce.writelen=Ce,ce[He(834)]=Me,ce.writing=!0,ce[He(1375)]=!0,ce.destroyed?ce[He(1487)](new ie(He(677))):me?se._writev(ye,ce[He(1487)]):se._write(ye,Be,ce[He(1487)]),ce[He(1375)]=!1}function G(se,ce,me,Ce){var ye=B;me||(me=se,ce[ye(2405)]===0&&ce[ye(1383)]&&(ce.needDrain=!1,me[ye(1011)](ye(1628)))),ce[ye(1464)]--,Ce(),re(se,ce)}function Y(se,ce){var me=B;ce[me(1198)]=!0;var Ce=ce[me(2748)];if(se[me(1281)]&&Ce&&Ce[me(1543)]){for(var Be=ce[me(2091)],ye=new Array(Be),Be=ce[me(1921)],Me=(Be[me(2041)]=Ce,0),He=!0;Ce;)(ye[Me]=Ce)[me(2114)]||(He=!1),Ce=Ce[me(1543)],Me+=1;ye[me(2410)]=He,fe(se,ce,!0,ce[me(2405)],ye,"",Be[me(1988)]),ce[me(1464)]++,ce[me(2291)]=null,Be[me(1543)]?(ce[me(1921)]=Be.next,Be[me(1543)]=null):ce[me(1921)]=new P(ce),ce.bufferedRequestCount=0}else{for(;Ce;){var ke=Ce.chunk,Ne=Ce.encoding,Pe=Ce.callback;if(fe(se,ce,!1,ce[me(1356)]?1:ke[me(2405)],ke,Ne,Pe),Ce=Ce[me(1543)],ce.bufferedRequestCount--,ce[me(958)])break}Ce===null&&(ce.lastBufferedRequest=null)}ce.bufferedRequest=Ce,ce[me(1198)]=!1}function W(se){var ce=B;return se[ce(784)]&&se[ce(2405)]===0&&se[ce(2748)]===null&&!se.finished&&!se.writing}function O(se,ce){var me=B;se[me(1474)](function(Ce){var ye=me;ce[ye(1464)]--,Ce&&Ae(se,Ce),ce[ye(1380)]=!0,se[ye(1011)]("prefinish"),re(se,ce)})}function re(se,ce){var me=B,Ce,ye,Be=W(ce);return Be&&(Ce=se,(ye=ce).prefinished||ye.finalCalled||(me(605)!=typeof Ce._final||ye.destroyed?(ye[me(1380)]=!0,Ce[me(1011)](me(1091))):(ye.pendingcb++,ye[me(277)]=!0,S[me(2011)](O,Ce,ye))),ce[me(1464)]===0&&(ce[me(242)]=!0,se[me(1011)](me(1988)),ce[me(2625)]&&(!(Ce=se._readableState)||Ce[me(2625)]&&Ce[me(941)])&&se[me(366)]())),Be}B(605)==typeof Symbol&&Symbol[B(701)]&&B(605)==typeof Function.prototype[Symbol[B(701)]]?(R=Function[B(2086)][Symbol[B(701)]],Object[B(1073)](de,Symbol[B(701)],{value:function(se){var ce=B;return!!R.call(this,se)||this===de&&se&&se[ce(1031)]instanceof ge}})):R=function(se){return se instanceof this},de.prototype[B(377)]=function(){Ae(this,new ee)},de[B(2086)][B(677)]=function(se,ce,me){var Ce=B,ye,Be,Me,He,ke=this._writableState,Ne=!1,Pe=!ke[Ce(1356)]&&(Pe=se,F[Ce(1564)](Pe)||Pe instanceof U);return Pe&&!F[Ce(1564)](se)&&(Me=se,se=F[Ce(2151)](Me)),Ce(605)==typeof ce&&(me=ce,ce=null),ce=Pe?"buffer":ce||ke[Ce(1972)],Ce(605)!=typeof me&&(me=he),ke[Ce(784)]?(Me=me,He=new oe,Ae(this,He),S[Ce(2011)](Me,He)):!Pe&&(Me=ke,He=me,(ye=se)===null?Be=new z:Ce(1090)==typeof ye||Me.objectMode||(Be=new K(Ce(2103),[Ce(1090),Ce(964)],ye)),Be&&(Ae(this,Be),!void S.nextTick(He,Be)))||(ke[Ce(1464)]++,Ne=function(we,Fe,Ue,ze,Je,je){var Ze=Ce;Ue||(yt=ze,At=Je,yt=Fe.objectMode||Fe.decodeStrings===!1||typeof yt!="string"?yt:F[Ze(2151)](yt,At),ze!==yt&&(Ue=!0,Je=Ze(1123),ze=yt));var rt,At=Fe[Ze(1356)]?1:ze.length,yt=(Fe[Ze(2405)]+=At,Fe[Ze(2405)]<Fe[Ze(1573)]);return yt||(Fe[Ze(1383)]=!0),Fe[Ze(958)]||Fe.corked?(rt=Fe[Ze(2291)],Fe[Ze(2291)]={chunk:ze,encoding:Je,isBuf:Ue,callback:je,next:null},rt?rt[Ze(1543)]=Fe[Ze(2291)]:Fe.bufferedRequest=Fe[Ze(2291)],Fe[Ze(2091)]+=1):fe(we,Fe,!1,At,ze,Je,je),yt}(this,ke,Pe,se,ce,me)),Ne},de[B(2086)].cork=function(){var se=B;this[se(1031)].corked++},de.prototype[B(1576)]=function(){var se=B,ce=this._writableState;ce[se(904)]&&(ce.corked--,ce[se(958)]||ce[se(904)]||ce[se(1198)]||!ce[se(2748)]||Y(this,ce))},de[B(2086)].setDefaultEncoding=function(se){var ce=B;if(ce(1090)==typeof se&&(se=se[ce(444)]()),-1<[ce(1996),ce(2016),ce(828),ce(358),ce(2470),ce(2160),ce(2320),"ucs-2",ce(2252),ce(1893),"raw"][ce(1439)]((se+"")[ce(444)]()))return this[ce(1031)].defaultEncoding=se,this;throw new le(se)},Object[B(1073)](de[B(2086)],B(1991),{enumerable:!1,get:function(){var se=B;return this[se(1031)]&&this[se(1031)].getBuffer()}}),Object[B(1073)](de[B(2086)],B(2404),{enumerable:!1,get:function(){var se=B;return this[se(1031)][se(1573)]}}),de.prototype[B(1644)]=function(se,ce,me){var Ce=B;me(new X(Ce(1181)))},de[B(2086)][B(1281)]=null,de[B(2086)][B(2624)]=function(se,ce,me){var Ce=B,ye=this[Ce(1031)];return Ce(605)==typeof se?(me=se,ce=se=null):Ce(605)==typeof ce&&(me=ce,ce=null),se!=null&&this[Ce(677)](se,ce),ye[Ce(904)]&&(ye[Ce(904)]=1,this[Ce(1576)]()),ye.ending||(se=me,(ce=ye)[Ce(784)]=!0,re(this,ce),se&&(ce[Ce(242)]?S[Ce(2011)](se):this[Ce(2441)](Ce(1988),se)),ce[Ce(546)]=!0,this[Ce(887)]=!1),this},Object[B(1073)](de[B(2086)],B(2420),{enumerable:!1,get:function(){var se=B;return this[se(1031)][se(2405)]}}),Object[B(1073)](de.prototype,B(771),{enumerable:!1,get:function(){var se=B;return this[se(1031)]!==void 0&&this[se(1031)][se(771)]},set:function(se){var ce=B;this[ce(1031)]&&(this[ce(1031)][ce(771)]=se)}}),de.prototype[B(366)]=N.destroy,de[B(2086)][B(307)]=N[B(684)],de[B(2086)]._destroy=function(se,ce){ce(se)}},45850:(w,Q,j)=>{var B=Tt,D,S=j(34155);function P(ie,z,oe){var le=Tt,Ae;(z=typeof(Ae=function(he){var ge=Tt;if(ge(2538)!=typeof he||he===null)return he;var de=he[Symbol[ge(1457)]];if(de===void 0)return String(he);if(de=de.call(he,ge(1090)),ge(2538)!=typeof de)return de;throw new TypeError(ge(386))}(z))=="symbol"?Ae:String(Ae))in ie?Object[le(1073)](ie,z,{value:oe,enumerable:!0,configurable:!0,writable:!0}):ie[z]=oe}var R=j(8610),T=Symbol(B(1208)),L=Symbol(B(1979)),F=Symbol(B(1274)),U=Symbol(B(546)),N=Symbol(B(2163)),H=Symbol("handlePromise"),J=Symbol(B(500));function K(ie,z){return{value:ie,done:z}}function X(ie){var z,oe=ie[T];oe!==null&&(z=ie[J].read())!==null&&(ie[N]=null,ie[T]=null,ie[L]=null,oe(K(z,!1)))}var j=Object.getPrototypeOf(function(){}),ee=Object[B(859)]((P(D={get stream(){return this[J]},next:function(){var ie=B,z=this,he=this[F];if(he!==null)return Promise[ie(2046)](he);if(this[U])return Promise[ie(1698)](K(void 0,!0));if(this[J].destroyed)return new Promise(function(ge,de){var fe=ie;S[fe(2011)](function(){z[F]?de(z[F]):ge(K(void 0,!0))})});var oe,le,Ae,he=this[N];if(he)oe=new Promise((le=he,Ae=this,function(ge,de){le.then(function(){Ae[U]?ge(K(void 0,!0)):Ae[H](ge,de)},de)}));else{if(he=this[J][ie(848)](),he!==null)return Promise[ie(1698)](K(he,!1));oe=new Promise(this[H])}return this[N]=oe}},Symbol[B(1665)],function(){return this}),P(D,B(1097),function(){var ie=this;return new Promise(function(z,oe){ie[J].destroy(null,function(le){le?oe(le):z(K(void 0,!0))})})}),D),j);w[B(2726)]=function(ie){var z=B,oe,le=Object[z(766)](ee,(P(oe={},J,{value:ie,writable:!0}),P(oe,T,{value:null,writable:!0}),P(oe,L,{value:null,writable:!0}),P(oe,F,{value:null,writable:!0}),P(oe,U,{value:ie._readableState[z(941)],writable:!0}),P(oe,H,{value:function(Ae,he){var ge=le[J].read();ge?(le[N]=null,le[T]=null,le[L]=null,Ae(K(ge,!1))):(le[T]=Ae,le[L]=he)},writable:!0}),oe));return le[N]=null,R(ie,function(Ae){var he=z;if(Ae&&Ae[he(2314)]!=="ERR_STREAM_PREMATURE_CLOSE")return(ge=le[L])!==null&&(le[N]=null,le[T]=null,le[L]=null,ge(Ae)),void(le[F]=Ae);var ge=le[T];ge!==null&&(le[N]=null,le[T]=null,ge(K(void 0,!(le[L]=null)))),le[U]=!0}),ie.on("readable",function(Ae){var he=z;S[he(2011)](X,Ae)}[z(1703)](null,le)),le}},57327:(w,Q,M)=>{var B=Tt;function D(U,N){var H=Tt,J,K=Object[H(732)](U);return Object.getOwnPropertySymbols&&(J=Object[H(700)](U),N&&(J=J[H(2230)](function(X){var j=H;return Object.getOwnPropertyDescriptor(U,X)[j(1812)]})),K.push[H(724)](K,J)),K}function S(U){for(var N=Tt,H=1;H<arguments.length;H++){var J=arguments[H]!=null?arguments[H]:{};H%2?D(Object(J),!0)[N(312)](function(K){var X=N,j=U,ee=J[K=K];(K=R(K))in j?Object[X(1073)](j,K,{value:ee,enumerable:!0,configurable:!0,writable:!0}):j[K]=ee}):Object.getOwnPropertyDescriptors?Object[N(2350)](U,Object[N(1191)](J)):D(Object(J))[N(312)](function(K){var X=N;Object[X(1073)](U,K,Object.getOwnPropertyDescriptor(J,K))})}return U}function P(U,N){for(var H=Tt,J=0;J<N.length;J++){var K=N[J];K.enumerable=K[H(1812)]||!1,K[H(2341)]=!0,H(396)in K&&(K[H(887)]=!0),Object.defineProperty(U,R(K[H(2115)]),K)}}function R(U){var N=Tt;return U=function(H){var J=Tt;if(typeof H!="object"||H===null)return H;var K=H[Symbol[J(1457)]];if(K===void 0)return String(H);if(K=K[J(2811)](H,J(1090)),typeof K!="object")return K;throw new TypeError(J(386))}(U),N(792)==typeof U?U:String(U)}var T=M(48764)[B(964)],L=M(52361)[B(1727)],F=L&&L[B(2358)]||B(1727);w[B(2726)]=function(){var U=B;function N(){var J=Tt;if(!(this instanceof N))throw new TypeError(J(463));this.head=null,this[J(2775)]=null,this[J(2405)]=0}var H=N;return P(H[U(2086)],[{key:"push",value:function(J){var K=U;J={data:J,next:null},0<this[K(2405)]?this.tail[K(1543)]=J:this[K(558)]=J,this[K(2775)]=J,++this[K(2405)]}},{key:U(917),value:function(J){var K=U;J={data:J,next:this[K(558)]},this.length===0&&(this.tail=J),this.head=J,++this[K(2405)]}},{key:U(2626),value:function(){var J=U,K;if(this.length!==0)return K=this[J(558)][J(1322)],this.length===1?this[J(558)]=this[J(2775)]=null:this[J(558)]=this[J(558)][J(1543)],--this[J(2405)],K}},{key:U(1e3),value:function(){var J=U;this[J(558)]=this[J(2775)]=null,this.length=0}},{key:U(1814),value:function(J){var K=U;if(this.length===0)return"";for(var X=this[K(558)],j=""+X.data;X=X[K(1543)];)j+=J+X[K(1322)];return j}},{key:U(1558),value:function(J){var K=U;if(this[K(2405)]===0)return T[K(1526)](0);for(var X,j,ee=T[K(1855)](J>>>0),ie=this.head,z=0;ie;)X=ie[K(1322)],j=z,T[K(2086)][K(1973)].call(X,ee,j),z+=ie[K(1322)][K(2405)],ie=ie[K(1543)];return ee}},{key:U(227),value:function(J,K){var X=U,j;return J<this.head.data[X(2405)]?(j=this[X(558)][X(1322)][X(352)](0,J),this.head.data=this[X(558)][X(1322)][X(352)](J)):j=J===this[X(558)][X(1322)][X(2405)]?this[X(2626)]():K?this[X(1168)](J):this._getBuffer(J),j}},{key:U(289),value:function(){var J=U;return this[J(558)][J(1322)]}},{key:U(1168),value:function(J){var K=U,X=this[K(558)],j=1,ee=X[K(1322)];for(J-=ee.length;X=X[K(1543)];){var ie=X[K(1322)],z=J>ie[K(2405)]?ie[K(2405)]:J;if(z===ie.length?ee+=ie:ee+=ie[K(352)](0,J),(J-=z)==0){z===ie.length?(++j,X[K(1543)]?this[K(558)]=X.next:this[K(558)]=this[K(2775)]=null):(this[K(558)]=X)[K(1322)]=ie[K(352)](z);break}++j}return this.length-=j,ee}},{key:U(2512),value:function(J){var K=U,X=T[K(1855)](J),j=this.head,ee=1;for(j.data[K(1973)](X),J-=j.data.length;j=j[K(1543)];){var ie=j[K(1322)],z=J>ie[K(2405)]?ie.length:J;if(ie[K(1973)](X,X[K(2405)]-J,0,z),(J-=z)==0){z===ie[K(2405)]?(++ee,j[K(1543)]?this[K(558)]=j.next:this[K(558)]=this[K(2775)]=null):(this.head=j)[K(1322)]=ie[K(352)](z);break}++ee}return this.length-=ee,X}},{key:F,value:function(J,K){return L(this,S(S({},K),{},{depth:0,customInspect:!1}))}}]),Object[U(1073)](H,U(2086),{writable:!1}),N}()},61195:(w,Q,M)=>{var B=M(34155);function D(R,T){P(R,T),S(R)}function S(R){var T=Tt;R[T(1031)]&&!R[T(1031)][T(1981)]||R[T(674)]&&!R[T(674)][T(1981)]||R[T(1011)](T(2239))}function P(R,T){var L=Tt;R.emit(L(1274),T)}w.exports={destroy:function(R,T){var L=Tt,F=this,U=this[L(674)]&&this._readableState[L(771)],N=this[L(1031)]&&this[L(1031)][L(771)];return U||N?T?T(R):R&&(this[L(1031)]?this._writableState[L(974)]||(this[L(1031)][L(974)]=!0,B[L(2011)](P,this,R)):B[L(2011)](P,this,R)):(this[L(674)]&&(this[L(674)].destroyed=!0),this[L(1031)]&&(this[L(1031)].destroyed=!0),this._destroy(R||null,function(H){var J=L;!T&&H?F[J(1031)]?F[J(1031)][J(974)]?B[J(2011)](S,F):(F[J(1031)][J(974)]=!0,B.nextTick(D,F,H)):B[J(2011)](D,F,H):T?(B[J(2011)](S,F),T(H)):B[J(2011)](S,F)})),this},undestroy:function(){var R=Tt;this[R(674)]&&(this[R(674)][R(771)]=!1,this[R(674)][R(1079)]=!1,this[R(674)].ended=!1,this[R(674)].endEmitted=!1),this[R(1031)]&&(this._writableState.destroyed=!1,this._writableState[R(546)]=!1,this[R(1031)][R(784)]=!1,this[R(1031)][R(277)]=!1,this[R(1031)][R(1380)]=!1,this[R(1031)].finished=!1,this[R(1031)].errorEmitted=!1)},errorOrDestroy:function(R,T){var L=Tt,F=R[L(674)],U=R._writableState;F&&F.autoDestroy||U&&U.autoDestroy?R[L(366)](T):R.emit(L(1274),T)}}},8610:(w,Q,M)=>{var B=Tt,D=M(94281).q[B(1428)];function S(){}w[B(2726)]=function P(R,T,L){var F=B;if(typeof T=="function")return P(R,null,T);function U(){R.writable||N()}function N(){var Ae=Tt;oe=!(z=!1),ie||L[Ae(2811)](R)}function H(){var Ae=Tt;le=!(ie=!1),z||L[Ae(2811)](R)}function J(Ae){var he=Tt;L[he(2811)](R,Ae)}function K(){var Ae=Tt,he;return ie&&!le?(R[Ae(674)]&&R[Ae(674)][Ae(546)]||(he=new D),L[Ae(2811)](R,he)):z&&!oe?(R[Ae(1031)]&&R._writableState[Ae(546)]||(he=new D),L[Ae(2811)](R,he)):void 0}function X(){var Ae=Tt;R[Ae(1537)].on("finish",N)}j=L||S,ee=!1,L=function(){if(!ee){ee=!0;for(var Ae=arguments.length,he=new Array(Ae),ge=0;ge<Ae;ge++)he[ge]=arguments[ge];j.apply(this,he)}};var j,ee,ie=(T=T||{}).readable||T[F(2280)]!==!1&&R[F(2280)],z=T[F(887)]||T[F(887)]!==!1&&R[F(887)],oe=R[F(1031)]&&R[F(1031)][F(242)],le=R._readableState&&R[F(674)][F(941)];return R.setHeader&&typeof R[F(878)]=="function"?(R.on("complete",N),R.on("abort",K),R[F(1537)]?X():R.on(F(281),X)):z&&!R[F(1031)]&&(R.on("end",U),R.on(F(2239),U)),R.on(F(2624),H),R.on("finish",N),T[F(1274)]!==!1&&R.on(F(1274),J),R.on("close",K),function(){var Ae=F;R[Ae(2720)]("complete",N),R[Ae(2720)](Ae(878),K),R.removeListener(Ae(281),X),R[Ae(1537)]&&R[Ae(1537)][Ae(2720)](Ae(1988),N),R[Ae(2720)](Ae(2624),U),R.removeListener(Ae(2239),U),R.removeListener("finish",N),R[Ae(2720)](Ae(2624),H),R[Ae(2720)]("error",J),R[Ae(2720)]("close",K)}}},15167:w=>{var Q=Tt;w[Q(2726)]=function(){var M=Q;throw new Error(M(2256))}},59946:(w,Q,M)=>{var B=Tt,D,S=M(94281).q,P=S[B(1184)],R=S.ERR_STREAM_DESTROYED;function T(U){if(U)throw U}function L(U){U()}function F(U,N){var H=B;return U[H(377)](N)}w.exports=function(){for(var U=B,N=arguments.length,H=new Array(N),J=0;J<N;J++)H[J]=arguments[J];var K,X,j=(K=H)[U(2405)]&&U(605)==typeof K[K[U(2405)]-1]?K[U(619)]():T;if((H=Array[U(2021)](H[0])?H[0]:H)[U(2405)]<2)throw new P(U(1854));var ee=H.map(function(ie,z){var oe=U,le,Ae,he,ge,de,fe,G,Y=z<H[oe(2405)]-1;return Ae=Y,z=0<z,ge=he=function(W){var O=oe;X=X||W,W&&ee[O(312)](L),Y||(ee[O(312)](L),j(X))},de=!1,fe=!(he=function(){var W=oe;de||(de=!0,ge[W(724)](void 0,arguments))}),(le=ie).on("close",function(){fe=!0}),(D=D===void 0?M(8610):D)(le,{readable:Ae,writable:z},function(W){if(W)return he(W);fe=!0,he()}),G=!1,function(W){var O=oe;if(!fe&&!G)return G=!0,le[O(2534)]&&typeof le[O(878)]=="function"?le[O(878)]():O(605)==typeof le[O(366)]?le[O(366)]():void he(W||new R("pipe"))}});return H[U(1070)](F)}},82457:(w,Q,M)=>{var B=M(94281).q.ERR_INVALID_OPT_VALUE;w.exports={getHighWaterMark:function(D,S,P,R){var T=Tt;if(S=S[T(1573)]!=null?S[T(1573)]:R?S[P]:null,S==null)return D[T(1356)]?16:16384;if(!isFinite(S)||Math.floor(S)!==S||S<0)throw new B(R?P:T(1573),S);return Math.floor(S)}}},22503:(w,Q,M)=>{var B=Tt;w.exports=M(17187)[B(2583)]},88473:(w,Q,M)=>{var B=Tt;(((Q=w[B(2726)]=M(79481))[B(999)]=Q).Readable=Q)[B(1110)]=M(64229),Q.Duplex=M(56753),Q.Transform=M(74605),Q.PassThrough=M(82725),Q[B(242)]=M(8610),Q.pipeline=M(59946)},79785:(w,Q,M)=>{var B=Tt,D=M(48764)[B(964)],S=M(35717),P=M(3349),R=new Array(16),T=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],L=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],F=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],U=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],N=[0,1518500249,1859775393,2400959708,2840853838],H=[1352829926,1548603684,1836072691,2053994217,0];function J(){var oe=B;P[oe(2811)](this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function K(oe,le){return oe<<le|oe>>>32-le}function X(oe,le,Ae,he,ge,de,fe,G){return K(oe+(le^Ae^he)+de+fe|0,G)+ge|0}function j(oe,le,Ae,he,ge,de,fe,G){return K(oe+(le&Ae|~le&he)+de+fe|0,G)+ge|0}function ee(oe,le,Ae,he,ge,de,fe,G){return K(oe+((le|~Ae)^he)+de+fe|0,G)+ge|0}function ie(oe,le,Ae,he,ge,de,fe,G){return K(oe+(le&he|Ae&~he)+de+fe|0,G)+ge|0}function z(oe,le,Ae,he,ge,de,fe,G){return K(oe+(le^(Ae|~he))+de+fe|0,G)+ge|0}S(J,P),J.prototype[B(185)]=function(){for(var oe=B,le=R,Ae=0;Ae<16;++Ae)le[Ae]=this[oe(520)].readInt32LE(4*Ae);for(var fe=0|this._a,O=0|this._b,W=0|this._c,Y=0|this._d,G=0|this._e,re=0|this._a,Ce=0|this._b,me=0|this._c,ce=0|this._d,se=0|this._e,he=0;he<80;he+=1)var ge,de=he<16?(ge=X(fe,O,W,Y,G,le[T[he]],N[0],F[he]),z(re,Ce,me,ce,se,le[L[he]],H[0],U[he])):he<32?(ge=j(fe,O,W,Y,G,le[T[he]],N[1],F[he]),ie(re,Ce,me,ce,se,le[L[he]],H[1],U[he])):he<48?(ge=ee(fe,O,W,Y,G,le[T[he]],N[2],F[he]),ee(re,Ce,me,ce,se,le[L[he]],H[2],U[he])):he<64?(ge=ie(fe,O,W,Y,G,le[T[he]],N[3],F[he]),j(re,Ce,me,ce,se,le[L[he]],H[3],U[he])):(ge=z(fe,O,W,Y,G,le[T[he]],N[4],F[he]),X(re,Ce,me,ce,se,le[L[he]],H[4],U[he])),fe=G,G=Y,Y=K(W,10),W=O,O=ge,re=se,se=ce,ce=K(me,10),me=Ce,Ce=de;var ye=this._b+W+ce|0;this._b=this._c+Y+se|0,this._c=this._d+G+re|0,this._d=this._e+fe+Ce|0,this._e=this._a+O+me|0,this._a=ye},J[B(2086)]._digest=function(){var oe=B;this[oe(520)][this._blockOffset++]=128,56<this._blockOffset&&(this[oe(520)][oe(1263)](0,this[oe(1616)],64),this[oe(185)](),this._blockOffset=0),this[oe(520)][oe(1263)](0,this[oe(1616)],56),this[oe(520)][oe(820)](this[oe(657)][0],56),this[oe(520)][oe(820)](this[oe(657)][1],60),this._update();var le=D[oe(1526)]?D[oe(1526)](20):new D(20);return le[oe(869)](this._a,0),le.writeInt32LE(this._b,4),le.writeInt32LE(this._c,8),le[oe(869)](this._d,12),le[oe(869)](this._e,16),le},w[B(2726)]=J},89509:(w,Q,M)=>{var B=Tt,D=M(48764),S=D[B(964)];function P(T,L){for(var F in T)L[F]=T[F]}function R(T,L,F){return S(T,L,F)}S[B(2151)]&&S[B(1526)]&&S[B(1855)]&&S[B(638)]?w.exports=D:(P(D,Q),Q[B(964)]=R),P(S,R),R[B(2151)]=function(T,L,F){var U=B;if(U(647)==typeof T)throw new TypeError(U(2462));return S(T,L,F)},R[B(1526)]=function(T,L,F){var U=B;if(typeof T!="number")throw new TypeError(U(2286));return T=S(T),L!==void 0?typeof F=="string"?T[U(1263)](L,F):T[U(1263)](L):T[U(1263)](0),T},R[B(1855)]=function(T){var L=B;if(L(647)!=typeof T)throw new TypeError(L(2286));return S(T)},R[B(638)]=function(T){var L=B;if(typeof T!="number")throw new TypeError("Argument must be a number");return D[L(1764)](T)}},2399:(w,Q,M)=>{var B=Tt,D,S=M(34155),P=M(48764),R=P[B(964)],T={};for(D in P)P[B(2084)](D)&&B(1764)!==D&&B(964)!==D&&(T[D]=P[D]);var L=T[B(964)]={};for(D in R)R[B(2084)](D)&&B(1855)!==D&&B(638)!==D&&(L[D]=R[D]);if(T.Buffer[B(2086)]=R.prototype,L[B(2151)]&&L[B(2151)]!==Uint8Array[B(2151)]||(L[B(2151)]=function(F,U,N){var H=B;if(H(647)==typeof F)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof F);if(F&&F[H(2405)]===void 0)throw new TypeError(H(879)+typeof F);return R(F,U,N)}),L[B(1526)]||(L.alloc=function(F,U,N){var H=B;if(H(647)!=typeof F)throw new TypeError('The "size" argument must be of type number. Received type '+typeof F);if(F<0||2*(1<<30)<=F)throw new RangeError(H(1699)+F+H(812));return F=R(F),U&&U[H(2405)]!==0?typeof N=="string"?F[H(1263)](U,N):F.fill(U):F.fill(0),F}),!T.kStringMaxLength)try{T.kStringMaxLength=S[B(2666)](B(1123))[B(741)]}catch{}T[B(1085)]||(T[B(1085)]={MAX_LENGTH:T[B(662)]},T.kStringMaxLength&&(T[B(1085)][B(2025)]=T[B(741)])),w.exports=T},24189:(w,Q,M)=>{var B=Tt,D=M(89509)[B(964)];function S(P,R){var T=B;this._block=D[T(1526)](P),this[T(2515)]=R,this[T(1014)]=P,this[T(499)]=0}S[B(2086)][B(1744)]=function(P,R){var T=B;T(1090)==typeof P&&(P=D[T(2151)](P,R=R||"utf8"));for(var L=this[T(520)],F=this[T(1014)],U=P.length,N=this[T(499)],H=0;H<U;){for(var J=N%F,K=Math[T(1817)](U-H,F-J),X=0;X<K;X++)L[J+X]=P[H+X];H+=K,(N+=K)%F==0&&this[T(185)](L)}return this._len+=U,this},S[B(2086)][B(2637)]=function(P){var R=B,T=this[R(499)]%this[R(1014)],T=(this[R(520)][T]=128,this[R(520)][R(1263)](0,1+T),T>=this[R(2515)]&&(this[R(185)](this._block),this[R(520)].fill(0)),8*this[R(499)]),T=(T<=4294967295?this[R(520)][R(2418)](T,this[R(1014)]-4):(this[R(520)][R(2418)]((T-(T=(4294967295&T)>>>0))/4294967296,this[R(1014)]-8),this[R(520)][R(2418)](T,this[R(1014)]-4)),this[R(185)](this._block),this._hash());return P?T[R(2192)](P):T},S[B(2086)]._update=function(){var P=B;throw new Error(P(1044))},w.exports=S},89072:(w,Q,M)=>{var B=Tt,D=w[B(2726)]=function(S){var P=B;S=S[P(444)]();var R=D[S];if(R)return new R;throw new Error(S+P(2197))};D[B(1565)]=M(74448),D[B(219)]=M(18336),D.sha224=M(48432),D[B(2709)]=M(67499),D.sha384=M(51686),D[B(383)]=M(87816)},74448:(w,Q,M)=>{var B=Tt,D=M(35717),S=M(24189),P=M(89509).Buffer,R=[1518500249,1859775393,-1894007588,-899497514],T=new Array(80);function L(){var F=Tt;this[F(373)](),this._w=T,S[F(2811)](this,64,56)}D(L,S),L.prototype[B(373)]=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},L[B(2086)][B(185)]=function(F){for(var U=B,N=this._w,H=0|this._a,J=0|this._b,K=0|this._c,X=0|this._d,j=0|this._e,ee=0;ee<16;++ee)N[ee]=F[U(717)](4*ee);for(;ee<80;++ee)N[ee]=N[ee-3]^N[ee-8]^N[ee-14]^N[ee-16];for(var ie=0;ie<80;++ie)var z=~~(ie/20),z=0|(H<<5|H>>>27)+(z==0?J&K|~J&X:z==2?J&K|J&X|K&X:J^K^X)+j+N[ie]+R[z],j=X,X=K,K=J<<30|J>>>2,J=H,H=z;this._a=H+this._a|0,this._b=J+this._b|0,this._c=K+this._c|0,this._d=X+this._d|0,this._e=j+this._e|0},L[B(2086)][B(1060)]=function(){var F=B,U=P[F(1855)](20);return U[F(2408)](0|this._a,0),U.writeInt32BE(0|this._b,4),U[F(2408)](0|this._c,8),U[F(2408)](0|this._d,12),U[F(2408)](0|this._e,16),U},w[B(2726)]=L},18336:(w,Q,M)=>{var B=Tt,D=M(35717),S=M(24189),P=M(89509)[B(964)],R=[1518500249,1859775393,-1894007588,-899497514],T=new Array(80);function L(){var F=B;this[F(373)](),this._w=T,S[F(2811)](this,64,56)}D(L,S),L[B(2086)][B(373)]=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},L[B(2086)][B(185)]=function(F){for(var U=B,N,H=this._w,J=0|this._a,K=0|this._b,X=0|this._c,j=0|this._d,ee=0|this._e,ie=0;ie<16;++ie)H[ie]=F[U(717)](4*ie);for(;ie<80;++ie)H[ie]=(N=H[ie-3]^H[ie-8]^H[ie-14]^H[ie-16])<<1|N>>>31;for(var z=0;z<80;++z)var oe=~~(z/20),oe=0|(J<<5|J>>>27)+(oe==0?K&X|~K&j:oe==2?K&X|K&j|X&j:K^X^j)+ee+H[z]+R[oe],ee=j,j=X,X=K<<30|K>>>2,K=J,J=oe;this._a=J+this._a|0,this._b=K+this._b|0,this._c=X+this._c|0,this._d=j+this._d|0,this._e=ee+this._e|0},L[B(2086)][B(1060)]=function(){var F=B,U=P[F(1855)](20);return U.writeInt32BE(0|this._a,0),U.writeInt32BE(0|this._b,4),U[F(2408)](0|this._c,8),U.writeInt32BE(0|this._d,12),U[F(2408)](0|this._e,16),U},w[B(2726)]=L},48432:(w,Q,M)=>{var B=Tt,D=M(35717),S=M(67499),P=M(24189),R=M(89509).Buffer,T=new Array(64);function L(){var F=Tt;this[F(373)](),this._w=T,P.call(this,64,56)}D(L,S),L[B(2086)][B(373)]=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},L[B(2086)][B(1060)]=function(){var F=B,U=R.allocUnsafe(28);return U[F(2408)](this._a,0),U.writeInt32BE(this._b,4),U.writeInt32BE(this._c,8),U.writeInt32BE(this._d,12),U[F(2408)](this._e,16),U.writeInt32BE(this._f,20),U[F(2408)](this._g,24),U},w[B(2726)]=L},67499:(w,Q,M)=>{var B=Tt,D=M(35717),S=M(24189),P=M(89509)[B(964)],R=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],T=new Array(64);function L(){var F=B;this[F(373)](),this._w=T,S.call(this,64,56)}D(L,S),L.prototype[B(373)]=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},L[B(2086)][B(185)]=function(F){for(var U=B,N,H=this._w,J=0|this._a,K=0|this._b,X=0|this._c,j=0|this._d,ee=0|this._e,ie=0|this._f,z=0|this._g,oe=0|this._h,le=0;le<16;++le)H[le]=F[U(717)](4*le);for(;le<64;++le)H[le]=0|(((N=H[le-2])>>>17|N<<15)^(N>>>19|N<<13)^N>>>10)+H[le-7]+(((N=H[le-15])>>>7|N<<25)^(N>>>18|N<<14)^N>>>3)+H[le-16];for(var Ae=0;Ae<64;++Ae)var he=oe+((ee>>>6|ee<<26)^(ee>>>11|ee<<21)^(ee>>>25|ee<<7))+(z^ee&(ie^z))+R[Ae]+H[Ae]|0,ge=0|((J>>>2|J<<30)^(J>>>13|J<<19)^(J>>>22|J<<10))+(J&K|X&(J|K)),oe=z,z=ie,ie=ee,ee=j+he|0,j=X,X=K,K=J,J=he+ge|0;this._a=J+this._a|0,this._b=K+this._b|0,this._c=X+this._c|0,this._d=j+this._d|0,this._e=ee+this._e|0,this._f=ie+this._f|0,this._g=z+this._g|0,this._h=oe+this._h|0},L.prototype[B(1060)]=function(){var F=B,U=P[F(1855)](32);return U[F(2408)](this._a,0),U[F(2408)](this._b,4),U[F(2408)](this._c,8),U.writeInt32BE(this._d,12),U[F(2408)](this._e,16),U[F(2408)](this._f,20),U[F(2408)](this._g,24),U.writeInt32BE(this._h,28),U},w[B(2726)]=L},51686:(w,Q,M)=>{var B=Tt,D=M(35717),S=M(87816),P=M(24189),R=M(89509)[B(964)],T=new Array(160);function L(){var F=B;this[F(373)](),this._w=T,P.call(this,128,112)}D(L,S),L[B(2086)][B(373)]=function(){var F=B;return this._ah=3418070365,this[F(607)]=1654270250,this[F(2078)]=2438529370,this[F(1382)]=355462360,this._eh=1731405415,this[F(2475)]=2394180231,this._gh=3675008525,this[F(1950)]=1203062813,this[F(343)]=3238371032,this[F(509)]=914150663,this[F(1221)]=812702999,this[F(1668)]=4144912697,this._el=4290775857,this[F(1301)]=1750603025,this._gl=1694076839,this[F(182)]=3204075428,this},L[B(2086)][B(1060)]=function(){var F=B,U=R[F(1855)](48);function N(H,J,K){var X=F;U.writeInt32BE(H,K),U[X(2408)](J,K+4)}return N(this[F(1960)],this[F(343)],0),N(this._bh,this[F(509)],8),N(this[F(2078)],this[F(1221)],16),N(this[F(1382)],this[F(1668)],24),N(this[F(1586)],this[F(2227)],32),N(this[F(2475)],this[F(1301)],40),U},w[B(2726)]=L},87816:(w,Q,M)=>{var B=Tt,D=M(35717),S=M(24189),P=M(89509)[B(964)],R=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],T=new Array(160);function L(){var K=B;this[K(373)](),this._w=T,S[K(2811)](this,128,112)}function F(K,X,j){return j^K&(X^j)}function U(K,X,j){return K&X|j&(K|X)}function N(K,X){return(K>>>28|X<<4)^(X>>>2|K<<30)^(X>>>7|K<<25)}function H(K,X){return(K>>>14|X<<18)^(K>>>18|X<<14)^(X>>>9|K<<23)}function J(K,X){return K>>>0<X>>>0?1:0}D(L,S),L[B(2086)][B(373)]=function(){var K=B;return this[K(1960)]=1779033703,this[K(607)]=3144134277,this[K(2078)]=1013904242,this._dh=2773480762,this[K(1586)]=1359893119,this._fh=2600822924,this[K(802)]=528734635,this[K(1950)]=1541459225,this[K(343)]=4089235720,this[K(509)]=2227873595,this[K(1221)]=4271175723,this[K(1668)]=1595750129,this[K(2227)]=2917565137,this[K(1301)]=725511199,this[K(507)]=4215389547,this._hl=327033209,this},L.prototype._update=function(K){for(var X=B,j=this._w,ee=0|this._ah,ie=0|this[X(607)],z=0|this._ch,oe=0|this[X(1382)],le=0|this[X(1586)],Ae=0|this[X(2475)],he=0|this._gh,ge=0|this._hh,de=0|this[X(343)],fe=0|this._bl,G=0|this[X(1221)],Y=0|this[X(1668)],W=0|this._el,O=0|this[X(1301)],re=0|this[X(507)],se=0|this[X(182)],ce=0;ce<32;ce+=2)j[ce]=K[X(717)](4*ce),j[ce+1]=K[X(717)](4*ce+4);for(;ce<160;ce+=2){var Be=j[ce-30],me=j[ce-30+1],Ce=(Be>>>1|me<<31)^(Be>>>8|me<<24)^Be>>>7,ye=(me>>>1|Be<<31)^(me>>>8|Be<<24)^(me>>>7|Be<<25),Be=j[ce-4],Me=((me=j[ce-4+1])>>>19|Be<<13)^(Be>>>29|me<<3)^(me>>>6|Be<<26),He=j[ce-14],ke=j[ce-14+1],Ne=j[ce-32],Pe=j[ce-32+1],we=ye+ke|0,Fe=(Fe=(Fe=Ce+He+J(we,ye)|0)+((Be>>>19|me<<13)^(me>>>29|Be<<3)^Be>>>6)+J(we=we+Me|0,Me)|0)+Ne+J(we=we+Pe|0,Pe)|0;j[ce]=Fe,j[ce+1]=we}for(var Ue=0;Ue<160;Ue+=2){Fe=j[Ue];var we=j[Ue+1],ze=U(ee,ie,z),Je=U(de,fe,G),je=N(ee,de),Ze=N(de,ee),rt=H(le,W),yt=H(W,le),At=R[Ue+1],at=F(le,Ae,he),ft=F(W,O,re),yt=se+yt|0,at=(rt=(((ge+rt+J(yt,se)|0)+at+J(yt=yt+ft|0,ft)|0)+R[Ue]+J(yt=yt+At|0,At)|0)+Fe+J(yt=yt+we|0,we)|0,Ze+Je|0),ft=je+ze+J(at,Ze)|0,ge=he,se=re,he=Ae,re=O,Ae=le,O=W,le=oe+rt+J(W=Y+yt|0,Y)|0,oe=z,Y=G,z=ie,G=fe,ie=ee,fe=de,ee=rt+ft+J(de=yt+at|0,yt)|0}this[X(343)]=this[X(343)]+de|0,this[X(509)]=this[X(509)]+fe|0,this._cl=this[X(1221)]+G|0,this[X(1668)]=this[X(1668)]+Y|0,this[X(2227)]=this._el+W|0,this[X(1301)]=this[X(1301)]+O|0,this._gl=this[X(507)]+re|0,this[X(182)]=this[X(182)]+se|0,this[X(1960)]=this[X(1960)]+ee+J(this[X(343)],de)|0,this._bh=this[X(607)]+ie+J(this[X(509)],fe)|0,this._ch=this[X(2078)]+z+J(this[X(1221)],G)|0,this[X(1382)]=this._dh+oe+J(this._dl,Y)|0,this[X(1586)]=this[X(1586)]+le+J(this[X(2227)],W)|0,this[X(2475)]=this._fh+Ae+J(this[X(1301)],O)|0,this[X(802)]=this._gh+he+J(this[X(507)],re)|0,this[X(1950)]=this[X(1950)]+ge+J(this[X(182)],se)|0},L[B(2086)]._hash=function(){var K=B,X=P[K(1855)](64);function j(ee,ie,z){var oe=K;X[oe(2408)](ee,z),X[oe(2408)](ie,z+4)}return j(this[K(1960)],this._al,0),j(this._bh,this[K(509)],8),j(this[K(2078)],this[K(1221)],16),j(this._dh,this[K(1668)],24),j(this._eh,this._el,32),j(this._fh,this[K(1301)],40),j(this[K(802)],this[K(507)],48),j(this[K(1950)],this[K(182)],56),X},w[B(2726)]=L},42830:(w,Q,M)=>{var B=Tt;w[B(2726)]=S;var D=M(17187)[B(2583)];function S(){D.call(this)}M(35717)(S,D),S[B(1815)]=M(79481),S[B(1110)]=M(64229),S[B(1325)]=M(56753),S[B(2677)]=M(74605),S.PassThrough=M(82725),S.finished=M(8610),S.pipeline=M(59946),(S[B(999)]=S).prototype[B(377)]=function(P,R){var T=B,L=this;function F(j){var ee=Tt;P[ee(887)]&&P[ee(677)](j)===!1&&L[ee(2279)]&&L[ee(2279)]()}function U(){var j=Tt;L[j(2280)]&&L[j(1472)]&&L[j(1472)]()}L.on(T(1322),F),P.on(T(1628),U),P._isStdio||R&&R[T(2624)]===!1||(L.on(T(2624),H),L.on("close",J));var N=!1;function H(){var j=T;N||(N=!0,P[j(2624)]())}function J(){var j=T;N||(N=!0,j(605)==typeof P.destroy&&P.destroy())}function K(j){var ee=T;if(X(),D[ee(1065)](this,ee(1274))===0)throw j}function X(){var j=T;L.removeListener("data",F),P.removeListener(j(1628),U),L[j(2720)]("end",H),L.removeListener("close",J),L[j(2720)]("error",K),P[j(2720)](j(1274),K),L.removeListener("end",X),L[j(2720)](j(2239),X),P[j(2720)]("close",X)}return L.on(T(1274),K),P.on("error",K),L.on("end",X),L.on("close",X),P.on("close",X),P[T(1011)](T(377),L),P}},32553:(w,Q,M)=>{var B=Tt,D=M(40396)[B(964)],S=D[B(976)]||function(K){var X=B;switch((K=""+K)&&K.toLowerCase()){case X(1996):case X(2016):case X(828):case X(358):case X(2470):case"base64":case"ucs2":case X(1129):case X(2252):case"utf-16le":case"raw":return!0;default:return!1}};function P(K){var X=B,j;switch(this.encoding=function(ee){var ie=Tt,z=function(oe){var le=Tt;if(!oe)return le(2016);for(var Ae;;)switch(oe){case le(2016):case le(828):return le(2016);case le(2320):case"ucs-2":case le(2252):case le(1893):return le(2252);case le(889):case le(2470):return"latin1";case le(2160):case le(358):case"hex":return oe;default:if(Ae)return;oe=(""+oe)[le(444)](),Ae=!0}}(ee);if(typeof z=="string"||D[ie(976)]!==S&&S(ee))return z||ee;throw new Error(ie(2200)+ee)}(K),this[X(1794)]){case X(2252):this[X(628)]=L,this[X(2624)]=F,j=4;break;case X(2016):this[X(1025)]=T,j=4;break;case"base64":this[X(628)]=U,this[X(2624)]=N,j=3;break;default:return this[X(677)]=H,void(this[X(2624)]=J)}this[X(790)]=0,this[X(1016)]=0,this.lastChar=D[X(1855)](j)}function R(K){return K<=127?0:K>>5==6?2:K>>4==14?3:K>>3==30?4:K>>6==2?-1:-2}function T(K){var X=B,j=this.lastTotal-this.lastNeed,ee=(192&(ee=K)[0])!=128?(this[X(790)]=0,"\uFFFD"):1<this.lastNeed&&1<ee[X(2405)]?(192&ee[1])!=128?(this.lastNeed=1,"\uFFFD"):2<this[X(790)]&&2<ee.length&&(192&ee[2])!=128?(this[X(790)]=2,"\uFFFD"):void 0:void 0;return ee!==void 0?ee:this.lastNeed<=K[X(2405)]?(K[X(1973)](this[X(1227)],j,0,this[X(790)]),this[X(1227)][X(2192)](this[X(1794)],0,this[X(1016)])):(K.copy(this.lastChar,j,0,K[X(2405)]),void(this[X(790)]-=K[X(2405)]))}function L(K,X){var j=B;if((K[j(2405)]-X)%2!=0)return this[j(790)]=1,this[j(1016)]=2,this[j(1227)][0]=K[K.length-1],K[j(2192)]("utf16le",X,K[j(2405)]-1);if(X=K[j(2192)](j(2252),X),X){var ee=X[j(2282)](X[j(2405)]-1);if(55296<=ee&&ee<=56319)return this[j(790)]=2,this[j(1016)]=4,this[j(1227)][0]=K[K[j(2405)]-2],this.lastChar[1]=K[K[j(2405)]-1],X.slice(0,-1)}return X}function F(ee){var X=B,j,ee=ee&&ee[X(2405)]?this.write(ee):"";return this[X(790)]?(j=this[X(1016)]-this.lastNeed,ee+this[X(1227)][X(2192)](X(2252),0,j)):ee}function U(K,X){var j=B,ee=(K.length-X)%3;return ee==0?K.toString(j(2160),X):(this[j(790)]=3-ee,this[j(1016)]=3,ee==1?this[j(1227)][0]=K[K[j(2405)]-1]:(this[j(1227)][0]=K[K[j(2405)]-2],this[j(1227)][1]=K[K[j(2405)]-1]),K[j(2192)](j(2160),X,K[j(2405)]-ee))}function N(K){var X=B;return K=K&&K[X(2405)]?this.write(K):"",this.lastNeed?K+this[X(1227)][X(2192)](X(2160),0,3-this[X(790)]):K}function H(K){var X=B;return K[X(2192)](this[X(1794)])}function J(K){var X=B;return K&&K.length?this[X(677)](K):""}(Q.s=P)[B(2086)][B(677)]=function(K){var X=B;if(K[X(2405)]===0)return"";var j,ee;if(this[X(790)]){if((j=this.fillLast(K))===void 0)return"";ee=this[X(790)],this.lastNeed=0}else ee=0;return ee<K[X(2405)]?j?j+this.text(K,ee):this[X(628)](K,ee):j||""},P.prototype.end=function(K){var X=B;return K=K&&K[X(2405)]?this[X(677)](K):"",this[X(790)]?K+"\uFFFD":K},P[B(2086)].text=function(K,X){var j=B,ee=function(ie,z,oe){var le=Tt,Ae=z[le(2405)]-1;if(Ae<oe)return 0;var he=R(z[Ae]);return 0<=he?(0<he&&(ie.lastNeed=he-1),he):--Ae<oe||he===-2?0:0<=(he=R(z[Ae]))?(0<he&&(ie.lastNeed=he-2),he):!(--Ae<oe||he===-2)&&0<=(he=R(z[Ae]))?(0<he&&(he===2?he=0:ie[le(790)]=he-3),he):0}(this,K,X);return this.lastNeed?(this[j(1016)]=ee,ee=K.length-(ee-this[j(790)]),K.copy(this[j(1227)],0,ee),K[j(2192)](j(2016),X,ee)):K[j(2192)]("utf8",X)},P.prototype[B(1025)]=function(K){var X=B;if(this[X(790)]<=K[X(2405)])return K[X(1973)](this.lastChar,this[X(1016)]-this.lastNeed,0,this.lastNeed),this[X(1227)][X(2192)](this[X(1794)],0,this.lastTotal);K[X(1973)](this[X(1227)],this[X(1016)]-this[X(790)],0,K[X(2405)]),this.lastNeed-=K[X(2405)]}},40396:(w,Q,M)=>{var B=Tt,D=M(48764),S=D[B(964)];function P(T,L){for(var F in T)L[F]=T[F]}function R(T,L,F){return S(T,L,F)}S[B(2151)]&&S[B(1526)]&&S[B(1855)]&&S[B(638)]?w[B(2726)]=D:(P(D,Q),Q[B(964)]=R),R[B(2086)]=Object[B(766)](S[B(2086)]),P(S,R),R[B(2151)]=function(T,L,F){var U=B;if(typeof T=="number")throw new TypeError(U(2462));return S(T,L,F)},R[B(1526)]=function(T,L,F){var U=B;if(U(647)!=typeof T)throw new TypeError(U(2286));return T=S(T),L!==void 0?U(1090)==typeof F?T[U(1263)](L,F):T[U(1263)](L):T[U(1263)](0),T},R.allocUnsafe=function(T){var L=B;if(L(647)!=typeof T)throw new TypeError(L(2286));return S(T)},R[B(638)]=function(T){var L=B;if(L(647)!=typeof T)throw new TypeError(L(2286));return D[L(1764)](T)}},94927:(w,Q,M)=>{var B=Tt,D=M(25108);function S(P){var R=Tt;try{if(!M.g[R(2653)])return}catch{return}return P=M.g[R(2653)][P],P!=null&&R(788)===String(P)[R(444)]()}w[B(2726)]=function(P,R){if(S("noDeprecation"))return P;var T=!1;return function(){var L=Tt;if(!T){if(S(L(930)))throw new Error(R);S(L(804))?D[L(412)](R):D[L(998)](R),T=!0}return P[L(724)](this,arguments)}}},20384:w=>{var Q=Tt;w[Q(2726)]=function(M){var B=Q;return M&&B(2538)==typeof M&&B(605)==typeof M[B(1973)]&&B(605)==typeof M[B(1263)]&&B(605)==typeof M.readUInt8}},55955:(w,Q,M)=>{var B=Tt,D=M(82584),S=M(48662),P=M(86430),R=M(85692);function T(ce){return ce.call.bind(ce)}var L,F,U=B(621)!=typeof BigInt,N=B(621)!=typeof Symbol,H=T(Object[B(2086)][B(2192)]),J=T(Number[B(2086)].valueOf),K=T(String.prototype[B(2207)]),X=T(Boolean[B(2086)][B(2207)]);function j(ce,me){if(typeof ce!="object")return!1;try{return me(ce),!0}catch{return!1}}function ee(ce){return H(ce)==="[object Map]"}function ie(ce){var me=B;return me(2313)===H(ce)}function z(ce){var me=B;return me(1555)===H(ce)}function oe(ce){var me=B;return me(846)===H(ce)}function le(ce){var me=B;return me(1190)===H(ce)}function Ae(ce){var me=B;return me(621)!=typeof ArrayBuffer&&(le[me(1083)]?le(ce):ce instanceof ArrayBuffer)}function he(ce){var me=B;return me(2711)===H(ce)}function ge(ce){var me=B;return me(621)!=typeof DataView&&(he.working?he(ce):ce instanceof DataView)}U&&(L=T(BigInt.prototype.valueOf)),N&&(F=T(Symbol[B(2086)][B(2207)])),Q[B(787)]=D,Q.isGeneratorFunction=S,Q[B(2428)]=R,Q[B(1742)]=function(ce){var me=B;return typeof Promise<"u"&&ce instanceof Promise||ce!==null&&me(2538)==typeof ce&&me(605)==typeof ce.then&&me(605)==typeof ce[me(870)]},Q[B(1839)]=function(ce){var me=B;return me(621)!=typeof ArrayBuffer&&ArrayBuffer[me(2155)]?ArrayBuffer.isView(ce):R(ce)||ge(ce)},Q.isUint8Array=function(ce){var me=B;return me(778)===P(ce)},Q.isUint8ClampedArray=function(ce){var me=B;return me(2325)===P(ce)},Q[B(1479)]=function(ce){var me=B;return me(708)===P(ce)},Q[B(1579)]=function(ce){var me=B;return me(192)===P(ce)},Q[B(1572)]=function(ce){var me=B;return me(2326)===P(ce)},Q[B(1782)]=function(ce){var me=B;return me(2522)===P(ce)},Q[B(697)]=function(ce){var me=B;return me(1115)===P(ce)},Q[B(2203)]=function(ce){return P(ce)==="Float32Array"},Q[B(1156)]=function(ce){var me=B;return me(557)===P(ce)},Q.isBigInt64Array=function(ce){return P(ce)==="BigInt64Array"},Q[B(1983)]=function(ce){return P(ce)==="BigUint64Array"},ee[B(1083)]=B(621)!=typeof Map&&ee(new Map),Q[B(222)]=function(ce){var me=B;return me(621)!=typeof Map&&(ee[me(1083)]?ee(ce):ce instanceof Map)},ie[B(1083)]=B(621)!=typeof Set&&ie(new Set),Q[B(2435)]=function(ce){var me=B;return me(621)!=typeof Set&&(ie[me(1083)]?ie(ce):ce instanceof Set)},z.working=typeof WeakMap<"u"&&z(new WeakMap),Q[B(885)]=function(ce){var me=B;return me(621)!=typeof WeakMap&&(z[me(1083)]?z(ce):ce instanceof WeakMap)},oe[B(1083)]=typeof WeakSet<"u"&&oe(new WeakSet),Q[B(2568)]=oe,le[B(1083)]=B(621)!=typeof ArrayBuffer&&le(new ArrayBuffer),Q.isArrayBuffer=Ae,he[B(1083)]=B(621)!=typeof ArrayBuffer&&typeof DataView<"u"&&he(new DataView(new ArrayBuffer(1),0,1)),Q.isDataView=ge;var de=B(621)!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function fe(ce){var me=B;return me(2592)===H(ce)}function G(ce){var me=B;return de!==void 0&&((fe.working=fe[me(1083)]===void 0?fe(new de):fe.working)?fe(ce):ce instanceof de)}function Y(ce){return j(ce,J)}function W(ce){return j(ce,K)}function O(ce){return j(ce,X)}function re(ce){return U&&j(ce,L)}function se(ce){return N&&j(ce,F)}Q[B(2038)]=G,Q[B(2744)]=function(ce){var me=B;return me(969)===H(ce)},Q[B(2248)]=function(ce){return H(ce)==="[object Map Iterator]"},Q[B(768)]=function(ce){return H(ce)==="[object Set Iterator]"},Q[B(2433)]=function(ce){var me=B;return me(1353)===H(ce)},Q.isWebAssemblyCompiledModule=function(ce){var me=B;return me(1389)===H(ce)},Q[B(1938)]=Y,Q[B(347)]=W,Q[B(1671)]=O,Q[B(854)]=re,Q[B(196)]=se,Q[B(2409)]=function(ce){return Y(ce)||W(ce)||O(ce)||re(ce)||se(ce)},Q[B(2268)]=function(ce){var me=B;return me(621)!=typeof Uint8Array&&(Ae(ce)||G(ce))},[B(2379),B(1402),"isModuleNamespaceObject"][B(312)](function(ce){var me=B;Object[me(1073)](Q,ce,{enumerable:!1,value:function(){var Ce=me;throw new Error(ce+Ce(241))}})})},89539:(w,Q,M)=>{var B=Tt,D,S=M(34155),P=M(25108),R=Object.getOwnPropertyDescriptors||function(se){for(var ce=Tt,me=Object[ce(732)](se),Ce={},ye=0;ye<me.length;ye++)Ce[me[ye]]=Object.getOwnPropertyDescriptor(se,me[ye]);return Ce},T=/%[sdj%]/g,L=(Q.format=function(se){var ce=Tt;if(!oe(se)){for(var me=[],Ce=0;Ce<arguments[ce(2405)];Ce++)me[ce(2764)](U(arguments[Ce]));return me.join(" ")}for(var Ce=1,ye=arguments,Be=ye[ce(2405)],Me=String(se)[ce(2489)](T,function(Ne){var Pe=ce;if(Ne==="%%")return"%";if(Be<=Ce)return Ne;switch(Ne){case"%s":return String(ye[Ce++]);case"%d":return Number(ye[Ce++]);case"%j":try{return JSON.stringify(ye[Ce++])}catch{return Pe(2617)}default:return Ne}}),He=ye[Ce];Ce<Be;He=ye[++Ce])ie(He)||!he(He)?Me+=" "+He:Me+=" "+U(He);return Me},Q[B(1330)]=function(se,ce){var me=B;if(S!==void 0&&S[me(630)]===!0)return se;if(S===void 0)return function(){var ye=me;return Q.deprecate(se,ce)[ye(724)](this,arguments)};var Ce=!1;return function(){var ye=me;if(!Ce){if(S[ye(930)])throw new Error(ce);S[ye(804)]?P[ye(412)](ce):P[ye(1274)](ce),Ce=!0}return se[ye(724)](this,arguments)}},{}),F=/^$/;function U(se,ce){var me=B,Ce={seen:[],stylize:H};return 3<=arguments.length&&(Ce.depth=arguments[2]),4<=arguments.length&&(Ce[me(1103)]=arguments[3]),ee(ce)?Ce.showHidden=ce:ce&&Q._extend(Ce,ce),le(Ce[me(1547)])&&(Ce[me(1547)]=!1),le(Ce.depth)&&(Ce[me(907)]=2),le(Ce.colors)&&(Ce[me(1103)]=!1),le(Ce[me(1194)])&&(Ce.customInspect=!0),Ce[me(1103)]&&(Ce[me(2053)]=N),J(Ce,se,Ce.depth)}function N(se,ce){var me=B;return ce=U[me(1462)][ce],ce?"\x1B["+U[me(1103)][ce][0]+"m"+se+"\x1B["+U[me(1103)][ce][1]+"m":se}function H(se,ce){return se}function J(se,ce,me){var Ce=B;if(se[Ce(1194)]&&ce&&fe(ce[Ce(1727)])&&ce[Ce(1727)]!==Q[Ce(1727)]&&(!ce.constructor||ce[Ce(1630)][Ce(2086)]!==ce))return oe(ye=ce[Ce(1727)](me,se))?ye:J(se,ye,me);ye=se;var ye,Be=le(He=ce)?ye[Ce(2053)](Ce(621),"undefined"):oe(He)?(Be="'"+JSON[Ce(650)](He)[Ce(2489)](/^"|"$/g,"").replace(/'/g,"\\'")[Ce(2489)](/\\"/g,'"')+"'",ye[Ce(2053)](Be,"string")):z(He)?ye[Ce(2053)](""+He,"number"):ee(He)?ye[Ce(2053)](""+He,Ce(1927)):ie(He)?ye[Ce(2053)](Ce(2110),"null"):void 0;if(Be)return Be;var Me,He=Object[Ce(732)](ce),ke=(Me={},He[Ce(312)](function(Fe,Ue){Me[Fe]=!0}),Me);if(se.showHidden&&(He=Object[Ce(1906)](ce)),de(ce)&&(0<=He[Ce(1439)]("message")||0<=He[Ce(1439)](Ce(666))))return K(ce);if(He.length===0){if(fe(ce))return Ne=ce[Ce(276)]?": "+ce[Ce(276)]:"",se.stylize(Ce(600)+Ne+"]",Ce(381));if(Ae(ce))return se.stylize(RegExp[Ce(2086)][Ce(2192)][Ce(2811)](ce),"regexp");if(ge(ce))return se[Ce(2053)](Date[Ce(2086)][Ce(2192)][Ce(2811)](ce),"date");if(de(ce))return K(ce)}var Ne="",Pe=!1,we=["{","}"];return j(ce)&&(Pe=!0,we=["[","]"]),fe(ce)&&(Ne=Ce(1251)+(ce[Ce(276)]?": "+ce.name:"")+"]"),Ae(ce)&&(Ne=" "+RegExp[Ce(2086)][Ce(2192)][Ce(2811)](ce)),ge(ce)&&(Ne=" "+Date.prototype[Ce(1608)][Ce(2811)](ce)),de(ce)&&(Ne=" "+K(ce)),He[Ce(2405)]===0&&(!Pe||ce.length==0)?we[0]+Ne+we[1]:me<0?Ae(ce)?se[Ce(2053)](RegExp[Ce(2086)][Ce(2192)].call(ce),Ce(264)):se[Ce(2053)]("[Object]",Ce(381)):(se[Ce(2319)][Ce(2764)](ce),He=Pe?function(Fe,Ue,ze,Je,je){for(var Ze=Ce,rt=[],At=0,yt=Ue[Ze(2405)];At<yt;++At)O(Ue,String(At))?rt.push(X(Fe,Ue,ze,Je,String(At),!0)):rt[Ze(2764)]("");return je[Ze(312)](function(at){var ft=Ze;at.match(/^\d+$/)||rt[ft(2764)](X(Fe,Ue,ze,Je,at,!0))}),rt}(se,ce,me,ke,He):He[Ce(679)](function(Fe){return X(se,ce,me,ke,Fe,Pe)}),se[Ce(2319)][Ce(619)](),60<He[Ce(1070)](function(Fe,Ue){var ze=Ce;return Ue[ze(1439)](` `),Fe+Ue[ze(2489)](/\u001b\[\d\d?m/g,"")[ze(2405)]+1},0)?we[0]+(Ne===""?"":Ne+` `)+" "+He[Ce(1814)](Ce(970))+" "+we[1]:we[0]+Ne+" "+He[Ce(1814)](", ")+" "+we[1])}function K(se){var ce=B;return"["+Error[ce(2086)].toString.call(se)+"]"}function X(se,Ne,me,Ce,ye,Be){var Me=B,He,ke,Ne=Object.getOwnPropertyDescriptor(Ne,ye)||{value:Ne[ye]};if(Ne[Me(2009)]?ke=Ne[Me(935)]?se[Me(2053)](Me(250),Me(381)):se[Me(2053)]("[Getter]","special"):Ne[Me(935)]&&(ke=se.stylize(Me(2190),"special")),O(Ce,ye)||(He="["+ye+"]"),ke||(se[Me(2319)][Me(1439)](Ne[Me(396)])<0?-1<(ke=ie(me)?J(se,Ne.value,null):J(se,Ne[Me(396)],me-1))[Me(1439)](` `)&&(ke=Be?ke.split(` `)[Me(679)](function(Pe){return" "+Pe})[Me(1814)](` `)[Me(352)](2):` `+ke[Me(2523)](` `)[Me(679)](function(Pe){return" "+Pe})[Me(1814)](` `)):ke=se[Me(2053)](Me(2617),"special")),le(He)){if(Be&&ye[Me(1708)](/^\d+$/))return ke;He=(He=JSON[Me(650)](""+ye))[Me(1708)](/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(He=He[Me(352)](1,-1),se.stylize(He,Me(276))):(He=He[Me(2489)](/'/g,"\\'")[Me(2489)](/\\"/g,'"')[Me(2489)](/(^"|"$)/g,"'"),se[Me(2053)](He,Me(1090)))}return He+": "+ke}function j(se){return Array.isArray(se)}function ee(se){var ce=B;return ce(1927)==typeof se}function ie(se){return se===null}function z(se){var ce=B;return ce(647)==typeof se}function oe(se){return typeof se=="string"}function le(se){return se===void 0}function Ae(se){return he(se)&&G(se)==="[object RegExp]"}function he(se){var ce=B;return ce(2538)==typeof se&&se!==null}function ge(se){var ce=B;return he(se)&&ce(2450)===G(se)}function de(se){var ce=B;return he(se)&&(ce(1563)===G(se)||se instanceof Error)}function fe(se){var ce=B;return ce(605)==typeof se}function G(se){var ce=B;return Object[ce(2086)][ce(2192)][ce(2811)](se)}function Y(se){var ce=B;return se<10?"0"+se[ce(2192)](10):se[ce(2192)](10)}S[B(508)][B(2117)]&&(D=(D=S[B(508)][B(2117)])[B(2489)](/[|\\{}()[\]^$+?.]/g,B(562))[B(2489)](/\*/g,".*")[B(2489)](/,/g,"$|^").toUpperCase(),F=new RegExp("^"+D+"$","i")),Q[B(2793)]=function(se){var ce=B,me;return se=se.toUpperCase(),L[se]||(F[ce(529)](se)?(me=S[ce(1324)],L[se]=function(){var Ce=ce,ye=Q.format[Ce(724)](Q,arguments);P[Ce(1274)](Ce(2780),se,me,ye)}):L[se]=function(){}),L[se]},(Q[B(1727)]=U)[B(1103)]={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},U.styles={special:B(2140),number:B(1299),boolean:B(1299),undefined:"grey",null:"bold",string:"green",date:B(855),regexp:B(1230)},Q[B(986)]=M(55955),Q[B(2021)]=j,Q.isBoolean=ee,Q.isNull=ie,Q[B(1118)]=function(se){return se==null},Q.isNumber=z,Q[B(825)]=oe,Q[B(1816)]=function(se){var ce=B;return ce(792)==typeof se},Q[B(2387)]=le,Q[B(1106)]=Ae,Q[B(986)][B(1106)]=Ae,Q[B(1600)]=he,Q[B(842)]=ge,Q.types[B(842)]=ge,Q.isError=de,Q[B(986)].isNativeError=de,Q[B(287)]=fe,Q[B(406)]=function(se){var ce=B;return se===null||ce(1927)==typeof se||ce(647)==typeof se||typeof se=="string"||ce(792)==typeof se||se===void 0},Q.isBuffer=M(20384);var W=["Jan",B(864),"Mar","Apr",B(2171),"Jun","Jul",B(668),B(632),"Oct",B(1332),B(588)];function O(se,ce){var me=B;return Object[me(2086)].hasOwnProperty.call(se,ce)}Q[B(2717)]=function(){var se=B,ce,me;P.log(se(2241),(me=[Y((ce=new Date)[se(1398)]()),Y(ce[se(2805)]()),Y(ce[se(2543)]())][se(1814)](":"),[ce.getDate(),W[ce[se(2010)]()],me][se(1814)](" ")),Q[se(2482)].apply(Q,arguments))},Q[B(1341)]=M(35717),Q._extend=function(se,ce){var me=B;if(!ce||!he(ce))return se;for(var Ce=Object[me(732)](ce),ye=Ce[me(2405)];ye--;)se[Ce[ye]]=ce[Ce[ye]];return se};var re=B(621)!=typeof Symbol?Symbol(B(458)):void 0;Q[B(1519)]=function(se){var ce=B;if(ce(605)!=typeof se)throw new TypeError(ce(753));if(re&&se[re]){var me;if(ce(605)!=typeof(me=se[re]))throw new TypeError(ce(1228));return Object[ce(1073)](me,re,{value:me,enumerable:!1,writable:!1,configurable:!0}),me}function me(){for(var Ce=ce,ye,Be,Me=new Promise(function(Ne,Pe){ye=Ne,Be=Pe}),He=[],ke=0;ke<arguments[Ce(2405)];ke++)He[Ce(2764)](arguments[ke]);He[Ce(2764)](function(Ne,Pe){Ne?Be(Ne):ye(Pe)});try{se[Ce(724)](this,He)}catch(Ne){Be(Ne)}return Me}return Object[ce(859)](me,Object[ce(2411)](se)),re&&Object[ce(1073)](me,re,{value:me,enumerable:!1,writable:!1,configurable:!0}),Object[ce(2350)](me,R(se))},Q.promisify[B(2358)]=re,Q[B(1856)]=function(se){var ce=B;if(ce(605)!=typeof se)throw new TypeError(ce(753));function me(){for(var Ce=ce,ye=[],Be=0;Be<arguments[Ce(2405)];Be++)ye[Ce(2764)](arguments[Be]);var Me=ye.pop();if(Ce(605)!=typeof Me)throw new TypeError(Ce(257));function He(){var Ne=Ce;return Me[Ne(724)](ke,arguments)}var ke=this;se[Ce(724)](this,ye)[Ce(2683)](function(Ne){var Pe=Ce;S.nextTick(He[Pe(1703)](null,null,Ne))},function(Ne){var Pe=Ce;S[Pe(2011)](function(we,Fe){var Ue=Pe,ze;return we||((ze=new Error(Ue(734)))[Ue(2299)]=we,we=ze),Fe(we)}[Pe(1703)](null,Ne,He))})}return Object[ce(859)](me,Object[ce(2411)](se)),Object[ce(2350)](me,R(se)),me}},86430:(w,Q,M)=>{var B=Tt,D=M(94029),U=M(16314),S=M(55559),P=M(21924),R=M(27296),T=P(B(911)),L=M(96410)(),F=typeof globalThis>"u"?M.g:globalThis,U=U(),N=P(B(2231)),H={__proto__:null},J=Object[B(2411)],K=(L&&R&&J&&D(U,function(X){var j=B,ee,ie;j(605)==typeof F[X]&&(ee=new F[X],Symbol.toStringTag in ee&&(ee=J(ee),(ie=R(ee,Symbol[j(942)]))||(ee=J(ee),ie=R(ee,Symbol[j(942)])),H[X]=S(ie[j(2009)])))}),M(85692));w.exports=function(X){return!!K(X)&&(L&&Symbol.toStringTag in X?(j=X,ee=!1,D(H,function(ie,z){if(!ee)try{var oe=ie(j);oe===z&&(ee=oe)}catch{}}),ee):N(T(X),8,-1));var j,ee}},80950:()=>{},46601:()=>{},89214:()=>{},8623:()=>{},7748:()=>{},85568:()=>{},56619:()=>{},77108:()=>{},52361:()=>{},94616:()=>{},44946:w=>{var Q=Tt;w.exports=JSON[Q(2156)]('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},75207:w=>{var Q=Tt;w.exports=JSON.parse(Q(263))},1308:w=>{var Q=Tt;w[Q(2726)]=JSON[Q(2156)](Q(350))},29799:w=>{var Q=Tt;w[Q(2726)]=JSON.parse(Q(1417))},18597:w=>{var Q=Tt;w[Q(2726)]={i8:Q(494)}},22562:w=>{var Q=Tt;w[Q(2726)]=JSON[Q(2156)]('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')}},f={};function m(w){var Q=Tt,M=f[w];return M!==void 0?M[Q(2726)]:(M=f[w]={id:w,loaded:!1,exports:{}},A[w][Q(2811)](M[Q(2726)],M,M.exports,m),M.loaded=!0,M[Q(2726)])}m.m=A,m.n=w=>{var Q=Tt,M=w&&w[Q(1529)]?()=>w[Q(916)]:()=>w;return m.d(M,{a:M}),M},m.d=(w,Q)=>{var M=Tt;for(var B in Q)m.o(Q,B)&&!m.o(w,B)&&Object[M(1073)](w,B,{enumerable:!0,get:Q[B]})},m.u=w=>"./CimSDK/91095f10e573a3f6b29e.js",m.g=function(){var w=Tt;if(w(2538)==typeof globalThis)return globalThis;try{return this||new Function(w(2646))()}catch{if(typeof window=="object")return window}}(),m.o=(w,Q)=>Object[o(2086)][o(2084)].call(w,Q),m.r=w=>{var Q=o;typeof Symbol<"u"&&Symbol[Q(942)]&&Object.defineProperty(w,Symbol.toStringTag,{value:Q(2322)}),Object.defineProperty(w,Q(1529),{value:!0})},m.nmd=w=>(w.paths=[],w[o(518)]||(w[o(518)]=[]),w),m.p="./",m.b=document[o(384)]||self[o(1975)][o(2550)];var C,E={};{let M=function(P){for(let R=0;R<P.length;R++)P[R]=parseFloat(P[R]);return P},D=function(P){var R=o;I()({locateFile:(N,H)=>Q})[R(2683)](N=>{var H=R;this[H(2007)]=N});let T=P[R(2612)],L=P.viewer,F=(this.viewer=L,this[R(2612)]=T,this[R(2288)]={},()=>{var N=R;v.log(N(727));let H=window[N(175)]||window[N(1144)]||window.MozMutationObserver,J=new H(j=>{var ee=N;this[ee(1004)]()}),K=(J[N(1838)](L.canvas,{attributes:!0,attributeFilter:[N(2048)],attributeOldValue:!0}),new ImageData(1,1)),X=(K[N(1322)][0]=0,K[N(1322)][1]=0,K[N(1322)][2]=0,K[N(1322)][3]=0,this[N(2608)]=new T.Texture({context:L[N(811)][N(1187)][N(1114)],width:L[N(811)].frameState.context[N(659)],height:L.scene[N(1187)][N(1114)][N(2801)],source:K}),this[N(1745)]=new T[N(2519)]({name:N(1533),fragmentShader:N(528),uniforms:{bimTexture:this[N(2608)]}}),L.scene[N(1998)].add(this[N(1745)]),L.scene.bim=this,new Worker(new URL(m.p+m.u(608),m.b)));this[N(1094)]=X,this[N(2074)]=[],this[N(2006)]=P.serverAddress+N(2006),X[N(2331)]({msgType:"Init",serverAddress:P[N(2529)],maxRenderTriangleCount:P[N(492)],width:L.scene[N(1187)][N(1114)].drawingBufferWidth,height:L[N(811)][N(1187)][N(1114)].drawingBufferHeight,useCache:P.useCache,allowSingleMeshMaxTriangleFaceQuantity:P[N(1631)]}),X[N(1126)]=j=>{var ee=N;switch(j[ee(1322)].msgType){case ee(1394):{this[ee(1148)]=new w(j[ee(1322)][ee(1148)][ee(2240)],j[ee(1322)][ee(1148)][ee(1995)]),this[ee(1148)][ee(1885)]=[this[ee(1799)][ee(811)][ee(1187)].context[ee(659)],this.viewer[ee(811)][ee(1187)][ee(1114)][ee(2801)]],this[ee(1541)]=j[ee(1322)][ee(1541)],this[ee(1374)]=new Float32Array(this[ee(1541)]),this[ee(270)]=j.data[ee(270)],this.expressTypeVisibleDistanceDataView=new Uint32Array(this.expressTypeVisibleDistanceArrayBuff);let Ae=this[ee(1799)][ee(811)][ee(318)][ee(2750)];this.viewer[ee(811)][ee(318)].createPotentiallyVisibleSet=function(he){var ge=ee;Ae[ge(2811)](this,he);for(let de=1;de<this[ge(2376)][ge(2405)];de++)for(let fe=0;fe<this.frustumCommandsList[de][ge(1937)].length;fe++)this.frustumCommandsList[0][ge(1937)][fe][ge(2764)](...this.frustumCommandsList[de][ge(1937)][fe]),this[ge(2376)][0][ge(2412)][fe]+=this[ge(2376)][de].indices[fe];this[ge(2376)].length&&(this[ge(2376)][0][ge(826)]=he.frameState[ge(1521)][ge(197)][ge(826)],this[ge(2376)][0].far=he[ge(1187)][ge(1521)][ge(197)][ge(1773)])},this[ee(2101)](),this[ee(1148)][ee(2149)]=1,this[ee(1148)][ee(1431)]=1,this[ee(1379)]=new B(j[ee(1322)].modelArrayBuff,j.data[ee(2517)]),this[ee(726)]=this[ee(1379)][ee(918)](),this[ee(1799)][ee(1598)][ee(1680)](ee(1433),he=>{var ge=ee,de=this.viewer[ge(1598)][ge(2170)]();this[ge(1148)][ge(2293)]=[he[ge(1161)]-de[ge(1955)],de.bottom-he[ge(1860)]-de.top]},!1),window[ee(1680)](ee(2691),he=>{}),window.addEventListener(ee(1959),he=>{var ge=ee;this[ge(1148)][ge(672)]=1}),this[ee(791)]&&this[ee(791)](this[ee(726)]);break}case"dataCallBack":this[ee(2288)][j[ee(1322)][ee(769)]]&&(j.data[ee(2084)](ee(1698))?this[ee(2288)][j[ee(1322)][ee(769)]][ee(1698)](j.data[ee(1698)]):j.data.hasOwnProperty("reject")&&this[ee(2288)][j[ee(1322)][ee(769)]][ee(2046)](j[ee(1322)].reject),delete this[ee(2288)][j[ee(1322)][ee(769)]]);break;default:if(j.data[ee(2084)](ee(2645))){if(j[ee(1322)].colorAndDepthBitmap&&j[ee(1322)].colorAndDepthBitmap[ee(2048)]&&this._bimTexture){let Ae=this[ee(1799)].scene[ee(1187)][ee(1114)][ee(507)];Ae[ee(2559)](this[ee(2608)]._textureTarget,this[ee(2608)][ee(611)]),Ae[ee(201)](this[ee(2608)]._textureTarget,0,Ae[ee(1310)],Ae[ee(1310)],Ae.UNSIGNED_BYTE,j.data[ee(2645)]??null),j[ee(1322)][ee(2645)]=null,delete j[ee(1322)][ee(2645)],delete j.data}var ie={x:this[ee(1148)][ee(2670)][0]-this[ee(1799)][ee(1521)].positionWC.x,y:this[ee(1148)][ee(2670)][1]-this.viewer.camera[ee(1258)].y,z:this[ee(1148)][ee(2670)][2]-this[ee(1799)][ee(1521)].positionWC.z},z={x:this[ee(1148)][ee(1418)][0]-this[ee(1799)][ee(1521)].directionWC.x,y:this[ee(1148)][ee(1418)][1]-this[ee(1799)][ee(1521)][ee(2205)].y,z:this[ee(1148)][ee(1418)][2]-this[ee(1799)][ee(1521)][ee(2205)].z},oe={x:this[ee(1148)][ee(432)][0]-this[ee(1799)][ee(1521)][ee(2736)].x,y:this[ee(1148)][ee(432)][1]-this[ee(1799)].camera.upWC.y,z:this.sharedData[ee(432)][2]-this[ee(1799)].camera.upWC.z},le=1e-10;.001<Math.abs(ie.x)||.001<Math[ee(2148)](ie.y)||.001<Math[ee(2148)](ie.z)||Math[ee(2148)](z.x)>le||Math[ee(2148)](z.y)>le||Math.abs(z.z)>le||Math[ee(2148)](oe.x)>le||Math.abs(oe.y)>le||Math[ee(2148)](oe.z)>le||this.viewer.scene[ee(1068)](this[ee(1799)][ee(322)].tick()),this[ee(1799)][ee(811)][ee(1949)](),this[ee(2101)](),this.viewer[ee(1430)]?this.viewer._cesiumWidget[ee(1956)]=!1:this[ee(1799)][ee(1956)]=!1,this.sharedData[ee(2149)]=1}j.data[ee(2645)]=null,delete j[ee(1322)][ee(2645)],delete j[ee(1322)]}}}),U=()=>{var N=R;this.viewer[N(811)][N(318)][N(2376)][N(2405)]&&this[N(1799)][N(811)]._view[N(2376)][0][N(826)]?F():setTimeout(()=>{U()},10)};if(this[R(1799)].scene[R(1880)])throw R(244);U()};m.r(E),m.d(E,{Bim:()=>D,default:()=>S}),C={cameraId:0,0:"cameraId",cameraWorldPosition:1,1:"cameraWorldPosition",worldDirection:2,2:o(1418),worldUp:3,3:o(432),viewMatrix:4,4:o(711),worldMatrix:5,5:o(1654),projectionMatrix:6,6:o(2695),heartbeat:7,7:o(2149),useCache:8,8:o(1567),maxRenderTriangleCount:9,9:"maxRenderTriangleCount",frameMaxRenderMemoryLength:10,10:o(2747),pickId:11,11:"pickId",pickWorldPosition:12,12:o(1689),pickWorldNormal:13,13:o(2767),getBox:14,14:o(333),maxTextureSize:15,15:o(1639),renderPageFocus:16,16:o(672),renderWidthHeight:17,17:o(1885),allowSingleMeshMaxTriangleFaceQuantity:18,18:o(1631),visibleModelBox:19,19:o(2661),isMainRender:20,20:"isMainRender",mousePosition:21,21:o(2293),sunDirection:22,22:o(2233),startTime:23,23:"startTime",onlyShowShells:24,24:o(1034),enableMouseHover:25,25:o(1431)};class w{constructor(R,T){var L=o;if(this.dataStoreObject={},this.dataStoreDataCurrentBufferBlockIndex=0,this[L(1010)]=0,this[L(1525)]=2145386496,this[L(827)]=0,this.dataType=Float64Array,R||T)for(var F in this[L(1995)]=T,R)this[L(2477)](F,R[F][L(2405)]);else{if(this[L(1995)]=[],T=111*Float64Array.BYTES_PER_ELEMENT,this[L(827)]=Math[L(799)](T/this.arrayBufferBlockMaxByteLength),this.arrayBufferBlockCount===0)this[L(1995)][L(2764)](new SharedArrayBuffer(T));else{for(let U=0;U<this[L(827)];U++)this[L(1995)][L(2764)](new SharedArrayBuffer(this[L(1525)]));this.dataStoreArrayBuffer[L(2764)](new SharedArrayBuffer(T%this[L(1525)]))}this.AddStore(C[L(1849)],1),this[L(2477)](C[L(2670)],3),this.AddStore(C[L(1418)],3),this.AddStore(C[L(432)],3),this.AddStore(C[L(711)],16),this[L(2477)](C[L(1654)],16),this.AddStore(C[L(2695)],21),this[L(2477)](C.heartbeat,1),this[L(2477)](C[L(1567)],1),this[L(2477)](C.maxRenderTriangleCount,1),this.AddStore(C[L(2747)],1),this[L(2477)](C[L(2343)],5),this[L(2477)](C[L(1689)],4),this[L(2477)](C[L(2767)],4),this.AddStore(C.getBox,7),this.AddStore(C[L(1639)],1),this[L(2477)](C[L(672)],1),this[L(2477)](C[L(1885)],2),this[L(2477)](C[L(1631)],1),this[L(2477)](C[L(2661)],10),this[L(2477)](C[L(1911)],1),this[L(2477)](C[L(2293)],2),this.AddStore(C[L(2233)],3),this[L(2477)](C.startTime,1),this[L(2477)](C.onlyShowShells,1),this[L(2477)](C.enableMouseHover,1)}}get enableMouseHover(){var R=o;return this[R(1827)](C.enableMouseHover)[0]}set[o(1431)](R){var T=o;this[T(1827)](C[T(1431)])[0]=R}get[o(1034)](){var R=o;return this[R(1827)](C.onlyShowShells)[0]}set[o(1034)](R){var T=o;this[T(1827)](C[T(1034)])[0]=R}get[o(205)](){var R=o;return this.GetData(C[R(205)])[0]}set startTime(R){var T=o;this[T(1827)](C.startTime)[0]=R}set[o(2233)](R){var T=o;this[T(1882)](C[T(2233)],R)}get sunDirection(){var R=o;return this[R(1827)](C[R(2233)])}set[o(2293)](R){var T=o;this[T(1882)](C[T(2293)],R)}get[o(2293)](){var R=o;return this[R(1827)](C[R(2293)])}get isMainRender(){var R=o;return this[R(1827)](C.isMainRender)[0]}set[o(1911)](R){var T=o;this[T(1827)](C[T(1911)])[0]=R}get[o(1631)](){var R=o;return this[R(1827)](C.allowSingleMeshMaxTriangleFaceQuantity)[0]}set[o(1631)](R){var T=o;this[T(1827)](C[T(1631)])[0]=R}get[o(2661)](){var R=o;return this[R(1827)](C[R(2661)])}set[o(2661)](R){var T=o;this.SetData(C[T(2661)],R)}get renderWidthHeight(){var R=o;return this[R(1827)](C[R(1885)])}set[o(1885)](R){var T=o;this[T(1882)](C[T(1885)],R)}get[o(672)](){var R=o;return this[R(1827)](C[R(672)])[0]}set renderPageFocus(R){var T=o;this[T(1827)](C.renderPageFocus)[0]=R}get maxTextureSize(){var R=o;return this.GetData(C[R(1639)])[0]}set maxTextureSize(R){var T=o;this[T(1827)](C.maxTextureSize)[0]=R}get[o(333)](){var R=o;return this[R(1827)](C[R(333)])}set getBox(R){this.SetData(C.getBox,R)}get[o(2767)](){var R=o;return this.GetData(C[R(2767)])}set pickWorldNormal(R){this.SetData(C.pickWorldNormal,R)}get[o(1689)](){var R=o;return this[R(1827)](C[R(1689)])}set[o(1689)](R){var T=o;this[T(1882)](C.pickWorldPosition,R)}get[o(2343)](){var R=o;return this[R(1827)](C[R(2343)])}set[o(2343)](R){var T=o;this[T(1882)](C[T(2343)],R)}get frameMaxRenderMemoryLength(){var R=o;return this.GetData(C[R(2747)])[0]}set[o(2747)](R){var T=o;this[T(1827)](C.frameMaxRenderMemoryLength)[0]=R}get[o(492)](){var R=o;return this[R(1827)](C[R(492)])[0]}set[o(492)](R){var T=o;this[T(1827)](C[T(492)])[0]=R}get[o(1567)](){return this.GetData(C.useCache)[0]}set[o(1567)](R){var T=o;this.GetData(C[T(1567)])[0]=R}get[o(1849)](){var R=o;return this[R(1827)](C[R(1849)])[0]}set[o(1849)](R){this.GetData(C.cameraId)[0]=999999<R?2:R}get[o(2670)](){var R=o;return this[R(1827)](C[R(2670)])}set[o(2670)](R){var T=o;this[T(1882)](C.cameraWorldPosition,R)}get[o(1418)](){var R=o;return this.GetData(C[R(1418)])}set[o(1418)](R){var T=o;this[T(1882)](C[T(1418)],R)}get worldUp(){var R=o;return this[R(1827)](C[R(432)])}set worldUp(R){var T=o;this[T(1882)](C[T(432)],R)}get viewMatrix(){var R=o;return this[R(1827)](C[R(711)])}set[o(711)](R){var T=o;this[T(1882)](C.viewMatrix,R)}get worldMatrix(){var R=o;return this[R(1827)](C[R(1654)])}set[o(1654)](R){var T=o;this[T(1882)](C[T(1654)],R)}get[o(2695)](){var R=o;return this[R(1827)](C.projectionMatrix)}set[o(2695)](R){var T=o;this[T(1882)](C[T(2695)],R)}get[o(2149)](){var R=o;return this[R(1827)](C[R(2149)])[0]}set[o(2149)](R){var T=o;this[T(1827)](C[T(2149)])[0]=R}[o(2477)](R,T){var L=o;this[L(2240)][L(2084)](R)||(this[L(2240)][R]={},this[L(2240)][R].length=T,this[L(1010)]+T*this.dataType[L(420)]>this[L(1525)]&&(this[L(1615)]++,this[L(1010)]=0),this[L(2240)][R][L(2536)]=new this[L(1100)](this.dataStoreArrayBuffer[this.dataStoreDataCurrentBufferBlockIndex],this.dataStoreDataByteOffset,this[L(2240)][R][L(2405)]),this[L(2240)][R].byteOffset=this[L(1010)],this[L(1010)]+=this[L(1100)][L(420)]*this.dataStoreObject[R][L(2405)])}[o(1882)](R,T){var L=o;T&&this[L(2240)][R][L(2536)][L(935)](T)}[o(1827)](R){var T=o;return(R=this.dataStoreObject[R])==null?void 0:R[T(2536)]}}var x=m(29608),I=m.n(x);let Q="data:application/wasm;base64,AGFzbQEAAAABrQRHYAJ/fwF/YAF/AX9gA39/fwBgAX8AYAN/f38Bf2ACf38AYAR/f39/AX9gBX9/f39/AX9gBH9/f38AYAZ/f39/f38Bf2AFf39/f38AYAJ/fgF/YAR/f39+AX9gBn9/f39/fwBgB39/f39/f38Bf2AAAX9gAXwBfGABfgF/YAJ/fgBgA39/fgF/YAJ/fwF+YAAAYAF/AX5gCH9/f39/f39/AX9gBH9+f38Bf2AHf39/f39/fwBgCX9/f39/f39/fwF/YAN/fn8Bf2ACf3wAYAV/fn5+fgBgCX9/f39/f39/fwBgBX9/f39+AGAFf39+f38Bf2AIf39/f39/f38AYAN/f34AYAN/fn8AYAN/fn4Bf2AAAXxgAX8BfGAEf35+fwBgBH5+fn4Bf2ALf39/f39/f39/f38AYAN8fH8BfGACfHwBfGAEf39+fwBgBn9/f35/fwF/YAF+AX5gBX9+f39/AX9gAn9+AX5gBn9/f39/fgF/YAR/f39/AX5gAn5+AXxgCH9+fn9/f39/AX9gAn58AX9gC39/f39/f39/f39/AX9gAnx/AXxgAXwBf2ACfH8Bf2AHf39/f35/fwF+YAl/fn9+fn5+f38Bf2AEf39/fgBgAnx+AX9gCn9/f39/f39/f38Bf2ADf398AX9gAXwBfmAHf39/f398fABgBX9+fn5/AX9gCH9/fn5+f39/AX9gBH9+f38AYA1/f39/f39/f39/f39/AGACf38BfALNASIBYQFhAAgBYQFiAAQBYQFjAAEBYQFkACUBYQFlACUBYQFmAAEBYQFnAAQBYQFoAAABYQFpAAABYQFqAAUBYQFrAAcBYQFsAAABYQFtAAYBYQFuAAIBYQFvAAQBYQFwAA8BYQFxAAYBYQFyAAEBYQFzAAYBYQF0AAYBYQF1AAYBYQF2AA4BYQF3AAkBYQF4AAABYQF5AAABYQF6AAABYQFBAAABYQFCAAQBYQFDAAEBYQFEAAYBYQFFAAABYQFGAAABYQFHAAABYQFIAAYDjQ+LDwYDBwUCBAQBBQEEAQEFAAEBDgUEBgUJAQUBBAgFAgQLAQEFAgEABAARAwABAwEmBAYLAAYAEwADABwAARYBAAcSAgMFBQMGAQAGAgILBAAIAAQEEQEIAwwGAQAEAAIBBQAFDAUBBAAABAILARIFAgMCAwABAAEU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AAUAAAAAAAAFBQAFBAUBcADSAwUHAQGAAoCAAgYJAX8BQZCtxAILB5ECMwFJAgABSgDWBwFLACMBTADDDAFNACsBTgD7DAFPAJEDAVAAQwFRAJcBAVIAOQFTAGkBVACADQFVAIsCAVYAXwFXAC4BWAC4AwFZAFsBWgBjAV8AgQEBJADoDAJhYQBZAmJhAD0CY2EA3AkCZGEAgQUCZWEA2QkCZmEAigICZ2EAxwECaGEA5wwCaWEAiQICamEA+AICa2EA/wQCbGEA0wICbWEA1gkCbmEAdAJvYQDVCQJwYQDmDAJxYQDlDAJyYQDPAgJzYQD0AQJ0YQDiDAJ1YQDhDAJ2YQC4CQJ3YQDdDAJ4YQD3AQJ5YQD2AQJ6YQEAAkFhALMNAkJhAOgJAkNhAP4MAkRhAP0MAkVhAPwMCaMHAQBBAQvRA02CBSOoDMcIjwTaBOQM4AzfDN4MsQncDNsMqATjDLQM/QqzDLIM7witDKwMqwyqDKMMpQztA58MngycDJsMmgw6jgysD9EEnA+bD6oPmg+ZD5gPlw+WD5UPJagP0wFm8AKUD5MPkg931QulD4YPhQ+rD+oL/AGED6kPpw+mD6QPow+iD6EP8AKgD58Png+dD5EPkA+PD44PjQ+LD4wPiQ+ID4oPhw+AD88Ozg7MDsoOxg6aDoAO/Q3vDe4N6g3pDesN8A3tDewN5A3ACtsByw3NDcwNyg3JDcgNxw3GDakMpwymDKQMogyhDKAMnQygCJkMmAyXDNoMwAy/DNkM2AzXDNYM1QzUDNMMpQnSDNEM0AzPDM4MzQyCBcwMywzKDMkM+Qz6DPMM6wz1DPQM9gzuDOkM+AzqDMgM8QzsDPcM/wzwDO8MxwztDPIMxgzwAvACxQzEDMIMmAnBDL4MvQy8DLsM8AK6DLkMuAy3DLYMtQyxDLAMrwyLCfACrgyWDJUMzgSUDJMMkgyLCJEMkAyPDIMPgg+BD/8O/g79DvwO+w76DvkO+A73DvYO9Q70DvMO8g7xDvAO7w7uDu0O7A7rDuoO6Q7oDucO5g7lDuQO4w7iDuEO4A7fDt4O3Q7cDtsO2g7ZDtgO1w7WDtUO1A7TDtIO0Q7QDs0OyQ7IDscOxQ7EDsMOwg7BDsAO+Aq/DvcK+Aq+DvcKvQ68DrsOug65DrgOtw62DrUOggW0DrMOsg6xDvUK9AryCrAOrw6u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DQAgBSgCkAIgBSAFKAIQIANqKAIAIAQgCBEGACEBCyACQQFqIQIMAQsLIAAgATYCKEEBQeUAIAEbIQIMAQsgASECIAAsAJwBQQBODQAgABDbBiECCyAFIAI2AkAgACgCACAAKAIoEKABQQdHDQAgAEEHNgIoIAJBByAALACcAUEAThshAgsgBSgCSCACcQsiAUERRw0BIBVBMkYEQEERDwsgACgCJCEFIwBBEGsiAyQAIAAQ3AkhAQJAIAAoAgAiAiABQX8gAC0AnAEgACADQQxqQQAQxQQiCARAIAhBB0cNASACEE0aDAELIAMoAgwhBCMAQYACayIJJAAgCUEIaiIBIARB+AEQJxogBCAAQfgBECchAiAAIAFB+AEQJyEBIAIoAgghByACIAEoAgg2AgggASAHNgIIIAIoAgQhByACIAEoAgQ2AgQgASAHNgIEIAIoAswBIQcgAiABKALMATYCzAEgASAHNgLMASACKALQASEHIAIgASgC0AE2AtABIAEgBzYC0AEgASACKALoATYC6AEgASACLQCcAToAnAEgAUGoAWogAkGoAWpBJBAnGiABIAEoArwBQQFqNgK8ASAJQYACaiQAQQAhAQNAIAQuARAgAUoEQCABQShsIgIgACgCbGogBCgCbCACahDRCSABQQFqIQEMAQsLIARBADYCKCAEEJgCGgsgA0EQaiQAAkAgCARAIAwoAqACECshASAMIAAoAoQBECUgDC0AVw0BIAAgDCABEFw2AoQBIAAgDCAIEKABIgA2AiggAA8LIBVBAWohFSAAEDkaIAVBAEgNASAAQQE6AJ0BDAELC0EHIQEgAEEHNgIoIABBADYChAELIAELKQAgACABQQh0QYCA/AdxIAFBGHRyIAFBCHZBgP4DcSABQRh2cnI2AAALYwECfyAAKAIQIgMgAmoiBCAAKAIITwRAIAAgAhCxBiICQQBKBEAgACgCBCAAKAIQaiABIAIQJxogACAAKAIQIAJqNgIQCw8LIAIEQCAAIAQ2AhAgACgCBCADaiABIAIQJxoLCz0BAX8gAC0AEyIBRQRAIAAgACgCLEEBaiIANgIsIAAPCyAAIAFBAWsiAToAEyAAIAFB/wFxQQJ0aigCmAELcgEBfyAAKAIIIgItAAlBIHFFBEACfyAAKAIIIQIgAUEATARAIAIQZCACQQA2AhBBAAwB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wwAQfCEECyAECzIAIAAoAmAgASgCCEEobGoiAC0ACUEkcQRAIAAQZCAAQQQ7AQggAA8LIABBBDsBCCAAC3ABA38jAEEQayIEJABBjPUDKAIABEAgBCACNgIMIwBB8AFrIgMkACADQdgBaiIFQQAgA0HSAUEAEJkBIAUgASACELQDQYz1AygCACEBQZD1AygCACAAIAUQwgEgARECACADQfABaiQACyAEQRBqJAALCgAgACgCACgCIAsNACAAKAIAIAGsEI4BC04BAX8gAUEBRgRAIAAQRg8LIAEgACgCHCICTARAIAAgAiABazYCHCAAIAAoAiAiACABajYCICAADwsgACAAKAIsIgAgAWo2AiwgAEEBagvGAQEDfyABBEAgAUEIaiECA0AgASgCACAESgRAIAIoAgQiAwRAIAAgAxBlCyAAIAIoAggQJSACKAIMIgMEQCAAIAMQZQsgAi8AJSIDQQJxBH8gACACKAJAECUgAi8AJQUgAwtBBHEEQCAAIAIoAkAQOgsgACACKAIQENMBIAIoAhQiAwRAIAAgAxBmCyACKAIsIgMEQCAAIAMQLwsgAigCMCIDBEAgACADEOsBCyACQcgAaiECIARBAWohBAwBCwsgACABEGULCxUAIAAgASACIAMgACgCACgCCBEMAAs/AQF+AkAgACkDECICIAApAwhaBEAgAEEBEMQDDQEgACkDECECCyAAIAJCAXw3AxAgACgCBCACp2ogAToAAAsL4gEBAX8DQAJAIAAoAgRBgKAIcQRAIABBDGohAAwBCwJ/IAAtAAAiAUGwAUYEQCAALQACIQELAkACQAJAAkACQAJAIAFBsQFrDgICAQALIAFBigFHBEACQCABQacBaw4DAAUABAsgACgCLCIBRQ0EIAEgAC4BIBC2BAwGCyAAKAIUKAIcQQhqIQAMBgsgACgCDCgCFCgCHCAALgEgQQR0akEIaiEADAULIAAoAhRBCGohAAwECyABQSRGDQELIAAtAAEMAQsgACgCCEEAEMwEC0EYdEEYdQ8LIAAoAgAhAAwACwALZQEBfyABEJ0BIQMCQCAALQAXRSADRXINACADLQAAQbABRg0AIAMQxwVFDQAgAkEANgIAIAAgA0F/EMYFDwsgAiAAEEYiASAAIAMgARD7ASIDRwR/IAAgARA+QQAFIAELNgIAIAMLNwEBfyAB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KTYCAAwBCyACIAAgBigCBGoiAC0AAEYEQCAAQQFqEC0gA0YNAQsgBCAGEF0iATYCACABDQAgACACOgAAIABBAWogAxBECyAFKAIMEKYBCyAFQRBqJAALKgEBfyMAQRBrIgQkACAEIAM2AgwgACABIAIgAxD0CCEAIARBEGokACAACxUBAX9B+KYEKAIAIgAEQCAAERUACwsVAQF/QfSmBCgCACIABEAgABEVAAsLEQAgACABIAAoAgAoAhgRAAAL0gsBDn8gACgCBCEMIAAoAgAiCCgCACEJIAgoAggiAygCdCEKIAAtADAhAgNAIAJBAEoEQCAAIAJBAWsiBkHYAGxqIgEoAsQGIQUCQCABLQCxBkG2AUcEQEEAIQQCQCAALQAzQQJHDQAgAiAALQAwRw0AIAUtAClBAnFFDQAgBSgCICICLQA3QYABcUUNACAFLwEeIgdFDQAgAigCCCAHQQF0ai4BAEEkSA0AIAgoAixBAWohBEEAIQIDQCACIAdHBEAgA0HdACABKAKABiACIAIgBGoQJBogAkEBaiECDAELCyAIIAcgCCgCLGpBAWo2AiwgA0EXQRogAS0AsQZBBEYbIAEoAoAGQQAgBCAHEDghBCADQQtBASABKAK4BhAiGgsgAyABKAKQBhA0IAMgAS0AsQYgASgCtAYgASgCuAYgAS0AsgYQJBogAyABLQCzBhA3IAEoApwGBEAgAyABKAKgBhA0IANBPCABKAKcBiABKAK4BkEBaxAiGgsgBEUNASADIAQQKgwBCyADIAEoApAGEDQLAkAgBS0AKUEIcUUNACABKAK8BkEATA0AIAMgASgCiAYQNCABKALABiABKAK8BiIEQRRsakEUayECA0AgBEEATA0BIAMgAigCBEEBahAqIAItABBBtgFHBEACQCACKAIMRQ0AIAUoAihBgIgQcSEHIAEoAvgFBEAgA0EbIAIoAgAgAygCdEEDQQIgB0GAgBBGG2oQIhoLIAdBgIAQRw0AIANBHCABKAKABiADKAJ0QQJqIAIoAgggAigCDBA4GiADIAIoAgRBAWoQKgsgAyACLQAQIAIoAgAgAigCBBAiGgsgAyACKAIEQQFrECogAkEUayECIARBAWshBAwACwALIAMgASgChAYQNCABKAKMBiICBEAgAyACEFoaIAMgASgCjAYQKiADIAEoAowGQQJr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P3FBgAFyOgABIAIgB0EGdkHAAXI6AAAgAkECagshAiADBSAALQADIQMgAiAALQACIgRBP3FBgAFyOgADIAIgB0EKdEGAgDxxQYCABGoiBkESdkHwAXI6AAAgAiADQQh0QYAGcSAEIAlBCnQiA3JyQQZ2QT9xQYABcjoAAiACIANBgOADcSAGckEMdkE/cUGAAXI6AAEgAkEEaiECIABBBGoLIQAMAAsACyAFIAIgAWs2AgwMAgsgASEDA0AgACAITw0BIABBAWohAgJ/AkAgAC0AACIEQcABSQRAIAIhAAwBCyAEQaD5AWotAAAhBANAAkACQCACIAhGBH8gCAUgAi0AACIAQcABcUGAAUYNASACCyEAIARBfnFB/v8DRiAEQYABSXIgBEGAcHFBgLADRnINASAEQf//A00NAyADIARBCHZBA3FB3AFyOgACIAMgBEGAgARrIgJBCnZBwAFxIARBCnZBP3FyOgABIAMgAkESdkEDcUHYAXI6AABBBCEGIANBA2oMBAsgAEE/cSAEQQZ0ciEEIAJBAWohAgwBCwtB/f8DIQQLIAMgBEEIdjoAAEECIQYgA0EBagsgBDoAACADIAZqIQMMAAsACyAFIAMgAWs2AgwgA0EAOgAAIANBAWohAgsgAkEAOgAAIAUvAQghACAFEHggBSABNgIUIAUgATYCECAFIAo6AAogBSAAQb2AAnFBggRyOwEIIAUgBSgCICABEIUCNgIYQQALCwVBAAsLLwAgACABQX8gARs2AhQgACgCACIALQAIQQFxBEAgACABENUCQn9BAUEAEMoBGgsLPQEBfwJAIAIoAgANACAAKAIIIAFODQAgACgCACABEOMBIgMEQCAAIAM2AgAgACABNgIIDwsgAkEHNgIACwt3AQJ/A0AgACIBQQFqIQAgARD/Ag0ACwJAIAEtAABFDQADQCABIgBBAWohASAAEI4CDQALIAAtAABFDQADQCAAIgFBAWohACABEP8CDQALIAEtAABFDQADQCABIgBBAWohASAAEI4CDQALIAAtAABBAEchAgsgAgseAQF/QQEhASAALQAAQQZPBH8gACgCBEEBagVBAQsLkgIBA38gACgCDCIEIAAoAhAiBU4EQCAAKAIYIQQgACAAKAIAKAIAKAIAIgMgBUHgAGytEFMiBTYCGCAFRQRAIAJBAXEEQCADIAEQLwsgACAENgIYQQAPCyAFIAQgACgCDEEwbBAnGiAAQSBqIARHBEAgAyAEECULIAAgAyAAKAIYEIUCQTBuNgIQIAAoAgwhBAtBASEFIAAgBEEBaiIDNgIMIAJBAnFFBEAgACADNgIUCyAAKAIYIQMCQCABRQ0AIAEtAAZBBHFFDQAgATQCHBDUAUGOAmshBQsgAyAEQTBsaiIDIAU7AQggARCdASEBIAMgAjsBCiADIAE2AgAgAyAANgIEIANBDGpBAEEkECgaIAQLwwEBAX8CQCAAKAIALQBXDQAgAS0ABEGAAXENACMAQSBrIgMkACADQccANgIEIAMgADYCACAALQAWBEAgA0EANgIMIANByAA2AgggAyABEGoaCyADQQA7ARQgA0HAADYCDCADQckANgIIIAMgARBqGiADQSBqJAAgACgCJA0AIAAgASACENQLIAAoAiQNACMAQSBrIgIkACACQcoANgIMIAJBMzYCCCACQccANgIEIAIgADYCACACIAEQahogAkEgaiQACwt5AQF/IAEEfyACRQRAIAEPCyAAKAIAIQMCQCABKAIEQYGAgIACcUGAgICAAkcEQCACKAIEQYGAgIACcUGAgICAAkcNAQsgAC0A0AFBAUsNACAAIAEQzQcgACACEM0HIANBmwFBxrwBEHMPCyAAQSwgASACEDYFIAILC+EDAQN/IwBB0ABrIgokACAAKAIAQswAEFMiCSAKIAkbIQsgCUEcaiAKQRxqIAkbIAEEfyABBSAAQQAgACgCAEG0AUEAEHMQQAs2AgAgC0GKAToAACAJQQRqIApBBHIgCRsgBzYCACAJQQhqIApBCGogCRtBADYCACAJQQxqIApBDGogCRtBADYCACAAIAAoAmRBAWoiATYCZCAJQRBqIApBEGogCRsgATYCACAJQRRqIApBFGogCRtBfzYCACAJQRhqIApBGGogCRtBfzYCACAJQQJqIApBAnIgCRtBADsBACAJQSBqIApBIGogCRsgAgR/IAIFIAAoAgBC0AAQQQs2AgAgCUEkaiAKQSRqIAkbIAM2AgAgCUEoaiAKQShqIAkbIAQ2AgAgCUEsaiAKQSxqIAkbIAU2AgAgCUEwaiAKQTBqIAkbIAY2AgAgCUE0aiAKQTRqIAkbQQA2AgAgCUE4aiAKQThqIAkbQQA2AgAgCUE8aiAKQTxqIAkbIAg2AgAgCUFAayAKQUBrIAkbQQA2AgAgCUHEAGogCkHEAGogCRtBADYCACAJQcgAaiAKQcgAaiAJG0EANgIAIAAoAgAiAC0AVwRAIAAgCyAKIAtHEKQIQQAhCQsgCkHQAGokACAJCxQBAX8Q5wEEf0EABSAAIAEQxgELC0gBAX8gAEEBIAF0IgIgACgCoAFyNgKgAQJAIAFBAUYNACAAKAIAKAIQIAFBBHRqKAIELQAJRQ0AIAAgACgCpAEgAnI2AqQBCwsdAQF/EOcBBH9BAAUgACABQQAgAUEAShutEMYBCwtlAQN/IAJFBEBBAA8LAkAgAC0AACIDRQ0AA0ACQCABLQAAIgVFDQAgAkEBayICRSADIAVHcg0AIAFBAWohASAALQABIQMgAEEBaiEAIAMNAQwCCwsgAyEECyAEQf8BcSABLQAAawtyAQJ/AkAgACgCACAAKAIMaiICQQBMBEBBASECIAAtAAhBEHFFDQELQQchASAAIAJBARC5Aw0AQQAhASAAKAIQIAAoAgxqQQAgACgCABAoGiAAIAAoAgwgACgCAGo2AgwgACAALwEIQf/7AnE7AQgLIAELyQoCBX8PfiMAQeAAayIFJAAgBEL///////8/gyEMIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIg1CIIghDiAEQjCIp0H//wFxIQcCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAHQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIgtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEKDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQogAyEBDAILIAEgC0KAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQpCACEBDAMLIApCgICAgICAwP//AIQhCkIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQCABIAuEIQJCACEBIAJQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIAuEUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyALQv///////z9YBEAgBUHQAGogASANIAEgDSANUCIGG3kgBkEGdK18pyIGQQ9rEKoBQRAgBmshBiAFKQNYIg1CIIghDiAFKQNQIQELIAJC////////P1YNACAFQUBrIAMgDCADIAwgDFAiCBt5IAhBBnStfKciCEEPaxCqASAGIAhrQRBqIQYgBSkDSCEMIAUpA0AhAwsgA0IPhiILQoCA/v8PgyICIAFCIIgiBH4iECALQiCIIhMgAUL/////D4MiAX58Ig9CIIYiESABIAJ+fCILIBFUrSACIA1C/////w+DIg1+IhUgBCATfnwiESAMQg+GIANCMYiEIhJC/////w+DIgMgAX58IhQgDyAQVK1CIIYgD0IgiIR8Ig8gAiAOQoCABIQiDH4iFiANIBN+fCIOIBJCIIhCgICAgAiEIgIgAX58IhAgAyAEfnwiEkIghnwiF3whASAHIAlqIAZqQf//AGshBgJAIAIgBH4iGCAMIBN+fCIEIBhUrSAEIAQgAyANfnwiBFatfCACIAx+fCAEIAQgESAVVK0gESAUVq18fCIEVq18IAMgDH4iAyACIA1+fCICIANUrUIghiACQiCIhHwgBCACQiCGfCICIARUrXwgAiACIBAgElatIA4gFlStIA4gEFatfHxCIIYgEkIgiIR8IgJWrXwgAiACIA8gFFStIA8gF1atfHwiAlatfCIEQoCAgICAgMAAg1BFBEAgBkEBaiEGDAELIAtCP4ghAyAEQgGGIAJCP4iEIQQgAkIBhiABQj+IhCECIAtCAYYhCyADIAFCAYaEIQELIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIHQYABTwRAQgAhAQwDCyAFQTBqIAsgASAGQf8AaiIGEKoBIAVBIGogAiAEIAYQqgEgBUEQaiALIAEgBxD7AiAFIAIgBCAHEPsCIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQsgBSkDKCAFKQMYhCEBIAUpAwAhAiAFKQMIDAELIARC////////P4MgBq1CMIaECyAKhCEKIAtQIAFCAFkgAUKAgICAgICAgIB/URtFBEAgCiACQgF8IgEgAlStfCEKDAELIAsgAUKAgICAgICAgIB/hYRQRQRAIAIhAQwBCyAKIAIgAkIBg3wiASACVK18IQoLIAAgATcDACAAIAo3AwggBUHgAGokAAuLBgEFfwJAQfD0AygCAA0AQfj0A0EBNgIAQfz0AygCAEUEQEHA8wMoAgBFBEAQwAkLQfCiBEEINgIAAkACQEHY9AMoAgBFDQBB3PQDKAIAQYAESA0AQeD0AygCAEEASg0BC0HY9ANCADcDAAtB3PMDKAIAQdTzAygCABEBACIABEBBiKMEQgA3AwBBgKMEQgA3AwBB+KIEQgA3AwBB8KIEQgA3AwALIAAiAw0BC0H89ANBATYCAEGI9QMoAgBFBEBBiPUDQQg2AgALQYT1A0GE9QMoAgBBAWoiATYCAEEAIQNB8PQDKAIAQfT0AygCAHJFBEBB9PQDQQE2AgBBoKUEQQBB3AAQKBpB4JAEQQUQggRBsJIEQQ8QggRBkJcEQQkQggRBgJoEQRMQggRB4PsDQcMAEIIEAkBBgPUDKAIARQRAQYz0AygCACIBRQRAEL8JQYz0AygCACEBC0GI9AMoAgAgAREBACIDDQELQYD1A0EBNgIAQQoQTyIABH8gABAjQQAhAANAIABBBEcEQCAAQdgAbEHQ9QNqIABFEP8JGiAAQQFqIQAMAQsLQaD7A0GKlAEQ9Ak2AgBBpPsDQZGUARD0CTYCAEEABUEHCyIDDQBBABCfBSIBBH8gASgCBCEAQYygBCABNgIAQfyfBCAAQQwgAEEMSxs2AgBB+J8EQQAQ/wkFQQELIgMNAEEAIQNB2PQDKAIAIQBB3PQDKAIAIQRB4PQDKAIAIQFBwKYEKAIABEBB6KYEIAFBACAAGyICNgIAQdCmBCACNgIAQcymBCAEQXhxQQAgAhtBACAAGyIENgIAQdimBCAANgIAQdSmBCACQQptQQFqQQogAkHaAEwbNgIAQeymBEEANgIAQeSmBEEANgIAQQAhAQNAIAIEQCAAIAE2AgBB5KYEIAA2AgAgAkEBayECIAQgACIBaiEADAELC0HcpgQgADYCAAtB8PQDQQE2AgALQfT0A0EANgIAQYT1AygCACEBC0GE9QMgAUEBazYCACABQQFKDQBBiPUDQQA2AgALIAMLXgICfwF+IwBBEGsiBCQAAkAgASAAKAIAIgVNBEAgAEEANgIADAELIAAgBSAEQQhqEIEDIAAoAgBqNgIAIAMgAykDAEIAIAQpAwgiBn0gBiACG3w3AwALIARBEGokAAtcAQR/IAEoAgAiBSECA0AgAkEBaiEDIAIsAAAiAiAEQRh0QRh1cgRAIAJBgAFxIQQgAyECDAELCyAABEAgACAAKAIAIAUgAyAFayIAECcgAGo2AgALIAEgAzYCAAsaACABRQRAQQAPCyAAIAEgACgCACgCFBEAAAtCAQF/IAEEQANAIAIgASgCBE5FBEAgACABKAIAIAJBA3RqKAIAECUgAkEBaiECDAELCyAAIAEoAgAQJSAAIAEQZQsLfgACQCAAIAFOBEAgAUExaiAASA0BIAAgAUEfakoEQCAAQQFqIQAMAgsgACABa0Gw+wJqLQAAIABqIQAMAQsgASAAQTFqSgRAIAEhAAwBCyABIABBH2pKBEAgAUEBaiEADAELIAEgAGtBsPsCai0AACABaiEACyAAQRB0QRB1C64BAQJ/IwBBEGsiBSQAIAUgAzYCDEEAIQMDQAJAIAIgA2otAAAiBEHpAEcEQCAEQfMARwRAIARFBEAgAEHTACABIAMQIhoLIAVBEGokAA8LIAUgBSgCDCIEQQRqNgIMIABB9QBBygAgBCgCACIEG0EAIAEgA2pBACAEQQAQMxoMAQsgBSAFKAIMIgRBBGo2AgwgAEHHACAEKAIAIAEgA2oQIhoLIANBAWohAwwACwALOwEBfyAAKAIAIgItAFdFBEAgAiAAKAJwIAFBFGxqIgAsAAEgACgCEBCJBCAAQQA2AhAgAEG2ATsBAAsLCwAgAEEBQQAQ0AULRgEBfwJAIAAtANABQQNGDQAgACgCAEIQEEEiA0UNACADIAE2AgAgAyACKQIANwIEIAMgACgCjAI2AgwgACADNgKMAgsgAQurAwEHfyMAQYACayIEJAACQBDnAQ0AIABBAEpBACABG0UEQEGQowRBADoAAAwBC0GQowQtAABFBEBBABCfBSECQZGjBEEAOwAAAkAgAkUEQCAEQQBBgAIQKBoMAQsCQEG09QMoAgAEQCAEQQBBgAIQKEG09QMoAgA2AAAMAQsgAkGAAiAEIAIoAjgRBAAaCwtBACECA0AgAkGAAkYEQEEAIQJBkqMELQAAIQMDQCACQYACRwRAIAJBk6MEaiIFLQAAIgYgAiAEai0AAGogA2oiA0H/AXFBk6MEaiIHLQAAIQggByAGOgAAIAUgCDoAACACQQFqIQIMAQsLQZCjBEEBOgAAQZKjBCADOgAABSACQZOjBGogAjoAACACQQFqIQIMAQsLCwNAQZGjBEGRowQtAABBAWoiAjoAAEGSowQgAkH/AXFBk6MEaiICLQAAIgNBkqMELQAAaiIFOgAAIAIgBUH/AXFBk6MEaiIFLQAAOgAAIAUgAzoAACABIAMgAi0AAGpB/wFxQZOjBGotAAA6AAAgAUEBaiEBIABBAWsiAA0ACwsgBEGAAmokAAsdAQF/IAAoAhwiA0UEQEEADwsgACABIAIgAxEEAAsaACAALQArRQRAIAAoAgQgASACQQkQ6wQaCwuXBQEHfyMAQRBrIgUkACAFQQA2AggCQCAAEMkJRQRAQZLpBxCeASEBDAELIABBABCPASABQdTlASABGyEBAkADQAJAIAYNACABLQAARQRAQQAhBgwBCyAFQQA2AgggACABQX8gBUEIaiAFQQxqEJEDIgYNAUEAIQhBACEHQQAhCUEAIQogBSgCCCIBRQRAQQAhBiAFKAIMIQEMAgsDQAJAIAEQQyEGAkAgAkUNAAJAAkACQCAGQeQARwRAIAZB5QBHIAdyDQUgAC0AIUEBcUUNBQwBCyAHRQ0AIAlBACAJQQBKGyEHDAELIAAgBSgCCBCBBSIJQQN0QQRyrRCMASIIRQ0FQQAhASAJQQAgCUEAShshBwNAIAEgB0ZFBEAgCCABQQJ0aiAFKAIIIAEQ/wQ2AgAgAUEBaiEBDAELCyAGQeQARw0BCyAIIAlBAnRqIQpBACEBA0AgASAHRwRAIAogAUECdGogBSgCCCABEIkCIgs2AgACQCALDQAgBSgCCCABEPgCQQVGDQAgABBNGkHkACEGDAkLIAFBAWohAQwBCwsgCiAHQQJ0akEANgIAC0EBIQcgAyAJIAogCCACEQYARQ0AIAUoAggQmAIaIAVBADYCCEEEIQYgAEEEEI8BDAULIAZB5ABHDQAgBSgCCCEBDAELCyAFKAIIEJgCIQYgBUEANgIIIAUoAgwhBwNAIAciAUEBaiEHIAEtAABB8OoBai0AAEEBcQ0ACyAAIAgQJQwBCwtBACEICyAFKAIIIgEEQCABEJgCGgsgACAIECUgBEUgACAGEKABIgFFckUEQCAEQQAgABDPAhBcIgI2AgAgAg0BQQchASAAQQcQjwEMAQsgBEUNACAEQQA2AgALIAVBEGokACABC0kBA38gACgCFCICQQAgAkEAShshAwNAIAEgA0cEQCAAKAIQIAFBBHRqKAIEIgIEQCACKAIEIAIoAgA2AgQLIAFBAWohAQwBCwsLzAwBB38CQCAARQ0AIABBCGsiAyAAQQRrKAIAIgFBeHEiAGohBQJAIAFBAXENACABQQNxRQ0BIAMgAygCACIBayIDQaSpBCgCAEkNASAAIAFqIQAgA0GoqQQoAgBHBEAgAUH/AU0EQCADKAIIIgIgAUEDdiIEQQN0QbypBGpGGiACIAMoAgwiAUYEQEGUqQRBlKkEKAIAQX4gBHdxNgIADAMLIAIgATYCDCABIAI2AggMAgsgAygCGCEGAkAgAyADKAIMIgFHBEAgAygCCCICIAE2AgwgASACNgIIDAELAkAgA0EUaiICKAIAIgQNACADQRBqIgIoAgAiBA0AQQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQECQCADIAMoAhwiAkECdEHEqwRqIgQoAgBGBEAgBCABNgIAIAENAUGYqQRBmKkEKAIAQX4gAndxNgIADAMLIAZBEEEUIAYoAhAgA0YbaiABNgIAIAFFDQILIAEgBjYCGCADKAIQIgIEQCABIAI2AhAgAiABNgIYCyADKAIUIgJFDQEgASACNgIUIAIgATYCGAwBCyAFKAIEIgFBA3FBA0cNAEGcqQQgADYCACAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAMgBU8NACAFKAIEIgFBAXFFDQACQCABQQJxRQRAIAVBrKkEKAIARgRAQaypBCADNgIAQaCpBEGgqQQoAgAgAGoiADYCACADIABBAXI2AgQgA0GoqQQoAgBHDQNBnKkEQQA2AgBBqKkEQQA2AgAPCyAFQaipBCgCAEYEQEGoqQQgAzYCAEGcqQRBnKkEKAIAIABqIgA2AgAgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAFBeHEgAGohAAJAIAFB/wFNBEAgBSgCCCICIAFBA3YiBEEDdEG8qQRqRhogAiAFKAIMIgFGBEBBlKkEQZSpBCgCAEF+IAR3cTYCAAwCCyACIAE2AgwgASACNgIIDAELIAUoAhghBgJAIAUgBSgCDCIBRwRAIAUoAggiAkGkqQQoAgBJGiACIAE2AgwgASACNgIIDAELAkAgBUEUaiICKAIAIgQNACAFQRBqIgIoAgAiBA0AQQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiAkECdEHEqwRqIgQoAgBGBEAgBCABNgIAIAENAUGYqQRBmKkEKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiABNgIAIAFFDQELIAEgBjYCGCAFKAIQIgIEQCABIAI2AhAgAiABNgIYCyAFKAIUIgJFDQAgASACNgIUIAIgATYCGAsgAyAAQQFyNgIEIAAgA2ogADYCACADQaipBCgCAEcNAUGcqQQgADYCAA8LIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIACyAAQf8BTQRAIABBA3YiAUEDdEG8qQRqIQACf0GUqQQoAgAiAkEBIAF0IgFxRQRAQZSpBCABIAJyNgIAIAAMAQsgACgCCAshAiAAIAM2AgggAiADNgIMIAMgADYCDCADIAI2AggPC0EfIQIgA0IANwIQIABB////B00EQCAAQQh2IgEgAUGA/j9qQRB2QQhxIgF0IgIgAkGA4B9qQRB2QQRxIgJ0IgQgBEGAgA9qQRB2QQJxIgR0QQ92IAEgAnIgBHJrIgFBAXQgACABQRVqdkEBcXJBHGohAgsgAyACNgIcIAJBAnRBxKsEaiEBAkACQAJAQZipBCgCACIEQQEgAnQiB3FFBEBBmKkEIAQgB3I2AgAgASADNgIAIAMgATYCGAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiABKAIAIQEDQCABIgQoAgRBeHEgAEYNAiACQR12IQEgAkEBdCECIAQgAUEEcWoiB0EQaigCACIBDQALIAcgAzYCECADIAQ2AhgLIAMgAzYCDCADIAM2AggMAQsgBCgCCCIAIAM2AgwgBCADNgIIIANBADYCGCADIAQ2AgwgAyAANgIIC0G0qQRBtKkEKAIAQQFrIgBBfyAAGzYCAAsLiC8BC38jAEEQayILJAACQAJAAkACQAJAAkACQAJAAkACQAJAIABB9AFNBEBBlKkEKAIAIgVBECAAQQtqQXhxIABBC0kbIgdBA3YiAnYiAUEDcQRAIAFBf3NBAXEgAmoiA0EDdCIBQcSpBGooAgAiBEEIaiEAAkAgBCgCCCICIAFBvKkEaiIBRgRAQZSpBCAFQX4gA3dxNgIADAELIAIgATYCDCABIAI2AggLIAQgA0EDdCIBQQNyNgIEIAEgBGoiASABKAIEQQFyNgIEDAwLIAdBnKkEKAIAIgpNDQEgAQRAAkBBAiACdCIAQQAgAGtyIAEgAnRxIgBBACAAa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2aiICQQN0IgBBxKkEaigCACIDKAIIIgEgAEG8qQRqIgBGBEBBlKkEIAVBfiACd3EiBTYCAAwBCyABIAA2AgwgACABNgIICyADQQhqIQAgAyAHQQNyNgIEIAMgB2oiBCACQQN0IgEgB2siBkEBcjYCBCABIANqIAY2AgAgCgRAIApBA3YiAkEDdEG8qQRqIQFBqKkEKAIAIQkCfyAFQQEgAnQiAnFFBEBBlKkEIAIgBXI2AgAgAQwBCyABKAIICyEDIAEgCTYCCCADIAk2AgwgCSABNgIMIAkgAzYCCAtBqKkEIAQ2AgBBnKkEIAY2AgAMDAtBmKkEKAIAIglFDQEgCUEAIAlrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqQQJ0QcSrBGooAgAiASgCBEF4cSAHayEEIAEhAgNAAkAgAigCECIARQRAIAIoAhQiAEUNAQsgACgCBEF4cSAHayICIAQgAiAESSICGyEEIAAgASACGyEBIAAhAgwBCwsgASgCGCEIIAEgASgCDCIDRwRAIAEoAggiAEGkqQQoAgBJGiAAIAM2AgwgAyAANgIIDAsLIAFBFGoiAigCACIARQRAIAEoAhAiAEUNAyABQRBqIQILA0AgAiEGIAAiA0EUaiICKAIAIgANACADQRBqIQIgAygCECIADQALIAZBADYCAAwKC0F/IQcgAEG/f0sNACAAQQtqIgBBeHEhB0GYqQQoAgAiCUUNAEEAIAdrIQQCQAJAAkACf0EAIAdBgAJJDQAaQR8gB0H///8HSw0AGiAAQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgByAAQRVqdkEBcXJBHGoLIghBAnRBxKsEaigCACICRQRAQQAhAAwBC0EAIQAgB0EAQRkgCEEBdmsgCEEfRht0IQEDQAJAIAIoAgRBeHEiBSAHayIGIARPDQAgBiEEIAIhAyAFIAdHDQBBACEEIAIhAAwDCyAAIAIoAhQiBiAGIAIgAUEddkEEcWooAhAiAkYbIAAgBhshACABQQF0IQEgAg0ACwsgACADckUEQEEAIQNBAiAIdCIAQQAgAGtyIAlxIgBFDQMgAEEAIABrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqQQJ0QcSrBGooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAdrIgEgBEkhBiABIAQgBhshBCAAIAMgBhshAyAAKAIQIgIEfyACBSAAKAIUCyIADQALCyADRQ0AIARBnKkEKAIAIAdrTw0AIAMoAhghBSADIAMoAgwiAUcEQCADKAIIIgBBpKkEKAIASRogACABNgIMIAEgADYCCAwJCyADQRRqIgIoAgAiAEUEQCADKAIQIgBFDQMgA0EQaiECCwNAIAIhBiAAIgFBFGoiAigCACIADQAgAUEQaiECIAEoAhAiAA0ACyAGQQA2AgAMCAsgB0GcqQQoAgAiAk0EQEGoqQQoAgAhAwJAIAIgB2siAUEQTwRAQZypBCABNgIAQaipBCADIAdqIgA2AgAgACABQQFyNgIEIAIgA2ogATYCACADIAdBA3I2AgQMAQtBqKkEQQA2AgBBnKkEQQA2AgAgAyACQQNyNgIEIAIgA2oiACAAKAIEQQFyNgIECyADQQhqIQAMCgsgB0GgqQQoAgAiCEkEQEGgqQQgCCAHayIBNgIAQaypBEGsqQQoAgAiAiAHaiIANgIAIAAgAUEBcjYCBCACIAdBA3I2AgQgAkEIaiEADAoLQQAhACAHQS9qIgkCf0HsrAQoAgAEQEH0rAQoAgAMAQtB+KwEQn83AgBB8KwEQoCggICAgAQ3AgBB7KwEIAtBDGpBcHFB2KrVqgVzNgIAQYCtBEEANgIAQdCsBEEANgIAQYAgCyIEaiIFQQAgBGsiBnEiAiAHTQ0JQcysBCgCACIEBEBBxKwEKAIAIgMgAmoiASADTSABIARLcg0KC0HQrAQtAABBBHENBAJAAkBBrKkEKAIAIgMEQEHUrAQhAANAIAMgACgCACIBTwRAIAEgACgCBGogA0sNAwsgACgCCCIADQALC0EAEJMEIgFBf0YNBSACIQVB8KwEKAIAIgNBAWsiACABcQRAIAIgAWsgACABakEAIANrcWohBQsgBSAHTSAFQf7///8HS3INBUHMrAQoAgAiBARAQcSsBCgCACIDIAVqIgAgA00gACAES3INBgsgBRCTBCIAIAFHDQEMBwsgBSAIayAGcSIFQf7///8HSw0EIAUQkwQiASAAKAIAIAAoAgRqRg0DIAEhAAsgAEF/RiAHQTBqIAVNckUEQEH0rAQoAgAiASAJIAVrakEAIAFrcSIBQf7///8HSwRAIAAhAQwHCyABEJMEQX9HBEAgASAFaiEFIAAhAQwHC0EAIAVrEJMEGgwECyAAIgFBf0cNBQwDC0EAIQMMBwtBACEBDAULIAFBf0cNAgtB0KwEQdCsBCgCAEEEcjYCAAsgAkH+////B0sNAUGQogQoAgAiASACQQNqQXxxIgJqIQACQAJAIAJFIAAgAUtyBH8QzgYgAE8NASAAEAINAUGQogQoAgAFIAELIQBBpKcEQTA2AgBBfyEBDAELQZCiBCAANgIACxDOBiAASQRAIAAQAkUNAgtBkKIEIAA2AgAgAUF/RiAAQX9GciAAIAFNcg0BIAAgAWsiBSAHQShqTQ0BC0HErARBxKwEKAIAIAVqIgA2AgBByKwEKAIAIABJBEBByKwEIAA2AgALAkACQAJAQaypBCgCACIGBEBB1KwEIQADQCABIAAoAgAiAyAAKAIEIgJqRg0CIAAoAggiAA0ACwwCC0GkqQQoAgAiAEEAIAAgAU0bRQRAQaSpBCABNgIAC0EAIQBB2KwEIAU2AgBB1KwEIAE2AgBBtKkEQX82AgBBuKkEQeysBCgCADYCAEHgrARBADYCAANAIABBA3QiA0HEqQRqIANBvKkEaiICNgIAIANByKkEaiACNgIAIABBAWoiAEEgRw0AC0GgqQQgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQaypBCAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEGwqQRB/KwEKAIANgIADAILIAAtAAxBCHEgAyAGS3IgASAGTXINACAAIAIgBWo2AgRBrKkEIAZBeCAGa0EHcUEAIAZBCGpBB3EbIgBqIgI2AgBBoKkEQaCpBCgCACAFaiIBIABrIgA2AgAgAiAAQQFyNgIEIAEgBmpBKDYCBEGwqQRB/KwEKAIANgIADAELQaSpBCgCACABSwRAQaSpBCABNgIACyABIAVqIQNB1KwEIQICQANAIAMgAigCAEcEQEHUrAQhACACKAIIIgINAQwCCwtB1KwEIQAgAi0ADEEIcQ0AIAIgATYCACACIAIoAgQgBWo2AgQgAUF4IAFrQQdxQQAgAUEIakEHcRtqIgUgB0EDcjYCBCADQXggA2tBB3FBACADQQhqQQdxG2oiAyAFIAdqIghrIQcCQCADIAZGBEBBrKkEIAg2AgBBoKkEQaCpBCgCACAHaiIANgIAIAggAEEBcjYCBAwBCyADQaipBCgCAEYEQEGoqQQgCDYCAEGcqQRBnKkEKAIAIAdqIgA2AgAgCCAAQQFyNgIEIAAgCGogADYCAAwBCyADKAIEIgBBA3FBAUYEQCAAQXhxIQYCQCAAQf8BTQRAIAMoAggiAiAAQQN2IgBBA3RBvKkEakYaIAIgAygCDCIBRgRAQZSpBEGUqQQoAgBBfiAAd3E2AgAMAgsgAiABNgIMIAEgAjYCCAwBCyADKAIYIQkCQCADIAMoAgwiAUcEQCADKAIIIgAgATYCDCABIAA2AggMAQsCQCADQRRqIgAoAgAiBA0AIANBEGoiACgCACIEDQBBACEBDAELA0AgACECIAQiAUEUaiIAKAIAIgQNACABQRBqIQAgASgCECIEDQALIAJBADYCAAsgCUUNAAJAIAMgAygCHCICQQJ0QcSrBGoiACgCAEYEQCAAIAE2AgAgAQ0BQZipBEGYqQQoAgBBfiACd3E2AgAMAgsgCUEQQRQgCSgCECADRhtqIAE2AgAgAUUNAQsgASAJNgIYIAMoAhAiAARAIAEgADYCECAAIAE2AhgLIAMoAhQiAEUNACABIAA2AhQgACABNgIYCyAGIAdqIQcgAyAGaiEDCyADIAMoAgRBfnE2AgQgCCAHQQFyNgIEIAcgCGogBzYCACAHQf8BTQRAIAdBA3YiAUEDdEG8qQRqIQACf0GUqQQoAgAiAkEBIAF0IgFxRQRAQZSpBCABIAJyNgIAIAAMAQsgACgCCAshBCAAIAg2AgggBCAINgIMIAggADYCDCAIIAQ2AggMAQtBHyEAIAdB////B00EQCAHQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgByAAQRVqdkEBcXJBHGohAAsgCCAANgIcIAhCADcCECAAQQJ0QcSrBGohAwJAAkBBmKkEKAIAIgJBASAAdCIBcUUEQEGYqQQgASACcjYCACADIAg2AgAgCCADNgIYDAELIAdBAEEZIABBAXZrIABBH0YbdCEAIAMoAgAhAQNAIAEiAigCBEF4cSAHRg0CIABBHXYhASAAQQF0IQAgAiABQQRxaiIDQRBqKAIAIgENAAsgAyAINgIQIAggAjYCGAsgCCAINgIMIAggCDYCCAwBCyACKAIIIgAgCDYCDCACIAg2AgggCEEANgIYIAggAjYCDCAIIAA2AggLIAVBCGohAAwFCwNAAkAgBiAAKAIAIgJPBEAgAiAAKAIEaiIEIAZLDQELIAAoAgghAAwBCwtBoKkEIAVBKGsiA0F4IAFrQQdxQQAgAUEIakEHcRsiAGsiAjYCAEGsqQQgACABaiIANgIAIAAgAkEBcjYCBCABIANqQSg2AgRBsKkEQfysBCgCADYCACAGIARBJyAEa0EHcUEAIARBJ2tBB3EbakEvayIAIAAgBkEQakkbIgJBGzYCBCACQdysBCkCADcCECACQdSsBCkCADcCCEHcrAQgAkEIajYCAEHYrAQgBTYCAEHUrAQgATYCAEHgrARBADYCACACQRhqIQADQCAAQQc2AgQgAEEIaiEBIABBBGohACABIARJDQALIAIgBkYNACACIAIoAgRBfnE2AgQgBiACIAZrIgRBAXI2AgQgAiAENgIAIARB/wFNBEAgBEEDdiIBQQN0QbypBGohAAJ/QZSpBCgCACICQQEgAXQiAXFFBEBBlKkEIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgBjYCCCACIAY2AgwgBiAANgIMIAYgAjYCCAwBC0EfIQAgBkIANwIQIARB////B00EQCAEQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgBCAAQRVqdkEBcXJBHGohAAsgBiAANgIcIABBAnRBxKsEaiEDAkACQEGYqQQoAgAiAkEBIAB0IgFxRQRAQZipBCABIAJyNgIAIAMgBjYCACAGIAM2AhgMAQsgBEEAQRkgAEEBdmsgAEEfRht0IQAgAygCACEBA0AgASICKAIEQXhxIARGDQIgAEEddiEBIABBAXQhACACIAFBBHFqIgNBEGooAgAiAQ0ACyADIAY2AhAgBiACNgIYCyAGIAY2AgwgBiAGNgIIDAELIAIoAggiACAGNgIMIAIgBjYCCCAGQQA2AhggBiACNgIMIAYgADYCCAtBoKkEKAIAIgAgB00NAEGgqQQgACAHayIBNgIAQaypBEGsqQQoAgAiAiAHaiIANgIAIAAgAUEBcjYCBCACIAdBA3I2AgQgAkEIaiEADAMLQQAhAEGkpwRBMDYCAAwCCwJAIAVFDQACQCADKAIcIgJBAnRBxKsEaiIAKAIAIANGBEAgACABNgIAIAENAUGYqQQgCUF+IAJ3cSIJNgIADAILIAVBEEEUIAUoAhAgA0YbaiABNgIAIAFFDQELIAEgBTYCGCADKAIQIgAEQCABIAA2AhAgACABNgIYCyADKAIUIgBFDQAgASAANgIUIAAgATYCGAsCQCAEQQ9NBEAgAyAEIAdqIgBBA3I2AgQgACADaiIAIAAoAgRBAXI2AgQMAQsgAyAHQQNyNgIEIAMgB2oiBSAEQQFyNgIEIAQgBWogBDYCACAEQf8BTQRAIARBA3YiAUEDdEG8qQRqIQACf0GUqQQoAgAiAkEBIAF0IgFxRQRAQZSpBCABIAJyNgIAIAAMAQsgACgCCAshBCAAIAU2AgggBCAFNgIMIAUgADYCDCAFIAQ2AggMAQtBHyEAIARB////B00EQCAEQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgBCAAQRVqdkEBcXJBHGohAAsgBSAANgIcIAVCADcCECAAQQJ0QcSrBGohAgJAAkAgCUEBIAB0IgFxRQRAQZipBCABIAlyNgIAIAIgBTYCACAFIAI2AhgMAQsgBEEAQRkgAEEBdmsgAEEfRht0IQAgAigCACECA0AgAiIBKAIEQXhxIARGDQIgAEEddiECIABBAXQhACABIAJBBHFqIgZBEGooAgAiAg0ACyAGIAU2AhAgBSABNgIYCyAFIAU2AgwgBSAFNgIIDAELIAEoAggiACAFNgIMIAEgBTYCCCAFQQA2AhggBSABNgIMIAUgADYCCAsgA0EIaiEADAELAkAgCEUNAAJAIAEoAhwiAkECdEHEqwRqIgAoAgAgAUYEQCAAIAM2AgAgAw0BQZipBCAJQX4gAndxNgIADAILIAhBEEEUIAgoAhAgAUYbaiADNgIAIANFDQELIAMgCDYCGCABKAIQIgAEQCADIAA2AhAgACADNgIYCyABKAIUIgBFDQAgAyAANgIUIAAgAzYCGAsCQCAEQQ9NBEAgASAEIAdqIgBBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQMAQsgASAHQQNyNgIEIAEgB2oiBiAEQQFyNgIEIAQgBmogBDYCACAKBEAgCkEDdiICQQN0QbypBGohAEGoqQQoAgAhCQJ/QQEgAnQiAiAFcUUEQEGUqQQgAiAFcjYCACAADAELIAAoAggLIQMgACAJNgIIIAMgCTYCDCAJIAA2AgwgCSADNgIIC0GoqQQgBjYCAEGcqQQgBDYCAAsgAUEIaiEACyALQRBqJAAgAAu0AQEDfyAAQQFqIQICQAJAAkACQAJAIAAtAAAiAUHQswNqLQAAIgNBAWsOBAMCAQAEC0H9/wMPCyAAQQJqIQIgAC0AASABQQZ0aiEBCyACLQAAIAFBBnRqIQEgAkEBaiECC0H9/wNB/f8DIAItAAAgAUEGdGogA0ECdCIBQdC1A2ooAgBrIgAgAEF+cUH+/wNGGyAAQYBwcUGAsANGG0H9/wMgACABQeC1A2ooAgBxGyEBCyABC1EBAX8jAEEQayIEJAACQCAAKAIADQAgBCADNgIMIAIgAxDpBCICRQRAIABBBzYCAAwBCyAAIAEgAkEAQQBBABD0ATYCACACECMLIARBEGokAAsKACAAEJUBQQFKC80gARN/IwBBgAFrIgckACAAKAIIIQYgB0EANgJ8IAdBADYCeAJAAkACQAJAAkACQAJAAkADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABRQ0AAkAgAS0AACIFQeYAaw5QDw8PDw8PDw8PDwEaEQEBBwEBAQEBAQEBAQEBAQEBAQEBAQEBFgEBAQEBAQEBAQEBAQEBBggECR8BAQEBAQEBAQEDFAIFDBUQGhIKHRceARoACwJAIAVBE2sOJxEWAQEBAQEBAQEBAQEBAQEBCwEBAQEBAQ8PDAEBGRgTEw0NDQ0NDQALIAVBxwBGDR8gBUHNAEYNGgsgBkHKAEEAIAIQIhoMIQsgAS4BIiEEIAEoAigiAygCHCEFIAMtAABFBEAgBSAEQRRsaigCDCEDDCILIAMtAAFFDQAgBSAEQRRsaiIAKAIAIQEgBkHdACADKAIIIAAuARIgAhAkGiAALgEQIgBBAEgNICABKAIEIABB//8DcUEMbGotAAVBxQBHDSAgBkHWACACECwaDCALIAEtAARBCHEEQCAAIAEoAgwgAhD7ASEDAn8gASgCLCIABEAgACABLgEgELYEDAELIAEtAAELIgBBGHRBGHVBwgBIDSEgBkHfACADQQFBACAAQf8BcUEBdEGM+AJqQX8QMxoMIQsgASgCHCIFQQBIBEAgACgCNCIDQQBIBEAgAS8BICIEQRB0QRB1IglBAEgEQCADQX9zIQMMIwsgASgCLCIFIAkQiQEgA2shAyAFKAIEIARBDGxqIgEvAQoiBEHgAHEEQCAEQYACcQRAIAcgASgCADYCACAAQYfdASAHECZBACEDDCQLIAEgBEGAAnIiAjsBCiABIARBgAFxBH8gACAFIAEgAxDGByABLwEKBSACC0H//ANxOwEKDCMLIAEtAAVBxQBHDSIgBkHQACADIAIQIhogBkHWACACECwaDCELIANBAWshBQsgAS0AAiEDIAAoAgggASgCLCAFIAEuASAgAhClAQJAIANFDQAgACgCCEF/EIgBIgAtAABB3QBHDQAgACADOwECCyACIQMgASgCLA0gIAEtAAFBxQBHDSAgBkHWACADECwaDCALIAAgAUEAIAIQ8gsMHgsgBkHHACABEMkFIAIQIhoMHQsgBiABKAIIQQAgAhDFBwwcCyAGIAIgASgCCBCwARoMGwsgBkHMACABKAIIQQJqIgAQMUEBayIBQQJtIAJBACAGKAIAIAAgARCKCEF5EDMaDBoLIAZBzQAgAS4BICACECIaIAEoAggtAAFFDRkgACgC4AEiACABLgEgENQJIQEgAEEANgIAIAYgAUF/EJABDBkLIAEoAhwhAwwZCyACIAAgASgCDCACEPsBIgBHBEAgBkHQACAAIAIQIhoLIAZB1wAgAiABKAIIQQAQzAQQIhoMFwtBNUE0IAVBLUYbIQVBASEJQYABDAELQQALIQsgASgCDCIDEPoBBEAjAEEQayIDJAAgASgCECEGIAAoAgghBCABKAIMIg0QlQEhCiAAEDIhCQJAIAAoAiQNACABKAIEIQEgBhCVASAKRwRAIABB9PQAQQAQJgwBCyABQQl2QQFxIREgACANEO4LIRIgACAGEO4LIRMgBEHHAEEBIAIQIhpBNUE2QTggBSAFQTdGGyAFQTlGGyAFQTRGGyEBIApBAmshFCAKQQFrIQogC0GAAUchFQNAIANBADYCDCADQQA2AgggA0EANgIEIANBADYCACAMBEAgBCAMECoLIAAgDSAIIBIgA0EEaiADQQxqEO0LIQ4gACAGIAggEyADIANBCGoQ7QshDyAEKAJ0IQwgACADKAIEIAMoAgAgAUH/AXEiECAOIA8gCSALIBEQyAUgACADKAIMED4gACADKAIIED4CQAJAIBBBNmsOAwABAAELIAggCk4NACAEQToQWCEMCwJAIBVFBEAgBEHHAEEAIAIQIhoMAQsgBEHbACAOIAIgDxAkGgsgCCAKRwRAAn8gEEE1RgRAIARBMyACIAkQIhpBNQwBCyAEQQtBACAJECIaIAUgASAIIBRGGwshASAIQQFqIQgMAQsLIAQgDBAqIAQgCRA0IAVBNEcNACAEQRMgAiACECIaCyADQRBqJAAMEwsgACADIAdB/ABqEIcBIQQgACABKAIQIAdB+ABqEIcBIQggBkHHAEEBIAIQIhogACADIAEoAhAgBSAEIAggBigCdEECaiALIAEoAgRBCXZBAXEQyAUgCQRAIAZBxwBBACACECIaDBMLIAZB2wAgBCACIAgQJBoMEgsgACABKAIMIAdB/ABqEIcBIQMgBiAFIAAgASgCECAHQfgAahCHASADIAIQJBoMEQsCQAJAAkAgASgCDCIDLQAAQZkBaw4DAQIAAgsgACADQQEgAhDyCwwUCyAGIAMoAghBASACEMUHDBMLIAdCgIgBNwJEIAdBmwE6AEAgACAHQUBrIAdB/ABqEIcBIQMgBkHrACAAIAEoAgwgB0H4AGoQhwEgAyACECQaDBALIAYgBSAAIAEoAgwgB0H8AGoQhwEgAhAiGgwPCyAGQdoAIAAgASgCDCAHQfwAahCHASACIAEoAhAQyQUiA0UgAyABLQACQS1GcxA4GgwOCyAGQccAQQEgAhAiGiAGIAUgACABKAIMIAdB/ABqEIcBECwhASAGQccAQQAgAhAiGiAGIAEQKgwNCwJAAkAgASgCKCIDRQ0AIAEuASIiBEEASA0AIAMoAiwgBEoNAQsgByABNgIQIABBq8sBIAdBEGoQJgwNCyADKAIoIARBFGxqKAIIIQMMDwsgAS0AB0EBcQRAIAEoAiwoAjghAwwPCyAAKAIAIg0tAFQhAwJAIAAtABdFDQAgARDHBUUNACAAIAFBfxDGBSEDDA8LIAEoAhQiBARAIAQoAgAhCAsCQCANIAEoAgggCCADQQAQhgIiA0UNACADKAIUDQAgAygCBCIFQYCAgAJxBEAgAygCCCEFIwBBQGoiAyQAIAAoAgghAQJAAkACQAJAAkACQAJAAkAgBQ4GAAUEAwYBAgsgBCgCACEFIAAQMiEGIAAgBCgCCCACEG0gBUEBIAVBAUobIQVBASEJA0AgBSAJRwRAIAFBMyACIAYQIhogACAEIAlBBHRqKAIIIAIQbSAJQQFqIQkMAQsLIAEQ7wsgASAGEDQMBgsgA0EIaiIBQQBBNBAoGiADIAQ2AhwgA0GdAToACCAAIAEgAhD7ASECDAULIAAgBCgCCCACEPsBIQIMBAsgAUHHAEEAIAQoAgggBCgCGEF/EGsgAhAiGgwDCyABQccAIAAgBCgCCCAEKAIYQX8QxAUgAhAiGgwCCyAEKAIYIgAtAABBpwFGBEAgAUHHACAEKAIIIAAoAhwQ3gUgAhAiGgwCCyABQcoAQQAgAhAiGgwBCyABIAIgBCgCCBCGASIAQcEATgR/IABB/wFxQQJ0QZz3AmooAgAFQZrmAAsQsAEaCyADQUBrJAAgAiEDDBALIAVBgICgAXEEQCAAIAEgAxDxCwsgCEEAIAhBAEobIQtBACEFA0AgBSALRwRAAkAgBUEfSw0AIAQgBUEEdGooAggQ7wFFDQAgDEEBIAV0ciEMCyADLQAEQSBxRSAJckUEQCAAIAQgBUEEdGooAggQvwEhCQsgBUEBaiEFDAELCwJAIARFBEBBACEFDAELAn8gDARAIAAgACgCLCIFIAhqNgIsIAVBAWoMAQsgACAIEIIBCyEFAkAgAygCBEHAAXEiC0UNAAJAIAQoAggiCi0AAEGnAWsOAwABAAELIAogCzoAAgsgACAEIAVBAEEDEI4DCwJAAn8CQCAIQQJOBEAgAS0ABEGAAXFFDQEgBEEYagwCCyAIQQFHDQILIARBCGoLKAIAIQQjAEEQayILJAAgC0EANgIMIAtBADYCCAJAAkAgBEUNACAELQAAQacBRw0AIAQoAiwiBEUNACAELQArQQFHDQAgDSAEELUBKAIIIgQoAgAoAkgiCkUNACAEIAggAygCICALQQxqIAtBCGogChEHAEUNACANIAMoAiAQMUEpaq0QQSIERQ0AIAQgA0EoECciCiAKQShqIg42AiAgDiADKAIgIgMgAxAxQQFqECcaIAogCygCDDYCECAKIAsoAgg2AgggCiAKKAIEQRByNgIEDAELIAMhBAsgC0EQaiQAIAQhAwsgAy0ABEEgcQRAIAZB1ABBAEEAQQAgCQR/IAkFIA0oAggLQX4QMxoLIAAgDCAFIAIgCCADIAEtAAIQtQQgCEUgDHINDiAAIAUgCBCkAQwOCyAHIAE2AiAgAEGTywEgB0EgahAmDAsLIAAoAgAtAFcNDQJAAkAgBUGKAUcNACABLQAFQQhxRQ0AIAEoAhQoAhwoAgAiA0EBRw0BCyAAIAEQtAQhAwwOCyAAIANBARDEBwwKCyABKAIMIgUoAhxFBEAgACAFELQEIQIgASgCDCIFIAI2AhwLIAEoAhwiAiAFEJUBIgNHBH8gByADNgI0IAcgAjYCMCAAQfsmIAdBMGoQJiABKAIMBSAFCygCHCABLgEgaiEDDAwLIAAQMiEDIAAQMiEEIAZBygBBACACECIaIAAgASADIAQQxQUgBkHHAEEBIAIQIhogBiADEDQgBkHVACACQQAQIhogBiAEEDQMCgsgACABIAJBAEEAEMMHDAkLIAEoAgwhAQwBCwsgBkGcASABKAIsIgMgAS4BICIEEIkBIAEoAhwgAy4BIkEBamxqQQFqIAIQIhogBEEASA0EIAMoAgQgBEH//wNxQQxsai0ABUHFAEcNBCAGQdYAIAIQLBoMBAsgAEH09ABBABAmDAMLIAAtABchBSAGQRYgASgCHBAsIQQgAEEAOgAXIAAgASgCDCACEPsBIQMgACAFOgAXIAYgBBAqIAYgBCADENkDDAMLIAAoAgAhAyABKAIUIgQoAgAhCCAAEDIhC0EAIQUgASgCDCIKBEAgAyAKQQAQNSEMIAMtAFcEQCADIAwQLwwDCyAMIAAgDCAHQfwAahDCBxDwCyAHQUBrIglBAEE0ECgaIAcgDDYCTCAHQTU6AEAgB0EANgJ8CyAIQQFrIQ0DQCAFIA1IBEAgBCAFQQR0Ig5qKAIIIQECQCAKRQRAIAEhCQwBCyAHIAE2AlALIAAgCSAAEDIiAUEQEHcgACAEIA5BEHJqKAIIIAIQbSAGIAsQWhogBiABEDQgBUECaiEFDAELCwJAIAhBAXEEQCAAIAQgDUEEdGooAgggAhBtDAELIAZBygBBACACECIaCyADIAwQLyAGEO8LIAYgCxA0DAELAkAgACgCeA0AIAAtABINACAAQZfVAEEAECYMBAsgAS0AASIFQQJGBEAgABCRASABLQABIQULIAVB/wFxQQRGBEAgBkHGAEEAQQRBACABKAIIQQAQMxoMAQsgAEGTDkEBIAAoAngbIAVBGHRBGHUgASgCCEEAQQAQ0gMLIAIhAwsgACAHKAJ8ED4gACAHKAJ4ED4MAQsgAiEDCyAHQYABaiQAIAML6QQBBH8jAEEQayIGJAAgACgCCCEFIAZBADYCDCAGQQA2AgggAUUgBUVyRQRAAn8CQAJAAkACQAJAAkACQAJAAkAgAS0AACIEQStrDg8BAQMICAYHBQUEBAQEBAQACwJAIARBqwFrDgUDCAgIAgALIARBE0cNByAAIAEoAgwgAiADEHdBAAwICyABIAEQwgUiB0cEQCAAIAcgAiADEPwBQQAMCAsgBEEsRgRAIAAQMiEEIAAgASgCDCAEIANBEHMQdyAAIAEoAhAgAiADEPwBIAUgBBA0QQAMCAsgACABKAIMIAIgAxD8ASAAIAEoAhAgAiADEPwBQQAMBwsgAS0AAkGrAUYiBUEEdCEDIAEoAgwhBCABKAIQEMkFIAVHBEAgACAEIAIgAxD8AUEADAcLIAAgBCACIAMQd0EADAYLQTVBNCAEQS1GGyEEQYABIQMLIAEoAgwiBxD6AQ0DIAAgByAGQQxqEIcBIQUgACABKAIQIAZBCGoQhwEhByAAIAEoAgwgASgCECAEIAUgByACIAMgASgCBEEJdkEBcRDIBSAGKAIIDAQLIAUgBCAAIAEoAgwgBkEMahCHASACECIaQQAMAwsgACABIAJBPiADEMMHQQAMAgsgACABIAAQMiIBIAIgASADGxDFBSAFIAIQWhogBSABEDRBAAwBCyABKAIEIgdBgYCAgAFxQYCAgIABRgRAIAUgAhBaGkEADAELQQAgB0GBgICAAnFBgICAgAJGDQAaIAVBEiAAIAEgBkEMahCHASACIANBAEcQJBpBAAshBCAAIAYoAgwQPiAAIAQQPgsgBkEQaiQAC6ICAQh/IwBBIGsiAiQAAkAgAQRAIAAoAgAhAyACIAA2AhggAkEANgIMIAJBOTYCCCACQTg2AgQgAiADNgIAIAAgACgCGCIEQe/f/b9/cSIFNgIYIARBkKCCwABxIQYDQCABKAIAIAdKBEAgASAHQQR0aigCCCIEBEAgAyADKALYASAEKAIYaiIFNgLYAUECIQggAyAFEMQEDQQgAiAEEEwaIAIoAgAiAyADKALYASAEKAIYazYC2AEgACgCGCIFQZCggsAAcSIJBEAgBCAEKAIEIAVBkIACcXI2AgQgACAFQe/f/b9/cSIFNgIYIAYgCXIhBgsgAygCJEEASg0ECyAHQQFqIQcMAQsLIAAgBSAGcjYCGAtBACEICyACQSBqJAAgCAs/AQJ/An8gAigCACIDBEAgACgCACIEKAIQIAQgAxBUQQR0agwBCyACQQRqCyEDIAAgASACKAIIIAMoAgAQqgILDgAgAEHM8wMoAgARAQALxwEBAn8CQCAAKAIAIAIoAgQiBEE1aq0QUyIDRQ0AIANBgICABDYCBCADIAE6AAAgA0EANgIoIANCADcCDCADQgA3AiwgA0EANgIUIANCgICAgICAQDcCHCADQQA7AAEgAyADQTRqIgE2AgggASACKAIAIgEgBBAnIARqQQA6AAAgAyABIAAoAugBazYCJCADKAIILQAAQfDqAWosAABBAEgEQCADEOgHCyADQQE2AhggAC0A0AFBAkkNACAAIAMgAhDwARoLIAMLCgAgACgCBCgCJAsvAQF/IwBBEGsiASQAIAFBADYCDCAAIAFBDGoQ0gIaIAEoAgwhACABQRBqJAAgAAsaACAAIAEgAiADQf/+oQhxIAQgACgCGBEHAAsTACAAQQZ2QQFxQQlsIABqQQ9xC0UAAn8CQCAARQ0AIAAoAuQCIAFNDQBBgAEgACgC3AIgAU0NARogACgC4AIgAUsNACAALwG2Ag8LIAFBzPMDKAIAEQEACwvkAgEGfyABEDEhCSAAQZwDaiIKIAEQfCEFA0AgBQRAIAUgAiADELcJIgggByAHIAhIIggbIQcgBSAGIAgbIQYgBSgCDCEFDAELCwJAAkACfwJAIAQNACAGBEBBACAALQAYQQJxRQ0CGgtBACEHIAkgAS0AAEHw5wFqLQAAakEXbyABELYJIQUDQCAFRQ0BIAUgAiADELcJIgggByAHIAhIIggbIQcgBSAGIAgbIQYgBSgCDCEFDAALAAsgBEUgB0EFSnJFBEAgACAJQSlqrRBBIgRFDQIgBCADNgIEIAQgAjoAACAEIARBKGoiBTYCICAFIAEgCUEBahAnGgNAIAUtAAAiAQRAIAUgAUHw5wFqLQAAOgAAIAVBAWohBQwBCwsgBCAKIAQoAiAgBBCpASIBRgRAIAAgBBAlIAAQTRoMAwsgBCABNgIMIAQPCyAGRQ0BIAQLDQEgBigCEA0BC0EAIQYLIAYLLwAgACgCAC0AV0UEQCAAKAJ8IAAvAZgBIAJsIAFqQShsaiADQn9BASAEEMoBGgsLUQECfwJAIAAoAgAiAS0AsQENACABIABBBGoQtwYiAgRAIAAgAjYCDCAAIAAoAiRBAWo2AiQgAg8LIAEtAF9FDQAgASABKAIYQRByNgIYC0EACxQAIAAgARC6AhArIQEgABC2AiABCxUAIAAgARC6AhCLAiEBIAAQtgIgAQtOAQF/An8gAC8BCCIBQRJxBEAgACABQYCAAXEEf0EAIAAQ5QENAhogAC8BCAUgAQtBEHI7AQggACgCDEUEQEEADwsgACgCEA8LIAAQKwsLyQEBBH8DQCAAIgEEQCABKAIMIgANASABKAIQIgANAQsLA0AgASIABEAgACgCCCECAkAgACgCFCIBRQ0AIAEoAgAQIyABEL8DIAFBAEEoECghA0EAIQEDQCABIAMoAkBODQEgAyABQRhsaiIEKAJcEPUGIARBADYCXCABQQFqIQEMAAsACyAAKAIoECMgABAjQQAhASACRQ0BIAAgAiIBKAIMRw0BIAEoAhAiAEUNAQNAIAAiASgCDCIADQAgASgCECIADQALDAELCwt8AQF/IwBBEGsiBCQAIAAoAgBFBEAgBCADNgIMAkAgAiADEOkEIgIEQCABKAIAIgNFBEAgAiEDDAILIAQgAjYCBCAEIAM2AgBB5ywgBBBJIQMgAhAjIAMNAQsgAEEHNgIAQQAhAwsgASgCABAjIAEgAzYCAAsgBEEQaiQAC0UBAX8gACwAACIBRQRAQQAPCyABQeEAayIBQRhHBEAgAUGQqQNqLAAADwtBASEBIAAtAAEEfyAAQQFqEP8CQQBHBUEBCwsXACADrCACrCAANAKAAiABrH58QgqGfAsRACAAIAEgACgCACgCEBELAAsTACAAKAL8ARD8BCAAQQA2AvwBCxkBAX8gABBKIgEEQCABQQAgAKcQKBoLIAELGgECf0Gg9QMoAgAiAgR/IAAgAhEBAAVBAAsLFQAgAEEAOgAZIAAgATYCACAAEIsHCxIAIAFFBEBCAA8LIAAgARCyBQs8AgF/AX4CQCABRQ0AA0AgAiABKAIATg0BIAAgASACQQR0aigCCBCVAiADhCEDIAJBAWohAgwACwALIAMLXAICfwF+QgEhBCABIAAoAghHBH4gACgCBCICQQEgAkEBShshA0EBIQIDfiACIANGBEBCAA8LIAEgACACQQJ0aigCCEYEfkIBIAKthgUgAkEBaiECDAELCwVCAQsLNAEBfwJ/IAAoAhQiAUHz0vCMA0cEQEEAIAFBo5vI7wJHDQEaCyAAEP4JCyEBIAAQ/QkgAQs8AQF/IAAtABxBIHEEQCAAKAIUIgEgASgCgAFBAWs2AoABIAAgASgCkAE2AhAgASAANgKQAQ8LIAAQsgYLhwEBA38CQCAAKAIAIAEoAgAiBCACayADQQFqEI0DIgVFDQAgBCACIAIgBEgbIQQgASACQQR0akEIaiEDIAIhAQNAIAEgBEYNASAFIAEgAmsiBkECdGogACADKAIAELICNgIUIAUoAhAgBmogAy0ACDoAACADQRBqIQMgAUEBaiEBDAALAAsgBQtFAQF/IAAoAgBCDBCMASIDBEAgAyAAKAKAATYCACAAIAM2AoABIAMgATYCCCADIAI2AgQgAg8LIAAoAgAgAiABEQUAQQALlgUBCX8jAEEQayIGJAAgACgCACEDAkAgAS0AK0EBRgRAIAMgAygCOEEBajYCOCMAQSBrIgIkAAJAIAAoAgAiBSABELUBDQAgBUGAA2ogASgCMCgCABB8IgRFBEAgAiABKAIwKAIANgIAIABBxjwgAhAmQQEhBAwBCyACQQA2AhwgBSABIAQgBCgCACgCCCACQRxqEIMGIQQgAigCHCEBIAQEQCACIAE2AhAgAEHUwAAgAkEQahAmIAAgBDYCDAsgBSABECULIAJBIGokACADIAMoAjhBAWs2AjgMAQsgAS4BIiICQQBKDQAgAkEASARAIAYgASgCADYCACAAQY73ACAGECZBASEEDAELAkAgAyABKAIsQQAQ0QEiBUUEQEEBIQQMAQsgAC0A0AEhCCAAQQA6ANABIAAoAighCSAAIAUoAiAQvAUgAUEiaiIHQf//AzsBACADQQA7AbQCIAMoAugCIQogA0EANgLoAkEBIQQgAyADKAKwAkEBajYCsAIgACAFQcAAEOQFIQIgAyAKNgLoAiAAIAk2AigCQCACRQRAIAdBADsBAAwBCyABKAIQIgQEQCAAIAQgByABQQRqEL4FQQAhBCAAKAIkDQEgBSgCHCgCACAHLgEARw0BIAAgASAFQcAAELsHDAELIAEgAi8BIjsBIiABIAIoAgQ2AgQgASABKAIcIAIoAhxB4gBxcjYCHEEAIQQgAkEANgIEIAJBADsBIgsgASABLwEiOwEkIAMgAhDTASADIAUQZiADIAMoArACQQFrIgI2ArACIAMgAgR/QQAFIAMvAbYCCzsBtAIgACAIOgDQAQsgASgCPCIAIAAvAU5BAnI7AU4gAy0AV0UNACADIAEQ8wULIAZBEGokACAEC04BAn8gAC8BNCEDIAFB//8DcSEBA0ACQCACIANGBEBB//8DIQIMAQsgACgCBCACQQF0ai8BACABRg0AIAJBAWohAgwBCwsgAkEQdEEQdQtYAQR/A0ACQCADIAAoAhRODQAgACgCECADIANBAklzIgVBBHRqKAIMIQYCQCACBEAgACAFIAIQ0ARFDQELIAZBGGogARB8IgQNAQsgA0EBaiEDDAELCyAEC44CAQR/IAFC/wBYBEAgACABPAAAQQEPCyABQv//AFgEQCAAIAGnIgNB/wBxOgABIAAgA0EHdkGAAXI6AABBAg8LIwBBEGshBQJAIAFCgICAgICAgIABVARAA0AgAyICIAVBBmpqIAGnQYABcjoAACACQQFqIQMgAUL/AFYhBCABQgeIIQEgBA0ACyAFIAUtAAZB/wBxOgAGQQAhBANAIAMgBEYNAiAAIARqIAVBBmogAmotAAA6AAAgBEEBaiEEIAJBAWshAgwACwALIAAgATwACCABQgiIIQFBByECA38gAkEASAR/QQkFIAAgAmog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IAUQxgEiATYCFCABDQAgACgCEBAjIAAoAhQhAQsgACABNgIQQQAhAgwBCyAEQQBKBEAgACgCICAAKAIUEGULIAAgACgCICABrBCMASIBNgIUCyABRQRAIAAQZCAAQQA2AhggAEEANgIQQQcPCyAAIAAoAiAgARCFAjYCGAJAIAJFDQAgACgCECIBRQ0AIAAoAhQgASAAKAIMECcaCyAALwEIIgFBgAhxBEAgACgCECAAKAIkEQMAIAAvAQghAQsgACAAKAIUNgIQIAAgAUH/xwNxOwEIQQAL2QMCAn4CfyMAQSBrIgQkAAJAIAFC////////////AIMiA0KAgICAgIDAgDx9IANCgICAgICAwP/DAH1UBEAgAUIEhiAAQjyIhCEDIABC//////////8PgyIAQoGAgICAgICACFoEQCADQoGAgICAgICAwAB8IQIMAgsgA0KAgICAgICAgEB9IQIgAEKAgICAgICAgAiFQgBSDQEgAiADQgGDfCECDAELIABQIANCgICAgICAwP//AFQgA0KAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgA0L///////+//8MAVg0AQgAhAiADQjCIpyIFQZH3AEkNACAEQRBqIAAgAUL///////8/g0KAgICAgIDAAIQiAiAFQYH3AGsQqgEgBCAAIAJBgfgAIAVrEPsCIAQpAwhCBIYgBCkDACIAQjyIhCECIAQpAxAgBCkDGIRCAFKtIABC//////////8Pg4QiAEKBgICAgICAgAhaBEAgAkIBfCECDAELIABCgICAgICAgIAIhUIAUg0AIAJCAYMgAnwhAgsgBEEgaiQAIAIgAUKAgICAgICAgIB/g4S/C9MBAgF/An5BfyEEAkAgAEIAUiABQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACACQgBSIANC////////////AIMiBkKAgICAgIDA//8AViAGQoCAgICAgMD//wBRGw0AIAAgAoQgBSAGhIRQBEBBAA8LIAEgA4NCAFkEQCAAIAJUIAEgA1MgASADURsNASAAIAKFIAEgA4WEQgBSDwsgACACViABIANVIAEgA1EbDQAgACAChSABIAOFhEIAUiEE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aiIFQQF0QcClAmovAQAgA0YNASADQQF0QaCWAmovAQAiBQ0ACyADQf//A3FFIAdB5QBqIgNBAXRBwKUCai8BAEHlAEdyRQRAIANBAXRB4MgCagwCCyAGQQF0QZDpAmoMAQsgBUEBdEHgyAJqCy8BAAUgBgtB//8DcSIFQdQJTwRAAkAgBUHMjwJqLQAADQAgEigCACASKAK4CUkNACASEIkIDAMLIBUgESkCGDcDAEEAIQNBACEGQQAhCkEAIQhBACEHQQAhCyMAQbABayINJAAgEigCACECAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAFQdQJayIdDtQCAAECAwQFBQUGBgcICQoLDA0ODA8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSoMKywtLi8wMTIzNDU2NzgMOToWOxw8PT4/DEBBQDhCQ0Q5DEVGR0hJSktMTUxOT1BRUlMMVFVWV1gWWVpbWVxdXl9gWGFiY2RlZmdoaWprbGBtbm9wVHFyc3R1dnd4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AAsgASAAQf4BIABB/gFIG0EBajoABgsgB0EQaiQAIAVBGHRBGHULTAEBfyABBEADQCABKAIQIQIgACABKAIAEDogACABKAIEEC8gACABKAIIEDogACABKAIMEC8gACABKAIYECUgACABECUgAiIBDQALCwsIACAAECNBAAseAQF/A0AgAARAIAFBAWohASAAKAIAIQAMAQsLIAELMAAgACgCECABQQR0aigCACACEDBFBEBBAQ8LQQAhACABBH9BAQVBxNMAIAIQMAtFCzcBAX8gAQRAA0AgAiABKAIATkUEQCAAIAEgAkEYbGpBDGoQowggAkEBaiECDAELCyAAIAEQJQsLUQAgAQRAIAEQggYgACABKAIoEC8gACABKAIIEDogACABKAIMEDogACABKAIcEC8gACABKAIYEC8gACABKAIAECUgACABKAIEECUgACABECULC6sBAQF/AkAgASgCBEGAgIEEcQ0AAkAgASgCDCICRQ0AIAEtAABBsgFGDQAgACACENMECyABKAIQIgIEQCAAIAIQ0wQMAQsgAS0ABUEIcQRAIAAgASgCFBBmDAELIAAgASgCFBA6IAEtAAdBAXFFDQAgACABKAIsENIECyABKAIEIgJBgIAEcQR/IAAgASgCCBAlIAEoAgQFIAILQYCAgMAAcUUEQCAAIAEQZQsL1QEBAn8jAEEQayIFJAACQAJAIAEgACgCMEsEQEGZlgQQKSEEDAELIAAoAgAgASAFQQxqIAQQpwEiBA0AIAIgBSgCDCIEKAIIIgY2AgACQCAGLQAARQRAIAQgASAAEJsGGiACKAIAEK0DIgQNAQtBACEEIANFDQIgAigCACIALwEYBEAgAC0AASADLQBFRg0DC0GulgQQKSEECyACKAIAEE4LIANFDQAgAyADLQBEQQFrIgA6AEQgAyADIABBGHRBGHVBAnRqKAJ4NgJ0CyAFQRBqJAAgBAtjAQF/IAAoAgQhAiAAEEsgAigCACgC5AEhAAJAIAFFBEAgACgCFCEBDAELIAFBAEgEQEIAIAGsQgqGfSAAKAIcIAAoAhhqrH+nIQELIAAgATYCFAsgABDwBCIAIAEgACABShsLNwAgACABKAIkEC8gACABKAIoEDogACABKAIQECUgAS0AN0EQcQRAIAAgASgCIBAlCyAAIAEQJQvjBQEIfyMAQRBrIgkk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QYIEcUGCBEcNACAALQAKIAFHDQAgACgCEA8LIANBAXENACAAIAEQ4wkhAgsgAgtIAQJ/An8gAUEfTQRAIAAoAgAhAiAAQQRqDAELIAFBIGshASAACygCACEDIAAgAiABdDYCACAAIAMgAXQgAkEgIAFrdnI2AgQLnwIBBX8jAEHwAWsiBiQAIAYgAjYC7AEgBiABNgLoASAGIAA2AgBBASEJAkACQAJAIAFBAUcgAnJFBEAgACEHDAELIAAhCANAIAggBSADQQJ0aiIKKAIAayIHIABB5QARAABBAEwEQCAIIQcMAgsCQCAEIANBAkhyRQRAIApBCGsoAgAhBCAIQQRrIgogB0HlABEAAEEATg0BIAogBGsgB0HlABEAAEEATg0BCyAGIAlBAnRqIAc2AgAgBkHoAWogASACEPAJIgEQjAUgCUEBaiEJIAEgA2ohA0EAIQQgByEIIAYoAuwBIgIgBigC6AEiAUEBR3INAQwDCwsgCCEHDAELIAQNAQsgBiAJEO8JIAcgAyAFEM8GCyAGQfABaiQAC0gBAn8CfyABQR9NBEAgACgCBCECIAAMAQsgAUEgayEBIABBBGoLKAIAIQMgACACIAF2NgIEIAAgAkEgIAFrdCADIAF2cjYCAAvMCQIEfgR/IwBB8ABrIgokACAEQv///////////wCDIQUCQAJAIAFQIgkgAkL///////////8AgyIGQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIAZQG0UEQCADQgBSIAVCgICAgICAwP//AH0iCEKAgICAgIDAgIB/ViAIQoCAgICAgMCAgH9RGw0BCyAJIAZCgICAgICAwP//AFQgBkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIAZCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIJGyEEQgAgASAJGyEDDAILIAMgBUKAgICAgIDA//8AhYRQDQEgASAGhFAEQCADIAWEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAWEUEUNACABIQMgAiEEDAELIAMgASABIANUIAUgBlYgBSAGURsiDBsh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AjYCECADIAU2AgwgBSADNgIIIAIgAzYCCCADKAIIIQ1BACEFIANBADYCCCADIQIgDSEDCyAMIAU2AgAgBEEBaiEEDAELCyACRQ0BIAIQjAJBEiEFC0EAIQQgAUEAIAFBAEobIQEDQCABIARGDQMgCSAEQQJ0aigCABCMAiAEQQFqIQQMAAsACyAHBEAgB0EQaiECA0AgAigCACIEQQxqIQIgBCgCACAKRg0ACyAGIAQ2AgwgBygCECICIAcoAgg2AgggBygCCCIFBEAgBSACNgIMIAghAgsgByADNgIIIAchAwwBCwtBACEFIAFBACABQQBKGyEIQQAhAkEAIQQDQCAEIAhGDQIgCSAEQQJ0aiIHKAIAIgEEQAJAIAJFBEAgASECDAELIAMgAjYCECADIAcoAgAiATYCDCABIAM2AgggAiADNgIIIAMiAigCCCEDCyACQQA2AggLIARBAWohBAwACwALA0AgAwRAIAMoAgghASADECMgASEDDAELCyAIIQILIAkQIwwDBSAEKAIMIQQMAQsACwALIApBAkcNAiAGIAIoAgwiCDYCCCAGIAIoAhAiAzYCBCACQgA3AgwgCEEANgIIIANBADYCCAJAIAZBCGogAUEBayIBEJkFIgUEfyADBSAGQQRqIAEQmQUiBUUNASAGKAIECxCMAiAGKAIIEIwCDAELIAIgBigCCCIBNgIMIAEgAjYCCCACIAYoAgQiATYCECABIAI2AghBACEFCyAFDQBBACEFDAELIAIQjAJBACECCyAAIAI2AgAgBkEQaiQAIAUL4AEBA38jAEEQayIDJAACQAJAA0AgAQ0BIAAoAoACIAJKBEBBACAAIAAoApgCIAJBfxDuBiIBIAFB5QBGGyEBIAJBAWohAgwBCwsgABChBEEAIQEgAC0A7QFFDQEgACgCMEH/AUcNASAAKAI0RQ0BQQAhAiADQQA2AgwgAEEWIANBDGpBABBSIgENASADKAIMIgFBAUECEHQaAkACQAJAIAEQQ0HkAGsOAgABAgtBCCABQQAQvQEiAiACQQFGGyECCyAAIAI2AjALIAEQOSEBDAELIAAQoQQLIANBEGokACABC5gBAQN/IAEtAAdFBEBBAA8LAkACQCABELkKIgINACABKAIAIgMgAygCOEEBajYCOCABKAIMQQEgASkDIBBXGiABQQA6AAcgASgC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oKMiBCAAIABEAAAAAAAA4D+ioiIGIAQgBKIiBCAEoiIAIAAgAESfxnjQCZrDP6JEr3iOHcVxzD+gokQE+peZmZnZP6CiIAQgACAAIABERFI+3xLxwj+iRN4Dy5ZkRsc/oKJEWZMilCRJ0j+gokSTVVVVVVXlP6CioKCiIANEdjx5Ne856j2iIAWgoCAGoaCgCw8LIAALfwIBfgJ/IwBBEGsiAyQAIAACfiABUARAQgAMAQsgAyABIAFCP4ciAoUgAn0iAkIAIAJ5pyIEQTFqEKoBIAMpAwhCgICAgICAwACFQb6AASAEa61CMIZ8IAFCgICAgICAgICAf4OEIQIgAykDAAs3AwAgACACNwMIIANBEGokAAu2DwIFfw5+IwBB0AJrIgUkACAEQv///////z+DIQogAkL///////8/gyEMIAIgBIVCgICAgICAgICAf4MhDSAEQjCIp0H//wFxIQgCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAIQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg9CgICAgICAwP//AFQgD0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCENDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQ0gAyEBDAILIAEgD0KAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACENDAMLIA1CgICAgICAwP//AIQhDUIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASAPhFAEQEKAgICAgIDg//8AIA0gAiADhFAbIQ1CACEBDAILIAIgA4RQBEAgDUKAgICAgIDA//8AhCENQgAhAQwCCyAPQv///////z9YBEAgBUHAAmogASAMIAEgDCAMUCIGG3kgBkEGdK18pyIGQQ9rEKoBQRAgBmshBiAFKQPIAiEMIAUpA8ACIQELIAJC////////P1YNACAFQbACaiADIAogAyAKIApQIgcbeSAHQQZ0rXynIgdBD2sQqgEgBiAHakEQayEGIAUpA7gCIQogBSkDsAIhAwsgBUGgAmogCkKAgICAgIDAAIQiEkIPhiADQjGIhCICQgBCgICAgLDmvIL1ACACfSIEQgAQoQEgBUGQAmpCACAFKQOoAn1CACAEQgAQoQEgBUGAAmogBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQoQEgBUHwAWogBEIAQgAgBSkDiAJ9QgAQoQEgBUHgAWogBSkD+AFCAYYgBSkD8AFCP4iEIgRCACACQgAQoQEgBUHQAWogBEIAQgAgBSkD6AF9QgAQoQEgBUHAAWogBSkD2AFCAYYgBSkD0AFCP4iEIgRCACACQgAQoQEgBUGwAWogBEIAQgAgBSkDyAF9QgAQoQEgBUGgAWogAkIAIAUpA7gBQgGGIAUpA7ABQj+IhEIBfSICQgAQoQEgBUGQAWogA0IPhkIAIAJCABChASAFQfAAaiACQgBCACAFKQOoASAFKQOgASIPIAUpA5gBfCIEIA9UrXwgBEIBVq18fUIAEKEBIAVBgAFqQgEgBH1CACACQgAQoQEgBiAJIAhraiEGAn8gBSkDcCIQQgGGIhQgBSkDiAEiDkIBhiAFKQOAAUI/iIR8IgtC5+wAfSIVQiCIIgIgDEKAgICAgIDAAIQiFkIBhiABQj+IhCIMQiCIIgR+IhEgAUIBhiIPQiCIIgogCyAVVq0gCyAUVK0gBSkDeEIBhiAQQj+IhCAOQj+IfHx8QgF9IhBCIIgiC358Ig4gEVStIA4gDiAQQv////8PgyIQIAxC/////w+DIhR+fCIOVq18IAQgC358IAQgEH4iEyALIBR+fCIRIBNUrUIghiARQiCIhHwgDiAOIBFCIIZ8Ig5WrXwgDiAOIBVC/////w+DIhUgFH4iEyACIAp+fCIRIBNUrSARIBEgECAPQv7///8PgyITfnwiEVatfHwiDlatfCAOIAQgFX4iFyALIBN+fCIEIAIgFH58IgsgCiAQfnwiEEIgiCALIBBWrSAEIBdUrSAEIAtWrXx8QiCGhHwiBCAOVK18IAQgESACIBN+IgIgCiAVfnwiCkIgiCACIApWrUIghoR8IgIgEVStIAIgEEIghnwgAlStfHwiAiAEVK18IgRC/////////wBYBEAgBUHQAGogAiAEIAMgEhChASABQjGGIAUpA1h9IAUpA1AiAUIAUq19IQtCACABfSEKIAZB/v8AagwBCyAFQeAAaiAEQj+GIAJCAYiEIgIgBEIBiCIEIAMgEhChASABQjCGIAUpA2h9IAUpA2AiDEIAUq19IQtCACAMfSEKIAEhDyAWIQwgBkH//wBqCyIGQf//AU4EQCANQoCAgICAgMD//wCEIQ1CACEBDAELAn4gBkEASgRAIAtCAYYgCkI/iIQhCyAEQv///////z+DIAatQjCGhCEMIApCAYYMAQsgBkGPf0wEQEIAIQEMAgsgBUFAayACIARBASAGaxD7AiAFQTBqIA8gDCAGQfAAahCqASAFQSBqIAMgEiAFKQNAIgIgBSkDSCIMEKEBIAUpAzggBSkDKEIBhiAFKQMgIgFCP4iEfSAFKQMwIgQgAUIBhiIBVK19IQsgBCABfQshBCAFQRBqIAMgEkIDQgAQoQEgBSADIBJCBUIAEKEBIAwgAiACIAMgAkIBgyIBIAR8IgNUIAsgASADVq18IgEgElYgASASURutfCICVq18IgQgAiACIARCgICAgICAwP//AFQgAyAFKQMQViABIAUpAxgiBFYgASAEURtxrXwiAlatfCIEIAIgBEKAgICAgIDA//8AVCADIAUpAwBWIAEgBSkDCCIDViABIANRG3GtfCIBIAJUrXwgDYQhDQsgACABNwMAIAAgDTcDCCAFQdACaiQAC9sBAgF/An5BASEEAkAgAEIAUiABQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACACQgBSIANC////////////AIMiBkKAgICAgIDA//8AViAGQoCAgICAgMD//wBRGw0AIAAgAoQgBSAGhIRQBEBBAA8LIAEgA4NCAFkEQEF/IQQgACACVCABIANTIAEgA1EbDQEgACAChSABIAOFhEIAUg8LQX8hBCAAIAJWIAEgA1UgASADURsNACAAIAKFIAEgA4WEQgBSIQQLIAQLmAQDA3wCfgJ/AnwCQCAAvSIEQjSIp0H/D3EiBkHJB2tBP0kEQCAGIQcMAQsgBkHIB00EQCAARAAAAAAAAPA/oA8LIAZBiQhJDQBEAAAAAAAAAAAgBEKAgICAgICAeFENARogBkH/D0YEQCAARAAAAAAAAPA/oA8LIARCAFMEQEQAAAAAAAAAEBD1CQ8LRAAAAAAAAABwEPUJDwtB8LUDKwMAIACiQfi1AysDACIBoCICIAGhIgFBiLYDKwMAoiABQYC2AysDAKIgAKCgIgEgAaIiACAAoiABQai2AysDAKJB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4ABqJAAgBQs+AQN/IAAoAggiAigCICEBA0AgAQRAIAEoAgghAyAAIAEoAgBB/5kCEMQCIAEQIyADIQEMAQsLIAJBADYCIAuqAQEDfwJAIAAoAggoAigiAUUNACABKAIcDQAQngkhAwNAIAIgAS8BFE5FBEACQCABKAIMQQBOBEAgASgCGCACQQJ0aigCACABKAIQQdj6AygCABEAABoMAQsgASgCGCACQQJ0aigCABAjCyACIANqIQIMAQsLIAEoAhgQIyABKAIMIgJBAE4EQCAAIAJB4rICEMQCIAFBfzYCDAsgASgCAEEANgIoIAEQIwsLWgEBfyADQf//B3EhBQJAAkADQCAAIAEQ8glCAFkEQCAAIAIgBUHI+QMoAgARBAAiA0EATg0DQaSnBCgCAEEbRg0BDAILC0F/IQMLIARBpKcEKAIANgIACyADC8oBAQN/IwBBMGsiAiQAIAJCATcDICACQoABNwMYIAJBATYCECABKAIMIQQgAiACQRBqNgIAQYoeIQMCQCAEQQUgAkGY+QMoAgARBAANAEEFIQMCQAJAIAIvARBBAWsOAgIAAQsgAS0AFgRAIAFBAToAF0GICiEDDAILIABBAUGAAUEBEPwDIgMNASABKAIMQgMQowlFDQBBiiQhA0GKJEHA4QAgASgCCEGbswIQwAEaDAELIABBAEGAAUEBEPwDIQMLIAJBMGokACADCx8BAX9BAUHw+gMoAgARDwAiAEGAgAJtIABBgIACSBsLLAAgACgCLEUEQCAALQASQRBxBEAgACAAKAIwQYAgcjYCMAsgAEGAIDYCLAsLTwEBfyMAQeAAayIBJAACf0EAIAAoAghFDQAaQQEgACgCICABQQhqQfT4AygCABEAAA0AGiABKQNYIAAoAggpAwhSCyEAIAFB4ABqJAAgAAtGAQF/IAIoAgAiA0EASARAIAIgAC8BEiABcUEARzYCAA8LIANFBEAgACAALwESIAFBf3NxOwESDwsgACAALwESIAFyOwESC8cDAgN/BH4jAEEwayICJAAgASgCACIDQQBMBH9BMAUgASADQQFrNgIAIAApAwAiByEFIAApAwgiCCEGIwBBEGsiAyQAAn9BACAGQjCIp0H//wFxIgFB//8ASQ0AGiAGQj+Hp0H/////B3MgAUGfgAFrQV9NDQAaIAMgBSAGQv///////z+DQoCAgICAgMAAhEHvgAEgAWsQ+wIgAygCACIBQQAgAWsgBkIAWRsLIQEgA0EQaiQAIAEhA0IAIQUjAEEQayIEJAAgAiADBH4gBCADIANBH3UiAXMgAWsiAa1CACABZyIBQdEAahCqASAEKQMIQoCAgICAgMAAhUGegAEgAWutQjCGfCADQYCAgIB4ca1CIIaEIQUgBCkDAAVCAAs3AyAgAiAFNwMoIARBEGokACACKQMgIQYgAikDKCEFIwBBEGsiASQAIAEgByAIIAYgBUKAgICAgICAgIB/hRCNBSABKQMAIQUgAiABKQMINwMYIAIgBTcDECABQRBqJAAgAiACKQMQIAIpAxhCAEKAgICAgICQgcAAEOYBIAAgAikDADcDACAAIAIpAwg3AwggA0EwagshACACQTBqJAAgAEEYdEEYdQsrAQF/A0AgACABQYz5AygCABELACICQQBIBEBBpKcEKAIAQRtGDQELCyACCxUAIAAoAgwgASACIAMgAEEUahCcCQvTAgEFfyMAQSBrIgIkAAJAIAAtABAiBSABTA0AIAAoAgghAwJAIAVBAk8EQAJAIAFBAUcNACACQv4DNwMQIAJBADYCACACQbD4AygCAEECaqw3AwggACACEPECRQ0AIABBpKcEKAIAEJoBQYoSIQYMAwsgAkECNgIAIAJCAjcDECACQbD4AzQCADcDCCAAIAIQ8QINASADQQE6ABwLIABBEGohBSABRQRAIAMgAygCFEEBayIENgIUIAQEf0EBBSACQgA3AxAgAkIANwMIIAJBAjYCACAAIAIQ8QIiBAR/IABBpKcEKAIAEJoBIANBADoAHEGKECEGIAUFIANBHGoLQQA6AAAgBEULIQQgAyADKAIYQQFrIgM2AhggA0UEQCAAEJoJCyAERQ0CCyAFIAE6AABBACEGDAELIABBpKcEKAIAEJoBQYoQIQYLIAJBIGokACAGC30BAn8jAEHgAGsiASQAAkAgAC0AEkGAAXENAEGoMiECAkAgACgCDCABQQhqQYD5AygCABEAAA0AQc85IQICQAJAIAEoAhgOAgIBAAtB2TwhAgwBC0GzOSECIAAQoAlFDQELIAEgACgCIDYCAEEcIAIgARB/CyABQeAAaiQAC0EBAn8jAEEQayIBJAAgAUEMahCoCQJAIABBAEgNACABKAIMIABMDQAgAEEC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DDcDICAGQYABakHc1AEgBkEgahA/DAELIAlBgIABcQRAIAYgBCgCADYCECAGQYABakGcwQEgBkEQahA/BSAGQYABakHc0QFBAhBFQQAhCSAEKAIMIgxBACAMQQBKGyEMA0AgCSAMRwRAIAYgBCgCECAJai0AADYCACAGQYABakHvCyAGED8gCUEBaiEJDAELCyAGQYABakGc2wFBARBFCwwACwALIAZBgAFqIAEgARAxEEULIAYtAJQBBEAgBkGAAWoQpgILIAZBgAFqEMIBIQEgBkGgAWokACAHKALYASABIAcoAtQBEQUAIAEQIwwBCyAHKALEAUECTgRAIAggATYCYCAHQarAACAIQeAAahA8IQFBASAHKALYASAAIAEgBygC1AERBgAaIAcgARAlDAELQQEgBygC2AEgACABIAcoAtQBEQYAGgsgBSAFKAIEIgFBrPUDKAIATgR/IAUtAABBswFGDXdBASECIAAoAnQiAUEBIAFBAUobIQEDQCABIAJHBEAgACgCcCACQRRsaiIELQAAQRFGBEAgBEEANgIECyACQQFqIQIMAQsLIAVBADYCBEEABSABC0EBajYCBCAAIAAoAsABQQFqNgLAAQxxCyAFKAIEIQEgCiAFEM0IISggCiABQShsaiIBKAIQICggATQCDIIiKEIDiKdqLQAAICinQQdxdkEBcUUEQCAAIAAoAsgBQQFqNgLIAQxxCyAAIAAoAsQBQQFqNgLEAQx1CyAFKAIEIQEgCiAFEM0IISggCiABQShsaiIBKAIQICggATQCDIIiKEIDiKdqIgEgAS0AAEEBICinQQdxdHI6AAAMdAsCQCAKIAUoAgwiCUEobGoiBCAFKAIQIgEoAgBGBEAgAS0AGSEGDAELIAEgBDYCACABIAA2AgwgAS0AGSIGIQIDQCACQQBMDQEgASACQQFrIgJBAnRqIAogBSgCCCACakEobGo2AhwMAAsACyAKIAlBKGxqIgIgAi8BCEHA/ABxQQFyOwEIIAEgBiABQRxqIAEoAgQoAhARAgACQCABKAIUIgZFBEAgAyEGDAELIAZBAEoEQCAIIAQQKzYC8AEgAEHUwAAgCEHwAWoQkgEgASgCFCEDCyAHICMgASgCECAFKAIEEOAEQQAhBiABQQA2AhQgAw13CyACLQAIQRJxRQRAIAYhAwx0CyAEIBQQ2AEa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LQABIgVBgAFxBEAgB0EBaiADQRxqEHAaIAMoAhwhBQsgBQ0CC0GLAiEFDAYLQQAhBQsgBCAFRw0CIANCADcDECADQgA3AwggA0IANwMAIAMgByADQSxqIAQQ8gYiBGo2AiQgAyAEIAZqNgIoIANBKGogA0EQahC+AyADQSRqIANBCGoQvgMgAykDECIIQgJZBEAgAykDCCIJQgFVDQILIAMoAiQhBCADKAIoIQYLIAMgAygCLCIHQQFqNgIsQQAhBSAHQQA6AAAgACADKAIsNgIAIAEgBkEBajYCACACIARBAWo2AgAMAwsDQCADQSxqIAMgCCAJIAggCVMbEKEKIAMgAykDAEICfTcDAAJAIAggCVEEQCADQShqIANBEGoQlgUgA0EkaiADQQhqEJYFDAELIAggCVMEQCADQShqIANBEGoQlgUMAQsgA0EkaiADQQhqEJYFCyADKQMQIghC////////////AFIgAykDCCIJQv///////////wBScg0ACwwBCyAEIAVIBEAgAyADQSxqIgUgBBDyBiAGajYCKCAFIANBKGoQrwIMAQsgAyADQSxqIgQgBRDyBiAHajYCJCAEIANBJGoQrwILIAMoAighBgwBCwsgA0EwaiQAIAUL7wMCA38CfiMAQTBrIgckACAHQgA3AyggB0IANwMgIAdCADcDGCAHIAE2AhQgByADNgIQIAdBADYCCCAFQQA2AgAgBkEANgIAAkAgAqwgBKx8QhF8EEoiCEUEQEEHIQQMAQsgByAINgIMIAdBFGogASACaiIBQQAgB0EoahDoASAHQRBqIAMgBGoiAkEAIAdBIGoQ6AECQAJAA0AgBygCFCIDIAcoAhAiBHJFDQECQEEAQQFBf0EAIAcpAygiCiAHKQMgIgtSGyAKIAtVGyIJayAJIAAbIgkgBEUgA0VyckUEQCAHQQxqIgMgACAHQRhqIAdBCGogChCXBSADIAdBFGogB0EQahCiCiIEDQEgB0EUaiABIAAgB0EoahDoASAHQRBqIAIgACAHQSBqEOgBDAILIARBACADRSAJQQBOchtFBEAgB0EMaiIDIAAgB0EYaiAHQQhqIAoQlwUgAyAHQRRqIgMQ6QEgAyABIAAgB0EoahDoAQwCCyAHQQxqIgMgACAHQRhqIAdBCGogCxCXBSADIAdBEGoiAxDpASADIAIgACAH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ACAFEJoBIAMNAQsgACABOgAQIAQgAToAHEEAIQMMAgsgAUEERw0BCyAAQQM6ABAgBEEDOgAcCyACQSBqJAAgAwtbAgJ/AX4jAEHgAGsiAiQAAkAgACgCDCACQQhqQYD5AygCABEAAARAIABBpKcEKAIAEJoBQYoOIQMMAQsgAUIAIAIpAzAiBCAEQgFRGzcDAAsgAkHgAGokACADC5QBAQF/IwBBEGsiASQAAkAgACgCDBDQBgRAIABBpKcEKAIAEJoBQYoIIQJBighB14QBIAAoAiBBja0CEMABGgwBCyAALQASQQhxRQ0AIAAoAiAgAUEMakGQ+gMoAgARAABFBEAgASgCDBDQBhogACABKAIMQZutAhDEAgsgACAALwESQff/A3E7ARILIAFBEGokACACC1sCAX8BfiAAKAIMIAAoAigiAkEASgR+IAEgAq0iA3xCAX0iASABIAOBfQUgAQsQowlFBEBBAA8LIABBpKcEKAIAEJoBQYoMQcDhACAAKAIgQbqtAhDAARpBigwLZAECfwNAIAIgACADIAEgAhCkCSIETCIFIARBAExyRQRAIAEgBGohASACIARrIQIgAyAErXwhAwwBCwsCf0EAIAUNABogBEEASARAQYoGIAAoAhRBM0cNARoLIABBABCaAUENCwv/AQEFfwJ/QQACfyAAIQUgASEGIAIhAANAIAUoAgwgAxDyCUIAUwRAIAVBpKcEKAIAEJoBQX8MAgsCQAJAIAUoAgwgBiAAQaT5AygCABEEACIEIABGBEAgACEEDAELIARBAEgEQEGkpwQoAgAiCEEbRg0DIAUgCBCaAUEAIQcMAQsgBA0BQQAhBAsgBCAHagwCCyAEIAZqIQYgBCAHaiEHIAAgBGshACADIAStfCEDDAALAAsiACACRg0AGiAAQQBIBEBBisIAIAUoAhQiAEEdRiAAQTxGciAAQcQARnINARpBigIPCyAFQQAQmgEgACABakEAIAIgAGsQKBpBigQLC7IBAQN/IAAoAgghASAAEKYJIABBABClCRogASgCGARAIAAoAhwiASAAKAIIIgIoAiA2AgggAiABNgIgIABBADYCHCAAQX82AgwLAkAgACgCCCIBRQ0AIAEgASgCJEEBayICNgIkIAINACAAEJoJIAEoAiwhAgJAIAEoAjAiAwRAIAMgAjYCLCABKAIsIQIM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QCABEAUaC0FkEHYMAQsgAyACNgJAIABBACADQUBrEAEQdgshASADQYABaiQAIAELDAAgACABIAIQBhB2C5QCAQR/IwBBIGsiBCQAAn8gACABEAgiA0F4RwRAIAMQdgwBCyMAQSBrIgMkACAAIANBCGoQCyICBH9BpKcEIAI2AgBBAAVBAQshAiADQSBqJAAgAkUEQEF4EHYMAQtBACECA0AgAiAEaiIDIAJByLwBai0AADoAACACQQ5HIQUgAkEBaiECIAUNAAsCQCAABEBBDiECIAAhAwNAIAJBAWohAiADQQlLIQUgA0EKbiEDIAUNAAsgAiAEakEAOgAAA0AgBCACQQFrIgJqIABBCm4iA0H2AWwgAGpBMHI6AAAgAEEJSyEFIAMhACAFDQALDAELIANBMDoAACAEQQA6AA8LIAQgARAHEHYLIQAgBEEgaiQAIAALEwBBACAAEAUiACAAQRtGGxCXBAsPAEGcfyAAIAFBABAhEHYLBgBBpKcECxAAIwAgAGtBcHEiACQAIAALBgAgACQACwQAIwALBABBAAtXAQJ/A0AgASAALgEQTkUEQCABQShsIgIgACgCbGoQeCAAKAJsIAJqQQE7AQggAUEBaiEBDAELCyAAKALoAQRAIAAgAC8BngFB/P8DcUEBcjsBngELQQALiwECAXwCfiACKAI8QQBMBEACQCACKwMYIgMgASACKQMgIgF8IgSnt2VFDQAgAikDECIFuSADoSAFIAF9p7dlBEAgAiACKQMoQgF8NwMoIAIpAzBQBEAgAiACKQMAIAA0AgB8NwMADAILIAIgACsDACACKwMIoDkDCAwBCyACQQE2AjwLIAIgBDcDIAsLLAEBfyAAQQAQRyIBBEAgASABKQMQQgN+uUQAAAAAAADQP6I5AxggABDaBgsLKQEBfyAAQQAQRyIBBEAgASABKQMQuUQAAAAAAADQP6I5AxggABDaBgsLKQEBfyAAQQAQRyIBBEAgASABKQMQuUQAAAAAAADgP6I5AxggABDaBgsLiAECAX4BfAJAAkAgAikDMFAEQCABIAIpAyAiA1EEQAwDCyABIANXDQEgADQCACEDIAJCATcDKCACIAE3AyAgAiADNwMADwsgASACKQMgIgNRBEAMAgsgASADVw0AIAArAwAhBCACQgE3AyggAiABNwMgIAIgBDkDCAsPCyAC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EIEBDAELIAEgACgCIBCBAQtBAAsIACAAKAIQRQugAQEBfyAAKAIAIQMgABDiBkEBIQICQCABQQFHDQAgBCgCABArIQUgAAJ/IAQoAgAQXwsiAUEBaqwQSiICNgIEIAJFBEBBBw8LIAFBAEoEfyACIAUgARAnGiAAKAIEBSACCyABakEAOgAAIAMoAhAgACgCBCABIABBCGogAygCDCgCDBEGACICDQAgACgCCCADKAIQNgIAIAAQgwohAgsgAgsNACAAEOIGIAAQI0EACwsAIAAgAUEkEM0GCxkAIAAoAhAgACgCDCgCCBEBABogABAjQQALkQEBAn9BACEAIAEoAgAiAkEAIAJBAEobIQMCQANAIAAgA0cEQAJAIAEoAgQgAEEMbGoiAi0ABUUNACACKAIADQAgAi0ABEECRw0AIAFBATYCFCABKAIQIABBA3RqIgBBAToABCAAQQE2AgAgAUKAgICAgICA+D83AygMAwsgAEEBaiEADAELCyABQQA2AhQLQQALhwQBB38jAEEQayIGJAAgBkEANgIMIAZBADYCCCAGQQA2AgQgAEGkvwEQhQQiAEUEQAJAAkACQAJ/IANBDGohCUEAIQNBACEAAkAgAkEDayIHBEAgB0EAIAdBAEobIQoDQCAAIApHBEAgCSAAQQJ0aigCABA7IANqQQFqIQMgAEEBaiEADAELCyAGIAMgB0ECdCIAaq0QSiIHNgIEQQcgB0UNAhogACAHaiEDQQAhAANAIAAgCkYNAiAJIABBAnQiCGoiCygCABA7IQwgByAIaiADNgIAIAMgCygCACAMQQFqIgMQJyIIEMMDIABBAWohACADIAhqIQMMAAsACyAGQQA2AgQLQQALIgANACACQQROBH8gBigCBCgCAAVB2ecACyEAIwBBEGsiAyQAQQEhBwJAIAEgACAAEDtBAWoQnAUiAUUEQCADIAA2AgAgBUGaOCADEMwBDAELIAYgATYCDEEAIQcLIANBEGokACAHIgANACACQQRrQQAgAkEESiIAGyAGKAIEQQRqQQAgABsgBkEIaiAGKAIMIgIoAgQRBAAiAA0AQRQQTyIBDQFBByEACyAGKAIIIgFFDQEgASAGKAIMKAIIEQEAGgwBCyABQgA3AgAgASACNgIMQQAhACABQQA2AgggASAGKAIINgIQIAQgATYCAAsgBigCBBAj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AQggASAAQe3BAEEAEN4JQQAPCyABIAApAyAQYgwCCyAAKAIQBEAgASAANAIUEGIMAgsgAyECIAQoAiwNACABQQAQgQFBAA8LQQAgABCbBSIDDQEgACgCDCIAENkJQQFrIAJMDQAgASAAIAJBAWoQ2AkQyQELQQAhAwsgAwscACAALQAGRQRAQQAPCyAAEPoGIABBAToABkEBC80JAg5/AX4jAEEwayIIJABBASEDAkAgACgCACIGKAI4DQAgAUH//wNxIgsEfyAEKAIAIQlBAQVBAAshAyABQYCABHEEQCAEIANBAnRqKAIAIQUgA0EBaiEDCyABQYCACHEEQCAEIANBAnRqKAIAIQwgA0EBaiEDCyABQYCAEHEEQCAEIANBAnRqKAIAIQoLIAAQ+gYgACAMQoCAgICAgICAgH8Qugo3A0ggACAKQv///////////wAQugo3A1ACfyACBEAgAi0AAEHEAEYMAQsgBi0A7wELIQIgACABOwEEIAAgAjoANCALQQJPBEAgCRArIgJFBEBBByEDIAkQLkEFRw0CC0EAIQMgAEEANgIUIAUEQCAAIAUQaSIDNgIUCyAGKAIkIQ8gBigCHCEQIAYtAOwBIREgBigCGCESIAZBCGohDSMAQSBrIgUkACAAQRBqIQcjAEEwayIEJAAgBEEANgIoIARCADcDICAEIAtBAms2AhwgBCASNgIYIAQgEDYCECAEIAM2AgwgBCAPNgIIIAQgETYCFAJAIAJFBEAgB0EANgIADAELIARBCGogAiACEDsgByAEQSxqEKsKIgNBASADIAQoAigbIAMbIQ4LIARBMGokAAJAAkAgDiIEDQBBACEDIAcoAgBFDQEgB0EMEJkFIgQNACAHKAIAQQwQrwoiBEUNAQsgBygCABCMAiAHQQA2AgBBASEDIARBAUcEQCAEIgNBEkcNASAFQQw2AgAgDUHWwQEgBRDMAUEBIQMMAQsgBSACNgIQIA1BhosBIAVBEGoQzAELIAVBIGokACADDQEjAEEgayIFJAAgACgCACECIAVBADYCHCAFQQA2AhggBUEANgIUIAAgACgCECAFQRhqIAVBFGogBUEcahCuCgJAIAUoAhwNACAFKAIYIgNBAkgNACACLQDsAUUNACADQRhsIAUoAhRBA3RqrRBKIgNFBEAgBUEHNgIcDAELIAUoAhghAiAF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AQsgBBCiAkUgA0EBR3JFBEAgACACKAIEEMkBDAELIAAgAxDZAQsgAUFAaxCpBAsgBCAHNgLoAiABQdACaiQAC/ICAQZ/IwBBoAJrIgEkACAAEIABIQQgAigCABBpIQMgAigCBBArIQYgAigCCBBpIQUgBCgCECADQQR0aigCACECIAQoAugCIQggBEEANgLoAgJAIAFBEGogAiAEIAYgA0EBRhCqBCICDQACQAJAIAEoAvwBIgJFDQAgAi4BIiIDQQFGDQAgAyAFSg0BC0Hd4gYQKSECDAELIAFBEGpBACAFQQxsIgcgAigCBGooAgAQnAEhAwJAIAIuASJBAWsgBUoEQCABQRBqQQAgByACKAIEaigCDBCcASgCBCEFIAMoAgQhAgwBCyAGIAIoAixqIQUgAygCBCECA0AgAi0AACIHRSAHQSxGcg0BIAMgAkEBayICNgIEDAALAAsgASAFNgIIIAEgBjYCBCABIAIgBms2AgAgACAEQdEsIAEQPCICQX9BfxA9IAIQI0EAIQILIAFBEGoQqQQgBCAINgLoAiACBEAgACACENkBCyABQaACaiQAC5oDAgd/An4jAEGwAmsiASQAIAAQgAEhAyACKAIAECshBSACKAIEECshBCACKAIQEGkhByADKQMgIQsgAigCFBArIQYgAigCGBBpIQggAygC6AIhCSADQQA2AugCIAVFIARFckUEQCADKQMgIQogCARAIAMgCkL/////eYM3AyALIAFBIGogBSADIAQgBxCqBCEEIAMgAykDICAKQoCAgIAGg4Q3AyACQAJAIAQNAAJAIAtCgICAIIMiCkIAUg0AIAEoAowCIgRFDQAgBC0AK0ECRw0AIAFBADYCHCABQgA3AhQgAUIANwIMIAFCADcCBCABIAFBIGoiBTYCACAFIAQoAiwgARDeASABKAIsQQAgASgCRBshBAwBCyABKAKUAiIERQ0BIAMgClAEfyABQSBqEKwFIgQNASABKAKUAgUgBAsoAhgQVCADIAUQ5gJHDQEgAEEBEIEBDAELIARFIAZFcg0AIAMQogINACAAIAYgAigCCCACKAIMIAFBIGoQkQcLIAFBIGoQqQQLIAMgCTYC6AIgAUGwAmokAAtAAQF/AkAgAS0AAEGnAUcNACABLQAHQQNxDQAgACgCGCICKAIMIAEoAixHDQAgACgCACACIAFBLGoQnAEaC0EACwcAIAAoAjALdwEEf0EBIQIgAS8BBkGgCHEEf0EBBSABKAIgIgNFBEBBAg8LIAAoAhghBEEAIQIDQCADKAIAIAJKBEAgAyACQcgAbGoiBSgCGCAEKAIMRgRAIAAoAgAgBCAFKAIQEJwBGgsgAkEBaiECDAELCyAAIAEQtgdBAAsL5AYCCX8BfiMAQfACayIBJAAgABCAASEGIAIoAgAQKyEDIAIoAgwQKyEIIAIoAhAQKyEHIAIoAhQQKyEJIAIoAhgQaSEEIAlFIAhFIAdFcnJFBEAgBigC6AIhCiAGQQA2AugCIAYQ9QEgAUEANgJYIAFCADcDUCABQgA3A0ggBiAHIAMQfSEFIAFBADYCPCABQgA3AjQgASAFNgJUIAFB2gA2AjAgAUHbADYCLCABIAFByABqNgJAIAEgAUHgAGoiBTYCKAJAIAUgAyAGIAggBBCqBCIDDQAgBikDICIMp0GAgIAgcSEFAkACQCABKALMAiIEBEAgBC0AKyIDQQJGBEAgBQ0DIAQoAiwhAyABQQA2AiQgAUIANwIcIAFCADcCFCABQgA3AgwgASABQeAAaiIFNgIIIAMgAygCBEH///9+cTYCBCAFIAQoAiwgAUEIahDeASABKAKEAQ0CIAFBKGogBCgCLBBqGgwDCwJAIAxCgIABg1AgBUEAR3EgA0EBRnINACAEQTBqIQMDQCADKAIAIgNFDQEgAygCCCILIAcQVkUEQCABQeAAaiABQcgAaiALEJwBGgsgA0EEaiEDDAALAAsgByAEKAIAIgMQVg0CIAEgBDYCVCABQeAAaiABQcgAaiAFBH8gAwUgAUEoaiAEKAIQEGAaIAQoAgALEJwBGgwCCyABKALQAiIDBEAgAUHgAGogAUHIAGogAygCABCcARogBQ0CIAFBKGogASgC0AIoAiQQTBoMAgsCQCABKALUAiIEKAIEIgMgBxBWDQAgASgCVCgCPCAEKAIYRw0AIAFB4ABqIAFByABqIAMQnAEaCyAFDQEgAUHgAGoQrAUiAw0CIAFBKGogBBCTByAEQRxqIQMDQCADKAIAIgNFDQICQCADKAIMIgRFDQAgBCAHEFYNACABQeAAaiABQcgAaiAEEJwBGgsgA0EoaiEDDAALAAsgASgCbCIDDQELIAAgAUHIAGogCCAJQQEQkgchAwsCQAJAAkAgAw4CAgABCyAGEKICRQ0AIAAgAigCDBDJAQwBCyABKAJkBEAgAEHU5QEgAigCBCACKAIIIAFB4ABqEJEHDAELIAAgAxDZAQsgAUHgAGoQqQQgBiABKAJIEKsFIAYgCjYC6AILIAFB8AJqJAALggEBAn8gACgCGCECAkAgAS0AACIDQacBRwRAIANBzQBHDQEgAigCCCABLgEgRw0BIAAoAgAiACgCeCACKAIMRw0BIAAgAiABEJwBGgwBCyACKAIIIAEuASBHDQAgAS0AB0EDcQ0AIAIoAgwgASgCLEcNACAAKAIAIAIgARCcARoLQQALIAEBf0EBIQIgAS8BBkGgCHEEf0EBBSAAIAEQtgdBAAsLogkBDH8jAEHQAmsiASQAIAAQgAEhBiACKAIAECshCyACKAIMECshByACKAIQECshCCACKAIUEGkhBSACKAIYECshDCACKAIcEGkhDSACKAIgEGkhBAJAIAtFIAhFciAMRSAFQQBIcnINACAGKALoAiEOIAYQ9QEgBiAIIAcQfSIDRQ0AIAUgAy4BIk4NACADKAIEIAVBDGxqKAIAIQkgAUEANgLIAiABQgA3A8ACIAFCADcDuAIgAUF/IAUgBSADLgEgRhs2AsACIAZBADYC6AIgAUEoaiIKIAcgBiALIAQQqgQhBCABQQA2AhwgAUIANwIUIAFB2AA2AhAgAUHZADYCDCABIAM2AsQCIAEgAUG4Amo2AiAgASAKNgIIAkAgBA0AAkACQCABKAKUAiIEBEACQAJAIAQtACsOAwEEAAQLIAQoAiwiAyADKAIEQf///35xNgIEIAFBADYCNCABQShqIANBABDeAUEHIAEoAjQgBi0AVxsiBA0EIAFBCGogAxBqGgwDCyAIIAQoAgAQViEHIAEgBDYCxAIgBw0BIAQuASIgBUoEQCABQShqIAFBuAJqIAQoAgQgBUEMbGooAgAQnAEaCyABKALAAkEASARAIAFBKGogAUG4AmogASgClAJBIGoQnAEaCyABQQhqIAEoApQCKAIQEGAaIAEoApQCQQhqIQMDQCADKAIAIgMEQCABQQhqIAMoAigQYBogA0EUaiEDDAELCyABQZgCaiEDA0AgAygCACIDBEAgAUEIaiADKAIoEGAaIANBFGohAwwBBUEAIQMDQCADIAEoApQCIgQuASJODQQgAUEIaiAEIAQoAgQgA0EMbGoQlgEQTBogA0EBaiEDDAALAAsACwALIAEoApgCIgQEQCABQQhqIgMgBCgCKBBgGiADIAEoApgCKAIkEEwaDAILIAFBKGoQrAUiBA0CIAEoApwCQRxqIQQDQCAEKAIAIgQEQAJAIAQoAgwiBUUNACABQShqQQAgBSAHEKoCIANHDQAgBCgCICIFBEAgAUEoaiABQbgCaiAFKAIIIAkQ+woLIAFBKGoiBSABQbgCaiIIIAQoAhwgCRD6CiAFIAggBCgCGCAJEPsKCyAEQShqIQQMAQsLIAMgASgCoAFGBEAgAUEoaiABQbgCaiABKAKcAigCECAJEPoKCyABQQhqIAEoApwCEJMHDAELIARBMGohAwNAIAMoAgAiBEUNAUEAIQMDQCADIAQoAhRORQRAAkAgBw0AIAQgA0EDdGpBJGoiCigCACAFRw0AIAFBKGogAUG4AmogChCcARoLAkAgBCgCCCAIEFYNACAEIANBA3RqKAIoIgogCRBWDQAgAUEoaiABQbgCaiAKEJwBGgsgA0EBaiEDDAELCyAEQQRqIQMMAAsACyAAIAFBuAJqIAsgDCANEJIHIQQLAkACQAJAIAQOAgIAAQsgBhCiAkUNACAAIAIoAgAQyQEMAQsgASgCLARAIABB1OUBIAIoAgQgAigCCCABQShqEJEHDAELIAAgBBDZAQsgAUEoahCpBCAGIAEoArgCEKsFIAYgDjYC6AILIAFB0AJqJAALPAEBfCACKAIAEPYCQQNrQX5PBEAgAEF/IAIoAgAQUCIDRAAAAAAAAAAAZCADRAAAAAAAAAAAYxsQgQELC9UBAQJ/AkAgAigCABAuQQVGDQAgAEEkEEciAEUNACACKAIAECsaAn8gAigCABBfCyECIAAgACgCGCIDQQFrNgIYAkAgACgCICIBBEAgA0ECSA0BIAEoAgAhBCABIAFBBGogA0ECdEEIaxCiARogAiAEaiECDAELIAAoAhwgAmohAgsCQCACIAAoAhAiAU4EQCAAQQA2AhAMAQsgACABIAJrIgE2AhAgACgCBCIDIAIgA2ogARCiARogACgCEA0BCyAAQQA2AgwgACgCIBAjIABBADYCIAsLQQECfyAAQQAQRyIBBEACQCABLQAUIgJBB0cEQCACQRJHDQEgABCRBA8LIAAQZw8LIAAgARCGCSABKAIQQX8QPQsLHQEBfyAAQQAQRyIBBEAgACABEJYHIAEoAiAQIwsL/wIBA38CQCACKAIAEC5BBUYNACAAQSQQRyIDRQ0AIAMoAgwhBCADIAAQgAEoAng2AgwCQCABQQFGBEAgBARAIANBAUEsELEDDAILIANBATYCHAwBCyACKAIEIQACQAJAAkAgBARAIAAQKyEAAn8gAigCBBBfCyEEAkAgAEUEQEEAIQQMAQsgAyAAIAQQRQsgAygCICEAIAMoAhwgBEYEQCAARQ0FDAILIAANASADKAIYQQJ0QQRqrRBKIgFFDQNBACEAIAMoAhhBAWsiBUEAIAVBAEobIQUDQCAAIAVGDQMgASAAQQJ0aiADKAIcNgIAIABBAWohAAwACwALIAMCfyAAEF8LNgIcDAMLIAAgAygCGEECdK0Q4QEhAQsgAUUNACADKAIYIgBBAEoEQCAAQQJ0IAFqQQRrIAQ2AgALIAMgATYCIAwBCyADQQcQrwMLIAMgAygCGEEBajYCGCACKAIAECshAAJ/IAIoAgAQXwshASAARQ0AIAMgACABEEULCzAAIABBCBBHIQACQCABBEAgAigCABAuQQVGDQELIABFDQAgACAAKQMAQgF9NwMACwsZACAAIABBABBHIgAEfiAAKQMABUIACxBiCzAAIABBCBBHIQACQCABBEAgAigCABAuQQVGDQELIABFDQAgACAAKQMAQgF8NwMACwstAgF/AX4CQCAAQQAQRyIBRQ0AIAEpAxAiAkIAVw0AIAAgASsDACACuaMQWwsLIAAgACAAQQAQRyIABHwgACsDAAVEAAAAAAAAAAALEFsLegIBfgF8IABBIBBHIgBFIAIoAgAQ9gIiAUEFRnJFBEAgACAAKQMQQgF9NwMQAkAgAUEBRw0AIAAtABkNACACKAIAEF4hAyAAIAArAwAgA7mhOQMAIAAgACkDCCADfTcDCA8LIAIoAgAQUCEEIAAgACsDACAEoTkDAAsLSQEBfwJAIABBABBHIgFFDQAgASkDEEIAVw0AIAEtABgEQCAAQb0MQX8QYw8LIAEtABkEQCAAIAErAwAQWw8LIAAgASkDCBBiCwuWAQIBfgF/AkAgAEEgEEciAEUgAigCABD2AiIEQQVGcg0AIAAgACkDEEIBfDcDECACKAIAIQECfyAEQQFGBEAgARBeIQMgACAAKwMAIAO5oDkDACAALQAYIAAtABlyDQIgAEEIaiADEN0ERQ0CIABBAToAGCAAQRlqDAELIAAgARBQIAArAwCgOQMAIABBGWoLQQE6AAALC/sEAgR+B38CQAJAIAIoAgQiBxAuQQVGDQAgAUEDRgRAIAIoAggQLkEFRg0BCyACKAIAEC4hDCAHEGkhCiACKAIAIQcCQCAMQQRGBEAgBxBfIQsgAigCABCLAiIIRQ0CDAELIAcQKyIIRQ0BIApBAE4NACAIIQcDQCAHLQAAIg1FDQEgB0EBaiIJIQcgDUHAAU8EQANAIAkiB0EBaiEJIActAABBwAFxQYABRg0ACwsgC0EBaiELDAALAAsCfyABQQNGBEAgAigCCBBpIgEgAUEfdSICcyACa60hAyABQQBODAELIAAQgAE0AnghA0EBCyEBIAqsIQQCQCAKQQBIBEAgC6wgBHwiBEIAWQ0BIAMgBHwhA0IAIQQgA0IAIANCAFUbIQMMAQsgCgRAIARCAX0hBAwBC0IAIQQgAyADQgBVrX0hAwsgBCAEIAN9IgZCACAGQgBVGyABGyEFIAMgBCADIAZCAFMbIAEbIQMgDEEERwRAA0AgCC0AACICRSAFUHINAyAIQQFqIgchCCACQcABTwRAA0AgByIIQQFqIQcgCC0AAEHAAXFBgAFGDQALCyAFQgF9IQUMAAsACyAIIAWnaiEBAkAgC6wiBCAFfSIGQgAgBkIAVRsgAyADIAV8IARVGyIDQoCAgIAIWgRAIAFBfyAAEOAJDAELIAAgASADp0EAQX8QhQULCw8LIAghCQNAIAJB/wFxRSADUHJFBEAgCUEBaiEHAkAgAkH/AXFBvwFLBEADQCAHIglBAWohByAJLQAAIgJBwAFxQYABRg0ADAILAAsgBy0AACECIAchCQsgA0IBfSEDDAELCyAAIAggCSAIa6xBfxDLBgtDAQF+IAIoAgAQXiIDQgAgA0IAVRshAyADIAAoAgAiASgCIDQCeFgEfyABIAOnEMoGQQAFQRILIgEEQCAAIAEQ2QELC5MDAg1/A34gABCAASELAkAgAigCABArIgpFDQACfyACKAIAEF8LIQYgAigCBBArIghFDQAgCC0AAEUEQCAAIAIoAgAQyQEPCwJ/IAIoAgQQXwshBCACKAIIECsiDEUNAAJ/IAIoAggQXwshByAAIAZBAWqsIhAQyQMiAUUNACAEQQFrIQ0gBiAEayEOIAZBf3OsIREgByAEa6whEkEAIQIDQAJ/AkACQCACIA5MBEACQCACIApqIgUtAAAiDyAILQAARgRAIAUgCCAEEFFFDQELIAEgA2ogDzoAACADQQFqDAQLIAQgB04NASALNAJ4IBAgEnwiEEIBfVMEQCAAEJEEIAEQIw8LIAkgCUEBaiIJcQ0BIAEgECARfCAQQiCGQiCHfBDGASIFDQIgABBnIAEQIw8LIAEgA2ogAiAKaiAGIAJrIgIQJxogASACIANqIgJqQQA6AAAgACABIAJBAxA9DAQLIAEhBQsgAyAFaiAMIAcQJxogAiANaiECIAUhASADIAdqCyEDIAJBAWohAgwACwALCw4AIAAgABCAASkDcBBiCw4AIAAgABCAASkDaBBiCw4AIAAgABCAASkDKBBiC7wDAgh/AXwjAEEgayIBJAAgAUEIaiIEIAAQgAEiA0EAQQAgAygCeBCZASACKAIAIQMjAEFAaiICJAACQAJAAkACQAJAAkAgAxAuQQFrDgQBAAMCBAsgAiADEFAiCzkDECAEQafdACACQRBqED8gBBCGCSIDRQ0EIAMgAkE4aiAEKAIQQQEQxQEaIAsgAisDOGENBCAEEKYCIAIgCzkDACAEQcbuACACED8MBAsgAiADEF43AyAgBEG87wAgAkEgahA/DAMLIAMQiwIhByAEIAMQXyIDQQF0IgZBBGoQsQYaIAQtABQNAiADQQAgA0EAShshCCAEKAIEIQMDQCAFIAhHBEAgBUEBdCADaiIJIAUgB2oiCi0AAEEEdkGwiQNqLQAAOgACIAkgCi0AAEEPcUGwiQNqLQAAOgADIAVBAWohBQwBCwsgAyAGakEnOwACIANB2M4AOwAAIAQgBkEDajYCEAwCCyACIAMQKzYCMCAEQfOWASACQTBqED8MAQsgBEGPmQFBBBBFCyACQUBrJAAgACAEEMIBIAEoAhhBARA9IAEtABwEQCAAEFkgACABLQAcENkBCyABQSBqJAALMQAjAEEQayIAJAAgAigCABBpIQEgACACKAIEECs2AgAgAUHUwAAgABB/IABBEGokAAsOACAAQZvsAEF/QQAQPQshACACKAIAIAIoAgQgABCVBxCcAwRAIAAgAigCABDJAQsLNgEBfiAAIAIoAgAQXiIDQgEgA0IBVRsiAxDJAyIBBEAgA6ciAiABEPEBIAAgASACQQMQuAMLC0kBAX4jAEEQayIBJABBCCABQQhqEPEBIAEpAwgiA0IAUwRAIAFCACADQv///////////wCDfSIDNwMICyAAIAMQYiABQRBqJAALmwEBBX8gAigCABCLAiEDIAACfyACKAIAEF8LIgSsQgGGQgGEEMkDIgEEQCAEQQAgBEEAShshBiABIQIDQCAFIAZGRQRAIAIgAy0AACIHQQ9xQbCJA2otAAA6AAEgAiAHQQR2QbCJA2otAAA6AAAgA0EBaiEDIAVBAWohBSACQQJqIQIMAQsLIAJBADoAACAAIAEgBEEBdEEDED0LC3gBA38gAigCABArIQMCfyACKAIAEF8LIQECQCADRQ0AIAAgAaxCAXwQyQMiBEUNAEEAIQIgAUEAIAFBAEobIQUDQCACIAVGRQRAIAIgBGogAiADai0AAEHw5wFqLQAAOgAAIAJBAWohAgwBCwsgACAEIAFBAxA9CwuEAQEEfyACKAIAECshAwJ/IAIoAgAQXwshAQJAIANFDQAgACABrEIBfBDJAyIERQ0AQQAhAiABQQAgAUEAShshBQNAIAIgBUZFBEAgAiAEaiACIANqLQAAIgYgBkHw6gFqLQAAQX9zQd8BcnE6AAAgAkEBaiECDAELCyAAIAQgAUEDED0LC5QCAgF8An8jAEEgayIEJAACQCABQQJGBEAgAigCBCIBEC5BBUYNASABEGkiAUEeIAFBHkgbIgFBACABQQBKGyEFCyACKAIAIgEQLkEFRg0AIAQgARBQIgM5AxgCQCADRAAAAAAAADDDYyADRAAAAAAAADBDZHINACAFRQRAAn4gA0QAAAAAAADgv0QAAAAAAADgPyADRAAAAAAAAAAAYxugIgOZRAAAAAAAAOBDYwRAIAOwDAELQoCAgICAgICAgH8LuSEDDAELIAQgAzkDCCAEIAU2AgBBjt4AIAQQSSIBRQRAIAAQZwwCCyABIARBGGogARAxQQEQxQEaIAEQIyAEKwMYIQMLIAAgAxBbCyAEQSBqJAALdgIBfgF8AkACQAJAIAIoAgAiARAuQQFrDgUAAgICAQILIAAgARBeIgNCAFMEfiADQoCAgICAgICAgH9RBEAgAEG9DEF/EGMPC0IAIAN9BSADCxBiDwsgABBZDwsgACABEFAiBJogBCAERAAAAAAAAAAAYxsQWwu6AgIEfwF+IAFBAnRBAXKsEEoiBARAIAFBACABQQBKGyEGIAQhAQNAIAUgBkcEQAJ/Qf3/AyACIAVBAnRqKAIAEF4iB6dB////AHEgB0L//8MAVhsiA0H/AE0EQCABIAM6AAAgAUEBagwBCyADQf8PTQRAIAEgA0E/cUGAAXI6AAEgASADQQZ2QcABcjoAACABQQJqDAELIANB//8DTQRAIAEgA0E/cUGAAXI6AAIgASADQQx2QeABcjoAACABIANBBnZBP3FBgAFyOgABIAFBA2oMAQsgASADQT9xQYABcjoAAyABIANBEnZB8AFyOgAAIAEgA0EGdkE/cUGAAXI6AAIgASADQQx2QT9xQYABcjoAASABQQRqCyEBIAVBAWohBQwBCwsgACAEIAEgBGusQQMQywYPCyAAEGcLPQAjAEEQayIBJAAgASACKAIAECsiAjYCDAJAIAJFDQAgAi0AAEUNACAAIAFBDGoQxAEQgQELIAFBEGokAAuOAQEDfyMAQTBrIgMkACAAEIABIQQCQCABQQBMDQAgAigCABArIgVFDQAgA0EANgIkIAMgAkEEajYCKCADIAFBAWs2AiAgA0EIaiICIARBAEEAIAQoAngQmQEgA0ECOgAdIAMgA0EgajYCACACIAUgAxA/IAMoAhghASAAIAIQwgEgAUEBED0LIANBMGokAAv0AgEHfyACKAIAIgUQLiIDQQVGIAIoAgQQLiIBQQVGckUEQCAFEF8hBUEBIQQCQAJAIAIoAgQQXyIGQQBMBEBBACEDQQAhAgwBCwJAAkACQAJAAkACQAJ/IANBBEYiAyABQQRGcSIIBEAgAigCABCLAiEBIAIoAgQQiwIMAQsgAigCACEEIAMgAUEERnINASAEECshASACKAIEECsLIgcNA0EAIQMMAQsgBBCSBCIDECsiAQ0BC0EAIQIMAwsgAxBfIQUgAigCBBCSBCICECsiB0UNAiACEF8hBgwBC0EAIQMgBUUEQEEAIQIMAQtBACECIAFFDQELIActAAAhCUEBIQQDQCAFIAZIBEBBACEEDAMLAkAgAS0AACAJRw0AIAEgByAGEFENAAwDCyAEQQFqIQQDQCABQQFqIQEgBUEBayEFIAgNASABLQAAQcABcUGAAUYNAAsMAAsACyAAEGcMAQsgACAEEIEBCyADEJsBIAIQmwELC4sBAQF/AkACQAJAAkAgAigCACIBEC5BAWsOBAAAAQACCyAAAn8gARBfCxCBAQ8LIAEQKyIBRQ0BIAEhAgNAIAItAAAiAwRAIAJBAWohAiADQcABSQ0BA0AgAi0AAEHAAXFBgAFHDQIgAUEBaiEBIAJBAWohAgwACwALCyAAIAIgAWsQgQEPCyAAEFkLCw8AIAAgAigCABDkCRCBAQscACAAIAIoAgAQLkECdEGMiQNqKAIAQX9BABA9CwkAIABBARD+CgsJACAAQQAQ/goLkAEBAn8gAigCACECAkACQCAAQSgQRyIBRQ0AIAEvAQghAyACEC5BBUYEQCADRQ0BDAILIAMEQCAAEJUHIQMgABDUAiIEQQAgASACIAMQnAMiA0EASBtBASAEIANBAExyG0UNAiABIAIQkAQaDwsgASAAEIABNgIgIAEgAhCQBBoLDwsgAEEBOgAYIABBfzYCFAuRAQEFfyAAENQCIQQgABCVByEFAkAgAigCABAuQQVGDQBBf0EAIAQbIQQgAUEBIAFBAUobIQZBASEBA0AgASAGRwRAIAIgAUECdGooAgAiBxAuQQVGDQIgASADIAIgA0ECdGooAgAgByAFEJwDIARzQQBOGyEDIAFBAWohAQwBCwsgACACIANBAnRqKAIAEMkBCwvKBAEIfwJAIAIoAgAiBBAuQQVGDQAgBBArIgdFDQACfyACKAIAEF8LIQQCQAJAAkAgAUEBRgRAQYSJAyEKQYiJAyEGQQEhBQwBCyACKAIEECsiCUUNA0EAIQEgCSECA0AgAi0AACIFBEAgAkEBaiIDIQIgBUHAAU8EQANAIAMiAkEBaiEDIAItAABBwAFxQYABRg0ACwsgAUEBaiEBDAELCyABRQ0BIAAgAa1CA4YQyQMiBkUNAyAGIAFBAnRqIQpBACEFIAkhAQNAIAEtAAAEQCAGIAVBAnQiCGogATYCACABQQFqIgMhAiABLQAAQcABTwRAA0AgAyICQQFqIQMgAi0AAEHAAXFBgAFGDQALCyAIIApqIAIgAWs2AgAgBUEBaiEFIAIhAQwBCwsgBUUNAQsCQCAAENQCIghBAXFFIARFcg0AA0AgBCEBQQAhAkEAIQMDQAJAIAIgBUYNACABIAogAkECdCIEaigCACIDTwRAIAcgBCAGaigCACADEFFFDQELIAJBAWohAgwBCwsgAiAFTwRAIAEhBAwCCyADIAdqIQcgASADayEEIAEgA0cNAAtBACEECwJAIAhBAnFFIARFckUEQANAIAQhAUEAIQIDQCACIAVGDQMCQCAKIAJBAnQiCGooAgAiAyABTQRAIAcgASADayIEaiAGIAhqKAIAIAMQUUUNAQsgAkEBaiECDAELCyABIANGIQJBACEBIAJFDQAMAgsACyAEIQELIAlFDQEgBhAjDAELIAQhAQsgACAHIAFBfxA9CwsUACAAIAIoAgAQaRCnCUF/QQAQPQuhAQEEfyACKAIAECsiAQRAIAACfyMAQRBrIgIkACACQQxqEKgJIAFBAEEHIAFBtYoBQQcQSBtqIgQQMSEBIAIoAgwiAEEAIABBAEobIQVBACEAA0ACQCAAIAVHBEAgBCAAQQJ0QdCsA2ooAgAiBiABEEgNASABIAZqLQAAEP4EDQFBASEDCyACQRBqJAAgAwwCCyAAQQFqIQAMAAsACxCBAQsLDQAgAEGACEF/QQAQPQuvAQICfwF+IwBBMGsiASQAIAFBGGoiBEEAQQBBACACKAIAEIsCIgIoAhRB5ABsQeQAahCZASABIAJBBEEIIAItABgbajUCADcDECAEQfwNIAFBEGoQPwNAIAMgAigCFE5FBEAgASACKAIgIANBAnRqKAIAQQFqrSIFIAI1Agh8QgF9IAWANwMAIAFBGGpB+w0gARA/IANBAWohAwwBCwsgACABQRhqEJYHIAFBMGokAAuOAgEDfyACKAIAEIsCIQEgAigCBBBpIQICQCABKAIIBEAgAkEAIAJBAEobIQQDQCADIARGBEADQCACIAEoAhBODQQgAkECdCIDIAEoAiBqIgQgBCgCAEEBajYCACABKAIcIANqQQE2AgAgAkEBaiECDAALAAUgASgCHCADQQJ0aiIFIAUoAgBBAWo2AgAgA0EBaiEDDAELAAsAC0EAIQIDQCACIAEoAhBODQEgASgCHCACQQJ0akEBNgIAIAJBAWohAgwACwALIAEgASgCCEEBaiICNgIIAkAgASgCDCIDRQ0AIAIgAyABLQAYIgNBAWpsTQ0AIAEgA0EBajoAGCAAIAEoAiAoAgBBAEcQgQELCwsAIAAoAgAgABAlC6cBAgF+BH8gABCAASEEIAIoAgAQaSEFIAIoAgQQaSEGIAQgBUEBakF+cSIHQQN0QSRqrBBBIgFFBEAgABBnDwsgASAENgIAIAIoAggQXiEDIAFBADYCCCABIAM+AgQgAigCDBBeIQMgASABQSRqIgI2AiAgAUEAOgAYIAEgBjYCFCABIAU2AhAgASADPgIMIAEgAiAHQQJ0ajYCHCAAIAFBJEHXABC4AwufAgEGfyMAQZABayIFJAAgAigCABArIQRBACECIAAQgAEiBigCFCIBQQAgAUEAShshAyAEQdTlASAEGyEIAkACQANAIAIgA0YEQEG+OyEDDAILAkAgBigCECIEIAJBBHRqIgEoAgQiBwRAIAYgAiAIENAEDQELIAJBAWohAgwBCwtBzTEhAyACQQJJDQBBvvgAIQMgBxDfAg0AIAcQgQsNACAEIAJBBHRqIQMgBCgCHEEwaiECA0AgAigCACICBEAgAigCCCIAKAIYIAMoAgxHDQEgACAAKAIUNgIYDAELCyAHENcCIAFBADYCBCADQQA2AgwgBhCNBwwBCyAFIAg2AgAgAEGAASAFQRBqIAMgBRC3AUF/EGMLIAVBkAFqJAAL4wgBB38jAEFAaiIEJAAgABCAASEBIARBADYCPCAEQQA2AjggBEEANgIwIAIoAgAQKyIDQdTlASADGyEIIAIoAgQQKyECAkACQAJAAkACQCABLQCyAUEEcQRAIARB54gBEJ8FIgI2AiwgAkUNBSABKAIQIgYgAS0AsAFBBHQiCWoiA0EEaiEFIAMoAgQiBwRAIAcQ1wILQQAhByAFQQA2AgAgBiAJakEANgIMIAJBzIADIAEgBUEAQYACEP8DIQIMAQsCQCAEAn8gASgCFCIDIAEoApQBIgVBAmpIBEAgAkHU5QEgAhshBUEAIQIgA0EAIANBAEobIQYDQCACIAZGDQMgASACIAUQ0AQhByACQQFqIQIgB0UNAAsgBCAFNgIQIAFBteMAIARBEGoQPAwBCyAEIAU2AiAgAUHa/wAgBEEgahA8CyIDNgIwQQAhAgwCCwJAIAEoAhAiAiABQcgDakYEQCABQjAQUyICRQ0GIAIgASgCECIDKQIANwIAIAIgAykCGDcCGCACIAMpAhA3AhAgAiADKQIINwIIDAELIAEgAiADQQR0QRBqrRDDASICRQ0FCyABIAI2AhAgAiABKAIUQQR0aiIDQgA3AgAgA0IANwIIIAQgASgCPDYCNCABKAIAKAIQIAggBEE0aiAEQSxqIARBPGogBEE4ahCwCSICBEAgAkEHRgRAIAEQTRoLIAAgBCgCOCIAQX8QYyAAECMMBQsgBCAEKAI0QYACciICNgI0IAQoAiwgBCgCPCIHIAEgA0EEakEAIAIQ/wMhAiABIAEoAhRBAWo2AhQgAyABIAUQXDYCAAtBACEFIAFBADoAXwJAIAIEQCACQRNGBEAgBCABQeb6AEEAEDw2AjBBASECCyADQQM6AAgMAQsgAyABIAMoAgQQugYiBjYCDAJAIAZFBEBBByECDAELQQAhAkEBIQUgBi0ATEUNACAGLQBNIAEtAFRGDQBBACEFIAQgAUGu5ABBABA8NgIwQQEhAgsgAygCBBBLIAMoAgQQjQEgAS0AWRDMBxogAygCBCABKAIQKAIEQX8QzgUQzgUaIAMoAgQgASgCIEE4cUEDchCHBiADQQM6AAggBUUNAEEAQQcgAygCABshAgsgBxC4BiACRQRAIAEQ9QEgAUEAOgCwASABIAEoAhhBb3E2AhggAS0AsgFBBHENBCABIARBMGoQtwYiAkUNBAsgAS0AsgFBBHFFBEAgASgCECABKAIUQQFrIgNBBHRqKAIEIgUEQCAFENcCIAEoAhAgA0EEdGoiBUEANgIMIAVBADYCBAsgARCxAiABIAM2AhQgAkGKGEcgAkEHR3FFBEAgARBNGiABIAQoAjAQJSAEIAFB9QhBABA8IgM2AjAMAgsgBCgCMCIDDQIgBCAINgIAIAQgAUGiOyAEEDwiAzYCMAwBCyAEKAIwIQMLIANFDQELIAAgA0F/EGMgASAEKAIwECULIAJFDQAgACACENkBCyAEQUBrJAALhAIBA38jAEEQayIDJAAgABCAASEEIAAQ1AIhBQJAAn8gAigCABBfCyAEKAKYAUoEQCAAQeMKQX8QYwwBCwJAIAFBA0YEQCADIAIoAggQKyIBNgIIIAFFDQIgARDGCUEBRwRAIABBmsQAQX8QYwwDCyADQQhqEMQBIgEgBS0AAEcEQCABIAUtAAFHDQILIAMgBSgAACIENgIMIARB/wFxIAFGBEAgA0EAOgAMCyADQQxqIQUgASAEQQh2Qf8BcUcNASADQQA6AA0MAQsgBS0AAiEBCyACKAIAECshBCACKAIEECsiAkUgBEVyDQAgACAEIAIgBSABELMDRRCBAQsgA0EQaiQACz8AAkAgAS0AAEGnAUcNACABLgEgIgFBAEgNACAAIAAvARQgACgCGCgCBCABQf//A3FBDGxqLwEKcjsBFAtBAAtTAQF/AkAgAS0AAEGnAUcNAAJAIAEuASAiAkEASARAQQIhAQwBC0EBIQEgACgCGCACQf//A3FBAnRqKAIAQQBIDQELIAAgAC8BFCABcjsBFAtBAAsDAAELaQACQCABLQAAQacBRw0AIAEoAhwgACgCGCIAKAIERw0AIAAoAhAgAS4BIEcNACAAIAEQjQsgASABKAIsIAEuASAQtgQ6AAEgASAAKAIINgIcIAAoAgwhACABQQA2AiwgASAAOwEgC0EAC24BAn9BACABIAAoAhgiAigCACACKAIEEGsEf0EABSACIAEQuwIiABCNCyAAEIYBIQEgAEGnAToAACAAIAE6AAEgACACKAIINgIcIAAgAigCDDsBICAAIAAoAgRB/9/vZ3E2AgQgAEEANgIsQQELC0MBAn8CQCABLQAAQacBRw0AIAEoAhwgACgCGCIDKAIERw0AIAMoAgAgAS4BIBCdAkEATg0AIABBATsBFEECIQILIAILKQEBfwJAIAEtAABBrAFHDQAgAS0ABkEIcQ0AIABBADsBFEECIQILIAILbgEDfyAAKAIYIQMDQCADKAIAIAJKBEACQEEAIAEgAyACQQR0aigCCCIEQX8Qa0EBSg0AIAAoAgAgBBCyAhCrB0UNAEEBDwsgAkEBaiECDAELCyABLQAFQQhxBEAgAEEAOwEUQQIPCyAAIAEQ6gsLPgACQCABLQAAQacBRw0AIAAoAhgiACgCKCABKAIcRw0AIAEuASBBAEgNACAAIAApAzggARC6B4Q3AzgLQQALOwEBfyABLQAAIgJBswFHIAJBpwFHcUUEQCAAIAFBHGoQswsLIAEtAARBAXEEQCAAIAFBJGoQswsLQQAL8QMBBX8gAS0AACECIAAoAgAhBQJAAkACQCAAKAIYIgMoAhAEQCACQacBRw0DQQAhACADKAIEIgQoAgAiBkEAIAZBAEobIQIDQAJAIAAgAkcEQCABKAIcIAQgAEHIAGxqKAIwRw0BIAAhAgtBACEEIAIgBkYNBQwDCyAAQQFqIQAMAAsACwJAIAJBpwFrDgYBAQICAgACCyABLQAHQQFxRQ0BIAMhAgNAIAIoAgAiAEUNASAAQSRqIQJBASEEIAEoAiwgAEcNAAsMAgtBAiEEIAUoAgAiAC0AVw0BAn8CQAJAIAMoAggiAgR/QQAhAANAIAIoAgAgAEoEQEEAIAIgAEEEdGooAgggAUF/EGtFDQQgAEEBaiEAIAMoAgghAgwBCwsgBSgCAAUgAAsgAUEAEDUiAEUNACAALQAAQagBRw0AIABBrAE6AAALIAMgBSADKAIIIAAQQCICNgIIQX8hAEEBDAELIAMoAgghAkEACyEGIAIEQCABIAEoAgQiAkGAgIDAAHI2AgQgBSgCACABEC8gAUEAQTQQKCIBQacBOgAAIAEgBgR/IAMoAggoAgBBAWsFIAALOwEgIAEgAygCACgCMDYCHCADKAIMIQAgASACQYACcTYCBCABIAA2AiwLIAUoAgAtAFcNAQtBACEECyAECzABAn8gASAAKAIYIgIoAhAiA0YEQEEADwsgAiABNgIQIAAgARBqGiACIAM2AhBBAQupAQEDfwJAIAEtAAVB4ABxDQAgASgCKCICRQ0AIAEuASIhAyAAKAIAIgQoAgAhAAJAIAEtAABBqQFGBEAgAigCHCADQRRsaigCBCABRw0CIAAgAUEAEDUiAUUNAiACKAIcIANBFGxqIAE2AgQMAQsgAigCKCADQRRsaigCACABRw0BIAAgAUEAEDUiAUUNASACKAIoIANBFGxqIAE2AgALIAQgARDNBwtBAAvhBgEIfyAAKAIYIgMoAgghBCADKAIAIQUCQAJAAkACQCABLQAAQacBaw4DAAEAAwsgAygCBCIARQ0BIAAoAgAiA0EAIANBAEobIQMgAEEIaiEAQQEhBgNAIAIgA0YNAyABKAIcIgcgACgCKEYEQEEAIQAgBCgCICICQQAgAkEAShshAyAEKAIcIQICQANAIAAgA0cEQCAHIAIoAghGBEAgAi8BECABLwEgRg0DCyACQRRqIQIgAEEBaiEADAELCyAFKAIAIQIjAEEQayIAJAAgBCACIAQoAhxBFCAEQSBqIABBDGoQzgc2AhwgACgCDCECIABBEGokACACIgBBAEgNACAEKAIcIABBFGxqIgMgASgCLDYCACADIAEoAhwiBzYCCCADIAEvASAiCDsBECAFIAUoAixBAWoiAjYCLCADQf//AzsBEiADIAI2AgwgAyABNgIEAkAgBCgCGCIFRQ0AQQAhAiAFKAIAIgZBACAGQQBKGyEJIAVBCGohBQNAIAIgCUYNAQJAAkAgBSgCACIGLQAAQacBRw0AIAYoAhwgB0cNACAGLwEgIAhGDQELIAVBEGohBSACQQFqIQIMAQsLIAMgAjsBEiACQRB0QRB1QQBODQELIAQgBCgCDCICQQFqNgIMIAMgAjsBEgsgASAAOwEiIAFBqQE6AAAgASAENgIoDAMFIABByABqIQAgAkEBaiECDAELAAsACyADLQAaQQJxDQEgACgCECABLQACRw0BIAQoAighAANAAkACQCACIAQoAiwiA04NACAAKAIAIgYgAUYNAEEAIAYgAUF/EGsNASAEKAIsIQMLAkAgAiADSA0AIAUoAgAiAi0AVCEDIwBBEGsiACQAIAQgAiAEKAIoQRQgBEEsaiAAQQxqEM4HNgIoIAAoAgwhAiAAQRBqJAAgAkEASA0AIAQoAigiBiACQRRsaiIAIAE2AgAgBSAFKAIsQQFqIgc2AiwgACAHNgIIIAAgBSgCACABKAIIIAEoAhQiAAR/IAAoAgAFQQALIANBABCGAjYCBEF/IQAgAS0ABEECcQRAIAUgBSgCKCIAQQFqNgIoCyAGIAJBFGxqIAA2AgwLIAEgBDYCKCABIAI7ASIMAgsgAEEUaiEAIAJBAWohAgwACwALQQEhBgsgBgu0AQEFfyMAQUBqIgQkAAJAIAEtAABBLEYNAEEBIQIgACgCACABIAAoAhgiBSgCKBCvC0UNACABKAIEQYGAgIACcUGAgICAAkYNACABKAIoDQAgACgCACgCAEGbAUHDtgEQcyIDRQ0AIAUoAiQhAiAEQQhqIgYgA0E0ECcaIAMgAUE0ECchAyABIAZBNBAnGiAFIAAoAgAgAiADEN8BNgIkQQEhAiAAQQE7ARQLIARBQGskACACC3gBAn8CQAJAIAAoAhgiACgCEEUNACABLQAAQS1rIgNBDEsNAEEBIQJBASADdEGBPnFFDQAgACABKAIMQQAQrAcaIAAoAgQtAAANASABKAIMEIYBQcIARg0AIAAgASgCEEEAEKwHGgsgACABIAAoAhAQrAchAgsgAgstAQF/AkAgAS0AAEGoAUcNACABLQACIgIgACgCEEgNACABIAJBAWo6AAILQQALDwAgACAAKAIQQQFrNgIQCxEAIAAgACgCEEEBajYCEEEAC0YBAX8jAEEQayICJAACQCABLQAAQagBRw0AIAEoAigNACAAKAIAIQAgAiABKAIINgIAIABB7ckBIAIQJgsgAkEQaiQAQQALeQEDfyMAQRBrIgIkACAAKAIYIgMtACRFBEAgASABKAIEQYCAgIAEcjYCBAtBACEAAkAgAS0AAEGcAUcNACADKAIAIgQoAgAtALEBBEAgAUH5ADoAAAwBCyACIAMoAiw2AgAgBEGsKiACECZBAiEACyACQRBqJAAgAAvZAgIKfwF+IwBBEGsiBiQAIAAoAhgiAygCACgCACIIIAMoAigQ5gIhCQJAIAEoAiAiB0UEQEEAIQMMAQsgA0EEaiEKIAdBCGohAgJAA0AgBygCACAESgRAIAMtACRFBEACQCACKAIEIgVFBEAgAi8AJSEFDAELIAggBRDmAiAJRwRAIAMoAgAhACADKQIsIQwgBiAFNgIIIAYgDDcDACAAQZ8xIAYQJgwFCyAIIAUQJSACQQA2AgQgAkElaiACLwAlQYACciIFOwAACyADKAIgIQsgAiAFQcAAcjsAJSACIAs2AgALIAogByAEQcgAbGooAjQQTA0CIAJByABqIQIgBEEBaiEEDAELC0EAIQMgASgCQCICRQ0BQQAhBANAIAQgAigCAE4NAiAAIAIgBEEYbGooAhQQag0BIARBAWohBCABKAJAIQIMAAsAC0ECIQMLIAZBEGokACADCyoAIAAoAgAiAEEAIAEQqAEgAS0AB0EDcUUEQCAAQQAgAUEsahCoAQtBAAv9AQEFfwJ/QQIgACgCACIGKAIkDQAaQQEgAS8BBkGgCHENABoCQCABKAIcIgNFDQADQCACIAMoAgBODQECQCADIAJBBHRqIgUoAgwiBEUNACAFLQARQQNxDQAgBkEAIAQQqAELIAJBAWohAgwACwALAkAgASgCICIFRQ0AQQAhAgNAIAIgBSgCAE4NASAGQQAgBSACQcgAbGoiBCgCEBCoASAAIAQoAjQQTBpBACEDAkAgBCgCOCIERQ0AA0AgAyAEKAIETg0BIAZBACAEKAIAIANBA3RqKAIAEKgBIANBAWohAwwACwALIAJBAWohAgwACwALIAAgARC2B0EACwsXACABLQAHQQFxBEAgASgCLBCCBgtBAAuJAQEFfwJAIAEoAgQiAkGAAXENACABIAJBgAFyNgIEIAEoAiAiBEEIaiECIAAoAgAhBQNAIAMgBCgCAE4NAQJAIAIoAhAiBi0AHUHAAHFFDQAgAigCFCIBRQ0AA0AgASIAKAI0IgENAAsgBSAGIABBwAAQuwcLIAJByABqIQIgA0EBaiEDDAALAAsLjhoCGH8BfiMAQeAAayINJAAgACgCACIFKAIAIQwgASABKAIEIgJBwAByNgIEQQIhBgJAIAwtAFcNAEEBIQYgAkHAAHENACAALwEUBEAgBSAFKAJkQQFqIgM2AmQgASADNgIQCyABKAJAIQogASgCHCETIAEoAiAhEiAFKAKIAkUgAkGAgIABcUVyRQRAIApFBEAgASAMQiQQQSIKNgJAQQIhBiAKRQ0CCyAKQQE2AgQLIAUgCkEAEOcFGiAFIBIQvAUgEkEIaiIZIQRBACEKAkADQCASKAIAIApKBEACQCAEKAIQDQACQCAEKAIIRQRAQQIhBiAAIAQoAhQQag0GIAUgBBDMC0UNAQwGC0EAIQcjAEFAaiILJAACQCAFKAKIAiICRQ0AIAUoAiQNACAEKAIEDQAgBC0AJkEBcQ0AAn8gBCgCCCEGA0ACQCACRQ0AQQAhAyACKAIAIghBACAIQQBKGyEIAkADQCADIAhGDQEgA0EYbCEJIANBAWohAyAGIAIgCWpBDGoiCSgCABAwDQALIAsgAjYCPCAJDAMLIAIoAgQNACACKAIIIQIMAQsLQQALIghFDQAgCCgCDCICBEAgCyAIKAIANgIwIAUgAiALQTBqECZBAiEHDAELIAUoAgAhAkECIQcgBSAEEMsLDQAgAkLAABBBIglFDQAgCCgCECIGRQRAIAggAkIUEEEiBjYCEAJAIAYEQCAFQS8gBhCbAg0BCyACIAkQJQwCCyAGIAgtABQ6ABILIAQgCTYCECAJQQE2AhggAiAIKAIAEFwhAyAJQcgBOwEmIAlB//8DOwEgIAkgAzYCACAJIAkoAhxBgIQBcjYCHCAEIAIgCCgCCEEAENEBIgM2AhQgAi0AVw0AIAMgAygCBEGAgIAgcjYCBCAELwAlIgJBAnEEQCALIAQoAkA2AiAgBUGd3wEgC0EgahAmDAELIAQgBjYCRCAEIAJBgAFyOwAlIAYgBigCACICQQFqNgIAAkAgAkEATA0AIAYtABJBAUcNACAGQQA6ABILIAMtAABBfnEiEEGGAUchESADIQZBfyEOAkADQCARBEAgAyEGDAILIAYtAAAgAy0AAEcNASAGKAIgIhQoAgAhFUEAIQICQANAIAIgFUgEQAJAIBQgAkHIAGxqIg8oAgwNACAPKAIQIhdFDQAgFyAIKAIAEDANACAPIAk2AhggCSAJKAIYQQFqNgIYIA8gDy8ALUEgcjsALSAGKAIEIhdBgMAAcQ0DIAYgF0GAwAByNgIEIA5BAEgEQCAFIAUoAigiDkEBajYCKAsgDyAONgIwCyACQQFqIQIMAQsLIAYtAAVBIHFFDQIgBigCNCEGDAELCyALIAgoAgA2AgAgBUGkPSALECYMAQsgCEGRPjYCDCAFKAKIAiEPIAUgCygCPCICNgKIAgJAAkAgAy0ABUEgcQRAIAYgAygCQDYCQCAAIAYQaiEOIAZBADYCQCAORQ0BDAILIAAgAxBqDQELIAUgAjYCiAIgAyECA0AgAiIGKAI0IgINAAsgBigCHCEGAkAgCCgCBCICRQRAIAYhAgwBCyAGRQ0AIAYoAgAiBiACKAIAIg5GDQAgCCgCACECIAsgDjYCGCALIAY2AhQgCyACNgIQIAVB7CUgC0EQahAmDAELIAUgAiAJQSJqIAlBBGoQvgUgEEGGAUYEQCAIQcU3QfQ1IAMoAgRBgMAAcRs2AgwgACADEGoaCyAIQQA2AgwgBSAPNgKIAkEBIQcMAQsgBSAPNgKIAgsgC0FAayQAIAcEQCAHQQFMDQEMBQsgBCAFQQAgBBD+ASICNgIQQQIhBiACRQ0FIAIoAhgiA0H//wNPBEAgDSACKAIANgIAIAVB07ABIA0QJiAEQQA2AhAMBgsgAiADQQFqNgIYIAItACtBAUcEQCAFIAQQywsNBiACLQArRQ0BCyAALQAUIQMgBSACEJwCDQUCQAJAAkAgAi0AK0EBaw4CAQACCwJAIAwtACNBgAFxDQAgAigCPCAMKAIQKAIcRg0AIA0gAigCADYCECAFQan0ACANQRBqECYLIAQgDCACKAIsQQAQ0QE2AhQMAQsgBC0AJUHAAHFFDQAgAigCNCIGRQ0AIAYtABEgDCgCIEEHdkEBcU0NACANIAIoAgA2AiAgBUHK3gEgDUEgahAmCyACLwEiIQYgAkH//wM7ASIgAEEBOwEUIAAgBCgCFBBqGiAAIAM7ARQgAiAGOwEiCyAELQAlQQJxRQ0AIAUgBBDKCw0DCyAEQcgAaiEEIApBAWohCgwBCwtBAiEGIAUoAiQNAUEAIQpBACEHIwBBIGsiAyQAIAFBJGohCyABKAIgIgRB0ABqIQIgBEEIaiEIAkACQANAIAogBCgCAEEBa04NAgJAAkAgCCgCEEUNACACKAIQIglFDQAgAi0AJCIAQSBxIhBBBXYhDwJAIABBBHFFDQAgAigCLA0CIAIoAjANAiAKQQFqIQ5BACEAA0AgACAJLgEiTg0BAkAgCSgCBCAAQQxsaiIRLQAKQQJxDQAgBCAOIBEoAgAgA0EcaiADQRhqQQEQtwdFDQAgBSAEIAMoAhwgAygCGCAOIAAgDyALEMgLCyAAQQFqIQAMAAsACyACKAIsIgAEQCACKAIwBEAgBUHf0gBBABAmDAULIBAEQCAAIAIoAigQzwMgAigCLCEACyALIAUgCygCACAAEN8BNgIAIAJBADYCLAsgAigCMCIORQ0AIApBAWohEEEAIQADQCAAIA4oAgRODQECQCAJIA4oAgAgAEEDdGooAgAiERDHByIUQQBOBEAgBCAQIBEgA0EcaiADQRhqQQAQtwcNAQsgAyARNgIAIAVBuikgAxAmDAULIAUgBCADKAIcIAMoAhggECAUIA8gCxDICyAAQQFqIQAMAAsACyAIQcgAaiEIIAJByABqIQIgCkEBaiEKDAELCyADQQA2AhAgBUGD4wAgA0EQahAmC0EBIQcLIANBIGokACAHDQEgEygCACIAQQAgAEEAShshA0EAIQQCQAJAA0AgAyAERwRAAkAgEyAEQQR0aigCCCICLQAAIgdBjQFHBEAgB0G0AUcNAQwECyACKAIQLQAAQbQBRg0DCyAEQQFqIQQgAigCBCAWciEWDAELCyABKAIcIQMMAQsgBSgCACkDIELEAIMhGkEAIQMDQCAAIBhKBEAgEyAYQQR0aiIAKAIIIgQoAgQhEEEAIQdBACECAkAgBC0AACIKQbQBRwRAAkAgCkGNAUYEQCAEKAIQLQAAQbQBRg0BCyAFIAMgBBBAIgMEQCADKAIAQQR0IANqIgJBBGsgACgCDDYCACACIAItAAFB/AFxIAAtABFBA3FyOgABIABBADYCDAsgAEEANgIIDAILIAQoAgwoAgghAgsgGSEAQQAhCANAAkAgCCASKAIATg0AIAAoAhAhDyAAKAIMIglFBEAgDygCACEJCyAMLQBXDQACQAJ/IAAoAhQiCwRAQQAgCy0ABUEIcQ0BGgsgAgRAIAIgCRAwDQILQQAhC0GFvQEgDCAPKAI8EFQiBEEASA0AGiAMKAIQIARBBHRqKAIACyEOQQAhBCACQQBHIAtBAEdxIREgAkUgCEEAR3EhFANAIAQgDy4BIk4NASAPKAIEIARBDGxqIhUoAgAhCgJAIBEEQCALKAIcIARBBHRqQQhqQQAgAkEAENILRQ0BCyABLQAGQQJxRQRAIBUtAApBAnENAQsgFARAIAAtACRBBHEEQEEBIQcgEiAIIApBAEEAQQEQtwcNAgtBASEHIAAoAjAgChDJC0EATg0BCyAMQTsgChBzIQcCfyAaQgRSBEBBACASKAIAQQJIDQEaCyAFQY0BIAxBOyAJEHMgBxA2IQcgDgRAIAVBjQEgDEE7IA4QcyAHEDYhBwtBACAaQgRSDQAaIA0gCjYCRCANIAk2AkAgDEHRLiANQUBrEDwiCgshFSAFIAMgBxBAIQMgDUHYAGoiByAKEOMCIAUgAyAHQQAQwAICQCADRQ0AIAEtAAVBCHFFDQAgBS0A0AFBAUsNACAMIAMgAygCAEEBa0EEdGoiBygCDBAlIAcCfyALBEAgDCALKAIcIARBBHRqKAIMEFwMAQsgDSAKNgI4IA0gCTYCNCANIA42AjAgDEG6LSANQTBqEDwLNgIMIAcgBy0AEUH8AXFBAnI6ABELIAwgFRAlQQEhBwsgBEEBaiEEDAALAAsgAEHIAGohACAIQQFqIQgMAQsLIAcNACACBEAgDSACNgJQIAVBkj0gDUHQAGoQJgwBCyAFQdL6AEEAECYLIBAgFnIhFiAYQQFqIRggEygCACEADAELCyAMIBMQOiABIAM2AhwLAkAgA0UNACADKAIAIAwoAoABSgRAIAVB4RdBABAmDAMLIBZBhICAAXFFDQAgASABKAIEQYCAEHI2AgQLQQAhBgwBC0ECIQYLIA1B4ABqJAAgBgvIAgEFfyMAQRBrIgQkAAJAIAEoAjRFDQAgASgCMCIDRQ0AIAEhAgNAIAJFDQECQAJAIAItAABBhwFrDgQAAQEAAQsgAigCNCECDAELCyADLwEUDQAgAygCACECA0AgAkEATA0BIAMgAkEBayICQQR0aigCCC0ABUEBcUUNAAtBAiEFIAAoAgAiAigCACIDQswAEEEiAEUNACAEQgA3AwggAkEAQQBBACAEQQhqIABBAEEAEOUCIgZFDQAgACABQcwAECchACABIAY2AiAgAkEAIANBtAFBABBzEEAhAiABQQA2AiQgAUGKAToAACABIAI2AhwgAEEANgIwIABCADcCKCABQQA2AkAgAUEANgJIIAFCADcCNCABIAEoAgRB//17cUGAgARyNgIEIAAoAjQgADYCOCAAQQA2AjxBACEFCyAEQRBqJAAgBQsgACABLQAAQagBRgRAIAEgAS0AAiAALQAYajoAAgtBAAslAQF+IAAoAhgiACkDCCICUEUEQCAAIAIgASgCIDQCAH03AwgLC8ABAgZ/An4CQAJAIAEtAABBpwFrDgMAAQABCyAAKAIYIgQoAgQiBQRAIAUoAgAhAwsgA0EAIANBAEobIQYDQAJAIAIgBkYEQCAEKQMIIglCACAJQgBVGyEJQQIhAwNAIAggCVENAiAIpyECIAhCAXwhCCAEKAIQIAJBAnRqKAIAIAEoAhxHDQALDAMLQQEhAyACQcgAbCEHIAJBAWohAiABKAIcIAUgB2ooAjBHDQELCyAAIAAvARQgA3I7ARQLQQALmAECAn4CfwJAIAEoAiAiASgCACIERQ0AIAAoAhgiACAAKQMIIgMgBKx8IgI3AwggACgCACAAKAIQIAJCAoYQwwEiBEUEQCAAQgA3AwhBAiEFDAELIAAgBDYCEEIAIQIDQCACIAE0AgBZDQEgBCADp0ECdGogASACp0HIAGxqKAIwNgIAIANCAXwhAyACQgF8IQIMAAsACyAFC6ENAQ9/IwBBIGsiBCQAQQEhDwJAIAEoAgQiA0EEcQ0AIAAoAgAhAiAAKAIYIQUgA0HAAHFFBEAgAiABIAUQ3gFBAkEBIAIoAiQbIQ8MAQsgASgCNCIQQQBHIQogAigCACEMIARBBHIhCCABIQADQCAABEAgACAAKAIEQQRyNgIEIAhCADcCECAIQgA3AgggCEIANwIAIAQgADYCHCAEIAI2AgBBAiEPIAQgACgCPBCfAQ0CIAAiAy0ABkEBcQRAIAMoAiAoAhwgAygCMDYCMCADQQA2AjALQQAhAANAIAMoAiAiBigCACAASgRAAkAgBiAAQcgAbGoiCygCHCINRQ0AIA0tAARBBHENACAFBH8gBSgCEAVBAAshByACKAL4ASEJIAsoAhAiBgRAIAIgBjYC+AELIAIgDSAFENQLIAIgCTYC+AEgAigCJA0FIAVFDQAgCyALLwAtQff/A3EgBSgCECAHSkEDdHI7AC0LIABBAWohAAwBCwsgBCAFNgIMIAQgBjYCBCAEQYGAATYCGCAEIAMoAhwQ/QENAgJ/QQEgAygCKCIJIAQoAhgiAEEQcRsEQCADIAMoAgQgAEGAoIDAAHFyQQhyNgIEIABB//9+cQwBCyAAQf7/fnELIQYgAygCHCEAIAQgBkGAAXI2AhggBCAANgIIIAMoAiwiAARAIAlFBEAgAkHNmQFBABAmDAQLIAQgABCfAQ0DC0EAIQAgBCADKAIkEJ8BDQIDQCADKAIgIgYoAgAgAEoEQCAGIABByABsaiIGLQAtQQRxBEAgBCAGKAJIEP0BDQULIABBAWohAAwBCwsCQCACLQDQAUECSQ0AIANByABqIQcDQCAHKAIAIgBFDQEgBCAAKAIMEP0BDQQgAEEkaiEHIAQgACgCCBD9AUUNAAsMAwsgBEEANgIMIAQgBCgCGEGBgAFyNgIYIAMtAAZBAXEEQCADIAMoAiAoAhwiACgCMDYCMCAAQQA2AjALIAMoAjAiAEUgCiAOS3JFBEAgBCADIABBppQBENMLDQMLIAwtAFcNAiAEIAQoAhhB//9+cTYCGAJAIAlFDQAgBCADIAlB/JYBENMLDQMgDC0AVw0DQQAhACAJKAIAIgZBACAGQQBKGyEGIAlBCGohBwNAIAAgBkYNASAHKAIALQAEQRBxBEAgAkG34gBBABAmDAUFIAdBEGohByAAQQFqIQAMAQsACwALAkAgAygCOCIARQ0AIAMoAhwoAgAgACgCHCgCAEYNACMAQRBrIgEkAAJAIAAtAAVBAnEEQCACQZomQQAQJgwBCyABIAAtAAAQ3AM2AgAgAkHdJCABECYLIAFBEGokAAwDCyAOQQFqIQ4gAygCNCEADAELCyAQBEBBAiEPIAIhCkEAIQcjAEEQayILJAACQCABKAIwIgxFBEBBACEBDAELAkAgDCgCACIAIAooAgAiDSgCgAFMBEAgAEEAIABBAEobIQNBACECA0AgAiADRwRAIAwgAkEEdGoiACAALQARQfsBcToAESACQQFqIQIMAQsLA0AgASIAIAc2AjggACIHKAI0IgENAAsgDEEIaiEGQQEhCQNAIABBACAJG0UEQEEAIQEgDCgCACIAQQAgAEEAShshA0EAIQIDQCACIANGDQUgAkEEdCEAIAJBAWohAiAAIAxqLQARQQRxDQALIAsgAjYCACAKQYAYIAsQJgwDCyAAKAIcIRBBACECIAYhAUEAIQcDQCACIQkCfwJAIAwoAgAgB0oEQCALQX82AgwgAS0ACUEEcQ0BIAEoAgAQnQEiCEUNAQJAIAggC0EMahDeAgRAIAsoAgwiBUEASiAQKAIAIgIgBU5xDQEgCkGmlAEgB0EBaiACIAgQuQcMCAsgECAIEM8LIgVFBEBBACEFIA0gCEEAEDUhAgJAIA0tAFcNACAKIAAgAhDOCyEFIAotANABQQJJIAVBAExyDQAgCiAAIAgQzgsaCyANIAIQLwtBASAFQQBMDQMaCyAKLQDQAUEBTQRAIA1BmwFBABBzIg5FDQcgDiAFNgIIIA4gDigCBEGACHI2AgQgCCABKAIAIgJGBH8gAQUDQCACIgMoAgwiAi0AAEHxAEYNAAsgA0EMagsgDjYCACANIAgQLyABIAU7AQwLIAEgAS0ACUEEcjoACQwBCyAAKAI4IQAMAwsgCQshAiABQRBqIQEgB0EBaiEHDAALAAsACyAKQZXiAEEAECYLQQEhAQsgC0EQaiQAIAENAQtBASEPCyAEQSBqJAAgDwsqAAJAIAEtAABBrAFHDQAgAS0AB0EBcUUNACAAKAIYIAEoAiwQ3QsLQQALCgAgACgCGCABRwuKAgECf0EBIQICQCABLQAEQQFxDQACQAJAAkACQAJAIAEtAAAiA0Eraw4PBQEFBAQCBQUFAwMDAwMDAAsgA0GdAWsiA0EUSw0DQQEgA3RBgYDTAHENBCADQQpHDQMgACgCGCABKAIcRw0EIABBATsBFEECDwsgAC8BFA0DIAAgASgCDBBMGiAALwEURQ0DIABBADsBFCAAIAEoAhAQTBpBAQ8LQQJBASAAIAEoAgwQTEECRhsPCyABKAIQIQACQCABKAIMIgEtAABBpwFHDQAgASgCLCIBRQ0AIAEtACtBAUYNAgsgAC0AAEGnAUcNACAAKAIsIgBFDQAgAC0AK0EBRg0BC0EAIQILIAILMgACQCAAKAIAIgAoAogCRQ0AIAEoAjQNACABEL4HKAJAIgFFDQAgACABKAIINgKIAgsLAwABCwsAIABBADsBFEECCyYAIAAoAhAoAhxBKGpB5dwAQQAQqQEaIAAgASgCBBA6IAAgARAlCwumgwTIAgBBgAgL1N0BMy4zOC41AHt9ACVzLiV6AGFmZmluaXR5AFJlYWxBZmZpbml0eQBidXN5AHRlbXBfc3RvcmVfZGlyZWN0b3J5AG5vdCBhIHdyaXRhYmxlIGRpcmVjdG9yeQBvcGVuRGlyZWN0b3J5AHNocmlua19tZW1vcnkAb3V0IG9mIG1lbW9yeQBmYWlsZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMgb2YgbWVtb3J5AEludENvcHkAU0NvcHkAVkRlc3Ryb3kATXVsdGlwbHkAcXVlcnlfb25seQB1bmxpa2VseQB0YWJsZSAiJXMiIGhhcyBtb3JlIHRoYW4gb25lIHByaW1hcnkga2V5AGZvcmVpZ24ga2V5AGpzb25fZ3JvdXBfYXJyYXkAanNvbl9hcnJheQBqdWxpYW5kYXkAZnRzNGF1eAB1bml4AHNxbGl0ZV9yZW5hbWVfcXVvdGVmaXgAcHJlZml4AExJS0Ugb3IgR0xPQiBwYXR0ZXJuIHRvbyBjb21wbGV4AGhleABjaGFyaW5kZXgAT3BlbkF1dG9pbmRleABhdXRvbWF0aWNfaW5kZXgAYXV0by1pbmRleABvcnBoYW4gaW5kZXgARHJvcEluZGV4AGlkeABSZW9wZW5JZHgAcGN4AG1heABNZW1NYXgAJTAyeAAweAAgRlJPTSAnJXEnLiclcSVzJyBBUyB4AENSRUFURSBUQUJMRSB4AHJ3AHBzb3cAaW1wbGllc19ub25udWxsX3JvdwBub3cAaW50ZWdlciBvdmVyZmxvdwBwYXJzZXIgc3RhY2sgb3ZlcmZsb3cAd2luZG93AHNoYWRvdwBSZXN1bHRSb3cASWZOdWxsUm93AG5ldwBubyBzdWNoIHZpZXcAY2Fubm90IG1vZGlmeSAlcyBiZWNhdXNlIGl0IGlzIGEgdmlldwBDYW5ub3QgYWRkIGEgY29sdW1uIHRvIGEgdmlldwBjYW5ub3QgVVBTRVJUIGEgdmlldwBQcmV2AHN0ZGV2ACAlbGx1ACVjJXUAc3VicXVlcnlfJXUAJS4qejoldQBGcmFnbWVudGF0aW9uIG9mICVkIGJ5dGVzIHJlcG9ydGVkIGFzICVkIG9uIHBhZ2UgJXUATXVsdGlwbGUgdXNlcyBmb3IgYnl0ZSAldSBvZiBwYWdlICV1AFNVQlFVRVJZICV1AHVuYWJsZSB0byB1c2UgZnVuY3Rpb24gJXMgaW4gdGhlIHJlcXVlc3RlZCBjb250ZXh0AFNvcnRlck5leHQAVk5leHQAaW5jb21wbGV0ZSBpbnB1dABidXN5X3RpbWVvdXQAbG9jYWxob3N0AGNhbm5vdCBkcm9wIGNvbHVtbiAiJXMiOiBubyBvdGhlciBjb2x1bW5zIGV4aXN0AHBlcnNpc3QAZm9yZWlnbl9rZXlfbGlzdABpbmRleF9saXN0AGZ1bmN0aW9uX2xpc3QAY29sbGF0aW9uX2xpc3QAZGF0YWJhc2VfbGlzdABtb2R1bGVfbGlzdABQUkFHTUEgdGFibGVfbGlzdABwcmFnbWFfbGlzdABzZXQgbGlzdABWYWx1ZUxpc3QAc3FsaXRlX3JlbmFtZV90ZXN0AFJvd1NldFRlc3QAU2VxdWVuY2VUZXN0AGZhc3QATGFzdABDYXN0AHNxcnQAU29ydGVyU29ydABqc29uX2luc2VydABJZHhJbnNlcnQAU29ydGVySW5zZXJ0AHJlc3RhcnQAY290AEJpdE5vdABJZk5vdABQYWdlY291bnQAZnJlZWxpc3RfY291bnQAbWF4X3BhZ2VfY291bnQAUmVzZXRDb3VudAB3YWxfYXV0b2NoZWNrcG9pbnQAd2FsX2NoZWNrcG9pbnQAQ2hlY2twb2ludABTYXZlcG9pbnQAYSBDSEVDSyBjb25zdHJhaW50ACVzT04gQ09ORkxJQ1QgY2xhdXNlIGRvZXMgbm90IG1hdGNoIGFueSBQUklNQVJZIEtFWSBvciBVTklRVUUgY29uc3RyYWludABDdXJzb3JIaW50AF9jb250ZW50AHBhcmVudABESVNUSU5DVCBhZ2dyZWdhdGVzIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBhcmd1bWVudABjb21tZW50AEFQSSBjYWxsZWQgd2l0aCBmaW5hbGl6ZWQgcHJlcGFyZWQgc3RhdGVtZW50AEFQSSBjYWxsZWQgd2l0aCBOVUxMIHByZXBhcmVkIHN0YXRlbWVudABNYXhQZ2NudABkZWZhdWx0IHZhbHVlIG9mIGNvbHVtbiBbJXNdIGlzIG5vdCBjb25zdGFudABNdXN0QmVJbnQAQ2Fubm90IGFkZCBhIGNvbHVtbiB3aXRoIG5vbi1jb25zdGFudCBkZWZhdWx0AEhhbHQAbGFub2l0AHN0YXRfaW5pdABJbml0AEF1dG9Db21taXQAYW5hbHlzaXNfbGltaXQAc29mdF9oZWFwX2xpbWl0AGhhcmRfaGVhcF9saW1pdABqb3VybmFsX3NpemVfbGltaXQAT2Zmc2V0TGltaXQAU2Vla0hpdABPTiBjbGF1c2UgcmVmZXJlbmNlcyB0YWJsZXMgdG8gaXRzIHJpZ2h0AFNoaWZ0UmlnaHQAaGdodABTaGlmdExlZnQAT2Zmc2V0AHJlc2V0AGpzb25fc2V0AHRvbyBtYW55IGNvbHVtbnMgaW4gcmVzdWx0IHNldAAlciBPUkRFUiBCWSB0ZXJtIGRvZXMgbm90IG1hdGNoIGFueSBjb2x1bW4gaW4gdGhlIHJlc3VsdCBzZXQAc25pcHBldABzdGF0X2dldABzcWxpdGVfY29tcGlsZW9wdGlvbl9nZXQAc3RyaWN0AE5vQ29uZmxpY3QAanNvbl9ncm91cF9vYmplY3QAanNvbl9vYmplY3QAanNvbl9leHRyYWN0AFN1YnRyYWN0AGxzdGF0AGZzdGF0ACVzX3N0YXQAdGJsLGlkeCxzdGF0AHVuc3VwcG9ydGVkIGZpbGUgZm9ybWF0AGdyb3VwX2NvbmNhdABDb25jYXQATHQAR3QAZGVmZXJfZm9yZWlnbl9rZXlzAGFsd2F5cwBwYXJhbWV0ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiB2aWV3cwBzdGF0dXMAc3luY2hyb25vdXMAaW5kZXggJXMgYWxyZWFkeSBleGlzdHMAb3V0cHV0IGZpbGUgYWxyZWFkeSBleGlzdHMAJXMgJVQgYWxyZWFkeSBleGlzdHMAdHJpZ2dlciAlVCBhbHJlYWR5IGV4aXN0cwBOb3RFeGlzdHMAaWdub3JlX2NoZWNrX2NvbnN0cmFpbnRzAENIRUNLIGNvbnN0cmFpbnRzAGV4cHJlc3Npb25zIHByb2hpYml0ZWQgaW4gUFJJTUFSWSBLRVkgYW5kIFVOSVFVRSBjb25zdHJhaW50cwBqc29uX29iamVjdCgpIHJlcXVpcmVzIGFuIGV2ZW4gbnVtYmVyIG9mIGFyZ3VtZW50cwBqc29uXyVzKCkgbmVlZHMgYW4gb2RkIG51bWJlciBvZiBhcmd1bWVudHMAJXNfc2VnbWVudHMAdW5hYmxlIHRvIGRlbGV0ZS9tb2RpZnkgdXNlci1mdW5jdGlvbiBkdWUgdG8gYWN0aXZlIHN0YXRlbWVudHMAdW5hYmxlIHRvIGRlbGV0ZS9tb2RpZnkgY29sbGF0aW9uIHNlcXVlbmNlIGR1ZSB0byBhY3RpdmUgc3RhdGVtZW50cwBvZmZzZXRzAHJldmVyc2VfdW5vcmRlcmVkX3NlbGVjdHMAaWlzc3Nzc3MAaXNzAHNlc3MAdW5jb21wcmVzcwBjYW5ub3Qgb3BlbiBzYXZlcG9pbnQgLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBjYW5ub3QgcmVsZWFzZSBzYXZlcG9pbnQgLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBjYW5ub3QgY29tbWl0IHRyYW5zYWN0aW9uIC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAY2Fubm90IFZBQ1VVTSAtIFNRTCBzdGF0ZW1lbnRzIGluIHByb2dyZXNzAGFjY2VzcwBwYXJhbWV0ZXJzAHJlY3Vyc2l2ZV90cmlnZ2VycwB0aGUgSU5ERVhFRCBCWSBjbGF1c2UgaXMgbm90IGFsbG93ZWQgb24gVVBEQVRFIG9yIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwB0aGUgTk9UIElOREVYRUQgY2xhdXNlIGlzIG5vdCBhbGxvd2VkIG9uIFVQREFURSBvciBERUxFVEUgc3RhdGVtZW50cyB3aXRoaW4gdHJpZ2dlcnMAcXVhbGlmaWVkIHRhYmxlIG5hbWVzIGFyZSBub3QgYWxsb3dlZCBvbiBJTlNFUlQsIFVQREFURSwgYW5kIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwBDaGlsZCBwYWdlIGRlcHRoIGRpZmZlcnMAdW5hYmxlIHRvIGNsb3NlIGR1ZSB0byB1bmZpbmFsaXplZCBzdGF0ZW1lbnRzIG9yIHVuZmluaXNoZWQgYmFja3VwcwBhY29zAElmUG9zAGNvbXBpbGVfb3B0aW9ucwBESVNUSU5DVCBpcyBub3Qgc3VwcG9ydGVkIGZvciB3aW5kb3cgZnVuY3Rpb25zAEZJTFRFUiBjbGF1c2UgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIGFnZ3JlZ2F0ZSB3aW5kb3cgZnVuY3Rpb25zAG5vbi1kZXRlcm1pbmlzdGljIGZ1bmN0aW9ucwBpbmRleCBleHByZXNzaW9ucwBTRUxFQ1RzIHRvIHRoZSBsZWZ0IGFuZCByaWdodCBvZiAlcyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgcmVzdWx0IGNvbHVtbnMAdmlydHVhbCB0YWJsZXMgY2Fubm90IHVzZSBjb21wdXRlZCBjb2x1bW5zAGdlbmVyYXRlZCBjb2x1bW5zAHRhYmxlICVzIGhhcyAlZCB2YWx1ZXMgZm9yICVkIGNvbHVtbnMAcmFkaWFucwBhbGwgVkFMVUVTIG11c3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgdGVybXMAZW1wdHlfcmVzdWx0X2NhbGxiYWNrcwBMb2FkQW5hbHlzaXMAZmxncwBmbGFncwB2ZnMAJWQgY29sdW1ucyBhc3NpZ25lZCAlZCB2YWx1ZXMASlNPTiBjYW5ub3QgaG9sZCBCTE9CIHZhbHVlcwBmYWlsZWQgbWVtb3J5IHJlc2l6ZSAldSB0byAldSBieXRlcwBwYXJ0aWFsIGluZGV4IFdIRVJFIGNsYXVzZXMAc2hvcnRfY29sdW1uX25hbWVzAGZ1bGxfY29sdW1uX25hbWVzAHVuYWJsZSB0byBvcGVuIGEgdGVtcG9yYXJ5IGRhdGFiYXNlIGZpbGUgZm9yIHN0b3JpbmcgdGVtcG9yYXJ5IHRhYmxlcwBjYW5ub3QgY3JlYXRlIHRyaWdnZXJzIG9uIHZpcnR1YWwgdGFibGVzACVzIFJFVFVSTklORyBpcyBub3QgYXZhaWxhYmxlIG9uIHZpcnR1YWwgdGFibGVzAGNhbm5vdCBqb2luIHVzaW5nIGNvbHVtbiAlcyAtIGNvbHVtbiBub3QgcHJlc2VudCBpbiBib3RoIHRhYmxlcwBBVVRPSU5DUkVNRU5UIG5vdCBhbGxvd2VkIG9uIFdJVEhPVVQgUk9XSUQgdGFibGVzACVzIGNhbm5vdCB1c2UgdmFyaWFibGVzAHRvbyBtYW55IFNRTCB2YXJpYWJsZXMAc3VicXVlcmllcwBjYW5ub3QgdXNlIHdpbmRvdyBmdW5jdGlvbnMgaW4gcmVjdXJzaXZlIHF1ZXJpZXMAY291bnRfY2hhbmdlcwB0b3RhbF9jaGFuZ2VzAGRlZ3JlZXMAUkVUVVJOSU5HIG1heSBub3QgdXNlICJUQUJMRS4qIiB3aWxkY2FyZHMAdGhyZWFkcwBhYnMALiUuKnMAQ1JFQVRFICVzICUuKnMAQ1JFQVRFJXMgSU5ERVggJS4qcwBpbnZhbGlkIHVyaSBhdXRob3JpdHk6ICUuKnMAdW5rbm93biB0YWJsZSBvcHRpb246ICUuKnMAJS4qcyVzACwlcyVzJXMAU0NBTiAlcyVzJXMAc3FsaXRlX2FsdGVydGFiXyVzAFNDQU4gJWQgQ09OU1RBTlQgUk9XJXMAJVElcwAgVklSVFVBTCBUQUJMRSBJTkRFWCAlZDolcwAlczogJXMuJXMuJXMAbWlzc2luZyBkYXRhdHlwZSBmb3IgJXMuJXMAY2Fubm90IHN0b3JlICVzIHZhbHVlIGluICVzIGNvbHVtbiAlcy4lcwBub24tJXMgdmFsdWUgaW4gJXMuJXMATlVMTCB2YWx1ZSBpbiAlcy4lcwAlczogJXMuJXMAbm8gc3VjaCB0YWJsZSBjb2x1bW46ICVzLiVzACUuMThzLSVzACBVU0lORyBJTlRFR0VSIFBSSU1BUlkgS0VZICglcwB1c2UgRFJPUCBWSUVXIHRvIGRlbGV0ZSB2aWV3ICVzAGlsbGVnYWwgZmlyc3QgYXJndW1lbnQgdG8gJXMAbWlzdXNlIG9mIGFsaWFzZWQgd2luZG93IGZ1bmN0aW9uICVzAHRvbyBtYW55IGNvbHVtbnMgb24gJXMAdG9vIG1hbnkgY29sdW1ucyBpbiAlcwAlcyBwcm9oaWJpdGVkIGluICVzAENIRUNLIGNvbnN0cmFpbnQgZmFpbGVkIGluICVzAG5vbi1kZXRlcm1pbmlzdGljIHVzZSBvZiAlcygpIGluICVzAHJlY292ZXJlZCAlZCBwYWdlcyBmcm9tICVzAG1pc3VzZSBvZiBhbGlhc2VkIGFnZ3JlZ2F0ZSAlcwAlcyAlVCBjYW5ub3QgcmVmZXJlbmNlIG9iamVjdHMgaW4gZGF0YWJhc2UgJXMAY2Fubm90IGRldGFjaCBkYXRhYmFzZSAlcwBhIEpPSU4gY2xhdXNlIGlzIHJlcXVpcmVkIGJlZm9yZSAlcwBjYW5ub3Qgb3BlbiB2YWx1ZSBvZiB0eXBlICVzAGNhbm5vdCBmc3RhdCBkYiBmaWxlICVzAHJlY292ZXJlZCAlZCBmcmFtZXMgZnJvbSBXQUwgZmlsZSAlcwBQUklNQVJZIEtFWSBtaXNzaW5nIG9uIHRhYmxlICVzAHVzZSBEUk9QIFRBQkxFIHRvIGRlbGV0ZSB0YWJsZSAlcwBTRUxFQ1QgJXMgT1JERVIgQlkgcm93aWQgJXMAU0VMRUNUICVzIFdIRVJFIHJvd2lkIEJFVFdFRU4gJWxsZCBBTkQgJWxsZCBPUkRFUiBCWSByb3dpZCAlcwB0aGVyZSBpcyBhbHJlYWR5IGFuIGluZGV4IG5hbWVkICVzAHRhYmxlICVTIGhhcyBubyBjb2x1bW4gbmFtZWQgJXMAdGhlcmUgaXMgYWxyZWFkeSBhIHRhYmxlIG5hbWVkICVzAHN0YXRlbWVudCBhYm9ydHMgYXQgJWQ6IFslc10gJXMAQ09WRVJJTkcgSU5ERVggJXMAU0VMRUNUICVzAHVuc3VwcG9ydGVkIHVzZSBvZiBOVUxMUyAlcwBVU0UgVEVNUCBCLVRSRUUgRk9SICVzAC0tIFRSSUdHRVIgJXMAPj8gQU5EICVzACV6OiAlcwByZWN1cnNpdmUgcmVmZXJlbmNlIGluIGEgc3VicXVlcnk6ICVzAHZ0YWJsZSBjb25zdHJ1Y3RvciBjYWxsZWQgcmVjdXJzaXZlbHk6ICVzAG5vIHN1Y2ggaW5kZXg6ICVzAG5vIHN1Y2ggd2luZG93OiAlcwBjYW5ub3Qgb3ZlcnJpZGUgJXMgb2Ygd2luZG93OiAlcwBjYW5ub3Qgb3BlbiB2aWV3OiAlcwBubyBzdWNoIHNhdmVwb2ludDogJXMAbm8gc3VjaCB2ZnM6ICVzAG11bHRpcGxlIHJlY3Vyc2l2ZSByZWZlcmVuY2VzOiAlcwBlcnJvciBpbiAlcyAlcyVzJXM6ICVzAGVycm9yIGluICVzICVzIGFmdGVyICVzOiAlcwB1bmtub3duIHRva2VuaXplcjogJXMAZXJyb3IgcGFyc2luZyBwcmVmaXggcGFyYW1ldGVyOiAlcwB1bnJlY29nbml6ZWQgcGFyYW1ldGVyOiAlcwB1bnJlY29nbml6ZWQgb3JkZXI6ICVzAHVucmVjb2duaXplZCBtYXRjaGluZm86ICVzAG5vIHN1Y2ggY29sdW1uOiAlcwBmaWxlIHJlbmFtZWQgd2hpbGUgb3BlbjogJXMAZmlsZSB1bmxpbmtlZCB3aGlsZSBvcGVuOiAlcwB1bnN1cHBvcnRlZCBlbmNvZGluZzogJXMAY2Fubm90IGxpbWl0IFdBTCBzaXplOiAlcwBNSiBkZWxldGU6ICVzAHRhcmdldCBvYmplY3QvYWxpYXMgbWF5IG5vdCBhcHBlYXIgaW4gRlJPTSBjbGF1c2U6ICVzAG9iamVjdCBuYW1lIHJlc2VydmVkIGZvciBpbnRlcm5hbCB1c2U6ICVzAHVua25vd24gZGF0YWJhc2U6ICVzAHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlOiAlcwBubyBzdWNoIGRhdGFiYXNlOiAlcwB0aGVyZSBpcyBhbHJlYWR5IGFub3RoZXIgdGFibGUgb3IgaW5kZXggd2l0aCB0aGlzIG5hbWU6ICVzAGR1cGxpY2F0ZSBjb2x1bW4gbmFtZTogJXMAZHVwbGljYXRlIFdJVEggdGFibGUgbmFtZTogJXMAbm8gc3VjaCBtb2R1bGU6ICVzAG11bHRpcGxlIGxpbmtzIHRvIGZpbGU6ICVzAGNhbm5vdCBvcGVuIHZpcnR1YWwgdGFibGU6ICVzAG5vIHN1Y2ggdGFibGU6ICVzAG11bHRpcGxlIHJlZmVyZW5jZXMgdG8gcmVjdXJzaXZlIHRhYmxlOiAlcwBubyBzdWNoICVzIG1vZGU6ICVzAE1KIGNvbGxpZGU6ICVzAG5vIHN1Y2ggY29sbGF0aW9uIHNlcXVlbmNlOiAlcwBjaXJjdWxhciByZWZlcmVuY2U6ICVzAGNhbm5vdCBvcGVuIHRhYmxlIHdpdGhvdXQgcm93aWQ6ICVzACVzIG1vZGUgbm90IGFsbG93ZWQ6ICVzAHZ0YWJsZSBjb25zdHJ1Y3RvciBmYWlsZWQ6ICVzAGF1dG9tYXRpYyBleHRlbnNpb24gbG9hZGluZyBmYWlsZWQ6ICVzAGRhdGFiYXNlIHRhYmxlIGlzIGxvY2tlZDogJXMAZGF0YWJhc2Ugc2NoZW1hIGlzIGxvY2tlZDogJXMAdnRhYmxlIGNvbnN0cnVjdG9yIGRpZCBub3QgZGVjbGFyZSBzY2hlbWE6ICVzAGFib3J0IGF0ICVkIGluIFslc106ICVzAC0tICVzACV6IC0gJXMAb3NfdW5peC5jOiVkOiAoJWQpICVzKCVzKSAtICVzAHdyAHJpZ2h0c3RyAGxlZnRzdHIAaW5zdHIAc3Vic3RyAGV4cHJfaW1wbGllc19leHByAGludmFsaWQgYXJndW1lbnRzIHRvIGZ0czRhdXggY29uc3RydWN0b3IAbWlzc2luZyAlcyBwYXJhbWV0ZXIgaW4gZnRzNCBjb25zdHJ1Y3RvcgB0aGUgIi4iIG9wZXJhdG9yAGZ0czNjdXJzb3IAbmVhciAiJVQiOiBzeW50YXggZXJyb3IAdW5rbm93biBlcnJvcgBkb21haW4gZXJyb3IAbm90IGFuIGVycm9yAFNRTCBsb2dpYyBlcnJvcgBkaXNrIEkvTyBlcnJvcgBmbG9vcgBybWRpcgBta2RpcgBzZWdkaXIAZnRzM190b2tlbml6ZXIAdW5rbm93biB0b2tlbml6ZXIAcG93ZXIAbG93ZXIAc3FsaXRlX3RlbXBfbWFzdGVyAHNxbGl0ZV9tYXN0ZXIAcG9ydGVyAFJlc2V0U29ydGVyAEZrQ291bnRlcgBBUEkgY2FsbCB3aXRoICVzIGRhdGFiYXNlIGNvbm5lY3Rpb24gcG9pbnRlcgBzdHJmaWx0ZXIAVkZpbHRlcgBFU0NBUEUgZXhwcmVzc2lvbiBtdXN0IGJlIGEgc2luZ2xlIGNoYXJhY3RlcgB1cHBlcgBwcm9wZXIASWZTbWFsbGVyAGNhbm5vdCB1c2UgUkVUVVJOSU5HIGluIGEgdHJpZ2dlcgBEcm9wVHJpZ2dlcgBzZWNvbmQgYXJndW1lbnQgdG8gbnRoX3ZhbHVlIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAGFyZ3VtZW50IG9mIG50aWxlIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAGZyYW1lIHN0YXJ0aW5nIG9mZnNldCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIAZnJhbWUgZW5kaW5nIG9mZnNldCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIASW50ZWdlcgBSb3dpZCAlbGxkIG91dCBvZiBvcmRlcgBSZW1haW5kZXIAZnJhbWUgc3RhcnRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyAGZyYW1lIGVuZGluZyBvZmZzZXQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIAYWRkcgBwYWRyAGNoYXIAeWVhcgBDbGVhcgBCaXRPcgBzZXEAQ29sbFNlcQBFbHNlRXEAcmVnZXhwAE9wZW5EdXAATm9vcABKdW1wAC91c3IvdG1wAC92YXIvdG1wAHRlbXAAY3VycmVudF90aW1lc3RhbXAAQWdnU3RlcABtb2RlU3RlcAB2YXJpYW5jZVN0ZXAAbXVubWFwAG1tYXAAbXJlbWFwAHZ0YWI6JXAAc3NlbnN1bwBpbHN1bwBhdXRvAEdvdG8AaW50bwBpbmNyZW1lbnRhbF92YWN1dW0gZW5hYmxlZCB3aXRoIGEgbWF4IHJvb3RwYWdlIG9mIHplcm8ASWZOb3RaZXJvAERlY3JKdW1wWmVybwBGa0lmWmVybwBzZXFubwBpbmRleF94aW5mbwB0YWJsZV94aW5mbwBtYXRjaGluZm8AaW5kZXhfaW5mbwB0YWJsZV9pbmZvAE9wZW5Qc2V1ZG8AZmNob3duAFJldHVybgBqc29uAG5vIHF1ZXJ5IHNvbHV0aW9uAGluZGV4IGNvcnJ1cHRpb24AZGF0YWJhc2UgY29ycnVwdGlvbgBmcmVlIHNwYWNlIGNvcnJ1cHRpb24AdW5rbm93biBjb2x1bW4gIiVzIiBpbiBmb3JlaWduIGtleSBkZWZpbml0aW9uACVzLnhCZXN0SW5kZXggbWFsZnVuY3Rpb24AYXV0aG9yaXplciBtYWxmdW5jdGlvbgAlI1QoKSBtYXkgbm90IGJlIHVzZWQgYXMgYSB3aW5kb3cgZnVuY3Rpb24AJyVzJyBpcyBub3QgYSBmdW5jdGlvbgBGdW5jdGlvbgBjYW5ub3Qgc3RhcnQgYSB0cmFuc2FjdGlvbiB3aXRoaW4gYSB0cmFuc2FjdGlvbgBjYW5ub3QgY2hhbmdlICVzIHdhbCBtb2RlIGZyb20gd2l0aGluIGEgdHJhbnNhY3Rpb24AdGVtcG9yYXJ5IHN0b3JhZ2UgY2Fubm90IGJlIGNoYW5nZWQgZnJvbSB3aXRoaW4gYSB0cmFuc2FjdGlvbgBjYW5ub3QgVkFDVVVNIGZyb20gd2l0aGluIGEgdHJhbnNhY3Rpb24AU2FmZXR5IGxldmVsIG1heSBub3QgYmUgY2hhbmdlZCBpbnNpZGUgYSB0cmFuc2FjdGlvbgBUcmFuc2FjdGlvbgBQZXJtdXRhdGlvbgB1bmtub3duIG9wZXJhdGlvbgB1bnN1cHBvcnRlZCBmcmFtZSBzcGVjaWZpY2F0aW9uAFJBTkdFIHdpdGggb2Zmc2V0IFBSRUNFRElORy9GT0xMT1dJTkcgcmVxdWlyZXMgb25lIE9SREVSIEJZIGV4cHJlc3Npb24AdG9vIG1hbnkgbGV2ZWxzIG9mIHRyaWdnZXIgcmVjdXJzaW9uAHVzZXJfdmVyc2lvbgBzcWxpdGVfdmVyc2lvbgBkYXRhX3ZlcnNpb24Ac2NoZW1hX3ZlcnNpb24Ac3FsaXRlX2Ryb3BfY29sdW1uAHNxbGl0ZV9yZW5hbWVfY29sdW1uAGFmdGVyIGRyb3AgY29sdW1uAG5vIHN1Y2ggY29sdW1uAG11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgbm9uLWdlbmVyYXRlZCBjb2x1bW4AY2Fubm90IHVzZSBERUZBVUxUIG9uIGEgZ2VuZXJhdGVkIGNvbHVtbgBhZGQgY29sdW1uAENhbm5vdCBhZGQgYSBQUklNQVJZIEtFWSBjb2x1bW4AQ2Fubm90IGFkZCBhIFVOSVFVRSBjb2x1bW4AY2Fubm90IGFkZCBhIFNUT1JFRCBjb2x1bW4AVkNvbHVtbgBidWlsdGluAGFzaW4AY2Fubm90IGhhdmUgYm90aCBPTiBhbmQgVVNJTkcgY2xhdXNlcyBpbiB0aGUgc2FtZSBqb2luAGF0IG1vc3QgJWQgdGFibGVzIGluIGEgam9pbgBtaW4Ab3JpZ2luAFZCZWdpbgBtYWluAEV4cGxhaW4Ac2lnbgBzc2VuAG9wZW4ASWZOb3RPcGVuAFNvcnRlck9wZW4AVk9wZW4AaGlkZGVuAGF0YW4AbWVkaWFuAFNlZWtTY2FuAFZJbml0SW4AYXV0b192YWN1dW0AaW5jcmVtZW50YWxfdmFjdXVtAEluY3JWYWN1dW0Ac3VtAGRyb3AgY29sdW1uIGZyb20AL2Rldi91cmFuZG9tAEFkZEltbQBydHJpbQBsdHJpbQByZWFkb25seV9zaG0AJXMtc2htAHRuZW0AUkFJU0UoKSBtYXkgb25seSBiZSB1c2VkIHdpdGhpbiBhIHRyaWdnZXItcHJvZ3JhbQBQcm9ncmFtAFBhcmFtAGZ1bABmY250bABpb2N0bABpZ29sAGxvY2tpbmcgcHJvdG9jb2wAbmNvbABub3RudWxsAGlmbnVsbAAvZGV2L251bGwAZGF0YWJhc2Ugb3IgZGlzayBpcyBmdWxsAE5vdE51bGwAU29mdE51bGwASXNOdWxsAFplcm9Pck51bGwASGFsdElmTnVsbABjb2xsAGNhY2hlX3NwaWxsAFJvd0NlbGwAY2VpbABkZXRhaWwAcGFkbAB1bml4LWV4Y2wAdGJsAHdhbAB2aXJ0dWFsAHRvdGFsAGluY3JlbWVudGFsAE9wZW5FcGhlbWVyYWwAQWdnRmluYWwAbm9ybWFsAEluZGV4IGFscmVhZHkgb3B0aW1hbABwYXJ0aWFsAHJlYWwAUmVhbABwawBvawB1bmxpbmsAcmVhZGxpbmsARmluaXNoU2VlawBEZWZlcnJlZFNlZWsAbm9sb2NrAEN1cnNvclVubG9jawBibG9jawAlcy5sb2NrAEN1cnNvckxvY2sAVGFibGVMb2NrAGludGVncml0eV9jaGVjawBmb3JlaWduX2tleV9jaGVjawBxdWlja19jaGVjawBjZWxsX3NpemVfY2hlY2sAaW50ZWdyaXR5LWNoZWNrAEZrQ2hlY2sAVHlwZUNoZWNrAEludGVncml0eUNrAHJlemkAbm9pdGF6aQBpdGl2aQBzc2VuZXZpAGl0aQBpc3Npc2kAaXNpc2kAcGkAbm9pAGduaQBzaXNzaWkAaXNzaXNpaQBzc3NpaWkAc2VpAGl0aWNpAGV0YWNpAGxhY2kAY290aABtb250aABqc29uX2FycmF5X2xlbmd0aABvdmVyZmxvdyBsaXN0IGxlbmd0aAB3ZHRoAHN0YXRfcHVzaABhY29zaABhc2luaABhdGFuaABqc29uX3BhdGNoAGRhdGF0eXBlIG1pc21hdGNoAGFyZ3VtZW50IHR5cGUgbWlzbWF0Y2gAYWJicmV2aWF0ZWQgcXVlcnkgYWxnb3JpdGhtIHNlYXJjaAB1bml4ZXBvY2gAc3FsaXRlX2F0dGFjaABzcWxpdGVfZGV0YWNoAGpzb25fZWFjaABhdmcAbmFyZwBzcWxpdGVfbG9nAHN0YXRlbWVudCB0b28gbG9uZwBjYW5ub3Qgb3BlbiAlcyBjb2x1bW4gZm9yIHdyaXRpbmcAc3Vic3RyaW5nAFN0cmluZwBzcWxpdGVfcmV0dXJuaW5nAGVuY29kaW5nAHN0cmluZyBvciBibG9iIHRvbyBiaWcAUmVsZWFzZVJlZwAlLjE2ZwAlIS4xNWcAc3Nlbmx1ZgBwcmludGYAdHlwZW9mAG1vZGVvZgBvdXQgb2YAcmVuYW1lIGNvbHVtbnMgb2YAbnVsbGlmAGlpZgBvZmYAMDEyMzQ1Njc4OWFiY2RlZgBJZgAlMDYuM2YAJS4qZgBnZXRwYWdlc2l6ZQBkb2NzaXplAG1tYXBfc2l6ZQBkZWZhdWx0X2NhY2hlX3NpemUAUFJBR01BICVRLnBhZ2Vfc2l6ZQBmdHMzdG9rZW5pemUAb3B0aW1pemUAanNvbl9yZW1vdmUATW92ZQBjYW5ub3QgY29tbWl0IC0gbm8gdHJhbnNhY3Rpb24gaXMgYWN0aXZlAGNhbm5vdCByb2xsYmFjayAtIG5vIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZQBleGNsdXNpdmUAdHJ1ZQBJc1RydWUAdW5pcXVlAGRmbHRfdmFsdWUAQ2Fubm90IGFkZCBhIFJFRkVSRU5DRVMgY29sdW1uIHdpdGggbm9uLU5VTEwgZGVmYXVsdCB2YWx1ZQBBZ2dWYWx1ZQBqc29uX3F1b3RlAHB3cml0ZQBPcGVuV3JpdGUAb25fZGVsZXRlAHNlY3VyZV9kZWxldGUASWR4RGVsZXRlAHByaXZhdGUAYWdncmVnYXRlAFZDcmVhdGUAb25fdXBkYXRlAFZVcGRhdGUAY3VycmVudF9kYXRlAGZhbGxvY2F0ZQBmdHJ1bmNhdGUAcmVwbGljYXRlAGJhZCBwYXJhbWV0ZXIgb3Igb3RoZXIgQVBJIG1pc3VzZQB0b28gbWFueSB0ZXJtcyBpbiAlcyBCWSBjbGF1c2UAdG9vIG1hbnkgdGVybXMgaW4gT1JERVIgQlkgY2xhdXNlAGFnZ3JlZ2F0ZSBmdW5jdGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIHRoZSBHUk9VUCBCWSBjbGF1c2UAUEFSVElUSU9OIGNsYXVzZQBhIE5BVFVSQUwgam9pbiBtYXkgbm90IGhhdmUgYW4gT04gb3IgVVNJTkcgY2xhdXNlAGRhdGFiYXNlICVzIGlzIGFscmVhZHkgaW4gdXNlAEFnZ0ludmVyc2UAcmV2ZXJzZQBjbG9zZQBDbG9zZQBmYWxzZQBhdHRlbXB0IHRvIHdyaXRlIGEgcmVhZG9ubHkgZGF0YWJhc2UAY29ycnVwdCBkYXRhYmFzZQBhdHRhY2hlZCBkYXRhYmFzZXMgbXVzdCB1c2UgdGhlIHNhbWUgdGV4dCBlbmNvZGluZyBhcyBtYWluIGRhdGFiYXNlAGZpbGUgaXMgbm90IGEgZGF0YWJhc2UAdGVtcF9zdG9yZQAlcyBjbGF1c2Ugc2hvdWxkIGNvbWUgYWZ0ZXIgJXMgbm90IGJlZm9yZQBFeHBpcmUAc3F1YXJlAGV4cHJfY29tcGFyZQBTb3J0ZXJDb21wYXJlAHN1YnR5cGUAanNvbl90eXBlAElzTnVsbE9yVHlwZQBJZk5vSG9wZQBpbHRuZQB1bml4LW5vbmUASW5pdENvcm91dGluZQBFbmRDb3JvdXRpbmUAaWNuZQBsb2NhbHRpbWUAc3RyZnRpbWUAZGF0ZXRpbWUAY3VycmVudF90aW1lAHRuZW1lAGFmdGVyIHJlbmFtZQBub24tdGV4dCBmaWxlbmFtZQBWUmVuYW1lAGFtYmlndW91cyBjb2x1bW4gbmFtZQB0ZW1wb3JhcnkgdHJpZ2dlciBtYXkgbm90IGhhdmUgcXVhbGlmaWVkIG5hbWUAc2ltcGxlAGxvd2VyX3F1YXJ0aWxlAHVwcGVyX3F1YXJ0aWxlAHVuaXgtZG90ZmlsZQBjYW5ub3Qgb3BlbiBmaWxlAHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUAaW1tdXRhYmxlAEFib3J0YWJsZQBsZWdhY3lfYWx0ZXJfdGFibGUAc3FsaXRlX3JlbmFtZV90YWJsZQBjYW5ub3QgY3JlYXRlIHRyaWdnZXIgb24gc3lzdGVtIHRhYmxlAHZpcnR1YWwgdGFibGUAbm8gc3VjaCB0YWJsZQBudW1iZXIgb2YgY29sdW1ucyBpbiBmb3JlaWduIGtleSBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIHJlZmVyZW5jZWQgdGFibGUAbG9jYWwgdGltZSB1bmF2YWlsYWJsZQBhbm90aGVyIHJvdyBhdmFpbGFibGUAbm8gbW9yZSByb3dzIGF2YWlsYWJsZQBWYXJpYWJsZQBEcm9wVGFibGUAdXRmMTZsZQBVVEYxNmxlAFVURi0xNmxlAGNhc2Vfc2Vuc2l0aXZlX2xpa2UAU2V0Q29va2llAFJlYWRDb29raWUAY2FjaGUAY29sdW1uIGluZGV4IG91dCBvZiByYW5nZQBub3RpZmljYXRpb24gbWVzc2FnZQB3YXJuaW5nIG1lc3NhZ2UAaW52YWxpZCByb290cGFnZQBFeHRlbmRzIG9mZiBlbmQgb2YgcGFnZQAyMDIyLTA1LTA2IDE1OjI1OjI3IDc4ZDljOTkzZDQwNGNkZmFhN2ZkZDI5NzNmYTEwNTJlM2RhOWY2NjIxNWNmZjljNTU0MGViZTU1YzQwN2Q5ZmUAanNvbl90cmVlAENyZWF0ZUJ0cmVlAGRlZQBqb3VybmFsX21vZGUAbG9ja2luZ19tb2RlAG9wY29kZQB1bmljb2RlAEpvdXJuYWxNb2RlAERpdmlkZQBjb2FsZXNjZQBzcWxpdGVfc2VxdWVuY2UAU2VxdWVuY2UAZGlmZmVyZW5jZQB2YXJpYW5jZQBPbmNlAFRyYWNlAGpzb25fcmVwbGFjZQB1dGYxNmJlAFVURjE2YmUAVVRGLTE2YmUATmUATGUAR2UAMjBjOjIwZQAyMGI6MjBlACUhLjIwZQBnZXRjd2QATWFrZVJlY29yZAB0aHN0bmRyZABsaWtlbGlob29kAGZjaG1vZAByb3VuZABOb3RGb3VuZABSZXdpbmQAU2Vla0VuZABCaXRBbmQAb2xkACVsbGQgJWxsZABubyBzdWNoIHJvd2lkOiAlbGxkAHJlYnVpbGQAWWllbGQAbGFzdF9pbnNlcnRfcm93aWQAJXMucm93aWQAU0VMRUNUKkZST00iJXciLiVzIE9SREVSIEJZIHJvd2lkAFNFTEVDVCpGUk9NIiV3Ii4lcyBXSEVSRSAlcyBPUkRFUiBCWSByb3dpZABJZHhSb3dpZABOZXdSb3dpZABTZWVrUm93aWQAZ2V0ZXVpZABpbnZhbGlkAGpzb25fdmFsaWQAZmtpZABfX2xhbmdpZAAleiwgbGFuZ2lkAGxhbmd1YWdlaWQAZG9jaWQAYXBwbGljYXRpb25faWQAc3FsaXRlX3NvdXJjZV9pZABub3QgYXV0aG9yaXplZABJbmRleCBvcHRpbWl6ZWQAbm90aW5kZXhlZAB1bmFibGUgdG8gaWRlbnRpZnkgdGhlIG9iamVjdCB0byBiZSByZWluZGV4ZWQAdmlld3MgbWF5IG5vdCBiZSBpbmRleGVkAHZpcnR1YWwgdGFibGVzIG1heSBub3QgYmUgaW5kZXhlZAB0YWJsZSAlcyBtYXkgbm90IGJlIGluZGV4ZWQAcmVhZF91bmNvbW1pdHRlZABSSUdIVCBhbmQgRlVMTCBPVVRFUiBKT0lOcyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQAcmVjdXJzaXZlIGFnZ3JlZ2F0ZSBxdWVyaWVzIG5vdCBzdXBwb3J0ZWQAcXVlcnkgYWJvcnRlZAByb3dzIGluc2VydGVkAGludGVycnVwdGVkAGNoZWNrcG9pbnRlZABhY2Nlc3MgdG8gJXogaXMgcHJvaGliaXRlZABhY2Nlc3MgdG8gdmlldyAiJXMiIHByb2hpYml0ZWQAcm93cyBkZWxldGVkAGdlbmVyYXRlZAByb3dzIHVwZGF0ZWQAbm90dXNlZAByb3cgdmFsdWUgbWlzdXNlZABzcWxpdGVfY29tcGlsZW9wdGlvbl91c2VkAFBhZ2UgJWQgaXMgbmV2ZXIgdXNlZABDb2x1bW5zVXNlZABzdG9yZWQAdmlydHVhbCB0YWJsZXMgbWF5IG5vdCBiZSBhbHRlcmVkAHZpZXcgJXMgbWF5IG5vdCBiZSBhbHRlcmVkAHRhYmxlICVzIG1heSBub3QgYmUgYWx0ZXJlZABzaGFyZWQAaW5kZXggYXNzb2NpYXRlZCB3aXRoIFVOSVFVRSBvciBQUklNQVJZIEtFWSBjb25zdHJhaW50IGNhbm5vdCBiZSBkcm9wcGVkAHRhYmxlICVzIG1heSBub3QgYmUgZHJvcHBlZAB2aWV3ICVzIGlzIGNpcmN1bGFybHkgZGVmaW5lZAB1bm9wZW5lZABkYXRhYmFzZSBkaXNrIGltYWdlIGlzIG1hbGZvcm1lZAAlcyBjb25zdHJhaW50IGZhaWxlZABGT1JFSUdOIEtFWSBjb25zdHJhaW50IGZhaWxlZABsYXJnZSBmaWxlIHN1cHBvcnQgaXMgZGlzYWJsZWQAZnRzM3Rva2VuaXplIGRpc2FibGVkAGRhdGFiYXNlICVzIGlzIGxvY2tlZABkYXRhYmFzZSBpcyBsb2NrZWQAZGF0YWJhc2UgdGFibGUgaXMgbG9ja2VkAGF1dGhvcml6YXRpb24gZGVuaWVkAGFjY2VzcyBwZXJtaXNzaW9uIGRlbmllZAB0YWJsZSAlUyBoYXMgJWQgY29sdW1ucyBidXQgJWQgdmFsdWVzIHdlcmUgc3VwcGxpZWQAdGVtcG9yYXJ5IHRhYmxlIG5hbWUgbXVzdCBiZSB1bnF1YWxpZmllZAB0YWJsZSAlcyBtYXkgbm90IGJlIG1vZGlmaWVkAGNvbmZsaWN0aW5nIE9OIENPTkZMSUNUIGNsYXVzZXMgc3BlY2lmaWVkAG5vIHRhYmxlcyBzcGVjaWZpZWQAZGF0YWJhc2UgaXMgYWxyZWFkeSBhdHRhY2hlZABkYXRhYmFzZSBzY2hlbWEgaGFzIGNoYW5nZWQAZXhjbHVkZWQAUG9pbnRlciBtYXAgcGFnZSAlZCBpcyByZWZlcmVuY2VkAFJvd1NldEFkZABGaWx0ZXJBZGQAcHJlYWQAUm93U2V0UmVhZABPcGVuUmVhZAAlMDRkACUwM2QAJTAyZAA0MGYtMjFhLTIxZABzcWxpdGVfc3RhdCVkAGNvbHVtbiVkAHNxbGl0ZV9hdXRvaW5kZXhfJXNfJWQAdmFyaWFibGUgbnVtYmVyIG11c3QgYmUgYmV0d2VlbiA/MSBhbmQgPyVkAEZhaWxlZCB0byByZWFkIHB0cm1hcCBrZXk9JWQAdW5hYmxlIHRvIGdldCB0aGUgcGFnZS4gZXJyb3IgY29kZT0lZABPZmZzZXQgJWQgb3V0IG9mIHJhbmdlICVkLi4lZABrKCVkAFVQREFURSAlUS5zcWxpdGVfbWFzdGVyIFNFVCByb290cGFnZT0lZCBXSEVSRSAjJWQgQU5EIHJvb3RwYWdlPSMlZABVUERBVEUgJVEuc3FsaXRlX21hc3RlciBTRVQgdHlwZT0nJXMnLCBuYW1lPSVRLCB0YmxfbmFtZT0lUSwgcm9vdHBhZ2U9IyVkLCBzcWw9JVEgV0hFUkUgcm93aWQ9IyVkAFVQREFURSAlUS5zcWxpdGVfbWFzdGVyIFNFVCB0eXBlPSd0YWJsZScsIG5hbWU9JVEsIHRibF9uYW1lPSVRLCByb290cGFnZT0wLCBzcWw9JVEgV0hFUkUgcm93aWQ9IyVkAHRvbyBtYW55IGF0dGFjaGVkIGRhdGFiYXNlcyAtIG1heCAlZAB0b28gbWFueSBhcmd1bWVudHMgb24gJXMoKSAtIG1heCAlZABleHBlY3RlZCAlZCBjb2x1bW5zIGZvciAnJXMnIGJ1dCBnb3QgJWQAYXR0ZW1wdCB0byBvcGVuICIlcyIgYXMgZmlsZSBkZXNjcmlwdG9yICVkAGludmFsaWQgcGFnZSBudW1iZXIgJWQAZmFpbGVkIHRvIGdldCBwYWdlICVkADJuZCByZWZlcmVuY2UgdG8gcGFnZSAlZABmcmVlbGlzdCBsZWFmIGNvdW50IHRvbyBiaWcgb24gcGFnZSAlZABidHJlZUluaXRQYWdlKCkgcmV0dXJucyBlcnJvciBjb2RlICVkACVzIGlzICVkIGJ1dCBzaG91bGQgYmUgJWQAJXIgJXMgQlkgdGVybSBvdXQgb2YgcmFuZ2UgLSBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAlZABzdWItc2VsZWN0IHJldHVybnMgJWQgY29sdW1ucyAtIGV4cGVjdGVkICVkAElOKC4uLikgZWxlbWVudCBoYXMgJWQgdGVybSVzIC0gZXhwZWN0ZWQgJWQAJXNMSVNUIFNVQlFVRVJZICVkAFJFVVNFIExJU1QgU1VCUVVFUlkgJWQAJXNTQ0FMQVIgU1VCUVVFUlkgJWQAUkVVU0UgU1VCUVVFUlkgJWQASU5ERVggJWQAdG9vIG1hbnkgRlJPTSBjbGF1c2UgdGVybXMsIG1heDogJWQAcndjAHV0YwBkZXNjAGFzYwBjaGVja3BvaW50X2Z1bGxmc3luYwBmdWxsX2ZzeW5jAGNoYXJpbmRleEZ1bmMAc3FydEZ1bmMAY290RnVuYwByaWdodEZ1bmMAbGVmdEZ1bmMAYWNvc0Z1bmMAZmxvb3JGdW5jAHBvd2VyRnVuYwBzdHJmaWx0ZXJGdW5jAHByb3BlckZ1bmMAcGFkckZ1bmMAZXhwRnVuYwBhc2luRnVuYwBzaWduRnVuYwBhdGFuRnVuYwBjZWlsRnVuYwBwYWRsRnVuYwBjb3RoRnVuYwBhY29zaEZ1bmMAYXNpbmhGdW5jAGF0YW5oRnVuYwBsb2dGdW5jAHJhZDJkZWdGdW5jAHJldmVyc2VGdW5jAFB1cmVGdW5jAHNxdWFyZUZ1bmMAZGlmZmVyZW5jZUZ1bmMAZGVnMnJhZEZ1bmMAcGFkY0Z1bmMAYXRuMkZ1bmMAbG9nMTBGdW5jAGVuYwBudW1lcmljADE9PWFyZ2MAU3FsRXhlYwBwYWRjACUuNGMlcyUuMTZjAHNxbGl0ZS1zcmMvc3FsaXRlLWFtYWxnYW1hdGlvbi0zMzgwNTAwL2V4dGVuc2lvbi1mdW5jdGlvbnMuYwAlcy9ldGlscXNfJWxseCVjAHVucmVjb2duaXplZCBtYXRjaGluZm8gcmVxdWVzdDogJWMAR29zdWIAZ2xvYgB6ZXJvYmxvYgByYW5kb21ibG9iAEJsb2IAaWxiAGl0aWxpYgBtZW1kYgBBVFRBQ0ggJVEgQVMgdmFjdXVtX2RiAHJvdGEAZXZpdGEAbGFub2l0YQBldGEAUm93RGF0YQBTb3J0ZXJEYXRhAGljbmEAc3FsaXRlX3RlbXBfc2NoZW1hAHNxbGl0ZV9zY2hlbWEAd3JpdGFibGVfc2NoZW1hAHRydXN0ZWRfc2NoZW1hAGNvcnJ1cHQgc2NoZW1hAFBhcnNlU2NoZW1hAGlsbGEAZXppbGEAaXRpbGEAbXNpbGEAc3FsaXRlXwBwcmFnbWFfAFNRTElURV8AX1JPV0lEXwAlcyBhdCBsaW5lICVkIG9mIFslLjEwc10AYmluZCBvbiBhIGJ1c3kgcHJlcGFyZWQgc3RhdGVtZW50OiBbJXNdAG1hbGZvcm1lZCBNQVRDSCBleHByZXNzaW9uOiBbJXNdAFslZF0AW10AWzBdACRbAExFRlQtTU9TVCBTVUJRVUVSWQBDT01QT1VORCBRVUVSWQBBTlkAZ2VuZXJhdGVkIGNvbHVtbnMgY2Fubm90IGJlIHBhcnQgb2YgdGhlIFBSSU1BUlkgS0VZAEFVVE9JTkNSRU1FTlQgaXMgb25seSBhbGxvd2VkIG9uIGFuIElOVEVHRVIgUFJJTUFSWSBLRVkAZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWQBGT1JFSUdOIEtFWQBSSUdIVCBQQVJUIE9GIE9SREVSIEJZAEdST1VQIEJZAGlpc1gAaXNpWABBVVRPTUFUSUMgUEFSVElBTCBDT1ZFUklORyBJTkRFWABBVVRPTUFUSUMgQ09WRVJJTkcgSU5ERVgALW1qJTA2WDklMDJYAFNDQU4gQ09OU1RBTlQgUk9XAFZJRVcAanNvbl9vYmplY3QoKSBsYWJlbHMgbXVzdCBiZSBURVhUAEZJUlNUAExBU1QARVhDRVBUAE5PVAAgSU5UAElkeExUAFNlZWtMVABTRVQgREVGQVVMVABNVVRFWF9PTUlUAENPTU1JVABMSU1JVABSSUdIVABJZHhHVABTZWVrR1QATEVGVABESVNUSU5DVABSRVNUUklDVABJTlRFUlNFQ1QAdG9vIG1hbnkgdGVybXMgaW4gY29tcG91bmQgU0VMRUNUAHVua25vd24gb3IgdW5zdXBwb3J0ZWQgam9pbiB0eXBlOiAlVCAlVCVzJVQALSVUAHRvbyBtYW55IGFyZ3VtZW50cyBvbiBmdW5jdGlvbiAlVAB1bmtub3duIGRhdGFiYXNlICVUAGZvcmVpZ24ga2V5IG9uICVzIHNob3VsZCByZWZlcmVuY2Ugb25seSBvbmUgY29sdW1uIG9mIHRhYmxlICVUAENSRUFURSBWSVJUVUFMIFRBQkxFICVUAGhleCBsaXRlcmFsIHRvbyBiaWc6ICVzJSNUAG5vIHN1Y2ggZnVuY3Rpb246ICUjVABub3QgYXV0aG9yaXplZCB0byB1c2UgZnVuY3Rpb246ICUjVABERUZBVUxUX1JFQ1VSU0lWRV9UUklHR0VSUwBJTlMARU5BQkxFX0ZUUzNfUEFSRU5USEVTSVMARElTQUJMRV9MRlMAJXMgJVMAbm8gc3VjaCBpbmRleDogJVMAY2Fubm90IGNyZWF0ZSAlcyB0cmlnZ2VyIG9uIHZpZXc6ICVTAG5vIHN1Y2ggdHJpZ2dlcjogJVMAY2Fubm90IGNyZWF0ZSBJTlNURUFEIE9GIHRyaWdnZXIgb24gdGFibGU6ICVTAE1BVEVSSUFMSVpFICUhUwBDTy1ST1VUSU5FICUhUwBVU0lORyBJTkRFWCAlcyBGT1IgSU4tT1BFUkFUT1IAVVNJTkcgUk9XSUQgU0VBUkNIIE9OIFRBQkxFICVzIEZPUiBJTi1PUEVSQVRPUgBNVUxUSS1JTkRFWCBPUgBTUUxJVEVfVE1QRElSAEFGVEVSAElOVEVHRVIAT1JERVIATkVBUgBERUxFVEUgRlJPTSAlUS4lcyBXSEVSRSAlcz0lUQBuYW1lPSVRIEFORCBzcWw9JVEAREVMRVRFIEZST00gJVEuc3FsaXRlX3NlcXVlbmNlIFdIRVJFIG5hbWU9JVEALCB4LiVRAFNFTEVDVCAqIEZST00gJVEuJVEAVVBEQVRFICIldyIuc3FsaXRlX3NlcXVlbmNlIHNldCBuYW1lID0gJVEgV0hFUkUgbmFtZSA9ICVRAFVQREFURSAiJXciLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHByaW50ZignJSUuJWRzLCAnLHNxbCkgfHwgJVEgfHwgc3Vic3RyKHNxbCwxK2xlbmd0aChwcmludGYoJyUlLiVkcycsc3FsKSkpIFdIRVJFIHR5cGUgPSAndGFibGUnIEFORCBuYW1lID0gJVEAU0VUVVAAR1JPVVAAUkVDVVJTSVZFIFNURVAATmFOAG1hbGZvcm1lZCBKU09OAE5PIEFDVElPTgBPTUlUX0xPQURfRVhURU5TSU9OAFVOSU9OAEJFR0lOACxhcmcgSElEREVOACxzY2hlbWEgSElEREVOAFNDQU4AREVGQVVMVF9BVVRPVkFDVVVNACBOVU0AUlRSSU0AQ2Fubm90IGFkZCBhIE5PVCBOVUxMIGNvbHVtbiB3aXRoIGRlZmF1bHQgdmFsdWUgTlVMTABOT1QgTlVMTABTRVQgTlVMTABTRUxFQ1QgMSBGUk9NICVRLiclcV9zZWdtZW50cycgV0hFUkUgYmxvY2tpZD0/IEFORCBibG9jayBJUyBOVUxMAFVOSU9OIEFMTAAgUkVBTABDSEVDSwBhYm9ydCBkdWUgdG8gUk9MTEJBQ0sATUFUQ0gAU0VBUkNIAGEgR1JPVVAgQlkgY2xhdXNlIGlzIHJlcXVpcmVkIGJlZm9yZSBIQVZJTkcAVVNJTkcARU5BQkxFX05PUk1BTElaRQAgVU5JUVVFAERFTEVURQBVUERBVEUAUkVMRUFTRQBOT0NBU0UAQkVGT1JFAENSRQBOT05FAElkeExFAFNlZWtMRQBUQUJMRQAxNkxFAElkeEdFAFNlZWtHRQAlcyBVU0lORyBURU1QIEItVFJFRQBDQVNDQURFADE2QkUAQU5EAFJPV0lEAE9JRABERVNDAFNFTEVDVCBpZHgsIHN0YXJ0X2Jsb2NrLCBsZWF2ZXNfZW5kX2Jsb2NrLCBlbmRfYmxvY2ssIHJvb3QgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gT1JERVIgQlkgaWR4IEFTQwBTRUxFQ1QgaWR4LCBzdGFydF9ibG9jaywgbGVhdmVzX2VuZF9ibG9jaywgZW5kX2Jsb2NrLCByb290IEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/T1JERVIgQlkgbGV2ZWwgREVTQywgaWR4IEFTQwBTRUxFQ1QgbGV2ZWwsIGlkeCwgZW5kX2Jsb2NrIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/IE9SREVSIEJZIGxldmVsIERFU0MsIGlkeCBBU0MAU0VMRUNUIGlkeCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsPT8gT1JERVIgQlkgMSBBU0MAU1lTVEVNX01BTExPQwBCTE9CAEJCQgBVUERBVEUgT1IgRkFJTCAlUS4nJXFfc2VnZGlyJyBTRVQgbGV2ZWw9LTEsaWR4PT8gV0hFUkUgbGV2ZWw9PyBBTkQgaWR4PT8AVVBEQVRFICVRLiclcV9zZWdkaXInIFNFVCBpZHggPSA/IFdIRVJFIGxldmVsPT8gQU5EIGlkeD0/ACVzPT8AU0VMRUNUICVzIFdIRVJFIHJvd2lkPT8AU0VMRUNUIHNpemUgRlJPTSAlUS4nJXFfZG9jc2l6ZScgV0hFUkUgZG9jaWQ9PwBTRUxFQ1QgdmFsdWUgRlJPTSAlUS4nJXFfc3RhdCcgV0hFUkUgaWQ9PwA/LD8sPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCBCRVRXRUVOID8gQU5EID8AU0VMRUNUIG1heChsZXZlbCkgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCBCRVRXRUVOID8gQU5EID8AREVMRVRFIEZST00gJVEuJyVxX3NlZ21lbnRzJyBXSEVSRSBibG9ja2lkIEJFVFdFRU4gPyBBTkQgPwBVUERBVEUgJVEuJyVxX3NlZ2RpcicgU0VUIHN0YXJ0X2Jsb2NrID0gPywgcm9vdCA9ID9XSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AU0VMRUNUIGlkeCwgc3RhcnRfYmxvY2ssIGxlYXZlc19lbmRfYmxvY2ssIGVuZF9ibG9jaywgcm9vdCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPyBBTkQgaWR4ID0gPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AREVMRVRFIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/AFNFTEVDVCBjb3VudCgqKSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPwBTRUxFQ1QgJXMgV0hFUkUgcm93aWQgPSA/AERFTEVURSBGUk9NICVRLiclcV9jb250ZW50JyBXSEVSRSByb3dpZCA9ID8AREVMRVRFIEZST00gJVEuJyVxX2RvY3NpemUnIFdIRVJFIGRvY2lkID0gPwAsID8APGV4cHI+ADxiPgA8Yj4uLi48L2I+AC0+PgAtPgBzZXBhcmF0b3JzPQB0b2tlbmNoYXJzPQBhdXRvbWVyZ2U9ADwASU5TRVJUIElOVE8gJVEuc3FsaXRlX21hc3RlciBWQUxVRVMoJ2luZGV4JywlUSwlUSwjJWQsJVEpOwBDUkVBVEUgVEFCTEUgJVEuJyVxX3NlZ21lbnRzJyhibG9ja2lkIElOVEVHRVIgUFJJTUFSWSBLRVksIGJsb2NrIEJMT0IpOwBDUkVBVEUgVEFCTEUgJVEuJyVxX2RvY3NpemUnKGRvY2lkIElOVEVHRVIgUFJJTUFSWSBLRVksIHNpemUgQkxPQik7AENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTICVRLiclcV9zdGF0JyhpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCB2YWx1ZSBCTE9CKTsAQ1JFQVRFIFRBQkxFICVRLiclcV9zZWdkaXInKGxldmVsIElOVEVHRVIsaWR4IElOVEVHRVIsc3RhcnRfYmxvY2sgSU5URUdFUixsZWF2ZXNfZW5kX2Jsb2NrIElOVEVHRVIsZW5kX2Jsb2NrIElOVEVHRVIscm9vdCBCTE9CLFBSSU1BUlkgS0VZKGxldmVsLCBpZHgpKTsAVVBEQVRFICVRLnNxbGl0ZV9tYXN0ZXIgU0VUIHRibF9uYW1lID0gJVEsIG5hbWUgPSBDQVNFIFdIRU4gdHlwZT0ndGFibGUnIFRIRU4gJVEgV0hFTiBuYW1lIExJS0UgJ3NxbGl0ZVhfYXV0b2luZGV4JSUnIEVTQ0FQRSAnWCcgICAgICBBTkQgdHlwZT0naW5kZXgnIFRIRU4gJ3NxbGl0ZV9hdXRvaW5kZXhfJyB8fCAlUSB8fCBzdWJzdHIobmFtZSwlZCsxOCkgRUxTRSBuYW1lIEVORCBXSEVSRSB0YmxfbmFtZT0lUSBDT0xMQVRFIG5vY2FzZSBBTkQgKHR5cGU9J3RhYmxlJyBPUiB0eXBlPSdpbmRleCcgT1IgdHlwZT0ndHJpZ2dlcicpOwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfc2VnbWVudHMnO0RST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9zZWdkaXInO0RST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9kb2NzaXplJztEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfc3RhdCc7JXMgRFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2NvbnRlbnQnOwBBTFRFUiBUQUJMRSAlUS4nJXFfY29udGVudCcgIFJFTkFNRSBUTyAnJXFfY29udGVudCc7AEFMVEVSIFRBQkxFICVRLiclcV9zdGF0JyAgUkVOQU1FIFRPICclcV9zdGF0JzsAQUxURVIgVEFCTEUgJVEuJyVxX3NlZ21lbnRzJyBSRU5BTUUgVE8gJyVxX3NlZ21lbnRzJzsAQUxURVIgVEFCTEUgJVEuJyVxX3NlZ2RpcicgICBSRU5BTUUgVE8gJyVxX3NlZ2Rpcic7AEFMVEVSIFRBQkxFICVRLiclcV9kb2NzaXplJyAgUkVOQU1FIFRPICclcV9kb2NzaXplJzsAOm1lbW9yeToAZmlsZToAU3RyaW5nOAB1dGY4AFVURjgAVVRGLTgATUFYX0ZVTkNUSU9OX0FSRz0xMjcAREVGQVVMVF9TRUNUT1JfU0laRT00MDk2AERFRkFVTFRfUEFHRV9TSVpFPTQwOTYATUFYX1ZBUklBQkxFX05VTUJFUj0zMjc2NgBNQVhfUEFHRV9TSVpFPTY1NTM2AFVURjE2AFVURi0xNgBwNQB0b28gbWFueSByZWZlcmVuY2VzIHRvICIlcyI6IG1heCA2NTUzNQBzcWxpdGVfc3RhdDQAZnRzNABwNABERUZBVUxUX0ZJTEVfRk9STUFUPTQASW50NjQAcHdyaXRlNjQAcHJlYWQ2NABNQUxMT0NfU09GVF9MSU1JVD0xMDI0AHNxbGl0ZV9zdGF0MwBTQVZFUE9JTlQgZnRzMwBST0xMQkFDSyBUTyBmdHMzAFJFTEVBU0UgZnRzMwBwMwBFTkFCTEVfRlRTMwBNQVhfUEFHRV9DT1VOVD0xMDczNzQxODIzAHAyAGF0bjIAYXRhbjIAcmVtb3ZlX2RpYWNyaXRpY3M9MgBERUZBVUxUX1NZTkNIUk9OT1VTPTIAREVGQVVMVF9XQUxfU1lOQ0hST05PVVM9MgBhcmdjPT0zIHx8YXJnYz09MgBNQVhfREVGQVVMVF9QQUdFX1NJWkU9ODE5MgBTRUxFQ1QgdGJsLGlkeCxzdGF0IEZST00gJVEuc3FsaXRlX3N0YXQxAEFnZ1N0ZXAxAHJlbW92ZV9kaWFjcml0aWNzPTEAQVRPTUlDX0lOVFJJTlNJQ1M9MQBURU1QX1NUT1JFPTEAYXJnYz09MQB1bmljb2RlNjEAVVBEQVRFIE9SIEZBSUwgJVEuJyVxX3NlZ2RpcicgU0VUIGxldmVsPT8gV0hFUkUgbGV2ZWw9LTEAREVGQVVMVF9KT1VSTkFMX1NJWkVfTElNSVQ9LTEAU0VMRUNUIGxldmVsLCBjb3VudCgqKSBBUyBjbnQgRlJPTSAlUS4nJXFfc2VnZGlyJyAgIEdST1VQIEJZIGxldmVsIEhBVklORyBjbnQ+PT8gIE9SREVSIEJZIChsZXZlbCAlJSAxMDI0KSBBU0MsIDIgREVTQyBMSU1JVCAxAFNFTEVDVCAoU0VMRUNUIG1heChpZHgpIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/KSArIDEAU0VMRUNUJ0lOU0VSVCBJTlRPIHZhY3V1bV9kYi4nfHxxdW90ZShuYW1lKXx8JyBTRUxFQ1QqRlJPTSIldyIuJ3x8cXVvdGUobmFtZSlGUk9NIHZhY3V1bV9kYi5zcWxpdGVfc2NoZW1hIFdIRVJFIHR5cGU9J3RhYmxlJ0FORCBjb2FsZXNjZShyb290cGFnZSwxKT4wAFNFTEVDVCBzcWwgRlJPTSAiJXciLnNxbGl0ZV9zY2hlbWEgV0hFUkUgdHlwZT0ndGFibGUnQU5EIG5hbWU8PidzcWxpdGVfc2VxdWVuY2UnIEFORCBjb2FsZXNjZShyb290cGFnZSwxKT4wAHJlbW92ZV9kaWFjcml0aWNzPTAATUFYX1dPUktFUl9USFJFQURTPTAAREVGQVVMVF9XT1JLRVJfVEhSRUFEUz0wAE1BWF9NTUFQX1NJWkU9MABERUZBVUxUX01NQVBfU0laRT0wAFRIUkVBRFNBRkU9MAA5MjIzMzcyMDM2ODU0Nzc1ODAAREVGQVVMVF9QQ0FDSEVfSU5JVFNaPTIwAGxvZzEwAE1BWF9BVFRBQ0hFRD0xMABNQVhfQ09NUE9VTkRfU0VMRUNUPTUwMAA/MDAwAE1BWF9DT0xVTU49MjAwMABERUZBVUxUX0NBQ0hFX1NJWkU9LTIwMDAAREVGQVVMVF9XQUxfQVVUT0NIRUNLUE9JTlQ9MTAwMABNQVhfRVhQUl9ERVBUSD0xMDAwAE1BWF9UUklHR0VSX0RFUFRIPTEwMDAATUFYX0xJS0VfUEFUVEVSTl9MRU5HVEg9NTAwMDAATUFYX1ZEQkVfT1A9MjUwMDAwMDAwAE1BWF9MRU5HVEg9MTAwMDAwMDAwMABNQVhfU1FMX0xFTkdUSD0xMDAwMDAwMDAwAHNlY29uZCBhcmd1bWVudCB0byAlI1QoKSBtdXN0IGJlIGEgY29uc3RhbnQgYmV0d2VlbiAwLjAgYW5kIDEuMABDT01QSUxFUj1jbGFuZy0xNS4wLjAAL3Byb2Mvc2VsZi9mZC8AJVEuAE4uACQuAC0tACwAbm9za2lwc2NhbioAdW5vcmRlcmVkKgBzej1bMC05XSoAQ1JFQVRFIFRBQkxFIHgodHlwZSB0ZXh0LG5hbWUgdGV4dCx0YmxfbmFtZSB0ZXh0LHJvb3RwYWdlIGludCxzcWwgdGV4dCkAQ1JFQVRFIFRBQkxFICVRLiVzKCVzKQBhdXRvbWF0aWMgaW5kZXggb24gJXMoJXMpAEFOWSglcykASU5TRVJUIElOVE8gJVEuJyVxX2NvbnRlbnQnIFZBTFVFUyglcykAQ1JFQVRFIFRBQkxFICVRLiclcV9jb250ZW50JyglcykAbWFsZm9ybWVkIGRhdGFiYXNlIHNjaGVtYSAoJXMpAE1FUkdFICglcykAQ1JFQVRFIFRBQkxFICVRLnNxbGl0ZV9zZXF1ZW5jZShuYW1lLHNlcSkAQ1JFQVRFIFRBQkxFIHgoaW5wdXQsIHRva2VuLCBzdGFydCwgZW5kLCBwb3NpdGlvbikAVVBEQVRFICIldyIuc3FsaXRlX21hc3RlciBTRVQgc3FsID0gc3FsaXRlX2Ryb3BfY29sdW1uKCVkLCBzcWwsICVkKSBXSEVSRSAodHlwZT09J3RhYmxlJyBBTkQgdGJsX25hbWU9JVEgQ09MTEFURSBub2Nhc2UpAG1lbWRiKCVwLCVsbGQpAEJhZCBwdHIgbWFwIGVudHJ5IGtleT0lZCBleHBlY3RlZD0oJWQsJWQpIGdvdD0oJWQsJWQpACVzKCVkKQB6ZXJvYmxvYiglZCkAbWF4IHJvb3RwYWdlICglZCkgZGlzYWdyZWVzIHdpdGggaGVhZGVyICglZCkARlRTIGV4cHJlc3Npb24gdHJlZSBpcyB0b28gbGFyZ2UgKG1heGltdW0gZGVwdGggJWQpAEV4cHJlc3Npb24gdHJlZSBpcyB0b28gbGFyZ2UgKG1heGltdW0gZGVwdGggJWQpAChibG9iKQBVU0UgVEVNUCBCLVRSRUUgRk9SICVzKERJU1RJTkNUKQBVUERBVEUgIiV3Ii5zcWxpdGVfbWFzdGVyIFNFVCBzcWwgPSBzcWxpdGVfcmVuYW1lX2NvbHVtbihzcWwsIHR5cGUsIG5hbWUsICVRLCAlUSwgJWQsICVRLCAlZCwgJWQpIFdIRVJFIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZVhfJSUnIEVTQ0FQRSAnWCcgIEFORCAodHlwZSAhPSAnaW5kZXgnIE9SIHRibF9uYW1lID0gJVEpAENSRUFURSBUQUJMRSB4KGtleSx2YWx1ZSx0eXBlLGF0b20saWQscGFyZW50LGZ1bGxrZXkscGF0aCxqc29uIEhJRERFTixyb290IEhJRERFTikAQ1JFQVRFIFRBQkxFIHgodGVybSwgY29sLCBkb2N1bWVudHMsIG9jY3VycmVuY2VzLCBsYW5ndWFnZWlkIEhJRERFTikAQ1JFQVRFIFRBQkxFIHgoJXMgJVEgSElEREVOLCBkb2NpZCBISURERU4sICVRIEhJRERFTikAKE5VTEwpACVjPykAU0VMRUNUIE5PVCBFWElTVFMoU0VMRUNUIGRvY2lkIEZST00gJVEuJyVxX2NvbnRlbnQnIFdIRVJFIHJvd2lkIT0/KQBSRVBMQUNFIElOVE8gJVEuJyVxX3NlZ2RpcicgVkFMVUVTKD8sPyw/LD8sPyw/KQBSRVBMQUNFIElOVE8gJVEuJyVxX3N0YXQnIFZBTFVFUyg/LD8pAFJFUExBQ0UgSU5UTyAlUS4nJXFfZG9jc2l6ZScgVkFMVUVTKD8sPykALCVzKD8pAFJFUExBQ0UgSU5UTyAlUS4nJXFfc2VnbWVudHMnKGJsb2NraWQsIGJsb2NrKSBWQUxVRVMoPywgPykAU0VMRUNUIGNvYWxlc2NlKChTRUxFQ1QgbWF4KGJsb2NraWQpIEZST00gJVEuJyVxX3NlZ21lbnRzJykgKyAxLCAxKQBJTlNFUlQgSU5UTyB2YWN1dW1fZGIuc3FsaXRlX3NjaGVtYSBTRUxFQ1QqRlJPTSAiJXciLnNxbGl0ZV9zY2hlbWEgV0hFUkUgdHlwZSBJTigndmlldycsJ3RyaWdnZXInKSBPUih0eXBlPSd0YWJsZSdBTkQgcm9vdHBhZ2U9MCkAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBzbmlwcGV0KCkAbWlzdXNlIG9mIGFnZ3JlZ2F0ZTogJXMoKQBtaXN1c2Ugb2YgJXMgZnVuY3Rpb24gJSNUKCkAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiAlI1QoKQB1bnNhZmUgdXNlIG9mICUjVCgpAEZJTFRFUiBtYXkgbm90IGJlIHVzZWQgd2l0aCBub24tYWdncmVnYXRlICUjVCgpAHVua25vd24gZnVuY3Rpb246ICUjVCgpAG1pc3VzZSBvZiBhZ2dyZWdhdGU6ICUjVCgpAFVQREFURSB0ZW1wLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfY29sdW1uKHNxbCwgdHlwZSwgbmFtZSwgJVEsICVRLCAlZCwgJVEsICVkLCAxKSBXSEVSRSB0eXBlIElOICgndHJpZ2dlcicsICd2aWV3JykAVVBEQVRFIHNxbGl0ZV90ZW1wX3NjaGVtYSBTRVQgc3FsID0gc3FsaXRlX3JlbmFtZV90YWJsZSglUSwgdHlwZSwgbmFtZSwgc3FsLCAlUSwgJVEsIDEpLCB0YmxfbmFtZSA9IENBU0UgV0hFTiB0YmxfbmFtZT0lUSBDT0xMQVRFIG5vY2FzZSBBTkQgICBzcWxpdGVfcmVuYW1lX3Rlc3QoJVEsIHNxbCwgdHlwZSwgbmFtZSwgMSwgJ2FmdGVyIHJlbmFtZScsIDApIFRIRU4gJVEgRUxTRSB0YmxfbmFtZSBFTkQgV0hFUkUgdHlwZSBJTiAoJ3ZpZXcnLCAndHJpZ2dlcicpACwlcyh4LidjJWQlcScpAElOU0VSVCBJTlRPICVRLnNxbGl0ZV9tYXN0ZXIgVkFMVUVTKCd0cmlnZ2VyJywlUSwlUSwwLCdDUkVBVEUgVFJJR0dFUiAlcScpAFNFTEVDVCAyICogdG90YWwoMSArIGxlYXZlc19lbmRfYmxvY2sgLSBzdGFydF9ibG9jaykgICBGUk9NIChTRUxFQ1QgKiBGUk9NICVRLiclcV9zZWdkaXInICAgICAgICAgV0hFUkUgbGV2ZWwgPSA/IE9SREVSIEJZIGlkeCBBU0MgTElNSVQgPyAgKQAKKQBCTE9PTSBGSUxURVIgT04gJVMgKABTRUxFQ1Qgc3FsIEZST00gIiV3Ii5zcWxpdGVfc2NoZW1hIFdIRVJFIHR5cGU9J2luZGV4JwBERUxFVEUgRlJPTSAlUS5zcWxpdGVfbWFzdGVyIFdIRVJFIG5hbWU9JVEgQU5EIHR5cGU9J2luZGV4JwBuYW1lPSclcScgQU5EIHR5cGU9J2luZGV4JwBERUxFVEUgRlJPTSAlUS4nJXFfY29udGVudCcAREVMRVRFIEZST00gJVEuJyVxX3N0YXQnAERFTEVURSBGUk9NICVRLiclcV9zZWdtZW50cycAREVMRVRFIEZST00gJVEuJyVxX3NlZ2RpcicAU0VMRUNUID8gVU5JT04gU0VMRUNUIGxldmVsIC8gKDEwMjQgKiA/KSBGUk9NICVRLiclcV9zZWdkaXInAFNFTEVDVCBtYXgoIGxldmVsICUlIDEwMjQgKSBGUk9NICVRLiclcV9zZWdkaXInAERFTEVURSBGUk9NICVRLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgbmFtZT0lUSBBTkQgdHlwZT0ndHJpZ2dlcicAREVMRVRFIEZST00gJVEuc3FsaXRlX21hc3RlciBXSEVSRSB0YmxfbmFtZT0lUSBhbmQgdHlwZSE9J3RyaWdnZXInAHRibF9uYW1lPSclcScgQU5EIHR5cGUhPSd0cmlnZ2VyJwAnJS4qcScAJXosICdjJWQlcScAdHlwZT0ndHJpZ2dlcicgQU5EIG5hbWU9JyVxJwAsIHguJyVxJwBpbmRleCAnJXEnAEpTT04gcGF0aCBlcnJvciBuZWFyICclcScAREVMRVRFIEZST00gJVEuJyVxX2RvY3NpemUnAFVQREFURSAiJXciLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfdGFibGUoJVEsIHR5cGUsIG5hbWUsIHNxbCwgJVEsICVRLCAlZCkgV0hFUkUgKHR5cGUhPSdpbmRleCcgT1IgdGJsX25hbWU9JVEgQ09MTEFURSBub2Nhc2UpQU5EICAgbmFtZSBOT1QgTElLRSAnc3FsaXRlWF8lJScgRVNDQVBFICdYJwBTRUxFQ1QgQ0FTRSBXSEVOIHF1aWNrX2NoZWNrIEdMT0IgJ0NIRUNLKicgVEhFTiByYWlzZShBQk9SVCwnQ0hFQ0sgY29uc3RyYWludCBmYWlsZWQnKSBFTFNFIHJhaXNlKEFCT1JULCdOT1QgTlVMTCBjb25zdHJhaW50IGZhaWxlZCcpIEVORCAgRlJPTSBwcmFnbWFfcXVpY2tfY2hlY2soJVEsJVEpIFdIRVJFIHF1aWNrX2NoZWNrIEdMT0IgJ0NIRUNLKicgT1IgcXVpY2tfY2hlY2sgR0xPQiAnTlVMTConAFVQREFURSAiJXciLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfcXVvdGVmaXgoJVEsIHNxbClXSEVSRSBuYW1lIE5PVCBMSUtFICdzcWxpdGVYXyUlJyBFU0NBUEUgJ1gnIEFORCBzcWwgTk9UIExJS0UgJ2NyZWF0ZSB2aXJ0dWFsJSUnAFVQREFURSB0ZW1wLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfcXVvdGVmaXgoJ3RlbXAnLCBzcWwpV0hFUkUgbmFtZSBOT1QgTElLRSAnc3FsaXRlWF8lJScgRVNDQVBFICdYJyBBTkQgc3FsIE5PVCBMSUtFICdjcmVhdGUgdmlydHVhbCUlJwBzcWxpdGVcXyUAJABTRUxFQ1QqRlJPTSIldyIAU0VMRUNUIHJhaXNlKEFCT1JULCVRKSBGUk9NICIldyIuIiV3IgBBTkFMWVpFICIldyIuIiV3IgBmb3JlaWduIGtleSBtaXNtYXRjaCAtICIldyIgcmVmZXJlbmNpbmcgIiV3IgBkb3VibGUtcXVvdGVkIHN0cmluZyBsaXRlcmFsOiAiJXciAHN5bnRheCBlcnJvciBhZnRlciBjb2x1bW4gbmFtZSAiJS4qcyIAJWMiJXMiACgiJXMiAGNhbm5vdCAlcyAlcyAiJXMiAGdlbmVyYXRlZCBjb2x1bW4gbG9vcCBvbiAiJXMiAGNhbm5vdCBJTlNFUlQgaW50byBnZW5lcmF0ZWQgY29sdW1uICIlcyIAZXJyb3IgaW4gZ2VuZXJhdGVkIGNvbHVtbiAiJXMiAGNhbm5vdCBVUERBVEUgZ2VuZXJhdGVkIGNvbHVtbiAiJXMiACVzIGluICIlcyIAVVBTRVJUIG5vdCBpbXBsZW1lbnRlZCBmb3IgdmlydHVhbCB0YWJsZSAiJXMiAHVuc2FmZSB1c2Ugb2YgdmlydHVhbCB0YWJsZSAiJXMiAGNhbm5vdCBjcmVhdGUgYSBURU1QIGluZGV4IG9uIG5vbi1URU1QIHRhYmxlICIlcyIAbm8gc3VjaCBpbmRleDogIiVzIgB1bmtub3duIGRhdGF0eXBlIGZvciAlcy4lczogIiVzIgBjYW5ub3QgZHJvcCAlcyBjb2x1bW46ICIlcyIAbm8gc3VjaCBjb2x1bW46ICIlcyIAbm8gc3VjaCBjb2x1bW46ICIlVCIAdW5yZWNvZ25pemVkIHRva2VuOiAiJVQiAHdlZWtkYXkgAG5vbi11bmlxdWUgZW50cnkgaW4gaW5kZXggAHdyb25nICMgb2YgZW50cmllcyBpbiBpbmRleCAAIG1pc3NpbmcgZnJvbSBpbmRleCAAcm93IAAlciAAc3RhcnQgb2YgACVkICVkICVkICVkIAAgVVNJTkcgQ09WRVJJTkcgSU5ERVggAFNFTEVDVCAxIEZST00gIiV3Ii5zcWxpdGVfbWFzdGVyIFdIRVJFIG5hbWUgTk9U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fgZ+Bn4GfgZ+Bn4GfgaJALUAtQC1ALUAtQBeAK4BQgBBAHAAbgHbAdsBdQIiBNsB2wF9AH0A2wGuAq4CrgKUAq4COQC4ALgATQBNABYIFghIAUgBSAHtAXUBdQF1AXUB9wP3A5kBbgFpBH0E2wHbAdsB2wHbAdsB2wHbAdsB2wHbAdsB2wHbAdsB2wHbAdsB2wHbAW0CbQLbAVQDgwODAw8FDwWWAVMDFggWCBYIFggWCBYIFggbBboDugOAAtABtwLuALwCGgIdAuwC2wHbAdsB2wHbAdsB2wHbAdsB2wF6AtsB2wHbAdsB2wHbAdsB2wHbAdsB2wHbAZcElwSXBNsB2wHbAUQC2wHbAdsBMgR2BNsB2wEwBNsB2wHbAdsB2wHbAdsB2wEdAzIF5AJrBGsEawRrBC0E5ALkArkEpwCeA28FDgQiBbsAgAUiBYAFmwVVBA4EDgRVBA4EuwCbBeMAQgStA/YE9gT2BIAF6AToBC4FoAUBArUFlQaVBk0GTQa6BroGTQZMBk4G0QbABtsG2wbbBtsGTQbmBnMGTgZOBnMG0QbABnMGwAZzBk0G5gZ1Bt4GTQbmBgoHTQbmBk0G5gYKB7QGtAa0BugGFQcVBwoHtAaxBrQG6Aa0BrQGiwYZB8EGwQYKB6oGzgaqBs4GqgbOBqoGzgZNBu4G7gb6BvoGuwbCBjsHTQa4BrsGxQbHBnMGQQdRB1EHaAdoB2gHFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIzwCTA/IDBgTBBI4DkgS+BVgFyQWiBSYFZwXrBcoF8wUGBgoGCwY0BjsG3gU6BR4G1QXwBfEFPgZRBiAGUgbnBeoFbQZxBiIGzAV2B3sHaQfdBnQHdQdtB28H/AbyBgYHdwd3B3kHAQd+BwMHhAeUBwgHFgd3BxcHWgd4B3cHBAdnB2oHbAduByAHMAeDBxoHpQejB5MHNwcLB2sHkgdwB2IHhQcjBz4HmgefB6IHMwc6B6QHegemB6gHoQepB30HgAeqB1kHpwerB4EHoAevBzIHsgezB7QHtQewB7YHuAdxB0IHuQe6B18Htwe+B0YHvQe7B7wHvwfAB38HjQeGB64HkAeCB8EHyQfOB80HzwfQB8QH0we9B9QH1QfWB9cH2AfZB9EH5AfcB90H3gffB+EH4gfbB3IHcwd8B4cHiAfjB+YH6wf6B/0HAAAAAMEA3wDBAOEAwQDBAMEAEgETARQBwQDpANsAwQASARMBFAHOAM4AEwDBANsA2ADYANkA2ADZAMEAJwHYANkAHwDNANgA2QDBANgA2QDVACcA5ADBAOYAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAwQATALkAugC7ALwAvQC+AP0AEgETARQBwwDBAMUA/QDYAAYBEgETARQBzADuAMwABgErACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQAIARIBEwEUAWYAZwBoAGkAagBrAGwAbQBuAG8AcABxAO8A8ADvAPAA0gDTANQAOgE7AToBOwA8AVYA/ABYAPwAEwA6ATsBAAEBATUBGQBIACgBOQHBAAoBZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAUQAkATsAMwEqAWwAbQBuAG8AcABxAEUAdAB1AHYASACAAIEAwQDxABYAcQA2ADcAOAA5ADoAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAeADBANgA2QAZAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAOcAigCLAHQAdQB2AGoAawATANgANgA3ADgAOQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQAwARkALgAvADAAMQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDBAGoAawA7AMEAEwCZAAcBmwBDABgAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEA2ADZADsA5gDYANkAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAeQCOADsAwQB0AHUAdgB3AP0AzAB6AHsAfAATABQAUQAWAAYBbAATAIQApQCmAMEAGAB+AHQAdQB2ABYBJADBAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAO8A8ADYANkA1wBqAGsA8QATADsA2ADZAN8A/ABzAHQAdQB2AEkAeAAaAEcAwQAWAMEA5wBRAIAAigCLAA0BUQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDYANkAxgBkAF8AmQA7AJsAwQBqAGsA6wDsADsAwQDBAPkAcgD7AHQAdQB2AHEAMAF5AH8AzADBAHcAeAB5AHoAewB8AH0AwQCKAIsA2ADZAIMAigCLAMEAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAmQCaAJsAnACdAO8A8AB0AHUAdgBMAMEAwQATAHQAdQB2ABcA/AD9AMEAVwDMAFkA7gDBAFwADAEGARkBywDBAM0AHQHYANkAlgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDBAMEA2ADZABMA7wDwADsAFwBqAGsAbABtAG4AbwBwAHEA5wD8AP0AwQA0ATUBwQCRADsAOQGRACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AKQAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAdwDBAMEAegB7AHwAwQAbAXQAdQB2AOsA7ACEADsA8QAIATsAwQATABcAwQAZABcA2ADZAHQAdQB2ANgA2QBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATADQBNQGXABcAGQA5AYcA/QAVAMEA8QCMAHQAdQB2AHQAdQB2AAwBMAEWAC0BLgErACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDBAI8AwQDBAI8AZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEATAB2ADsAJAHTANQA2ADZANgA2QBJAMEAUABZABkAEwBcAMEAMAEXABYA5wDBAOcAwQAWAI8AZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAEwB7AMEAOwAXAHQAdQB2ADsAwQB/AIAAgQAyATMB0gDTANQAwQAWAG8AcABxABwBKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAoQDBANgA2QAMAWYAZwBoAGkAagBrAGwAbQBuAG8AcABxADsAwQDBAMEAdAB1AHYA2ADZAHQAdQB2ADAB7wDwABMABwGKAIsAFwDTANQA5wAHAdgA2QD8AGYAZwBoAGkAagBrAGwAbQBuAG8AcABxACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ABMAwQALAHQAdQB2APAA/QDBAMkA7wDwAMEAhgDOAIgAiQDBAPwAwQAIAcEAwQD8ACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ABwB2ADZANgA2QBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQDBAOcAwQC7ALwAvQC+AH8AgACBAO4AwwDBAMUAEAATAAcACAAJAMEAzAD9AMEA2ADZANgA2QBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDVAO8A8ADBAEwAEwC8AOgAvgCAAIEAJAHBAMMA/ADFAC4AWQCKAIsAXABNAMwATwDBAA0B2ADZAAoBzACfAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEADADvAPAAwQAqARYAFwD9AO8A8AB/AIAAgQDuAPwAGwDBAB4BzADBAMwA/AAjAcEAEQEWABcAZAAKAXMAKgAMAWYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHUAnwDYANkAeQChABMAPwDBAO8A8ADvAPAADADQANEAKgFJADcBOAHuABMA/AAZAPwAFgAYABgAGwDBAAgB2ADZAC4A0ADRAJkAmgCbAP0AZQATABcAKgAZACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AGUAEwA7ABkAPwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQAWABcAcwAZABgAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAFgAXAHMAGQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQB2AJYAgwA7AHUAFgARAcEAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAzABCAMwAIwDMAI8A1QDBAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAFUAwQA7AGUANwE4ARAAwQATAF4A2ADZAO4AwQBCAO8A8ADvAPAA7wDwAHUASgBlANgA2QDBAMEA/ADBAPwAlQD8ACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDBAMEAwQAFADsA2ADZABkACgALAAwADQAOAHUAkgARAMEAIwHBAOgATQBMAE8A2ADZANgA2QAfAB4ANQEgAIIAVwA5AVkAJwDBAFwAKADYANkA2ADZAGwAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAKwEsAcEA2ADZAHQAdQB2ABMAFADBABYARgA1AYcAwQAIATkBwQCMAE4AwQDiAFEAOwAkAMEANQHBAB0AwQA5AcEAIQCRAMEAOwAwANgA2QBiANgA2QDBANgA2QDBAPQAOwDYANkA2ADZANgA2QDYANkA/gDYANkARwDBAPQAwQDBAEEA2ADZAMEA2ADZAJEA/gD0AFUAhQAPAGQAwQBaAIoAiwB1AP4A2ADZANgA2QDBAGQAwQDYANkAdAB1AGoAawATAHkAwQDBANgA2QByAKIAdAB1AHYA9AD0AHkA2ADZANgA2QDBADUBgQD+AP4AOQE8ANgA2QATAAABAQHBAHgAeQCZAJoAmwCVAJYAGQAYAGMA2ADZAJgAwQCZAJoAmwCcAJ0AAAABAAIA2ADZAAUAFgCeABgAoAAKAAsADAANAA4AwQAXABEAGQDBABMAFADBABYAhQDBABYAFgDBABYAHgDBACAAEwAUAIEAFgAkANgA2QAoAMEA2ADZAMEA2ADZAHQA2ADZACQA2ADZAMEA2ADZAMEANQCYAMEAOwAXABMAGQDYANkAPQDYANkAFwBGABkARwA7AHQAwQDYANkATgDYANkAUQDYANkAOwBHAFUAwQAXAMEAGQBaABcAFwAZABkABwAIAGIAVQDBAGQAwQA7AFoAjgCNAGoAawDBANgA2QDYANkAZAByAMEAdAB1AHYAagBrAHkA2ADZANgA2QDBAHIAwQB0AHUAdgCFABcAeQAZAHkAigCLAGEAFwB1ABkAFwDBABkAgwCNAMEA2ADZADsAwQCZAJoAmwCcAJ0A4gDBAHUAogAXABcAGQAZAJkAmgCbAJwAnQABAAIAUwBUAAUAEwAUAOIAFgAKAAsADAANAA4AAgGZABEAmwCZABcAmwAZACQAFwDBABkA/wDBAOwAHgDBACAAEwAUAMEAFgDBACABdQAoAMEAPgHBAMEAwQA7APIAwQDBACQAwQDBAMEAHwH/AP8A/wBHAP8A8wDWAL8AKQELAfUADwEDAQMBJQFGAPYA9gA7AAsB5QD1AA8BTgAlAQMBUQAPAQ8B3ABHAOEAZADbANsA+QDEAPMAagBrAGwA2wA8AGIAGAEpAXIA+QB0AHUAdgCNAPUAeQDIAMgAKQEmAMgAZACXAJYAJgEmARYAagBrABsBKwDqABIA7QDIAHIAEAF0AHUAdgCFAO0AeQASAO0AigCLAJkAmgCbAJwAnQDtAA4BxwATABQA9gAWAJUAEAEQAQ4ByAD2AOoA6gD2APYAogCeACIBJADHAJkAmgCbAJwAnQA+ACEByADHABYAyADdAMcA3QDIAMcAcwBAAOMA2gAWADsA2gDaAH4ApQAYAHEAOAHaAOAAMQHgAEcAGgGQAN0A3AAaAdoA2gDaAHMABQEEAeMA3QAFAQQByABbAD0BPQFSAAUBBAGUAAUBFgAJAZEAyABkAJ4AFQGTAJIAGQBqAGsAygANAAQBwgD6APkAcgD4AHQAdQB2APoA9wB5AAkB9gDCAAYAwADAAM8AwADPANUA1QDVAN4A1QDeAAQA1gDWANUAAwAWAKMAFwHPAA8AFwAQABcAiwCCAJcAmQCaAJsAnACdAI4AGQAYABQAkAAQAAEAjgA9AIIAggAvAZcANQAlAC8BNQAsATUAggA1AHQAIgABAI0ABQAWAHMAGQChAEsAKQBEAI0AcwAYABQARAATAIMAfQAXAGAAFgA7ABYAQwAWABYAQwAWABgAHABDACUAFwCVABYAGQAXABcAFwAXABYAjQAXABcAYQB0ABYAjwAZAFgASwAiACwASwBWACIAIgBdABcAIgAiACIAFgAYACIAFgAZABkAFwAXABcAFwAXAAsAFwAZABYAFgAZABcAFwAWABYAhwAPAAEAGQAXAAEAPwGNAD8BPwE/AT8BPwE/AT8BPwGNAD8BPwE/AT8BPwE/AT8BPwE/AT8BjQCNAD8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwEAADYCGwU2AgYFyQDJADYCdABwAN4ANgIbBXkBNgJ0AHAA3gCNAZgBmQHsBHoB9QQpACkAKQApAIQF7QVHAEcAxwPqBCkAKQDrAUcARwAQAcgDKgHcASoBewB8AHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAHwKZAdIEAQABAD0CAgDWBCQCdABwAN4ANQHgAY4AJAL4BAwCdABwAN4AKAWhAQsCIwJ7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegCoAXQAcADeAHgAeAB4AHgAdwB3AHYAdgB2AHUAcQC8ARUBFQEVARUBMAIwAjACFgZ4ARgGogR3AYUEMwKFBDMCmQEWBhkC/ADbABEGYwCNAMEBBgBtAekAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBewB8AHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAigAhAaIECgbAAXYAdgB2AHUAcQC8AX0AogSjBKQEkADRAU4BNgKWAH8AvAF6AHoAegB6AHMAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBxgGjAQ0ADQDXAHgAeAB4AHgAdwB3AHYAdgB2AHUAcQC8AaYBNAEtAqIEowSkBLkBuAGZAfcEegB6AHoAegB4AHgAeAB4AHcAdwB2AHYAdgB1AHEAvAEHBmIACQQJBBUEGAR7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegA2ApYBlQGiBDYCmQHBBD8BwQRQAFEAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBRgBGAKIERAZHAEcAewB8AHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBDQTSAKIEbQGiBKMEpAT1ACQCjwH4AfUB9AFsAC4CigAEAAQCpQOxAfMB2QACAgoCYAFvA6IEowSkBH8BMQI2AngAeAB4AHgAdwB3AHYAdgB2AHUAcQC8ARUBFQEQABAAPga5AbgBmQCZAb0BDQANAP8EMwK+BKIEowSkBOsDwAQIASsCJga6ADYCqwGKAL8ENAEtAtgBigB7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegA3ADcAnQH/A/sBwQSiBMEE2gFqAGoAIAUgBaIEqwA2AoABawB8Ab0BOAI3Aq4BBwb1A0wBJQI1AgcBGAFoAf4BYwH9AfoA6wE0AS0CRwBHAF8BNAEtAnYBeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwB9QP1A/cD+AMbABUBFQGiBKMEpASABDYCEAKZAaIEowSkBFwBMwIkAuwEFQIFAoAE7AU9AYAEHQEmAuUBOQI2AjkC4gEzADMAzwB7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegCrAIQFDQANAJkBFQEVAaIE+QF3AHcAdgB2AHYAdQBxALwBrQEzAgYC3AADAhAGbQEiAqIEBgAUAnsAfAByALoEugQUBBcEDAQMBHkAeQB6AHoAegB6AJEAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwB9QA2AtoB+AH1AfQBNgLJBaIEowSkBB4FHgXzAaIElQCpAaIE4AGZARIBbQG4A2gDOAA4AKIEowSkBEcARwB4AHgAeAB4AHcAdwB2AHYAdgB1AHEAvAF7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegCZAR0CEAZTAGEDYgAGAKADEQJQAx8ClwCfA6IEowSkBKIEowSkBCIBBwa7AGEGiwF7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegA2AroDNgLFAbkDeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBgATdAKIESwHFAcQBDQANAA0ADQDrA20BzwGABMEAmQGABH4BBwaSBCAAKQHaAcMA9wUFALgDeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBewB8AHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAmQErBKMBogQABKIEowSkBKIEowFMAcwBQAEgAgkGugG6AboBNgIDAHUAcQC8AcUBewB8AHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAwQU2Ag8ADwAlAXgAeAB4AHgAdwB3AHYAdgB2AHUAcQC8AaIENgLOBYQFogSjBKQEDQANAKIEowSkBAgGDwEPAZkBHgE0AS0C8APOBdAFxAAgAUcARwAzAngAeAB4AHgAdwB3AHYAdgB2AHUAcQC8AXsAfAByALoEugQUBBcEDAQMBHkAeQB6AHoAegB6AJkByQA/BKIEowSkBCwFMAH5BYQBFgEWAcIBNAKSAZoDmgM2AjMCNgKqAesB4AEzAnsAfAByALoEugQUBBcEDAQMBHkAeQB6AHoAegB6AM4FRwBHAA0ADQB4AHgAeAB4AHcAdwB2AHYAdgB1AHEAvAE2AiECNgIpBj0CAgDWBEQERAToAcgFNQH1BY4ARAGZAUQDRQNGAzgBKAUxAWsBKwArADkAOQB4AHgAeAB4AHcAdwB2AHYAdgB1AHEAvAF7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegAMABUBFQE2AoAEmQE8AqwB1gTRAU4BKAHaATUBMwKOAPkAgAQ0AS0CgARBASgFQwHrAccBRwBHAOkAGwFlAHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBVAQVARUBhAXAAYoBzgS3ARUBFQH4APcA9gAnBTMCVQQ5AcYAJgHrASYFMwLQATYCkwWKAWoE/wPpAJ4BVgQnAXgAeAB4AHgAdwB3AHYAdgB2AHUAcQC8AfYDaABHAEcA9QNCAfABjAM2AhUBFQEVARUBVATtBJ8BwAGNA2kBIwYjBZkBMwK4AzMCCQDKAP8AVQQ8AecBLAAsAPkALwKfAfUD9QP3A7sBzwSZAUMGVgSBA3sAfAByALoEugQUBBcEDAQMBHkAeQB6AHoAegB6AM8EmQG3BNcAKgJ7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegBrBF8G1gFfBv8AewBvAHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAawRgBp4BYAZ4AHgAeAB4AHcAdwB2AHYAdgB1AHEAvAHdANEAXwG3BLcEkwCSBesBeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwB6AQbAgcCeAMnArgDDAA2AngAeAB4AHgAdwB3AHYAdgB2AHUAcQC8ARoCNgJcA2kEaQEjBloBTAWZAYsEOgA6AFMBSwX8ARUBFQEVARUBFQEVAbcEeQNpBDsAOwDLAWsBMwI2AjMCYAAzAnwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegA2AoQFNgIZAaIEPAA8AG4AiAGIAYcBCgGFAVwDiwRNAzYC4QE2ArQBVQGABFgBPQA9AD4APgDHA+MADgY7Aa8BHAIGAIAEyAM2AoAEOgEtAC0ALgAuAAACeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBoAGtAPwFLwAvAKIEowSkBGwALgJFAQQA5QAPBqADNgK1AQYANgKfA6QANgIKBYkApgQxAjYCDQY2AkEENgIGADYCQQQTAjYCZAMIADEAMQDkADIAMgA2Aj8APwA2AskBvQFAAEAAQQBBAA4ADgBCAEIAlwGBAIEAKwI2AsoBNgLhBeYBQwBDADYCNAA0ACIClwHTARcCmgHiAP8DNgIWAjQBLQKmBJcBRABEAEUARQA2Av8DNgI1ADUAZAP2A2oAagANAvUDNgLgBZ8AnwBrAMMBvQE4AjcC1wEzAfUDoACgAEwATAA2AgwG0gGXAZcBBgDJBDYANgDeARQB2wA2AncDdgP1A/UD9wNUAM4AtgTmABoBSABIAEkB4wH1A/UD9wP4AxsAKAaWBL8BggCCABkBlABpACYAZwCIAYgBhwEKAYUBNgJmBE0DjAE2AmwALgI2AgQANwE2Ah4AEQA2AhcB4wA2AjsBbAAuAtQBBAAxAkkASQA6ATYCnQCdADYCgwCDAA4ChACEADECgACAADYCngCeADYCHwAjATYCvQFKAQkCYgCYAJgApAGIAIgA7QPlAP4AKwK9Ad8BUAGHAIcApACFAIUAiQCGAIYAawMrAhcCNgLZATYC/gAYAtsBTwH+AGIAfgN/A+QAFwI2Av8DNgIyBBYC0gDoAGoAagBIBUsASwBNAE0A/wNrAFQBvQE4AjcCagBqAPUDSgBKACoAKgA2AmsAVwG9ATgCNwKaAfEB9QP7AGcBNAEtAm8EXQFrA2IALgRZAfsAZgE3BlsBMAAwAPkDFwX1A/UD9wP4AxsACQUHBTIEwwHBA50D/gBuAPUD9QP3A/gDGwCWBL8BygPLAxkBbAAuAggFBACIAYgBhwEKAYUBPwU+BE0DPgQ9BFoDPQSSADECngNiAW4ALwFsASkC4wBUBTsBbAAuAoMFBAA7BewB+QM6AUYFHQYoAokF9AS9AcwA6wTfBDEC3gTgBDAGDQE4BW8BcQErAnMBCwDUAIkB4QBxBRwBdgXIAR8BRwHlAEgBJAG9AWoF2ABNAXsFpADdAXUBiQB6BZAB9gErAgYF/wNlAcUFxwAzBtMAagBqAKQDxAXJBOQALAKvAGsAyAC9ATgCNwICAYMB9QP0BfIF3wDGBKIB/wNTANAATwBSALgAagBqAMoFqQCxAM0BswDOAWsAdwW9ATgCNwKaAbQA9QPvAbUANAEtAvUD9QP3A/gDGwC2ACMA6wBkAC4CjgEEAGAAfQV8BSQA5AHVAX8FvACRAb8FwwFZANUFMQLvAPUD9QP3A/gDGwDqAVIBDgHxAMAAVgHtAfIAkwHhBPMA/wGwAREFGgVbAL0BGQUYBW8D2QCyAbMBIgb8BEIGCAJBBisCLQEPApQB+wQuAWQB+gRABl8AQwVuARAFagFEBXABAAEBARQGEwa2AUIFcgF+AEEFCgBbBSICfQH/A2YAsQVhABICIgBqAGoAOgKcBHQBCQExBXsBawDLAL0BOAI3AjAFgQH1A1oFggELAQwBOwLcBKEA1wSiAOUF5gXkBY8A4wUrAUAD1QDWAE4AvgHNADYBMgGjAOAAPASMADoEPgGlALAA9QP1A/cD+AMbALIAtgTnAI8D6gBGAUoEtwClAaYApwCbAbkAVQCnAZwBVgCuAFcAqABYAE0E7ABJBO0AmgASAO4A/gBRAcME6QFCBPAAvgAlAE8DvQDuAWYB9ABeAfoBvwBtA1oA8gETABQA9wFcAGEBegMsAaoAmwBdAAECXgCQBJwAGgRxBCcA2gARARMBcATAA8IAuwNuAIIEhgT9AAcAigSEBBUAFgCJBHYEFwAYABkAIQAeAhoABAHFAGIAKQQbBBkEHQRTBB4EUgQDARwAKAAyAvoDWwNtAB0AmQOGAZgErACLAJcE0wQFAdME0wTTBNME0wTTBNME0wQGAdME0wTTBNME0wTTBNME0wTTBNMEOQY4BgAAAABlBmUGZQa6BdEEQAXRBNEE0QS6BboFugXRBF4FXgXvBfIE0QTRBNEE0QTRBNEE0QTRBNEE0QS5BdEE0QTRBNEEEgYSBtEE0QTRBNEE0QTRBNEE0QRnBdEEbgXRBNEE0QTRBNEEuwW8BdEE0QTRBO4F8AXLBXUFdAVzBXIF3QVRBWwFZQVpBbUFtgW0BbgFvAW7BdEEaAWXBaUFlgXRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEEnwWkBasFowWgBZkFmAWaBZsF0QTRBOkE0QTRBOYEHAXRBNEE0QTRBNEEAgYBBtEEnAXRBPIEkQWQBagFnQWnBaYF9gU2BjUGzAXRBNEE0QTRBNEE0QQSBtEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QQSBhIG0QTyBBIGEgbuBO4EWAXRBP0FNwU3BTcFNwVABTcF0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE8wXxBdEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBDwF0QTRBNEE0QTRBNEE0QTRBNEE0QTRBC8G0QTYBSoFPAU8BTwFPAU+BSsFKQU2BfME2ARdBngFbQU9BVMFbQVTBVoGawV4BXgFawV4BT0FWgYDBUYG/gReBV4FXgVTBVgFWAW3BT0FNgXRBF0GXQZFBUUFXAZcBkUFzAVNBoEFHwUlBSUFJQUlBUUF4wRrBU0GTQZrBYEFHwVrBR8FawVFBeME3AVXBkUF4wTCBUUF4wRFBeMEwgUdBR0FHQUSBdEE0QTCBR0FAwUdBRIFHQUdBSQG0QTGBcYFwgVXBVIFVwVSBVcFUgVXBVIFRQUcBhwGYQVhBWYFWAW9BUUF0QRmBWQFYgVrBRUFMgYyBi4GLgYuBmIGYgb9BT8G8gTyBPIE8gQ/BgUFBQXzBPME8gQ/BtEE0QTRBNEE0QTRBDoG0QT4Bc0FSQXRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEEAwbRBNEE0QTRBNEE0QTRBNEE0QTRBIYF0QTUBPoF0QTRBNEE0QTRBNEE0QTRBG8FcAVKBdEE0QTRBNEE0QTRBNEEfgXRBNEE0QR5BdEE0QTRBNEE0QTRBNEE0QRZBtEE0QTRBNEE0QTRBNsF2gXRBNEERwXRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBAEF0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBGMF0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBCEGWQXRBNEEUAbRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEESgYtBYgF0QSHBYsF5wTRBN0E0QTRBAkAQbDyAgukBr0AvQC8AL4AvwC/AL8AvwC+AL4AvgC+AL4AwwDFAMcAxwDGAMYAxADEAMsAywDNAM0AzgDQANAA0ADRANUA1gDXANcA1wDXANcA1wDXANcA1wDXANcA1wDXAOAA4ADcANwA3gDeAOEA4QDhAOEA4gDiAOIA4gDiAN8A3wDjAOMA4wDKAOUA5gDmAOYA5gDmAOkA2gDaAOoA6gDrAOsAvgDtAO0AvgC+AL4AzADMAMwA7wDyAPIA8gDwAPAA/AD8APMA8wDzAP4A9AD0APQA/wD/APUA9QABAQEBAAEAAQABAAHIAMgA7gDuAAcBBwEHAQcBAgECAQIBAgEEAQQBAwEDAQMBBQEFAfkA+QDnAOcA2wDbANsACQEJAQkB9wD3APgA+AD6APoA+gD6AL4A9gD2AAsBCwELAQsBvgAMAQwBDAEMAb4AvgAPAQ8BDwEPAQ8BDwEQAQ0BDQEOAQ4BCAEIAdkA2QDZANkA2QDYANgA2ADZANkA2QDZANkA2QDZANgA2QDZANkA2QDZANkA2QDZANkAEgHZANkA2QDZANkA2QDZANkA2QDZABMBEwHZABQBFAHZANkA2QDZANkA2QAXARcBGAEYARYBFgEGAf0A/QAVARUBvgAZARkB3QDdAOgA6AAaARoBvgC+AL4AGwEbAb4AvgC+AL4AvgDTANQAvgAdAR8BHwEfASABIAEgASIBIgEeAR4BJAElASUBIwEjASMBIwHZANkA7ADsAOwAvgC+AL4AJwEnAb4AvgC+AL4AvgC+AL4AKAG+AL4AvgAqASwBLQEtAS4BCgEKATEBMQExATAB8QDxADIBMgEzATQBNAE0ATQBNAE0ATUBNQE1ATkBOwE7ATwBPAE6AToBPQE9AT4BPgE+AfsAEQERAREBOAE4ATcBuQC6ALoAuwC7ALsAwADAAMAAwgDCAL4AywDJAMkAwQDBAMEA0ADRANIA0gDPAM8A1wDXANcAygDkAOQA5QDpAOsA7wDwAP4A/wAQAdkAEgEGARwBHAEcARwBHAHTACEBIQEkASUBJgEmASkBKQErASsBLAEvAS8BLwEKAQBB4PgCCzdKAAAAJgAKAF0AAAA0AAkAhgAAAF0AAQBVAAAATwAAAAsACwAFAAIARwAAAHkAAABCAEMARABFAEGg+QILhANSRAAArQcAAJ5DAABRIwAA9CsAAMhLAAAmTQAAt0wAAAIECAYGAAAAAAByb3dfbnVtYmVyAGRlbnNlX3JhbmsAcmFuawBwZXJjZW50X3JhbmsAY3VtZV9kaXN0AG50aWxlAGxlYWQA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IGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE11bHRpaG9wIGF0dGVtcHRlZAAAAAAApQJbAPABtQWMBSUBgwYdA5QE/wDHAzEDCwa8AY8BfwPKBCsA2gavAEIDTgPcAQ4EFQChBg0BlAILAjgGZAK8Av8CXQPnBAsHzwLLBe8F2wXhAh4GRQKFAIICbANvBPEA8wMYBdkA2gNMBlQCewGdA70EAABRABUCuwCzA20A/wGFBC8F+QQ4AGUBRgGfALcGqAFzAlMBAEG47gMLDCEEAAAAAAAAAAAvAgBB2O4DCwY1BEcEVgQAQe7uAwsCoAQAQYLvAwuIAUYFYAVuBWEGAADPAQAAAAAAAAAAyQbpBvkGAAAAAAL/AARkACAAAAT//wYAAQABAAEA//8B/wH//////wH/Af8B/wH/Af8B/wH/Af//////Cv8gAP//A/8B/wT/HgAAAQX//////2MAAAhjAOgDAgAAAP//////AAAAAf8B//////////////8AQZnwAwsBBABBpvADC0QB/wH//////wABIAAEAIAAAAj//wH/Af////////8B/wb/B/8I/wn//////7wCvAIBAP//AQABAP//AAD//////////wBB+vADCwEUAEGa8QMLHv//AQAK////////////Af8B/wAAAAAAAAH/Af8B/wBByvEDC0gB/wAAAAAAAAH/Af8BAAAAAQAAAAH//////wAAAAAB////AAAAAP////////////8oAAr//////wEACv////8A//////////8AQfbyAwscAf8B////AQD//////////////////wr//////wBBoPMDCx8BAAAAAQAAAQABAAD+//9/AAAAALAEAAAoAAAAAAABAEHg9AMLARQAQez0AwsB+gBBm/UDCwFAAEGs9QMLCP7//3////9/AEHM9QMLKQcAAAADAAAANAAAAAACAAAAAAAAQAUAAAR1AABzAAAAdAAAAHUAAAB2AEGI9gMLRXcAAAB4AAAAeQAAAHoAAAB7AAAAfAAAAH0AAAB+AAAAAwAAADQAAAAAAgAAAAAAABUzAAAIdQAAcwAAAHQAAAB1AAAAdgBB4PYDC0V3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAAMAAAA0AAAAAAIAAAAAAAD+MwAADHUAAHMAAAB0AAAAdQAAAHYAQbj3AwtFdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAADAAAANAAAAAACAAAAAAAAjCsAAAR1AABzAAAAdAAAAHUAAAB2AEGQ+AMLJHcAAAB4AAAAeQAAAHoAAAB7AAAAfAAAAH0AAAB+AAAAAAAAQABBwPgDC27bKQAAlAAAAAAAAADmMQAAlQAAAAAAAAAcEAAAlgAAAAAAAABNNwAAlwAAAAAAAADJDAAAmAAAAAAAAACzDAAAmQAAAAAAAADAMAAAmgAAAAAAAADbKgAAmwAAAAAAAADfPQAAnAAAAAAAAADePQBBuPkDCwK0WABBxPkDCw5LMAAAnQAAAAAAAABKMABB3PkDCwKrWABB6PkDCw5zNwAAngAAAAAAAAC2MABBgPoDC2IELAAAnwAAAAAAAABZBAAAoAAAAAAAAABjIQAAoQAAAAAAAABdIQAAogAAAAAAAABUJQAAowAAAAAAAABTOAAApAAAAAAAAACDJAAApQAAAAAAAAB8JAAApgAAAAAAAACIJABB7PoDCyYTLwAApwAAAAAAAAALLAAAqAAAAAAAAACtDAAAqQAAAAAAAADhKgBBqPsDCw4+JAAANSQAAEIkAABfXgBBwPsDCxbYRQAASk8AAC9HAAAeSgAA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";var x=m(9669),y=m.n(x);m(25108);class B{constructor(R,T){var L=o;this[L(2321)]=0,this[L(2517)]={},this[L(2397)]=0,R instanceof SharedArrayBuffer?(this[L(2234)]=R,this[L(2321)]=R.byteLength/(4*B[L(990)]),this[L(2517)]=T):(this[L(2234)]=new SharedArrayBuffer(R*(4*B[L(990)])),this.modelTotalCount=R),this[L(1247)]=new TextEncoder,this[L(229)]=new TextDecoder,this[L(1165)]=new Float32Array(this[L(2234)]),this[L(1941)]=new Int32Array(this[L(2234)]),this[L(2253)]=new Uint8Array(this[L(2234)]),this[L(1672)]=new Uint8Array(200)}[o(544)](R){var T=o;return R=this[T(2517)][R],this[T(1165)][T(1279)](R,R+3)}[o(610)](R){var T=o;return R=this.modelIndexOffsetStart[R]+3,this[T(1165)].subarray(R,R+3)}transform(R){var T=o;return R=this.modelIndexOffsetStart[R]+6,this[T(1165)][T(1279)](R,R+16)}customizeMaterialCount(R){var T=o;return R=this[T(2517)][R]+29,this[T(1941)][T(1279)](R,R+1)}[o(1328)](R){var T=o;return R=this[T(2517)][R]+28,this[T(1941)][T(1279)](R,R+1)}dataOffsetStart(R){var T=o;return R=this.modelIndexOffsetStart[R]+27,this[T(1941)][T(1279)](R,R+1)}\u5E9F\u5F03(R){var T=o;return R=this[T(2517)][R]+26,this.i32d[T(1279)](R,R+1)}[o(2734)](R){var T=o;return R=this[T(2517)][R]+25,this[T(1941)][T(1279)](R,R+1)}[o(715)](R){var T=o;return R=this[T(2517)][R]+24,this[T(1941)].subarray(R,R+1)}[o(253)](R){var T=o;return R=this[T(2517)][R]+23,this.i32d[T(1279)](R,R+1)}componentCount(R){var T=o;return R=this[T(2517)][R]+22,this[T(1941)][T(1279)](R,R+1)}getFileName(R){var T=o;return R=4*this[T(2517)][R]+120,R=this[T(2253)][T(1279)](R,200+R),this[T(1672)][T(935)](R),this.textD[T(1288)](this[T(1672)])[T(2489)](/\x00/g,"")}[o(1966)](R,T){var L=o;T&&(R=4*this[L(2517)][R]+120,this[L(2253)].subarray(R,200+R).set(this[L(1247)][L(479)](T)))}[o(2725)](R){var T=o;return R=4*this.modelIndexOffsetStart[R]+320,R=this[T(2253)][T(1279)](R,32+R),R[0]!==0?(this[T(1672)].set(R),this[T(229)].decode(this.textBuffer[T(1279)](0,32))):""}[o(2557)](R,T){var L=o;T&&(R=4*this[L(2517)][R]+320,this[L(2253)].subarray(R,32+R)[L(935)](this[L(1247)][L(479)](T)))}[o(401)](R){var T=o;this[T(2517)][R.id]=this[T(2397)],this[T(2397)]+=B[T(990)];var L=this.modelIndexOffsetStart[R.id];let F=this.f32d[T(1279)](L,L+22),U=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];R[T(1334)]&&(U=M(R[T(1334)][T(2523)](" "))),F[T(935)]([...M(R[T(544)][T(2523)](" ")),...M(R.boxMax[T(2523)](" ")),...U]),L=this[T(2517)][R.id]+22,this[T(1941)][T(1279)](L,L+7).set([R[T(1048)],R[T(253)],R[T(715)],R[T(2734)],0,-1,R[T(1328)]||1]),this[T(1966)](R.id,R.fileName),this[T(2557)](R.id,R.uniqueId)}[o(918)](){var R=o;let T={};for(var L in this[R(2517)]){var L=~~L,F=this[R(2517)][L];let N=this[R(1165)][R(1279)](F,F+22);F=this[R(2517)][L]+22,F=this[R(1941)][R(1279)](F,F+7),T[L]={id:L,boxMin:N[R(1279)](0,3),boxMax:N[R(1279)](3,6),transform:N[R(1279)](6,22),componentCount:F[0],meshInstancesCount:F[1],meshCount:F[2],materialCount:F[3],fileName:this.getFileName(L),uniqueId:this[R(2725)](L),status:F[6]}}return T}model(R){var T=o,L=this[T(2517)][R];let F=this[T(1165)][T(1279)](L,L+22);return L=this.modelIndexOffsetStart[R]+22,L=this.i32d[T(1279)](L,L+7),{id:R,boxMin:F[T(1279)](0,3),boxMax:F.subarray(3,6),transform:F[T(1279)](6,22),componentCount:L[0],meshInstancesCount:L[1],meshCount:L[2],materialCount:L[3],fileName:this[T(931)](R),uniqueId:this[T(2725)](R),status:L[6]}}isExist(R){var T=o;return this[T(2517)].hasOwnProperty(R)}}B[o(990)]=88;var v=m(25108);Object[o(2350)](D[o(2086)],{modelList:{get:function(){return this._modelList}}}),D[o(2086)][o(2101)]=function(){var P=o;let R=this[P(2612)][P(939)].toArray(this.viewer[P(1521)][P(197)][P(2695)]);R[16]=this[P(1799)].camera.frustum[P(354)],R[17]=this[P(1799)][P(1521)][P(197)][P(826)],R[18]=this[P(1799)][P(1521)][P(197)][P(1773)],R[19]=this[P(1799)][P(811)][P(1187)][P(1114)][P(659)],R[20]=this.viewer[P(811)][P(1187)][P(1114)][P(2801)],this[P(1148)][P(2695)]=R,this.sharedData[P(2670)]=[this[P(1799)][P(1521)][P(1258)].x,this[P(1799)].camera[P(1258)].y,this.viewer[P(1521)].positionWC.z],this[P(1148)][P(1418)]=[this[P(1799)].camera.directionWC.x,this[P(1799)][P(1521)].directionWC.y,this.viewer[P(1521)][P(2205)].z],this[P(1148)][P(432)]=[this[P(1799)].camera.upWC.x,this[P(1799)][P(1521)][P(2736)].y,this[P(1799)].camera[P(2736)].z],this[P(1148)].viewMatrix=this[P(2612)][P(939)][P(1780)](this[P(1799)][P(1521)].viewMatrix),this[P(1148)].worldMatrix=this[P(2612)].Matrix4[P(1780)](this[P(1799)].camera[P(913)]),this[P(1148)][P(2233)]=[this[P(1799)].scene[P(1114)].uniformState[P(2458)].x,this.viewer[P(811)].context[P(195)][P(2458)].y,this[P(1799)][P(811)].context[P(195)][P(2458)].z]},D[o(2086)][o(1239)]=function(P){var R=o;this.fineWorker[R(2331)]({msgType:R(1239),funString:P})},D.prototype.Resize=function(){var P=o;this[P(1148)]&&(this.sharedData.renderWidthHeight=[this[P(1799)][P(811)][P(1187)][P(1114)][P(659)],this[P(1799)].scene[P(1187)][P(1114)][P(2801)]],this[P(2101)](),this[P(1094)][P(2331)]({msgType:P(1112),width:this[P(1799)][P(811)][P(1187)][P(1114)][P(659)],height:this[P(1799)][P(811)][P(1187)][P(1114)].drawingBufferHeight}))},D[o(2086)][o(791)]=function(P){},D[o(2086)].GetModelSqlDb=function(P){var R=o;return this[R(726)][P]!==void 0?(this[R(726)][P].db===void 0&&(this[R(726)][P].db=new Promise((T,L)=>{var F=R;y()[F(2009)](this[F(2006)],{responseType:F(1925),params:{modelId:P}}).then(J=>{var N=F,H,J=new this[N(2007)][N(2431)](new Uint8Array(J[N(1322)]),!0);this[N(2074)][N(1818)](P)||(this[N(2074)][N(2764)](P),6<this.modelDbModelIdList.length&&(H=this[N(2074)].shift(),this._modelList[H].db[N(2239)](),delete this[N(726)][H].db)),T(J)},L)})),this[R(726)][P].db):Promise[R(2046)](R(1551))},D[o(2086)].Refresh=function(){var P=o;this[P(1148)][P(2149)]=1},D[o(2086)].MouseHover=function(P){var R=o;this[R(1148)].enableMouseHover=P?1:0},D[o(2086)].ShowModel=function(P){var R=o;this[R(1094)][R(2331)]({msgType:R(1585),modelId:P})},D[o(2086)].HideModel=function(P){var R=o;this[R(1094)][R(2331)]({msgType:"HideModel",modelId:P})},D[o(2086)].SetModelTransform=function(P,R){var T=o;this[T(726)][P].transform=R,this[T(1094)][T(2331)]({msgType:"SetModelTransform",modelId:P,modelMatrixArr:R})},D[o(2086)][o(2416)]=function(P){var R=o;return this[R(726)][P][R(1334)]},D[o(2086)].SetClipPlane=function(P,R,T,L,F,U,N,H){var J=o;this[J(1094)].postMessage({msgType:J(2079),modelTransform:P,isTurn:R,plane1:T,plane2:L,plane3:F,plane4:U,plane5:N,plane6:H})},D.prototype[o(663)]=function(P,R){var T=o;this[T(1094)][T(2331)]({msgType:T(663),operating:{status:P},idBuffer:R[T(1123)]},[R.buffer])},D[o(2086)].SetInstancesTransform=function(P,R){var T=o;this.fineWorker.postMessage({msgType:T(580),operating:{transform:P},idBuffer:R[T(1123)]},[R[T(1123)]])},D.prototype.SetComponentStatus=function(P,R,T){var L=o;this.fineWorker[L(2331)]({msgType:"SetComponentStatus",operating:{status:P,reverseElection:T},idBuffer:R[L(1123)]},[R[L(1123)]])},D[o(2086)][o(1210)]=function(P,R,T){var L=o;this[L(1094)].postMessage({msgType:L(1210),operating:{transform:P,reverseElection:T},idBuffer:R[L(1123)]},[R[L(1123)]])},D.prototype.CancelOperatingStatus=function(){var P=o;this[P(1094)].postMessage({msgType:P(218)})},D[o(2086)][o(2019)]=function(){var P=o;this[P(1094)][P(2331)]({msgType:P(2019)})},D[o(2086)][o(841)]=function(P,R,T){var L=o;this[L(1094)][L(2331)]({msgType:L(841),modelId:P,materialId:R,color:T})},D[o(2086)][o(1415)]=function(P,R,T){var L=o;this.fineWorker[L(2331)]({msgType:L(1415),modelId:P,materialId:R,textureId:T})},D[o(2086)].CancelMaterialEdit=function(P){var R=o;this[R(1094)][R(2331)]({msgType:R(852),modelId:P})},D[o(2086)][o(1697)]=function(P,R){return new Promise((T,L)=>{var F=Tt,U=Date[F(1396)]();this[F(2288)][U]={resolve:T,reject:L},this[F(1094)][F(2331)]({msgType:F(1697),modelId:P,materialId:R,cbId:U})})},D.prototype.GetTextureList=function(){return new Promise((P,R)=>{var T=Tt,L=Date.now();this[T(2288)][L]={resolve:P,reject:R},this.fineWorker[T(2331)]({msgType:T(1729),cbId:L})})},D[o(2086)][o(379)]=function(P,R){return new Promise((T,L)=>{var F=Tt,U=Date.now();this[F(2288)][U]={resolve:T,reject:L},this[F(1094)][F(2331)]({msgType:F(379),modelId:P,color:R,cbId:U})})},D[o(2086)].SetComponentMaterialId=function(P,R,T){var L=o;this[L(1094)][L(2331)]({msgType:L(2075),operating:{modelId:P,materialId:R},idBuffer:T[L(1123)]},[T[L(1123)]])},D[o(2086)][o(2222)]=function(P,R){return new Promise((T,L)=>{var F=Tt,U=Date[F(1396)]();this[F(2288)][U]={resolve:T,reject:L},this[F(1094)].postMessage({msgType:F(2222),modelId:P,componentId:R,cbId:U})})},D[o(2086)][o(2327)]=function(P,R){var T=o;R&&!Array[T(2021)](R)&&(R=[R]),this[T(1094)][T(2331)]({msgType:"CancelComponentEditMaterial",modelId:P,componentId:R})},D[o(2086)][o(1681)]=function(P,R,T){var L=o;this.fineWorker.postMessage({msgType:L(1681),modelId:P,instancesId:R,materialId:T})},D[o(2086)].GetInstancesBox=function(P,R){return new Promise((T,L)=>{var F=Tt;if(this.sharedData){let U=this[F(1148)].getBox[6],N=(this.fineWorker[F(2331)]({msgType:F(416),modelId:P,instancesId:R}),()=>{var H=F;if(this[H(1148)][H(333)][6]!==U){let J=Array.from(this[H(1148)][H(333)]);J[H(2405)]=6,T(J)}else setTimeout(N,10)});N()}else L([0,0,0,0,0,0])})},D[o(2086)].PickId=function(P,R){return new Promise((T,L)=>{var F=Tt;if(this[F(1148)]){let U=this.sharedData[F(2343)][4],N=(this[F(1094)].postMessage({msgType:F(571),x:P,y:R}),()=>{var H=F;if(this[H(1148)][H(2343)][4]!==U){let J=Array[H(2151)](this[H(1148)][H(2343)]);J[H(2405)]=4,T(J)}else setTimeout(N,10)});N()}else L([0,0,0,0])})},D[o(2086)].PickIdSync=function(P,R){var T=o;if(!this[T(1148)])return[0,0,0,0];var L=this[T(1148)].pickId[4];for(this[T(1094)][T(2331)]({msgType:T(571),x:P,y:R});;)if(this[T(1148)][T(2343)][4]!==L){let F=Array[T(2151)](this[T(1148)][T(2343)]);return F[T(2405)]=4,F}},D.prototype[o(2540)]=function(P,R){return new Promise((T,L)=>{var F=Tt;if(this[F(1148)]){let U=this.sharedData[F(1689)][3],N=(this.fineWorker.postMessage({msgType:F(2540),x:P,y:R}),()=>{var H=F;if(this.sharedData.pickWorldPosition[3]!==U){let J=Array[H(2151)](this[H(1148)][H(1689)]);J[H(2405)]=3,T(J)}else setTimeout(N,10)});N()}else L([0,0,0])})},D[o(2086)][o(2620)]=function(P,R){var T=o;if(!this[T(1148)])return[0,0,0];var L=this.sharedData[T(1689)][3];for(this[T(1094)][T(2331)]({msgType:T(2540),x:P,y:R});;)if(this.sharedData.pickWorldPosition[3]!==L){let F=Array.from(this.sharedData[T(1689)]);return F.length=3,F}},D[o(2086)].PickWorldNormal=function(P,R){return new Promise((T,L)=>{var F=Tt;if(this[F(1148)]){let U=this[F(1148)][F(2767)][3],N=(this.fineWorker[F(2331)]({msgType:F(1256),x:P,y:R}),()=>{var H=F;if(this.sharedData.pickWorldNormal[3]!==U){let J=Array[H(2151)](this.sharedData[H(2767)]);J[H(2405)]=3,T(J)}else setTimeout(N,10)});N()}else L([0,0,0])})},D[o(2086)][o(526)]=function(P,R){var T=o;if(!this[T(1148)])return[0,0,0];var L=this[T(1148)][T(2767)][3];for(this[T(1094)][T(2331)]({msgType:"PickWorldNormal",x:P,y:R});;)if(this[T(1148)][T(2767)][3]!==L){let F=Array[T(2151)](this[T(1148)].pickWorldNormal);return F[T(2405)]=3,F}},D[o(2086)].FrameSelection=function(P,R,T,L){return new Promise((F,U)=>{var N=Tt,H;this[N(1148)]?(H=Date[N(1396)](),this[N(2288)][H]={resolve:F,reject:U},this[N(1094)].postMessage({msgType:"FrameSelection",x1:P,y1:R,x2:T,y2:L,cbId:H})):U()})},D[o(2086)].Shadow=function(P){var R=o;this.fineWorker[R(2331)]({msgType:R(901),enable:P})},D[o(2086)].SetSelectColor=function(P,R,T){this.fineWorker.postMessage({msgType:"SetSelectColor",outlineWidth:P,outlineColor:R,overlayColor:T})},D[o(2086)][o(1540)]=function(P,R,T){var L=o;this[L(1094)][L(2331)]({msgType:"SetSceneEffect",environmentIntensity:P,contrast:R,exposure:T})},D[o(2086)][o(1894)]=function(P,R){var T=o;Array.isArray(P)?this[T(1374)][T(935)](P):this.expressTypeWeightsDataView[P]=R},D[o(2086)][o(2812)]=function(P,R){var T=o;Array[T(2021)](P)?this[T(2270)].set(P):this[T(2270)][P]=R},D[o(2086)][o(1486)]=function(P,R,T){var L=o;this[L(1094)][L(2331)]({msgType:L(1486),modelId:P,storey:R,matrixArr:T})},D[o(2086)][o(1140)]=function(P,R,T){var L=o;this.fineWorker[L(2331)]({msgType:L(1140),modelId:P,storey:R,status:T})},D.prototype[o(1646)]=function(P,R,T){var L=o;this[L(1094)][L(2331)]({msgType:L(1646),modelId:P,expressType:R,matrixArr:T})},D.prototype[o(1763)]=function(P,R,T){var L=o;this[L(1094)].postMessage({msgType:L(1763),modelId:P,expressType:R,status:T})},D[o(2086)][o(2147)]=function(){return new Promise((P,R)=>{var T=Tt,L=Date.now();this[T(2288)][L]={resolve:P,reject:R},this[T(1094)].postMessage({msgType:T(2147),cbId:L})})},D[o(2086)][o(830)]=function(P){return new Promise((R,T)=>{var L=Tt,F=Date[L(1396)]();this[L(2288)][F]={resolve:R,reject:T},this[L(1094)].postMessage({msgType:L(830),cbId:F,modelId:P})})},D.prototype[o(589)]=function(){return new Promise((P,R)=>{var T=Tt,L=Date[T(1396)]();this[T(2288)][L]={resolve:P,reject:R},this[T(1094)].postMessage({msgType:"SaveShell",cbId:L})})},D[o(2086)].SetOnlyShowShells=function(P){var R=o;this[R(1148)].onlyShowShells=P?1:0},D[o(2086)][o(1675)]=function(P){var R=o;this[R(1094)].postMessage({msgType:"EnableAngularLines",enable:P})};let S=D}return E});function Bbe(o,A,f){this._earthCtrl=o,this._coreMap=o.coreMap,this.bimModel=A,this.plane1Entity=null,this.position=ae(f.position,null),this.clippingBox=ae(f.clippingBox,{x:120,y:120}),this.clipPlan1=null,this.createClipping()}Bbe.prototype.createClipping=function(){let o=this;o.plane1Entity&&o._earthCtrl.entities.remove(o.plane1Entity);let A=Z.fromDegrees(o.position.lon,o.position.lat,o.position.height),f=Vr.eastNorthUpToFixedFrame(A);f=Re.toArray(f);let m=20;function C(v){return function(){return v.distance=m,v}}o.clipPlan1=new PS(new Z(0,0,-1),0),o.plane1Entity=o._earthCtrl.entities.add({position:A,plane:{dimensions:new tt(o.clippingBox.x,o.clippingBox.y),material:qe.WHITE.withAlpha(.3),plane:new Kr(function(){return o.clipPlan1.distance=m,o.clipPlan1},!1),outline:!1,outlineColor:qe.WHITE}}),o.bimModel.SetClipPlane(f,!1,[0,0,1,-m]);let E=null;new pr(o._coreMap.scene.canvas).setInputAction(function(v){let w=o._coreMap.scene.pick(v.position);k(w)&&k(w.id)&&k(w.id.plane)&&(E=w.id.plane,E.material=qe.WHITE.withAlpha(.2),E.outlineColor=qe.WHITE,o._coreMap.scene.screenSpaceCameraController.enableInputs=!1)},_i.LEFT_DOWN),new pr(o._coreMap.scene.canvas).setInputAction(function(){k(E)&&(E.material=qe.WHITE.withAlpha(.1),E.outlineColor=qe.WHITE,E=void 0),o._coreMap.scene.screenSpaceCameraController.enableInputs=!0},_i.LEFT_UP),new pr(o._coreMap.scene.canvas).setInputAction(function(v){if(k(E)){let w=v.startPosition.y-v.endPosition.y;m+=w*.1,m<0&&(m=1),o.bimModel.SetClipPlane(f,!1,[0,0,1,-m])}},_i.MOUSE_MOVE)};Bbe.prototype.removeFromMap=function(){let o=this;o.plane1Entity&&(o._earthCtrl.entities.remove(o.plane1Entity),o.clipPlan1=null),o.bimModel&&o.bimModel.SetClipPlane()};var Gtt=Bbe;function Q6(o={},A,f){this._earthCtrl=A||window.earthCtrl,this._Geoworld=f||window.SmartEarth,this._coreMap=this._earthCtrl.coreMap,this.bimModel=o.bim||this._earthCtrl.coreMap.scene.bim,this.leftHandler=void 0,this.rightHandler=void 0,this.componentIdArr=[],this.showComponentArr=[],this.selectPosition=null,this.leftClick(),this.rightClick()}Q6.prototype.start=function(){};Q6.prototype.leftClick=function(){let o=this,A=this._Geoworld,f=this._coreMap;o.leftHandler=new A.ScreenSpaceEventHandler(f.canvas),o.leftHandler.setInputAction(function(C){o.bimModel.PickId(C.position.x,C.position.y).then(E=>{let I=E[0],x=E[1],y=E[2];console.log("\u6A21\u578Bid",I,"\u5B9E\u4F8Bid",x,"\u6784\u4EF6id",y);let v=new Int32Array([I,y]);o.bimModel.SetComponentStatus(2,v,!1),o.componentIdArr.push(y),o.showComponentArr.push(I,y)})},A.ScreenSpaceEventType.LEFT_CLICK)};Q6.prototype.rightClick=function(){let o=this,A=this._Geoworld,f=this._coreMap;f.scene.screenSpaceCameraController.zoomEventTypes=[A.ScreenSpaceEventType.LEFT_DOUBLE_CLICK],f.scene.screenSpaceCameraController.lookEventTypes={eventType:A.CameraEventType.LEFT_DRAG,modifier:A.KeyboardEventModifier.SHIFT};let m=!1,C=null,E=null,I=null,x=null,y=document.createElement("div");o.rightHandler=new A.ScreenSpaceEventHandler(f.canvas),o.rightHandler.setInputAction(function(v){m=!0,C=v.position.x,E=v.position.y,y.style.cssText="position:absolute;width:0px;height:0px;font-size:0px;margin:0px;padding:0px;border:1px dashed #0099FF;background-color:#C3D5ED;z-index:1000;filter:alpha(opacity:30);opacity:0.3;",y.id="selectDiv",y.style.left=`${C}px`,y.style.top=`${E}px`,f.container.appendChild(y)},A.ScreenSpaceEventType.RIGHT_DOWN),o.rightHandler.setInputAction(function(v){m=!1,o.rightSelect(o.selectPosition),document.getElementById("selectDiv").parentNode.removeChild(document.getElementById("selectDiv"))},A.ScreenSpaceEventType.RIGHT_UP),o.rightHandler.setInputAction(function(v){m&&(I=v.endPosition.x,x=v.endPosition.y,y.style.left=`${Math.min(I,C)}px`,y.style.top=`${Math.min(x,E)}px`,y.style.width=`${Math.abs(I-C)}px`,y.style.height=`${Math.abs(x-E)}px`,o.selectPosition={sx:C,sy:E,ex:I,ey:x})},A.ScreenSpaceEventType.MOUSE_MOVE)};Q6.prototype.rightSelect=function(o){let A=this;A.bimModel.FrameSelection(o.sx,o.sy,o.ex,o.ey).then(f=>{let m=[];for(let E=0;E<f.length;E+=3)m.push(f[E],f[E+1]),A.componentIdArr.push(f[E+1]);A.componentIdArr=[...new Set(A.componentIdArr)],A.showComponentArr=[...A.showComponentArr,...m];let C=new Int32Array(m);A.bimModel.SetComponentStatus(2,C,!1)})};Q6.prototype.removeFromMap=function(){if(this.componentIdArr=[],this.showComponentArr.length>0){let o=new Int32Array(this.showComponentArr);this.bimModel.SetComponentStatus(1,o,!1)}this.leftHandler&&(this.leftHandler.destroy(),this.leftHandler=void 0),this.rightHandler&&(this.rightHandler.destroy(),this.rightHandler=void 0)};var Htt=Q6;function wbe(o,A){this._earthCtrl=A||window.earthCtrl,this._Geoworld=er||window.Cesium,this._coreMap=this._earthCtrl.coreMap,this.bimModel=o.bim||this._earthCtrl.coreMap.scene.bim,this.modelId=o.modelId||1,this.direction=o.direction||"y",this.findKey=o.findKey||"",this.distance=o.distance||22,this.layerId=o.layerId||null,this.start()}wbe.prototype.start=function(){let o=this,A=this._Geoworld,f=this.bimModel,m=this.modelId,C=[];f.GetModelSqlDb(m).then(E=>{E.each(`select component.id from component,storey where storey.id = component.storey and storey.storey in (${o.findKey})`,[],x=>{C.push(m,x.id)});let I=(x,y,v)=>{f.SetComponentTransform(A.Matrix4.toArray(A.Matrix4.fromTranslation(new A.Cartesian3(x,y,v))),new Int32Array(C),!1),y<o.distance&&setTimeout(()=>{o.direction==="x"?I(x+1,y,v):o.direction==="y"?I(x,y+1,v):o.direction==="z"&&I(x,y,v+1)},30)};I(0,0,0)})};wbe.prototype.removeFromMap=function(){let o=this,A=this._Geoworld,f=this.bimModel,m=this.modelId,C=[];f.GetModelSqlDb(m).then(E=>{E.each(`select component.id from component,storey where storey.id = component.storey and storey.storey in (${o.findKey})`,[],I=>{C.push(m,I.id)}),f.SetComponentTransform(A.Matrix4.toArray(A.Matrix4.fromTranslation(new A.Cartesian3(0,0,0))),new Int32Array(C),!1)})};var Vtt=wbe;function EI(o,A,f){this._earthCtrl=A||window.earthCtrl,this._Cesium=f||window.SmartEarth,this._coreMap=this._earthCtrl.coreMap,this.bimModel=o?.bim||this._earthCtrl.coreMap.scene.bim}EI.prototype.getMaterial=function(o,A,f){this.bimModel.GetMaterial(o,A).then(m=>{f&&f(m)})};EI.prototype.getTextureList=function(o){let A=[];this.bimModel.GetTextureList().then(f=>{for(let m of f)m.preview=encodeURI(m.preview),m.imgSrc=`${globalThis.GEOWORLD_BASE_URL}./Assets/Textures/PBRRepo/${m.preview}`,A.push(m);o&&o(A)})};EI.prototype.createMaterial=function(o,A){let f=[];o.color?f.push(o.color.red,o.color.green,o.color.blue,o.color.alpha):f=[1,1,1,1],this.bimModel.CreateMaterial(o.modelId,f).then(m=>{A&&A(m)})};EI.prototype.cancelMaterialEdit=function(o){this.bimModel.CancelMaterialEdit(o.modelId)};EI.prototype.setMaterialTexture=function(o){this.bimModel.SetMaterialTexture(o.modelId,o.materialId,o.textureId)};EI.prototype.setMaterialColor=function(o){let A=[];o.color?A.push(o.color.red,o.color.green,o.color.blue,o.color.alpha):A=[1,1,1,1],this.bimModel.SetMaterialColor(o.modelId,o.materialId,A)};EI.prototype.setComponentMaterial=function(o){this.bimModel.SetComponentMaterialId(o.modelId,o.materialId,new Int32Array(o.idArr))};EI.prototype.getComponentMaterialId=function(o,A){this.bimModel.GetComponentMaterialId(o.modelId,o.componentId).then(f=>{A&&A(f)})};EI.prototype.cancelComponentEditMaterial=function(o){this.bimModel.CancelComponentEditMaterial(o.modelId,o.componentId)};EI.prototype.setInstancesMaterialId=function(o){this.bimModel.SetInstancesMaterialId(o.modelId,o.instancesId,o.materialId)};EI.prototype.removeMaterial=function(o){this.bimModel.SetComponentMaterialId(o.modelId,o.materialId,null)};EI.prototype.removeMaterialColor=function(o){this.bimModel.SetMaterialColor(o.modelId,o.materialId,null)};EI.prototype.removeFromMap=function(){};var ztt=EI;function ts(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this.Bim=ae(window.Bim,null),this.bimModel=null,this.modelList=null,this.modelListInitEd={},this.licenseServer=A,this.modelTransformArr=null}ts.prototype.create=function(o){let A=this;return this.bimModel=new Bim.Bim({serverAddress:ae(o.serverAddress,"https://localhost:8085/"),maxRenderTriangleCount:ae(o.maxRenderTriangleCount,5e6),Cesium:er,viewer:A._coreMap,useCache:ae(o.useCache,!1),licenseServer:A.licenseServer}),new Promise(f=>{A.bimModel.OnInitialized=m=>{A.modelList=m,f(A.bimModel)}})};ts.prototype.setModelTransform=function(o,A){let f=Re.toArray(Vr.eastNorthUpToFixedFrame(Z.fromDegrees(A.lon,A.lat,A.height)));if(A.roll){let m=De.toRadians(A.roll||0),C=Re.fromRotationTranslation(Nt.fromRotationZ(m));Re.multiply(f,C,f)}this.bimModel.SetModelTransform(o,f)};ts.prototype.showModel=function(o){this.bimModel.ShowModel(o)};ts.prototype.refresh=function(){this.bimModel.Refresh()};ts.prototype.shadow=function(o){this.bimModel.Shadow(o)};ts.prototype.setSceneEffect=function(o){!o||this.bimModel.SetSceneEffect(o.environmentIntensity,o.contrast,o.exposure)};ts.prototype.resize=function(){this.bimModel.Resize()};ts.prototype.getModelTransform=function(o){return this.bimModel.GetModelTransform(o)};ts.prototype.getModelBoundingSphere=function(o){let A=this.modelList[o],f=Re.multiplyByPoint(A.transform,Z.fromArray(A.boxMin),{}),m=Re.multiplyByPoint(A.transform,Z.fromArray(A.boxMax),{});return si.fromPoints([f,m],new si)};ts.prototype.setInstancesStatus=function(o,A){this.bimModel.SetInstancesStatus(o,A)};ts.prototype.setComponentStatus=function(o,A,f){this.bimModel.SetComponentStatus(o,A,f)};ts.prototype.setSelectColor=function(o,A,f){let m=[],C=[];A?m.push(A.red,A.green,A.blue,A.alpha):m=[1,1,1,.8],f?C.push(f.red,f.green,f.blue,f.alpha):C=[.3,.8,.3,.5],this.bimModel.SetSelectColor(o||1,m,C)};ts.prototype.setComponentTransform=function(o,A,f){this.bimModel.SetComponentTransform(o,A,f)};ts.prototype.setInstancesTransform=function(o,A){this.bimModel.SetInstancesTransform(o,A)};ts.prototype.showComponent=function(o){if(o.showComponentArr.length>0){let A=new Int32Array(o.showComponentArr);this.bimModel.SetComponentStatus(o.status,A,o.reverseElection||!1)}};ts.prototype.frameSelection=function(o,A,f,m,C){this.bimModel.FrameSelection(o,A,f,m).then(E=>{C&&C(E)})};ts.prototype.pickId=function(o,A,f){this.bimModel.PickId(o,A).then(m=>{f&&f(m)})};ts.prototype.pickIdSync=function(o,A){return this.bimModel.PickIdSync(o,A)};ts.prototype.pickWorldNormal=function(o,A,f){this.bimModel.PickWorldNormal(o,A).then(m=>{f&&f(m)})};ts.prototype.pickWorldNormalSync=function(o,A){return this.bimModel.PickWorldNormalSync(o,A)};ts.prototype.pickWorldPosition=function(o,A,f){this.bimModel.PickWorldPosition(o,A).then(m=>{f&&f(m)})};ts.prototype.pickWorldPositionSync=function(o,A){return this.bimModel.PickWorldPositionSync(o,A)};ts.prototype.choice=function(o){return new Htt(o,this._earthCtrl,er)};ts.prototype.clickBim=function(o){let A=this;A._coreMap.screenSpaceEventHandler.setInputAction(function(m){A.bimModel.PickId(m.position.x,m.position.y).then(C=>{let E=C[0],I=C[1],x=C[2];console.log("\u6A21\u578Bid",E,"\u5B9E\u4F8Bid",I,"\u6784\u4EF6id",x);let y=new Int32Array([E,x]);A.bimModel.SetComponentStatus(2,y,!1),o&&o({modelId:E,instancesId:I,componentId:x})})},_i.LEFT_CLICK)};ts.prototype.clickBimInstances=function(o){let A=this,f=[];A._coreMap.screenSpaceEventHandler.setInputAction(function(C){let E=A.bimModel.PickId(C.position.x,C.position.y),I=E[0],x=E[1],y=E[2];console.log("\u6A21\u578Bid",I,"\u5B9E\u4F8Bid",x,"\u6784\u4EF6id",y),A.bimModel.GetModelSqlDb(I).then(v=>{v.each("select * from component where id = ?",[y],w=>{w.instancesIds=new Uint32Array(w.instancesIds.buffer);for(let Q of w.instancesIds){let M=Q.toString();f.filter(D=>D===M).length>0?(Array.prototype.push.apply(f,[I,Q,1]),f=f.filter(D=>D!==M)):(Array.prototype.push.apply(f,[I,Q,2]),f.push(M))}A.bimModel.SetInstancesStatus(new Int32Array(f))})})},_i.LEFT_CLICK)};ts.prototype.cancelOperatingStatus=function(){this.bimModel.CancelOperatingStatus()};ts.prototype.cancelOperatingTransform=function(){this.bimModel.CancelOperatingTransform()};ts.prototype.getInstancesBox=function(o,A,f){this.bimModel.GetInstancesBox(o,A).then(m=>{f&&f(m)})};ts.prototype.getBIMBoundingSphere=function(o,A,f){let m=this;m.bimModel.GetInstancesBox(o,A).then(C=>{let E=Z.fromArray(C,0),I=Z.fromArray(C,3);E=Re.multiplyByPoint(m.modelList[o].transform,E,{}),I=Re.multiplyByPoint(m.modelList[o].transform,I,{}),f&&f(si.fromPoints([E,I],new si))})};ts.prototype.getModelSqlDb=function(){return this.bimModel.GetModelSqlDb()};ts.prototype.getBIMComponentBoundingSphere=function(o,A,f){let m=this;m.bimModel.GetModelSqlDb(o).then(C=>{C.each("select * from component where id = ?",[A],E=>{E.instancesIds=new Uint32Array(E.instancesIds.buffer),E.box=new Float32Array(E.box.buffer);let I=Z.fromArray(E.box,0),x=Z.fromArray(E.box,3);I=Re.multiplyByPoint(m.modelList[o].transform,I,{}),x=Re.multiplyByPoint(m.modelList[o].transform,x,{});let y=si.fromPoints([I,x],new si);f&&f(y)})})};ts.prototype.flyToComponent=function(){let o=this;o._coreMap.screenSpaceEventHandler.setInputAction(function(f){o.bimModel.PickId(f.position.x,f.position.y).then(m=>{let C=m[0],E=m[2];o.getBIMComponentBoundingSphere(C,E,function(I){o._coreMap.camera.flyToBoundingSphere(I)})})},_i.LEFT_CLICK)};ts.prototype.flyToInstances=function(){let o=this;o._coreMap.screenSpaceEventHandler.setInputAction(function(f){o.bimModel.PickId(f.position.x,f.position.y).then(m=>{let C=m[0],E=m[1];o.getBIMBoundingSphere(C,E,I=>{o._coreMap.camera.flyToBoundingSphere(I)})})},_i.LEFT_CLICK)};ts.prototype.materialTool=function(o){let A=this;return new ztt(o,A._earthCtrl,er)};ts.prototype.disableClip=function(){this.bimModel.SetClipPlane()};ts.prototype.setClipPlane=function(o){this.bimModel.SetClipPlane(o.clipTransform,o.isTurn,o?.plane1,o.plane2,o.plane3,o.plane4,o.plane5,o.plane6)};ts.prototype.bimModeClipping=function(o){let A=this;return new Gtt(A._earthCtrl,A.bimModel,o)};ts.prototype.differentiateLevels=function(o){let A=this;return new Vtt(o,A._earthCtrl)};ts.prototype.setExpressTypeWeights=function(o,A){this.bimModel.SetExpressTypeWeights(o,A)};ts.prototype.setExpressTypeVisibleDistance=function(o,A){this.bimModel.SetExpressTypeVisibleDistance(o,A)};ts.prototype.setModelStoreyTransform=function(o,A,f){this.bimModel.SetModelStoreyTransform(o,A,f)};ts.prototype.setModelStoreyStatus=function(o,A,f){this.bimModel.SetModelStoreyStatus(o,A,f)};ts.prototype.setModelExpressTypeTransform=function(o,A,f){this.bimModel.SetModelExpressTypeTransform(o,A,f)};ts.prototype.setModelExpressTypeStatus=function(o,A,f){this.bimModel.SetModelExpressTypeStatus(o,A,f)};ts.prototype.markShell=function(o){this.bimModel.MarkShell().then(A=>{o&&o(A)})};ts.prototype.clearShell=function(o,A){this.bimModel.ClearShell(o).then(f=>{A&&A(f)})};ts.prototype.saveShell=function(o){this.bimModel.SaveShell().then(A=>{o&&o(A)})};ts.prototype.setOnlyShowShells=function(o){this.bimModel.SetOnlyShowShells(o)};ts.prototype.mouseHover=function(o){this.bimModel.MouseHover(o)};ts.prototype.enableAngularLines=function(o){this.bimModel.EnableAngularLines(o)};var Go={version:"1.0.0"};Go.PlotUtils={},Go.PlotUtils.distance=function(o,A){return Math.sqrt(Math.pow(o[0]-A[0],2)+Math.pow(o[1]-A[1],2))},Go.PlotUtils.wholeDistance=function(o){for(var A=0,f=0;f<o.length-1;f++)A+=Go.PlotUtils.distance(o[f],o[f+1]);return A},Go.PlotUtils.getBaseLength=function(o){return Math.pow(Go.PlotUtils.wholeDistance(o),.99)},Go.PlotUtils.mid=function(o,A){return[(o[0]+A[0])/2,(o[1]+A[1])/2]},Go.PlotUtils.getCircleCenterOfThreePoints=function(o,A,f){var m=[(o[0]+A[0])/2,(o[1]+A[1])/2],C=[m[0]-o[1]+A[1],m[1]+o[0]-A[0]],E=[(o[0]+f[0])/2,(o[1]+f[1])/2],I=[E[0]-o[1]+f[1],E[1]+o[0]-f[0]];return Go.PlotUtils.getIntersectPoint(m,C,E,I)},Go.PlotUtils.getIntersectPoint=function(o,A,f,m){if(o[1]==A[1]){var C=(m[0]-f[0])/(m[1]-f[1]),E=C*(o[1]-f[1])+f[0],I=o[1];return[E,I]}if(f[1]==m[1]){var x=(A[0]-o[0])/(A[1]-o[1]);return E=x*(f[1]-o[1])+o[0],I=f[1],[E,I]}return x=(A[0]-o[0])/(A[1]-o[1]),C=(m[0]-f[0])/(m[1]-f[1]),I=(x*o[1]-o[0]-C*f[1]+f[0])/(x-C),E=x*I-x*o[1]+o[0],[E,I]},Go.PlotUtils.getAzimuth=function(o,A){var f,m=Math.asin(Math.abs(A[1]-o[1])/Go.PlotUtils.distance(o,A));return A[1]>=o[1]&&A[0]>=o[0]?f=m+Math.PI:A[1]>=o[1]&&A[0]<o[0]?f=Go.Constants.TWO_PI-m:A[1]<o[1]&&A[0]<o[0]?f=m:A[1]<o[1]&&A[0]>=o[0]&&(f=Math.PI-m),f},Go.PlotUtils.getAngleOfThreePoints=function(o,A,f){var m=Go.PlotUtils.getAzimuth(A,o)-Go.PlotUtils.getAzimuth(A,f);return 0>m?m+Go.Constants.TWO_PI:m},Go.PlotUtils.isClockWise=function(o,A,f){return(f[1]-o[1])*(A[0]-o[0])>(A[1]-o[1])*(f[0]-o[0])},Go.PlotUtils.getPointOnLine=function(o,A,f){var m=A[0]+o*(f[0]-A[0]),C=A[1]+o*(f[1]-A[1]);return[m,C]},Go.PlotUtils.getCubicValue=function(o,A,f,m,C){o=Math.max(Math.min(o,1),0);var E=1-o,I=o*o,x=I*o,y=E*E,v=y*E,w=v*A[0]+3*y*o*f[0]+3*E*I*m[0]+x*C[0],Q=v*A[1]+3*y*o*f[1]+3*E*I*m[1]+x*C[1];return[w,Q]},Go.PlotUtils.getThirdPoint=function(o,A,f,m,C){var E=Go.PlotUtils.getAzimuth(o,A),I=C?E+f:E-f,x=m*Math.cos(I),y=m*Math.sin(I);return[A[0]+x,A[1]+y]},Go.PlotUtils.getArcPoints=function(o,A,f,m){var C,E,I=[],x=m-f;x=0>x?x+Go.Constants.TWO_PI:x;for(var y=0;y<=Go.Constants.FITTING_COUNT;y++){var v=f+x*y/Go.Constants.FITTING_COUNT;C=o[0]+A*Math.cos(v),E=o[1]+A*Math.sin(v),I.push([C,E])}return I},Go.PlotUtils.getBisectorNormals=function(o,A,f,m){var C=Go.PlotUtils.getNormal(A,f,m),E=Math.sqrt(C[0]*C[0]+C[1]*C[1]),I=C[0]/E,x=C[1]/E,y=Go.PlotUtils.distance(A,f),v=Go.PlotUtils.distance(f,m);if(E>Go.Constants.ZERO_TOLERANCE)if(Go.PlotUtils.isClockWise(A,f,m)){var w=o*y,Q=f[0]-w*x,M=f[1]+w*I,B=[Q,M];w=o*v,Q=f[0]+w*x,M=f[1]-w*I;var D=[Q,M]}else w=o*y,Q=f[0]+w*x,M=f[1]-w*I,B=[Q,M],w=o*v,Q=f[0]-w*x,M=f[1]+w*I,D=[Q,M];else Q=f[0]+o*(A[0]-f[0]),M=f[1]+o*(A[1]-f[1]),B=[Q,M],Q=f[0]+o*(m[0]-f[0]),M=f[1]+o*(m[1]-f[1]),D=[Q,M];return[B,D]},Go.PlotUtils.getNormal=function(o,A,f){var m=o[0]-A[0],C=o[1]-A[1],E=Math.sqrt(m*m+C*C);m/=E,C/=E;var I=f[0]-A[0],x=f[1]-A[1],y=Math.sqrt(I*I+x*x);I/=y,x/=y;var v=m+I,w=C+x;return[v,w]},Go.PlotUtils.getCurvePoints=function(o,A){for(var f=Go.PlotUtils.getLeftMostControlPoint(A,o),m=[f],C=0;C<A.length-2;C++){var E=A[C],I=A[C+1],x=A[C+2],y=Go.PlotUtils.getBisectorNormals(o,E,I,x);m=m.concat(y)}var v=Go.PlotUtils.getRightMostControlPoint(A,o);m.push(v);var w=[];for(C=0;C<A.length-1;C++){E=A[C],I=A[C+1],w.push(E);for(var o=0;o<Go.Constants.FITTING_COUNT;o++){var Q=Go.PlotUtils.getCubicValue(o/Go.Constants.FITTING_COUNT,E,m[2*C],m[2*C+1],I);w.push(Q)}w.push(I)}return w},Go.PlotUtils.getLeftMostControlPoint=function(o,A){var f=o[0],m=o[1],C=o[2],E=Go.PlotUtils.getBisectorNormals(0,f,m,C),I=E[0],x=Go.PlotUtils.getNormal(f,m,C),y=Math.sqrt(x[0]*x[0]+x[1]*x[1]);if(y>Go.Constants.ZERO_TOLERANCE)var v=Go.PlotUtils.mid(f,m),w=f[0]-v[0],Q=f[1]-v[1],M=Go.PlotUtils.distance(f,m),B=2/M,D=-B*Q,S=B*w,P=D*D-S*S,R=2*D*S,T=S*S-D*D,L=I[0]-v[0],F=I[1]-v[1],U=v[0]+P*L+R*F,N=v[1]+R*L+T*F;else U=f[0]+A*(m[0]-f[0]),N=f[1]+A*(m[1]-f[1]);return[U,N]},Go.PlotUtils.getRightMostControlPoint=function(o,A){var f=o.length,m=o[f-3],C=o[f-2],E=o[f-1],I=Go.PlotUtils.getBisectorNormals(0,m,C,E),x=I[1],y=Go.PlotUtils.getNormal(m,C,E),v=Math.sqrt(y[0]*y[0]+y[1]*y[1]);if(v>Go.Constants.ZERO_TOLERANCE)var w=Go.PlotUtils.mid(C,E),Q=E[0]-w[0],M=E[1]-w[1],B=Go.PlotUtils.distance(C,E),D=2/B,S=-D*M,P=D*Q,R=S*S-P*P,T=2*S*P,L=P*P-S*S,F=x[0]-w[0],U=x[1]-w[1],N=w[0]+R*F+T*U,H=w[1]+T*F+L*U;else N=E[0]+A*(C[0]-E[0]),H=E[1]+A*(C[1]-E[1]);return[N,H]},Go.PlotUtils.getBezierPoints=function(o){if(o.length<=2)return o;for(var A=[],f=o.length-1,m=0;1>=m;m+=.01){for(var C=0,E=0,I=0;f>=I;I++){var x=Go.PlotUtils.getBinomialFactor(f,I),y=Math.pow(m,I),v=Math.pow(1-m,f-I);C+=x*y*v*o[I][0],E+=x*y*v*o[I][1]}A.push([C,E])}return A.push(o[f]),A},Go.PlotUtils.getBinomialFactor=function(o,A){return Go.PlotUtils.getFactorial(o)/(Go.PlotUtils.getFactorial(A)*Go.PlotUtils.getFactorial(o-A))},Go.PlotUtils.getFactorial=function(o){if(1>=o)return 1;if(o==2)return 2;if(o==3)return 6;if(o==4)return 24;if(o==5)return 120;for(var A=1,f=1;o>=f;f++)A*=f;return A},Go.PlotUtils.getQBSplinePoints=function(o){if(o.length<=2)return o;var A=2,f=[],m=o.length-A-1;f.push(o[0]);for(var C=0;m>=C;C++)for(var E=0;1>=E;E+=.05){for(var I=0,x=0,y=0;A>=y;y++){var v=Go.PlotUtils.getQuadricBSplineFactor(y,E);I+=v*o[C+y][0],x+=v*o[C+y][1]}f.push([I,x])}return f.push(o[o.length-1]),f},Go.PlotUtils.getQuadricBSplineFactor=function(o,A){return o==0?Math.pow(A-1,2)/2:o==1?(-2*Math.pow(A,2)+2*A+1)/2:o==2?Math.pow(A,2)/2:0},Go.Constants={TWO_PI:2*Math.PI,HALF_PI:Math.PI/2,FITTING_COUNT:100,ZERO_TOLERANCE:1e-4};var vr=Go;var Rs={version:"1.2.0",createTime:"2021.04.01",author:"sss"},wb={type:"doublearrow",headHeightFactor:.25,headWidthFactor:.3,neckHeightFactor:.85,fixPointCount:4,neckWidthFactor:.15},Nre={headHeightFactor:.18,headWidthFactor:.3,neckHeightFactor:.85,neckWidthFactor:.15,tailWidthFactor:.1,headTailFactor:.8,swallowTailFactor:1},S6={tailWidthFactor:.15,neckWidthFactor:.2,headWidthFactor:.25,headAngle:Math.PI/8.5,neckAngle:Math.PI/13,swallowTailFactor:.15},kre={widthFactor:.15,neckWidthFactor:.25,neckLengthFactor:.3,swallowTailFactor:.15},Pv={headFactor:.4,headWidthFactor:1.3,neckWidthFactor:.02,head:.1};Rs.algorithm={},Rs.algorithm.doubleArrow=function(o){this.connPoint=null,this.tempPoint4=null,this.points=o;let A={controlPoint:null,polygonalPoint:null};if(!(2>o.length)){if(I===2)return o;let m=this.points[0],C=this.points[1],E=this.points[2],I=o.length;I===3?this.tempPoint4=Rs.algorithm.getTempPoint4(m,C,E):this.tempPoint4=this.points[3],I===3||I===4?this.connPoint=vr.PlotUtils.mid(m,C):this.connPoint=this.points[4];let x,y;vr.PlotUtils.isClockWise(m,C,E)?(x=Rs.algorithm.getArrowPoints(m,this.connPoint,this.tempPoint4,!1),y=Rs.algorithm.getArrowPoints(this.connPoint,C,E,!0)):(x=Rs.algorithm.getArrowPoints(C,this.connPoint,E,!1),y=Rs.algorithm.getArrowPoints(this.connPoint,m,this.tempPoint4,!0));let v=x.length,w=(v-5)/2,Q=x.slice(0,w),M=x.slice(w,w+5),B=x.slice(w+5,v),D=y.slice(0,w),S=y.slice(w,w+5),P=y.slice(w+5,v);D=vr.PlotUtils.getBezierPoints(D);let R=vr.PlotUtils.getBezierPoints(P.concat(Q.slice(1)));B=vr.PlotUtils.getBezierPoints(B);let T=D.concat(S,R,M,B),L=Rs.algorithm.array2Dto1D(T);A.controlPoint=[m,C,E,this.tempPoint4,this.connPoint],A.polygonalPoint=Z.fromDegreesArray(L)}return A},Rs.algorithm.threeArrow=function(o){this.connPoint=null,this.tempPoint4=null,this.tempPoint5=null,this.points=o;let A={controlPoint:null,polygonalPoint:null},f=o.length;if(!(2>o.length)){if(o.length===2)return o;let m=this.points[0],C=this.points[1],E=this.points[2],I=o.length;I===3?(this.tempPoint4=Rs.algorithm.getTempPoint4(m,C,E),this.tempPoint5=vr.PlotUtils.mid(E,this.tempPoint4)):(this.tempPoint4=this.points[3],this.tempPoint5=this.points[4]),I<6?this.connPoint=vr.PlotUtils.mid(m,C):this.connPoint=this.points[5];let x,y;vr.PlotUtils.isClockWise(m,C,E)?(x=Rs.algorithm.getArrowPoints(m,this.connPoint,this.tempPoint4,!1),y=Rs.algorithm.getArrowPoints(this.connPoint,C,E,!0)):(x=Rs.algorithm.getArrowPoints(C,this.connPoint,E,!1),y=Rs.algorithm.getArrowPoints(this.connPoint,m,this.tempPoint4,!0));let v=x.length,w=(v-5)/2,Q=x.slice(0,w),M=x.slice(w,w+5),B=x.slice(w+5,v),D=y.slice(0,w),S=y.slice(w,w+5),P=y.slice(w+5,v);D=vr.PlotUtils.getBezierPoints(D);let R=vr.PlotUtils.getBezierPoints(P.concat(Q.slice(1)));B=vr.PlotUtils.getBezierPoints(B);let T=D.concat(S,R,M,B),L=Rs.algorithm.array2Dto1D(T);A.controlPoint=[m,C,E,this.tempPoint4,this.tempPoint5,this.connPoint],A.polygonalPoint=Z.fromDegreesArray(L)}return A},Rs.algorithm.array2Dto1D=function(o){let A=[];return o.forEach(function(f){A.push(f[0]),A.push(f[1])}),A},Rs.algorithm.getArrowPoints=function(o,A,f,m){this.type=wb.type,this.headHeightFactor=wb.headHeightFactor,this.headWidthFactor=wb.headWidthFactor,this.neckHeightFactor=wb.neckHeightFactor,this.neckWidthFactor=wb.neckWidthFactor;let C=vr.PlotUtils.mid(o,A),E=vr.PlotUtils.distance(C,f),I=vr.PlotUtils.getThirdPoint(f,C,0,.3*E,!0),x=vr.PlotUtils.getThirdPoint(f,C,0,.5*E,!0);I=vr.PlotUtils.getThirdPoint(C,I,vr.Constants.HALF_PI,E/5,m),x=vr.PlotUtils.getThirdPoint(C,x,vr.Constants.HALF_PI,E/4,m);let y=[C,I,x,f],v=Rs.algorithm.getArrowHeadPoints(y,this.headHeightFactor,this.headWidthFactor,this.neckHeightFactor,this.neckWidthFactor),w=v[0],Q=v[4],M=vr.PlotUtils.distance(o,A)/vr.PlotUtils.getBaseLength(y)/2,B=Rs.algorithm.getArrowBodyPoints(y,w,Q,M),D=B.length,S=B.slice(0,D/2),P=B.slice(D/2,D);return S.push(w),P.push(Q),S=S.reverse(),S.push(A),P=P.reverse(),P.push(o),S.reverse().concat(v,P)},Rs.algorithm.getArrowHeadPoints=function(o,A,f){this.type=wb.type,this.headHeightFactor=wb.headHeightFactor,this.headWidthFactor=wb.headWidthFactor,this.neckHeightFactor=wb.neckHeightFactor,this.neckWidthFactor=wb.neckWidthFactor;let m=vr.PlotUtils.getBaseLength(o),C=m*this.headHeightFactor,E=o[o.length-1],I=(vr.PlotUtils.distance(A,f),C*this.headWidthFactor),x=C*this.neckWidthFactor,y=C*this.neckHeightFactor,v=vr.PlotUtils.getThirdPoint(o[o.length-2],E,0,C,!0),w=vr.PlotUtils.getThirdPoint(o[o.length-2],E,0,y,!0),Q=vr.PlotUtils.getThirdPoint(E,v,vr.Constants.HALF_PI,I,!1),M=vr.PlotUtils.getThirdPoint(E,v,vr.Constants.HALF_PI,I,!0),B=vr.PlotUtils.getThirdPoint(E,w,vr.Constants.HALF_PI,x,!1),D=vr.PlotUtils.getThirdPoint(E,w,vr.Constants.HALF_PI,x,!0);return[B,Q,E,M,D]},Rs.algorithm.getArrowBodyPoints=function(o,A,f,m){let C=[],E=[];for(let I=vr.PlotUtils.wholeDistance(o),x=vr.PlotUtils.getBaseLength(o),y=x*m,v=vr.PlotUtils.distance(A,f),w=(y-v)/2,Q=0,M=1;M<o.length-1;M++){let B=vr.PlotUtils.getAngleOfThreePoints(o[M-1],o[M],o[M+1])/2;Q+=vr.PlotUtils.distance(o[M-1],o[M]);let D=(y/2-Q/I*w)/Math.sin(B),S=vr.PlotUtils.getThirdPoint(o[M-1],o[M],Math.PI-B,D,!0),P=vr.PlotUtils.getThirdPoint(o[M-1],o[M],B,D,!1);C.push(S),E.push(P)}return C.concat(E)},Rs.algorithm.getTempPoint4=function(o,A,f){let m,C,E,I,x=vr.PlotUtils.mid(o,A),y=vr.PlotUtils.distance(x,f),v=vr.PlotUtils.getAngleOfThreePoints(o,x,f);return v<vr.Constants.HALF_PI?(C=y*Math.sin(v),E=y*Math.cos(v),I=vr.PlotUtils.getThirdPoint(o,x,vr.Constants.HALF_PI,C,!1),m=vr.PlotUtils.getThirdPoint(x,I,vr.Constants.HALF_PI,E,!0)):v>=vr.Constants.HALF_PI&&v<Math.PI?(C=y*Math.sin(Math.PI-v),E=y*Math.cos(Math.PI-v),I=vr.PlotUtils.getThirdPoint(o,x,vr.Constants.HALF_PI,C,!1),m=vr.PlotUtils.getThirdPoint(x,I,vr.Constants.HALF_PI,E,!1)):v>=Math.PI&&v<1.5*Math.PI?(C=y*Math.sin(v-Math.PI),E=y*Math.cos(v-Math.PI),I=vr.PlotUtils.getThirdPoint(o,x,vr.Constants.HALF_PI,C,!0),m=vr.PlotUtils.getThirdPoint(x,I,vr.Constants.HALF_PI,E,!0)):(C=y*Math.sin(2*Math.PI-v),E=y*Math.cos(2*Math.PI-v),I=vr.PlotUtils.getThirdPoint(o,x,vr.Constants.HALF_PI,C,!0),m=vr.PlotUtils.getThirdPoint(x,I,vr.Constants.HALF_PI,E,!1)),m},Rs.algorithm.tailedAttackArrow=function(o){o=Rs.algorithm.dereplication(o),this.tailWidthFactor=Nre.tailWidthFactor,this.swallowTailFactor=Nre.swallowTailFactor,this.swallowTailPnt=Nre.swallowTailPnt;let A={controlPoint:null,polygonalPoint:null};if(A.controlPoint=o,!(2>o.length)){if(o.length===2)return A.polygonalPoint=o,A;let m=o,C=m[0],E=m[1];vr.PlotUtils.isClockWise(m[0],m[1],m[2])&&(C=m[1],E=m[0]);let I=vr.PlotUtils.mid(C,E),x=[I].concat(m.slice(2)),y=Rs.algorithm.getAttackArrowHeadPoints(x,C,E,Nre),v=y[0],w=y[4],Q=vr.PlotUtils.distance(C,E),M=vr.PlotUtils.getBaseLength(x),B=M*this.tailWidthFactor*this.swallowTailFactor;this.swallowTailPnt=vr.PlotUtils.getThirdPoint(x[1],x[0],0,B,!0);let D=Q/M,S=Rs.algorithm.getAttackArrowBodyPoints(x,v,w,D),P=S.length,R=[C].concat(S.slice(0,P/2));R.push(v);let T=[E].concat(S.slice(P/2,P)),L=[];T.push(w),R=vr.PlotUtils.getQBSplinePoints(R),T=vr.PlotUtils.getQBSplinePoints(T),L=Rs.algorithm.array2Dto1D(R.concat(y,T.reverse(),[this.swallowTailPnt,R[0]])),A.polygonalPoint=Z.fromDegreesArray(L)}return A},Rs.algorithm.getAttackArrowHeadPoints=function(o,A,f,m){this.headHeightFactor=m.headHeightFactor,this.headTailFactor=m.headTailFactor,this.headWidthFactor=m.headWidthFactor,this.neckWidthFactor=m.neckWidthFactor,this.neckHeightFactor=m.neckHeightFactor;let C=vr.PlotUtils.getBaseLength(o),E=C*this.headHeightFactor,I=o[o.length-1];C=vr.PlotUtils.distance(I,o[o.length-2]);let x=vr.PlotUtils.distance(A,f);E>x*this.headTailFactor&&(E=x*this.headTailFactor);let y=E*this.headWidthFactor,v=E*this.neckWidthFactor;E=E>C?C:E;let w=E*this.neckHeightFactor,Q=vr.PlotUtils.getThirdPoint(o[o.length-2],I,0,E,!0),M=vr.PlotUtils.getThirdPoint(o[o.length-2],I,0,w,!0),B=vr.PlotUtils.getThirdPoint(I,Q,vr.Constants.HALF_PI,y,!1),D=vr.PlotUtils.getThirdPoint(I,Q,vr.Constants.HALF_PI,y,!0),S=vr.PlotUtils.getThirdPoint(I,M,vr.Constants.HALF_PI,v,!1),P=vr.PlotUtils.getThirdPoint(I,M,vr.Constants.HALF_PI,v,!0);return[S,B,I,D,P]},Rs.algorithm.getAttackArrowBodyPoints=function(o,A,f,m){let C=[],E=[];for(let I=vr.PlotUtils.wholeDistance(o),x=vr.PlotUtils.getBaseLength(o),y=x*m,v=vr.PlotUtils.distance(A,f),w=(y-v)/2,Q=0,M=1;M<o.length-1;M++){let B=vr.PlotUtils.getAngleOfThreePoints(o[M-1],o[M],o[M+1])/2;Q+=vr.PlotUtils.distance(o[M-1],o[M]);let D=(y/2-Q/I*w)/Math.sin(B),S=vr.PlotUtils.getThirdPoint(o[M-1],o[M],Math.PI-B,D,!0),P=vr.PlotUtils.getThirdPoint(o[M-1],o[M],B,D,!1);C.push(S),E.push(P)}return C.concat(E)},Rs.algorithm.dereplication=function(o){let A=o[o.length-1],f=!1,m=[];return m=o.filter(function(C){if(C[0]!==A[0]&&C[1]!==A[1])return C;f=!0}),f&&m.push(A),m},Rs.algorithm.fineArrow=function(o,A){if(o.length<2||A.length<2)return;let f=S6.tailWidthFactor,m=S6.neckWidthFactor,C=S6.headWidthFactor,E=S6.headAngle,I=S6.neckAngle,x=S6.swallowTailFactor,y=[];y[0]=o,y[1]=A;let v=y[0],w=y[1],Q=vr.PlotUtils.getBaseLength(y),M=Q*f,B=Q*m,D=Q*C,S=vr.PlotUtils.getThirdPoint(w,v,vr.Constants.HALF_PI,M,!0),P=vr.PlotUtils.getThirdPoint(w,v,vr.Constants.HALF_PI,M,!1),R=vr.PlotUtils.getThirdPoint(v,w,E,D,!1),T=vr.PlotUtils.getThirdPoint(v,w,E,D,!0),L=vr.PlotUtils.getThirdPoint(v,w,I,B,!1),F=vr.PlotUtils.getThirdPoint(v,w,I,B,!0),U=[],N=vr.PlotUtils.mid(S,P);return Q=vr.PlotUtils.getThirdPoint(S,N,vr.Constants.HALF_PI,B*x,!1),U.push(S[0],S[1],L[0],L[1],R[0],R[1],w[0],w[1],T[0],T[1],F[0],F[1],P[0],P[1],Q[0],Q[1]),Z.fromDegreesArray(U)},Rs.algorithm.Arrow=function(o,A){if(o.length<2||A.length<2)return;let f=kre.widthFactor,m=kre.neckWidthFactor,C=kre.neckLengthFactor,E=kre.swallowTailFactor,I=[];I[0]=o,I[1]=A;let x=I[0],y=I[1],v=vr.PlotUtils.getBaseLength(I),w=v*f,Q=v*m,M=v*C,B=vr.PlotUtils.getThirdPoint(y,x,vr.Constants.HALF_PI,w,!0),D=vr.PlotUtils.getThirdPoint(y,x,vr.Constants.HALF_PI,w,!1),S=vr.PlotUtils.getThirdPoint(x,y,0,M,!1),P=vr.PlotUtils.getThirdPoint(B,S,vr.Constants.HALF_PI,w,!1),R=vr.PlotUtils.getThirdPoint(D,S,vr.Constants.HALF_PI,w,!0),T=vr.PlotUtils.getThirdPoint(B,P,vr.Constants.HALF_PI,Q,!1),L=vr.PlotUtils.getThirdPoint(D,R,vr.Constants.HALF_PI,Q,!0),F=[],U=vr.PlotUtils.mid(B,D);return v=vr.PlotUtils.getThirdPoint(B,U,vr.Constants.HALF_PI,Q*E,!1),F.push(B[0],B[1],P[0],P[1],T[0],T[1],y[0],y[1],L[0],L[1],R[0],R[1],D[0],D[1],v[0],v[1]),Z.fromDegreesArray(F)},Rs.algorithm.Surface=function(o){o.push(o[0]);let A=vr.PlotUtils.getCurvePoints(.4,o);return A=Rs.algorithm.array2Dto1D(A),Z.fromDegreesArray(A)},Rs.algorithm.Assmbly=function(o){let A,f;if(o.length===2){A=vr.PlotUtils.mid(o[0],o[1]);let v=vr.PlotUtils.getBaseLength([o[0],A])/.9;f=vr.PlotUtils.getThirdPoint(o[0],A,Math.PI,v,!0),o=[o[0],f,o[1]]}A=vr.PlotUtils.mid(o[0],o[2]),o.push(A,o[0],o[1]);let m=[],C,E,I,x=[];for(let v=0;v<o.length-2;v++){C=o[v],E=o[v+1],I=o[v+2];let w=vr.PlotUtils.getBisectorNormals(.4,C,E,I);m=m.concat(w)}let y=m.length;m=[m[y-1]].concat(m.slice(0,y-1));for(let v=0;v<o.length-2;v++){C=o[v],E=o[v+1],x=x.concat(C);for(let w=0;w<=100;w++)f=vr.PlotUtils.getCubicValue(w/100,C,m[v*2],m[v*2+1],E),x=x.concat(f);x=x.concat(E)}return Z.fromDegreesArray(x)},Rs.algorithm.Sector=function(o){let A,f,m;A=o[0],f=o[1],m=o[2];let C=vr.PlotUtils.getBaseLength([A,f]),E=vr.PlotUtils.getAzimuth(f,A),I=vr.PlotUtils.getAzimuth(m,A),x=[];return x.push(A),x=x.concat(vr.PlotUtils.getArcPoints(A,C,E,I)),x.push(A),x=Rs.algorithm.array2Dto1D(x),Z.fromDegreesArray(x)},Rs.algorithm.Recflag=function(o){let A=Pv.headFactor,f=Pv.headWidthFactor,m=Pv.neckWidthFactor,C=Pv.head,E=o;E[1][0]=E[0][0];let I=E[0],x=E[1],y=vr.PlotUtils.getBaseLength(E),v=y*A,w=y*m,Q=vr.PlotUtils.getThirdPoint(I,x,Math.PI,-v,!0);E[0]=Q;let B=vr.PlotUtils.getBaseLength(E)*f,D=vr.PlotUtils.getThirdPoint(x,Q,-Math.PI/2,B,!0),S=vr.PlotUtils.getThirdPoint(Q,x,Math.PI/2,B,!0),P=vr.PlotUtils.getThirdPoint(x,I,Math.PI/2,w,!1),R=vr.PlotUtils.getThirdPoint(x,Q,Math.PI/2,w,!1),T=[];return T.push(I[0],I[1],x[0],x[1],S[0],S[1],D[0],D[1],R[0],R[1],P[0],P[1],I[0],I[1]),Z.fromDegreesArray(T)},Rs.algorithm.Pennant=function(o){let A=Pv.headFactor,f=Pv.headWidthFactor,m=Pv.neckWidthFactor,C=Pv.head,E=o;E[1][0]=E[0][0];let I=E[0],x=E[1],y=vr.PlotUtils.getBaseLength(E),v=y*A,w=y*m,Q=vr.PlotUtils.getThirdPoint(I,x,Math.PI,-v,!0);E[0]=Q;let B=vr.PlotUtils.getBaseLength(E)*f,D=vr.PlotUtils.getThirdPoint(Q,x,Math.PI/2,B,!0),S=vr.PlotUtils.getThirdPoint(x,I,Math.PI/2,w,!1),P=vr.PlotUtils.getThirdPoint(x,Q,Math.PI/2,w,!1),R=[];return R.push(I[0],I[1],x[0],x[1],D[0],D[1],P[0],P[1],S[0],S[1],I[0],I[1]),Z.fromDegreesArray(R)},Rs.algorithm.Mflag=function(o){let A=Pv.headFactor,f=Pv.headWidthFactor,m=Pv.neckWidthFactor,C=Pv.head,E=o;E[1][0]=E[0][0];let I=E[0],x=E[1],y=vr.PlotUtils.getBaseLength(E),v=y*A,w=y*m,Q=vr.PlotUtils.getThirdPoint(I,x,Math.PI,-v,!0);E[0]=Q;let M=vr.PlotUtils.getBaseLength(E),B=M*f,D=M*C,S=vr.PlotUtils.getThirdPoint(x,Q,-Math.PI/2,B,!0),P=vr.PlotUtils.getThirdPoint(Q,x,Math.PI/2,B,!0),R=vr.PlotUtils.getThirdPoint(Q,x,Math.PI/2,w,!0),T=vr.PlotUtils.getThirdPoint(x,I,Math.PI/2,w,!1),L=vr.PlotUtils.getThirdPoint(x,Q,Math.PI/2,w,!1),F=[];F.push(R),F.push(P);let U=Rs.algorithm.calculatePonits(F,D),N=[];N.push(L),N.push(S);let H=Rs.algorithm.calculatePonits(N,D,!0),J=[];return J.push(I[0],I[1],Q[0],Q[1],x[0],x[1]),J=J.concat(U),J=J.concat(H),J.push(L[0],L[1],T[0],T[1],I[0],I[1]),Z.fromDegreesArray(J)},Rs.algorithm.calculatePonits=function(o,A,f){let m=[];if(o.length>1){let E=o[0],I=o[o.length-1],x=E,y=[(I[0]-E[0])/4+E[0],(I[1]-E[1])/4+E[1]+A],v=[(E[0]+I[0])/2,(I[1]+E[1])/2],w=[(I[0]-E[0])*3/4+E[0],(I[1]-E[1])*3/4+E[1]-A];m=vr.PlotUtils.getBezierPoints([x,y,v,w,I])}return f&&(m=m.reverse()),Rs.algorithm.array2Dto1D(m)};var Ml=Rs;function Rv(o,A){this.type="StraightArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.modifyHandler=null}Rv.prototype.disable=function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0};Rv.prototype.disableHandler=function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)};Rv.prototype.startDraw=function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=Ure(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=Ure(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},_i.MOUSE_MOVE)};Rv.prototype.startModify=function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=Ure(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=Ure(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},_i.MOUSE_MOVE)};Rv.prototype.createByData=function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId};Rv.prototype.clear=function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1};Rv.prototype.getLnglats=function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o};Rv.prototype.getPositions=function(){return this.positions};Rv.prototype.creatPoint=function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A};Rv.prototype.showArrowOnMap=function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),I=A.cartesianToLatlng(C),x=[],y=Ml.algorithm.fineArrow([E[0],E[1]],[I[0],I[1]]);if(JSON.stringify(y).indexOf("null")!==-1)return[];for(let w=0;w<y.length;w++){let Q=new Z(y[w].x,y[w].y,y[w].z);x.push(Q)}return new In(x)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})};Rv.prototype.cartesianToLatlng=function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]};function Ure(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var bbe=Rv;var Ytt=function(o,A){this.type="StraightArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};Ytt.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=Ore(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=Ore(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},_i.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=Ore(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=Ore(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},_i.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),I=A.cartesianToLatlng(C),x=[],y=Ml.algorithm.fineArrow([E[0],E[1]],[I[0],I[1]]);if(JSON.stringify(y).indexOf("null")!==-1)return[];for(let w=0;w<y.length;w++){let Q=new Z(y[w].x,y[w].y,y[w].z);x.push(Q)}return new In(x)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function Ore(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var Jtt=Ytt;var Ktt=function(o){this.type="AttackArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new pr(this.viewer.scene.canvas),this.fillMaterial=qe.RED.withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null};Ktt.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=vJ(A.position,o.viewer);if(!f)return;o.positions.length===0&&(o.floatPoint=o.creatPoint(f),o.floatPoint.wz=-1),o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f=vJ(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},_i.MOUSE_MOVE),this.handler.setInputAction(function(A){let f=vJ(A.position,o.viewer);if(!f)return;for(let C=0;C<o.pointArr.length;C++)o.pointArr[C].show=!1;o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null;let m=o.creatPoint(f);m.show=!1,m.wz=o.positions.length,o.pointArr.push(m),o.handler.destroy()},_i.RIGHT_CLICK)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m=vJ(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f=vJ(A.endPosition,o.viewer);!f||o.selectPoint&&(o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f)},_i.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let x=0;x<o.length;x++){let y=A.cartesianToLatlng(o[x]);m.push(y)}let C=Ml.algorithm.tailedAttackArrow(m),E=JSON.stringify(C.polygonalPoint).indexOf("null"),I=[];return E===-1&&(I=C.polygonalPoint),new In(I)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function vJ(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var Qbe=Ktt;var Wtt=function(o){this.type="AttackArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new pr(this.viewer.scene.canvas),this.fillMaterial=qe.RED.withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};Wtt.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=_J(A.position,o.viewer);if(!f)return;o.positions.length===0&&(o.floatPoint=o.creatPoint(f),o.floatPoint.wz=-1),o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f=_J(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},_i.MOUSE_MOVE),this.handler.setInputAction(function(A){let f=_J(A.position,o.viewer);if(!f)return;for(let C=0;C<o.pointArr.length;C++)o.pointArr[C].show=!1;o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null;let m=o.creatPoint(f);m.show=!1,m.wz=o.positions.length,o.pointArr.push(m),o.handler.destroy()},_i.RIGHT_CLICK)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m=_J(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f=_J(A.endPosition,o.viewer);if(!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},_i.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let x=0;x<o.length;x++){let y=A.cartesianToLatlng(o[x]);m.push(y)}let C=Ml.algorithm.tailedAttackArrow(m),E=JSON.stringify(C.polygonalPoint).indexOf("null"),I=[];return E===-1&&(I=C.polygonalPoint),new In(I)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function _J(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var qtt=Wtt;var jtt=function(o){this.type="PincerArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.YELLOW.withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null};jtt.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=Gre(A.position,o.viewer),!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=4){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=Gre(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},_i.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=Gre(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=Gre(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},_i.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){return this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM}})},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let x=0;x<o.length;x++){let y=A.cartesianToLatlng(o[x]);m.push(y)}let C=Ml.algorithm.threeArrow(m),E=[];return JSON.stringify(C.polygonalPoint).indexOf("null")===-1&&(E=C.polygonalPoint),new In(E)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function Gre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var Sbe=jtt;var Xtt=function(o){this.type="PincerArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.YELLOW.withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};Xtt.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=Hre(A.position,o.viewer),!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=4){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=Hre(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},_i.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=Hre(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=Hre(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},_i.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){return this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM}})},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let x=0;x<o.length;x++){let y=A.cartesianToLatlng(o[x]);m.push(y)}let C=Ml.algorithm.threeArrow(m),E=[];return JSON.stringify(C.polygonalPoint).indexOf("null")===-1&&(E=C.polygonalPoint),new In(E)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function Hre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var Ztt=Xtt;var $tt=function(o){this.type="Arrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0};$tt.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=Vre(A.position,o.viewer);!f||(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f=Vre(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},_i.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m=Vre(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f=Vre(A.endPosition,o.viewer);if(!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}},_i.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),I=A.cartesianToLatlng(C),x=[],y=Ml.algorithm.Arrow([E[0],E[1]],[I[0],I[1]]);if(JSON.stringify(y).indexOf("null")!==-1)return[];for(let w=0;w<y.length;w++){let Q=new Z(y[w].x,y[w].y,y[w].z);x.push(Q)}return new In(x)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function Vre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var eit=$tt;var tit=function(o){this.type="Arrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};tit.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=zre(A.position,o.viewer);!f||(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f=zre(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},_i.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m=zre(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f=zre(A.endPosition,o.viewer);if(!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}},_i.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),I=A.cartesianToLatlng(C),x=[],y=Ml.algorithm.Arrow([E[0],E[1]],[I[0],I[1]]);if(JSON.stringify(y).indexOf("null")!==-1)return[];for(let w=0;w<y.length;w++){let Q=new Z(y[w].x,y[w].y,y[w].z);x.push(Q)}return new In(x)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function zre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var iit=tit;var rit=function(o){this.type="surface",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new pr(this.viewer.scene.canvas),this.fillMaterial=qe.RED.withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null};rit.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=BJ(A.position,o.viewer),!f)return;o.positions.length===0&&(o.floatPoint=o.creatPoint(f),o.floatPoint.wz=-1),o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=BJ(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},_i.MOUSE_MOVE),this.handler.setInputAction(function(A){let f;if(f=BJ(A.position,o.viewer),!f)return;for(let C=0;C<o.pointArr.length;C++)o.pointArr[C].show=!1;o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null;let m=o.creatPoint(f);m.show=!1,m.wz=o.positions.length,o.pointArr.push(m),o.handler.destroy()},_i.RIGHT_CLICK)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=BJ(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=BJ(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},_i.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let x=0;x<o.length;x++){let y=A.cartesianToLatlng(o[x]);m.push(y)}let C=Ml.algorithm.Surface(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let I=[];for(let x=0;x<C.length;x++){let y=new Z(C[x].x,C[x].y,C[x].z);I.push(y)}return new In(I)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function BJ(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var nit=rit;var oit=function(o){this.type="surface",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new pr(this.viewer.scene.canvas),this.fillMaterial=qe.RED.withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};oit.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=wJ(A.position,o.viewer),!f)return;o.positions.length===0&&(o.floatPoint=o.creatPoint(f),o.floatPoint.wz=-1),o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=wJ(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},_i.MOUSE_MOVE),this.handler.setInputAction(function(A){let f;if(f=wJ(A.position,o.viewer),!f)return;for(let C=0;C<o.pointArr.length;C++)o.pointArr[C].show=!1;o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null;let m=o.creatPoint(f);m.show=!1,m.wz=o.positions.length,o.pointArr.push(m),o.handler.destroy()},_i.RIGHT_CLICK)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=wJ(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=wJ(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},_i.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let x=0;x<o.length;x++){let y=A.cartesianToLatlng(o[x]);m.push(y)}let C=Ml.algorithm.Surface(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let I=[];for(let x=0;x<C.length;x++){let y=new Z(C[x].x,C[x].y,C[x].z);I.push(y)}return new In(I)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function wJ(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var ait=oit;var sit=function(o){this.type="assmbly",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new pr(this.viewer.scene.canvas),this.fillMaterial=qe.RED.withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null};sit.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=Yre(A.position,o.viewer);if(!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=3){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f=Yre(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},_i.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m=Yre(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f=Yre(A.endPosition,o.viewer);if(!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},_i.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let x=0;x<o.length;x++){let y=A.cartesianToLatlng(o[x]);m.push(y)}let C=Ml.algorithm.Assmbly(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let I=[];for(let x=0;x<C.length;x++){let y=new Z(C[x].x,C[x].y,C[x].z);I.push(y)}return new In(I)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function Yre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var lit=sit;var Ait=function(o){this.type="assmbly",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new pr(this.viewer.scene.canvas),this.fillMaterial=qe.RED.withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};Ait.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=Jre(A.position,o.viewer);if(!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=3){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f=Jre(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},_i.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m=Jre(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f=Jre(A.endPosition,o.viewer);if(!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},_i.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let x=0;x<o.length;x++){let y=A.cartesianToLatlng(o[x]);m.push(y)}let C=Ml.algorithm.Assmbly(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let I=[];for(let x=0;x<C.length;x++){let y=new Z(C[x].x,C[x].y,C[x].z);I.push(y)}return new In(I)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function Jre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var uit=Ait;var cit=function(o){this.type="sector",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new pr(this.viewer.scene.canvas),this.fillMaterial=qe.RED.withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null};cit.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=Kre(A.position,o.viewer),!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=3){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=Kre(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},_i.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=Kre(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=Kre(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},_i.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let x=0;x<o.length;x++){let y=A.cartesianToLatlng(o[x]);m.push(y)}let C=Ml.algorithm.Sector(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let I=[];for(let x=0;x<C.length;x++){let y=new Z(C[x].x,C[x].y,C[x].z);I.push(y)}return new In(I)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function Kre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var hit=cit;var dit=function(o){this.type="sector",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new pr(this.viewer.scene.canvas),this.fillMaterial=qe.RED.withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};dit.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=Wre(A.position,o.viewer),!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=3){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=Wre(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},_i.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=Wre(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=Wre(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},_i.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let x=0;x<o.length;x++){let y=A.cartesianToLatlng(o[x]);m.push(y)}let C=Ml.algorithm.Sector(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let I=[];for(let x=0;x<C.length;x++){let y=new Z(C[x].x,C[x].y,C[x].z);I.push(y)}return new In(I)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function Wre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var git=dit;var fit=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0};fit.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=qre(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=qre(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},_i.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=qre(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=qre(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},_i.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),I=A.cartesianToLatlng(C),x=[],y=Ml.algorithm.Recflag([[E[0],E[1]],[I[0],I[1]]]);if(JSON.stringify(y).indexOf("null")!==-1)return[];for(let w=0;w<y.length;w++){let Q=new Z(y[w].x,y[w].y,y[w].z);x.push(Q)}return new In(x)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function qre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var pit=fit;var mit=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.extrudedHeight=100};mit.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=jre(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=jre(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},_i.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=jre(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=jre(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},_i.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),I=A.cartesianToLatlng(C),x=[],y=Ml.algorithm.Recflag([[E[0],E[1]],[I[0],I[1]]]);if(JSON.stringify(y).indexOf("null")!==-1)return[];for(let w=0;w<y.length;w++){let Q=new Z(y[w].x,y[w].y,y[w].z);x.push(Q)}return new In(x)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function jre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var Cit=mit;var Eit=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0};Eit.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=Xre(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=Xre(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},_i.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=Xre(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=Xre(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},_i.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),I=A.cartesianToLatlng(C),x=[],y=Ml.algorithm.Pennant([[E[0],E[1]],[I[0],I[1]]]);if(JSON.stringify(y).indexOf("null")!==-1)return[];for(let w=0;w<y.length;w++){let Q=new Z(y[w].x,y[w].y,y[w].z);x.push(Q)}return new In(x)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function Xre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var Iit=Eit;var xit=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.extrudedHeight=100};xit.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=Zre(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=Zre(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},_i.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=Zre(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=Zre(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},_i.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),I=A.cartesianToLatlng(C),x=[],y=Ml.algorithm.Pennant([[E[0],E[1]],[I[0],I[1]]]);if(JSON.stringify(y).indexOf("null")!==-1)return[];for(let w=0;w<y.length;w++){let Q=new Z(y[w].x,y[w].y,y[w].z);x.push(Q)}return new In(x)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function Zre(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var yit=xit;var vit=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0};vit.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=$re(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=$re(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},_i.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=$re(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=$re(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},_i.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),I=A.cartesianToLatlng(C),x=[],y=Ml.algorithm.Mflag([[E[0],E[1]],[I[0],I[1]]]);if(JSON.stringify(y).indexOf("null")!==-1)return[];for(let w=0;w<y.length;w++){let Q=new Z(y[w].x,y[w].y,y[w].z);x.push(Q)}return new In(x)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function $re(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var _it=vit;var Bit=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new pr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=qe.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Gs({dashLength:16,color:qe.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.extrudedHeight=100};Bit.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new pr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=ene(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},_i.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=ene(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(k(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},_i.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new pr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=ene(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},_i.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=ene(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},_i.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:on.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),I=A.cartesianToLatlng(C),x=[],y=Ml.algorithm.Mflag([[E[0],E[1]],[I[0],I[1]]]);if(JSON.stringify(y).indexOf("null")!==-1)return[];for(let w=0;w<y.length;w++){let Q=new Z(y[w].x,y[w].y,y[w].z);x.push(Q)}return new In(x)};return this.earthCtrl.entities.add({polygon:new Bs({hierarchy:new Kr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=De.toDegrees(A.latitude);return[De.toDegrees(A.longitude),f]}};function ene(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ga)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var wit=Bit;function bb(o){this._earthCtrl=o,this._coreMap=o.coreMap,this.isActivate=!1,this.drawArr=[],this.handler=null,this.viewer=null,this.earthCtrl=null,this.options=null}bb.prototype.initialize=function(o){this.isActivate||(this.isActivate=!0,this.earthCtrl=o,this.viewer=o.coreMap,this.bindEdit())};bb.prototype.disable=function(){if(this.isActivate){this.isActivate=!1;for(let o=0;o<this.drawArr.length;o++)this.drawArr[o].disable();this.drawArr=[],this.handler&&(this.handler.destroy(),this.handler=null),this.viewer=null}};bb.prototype.addToMap=function(o,A){switch(o){case"straightArrow":let f=new bbe(this.earthCtrl,A);f.startDraw(),this.drawArr.push(f);break;case"straightArrow3D":let m=new Jtt(this.earthCtrl);m.startDraw(),this.drawArr.push(m);break;case"arrow3D":let C=new iit(this.earthCtrl);C.startDraw(),this.drawArr.push(C);break;case"arrow":let E=new eit(this.earthCtrl);E.startDraw(),this.drawArr.push(E);break;case"recFlag":let I=new pit(this.earthCtrl);I.startDraw(),this.drawArr.push(I);break;case"recFlag3D":let x=new Cit(this.earthCtrl);x.startDraw(),this.drawArr.push(x);break;case"mFlag":let y=new _it(this.earthCtrl);y.startDraw(),this.drawArr.push(y);break;case"mFlag3D":let v=new wit(this.earthCtrl);v.startDraw(),this.drawArr.push(v);break;case"pennant":let w=new Iit(this.earthCtrl);w.startDraw(),this.drawArr.push(w);break;case"pennant3D":let Q=new yit(this.earthCtrl);Q.startDraw(),this.drawArr.push(Q);break;case"sector":let M=new hit(this.earthCtrl);M.startDraw(),this.drawArr.push(M);break;case"sector3D":let B=new git(this.earthCtrl);B.startDraw(),this.drawArr.push(B);break;case"assmbly":let D=new lit(this.earthCtrl);D.startDraw(),this.drawArr.push(D);break;case"assmbly3D":let S=new uit(this.earthCtrl);S.startDraw(),this.drawArr.push(S);break;case"surface":let P=new nit(this.earthCtrl);P.startDraw(),this.drawArr.push(P);break;case"surface3D":let R=new ait(this.earthCtrl);R.startDraw(),this.drawArr.push(R);break;case"attackArrow":let T=new Qbe(this.earthCtrl);T.startDraw(),this.drawArr.push(T);break;case"attackArrow3D":let L=new qtt(this.earthCtrl);L.startDraw(),this.drawArr.push(L);break;case"pincerArrow":let F=new Sbe(this.earthCtrl);F.startDraw(),this.drawArr.push(F);break;case"pincerArrow3D":let U=new Ztt(this.earthCtrl);U.startDraw(),this.drawArr.push(U);break;default:break}};bb.prototype.saveData=function(){let o={straightArrowData:[],attackArrowData:[],pincerArrowData:[]};for(let A=0;A<this.drawArr.length;A++){let f=this.drawArr[A],m=f.getLnglats();f.type==="StraightArrow"?o.straightArrowData.push(m):f.type==="AttackArrow"?o.attackArrowData.push(m):o.pincerArrowData.push(m)}console.log(`\u4FDD\u5B58\u7684\u6570\u636E\uFF1A${JSON.stringify(o)}`)};bb.prototype.showData=function(o){if(!o)return;let A=o.straightArrowData,f=o.attackArrowData,m=o.pincerArrowData;for(let C=0;C<A.length;C++){let E=A[C],I=new bbe(this.viewer);I.createByData(E),this.drawArr.push(I)}for(let C=0;C<f.length;C++){let E=f[C],I=new Qbe(this.viewer);I.createByData(E),this.drawArr.push(I)}for(let C=0;C<m.length;C++){let E=m[C],I=new Sbe(this.viewer);I.createByData(E),this.drawArr.push(I)}};bb.prototype.nowArrowObj=null;bb.prototype.bindEdit=function(){let o=this;this.handler=new pr(this.viewer.scene.canvas),this.handler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id){if(o.nowArrowObj&&o.nowArrowObj.state!==-1){console.log("\u4E0A\u4E00\u6B65\u64CD\u4F5C\u672A\u7ED3\u675F\uFF0C\u8BF7\u7EE7\u7EED\u5B8C\u6210\u4E0A\u4E00\u6B65\uFF01");return}for(let m=0;m<o.drawArr.length;m++)if(f.id.objId===o.drawArr[m].objId){o.nowArrowObj=o.drawArr[m],o.drawArr[m].startModify();break}}},_i.LEFT_CLICK)};bb.prototype.clearOne=function(){let o=this;this.handler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(k(f)&&f.id){for(let m=0;m<o.drawArr.length;m++)if(f.id.objId===o.drawArr[m].objId){o.drawArr[m].clear(),o.drawArr.splice(m,1);break}o.handler.destroy(),o.bindEdit()}},_i.LEFT_CLICK)};bb.prototype.clearAll=function(){for(let o=0;o<this.drawArr.length;o++)this.drawArr[o].clear()};var Dbe=bb;function kP(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A)}kP.prototype.VectorColorTransformation=function(o,A){var f=o;if(f&&f.toString().charAt(0)=="["&&f.toString().charAt(f.length-1)=="]"){var m=styleOption.fillColor.replace(/\[/,"").replace(/\]/,"");f=A.properties[m]}return this._core.isnull(f)||(this._core.isHtmlColor(f)?f=this.colorFromHtmlColor(f):(/^rgb/.test(f)&&(f=this.rgbaStringToRgbaObj(f)),f.r!=null?(f.r>1&&(f.r=f.r/255),f.g>1&&(f.g=f.g/255),f.b>1&&(f.b=f.b/255),f.a>1&&(f.a=f.a/255),f=this.createColor(f.r,f.g,f.b,f.a)):f.red!=null&&(f.red>1&&(f.red=f.red/255),f.green>1&&(f.green=f.green/255),f.blue>1&&(f.blue=f.blue/255),f.alpha>1&&(f.alpha=f.alpha/255),f=this.createColor(f.red,f.green,f.blue,f.alpha)))),f};kP.prototype.createColorTransformation=function(o){var A=o;return this._core.isnull(A)||A.toString().charAt(0)=="["&&A.toString().charAt(A.length-1)=="]"||(this._core.isHtmlColor(A)?A=this.colorFromHtmlColor(A):(/^rgb/.test(A)&&(A=this.rgbaStringToRgbaObj(A)),A.r>1&&(A.r=A.r/255),A.g>1&&(A.g=A.g/255),A.b>1&&(A.b=A.b/255),A.a>1&&(A.a=A.a/255),A=this.createColor(A.r,A.g,A.b,A.a))),A};kP.prototype.createColor=function(o,A,f,m){var C=new this._cesium.Color(o,A,f,m);return C};kP.prototype.colorFromHtmlColor=function(o){if(typeof o=="object")return o.color?o.color:void 0;var A=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/;if(o=o.toLowerCase(),!A.test(o)){console.log("\u4E0D\u662F\u6709\u6548\u7684html\u989C\u8272",o);return}if(o.length==4){for(var f="#",m=1;m<4;m+=1)f+=o.slice(m,m+1).concat(o.slice(m,m+1));o=f}for(var C=[],m=1;m<7;m+=2)C.push(parseInt("0x"+o.slice(m,m+2)));if(o.length==9){var E=parseInt(o.substr(7,2))/100;return this.createColor(C[0]/255,C[1]/255,C[2]/255,E)}return this.createColor(C[0]/255,C[1]/255,C[2]/255,1)};kP.prototype.toHtmlColor=function(o){var A=o.split(","),f=parseInt(A[0].split("(")[1]),m=parseInt(A[1]),C=parseInt(A[2].split(")")[0]),E="#"+((1<<24)+(f<<16)+(m<<8)+C).toString(16).slice(1);return E};kP.prototype.rgbaStringToRgbaObj=function(o){if(/^rgb/.test(o)){o=o.replace(/rgba\(/g,""),o=o.replace(/rgb\(/g,""),o=o.replace(/\)/g,"");var A=o.split(",");o={},A.length==3?(o.r=parseFloat(A[0]),o.g=parseFloat(A[1]),o.b=parseFloat(A[2]),o.a=1):A.length==4&&(o.r=parseFloat(A[0]),o.g=parseFloat(A[1]),o.b=parseFloat(A[2]),o.a=parseFloat(A[3]))}return o};kP.prototype.CreateColor=function(o,A,f,m){var C=new this._cesium.Color(o,A,f,m);return C};var hn=kP;function UP(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A)}UP.prototype.createElevationContour=function(y,A,f){var m=this,C={};m.item=C;var E=this._core.defaultValue(f.min,-414),I=m._core.defaultValue(f.max,8844),x=(I-E)*.05;m.item.selectedShading=A;var y=y,v=m._viewer.scene.globe,w;return y?(A==="elevation"?(w=new m._cesium.Material({fabric:{type:"ElevationColorContour",materials:{contourMaterial:{type:"ElevationContour"},elevationRampMaterial:{type:"ElevationRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? elevationRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, elevationRampMaterial.alpha)"}},translucent:!1}),m.item.shadingUniforms=w.materials.elevationRampMaterial.uniforms,m.item.shadingUniforms.minimumHeight=E,m.item.shadingUniforms.maximumHeight=I,m.item.contourUniforms=w.materials.contourMaterial.uniforms):A==="slope"?(w=new m._cesium.Material({fabric:{type:"SlopeColorContour",materials:{contourMaterial:{type:"ElevationContour"},slopeRampMaterial:{type:"SlopeRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? slopeRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, slopeRampMaterial.alpha)"}},translucent:!1}),m.item.shadingUniforms=w.materials.slopeRampMaterial.uniforms,m.item.contourUniforms=w.materials.contourMaterial.uniforms):A==="aspect"?(w=new m._cesium.Material({fabric:{type:"AspectColorContour",materials:{contourMaterial:{type:"ElevationContour"},aspectRampMaterial:{type:"AspectRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? aspectRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, aspectRampMaterial.alpha)"}},translucent:!1}),m.item.shadingUniforms=w.materials.aspectRampMaterial.uniforms,m.item.contourUniforms=w.materials.contourMaterial.uniforms):(w=m._cesium.Material.fromType("ElevationContour"),m.item.contourUniforms=w.uniforms),m.item.contourUniforms.width=m._core.defaultValue(f.width,2),m.item.contourUniforms.spacing=m._core.defaultValue(f.spacing,150),m.item.contourUniforms.color=m._cesium.Color.fromCssColorString(m._core.defaultValue(f.lineColor,"#ff0000"))):A==="elevation"?(w=m._cesium.Material.fromType("ElevationRamp"),m.item.shadingUniforms=w.uniforms,m.item.shadingUniforms.minimumHeight=E,m.item.shadingUniforms.maximumHeight=I):A==="slope"?(w=m._cesium.Material.fromType("SlopeRamp"),m.item.shadingUniforms=w.uniforms):A==="aspect"&&(w=m._cesium.Material.fromType("AspectRamp"),m.item.shadingUniforms=w.uniforms),A!=="none"&&(f?m.item.shadingUniforms.image=m._core.getColorRamp(A,f.colorArr,f.min,f.max):m.item.shadingUniforms.image=m._core.getColorRamp(A)),v.material=void 0,m._viewer.render(),v.material=w,m.item.material=v.material,this};UP.prototype.executeMaterial=function(o){var A=this,f={};A.item=f;var m=-414,C=8777;A.item.selectedShading=o,A.item.shadingUniforms={};var E=this._viewer.scene.globe,I;return A.item.selectedShading==="elevation"?(I=this._cesium.Material.fromType("ElevationRamp"),A.item.shadingUniforms=I.uniforms,A.item.shadingUniforms.minHeight=m,A.item.shadingUniforms.maxHeight=C):A.item.selectedShading==="slope"?(I=this._cesium.Material.fromType("SlopeRamp"),A.item.shadingUniforms=I.uniforms):A.item.selectedShading==="aspect"&&(I=this._cesium.Material.fromType("AspectRamp"),A.item.shadingUniforms=I.uniforms),A.item.selectedShading!=="none"&&(A.item.shadingUniforms.image=this._core.getColorRamp(A.item.selectedShading)),E.material=I,A.item.material=E.material,this};UP.prototype.setSpacing=function(o){try{this.item.contourUniforms.spacing=parseFloat(o)}catch(A){console.log(A)}return this};UP.prototype.setMaterialColor=function(o){try{this.item.contourUniforms.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};UP.prototype.setWidth=function(o){try{this.item.contourUniforms.width=parseFloat(o)}catch(A){console.log(A)}return this};UP.prototype.executeContourMaterial=function(o){var A=this,f={};A.item=f;var m=-414,C=8777;A.item.selectedShading=o;var E=A._viewer.scene.globe,I;return A.item.selectedShading==="elevation"?(I=new this._cesium.Material({fabric:{type:"ElevationColorContour",materials:{contourMaterial:{type:"ElevationContour"},elevationRampMaterial:{type:"ElevationRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? elevationRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, elevationRampMaterial.alpha)"}},translucent:!1}),A.item.shadingUniforms=I.materials.elevationRampMaterial.uniforms,A.item.shadingUniforms.minHeight=m,A.item.shadingUniforms.maxHeight=C,A.item.contourUniforms=I.materials.contourMaterial.uniforms):A.item.selectedShading==="slope"?(I=getSlopeContourMaterial(),A.item.shadingUniforms=I.materials.slopeRampMaterial.uniforms,A.item.contourUniforms=I.materials.contourMaterial.uniforms):A.item.selectedShading==="aspect"?(I=getAspectContourMaterial(),A.item.shadingUniforms=I.materials.aspectRampMaterial.uniforms,A.item.contourUniforms=I.materials.contourMaterial.uniforms):(I=this._cesium.Material.fromType("ElevationContour"),A.item.contourUniforms=I.uniforms),A.item.selectedShading!=="none"&&(A.item.shadingUniforms.image=this._core.getColorRamp(A.item.selectedShading)),A.item.contourUniforms.width=2,A.item.contourUniforms.spacing=150,A.item.contourUniforms.color=this._cesium.Color.fromRandom({alpha:1},this._cesium.Color.RED.clone()),E.material=I,A.item.material=E.material,this};Object.defineProperties(UP.prototype,{elevation:{get:function(){return this.item},set:function(o){this.item=o}}});var tne=UP;var Pi,WBi="4.17.21",Mbe=200,qBi="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",Lv="Expected a function",jBi="Invalid `variable` option passed into `_.template`",Tbe="__lodash_hash_undefined__",XBi=500,Ane="__lodash_placeholder__",OP=1,bit=2,D6=4,M6=1,ine=2,Nv=1,m3=2,Qit=4,Qb=8,P6=16,Sb=32,R6=64,ND=128,QJ=256,Obe=512,ZBi=30,$Bi="...",ewi=800,twi=16,Sit=1,iwi=2,rwi=3,p3=1/0,GP=9007199254740991,nwi=17976931348623157e292,ane=0/0,Db=4294967295,owi=Db-1,awi=Db>>>1,swi=[["ary",ND],["bind",Nv],["bindKey",m3],["curry",Qb],["curryRight",P6],["flip",Obe],["partial",Sb],["partialRight",R6],["rearg",QJ]],F6="[object Arguments]",une="[object Array]",lwi="[object AsyncFunction]",SJ="[object Boolean]",DJ="[object Date]",Awi="[object DOMException]",cne="[object Error]",hne="[object Function]",Dit="[object GeneratorFunction]",GB="[object Map]",MJ="[object Number]",uwi="[object Null]",kD="[object Object]",Mit="[object Promise]",cwi="[object Proxy]",TJ="[object RegExp]",HB="[object Set]",PJ="[object String]",sne="[object Symbol]",hwi="[object Undefined]",RJ="[object WeakMap]",dwi="[object WeakSet]",LJ="[object ArrayBuffer]",N6="[object DataView]",Kbe="[object Float32Array]",Wbe="[object Float64Array]",qbe="[object Int8Array]",jbe="[object Int16Array]",Xbe="[object Int32Array]",Zbe="[object Uint8Array]",$be="[object Uint8ClampedArray]",eQe="[object Uint16Array]",tQe="[object Uint32Array]",gwi=/\b__p \+= '';/g,fwi=/\b(__p \+=) '' \+/g,pwi=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Zit=/&(?:amp|lt|gt|quot|#39);/g,$it=/[&<>"']/g,mwi=RegExp(Zit.source),Cwi=RegExp($it.source),Ewi=/<%-([\s\S]+?)%>/g,Iwi=/<%([\s\S]+?)%>/g,Tit=/<%=([\s\S]+?)%>/g,xwi=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ywi=/^\w*$/,vwi=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Gbe=/[\\^$.*+?()[\]{}|]/g,_wi=RegExp(Gbe.source),Hbe=/^\s+/,Bwi=/\s/,wwi=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,bwi=/\{\n\/\* \[wrapped with (.+)\] \*/,Qwi=/,? & /,Swi=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Dwi=/[()=,{}\[\]\/\s]/,Mwi=/\\(\\)?/g,Twi=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Pit=/\w*$/,Pwi=/^[-+]0x[0-9a-f]+$/i,Rwi=/^0b[01]+$/i,Lwi=/^\[object .+?Constructor\]$/,Fwi=/^0o[0-7]+$/i,Nwi=/^(?:0|[1-9]\d*)$/,kwi=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,rne=/($^)/,Uwi=/['\n\r\u2028\u2029\\]/g,gne="\\ud800-\\udfff",Owi="\\u0300-\\u036f",Gwi="\\ufe20-\\ufe2f",Hwi="\\u20d0-\\u20ff",ert=Owi+Gwi+Hwi,trt="\\u2700-\\u27bf",irt="a-z\\xdf-\\xf6\\xf8-\\xff",Vwi="\\xac\\xb1\\xd7\\xf7",zwi="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ywi="\\u2000-\\u206f",Jwi=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",rrt="A-Z\\xc0-\\xd6\\xd8-\\xde",nrt="\\ufe0e\\ufe0f",ort=Vwi+zwi+Ywi+Jwi,iQe="['\u2019]",Kwi="["+gne+"]",Rit="["+ort+"]",dne="["+ert+"]",art="\\d+",Wwi="["+trt+"]",srt="["+irt+"]",lrt="[^"+gne+ort+art+trt+irt+rrt+"]",Vbe="\\ud83c[\\udffb-\\udfff]",qwi="(?:"+dne+"|"+Vbe+")",Art="[^"+gne+"]",rQe="(?:\\ud83c[\\udde6-\\uddff]){2}",nQe="[\\ud800-\\udbff][\\udc00-\\udfff]",L6="["+rrt+"]",urt="\\u200d",Lit="(?:"+srt+"|"+lrt+")",jwi="(?:"+L6+"|"+lrt+")",Fit="(?:"+iQe+"(?:d|ll|m|re|s|t|ve))?",Nit="(?:"+iQe+"(?:D|LL|M|RE|S|T|VE))?",crt=qwi+"?",hrt="["+nrt+"]?",Xwi="(?:"+urt+"(?:"+[Art,rQe,nQe].join("|")+")"+hrt+crt+")*",Zwi="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",$wi="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",drt=hrt+crt+Xwi,e1i="(?:"+[Wwi,rQe,nQe].join("|")+")"+drt,t1i="(?:"+[Art+dne+"?",dne,rQe,nQe,Kwi].join("|")+")",i1i=RegExp(iQe,"g"),r1i=RegExp(dne,"g"),zbe=RegExp(Vbe+"(?="+Vbe+")|"+t1i+drt,"g"),n1i=RegExp([L6+"?"+srt+"+"+Fit+"(?="+[Rit,L6,"$"].join("|")+")",jwi+"+"+Nit+"(?="+[Rit,L6+Lit,"$"].join("|")+")",L6+"?"+Lit+"+"+Fit,L6+"+"+Nit,$wi,Zwi,art,e1i].join("|"),"g"),o1i=RegExp("["+urt+gne+ert+nrt+"]"),a1i=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,s1i=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],l1i=-1,vh={};vh[Kbe]=vh[Wbe]=vh[qbe]=vh[jbe]=vh[Xbe]=vh[Zbe]=vh[$be]=vh[eQe]=vh[tQe]=!0;vh[F6]=vh[une]=vh[LJ]=vh[SJ]=vh[N6]=vh[DJ]=vh[cne]=vh[hne]=vh[GB]=vh[MJ]=vh[kD]=vh[TJ]=vh[HB]=vh[PJ]=vh[RJ]=!1;var ih={};ih[F6]=ih[une]=ih[LJ]=ih[N6]=ih[SJ]=ih[DJ]=ih[Kbe]=ih[Wbe]=ih[qbe]=ih[jbe]=ih[Xbe]=ih[GB]=ih[MJ]=ih[kD]=ih[TJ]=ih[HB]=ih[PJ]=ih[sne]=ih[Zbe]=ih[$be]=ih[eQe]=ih[tQe]=!0;ih[cne]=ih[hne]=ih[RJ]=!1;var A1i={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},u1i={"&":"&","<":"<",">":">",'"':""","'":"'"},c1i={"&":"&","<":"<",">":">",""":'"',"'":"'"},h1i={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},d1i=parseFloat,g1i=parseInt,grt=typeof global=="object"&&global&&global.Object===Object&&global,f1i=typeof self=="object"&&self&&self.Object===Object&&self,Vm=grt||f1i||Function("return this")(),frt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,FJ=frt&&typeof module=="object"&&module&&!module.nodeType&&module,prt=FJ&&FJ.exports===frt,Pbe=prt&&grt.process,kv=function(){try{var o=FJ&&FJ.require&&FJ.require("util").types;return o||Pbe&&Pbe.binding&&Pbe.binding("util")}catch{}}(),kit=kv&&kv.isArrayBuffer,Uit=kv&&kv.isDate,Oit=kv&&kv.isMap,Git=kv&&kv.isRegExp,Hit=kv&&kv.isSet,Vit=kv&&kv.isTypedArray;function Xx(o,A,f){switch(f.length){case 0:return o.call(A);case 1:return o.call(A,f[0]);case 2:return o.call(A,f[0],f[1]);case 3:return o.call(A,f[0],f[1],f[2])}return o.apply(A,f)}function p1i(o,A,f,m){for(var C=-1,E=o==null?0:o.length;++C<E;){var I=o[C];A(m,I,f(I),o)}return m}function Fv(o,A){for(var f=-1,m=o==null?0:o.length;++f<m&&A(o[f],f,o)!==!1;);return o}function m1i(o,A){for(var f=o==null?0:o.length;f--&&A(o[f],f,o)!==!1;);return o}function zit(o,A){for(var f=-1,m=o==null?0:o.length;++f<m;)if(!A(o[f],f,o))return!1;return!0}function HP(o,A){for(var f=-1,m=o==null?0:o.length,C=0,E=[];++f<m;){var I=o[f];A(I,f,o)&&(E[C++]=I)}return E}function nne(o,A){var f=o==null?0:o.length;return!!f&&U6(o,A,0)>-1}function Rbe(o,A,f){for(var m=-1,C=o==null?0:o.length;++m<C;)if(f(A,o[m]))return!0;return!1}function Wh(o,A){for(var f=-1,m=o==null?0:o.length,C=Array(m);++f<m;)C[f]=A(o[f],f,o);return C}function VP(o,A){for(var f=-1,m=A.length,C=o.length;++f<m;)o[C+f]=A[f];return o}function Lbe(o,A,f,m){var C=-1,E=o==null?0:o.length;for(m&&E&&(f=o[++C]);++C<E;)f=A(f,o[C],C,o);return f}function C1i(o,A,f,m){var C=o==null?0:o.length;for(m&&C&&(f=o[--C]);C--;)f=A(f,o[C],C,o);return f}function Fbe(o,A){for(var f=-1,m=o==null?0:o.length;++f<m;)if(A(o[f],f,o))return!0;return!1}var E1i=Ybe("length");function I1i(o){return o.split("")}function x1i(o){return o.match(Swi)||[]}function Yit(o,A,f){var m;return f(o,function(C,E,I){if(A(C,E,I))return m=E,!1}),m}function lne(o,A,f,m){for(var C=o.length,E=f+(m?1:-1);m?E--:++E<C;)if(A(o[E],E,o))return E;return-1}function U6(o,A,f){return A===A?P1i(o,A,f):lne(o,mrt,f)}function y1i(o,A,f,m){for(var C=f-1,E=o.length;++C<E;)if(m(o[C],A))return C;return-1}function mrt(o){return o!==o}function Jit(o,A){var f=o==null?0:o.length;return f?Jbe(o,A)/f:ane}function Ybe(o){return function(A){return A==null?Pi:A[o]}}function oQe(o){return function(A){return o==null?Pi:o[A]}}function Kit(o,A,f,m,C){return C(o,function(E,I,x){f=m?(m=!1,E):A(f,E,I,x)}),f}function v1i(o,A){var f=o.length;for(o.sort(A);f--;)o[f]=o[f].value;return o}function Jbe(o,A){for(var f,m=-1,C=o.length;++m<C;){var E=A(o[m]);E!==Pi&&(f=f===Pi?E:f+E)}return f}function Nbe(o,A){for(var f=-1,m=Array(o);++f<o;)m[f]=A(f);return m}function _1i(o,A){return Wh(A,function(f){return[f,o[f]]})}function Wit(o){return o&&o.slice(0,Crt(o)+1).replace(Hbe,"")}function Zx(o){return function(A){return o(A)}}function kbe(o,A){return Wh(A,function(f){return o[f]})}function bJ(o,A){return o.has(A)}function qit(o,A){for(var f=-1,m=o.length;++f<m&&U6(A,o[f],0)>-1;);return f}function jit(o,A){for(var f=o.length;f--&&U6(A,o[f],0)>-1;);return f}function B1i(o,A){for(var f=o.length,m=0;f--;)o[f]===A&&++m;return m}var w1i=oQe(A1i),b1i=oQe(u1i);function Q1i(o){return"\\"+h1i[o]}function S1i(o,A){return o==null?Pi:o[A]}function k6(o){return o1i.test(o)}function D1i(o){return a1i.test(o)}function M1i(o){for(var A,f=[];!(A=o.next()).done;)f.push(A.value);return f}function Ube(o){var A=-1,f=Array(o.size);return o.forEach(function(m,C){f[++A]=[C,m]}),f}function Xit(o,A){return function(f){return o(A(f))}}function zP(o,A){for(var f=-1,m=o.length,C=0,E=[];++f<m;){var I=o[f];(I===A||I===Ane)&&(o[f]=Ane,E[C++]=f)}return E}function one(o){var A=-1,f=Array(o.size);return o.forEach(function(m){f[++A]=m}),f}function T1i(o){var A=-1,f=Array(o.size);return o.forEach(function(m){f[++A]=[m,m]}),f}function P1i(o,A,f){for(var m=f-1,C=o.length;++m<C;)if(o[m]===A)return m;return-1}function R1i(o,A,f){for(var m=f+1;m--;)if(o[m]===A)return m;return m}function T6(o){return k6(o)?F1i(o):E1i(o)}function OB(o){return k6(o)?N1i(o):I1i(o)}function Crt(o){for(var A=o.length;A--&&Bwi.test(o.charAt(A)););return A}var L1i=oQe(c1i);function F1i(o){for(var A=zbe.lastIndex=0;zbe.test(o);)++A;return A}function N1i(o){return o.match(zbe)||[]}function k1i(o){return o.match(n1i)||[]}var U1i=function o(A){A=A==null?Vm:_.defaults(Vm.Object(),A,_.pick(Vm,s1i));var f=A.Array,m=A.Date,C=A.Error,E=A.Function,I=A.Math,x=A.Object,y=A.RegExp,v=A.String,w=A.TypeError,Q=f.prototype,M=E.prototype,B=x.prototype,D=A["__core-js_shared__"],S=M.toString,P=B.hasOwnProperty,R=0,T=function(){var xe=/[^.]+$/.exec(D&&D.keys&&D.keys.IE_PROTO||"");return xe?"Symbol(src)_1."+xe:""}(),L=B.toString,F=S.call(x),U=Vm._,N=y("^"+S.call(P).replace(Gbe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),H=prt?A.Buffer:Pi,J=A.Symbol,K=A.Uint8Array,X=H?H.allocUnsafe:Pi,j=Xit(x.getPrototypeOf,x),ee=x.create,ie=B.propertyIsEnumerable,z=Q.splice,oe=J?J.isConcatSpreadable:Pi,le=J?J.iterator:Pi,Ae=J?J.toStringTag:Pi,he=function(){try{var xe=Pp(x,"defineProperty");return xe({},"",{}),xe}catch{}}(),ge=A.clearTimeout!==Vm.clearTimeout&&A.clearTimeout,de=m&&m.now!==Vm.Date.now&&m.now,fe=A.setTimeout!==Vm.setTimeout&&A.setTimeout,G=I.ceil,Y=I.floor,W=x.getOwnPropertySymbols,O=H?H.isBuffer:Pi,re=A.isFinite,se=Q.join,ce=Xit(x.keys,x),me=I.max,Ce=I.min,ye=m.now,Be=A.parseInt,Me=I.random,He=Q.reverse,ke=Pp(A,"DataView"),Ne=Pp(A,"Map"),Pe=Pp(A,"Promise"),we=Pp(A,"Set"),Fe=Pp(A,"WeakMap"),Ue=Pp(x,"create"),ze=Fe&&new Fe,Je={},je=Dg(ke),Ze=Dg(Ne),rt=Dg(Pe),At=Dg(we),yt=Dg(Fe),at=J?J.prototype:Pi,ft=at?at.valueOf:Pi,_t=at?at.toString:Pi;function et(xe){if(Bl(xe)&&!Ya(xe)&&!(xe instanceof Pt)){if(xe instanceof It)return xe;if(P.call(xe,"__wrapped__"))return r_(xe)}return new It(xe)}var pt=function(){function xe(){}return function(Qe){if(!FA(Qe))return{};if(ee)return ee(Qe);xe.prototype=Qe;var We=new xe;return xe.prototype=Pi,We}}();function zt(){}function It(xe,Qe){this.__wrapped__=xe,this.__actions__=[],this.__chain__=!!Qe,this.__index__=0,this.__values__=Pi}et.templateSettings={escape:Ewi,evaluate:Iwi,interpolate:Tit,variable:"",imports:{_:et}},et.prototype=zt.prototype,et.prototype.constructor=et,It.prototype=pt(zt.prototype),It.prototype.constructor=It;function Pt(xe){this.__wrapped__=xe,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Db,this.__views__=[]}function St(){var xe=new Pt(this.__wrapped__);return xe.__actions__=Ma(this.__actions__),xe.__dir__=this.__dir__,xe.__filtered__=this.__filtered__,xe.__iteratees__=Ma(this.__iteratees__),xe.__takeCount__=this.__takeCount__,xe.__views__=Ma(this.__views__),xe}function dt(){if(this.__filtered__){var xe=new Pt(this);xe.__dir__=-1,xe.__filtered__=!0}else xe=this.clone(),xe.__dir__*=-1;return xe}function Le(){var xe=this.__wrapped__.value(),Qe=this.__dir__,We=Ya(xe),ct=Qe<0,Gt=We?xe.length:0,Xt=iR(0,Gt,this.__views__),wi=Xt.start,Ui=Xt.end,qi=Ui-wi,Ur=ct?Ui:wi-1,Wr=this.__iteratees__,an=Wr.length,Wn=0,Mo=Ce(qi,this.__takeCount__);if(!We||!ct&&Gt==qi&&Mo==qi)return ew(xe,this.__actions__);var Ta=[];e:for(;qi--&&Wn<Mo;){Ur+=Qe;for(var Is=-1,Hn=xe[Ur];++Is<an;){var Za=Wr[Is],El=Za.iteratee,Yf=Za.type,eA=El(Hn);if(Yf==iwi)Hn=eA;else if(!eA){if(Yf==Sit)continue e;break e}}Ta[Wn++]=Hn}return Ta}Pt.prototype=pt(zt.prototype),Pt.prototype.constructor=Pt;function _e(xe){var Qe=-1,We=xe==null?0:xe.length;for(this.clear();++Qe<We;){var ct=xe[Qe];this.set(ct[0],ct[1])}}function Oe(){this.__data__=Ue?Ue(null):{},this.size=0}function vt(xe){var Qe=this.has(xe)&&delete this.__data__[xe];return this.size-=Qe?1:0,Qe}function wt(xe){var Qe=this.__data__;if(Ue){var We=Qe[xe];return We===Tbe?Pi:We}return P.call(Qe,xe)?Qe[xe]:Pi}function Bt(xe){var Qe=this.__data__;return Ue?Qe[xe]!==Pi:P.call(Qe,xe)}function bi(xe,Qe){var We=this.__data__;return this.size+=this.has(xe)?0:1,We[xe]=Ue&&Qe===Pi?Tbe:Qe,this}_e.prototype.clear=Oe,_e.prototype.delete=vt,_e.prototype.get=wt,_e.prototype.has=Bt,_e.prototype.set=bi;function nr(xe){var Qe=-1,We=xe==null?0:xe.length;for(this.clear();++Qe<We;){var ct=xe[Qe];this.set(ct[0],ct[1])}}function Ai(){this.__data__=[],this.size=0}function xi(xe){var Qe=this.__data__,We=Bg(Qe,xe);if(We<0)return!1;var ct=Qe.length-1;return We==ct?Qe.pop():z.call(Qe,We,1),--this.size,!0}function Fi(xe){var Qe=this.__data__,We=Bg(Qe,xe);return We<0?Pi:Qe[We][1]}function pi(xe){return Bg(this.__data__,xe)>-1}function Vt(xe,Qe){var We=this.__data__,ct=Bg(We,xe);return ct<0?(++this.size,We.push([xe,Qe])):We[ct][1]=Qe,this}nr.prototype.clear=Ai,nr.prototype.delete=xi,nr.prototype.get=Fi,nr.prototype.has=pi,nr.prototype.set=Vt;function Kt(xe){var Qe=-1,We=xe==null?0:xe.length;for(this.clear();++Qe<We;){var ct=xe[Qe];this.set(ct[0],ct[1])}}function di(){this.size=0,this.__data__={hash:new _e,map:new(Ne||nr),string:new _e}}function ui(xe){var Qe=AE(this,xe).delete(xe);return this.size-=Qe?1:0,Qe}function Ht(xe){return AE(this,xe).get(xe)}function Ei(xe){return AE(this,xe).has(xe)}function gt(xe,Qe){var We=AE(this,xe),ct=We.size;return We.set(xe,Qe),this.size+=We.size==ct?0:1,this}Kt.prototype.clear=di,Kt.prototype.delete=ui,Kt.prototype.get=Ht,Kt.prototype.has=Ei,Kt.prototype.set=gt;function bt(xe){var Qe=-1,We=xe==null?0:xe.length;for(this.__data__=new Kt;++Qe<We;)this.add(xe[Qe])}function Ot(xe){return this.__data__.set(xe,Tbe),this}function Wt(xe){return this.__data__.has(xe)}bt.prototype.add=bt.prototype.push=Ot,bt.prototype.has=Wt;function Oi(xe){var Qe=this.__data__=new nr(xe);this.size=Qe.size}function Ci(){this.__data__=new nr,this.size=0}function so(xe){var Qe=this.__data__,We=Qe.delete(xe);return this.size=Qe.size,We}function Mn(xe){return this.__data__.get(xe)}function Gn(xe){return this.__data__.has(xe)}function Da(xe,Qe){var We=this.__data__;if(We instanceof nr){var ct=We.__data__;if(!Ne||ct.length<Mbe-1)return ct.push([xe,Qe]),this.size=++We.size,this;We=this.__data__=new Kt(ct)}return We.set(xe,Qe),this.size=We.size,this}Oi.prototype.clear=Ci,Oi.prototype.delete=so,Oi.prototype.get=Mn,Oi.prototype.has=Gn,Oi.prototype.set=Da;function _a(xe,Qe){var We=Ya(xe),ct=!We&&Np(xe),Gt=!We&&!ct&&id(xe),Xt=!We&&!ct&&!Gt&&rC(xe),wi=We||ct||Gt||Xt,Ui=wi?Nbe(xe.length,v):[],qi=Ui.length;for(var Ur in xe)(Qe||P.call(xe,Ur))&&!(wi&&(Ur=="length"||Gt&&(Ur=="offset"||Ur=="parent")||Xt&&(Ur=="buffer"||Ur=="byteLength"||Ur=="byteOffset")||$m(Ur,qi)))&&Ui.push(Ur);return Ui}function Ho(xe){var Qe=xe.length;return Qe?xe[wg(0,Qe-1)]:Pi}function Ol(xe,Qe){return ay(Ma(xe),Xd(Qe,0,xe.length))}function au(xe){return ay(Ma(xe))}function oh(xe,Qe,We){(We!==Pi&&!O0(xe[Qe],We)||We===Pi&&!(Qe in xe))&&Xu(xe,Qe,We)}function su(xe,Qe,We){var ct=xe[Qe];(!(P.call(xe,Qe)&&O0(ct,We))||We===Pi&&!(Qe in xe))&&Xu(xe,Qe,We)}function Bg(xe,Qe){for(var We=xe.length;We--;)if(O0(xe[We][0],Qe))return We;return-1}function Nf(xe,Qe,We,ct){return ki(xe,function(Gt,Xt,wi){Qe(ct,Gt,We(Gt),wi)}),ct}function T0(xe,Qe){return xe&&gs(Qe,Ph(Qe),xe)}function P0(xe,Qe){return xe&&gs(Qe,Tg(Qe),xe)}function Xu(xe,Qe,We){Qe=="__proto__"&&he?he(xe,Qe,{configurable:!0,enumerable:!0,value:We,writable:!0}):xe[Qe]=We}function Qp(xe,Qe){for(var We=-1,ct=Qe.length,Gt=f(ct),Xt=xe==null;++We<ct;)Gt[We]=Xt?Pi:c_(xe,Qe[We]);return Gt}function Xd(xe,Qe,We){return xe===xe&&(We!==Pi&&(xe=xe<=We?xe:We),Qe!==Pi&&(xe=xe>=Qe?xe:Qe)),xe}function qA(xe,Qe,We,ct,Gt,Xt){var wi,Ui=Qe&OP,qi=Qe&bit,Ur=Qe&D6;if(We&&(wi=Gt?We(xe,ct,Gt,Xt):We(xe)),wi!==Pi)return wi;if(!FA(xe))return xe;var Wr=Ya(xe);if(Wr){if(wi=nw(xe),!Ui)return Ma(xe,wi)}else{var an=Dh(xe),Wn=an==hne||an==Dit;if(id(xe))return zb(xe,Ui);if(an==kD||an==F6||Wn&&!Gt){if(wi=qi||Wn?{}:Zm(xe),!Ui)return qi?uA(xe,P0(wi,xe)):Sh(xe,T0(wi,xe))}else{if(!ih[an])return Gt?xe:{};wi=Kb(xe,an,Ui)}}Xt||(Xt=new Oi);var Mo=Xt.get(xe);if(Mo)return Mo;Xt.set(xe,wi),NA(xe)?xe.forEach(function(Hn){wi.add(qA(Hn,Qe,We,Hn,xe,Xt))}):iC(xe)&&xe.forEach(function(Hn,Za){wi.set(Za,qA(Hn,Qe,We,Za,xe,Xt))});var Ta=Ur?qi?Jb:Hl:qi?Tg:Ph,Is=Wr?Pi:Ta(xe);return Fv(Is||xe,function(Hn,Za){Is&&(Za=Hn,Hn=xe[Za]),su(wi,Za,qA(Hn,Qe,We,Za,xe,Xt))}),wi}function R0(xe){var Qe=Ph(xe);return function(We){return Sp(We,xe,Qe)}}function Sp(xe,Qe,We){var ct=We.length;if(xe==null)return!ct;for(xe=x(xe);ct--;){var Gt=We[ct],Xt=Qe[Gt],wi=xe[Gt];if(wi===Pi&&!(Gt in xe)||!Xt(wi))return!1}return!0}function Zd(xe,Qe,We){if(typeof xe!="function")throw new w(Lv);return t_(function(){xe.apply(Pi,We)},Qe)}function ci(xe,Qe,We,ct){var Gt=-1,Xt=nne,wi=!0,Ui=xe.length,qi=[],Ur=Qe.length;if(!Ui)return qi;We&&(Qe=Wh(Qe,Zx(We))),ct?(Xt=Rbe,wi=!1):Qe.length>=Mbe&&(Xt=bJ,wi=!1,Qe=new bt(Qe));e:for(;++Gt<Ui;){var Wr=xe[Gt],an=We==null?Wr:We(Wr);if(Wr=ct||Wr!==0?Wr:0,wi&&an===an){for(var Wn=Ur;Wn--;)if(Qe[Wn]===an)continue e;qi.push(Wr)}else Xt(Qe,an,ct)||qi.push(Wr)}return qi}var ki=iw(Eo),mr=iw(La,!0);function zr(xe,Qe){var We=!0;return ki(xe,function(ct,Gt,Xt){return We=!!Qe(ct,Gt,Xt),We}),We}function en(xe,Qe,We){for(var ct=-1,Gt=xe.length;++ct<Gt;){var Xt=xe[ct],wi=Qe(Xt);if(wi!=null&&(Ui===Pi?wi===wi&&!Gf(wi):We(wi,Ui)))var Ui=wi,qi=Xt}return qi}function Mr(xe,Qe,We,ct){var Gt=xe.length;for(We=Es(We),We<0&&(We=-We>Gt?0:Gt+We),ct=ct===Pi||ct>Gt?Gt:Es(ct),ct<0&&(ct+=Gt),ct=We>ct?0:bM(ct);We<ct;)xe[We++]=Qe;return xe}function pn(xe,Qe){var We=[];return ki(xe,function(ct,Gt,Xt){Qe(ct,Gt,Xt)&&We.push(ct)}),We}function Sn(xe,Qe,We,ct,Gt){var Xt=-1,wi=xe.length;for(We||(We=nM),Gt||(Gt=[]);++Xt<wi;){var Ui=xe[Xt];Qe>0&&We(Ui)?Qe>1?Sn(Ui,Qe-1,We,ct,Gt):VP(Gt,Ui):ct||(Gt[Gt.length]=Ui)}return Gt}var jr=MI(),to=MI(!0);function Eo(xe,Qe){return xe&&jr(xe,Qe,Ph)}function La(xe,Qe){return xe&&to(xe,Qe,Ph)}function Gl(xe,Qe){return HP(Qe,function(We){return tC(xe[We])})}function Uo(xe,Qe){Qe=k0(Qe,xe);for(var We=0,ct=Qe.length;xe!=null&&We<ct;)xe=xe[U0(Qe[We++])];return We&&We==ct?xe:Pi}function IA(xe,Qe,We){var ct=Qe(xe);return Ya(xe)?ct:VP(ct,We(xe))}function ss(xe){return xe==null?xe===Pi?hwi:uwi:Ae&&Ae in x(xe)?RA(xe):ow(xe)}function yd(xe,Qe){return xe>Qe}function Uu(xe,Qe){return xe!=null&&P.call(xe,Qe)}function rf(xe,Qe){return xe!=null&&Qe in x(xe)}function Qh(xe,Qe,We){return xe>=Ce(Qe,We)&&xe<me(Qe,We)}function Lc(xe,Qe,We){for(var ct=We?Rbe:nne,Gt=xe[0].length,Xt=xe.length,wi=Xt,Ui=f(Xt),qi=1/0,Ur=[];wi--;){var Wr=xe[wi];wi&&Qe&&(Wr=Wh(Wr,Zx(Qe))),qi=Ce(Wr.length,qi),Ui[wi]=!We&&(Qe||Gt>=120&&Wr.length>=120)?new bt(wi&&Wr):Pi}Wr=xe[0];var an=-1,Wn=Ui[0];e:for(;++an<Gt&&Ur.length<qi;){var Mo=Wr[an],Ta=Qe?Qe(Mo):Mo;if(Mo=We||Mo!==0?Mo:0,!(Wn?bJ(Wn,Ta):ct(Ur,Ta,We))){for(wi=Xt;--wi;){var Is=Ui[wi];if(!(Is?bJ(Is,Ta):ct(xe[wi],Ta,We)))continue e}Wn&&Wn.push(Ta),Ur.push(Mo)}}return Ur}function Jm(xe,Qe,We,ct){return Eo(xe,function(Gt,Xt,wi){Qe(ct,We(Gt),Xt,wi)}),ct}function Dp(xe,Qe,We){Qe=k0(Qe,xe),xe=aR(xe,Qe);var ct=xe==null?xe:xe[U0(ah(Qe))];return ct==null?Pi:Xx(ct,xe,We)}function Wv(xe){return Bl(xe)&&ss(xe)==F6}function ZC(xe){return Bl(xe)&&ss(xe)==LJ}function Km(xe){return Bl(xe)&&ss(xe)==DJ}function Ou(xe,Qe,We,ct,Gt){return xe===Qe?!0:xe==null||Qe==null||!Bl(xe)&&!Bl(Qe)?xe!==xe&&Qe!==Qe:ty(xe,Qe,We,ct,Ou,Gt)}function ty(xe,Qe,We,ct,Gt,Xt){var wi=Ya(xe),Ui=Ya(Qe),qi=wi?une:Dh(xe),Ur=Ui?une:Dh(Qe);qi=qi==F6?kD:qi,Ur=Ur==F6?kD:Ur;var Wr=qi==kD,an=Ur==kD,Wn=qi==Ur;if(Wn&&id(xe)){if(!id(Qe))return!1;wi=!0,Wr=!1}if(Wn&&!Wr)return Xt||(Xt=new Oi),wi||rC(xe)?$n(xe,Qe,We,ct,Gt,Xt):ls(xe,Qe,qi,We,ct,Gt,Xt);if(!(We&M6)){var Mo=Wr&&P.call(xe,"__wrapped__"),Ta=an&&P.call(Qe,"__wrapped__");if(Mo||Ta){var Is=Mo?xe.value():xe,Hn=Ta?Qe.value():Qe;return Xt||(Xt=new Oi),Gt(Is,Hn,We,ct,Xt)}}return Wn?(Xt||(Xt=new Oi),cA(xe,Qe,We,ct,Gt,Xt)):!1}function $C(xe){return Bl(xe)&&Dh(xe)==GB}function Wm(xe,Qe,We,ct){var Gt=We.length,Xt=Gt,wi=!ct;if(xe==null)return!Xt;for(xe=x(xe);Gt--;){var Ui=We[Gt];if(wi&&Ui[2]?Ui[1]!==xe[Ui[0]]:!(Ui[0]in xe))return!1}for(;++Gt<Xt;){Ui=We[Gt];var qi=Ui[0],Ur=xe[qi],Wr=Ui[1];if(wi&&Ui[2]){if(Ur===Pi&&!(qi in xe))return!1}else{var an=new Oi;if(ct)var Wn=ct(Ur,Wr,qi,xe,Qe,an);if(!(Wn===Pi?Ou(Wr,Ur,M6|ine,ct,an):Wn))return!1}}return!0}function eE(xe){if(!FA(xe)||oy(xe))return!1;var Qe=tC(xe)?N:Lwi;return Qe.test(Dg(xe))}function tE(xe){return Bl(xe)&&ss(xe)==TJ}function Li(xe){return Bl(xe)&&Dh(xe)==HB}function qn(xe){return Bl(xe)&&cE(xe.length)&&!!vh[ss(xe)]}function vn(xe){return typeof xe=="function"?xe:xe==null?lu:typeof xe=="object"?Ya(xe)?xt(xe[0],xe[1]):ht(xe):oC(xe)}function bs(xe){if(!RI(xe))return ce(xe);var Qe=[];for(var We in x(xe))P.call(xe,We)&&We!="constructor"&&Qe.push(We);return Qe}function AA(xe){if(!FA(xe))return e_(xe);var Qe=RI(xe),We=[];for(var ct in xe)ct=="constructor"&&(Qe||!P.call(xe,ct))||We.push(ct);return We}function Fa(xe,Qe){return xe<Qe}function Ve(xe,Qe){var We=-1,ct=Mh(xe)?f(xe.length):[];return ki(xe,function(Gt,Xt,wi){ct[++We]=Qe(Gt,Xt,wi)}),ct}function ht(xe){var Qe=Xv(xe);return Qe.length==1&&Qe[0][2]?oR(Qe[0][0],Qe[0][1]):function(We){return We===xe||Wm(We,xe,Qe)}}function xt(xe,Qe){return Zv(xe)&&nR(Qe)?oR(U0(xe),Qe):function(We){var ct=c_(We,xe);return ct===Pi&&ct===Qe?_d(We,xe):Ou(Qe,ct,M6|ine)}}function Yt(xe,Qe,We,ct,Gt){xe!==Qe&&jr(Qe,function(Xt,wi){if(Gt||(Gt=new Oi),FA(Xt))li(xe,Qe,wi,We,Yt,ct,Gt);else{var Ui=ct?ct(Nc(xe,wi),Xt,wi+"",xe,Qe,Gt):Pi;Ui===Pi&&(Ui=Xt),oh(xe,wi,Ui)}},Tg)}function li(xe,Qe,We,ct,Gt,Xt,wi){var Ui=Nc(xe,We),qi=Nc(Qe,We),Ur=wi.get(qi);if(Ur){oh(xe,We,Ur);return}var Wr=Xt?Xt(Ui,qi,We+"",xe,Qe,wi):Pi,an=Wr===Pi;if(an){var Wn=Ya(qi),Mo=!Wn&&id(qi),Ta=!Wn&&!Mo&&rC(qi);Wr=qi,Wn||Mo||Ta?Ya(Ui)?Wr=Ui:LA(Ui)?Wr=Ma(Ui):Mo?(an=!1,Wr=zb(qi,!0)):Ta?(an=!1,Wr=Tn(qi,!0)):Wr=[]:vd(qi)||Np(qi)?(Wr=Ui,Np(Ui)?Wr=QM(Ui):(!FA(Ui)||tC(Ui))&&(Wr=Zm(qi))):an=!1}an&&(wi.set(qi,Wr),Gt(Wr,qi,ct,Xt,wi),wi.delete(qi)),oh(xe,We,Wr)}function Di(xe,Qe){var We=xe.length;if(!!We)return Qe+=Qe<0?We:0,$m(Qe,We)?xe[Qe]:Pi}function Ar(xe,Qe,We){Qe.length?Qe=Wh(Qe,function(Xt){return Ya(Xt)?function(wi){return Uo(wi,Xt.length===1?Xt[0]:Xt)}:Xt}):Qe=[lu];var ct=-1;Qe=Wh(Qe,Zx(ca()));var Gt=Ve(xe,function(Xt,wi,Ui){var qi=Wh(Qe,function(Ur){return Ur(Xt)});return{criteria:qi,index:++ct,value:Xt}});return v1i(Gt,function(Xt,wi){return Ba(Xt,wi,We)})}function nn(xe,Qe){return ra(xe,Qe,function(We,ct){return _d(xe,ct)})}function ra(xe,Qe,We){for(var ct=-1,Gt=Qe.length,Xt={};++ct<Gt;){var wi=Qe[ct],Ui=Uo(xe,wi);We(Ui,wi)&&eg(Xt,k0(wi,xe),Ui)}return Xt}function Na(xe){return function(Qe){return Uo(Qe,xe)}}function $l(xe,Qe,We,ct){var Gt=ct?y1i:U6,Xt=-1,wi=Qe.length,Ui=xe;for(xe===Qe&&(Qe=Ma(Qe)),We&&(Ui=Wh(xe,Zx(We)));++Xt<wi;)for(var qi=0,Ur=Qe[Xt],Wr=We?We(Ur):Ur;(qi=Gt(Ui,Wr,qi,ct))>-1;)Ui!==xe&&z.call(Ui,qi,1),z.call(xe,qi,1);return xe}function $d(xe,Qe){for(var We=xe?Qe.length:0,ct=We-1;We--;){var Gt=Qe[We];if(We==ct||Gt!==Xt){var Xt=Gt;$m(Gt)?z.call(xe,Gt,1):N0(xe,Gt)}}return xe}function wg(xe,Qe){return xe+Y(Me()*(Qe-xe+1))}function L0(xe,Qe,We,ct){for(var Gt=-1,Xt=me(G((Qe-xe)/(We||1)),0),wi=f(Xt);Xt--;)wi[ct?Xt:++Gt]=xe,xe+=We;return wi}function Gu(xe,Qe){var We="";if(!xe||Qe<1||Qe>GP)return We;do Qe%2&&(We+=xe),Qe=Y(Qe/2),Qe&&(xe+=xe);while(Qe);return We}function Xa(xe,Qe){return lM(sM(xe,Qe,lu),xe+"")}function Mp(xe){return Ho(Ay(xe))}function iE(xe,Qe){var We=Ay(xe);return ay(We,Xd(Qe,0,We.length))}function eg(xe,Qe,We,ct){if(!FA(xe))return xe;Qe=k0(Qe,xe);for(var Gt=-1,Xt=Qe.length,wi=Xt-1,Ui=xe;Ui!=null&&++Gt<Xt;){var qi=U0(Qe[Gt]),Ur=We;if(qi==="__proto__"||qi==="constructor"||qi==="prototype")return xe;if(Gt!=wi){var Wr=Ui[qi];Ur=ct?ct(Wr,qi,Ui):Pi,Ur===Pi&&(Ur=FA(Wr)?Wr:$m(Qe[Gt+1])?[]:{})}su(Ui,qi,Ur),Ui=Ui[qi]}return xe}var rE=ze?function(xe,Qe){return ze.set(xe,Qe),xe}:lu,Gb=he?function(xe,Qe){return he(xe,"toString",{configurable:!0,enumerable:!1,value:Hu(Qe),writable:!0})}:lu;function Zu(xe){return ay(Ay(xe))}function bg(xe,Qe,We){var ct=-1,Gt=xe.length;Qe<0&&(Qe=-Qe>Gt?0:Gt+Qe),We=We>Gt?Gt:We,We<0&&(We+=Gt),Gt=Qe>We?0:We-Qe>>>0,Qe>>>=0;for(var Xt=f(Gt);++ct<Gt;)Xt[ct]=xe[ct+Qe];return Xt}function Fc(xe,Qe){var We;return ki(xe,function(ct,Gt,Xt){return We=Qe(ct,Gt,Xt),!We}),!!We}function nE(xe,Qe,We){var ct=0,Gt=xe==null?ct:xe.length;if(typeof Qe=="number"&&Qe===Qe&&Gt<=awi){for(;ct<Gt;){var Xt=ct+Gt>>>1,wi=xe[Xt];wi!==null&&!Gf(wi)&&(We?wi<=Qe:wi<Qe)?ct=Xt+1:Gt=Xt}return Gt}return F0(xe,Qe,lu,We)}function F0(xe,Qe,We,ct){var Gt=0,Xt=xe==null?0:xe.length;if(Xt===0)return 0;Qe=We(Qe);for(var wi=Qe!==Qe,Ui=Qe===null,qi=Gf(Qe),Ur=Qe===Pi;Gt<Xt;){var Wr=Y((Gt+Xt)/2),an=We(xe[Wr]),Wn=an!==Pi,Mo=an===null,Ta=an===an,Is=Gf(an);if(wi)var Hn=ct||Ta;else Ur?Hn=Ta&&(ct||Wn):Ui?Hn=Ta&&Wn&&(ct||!Mo):qi?Hn=Ta&&Wn&&!Mo&&(ct||!Is):Mo||Is?Hn=!1:Hn=ct?an<=Qe:an<Qe;Hn?Gt=Wr+1:Xt=Wr}return Ce(Xt,owi)}function kf(xe,Qe){for(var We=-1,ct=xe.length,Gt=0,Xt=[];++We<ct;){var wi=xe[We],Ui=Qe?Qe(wi):wi;if(!We||!O0(Ui,qi)){var qi=Ui;Xt[Gt++]=wi===0?0:wi}}return Xt}function iy(xe){return typeof xe=="number"?xe:Gf(xe)?ane:+xe}function tg(xe){if(typeof xe=="string")return xe;if(Ya(xe))return Wh(xe,tg)+"";if(Gf(xe))return _t?_t.call(xe):"";var Qe=xe+"";return Qe=="0"&&1/xe==-p3?"-0":Qe}function _l(xe,Qe,We){var ct=-1,Gt=nne,Xt=xe.length,wi=!0,Ui=[],qi=Ui;if(We)wi=!1,Gt=Rbe;else if(Xt>=Mbe){var Ur=Qe?null:aG(xe);if(Ur)return one(Ur);wi=!1,Gt=bJ,qi=new bt}else qi=Qe?[]:Ui;e:for(;++ct<Xt;){var Wr=xe[ct],an=Qe?Qe(Wr):Wr;if(Wr=We||Wr!==0?Wr:0,wi&&an===an){for(var Wn=qi.length;Wn--;)if(qi[Wn]===an)continue e;Qe&&qi.push(an),Ui.push(Wr)}else Gt(qi,an,We)||(qi!==Ui&&qi.push(an),Ui.push(Wr))}return Ui}function N0(xe,Qe){return Qe=k0(Qe,xe),xe=aR(xe,Qe),xe==null||delete xe[U0(ah(Qe))]}function oE(xe,Qe,We,ct){return eg(xe,Qe,We(Uo(xe,Qe)),ct)}function aE(xe,Qe,We,ct){for(var Gt=xe.length,Xt=ct?Gt:-1;(ct?Xt--:++Xt<Gt)&&Qe(xe[Xt],Xt,xe););return We?bg(xe,ct?0:Xt,ct?Xt+1:Gt):bg(xe,ct?Xt+1:0,ct?Gt:Xt)}function ew(xe,Qe){var We=xe;return We instanceof Pt&&(We=We.value()),Lbe(Qe,function(ct,Gt){return Gt.func.apply(Gt.thisArg,VP([ct],Gt.args))},We)}function Hb(xe,Qe,We){var ct=xe.length;if(ct<2)return ct?_l(xe[0]):[];for(var Gt=-1,Xt=f(ct);++Gt<ct;)for(var wi=xe[Gt],Ui=-1;++Ui<ct;)Ui!=Gt&&(Xt[Gt]=ci(Xt[Gt]||wi,xe[Ui],Qe,We));return _l(Sn(Xt,1),Qe,We)}function $D(xe,Qe,We){for(var ct=-1,Gt=xe.length,Xt=Qe.length,wi={};++ct<Gt;){var Ui=ct<Xt?Qe[ct]:Pi;We(wi,xe[ct],Ui)}return wi}function Vb(xe){return LA(xe)?xe:[]}function tw(xe){return typeof xe=="function"?xe:lu}function k0(xe,Qe){return Ya(xe)?xe:Zv(xe,Qe)?[xe]:i_(hA(xe))}var qm=Xa;function sE(xe,Qe,We){var ct=xe.length;return We=We===Pi?ct:We,!Qe&&We>=ct?xe:bg(xe,Qe,We)}var lE=ge||function(xe){return Vm.clearTimeout(xe)};function zb(xe,Qe){if(Qe)return xe.slice();var We=xe.length,ct=X?X(We):new xe.constructor(We);return xe.copy(ct),ct}function $u(xe){var Qe=new xe.constructor(xe.byteLength);return new K(Qe).set(new K(xe)),Qe}function jm(xe,Qe){var We=Qe?$u(xe.buffer):xe.buffer;return new xe.constructor(We,xe.byteOffset,xe.byteLength)}function sr(xe){var Qe=new xe.constructor(xe.source,Pit.exec(xe));return Qe.lastIndex=xe.lastIndex,Qe}function _n(xe){return ft?x(ft.call(xe)):{}}function Tn(xe,Qe){var We=Qe?$u(xe.buffer):xe.buffer;return new xe.constructor(We,xe.byteOffset,xe.length)}function Fo(xe,Qe){if(xe!==Qe){var We=xe!==Pi,ct=xe===null,Gt=xe===xe,Xt=Gf(xe),wi=Qe!==Pi,Ui=Qe===null,qi=Qe===Qe,Ur=Gf(Qe);if(!Ui&&!Ur&&!Xt&&xe>Qe||Xt&&wi&&qi&&!Ui&&!Ur||ct&&wi&&qi||!We&&qi||!Gt)return 1;if(!ct&&!Xt&&!Ur&&xe<Qe||Ur&&We&&Gt&&!ct&&!Xt||Ui&&We&&Gt||!wi&&Gt||!qi)return-1}return 0}function Ba(xe,Qe,We){for(var ct=-1,Gt=xe.criteria,Xt=Qe.criteria,wi=Gt.length,Ui=We.length;++ct<wi;){var qi=Fo(Gt[ct],Xt[ct]);if(qi){if(ct>=Ui)return qi;var Ur=We[ct];return qi*(Ur=="desc"?-1:1)}}return xe.index-Qe.index}function ho(xe,Qe,We,ct){for(var Gt=-1,Xt=xe.length,wi=We.length,Ui=-1,qi=Qe.length,Ur=me(Xt-wi,0),Wr=f(qi+Ur),an=!ct;++Ui<qi;)Wr[Ui]=Qe[Ui];for(;++Gt<wi;)(an||Gt<Xt)&&(Wr[We[Gt]]=xe[Gt]);for(;Ur--;)Wr[Ui++]=xe[Gt++];return Wr}function Vs(xe,Qe,We,ct){for(var Gt=-1,Xt=xe.length,wi=-1,Ui=We.length,qi=-1,Ur=Qe.length,Wr=me(Xt-Ui,0),an=f(Wr+Ur),Wn=!ct;++Gt<Wr;)an[Gt]=xe[Gt];for(var Mo=Gt;++qi<Ur;)an[Mo+qi]=Qe[qi];for(;++wi<Ui;)(Wn||Gt<Xt)&&(an[Mo+We[wi]]=xe[Gt++]);return an}function Ma(xe,Qe){var We=-1,ct=xe.length;for(Qe||(Qe=f(ct));++We<ct;)Qe[We]=xe[We];return Qe}function gs(xe,Qe,We,ct){var Gt=!We;We||(We={});for(var Xt=-1,wi=Qe.length;++Xt<wi;){var Ui=Qe[Xt],qi=ct?ct(We[Ui],xe[Ui],Ui,We,xe):Pi;qi===Pi&&(qi=xe[Ui]),Gt?Xu(We,Ui,qi):su(We,Ui,qi)}return We}function Sh(xe,Qe){return gs(xe,iM(xe),Qe)}function uA(xe,Qe){return gs(xe,rM(xe),Qe)}function gc(xe,Qe){return function(We,ct){var Gt=Ya(We)?p1i:Nf,Xt=Qe?Qe():{};return Gt(We,xe,ca(ct,2),Xt)}}function nf(xe){return Xa(function(Qe,We){var ct=-1,Gt=We.length,Xt=Gt>1?We[Gt-1]:Pi,wi=Gt>2?We[2]:Pi;for(Xt=xe.length>3&&typeof Xt=="function"?(Gt--,Xt):Pi,wi&&rg(We[0],We[1],wi)&&(Xt=Gt<3?Pi:Xt,Gt=1),Qe=x(Qe);++ct<Gt;){var Ui=We[ct];Ui&&xe(Qe,Ui,ct,Xt)}return Qe})}function iw(xe,Qe){return function(We,ct){if(We==null)return We;if(!Mh(We))return xe(We,ct);for(var Gt=We.length,Xt=Qe?Gt:-1,wi=x(We);(Qe?Xt--:++Xt<Gt)&&ct(wi[Xt],Xt,wi)!==!1;);return We}}function MI(xe){return function(Qe,We,ct){for(var Gt=-1,Xt=x(Qe),wi=ct(Qe),Ui=wi.length;Ui--;){var qi=wi[xe?Ui:++Gt];if(We(Xt[qi],qi,Xt)===!1)break}return Qe}}function rw(xe,Qe,We){var ct=Qe&Nv,Gt=Yb(xe);function Xt(){var wi=this&&this!==Vm&&this instanceof Xt?Gt:xe;return wi.apply(ct?We:this,arguments)}return Xt}function ry(xe){return function(Qe){Qe=hA(Qe);var We=k6(Qe)?OB(Qe):Pi,ct=We?We[0]:Qe.charAt(0),Gt=We?sE(We,1).join(""):Qe.slice(1);return ct[xe]()+Gt}}function qv(xe){return function(Qe){return Lbe(or(GR(Qe).replace(i1i,"")),xe,"")}}function Yb(xe){return function(){var Qe=arguments;switch(Qe.length){case 0:return new xe;case 1:return new xe(Qe[0]);case 2:return new xe(Qe[0],Qe[1]);case 3:return new xe(Qe[0],Qe[1],Qe[2]);case 4:return new xe(Qe[0],Qe[1],Qe[2],Qe[3]);case 5:return new xe(Qe[0],Qe[1],Qe[2],Qe[3],Qe[4]);case 6:return new xe(Qe[0],Qe[1],Qe[2],Qe[3],Qe[4],Qe[5]);case 7:return new xe(Qe[0],Qe[1],Qe[2],Qe[3],Qe[4],Qe[5],Qe[6])}var We=pt(xe.prototype),ct=xe.apply(We,Qe);return FA(ct)?ct:We}}function XP(xe,Qe,We){var ct=Yb(xe);function Gt(){for(var Xt=arguments.length,wi=f(Xt),Ui=Xt,qi=ig(Gt);Ui--;)wi[Ui]=arguments[Ui];var Ur=Xt<3&&wi[0]!==qi&&wi[Xt-1]!==qi?[]:zP(wi,qi);if(Xt-=Ur.length,Xt<We)return F3(xe,Qe,jv,Gt.placeholder,Pi,wi,Ur,Pi,Pi,We-Xt);var Wr=this&&this!==Vm&&this instanceof Gt?ct:xe;return Xx(Wr,this,wi)}return Gt}function ZP(xe){return function(Qe,We,ct){var Gt=x(Qe);if(!Mh(Qe)){var Xt=ca(We,3);Qe=Ph(Qe),We=function(Ui){return Xt(Gt[Ui],Ui,Gt)}}var wi=xe(Qe,We,ct);return wi>-1?Gt[Xt?Qe[wi]:wi]:Pi}}function TI(xe){return jA(function(Qe){var We=Qe.length,ct=We,Gt=It.prototype.thru;for(xe&&Qe.reverse();ct--;){var Xt=Qe[ct];if(typeof Xt!="function")throw new w(Lv);if(Gt&&!wi&&Sg(Xt)=="wrapper")var wi=new It([],!0)}for(ct=wi?ct:We;++ct<We;){Xt=Qe[ct];var Ui=Sg(Xt),qi=Ui=="wrapper"?Tp(Xt):Pi;qi&&ny(qi[0])&&qi[1]==(ND|Qb|Sb|QJ)&&!qi[4].length&&qi[9]==1?wi=wi[Sg(qi[0])].apply(wi,qi[3]):wi=Xt.length==1&&ny(Xt)?wi[Ui]():wi.thru(Xt)}return function(){var Ur=arguments,Wr=Ur[0];if(wi&&Ur.length==1&&Ya(Wr))return wi.plant(Wr).value();for(var an=0,Wn=We?Qe[an].apply(this,Ur):Wr;++an<We;)Wn=Qe[an].call(this,Wn);return Wn}})}function jv(xe,Qe,We,ct,Gt,Xt,wi,Ui,qi,Ur){var Wr=Qe&ND,an=Qe&Nv,Wn=Qe&m3,Mo=Qe&(Qb|P6),Ta=Qe&Obe,Is=Wn?Pi:Yb(xe);function Hn(){for(var Za=arguments.length,El=f(Za),Yf=Za;Yf--;)El[Yf]=arguments[Yf];if(Mo)var eA=ig(Hn),Lh=B1i(El,eA);if(ct&&(El=ho(El,ct,Gt,Mo)),Xt&&(El=Vs(El,Xt,wi,Mo)),Za-=Lh,Mo&&Za<Ur){var kc=zP(El,eA);return F3(xe,Qe,jv,Hn.placeholder,We,El,kc,Ui,qi,Ur-Za)}var Uc=an?We:this,Jp=Wn?Uc[xe]:xe;return Za=El.length,Ui?El=Wb(El,Ui):Ta&&Za>1&&El.reverse(),Wr&&qi<Za&&(El.length=qi),this&&this!==Vm&&this instanceof Hn&&(Jp=Is||Yb(Jp)),Jp.apply(Uc,El)}return Hn}function L3(xe,Qe){return function(We,ct){return Jm(We,xe,Qe(ct),{})}}function eM(xe,Qe){return function(We,ct){var Gt;if(We===Pi&&ct===Pi)return Qe;if(We!==Pi&&(Gt=We),ct!==Pi){if(Gt===Pi)return ct;typeof We=="string"||typeof ct=="string"?(We=tg(We),ct=tg(ct)):(We=iy(We),ct=iy(ct)),Gt=xe(We,ct)}return Gt}}function $P(xe){return jA(function(Qe){return Qe=Wh(Qe,Zx(ca())),Xa(function(We){var ct=this;return xe(Qe,function(Gt){return Xx(Gt,ct,We)})})})}function PI(xe,Qe){Qe=Qe===Pi?" ":tg(Qe);var We=Qe.length;if(We<2)return We?Gu(Qe,xe):Qe;var ct=Gu(Qe,G(xe/T6(Qe)));return k6(Qe)?sE(OB(ct),0,xe).join(""):ct.slice(0,xe)}function Xm(xe,Qe,We,ct){var Gt=Qe&Nv,Xt=Yb(xe);function wi(){for(var Ui=-1,qi=arguments.length,Ur=-1,Wr=ct.length,an=f(Wr+qi),Wn=this&&this!==Vm&&this instanceof wi?Xt:xe;++Ur<Wr;)an[Ur]=ct[Ur];for(;qi--;)an[Ur++]=arguments[++Ui];return Xx(Wn,Gt?We:this,an)}return wi}function eR(xe){return function(Qe,We,ct){return ct&&typeof ct!="number"&&rg(Qe,We,ct)&&(We=ct=Pi),Qe=Up(Qe),We===Pi?(We=Qe,Qe=0):We=Up(We),ct=ct===Pi?Qe<We?1:-1:Up(ct),L0(Qe,We,ct,xe)}}function tM(xe){return function(Qe,We){return typeof Qe=="string"&&typeof We=="string"||(Qe=G0(Qe),We=G0(We)),xe(Qe,We)}}function F3(xe,Qe,We,ct,Gt,Xt,wi,Ui,qi,Ur){var Wr=Qe&Qb,an=Wr?wi:Pi,Wn=Wr?Pi:wi,Mo=Wr?Xt:Pi,Ta=Wr?Pi:Xt;Qe|=Wr?Sb:R6,Qe&=~(Wr?R6:Sb),Qe&Qit||(Qe&=~(Nv|m3));var Is=[xe,Qe,Gt,Mo,an,Ta,Wn,Ui,qi,Ur],Hn=We.apply(Pi,Is);return ny(xe)&&ed(Hn,Is),Hn.placeholder=ct,qb(Hn,xe,Qe)}function tR(xe){var Qe=I[xe];return function(We,ct){if(We=G0(We),ct=ct==null?0:Ce(Es(ct),292),ct&&re(We)){var Gt=(hA(We)+"e").split("e"),Xt=Qe(Gt[0]+"e"+(+Gt[1]+ct));return Gt=(hA(Xt)+"e").split("e"),+(Gt[0]+"e"+(+Gt[1]-ct))}return Qe(We)}}var aG=we&&1/one(new we([,-0]))[1]==p3?function(xe){return new we(xe)}:Af;function N3(xe){return function(Qe){var We=Dh(Qe);return We==GB?Ube(Qe):We==HB?T1i(Qe):_1i(Qe,xe(Qe))}}function Qg(xe,Qe,We,ct,Gt,Xt,wi,Ui){var qi=Qe&m3;if(!qi&&typeof xe!="function")throw new w(Lv);var Ur=ct?ct.length:0;if(Ur||(Qe&=~(Sb|R6),ct=Gt=Pi),wi=wi===Pi?wi:me(Es(wi),0),Ui=Ui===Pi?Ui:Es(Ui),Ur-=Gt?Gt.length:0,Qe&R6){var Wr=ct,an=Gt;ct=Gt=Pi}var Wn=qi?Pi:Tp(xe),Mo=[xe,Qe,We,ct,Gt,Wr,an,Xt,wi,Ui];if(Wn&&aM(Mo,Wn),xe=Mo[0],Qe=Mo[1],We=Mo[2],ct=Mo[3],Gt=Mo[4],Ui=Mo[9]=Mo[9]===Pi?qi?0:xe.length:me(Mo[9]-Ur,0),!Ui&&Qe&(Qb|P6)&&(Qe&=~(Qb|P6)),!Qe||Qe==Nv)var Ta=rw(xe,Qe,We);else Qe==Qb||Qe==P6?Ta=XP(xe,Qe,Ui):(Qe==Sb||Qe==(Nv|Sb))&&!Gt.length?Ta=Xm(xe,Qe,We,ct):Ta=jv.apply(Pi,Mo);var Is=Wn?rE:ed;return qb(Is(Ta,Mo),xe,Qe)}function Ki(xe,Qe,We,ct){return xe===Pi||O0(xe,B[We])&&!P.call(ct,We)?Qe:xe}function Lr(xe,Qe,We,ct,Gt,Xt){return FA(xe)&&FA(Qe)&&(Xt.set(Qe,xe),Yt(xe,Qe,Pi,Lr,Xt),Xt.delete(Qe)),xe}function Qr(xe){return vd(xe)?Pi:xe}function $n(xe,Qe,We,ct,Gt,Xt){var wi=We&M6,Ui=xe.length,qi=Qe.length;if(Ui!=qi&&!(wi&&qi>Ui))return!1;var Ur=Xt.get(xe),Wr=Xt.get(Qe);if(Ur&&Wr)return Ur==Qe&&Wr==xe;var an=-1,Wn=!0,Mo=We&ine?new bt:Pi;for(Xt.set(xe,Qe),Xt.set(Qe,xe);++an<Ui;){var Ta=xe[an],Is=Qe[an];if(ct)var Hn=wi?ct(Is,Ta,an,Qe,xe,Xt):ct(Ta,Is,an,xe,Qe,Xt);if(Hn!==Pi){if(Hn)continue;Wn=!1;break}if(Mo){if(!Fbe(Qe,function(Za,El){if(!bJ(Mo,El)&&(Ta===Za||Gt(Ta,Za,We,ct,Xt)))return Mo.push(El)})){Wn=!1;break}}else if(!(Ta===Is||Gt(Ta,Is,We,ct,Xt))){Wn=!1;break}}return Xt.delete(xe),Xt.delete(Qe),Wn}function ls(xe,Qe,We,ct,Gt,Xt,wi){switch(We){case N6:if(xe.byteLength!=Qe.byteLength||xe.byteOffset!=Qe.byteOffset)return!1;xe=xe.buffer,Qe=Qe.buffer;case LJ:return!(xe.byteLength!=Qe.byteLength||!Xt(new K(xe),new K(Qe)));case SJ:case DJ:case MJ:return O0(+xe,+Qe);case cne:return xe.name==Qe.name&&xe.message==Qe.message;case TJ:case PJ:return xe==Qe+"";case GB:var Ui=Ube;case HB:var qi=ct&M6;if(Ui||(Ui=one),xe.size!=Qe.size&&!qi)return!1;var Ur=wi.get(xe);if(Ur)return Ur==Qe;ct|=ine,wi.set(xe,Qe);var Wr=$n(Ui(xe),Ui(Qe),ct,Gt,Xt,wi);return wi.delete(xe),Wr;case sne:if(ft)return ft.call(xe)==ft.call(Qe)}return!1}function cA(xe,Qe,We,ct,Gt,Xt){var wi=We&M6,Ui=Hl(xe),qi=Ui.length,Ur=Hl(Qe),Wr=Ur.length;if(qi!=Wr&&!wi)return!1;for(var an=qi;an--;){var Wn=Ui[an];if(!(wi?Wn in Qe:P.call(Qe,Wn)))return!1}var Mo=Xt.get(xe),Ta=Xt.get(Qe);if(Mo&&Ta)return Mo==Qe&&Ta==xe;var Is=!0;Xt.set(xe,Qe),Xt.set(Qe,xe);for(var Hn=wi;++an<qi;){Wn=Ui[an];var Za=xe[Wn],El=Qe[Wn];if(ct)var Yf=wi?ct(El,Za,Wn,Qe,xe,Xt):ct(Za,El,Wn,xe,Qe,Xt);if(!(Yf===Pi?Za===El||Gt(Za,El,We,ct,Xt):Yf)){Is=!1;break}Hn||(Hn=Wn=="constructor")}if(Is&&!Hn){var eA=xe.constructor,Lh=Qe.constructor;eA!=Lh&&"constructor"in xe&&"constructor"in Qe&&!(typeof eA=="function"&&eA instanceof eA&&typeof Lh=="function"&&Lh instanceof Lh)&&(Is=!1)}return Xt.delete(xe),Xt.delete(Qe),Is}function jA(xe){return lM(sM(xe,Pi,td),xe+"")}function Hl(xe){return IA(xe,Ph,iM)}function Jb(xe){return IA(xe,Tg,rM)}var Tp=ze?function(xe){return ze.get(xe)}:Af;function Sg(xe){for(var Qe=xe.name+"",We=Je[Qe],ct=P.call(Je,Qe)?We.length:0;ct--;){var Gt=We[ct],Xt=Gt.func;if(Xt==null||Xt==xe)return Gt.name}return Qe}function ig(xe){var Qe=P.call(et,"placeholder")?et:xe;return Qe.placeholder}function ca(){var xe=et.iteratee||wd;return xe=xe===wd?vn:xe,arguments.length?xe(arguments[0],arguments[1]):xe}function AE(xe,Qe){var We=xe.__data__;return U3(Qe)?We[typeof Qe=="string"?"string":"hash"]:We.map}function Xv(xe){for(var Qe=Ph(xe),We=Qe.length;We--;){var ct=Qe[We],Gt=xe[ct];Qe[We]=[ct,Gt,nR(Gt)]}return Qe}function Pp(xe,Qe){var We=S1i(xe,Qe);return eE(We)?We:Pi}function RA(xe){var Qe=P.call(xe,Ae),We=xe[Ae];try{xe[Ae]=Pi;var ct=!0}catch{}var Gt=L.call(xe);return ct&&(Qe?xe[Ae]=We:delete xe[Ae]),Gt}var iM=W?function(xe){return xe==null?[]:(xe=x(xe),HP(W(xe),function(Qe){return ie.call(xe,Qe)}))}:Bw,rM=W?function(xe){for(var Qe=[];xe;)VP(Qe,iM(xe)),xe=j(xe);return Qe}:Bw,Dh=ss;(ke&&Dh(new ke(new ArrayBuffer(1)))!=N6||Ne&&Dh(new Ne)!=GB||Pe&&Dh(Pe.resolve())!=Mit||we&&Dh(new we)!=HB||Fe&&Dh(new Fe)!=RJ)&&(Dh=function(xe){var Qe=ss(xe),We=Qe==kD?xe.constructor:Pi,ct=We?Dg(We):"";if(ct)switch(ct){case je:return N6;case Ze:return GB;case rt:return Mit;case At:return HB;case yt:return RJ}return Qe});function iR(xe,Qe,We){for(var ct=-1,Gt=We.length;++ct<Gt;){var Xt=We[ct],wi=Xt.size;switch(Xt.type){case"drop":xe+=wi;break;case"dropRight":Qe-=wi;break;case"take":Qe=Ce(Qe,xe+wi);break;case"takeRight":xe=me(xe,Qe-wi);break}}return{start:xe,end:Qe}}function k3(xe){var Qe=xe.match(bwi);return Qe?Qe[1].split(Qwi):[]}function rR(xe,Qe,We){Qe=k0(Qe,xe);for(var ct=-1,Gt=Qe.length,Xt=!1;++ct<Gt;){var wi=U0(Qe[ct]);if(!(Xt=xe!=null&&We(xe,wi)))break;xe=xe[wi]}return Xt||++ct!=Gt?Xt:(Gt=xe==null?0:xe.length,!!Gt&&cE(Gt)&&$m(wi,Gt)&&(Ya(xe)||Np(xe)))}function nw(xe){var Qe=xe.length,We=new xe.constructor(Qe);return Qe&&typeof xe[0]=="string"&&P.call(xe,"index")&&(We.index=xe.index,We.input=xe.input),We}function Zm(xe){return typeof xe.constructor=="function"&&!RI(xe)?pt(j(xe)):{}}function Kb(xe,Qe,We){var ct=xe.constructor;switch(Qe){case LJ:return $u(xe);case SJ:case DJ:return new ct(+xe);case N6:return jm(xe,We);case Kbe:case Wbe:case qbe:case jbe:case Xbe:case Zbe:case $be:case eQe:case tQe:return Tn(xe,We);case GB:return new ct;case MJ:case PJ:return new ct(xe);case TJ:return sr(xe);case HB:return new ct;case sne:return _n(xe)}}function of(xe,Qe){var We=Qe.length;if(!We)return xe;var ct=We-1;return Qe[ct]=(We>1?"& ":"")+Qe[ct],Qe=Qe.join(We>2?", ":" "),xe.replace(wwi,`{ /* [wrapped with `+Qe+`] */ `)}function nM(xe){return Ya(xe)||Np(xe)||!!(oe&&xe&&xe[oe])}function $m(xe,Qe){var We=typeof xe;return Qe=Qe??GP,!!Qe&&(We=="number"||We!="symbol"&&Nwi.test(xe))&&xe>-1&&xe%1==0&&xe<Qe}function rg(xe,Qe,We){if(!FA(We))return!1;var ct=typeof Qe;return(ct=="number"?Mh(We)&&$m(Qe,We.length):ct=="string"&&Qe in We)?O0(We[Qe],xe):!1}function Zv(xe,Qe){if(Ya(xe))return!1;var We=typeof xe;return We=="number"||We=="symbol"||We=="boolean"||xe==null||Gf(xe)?!0:ywi.test(xe)||!xwi.test(xe)||Qe!=null&&xe in x(Qe)}function U3(xe){var Qe=typeof xe;return Qe=="string"||Qe=="number"||Qe=="symbol"||Qe=="boolean"?xe!=="__proto__":xe===null}function ny(xe){var Qe=Sg(xe),We=et[Qe];if(typeof We!="function"||!(Qe in Pt.prototype))return!1;if(xe===We)return!0;var ct=Tp(We);return!!ct&&xe===ct[0]}function oy(xe){return!!T&&T in xe}var oM=D?tC:wa;function RI(xe){var Qe=xe&&xe.constructor,We=typeof Qe=="function"&&Qe.prototype||B;return xe===We}function nR(xe){return xe===xe&&!FA(xe)}function oR(xe,Qe){return function(We){return We==null?!1:We[xe]===Qe&&(Qe!==Pi||xe in x(We))}}function $v(xe){var Qe=IM(xe,function(ct){return We.size===XBi&&We.clear(),ct}),We=Qe.cache;return Qe}function aM(xe,Qe){var We=xe[1],ct=Qe[1],Gt=We|ct,Xt=Gt<(Nv|m3|ND),wi=ct==ND&&We==Qb||ct==ND&&We==QJ&&xe[7].length<=Qe[8]||ct==(ND|QJ)&&Qe[7].length<=Qe[8]&&We==Qb;if(!(Xt||wi))return xe;ct&Nv&&(xe[2]=Qe[2],Gt|=We&Nv?0:Qit);var Ui=Qe[3];if(Ui){var qi=xe[3];xe[3]=qi?ho(qi,Ui,Qe[4]):Ui,xe[4]=qi?zP(xe[3],Ane):Qe[4]}return Ui=Qe[5],Ui&&(qi=xe[5],xe[5]=qi?Vs(qi,Ui,Qe[6]):Ui,xe[6]=qi?zP(xe[5],Ane):Qe[6]),Ui=Qe[7],Ui&&(xe[7]=Ui),ct&ND&&(xe[8]=xe[8]==null?Qe[8]:Ce(xe[8],Qe[8])),xe[9]==null&&(xe[9]=Qe[9]),xe[0]=Qe[0],xe[1]=Gt,xe}function e_(xe){var Qe=[];if(xe!=null)for(var We in x(xe))Qe.push(We);return Qe}function ow(xe){return L.call(xe)}function sM(xe,Qe,We){return Qe=me(Qe===Pi?xe.length-1:Qe,0),function(){for(var ct=arguments,Gt=-1,Xt=me(ct.length-Qe,0),wi=f(Xt);++Gt<Xt;)wi[Gt]=ct[Qe+Gt];Gt=-1;for(var Ui=f(Qe+1);++Gt<Qe;)Ui[Gt]=ct[Gt];return Ui[Qe]=We(wi),Xx(xe,this,Ui)}}function aR(xe,Qe){return Qe.length<2?xe:Uo(xe,bg(Qe,0,-1))}function Wb(xe,Qe){for(var We=xe.length,ct=Ce(Qe.length,We),Gt=Ma(xe);ct--;){var Xt=Qe[ct];xe[ct]=$m(Xt,We)?Gt[Xt]:Pi}return xe}function Nc(xe,Qe){if(!(Qe==="constructor"&&typeof xe[Qe]=="function")&&Qe!="__proto__")return xe[Qe]}var ed=sR(rE),t_=fe||function(xe,Qe){return Vm.setTimeout(xe,Qe)},lM=sR(Gb);function qb(xe,Qe,We){var ct=Qe+"";return lM(xe,of(ct,aw(k3(ct),We)))}function sR(xe){var Qe=0,We=0;return function(){var ct=ye(),Gt=twi-(ct-We);if(We=ct,Gt>0){if(++Qe>=ewi)return arguments[0]}else Qe=0;return xe.apply(Pi,arguments)}}function ay(xe,Qe){var We=-1,ct=xe.length,Gt=ct-1;for(Qe=Qe===Pi?ct:Qe;++We<Qe;){var Xt=wg(We,Gt),wi=xe[Xt];xe[Xt]=xe[We],xe[We]=wi}return xe.length=Qe,xe}var i_=$v(function(xe){var Qe=[];return xe.charCodeAt(0)===46&&Qe.push(""),xe.replace(vwi,function(We,ct,Gt,Xt){Qe.push(Gt?Xt.replace(Mwi,"$1"):ct||We)}),Qe});function U0(xe){if(typeof xe=="string"||Gf(xe))return xe;var Qe=xe+"";return Qe=="0"&&1/xe==-p3?"-0":Qe}function Dg(xe){if(xe!=null){try{return S.call(xe)}catch{}try{return xe+""}catch{}}return""}function aw(xe,Qe){return Fv(swi,function(We){var ct="_."+We[0];Qe&We[1]&&!nne(xe,ct)&&xe.push(ct)}),xe.sort()}function r_(xe){if(xe instanceof Pt)return xe.clone();var Qe=new It(xe.__wrapped__,xe.__chain__);return Qe.__actions__=Ma(xe.__actions__),Qe.__index__=xe.__index__,Qe.__values__=xe.__values__,Qe}function jb(xe,Qe,We){(We?rg(xe,Qe,We):Qe===Pi)?Qe=1:Qe=me(Es(Qe),0);var ct=xe==null?0:xe.length;if(!ct||Qe<1)return[];for(var Gt=0,Xt=0,wi=f(G(ct/Qe));Gt<ct;)wi[Xt++]=bg(xe,Gt,Gt+=Qe);return wi}function n_(xe){for(var Qe=-1,We=xe==null?0:xe.length,ct=0,Gt=[];++Qe<We;){var Xt=xe[Qe];Xt&&(Gt[ct++]=Xt)}return Gt}function O3(){var xe=arguments.length;if(!xe)return[];for(var Qe=f(xe-1),We=arguments[0],ct=xe;ct--;)Qe[ct-1]=arguments[ct];return VP(Ya(We)?Ma(We):[We],Sn(Qe,1))}var sG=Xa(function(xe,Qe){return LA(xe)?ci(xe,Sn(Qe,1,LA,!0)):[]}),lR=Xa(function(xe,Qe){var We=ah(Qe);return LA(We)&&(We=Pi),LA(xe)?ci(xe,Sn(Qe,1,LA,!0),ca(We,2)):[]}),sw=Xa(function(xe,Qe){var We=ah(Qe);return LA(We)&&(We=Pi),LA(xe)?ci(xe,Sn(Qe,1,LA,!0),Pi,We):[]});function G3(xe,Qe,We){var ct=xe==null?0:xe.length;return ct?(Qe=We||Qe===Pi?1:Es(Qe),bg(xe,Qe<0?0:Qe,ct)):[]}function Xb(xe,Qe,We){var ct=xe==null?0:xe.length;return ct?(Qe=We||Qe===Pi?1:Es(Qe),Qe=ct-Qe,bg(xe,0,Qe<0?0:Qe)):[]}function lw(xe,Qe){return xe&&xe.length?aE(xe,ca(Qe,3),!0,!0):[]}function o_(xe,Qe){return xe&&xe.length?aE(xe,ca(Qe,3),!0):[]}function ti(xe,Qe,We,ct){var Gt=xe==null?0:xe.length;return Gt?(We&&typeof We!="number"&&rg(xe,Qe,We)&&(We=0,ct=Gt),Mr(xe,Qe,We,ct)):[]}function sy(xe,Qe,We){var ct=xe==null?0:xe.length;if(!ct)return-1;var Gt=We==null?0:Es(We);return Gt<0&&(Gt=me(ct+Gt,0)),lne(xe,ca(Qe,3),Gt)}function Aw(xe,Qe,We){var ct=xe==null?0:xe.length;if(!ct)return-1;var Gt=ct-1;return We!==Pi&&(Gt=Es(We),Gt=We<0?me(ct+Gt,0):Ce(Gt,ct-1)),lne(xe,ca(Qe,3),Gt,!0)}function td(xe){var Qe=xe==null?0:xe.length;return Qe?Sn(xe,1):[]}function Cl(xe){var Qe=xe==null?0:xe.length;return Qe?Sn(xe,p3):[]}function uw(xe,Qe){var We=xe==null?0:xe.length;return We?(Qe=Qe===Pi?1:Es(Qe),Sn(xe,Qe)):[]}function H3(xe){for(var Qe=-1,We=xe==null?0:xe.length,ct={};++Qe<We;){var Gt=xe[Qe];ct[Gt[0]]=Gt[1]}return ct}function V3(xe){return xe&&xe.length?xe[0]:Pi}function eC(xe,Qe,We){var ct=xe==null?0:xe.length;if(!ct)return-1;var Gt=We==null?0:Es(We);return Gt<0&&(Gt=me(ct+Gt,0)),U6(xe,Qe,Gt)}function AM(xe){var Qe=xe==null?0:xe.length;return Qe?bg(xe,0,-1):[]}var uM=Xa(function(xe){var Qe=Wh(xe,Vb);return Qe.length&&Qe[0]===xe[0]?Lc(Qe):[]}),z3=Xa(function(xe){var Qe=ah(xe),We=Wh(xe,Vb);return Qe===ah(We)?Qe=Pi:We.pop(),We.length&&We[0]===xe[0]?Lc(We,ca(Qe,2)):[]}),Y3=Xa(function(xe){var Qe=ah(xe),We=Wh(xe,Vb);return Qe=typeof Qe=="function"?Qe:Pi,Qe&&We.pop(),We.length&&We[0]===xe[0]?Lc(We,Pi,Qe):[]});function lG(xe,Qe){return xe==null?"":se.call(xe,Qe)}function ah(xe){var Qe=xe==null?0:xe.length;return Qe?xe[Qe-1]:Pi}function a_(xe,Qe,We){var ct=xe==null?0:xe.length;if(!ct)return-1;var Gt=ct;return We!==Pi&&(Gt=Es(We),Gt=Gt<0?me(ct+Gt,0):Ce(Gt,ct-1)),Qe===Qe?R1i(xe,Qe,Gt):lne(xe,mrt,Gt,!0)}function AG(xe,Qe){return xe&&xe.length?Di(xe,Es(Qe)):Pi}var ng=Xa(Rp);function Rp(xe,Qe){return xe&&xe.length&&Qe&&Qe.length?$l(xe,Qe):xe}function zs(xe,Qe,We){return xe&&xe.length&&Qe&&Qe.length?$l(xe,Qe,ca(We,2)):xe}function za(xe,Qe,We){return xe&&xe.length&&Qe&&Qe.length?$l(xe,Qe,Pi,We):xe}var Ys=jA(function(xe,Qe){var We=xe==null?0:xe.length,ct=Qp(xe,Qe);return $d(xe,Wh(Qe,function(Gt){return $m(Gt,We)?+Gt:Gt}).sort(Fo)),ct});function Js(xe,Qe){var We=[];if(!(xe&&xe.length))return We;var ct=-1,Gt=[],Xt=xe.length;for(Qe=ca(Qe,3);++ct<Xt;){var wi=xe[ct];Qe(wi,ct,xe)&&(We.push(wi),Gt.push(ct))}return $d(xe,Gt),We}function Qs(xe){return xe==null?xe:He.call(xe)}function Ks(xe,Qe,We){var ct=xe==null?0:xe.length;return ct?(We&&typeof We!="number"&&rg(xe,Qe,We)?(Qe=0,We=ct):(Qe=Qe==null?0:Es(Qe),We=We===Pi?ct:Es(We)),bg(xe,Qe,We)):[]}function Ws(xe,Qe){return nE(xe,Qe)}function ns(xe,Qe,We){return F0(xe,Qe,ca(We,2))}function qs(xe,Qe){var We=xe==null?0:xe.length;if(We){var ct=nE(xe,Qe);if(ct<We&&O0(xe[ct],Qe))return ct}return-1}function js(xe,Qe){return nE(xe,Qe,!0)}function ka(xe,Qe,We){return F0(xe,Qe,ca(We,2),!0)}function Xs(xe,Qe){var We=xe==null?0:xe.length;if(We){var ct=nE(xe,Qe,!0)-1;if(O0(xe[ct],Qe))return ct}return-1}function Zs(xe){return xe&&xe.length?kf(xe):[]}function $s(xe,Qe){return xe&&xe.length?kf(xe,ca(Qe,2)):[]}function el(xe){var Qe=xe==null?0:xe.length;return Qe?bg(xe,1,Qe):[]}function tl(xe,Qe,We){return xe&&xe.length?(Qe=We||Qe===Pi?1:Es(Qe),bg(xe,0,Qe<0?0:Qe)):[]}function Fs(xe,Qe,We){var ct=xe==null?0:xe.length;return ct?(Qe=We||Qe===Pi?1:Es(Qe),Qe=ct-Qe,bg(xe,Qe<0?0:Qe,ct)):[]}function Ns(xe,Qe){return xe&&xe.length?aE(xe,ca(Qe,3),!1,!0):[]}function il(xe,Qe){return xe&&xe.length?aE(xe,ca(Qe,3)):[]}var rl=Xa(function(xe){return _l(Sn(xe,1,LA,!0))}),Ss=Xa(function(xe){var Qe=ah(xe);return LA(Qe)&&(Qe=Pi),_l(Sn(xe,1,LA,!0),ca(Qe,2))}),fs=Xa(function(xe){var Qe=ah(xe);return Qe=typeof Qe=="function"?Qe:Pi,_l(Sn(xe,1,LA,!0),Pi,Qe)});function Cs(xe){return xe&&xe.length?_l(xe):[]}function nl(xe,Qe){return xe&&xe.length?_l(xe,ca(Qe,2)):[]}function cM(xe,Qe){return Qe=typeof Qe=="function"?Qe:Pi,xe&&xe.length?_l(xe,Pi,Qe):[]}function Zb(xe){if(!(xe&&xe.length))return[];var Qe=0;return xe=HP(xe,function(We){if(LA(We))return Qe=me(We.length,Qe),!0}),Nbe(Qe,function(We){return Wh(xe,Ybe(We))})}function Lp(xe,Qe){if(!(xe&&xe.length))return[];var We=Zb(xe);return Qe==null?We:Wh(We,function(ct){return Xx(Qe,Pi,ct)})}var $b=Xa(function(xe,Qe){return LA(xe)?ci(xe,Qe):[]}),LI=Xa(function(xe){return Hb(HP(xe,LA))}),Uf=Xa(function(xe){var Qe=ah(xe);return LA(Qe)&&(Qe=Pi),Hb(HP(xe,LA),ca(Qe,2))}),AR=Xa(function(xe){var Qe=ah(xe);return Qe=typeof Qe=="function"?Qe:Pi,Hb(HP(xe,LA),Pi,Qe)}),hM=Xa(Zb);function eo(xe,Qe){return $D(xe||[],Qe||[],su)}function Kn(xe,Qe){return $D(xe||[],Qe||[],eg)}var Io=Xa(function(xe){var Qe=xe.length,We=Qe>1?xe[Qe-1]:Pi;return We=typeof We=="function"?(xe.pop(),We):Pi,Lp(xe,We)});function _o(xe){var Qe=et(xe);return Qe.__chain__=!0,Qe}function da(xe,Qe){return Qe(xe),xe}function Oo(xe,Qe){return Qe(xe)}var ol=jA(function(xe){var Qe=xe.length,We=Qe?xe[0]:0,ct=this.__wrapped__,Gt=function(Xt){return Qp(Xt,xe)};return Qe>1||this.__actions__.length||!(ct instanceof Pt)||!$m(We)?this.thru(Gt):(ct=ct.slice(We,+We+(Qe?1:0)),ct.__actions__.push({func:Oo,args:[Gt],thisArg:Pi}),new It(ct,this.__chain__).thru(function(Xt){return Qe&&!Xt.length&&Xt.push(Pi),Xt}))});function al(){return _o(this)}function mn(){return new It(this.value(),this.__chain__)}function qt(){this.__values__===Pi&&(this.__values__=wM(this.value()));var xe=this.__index__>=this.__values__.length,Qe=xe?Pi:this.__values__[this.__index__++];return{done:xe,value:Qe}}function dM(){return this}function uE(xe){for(var Qe,We=this;We instanceof zt;){var ct=r_(We);ct.__index__=0,ct.__values__=Pi,Qe?Gt.__wrapped__=ct:Qe=ct;var Gt=ct;We=We.__wrapped__}return Gt.__wrapped__=xe,Qe}function uR(){var xe=this.__wrapped__;if(xe instanceof Pt){var Qe=xe;return this.__actions__.length&&(Qe=new Pt(this)),Qe=Qe.reverse(),Qe.__actions__.push({func:Oo,args:[Qs],thisArg:Pi}),new It(Qe,this.__chain__)}return this.thru(Qs)}function gM(){return ew(this.__wrapped__,this.__actions__)}var s_=gc(function(xe,Qe,We){P.call(xe,We)?++xe[We]:Xu(xe,We,1)});function J3(xe,Qe,We){var ct=Ya(xe)?zit:zr;return We&&rg(xe,Qe,We)&&(Qe=Pi),ct(xe,ca(Qe,3))}function af(xe,Qe){var We=Ya(xe)?HP:pn;return We(xe,ca(Qe,3))}var cR=ZP(sy),K3=ZP(Aw);function W3(xe,Qe){return Sn(pM(xe,Qe),1)}function q3(xe,Qe){return Sn(pM(xe,Qe),p3)}function cw(xe,Qe,We){return We=We===Pi?1:Es(We),Sn(pM(xe,Qe),We)}function fM(xe,Qe){var We=Ya(xe)?Fv:ki;return We(xe,ca(Qe,3))}function hw(xe,Qe){var We=Ya(xe)?m1i:mr;return We(xe,ca(Qe,3))}var hR=gc(function(xe,Qe,We){P.call(xe,We)?xe[We].push(Qe):Xu(xe,We,[Qe])});function dR(xe,Qe,We,ct){xe=Mh(xe)?xe:Ay(xe),We=We&&!ct?Es(We):0;var Gt=xe.length;return We<0&&(We=me(Gt+We,0)),aQ(xe)?We<=Gt&&xe.indexOf(Qe,We)>-1:!!Gt&&U6(xe,Qe,We)>-1}var j3=Xa(function(xe,Qe,We){var ct=-1,Gt=typeof Qe=="function",Xt=Mh(xe)?f(xe.length):[];return ki(xe,function(wi){Xt[++ct]=Gt?Xx(Qe,wi,We):Dp(wi,Qe,We)}),Xt}),dw=gc(function(xe,Qe,We){Xu(xe,We,Qe)});function pM(xe,Qe){var We=Ya(xe)?Wh:Ve;return We(xe,ca(Qe,3))}function X3(xe,Qe,We,ct){return xe==null?[]:(Ya(Qe)||(Qe=Qe==null?[]:[Qe]),We=ct?Pi:We,Ya(We)||(We=We==null?[]:[We]),Ar(xe,Qe,We))}var gR=gc(function(xe,Qe,We){xe[We?0:1].push(Qe)},function(){return[[],[]]});function fR(xe,Qe,We){var ct=Ya(xe)?Lbe:Kit,Gt=arguments.length<3;return ct(xe,ca(Qe,4),We,Gt,ki)}function Z3(xe,Qe,We){var ct=Ya(xe)?C1i:Kit,Gt=arguments.length<3;return ct(xe,ca(Qe,4),We,Gt,mr)}function $3(xe,Qe){var We=Ya(xe)?HP:pn;return We(xe,fw(ca(Qe,3)))}function uG(xe){var Qe=Ya(xe)?Ho:Mp;return Qe(xe)}function pR(xe,Qe,We){(We?rg(xe,Qe,We):Qe===Pi)?Qe=1:Qe=Es(Qe);var ct=Ya(xe)?Ol:iE;return ct(xe,Qe)}function eQ(xe){var Qe=Ya(xe)?au:Zu;return Qe(xe)}function cG(xe){if(xe==null)return 0;if(Mh(xe))return aQ(xe)?T6(xe):xe.length;var Qe=Dh(xe);return Qe==GB||Qe==HB?xe.size:bs(xe).length}function mM(xe,Qe,We){var ct=Ya(xe)?Fbe:Fc;return We&&rg(xe,Qe,We)&&(Qe=Pi),ct(xe,ca(Qe,3))}var mR=Xa(function(xe,Qe){if(xe==null)return[];var We=Qe.length;return We>1&&rg(xe,Qe[0],Qe[1])?Qe=[]:We>2&&rg(Qe[0],Qe[1],Qe[2])&&(Qe=[Qe[0]]),Ar(xe,Sn(Qe,1),[])}),gw=de||function(){return Vm.Date.now()};function CR(xe,Qe){if(typeof Qe!="function")throw new w(Lv);return xe=Es(xe),function(){if(--xe<1)return Qe.apply(this,arguments)}}function Of(xe,Qe,We){return Qe=We?Pi:Qe,Qe=xe&&Qe==null?xe.length:Qe,Qg(xe,ND,Pi,Pi,Pi,Pi,Qe)}function ER(xe,Qe){var We;if(typeof Qe!="function")throw new w(Lv);return xe=Es(xe),function(){return--xe>0&&(We=Qe.apply(this,arguments)),xe<=1&&(Qe=Pi),We}}var tQ=Xa(function(xe,Qe,We){var ct=Nv;if(We.length){var Gt=zP(We,ig(tQ));ct|=Sb}return Qg(xe,ct,Qe,We,Gt)}),IR=Xa(function(xe,Qe,We){var ct=Nv|m3;if(We.length){var Gt=zP(We,ig(IR));ct|=Sb}return Qg(Qe,ct,xe,We,Gt)});function xR(xe,Qe,We){Qe=We?Pi:Qe;var ct=Qg(xe,Qb,Pi,Pi,Pi,Pi,Pi,Qe);return ct.placeholder=xR.placeholder,ct}function CM(xe,Qe,We){Qe=We?Pi:Qe;var ct=Qg(xe,P6,Pi,Pi,Pi,Pi,Pi,Qe);return ct.placeholder=CM.placeholder,ct}function yR(xe,Qe,We){var ct,Gt,Xt,wi,Ui,qi,Ur=0,Wr=!1,an=!1,Wn=!0;if(typeof xe!="function")throw new w(Lv);Qe=G0(Qe)||0,FA(We)&&(Wr=!!We.leading,an="maxWait"in We,Xt=an?me(G0(We.maxWait)||0,Qe):Xt,Wn="trailing"in We?!!We.trailing:Wn);function Mo(kc){var Uc=ct,Jp=Gt;return ct=Gt=Pi,Ur=kc,wi=xe.apply(Jp,Uc),wi}function Ta(kc){return Ur=kc,Ui=t_(Za,Qe),Wr?Mo(kc):wi}function Is(kc){var Uc=kc-qi,Jp=kc-Ur,UI=Qe-Uc;return an?Ce(UI,Xt-Jp):UI}function Hn(kc){var Uc=kc-qi,Jp=kc-Ur;return qi===Pi||Uc>=Qe||Uc<0||an&&Jp>=Xt}function Za(){var kc=gw();if(Hn(kc))return El(kc);Ui=t_(Za,Is(kc))}function El(kc){return Ui=Pi,Wn&&ct?Mo(kc):(ct=Gt=Pi,wi)}function Yf(){Ui!==Pi&&lE(Ui),Ur=0,ct=qi=Gt=Ui=Pi}function eA(){return Ui===Pi?wi:El(gw())}function Lh(){var kc=gw(),Uc=Hn(kc);if(ct=arguments,Gt=this,qi=kc,Uc){if(Ui===Pi)return Ta(qi);if(an)return lE(Ui),Ui=t_(Za,Qe),Mo(qi)}return Ui===Pi&&(Ui=t_(Za,Qe)),wi}return Lh.cancel=Yf,Lh.flush=eA,Lh}var vR=Xa(function(xe,Qe){return Zd(xe,1,Qe)}),ek=Xa(function(xe,Qe,We){return Zd(xe,G0(Qe)||0,We)});function EM(xe){return Qg(xe,Obe)}function IM(xe,Qe){if(typeof xe!="function"||Qe!=null&&typeof Qe!="function")throw new w(Lv);var We=function(){var ct=arguments,Gt=Qe?Qe.apply(this,ct):ct[0],Xt=We.cache;if(Xt.has(Gt))return Xt.get(Gt);var wi=xe.apply(this,ct);return We.cache=Xt.set(Gt,wi)||Xt,wi};return We.cache=new(IM.Cache||Kt),We}IM.Cache=Kt;function fw(xe){if(typeof xe!="function")throw new w(Lv);return function(){var Qe=arguments;switch(Qe.length){case 0:return!xe.call(this);case 1:return!xe.call(this,Qe[0]);case 2:return!xe.call(this,Qe[0],Qe[1]);case 3:return!xe.call(this,Qe[0],Qe[1],Qe[2])}return!xe.apply(this,Qe)}}function ks(xe){return ER(2,xe)}var hG=qm(function(xe,Qe){Qe=Qe.length==1&&Ya(Qe[0])?Wh(Qe[0],Zx(ca())):Wh(Sn(Qe,1),Zx(ca()));var We=Qe.length;return Xa(function(ct){for(var Gt=-1,Xt=Ce(ct.length,We);++Gt<Xt;)ct[Gt]=Qe[Gt].call(this,ct[Gt]);return Xx(xe,this,ct)})}),_R=Xa(function(xe,Qe){var We=zP(Qe,ig(_R));return Qg(xe,Sb,Pi,Qe,We)}),pw=Xa(function(xe,Qe){var We=zP(Qe,ig(pw));return Qg(xe,R6,Pi,Qe,We)}),tk=jA(function(xe,Qe){return Qg(xe,QJ,Pi,Pi,Pi,Qe)});function dG(xe,Qe){if(typeof xe!="function")throw new w(Lv);return Qe=Qe===Pi?Qe:Es(Qe),Xa(xe,Qe)}function ik(xe,Qe){if(typeof xe!="function")throw new w(Lv);return Qe=Qe==null?0:me(Es(Qe),0),Xa(function(We){var ct=We[Qe],Gt=sE(We,0,Qe);return ct&&VP(Gt,ct),Xx(xe,this,Gt)})}function Fp(xe,Qe,We){var ct=!0,Gt=!0;if(typeof xe!="function")throw new w(Lv);return FA(We)&&(ct="leading"in We?!!We.leading:ct,Gt="trailing"in We?!!We.trailing:Gt),yR(xe,Qe,{leading:ct,maxWait:Qe,trailing:Gt})}function gG(xe){return Of(xe,1)}function iQ(xe,Qe){return _R(tw(Qe),xe)}function xM(){if(!arguments.length)return[];var xe=arguments[0];return Ya(xe)?xe:[xe]}function rQ(xe){return qA(xe,D6)}function l_(xe,Qe){return Qe=typeof Qe=="function"?Qe:Pi,qA(xe,D6,Qe)}function Mg(xe){return qA(xe,OP|D6)}function FI(xe,Qe){return Qe=typeof Qe=="function"?Qe:Pi,qA(xe,OP|D6,Qe)}function BR(xe,Qe){return Qe==null||Sp(xe,Qe,Ph(Qe))}function O0(xe,Qe){return xe===Qe||xe!==xe&&Qe!==Qe}var yM=tM(yd),rk=tM(function(xe,Qe){return xe>=Qe}),Np=Wv(function(){return arguments}())?Wv:function(xe){return Bl(xe)&&P.call(xe,"callee")&&!ie.call(xe,"callee")},Ya=f.isArray,A_=kit?Zx(kit):ZC;function Mh(xe){return xe!=null&&cE(xe.length)&&!tC(xe)}function LA(xe){return Bl(xe)&&Mh(xe)}function nQ(xe){return xe===!0||xe===!1||Bl(xe)&&ss(xe)==SJ}var id=O||wa,oQ=Uit?Zx(Uit):Km;function nk(xe){return Bl(xe)&&xe.nodeType===1&&!vd(xe)}function wR(xe){if(xe==null)return!0;if(Mh(xe)&&(Ya(xe)||typeof xe=="string"||typeof xe.splice=="function"||id(xe)||rC(xe)||Np(xe)))return!xe.length;var Qe=Dh(xe);if(Qe==GB||Qe==HB)return!xe.size;if(RI(xe))return!bs(xe).length;for(var We in xe)if(P.call(xe,We))return!1;return!0}function fG(xe,Qe){return Ou(xe,Qe)}function ok(xe,Qe,We){We=typeof We=="function"?We:Pi;var ct=We?We(xe,Qe):Pi;return ct===Pi?Ou(xe,Qe,Pi,We):!!ct}function bR(xe){if(!Bl(xe))return!1;var Qe=ss(xe);return Qe==cne||Qe==Awi||typeof xe.message=="string"&&typeof xe.name=="string"&&!vd(xe)}function vM(xe){return typeof xe=="number"&&re(xe)}function tC(xe){if(!FA(xe))return!1;var Qe=ss(xe);return Qe==hne||Qe==Dit||Qe==lwi||Qe==cwi}function ak(xe){return typeof xe=="number"&&xe==Es(xe)}function cE(xe){return typeof xe=="number"&&xe>-1&&xe%1==0&&xe<=GP}function FA(xe){var Qe=typeof xe;return xe!=null&&(Qe=="object"||Qe=="function")}function Bl(xe){return xe!=null&&typeof xe=="object"}var iC=Oit?Zx(Oit):$C;function sk(xe,Qe){return xe===Qe||Wm(xe,Qe,Xv(Qe))}function QR(xe,Qe,We){return We=typeof We=="function"?We:Pi,Wm(xe,Qe,Xv(Qe),We)}function _M(xe){return u_(xe)&&xe!=+xe}function mw(xe){if(oM(xe))throw new C(qBi);return eE(xe)}function SR(xe){return xe===null}function lk(xe){return xe==null}function u_(xe){return typeof xe=="number"||Bl(xe)&&ss(xe)==MJ}function vd(xe){if(!Bl(xe)||ss(xe)!=kD)return!1;var Qe=j(xe);if(Qe===null)return!0;var We=P.call(Qe,"constructor")&&Qe.constructor;return typeof We=="function"&&We instanceof We&&S.call(We)==F}var kp=Git?Zx(Git):tE;function Th(xe){return ak(xe)&&xe>=-GP&&xe<=GP}var NA=Hit?Zx(Hit):Li;function aQ(xe){return typeof xe=="string"||!Ya(xe)&&Bl(xe)&&ss(xe)==PJ}function Gf(xe){return typeof xe=="symbol"||Bl(xe)&&ss(xe)==sne}var rC=Vit?Zx(Vit):qn;function Ak(xe){return xe===Pi}function sQ(xe){return Bl(xe)&&Dh(xe)==RJ}function BM(xe){return Bl(xe)&&ss(xe)==dwi}var Cw=tM(Fa),uk=tM(function(xe,Qe){return xe<=Qe});function wM(xe){if(!xe)return[];if(Mh(xe))return aQ(xe)?OB(xe):Ma(xe);if(le&&xe[le])return M1i(xe[le]());var Qe=Dh(xe),We=Qe==GB?Ube:Qe==HB?one:Ay;return We(xe)}function Up(xe){if(!xe)return xe===0?xe:0;if(xe=G0(xe),xe===p3||xe===-p3){var Qe=xe<0?-1:1;return Qe*nwi}return xe===xe?xe:0}function Es(xe){var Qe=Up(xe),We=Qe%1;return Qe===Qe?We?Qe-We:Qe:0}function bM(xe){return xe?Xd(Es(xe),0,Db):0}function G0(xe){if(typeof xe=="number")return xe;if(Gf(xe))return ane;if(FA(xe)){var Qe=typeof xe.valueOf=="function"?xe.valueOf():xe;xe=FA(Qe)?Qe+"":Qe}if(typeof xe!="string")return xe===0?xe:+xe;xe=Wit(xe);var We=Rwi.test(xe);return We||Fwi.test(xe)?g1i(xe.slice(2),We?2:8):Pwi.test(xe)?ane:+xe}function QM(xe){return gs(xe,Tg(xe))}function hE(xe){return xe?Xd(Es(xe),-GP,GP):xe===0?xe:0}function hA(xe){return xe==null?"":tg(xe)}var DR=nf(function(xe,Qe){if(RI(Qe)||Mh(Qe)){gs(Qe,Ph(Qe),xe);return}for(var We in Qe)P.call(Qe,We)&&su(xe,We,Qe[We])}),MR=nf(function(xe,Qe){gs(Qe,Tg(Qe),xe)}),Ew=nf(function(xe,Qe,We,ct){gs(Qe,Tg(Qe),xe,ct)}),pG=nf(function(xe,Qe,We,ct){gs(Qe,Ph(Qe),xe,ct)}),lQ=jA(Qp);function dE(xe,Qe){var We=pt(xe);return Qe==null?We:T0(We,Qe)}var SM=Xa(function(xe,Qe){xe=x(xe);var We=-1,ct=Qe.length,Gt=ct>2?Qe[2]:Pi;for(Gt&&rg(Qe[0],Qe[1],Gt)&&(ct=1);++We<ct;)for(var Xt=Qe[We],wi=Tg(Xt),Ui=-1,qi=wi.length;++Ui<qi;){var Ur=wi[Ui],Wr=xe[Ur];(Wr===Pi||O0(Wr,B[Ur])&&!P.call(xe,Ur))&&(xe[Ur]=Xt[Ur])}return xe}),DM=Xa(function(xe){return xe.push(Pi,Lr),Xx(Op,Pi,xe)});function MM(xe,Qe){return Yit(xe,ca(Qe,3),Eo)}function AQ(xe,Qe){return Yit(xe,ca(Qe,3),La)}function Iw(xe,Qe){return xe==null?xe:jr(xe,ca(Qe,3),Tg)}function Ea(xe,Qe){return xe==null?xe:to(xe,ca(Qe,3),Tg)}function xw(xe,Qe){return xe&&Eo(xe,ca(Qe,3))}function TM(xe,Qe){return xe&&La(xe,ca(Qe,3))}function NI(xe){return xe==null?[]:Gl(xe,Ph(xe))}function PM(xe){return xe==null?[]:Gl(xe,Tg(xe))}function c_(xe,Qe,We){var ct=xe==null?Pi:Uo(xe,Qe);return ct===Pi?We:ct}function TR(xe,Qe){return xe!=null&&rR(xe,Qe,Uu)}function _d(xe,Qe){return xe!=null&&rR(xe,Qe,rf)}var ly=L3(function(xe,Qe,We){Qe!=null&&typeof Qe.toString!="function"&&(Qe=L.call(Qe)),xe[Qe]=We},Hu(lu)),mG=L3(function(xe,Qe,We){Qe!=null&&typeof Qe.toString!="function"&&(Qe=L.call(Qe)),P.call(xe,Qe)?xe[Qe].push(We):xe[Qe]=[We]},ca),kI=Xa(Dp);function Ph(xe){return Mh(xe)?_a(xe):bs(xe)}function Tg(xe){return Mh(xe)?_a(xe,!0):AA(xe)}function PR(xe,Qe){var We={};return Qe=ca(Qe,3),Eo(xe,function(ct,Gt,Xt){Xu(We,Qe(ct,Gt,Xt),ct)}),We}function RR(xe,Qe){var We={};return Qe=ca(Qe,3),Eo(xe,function(ct,Gt,Xt){Xu(We,Gt,Qe(ct,Gt,Xt))}),We}var LR=nf(function(xe,Qe,We){Yt(xe,Qe,We)}),Op=nf(function(xe,Qe,We,ct){Yt(xe,Qe,We,ct)}),og=jA(function(xe,Qe){var We={};if(xe==null)return We;var ct=!1;Qe=Wh(Qe,function(Xt){return Xt=k0(Xt,xe),ct||(ct=Xt.length>1),Xt}),gs(xe,Jb(xe),We),ct&&(We=qA(We,OP|bit|D6,Qr));for(var Gt=Qe.length;Gt--;)N0(We,Qe[Gt]);return We});function Hf(xe,Qe){return Bd(xe,fw(ca(Qe)))}var ck=jA(function(xe,Qe){return xe==null?{}:nn(xe,Qe)});function Bd(xe,Qe){if(xe==null)return{};var We=Wh(Jb(xe),function(ct){return[ct]});return Qe=ca(Qe),ra(xe,We,function(ct,Gt){return Qe(ct,Gt[0])})}function uQ(xe,Qe,We){Qe=k0(Qe,xe);var ct=-1,Gt=Qe.length;for(Gt||(Gt=1,xe=Pi);++ct<Gt;){var Xt=xe==null?Pi:xe[U0(Qe[ct])];Xt===Pi&&(ct=Gt,Xt=We),xe=tC(Xt)?Xt.call(xe):Xt}return xe}function FR(xe,Qe,We){return xe==null?xe:eg(xe,Qe,We)}function Gp(xe,Qe,We,ct){return ct=typeof ct=="function"?ct:Pi,xe==null?xe:eg(xe,Qe,We,ct)}var NR=N3(Ph),cQ=N3(Tg);function CG(xe,Qe,We){var ct=Ya(xe),Gt=ct||id(xe)||rC(xe);if(Qe=ca(Qe,4),We==null){var Xt=xe&&xe.constructor;Gt?We=ct?new Xt:[]:FA(xe)?We=tC(Xt)?pt(j(xe)):{}:We={}}return(Gt?Fv:Eo)(xe,function(wi,Ui,qi){return Qe(We,wi,Ui,qi)}),We}function hk(xe,Qe){return xe==null?!0:N0(xe,Qe)}function hQ(xe,Qe,We){return xe==null?xe:oE(xe,Qe,tw(We))}function dQ(xe,Qe,We,ct){return ct=typeof ct=="function"?ct:Pi,xe==null?xe:oE(xe,Qe,tw(We),ct)}function Ay(xe){return xe==null?[]:kbe(xe,Ph(xe))}function kR(xe){return xe==null?[]:kbe(xe,Tg(xe))}function RM(xe,Qe,We){return We===Pi&&(We=Qe,Qe=Pi),We!==Pi&&(We=G0(We),We=We===We?We:0),Qe!==Pi&&(Qe=G0(Qe),Qe=Qe===Qe?Qe:0),Xd(G0(xe),Qe,We)}function UR(xe,Qe,We){return Qe=Up(Qe),We===Pi?(We=Qe,Qe=0):We=Up(We),xe=G0(xe),Qh(xe,Qe,We)}function OR(xe,Qe,We){if(We&&typeof We!="boolean"&&rg(xe,Qe,We)&&(Qe=We=Pi),We===Pi&&(typeof Qe=="boolean"?(We=Qe,Qe=Pi):typeof xe=="boolean"&&(We=xe,xe=Pi)),xe===Pi&&Qe===Pi?(xe=0,Qe=1):(xe=Up(xe),Qe===Pi?(Qe=xe,xe=0):Qe=Up(Qe)),xe>Qe){var ct=xe;xe=Qe,Qe=ct}if(We||xe%1||Qe%1){var Gt=Me();return Ce(xe+Gt*(Qe-xe+d1i("1e-"+((Gt+"").length-1))),Qe)}return wg(xe,Qe)}var yw=qv(function(xe,Qe,We){return Qe=Qe.toLowerCase(),xe+(We?H0(Qe):Qe)});function H0(xe){return uy(hA(xe).toLowerCase())}function GR(xe){return xe=hA(xe),xe&&xe.replace(kwi,w1i).replace(r1i,"")}function gQ(xe,Qe,We){xe=hA(xe),Qe=tg(Qe);var ct=xe.length;We=We===Pi?ct:Xd(Es(We),0,ct);var Gt=We;return We-=Qe.length,We>=0&&xe.slice(We,Gt)==Qe}function fQ(xe){return xe=hA(xe),xe&&Cwi.test(xe)?xe.replace($it,b1i):xe}function dk(xe){return xe=hA(xe),xe&&_wi.test(xe)?xe.replace(Gbe,"\\$&"):xe}var nC=qv(function(xe,Qe,We){return xe+(We?"-":"")+Qe.toLowerCase()}),h_=qv(function(xe,Qe,We){return xe+(We?" ":"")+Qe.toLowerCase()}),gk=ry("toLowerCase");function fk(xe,Qe,We){xe=hA(xe),Qe=Es(Qe);var ct=Qe?T6(xe):0;if(!Qe||ct>=Qe)return xe;var Gt=(Qe-ct)/2;return PI(Y(Gt),We)+xe+PI(G(Gt),We)}function EG(xe,Qe,We){xe=hA(xe),Qe=Es(Qe);var ct=Qe?T6(xe):0;return Qe&&ct<Qe?xe+PI(Qe-ct,We):xe}function pk(xe,Qe,We){xe=hA(xe),Qe=Es(Qe);var ct=Qe?T6(xe):0;return Qe&&ct<Qe?PI(Qe-ct,We)+xe:xe}function IG(xe,Qe,We){return We||Qe==null?Qe=0:Qe&&(Qe=+Qe),Be(hA(xe).replace(Hbe,""),Qe||0)}function gE(xe,Qe,We){return(We?rg(xe,Qe,We):Qe===Pi)?Qe=1:Qe=Es(Qe),Gu(hA(xe),Qe)}function xG(){var xe=arguments,Qe=hA(xe[0]);return xe.length<3?Qe:Qe.replace(xe[1],xe[2])}var yG=qv(function(xe,Qe,We){return xe+(We?"_":"")+Qe.toLowerCase()});function vG(xe,Qe,We){return We&&typeof We!="number"&&rg(xe,Qe,We)&&(Qe=We=Pi),We=We===Pi?Db:We>>>0,We?(xe=hA(xe),xe&&(typeof Qe=="string"||Qe!=null&&!kp(Qe))&&(Qe=tg(Qe),!Qe&&k6(xe))?sE(OB(xe),0,We):xe.split(Qe,We)):[]}var d_=qv(function(xe,Qe,We){return xe+(We?" ":"")+uy(Qe)});function XA(xe,Qe,We){return xe=hA(xe),We=We==null?0:Xd(Es(We),0,xe.length),Qe=tg(Qe),xe.slice(We,We+Qe.length)==Qe}function Ia(xe,Qe,We){var ct=et.templateSettings;We&&rg(xe,Qe,We)&&(Qe=Pi),xe=hA(xe),Qe=Ew({},Qe,ct,Ki);var Gt=Ew({},Qe.imports,ct.imports,Ki),Xt=Ph(Gt),wi=kbe(Gt,Xt),Ui,qi,Ur=0,Wr=Qe.interpolate||rne,an="__p += '",Wn=y((Qe.escape||rne).source+"|"+Wr.source+"|"+(Wr===Tit?Twi:rne).source+"|"+(Qe.evaluate||rne).source+"|$","g"),Mo="//# sourceURL="+(P.call(Qe,"sourceURL")?(Qe.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++l1i+"]")+` `;xe.replace(Wn,function(Hn,Za,El,Yf,eA,Lh){return El||(El=Yf),an+=xe.slice(Ur,Lh).replace(Uwi,Q1i),Za&&(Ui=!0,an+=`' + __e(`+Za+`) + '`),eA&&(qi=!0,an+=`'; `+eA+`; __p += '`),El&&(an+=`' + ((__t = (`+El+`)) == null ? '' : __t) + '`),Ur=Lh+Hn.length,Hn}),an+=`'; `;var Ta=P.call(Qe,"variable")&&Qe.variable;if(!Ta)an=`with (obj) { `+an+` } `;else if(Dwi.test(Ta))throw new C(jBi);an=(qi?an.replace(gwi,""):an).replace(fwi,"$1").replace(pwi,"$1;"),an="function("+(Ta||"obj")+`) { `+(Ta?"":`obj || (obj = {}); `)+"var __t, __p = ''"+(Ui?", __e = _.escape":"")+(qi?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; `)+an+`return __p }`;var Is=vw(function(){return E(Xt,Mo+"return "+an).apply(Pi,wi)});if(Is.source=an,bR(Is))throw Is;return Is}function mk(xe){return hA(xe).toLowerCase()}function sf(xe){return hA(xe).toUpperCase()}function pQ(xe,Qe,We){if(xe=hA(xe),xe&&(We||Qe===Pi))return Wit(xe);if(!xe||!(Qe=tg(Qe)))return xe;var ct=OB(xe),Gt=OB(Qe),Xt=qit(ct,Gt),wi=jit(ct,Gt)+1;return sE(ct,Xt,wi).join("")}function g_(xe,Qe,We){if(xe=hA(xe),xe&&(We||Qe===Pi))return xe.slice(0,Crt(xe)+1);if(!xe||!(Qe=tg(Qe)))return xe;var ct=OB(xe),Gt=jit(ct,OB(Qe))+1;return sE(ct,0,Gt).join("")}function Vf(xe,Qe,We){if(xe=hA(xe),xe&&(We||Qe===Pi))return xe.replace(Hbe,"");if(!xe||!(Qe=tg(Qe)))return xe;var ct=OB(xe),Gt=qit(ct,OB(Qe));return sE(ct,Gt).join("")}function Wi(xe,Qe){var We=ZBi,ct=$Bi;if(FA(Qe)){var Gt="separator"in Qe?Qe.separator:Gt;We="length"in Qe?Es(Qe.length):We,ct="omission"in Qe?tg(Qe.omission):ct}xe=hA(xe);var Xt=xe.length;if(k6(xe)){var wi=OB(xe);Xt=wi.length}if(We>=Xt)return xe;var Ui=We-T6(ct);if(Ui<1)return ct;var qi=wi?sE(wi,0,Ui).join(""):xe.slice(0,Ui);if(Gt===Pi)return qi+ct;if(wi&&(Ui+=qi.length-Ui),kp(Gt)){if(xe.slice(Ui).search(Gt)){var Ur,Wr=qi;for(Gt.global||(Gt=y(Gt.source,hA(Pit.exec(Gt))+"g")),Gt.lastIndex=0;Ur=Gt.exec(Wr);)var an=Ur.index;qi=qi.slice(0,an===Pi?Ui:an)}}else if(xe.indexOf(tg(Gt),Ui)!=Ui){var Wn=qi.lastIndexOf(Gt);Wn>-1&&(qi=qi.slice(0,Wn))}return qi+ct}function f_(xe){return xe=hA(xe),xe&&mwi.test(xe)?xe.replace(Zit,L1i):xe}var fE=qv(function(xe,Qe,We){return xe+(We?" ":"")+Qe.toUpperCase()}),uy=ry("toUpperCase");function or(xe,Qe,We){return xe=hA(xe),Qe=We?Pi:Qe,Qe===Pi?D1i(xe)?k1i(xe):x1i(xe):xe.match(Qe)||[]}var vw=Xa(function(xe,Qe){try{return Xx(xe,Pi,Qe)}catch(We){return bR(We)?We:new C(We)}}),Zo=jA(function(xe,Qe){return Fv(Qe,function(We){We=U0(We),Xu(xe,We,tQ(xe[We],xe))}),xe});function lf(xe){var Qe=xe==null?0:xe.length,We=ca();return xe=Qe?Wh(xe,function(ct){if(typeof ct[1]!="function")throw new w(Lv);return[We(ct[0]),ct[1]]}):[],Xa(function(ct){for(var Gt=-1;++Gt<Qe;){var Xt=xe[Gt];if(Xx(Xt[0],this,ct))return Xx(Xt[1],this,ct)}})}function Ck(xe){return R0(qA(xe,OP))}function Hu(xe){return function(){return xe}}function Hp(xe,Qe){return xe==null||xe!==xe?Qe:xe}var mQ=TI(),dr=TI(!0);function lu(xe){return xe}function wd(xe){return vn(typeof xe=="function"?xe:qA(xe,OP))}function Ek(xe){return ht(qA(xe,OP))}function Us(xe,Qe){return xt(xe,qA(Qe,OP))}var CQ=Xa(function(xe,Qe){return function(We){return Dp(We,xe,Qe)}}),LM=Xa(function(xe,Qe){return function(We){return Dp(xe,We,Qe)}});function cy(xe,Qe,We){var ct=Ph(Qe),Gt=Gl(Qe,ct);We==null&&!(FA(Qe)&&(Gt.length||!ct.length))&&(We=Qe,Qe=xe,xe=this,Gt=Gl(Qe,Ph(Qe)));var Xt=!(FA(We)&&"chain"in We)||!!We.chain,wi=tC(xe);return Fv(Gt,function(Ui){var qi=Qe[Ui];xe[Ui]=qi,wi&&(xe.prototype[Ui]=function(){var Ur=this.__chain__;if(Xt||Ur){var Wr=xe(this.__wrapped__),an=Wr.__actions__=Ma(this.__actions__);return an.push({func:qi,args:arguments,thisArg:xe}),Wr.__chain__=Ur,Wr}return qi.apply(xe,VP([this.value()],arguments))})}),xe}function Rh(){return Vm._===this&&(Vm._=U),this}function Af(){}function xo(xe){return xe=Es(xe),Xa(function(Qe){return Di(Qe,xe)})}var Ik=$P(Wh),Vp=$P(zit),FM=$P(Fbe);function oC(xe){return Zv(xe)?Ybe(U0(xe)):Na(xe)}function _w(xe){return function(Qe){return xe==null?Pi:Uo(xe,Qe)}}var V0=eR(),pE=eR(!0);function Bw(){return[]}function wa(){return!1}function Au(){return{}}function p_(){return""}function hy(){return!0}function m_(xe,Qe){if(xe=Es(xe),xe<1||xe>GP)return[];var We=Db,ct=Ce(xe,Db);Qe=ca(Qe),xe-=Db;for(var Gt=Nbe(ct,Qe);++We<xe;)Qe(We);return Gt}function zp(xe){return Ya(xe)?Wh(xe,U0):Gf(xe)?[xe]:Ma(i_(hA(xe)))}function Fn(xe){var Qe=++R;return hA(xe)+Qe}var C_=eM(function(xe,Qe){return xe+Qe},0),Yp=tR("ceil"),Vo=eM(function(xe,Qe){return xe/Qe},1),aC=tR("floor");function HR(xe){return xe&&xe.length?en(xe,lu,yd):Pi}function sC(xe,Qe){return xe&&xe.length?en(xe,ca(Qe,2),yd):Pi}function zf(xe){return Jit(xe,lu)}function mE(xe,Qe){return Jit(xe,ca(Qe,2))}function ww(xe){return xe&&xe.length?en(xe,lu,Fa):Pi}function bw(xe,Qe){return xe&&xe.length?en(xe,ca(Qe,2),Fa):Pi}var Qw=eM(function(xe,Qe){return xe*Qe},1),E_=tR("round"),fc=eM(function(xe,Qe){return xe-Qe},0);function Sw(xe){return xe&&xe.length?Jbe(xe,lu):0}function Dw(xe,Qe){return xe&&xe.length?Jbe(xe,ca(Qe,2)):0}return et.after=CR,et.ary=Of,et.assign=DR,et.assignIn=MR,et.assignInWith=Ew,et.assignWith=pG,et.at=lQ,et.before=ER,et.bind=tQ,et.bindAll=Zo,et.bindKey=IR,et.castArray=xM,et.chain=_o,et.chunk=jb,et.compact=n_,et.concat=O3,et.cond=lf,et.conforms=Ck,et.constant=Hu,et.countBy=s_,et.create=dE,et.curry=xR,et.curryRight=CM,et.debounce=yR,et.defaults=SM,et.defaultsDeep=DM,et.defer=vR,et.delay=ek,et.difference=sG,et.differenceBy=lR,et.differenceWith=sw,et.drop=G3,et.dropRight=Xb,et.dropRightWhile=lw,et.dropWhile=o_,et.fill=ti,et.filter=af,et.flatMap=W3,et.flatMapDeep=q3,et.flatMapDepth=cw,et.flatten=td,et.flattenDeep=Cl,et.flattenDepth=uw,et.flip=EM,et.flow=mQ,et.flowRight=dr,et.fromPairs=H3,et.functions=NI,et.functionsIn=PM,et.groupBy=hR,et.initial=AM,et.intersection=uM,et.intersectionBy=z3,et.intersectionWith=Y3,et.invert=ly,et.invertBy=mG,et.invokeMap=j3,et.iteratee=wd,et.keyBy=dw,et.keys=Ph,et.keysIn=Tg,et.map=pM,et.mapKeys=PR,et.mapValues=RR,et.matches=Ek,et.matchesProperty=Us,et.memoize=IM,et.merge=LR,et.mergeWith=Op,et.method=CQ,et.methodOf=LM,et.mixin=cy,et.negate=fw,et.nthArg=xo,et.omit=og,et.omitBy=Hf,et.once=ks,et.orderBy=X3,et.over=Ik,et.overArgs=hG,et.overEvery=Vp,et.overSome=FM,et.partial=_R,et.partialRight=pw,et.partition=gR,et.pick=ck,et.pickBy=Bd,et.property=oC,et.propertyOf=_w,et.pull=ng,et.pullAll=Rp,et.pullAllBy=zs,et.pullAllWith=za,et.pullAt=Ys,et.range=V0,et.rangeRight=pE,et.rearg=tk,et.reject=$3,et.remove=Js,et.rest=dG,et.reverse=Qs,et.sampleSize=pR,et.set=FR,et.setWith=Gp,et.shuffle=eQ,et.slice=Ks,et.sortBy=mR,et.sortedUniq=Zs,et.sortedUniqBy=$s,et.split=vG,et.spread=ik,et.tail=el,et.take=tl,et.takeRight=Fs,et.takeRightWhile=Ns,et.takeWhile=il,et.tap=da,et.throttle=Fp,et.thru=Oo,et.toArray=wM,et.toPairs=NR,et.toPairsIn=cQ,et.toPath=zp,et.toPlainObject=QM,et.transform=CG,et.unary=gG,et.union=rl,et.unionBy=Ss,et.unionWith=fs,et.uniq=Cs,et.uniqBy=nl,et.uniqWith=cM,et.unset=hk,et.unzip=Zb,et.unzipWith=Lp,et.update=hQ,et.updateWith=dQ,et.values=Ay,et.valuesIn=kR,et.without=$b,et.words=or,et.wrap=iQ,et.xor=LI,et.xorBy=Uf,et.xorWith=AR,et.zip=hM,et.zipObject=eo,et.zipObjectDeep=Kn,et.zipWith=Io,et.entries=NR,et.entriesIn=cQ,et.extend=MR,et.extendWith=Ew,cy(et,et),et.add=C_,et.attempt=vw,et.camelCase=yw,et.capitalize=H0,et.ceil=Yp,et.clamp=RM,et.clone=rQ,et.cloneDeep=Mg,et.cloneDeepWith=FI,et.cloneWith=l_,et.conformsTo=BR,et.deburr=GR,et.defaultTo=Hp,et.divide=Vo,et.endsWith=gQ,et.eq=O0,et.escape=fQ,et.escapeRegExp=dk,et.every=J3,et.find=cR,et.findIndex=sy,et.findKey=MM,et.findLast=K3,et.findLastIndex=Aw,et.findLastKey=AQ,et.floor=aC,et.forEach=fM,et.forEachRight=hw,et.forIn=Iw,et.forInRight=Ea,et.forOwn=xw,et.forOwnRight=TM,et.get=c_,et.gt=yM,et.gte=rk,et.has=TR,et.hasIn=_d,et.head=V3,et.identity=lu,et.includes=dR,et.indexOf=eC,et.inRange=UR,et.invoke=kI,et.isArguments=Np,et.isArray=Ya,et.isArrayBuffer=A_,et.isArrayLike=Mh,et.isArrayLikeObject=LA,et.isBoolean=nQ,et.isBuffer=id,et.isDate=oQ,et.isElement=nk,et.isEmpty=wR,et.isEqual=fG,et.isEqualWith=ok,et.isError=bR,et.isFinite=vM,et.isFunction=tC,et.isInteger=ak,et.isLength=cE,et.isMap=iC,et.isMatch=sk,et.isMatchWith=QR,et.isNaN=_M,et.isNative=mw,et.isNil=lk,et.isNull=SR,et.isNumber=u_,et.isObject=FA,et.isObjectLike=Bl,et.isPlainObject=vd,et.isRegExp=kp,et.isSafeInteger=Th,et.isSet=NA,et.isString=aQ,et.isSymbol=Gf,et.isTypedArray=rC,et.isUndefined=Ak,et.isWeakMap=sQ,et.isWeakSet=BM,et.join=lG,et.kebabCase=nC,et.last=ah,et.lastIndexOf=a_,et.lowerCase=h_,et.lowerFirst=gk,et.lt=Cw,et.lte=uk,et.max=HR,et.maxBy=sC,et.mean=zf,et.meanBy=mE,et.min=ww,et.minBy=bw,et.stubArray=Bw,et.stubFalse=wa,et.stubObject=Au,et.stubString=p_,et.stubTrue=hy,et.multiply=Qw,et.nth=AG,et.noConflict=Rh,et.noop=Af,et.now=gw,et.pad=fk,et.padEnd=EG,et.padStart=pk,et.parseInt=IG,et.random=OR,et.reduce=fR,et.reduceRight=Z3,et.repeat=gE,et.replace=xG,et.result=uQ,et.round=E_,et.runInContext=o,et.sample=uG,et.size=cG,et.snakeCase=yG,et.some=mM,et.sortedIndex=Ws,et.sortedIndexBy=ns,et.sortedIndexOf=qs,et.sortedLastIndex=js,et.sortedLastIndexBy=ka,et.sortedLastIndexOf=Xs,et.startCase=d_,et.startsWith=XA,et.subtract=fc,et.sum=Sw,et.sumBy=Dw,et.template=Ia,et.times=m_,et.toFinite=Up,et.toInteger=Es,et.toLength=bM,et.toLower=mk,et.toNumber=G0,et.toSafeInteger=hE,et.toString=hA,et.toUpper=sf,et.trim=pQ,et.trimEnd=g_,et.trimStart=Vf,et.truncate=Wi,et.unescape=f_,et.uniqueId=Fn,et.upperCase=fE,et.upperFirst=uy,et.each=fM,et.eachRight=hw,et.first=V3,cy(et,function(){var xe={};return Eo(et,function(Qe,We){P.call(et.prototype,We)||(xe[We]=Qe)}),xe}(),{chain:!1}),et.VERSION=WBi,Fv(["bind","bindKey","curry","curryRight","partial","partialRight"],function(xe){et[xe].placeholder=et}),Fv(["drop","take"],function(xe,Qe){Pt.prototype[xe]=function(We){We=We===Pi?1:me(Es(We),0);var ct=this.__filtered__&&!Qe?new Pt(this):this.clone();return ct.__filtered__?ct.__takeCount__=Ce(We,ct.__takeCount__):ct.__views__.push({size:Ce(We,Db),type:xe+(ct.__dir__<0?"Right":"")}),ct},Pt.prototype[xe+"Right"]=function(We){return this.reverse()[xe](We).reverse()}}),Fv(["filter","map","takeWhile"],function(xe,Qe){var We=Qe+1,ct=We==Sit||We==rwi;Pt.prototype[xe]=function(Gt){var Xt=this.clone();return Xt.__iteratees__.push({iteratee:ca(Gt,3),type:We}),Xt.__filtered__=Xt.__filtered__||ct,Xt}}),Fv(["head","last"],function(xe,Qe){var We="take"+(Qe?"Right":"");Pt.prototype[xe]=function(){return this[We](1).value()[0]}}),Fv(["initial","tail"],function(xe,Qe){var We="drop"+(Qe?"":"Right");Pt.prototype[xe]=function(){return this.__filtered__?new Pt(this):this[We](1)}}),Pt.prototype.compact=function(){return this.filter(lu)},Pt.prototype.find=function(xe){return this.filter(xe).head()},Pt.prototype.findLast=function(xe){return this.reverse().find(xe)},Pt.prototype.invokeMap=Xa(function(xe,Qe){return typeof xe=="function"?new Pt(this):this.map(function(We){return Dp(We,xe,Qe)})}),Pt.prototype.reject=function(xe){return this.filter(fw(ca(xe)))},Pt.prototype.slice=function(xe,Qe){xe=Es(xe);var We=this;return We.__filtered__&&(xe>0||Qe<0)?new Pt(We):(xe<0?We=We.takeRight(-xe):xe&&(We=We.drop(xe)),Qe!==Pi&&(Qe=Es(Qe),We=Qe<0?We.dropRight(-Qe):We.take(Qe-xe)),We)},Pt.prototype.takeRightWhile=function(xe){return this.reverse().takeWhile(xe).reverse()},Pt.prototype.toArray=function(){return this.take(Db)},Eo(Pt.prototype,function(xe,Qe){var We=/^(?:filter|find|map|reject)|While$/.test(Qe),ct=/^(?:head|last)$/.test(Qe),Gt=et[ct?"take"+(Qe=="last"?"Right":""):Qe],Xt=ct||/^find/.test(Qe);!Gt||(et.prototype[Qe]=function(){var wi=this.__wrapped__,Ui=ct?[1]:arguments,qi=wi instanceof Pt,Ur=Ui[0],Wr=qi||Ya(wi),an=function(Za){var El=Gt.apply(et,VP([Za],Ui));return ct&&Wn?El[0]:El};Wr&&We&&typeof Ur=="function"&&Ur.length!=1&&(qi=Wr=!1);var Wn=this.__chain__,Mo=!!this.__actions__.length,Ta=Xt&&!Wn,Is=qi&&!Mo;if(!Xt&&Wr){wi=Is?wi:new Pt(this);var Hn=xe.apply(wi,Ui);return Hn.__actions__.push({func:Oo,args:[an],thisArg:Pi}),new It(Hn,Wn)}return Ta&&Is?xe.apply(this,Ui):(Hn=this.thru(an),Ta?ct?Hn.value()[0]:Hn.value():Hn)})}),Fv(["pop","push","shift","sort","splice","unshift"],function(xe){var Qe=Q[xe],We=/^(?:push|sort|unshift)$/.test(xe)?"tap":"thru",ct=/^(?:pop|shift)$/.test(xe);et.prototype[xe]=function(){var Gt=arguments;if(ct&&!this.__chain__){var Xt=this.value();return Qe.apply(Ya(Xt)?Xt:[],Gt)}return this[We](function(wi){return Qe.apply(Ya(wi)?wi:[],Gt)})}}),Eo(Pt.prototype,function(xe,Qe){var We=et[Qe];if(We){var ct=We.name+"";P.call(Je,ct)||(Je[ct]=[]),Je[ct].push({name:Qe,func:We})}}),Je[jv(Pi,m3).name]=[{name:"wrapper",func:Pi}],Pt.prototype.clone=St,Pt.prototype.reverse=dt,Pt.prototype.value=Le,et.prototype.at=ol,et.prototype.chain=al,et.prototype.commit=mn,et.prototype.next=qt,et.prototype.plant=uE,et.prototype.reverse=uR,et.prototype.toJSON=et.prototype.valueOf=et.prototype.value=gM,et.prototype.first=et.prototype.head,le&&(et.prototype[le]=dM),et},O1i=U1i(),Ii=O1i;var Do={};Do.Source=[];Do.TempSource=[];Do.entity=[];Do.lastSelectEntity=null;Do.pointsId=[];Do.states=0;Do.PointSelectSource=[];Do.currentObj=null;Do.selectedItem=null;Do.setSource=function(o){this.Source=o};Do.setTempSource=function(o){this.TempSource=o};Do.setPointSelectSource=function(o){this.PointSelectSource=o};Do.getSource=function(){return this.Source};Do.getTempSource=function(){return this.TempSource};Do.getPointSelectSource=function(){return this.PointSelectSource};Do.push=function(o){this.Source.push(o)};Do.pusTemSource=function(o){this.TempSource.push(o)};Do.pusPointSelectSource=function(o){this.PointSelectSource.push(o)};Do.insertGroupId=function(o,A){o.checked!=null&&o.checked!="true"&&o.checked!=null||(o.checked=!0);try{o.item.item.show==!1&&(o.checked=!1)}catch{}var f=this.getSourceById(Do.Source,A);if(f){for(var m=0,C=this.TempSource.length;m<C;m++)if(this.TempSource[m].id==A){o.checked&&!this.TempSource[m].checked&&(this.TempSource[m].checked=!0);break}f.children||(f.children=[]),f.children.push(o)}else this.push(o);var E=Ii.clone(o);return E.item=null,Do.currentObj=E,this.pusTemSource(E),o.id};Do.getSourceById=function(o,A){if(o)for(var f=0;f<o.length;f++){if(o[f].id==A)return o[f];if(o[f]&&o[f].children&&o[f].children.length>0){var m=this.getSourceById(o[f].children,A);if(m!=null)return m}}};Do.exitsGroup=function(o,A){if(o)for(var f=Do.Source,m=0;m<f.length;m++){if(f[m].id==o){if(f[m].type=="group")for(var C=0;C<f[m].children.length;C++){var E=f[m].children[C];if(E.name==A)return!0}return!1}if(f[m]&&f[m].children&&f[m].children.length>0)var I=this.getSourceById(f[m].children,o)}};Do.getTempSourceById=function(o){for(var A=0;A<this.TempSource.length;A++)if(this.TempSource[A].id==o)return this.TempSource[A]};Do.getPointSelectSourceById=function(o){for(var A=0;A<this.PointSelectSource.length;A++)if(this.PointSelectSource[A].id==o)return this.PointSelectSource[A]};Do.getSourceByName=function(o,A){return Ii.find(o,function(f){return f.name==A})};Do.delete=function(o,A,f){var m=this.getSourceById(Do.Source,o);if(m&&m.children&&m.children.length>0){for(var C=0;C<m.children.length;)this.delete(m.children[C].id);if(m&&m.type=="group")if(m.pId==0||m.pId==""){var E=this.getIndex(Do.Source,m);Do.Source.splice(E,1),this.delete1(m.id)}else{var I=this.getSourceById(Do.Source,m.pId),E=this.getIndex(I.children,m);I.children.splice(E,1),this.delete1(m.id)}else{if(m.item)m.item.deleteObject(o);else{try{A.entities.removeById(m.id)}catch{}try{var x=A.dataSources.get(m.id);x&&A.dataSources.remove(x)}catch{}try{var x=A.imageryLayers.get(m.id);x&&A.imageryLayers.remove(x)}catch{}try{var x=A.scene.primitives.get(m.id);A.scene.primitives.remove(x)}catch{}}var I=this.getSourceById(Do.Source,m.pId),E=this.getIndex(I.children,m);I.children.splice(E,1),this.delete1(m.id)}}else if(m&&m.type=="group")if(m.pId==0||m.pId==""){var E=this.getIndex(Do.Source,m);Do.Source.splice(E,1),this.delete1(m.id)}else{var I=this.getSourceById(Do.Source,m.pId),E=this.getIndex(I.children,m);I.children.splice(E,1),this.delete1(m.id)}else if(m){if(m.item&&m.item.deleteObject)m.item.deleteObject(o);else{try{A.entities.removeById(m.id)}catch{}try{var x=A.dataSources.get(m.id);x&&A.dataSources.remove(x)}catch{}try{var x=A.imageryLayers.get(m.id);x&&A.imageryLayers.remove(x)}catch{}try{var x=A.scene.primitives.get(m.id);A.scene.primitives.remove(x)}catch{}}this.delete1(m.id);var I=this.getSourceById(Do.Source,m.pId);if(I){var E=this.getIndex(I.children,m);I.children.splice(E,1)}}};Do.temporaryItem={obj:[],state:"start",operation:""};Do.endtemporaryItem=function(){Do.temporaryItem.obj=[],Do.temporaryItem.state="end",Do.temporaryItem.operation=""};Do.starttemporaryItem=function(o){var A=null;try{A=document.getElementById("toolTip")}catch{}if(A!=null&&(A.style.display="none"),Do.handler!=null&&(Do.handler.destroy(),Do.handler=null),Do.temporaryItem.obj.length>0&&Do.temporaryItem.state=="start")for(var f=0;f<Do.temporaryItem.obj.length;f++){try{Do.temporaryItem.obj[f].destroy()}catch{}try{o.entities.remove(Do.temporaryItem.obj[f])}catch{}}return Do.temporaryItem.obj=[],Do.temporaryItem.state="start",Do.temporaryItem.operation};Do.delete1=function(o){for(var A=0;A<this.TempSource.length;A++)this.TempSource[A].id==o&&this.TempSource.splice(A,1)};Do.getIndex=function(o,A){for(var f=0;f<o.length;f++)if(o[f].id==A.id)return f;return-1};Do.setVisibilityTemp=function(o,A){var f=Ii.filter(this.TempSource,function(m){return m.id==o});f&&f.length&&(f[0].checked=A)};Do.setVisibility=function(o,A,f,m){this.setVisibilityTemp(o,A);var C=this.getSourceById(Do.Source,o);if(!!C){if(C.children&&C.children.length>0){for(var E=0;E<C.children.length;E++)this.setVisibility(C.children[E].id,A);if(C.type!="group")if(C.item&&C.item.setVisibility)C.item.setVisibility(A,o);else{try{var I=f.entities.getById(C.id);I&&(I.show=A)}catch{}try{var I=f.dataSources.get(C.id);I&&(I.show=A)}catch{}try{var I=f.imageryLayers.get(C.id);I&&(I.show=A)}catch{}try{var I=f.scene.primitives.get(C.id);I&&(I.show=A)}catch{}}}else if(C.type!="group")if(C.item&&C.item.setVisibility)C.item.setVisibility(A,o);else{try{var I=f.entities.getById(C.id);I&&(I.show=A)}catch{}try{var I=f.dataSources.get(C.id);I&&(I.show=A)}catch{}try{var I=f.imageryLayers.get(C.id);I&&(I.show=A)}catch{}try{var I=f.scene.primitives.get(C.id);I&&(I.show=A)}catch{}}}};Do.removeItem=function(o){if(o)for(var A=0;A<o.length;A++)o[A].item=null,o[A].children&&this.removeItem(o[A].children);return o};Do.changeGroup=function(o,A){var E=this.getSourceById(this.Source,o),f=this.getSourceById(this.Source,A);if(E&&f&&f.children)if(E.id==0||E.id==null||E.id==null){var m=this.getIndex(this.Source,E);this.Source.splice(m,1),E.pId=A,f.children.push(E)}else{var C=this.getSourceById(this.Source,E.pId),m=this.getIndex(C.children,E);C.children.splice(m,1),E.pId=A,f.children.push(E)}var E=this.getTempSourceById(o);E&&(E.pId=A)};Do.handler=null;Do.removeHandler=function(){Do.handler&&(Do.handler.destroy(),Do.handler=null)};var Ke=Do;var C3=null;function YP(o,A){C3=A,this._viewer=o,this._core=new Ji(o,A),this._tree=Ke}YP.prototype.createDivPoint=function(o,A,f={}){var m,C=f.id||"DivPoint"+this._core.getuid();Array.isArray(A)?A.length===2?m=C3.Cartesian3.fromDegrees(A[0],A[1]):A.length===3&&(m=C3.Cartesian3.fromDegrees(A[0],A[1],A[2])):A.x&&A.y?A instanceof C3.Cartesian3?m=A:m=C3.Cartesian3.fromDegrees(A.x,A.y,A.z):A.lon&&A.lat&&(m=C3.Cartesian3.fromDegrees(A.lon,A.lat,A.height)),this.item={id:C,show:!0,name:o,type:"default",offset:"l",position:m},Object.assign(this.item,f),this._viewer.clock.onTick.addEventListener(this.updateDivPointEvent,this);var E={id:this.item.id,name:o,pId:f.GroupID||0,type:"DivPoint",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,E.pId),this};YP.prototype.updateDivPointEvent=function(){if(this.item){let o=this.item,A=document.getElementById(o.id),f=!1;if(o.show){let m=this._viewer.scene.mapProjection.ellipsoid,C=this._viewer.scene.camera.positionWC,E=new C3.EllipsoidalOccluder(m,C);if(!E.isPointVisible(o.position))A&&(A.style.display="none");else if(o.near!==void 0||o.far!==void 0){let I=this._core.getPointToCameraDistance(this._viewer,o.position),x=o.near||0,y=o.far||1/0;I>=x&&I<=y?(A&&(A.style.display="block"),f=!0):A&&(A.style.display="none")}else A&&(A.style.display="block"),f=!0;E=void 0}else A&&(A.style.display="none");if(f){let m=this._viewer.scene.cartesianToCanvasCoordinates(o.position);if(!m)return;if(!o.name&&(o.name="SmartEarth"),!A){let I;if(o.type==="default")if(o.description){let x=o.description,y=this._core.isDOM(x);y&&(x="");let v="";Array.isArray(x)?x.forEach(w=>{v+='<div class="divpoint-data-li" style="padding: 4px 45px 4px 0;font-size: 14px;">'+w+"</div>"}):v='<div class="divpoint-data-li" style="padding: 4px 45px 4px 0;font-size: 14px;">'+x+"</div>",I=`<div id="${o.id}" style="${o.onclick?"cursor: pointer;":"pointer-events: none;"}position: absolute; left: 0px; top: 0px; transform: matrix(1, 0, 0, 1, 246.52, 299.197); transform-origin: left bottom 0px;"> <div class="divpoint"> <div class="divpoint-wrap" style="position: relative;padding: 30px;overflow: hidden;"> <div class="divpoint-area" style="background-image:linear-gradient(135deg,transparent 30px,#28bbf06c 30px,#28bbf06c 50%,transparent 50%),linear-gradient(-45deg,transparent 30px,#28bbf06c 30px,#28bbf06c 50.1%,transparent 50%);position: relative;min-width: 180px;"> <div class="divpoint-arrow-lt"></div> <div class="divpoint-b-t" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;left: 44px;right: 0;height: 1px;z-index: 10;"></div> <div class="divpoint-b-r" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;right: 0;bottom: 44px;width: 1px;z-index: 10;"></div> <div class="divpoint-b-b" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;left: 0;right: 44px;bottom: 0;height: 1px;z-index: 10;"></div> <div class="divpoint-b-l" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 44px;left: 0;bottom: 0;width: 1px;z-index: 10;"></div> <div class="divpoint-arrow-rb"></div> <div class="divpoint-label-wrap" style="padding-left: 12px;color:#fff;font-size: 16px;white-space: nowrap;overflow: hidden;"> <div class="divpoint-title" style="background-image: linear-gradient(135deg,transparent 25px,#29baf1 25px); margin-top: 20px;padding: 0 12px 0 30px;height: 36px;line-height: 36px;position: relative;">${o.name}</div> <div class="divpoint-label-content" style="padding: 15px 0;margin-top: 3px;border-top: 2px solid #29baf1;"> ${v} </div> </div> </div> <div class="divpoint-b-t-l" style="background-color:#29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;left: 0;width: 1px;height: 62px;transform: rotate(45deg) translate(52px,-22px);z-index: 10;"></div> <div class="divpoint-b-b-r" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;bottom: 0;right: 0;width: 1px;height: 62px;transform: rotate(45deg) translate(-52px,22px);z-index: 10;"></div> </div> <div class="divpoint-arrow" style="background-color: #28bbf0;position: absolute;bottom: 0;left: 0;width: 45px;height: 2px;transform: rotate(-45deg) translate(5px,-15px);"></div> </div> </div>`,$(this._viewer.container).append(I),A=document.getElementById(o.id),y&&A.querySelector(".divpoint-data-li").append(o.description),o.onclick&&(A.onclick=()=>{o.onclick(o)})}else I=`<div id="${o.id}" style="${o.onclick?"cursor: pointer;":"pointer-events: none;"}position: absolute; left: 0px; top: 0px; transform: matrix(1, 0, 0, 1, 246.52, 299.197); transform-origin: left bottom 0px;"> <div class="divpoint"> <div class="divpoint-wrap" style="position: relative;padding: 30px;overflow: hidden;"> <div class="divpoint-area" style="background-image:linear-gradient(135deg,transparent 30px,#28bbf06c 30px,#28bbf06c 50%,transparent 50%),linear-gradient(-45deg,transparent 30px,#28bbf06c 30px,#28bbf06c 50.1%,transparent 50%);position: relative;min-width: 180px;"> <div class="divpoint-arrow-lt"></div> <div class="divpoint-b-t" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;left: 44px;right: 0;height: 1px;z-index: 10;"></div> <div class="divpoint-b-r" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;right: 0;bottom: 44px;width: 1px;z-index: 10;"></div> <div class="divpoint-b-b" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;left: 0;right: 44px;bottom: 0;height: 1px;z-index: 10;"></div> <div class="divpoint-b-l" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 44px;left: 0;bottom: 0;width: 1px;z-index: 10;"></div> <div class="divpoint-arrow-rb"></div> <div class="divpoint-label-wrap" style="padding-left: 12px;color:#fff;font-size: 16px;white-space: nowrap;overflow: hidden;"> <div class="divpoint-title" style="background-image: linear-gradient(135deg,transparent 25px,#28bbf0 25px,#28bbf0 50%,transparent 50%),linear-gradient(-45deg,transparent 32px,#28bbf0 32px,#28bbf0 50%,transparent 50%);margin-top: 10px;margin-bottom: 10px;padding: 0 12px 0 30px;height: 36px;line-height: 36px;position: relative;">${o.name}</div> </div> </div> <div class="divpoint-b-t-l" style="background-color:#29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;left: 0;width: 1px;height: 62px;transform: rotate(45deg) translate(52px,-22px);z-index: 10;"></div> <div class="divpoint-b-b-r" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;bottom: 0;right: 0;width: 1px;height: 62px;transform: rotate(45deg) translate(-52px,22px);z-index: 10;"></div> </div> <div class="divpoint-arrow" style="background-color: #28bbf0;position: absolute;bottom: 0;left: 0;width: 45px;height: 2px;transform: rotate(-45deg) translate(5px,-15px);"></div> </div> </div>`,$(this._viewer.container).append(I),A=document.getElementById(o.id),o.onclick&&(A.onclick=()=>{o.onclick(o)});else{let x=o.description,y=this._core.isDOM(x);y&&(x=""),I=`<div id="${o.id}" style="${o.onclick?"cursor: pointer;":"pointer-events: none;"}position: absolute; left: 0px; top: 0px; transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="divpoint"> ${x} </div> </div>`,$(this._viewer.container).append(I),A=document.getElementById(o.id),y&&A.querySelector(".divpoint").append(o.description),o.onclick&&(A.onclick=()=>{o.onclick(o)})}}let C=m.x,E=m.y-A.offsetHeight;o.offset==="c"?C-=A.offsetWidth/2:o.offset==="r"?C-=A.offsetWidth:Array.isArray(o.offset)&&(o.offset[0]==="c"?C-=A.offsetWidth/2:o.offset[0]==="r"?C-=A.offsetWidth:typeof o.offset[0]=="number"&&(C-=o.offset[0]),typeof o.offset[1]=="number"&&(E-=o.offset[1])),A.style.transform=`matrix(1, 0, 0, 1, ${C}, ${E})`}o.update&&o.update()}};YP.prototype.updateDivPoint=function(o,A={}){if(this.item){Object.assign(this.item,A),this.item.name=o;let f=document.getElementById(this.item.id);f&&f.remove()}};YP.prototype.deleteObject=function(){this._viewer.clock.onTick.removeEventListener(this.updateDivPointEvent,this);let o=document.getElementById(this.item.id);o&&o.remove()};YP.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};YP.prototype.getVisibility=function(){return this.item&&this.item.show};YP.prototype.setTreeobj=function(o){this.treeobj=o};var fne=YP;function UD(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke}UD.prototype.createPopupMessage=function(o){var A=document.createElement("div");A.className="kz",A.id="kzmb",A.style.position="absolute",A.style.width="200px",A.style.height="500px",A.style.padding="15px",A.style.background="rgba(0, 0, 0, 0.5)",A.style.color="#fff",A.style.top="0px",A.style.right="0px",A.style.border="solid 2px #358ABA",document.body.appendChild(A);var f=document.createElement("div");A.id="bt",f.style.overflow="hidden",f.style.height="45px",f.style.height="100%",f.className="layui-form-item",f.style.borderBottom="solid 2px #358ABA";var m=document.createElement("span");m.textContent=o,f.appendChild(m),A.appendChild(f),this.getElement("bt","kzmb")};UD.prototype.createPlotting=function(o,A){var f=document.createElement("main");f.id="kzmb",f.style.position="absolute",f.style.cursor="auto",f.style.left="0px",f.style.top="0px;",f.className="mainView",document.body.appendChild(f);var m=document.createElement("button");m.id="closeScene",m.setAttribute("aria-label","Close"),m.innerHTML="<span aria-hidden='true'>\xD7</span>",m.onclick=closeScene,m.className="myModal-close",f.appendChild(m);var C=document.createElement("input");C.id="objectTab1",C.type="radio",C.setAttribute("checked",""),C.name="objectTab";var E=document.createElement("label");E.setAttribute("for","objectTab1"),E.id="objectLabel1",E.className="function-module-caption",E.innerHTML="\u4E8C\u7EF4",f.appendChild(C),f.appendChild(E);var I=document.createElement("input");I.id="objectTab2",I.type="radio",I.name="objectTab";var x=document.createElement("label");x.setAttribute("for","objectTab2"),x.id="objectLabel2",x.className="function-module-caption",x.innerHTML="\u4E09\u7EF4",f.appendChild(I),f.appendChild(x);var y=document.createElement("section");y.id="objectContent1",f.appendChild(y);var v=[{title:"\u70B9",src:"../../static/image/point/points.png",onclick:"labelDraw()"},{title:"\u7EBF",src:"../../static/image/point/polyline.png",onclick:"polylineDraw()"},{title:"\u591A\u8FB9\u5F62",src:"../../static/image/point/polygon_clampToGround.png",onclick:"polygonDraw()"},{title:"\u77E9\u5F62",src:"../../static/image/point/rectangle.png",onclick:"rectangleDraw()"},{title:"\u5706",src:"../../static/image/point/Cricle.png",onclick:"circleDraw()"}];this.getBh(y,v);var w=document.createElement("section");w.id="objectContent2",f.appendChild(w);var Q=[{title:"\u7ACB\u65B9\u4F53",src:"../../static/image/point/extrudedRectangle.png",onclick:"boxDraw()"},{title:"\u5706\u67F1\u4F53",src:"../../static/image/point/extrudedCircle.png",onclick:"cylinderDraw()"},{title:"\u5706\u9525\u4F53",src:"../../static/image/point/Cone.png",onclick:"coneDraw()"},{title:"\u7403\u4F53",src:"../../static/image/point/ellipsoid.png",onclick:"circleDraw()"},{title:"\u591A\u8FB9\u4F53",src:"../../static/image/point/Multilateral.png",onclick:"multilateralDraw()"}];this.getBh(w,Q),this.getElement("kzmb","kzmb")};UD.prototype.getBh=function(o,A){var f="";f="<div class='function-module-content' style(height:'500px')><div class='function-module-sub-section'> <label class='function-module-sub-section-caption'>\u7B26\u53F7\u5E93</label><div id='icons' class='mark-list'>";for(var m=0;m<A.length;m++)f=f+"<div class='mark-list-item'><img title="+A[m].title+" src="+A[m].src+" id="+A[m].title+" onclick="+A[m].onclick+"></div>";f=f+"</div></div></div>",o.innerHTML=f};UD.prototype.createMeasurement=function(o,A){var f="craateTree",m=document.createElement("div");m.className="kz",m.id="kzmb",m.style.position="absolute",m.style.width="330px",m.style.height="500px",m.style.padding="15px",m.style.background="rgba(0, 0, 0, 0.5)",m.style.color="#fff",m.style.top="0px",m.style.right="0px",m.style.border="solid 2px #358ABA",document.body.appendChild(m);var C=document.createElement("div");C.id="bt",C.style.height="100%",C.style.overflow="hidden",C.style.height="25px",C.className="layui-form-item",C.style.borderBottom="solid 2px #358ABA";var E=document.createElement("span");E.textContent=o,C.appendChild(E),m.appendChild(C);var I=document.createElement("div");I.className="layui-tab-content",m.appendChild(I);var x=document.createElement("div");x.className="layui-tab-item layui-show",I.appendChild(x);var y=document.createElement("div");y.className="kind",x.appendChild(y);var v=document.createElement("ul");y.appendChild(v);var w=[{img:"../../img/bh/labels.png",text:"\u5782\u76F4\u9AD8\u5EA6",onclick:MeasurementVd},{img:"../../img/bh/labels.png",text:"\u6D77\u62D4\u9AD8\u5EA6",onclick:MeasurementAltitude},{img:"../../img/bh/labels.png",text:"\u7A7A\u95F4\u8DDD\u79BB",onclick:MeasurementSpaceD},{img:"../../img/bh/labels.png",text:"\u6C34\u5E73\u8DDD\u79BB",onclick:MeasurementHD},{img:"../../img/bh/labels.png",text:"\u4E09\u7EF4\u9762\u79EF",onclick:MeasurementThreeDSurfaceArea},{img:"../../img/bh/labels.png",text:"\u5E73\u9762\u9762\u79EF",onclick:MeasurementPlaneArea},{img:"../../img/bh/labels.png",text:"\u89D2\u5EA6\u6D4B\u91CF",onclick:MeasurementAngle}];this.getLi(v,w),typeof A=="function"&&A(),this.getElement("bt","kzmb")};UD.prototype.getLi=function(o,A){for(var f="",m=0;m<A.length;m++){var C=document.createElement("li");C.innerHTML=`<img src="${A[m].img}" /><p>${A[m].text}</p>`,C.onclick=A[m].onclick,o.appendChild(C)}};UD.prototype.getElement=function(o,A){var f=0,m=0,C=document.getElementById(o);C.style.cursor="move";var E=document.getElementById(A),I=!1;C.onmousedown=function(y){var y=y||window.event;f=y.clientX-E.offsetLeft,m=y.clientY-E.offsetTop,I=!0},document.onmousemove=function(x){if(I){var x=x||window.event,y=x.clientX-f,v=x.clientY-m,w=document.documentElement.clientWidth-E.offsetWidth,Q=document.documentElement.clientHeight-E.offsetHeight;y<0?y=0:y>w&&(y=w),v<0?v=0:v>Q&&(v=Q),E.style.left=y+"px",E.style.top=v+"px"}else return},document.onmouseup=function(){I=!1}};UD.prototype.createPopupProp=function(o,A){layuiLayer.close(SmartEarthPopupData.layerProp);var f=A.width,m=A.height,C=A.fn||{};SmartEarthPopupData.propType=A.type;var E=null,I=null,x=null;for(var y in C)E=y=="cancel"?C[y]:E,I=y=="success"?C[y]:I,x=y=="end"?C[y]:x;SmartEarthPopupData.layerProp=layuiLayer.open({title:o,type:2,skin:"other-class",shade:A.shade||0,shadeClose:!0,offset:A.offset||"r",resize:!1,area:[typeof f=="number"?f+"px":f,typeof m=="number"?m+"px":m],content:SmartEarthRootUrl+A.url,success:function(v,w){I&&typeof I=="function"&&I(v,w)},cancel:function(){E&&typeof E=="function"&&E()},end:function(){x&&typeof x=="function"&&x()}})};UD.prototype.createModelLibrary=function(o){layuiLayer.close(SmartEarthPopupData.ModelLibraryLayer),!o&&(o={});var A=o.width||342,f=o.height||"90%",m=o.offset||"r",C=o.fn||{},E=null,I=null,x=null;for(var y in C)E=y=="cancel"?C[y]:E,I=y=="success"?C[y]:I,x=y=="end"?C[y]:x;SmartEarthPopupData.ModelLibraryLayer=layuiLayer.open({title:"\u6A21\u578B\u5E93",type:2,skin:"other-class",shade:0,shadeClose:!0,offset:m,resize:!1,area:[A+"px",typeof f=="number"?f+"px":f],content:SmartEarthRootUrl+"Workers/Model/ModelLibrary.html",success:function(v,w){I&&typeof I=="function"&&I(v,w)},cancel:function(){E&&typeof E=="function"&&E()},end:function(){x&&typeof x=="function"&&x()}})};var VB=UD;function OD(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource(),this._core=new Ji(o,A)}OD.prototype.createGroup=function(o,A,f){if(f!=0){if(f==null||f==null||f==""){f=this._core.isnull(Ke.selectedItem)?0:Ke.selectedItem.id;var m=Ke.getSourceByName(this._tree,o);if(m)return m.id}}var C=Ke.getSourceById(this._tree,f);if(C){var m=Ke.getSourceByName(C.children,o);if(m)return m.id;var E={id:this._core.getuid(),name:o,pId:f,checked:A,type:"group",item:this};return this.item=E,Ke.insertGroupId(E,f)}else{var E={id:this._core.getuid(),name:o,pId:f,type:"group",checked:A,item:this};return this.item=E,Ke.insertGroupId(E,f)}};OD.prototype.getVisibility=function(){return this.item.checked};OD.prototype.changeGroup=function(o,A){Ke.changeGroup(o,A)};OD.prototype.starttemporaryItem=function(){return Ke.starttemporaryItem(this._viewer)};OD.prototype.pushtemporaryItem=function(o){Ke.temporaryItem.obj.push(o)};OD.prototype.pushStateItem=function(o){Ke.temporaryItem.operation=o};OD.prototype.endtemporaryItem=function(){Ke.endtemporaryItem()};OD.prototype.export=function(){return{type:"group",style:{name:this.item.name,pId:this.item.pId,id:this.item.id}}};var E3=OD;var G1i=function(){function o(A,f){var m=[],C=!0,E=!1,I=void 0;try{for(var x=A[Symbol.iterator](),y;!(C=(y=x.next()).done)&&(m.push(y.value),!(f&&m.length===f));C=!0);}catch(v){E=!0,I=v}finally{try{!C&&x.return&&x.return()}finally{if(E)throw I}}return m}return function(A,f){if(Array.isArray(A))return A;if(Symbol.iterator in Object(A))return o(A,f);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),H1i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};function pne(o){if(Array.isArray(o)){for(var A=0,f=Array(o.length);A<o.length;A++)f[A]=o[A];return f}else return Array.from(o)}function qh(o,A,f){this._viewer=o,this._cesium=A,this._Cesium=f.Cesium,this._url=f.url,this._urlParams=f.urlParams,this._urlTemplate=this._url+"?"+this._serialize(this._urlParams),this._rectangle=f.rectangle,this._maximumLevel=f.maximumLevel||19,this._minimumLevel=f.minimumLevel||1,this._tilingScheme=f.tilingScheme||new this._Cesium.GeographicTilingScheme,this._tileRangeByLevel={},this._moveEndTimestamp=null,this._isRemoved=!1,this._isCameraMoving=!1,this._propertyToBeFiltered=null,this._valuesToBeFiltered=null,this._primitiveByTile={},this._tileKeys=[],this._lowerLevelLimit=f.lowerLevelLimit||1,this._upperLevelLimit=f.upperLevelLimit||null,this._cameraMoveEndHandler=this._cameraMoveEndHandler.bind(this),this._cameraMoveStartHandler=this._cameraMoveStartHandler.bind(this),this.heightById={};for(var m=this._radianToDegree(this._rectangle.west),C=this._radianToDegree(this._rectangle.south),E=this._radianToDegree(this._rectangle.east),I=this._radianToDegree(this._rectangle.north),x=this._minimumLevel;x<=this._maximumLevel;x++){var y=this._lonLatToTileInWGS84([m,C],x),v=this._lonLatToTileInWGS84([E,I],x),w=Math.min(y[0],v[0]),Q=Math.max(y[0],v[0]),M=Math.min(y[1],v[1]),B=Math.max(y[1],v[1]);this._tileRangeByLevel[x]={minCol:M,maxCol:B,minRow:w,maxRow:Q}}this._tileRangeByLevel[0]={minCol:0,maxCol:0,minRow:0,maxRow:0},this._primitiveCollection=new this._Cesium.PrimitiveCollection,this._stop=!1,this._core=new Ji(o,A),this.tooltip=this._core.CreateTooltip(),this._getPosition=new hl(this._viewer,this._cesium)}qh.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":H1i(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};qh.prototype._fetch=function(o){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=new Promise(function(m,C){var E=new XMLHttpRequest;if(E.open(A.method||"GET",o),A.headers)for(var I in A.headers)E.setRequestHeader(I,A.headers[I]);E.onload=function(){if(E.readyState===4&&E.status===200)try{var x=JSON.parse(E.responseText);m(x)}catch{C(new Error("INVALID RESPONSE"))}},E.onerror=function(x){C(x)},E.onloadend=function(x){x.target.status!==200&&C(new Error("["+x.target.status+"]request failed: "+o))},E.send(A.body||null)});return f};qh.prototype._lonLatToTileInWGS84=function(o,A){var f=G1i(o,2),m=f[0],C=f[1],E=Math.floor(Math.pow(2,A)*(90-C)/180),I=Math.floor(Math.pow(2,A)*(180+m)/180);return[E,I]};qh.prototype._radianToDegree=function(o){return o/Math.PI*180};qh.prototype._isTileInRange=function(o){try{var A=this._tileRangeByLevel[o.level],f=A.minCol,m=A.maxCol,C=A.minRow,E=A.maxRow;return o.x>=f&&o.x<=m&&o.y>=C&&o.y<=E}catch{return!1}};qh.prototype._cameraMoveStartHandler=function(){this._isCameraMoving=!0};qh.prototype._loadTile=function(o){var A=[],f=new this._Cesium.ColorGeometryInstanceAttribute(.75,.75,.75,1),m=this;o.features.forEach(function(E){if(m._propertyToBeFiltered&&Array.isArray(m._valuesToBeFiltered)){var I=E.properties[m._propertyToBeFiltered];if(m._valuesToBeFiltered.includes(I))return}var x=E.geometry.type;if(x==="Polygon"||x==="MultiPolygon"){var y=[];m.heightById[E.properties.house_id]=E.properties.height,E.geometry.coordinates.forEach(function(v,w){y.push([]),v.forEach(function(P){if(P.length>2)P.forEach(function(T){if(T.length>=2){var L;(L=y[w]).push.apply(L,pne(T))}});else{var R;(R=y[w]).push.apply(R,pne(P))}});var Q=new m._Cesium.PolygonHierarchy(m._Cesium.Cartesian3.fromDegreesArray(y[w])),M=m._Cesium.BoundingSphere.fromPoints(Q.positions).center,B=m._viewer.scene.globe.getHeight(m._Cesium.Cartographic.fromCartesian(M))||0,D=new m._Cesium.PolygonGeometry({polygonHierarchy:Q,height:B,vertexFormat:m._Cesium.PerInstanceColorAppearance.VERTEX_FORMAT,extrudedHeight:1e3}),S=new m._Cesium.GeometryInstance({geometry:D,attributes:{color:f}});A.push(S)})}else console.warn('GeoJSONVectorTileProvider: geometry type "'+E.geometry.type+'" detected, but is not going to be rendered')});var C=new this._Cesium.Primitive({allowPicking:!1,appearance:new this._Cesium.PerInstanceColorAppearance({translucent:!1}),geometryInstances:A});return C};qh.prototype._cameraMoveEndHandler=function(){if(!this._stop){var o=this,A=Date.now(),f=this._viewer.scene.globe._surface._tilesToRender,m=f.map(function(v){return v.level}),C=Math.min.apply(Math,pne(m)),E=Math.max.apply(Math,pne(m));if(E<this._lowerLevelLimit){o._tileKeys=[],o._removeObsoletePrimitives(o._primitiveByTile,[]),f=[];return}if(this._upperLevelLimit&&C>this._upperLevelLimit){o._tileKeys=[],o._removeObsoletePrimitives(o._primitiveByTile,[]),f=[];return}E-C>2&&(f=f.filter(function(v){return v.level>=E-2})),f.sort(function(v,w){return-(v.level-w.level)}),f=f.filter(function(v){return o._isTileInRange(v)}),this._upperLevelLimit&&(f=this._refineTiles(f,this._upperLevelLimit)),this._isCameraMoving=!1,this._moveEndTimestamp=A;var I=[],x=0,y=0;f.forEach(function(v){var w="z"+v.level+"x"+v.x+"y"+v.y;if(I.push(w),o._tileKeys.push(w),!o._primitiveByTile[w]){var Q=o._urlTemplate.replace(window.encodeURIComponent("{x}"),v.x).replace(window.encodeURIComponent("{y}"),v.y).replace(window.encodeURIComponent("{z}"),v.level);x++,o._fetch(Q).then(function(M){if(o._isRemoved)throw new Error("DISCARD");if(o._isCameraMoving)throw new Error("DISCARD");if(A!==o._moveEndTimestamp)throw new Error("DISCARD");var B=o._loadTile(M,v);o._primitiveCollection.add(B),o._primitiveByTile[w]=B,y++,y>=x&&(o._tileKeys=I,o._removeObsoletePrimitives(o._primitiveByTile,I))}).catch(function(M){y++,y>=x&&(o._tileKeys=I,o._removeObsoletePrimitives(o._primitiveByTile,I)),M.message})}})}};qh.prototype._refineTiles=function(o,A){var f=[],m=[];return o.forEach(function(C){var E="Z"+C.level+"X"+C.x+"Y"+C.y;if(C.level<A-1)m.includes(E)||(f.push(C),m.push(E));else if(C.level===A-1)for(var I=0;I<2;I++)for(var x=0;x<2;x++){var y="Z"+(C.level+1)+"X"+(C.x*2+I)+"Y"+(C.y*2+x);m.includes(y)||(f.push({x:C.x*2+I,y:C.y*2+x,level:C.level+1}),m.push(y))}else{var v=C.level-A;if(v===0)m.includes(E)||(f.push(C),m.push(E));else{var w=v*2,Q=Math.floor(C.x/w),M=Math.floor(C.y/w),B="Z"+A+"X"+Q+"Y"+M;m.includes(B)||(f.push({x:Q,y:M,level:A}),m.push(B))}}}),f};qh.prototype._removeObsoletePrimitives=function(o,A){var f=[];A.length>0&&(f=A);for(var m in o)if(!f.includes(m)){var C=this._primitiveCollection.remove(o[m]);C&&delete o[m]}};qh.prototype.addTo=function(o){this._viewer=o,this._viewer.scene.primitives.add(this._primitiveCollection,this.availability),this._isRemoved=!1,this._viewer.camera.moveEnd.addEventListener(this._cameraMoveEndHandler),this._viewer.camera.moveStart.addEventListener(this._cameraMoveStartHandler),this._cameraMoveEndHandler()};qh.prototype.remove=function(){if(this._viewer){for(var o in this._primitiveByTile)this._viewer.scene.primitives.remove(this._primitiveByTile[o]);this._primitiveByTile={},this._viewer.camera.moveEnd.removeEventListener(this._cameraMoveEndHandler),this._viewer.camera.moveStart.removeEventListener(this._cameraMoveStartHandler),this._viewer=null,this._isRemoved=!0}};qh.prototype.setStatus=function(o){this._stop=o,this._primitiveCollection._availability&&o?this._primitiveCollection._availability=void 0:this.availability&&!o&&(this._primitiveCollection._availability=this.availability)};qh.prototype.isRemoved=function(){return this._isRemoved};qh.prototype.filterBy=function(o,A,f){this._propertyToBeFiltered=o,this._valuesToBeFiltered=A};qh.prototype.removeFilter=function(){this._propertyToBeFiltered=null,this._valuesToBeFiltered=null};qh.prototype.edit=function(o,A){let f=this,m=this._viewer;if(!A&&(A={}),this.editHandler&&(this.editHandler.destroy(),this.editHandler=void 0),o===void 0&&(o=!0),!o){v();return}this.editHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas);var C,E,I,x;this.isEditting=!1;let y;this.editHandler.setInputAction(w=>{if(Cesium.ExpandBySmartEarth&&(Cesium.ExpandBySmartEarth.underEarth.enable||Cesium.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=w.position,M=m.scene.pick(Q);if(!(M&&M.id&&M.id.treeID!==f.treeID)&&M&&M.id&&(M.id instanceof Cesium.Entity||M.id.VectorType)){let B=M.id;!f.isEditting&&Ke.states==0?(A.callBack&&A.callBack.start&&A.callBack.start(B),x=B.VectorType,C=f.createEditEntity(x,B.VectorStyle),C.feature=B,C.treeID=f.treeID,f.getSimpleGraphicData(x,C),x==="point"||x==="billboard"||x==="label"||x==="model"?(f.isEditting=!0,f.tooltip.showAt(w.position,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E")):(f.isEditting=!0,SmartEarthPopupData.editGraphic.updataEditPoint(),SmartEarthPopupData.editGraphic.setTreeID(f.treeID)),f.setStatus(!0),Ke.editVector=!0,f._primitiveCollection.show=!1):(B==C&&(B.VectorType==="point"||B.VectorType==="billboard"||B.VectorType==="label"||B.VectorType==="model")||B.name=="_height_point"||B.name=="_edit_point"||B.name=="_move_point"||B.name=="_add_point"||B.name=="_size_point")&&(m.container.style.cursor="crosshair",f.defaultEvent(!1),B.name=="_height_point"?(I={windowPosition:Q,originHeight:f._cesium.Cartographic.fromCartesian(B.position.getValue()).height},y="_height_point"):B.name=="_move_point"?y="_move_point":B.VectorType==="point"||B.VectorType==="billboard"||B.VectorType==="label"||B.VectorType==="model"?(f.tooltip.showAt(w.position,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),y="_move_point",B.VectorType==="model"&&(B.show=!1)):B.name=="_edit_point"?y="_edit_point":B.name=="_add_point"?y="_add_point":B.name=="_size_point"&&(y="_size_point"),E=B)}},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.editHandler.setInputAction(w=>{if(Cesium.ExpandBySmartEarth&&(Cesium.ExpandBySmartEarth.underEarth.enable||Cesium.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=m.scene.pick(w.endPosition);if(!(Q&&Q.id&&Q.id.treeID!==f.treeID)&&(f._cesium.defined(Q)?f.isEditting&&!E?(x==="point"||x==="billboard"||x==="label"||x==="model")&&Q.id==C?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664"):Q.id&&Q.id.name==="_edit_point"&&C.pottingPoint?(x==="polyline"||x==="wall")&&C.pottingPoint.length>2||x==="polygon"&&C.pottingPoint.length>3?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664\u70B9"):f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&(Q.id.name==="_move_point"||Q.id.name==="_size_point")?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&Q.id.name==="_add_point"?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u589E\u52A0\u8282\u70B9"):Q.id&&Q.id.name==="_height_point"?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u9AD8\u5EA6"):Q.id==C&&f.tooltip.show(!1):!f.isEditting&&Ke.states===0&&(Q.id&&Q.id.VectorType?f.tooltip.showAt(w.endPosition,"\u70B9\u51FB\u6FC0\u6D3B\u7F16\u8F91"):f.tooltip.show(!1)):Ke.states==0&&!E&&f.tooltip.show(!1),f.isEditting&&E)){f.tooltip.showAt(w.endPosition,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539");let M=f._getPosition.getMousePosition(w);if(!M&&y!=="_height_point")return;if(y==="_edit_point"){E.position=M;let B=Ke.editPointID.edit.indexOf(E.id);if(C[x].height!==void 0){let R=f.toDegrees(M);C.pottingPoint[B]=Cesium.Cartesian3.fromDegrees(R.lon,R.lat,C[x].height.getValue()),E.position=C.pottingPoint[B]}else C.pottingPoint[B]=M;if(Ke.editPointID.add.length>0){if(B>0){let R=m.entities.getById(Ke.editPointID.add[B-1]);if(R){let T=m.entities.getById(Ke.editPointID.edit[B-1]),L=m.entities.getById(Ke.editPointID.edit[B]);R.position=Cesium.Cartesian3.midpoint(T.position.getValue(),L.position.getValue(),new Cesium.Cartesian3)}}if(B<C.pottingPoint.length-1){let R=m.entities.getById(Ke.editPointID.add[B]);if(R){let T=m.entities.getById(Ke.editPointID.edit[B]),L=m.entities.getById(Ke.editPointID.edit[B+1]);R.position=Cesium.Cartesian3.midpoint(T.position.getValue(),L.position.getValue(),new Cesium.Cartesian3)}}if(x==="polygon"&&(B===0||B===C.pottingPoint.length-1)){let R=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);if(R){let T=m.entities.getById(Ke.editPointID.edit[0]),L=m.entities.getById(Ke.editPointID.edit[C.pottingPoint.length-1]);R.position=Cesium.Cartesian3.midpoint(T.position.getValue(),L.position.getValue(),new Cesium.Cartesian3)}}}let D=C.pottingPoint.concat([]),S=new f._cesium.Cartesian3,P=D.length;D.forEach(R=>{S.x+=R.x,S.y+=R.y,S.z+=R.z}),S.x/=P,S.y/=P,S.z/=P,Ke.editPointID.move&&(Ke.editPointID.move.position=S),(x==="polyline"||x==="wall"||x==="polygon"||x==="rectangle")&&SmartEarthPopupData.editGraphic.setValue("positions",D)}else if(y==="_height_point"){let B=Ke.editPointID.height.indexOf(E.id),D=m.entities.getById(Ke.editPointID.edit[B]);(x==="ellipse"||x==="cylinder"||x==="box")&&(D=Ke.editPointID.move);let S=f.toDegrees(D.position.getValue()),P=I.originHeight-S.height,R=m.scene.cartesianToCanvasCoordinates(D.position.getValue()),T=(I.windowPosition.y-w.endPosition.y)*P/Math.abs(R.y-I.windowPosition.y),L=Math.abs(P+T);Ke.editPointID.height.forEach(F=>{let U=m.entities.getById(F);if(U){let N=U.position.getValue(),H=f.toDegrees(N);U.position=f._cesium.Cartesian3.fromDegrees(H.lon,H.lat,L+S.height)}}),C[x].extrudedHeight?C[x].extrudedHeight=L+S.height:x==="box"?SmartEarthPopupData.editGraphic.setValue("height",L):x==="cylinder"&&SmartEarthPopupData.editGraphic.setValue("length",L)}else if(y==="_add_point"){let B=Ke.editPointID.add.indexOf(E.id);m.entities.remove(E);let D=m.entities.add({name:"_edit_point",position:M,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.edit.splice(B+1,0,D.id),C.pottingPoint.splice(B+1,0,M.clone());let S=Cesium.Cartesian3.midpoint(C.pottingPoint[B],C.pottingPoint[B+1],new Cesium.Cartesian3),P=m.entities.add({name:"_add_point",position:S,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),R=Cesium.Cartesian3.midpoint(C.pottingPoint[B+1],C.pottingPoint[B+2===C.pottingPoint.length?0:B+2],new Cesium.Cartesian3),T=m.entities.add({name:"_add_point",position:R,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.splice(B,1,P.id,T.id),SmartEarthPopupData.editGraphic.setTreeID(f.treeID),E=D,y="_edit_point";let L=C.pottingPoint.concat([]);if(x==="polyline"||x==="polygon")SmartEarthPopupData.editGraphic.setValue("positions",L);else if(x==="wall"){SmartEarthPopupData.editGraphic.setValue("positions",L);let F=SmartEarthPopupData.editGraphic.getValue("minimumHeights"),U=SmartEarthPopupData.editGraphic.getValue("maximumHeights");F.push(F[0]),U.push(U[0]),SmartEarthPopupData.editGraphic.setValue("minimumHeights",F),SmartEarthPopupData.editGraphic.setValue("maximumHeights",U)}}else if(y==="_size_point"){let B=Ke.editPointID.move.position.getValue(),D=f._cesium.Cartesian3.distance(B,M);if(x==="ellipse"||x==="cylinder"||x==="ellipsoid"&&C.isSphere)SmartEarthPopupData.editGraphic.setValue("radius",D);else if(x==="box"){let S=E.angle===90?"long":"width";SmartEarthPopupData.editGraphic.setValue(S,D*2)}}else{if(x==="point"||x==="billboard"||x==="label"||x==="model"){E.position=M;return}let B=f.toDegrees(M);I=E.position.getValue();let D=f.toDegrees(I),S=B.lon-D.lon,P=B.lat-D.lat,R=B.height-D.height;if(E.position=M,C[x].height){let L=f.toDegrees(M).height;C[x].height=L,C.thisHeight=L}C.pottingPoint.forEach((L,F)=>{let U,N,H,J=m.entities.getById(Ke.editPointID.edit[F]);if(J||(J=m.entities.getById(Ke.editPointID.size[F])),J?U=f.toDegrees(J.position.getValue()):U=f.toDegrees(L),H=f._cesium.Cartesian3.fromDegrees(U.lon+S,U.lat+P,U.height+R),L.x=H.x,L.y=H.y,L.z=H.z,J&&(J.position=H),Ke.editPointID.add.length>0&&Ke.editPointID.add[F]){let K=m.entities.getById(Ke.editPointID.add[F]);K&&(U=f.toDegrees(K.position.getValue()),K.position=f._cesium.Cartesian3.fromDegrees(U.lon+S,U.lat+P,U.height+R))}});let T=C.pottingPoint.concat([]);if(x==="polyline"||x==="wall"||x==="polygon"||x==="rectangle")SmartEarthPopupData.editGraphic.setValue("positions",T);else if(x==="ellipse")C.pottingPoint[1]=M,C.position=M.clone();else if(x==="box"){C.pottingPoint[2]=M;let L=C.box.dimensions.getValue(),F=f.toDegrees(M);C.position=Cesium.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L.z/2)}else if(x==="cylinder"){C.pottingPoint[1]=M;let L=C.cylinder.length.getValue(),F=f.toDegrees(C.pottingPoint[1]);C.position=Cesium.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L/2)}else x==="ellipsoid"&&(C.pottingPoint[C.pottingPoint.length-1]=M,C.position=M.clone())}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.editHandler.setInputAction(w=>{if(Cesium.ExpandBySmartEarth&&(Cesium.ExpandBySmartEarth.underEarth.enable||Cesium.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}E&&E.VectorType==="model"&&(E.show=!0),E&&A.callBack&&A.callBack.updata&&A.callBack.updata(E.name,C),m.container.style.cursor="default",E=void 0,f.defaultEvent(!0)},this._cesium.ScreenSpaceEventType.LEFT_UP),this.editHandler.setInputAction(w=>{if(Cesium.ExpandBySmartEarth&&(Cesium.ExpandBySmartEarth.underEarth.enable||Cesium.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=m.scene.pick(w.position);if(!(Q&&Q.id&&Q.id.treeID!==f.treeID)&&f._cesium.defined(Q)&&Ke.states==0){let M=Q.id;if(!M.VectorType){if(Ke.editPointID.edit.indexOf(M.id)>-1&&((x==="polyline"||x==="wall")&&Ke.editPointID.edit.length>2||x==="polygon"&&Ke.editPointID.edit.length>3)){let B=Ke.editPointID.edit.indexOf(M.id);if(m.entities.removeById(M.id),Ke.editPointID.edit.splice(B,1),C.pottingPoint.splice(B,1),Ke.editPointID.add.length>0)if(Ke.editPointID.add[B]){if(m.entities.removeById(Ke.editPointID.add[B]),Ke.editPointID.add.splice(B,1),B-1>=0){let R=m.entities.getById(Ke.editPointID.add[B-1]);R&&(R.position=Cesium.Cartesian3.midpoint(C.pottingPoint[B-1],C.pottingPoint[B===C.pottingPoint.length?0:B],new Cesium.Cartesian3))}else if(B-1===-1&&x==="polygon"){let R=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);R&&(R.position=Cesium.Cartesian3.midpoint(C.pottingPoint[0],C.pottingPoint[C.pottingPoint.length-1],new Cesium.Cartesian3))}}else m.entities.removeById(Ke.editPointID.add[B-1]),Ke.editPointID.add.pop();let D=new f._cesium.Cartesian3,S=C.pottingPoint.length;C.pottingPoint.forEach(R=>{D.x+=R.x,D.y+=R.y,D.z+=R.z}),D.x/=S,D.y/=S,D.z/=S,Ke.editPointID.move&&(Ke.editPointID.move.position=D);let P=C.pottingPoint.concat([]);if(x==="polyline"||x==="polygon")SmartEarthPopupData.editGraphic.setValue("positions",P);else if(x==="wall"){SmartEarthPopupData.editGraphic.setValue("positions",P);let R=SmartEarthPopupData.editGraphic.getValue("minimumHeights"),T=SmartEarthPopupData.editGraphic.getValue("maximumHeights");R.pop(),T.pop(),SmartEarthPopupData.editGraphic.setValue("minimumHeights",R),SmartEarthPopupData.editGraphic.setValue("maximumHeights",T)}f.tooltip.show(!1),A.callBack&&A.callBack.updata&&A.callBack.updata(E&&E.name,C)}}}},this._cesium.ScreenSpaceEventType.RIGHT_DOWN),v();function v(){f.defaultEvent(!0),Ke.editPointID.edit.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0,C&&m.entities.remove(C),C=void 0,x=void 0,SmartEarthPopupData.editGraphic={},f.isEditting=!1,f.setStatus(!1),Ke.editVector=!1,f._primitiveCollection.show=!0,f.delButton(!1)}return{endThisEdit:v,getEditData:function(){return{entity:C}}}};qh.prototype.createEditEntity=function(o,A){let f,m=this,C=this._viewer;if(o==="polygon"){let E=A.positions,I=m._core.defaultValue(A.height,void 0),x;A.hierarchy?x=A.hierarchy:(E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),x=new m._cesium.PolygonHierarchy(E)),f=C.entities.add({polygon:{hierarchy:new m._cesium.CallbackProperty(function(){return x},!1),extrudedHeight:m._core.defaultValue(A.extrudedHeight,void 0),height:I,material:new m._cesium.ImageMaterialProperty({image:m._core.defaultValue(A.image,null),repeat:m._core.defaultValue(A.repeat,new m._cesium.Cartesian2(1,1)),color:A.material}),shadows:m._cesium.ShadowMode.ENABLED,fill:!0}}),f.VectorType="polygon"}else if(o==="polyline"){let E=A.positions;E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),f=C.entities.add({polyline:{positions:new m._cesium.CallbackProperty(function(){return E},!1),clampToGround:m._core.defaultValue(A.clampToGround,!1),material:new Cesium.PolylineOutlineMaterialProperty({color:A.material,outlineWidth:m._core.defaultValue(A.outlineWidth,0),outlineColor:m._cesium.Color.fromCssColorString(m._core.defaultValue(A.outlineColor,"rgba(255,255,255,0.6)"))}),width:m._core.defaultValue(A.width,3)}}),f.VectorType="polyline"}else if(o==="wall"){let E=A.positions;E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),f=C.entities.add({wall:{positions:new m._cesium.CallbackProperty(function(){return E},!1),minimumHeights:A.minimumHeights,maximumHeights:A.maximumHeights,material:A.material,outline:!0,outlineWidth:m._core.defaultValue(A.outlineWidth,0),outlineColor:A.outlineColor}}),f.VectorType="wall"}else o==="label"?(f=C.entities.add({position:A.position,label:{text:A.text,font:A.font,scale:A.scale,style:A.style,fillColor:A.fillColor,outlineColor:A.outlineColor,outlineWidth:A.outlineWidth,showBackground:A.showBackground,backgroundColor:A.backgroundColor,heightReference:A.heightReference,horizontalOrigin:A.horizontalOrigin,verticalOrigin:A.verticalOrigin,scaleByDistance:A.scaleByDistance,distanceDisplayCondition:A.distanceDisplayCondition}}),f.VectorType="label"):o==="billboard"&&(f=C.entities.add({position:A.position,billboard:{rotation:A.rotation,width:A.width,height:A.height,image:A.image,color:A.color,scale:A.scale,heightReference:A.heightReference,horizontalOrigin:A.horizontalOrigin,verticalOrigin:A.verticalOrigin,scaleByDistance:A.scaleByDistance,distanceDisplayCondition:A.distanceDisplayCondition}}),f.VectorType="billboard");return f};qh.prototype.delButton=function(o,A,f){if(o){let m=document.getElementById("DeleteMilitaryStandardDelete");m||(m=document.createElement("button"),m.id="DeleteMilitaryStandardDelete",m.innerText="\u5220\u9664\u5BF9\u8C61",m.style.cssText=`height: 38px; line-height: 38px; padding: 0 18px; background-color: #052355; color: #fff; white-space: nowrap; text-align: center; font-size: 14px; border: none; border-radius: 2px; cursor: pointer; position: absolute;`,this._viewer.container.appendChild(m)),m.style.display="block",m.style.top=A.y+"px",m.style.left=A.x+"px",m.onclick=f}else{let m=document.getElementById("DeleteMilitaryStandardDelete");m&&(m.style.display="none",m.onclick=null)}};qh.prototype.defaultEvent=function(o){let A=this._viewer.scene;A.screenSpaceCameraController.enableRotate=o,A.screenSpaceCameraController.enableTranslate=o,A.screenSpaceCameraController.enableZoom=o,A.screenSpaceCameraController.enableTilt=o,A.screenSpaceCameraController.enableLook=o};qh.prototype.getEntityTypeAndObject=function(o){let A={type:"",object:null};return o&&(o.billboard?(A.type="billboard",A.object=o.billboard):o.box?(A.type="box",A.object=o.box):o.corridor?(A.type="corridor",A.object=o.corridor):o.cylinder?(A.type="cylinder",A.object=o.cylinder):o.ellipse?(A.type="ellipse",A.object=o.ellipse):o.ellipsoid?(A.type="ellipsoid",A.object=o.ellipsoid):o.label?(A.type="label",A.object=o.label):o.model?(A.type="model",A.object=o.model):o.path?(A.type="path",A.object=o.path):o.plane?(A.type="plane",A.object=o.plane):o.point?(A.type="point",A.object=o.point):o.polygon?(A.type="polygon",A.object=o.polygon):o.polyline?(A.type="polyline",A.object=o.polyline):o.polylineVolume?(A.type="polylineVolume",A.object=o.polylineVolume):o.rectangle?(A.type="rectangle",A.object=o.rectangle):o.wall&&(A.type="wall",A.object=o.wall)),A};qh.prototype.toDegrees=function(o){let A=this._cesium.Cartographic.fromCartesian(o);return{lon:this._cesium.Math.toDegrees(A.longitude),lat:this._cesium.Math.toDegrees(A.latitude),height:A.height}};qh.prototype.getSimpleGraphicData=function(o,A){let f=this,m=this._viewer;if(SmartEarthPopupData.editGraphic={entity:A,type:o,graphic:A[o],getValue:function(y){if(y==="position"||y==="name"||y==="id")return this.entity[y]&&(this.entity[y].getValue?this.entity[y].getValue():this.entity[y]);if(y==="radius"){if(this.type==="ellipse")return this.graphic.semiMajorAxis.getValue();if(this.type==="ellipsoid")return this.graphic.radii.getValue().x;if(this.type==="cylinder")return this.graphic.bottomRadius.getValue()}else if(y==="pHeight"){if(this.getValue("position")){let v=this.getValue("position");return Cesium.Cartographic.fromCartesian(v).height}}else return y==="repeat"?this.graphic.material[y]&&(this.graphic.material[y].getValue?this.graphic.material[y].getValue():this.graphic.material[y]):this.graphic[y]&&(this.graphic[y].getValue?this.graphic[y].getValue():this.graphic[y])},changeHeightPoint:function(y){Ke.editPointID.height.length>0&&Ke.editPointID.height.forEach(v=>{let w=m.entities.getById(v);if(w){let Q=w.position.getValue(),M=f.toDegrees(Q);w.position=Cesium.Cartesian3.fromDegrees(M.lon,M.lat,y)}})},changeEditPoint:function(y){Ke.editPointID.edit.length>0&&Ke.editPointID.edit.forEach(w=>{let Q=m.entities.getById(w);if(Q)if(y==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let M=Q.position.getValue(),B=f.toDegrees(M);Q.position=Cesium.Cartesian3.fromDegrees(B.lon,B.lat,y)}}),Ke.editPointID.size.length>0&&Ke.editPointID.size.forEach(w=>{let Q=m.entities.getById(w);if(Q)if(y==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let M=Q.position.getValue(),B=f.toDegrees(M);Q.position=Cesium.Cartesian3.fromDegrees(B.lon,B.lat,y)}}),Ke.editPointID.add.length>0&&Ke.editPointID.add.forEach(w=>{let Q=m.entities.getById(w);if(Q)if(y==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let M=Q.position.getValue(),B=f.toDegrees(M);Q.position=Cesium.Cartesian3.fromDegrees(B.lon,B.lat,y)}});let v=Ke.editPointID.move;if(v)if(y==="clampToGround")v.point.heightReference=1;else{v.point.heightReference=0;let w=v.position.getValue(),Q=f.toDegrees(w);v.position=Cesium.Cartesian3.fromDegrees(Q.lon,Q.lat,y)}},clearAllEditPoint:function(){Ke.editPointID.edit.forEach(y=>{m.entities.removeById(y)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(y=>{m.entities.removeById(y)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(y=>{m.entities.removeById(y)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(y=>{m.entities.removeById(y)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0},setTreeID:function(y){Ke.editPointID.edit.forEach(v=>{let w=m.entities.getById(v);w.treeID=y}),Ke.editPointID.height.forEach(v=>{let w=m.entities.getById(v);w.treeID=y}),Ke.editPointID.add.forEach(v=>{let w=m.entities.getById(v);w.treeID=y}),Ke.editPointID.size.forEach(v=>{let w=m.entities.getById(v);w.treeID=y}),Ke.editPointID.move&&(Ke.editPointID.move.treeID=y)}},o==="billboard"||o==="point"||o==="label"||o==="model"){let y=SmartEarthPopupData.editGraphic.getValue("color")||SmartEarthPopupData.editGraphic.getValue("fillColor");y?C(y):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");if(v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),o==="label"){let w=SmartEarthPopupData.editGraphic.getValue("backgroundColor");w?I(w):(SmartEarthPopupData.editGraphic.backgroundColor="#000000",SmartEarthPopupData.editGraphic.backgroundAlpha=80)}SmartEarthPopupData.editGraphic.setValue=function(w,Q){if(w==="position"||w==="name")this.entity[w]=Q;else{if(w==="color"||w==="outlineColor"||w==="backgroundColor"||w==="fillColor")Q=Cesium.Color.fromCssColorString(Q);else if(w==="fontSize"){let M=this.getValue("font");M=M.split(" "),M[0]=Q,Q=M.join(" ")}else if(w==="alpha"){this.type==="label"?this.graphic.fillColor._value.alpha=Q:this.graphic.color._value.alpha=Q;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(w==="backgroundAlpha"){this.graphic.backgroundColor._value.alpha=Q;return}else if(w==="pHeight"&&this.getValue("position")){let M=this.getValue("position"),B=Cesium.Cartographic.fromCartesian(M);B.height=Q,this.entity.position=Cesium.Cartographic.toCartesian(B);return}this.graphic[w]=Q}}}else if(o==="polyline"){let y=SmartEarthPopupData.editGraphic.getValue("material");y.color?C(y.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60),y.outlineColor?E(y.outlineColor):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(v,w){if(v==="name")this.entity[v]=w;else{if(v==="color"||v==="outlineColor"){w=Cesium.Color.fromCssColorString(w),this.graphic.material[v]=w;return}else if(v==="outlineWidth"){this.graphic.material[v]=w;return}else if(v==="alpha"){this.graphic.material.color._value.alpha=w;return}else if(v==="outlineAlpha"){this.graphic.material.outlineColor._value.alpha=w;return}else if(v==="positions"){this.graphic[v]=new Cesium.CallbackProperty(function(){return w},!1);return}this.graphic[v]=w}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let v=this.getValue("positions");return this.entity.pottingPoint=v,v},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let v=this.getPottingPoint();if(!v)return;let w=new Cesium.Cartesian3;v.forEach((Q,M)=>{let B=m.entities.add({name:"_edit_point",position:Q,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(B.id),w.x+=Q.x,w.y+=Q.y,w.z+=Q.z}),w.x/=v.length,w.y/=v.length,w.z/=v.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:w,point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});for(let Q=0;Q<v.length-1;Q++){let M=Cesium.Cartesian3.midpoint(v[Q],v[Q+1],new Cesium.Cartesian3),B=m.entities.add({name:"_add_point",position:M,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(B.id)}}}else if(o==="polygon"){let y=SmartEarthPopupData.editGraphic.getValue("material");y.color?C(y.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,Q){if(w==="name")this.entity[w]=Q;else{if(w==="color"||w==="outlineColor"){if(Q=Cesium.Color.fromCssColorString(Q),w==="color"){this.graphic.material.color=Q;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=Q;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(w==="positions"){this.graphic.hierarchy=new Cesium.CallbackProperty(function(){return new Cesium.PolygonHierarchy(Q)},!1);return}else if(w==="hierarchy"){this.graphic.hierarchy=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(w==="clampToGround"){let M=function(B,D,S){S?(B.perPositionHeight=!1,B.heightReference=Cesium.HeightReference.CLAMP_TO_GROUND):(B.perPositionHeight=!0,B.heightReference=Cesium.HeightReference.NONE),Ke.editPointID.edit.length>0&&!S&&D.forEach((P,R)=>{let T=m.entities.getById(Ke.editPointID.edit[R]);if(T){let L=T.position.getValue();P.x=L.x,P.y=L.y,P.z=L.z}}),B.hierarchy=new Cesium.CallbackProperty(function(){return new Cesium.PolygonHierarchy(D)},!1)};this.graphic.hierarchy instanceof Cesium.CallbackProperty?(this.graphic.hierarchy=this.graphic.hierarchy.getValue(),setTimeout(()=>{M(this.graphic,this.entity.pottingPoint,Q)},100)):M(this.graphic,this.entity.pottingPoint,Q),Ke.editPointID.add.length>0&&Ke.editPointID.add.forEach(B=>{let D=m.entities.getById(B);D&&(Q?D.point.heightReference=1:D.point.heightReference=0)});return}else w==="extrudedHeight"?this.changeHeightPoint(Q):w==="height"&&this.changeEditPoint(Q);this.graphic[w]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let Q=this.getValue("hierarchy").positions.concat([]);if(this.getValue("height")!==void 0){let M=this.getValue("height");Q.forEach(B=>{let D=f.toDegrees(B),S=Cesium.Cartesian3.fromDegrees(D.lon,D.lat,M);B.x=S.x,B.y=S.y,B.z=S.z})}return this.entity.pottingPoint=Q,Q},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let Q=new Cesium.Cartesian3;w.forEach((D,S)=>{let P=m.entities.add({name:"_edit_point",position:D,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(P.id),Q.x+=D.x,Q.y+=D.y,Q.z+=D.z}),Q.x/=w.length,Q.y/=w.length,Q.z/=w.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:Q,point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});for(let D=0;D<w.length-1;D++){let S=Cesium.Cartesian3.midpoint(w[D],w[D+1],new Cesium.Cartesian3),P=m.entities.add({name:"_add_point",position:S,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(P.id)}let M=Cesium.Cartesian3.midpoint(w[0],w[w.length-1],new Cesium.Cartesian3),B=m.entities.add({name:"_add_point",position:M,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(B.id)}}else if(o==="ellipse"||o==="cylinder"||A.isSphere){let y=SmartEarthPopupData.editGraphic.getValue("material");y.color?C(y.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,Q){if(w==="name")this.entity[w]=Q;else{if(w==="color"||w==="outlineColor"){if(Q=Cesium.Color.fromCssColorString(Q),w==="color"){this.graphic.material.color=Q;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=Q;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(w==="semiMajorAxis"){this.graphic.semiMajorAxis=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(w==="semiMinorAxis"){this.graphic.semiMinorAxis=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(w==="radii"){this.graphic.radii=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(w==="topRadius"){this.graphic.topRadius=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(w==="bottomRadius"){this.graphic.bottomRadius=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(w==="radius"){this.type==="ellipse"?(this.graphic.semiMajorAxis=new Cesium.CallbackProperty(function(){return Q},!1),this.graphic.semiMinorAxis=new Cesium.CallbackProperty(function(){return Q},!1)):this.type==="ellipsoid"?this.graphic.material.image.getValue()!==null?this.graphic.radii=new Cesium.Cartesian3(Q,Q,Q):this.graphic.radii=new Cesium.CallbackProperty(function(){return new Cesium.Cartesian3(Q,Q,Q)},!1):this.type==="cylinder"&&(this.graphic.bottomRadius=new Cesium.CallbackProperty(function(){return Q},!1),this.entity.changeTop&&(this.graphic.topRadius=new Cesium.CallbackProperty(function(){return Q},!1)));let M=Ke.editPointID.move.position.getValue(),B=f.GetPositionFromA_D(M,Q,90),D=m.entities.getById(Ke.editPointID.size[0]);D.position=B,A.pottingPoint[0]=B,A.pottingPoint[A.pottingPoint.length-1]=M;let S=m.entities.getById(Ke.editPointID.height[0]);if(S){let P=f.toDegrees(B),R=f._cesium.Cartographic.fromCartesian(S.position.getValue());S.position=f._cesium.Cartesian3.fromDegrees(P.lon,P.lat,R.height)}return}else if(this.type==="cylinder"&&w==="length"){this.graphic.length=Q;let M=f.toDegrees(this.entity.pottingPoint[1]);this.entity.position=Cesium.Cartesian3.fromDegrees(M.lon,M.lat,M.height+Q/2),this.changeHeightPoint(M.height+Q);return}else if(this.type==="ellipse"&&w==="clampToGround"){let M=function(B,D,S){S?(B.thisHeight===void 0&&(B.thisHeight=D.height&&D.height.getValue()),D.height=void 0,D.heightReference=Cesium.HeightReference.CLAMP_TO_GROUND):(D.height=B.thisHeight,D.heightReference=Cesium.HeightReference.NONE);let P=D.semiMinorAxis.getValue();D.semiMinorAxis=new Cesium.CallbackProperty(function(){return P},!1),D.semiMajorAxis=new Cesium.CallbackProperty(function(){return P},!1)};this.graphic.semiMinorAxis instanceof Cesium.CallbackProperty?(this.graphic.semiMinorAxis=this.graphic.semiMinorAxis.getValue(),this.graphic.semiMajorAxis=this.graphic.semiMajorAxis.getValue(),setTimeout(()=>{M(this.entity,this.graphic,Q)},100)):M(this.entity,this.graphic,Q),Q?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else this.type==="ellipse"&&w==="extrudedHeight"?this.changeHeightPoint(Q):this.type==="ellipse"&&w==="height"&&(this.changeEditPoint(Q),this.entity.thisHeight=Q);this.graphic[w]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let w=this.getValue("radius"),Q=this.getValue("position");if(this.type==="ellipse"||this.entity.isSphere){if(this.type==="ellipse"&&this.getValue("height")!==void 0){let B=this.getValue("height"),D=f.toDegrees(Q);Q=Cesium.Cartesian3.fromDegrees(D.lon,D.lat,B)}let M=f.GetPositionFromA_D(Q,w,90);return this.entity.pottingPoint=[M,Q],[M,Q]}else{let M=f.toDegrees(Q);Q=Cesium.Cartesian3.fromDegrees(M.lon,M.lat,M.height-this.getValue("length")/2);let B=f.GetPositionFromA_D(Q,w,90);return this.entity.pottingPoint=[B,Q],[B,Q]}},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let Q=m.entities.add({name:"_size_point",position:w[0],point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Q.angle=90,Ke.editPointID.size.push(Q.id),Ke.editPointID.move=m.entities.add({name:"_move_point",position:w[1],point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else if(o==="rectangle"){let y=SmartEarthPopupData.editGraphic.getValue("material");y.color?C(y.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,Q){if(w==="name")this.entity[w]=Q;else{if(w==="color"||w==="outlineColor"){if(Q=Cesium.Color.fromCssColorString(Q),w==="color"){this.graphic.material.color=Q;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=Q;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(w==="positions"){this.graphic.coordinates=new Cesium.CallbackProperty(function(){return Cesium.Rectangle.fromCartesianArray(Q)},!1);return}else if(w==="coordinates"){this.graphic.coordinates=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(w==="clampToGround"){let M=function(B,D,S){S?(B.thisHeight===void 0&&(B.thisHeight=D.height&&D.height.getValue()),D.height=void 0,D.heightReference=Cesium.HeightReference.CLAMP_TO_GROUND):(D.height=B.thisHeight,D.heightReference=Cesium.HeightReference.NONE);let P=D.coordinates.getValue();D.coordinates=new Cesium.CallbackProperty(function(){return P},!1)};this.graphic.coordinates instanceof Cesium.CallbackProperty?(this.graphic.coordinates=this.graphic.coordinates.getValue(),setTimeout(()=>{M(this.entity,this.graphic,Q)},100)):M(this.entity,this.graphic,Q),Q?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else w==="extrudedHeight"?this.changeHeightPoint(Q):w==="height"&&(this.changeEditPoint(Q),this.entity.thisHeight=Q);this.graphic[w]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let w=this.getValue("coordinates"),Q,M,B=this.getValue("height");return B!==void 0?(Q=Cesium.Cartesian3.fromRadians(w.west,w.north,B),M=Cesium.Cartesian3.fromRadians(w.east,w.south,B)):(B=m.scene.sampleHeight(new Cesium.Cartographic(w.west,w.north,0),[this.entity]),Q=Cesium.Cartesian3.fromRadians(w.west,w.north,B),B=m.scene.sampleHeight(new Cesium.Cartographic(w.east,w.south,0),[this.entity]),M=Cesium.Cartesian3.fromRadians(w.east,w.south,B)),this.entity.pottingPoint=[Q,M],[Q,M]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let Q=new Cesium.Cartesian3;w.forEach((M,B)=>{let D=m.entities.add({name:"_edit_point",position:M,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(D.id),Q.x+=M.x,Q.y+=M.y,Q.z+=M.z}),Q.x/=w.length,Q.y/=w.length,Q.z/=w.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:Q,point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else if(o==="box"){let y=SmartEarthPopupData.editGraphic.getValue("material");y.color?C(y.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,Q){if(w==="name")this.entity[w]=Q;else{if(w==="color"||w==="outlineColor"){if(Q=Cesium.Color.fromCssColorString(Q),w==="color"){this.graphic.material.color=Q;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=Q;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(w==="long"||w==="width"||w==="height"){let M=this.getValue("dimensions");if(w==="long"?M.x=Q:w==="width"?M.y=Q:M.z=Q,this.graphic.dimensions=new Cesium.CallbackProperty(function(){return M},!1),w==="long"||w==="width"){let B=w==="long"?90:180,D=w==="long"?0:1,S=Ke.editPointID.move.position.getValue(),P=f.GetPositionFromA_D(S,Q/2,B),R=m.entities.getById(Ke.editPointID.size[D]);R.position=P,this.entity.pottingPoint[D]=P,this.entity.pottingPoint[this.entity.pottingPoint.length-1]=S}else{let B=f.toDegrees(Ke.editPointID.move.position.getValue());this.entity.position=Cesium.Cartesian3.fromDegrees(B.lon,B.lat,B.height+Q/2),this.changeHeightPoint(B.height+Q)}return}else if(w==="dimensions"){this.graphic.dimensions=new Cesium.CallbackProperty(function(){return Q},!1);return}this.graphic[w]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let w=this.getValue("dimensions"),Q=this.getValue("position"),M=f.toDegrees(Q);Q=Cesium.Cartesian3.fromDegrees(M.lon,M.lat,M.height-w.z/2);let B=f.GetPositionFromA_D(Q,w.x/2,90),D=f.GetPositionFromA_D(Q,w.y/2,180);return this.entity.pottingPoint=[B,D,Q],[B,D,Q]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let Q=m.entities.add({name:"_size_point",position:w[0],point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.angle=90;let M=m.entities.add({name:"_size_point",position:w[1],point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});M.angle=180,Ke.editPointID.size.push(Q.id),Ke.editPointID.size.push(M.id),Ke.editPointID.move=m.entities.add({name:"_move_point",position:w[2],point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else if(o!=="corridor"){if(!(o==="ellipsoid"&&!A.isSphere)){if(o!=="path"){if(o!=="plane"){if(o!=="polylineVolume"){if(o==="wall"){let y=SmartEarthPopupData.editGraphic.getValue("material");y.color?C(y.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,Q){if(w==="name")this.entity[w]=Q;else{if(w==="color"){Q=Cesium.Color.fromCssColorString(Q),this.graphic.material[w]=Q;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(w==="positions"){this.graphic[w]=new Cesium.CallbackProperty(function(){return Q},!1);return}this.graphic[w]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let w=this.getValue("positions");return this.entity.pottingPoint=w,w},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let Q=new Cesium.Cartesian3,M=this.getValue("minimumHeights");w.forEach((B,D)=>{let S=Cesium.Cartographic.fromCartesian(B),P=Cesium.Cartesian3.fromRadians(S.longitude,S.latitude,M[D]),R=m.entities.add({name:"_edit_point",position:P,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(R.id),Q.x+=P.x,Q.y+=P.y,Q.z+=P.z}),Q.x/=w.length,Q.y/=w.length,Q.z/=w.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:Q,point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});for(let B=0;B<w.length-1;B++){let D=Cesium.Cartesian3.midpoint(w[B],w[B+1],new Cesium.Cartesian3),S=m.entities.add({name:"_add_point",position:D,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(S.id)}}}}}}}}function C(y){SmartEarthPopupData.editGraphic.fillColor=x("rgb("+y.red*255+","+y.green*255+","+y.blue*255+")"),SmartEarthPopupData.editGraphic.alpha=y.alpha*100}function E(y){SmartEarthPopupData.editGraphic.outlineColor=x("rgb("+y.red*255+","+y.green*255+","+y.blue*255+")"),SmartEarthPopupData.editGraphic.outlineAlpha=y.alpha*100}function I(y){SmartEarthPopupData.editGraphic.backgroundColor=x("rgb("+y.red*255+","+y.green*255+","+y.blue*255+")"),SmartEarthPopupData.editGraphic.backgroundAlpha=y.alpha*100}function x(y){let v=y,w=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(v)){let Q=v.replace(/(rgb|RGB)*/g,"");Q=Q.replace("(","").replace(")","");let M=Q.split(","),B="#";for(let D=0;D<M.length;D++){let S=Number(M[D]).toString(16);S=S.length===1?0+""+S:S,S==="0"&&(S+=S),B+=S}return B.length!==7&&(B=v),B}else if(w.test(v)){let Q=v.replace(/#/,"").split("");if(Q.length===6)return v;if(Q.length===3){let M="#";for(let B=0;B<Q.length;B+=1)M+=Q[B]+Q[B];return M}}else return v}};var yu=qh;function Mb(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this._Provider=void 0,this._cache=!1,this._forceRefreshPrvimitive=null}Mb.prototype.createBillboardPointGeoJsonFeatureLayer=function(o,A,f,m,C){A==null&&console.log("geojson is required");var E=this._cesium.GeoJsonDataSource.load(A),I=this;E.then(function(v){var w={show:!0,position:I._cesium.Cartesian3.ZERO,pixelOffset:I._cesium.Cartesian2.ZERO,eyeOffset:I._cesium.Cartesian3.ZERO,heightReference:I._cesium.HeightReference.NONE,horizontalOrigin:I._cesium.HorizontalOrigin.CENTER,verticalOrigin:I._cesium.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:I._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:I._cesium.Cartesian3.ZERO,width:void 0,height:void 0,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0};!I._core.isnull(f)&&!I._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.charAt(0)=="["&&f.color.charAt(f.color.length-1)=="]"||(I._core.isHtmlColor(f.color)?f.color=I._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=I._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=I._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var Q=I._core.extend(w,f,!0);I._core.isnull(f.near)&&(f.near=0),I._core.isnull(f.far)&&(f.far=999999999);for(var M=parseFloat(f.near),B=parseFloat(f.far),D=new I._cesium.DistanceDisplayCondition(M,B),S=new I._cesium.BillboardCollection,P=v.entities.values,R=0;R<P.length;R++){var T=P[R];Q.position=T.position._value,S.add(Q)}var L=I._viewer.scene.primitives.add(S);typeof C=="function"&&C(L)});var x=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x);var y={id:x,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"billboardLayer",item:this,url:A,style:options};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(m)?0:m),this};Mb.prototype.createBillboardGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},x=new yu(this._viewer,this._cesium,I);this._Provider=x;var y=this;x._loadTile=function(w){var Q={show:!0,position:y._cesium.Cartesian3.ZERO,pixelOffset:y._cesium.Cartesian2.ZERO,eyeOffset:y._cesium.Cartesian3.ZERO,heightReference:y._cesium.HeightReference.NONE,horizontalOrigin:y._cesium.HorizontalOrigin.CENTER,verticalOrigin:y._cesium.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:y._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:y._cesium.Cartesian3.ZERO,width:void 0,height:void 0,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0};!y._core.isnull(f)&&!y._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.charAt(0)=="["&&f.color.charAt(f.color.length-1)=="]"||(y._core.isHtmlColor(f.color)?f.color=y._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=y._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=y._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var M=y._core.extend(Q,f,!0);y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var B=parseFloat(f.near),D=parseFloat(f.far),S=new y._cesium.DistanceDisplayCondition(B,D),P=new y._cesium.BillboardCollection;return w.features.forEach(function(R){M.id=R;var T;if(/^\[/.test(M.pointHeight)&&/\]$/.test(M.pointHeight)){var L=M.pointHeight.replace(/\[/,"").replace(/\]/,"");T=parseFloat(R.properties[L]),R.geometry.coordinates.push(T),M.position=y._cesium.Cartesian3.fromDegreesArrayHeights(R.geometry.coordinates)[0]}else M.pointHeight?(T=parseFloat(M.pointHeight),R.geometry.coordinates.push(T),M.position=y._cesium.Cartesian3.fromDegreesArrayHeights(R.geometry.coordinates)[0]):M.position=y._cesium.Cartesian3.fromDegreesArray(R.geometry.coordinates)[0];M.id.treeID=f.id,M.id.VectorType="billboard",M.id.VectorStyle={position:M.position,pointHeight:T,rotation:M.rotation,width:M.width,height:M.height,image:M.image,color:M.color,scale:M.scale,heightReference:M.heightReference,horizontalOrigin:M.horizontalOrigin,verticalOrigin:M.verticalOrigin,scaleByDistance:M.scaleByDistance,distanceDisplayCondition:M.distanceDisplayCondition},P.add(M)}),P},f&&f.time&&(x.availability=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=x._primitiveCollection,x.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"imageLayer",item:this,url:I.url,style:f};return this._Provider.treeID=f.id,this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Mb.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};Mb.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(o)}catch{}};Mb.prototype.setVisibility=function(o){this.item.show=o,this._Provider&&this._Provider.setStatus(!o),!o&&this.item.removeAll()};Mb.prototype.deleteObject=function(){if(this._Provider!=null&&this._Provider.setStatus(!1),this.items!=null&&this.items!=null&&this.items.length>0)for(var o=0;o<this.items.length;o++)this._viewer.scene.primitives.remove(this.items[o]);else this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};Mb.prototype.setTreeobj=function(o){this.treeobj=o};Mb.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};Mb.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var NJ=Mb;var yn=null;function Ul(o,A){yn=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._getPosition=new hl(this._viewer,this._cesium),this._tree=Ke,this._popupmessage=new VB(this._viewer,this._cesium),this._bufferAnalysis=new MP(this._viewer,this._cesium),this.Legend=[],this.tooltip=this._core.CreateTooltip(),this.enty=null}Ul.prototype.createGeojsonFeatureLayer=function(o,A,f,m,C,E){var I=A.url,x=A.maxLevel,y=A.minLevel,v=this._core.StyleContrastGeoJson(f,this._cesium);I==null&&console.log("geojson is required");var w=null;I.then?w=I:w=this._cesium.GeoJsonDataSource.load(I),this._viewer.dataSources.add(w);var Q=this;!this.setNearAndFar&&x&&y&&(this.setNearAndFar=!0,this.Level=0,this._viewer.scene.preRender.addEventListener(function(){Q.isShow&&Q.item&&(Q.Level=Q.getLevel(),Q.Level>=y&&Q.Level<=x&&!Q.item.show?Q.item.show=!0:(Q.Level<y||Q.Level>x)&&(Q.item.show=!1))})),w.then(function(B){Q.item=B;for(var D=B.entities.values,S=0;S<D.length;S++){var P=D[S];if(v.point!=null){var R=v.point;R.color=Q._color.VectorColorTransformation(R.color,P),R.outlineColor=Q._color.VectorColorTransformation(R.outlineColor,P),R.pointHeight!=null&&(P.position._value=Q._core.setheight(P.position._value,R.pointHeight,Q._cesium,Q._viewer),delete R.pointHeight),P.point=new Q._cesium.PointGraphics(R)}if(v.label!=null){var T=v.label;T.fillColor=Q._color.VectorColorTransformation(T.fillColor,P),T.outlineColor=Q._color.VectorColorTransformation(T.outlineColor,P),T.pointHeight!=null&&(P.position._value=Q._core.setheight(P.position._value,T.pointHeight,Q._cesium,Q._viewer),delete T.pointHeight),P.label=new Q._cesium.LabelGraphics(T)}if(v.billboard!=null){var L=v.billboard;L.color=Q._color.VectorColorTransformation(L.color,P),L.pointHeight!=null&&(P.position._value=Q._core.setheight(P.position._value,L.pointHeight,Q._cesium,Q._viewer),delete L.pointHeight),P.billboard=new Q._cesium.BillboardGraphics(L)}if(v.polyline!=null){var F=v.polyline;F.material=Q._color.VectorColorTransformation(F.material,P),F.positions=P.polyline.positions,F.pointHeight!=null&&(P.position._value=Q._core.setpolylineheight(P.position._value,F.pointHeight,Q._cesium,Q._viewer),delete F.pointHeight),P.polyline=new Q._cesium.PolylineGraphics(F)}if(v.polygon!=null){var U=v.polygon;U.hierarchy=P.polygon.hierarchy,U.material=Q._color.VectorColorTransformation(U.material,P),U.outlineColor=Q._color.VectorColorTransformation(U.outlineColor,P),U.outlineColor&&(U.outline=!0),P.polygon=new Q._cesium.PolygonGraphics(U)}}typeof E=="function"&&E(B)}),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),C?Q.isShow=!0:Q.setVisibility(!1);var M={id:v.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"datasource",item:this,url:I,style:v,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(M),this._tree.insertGroupId(M,this._core.isnull(m)?0:m),this};Ul.prototype.createGeojsonKmlFeatureLayer=function(o,A,f,m,C){var E=A,I={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas};this._viewer.dataSources.add(this._cesium.KmlDataSource.load(A,I));var x=this;this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),m||x.setVisibility(!1);var y={id:I.id,name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"datasource",item:this,url:E,style:I,treeData:{name:o,geoOptions:A,styleOption:"",GroupID:f,checked:m,disFnc:C}};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(f)?0:f),this};Ul.prototype.createGeoJsonFeatureLayerAlawys=function(o,A,f,m,C){var E={id:this._core.getuid(),layertype:"",text:"",font:"16px",fillColor:this._cesium.WHITE,outlineColor:this._cesium.BLACK,outlineWidth:"1.0",scale:"1.0",maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,icon:""};!this._core.isnull(f)&&!this._core.isnull(f.fillColor)&&(f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||(this._core.isHtmlColor(f.fillColor)?f.fillColor=this._color.colorFromHtmlColor(f.fillColor):f.fillColor=this._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)));var I=this._core.extend(E,f,!0);A==null&&console.log("geojson is required");var x=null;A.then?x=A:x=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(x);var y=this,v;f&&f.time&&(v=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})])),x.then(function(Q){y.item=Q;for(var M=Q.entities.values,B=0;B<M.length;B++){var D=M[B];I.id=y._core.extendgl(D,f.id,I.id),I.text=y._core.extendgl(D,f.text,I.text),I.font=y._core.extendgl(D,f.font,I.font),I.fillColor=y._core.extendgl(D,f.fillColor,I.fillColor),I.outlineColor=y._core.extendgl(D,f.outlineColor,I.outlineColor),I.outlineWidth=parseInt(y._core.extendgl(D,f.outlineWidth,I.outlineWidth)),I.scale=parseFloat(y._core.extendgl(D,f.scale,I.scale)),I.image=y._core.extendgl(D,f.image,I.image),I.icon=y._core.extendgl(D,f.icon,I.icon);var S=parseFloat(y._core.extendgl(D,I.minDistanceDisplay||I.near)),P=parseFloat(y._core.extendgl(D,I.maxDistanceDisplay||I.far)),R=new y._cesium.DistanceDisplayCondition(S,P);if(D.billboard){if(I)if((y._core.isUrl(D.properties[I.icon])||y._core.isUrl(I.icon))&&!y._core.isnull(D.properties[I.text])||!y._core.isnull(I.text)){var T="fillColor:"+I.fillColor.red*255+","+I.fillColor.green*255+","+I.fillColor.blue*255+";outlineColor:"+I.outlineColor.red*255+","+I.outlineColor.green*255+","+I.outlineColor.blue*255;y.Legend.push(T),D.label={id:"my label",text:y._core.isnull(D.properties[I.text])?I.text:D.properties[I.text]+"",font:I.font+" sans-serif",fillColor:I.fillColor,outlineColor:I.outlineColor,outlineWidth:I.outlineWidth,scale:parseFloat(I.scale),distanceDisplayCondition:R},D.billboard={image:y._core.isUrl(D.properties[I.icon])?D.properties[I.icon]:I.icon,distanceDisplayCondition:R}}else if(!y._core.isnull(I.icon))D.billboard={image:y._core.isUrl(D.properties[I.icon])?D.properties[I.icon]:I.icon,distanceDisplayCondition:R};else if(!y._core.isnull(D.properties[I.text])||!y._core.isnull(I.text)){D.billboard=void 0;var T="fillColor:"+I.fillColor.red*255+","+I.fillColor.green*255+","+I.fillColor.blue*255+";outlineColor:"+I.outlineColor.red*255+","+I.outlineColor.green*255+","+I.outlineColor.blue*255;y.Legend.push(T),D.label={id:"my label",text:y._core.isnull(D.properties[I.text])?I.text:D.properties[I.text]+"",font:I.font+" sans-serif",fillColor:I.fillColor,outlineColor:I.outlineColor,outlineWidth:I.outlineWidth,scale:parseFloat(I.scale),distanceDisplayCondition:R}}else{var T="color:"+I.fillColor.red*255+","+I.fillColor.green*255+","+I.fillColor.blue*255;y.Legend.push(T),D.billboard=void 0,D.point=new y._cesium.PointGraphics({color:y._cesium.Color.RED,pixelSize:10,distanceDisplayCondition:R})}else D.polygon?D.polygon.distanceDisplayCondition=R:D.polyline&&(D.polyline.distanceDisplayCondition=R);v&&(D.availability=v)}}typeof C=="function"&&C(Q)}),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id);var w={id:I.id,name:o,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A,style:I,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:!0,disFnc:C}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};Ul.prototype.createGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=this._cesium.GeoJsonDataSource.load(A),x=this;return I.then(function(y){var v=y.entities.values[0];/^point.fid/.test(v._id)||v.point!=null?x.createPointGeojsonFeatureLayer(o,I,f,m,C,E):/^polygon.fid/.test(v._id)||v.polygon!=null?x.createPolygonGeoJsonFeatureLayer(o,I,f,m,C,E):/^line.fid/.test(v._id)||v.polyline!=null?x.createPolylineGeoJsonFeatureLayer(o,I,f,m,C,E):x.createGeoJsonFeatureLayerAlawys(o,I,f,m,E)}),this};Ul.prototype.createPointGeojsonFeatureLayer=function(o,A,f,m,C=!0,E){var I={color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1),height:0,pointHeight:0,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0};!this._core.isnull(f)&&!this._core.isnull(f.color)&&(f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var x=this._core.extend(I,f,!0);A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(y);var v=this,w;f&&f.time&&(w=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),y.then(function(M){v.item=M;for(var B=M.entities.values,D=0;D<B.length;D++){var S=B[D];x.color=v._core.extendgl(S,f.color,x.color),x.pixelSize=parseInt(v._core.extendgl(S,f.pixelSize,x.pixelSize)),x.outlineColor=v._core.extendgl(S,f.outlineColor,x.outlineColor),x.outlineWidth=parseFloat(v._core.extendgl(S,f.outlineWidth,x.outlineWidth)),x.show=v._core.extendgl(S,f.show,x.show),x.height=parseFloat(v._core.extendgl(S,f.height,x.height)),x.scaleByDistance=v._core.extendgl(S,f.scaleByDistance,x.scaleByDistance);var P=parseFloat(v._core.extendgl(S,x.minDistanceDisplay||x.near)),R=parseFloat(v._core.extendgl(S,x.maxDistanceDisplay||x.far)),T=new v._cesium.DistanceDisplayCondition(P,R),L="color:"+x.color.red*255+","+x.color.green*255+","+x.color.blue*255+";outlineColor:"+x.outlineColor.red*255+","+x.outlineColor.green*255+","+x.outlineColor.blue*255;v.Legend.push(L),x.distanceDisplayCondition=T,x.pointHeight=v._core.extendgl(S,f.pointHeight,x.pointHeight),x.pointHeight=parseFloat(x.pointHeight);var F=v._viewer.scene.globe.ellipsoid,U=v._cesium.Cartographic.fromCartesian(S.position._value),N=v._cesium.Math.toDegrees(U.longitude),H=v._cesium.Math.toDegrees(U.latitude),J=x.pointHeight||U.height,K=new v._cesium.Cartesian3.fromDegrees(N,H,J);S.position._value=K,S.point=new v._cesium.PointGraphics(x),S.billboard=void 0;var X={positions:K};S.description=X,w&&(S.availability=w)}C||v.setVisibility(!1),typeof E=="function"&&E(M)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var Q={id:x.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A,style:x,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Ul.prototype.createModelGeojsonFeatureLayer=function(o,A,f={},m,C,E){var I={color:f.color||"#ffffff",url:window.SmartEarthRootUrl+kr.testModel,scale:1,minimumPixelSize:0,height:0,far:5e3,near:0,type:"default"};A==null&&console.log("geojson is required");var x=null;A.then?x=A:x=this._cesium.GeoJsonDataSource.load(A);var y;f&&f.time&&(y=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.option=f,this.option.color=typeof I.color=="string"?yn.Color.fromCssColorString(I.color):I.colorF,this.loadGeosjonData=()=>{f=this.option;let w=this.dataSourceItem.entities.values,Q=this._core.extend(I,f,!0),M=parseFloat(Q.near),B=parseFloat(Q.far),D=new yn.DistanceDisplayCondition(M,B);this.item.removeAll();let S=new Map,P,R,T,L=[];for(let F=0,U;F<w.length;F++)if(U=w[F],Q.type==="polylineVolume"){let N=this._core.extendgl(U,"[flieName]");N="/"+N.replace("xpl2","gltf"),S.get(Q.url+N)||S.set(Q.url+N,[]),T=S.get(Q.url+N);let H=new yn.Cartesian3(this._core.extendgl(U,"[scaleY]",1),this._core.extendgl(U,"[scaleX]",1),this._core.extendgl(U,"[scaleZ]",1)),J=new yn.HeadingPitchRoll(yn.Math.toRadians(this._core.extendgl(U,"[Yaw]",0)),yn.Math.toRadians(this._core.extendgl(U,"[Pitch]",0)),yn.Math.toRadians(this._core.extendgl(U,"[Roll]",0))),K=yn.Matrix3.fromHeadingPitchRoll(J),X=this._core.toDegrees(U.position.getValue());X.height=this._core.extendgl(U,"[Altitude]",0),R=new yn.Cartesian3.fromDegrees(X.lon,X.lat,X.height),L.push(R),P=yn.Transforms.eastNorthUpToFixedFrame(R),yn.Matrix4.multiplyByMatrix3(P,K,P),yn.Matrix4.multiplyByScale(P,H,P),yn.ModelInstanceCollection?T.push({modelMatrix:P,modelId:this._core.getEntityProp(U)}):this.item.add(yn.Model.fromGltf({id:this._core.getEntityProp(U),url:Q.url+N,modelMatrix:P,color:Q.color,distanceDisplayCondition:D}))}else{if(S.get(Q.url)||(S.set(Q.url,[]),T=S.get(Q.url)),Q.height!==void 0||Q.pointHeight!==void 0){let J=this._core.toDegrees(U.position.getValue());J.height=Q.height||Q.pointHeight,R=new yn.Cartesian3.fromDegrees(J.lon,J.lat,J.height),U.position=R}R=U.position.getValue(),L.push(R),P=yn.Transforms.eastNorthUpToFixedFrame(R);let N=new yn.HeadingPitchRoll(yn.Math.toRadians(this._core.extendgl(U,Q.heading,0)),yn.Math.toRadians(this._core.extendgl(U,Q.pitch,0)),yn.Math.toRadians(this._core.extendgl(U,Q.roll,0))),H=yn.Matrix3.fromHeadingPitchRoll(N);yn.Matrix4.multiplyByMatrix3(P,H,P),typeof Q.scale=="object"?yn.Matrix4.multiplyByScale(P,Q.scale,P):yn.Matrix4.multiplyByUniformScale(P,Q.scale,P),yn.ModelInstanceCollection?T.push({modelMatrix:P,modelId:this._core.getEntityProp(U)}):this.item.add(yn.Model.fromGltf({id:this._core.getEntityProp(U),url:Q.url,modelMatrix:P,color:Q.color,distanceDisplayCondition:D}))}this.item.boundingSphere=yn.BoundingSphere.fromPoints(L),yn.ModelInstanceCollection&&S.forEach((F,U)=>{this.item.add(new yn.ModelInstanceCollection({url:U,instances:F,color:Q.color}))})},this.item=new yn.PrimitiveCollection,this._viewer.scene.primitives.add(this.item),x.then(w=>{this.dataSourceItem=w,this.loadGeosjonData(),C||this.setVisibility(!1),typeof E=="function"&&E(w)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id);var v={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};Ul.prototype.createCirclePointGeoJsonFeatureLayer=function(o,A,f,m,C){var E={semiMajorAxis:1,semiMinorAxis:1,height:0,heightReference:this._cesium.HeightReference.NONE,extrudedHeight:0,extrudedHeightReference:this._cesium.HeightReference.NONE,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)};!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.radius)&&(E.semiMajorAxis=f.radius,E.semiMinorAxis=f.radius),y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var I=this._core.extend(E,f,!0);A==null&&console.log("geojson is required");var x=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(x);var y=this;x.then(function(w){y.item=w;for(var Q=w.entities.values,M=0;M<Q.length;M++){var B=Q[M];I.semiMajorAxis=parseFloat(y._core.extendgl(B,f.semiMajorAxis,I.semiMajorAxis)),I.semiMinorAxis=parseFloat(y._core.extendgl(B,f.semiMinorAxis,I.semiMinorAxis)),I.height=parseFloat(y._core.extendgl(B,f.height,I.height)),I.heightReference=y._core.extendgl(B,f.heightReference,I.heightReference),I.extrudedHeight=parseFloat(y._core.extendgl(B,f.extrudedHeight,I.extrudedHeight)),I.extrudedHeightReference=y._core.extendgl(B,f.extrudedHeightReference,I.extrudedHeightReference),I.show=y._core.extendgl(B,f.show,I.show),I.fill=y._core.extendgl(B,f.fill,I.fill),I.material=y._core.extendgl(B,f.material,I.material),I.outline=y._core.extendgl(B,f.outline,I.outline),I.outlineColor=y._core.extendgl(B,f.outlineColor,I.outlineColor),I.outlineWidth=parseFloat(y._core.extendgl(B,f.outlineWidth,I.outlineWidth)),I.scaleByDistance=y._core.extendgl(B,f.scaleByDistance,I.scaleByDistance);var D="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255+";outlineColor:"+I.outlineColor.red*255+","+I.outlineColor.green*255+","+I.outlineColor.blue*255;y.Legend.push(D);var S=parseFloat(y._core.extendgl(B,I.near)),P=parseFloat(y._core.extendgl(B,I.far)),R=new y._cesium.DistanceDisplayCondition(S,P);I.distanceDisplayCondition=R,B.billboard=void 0,B.ellipse=new y._cesium.EllipseGraphics(I)}typeof C=="function"&&C(w)}),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id);var v={id:I.id,name:o,pId:this._core.isnull(m)?0:m,type:"layer",item:this,url:A,style:I,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:!0,disFnc:C}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};Ul.prototype.createModelPointGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={uri:"",show:!0,scale:1,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,lightColor:void 0,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1),color:this._cesium.Color.WHITE,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},x=this;!this._core.isnull(f)&&!this._core.isnull(f.color)&&(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))),x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var y=this._core.extend(I,f,!0);A==null&&console.log("geojson is required");var v=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(v);var w;f&&f.time&&(w=new x._cesium.TimeIntervalCollection([new x._cesium.TimeInterval({start:f.time.start?x._cesium.JulianDate.fromDate(new Date(f.time.start)):x._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?x._cesium.JulianDate.fromDate(new Date(f.time.end)):x._cesium.Iso8601.MAXIMUM_VALUE})])),v.then(function(M){x.item=M;for(var B=M.entities.values,D=0;D<B.length;D++){var S=B[D];y.uri=x._core.extendgl(S,f.uri,y.uri),y.scale=parseFloat(x._core.extendgl(S,f.scale,y.scale)),y.incrementallyLoadTextures=x._core.extendgl(S,f.incrementallyLoadTextures,y.incrementallyLoadTextures),y.runAnimations=x._core.extendgl(S,f.runAnimations,y.runAnimations),y.clampAnimations=x._core.extendgl(S,f.clampAnimations,y.clampAnimations),y.shadows=x._core.extendgl(S,f.shadows,y.shadows),y.heightReference=x._core.extendgl(S,f.heightReference,y.heightReference),y.lightColor=x._core.extendgl(S,f.lightColor,y.lightColor),y.scaleByDistance=x._core.extendgl(S,f.scaleByDistance,y.scaleByDistance),y.color=x._core.extendgl(S,f.color,y.color),y.height?y.height=parseFloat(x._core.extendgl(S,f.height,y.height)):y.height=void 0;var P=parseFloat(x._core.extendgl(S,f.near,y.near)),R=parseFloat(x._core.extendgl(S,f.far,y.far)),T="color:"+y.color.red*255+","+y.color.green*255+","+y.color.blue*255;x.Legend.push(T);var L=new x._cesium.DistanceDisplayCondition(P,R);if(y.distanceDisplayCondition=L,S.billboard=void 0,S.model=new x._cesium.ModelGraphics(y),y.height){var F=x._cesium.Cartographic.fromCartesian(S.position._value),U=x._cesium.Math.toDegrees(F.longitude),N=x._cesium.Math.toDegrees(F.latitude);S.position=x._cesium.Cartesian3.fromDegrees(U,N,y.height)}w&&(S.availability=w)}typeof E=="function"&&E(M),C||x.setVisibility(!1)}),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var Q={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"modelLayer",item:this,url:A,style:y,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:!0,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Ul.prototype.createLabelPointGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={Name:"",text:"test",font:" 30px sans-serif",style:this._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.RELATIVE_TO_GROUND,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1),pointHeight:0,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,addHeight:0},v=this;!this._core.isnull(f)&&!this._core.isnull(f.fillColor)&&(this._core.isHtmlColor(f.fillColor)?f.fillColor=this._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=this._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=this._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.color)&&(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.backgroundColor)&&(this._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=this._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=this._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=this._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))),v._core.isnull(f.near)&&(f.near=0),v._core.isnull(f.far)&&(f.far=999999999);var x;f&&f.time&&(x=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),A==null&&console.log("geojson is required");var y=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(y);var v=this;this.option=f,this.loadGeosjonData=()=>{f=this.option;let Q=this.item.entities.values,M=this._core.extend(I,f,!0);v._core.isnull(M.font_size)&&(M.font_size="30px"),v._core.isnull(M.font_family)&&(M.font_family=" sans-serif"),M.font_size.toString().indexOf("px")==-1?M.font=M.font_size+"px "+M.font_family:M.font=M.font_size+" "+M.font_family,M.bold&&(M.font="bold "+M.font),M.italic&&(M.font="italic "+M.font),v.Legend=[];for(let B=0;B<Q.length;B++){let D=Q[B];M.font=v._core.extendgl(D,f.font,M.font),M.style=parseInt(v._core.extendgl(D,M.style,M.style)),M.fillColor=v._core.extendgl(D,f.fillColor,M.fillColor),M.outlineColor=v._core.extendgl(D,f.outlineColor,M.outlineColor),M.outlineWidth=parseFloat(v._core.extendgl(D,f.outlineWidth,M.outlineWidth)),M.show=v._core.extendgl(D,f.show,M.show),M.showBackground=v._core.extendgl(D,f.showBackground,M.showBackground),M.backgroundColor=v._core.extendgl(D,f.backgroundColor,M.backgroundColor),M.backgroundPadding=v._core.extendgl(D,f.backgroundPadding,M.backgroundPadding),M.scale=parseFloat(v._core.extendgl(D,f.scale,M.scale)),M.horizontalOrigin=v._core.extendgl(D,f.horizontalOrigin,M.horizontalOrigin),M.pointHeight=parseFloat(v._core.extendgl(D,f.pointHeight,M.pointHeight)),M.text=v._core.extendgl(D,f.text,M.text).toString();let S=parseFloat(v._core.extendgl(D,M.near)),P=parseFloat(v._core.extendgl(D,M.far)),R=new v._cesium.DistanceDisplayCondition(S,P);if(M.distanceDisplayCondition=R,M.image!=null&&M.image!=null&&M.image.length>0?(D.billboard={image:M.image},D.billboard.scale=M.scale,D.billboard.color=M.color,D.billboard.verticalOrigin=M.verticalOrigin,D.billboard.horizontalOrigin=M.horizontalOrigin,D.billboard.disableDepthTestDistance=M.disableDepthTestDistance,D.billboard.heightReference=M.heightReference,D.billboard.distanceDisplayCondition=M.distanceDisplayCondition):D.billboard=void 0,M.layertype=="ellipsoidlayer"){D.name=o;let F={show:!0,radii:new v._cesium.Cartesian3(M.long_axis,M.short_axis,M.long_axis),material:v._cesium.Color.fromRandom({alpha:1})};D.ellipsoid=new v._cesium.EllipsoidGraphics(F),D.ellipsoid.heightReference=M.heightReference,D.ellipsoid.material=url}let T={Name:M.Name,text:M.text,font:M.font,style:M.stylet,...M},L="fillColor:"+M.fillColor.red*255+","+M.fillColor.green*255+","+M.fillColor.blue*255+";outlineColor:"+M.outlineColor.red*255+","+M.outlineColor.green*255+","+M.outlineColor.blue*255;if(v.Legend.push(L),D.label=new v._cesium.LabelGraphics(T),x&&(D.availability=x),M.pointHeight||M.addHeight){let F=v._cesium.Cartographic.fromCartesian(D.position._value),U=v._cesium.Math.toDegrees(F.longitude),N=v._cesium.Math.toDegrees(F.latitude),H=(M.pointHeight||F.height)+M.addHeight,J=new yn.Cartesian3.fromDegrees(U,N,H);D.position._value=J}D.label&&(M.labelData&&Object.assign(D.label,M.labelData),(M.offsetX||M.offsetY)&&(D.label.pixelOffset=new yn.Cartesian2(M.offsetX||0,M.offsetY||0))),D.billboard&&M.imageData&&Object.assign(D.billboard,M.imageData)}},y.then(function(Q){v.item=Q,v.loadGeosjonData(),C||v.setVisibility(!1),typeof E=="function"&&E(Q)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u8857\u666F"+f.id);var w={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};Ul.prototype.createStreetscapeGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!0,width:1,show:!0,material:this._cesium.Color.RED,height:30,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},x=this;!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)),f.arcType=="1"||f.arcType==1?f.material=new yn.PolylineDashMaterialProperty({color:f.material}):f.material=f.material)),x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var y=this._core.extend(I,f,!0);A==null&&console.log("geojson is required");var v=null;A.then?v=A:v=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(v,{camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas,clampToGround:!0});var w;f&&f.time&&(w=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),v.then(function(M){x.item=M;for(var B=M.entities.values,D=0;D<B.length;D++){var S=B[D];y.arcType=x._core.extendgl(S,f.arcType,y.arcType),y.clampToGround=x._core.extendgl(S,f.clampToGround,y.clampToGround),y.width=parseFloat(x._core.extendgl(S,f.width,y.width)),y.show=x._core.extendgl(S,f.show,y.show),y.material=x._core.extendgl(S,f.material,y.material),y.height=parseFloat(x._core.extendgl(S,f.height,y.height));var P=parseFloat(x._core.extendgl(S,y.near)),R=parseFloat(x._core.extendgl(S,y.far)),T=new x._cesium.DistanceDisplayCondition(P,R);y.distanceDisplayCondition=T,S.polyline.arcType=!0,y.heightReference==0?S.polyline.arcType=0:S.polyline.arcType=1,S.polyline.clampToGround=y.clampToGround,S.polyline.width=y.width,S.polyline.height=y.height,S.polyline.show=y.show,S.polyline.material=y.material,S.polyline.distanceDisplayCondition=T;var L=[],F,U,N;S.polyline.positions._value.forEach(function(J){y.height?(F=x._cesium.Cartographic.fromCartesian(J),U=x._cesium.Math.toDegrees(F.longitude),N=x._cesium.Math.toDegrees(F.latitude),L.push(x._cesium.Cartesian3.fromDegrees(U,N,y.height))):L.push(J)}),S.polyline.positions=L,w&&(S.availability=w);var H="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;x.Legend.push(H)}C||x.setVisibility(!1),typeof E=="function"&&E(M)}),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u8857\u666F"+y.id);var Q={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"Streetscape",item:this,url:A,style:y,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Ul.prototype.createEllipsoidlayerPointGeoJsonFeatureLayer=function(o,A,f,m,C){var E={Name:"",text:"",font:" 30px sans-serif",style:this._cesium.LabelStyle.OUTLINE,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)};!this._core.isnull(f)&&!this._core.isnull(f.fillColor)&&(f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.fillColor)?f.fillColor=this._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=this._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=this._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!this._core.isnull(f)&&!this._core.isnull(f.backgroundColor)&&(f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(this._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=this._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=this._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=this._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a)))),y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var I=this._core.extend(E,f,!0);A==null&&console.log("geojson is required");var x=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(x);var y=this;x.then(function(w){y.item=w;var Q=w.entities.values;y._core.isnull(f.font_size)&&(f.font_size="30px"),y._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),I.font=f.font_size+"px "+f.font_family;for(var M=0;M<Q.length;M++){I.text=y._core.extendgl(entity,f.text,I.text),I.font=y._core.extendgl(entity,f.font,I.font),I.stylet=y._core.extendgl(entity,f.stylet,I.stylet),I.fillColor=y._core.extendgl(entity,f.fillColor,I.fillColor),I.outlineColor=y._core.extendgl(entity,f.outlineColor,I.outlineColor),I.outlineWidth=parseFloat(y._core.extendgl(entity,f.outlineWidth,I.outlineWidth)),I.show=y._core.extendgl(entity,f.show,I.show),I.showBackground=y._core.extendgl(entity,f.showBackground,I.showBackground),I.backgroundColor=y._core.extendgl(entity,f.backgroundColor,I.backgroundColor),I.backgroundPadding=y._core.extendgl(entity,f.backgroundPadding,I.backgroundPadding),I.scale=parseFloat(y._core.extendgl(entity,f.scale,I.scale)),I.horizontalOrigin=y._core.extendgl(entity,f.horizontalOrigin,I.horizontalOrigin),I.pointheight=parseFloat(y._core.extendgl(entity,f.pointheight,I.pointheight));var B=parseFloat(y._core.extendgl(entity,I.near)),D=parseFloat(y._core.extendgl(entity,I.far)),S="fillColor:"+I.fillColor.red*255+","+I.fillColor.green*255+","+I.fillColor.blue*255+";outlineColor:"+I.outlineColor.red*255+","+I.outlineColor.green*255+","+I.outlineColor.blue*255;y.Legend.push(S);var P=new y._cesium.DistanceDisplayCondition(B,D);if(I.distanceDisplayCondition=P,entity.ellipsoid.radii=new _this._cesium.Cartesian3(f.long_axis,f.short_axis,f.short_axis),entity.label=new y._cesium.LabelGraphics(I),entity.label.text=entity.properties[f.text]==null?f.text:entity.properties[f.text]._value,I.pointheight){var R=y._cesium.Cartographic.fromCartesian(entity.position._value),T=y._cesium.Math.toDegrees(R.longitude),L=y._cesium.Math.toDegrees(R.latitude);entity.position=y._cesium.Cartesian3.fromDegrees(T,L,I.pointheight)}}typeof C=="function"&&C(w)}),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id);var v={id:I.id,name:o,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A,style:I,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:!0,disFnc:C}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};Ul.prototype.createBillboardGeoJsonFeature=function(o,A,f,m,C,E){var I={image:"",show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:2,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)};!this._core.isnull(f)&&!this._core.isnull(f.color)&&(f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var x=this._core.extend(I,f,!0);A==null&&console.log("geojson is required");var y=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(y);var v=this;v._core.isnull(f.near)&&(f.near=0),v._core.isnull(f.far)&&(f.far=999999999);var w;f&&f.time&&(w=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),y.then(function(M){v.item=M;for(var B=M.entities.values,D=0;D<B.length;D++){var S=B[D];x.image=v._core.extendgl(S,f.image,x.image),x.show=v._core.extendgl(S,f.show,x.show),x.scale=parseFloat(v._core.extendgl(S,f.scale,x.scale)),x.horizontalOrigin=v._core.extendgl(S,f.horizontalOrigin,x.horizontalOrigin),x.verticalOrigin=v._core.extendgl(S,f.verticalOrigin,x.verticalOrigin),x.eyeOffset=v._core.extendgl(S,f.eyeOffset,x.eyeOffset),x.pixelOffset=v._core.extendgl(S,f.pixelOffset,x.pixelOffset),x.alignedAxis=v._core.extendgl(S,f.alignedAxis,x.alignedAxis),x.rotation=v._core.extendgl(S,f.rotation,x.rotation),x.width?x.width=parseFloat(v._core.extendgl(S,f.width,x.width)):x.width=void 0,x.height?x.height=parseFloat(v._core.extendgl(S,f.height,x.height)):x.height=void 0,x.color=v._core.extendgl(S,f.color,x.color);var P="color:"+x.color.red*255+","+x.color.green*255+","+x.color.blue*255+";image:"+x.image;v.Legend.push(P);var R=parseFloat(v._core.extendgl(S,x.near)),T=parseFloat(v._core.extendgl(S,x.far)),L=new v._cesium.DistanceDisplayCondition(R,T);x.distanceDisplayCondition=L,S.billboard=void 0,S.billboard=new v._cesium.BillboardGraphics(x);var F=v._viewer.scene.globe.ellipsoid,U=v._cesium.Cartographic.fromCartesian(S.position._value),N=v._cesium.Math.toDegrees(U.longitude),H=v._cesium.Math.toDegrees(U.latitude);if(f.pointHeight)var J=f.pointHeight;else var J=U.height;var K=new v._cesium.Cartesian3.fromDegrees(N,H,J);S.position._value=K;var X={positions:K};S.description=X,w&&(S.availability=w)}C||v.setVisibility(!1),typeof E=="function"&&E(M)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var Q={id:x.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"imageLayer",item:this,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Ul.prototype.createPolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!0,width:1,show:!0,material:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.WHITE,gapColor:yn.Color.TRANSPARENT,height:void 0,dashLength:16,outlineWidth:0,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},x=this;!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||f.outlineColor.toString().charAt(0)=="("&&f.outlineColor.toString().charAt(f.outlineColor.length-1)==")"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),f.gapColor&&typeof f.gapColor=="string"&&(f.gapColor=yn.Color.fromCssColorString(f.gapColor)),x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999),A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(y,{camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas,clampToGround:!0});var v;f&&f.time&&(v=new x._cesium.TimeIntervalCollection([new x._cesium.TimeInterval({start:f.time.start?x._cesium.JulianDate.fromDate(new Date(f.time.start)):x._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?x._cesium.JulianDate.fromDate(new Date(f.time.end)):x._cesium.Iso8601.MAXIMUM_VALUE})])),this.option=f,this.loadGeosjonData=()=>{f=this.option;let Q=this.item.entities.values,M=this._core.extend(I,f,!0);x.Legend=[];for(let B=0;B<Q.length;B++){let D=Q[B];M.arcType=x._core.extendgl(D,f.arcType,M.arcType),M.clampToGround=x._core.extendgl(D,f.clampToGround,M.clampToGround),M.width=parseFloat(x._core.extendgl(D,f.width,M.width)),M.show=x._core.extendgl(D,f.show,M.show),M.material=x._core.extendgl(D,f.material,M.material),M.height=parseFloat(x._core.extendgl(D,f.height,M.height));let S=parseFloat(x._core.extendgl(D,M.near)),P=parseFloat(x._core.extendgl(D,M.far)),R=new x._cesium.DistanceDisplayCondition(S,P);if(M.distanceDisplayCondition=R,M.height!==void 0){let F=D.polyline.positions.getValue();D.polyline.positions=x._core.setpolylineheight(F,M.height)}D.polyline.clampToGround=M.clampToGround,D.polyline.width=M.width,D.polyline.show=M.show,D.polyline.distanceDisplayCondition=R,D.polyline.classificationType=M.classificationType;let T;M.dash?T=new yn.PolylineDashMaterialProperty({color:M.material,gapColor:M.gapColor,dashLength:f.dashLength}):T=new yn.PolylineOutlineMaterialProperty({color:M.material,outlineColor:M.outlineColor,outlineWidth:f.outlineWidth}),D.polyline.material=T,v&&(D.availability=v);let L="material:"+M.material.red*255+","+M.material.green*255+","+M.material.blue*255;x.Legend.push(L)}},y.then(function(Q){x.item=Q,x.loadGeosjonData(),C||x.setVisibility(!1),typeof E=="function"&&E(Q)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id);var w={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};Ul.prototype.createpolylineVolumeGeojsonFeatureLayer=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,radius:.5,radiusScale:1};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var x=this._core.extend(I,f,!0);A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(y);var v=this;x.shape=this.computeCircle(f.radius);var w;f&&f.time&&(w=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),y.then(function(M){v.item=M;var B=M.entities.values;v._core.isnull(f.near)&&(f.near=0),v._core.isnull(f.far)&&(f.far=999999999);var D=parseFloat(f.near),S=parseFloat(f.far),P=new v._cesium.DistanceDisplayCondition(D,S);x.distanceDisplayCondition=P;var R=null;if(typeof x.radius=="string"&&x.radius.indexOf("[")>-1&&x.radius.indexOf("]")>-1){let j;if(x.radius=x.radius.replace("[",""),x.radius=x.radius.replace("]",""),B[0]&&B[0].properties[x.radius])if(j=B[0].properties[x.radius].getValue(),j.indexOf&&(j.indexOf("*")>-1||j.indexOf("x")>-1||j.indexOf("X")>-1)){j.indexOf("*")>-1?j=j.split("*"):j.indexOf("X")>-1?j=j.split("X"):j.indexOf("x")>-1&&(j=j.split("x"));var T=parseFloat(j[0])*x.radiusScale,L=parseFloat(j[1])*x.radiusScale;x.shape=[new v._cesium.Cartesian2(-T,-L),new v._cesium.Cartesian2(T,-L),new v._cesium.Cartesian2(T,L),new v._cesium.Cartesian2(-T,L)]}else x.shape=v._core.computeCircle(j*x.radiusScale);else x.shape=v._core.computeCircle(.5)}else if(x.slttype=="0"||x.slttype==0)x.shape=v._core.computeCircle(x.radius);else if(x.slttype=="1"||x.slttype==1)x.shape=v._core.starPositions(x.number,x.exradius,x.inradius);else if(x.slttype=="2"||x.slttype==2){var T=x.orth_width/2,L=x.orth_height/2;x.shape=[new v._cesium.Cartesian2(-T,-L),new v._cesium.Cartesian2(T,-L),new v._cesium.Cartesian2(T,L),new v._cesium.Cartesian2(-T,L)]}for(var F=0;F<B.length;F++){var U=B[F];x.show=v._core.extendgl(U,f.show,x.show),x.shape=v._core.extendgl(U,f.shape,x.shape),x.cornerType=v._core.extendgl(U,f.cornerType,x.cornerType),x.granularity=v._core.extendgl(U,f.granularity,x.granularity),x.fill=v._core.extendgl(U,f.fill,x.fill),x.material=v._core.extendgl(U,f.material,x.material),x.outline=v._core.extendgl(U,f.outline,x.outline),x.outlineColor=v._core.extendgl(U,f.outlineColor,x.outlineColor),x.outlineWidth=parseFloat(v._core.extendgl(U,f.outlineWidth,x.outlineWidth)),x.shadows=v._core.extendgl(U,f.shadows,x.shadows);var N=[],H,J,K;U.polyline.positions._value.forEach(function(j){x.height?(H=v._cesium.Cartographic.fromCartesian(j),J=v._cesium.Math.toDegrees(H.longitude),K=v._cesium.Math.toDegrees(H.latitude),N.push(v._cesium.Cartesian3.fromDegrees(J,K,x.height))):N.push(j)}),U.polylineVolume=new v._cesium.PolylineVolumeGraphics({positions:N,show:x.show,shape:x.shape,cornerType:x.cornerType,fill:x.fill,outline:x.outline,outlineWidth:x.outlineWidth,material:x.material,distanceDisplayCondition:P});var X="material:"+x.material.red*255+","+x.material.green*255+","+x.material.blue*255;v.Legend.push(X),U.polyline=void 0,w&&(U.availability=w)}C||v.setVisibility(!1),typeof E=="function"&&E(M)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u7BA1\u72B6\u56FE\u5C42"+x.id);var Q={id:x.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A,style:x,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Ul.prototype.createpolylineVolumeGeojsonPrimitiveLayer=function(o,A,f,m,C,E){let I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,radius:.5,height:0,radiusScale:1};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),A==null&&console.log("geojson is required");let x=null;A.then?x=A:x=this._cesium.GeoJsonDataSource.load(A);let y=this;var v;f&&f.time&&(v=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})]));let w=new yn.PrimitiveCollection,Q={allowPicking:!0,appearance:new y._cesium.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:y._core.Shaders("vertexShaderSource"),fragmentShaderSource:y._core.Shaders("fragmentShaderSource")}),shadows:f.shadows,geometryInstances:void 0};this.option=f;let M={};function B(T){return M[T]||(M[T]=y._core.computeCircle(T)),M[T]}function D(T,L){if(typeof L.radius=="string"&&L.radius.indexOf("[")>-1&&L.radius.indexOf("]")>-1){let N=y._core.getEntityPropValue(T,L.radius);if(N)if(N.indexOf&&(N.indexOf("*")>-1||N.indexOf("x")>-1||N.indexOf("X")>-1)){N.indexOf("*")>-1?N=N.split("*"):N.indexOf("X")>-1?N=N.split("X"):N.indexOf("x")>-1&&(N=N.split("x"));let H=parseFloat(N[0])*L.radiusScale,J=parseFloat(N[1])*L.radiusScale;M[H+"*"+J]||(M[H+"*"+J]=[new y._cesium.Cartesian2(-H,-J),new y._cesium.Cartesian2(H,-J),new y._cesium.Cartesian2(H,J),new y._cesium.Cartesian2(-H,J)]),L.shape=M[H+"*"+J],L.radius=J}else L.radius=N*L.radiusScale,L.shape=B(L.radius),L.connect&&(L.connectRadius=N*L.radiusScale*1.1,L.connectRadius2=N*L.radiusScale*1.2,L.connectShape1=B(L.connectRadius),L.connectShape2=B(L.connectRadius2));else L.shape=B(.5),L.radius=.5,L.connect&&(L.connectRadius=L.radius*1.1,L.connectRadius2=L.radius*1.2,L.connectShape1=B(L.connectRadius),L.connectShape2=B(L.connectRadius2))}else if(L.slttype=="0"||L.slttype==0)L.shape=B(L.radius),L.connect&&(L.connectRadius=L.radius*1.1,L.connectRadius2=L.radius*1.2,L.connectShape1=B(L.connectRadius),L.connectShape2=B(L.connectRadius2));else if(L.slttype=="1"||L.slttype==1)L.shape=y._core.starPositions(L.number,L.exradius,L.inradius);else if(L.slttype=="2"||L.slttype==2){var F=L.orth_width/2,U=L.orth_height/2;L.shape=[new y._cesium.Cartesian2(-F,-U),new y._cesium.Cartesian2(F,-U),new y._cesium.Cartesian2(F,U),new y._cesium.Cartesian2(-F,U)],L.radius=U}}this.loadGeosjonData=()=>{f=this.option,y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999),f.near=parseFloat(f.near),f.far=parseFloat(f.far),w.removeAll();let T=this.dataSourceItem.entities.values;y.Legend=[];for(let L=0,F,U;L<T.length;L++)U=T[L],F=this._core.extend(I,f,!0),D(U,F),F.show=y._core.extendgl(U,f.show,F.show),F.shape=y._core.extendgl(U,f.shape,F.shape),F.cornerType=y._core.extendgl(U,f.cornerType,F.cornerType),F.granularity=y._core.extendgl(U,f.granularity,F.granularity),F.fill=y._core.extendgl(U,f.fill,F.fill),F.material=y._core.extendgl(U,f.material,F.material),F.outline=y._core.extendgl(U,f.outline,F.outline),F.outlineColor=y._core.extendgl(U,f.outlineColor,F.outlineColor),F.outlineWidth=parseFloat(y._core.extendgl(U,f.outlineWidth,F.outlineWidth)),F.shadows=y._core.extendgl(U,f.shadows,F.shadows),typeof F.material=="string"&&(F.material=yn.Color.fromCssColorString(F.material)),P(U,F);y._viewer.scene.primitives.add(w)},y.item=w,x.then(function(T){y.dataSourceItem=T,y.loadGeosjonData(),C||y.setVisibility(!1),typeof E=="function"&&E(w)});async function S(T,L,F){let U=[],N=y._core.getPointFromTwoPointCenter([L[0],L[1]],F.connectRadius*2),H=y._core.getPointFromTwoPointCenter([L[0],L[1]],F.connectRadius2*2),J=y._core.getPointFromTwoPointCenter([L[L.length-1],L[L.length-2]],F.connectRadius*2),K=y._core.getPointFromTwoPointCenter([L[L.length-1],L[L.length-2]],F.connectRadius2*2);L[0].equals(L[1])&&L[2]&&(N=y._core.getPointFromTwoPointCenter([L[0],L[2]],F.connectRadius*2),H=y._core.getPointFromTwoPointCenter([L[0],L[2]],F.connectRadius2*2)),L[L.length-1].equals(L[L.length-2])&&L[L.length-3]&&(J=y._core.getPointFromTwoPointCenter([L[L.length-1],L[L.length-3]],F.connectRadius*2),K=y._core.getPointFromTwoPointCenter([L[L.length-1],L[L.length-3]],F.connectRadius2*2));let X=[],j=new yn.EllipsoidGeometry({vertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0},stackPartitions:16,slicePartitions:16,radii:new yn.Cartesian3(F.connectRadius,F.connectRadius,F.connectRadius)}),ee;if(N&&H){if(!L[0].equals(N)){let z=[];ee=y._core.toDegrees(L[0]),ee.height-=F.radius*.1,z.push(y._core.fromDegrees(ee)),ee=y._core.toDegrees(N),ee.height-=F.radius*.1,z.push(y._core.fromDegrees(ee));let oe=new y._cesium.PolylineVolumeGeometry({polylinePositions:z,shapePositions:F.connectShape1,cornerType:F.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}});U.push(oe)}if(!N.equals(H)){let z=[];ee=y._core.toDegrees(N),ee.height-=F.radius*.2,z.push(y._core.fromDegrees(ee)),ee=y._core.toDegrees(H),ee.height-=F.radius*.2,z.push(y._core.fromDegrees(ee));let oe=new y._cesium.PolylineVolumeGeometry({polylinePositions:z,shapePositions:F.connectShape2,cornerType:F.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}});U.push(oe)}let ie=new yn.GeometryInstance({geometry:j,modelMatrix:yn.Matrix4.multiplyByTranslation(yn.Transforms.eastNorthUpToFixedFrame(L[0]),new yn.Cartesian3(0,0,F.radius),new yn.Matrix4),attributes:{color:yn.ColorGeometryInstanceAttribute.fromColor(F.material),distanceDisplayCondition:new yn.DistanceDisplayConditionGeometryInstanceAttribute(F.near,F.far)}});X.push(ie)}if(J&&K){if(!L[L.length-1].equals(J)){let ie=[];ee=y._core.toDegrees(L[L.length-1]),ee.height-=F.radius*.1,ie.push(y._core.fromDegrees(ee)),ee=y._core.toDegrees(J),ee.height-=F.radius*.1,ie.push(y._core.fromDegrees(ee));let z=new y._cesium.PolylineVolumeGeometry({polylinePositions:ie,shapePositions:F.connectShape1,cornerType:F.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}});U.push(z);let oe=new yn.GeometryInstance({geometry:j,modelMatrix:yn.Matrix4.multiplyByTranslation(yn.Transforms.eastNorthUpToFixedFrame(L[L.length-1]),new yn.Cartesian3(0,0,F.radius),new yn.Matrix4),attributes:{color:yn.ColorGeometryInstanceAttribute.fromColor(F.material),distanceDisplayCondition:new yn.DistanceDisplayConditionGeometryInstanceAttribute(F.near,F.far)}});X.push(oe)}if(!K.equals(J)){let ie=[];ee=y._core.toDegrees(J),ee.height-=F.radius*.2,ie.push(y._core.fromDegrees(ee)),ee=y._core.toDegrees(K),ee.height-=F.radius*.2,ie.push(y._core.fromDegrees(ee));let z=new y._cesium.PolylineVolumeGeometry({polylinePositions:ie,shapePositions:F.connectShape2,cornerType:F.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}});U.push(z)}}U.forEach(ie=>{let z=new y._cesium.GeometryInstance({id:y._core.getEntityProp(T),geometry:ie,attributes:{color:new y._cesium.ColorGeometryInstanceAttribute.fromColor(F.material),distanceDisplayCondition:new yn.DistanceDisplayConditionGeometryInstanceAttribute(F.near,F.far)}});X.push(z)}),Q.geometryInstances=X,w.add(new yn.Primitive(Q))}async function P(T,L){let F=T.polyline&&T.polyline.positions.getValue();if(!F||F.length<2)return;let U;L.height=y._core.defaultValue(f.height,-2),L.height.start&&L.height.end?L.height={start:y._core.getEntityPropValue(T,f.height.start)||-2,end:y._core.getEntityPropValue(T,f.height.end)||-2}:(typeof L.height=="string"&&L.height.includes("[")&&L.height.includes("]")&&(L.height=y._core.getEntityPropValue(T,f.height)||-2),L.height={start:L.height,end:L.height}),L.height._height=(L.height.end-L.height.start)/(F.length-1),F.forEach(function(X,j){U=yn.Cartographic.fromCartesian(X),U.height=L.height.start+L.height._height*j-L.radius,yn.Cartesian3.clone(yn.Cartographic.toCartesian(U),X)});let N={polylinePositions:F,shapePositions:L.shape,cornerType:L.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}},H=new yn.PolylineVolumeGeometry(N),J=new yn.GeometryInstance({id:y._core.getEntityProp(T),geometry:H,attributes:{color:new yn.ColorGeometryInstanceAttribute.fromColor(L.material),distanceDisplayCondition:new yn.DistanceDisplayConditionGeometryInstanceAttribute(L.near,L.far)}});Q.geometryInstances=J,w.add(new yn.Primitive(Q)),console.log(L.material.toCssColorString()),L.connect&&L.shape.length>10&&S(T,F,L);let K="material:"+L.material.red*255+","+L.material.green*255+","+L.material.blue*255;y.Legend.push(K)}this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u7BA1\u72B6\u56FE\u5C42"+f.id);var R={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(R),this._tree.insertGroupId(R,this._core.isnull(m)?0:m),this};Ul.prototype.computeCircle=function(o){this._core.isnull(o)&&(o=4);for(var A=[],f=0;f<360;f++){var m=yn.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};Ul.prototype.createWallGeoFeatureLayer=function(o,A,f,m,C,E){var I={positions:[],minimumHeights:[],maximumHeights:[],granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var x=this._core.extend(I,f,!0);A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(y);var v=this,w;f&&f.time&&(w=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),y.then(function(M){v.item=M;var B=M.entities.values;v._core.isnull(f.near)&&(f.near=0),v._core.isnull(f.far)&&(f.far=999999999);var D=parseFloat(f.near),S=parseFloat(f.far),P=new v._cesium.DistanceDisplayCondition(D,S);x.distanceDisplayCondition=P;for(var R=0;R<B.length;R++){var T=B[R];x.granularity=v._core.extendgl(T,f.granularity,x.granularity),x.fill=v._core.extendgl(T,f.fill,x.fill),x.material=v._core.extendgl(T,f.material,x.material),x.outline=v._core.extendgl(T,f.outline,x.outline),x.outlineColor=v._core.extendgl(T,f.outlineColor,x.outlineColor),x.outlineWidth=parseFloat(v._core.extendgl(T,f.outlineWidth,x.outlineWidth)),x.shadows=v._core.extendgl(T,f.shadows,x.shadows);var L=T.polyline.positions._value.length,F=new Array(L),U=new Array(L);F.fill(x.minimumHeights),U.fill(x.maximumHeights),T.wall=new v._cesium.WallGraphics({positions:T.polyline.positions._value,maximumHeights:U,minimumHeights:F,outline:x.outline,fill:x.fill,material:x.material,outlineColor:x.outlineColor,outlineWidth:x.outlineWidth,shadows:x.shadows,distanceDisplayCondition:P});var N="material:"+x.material.red*255+","+x.material.green*255+","+x.material.blue*255+";outlineColor:"+x.outlineColor.red*255+","+x.outlineColor.green*255+","+x.outlineColor.blue*255;v.Legend.push(N),T.polyline=void 0,w&&(T.availability=w)}C||v.setVisibility(!1),typeof E=="function"&&E(M)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5899\u56FE\u5C42"+x.id);var Q={id:x.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineWallLayer",item:this,url:A,style:x,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Ul.prototype.createterrainProvider=function(o,A,f,m){var C={url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"},E=this._core.extend(C,A,!0),I=new this._cesium.CesiumTerrainProvider(E);return this._viewer.terrainProvider=I,this.item=I,typeof m=="function"&&m(dataSource),this._core.isnull(E.id)&&(E.id=this._core.getuid()),this._tree.insertGroupId({id:E.id,name:o,pId:this._core.isnull(f)?0:f,type:"terrainProvider",item:this},this._core.isnull(f)?0:f),this};Ul.prototype.createPolygonGeoJsonFeatureLayers=function(o,A,f,m,C,E){var I={height:0,extrudedHeight:0,heightReference:this._cesium.HeightReference.NONE,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,stRotation:0,granularity:this._cesium.Math.RADIANS_PER_DEGREE,perPositionHeight:!1,closeTop:!0,closeBottom:!0,shadows:this._cesium.ShadowMode.ENABLED,clampToGround:!0};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),f.checked=C;var x=this._core.extend(I,f,!0);A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(y);var v=this;y.then(function(Q){v.item=Q;var M=Q.entities.values;v._core.isnull(f.near)&&(f.near=0),v._core.isnull(f.far)&&(f.far=999999999);var B=parseFloat(f.near),D=parseFloat(f.far),S=new v._cesium.DistanceDisplayCondition(B,D);x.distanceDisplayCondition=S;for(var P=0;P<M.length;P++){var R=M[P];x.height=parseFloat(v._core.extendgl(R,f.height,x.height)),x.extrudedHeight=parseFloat(v._core.extendgl(R,f.extrudedHeight,x.extrudedHeight)),x.heightReference=v._core.extendgl(R,f.heightReference,x.heightReference),x.show=v._core.extendgl(R,f.show,x.show),x.fill=v._core.extendgl(R,f.fill,x.fill),x.material=v._core.extendgl(R,f.material,x.material),x.outline=v._core.extendgl(R,f.outline,x.outline),x.outlineColor=v._core.extendgl(R,f.outlineColor,x.outlineColor),x.outlineWidth=parseFloat(v._core.extendgl(R,f.outlineWidth,x.outlineWidth)),x.stRotation=parseInt(v._core.extendgl(R,f.stRotation,x.stRotation)),x.granularity=v._core.extendgl(R,f.granularity,x.granularity),x.shadows=v._core.extendgl(R,f.shadows,x.shadows),R.polygon.height=x.height,R.polygon.extrudedHeight=x.extrudedHeight,R.polygon.heightReference=x.heightReference,R.polygon.show=x.show,R.polygon.fill=x.fill,R.polygon.material=x.material,R.polygon.outline=x.outline,R.polygon.outlineColor=x.outlineColor,R.polygon.outlineWidth=x.outlineWidth,R.polygon.stRotation=x.stRotation,R.polygon.granularity=x.granularity,R.polygon.distanceDisplayCondition=S,R.polygon.perPositionHeight=x.perPositionHeight,R.polygon.closeTop=x.closeTop,R.polygon.closeBottom=x.closeBottom,R.polygon.shadows=x.shadows;var T="material:"+x.material.red*255+","+x.material.green*255+","+x.material.blue*255+";outlineColor:"+x.outlineColor.red*255+","+x.outlineColor.green*255+","+x.outlineColor.blue*255;v.Legend.push(T)}typeof E=="function"&&E(Q),f.checked||v.setVisibility(!1)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var w={id:x.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A,style:x,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};Ul.prototype.createPrimitivePolygon=async function(o,A){let f,m=A.clampToGround?yn.PerInstanceColorAppearance.FLAT_VERTEX_FORMAT:yn.VertexFormat.POSITION_AND_NORMAL;o==="bulidingWall"?f=new yn.CorridorGeometry({positions:A.positions,width:A.bulidingWallWidth||.8,height:A.height,extrudedHeight:A.extrudedHeight,vertexFormat:m,cornerType:yn.CornerType.MITERED}):f=new yn.PolygonGeometry({polygonHierarchy:new yn.PolygonHierarchy(A.positions,A.holes),height:A.height,extrudedHeight:A.extrudedHeight,vertexFormat:m,perPositionHeight:!1});let C=new yn.GeometryInstance({id:A.prop,geometry:f,attributes:{color:new yn.ColorGeometryInstanceAttribute.fromColor(A.material),distanceDisplayCondition:new yn.DistanceDisplayConditionGeometryInstanceAttribute(A.near,A.far)}});if(o==="mask")this.primitivePolygon=new yn.GroundPrimitive({geometryInstances:C,appearance:new yn.PerInstanceColorAppearance({translucent:A.material.alpha<1}),classificationType:A.classificationType}),this._viewer.scene.primitives.add(this.primitivePolygon);else{this.primitivePolygon||(this.primitivePolygon=new yn.PrimitiveCollection,this._viewer.scene.primitives.add(this.primitivePolygon));let E=A.clampToGround?yn.GroundPrimitive:yn.Primitive,I=new E({geometryInstances:C,appearance:new yn.PerInstanceColorAppearance({translucent:A.material.alpha<1}),classificationType:A.classificationType});this.primitivePolygon.add(I)}};Ul.prototype.createPolygonGeoJsonFeatureLayer=function(o,A,f={},m,C,E){var I={height:0,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,stRotation:0,shadows:this._cesium.ShadowMode.ENABLED,clampToGround:!0,classificationType:this._cesium.ClassificationType.BOTH,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,disableDepthTestDistance:1/0,near:0,mask:!1};f.material&&typeof f.material=="string"&&f.material.indexOf("[")===-1&&(f.material=yn.Color.fromCssColorString(f.material)),f.fillColor&&typeof f.fillColor=="string"&&f.fillColor.indexOf("[")===-1&&(f.fillColor=yn.Color.fromCssColorString(f.fillColor)),f.outlineColor&&typeof f.outlineColor=="string"&&f.outlineColor.indexOf("[")===-1&&(f.outlineColor=yn.Color.fromCssColorString(f.outlineColor)),f.labelOutlineColor&&typeof f.labelOutlineColor=="string"&&f.labelOutlineColor.indexOf("[")===-1&&(f.labelOutlineColor=yn.Color.fromCssColorString(f.labelOutlineColor)),f.checked=C;var x={clampToGround:!0};A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A,x),this._viewer.dataSources.add(y);var v=this,w;f&&f.time&&(w=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),this.option=f,this.loadGeosjonData=()=>{f=this.option;let M=this.item.entities.values,B=this._core.extend(I,f,!0);v._core.isnull(f.near)&&(f.near=0),v._core.isnull(f.far)&&(f.far=999999999);let D=parseFloat(f.near),S=parseFloat(f.far),P=new v._cesium.DistanceDisplayCondition(D,S);B.distanceDisplayCondition=P,B.text&&(!B.font_family&&(B.font_family="\u5FAE\u8F6F\u96C5\u9ED1"),!B.font_size&&(B.font_size="18px"),B.font=B.font_size+" "+B.font_family,B.bold&&(B.font="bold "+B.font),B.italic&&(B.font="italic "+B.font),B.labelNearFar=new yn.DistanceDisplayCondition(B.labelNear||D,B.labelFar||S)),v.Legend=[];let R=[];v.primitivePolygon&&v._viewer.scene.primitives.remove(v.primitivePolygon),v.primitivePolygon=null;for(let T=0;T<M.length;T++){let L=M[T];if(B.height=parseFloat(v._core.extendgl(L,f.height,B.height)),B.extrudedHeight=v._core.extendgl(L,f.extrudedHeight,B.extrudedHeight),B.extrudedHeight=B.height+B.extrudedHeight,B.heightReference=v._core.extendgl(L,f.heightReference,B.heightReference),B.show=v._core.extendgl(L,f.show,B.show),B.fill=v._core.extendgl(L,f.fill,B.fill),B.material=v._core.extendgl(L,f.material,B.material),B.extrudedHeight!==void 0&&(B.extrudedHeight=parseFloat(B.extrudedHeight)),B.outline=v._core.extendgl(L,f.outline,B.outline),B.outlineColor=v._core.extendgl(L,f.outlineColor,B.outlineColor),B.outlineWidth=parseFloat(v._core.extendgl(L,f.outlineWidth,B.outlineWidth)),B.stRotation=v._core.extendgl(L,f.stRotation,B.stRotation),B.granularity=v._core.extendgl(L,f.granularity,B.granularity),B.distanceDisplayCondition=v._core.extendgl(L,f.distanceDisplayCondition,B.distanceDisplayCondition),B.perPositionHeight=v._core.extendgl(L,f.perPositionHeight,B.perPositionHeight),B.closeTop=v._core.extendgl(L,f.closeTop,B.closeTop),B.closeBottom=v._core.extendgl(L,f.closeBottom,B.closeBottom),B.shadows=v._core.extendgl(L,f.shadows,B.shadows),B.classificationType=v._core.extendgl(L,f.classificationType,B.classificationType),B.text=v._core.extendgl(L,f.text,B.text),B.clampToGround&&B.mask)L.polygon.show=!1,R.push(L.polygon.hierarchy.getValue()),T===M.length-1&&v.createPrimitivePolygon("mask",{positions:yn.Cartesian3.fromDegreesArray([30,0,30,80,179,80,179,0]),holes:R,...B});else if(L.polygon.defaultHierarchy&&(L.polygon.hierarchy=L.polygon.defaultHierarchy),L.polygon.show=!0,L.polygon.extrudedHeightReference=B.extrudedHeightReference,L.polygon.heightReference=B.heightReference,B.heightReference!=1&&(L.polygon.height=B.height,B.height&&(L.polygon.perPositionHeight=!1)),B.extrudedHeightReference!=1&&(L.polygon.extrudedHeight=B.extrudedHeight),B.clampToGround&&(L.polygon.height=void 0,L.polygon.heightReference=1,L.polygon.extrudedHeight=void 0,L.polygon.perPositionHeight=!1),L.polygon.show=B.show,L.polygon.fill=B.fill,L.polygon.material=B.material,L.polygon.outline=B.outline,L.polygon.outlineColor=B.outlineColor,L.polygon.outlineWidth=B.outlineWidth,L.polygon.stRotation=B.stRotation,L.polygon.granularity=B.granularity,L.polygon.distanceDisplayCondition=P,L.polygon.closeTop=B.closeTop,L.polygon.closeBottom=B.closeBottom,L.polygon.shadows=B.shadows,L.polygon.classificationType=B.classificationType,B.bulidingWall){L.polygon.show=!1;let U=L.polygon.hierarchy.getValue().positions;v.createPrimitivePolygon("bulidingWall",{positions:U,...B}),T===M.length-1?(v.item.boundingSphere=yn.BoundingSphere.fromPoints(v.item.boundingPointsArr),v.item.boundingPointsArr=null):(!v.item.boundingPointsArr&&(v.item.boundingPointsArr=[]),v.item.boundingPointsArr.push(U[0]))}if(B.clampToGround&&B.outline?L.polyline={positions:L.polygon.hierarchy.getValue().positions,material:B.outlineColor,width:B.outlineWidth,classificationType:B.classificationType,clampToGround:!0,distanceDisplayCondition:P,zIndex:1}:L.polyline=void 0,B.text){let U=v._core.getCenterOfMass(L.polygon.hierarchy.getValue().positions);L.position=yn.Cartesian3.fromDegrees(U[0],U[1],U[2]),B.pointHeight!==void 0&&(L.position=yn.Cartesian3.fromDegrees(U[0],U[1],B.pointHeight)),L.label={text:B.text,font:B.font,style:yn.LabelStyle.FILL_AND_OUTLINE,fillColor:B.fillColor||B.material,outlineColor:B.labelOutlineColor||B.outlineColor,outlineWidth:B.labelOutlineWidth||0,pixelOffset:B.pixelOffset,disableDepthTestDistance:v._core.defaultValue(B.disableDepthTestDistance,1/0),distanceDisplayCondition:B.labelNearFar}}else L.label=void 0;let F="material:"+B.material.red*255+","+B.material.green*255+","+B.material.blue*255+";outlineColor:"+B.outlineColor.red*255+","+B.outlineColor.green*255+","+B.outlineColor.blue*255;v.Legend.push(F),w&&(L.availability=w)}},y.then(function(M){v.item=M,v.loadGeosjonData(),f.checked?v.isShow=!0:v.setVisibility(!1),typeof E=="function"&&E(M)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id);var Q={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Ul.prototype.createGeoJsonDataSource=function(o,A,f,m,C){var E=this._cesium.GeoJsonDataSource.load(A,f);this._viewer.dataSources.add(E);var I=this;return E.then(function(x){I.item=x,typeof C=="function"&&C(x)}),this._tree.insertGroupId({id:this._core.getuid(),name:o,pId:this._core.isnull(m)?0:m,type:"layer",item:this},this._core.isnull(m)?0:m),this};Ul.prototype.deleteObject=function(){this._viewer.dataSources.remove(this.item),this._viewer.scene.primitives.remove(this.item),this.item=null,this.primitivePolygon&&this._viewer.scene.primitives.remove(this.primitivePolygon),this.primitivePolygon=null};Ul.prototype.getLevel=function(){var o=40487.57,A=7096758e-11,f=91610.74,m=-40467.74,C=this._viewer.camera,E,I;if(C&&C.positionCartographic&&C.positionCartographic.height){var x=this._viewer.scene.globe.getHeight(C.positionCartographic);!x&&(x=0),E=C.positionCartographic.height-x,I=Math.round(m+(o-m)/(1+Math.pow(E/f,A)))}else I=0;return I};Ul.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A},treeData:this.treeobj.treeData}};Ul.prototype.setVisibility=function(o){this.isShow=o,this.item!=null&&(this.item.show=o),this.primitivePolygon&&(this.primitivePolygon.show=o)};Ul.prototype.getVisibility=function(){return this.item.show};Ul.prototype.getProperties=function(){var o=[];if(this.item.entities.values){var A=this.item.entities.values[0];if(A.properties)for(var f=0;f<A.properties.propertyNames.length;f++)o.push({value:"["+A.properties.propertyNames[f]+"]",label:A.properties.propertyNames[f]})}return o};Ul.prototype.getTypes=function(){if(this.item.entities.values){var o=this.item.entities.values[0];if(/^point.fid/.test(o._id)||o.point!=null)return[{label:"\u6587\u672C\u6807\u7B7E",value:"labelLayer"},{label:"\u56FE\u7247\u6807\u7B7E",value:"billboardLayer"},{label:"\u70B9\u6807\u7B7E",value:"pointLayer"},{label:"\u6A21\u578B",value:"modelLayer"},{label:"\u5706",value:"circleLayer"}];if(/^polygon.fid/.test(o._id)||o.polygon!=null)return[{label:"\u9762",value:"polygonLayer"}];if(/^line.fid/.test(o._id)||o.polyline!=null)return[{label:"\u7EBF",value:"polylineLayer"}]}};Ul.prototype.saveDefaultGeosjonData=function(){this.defaultVectorData=this._core.extend({},this.option,!0)};Ul.prototype.restoreGeosjon=function(){this.defaultVectorData&&(this.option=this.defaultVectorData,this.loadGeosjonData()),this.defaultVectorData=void 0};Ul.prototype.updataGeosjon=function(o={}){(o.material||o.color||o.fillColor||o.labelOutlineColor||o.outlineColor||o.backgroundColor||o.gapColor)&&(o.color&&(o.color=yn.Color.fromCssColorString(o.color)),o.material&&(o.material=yn.Color.fromCssColorString(o.material)),o.fillColor&&(o.fillColor=yn.Color.fromCssColorString(o.fillColor)),o.outlineColor&&(o.outlineColor=yn.Color.fromCssColorString(o.outlineColor)),o.labelOutlineColor&&(o.labelOutlineColor=yn.Color.fromCssColorString(o.labelOutlineColor)),o.backgroundColor&&(o.backgroundColor=yn.Color.fromCssColorString(o.backgroundColor)),o.gapColor&&(o.gapColor=yn.Color.fromCssColorString(o.gapColor))),this.option=this._core.extend(this.option,o,!0),this.item&&(clearTimeout(this.updataGeojsonTime),this.updataVectorTime=setTimeout(()=>{this.loadGeosjonData()},100))};Ul.prototype.getType=function(){if(this.item.entities.values){var o=this.item.entities.values[0];return o.label!=null&&o.label.show?{label:"\u6587\u672C\u6807\u7B7E",value:"labelLayer"}:o.model!=null&&o.model.show?{label:"\u6A21\u578B",value:"modelLayer"}:o.billboard!=null&&o.billboard.show?{label:"\u56FE\u7247\u6807\u7B7E",value:"billboardLayer"}:o.ellipse!=null&&o.ellipse.show?{label:"\u5706",value:"circleLayer"}:/^polygon.fid/.test(o._id)||o.polygon!=null?{label:"\u9762",value:"polygonLayer"}:/^line.fid/.test(o._id)||o.polyline!=null?{label:"\u7EBF",value:"polylineLayer"}:o.polylineVolume!=null&&o.polylineVolume.show?{label:"\u626B\u63A0\u4F53",value:"polylineVolume"}:o.wall!=null&&o.wall!=null?{label:"\u5899",value:"polylineWall"}:{label:"\u70B9\u6807\u7B7E",value:"pointLayer"}}};Ul.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};Ul.prototype.getFirstDataSourceItem=function(){if(this.item.entities.values){var o=this.item.entities.values[0];return o}};Ul.prototype.setTreeobj=function(o){this.treeobj=o};Ul.prototype.setItem=function(o){this.item=o};Object.defineProperties(Ul.prototype,{labelText:{set:Ii.debounce(function(o){var A=o;if(!this._core.isnull(o)){var f=this.item.entities.values;if(f&&f.length>0)for(var m=0;m<f.length;m++)if(/^\[/.test(o)&&(A=o.replace(/\[/,"").replace(/\]/,""),A=f[m].properties[A]._value),f[m].label){f[m].label.text=A;try{f[m].point.show=!1}catch{}}else{try{f[m].point.show=!1}catch{}f[m].label=new this._cesium.LabelGraphics({text:A,font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})}}},500)},labelStyles:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.style=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.style}},labelFont:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m=16;if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[0]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=m+"px "+o}}},500)},labelFontSize1:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m="sans-serif";if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[1]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=o+"px "+m}}},500)},labelFontSize:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.font=o+"px sans-serif"}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return parseFloat(o[0].label.font)}},labelFillColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.fillColor=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.fillColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelOutlineColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.outlineColor=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},labelOutlineWidth:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.outlineWidth=o}},200),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineWidth;return A?A._value:void 0}}},labelBackgroundColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.backgroundColor=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.backgroundColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelBackground:{set:Ii.debounce(function(o){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.showBackground=o},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.background}},labelScale:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.scale=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.scale;return A?A._value:void 0}}},labelHorizontalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.horizontalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.horizontalOrigin;return A?A._value:void 0}}},labelVerticalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.verticalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.verticalOrigin;return A?A._value:void 0}}},labelHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.heightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.heightReference;return A?A._value:void 0}}},labelDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,parseInt(o)),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(f,1,parseInt(o),0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},labelDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(parseInt(o),f),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(parseInt(o),1,f,0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.near:0;return A}}},labelHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}},labelShow:{set:Ii.debounce(function(o){var A=this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].label&&o?(A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].label=new this._cesium.LabelGraphics({text:"label",font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})):(A[f].label&&(A[f].label.show=o),A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.show}},pointColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.color=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointShow:{set:Ii.debounce(function(o){var A=this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].point&&o?(A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].point=new this._cesium.PointGraphics({color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0})):(A[f].point&&(A[f].point.show=o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point)return o[0].point.show}},pointPixelSize:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.pixelSize=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.pixelSize;return A?A._value:void 0}}},pointOutlineColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.outlineColor=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointOutlineWidth:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.outlineWidth=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineWidth;return A?A._value:void 0}}},pointHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.heightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.heightReference;return A?A._value:void 0}}},pointDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},pointDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.near:0;return A}}},pointHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}},modelShow:{set:Ii.debounce(function(o){var A=this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o),!A[f].model&&o?A[f].model=new this._cesium.ModelGraphics({show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE}):(A[f].model&&(A[f].model.show=o),A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.show}},modelUri:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0)for(var f=0;f<A.length;f++)if(A[f].model)A[f].model.uri=o;else{if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].model=new this._cesium.ModelGraphics({uri:o,show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE})}}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.uri;return A?A._value:void 0}}},modelScale:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){o=parseFloat(o);var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].model.scale=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.scale;return A?A._value:void 0}}},modelShadows:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.shadows=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.shadows}},modelHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.heightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.heightReference;return A?A._value:void 0}}},modelDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE}},modelDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.near:0;return A}}},modelColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.color=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelLightColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.lightColor=o}},100),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.lightColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}},billboardShow:{set:Ii.debounce(function(o){var A=this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].billboard&&o?(A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard=new this._cesium.BillboardGraphics({show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})):(A[f].billboard&&(A[f].billboard.show=o),A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.show}},billboardImage:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0)for(var f=0;f<A.length;f++){if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].billboard?A[f].billboard.image=o:A[f].billboard=new this._cesium.BillboardGraphics({image:o,show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})}}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.image;return A?A._value:void 0}}},billboardScale:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.scale=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.scale;return A?A._value:void 0}}},billboardHorizontalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.horizontalOrigin=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.horizontalOrigin}},billboardVerticalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.verticalOrigin=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.verticalOrigin}},billboardWidth:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.width=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.width;return A?A._value:void 0}}},billboardHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.height=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.height;return A?A._value:void 0}}},billboardColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.color=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},billboardHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].billboard.heightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].model){var A=o[0].billboard.heightReference;return A?A._value:void 0}}},billboardDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},billboardDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.near:0;return A}}},billboardPHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}},polylineShow:{set:Ii.debounce(function(o){var A=this.item.entities.values;if(!!/^line.fid/.test(A[0]._id)&&A&&A.length>0&&A[0].polyline)for(var f=0;f<A.length;f++)A[f].polyline&&(A[f].polyline.show=o)},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline)return o[0].polyline.b}},polylineWidth:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){o=parseFloat(o);var A=this.item.entities.values;if(!(!/^line.fid/.test(A[0]._id)&&A[0].polyline==null)&&A&&A.length>0&&A[0].polyline)for(var f=0;f<A.length;f++)A[f].polyline.width=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline){var A=o[0].polyline.width;return A?A._value:void 0}}},polylinemMterial:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(!/^line.fid/.test(A[0]._id)&&A[0].polyline==null)&&A&&A.length>0&&A[0].polyline)for(var f=0;f<A.length;f++)A[f].polyline.material=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline){var A=o[0].polyline.material;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},polylinemArcType:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^line.fid/.test(A[0]._id)&&A[0].polyline==null)&&A&&A.length>0&&A[0].polyline)for(var f=0;f<A.length;f++)A[f].polyline.arcType=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline){var A=o[0].polyline.arcType;return A?A._value:void 0}}},polylineDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^line.fid/.test(A[0]._id)&&A[0].polyline==null)&&A&&A.length>0&&A[0].polyline)for(var f=A[0].polyline.distanceDisplayCondition?A[0].polyline.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].polyline.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o)}},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline){var A=o[0].polyline.distanceDisplayCondition?o[0].polyline.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},polylineDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^line.fid/.test(A[0]._id)&&A[0].polyline==null)&&A&&A.length>0&&A[0].polyline)for(var f=A[0].polyline.distanceDisplayCondition?A[0].polyline.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].polyline.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f)}},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline){var A=o[0].polyline.distanceDisplayCondition?o[0].polyline.distanceDisplayCondition._value.near:0;return A}}},polygonShow:{set:Ii.debounce(function(o){var A=this.item.entities.values;if(!!/^polygon.fid/.test(A[0]._id)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon&&(A[f].polygon.show=o)},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon)return o[0].polygon.b}},polygonHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].polygon.height=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.height;return A?A._value:void 0}}},polygonHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.heightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.heightReference;return A?A._value:void 0}}},polygonExtrudedHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].polygon.extrudedHeight=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.extrudedHeight;return A?A._value:void 0}}},polygonExtrudedHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.extrudedHeightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.extrudedHeightReference;return A?A._value:void 0}}},polygonFill:{set:Ii.debounce(function(o){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.fill=o},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.fill;return A?A._value:void 0}}},polygonMaterial:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.material=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.material;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},polygonOutline:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.outline=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.outline;return A?A._value:void 0}}},polygonOutlineColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.outlineColor=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.outlineColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},polygonOutlineWidth:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].polygon.outlineWidth=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.outlineWidth;return A?A._value:void 0}}},polygonDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=A[0].polygon.distanceDisplayCondition?A[0].polygon.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].polygon.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o)}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.distanceDisplayCondition?o[0].polygon.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},polygonDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=A[0].polygon.distanceDisplayCondition?A[0].polygon.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].polygon.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f)}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.distanceDisplayCondition?o[0].polygon.distanceDisplayCondition._value.near:0;return A}}}});var _h=Ul;var rr=null;function Bh(o,A,f){this._viewer=o,this._cesium=A,rr=A,this._quadtree=void 0,this._tilingScheme=f||new this._cesium.GeographicTilingScheme,this._errorEvent=new this._cesium.Event,this._reTilesKey=[],this._state=!0,this._client=!0,this._reTiles=[],this._normalTile=16,this._minimumHeight=0,this._maximumHeight=0,this._PrimitiveCollection=new rr.PrimitiveCollection,this._levelZeroMaximumError=rr.QuadtreeTileProvider.computeDefaultLevelZeroMaximumGeometricError(this._tilingScheme),this.cartographicLimitRectangle=rr.Rectangle.clone(rr.Rectangle.MAX_VALUE),Bh.prototype.ready||Object.defineProperties(Bh.prototype,{quadtree:{get:function(){return this._quadtree},set:function(m){this._quadtree=m}},ready:{get:function(){return!0}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}}}),this._core=new Ji(this._viewer,this._cesium),this.tooltip=this._core.CreateTooltip(),this._getPosition=new hl(this._viewer,this._cesium)}Bh.prototype.update=function(o){if(this._quadtree.beginFrame(o),this._quadtree.render(o),this._quadtree.endFrame(o),this._availability&&(this._state=this.isAvailable(o.time)),this._state&&this._client&&this._quadtree._tilesToRender)for(let A=0,f=this._quadtree._tilesToRender.length,m;A<f;A++)m=this._quadtree._tilesToRender[A],m.data&&m.data.geometryPrimitive&&!(m.data.geometryPrimitive instanceof rr.Cesium3DTileset)&&m.data.geometryPrimitive.update&&m.data.geometryPrimitive.update(o)};Bh.prototype.static=function(o){this.cs=o};Bh.prototype.initialize=function(o){};Bh.prototype.beginUpdate=function(o){};Bh.prototype.endUpdate=function(o){};Bh.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumError/(1<<o)};Bh.prototype.loadTile=function(o,A){};Bh.prototype.computeTileVisibility=function(o,A,f){var m=this.computeDistanceToTile(o,A);if(o._distance=m,A.fog.enabled&&rr.Math.fog(m,A.fog.density)>=1)return rr.Visibility.NONE;var C=o.data,E=C.tileBoundingRegion;if(C.boundingVolumeSourceTile===void 0)return rr.Visibility.PARTIAL;var I=A.cullingVolume,x=C.orientedBoundingBox;!x&&C.renderedMesh&&(x=C.renderedMesh.boundingSphere3D),C.clippedByBoundaries=!1;function y(R,T){if(T.west<T.east)return T;var L=Rectangle.clone(T,splitCartographicLimitRectangleScratch),F=Rectangle.center(R,rectangleCenterScratch);return F.longitude>0?L.east=CesiumMath.PI:L.west=-CesiumMath.PI,L}var v=y(o.rectangle,this.cartographicLimitRectangle),w=new rr.Rectangle,Q=rr.Rectangle.simpleIntersection(v,o.rectangle,w);if(!Q)return Visibility.NONE;if(rr.Rectangle.equals(Q,o.rectangle)||(C.clippedByBoundaries=!0),A.mode,rr.SceneMode.SCENE3D,!x)return rr.Intersect.INTERSECTING;var M=this._clippingPlanes;if(M&&M.enabled){var B=M.computeIntersectionWithBoundingVolume(x);if(o.isClipped=B!==Intersect.INSIDE,B===rr.Intersect.OUTSIDE)return rr.Visibility.NONE}var D=I.computeVisibility(x);if(D===rr.Intersect.OUTSIDE)return rr.Visibility.NONE;var S=A.mode===rr.SceneMode.SCENE3D&&A.camera.frustum instanceof rr.OrthographicFrustum;if(A.mode===rr.SceneMode.SCENE3D&&!S&&f){var P=C.occludeePointInScaledSpace;return!P||f.ellipsoid.isScaledSpacePointVisible(P)?D:rr.Visibility.NONE}return D};Bh.prototype.canRefine=function(o,A,f){return o.level<=this._normalTile+1};Bh.prototype.showTileThisFrame=function(o,A,f,m){this._availability&&(this._state=this.isAvailable(A.time))};Bh.prototype.computeDistanceToTile=function(o,A){function f(D,S,P,R,T){var L=D.quadtree._occluders.ellipsoid,F=L.ellipsoid,U=[new rr.Cartesian3,new rr.Cartesian3,new rr.Cartesian3,new rr.Cartesian3],N=U;return rr.Cartesian3.fromRadians(P.west,P.south,R,F,N[0]),rr.Cartesian3.fromRadians(P.east,P.south,R,F,N[1]),rr.Cartesian3.fromRadians(P.west,P.north,R,F,N[2]),rr.Cartesian3.fromRadians(P.east,P.north,R,F,N[3]),L.computeHorizonCullingPoint(S,N,T)}function m(D,S,P,R,T){var L=P.data;return L===void 0&&(L=P.data=new rr.GlobeSurfaceTile),P._minimumHeight&&(S=P._minimumHeight),P._maximumHeight&&(D=P._maximumHeight),L.tileBoundingRegion===void 0&&(L.tileBoundingRegion=new rr.TileBoundingRegion({computeBoundingVolumes:!1,rectangle:P.rectangle,ellipsoid:P.tilingScheme.ellipsoid,minimumHeight:S||0,maximumHeight:D||0})),P}var C=m(this._maximumHeight,this._minimumHeight,o,this.terrainProvider,A),E=o.data,I=E.tileBoundingRegion;if(C===void 0)return 9999999999;if(E.boundingVolumeSourceTile!==C){E.boundingVolumeSourceTile=C;var x=o.rectangle;x&&x.width<rr.Math.PI_OVER_TWO+rr.Math.EPSILON5&&(E.orientedBoundingBox=rr.OrientedBoundingBox.fromRectangle(o.rectangle,I.minimumHeight,I.maximumHeight,o.tilingScheme.ellipsoid,E.orientedBoundingBox),E.occludeePointInScaledSpace=f(this,E.orientedBoundingBox.center,o.rectangle,I.maximumHeight,E.occludeePointInScaledSpace))}var y=I.minimumHeight,v=I.maximumHeight;if(E.boundingVolumeSourceTile!==o){var w=A.camera.positionCartographic.height,Q=Math.abs(w-y),M=Math.abs(w-v);Q>M?(I.minimumHeight=y,I.maximumHeight=y):(I.minimumHeight=v,I.maximumHeight=v)}var B=I.distanceToCamera(A);return I.minimumHeight=y,I.maximumHeight=v,B};Bh.prototype.isDestroyed=function(){return!1};Bh.prototype.destroy=function(){return rr.destroyObject(this)};Bh.prototype.remove=function(){this.destroy()};Bh.prototype.setStatus=function(o){this._state=o,this._client=o};Bh.prototype.edit=function(o,A){let f=this,m=this._viewer;if(!A&&(A={}),this.editHandler&&(this.editHandler.destroy(),this.editHandler=void 0),o===void 0&&(o=!0),!o){v();return}this.editHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas);var C,E,I,x;this.isEditting=!1;let y;this.editHandler.setInputAction(w=>{if(rr.ExpandBySmartEarth&&(rr.ExpandBySmartEarth.underEarth.enable||rr.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=w.position,M=m.scene.pick(Q);if(!(M&&M&&M.id&&M.id.treeID!==f.treeID)&&M&&M.id&&(M.id instanceof rr.Entity||M.id.VectorType)){let B=M.id;!f.isEditting&&Ke.states==0?(A.callBack&&A.callBack.start&&A.callBack.start(B),x=B.VectorType,C=f.createEditEntity(x,B.VectorStyle),C.feature=B,C.treeID=f.treeID,f.getSimpleGraphicData(x,C),x==="point"||x==="billboard"||x==="label"||x==="model"?(f.isEditting=!0,f.tooltip.showAt(w.position,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E")):(f.isEditting=!0,SmartEarthPopupData.editGraphic.updataEditPoint(),SmartEarthPopupData.editGraphic.setTreeID(f.treeID)),f.setStatus(!1),Ke.editVector=!0):(B==C&&(B.VectorType==="point"||B.VectorType==="billboard"||B.VectorType==="label"||B.VectorType==="model")||B.name=="_height_point"||B.name=="_edit_point"||B.name=="_move_point"||B.name=="_add_point"||B.name=="_size_point")&&(m.container.style.cursor="crosshair",f.defaultEvent(!1),B.name=="_height_point"?(I={windowPosition:Q,originHeight:f._cesium.Cartographic.fromCartesian(B.position.getValue()).height},y="_height_point"):B.name=="_move_point"?y="_move_point":B.VectorType==="point"||B.VectorType==="billboard"||B.VectorType==="label"||B.VectorType==="model"?(f.tooltip.showAt(w.position,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),y="_move_point",B.VectorType==="model"&&(B.show=!1)):B.name=="_edit_point"?y="_edit_point":B.name=="_add_point"?y="_add_point":B.name=="_size_point"&&(y="_size_point"),E=B)}},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.editHandler.setInputAction(w=>{if(rr.ExpandBySmartEarth&&(rr.ExpandBySmartEarth.underEarth.enable||rr.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=m.scene.pick(w.endPosition);if(!(Q&&Q&&Q.id&&Q.id.treeID!==f.treeID)&&(f._cesium.defined(Q)?f.isEditting&&!E?(x==="point"||x==="billboard"||x==="label"||x==="model")&&Q.id==C?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664"):Q.id&&Q.id.name==="_edit_point"&&C.pottingPoint?x==="polyline"&&C.pottingPoint.length>2||x==="polygon"&&C.pottingPoint.length>3?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664\u70B9"):f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&(Q.id.name==="_move_point"||Q.id.name==="_size_point")?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&Q.id.name==="_add_point"?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u589E\u52A0\u8282\u70B9"):Q.id&&Q.id.name==="_height_point"?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u9AD8\u5EA6"):Q.id==C&&f.tooltip.show(!1):!f.isEditting&&Ke.states===0&&(Q.id&&Q.id.VectorType?f.tooltip.showAt(w.endPosition,"\u70B9\u51FB\u6FC0\u6D3B\u7F16\u8F91"):f.tooltip.show(!1)):Ke.states==0&&!E&&f.tooltip.show(!1),f.isEditting&&E)){f.tooltip.showAt(w.endPosition,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539");let M=f._getPosition.getMousePosition(w);if(!M&&y!=="_height_point")return;if(y==="_edit_point"){E.position=M;let B=Ke.editPointID.edit.indexOf(E.id);if(C[x].height!==void 0){let R=f.toDegrees(M);C.pottingPoint[B]=rr.Cartesian3.fromDegrees(R.lon,R.lat,C[x].height.getValue()),E.position=C.pottingPoint[B]}else C.pottingPoint[B]=M;if(Ke.editPointID.add.length>0){if(B>0){let R=m.entities.getById(Ke.editPointID.add[B-1]);if(R){let T=m.entities.getById(Ke.editPointID.edit[B-1]),L=m.entities.getById(Ke.editPointID.edit[B]);R.position=rr.Cartesian3.midpoint(T.position.getValue(),L.position.getValue(),new rr.Cartesian3)}}if(B<C.pottingPoint.length-1){let R=m.entities.getById(Ke.editPointID.add[B]);if(R){let T=m.entities.getById(Ke.editPointID.edit[B]),L=m.entities.getById(Ke.editPointID.edit[B+1]);R.position=rr.Cartesian3.midpoint(T.position.getValue(),L.position.getValue(),new rr.Cartesian3)}}if(x==="polygon"&&(B===0||B===C.pottingPoint.length-1)){let R=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);if(R){let T=m.entities.getById(Ke.editPointID.edit[0]),L=m.entities.getById(Ke.editPointID.edit[C.pottingPoint.length-1]);R.position=rr.Cartesian3.midpoint(T.position.getValue(),L.position.getValue(),new rr.Cartesian3)}}}let D=C.pottingPoint.concat([]),S=new f._cesium.Cartesian3,P=D.length;D.forEach(R=>{S.x+=R.x,S.y+=R.y,S.z+=R.z}),S.x/=P,S.y/=P,S.z/=P,Ke.editPointID.move&&(Ke.editPointID.move.position=S),(x==="polyline"||x==="polygon"||x==="rectangle")&&SmartEarthPopupData.editGraphic.setValue("positions",D)}else if(y==="_height_point"){let B=Ke.editPointID.height.indexOf(E.id),D=m.entities.getById(Ke.editPointID.edit[B]);(x==="ellipse"||x==="cylinder"||x==="box")&&(D=Ke.editPointID.move);let S=f.toDegrees(D.position.getValue()),P=I.originHeight-S.height,R=m.scene.cartesianToCanvasCoordinates(D.position.getValue()),T=(I.windowPosition.y-w.endPosition.y)*P/Math.abs(R.y-I.windowPosition.y),L=Math.abs(P+T);Ke.editPointID.height.forEach(F=>{let U=m.entities.getById(F);if(U){let N=U.position.getValue(),H=f.toDegrees(N);U.position=f._cesium.Cartesian3.fromDegrees(H.lon,H.lat,L+S.height)}}),C[x].extrudedHeight?C[x].extrudedHeight=L+S.height:x==="box"?SmartEarthPopupData.editGraphic.setValue("height",L):x==="cylinder"&&SmartEarthPopupData.editGraphic.setValue("length",L)}else if(y==="_add_point"){let B=Ke.editPointID.add.indexOf(E.id);m.entities.remove(E);let D=m.entities.add({name:"_edit_point",position:M,point:{pixelSize:10,color:rr.Color.ROYALBLUE,outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.edit.splice(B+1,0,D.id),C.pottingPoint.splice(B+1,0,M.clone());let S=rr.Cartesian3.midpoint(C.pottingPoint[B],C.pottingPoint[B+1],new rr.Cartesian3),P=m.entities.add({name:"_add_point",position:S,point:{pixelSize:10,color:rr.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),R=rr.Cartesian3.midpoint(C.pottingPoint[B+1],C.pottingPoint[B+2===C.pottingPoint.length?0:B+2],new rr.Cartesian3),T=m.entities.add({name:"_add_point",position:R,point:{pixelSize:10,color:rr.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.splice(B,1,P.id,T.id),SmartEarthPopupData.editGraphic.setTreeID(f.treeID),E=D,y="_edit_point";let L=C.pottingPoint.concat([]);(x==="polyline"||x==="polygon")&&SmartEarthPopupData.editGraphic.setValue("positions",L)}else if(y==="_size_point"){let B=Ke.editPointID.move.position.getValue(),D=f._cesium.Cartesian3.distance(B,M);if(x==="ellipse"||x==="cylinder"||x==="ellipsoid"&&C.isSphere)SmartEarthPopupData.editGraphic.setValue("radius",D);else if(x==="box"){let S=E.angle===90?"long":"width";SmartEarthPopupData.editGraphic.setValue(S,D*2)}}else{if(x==="point"||x==="billboard"||x==="label"||x==="model"){E.position=M;return}let B=f.toDegrees(M);I=E.position.getValue();let D=f.toDegrees(I),S=B.lon-D.lon,P=B.lat-D.lat,R=B.height-D.height;if(E.position=M,C[x].height){let L=f.toDegrees(M).height;C[x].height=L,C.thisHeight=L}C.pottingPoint.forEach((L,F)=>{let U,N,H,J=m.entities.getById(Ke.editPointID.edit[F]);if(J||(J=m.entities.getById(Ke.editPointID.size[F])),J?U=f.toDegrees(J.position.getValue()):U=f.toDegrees(L),H=f._cesium.Cartesian3.fromDegrees(U.lon+S,U.lat+P,U.height+R),L.x=H.x,L.y=H.y,L.z=H.z,J&&(J.position=H),Ke.editPointID.add.length>0&&Ke.editPointID.add[F]){let K=m.entities.getById(Ke.editPointID.add[F]);K&&(U=f.toDegrees(K.position.getValue()),K.position=f._cesium.Cartesian3.fromDegrees(U.lon+S,U.lat+P,U.height+R))}});let T=C.pottingPoint.concat([]);if(x==="polyline"||x==="polygon"||x==="rectangle")SmartEarthPopupData.editGraphic.setValue("positions",T);else if(x==="ellipse")C.pottingPoint[1]=M,C.position=M.clone();else if(x==="box"){C.pottingPoint[2]=M;let L=C.box.dimensions.getValue(),F=f.toDegrees(M);C.position=rr.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L.z/2)}else if(x==="cylinder"){C.pottingPoint[1]=M;let L=C.cylinder.length.getValue(),F=f.toDegrees(C.pottingPoint[1]);C.position=rr.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L/2)}else x==="ellipsoid"&&(C.pottingPoint[C.pottingPoint.length-1]=M,C.position=M.clone())}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.editHandler.setInputAction(w=>{if(rr.ExpandBySmartEarth&&(rr.ExpandBySmartEarth.underEarth.enable||rr.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}E&&E.VectorType==="model"&&(E.show=!0),E&&A.callBack&&A.callBack.updata&&A.callBack.updata(E.name,C),m.container.style.cursor="default",E=void 0,f.defaultEvent(!0)},this._cesium.ScreenSpaceEventType.LEFT_UP),this.editHandler.setInputAction(w=>{if(rr.ExpandBySmartEarth&&(rr.ExpandBySmartEarth.underEarth.enable||rr.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=m.scene.pick(w.position);if(!(Q&&Q.id&&Q.id.treeID!==f.treeID)&&f._cesium.defined(Q)&&Ke.states==0){let M=Q.id;if(!M.VectorType){if(Ke.editPointID.edit.indexOf(M.id)>-1&&(x==="polyline"&&Ke.editPointID.edit.length>2||x==="polygon"&&Ke.editPointID.edit.length>3)){let B=Ke.editPointID.edit.indexOf(M.id);if(m.entities.removeById(M.id),Ke.editPointID.edit.splice(B,1),C.pottingPoint.splice(B,1),Ke.editPointID.add.length>0)if(Ke.editPointID.add[B]){if(m.entities.removeById(Ke.editPointID.add[B]),Ke.editPointID.add.splice(B,1),B-1>=0){let R=m.entities.getById(Ke.editPointID.add[B-1]);R&&(R.position=rr.Cartesian3.midpoint(C.pottingPoint[B-1],C.pottingPoint[B===C.pottingPoint.length?0:B],new rr.Cartesian3))}else if(B-1===-1&&x==="polygon"){let R=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);R&&(R.position=rr.Cartesian3.midpoint(C.pottingPoint[0],C.pottingPoint[C.pottingPoint.length-1],new rr.Cartesian3))}}else m.entities.removeById(Ke.editPointID.add[B-1]),Ke.editPointID.add.pop();let D=new f._cesium.Cartesian3,S=C.pottingPoint.length;C.pottingPoint.forEach(R=>{D.x+=R.x,D.y+=R.y,D.z+=R.z}),D.x/=S,D.y/=S,D.z/=S,Ke.editPointID.move&&(Ke.editPointID.move.position=D);let P=C.pottingPoint.concat([]);(x==="polyline"||x==="polygon")&&SmartEarthPopupData.editGraphic.setValue("positions",P),f.tooltip.show(!1),A.callBack&&A.callBack.updata&&A.callBack.updata(E&&E.name,C)}}}},this._cesium.ScreenSpaceEventType.RIGHT_DOWN),v();function v(){f.defaultEvent(!0),Ke.editPointID.edit.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0,C&&m.entities.remove(C),C=void 0,x=void 0,SmartEarthPopupData.editGraphic={},f.isEditting=!1,f.setStatus(!0),Ke.editVector=!1,f.delButton(!1)}return{endThisEdit:v,getEditData:function(){return{entity:C}}}};Bh.prototype.createEditEntity=function(o,A){let f,m=this,C=this._viewer;if(o==="polygon"){let E=A.positions,I=m._core.defaultValue(A.height,void 0),x;A.hierarchy?x=A.hierarchy:(E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),x=new m._cesium.PolygonHierarchy(E)),f=C.entities.add({polygon:{hierarchy:new m._cesium.CallbackProperty(function(){return x},!1),extrudedHeight:m._core.defaultValue(A.extrudedHeight,void 0),height:I,material:new m._cesium.ImageMaterialProperty({image:m._core.defaultValue(A.image,null),repeat:m._core.defaultValue(A.repeat,new m._cesium.Cartesian2(1,1)),color:A.material}),shadows:m._cesium.ShadowMode.ENABLED,fill:!0}}),f.VectorType="polygon"}else if(o==="polyline"){let E=A.positions;E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),f=C.entities.add({polyline:{positions:new m._cesium.CallbackProperty(function(){return E},!1),clampToGround:m._core.defaultValue(A.clampToGround,!1),material:new rr.PolylineOutlineMaterialProperty({color:A.material,outlineWidth:m._core.defaultValue(A.outlineWidth,0),outlineColor:m._cesium.Color.fromCssColorString(m._core.defaultValue(A.outlineColor,"rgba(255,255,255,0.6)"))}),width:m._core.defaultValue(A.width,3)}}),f.VectorType="polyline"}else if(o==="wall"){let E=A.positions;E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),f=C.entities.add({wall:{positions:new m._cesium.CallbackProperty(function(){return E},!1),minimumHeights:A.minimumHeights,maximumHeights:A.maximumHeights,material:A.material,outline:!0,outlineWidth:m._core.defaultValue(A.outlineWidth,0),outlineColor:A.outlineColor}}),f.VectorType="wall"}else o==="label"?(f=C.entities.add({position:A.position,label:{text:A.text,font:A.font,scale:A.scale,style:A.style,fillColor:A.fillColor,outlineColor:A.outlineColor,outlineWidth:A.outlineWidth,showBackground:A.showBackground,backgroundColor:A.backgroundColor,heightReference:A.heightReference,horizontalOrigin:A.horizontalOrigin,verticalOrigin:A.verticalOrigin,scaleByDistance:A.scaleByDistance,distanceDisplayCondition:A.distanceDisplayCondition}}),f.VectorType="label"):o==="billboard"?(f=C.entities.add({position:A.position,billboard:{rotation:A.rotation,width:A.width,height:A.height,image:A.image,color:A.color,scale:A.scale,heightReference:A.heightReference,horizontalOrigin:A.horizontalOrigin,verticalOrigin:A.verticalOrigin,scaleByDistance:A.scaleByDistance,distanceDisplayCondition:A.distanceDisplayCondition}}),f.VectorType="billboard"):o==="point"&&(f=C.entities.add({position:A.position,point:{pixelSize:A.pixelSize,color:A.color,outlineWidth:A.outlineWidth,outlineColor:A.outlineColor,heightReference:A.heightReference,scaleByDistance:A.scaleByDistance,distanceDisplayCondition:A.distanceDisplayCondition}}),f.VectorType="point");return f};Bh.prototype.delButton=function(o,A,f){if(o){let m=document.getElementById("DeleteMilitaryStandardDelete");m||(m=document.createElement("button"),m.id="DeleteMilitaryStandardDelete",m.innerText="\u5220\u9664\u5BF9\u8C61",m.style.cssText=`height: 38px; line-height: 38px; padding: 0 18px; background-color: #052355; color: #fff; white-space: nowrap; text-align: center; font-size: 14px; border: none; border-radius: 2px; cursor: pointer; position: absolute;`,this._viewer.container.appendChild(m)),m.style.display="block",m.style.top=A.y+"px",m.style.left=A.x+"px",m.onclick=f}else{let m=document.getElementById("DeleteMilitaryStandardDelete");m&&(m.style.display="none",m.onclick=null)}};Bh.prototype.defaultEvent=function(o){let A=this._viewer.scene;A.screenSpaceCameraController.enableRotate=o,A.screenSpaceCameraController.enableTranslate=o,A.screenSpaceCameraController.enableZoom=o,A.screenSpaceCameraController.enableTilt=o,A.screenSpaceCameraController.enableLook=o};Bh.prototype.getEntityTypeAndObject=function(o){let A={type:"",object:null};return o&&(o.billboard?(A.type="billboard",A.object=o.billboard):o.box?(A.type="box",A.object=o.box):o.corridor?(A.type="corridor",A.object=o.corridor):o.cylinder?(A.type="cylinder",A.object=o.cylinder):o.ellipse?(A.type="ellipse",A.object=o.ellipse):o.ellipsoid?(A.type="ellipsoid",A.object=o.ellipsoid):o.label?(A.type="label",A.object=o.label):o.model?(A.type="model",A.object=o.model):o.path?(A.type="path",A.object=o.path):o.plane?(A.type="plane",A.object=o.plane):o.point?(A.type="point",A.object=o.point):o.polygon?(A.type="polygon",A.object=o.polygon):o.polyline?(A.type="polyline",A.object=o.polyline):o.polylineVolume?(A.type="polylineVolume",A.object=o.polylineVolume):o.rectangle?(A.type="rectangle",A.object=o.rectangle):o.wall&&(A.type="wall",A.object=o.wall)),A};Bh.prototype.toDegrees=function(o){let A=this._cesium.Cartographic.fromCartesian(o);return{lon:this._cesium.Math.toDegrees(A.longitude),lat:this._cesium.Math.toDegrees(A.latitude),height:A.height}};Bh.prototype.getSimpleGraphicData=function(o,A){let f=this,m=this._viewer;if(SmartEarthPopupData.editGraphic={entity:A,type:o,graphic:A[o],getValue:function(y){if(y==="position"||y==="name"||y==="id")return this.entity[y]&&(this.entity[y].getValue?this.entity[y].getValue():this.entity[y]);if(y==="radius"){if(this.type==="ellipse")return this.graphic.semiMajorAxis.getValue();if(this.type==="ellipsoid")return this.graphic.radii.getValue().x;if(this.type==="cylinder")return this.graphic.bottomRadius.getValue()}else if(y==="pHeight"){if(this.getValue("position")){let v=this.getValue("position");return rr.Cartographic.fromCartesian(v).height}}else return y==="repeat"?this.graphic.material[y]&&(this.graphic.material[y].getValue?this.graphic.material[y].getValue():this.graphic.material[y]):this.graphic[y]&&(this.graphic[y].getValue?this.graphic[y].getValue():this.graphic[y])},changeHeightPoint:function(y){Ke.editPointID.height.length>0&&Ke.editPointID.height.forEach(v=>{let w=m.entities.getById(v);if(w){let Q=w.position.getValue(),M=f.toDegrees(Q);w.position=rr.Cartesian3.fromDegrees(M.lon,M.lat,y)}})},changeEditPoint:function(y){Ke.editPointID.edit.length>0&&Ke.editPointID.edit.forEach(w=>{let Q=m.entities.getById(w);if(Q)if(y==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let M=Q.position.getValue(),B=f.toDegrees(M);Q.position=rr.Cartesian3.fromDegrees(B.lon,B.lat,y)}}),Ke.editPointID.size.length>0&&Ke.editPointID.size.forEach(w=>{let Q=m.entities.getById(w);if(Q)if(y==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let M=Q.position.getValue(),B=f.toDegrees(M);Q.position=rr.Cartesian3.fromDegrees(B.lon,B.lat,y)}}),Ke.editPointID.add.length>0&&Ke.editPointID.add.forEach(w=>{let Q=m.entities.getById(w);if(Q)if(y==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let M=Q.position.getValue(),B=f.toDegrees(M);Q.position=rr.Cartesian3.fromDegrees(B.lon,B.lat,y)}});let v=Ke.editPointID.move;if(v)if(y==="clampToGround")v.point.heightReference=1;else{v.point.heightReference=0;let w=v.position.getValue(),Q=f.toDegrees(w);v.position=rr.Cartesian3.fromDegrees(Q.lon,Q.lat,y)}},clearAllEditPoint:function(){Ke.editPointID.edit.forEach(y=>{m.entities.removeById(y)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(y=>{m.entities.removeById(y)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(y=>{m.entities.removeById(y)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(y=>{m.entities.removeById(y)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0},setTreeID:function(y){Ke.editPointID.edit.forEach(v=>{let w=m.entities.getById(v);w.treeID=y}),Ke.editPointID.height.forEach(v=>{let w=m.entities.getById(v);w.treeID=y}),Ke.editPointID.add.forEach(v=>{let w=m.entities.getById(v);w.treeID=y}),Ke.editPointID.size.forEach(v=>{let w=m.entities.getById(v);w.treeID=y}),Ke.editPointID.move&&(Ke.editPointID.move.treeID=y)}},o==="billboard"||o==="point"||o==="label"||o==="model"){let y=SmartEarthPopupData.editGraphic.getValue("color")||SmartEarthPopupData.editGraphic.getValue("fillColor");y?C(y):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");if(v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),o==="label"){let w=SmartEarthPopupData.editGraphic.getValue("backgroundColor");w?I(w):(SmartEarthPopupData.editGraphic.backgroundColor="#000000",SmartEarthPopupData.editGraphic.backgroundAlpha=80)}SmartEarthPopupData.editGraphic.setValue=function(w,Q){if(w==="position"||w==="name")this.entity[w]=Q;else{if(w==="color"||w==="outlineColor"||w==="backgroundColor"||w==="fillColor")Q=rr.Color.fromCssColorString(Q);else if(w==="fontSize"){let M=this.getValue("font");M=M.split(" "),M[0]=Q,Q=M.join(" ")}else if(w==="alpha"){this.type==="label"?this.graphic.fillColor._value.alpha=Q:this.graphic.color._value.alpha=Q;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(w==="backgroundAlpha"){this.graphic.backgroundColor._value.alpha=Q;return}else if(w==="pHeight"&&this.getValue("position")){let M=this.getValue("position"),B=rr.Cartographic.fromCartesian(M);B.height=Q,this.entity.position=rr.Cartographic.toCartesian(B);return}this.graphic[w]=Q}}}else if(o==="polyline"){let y=SmartEarthPopupData.editGraphic.getValue("material");y.color?C(y.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60),y.outlineColor?E(y.outlineColor):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(v,w){if(v==="name")this.entity[v]=w;else{if(v==="color"||v==="outlineColor"){w=rr.Color.fromCssColorString(w),this.graphic.material[v]=w;return}else if(v==="outlineWidth"){this.graphic.material[v]=w;return}else if(v==="alpha"){this.graphic.material.color._value.alpha=w;return}else if(v==="outlineAlpha"){this.graphic.material.outlineColor._value.alpha=w;return}else if(v==="positions"){this.graphic[v]=new rr.CallbackProperty(function(){return w},!1);return}this.graphic[v]=w}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let v=this.getValue("positions");return this.entity.pottingPoint=v,v},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let v=this.getPottingPoint();if(!v)return;let w=new rr.Cartesian3;v.forEach((Q,M)=>{let B=m.entities.add({name:"_edit_point",position:Q,point:{pixelSize:10,color:rr.Color.ROYALBLUE,outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(B.id),w.x+=Q.x,w.y+=Q.y,w.z+=Q.z}),w.x/=v.length,w.y/=v.length,w.z/=v.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:w,point:{color:rr.Color.PURPLE,pixelSize:10,outlineColor:rr.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});for(let Q=0;Q<v.length-1;Q++){let M=rr.Cartesian3.midpoint(v[Q],v[Q+1],new rr.Cartesian3),B=m.entities.add({name:"_add_point",position:M,point:{pixelSize:10,color:rr.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(B.id)}}}else if(o==="polygon"){let y=SmartEarthPopupData.editGraphic.getValue("material");y.color?C(y.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,Q){if(w==="name")this.entity[w]=Q;else{if(w==="color"||w==="outlineColor"){if(Q=rr.Color.fromCssColorString(Q),w==="color"){this.graphic.material.color=Q;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=Q;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(w==="positions"){this.graphic.hierarchy=new rr.CallbackProperty(function(){return new rr.PolygonHierarchy(Q)},!1);return}else if(w==="hierarchy"){this.graphic.hierarchy=new rr.CallbackProperty(function(){return Q},!1);return}else if(w==="clampToGround"){let M=function(B,D,S){S?(B.perPositionHeight=!1,B.heightReference=rr.HeightReference.CLAMP_TO_GROUND):(B.perPositionHeight=!0,B.heightReference=rr.HeightReference.NONE),Ke.editPointID.edit.length>0&&!S&&D.forEach((P,R)=>{let T=m.entities.getById(Ke.editPointID.edit[R]);if(T){let L=T.position.getValue();P.x=L.x,P.y=L.y,P.z=L.z}}),B.hierarchy=new rr.CallbackProperty(function(){return new rr.PolygonHierarchy(D)},!1)};this.graphic.hierarchy instanceof rr.CallbackProperty?(this.graphic.hierarchy=this.graphic.hierarchy.getValue(),setTimeout(()=>{M(this.graphic,this.entity.pottingPoint,Q)},100)):M(this.graphic,this.entity.pottingPoint,Q),Ke.editPointID.add.length>0&&Ke.editPointID.add.forEach(B=>{let D=m.entities.getById(B);D&&(Q?D.point.heightReference=1:D.point.heightReference=0)});return}else w==="extrudedHeight"?this.changeHeightPoint(Q):w==="height"&&this.changeEditPoint(Q);this.graphic[w]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let Q=this.getValue("hierarchy").positions.concat([]);if(this.getValue("height")!==void 0){let M=this.getValue("height");Q.forEach(B=>{let D=f.toDegrees(B),S=rr.Cartesian3.fromDegrees(D.lon,D.lat,M);B.x=S.x,B.y=S.y,B.z=S.z})}return this.entity.pottingPoint=Q,Q},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let Q=new rr.Cartesian3;w.forEach((D,S)=>{let P=m.entities.add({name:"_edit_point",position:D,point:{pixelSize:10,color:rr.Color.ROYALBLUE,outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(P.id),Q.x+=D.x,Q.y+=D.y,Q.z+=D.z}),Q.x/=w.length,Q.y/=w.length,Q.z/=w.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:Q,point:{color:rr.Color.PURPLE,pixelSize:10,outlineColor:rr.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});for(let D=0;D<w.length-1;D++){let S=rr.Cartesian3.midpoint(w[D],w[D+1],new rr.Cartesian3),P=m.entities.add({name:"_add_point",position:S,point:{pixelSize:10,color:rr.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(P.id)}let M=rr.Cartesian3.midpoint(w[0],w[w.length-1],new rr.Cartesian3),B=m.entities.add({name:"_add_point",position:M,point:{pixelSize:10,color:rr.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(B.id)}}else if(o==="ellipse"||o==="cylinder"||A.isSphere){let y=SmartEarthPopupData.editGraphic.getValue("material");y.color?C(y.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,Q){if(w==="name")this.entity[w]=Q;else{if(w==="color"||w==="outlineColor"){if(Q=rr.Color.fromCssColorString(Q),w==="color"){this.graphic.material.color=Q;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=Q;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(w==="semiMajorAxis"){this.graphic.semiMajorAxis=new rr.CallbackProperty(function(){return Q},!1);return}else if(w==="semiMinorAxis"){this.graphic.semiMinorAxis=new rr.CallbackProperty(function(){return Q},!1);return}else if(w==="radii"){this.graphic.radii=new rr.CallbackProperty(function(){return Q},!1);return}else if(w==="topRadius"){this.graphic.topRadius=new rr.CallbackProperty(function(){return Q},!1);return}else if(w==="bottomRadius"){this.graphic.bottomRadius=new rr.CallbackProperty(function(){return Q},!1);return}else if(w==="radius"){this.type==="ellipse"?(this.graphic.semiMajorAxis=new rr.CallbackProperty(function(){return Q},!1),this.graphic.semiMinorAxis=new rr.CallbackProperty(function(){return Q},!1)):this.type==="ellipsoid"?this.graphic.material.image.getValue()!==null?this.graphic.radii=new rr.Cartesian3(Q,Q,Q):this.graphic.radii=new rr.CallbackProperty(function(){return new rr.Cartesian3(Q,Q,Q)},!1):this.type==="cylinder"&&(this.graphic.bottomRadius=new rr.CallbackProperty(function(){return Q},!1),this.entity.changeTop&&(this.graphic.topRadius=new rr.CallbackProperty(function(){return Q},!1)));let M=Ke.editPointID.move.position.getValue(),B=f.GetPositionFromA_D(M,Q,90),D=m.entities.getById(Ke.editPointID.size[0]);D.position=B,A.pottingPoint[0]=B,A.pottingPoint[A.pottingPoint.length-1]=M;let S=m.entities.getById(Ke.editPointID.height[0]);if(S){let P=f.toDegrees(B),R=f._cesium.Cartographic.fromCartesian(S.position.getValue());S.position=f._cesium.Cartesian3.fromDegrees(P.lon,P.lat,R.height)}return}else if(this.type==="cylinder"&&w==="length"){this.graphic.length=Q;let M=f.toDegrees(this.entity.pottingPoint[1]);this.entity.position=rr.Cartesian3.fromDegrees(M.lon,M.lat,M.height+Q/2),this.changeHeightPoint(M.height+Q);return}else if(this.type==="ellipse"&&w==="clampToGround"){let M=function(B,D,S){S?(B.thisHeight===void 0&&(B.thisHeight=D.height&&D.height.getValue()),D.height=void 0,D.heightReference=rr.HeightReference.CLAMP_TO_GROUND):(D.height=B.thisHeight,D.heightReference=rr.HeightReference.NONE);let P=D.semiMinorAxis.getValue();D.semiMinorAxis=new rr.CallbackProperty(function(){return P},!1),D.semiMajorAxis=new rr.CallbackProperty(function(){return P},!1)};this.graphic.semiMinorAxis instanceof rr.CallbackProperty?(this.graphic.semiMinorAxis=this.graphic.semiMinorAxis.getValue(),this.graphic.semiMajorAxis=this.graphic.semiMajorAxis.getValue(),setTimeout(()=>{M(this.entity,this.graphic,Q)},100)):M(this.entity,this.graphic,Q),Q?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else this.type==="ellipse"&&w==="extrudedHeight"?this.changeHeightPoint(Q):this.type==="ellipse"&&w==="height"&&(this.changeEditPoint(Q),this.entity.thisHeight=Q);this.graphic[w]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let w=this.getValue("radius"),Q=this.getValue("position");if(this.type==="ellipse"||this.entity.isSphere){if(this.type==="ellipse"&&this.getValue("height")!==void 0){let B=this.getValue("height"),D=f.toDegrees(Q);Q=rr.Cartesian3.fromDegrees(D.lon,D.lat,B)}let M=f.GetPositionFromA_D(Q,w,90);return this.entity.pottingPoint=[M,Q],[M,Q]}else{let M=f.toDegrees(Q);Q=rr.Cartesian3.fromDegrees(M.lon,M.lat,M.height-this.getValue("length")/2);let B=f.GetPositionFromA_D(Q,w,90);return this.entity.pottingPoint=[B,Q],[B,Q]}},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let Q=m.entities.add({name:"_size_point",position:w[0],point:{pixelSize:10,color:rr.Color.ROYALBLUE,outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Q.angle=90,Ke.editPointID.size.push(Q.id),Ke.editPointID.move=m.entities.add({name:"_move_point",position:w[1],point:{color:rr.Color.PURPLE,pixelSize:10,outlineColor:rr.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else if(o==="rectangle"){let y=SmartEarthPopupData.editGraphic.getValue("material");y.color?C(y.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,Q){if(w==="name")this.entity[w]=Q;else{if(w==="color"||w==="outlineColor"){if(Q=rr.Color.fromCssColorString(Q),w==="color"){this.graphic.material.color=Q;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=Q;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(w==="positions"){this.graphic.coordinates=new rr.CallbackProperty(function(){return rr.Rectangle.fromCartesianArray(Q)},!1);return}else if(w==="coordinates"){this.graphic.coordinates=new rr.CallbackProperty(function(){return Q},!1);return}else if(w==="clampToGround"){let M=function(B,D,S){S?(B.thisHeight===void 0&&(B.thisHeight=D.height&&D.height.getValue()),D.height=void 0,D.heightReference=rr.HeightReference.CLAMP_TO_GROUND):(D.height=B.thisHeight,D.heightReference=rr.HeightReference.NONE);let P=D.coordinates.getValue();D.coordinates=new rr.CallbackProperty(function(){return P},!1)};this.graphic.coordinates instanceof rr.CallbackProperty?(this.graphic.coordinates=this.graphic.coordinates.getValue(),setTimeout(()=>{M(this.entity,this.graphic,Q)},100)):M(this.entity,this.graphic,Q),Q?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else w==="extrudedHeight"?this.changeHeightPoint(Q):w==="height"&&(this.changeEditPoint(Q),this.entity.thisHeight=Q);this.graphic[w]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let w=this.getValue("coordinates"),Q,M,B=this.getValue("height");return B!==void 0?(Q=rr.Cartesian3.fromRadians(w.west,w.north,B),M=rr.Cartesian3.fromRadians(w.east,w.south,B)):(B=m.scene.sampleHeight(new rr.Cartographic(w.west,w.north,0),[this.entity]),Q=rr.Cartesian3.fromRadians(w.west,w.north,B),B=m.scene.sampleHeight(new rr.Cartographic(w.east,w.south,0),[this.entity]),M=rr.Cartesian3.fromRadians(w.east,w.south,B)),this.entity.pottingPoint=[Q,M],[Q,M]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let Q=new rr.Cartesian3;w.forEach((M,B)=>{let D=m.entities.add({name:"_edit_point",position:M,point:{pixelSize:10,color:rr.Color.ROYALBLUE,outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(D.id),Q.x+=M.x,Q.y+=M.y,Q.z+=M.z}),Q.x/=w.length,Q.y/=w.length,Q.z/=w.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:Q,point:{color:rr.Color.PURPLE,pixelSize:10,outlineColor:rr.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else if(o==="box"){let y=SmartEarthPopupData.editGraphic.getValue("material");y.color?C(y.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,Q){if(w==="name")this.entity[w]=Q;else{if(w==="color"||w==="outlineColor"){if(Q=rr.Color.fromCssColorString(Q),w==="color"){this.graphic.material.color=Q;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=Q;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(w==="long"||w==="width"||w==="height"){let M=this.getValue("dimensions");if(w==="long"?M.x=Q:w==="width"?M.y=Q:M.z=Q,this.graphic.dimensions=new rr.CallbackProperty(function(){return M},!1),w==="long"||w==="width"){let B=w==="long"?90:180,D=w==="long"?0:1,S=Ke.editPointID.move.position.getValue(),P=f.GetPositionFromA_D(S,Q/2,B),R=m.entities.getById(Ke.editPointID.size[D]);R.position=P,this.entity.pottingPoint[D]=P,this.entity.pottingPoint[this.entity.pottingPoint.length-1]=S}else{let B=f.toDegrees(Ke.editPointID.move.position.getValue());this.entity.position=rr.Cartesian3.fromDegrees(B.lon,B.lat,B.height+Q/2),this.changeHeightPoint(B.height+Q)}return}else if(w==="dimensions"){this.graphic.dimensions=new rr.CallbackProperty(function(){return Q},!1);return}this.graphic[w]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let w=this.getValue("dimensions"),Q=this.getValue("position"),M=f.toDegrees(Q);Q=rr.Cartesian3.fromDegrees(M.lon,M.lat,M.height-w.z/2);let B=f.GetPositionFromA_D(Q,w.x/2,90),D=f.GetPositionFromA_D(Q,w.y/2,180);return this.entity.pottingPoint=[B,D,Q],[B,D,Q]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let Q=m.entities.add({name:"_size_point",position:w[0],point:{pixelSize:10,color:rr.Color.ROYALBLUE,outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.angle=90;let M=m.entities.add({name:"_size_point",position:w[1],point:{pixelSize:10,color:rr.Color.ROYALBLUE,outlineWidth:2,outlineColor:rr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});M.angle=180,Ke.editPointID.size.push(Q.id),Ke.editPointID.size.push(M.id),Ke.editPointID.move=m.entities.add({name:"_move_point",position:w[2],point:{color:rr.Color.PURPLE,pixelSize:10,outlineColor:rr.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else o==="corridor"||o==="ellipsoid"&&A.isSphere;function C(y){SmartEarthPopupData.editGraphic.fillColor=x("rgb("+y.red*255+","+y.green*255+","+y.blue*255+")"),SmartEarthPopupData.editGraphic.alpha=y.alpha*100}function E(y){SmartEarthPopupData.editGraphic.outlineColor=x("rgb("+y.red*255+","+y.green*255+","+y.blue*255+")"),SmartEarthPopupData.editGraphic.outlineAlpha=y.alpha*100}function I(y){SmartEarthPopupData.editGraphic.backgroundColor=x("rgb("+y.red*255+","+y.green*255+","+y.blue*255+")"),SmartEarthPopupData.editGraphic.backgroundAlpha=y.alpha*100}function x(y){let v=y,w=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(v)){let Q=v.replace(/(rgb|RGB)*/g,"");Q=Q.replace("(","").replace(")","");let M=Q.split(","),B="#";for(let D=0;D<M.length;D++){let S=Number(M[D]).toString(16);S=S.length===1?0+""+S:S,S==="0"&&(S+=S),B+=S}return B.length!==7&&(B=v),B}else if(w.test(v)){let Q=v.replace(/#/,"").split("");if(Q.length===6)return v;if(Q.length===3){let M="#";for(let B=0;B<Q.length;B+=1)M+=Q[B]+Q[B];return M}}else return v}};var is=Bh;var Nr=null;function wh(o,A){Nr=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this._Provider=void 0,this.labelCollections1=[],this.labelCollections2=[],this.labelCollections=new this._cesium.PointPrimitiveCollection,this.gd=0,this.item={show:!0},this.model=[],this.Legend=[],this.sj=!0,this._cache=!1,this._forceRefreshPrvimitive=null}wh.prototype.createLabelPointGeoJsonFeatureLayer=function(o,A,f,m,C){A==null&&console.log("geojson is required");var E=this._cesium.GeoJsonDataSource.load(A),I=this;E.then(function(v){var w={Name:"",text:"",font:" 30px sans-serif",stylet:I._cesium.LabelStyle.OUTLINE,fillColor:I._cesium.Color.WHITE,outlineColor:I._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new I._cesium.Color(.165,.165,.165,.8),backgroundPadding:new I._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:I._cesium.HorizontalOrigin.CENTER,verticalOrigin:I._cesium.VerticalOrigin.CENTER,eyeOffset:I._cesium.Cartesian3.ZERO,pixelOffset:I._cesium.Cartesian2.ZERO,heightReference:I._cesium.HeightReference.NONE,scaleByDistance:new I._cesium.NearFarScalar(0,0,1,1)},Q=f.material;!I._core.isnull(f)&&!I._core.isnull(f.fillColor)&&(/^\[/.test(f.fillColor)&&f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||(I._core.isHtmlColor(f.fillColor)?f.fillColor=I._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=I._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=I._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a)))),!I._core.isnull(f)&&!I._core.isnull(f.material)&&(/^\[/.test(f.material)&&f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(I._core.isHtmlColor(f.material)?f.material=I._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=I._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.fillColor.r/255),f.material.g>1&&(f.material.g=f.fillColor.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=I._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!I._core.isnull(f)&&!I._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(I._core.isHtmlColor(f.outlineColor)?f.outlineColor=I._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=I._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=I._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!I._core.isnull(f)&&!I._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(I._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=I._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=I._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=I._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var M=I._core.extend(w,f,!0);I.item=v;var B=v.entities.values;I._core.isnull(f.near)&&(f.near=0),I._core.isnull(f.far)&&(f.far=999999999);var D=parseFloat(f.near),S=parseFloat(f.far),P=new I._cesium.DistanceDisplayCondition(D,S);M.distanceDisplayCondition=P,I._core.isnull(f.font_size)&&(f.font_size="30px"),I._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),M.font=parseFloat(f.font_size)+"px "+f.font_family;for(var R=new I._cesium.LabelCollection,T=0;T<B.length;T++){var L=B[T];M.position=L.position._value,M.text="a label";var F="fillColor:"+M.fillColor.red*255+","+M.fillColor.green*255+","+M.fillColor.blue*255+";outlineColor:"+M.outlineColor.red*255+","+M.outlineColor.green*255+","+M.outlineColor.blue*255;I.Legend.push(F),R.add(M)}var U=I._viewer.scene.primitives.add(R);typeof C=="function"&&C(U)});var x=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x);var y={id:x,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A,style:options,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:!0,disFnc:C}};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(m)?0:m),this};wh.prototype.createLabelPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={Name:"",text:"",font:" 30px sans-serif",style:this._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.RELATIVE_TO_GROUND,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1),maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,pointHeight:0},w=this;!this._core.isnull(f)&&!this._core.isnull(f.fillColor)&&(this._core.isHtmlColor(f.fillColor)?f.fillColor=this._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=this._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=this._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.backgroundColor)&&(this._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=this._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=this._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=this._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))),w._core.isnull(f.near)&&(f.near=0),w._core.isnull(f.far)&&(f.far=999999999);var x=this._core.extend(I,f,!0),y={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},v=this._viewer.dataSources.add(this._cesium.GeoJsonDataSource.load(A)),w=this;v.then(function(B){w.item=B;var D=45,S=3,P=!0,R=B.entities.values;w._core.isnull(x.font_size)&&(x.font_size="30"),w._core.isnull(x.font_family)&&(x.font_family=" sans-serif"),x.font=x.font_size+"px "+x.font_family;for(var T=0;T<R.length;T++){var L=R[T];x.font=w._core.extendgl(L,f.font,x.font),x.style=parseInt(w._core.extendgl(L,x.stylet,x.style)),x.fillColor=w._core.extendgl(L,f.fillColor,x.fillColor),x.outlineColor=w._core.extendgl(L,f.outlineColor,x.outlineColor),x.outlineWidth=parseFloat(w._core.extendgl(L,f.outlineWidth,x.outlineWidth)),x.show=w._core.extendgl(L,f.show,x.show),x.showBackground=w._core.extendgl(L,f.showBackground,x.showBackground),x.backgroundColor=w._core.extendgl(L,f.backgroundColor,x.backgroundColor),x.backgroundPadding=w._core.extendgl(L,f.backgroundPadding,x.backgroundPadding),x.scale=parseFloat(w._core.extendgl(L,f.scale,x.scale)),x.horizontalOrigin=w._core.extendgl(L,f.horizontalOrigin,x.horizontalOrigin),x.pointHeight=parseFloat(w._core.extendgl(L,f.pointHeight,x.pointHeight)),x.text=w._core.extendgl(L,f.text,x.text);var F=parseFloat(w._core.extendgl(L,x.near)),U=parseFloat(w._core.extendgl(L,x.far)),N=new w._cesium.DistanceDisplayCondition(F,U);x.distanceDisplayCondition=N,x.text=L.properties[x.text]==null?x.text:L.properties[x.text]._value,L.billboard.color=w._cesium.Color.WHITE.withAlpha(0),L.label=new w._cesium.LabelGraphics(x);var H=w._viewer.scene.globe.ellipsoid,J=w._cesium.Cartographic.fromCartesian(L.position._value),K=w._cesium.Math.toDegrees(J.longitude),X=w._cesium.Math.toDegrees(J.latitude),j=x.pointHeight||J.height,ee=new w._cesium.Cartesian3.fromDegrees(K,X,j);L.position._value=ee}B.clustering.enabled=P,B.clustering.pixelRange=D,B.clustering.minimumClusterSize=S;for(var ie,z=new w._cesium.PinBuilder,oe=z.fromText("50+",w._cesium.Color.RED,48).toDataURL(),le=z.fromText("40+",w._cesium.Color.ORANGE,48).toDataURL(),Ae=z.fromText("30+",w._cesium.Color.YELLOW,48).toDataURL(),he=z.fromText("20+",w._cesium.Color.GREEN,48).toDataURL(),ge=z.fromText("10+",w._cesium.Color.BLUE,48).toDataURL(),de=new Array(8),T=0;T<de.length;++T)de[T]=z.fromText(""+(T+2),w._cesium.Color.VIOLET,48).toDataURL();function fe(){w._cesium.defined(ie)?(ie(),ie=void 0):ie=B.clustering.clusterEvent.addEventListener(function(W,O){O.label.show=!1,O.point.show=!1,O.billboard.show=!0,O.billboard.id=O.label.id,O.billboard.verticalOrigin=w._cesium.VerticalOrigin.BOTTOM,W.length>=50?O.billboard.image=z.fromText(W.length,w._cesium.Color.RED,48).toDataURL():W.length>=40?O.billboard.image=z.fromText(W.length,w._cesium.Color.ORANGE,48).toDataURL():W.length>=30?O.billboard.image=z.fromText(W.length,w._cesium.Color.YELLOW,48).toDataURL():W.length>=20?O.billboard.image=z.fromText(W.length,w._cesium.Color.GREEN,48).toDataURL():W.length>=10?O.billboard.image=z.fromText(W.length,w._cesium.Color.BLUE,48).toDataURL():O.billboard.image=de[W.length-2]});var Y=B.clustering.pixelRange;B.clustering.pixelRange=0,B.clustering.pixelRange=Y,C||w.setVisibility(C)}fe();var G={pixelRange:D,minimumClusterSize:S};w._cesium.knockout.track(G),typeof E=="function"&&E(ps)});var Q=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+Q);var M={id:Q,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(M),this._tree.insertGroupId(M,this._core.isnull(m)?0:m),this};wh.prototype.createPointPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)};!this._core.isnull(f)&&!this._core.isnull(f.color)&&(f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var x=this._core.extend(I,f,!0),y={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},v=this._viewer.dataSources.add(this._cesium.GeoJsonDataSource.load(A)),w=this,Q;f&&f.time&&(Q=new w._cesium.TimeIntervalCollection([new w._cesium.TimeInterval({start:f.time.start?w._cesium.JulianDate.fromDate(new Date(f.time.start)):w._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?w._cesium.JulianDate.fromDate(new Date(f.time.end)):w._cesium.Iso8601.MAXIMUM_VALUE})])),v.then(function(D){w.item=D;for(var S=45,P=3,R=!0,T=D.entities.values,L=0;L<T.length;L++){var F=T[L];x.color=w._core.extendgl(F,f.color,x.color),x.pixelSize=parseInt(w._core.extendgl(F,f.pixelSize,x.pixelSize)),x.outlineColor=w._core.extendgl(F,f.outlineColor,x.outlineColor),x.outlineWidth=parseFloat(w._core.extendgl(F,f.outlineWidth,x.outlineWidth)),x.show=w._core.extendgl(F,f.show,x.show),x.height=parseFloat(w._core.extendgl(F,f.height,x.height)),x.scaleByDistance=w._core.extendgl(F,f.scaleByDistance,x.scaleByDistance);var U=parseFloat(w._core.extendgl(F,x.minDistanceDisplay)),N=parseFloat(w._core.extendgl(F,x.maxDistanceDisplay)),H=new w._cesium.DistanceDisplayCondition(U,N);F.billboard.image="",x.distanceDisplayCondition=H,F.point=new w._cesium.PointGraphics(x),x.pointHeight=w._core.extendgl(F,f.pointHeight,x.pointHeight),x.pointHeight=parseFloat(x.pointHeight);var J=w._viewer.scene.globe.ellipsoid,K=w._cesium.Cartographic.fromCartesian(F.position._value),X=w._cesium.Math.toDegrees(K.longitude),j=w._cesium.Math.toDegrees(K.latitude),ee=x.pointHeight||K.height,ie=new w._cesium.Cartesian3.fromDegrees(X,j,ee);F.position._value=ie,Q&&(F.availability=Q)}D.clustering.enabled=R,D.clustering.pixelRange=S,D.clustering.minimumClusterSize=P;for(var z,oe=new w._cesium.PinBuilder,le=oe.fromText("50+",w._cesium.Color.RED,48).toDataURL(),Ae=oe.fromText("40+",w._cesium.Color.ORANGE,48).toDataURL(),he=oe.fromText("30+",w._cesium.Color.YELLOW,48).toDataURL(),ge=oe.fromText("20+",w._cesium.Color.GREEN,48).toDataURL(),de=oe.fromText("10+",w._cesium.Color.BLUE,48).toDataURL(),fe=new Array(8),L=0;L<fe.length;++L)fe[L]=oe.fromText(""+(L+2),w._cesium.Color.VIOLET,48).toDataURL();function G(){w._cesium.defined(z)?(z(),z=void 0):z=D.clustering.clusterEvent.addEventListener(function(O,re){re.label.show=!1,re.point.show=!1,re.billboard.show=!0,re.billboard.id=re.label.id,re.billboard.verticalOrigin=w._cesium.VerticalOrigin.BOTTOM,O.length>=50?re.billboard.image=oe.fromText(O.length,w._cesium.Color.RED,48).toDataURL():O.length>=40?re.billboard.image=oe.fromText(O.length,w._cesium.Color.ORANGE,48).toDataURL():O.length>=30?re.billboard.image=oe.fromText(O.length,w._cesium.Color.YELLOW,48).toDataURL():O.length>=20?re.billboard.image=oe.fromText(O.length,w._cesium.Color.GREEN,48).toDataURL():O.length>=10?re.billboard.image=oe.fromText(O.length,w._cesium.Color.BLUE,48).toDataURL():re.billboard.image=fe[O.length-2]});var W=D.clustering.pixelRange;D.clustering.pixelRange=0,D.clustering.pixelRange=W,C||w.setVisibility(C)}G();var Y={pixelRange:S,minimumClusterSize:P};w._cesium.knockout.track(Y),typeof E=="function"&&E(ps)});var M=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+M);var B={id:M,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};wh.prototype._cameraMoveEndHandler=function(){var o=this._viewer.camera.getMagnitude();if(o<this.gd){if(this.sj){this._viewer.scene.primitives.remove(this.labelCollections),this.labelCollections=new this._cesium.LabelCollection;for(var A=0;A<this.labelCollections1.length;A++)this.labelCollections.add(this.labelCollections1[A]);this._viewer.scene.primitives.add(this.labelCollections),this.sj=!1}}else{this._viewer.scene.primitives.remove(this.labelCollections);for(var f=new this._cesium.BillboardCollection,A=0;A<this.labelCollections2.length;A++)this.BillboardCollections.add(this.labelCollections2[A]);this._viewer.scene.primitives.add(this.BillboardCollections),this.sj=!0}};wh.prototype.createLabelpolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=A,x=this._viewer.scene.primitives;this._cameraMoveEndHandler=this._cameraMoveEndHandler.bind(this),this._viewer.camera.moveEnd.addEventListener(this._cameraMoveEndHandler),this.gd=f.height;for(var y=new this._cesium.BillboardCollection,v={},w=[],Q=0;Q<I.length;Q++){var M=new this._cesium.Cartesian3.fromDegrees(I[Q].lng,I[Q].lat,100),B={position:M,text:I[Q].name};this.labelCollections1.push(B);var D=I[Q];if(!v[D[f.adminname]])w.push({adminname:D[f.adminname],name:D.name,showBackground:!0,lat:D.lat,lng:D.lng,data:[D]}),v[D[f.adminname]]=D;else for(var S=0;S<w.length;S++){var P=w[S];if(P.adminname==D[f.adminname]){P.data.push(D);break}}}for(var Q=0;Q<w.length;Q++){var M=new this._cesium.Cartesian3.fromDegrees(w[Q].lng,w[Q].lat,100),B={position:M,image:pinBuilder.fromText(w[Q].data.length+"",this._cesium.Color.BLACK,48).toDataURL()};this.labelCollections2.push(B),this.BillboardCollections.add(B)}var R;f&&f.time&&(R=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this._viewer.scene.primitives.add(this.BillboardCollections,R)};wh.prototype.createLabelpolymerizationGeoJsonFeatureLayers=function(o,A,f,m,C,E){var I={height:0,material:this._cesium.Color.WHITE,size:50,fill:this._cesium.Color.RED,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):/^http/.test(f.material)||(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.fill)&&(f.fill.toString().charAt(0)=="["&&f.fill.toString().charAt(f.fill.length-1)=="]"||(this._core.isHtmlColor(f.fill)?f.fill=this._color.colorFromHtmlColor(f.fill):/^http/.test(f.fill)||(/^rgb/.test(f.fill)&&(f.fill=this._color.rgbaStringToRgbaObj(f.fill)),f.fill.r>1&&(f.fill.r=f.fill.r/255),f.fill.g>1&&(f.fill.g=f.fill.g/255),f.fill.b>1&&(f.fill.b=f.fill.b/255),f.fill.a>1&&(f.fill.a=f.fill.a/255),f.fill=this._color.createColor(f.fill.r,f.fill.g,f.fill.b,f.fill.a))));var y=this._core.extend(I,f,!0),v=this;this._urlTemplate=A.url+"?"+this._core._serialize(x.urlParams);var w=A.url+"?"+this._core._serialize(x.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(y.height)||0,this._Provider.loadTile=function(D,S){if(S.state===Nr.QuadtreeTileLoadState.START){if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<f.level_max&&v.item.show){var P=w.replace(window.encodeURIComponent("{x}"),S.x).replace(window.encodeURIComponent("{y}"),S.y).replace(window.encodeURIComponent("{z}"),S.level);v._cache&&(P+="&"+v._core.getuid()),v._core.xhr({url:P,type:"get",dataType:"json",success:function(R){cluster==""?v.labelCollections=new v._cesium.PointPrimitiveCollection:v.labelCollections=new v._cesium.BillboardCollection;var T=new v._cesium.PinBuilder;if(R==null){S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0;return}var L=[];R.features.forEach(function(F){y.id=F;var U=F.geometry.coordinates[2]||0;if(F.properties.height!=null&&(U=parseFloat(F.properties.height)),/^\[/.test(y.height)&&/\]$/.test(y.height)){var N=y.height.replace(/\[/,"").replace(/\]/,"");U+=parseFloat(F.properties[N])}else U+=parseFloat(y.height)||0;var H={},J=new v._cesium.Cartesian3.fromDegrees(F.geometry.coordinates[0],F.geometry.coordinates[1],U);cluster==""?H={id:F,color:y.material,position:J}:H={position:J,image:T.fromText(F.count+"",y.fill,y.size).toDataURL(),verticalOrigin:v._cesium.VerticalOrigin.BOTTOM},v.labelCollections.add(H)}),R.features.length==0&&(S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0),S.data.geometryPrimitive=v.labelCollections,S.state=Nr.QuadtreeTileLoadState.LOADING,S.state===Nr.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive.update(D,[]),S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0)},error:function(){S.count==null&&(S.count=0),S.count+=1,S.count>=2?(S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0):S.state=Nr.QuadtreeTileLoadState.START}})}else{S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0;return}S.state=Nr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;f&&f.time&&(this._Provider._availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(D){if(!Nr.defined(D))throw new Nr.DeveloperError("time is required.");var S=this._availability;return!Nr.defined(S)||S.contains(D)}),M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};wh.prototype.createLabelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},x=this,y=f.material;!x._core.isnull(f)&&!x._core.isnull(f.fillColor)&&(/^\[/.test(f.fillColor)&&f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||(x._core.isHtmlColor(f.fillColor)?f.fillColor=x._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=x._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=x._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a)))),!x._core.isnull(f)&&!x._core.isnull(f.material)&&(/^\[/.test(f.material)&&f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(x._core.isHtmlColor(f.material)?f.material=x._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=x._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=x._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!x._core.isnull(f)&&!x._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(x._core.isHtmlColor(f.outlineColor)?f.outlineColor=x._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=x._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=x._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!x._core.isnull(f)&&!x._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(x._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=x._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=x._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=x._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a)))),this._urlTemplate=A.url+"?"+this._core._serialize(I.urlParams);var v=A.url+"?"+this._core._serialize(I.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(B,D){if(D.state===Nr.QuadtreeTileLoadState.START){if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<f.level_max&&x.item.show){var S=v.replace(window.encodeURIComponent("{x}"),D.x).replace(window.encodeURIComponent("{y}"),D.y).replace(window.encodeURIComponent("{z}"),D.level);x._cache&&(S+="&"+x._core.getuid()),x._core.xhr({url:S,type:"get",dataType:"json",success:function(P){if(P==null){D.state=Nr.QuadtreeTileLoadState.DONE,D.renderable=!0;return}var R={Name:"",text:"",font:" 30px sans-serif",style:x._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:x._cesium.Color.WHITE,outlineColor:x._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new x._cesium.Color(.165,.165,.165,.8),backgroundPadding:new x._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:x._cesium.HorizontalOrigin.CENTER,verticalOrigin:x._cesium.VerticalOrigin.CENTER,eyeOffset:x._cesium.Cartesian3.ZERO,pixelOffset:x._cesium.Cartesian2.ZERO,heightReference:x._cesium.HeightReference.NONE,scaleByDistance:new x._cesium.NearFarScalar(0,0,1,1),maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},T=x._core.extend(R,f,!0);x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var L=parseFloat(f.near),F=parseFloat(f.far),U=new x._cesium.DistanceDisplayCondition(L,F);T.distanceDisplayCondition=U,x._core.isnull(f.font_size)&&(f.font_size="30px"),x._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),T.font=parseFloat(f.font_size)+"px "+f.font_family;var N;T.image!=null&&T.image!=null?N=new x._cesium.BillboardCollection:N=new x._cesium.LabelCollection,P.features.forEach(function(H){T.id=H;var J=T.pointHeight;if(/^\[/.test(J)&&/\]$/.test(J)){var K=J.replace(/\[/,"").replace(/\]/,"");J=parseFloat(H.properties[K])}else J!=null&&J!=""?J=parseFloat(J):H.properties.height!=null&&(J=parseFloat(H.properties.height));if(T.position=new x._cesium.Cartesian3.fromDegrees(H.geometry.coordinates[0],H.geometry.coordinates[1],J),/^\[/.test(f.fillColor)&&/\]$/.test(f.fillColor)){var X=f.fillColor.replace(/\[/,"").replace(/\]/,"");T.fillColor=H.properties[X],x._core.isHtmlColor(T.fillColor)?T.fillColor=x._color.colorFromHtmlColor(T.fillColor):(/^rgb/.test(T.fillColor)&&(T.fillColor=x._color.rgbaStringToRgbaObj(T.fillColor)),T.fillColor.r>1&&(T.fillColor.r=T.fillColor.r/255),T.fillColor.g>1&&(T.fillColor.g=T.fillColor.g/255),T.fillColor.b>1&&(T.fillColor.b=T.fillColor.b/255),T.fillColor.a>1&&(T.fillColor.a=T.fillColor.a/255),T.fillColor=x._color.createColor(T.fillColor.r,T.fillColor.g,T.fillColor.b,T.fillColor.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var X=f.outlineColor.replace(/\[/,"").replace(/\]/,"");T.outlineColor=H.properties[X],x._core.isHtmlColor(T.outlineColor)?T.outlineColor=x._color.colorFromHtmlColor(T.outlineColor):(/^rgb/.test(T.outlineColor)&&(T.outlineColor=x._color.rgbaStringToRgbaObj(T.outlineColor)),T.outlineColor.r>1&&(T.outlineColor.r=T.outlineColor.r/255),T.outlineColor.g>1&&(T.outlineColor.g=T.outlineColor.g/255),T.outlineColor.b>1&&(T.outlineColor.b=T.outlineColor.b/255),T.outlineColor.a>1&&(T.outlineColor.a=T.outlineColor.a/255),T.outlineColor=x._color.createColor(T.outlineColor.r,T.outlineColor.g,T.outlineColor.b,T.outlineColor.a))}var j="fillColor:"+T.fillColor.red*255+","+T.fillColor.green*255+","+T.fillColor.blue*255+";outlineColor:"+T.outlineColor.red*255+","+T.outlineColor.green*255+","+T.outlineColor.blue*255;if(x.Legend.push(j),/^\[/.test(f.text)&&/\]$/.test(f.text)){var X=f.text.replace(/\[/,"").replace(/\]/,"");T.text=H.properties[X]}T.id.treeID=f.id,T.id.VectorType="label",T.id.VectorStyle={position:T.position,pointHeight:J,text:T.text,font:T.font,scale:T.scale,style:T.style,fillColor:T.fillColor,outlineColor:T.outlineColor,outlineWidth:T.outlineWidth,showBackground:T.showBackground,backgroundColor:T.backgroundColor,heightReference:T.heightReference,horizontalOrigin:T.horizontalOrigin,verticalOrigin:T.verticalOrigin,scaleByDistance:T.scaleByDistance,distanceDisplayCondition:T.distanceDisplayCondition},N.add(T)}),P.features.length==0&&(D.state=Nr.QuadtreeTileLoadState.DONE,D.renderable=!0),D.data.geometryPrimitive=N,D.state=Nr.QuadtreeTileLoadState.LOADING,D.state===Nr.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive.update(B,[]),D.state=Nr.QuadtreeTileLoadState.DONE,D.renderable=!0)},error:function(){D.count==null&&(D.count=0),D.count+=1,D.count>=2?(D.state=Nr.QuadtreeTileLoadState.DONE,D.renderable=!0):D.state=Nr.QuadtreeTileLoadState.START}})}else{D.state=Nr.QuadtreeTileLoadState.DONE,D.renderable=!0;return}D.state=Nr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var w=this._viewer.scene,Q=w.primitives;f&&f.time&&(this._Provider._availability=new x._cesium.TimeIntervalCollection([new x._cesium.TimeInterval({start:f.time.start?x._cesium.JulianDate.fromDate(new Date(f.time.start)):x._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?x._cesium.JulianDate.fromDate(new Date(f.time.end)):x._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(B){if(!Nr.defined(B))throw new Nr.DeveloperError("time is required.");var D=this._availability;return!Nr.defined(D)||D.contains(B)}),Q.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var M={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=f.id,this.setTreeobj(M),this._tree.insertGroupId(M,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};wh.prototype.createLabelImageGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium},x=this,y=f.material;!x._core.isnull(f)&&!x._core.isnull(f.fillColor)&&typeof f.fillColor=="string"&&(/^\[/.test(f.fillColor)&&/\]$/.test(f.fillColor)||(x._core.isHtmlColor(f.fillColor)||/^rgb/.test(f.fillColor))&&(f.fillColor=Nr.Color.fromCssColorString(f.fillColor))),!x._core.isnull(f)&&!x._core.isnull(f.outlineColor)&&typeof f.outlineColor=="string"&&(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)||(x._core.isHtmlColor(f.outlineColor)||/^rgb/.test(f.outlineColor))&&(f.outlineColor=Nr.Color.fromCssColorString(f.outlineColor))),!x._core.isnull(f)&&!x._core.isnull(f.color)&&typeof f.color=="string"&&(/^\[/.test(f.color)&&/\]$/.test(f.color)||(x._core.isHtmlColor(f.color)||/^rgb/.test(f.color))&&(f.color=Nr.Color.fromCssColorString(f.color))),!x._core.isnull(f)&&!x._core.isnull(f.backgroundColor)&&typeof f.backgroundColor=="string"&&(/^\[/.test(f.backgroundColor)&&/\]$/.test(f.backgroundColor)||(x._core.isHtmlColor(f.backgroundColor)||/^rgb/.test(f.backgroundColor))&&(f.backgroundColor=Nr.Color.fromCssColorString(f.backgroundColor))),x._core.isnull(f.font)&&(x._core.isnull(f.font_size)&&(f.font_size="30px"),x._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),f.font=f.font_size+" "+f.font_family,f.bold&&(f.font="bold "+f.font),f.italic&&(f.font="italic "+f.font)),x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var v=parseFloat(f.near),w=parseFloat(f.far),Q=new x._cesium.DistanceDisplayCondition(v,w);f.distanceDisplayCondition=Q;let M=A.url.indexOf("/gisserver/")>-1;var B;M?B=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:B=A.url+"?"+this._core._serialize(I.urlParams),this._urlTemplate=B,this._Provider=new is(this._viewer,this._cesium,M?new Nr.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max,this._Provider._minimumHeight=parseFloat(f.height)||0;function D(K,X){let j;if(typeof X.value=="string")/^\[/.test(X.value)&&/\]$/.test(X.value)?(j=X.value.replace(/\[/,"").replace(/\]/,""),j=K.properties[j]):j=X.value;else{let ee=X.value,ie=ee.Condition,z=K.properties[ie];j=ee.Value[z]}return!j&&(j=X.defaultValue),x._core.isHtmlColor(j)&&(j=Nr.Color.fromCssColorString(j)),j}function S(){return{name:"",text:"",font:" 30px sans-serif",style:x._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:x._cesium.Color.WHITE,outlineColor:x._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new x._cesium.Color(.165,.165,.165,.8),backgroundPadding:new x._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:x._cesium.HorizontalOrigin.CENTER,verticalOrigin:x._cesium.VerticalOrigin.CENTER,eyeOffset:x._cesium.Cartesian3.ZERO,pixelOffset:x._cesium.Cartesian2.ZERO,heightReference:x._cesium.HeightReference.NONE,scaleByDistance:new x._cesium.NearFarScalar(0,0,1,1),maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0}}this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(K,X){if(X.state===Nr.QuadtreeTileLoadState.START){if(X.data={lines:[],geometryPrimitive:void 0},X.level>=f.level_min&&X.level<=f.level_max&&x.item.show){if(M&&(X.reverseY=x._Provider.tilingScheme.getNumberOfYTilesAtLevel(X.level)-X.y-1),x.TileMatrixLimits){let ee=x.TileMatrixLimits[X.level];if(!ee||ee&&(X.x>ee.maxCol||X.x<ee.minCol||X.y>ee.maxRow||X.y<ee.minRow)){X.state=Nr.QuadtreeTileLoadState.DONE,X.renderable=!0,F();return}}if(x._Provider.EntityCollection.isShow&&(x._Provider.EntityCollection.show=!0),x._Provider.EntityCollection.childrenCollection[X.level+"-"+X.x+"-"+X.y]){let ee=x._Provider.EntityCollection.childrenCollection[X.level+"-"+X.x+"-"+X.y];ee.setVisibility(!0),X.data.geometryPrimitive=ee,X.state=Nr.QuadtreeTileLoadState.DONE,X.renderable=!0,F();return}var j=B.replace(window.encodeURIComponent("{x}"),X.x).replace(window.encodeURIComponent("{y}"),X.reverseY||X.y).replace(window.encodeURIComponent("{z}"),X.level);x._cache&&(j+="&"+x._core.getuid()),x._core.xhr({url:j,type:"get",dataType:"json",success:function(ee){if(!ee||!ee.features||!ee.features.length){X.state=Nr.QuadtreeTileLoadState.DONE,X.renderable=!0;return}var ie=S(),z=x._core.extend(ie,f,!0),oe,le;z.image&&!z.text?le=!0:(!z.image&&z.text||z.image&&z.text&&(le=!0),oe=!0);let Ae=new T(x._viewer,x._Provider.EntityCollection,X);he(ee);async function he(de){de.features.forEach(function(fe,G){Ae.isDestroy||ge(fe)})}async function ge(de){z.id=de.id;var fe=z.pointHeight;if(typeof fe=="string"&&/^\[/.test(fe)&&/\]$/.test(fe)){var G=fe.replace(/\[/,"").replace(/\]/,"");fe=parseFloat(de.properties[G])}else fe!=null&&fe!=""?fe=parseFloat(fe):de.properties.height!=null&&(fe=parseFloat(de.properties.height));if(z.position=new x._cesium.Cartesian3.fromDegrees(de.geometry.coordinates[0],de.geometry.coordinates[1],fe),typeof f.font=="object"&&(z.font=D(de,f.font)),typeof f.fillColor=="string"&&/^\[/.test(f.fillColor)&&/\]$/.test(f.fillColor)){var Y=f.fillColor.replace(/\[/,"").replace(/\]/,"");z.fillColor=de.properties[Y],(x._core.isHtmlColor(z.fillColor)||/^rgb/.test(z.fillColor))&&(z.fillColor=Nr.Color.fromCssColorString(z.fillColor))}else typeof f.fillColor=="object"&&f.fillColor.value&&(z.fillColor=D(de,f.fillColor));if(typeof f.outlineColor=="string"&&/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var Y=f.outlineColor.replace(/\[/,"").replace(/\]/,"");z.outlineColor=de.properties[Y],(x._core.isHtmlColor(z.outlineColor)||/^rgb/.test(z.outlineColor))&&(z.outlineColor=Nr.Color.fromCssColorString(z.outlineColor))}else typeof f.outlineColor=="object"&&f.outlineColor.value&&(z.outlineColor=D(de,f.outlineColor));if(f.showBackground)if(typeof f.backgroundColor=="string"&&/^\[/.test(f.backgroundColor)&&/\]$/.test(f.backgroundColor)){var Y=f.backgroundColor.replace(/\[/,"").replace(/\]/,"");z.backgroundColor=de.properties[Y],(x._core.isHtmlColor(z.backgroundColor)||/^rgb/.test(z.backgroundColor))&&(z.backgroundColor=Nr.Color.fromCssColorString(z.backgroundColor))}else typeof f.backgroundColor=="object"&&f.backgroundColor.value&&(z.backgroundColor=D(de,f.backgroundColor));var W="fillColor:"+z.fillColor.red*255+","+z.fillColor.green*255+","+z.fillColor.blue*255+";outlineColor:"+z.outlineColor.red*255+","+z.outlineColor.green*255+","+z.outlineColor.blue*255;if(x.Legend.push(W),typeof f.text=="string"&&/^\[/.test(f.text)&&/\]$/.test(f.text)){var Y=f.text.replace(/\[/,"").replace(/\]/,"");z.text=de.properties[Y]}else typeof f.text=="object"&&(z.text=D(de,f.text));if(typeof f.image=="string"&&/^\[/.test(f.image)&&/\]$/.test(f.image)){var Y=f.image.replace(/\[/,"").replace(/\]/,"");z.image=de.properties[Y]}else typeof f.image=="object"&&(z.image=D(de,f.image));let O={position:z.position};if(oe){let se=z;z.labelData&&(se=Object.assign({},z,z.labelData,!0)),(z.offsetX||z.offsetY)&&(se.pixelOffset=new Nr.Cartesian2(z.offsetX||0,z.offsetY||0)),O.label=se}if(le){let se=z;z.imageData&&(se=Object.assign({},z,z.imageData,!0)),O.billboard=se}let re=new Nr.Entity(O);re.feature=de,Ae.add(re)}X.data.geometryPrimitive=Ae,x._Provider.EntityCollection.childrenCollection[X.level+"-"+X.x+"-"+X.y]=Ae,X.state=Nr.QuadtreeTileLoadState.LOADING,X.state===Nr.QuadtreeTileLoadState.LOADING&&(X.state=Nr.QuadtreeTileLoadState.DONE,X.renderable=!0),F()},error:function(){X.state=Nr.QuadtreeTileLoadState.DONE,X.renderable=!0,F()}})}else{X.state=Nr.QuadtreeTileLoadState.DONE,X.renderable=!0,x._Provider.EntityCollection.show=!1;return}X.state=Nr.QuadtreeTileLoadState.LOADING}F()},typeof E=="function"&&E(this.item)};let P,R;this.saveDefaultVectorData=()=>{R=x._core.extend({},f,!0)},this.restoreVector=()=>{if(R&&(f=R,x._Provider._normalTile=f.level_max,x._Provider&&x._Provider.EntityCollection)){let K=S(),X=x._core.extend(K,f,!0),j,ee;X.image&&!X.text?ee=!0:(!X.image&&X.text||X.image&&X.text&&(ee=!0),j=!0),x._Provider.EntityCollection.values.forEach(ie=>{let z=ie.feature;X.pointHeight!==void 0&&(ie.position=new Nr.Cartesian3.fromDegrees(z.geometry.coordinates[0],z.geometry.coordinates[1],X.pointHeight));let oe;typeof X.text=="string"&&/^\[/.test(X.text)&&/\]$/.test(X.text)?(oe=X.text.replace(/\[/,"").replace(/\]/,""),oe=z.properties[oe]):typeof X.text=="object"&&(oe=D(z,X.text));let le;if(typeof X.image=="string"&&/^\[/.test(X.image)&&/\]$/.test(X.image)?(le=X.image.replace(/\[/,"").replace(/\]/,""),le=z.properties[le]):typeof X.image=="object"&&(le=D(z,X.image)),j){let Ae=Object.assign({},X);oe&&(Ae.text=oe),X.labelData&&(Ae=Object.assign(Ae,X.labelData)),(X.offsetX||X.offsetY)&&(Ae.pixelOffset=new Nr.Cartesian2(X.offsetX||0,X.offsetY||0)),ie.label=Ae}else ie.label=void 0;if(ee){let Ae=Object.assign({},X);le&&(Ae.image=le),X.imageData&&(Ae=Object.assign(Ae,X.imageData)),ie.billboard=Ae}else ie.billboard=void 0})}R=void 0},this.updataVector=(K={})=>{if((K.color||K.fillColor||K.outlineColor||K.backgroundColor)&&(K.color&&(K.color=Nr.Color.fromCssColorString(K.color)),K.fillColor&&(K.fillColor=Nr.Color.fromCssColorString(K.fillColor)),K.outlineColor&&(K.outlineColor=Nr.Color.fromCssColorString(K.outlineColor)),K.backgroundColor&&(K.backgroundColor=Nr.Color.fromCssColorString(K.backgroundColor))),K.near!==void 0||K.far!==void 0){K.near!==void 0&&(v=parseFloat(K.near)),K.far!==void 0&&(w=parseFloat(K.far));let X=new Nr.DistanceDisplayCondition(v,w);K.distanceDisplayCondition=X}(K.minimumLevel!==void 0||K.maximumLevel!==void 0)&&(K.minimumLevel!==void 0&&(K.level_min=K.minimumLevel),K.maximumLevel!==void 0&&(K.level_max=K.maximumLevel)),f=x._core.extend(f,K,!0),x._Provider._normalTile=f.level_max,f.font=f.font_size+" "+f.font_family,f.bold&&(f.font="bold "+f.font),f.italic&&(f.font="italic "+f.font),K.font=f.font,x._Provider&&x._Provider.EntityCollection&&(clearTimeout(P),P=setTimeout(()=>{let X,j,ee;x._Provider.EntityCollection.values.forEach(ie=>{X=ie.label,j=ie.billboard,ee=ie.feature,K.height!==void 0&&(ie.position=new Nr.Cartesian3.fromDegrees(ee.geometry.coordinates[0],ee.geometry.coordinates[1],K.height));let z;typeof K.text=="string"&&/^\[/.test(K.text)&&/\]$/.test(K.text)?(z=K.text.replace(/\[/,"").replace(/\]/,""),z=ee.properties[z]):typeof K.text=="object"&&(z=D(ee,K.text));let oe;typeof K.image=="string"&&/^\[/.test(K.image)&&/\]$/.test(K.image)?(oe=K.image.replace(/\[/,"").replace(/\]/,""),oe=ee.properties[oe]):typeof K.image=="object"&&(oe=D(ee,K.image)),X?((K.offsetX||K.offsetY)&&(K.pixelOffset=new Nr.Cartesian2(f.offsetX||0,f.offsetY||0)),Object.assign(X,K),z&&(X.text=z),K.text!==void 0&&(X.show=!!K.text)):K.text&&(ie.label={...f},z&&(ie.label.text=z)),K.image!==void 0&&(j?(j.image=K.image,j.show=!!K.image,oe&&(j.image=oe)):K.image&&(ie.billboard={image:oe||K.image,disableDepthTestDistance:f.disableDepthTestDistance,horizontalOrigin:Nr.HorizontalOrigin.CENTER,pixelOffset:new Nr.Cartesian2(0,0)}))})},100))},this._Provider.EntityCollection=new Nr.EntityCollection,this._Provider.EntityCollection.isShow=!0,this._Provider.EntityCollection.childrenCollection={};function T(K,X,j){this.viewer=K,this.collection=X,this.key=j.level+"-"+j.x+"-"+j.y,this.isDestroy=!1,this.values=[],this._time=void 0,this.show=!0}T.prototype.update=function(){clearTimeout(this._time),this.setVisibility(!0),this._time=setTimeout(()=>{this.setVisibility(!1)},500)},T.prototype.add=function(K){this.isDestroy||(this.viewer&&this.viewer.entities.add(K),this.collection&&this.collection.add(K),this.values.push(K.id))},T.prototype.setVisibility=function(K){this.show=K,this.values.forEach(X=>{let j=this.viewer.entities.getById(X);j&&(j.show=K)})},T.prototype.destroy=function(){this.isDestroy=!0,this.add=()=>{},this.update=()=>{},this.values.forEach(K=>{this.viewer&&this.viewer.entities.removeById(K),this.collection&&this.collection.removeById(K)}),delete this.collection.childrenCollection[this.key],this.collection=void 0,this.values=[],this.viewer=void 0,Nr.destroyObject(this)};let L;function F(){x._Provider.EntityCollection.show&&(clearTimeout(L),L=setTimeout(function(){U()},500))}function U(){if(x._Provider.quadtree&&x._Provider.quadtree._tilesToRender&&x._Provider.quadtree._tilesToRender.length){let K=[];x._Provider.quadtree._tilesToRender.forEach(X=>{K.push(X.level+"-"+X.x+"-"+X.y)});for(let X in x._Provider.EntityCollection.childrenCollection)K.indexOf(X)<0&&x._Provider.EntityCollection.childrenCollection[X].setVisibility(!1)}}this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var N=this._viewer.scene,H=N.primitives;f&&f.time&&(this._Provider._availability=new x._cesium.TimeIntervalCollection([new x._cesium.TimeInterval({start:f.time.start?x._cesium.JulianDate.fromDate(new Date(f.time.start)):x._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?x._cesium.JulianDate.fromDate(new Date(f.time.end)):x._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(K){if(!Nr.defined(K))throw new Nr.DeveloperError("time is required.");var X=this._availability;return!Nr.defined(X)||X.contains(K)}),H.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4490",gisserverTMS:M},K=>{x.item.boundingSphere=K.boundingSphere,x.TileMatrixLimits=K.TileMatrixLimits,x.initThisProvider()}),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var J={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=f.id,this.setTreeobj(J),this._tree.insertGroupId(J,this._core.isnull(m)?0:m),this};wh.prototype.createLabelImageGeoJsonFeatureLayerProvider1=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},x=this,y=f.material,v={Name:"",text:"",font:" 30px sans-serif",style:x._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:x._cesium.Color.WHITE,outlineColor:x._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new x._cesium.Color(.165,.165,.165,.8),backgroundPadding:new x._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:x._cesium.HorizontalOrigin.CENTER,verticalOrigin:x._cesium.VerticalOrigin.CENTER,eyeOffset:x._cesium.Cartesian3.ZERO,pixelOffset:x._cesium.Cartesian2.ZERO,heightReference:x._cesium.HeightReference.NONE,scaleByDistance:new x._cesium.NearFarScalar(0,0,1,1),maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0};this._urlTemplate=A.url+"?"+this._core._serialize(I.urlParams);var w=A.url+"?"+this._core._serialize(I.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=21,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(D,S){if(S.state===Nr.QuadtreeTileLoadState.START){if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<f.level_max&&x.item.show){var P=w.replace(window.encodeURIComponent("{x}"),S.x).replace(window.encodeURIComponent("{y}"),S.y).replace(window.encodeURIComponent("{z}"),S.level);x._cache&&(P+="&"+x._core.getuid()),x._core.xhr({url:P,type:"get",dataType:"json",success:function(R){if(R==null){S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0;return}var T=x._core.extend(v,f,!0);T.font=f.font;var L,F,U;T.image&&!T.text?F=new x._cesium.BillboardCollection({scene:x._viewer.scene}):!T.image&&T.text?L=new x._cesium.LabelCollection({scene:x._viewer.scene}):T.image&&T.text?(L=new x._cesium.LabelCollection({scene:x._viewer.scene}),F=new x._cesium.BillboardCollection({scene:x._viewer.scene}),U=new x._cesium.PrimitiveCollection,U.add(L),U.add(F)):L=new x._cesium.LabelCollection({scene:x._viewer.scene}),R.features.forEach(function(N){T.id=N;var H=T.pointHeight;if(/^\[/.test(H)&&/\]$/.test(H)){var J=H.replace(/\[/,"").replace(/\]/,"");H=parseFloat(N.properties[J])}else H!=null&&H!=""?H=parseFloat(H):N.properties.height!=null&&(H=parseFloat(N.properties.height));if(T.position=new x._cesium.Cartesian3.fromDegrees(N.geometry.coordinates[0],N.geometry.coordinates[1],H),f.fillColor){if(/^\[/.test(f.fillColor)&&/\]$/.test(f.fillColor)){var K=f.fillColor.replace(/\[/,"").replace(/\]/,"");T.fillColor=N.properties[K]}x._core.isHtmlColor(T.fillColor)?T.fillColor=x._color.colorFromHtmlColor(T.fillColor):(/^rgb/.test(T.fillColor)&&(T.fillColor=x._color.rgbaStringToRgbaObj(T.fillColor)),T.fillColor.r>1&&(T.fillColor.r=T.fillColor.r/255),T.fillColor.g>1&&(T.fillColor.g=T.fillColor.g/255),T.fillColor.b>1&&(T.fillColor.b=T.fillColor.b/255),T.fillColor.a>1&&(T.fillColor.a=T.fillColor.a/255),T.fillColor=x._color.createColor(T.fillColor.r,T.fillColor.g,T.fillColor.b,T.fillColor.a))}else if(f.fillColor&&f.fillColor.Class instanceof Array)for(var X=0;X<f.fillColor.Class.length;X++){var j=f.fillColor.Class[X],ee=j.Condition.replace("<","").replace(">","").split("=");if(ee[0]=ee[0].replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,""),ee[1]=ee[1].replace(/\"/,"").replace(/\"/,""),N.properties[ee[0]]==ee[1]){T.fillColor=j.Value,x._core.isHtmlColor(T.fillColor)?T.fillColor=x._color.colorFromHtmlColor(T.fillColor):(/^rgb/.test(T.fillColor)&&(T.fillColor=x._color.rgbaStringToRgbaObj(T.fillColor)),T.fillColor.r>1&&(T.fillColor.r=T.fillColor.r/255),T.fillColor.g>1&&(T.fillColor.g=T.fillColor.g/255),T.fillColor.b>1&&(T.fillColor.b=T.fillColor.b/255),T.fillColor.a>1&&(T.fillColor.a=T.fillColor.a/255),T.fillColor=x._color.createColor(T.fillColor.r,T.fillColor.g,T.fillColor.b,T.fillColor.a));break}}else f.fillColor&&f.fillColor.Class.toString()!="{}"?(T.fillColor=f.fillColor.Value,x._core.isHtmlColor(T.fillColor)?T.fillColor=x._color.colorFromHtmlColor(T.fillColor):(/^rgb/.test(T.fillColor)&&(T.fillColor=x._color.rgbaStringToRgbaObj(T.fillColor)),T.fillColor.r>1&&(T.fillColor.r=T.fillColor.r/255),T.fillColor.g>1&&(T.fillColor.g=T.fillColor.g/255),T.fillColor.b>1&&(T.fillColor.b=T.fillColor.b/255),T.fillColor.a>1&&(T.fillColor.a=T.fillColor.a/255),T.fillColor=x._color.createColor(T.fillColor.r,T.fillColor.g,T.fillColor.b,T.fillColor.a))):style.fillColor&&style.fillColor.toString()!="{}"&&(T.fillColor=f.fillColor.Value,x._core.isHtmlColor(T.fillColor)?T.fillColor=x._color.colorFromHtmlColor(T.fillColor):(/^rgb/.test(T.fillColor)&&(T.fillColor=x._color.rgbaStringToRgbaObj(T.fillColor)),T.fillColor.r>1&&(T.fillColor.r=T.fillColor.r/255),T.fillColor.g>1&&(T.fillColor.g=T.fillColor.g/255),T.fillColor.b>1&&(T.fillColor.b=T.fillColor.b/255),T.fillColor.a>1&&(T.fillColor.a=T.fillColor.a/255),T.fillColor=x._color.createColor(T.fillColor.r,T.fillColor.g,T.fillColor.b,T.fillColor.a)));if(f.outlineColor){if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var K=f.outlineColor.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");T.outlineColor=N.properties[K],x._core.isHtmlColor(T.outlineColor)?T.outlineColor=x._color.colorFromHtmlColor(T.outlineColor):(/^rgb/.test(T.outlineColor)&&(T.outlineColor=x._color.rgbaStringToRgbaObj(T.outlineColor)),T.outlineColor.r>1&&(T.outlineColor.r=T.outlineColor.r/255),T.outlineColor.g>1&&(T.outlineColor.g=T.outlineColor.g/255),T.outlineColor.b>1&&(T.outlineColor.b=T.outlineColor.b/255),T.outlineColor.a>1&&(T.outlineColor.a=T.outlineColor.a/255),T.outlineColor=x._color.createColor(T.outlineColor.r,T.outlineColor.g,T.outlineColor.b,T.outlineColor.a))}}else if(f.outlineColor&&f.outlineColor.Class instanceof Array)for(var X=0;X<f.fillColor.Class.length;X++){var j=f.fillColor.Class[X],ee=j.Condition.replace("<","").replace(">","").split("=");if(ee[0]=ee[0].replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,""),ee[1]=ee[1].replace(/\"/,"").replace(/\"/,""),N.properties[ee[0]]==ee[1]){T.outlineColor=ee.Value,x._core.isHtmlColor(T.outlineColor)?T.outlineColor=x._color.colorFromHtmlColor(T.outlineColor):(/^rgb/.test(T.outlineColor)&&(T.outlineColor=x._color.rgbaStringToRgbaObj(T.outlineColor)),T.outlineColor.r>1&&(T.outlineColor.r=T.outlineColor.r/255),T.outlineColor.g>1&&(T.outlineColor.g=T.outlineColor.g/255),T.outlineColor.b>1&&(T.outlineColor.b=T.outlineColor.b/255),T.outlineColor.a>1&&(T.outlineColor.a=T.outlineColor.a/255),T.outlineColor=x._color.createColor(T.outlineColor.r,T.outlineColor.g,T.outlineColor.b,T.outlineColor.a));break}}else f.outlineColor&&f.outlineColor.Class.toString()!="{}"?(T.outlineColor=f.outlineColor.Value,x._core.isHtmlColor(T.outlineColor)?T.outlineColor=x._color.colorFromHtmlColor(T.outlineColor):(/^rgb/.test(T.outlineColor)&&(T.outlineColor=x._color.rgbaStringToRgbaObj(T.outlineColor)),T.outlineColor.r>1&&(T.outlineColor.r=T.outlineColor.r/255),T.outlineColor.g>1&&(T.outlineColor.g=T.outlineColor.g/255),T.outlineColor.b>1&&(T.outlineColor.b=T.outlineColor.b/255),T.outlineColor.a>1&&(T.outlineColor.a=T.outlineColor.a/255),T.outlineColor=x._color.createColor(T.outlineColor.r,T.outlineColor.g,T.outlineColor.b,T.outlineColor.a))):f.outlineColorTe&&f.outlineColor.toString()!="{}"&&(T.outlineColor=f.outlineColor.Value,x._core.isHtmlColor(T.outlineColor)?T.outlineColor=x._color.colorFromHtmlColor(T.outlineColor):(/^rgb/.test(T.outlineColor)&&(T.outlineColor=x._color.rgbaStringToRgbaObj(T.outlineColor)),T.outlineColor.r>1&&(T.outlineColor.r=T.outlineColor.r/255),T.outlineColor.g>1&&(T.outlineColor.g=T.outlineColor.g/255),T.outlineColor.b>1&&(T.outlineColor.b=T.outlineColor.b/255),T.outlineColor.a>1&&(T.outlineColor.a=T.outlineColor.a/255),T.outlineColor=x._color.createColor(T.outlineColor.r,T.outlineColor.g,T.outlineColor.b,T.outlineColor.a)));if(f.backgroundColor){if(/^\[/.test(f.backgroundColor)&&/\]$/.test(f.backgroundColor)){var K=f.backgroundColor.replace(/\[/,"").replace(/\]/,"");T.backgroundColor=N.properties[K],x._core.isHtmlColor(T.backgroundColor)?T.backgroundColor=x._color.colorFromHtmlColor(T.backgroundColor):(/^rgb/.test(T.backgroundColor)&&(T.backgroundColor=x._color.rgbaStringToRgbaObj(T.backgroundColor)),T.backgroundColor.r>1&&(T.backgroundColor.r=T.backgroundColor.r/255),T.backgroundColor.g>1&&(T.backgroundColor.g=T.backgroundColor.g/255),T.backgroundColor.b>1&&(T.backgroundColor.b=T.backgroundColor.b/255),T.backgroundColor.a>1&&(T.backgroundColor.a=T.backgroundColor.a/255),T.backgroundColor=x._color.createColor(T.backgroundColor.r,T.backgroundColor.g,T.backgroundColor.b,T.backgroundColor.a))}}else if(f.backgroundColor&&f.backgroundColor.Class instanceof Array)for(var X=0;X<f.backgroundColor.Class.length;X++){var j=f.backgroundColor.Class[X],ee=j.Condition.replace("<","").replace(">","").split("=");if(ee[0]=ee[0].replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,""),ee[1]=ee[1].replace(/\"/,"").replace(/\"/,""),N.properties[ee[0]]==ee[1]){T.backgroundColor=getSGColor(ee.Value),x._core.isHtmlColor(T.backgroundColor)?T.backgroundColor=x._color.colorFromHtmlColor(T.backgroundColor):(/^rgb/.test(T.backgroundColor)&&(T.backgroundColor=x._color.rgbaStringToRgbaObj(T.backgroundColor)),T.backgroundColor.r>1&&(T.backgroundColor.r=T.backgroundColor.r/255),T.backgroundColor.g>1&&(T.backgroundColor.g=T.backgroundColor.g/255),T.backgroundColor.b>1&&(T.backgroundColor.b=T.backgroundColor.b/255),T.backgroundColor.a>1&&(T.backgroundColor.a=T.backgroundColor.a/255),T.backgroundColor=x._color.createColor(T.backgroundColor.r,T.backgroundColor.g,T.backgroundColor.b,T.backgroundColor.a));break}}else f.backgroundColor&&f.backgroundColor.Class.toString()!="{}"?(T.backgroundColor=getSGColor(f.backgroundColor.Value),x._core.isHtmlColor(T.backgroundColor)?T.backgroundColor=x._color.colorFromHtmlColor(T.backgroundColor):(/^rgb/.test(T.backgroundColor)&&(T.backgroundColor=x._color.rgbaStringToRgbaObj(T.backgroundColor)),T.backgroundColor.r>1&&(T.backgroundColor.r=T.backgroundColor.r/255),T.backgroundColor.g>1&&(T.backgroundColor.g=T.backgroundColor.g/255),T.backgroundColor.b>1&&(T.backgroundColor.b=T.backgroundColor.b/255),T.backgroundColor.a>1&&(T.backgroundColor.a=T.backgroundColor.a/255),T.backgroundColor=x._color.createColor(T.backgroundColor.r,T.backgroundColor.g,T.backgroundColor.b,T.backgroundColor.a))):f.backgroundColor&&f.backgroundColor.toString()!="{}"&&(T.backgroundColor=f.backgroundColor.Value,x._core.isHtmlColor(T.backgroundColor)?T.backgroundColor=x._color.colorFromHtmlColor(T.backgroundColor):(/^rgb/.test(T.backgroundColor)&&(T.backgroundColor=x._color.rgbaStringToRgbaObj(T.backgroundColor)),T.backgroundColor.r>1&&(T.backgroundColor.r=T.backgroundColor.r/255),T.backgroundColor.g>1&&(T.backgroundColor.g=T.backgroundColor.g/255),T.backgroundColor.b>1&&(T.backgroundColor.b=T.backgroundColor.b/255),T.backgroundColor.a>1&&(T.backgroundColor.a=T.backgroundColor.a/255),T.backgroundColor=x._color.createColor(T.backgroundColor.r,T.backgroundColor.g,T.backgroundColor.b,T.backgroundColor.a)));if(f.scale){if(/^\[/.test(f.scale)&&/\]$/.test(f.scale)){var K=f.scale.replace(/\[/,"").replace(/\]/,"");T.scale=N.properties[K]}}else if(f.scale&&f.scale.Class instanceof Array)for(var X=0;X<f.scale.Class.length;X++){var j=f.scale.Class[X],ee=j.Condition.replace("<","").replace(">","").split("=");ee[0]=ee[0].replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,""),ee[1]=ee[1].replace(/\"/,"").replace(/\"/,""),N.properties[ee[0]]==ee[1]&&(T.scale=j.Value)}else f.scale&&f.scale.Class.toString()!="{}"?T.scale=f.scale.Value:f.scale&&f.scale.toString()!="[object Object]"&&f.scale.toString()!="{}"&&(T.scale=f.scale);if(/^\[/.test(f.text)&&/\]$/.test(f.text)||f.textTe)if(f.textTe)if(f.text.Class instanceof Object){var ie=f.text.Class.Value.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");T.text=N.properties[ie]}else if(f.text&&f.text.Class&&f.text.Class.toString()!="{}"){var K=f.text.Class.Value.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");T.text=N.properties[K]}else{var K=f.text.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");T.text=N.properties[K]}else if(f.text&&f.text.toString()!="[object Object]"&&f.text.toString()!="{}")T.text=f.text;else{var K=f.text.Class.Value.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");T.text=N.properties[K]}else f.text&&f.text.toString()!="[object Object]"&&f.text.toString()!="{}"&&(T.text=f.text);if(T.labelData&&(T=x._core.extend(T,T.labelData,!0)),T.verticalOrigin=Nr.VerticalOrigin.CENTER,T.horizontalOrigin=Nr.HorizontalOrigin.LEFT,L&&L.add(T),f.image&&f.image.Class instanceof Array)for(var X=0;X<f.image.Class.length;X++){var j=f.image.Class[X],ee=j.Condition.replace("<","").replace(">","").split("=");if(ee[0]=ee[0].replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,""),ee[1]=ee[1].replace(/\"/,"").replace(/\"/,""),N.properties[ee[0]]==ee[1]){T.image=j.Value;break}}else if(f.image&&f.image.Class&&f.image.Class.toString()!="{}"){var K=f.image.Class.Value.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");T.image=N.properties[K]}else f.image&&f.image.toString()!="[object Object]"&&f.image.toString()!="{}"&&(T.image=f.image);var z=Ii.cloneDeep(T);z.verticalOrigin=Nr.VerticalOrigin.CENTER,z.horizontalOrigin=Nr.HorizontalOrigin.RIGHT,F&&F.add(z)}),R.features.length==0&&(S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0),U?S.data.geometryPrimitive=U:F?S.data.geometryPrimitive=F:S.data.geometryPrimitive=L,S.state===Nr.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive.update(D,[]),S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0)},error:function(){S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0}})}else{S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0;return}S.state=Nr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;f&&f.time&&(this._Provider._availability=new x._cesium.TimeIntervalCollection([new x._cesium.TimeInterval({start:f.time.start?x._cesium.JulianDate.fromDate(new Date(f.time.start)):x._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?x._cesium.JulianDate.fromDate(new Date(f.time.end)):x._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(D){if(!Nr.defined(D))throw new Nr.DeveloperError("time is required.");var S=this._availability;return!Nr.defined(S)||S.contains(D)}),M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=f.id,this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};wh.prototype.createSXTLabelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},x=this,y=f.material,v={show:!0,position:x._cesium.Cartesian3.ZERO,pixelOffset:x._cesium.Cartesian2.ZERO,eyeOffset:x._cesium.Cartesian3.ZERO,heightReference:x._cesium.HeightReference.NONE,horizontalOrigin:x._cesium.HorizontalOrigin.CENTER,verticalOrigin:x._cesium.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:x._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:x._cesium.Cartesian3.ZERO,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0};f.width&&(v.width=f.width),f.height&&(v.height=f.height),f.image&&(v.image=f.image),this._urlTemplate=A.url+"?"+this._core._serialize(I.urlParams);var w=A.url+"?"+this._core._serialize(I.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(D,S){if(S.state===Nr.QuadtreeTileLoadState.START){if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<=f.level_max&&x.item.show){var P=w.replace(window.encodeURIComponent("{x}"),S.x).replace(window.encodeURIComponent("{y}"),S.y).replace(window.encodeURIComponent("{z}"),S.level);x._cache&&(P+="&"+x._core.getuid()),x._core.xhr({url:P,type:"get",dataType:"json",success:function(R){if(R==null){S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0;return}var T;if(S.level==parseInt(f.level_max)-1)typeof initSXTData=="function"&&(T=initSXTData(R));else{T=new Nr.BillboardCollection;for(var L of R.features){var F=L.geometry.coordinates[0],U=L.geometry.coordinates[1],N=f.pointHeight?parseFloat(f.pointHeight):0;v.position=Nr.Cartesian3.fromDegrees(F,U,N),T.add(v)}}R.features.length==0&&(S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0),S.data.geometryPrimitive=T,S.state=Nr.QuadtreeTileLoadState.LOADING,S.state===Nr.QuadtreeTileLoadState.LOADING&&typeof S.data.geometryPrimitive.update=="function"?(S.data.geometryPrimitive.update(D,[]),S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0):(S.data.geometryPrimitive.destroy=function(){},S.data.geometryPrimitive.update=function(){})},error:function(){S.count==null&&(S.count=0),S.count+=1,S.count>=2?(S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0):S.state=Nr.QuadtreeTileLoadState.START}})}else{S.state=Nr.QuadtreeTileLoadState.DONE,S.renderable=!0;return}S.state=Nr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;f&&f.time&&(this._Provider._availability=new x._cesium.TimeIntervalCollection([new x._cesium.TimeInterval({start:f.time.start?x._cesium.JulianDate.fromDate(new Date(f.time.start)):x._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?x._cesium.JulianDate.fromDate(new Date(f.time.end)):x._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(D){if(!Nr.defined(D))throw new Nr.DeveloperError("time is required.");var S=this._availability;return!Nr.defined(S)||S.contains(D)}),M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};wh.prototype.createCustomCallbackGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E,I){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=this,v=f.material,w={show:!0,position:y._cesium.Cartesian3.ZERO,pixelOffset:y._cesium.Cartesian2.ZERO,eyeOffset:y._cesium.Cartesian3.ZERO,heightReference:y._cesium.HeightReference.NONE,horizontalOrigin:y._cesium.HorizontalOrigin.CENTER,verticalOrigin:y._cesium.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:y._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:y._cesium.Cartesian3.ZERO,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0};f.width&&(w.width=f.width),f.height&&(w.height=f.height),f.image&&(w.image=f.image),this._urlTemplate=A.url+"?"+this._core._serialize(x.urlParams);var Q=A.url+"?"+this._core._serialize(x.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(S,P){if(P.state===Nr.QuadtreeTileLoadState.START){if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<=f.level_max&&y.item.show){var R=Q.replace(window.encodeURIComponent("{x}"),P.x).replace(window.encodeURIComponent("{y}"),P.y).replace(window.encodeURIComponent("{z}"),P.level);y._cache&&(R+="&"+y._core.getuid()),y._core.xhr({url:R,type:"get",dataType:"json",success:function(T){if(T==null){P.state=Nr.QuadtreeTileLoadState.DONE,P.renderable=!0;return}var L;typeof E=="function"&&(L=E(T)),T.features.length==0&&(P.state=Nr.QuadtreeTileLoadState.DONE,P.renderable=!0),P.data.geometryPrimitive=L,P.state=Nr.QuadtreeTileLoadState.LOADING,P.state===Nr.QuadtreeTileLoadState.LOADING&&typeof P.data.geometryPrimitive.update=="function"?(P.data.geometryPrimitive.update(S,[]),P.state=Nr.QuadtreeTileLoadState.DONE,P.renderable=!0):(P.data.geometryPrimitive.destroy=function(){},P.data.geometryPrimitive.update=function(){})},error:function(){P.count==null&&(P.count=0),P.count+=1,P.count>=2?(P.state=Nr.QuadtreeTileLoadState.DONE,P.renderable=!0):P.state=Nr.QuadtreeTileLoadState.START}})}else{P.state=Nr.QuadtreeTileLoadState.DONE,P.renderable=!0;return}P.state=Nr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var M=this._viewer.scene,B=M.primitives;f&&f.time&&(this._Provider._availability=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(S){if(!Nr.defined(S))throw new Nr.DeveloperError("time is required.");var P=this._availability;return!Nr.defined(P)||P.contains(S)}),B.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var D={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:I}};return this.setTreeobj(D),this._tree.insertGroupId(D,this._core.isnull(m)?0:m),typeof I=="function"&&I(this.item),this};wh.prototype.createLabelRichtextGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){A==null&&console.log("geojson is required");var I=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(I);var x=this,y=new this._cesium.PointPrimitiveCollection;x.optiontext=[],I.then(function(w){x.item=w;for(var Q=w.entities.values,M=0;M<Q.length;M++){var B=Q[M],D;if(/^\[/.test(f.text)&&/\]$/.test(f.text)){var S=f.text.replace(/\[/,"").replace(/\]/,"");D=B.properties[S]._value}else D=f.text;x.optiontext.push(D),B.billboard=void 0;var P=x._viewer.scene.globe.ellipsoid,R=x._cesium.Cartographic.fromCartesian(B.position._value),T=x._cesium.Math.toDegrees(R.longitude),L=x._cesium.Math.toDegrees(R.latitude),F=f.pointHeight||0||R.height,U=[T,L,F],N=x._core.getuid(),H;U instanceof Array?U.length===2?H=x._cesium.Cartesian3.fromDegrees(U[0],U[1]):U.length===3&&(H=x._cesium.Cartesian3.fromDegrees(U[0],U[1],U[2])):U.z?H=x._cesium.Cartesian3.fromDegrees(U.x,U.y,U.z):H=x._cesium.Cartesian3.fromDegrees(U.x,U.y);var J="DivPoint"+N;y.add({id:J,position:H,color:x._cesium.Color.YELLOW,description:f.text})}var K;f&&f.time&&(K=new x._cesium.TimeIntervalCollection([new x._cesium.TimeInterval({start:f.time.start?x._cesium.JulianDate.fromDate(new Date(f.time.start)):x._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?x._cesium.JulianDate.fromDate(new Date(f.time.end)):x._cesium.Iso8601.MAXIMUM_VALUE})])),x.item=y,x.pointPrimitive=x._viewer.scene.primitives.add(y,K);var X=!0,j,ee,ie,z;x.pointPrimitive.update=function(){for(var oe=0,le,Ae;oe<x.pointPrimitive.length;oe++){if(le=x.pointPrimitive.get(oe),z=le.position,ie=x._viewer.scene.cartesianToCanvasCoordinates(z),!ie)return;ee=document.getElementById(le.id),ee||(Ae='<div id="'+le.id+'" style="position: absolute; width: 200px; height: 134px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+kr.divpoint1+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)">`+x.optiontext[oe]+`</div> </div>`,$(".cesium-viewer").append(Ae),ee=document.getElementById(le.id)),le.description?ee.style.transform="matrix(1, 0, 0, 1, "+ie.x+", "+(ie.y-157)+")":ee.style.transform="matrix(1, 0, 0, 1, "+ie.x+", "+(ie.y-134)+")",ee&&(ee.style.display=x.pointPrimitive.show?"block":"none")}X&&(C||x.setVisibility(!1),X=!1)},typeof E=="function"&&E(w)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u5BCC\u6587\u672C");var v={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"DivPoint",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};wh.prototype.createLabelRichtextGeoJsonFeatureLayerProviderLayer=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},x=this,y=new yu(this._viewer,this._cesium,I);this._Provider=y,y._loadTile=function(w){var Q=new x._cesium.PointPrimitiveCollection;x.optiontext=[],w.features.forEach(function(R){var T=options.pointHeight;if(R.properties.height!=null&&(T=parseFloat(R.properties.height)+T),/^\[/.test(options.pointHeight)&&/\]$/.test(options.pointHeight)){var L=options.pointHeight.replace(/\[/,"").replace(/\]/,"");T=parseFloat(R.properties[L])}if(f.position=new x._cesium.Cartesian3.fromDegrees(R.geometry.coordinates[0],R.geometry.coordinates[1],T),/^\[/.test(f.text)&&/\]$/.test(f.text)){var F=f.text.replace(/\[/,"").replace(/\]/,"");f.text=R.properties[F]}var U=x._core.getuid(),N="DivPoint"+U;Q.add({id:N,position:Cartesian3,color:x._cesium.Color.YELLOW,description:f.text}),x.optiontext.push(option.text)}),x.pointPrimitive=x._viewer.scene.primitives.add(Q);var M,B,D,S,P=!0;return x.pointPrimitive.update=function(){for(var R=0,T,L;R<x.pointPrimitive.length;R++){if(T=x.pointPrimitive.get(R),S=T.position,D=x._viewer.scene.cartesianToCanvasCoordinates(S),!D)return;B=document.getElementById(T.id),B||(L='<div id="'+T.id+'" style="position: absolute; width: 200px; height: 134px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+kr.divpoint1+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)">`+x.optiontext[R]+`</div> </div>`,$(".cesium-viewer").append(L),B=document.getElementById(T.id)),T.description?B.style.transform="matrix(1, 0, 0, 1, "+D.x+", "+(D.y-157)+")":B.style.transform="matrix(1, 0, 0, 1, "+D.x+", "+(D.y-134)+")"}P&&(C||x.setVisibility(!1),P=!1)},x.item=Q,""},y.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u5BCC\u6587\u672C"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"DivPoint",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};wh.prototype.createModelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium},x=this,y=f.material;!x._core.isnull(f)&&!x._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(x._core.isHtmlColor(f.color)?f.color=x._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=x._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=x._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),this._urlTemplate=A.url+"?"+this._core._serialize(I.urlParams);var v=A.url+"?"+this._core._serialize(I.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(B,D){if(D.state===Nr.QuadtreeTileLoadState.START){if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<f.level_max&&x.item.show){var S=v.replace(window.encodeURIComponent("{x}"),D.x).replace(window.encodeURIComponent("{y}"),D.y).replace(window.encodeURIComponent("{z}"),D.level);x._cache&&(S+="&"+x._core.getuid()),x._core.xhr({url:S,type:"get",dataType:"json",success:function(P){if(P==null){D.state=Nr.QuadtreeTileLoadState.DONE,D.renderable=!0;return}var R={url:"",modelMatrix:x._cesium.Transforms.eastNorthUpToFixedFrame(origin),color:x._cesium.Color.DARKSALMON,scale:2},T=x._core.extend(R,f,!0);x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var L=parseFloat(f.near),F=parseFloat(f.far),U=new x._cesium.DistanceDisplayCondition(L,F);T.distanceDisplayCondition=U;var N=new x._cesium.PrimitiveCollection;P.features.forEach(function(H){T.id=H;var J=T.height;if(H.properties.height!=null&&(J=parseFloat(H.properties.height)),/^\[/.test(T.height)&&/\]$/.test(T.height)){var K=T.height.replace(/\[/,"").replace(/\]/,"");J=parseFloat(H.properties[K])}T.modelMatrix=x._cesium.Transforms.eastNorthUpToFixedFrame(x._cesium.Cartesian3.fromDegrees(H.geometry.coordinates[0],H.geometry.coordinates[1],J));var X=x._cesium.Model.fromGltf({id:H,url:T.uri,color:T.color,modelMatrix:T.modelMatrix,scale:T.scale,heightReference:parseInt(T.heightReference),distanceDisplayCondition:T.distanceDisplayCondition});N.add(X)}),P.features.length==0&&(D.state=Nr.QuadtreeTileLoadState.DONE,D.renderable=!0),D.data.geometryPrimitive=N,D.state=Nr.QuadtreeTileLoadState.LOADING,D.state===Nr.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive.update(B,[]),D.state=Nr.QuadtreeTileLoadState.DONE,D.renderable=!0)},error:function(){D.count==null&&(D.count=0),D.count+=1,D.count>=2?(D.state=Nr.QuadtreeTileLoadState.DONE,D.renderable=!0):D.state=Nr.QuadtreeTileLoadState.START}})}else{D.state=Nr.QuadtreeTileLoadState.DONE,D.renderable=!0;return}D.state=Nr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var w=this._viewer.scene,Q=w.primitives;Q.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var M={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(M),this._tree.insertGroupId(M,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};wh.prototype.createPointGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},x=this;!x._core.isnull(f)&&!x._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(x._core.isHtmlColor(f.color)?f.color=x._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=x._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=x._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!x._core.isnull(f)&&!x._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(x._core.isHtmlColor(f.outlineColor)?f.outlineColor=x._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=x._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=x._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),this._urlTemplate=A.url+"?"+this._core._serialize(I.urlParams);var y=A.url+"?"+this._core._serialize(I.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(M,B){if(B.state===Nr.QuadtreeTileLoadState.START){if(B.data={lines:[],geometryPrimitive:void 0},B.level>=f.level_min&&B.level<f.level_max&&x.item.show){var D=y.replace(window.encodeURIComponent("{x}"),B.x).replace(window.encodeURIComponent("{y}"),B.y).replace(window.encodeURIComponent("{z}"),B.level);x._cache&&(D+="&"+x._core.getuid()),x._core.xhr({url:D,type:"get",dataType:"json",success:function(S){if(S==null){B.state=Nr.QuadtreeTileLoadState.DONE,B.renderable=!0;return}var P={Name:"",text:"",font:" 30px sans-serif",pixelSize:10,style:x._cesium.LabelStyle.OUTLINE,fillColor:x._cesium.Color.WHITE,outlineColor:x._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new x._cesium.Color(.165,.165,.165,.8),backgroundPadding:new x._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:x._cesium.HorizontalOrigin.CENTER,verticalOrigin:x._cesium.VerticalOrigin.CENTER,eyeOffset:x._cesium.Cartesian3.ZERO,pixelOffset:x._cesium.Cartesian2.ZERO,heightReference:x._cesium.HeightReference.NONE,scaleByDistance:new x._cesium.NearFarScalar(0,0,1,1)},R=f.material;!x._core.isnull(f)&&!x._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(x._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=x._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=x._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=x._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var T=x._core.extend(P,f,!0);x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var L=parseFloat(f.near),F=parseFloat(f.far),U=new x._cesium.DistanceDisplayCondition(L,F);T.distanceDisplayCondition=U,x._core.isnull(f.font_size)&&(f.font_size="30px"),x._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),T.font=parseFloat(f.font_size)+"px "+f.font_family;var N=new x._cesium.PointPrimitiveCollection;S.features.forEach(function(H){T.id=H;var J=0;if(/^\[/.test(T.pointHeight)&&/\]$/.test(T.pointHeight)){var K=T.pointHeight.replace(/\[/,"").replace(/\]/,"");J=parseFloat(H.properties[K])}else T.pointHeight!==void 0&&T.pointHeight!==""?J=parseFloat(T.pointHeight):H.properties.height!=null&&(J=parseFloat(H.properties.height));if(/^\[/.test(f.color)&&/\]$/.test(f.color)){var X=f.color.replace(/\[/,"").replace(/\]/,"");T.color=H.properties[X],x._core.isHtmlColor(T.color)?T.color=x._color.colorFromHtmlColor(T.color):(/^rgb/.test(T.color)&&(T.color=x._color.rgbaStringToRgbaObj(T.color)),T.color.r>1&&(T.color.r=T.color.r/255),T.color.g>1&&(T.color.g=T.color.g/255),T.color.b>1&&(T.color.b=T.color.b/255),T.color.a>1&&(T.color.a=T.color.a/255),T.color=x._color.createColor(T.color.r,T.color.g,T.color.b,T.color.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var X=f.outlineColor.replace(/\[/,"").replace(/\]/,"");T.outlineColor=H.properties[X],x._core.isHtmlColor(T.outlineColor)?T.outlineColor=x._color.colorFromHtmlColor(T.outlineColor):(/^rgb/.test(T.outlineColor)&&(T.outlineColor=x._color.rgbaStringToRgbaObj(T.outlineColor)),T.outlineColor.r>1&&(T.outlineColor.r=T.outlineColor.r/255),T.outlineColor.g>1&&(T.outlineColor.g=T.outlineColor.g/255),T.outlineColor.b>1&&(T.outlineColor.b=T.outlineColor.b/255),T.outlineColor.a>1&&(T.outlineColor.a=T.outlineColor.a/255),T.outlineColor=x._color.createColor(T.outlineColor.r,T.outlineColor.g,T.outlineColor.b,T.outlineColor.a))}T.position=new x._cesium.Cartesian3.fromDegrees(H.geometry.coordinates[0],H.geometry.coordinates[1],J),T.text=H.properties.name;var j={show:T.show,position:T.position,pixelSize:T.pixelSize,color:T.color,outlineColor:T.outlineColor,outlineWidth:T.outlineWidth,id:H},ee="color:"+T.color.red*255+","+T.color.green*255+","+T.color.blue*255+";outlineColor:"+T.outlineColor.red*255+","+T.outlineColor.green*255+","+T.outlineColor.blue*255;x.Legend.push(ee),N.add(j)}),S.features.length==0&&(B.state=Nr.QuadtreeTileLoadState.DONE,B.renderable=!0),B.data.geometryPrimitive=N,B.state=Nr.QuadtreeTileLoadState.LOADING,B.state===Nr.QuadtreeTileLoadState.LOADING&&(B.data.geometryPrimitive.update(M,[]),B.state=Nr.QuadtreeTileLoadState.DONE,B.renderable=!0)},error:function(){B.count==null&&(B.count=0),B.count+=1,B.count>=2?(B.state=Nr.QuadtreeTileLoadState.DONE,B.renderable=!0):B.state=Nr.QuadtreeTileLoadState.START}})}else{B.state=Nr.QuadtreeTileLoadState.DONE,B.renderable=!0;return}B.state=Nr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var v=this._viewer.scene,w=v.primitives;w.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};wh.prototype.setTreeobj=function(o){this.treeobj=o};wh.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};wh.prototype.deleteObject=function(){if(this._viewer.scene.primitives.remove(this.item),this.probj&&this.probj.length>0&&(this._viewer.scene.primitives.remove(this.probj[0]),this.probj.pop()),this.img!=null&&this._viewer.imageryLayers.remove(this.img),this.primitve&&this.primitve.length>0){for(var o=0;o<this.primitve.length;o++)this._viewer.scene.primitives.remove(this.primitve[o]);this.primitve=[]}this.loadAllKey&&this.loadAllKey.length>0&&(this.loadAllKey=[]);try{this._Provider.remove()}catch{}if(this._Provider!=null&&this._Provider.setStatus(!1),this.items!=null&&this.items!=null&&this.items.length>0)for(var o=0;o<this.items.length;o++)this._viewer.scene.primitives.remove(this.items[o]);else this._viewer.scene.primitives.remove(this.item);if(this.treeobj&&this.treeobj.type==="DivPoint"&&this.item&&this.item._pointPrimitives!=null&&this.item._pointPrimitives!=null)for(var o=0;o<this.item._pointPrimitives.length;o++){var A=document.getElementById(this.item._pointPrimitives[o].id);A&&A.remove()}try{this._Provider.remove()}catch{}};wh.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A},treeData:this.treeobj.treeData}};wh.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};wh.prototype.setVisibility=function(o){try{if(this.loadAllKey=[],this.item!=null&&this.item.show!=null&&(this.item.show=o),this.img!=null&&(this.img.show=o),this.primitve&&this.primitve.length>0)for(var A=0;A<this.primitve.length;A++)this.primitve[A].show=o;if(this._Provider&&this._Provider.setStatus&&this._Provider._state!==void 0&&this._Provider.setStatus(o),this._Provider&&this._Provider.EntityCollection&&(!o&&(this._Provider.EntityCollection.show=o),this._Provider.EntityCollection.isShow=o),this.probj&&this.probj.length>0)for(var A=0;A<this.probj.length;A++)this.probj[A].show=o}catch{}if(this.treeobj!=null&&this.treeobj.type==="DivPoint"&&this.item&&this.item._pointPrimitives!=null&&this.item._pointPrimitives!=null)for(var A=0;A<this.item._pointPrimitives.length;A++){var f=document.getElementById(this.item._pointPrimitives[A].id);f&&(f.style.display=o?"block":"none")}this.item!=null&&(this.item.show=o),this._Provider&&this._Provider._stop!==void 0&&this._Provider.setStatus(!o)};wh.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};wh.prototype.forceRefresh=function(){try{this._cache=!0,this._forceRefreshPrvimitive||(this._forceRefreshPrvimitive=Ii.cloneDeep(this._primitive));var o=Ii.cloneDeep(this._forceRefreshPrvimitive);this._viewer.scene.primitives.remove(this._primitive),this._viewer.scene.primitives.add(o),this.edit(this.isEditting,this.editoption)}catch{}};Object.defineProperties(wh.prototype,{labelText:{set:Ii.debounce(function(o){var A=o;if(!this._core.isnull(o)){var f=this.item.entities&&this.item.entities.values;if(f&&f.length>0)for(var m=0;m<f.length;m++)if(/^\[/.test(o)&&(A=o.replace(/\[/,"").replace(/\]/,""),A=f[m].properties[A]._value),f[m].label){f[m].label.text=A;try{f[m].point.show=!1}catch{}}else{try{f[m].point.show=!1}catch{}f[m].label=new this._cesium.LabelGraphics({text:A,font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})}}},500)},labelStyles:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.style=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.style}},labelFont:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m=16;if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[0]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=m+"px "+o}}},500)},labelFontSize1:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m="sans-serif";if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[1]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=o+"px "+m}}},500)},labelFontSize:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.font=o+"px sans-serif"}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return parseFloat(o[0].label.font)}},labelFillColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.fillColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.fillColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelOutlineColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.outlineColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},labelOutlineWidth:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.outlineWidth=o}},200),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineWidth;return A?A._value:void 0}}},labelBackgroundColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.backgroundColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.backgroundColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelBackground:{set:Ii.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.showBackground=o},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.background}},labelScale:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.scale;return A?A._value:void 0}}},labelHorizontalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.horizontalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.horizontalOrigin;return A?A._value:void 0}}},labelVerticalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.verticalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.verticalOrigin;return A?A._value:void 0}}},labelHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.heightReference;return A?A._value:void 0}}},labelDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,parseInt(o)),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(f,1,parseInt(o),0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},labelDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(parseInt(o),f),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(parseInt(o),1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.near:0;return A}}},labelHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}},labelShow:{set:Ii.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].label&&o?(A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].label=new this._cesium.LabelGraphics({text:"label",font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})):(A[f].label&&(A[f].label.show=o),A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.show}},modelShow:{set:Ii.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o),!A[f].model&&o?A[f].model=new this._cesium.ModelGraphics({show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE}):(A[f].model&&(A[f].model.show=o),A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.show}},modelUri:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0)for(var f=0;f<A.length;f++)if(A[f].model)A[f].model.uri=o;else{if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].model=new this._cesium.ModelGraphics({uri:o,show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE})}}},500)},modelScale:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){o=parseFloat(o);var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].model.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.scale;return A?A._value:void 0}}},modelShadows:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.shadows=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.shadows}},modelHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.heightReference;return A?A._value:void 0}}},modelDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE}},modelDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.near:0;return A}}},modelColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelLightColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.lightColor=o}},100),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.lightColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}},pointColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointShow:{set:Ii.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].point&&o?(A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].point=new this._cesium.PointGraphics({color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0})):(A[f].point&&(A[f].point.show=o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point)return o[0].point.show}},pointPixelSize:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.pixelSize=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.pixelSize;return A?A._value:void 0}}},pointOutlineColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.outlineColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointOutlineWidth:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.outlineWidth=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineWidth;return A?A._value:void 0}}},pointHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.heightReference;return A?A._value:void 0}}},pointDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},pointDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.near:0;return A}}},pointHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}},billboardShow:{set:Ii.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].billboard&&o?(A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard=new this._cesium.BillboardGraphics({show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})):(A[f].billboard&&(A[f].billboard.show=o),A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.show}},billboardImage:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0)for(var f=0;f<A.length;f++){if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].billboard?A[f].billboard.image=o:A[f].billboard=new this._cesium.BillboardGraphics({image:o,show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})}}},500)},billboardScale:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.scale;return A?A._value:void 0}}},billboardHorizontalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.horizontalOrigin=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.horizontalOrigin}},billboardVerticalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.verticalOrigin=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.verticalOrigin}},billboardWidth:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.width=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.width;return A?A._value:void 0}}},billboardHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.height=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.height;return A?A._value:void 0}}},billboardColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},billboardHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].billboard.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].model){var A=o[0].billboard.heightReference;return A?A._value:void 0}}},billboardDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},billboardDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.near:0;return A}}},billboardPHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}}});var II=wh;function V1i(o,A,f,m){this.UrlTemplateGeojsonProvider=new A.UrlTemplateGeojsonProvider(f,1),this.UrlTemplateGeojsonProvider.loadtitle=m,this.ent=o.imageryLayers.addImageryProvider(this.UrlTemplateGeojsonProvider)}var mne=V1i;function z1i(o,A){var f={width:o,height:A};function m(I){for(var x=Number.MAX_VALUE,y,v,w={xMin:x,yMin:x,xMax:-x,yMax:-x},Q=0,M=I.length;Q<M;Q++){var B=I[Q].getBoundingRect();y={x:B.xMin,y:B.yMin},v={x:B.xMax,y:B.yMax},w.xMin=w.xMin<y.x?w.xMin:y.x,w.yMin=w.yMin<y.y?w.yMin:y.y,w.xMax=w.xMax>v.x?w.xMax:v.x,w.yMax=w.yMax>v.y?w.yMax:v.y}return w}function C(I,x){var y=x.xMax-x.xMin,v=x.yMin-x.yMax,w=Math.abs(I[0]-x.xMin),Q=I[1]-x.yMax,M=w/y,B=Q/v,D=M*f.width,S=B*f.height;return{x:D,y:S}}function E(I,x){var y=x.xMax-x.xMin,v=x.yMin-x.yMax,w=I.x/f.width*y,Q=I.y/f.height*v;return[w,Q]}this.project=C,this.unproject=E,this.getBoundingRect=m}var Ert=z1i;var mt=null;function Ls(o,A){mt=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this.item={show:!0},this._option=void 0,this._primitive=void 0,this._Provider=void 0,this.Legend=[],this.datas=[],this.models=0,this.entity=null,this.primitve=[],this.probj=[],this.PrimitiveData=[],this.loadFinishKey=[],this.loadAllKey=[],this.PrimitiveObj={key:"",data:{}},this.start=0,this.Primitivekey=[],this.tilesLength=0,this.returnCount=0,this._primitiveByTile={},this._primitiveCollection=new this._cesium.PrimitiveCollection,this.img=null,this._defaultStyle=null,this._canvas=null,this._context=null,this._cache=!1,this._forceRefreshPrvimitive=null}function Ene(o){if(Array.isArray(o)){for(var A=0,f=Array(o.length);A<o.length;A++)f[A]=o[A];return f}else return Array.from(o)}function Irt(o,A){var f=[];return o.level>=A?Y1i(o,A,f):xrt(o,A,f),f}function Y1i(o,A,f){for(var m=o,C=0;C<30;C++){if(m.level==A)return f.push({x:m.x,y:m.y,level:m.level}),!0;m=m.parent}return!0}function xrt(o,A,f){if(o.level==A)return f.push({x:o.x,y:o.y,level:o.level}),!0;if(o.level>A)return!1;for(var m=0;m<o.children.length;m++)xrt(o.children[m],A,f);return!0}var J1i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};Ls.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":J1i(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};Ls.prototype.createHistogramVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={radius:50,height:100,scale:1,defaultColor:"#ffffff",showLabel:!0,label:{showBackground:!1,fillColor:"#ffffff",outlineColor:"#000000",backgroundColor:"rgba(0,0,0,0.5)",style:2,horizontalOrigin:mt.HorizontalOrigin.CENTER,verticalOrigin:mt.VerticalOrigin.BOTTOM,outlineWidth:1,font:"20px \u5FAE\u8F6F\u96C5\u9ED1"},alpha:.5,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit};f.label&&(I.label=this._core.extend(I.label,f.label,!0),delete f.label);let y=this._core.extend(I,f,!0);A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");let v;Array.isArray(y.color)&&(v={name:y.color[0].name,value:{">":{},"<":{}}},y.color.forEach(R=>{if(R.value.indexOf&&R.value.indexOf(">")>-1){let T=R.value.split(">");v.value[">"][T[1]]=mt.Color.fromCssColorString(R.color).withAlpha(y.alpha)}else if(R.value.indexOf&&R.value.indexOf("<")>-1){let T=R.value.split("<");v.value["<"][T[1]]=mt.Color.fromCssColorString(R.color).withAlpha(y.alpha)}else v.value[R.value]=mt.Color.fromCssColorString(R.color).withAlpha(y.alpha)}));let w=mt.Color.fromCssColorString(y.defaultColor).withAlpha(y.alpha);var Q=this,M={text:"",...y.label,fillColor:mt.Color.fromCssColorString(y.label.fillColor),outlineColor:mt.Color.fromCssColorString(y.label.outlineColor),backgroundColor:mt.Color.fromCssColorString(y.label.backgroundColor)};this._urlTemplate=A.url+"?"+this._serialize(x.urlParams);var B=A.url+"?"+this._serialize(x.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=0,this._Provider.loadTile=function(R,T){(function(L,F,U){if(F.state===mt.QuadtreeTileLoadState.START){if(F.data={lines:[],geometryPrimitive:void 0},F.level>=f.level_min&&F.level<f.level_max&&U.item.show){var N=B.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{y}"),F.y).replace(window.encodeURIComponent("{z}"),F.level);U._cache&&(N+="&"+U._core.getuid());let H=[],J=[],K=new mt.LabelCollection;mt.GeoJsonDataSource.load(N).then(j=>{let ee=j.entities.values;if(!ee||!ee.length){F.state=mt.QuadtreeTileLoadState.DONE,F.renderable=!0;return}let ie=new mt.PrimitiveCollection;if(ee.forEach(z=>{let oe=z.properties.getValue(),le=y.height;if(oe&&typeof y.height=="string"&&/^\[/.test(y.height)&&/\]$/.test(y.height)){let O=y.height.replace(/\[/,"").replace(/\]/,"");le=oe[O]||100}let Ae=le*y.scale,he;if(oe&&typeof y.color=="string"&&/^\[/.test(y.color)&&/\]$/.test(y.color)){let O=y.color.replace(/\[/,"").replace(/\]/,"");O=oe[O]||y.defaultColor,he=mt.Color.fromCssColorString(O).withAlpha(y.alpha)}else if(v&&oe[v.name]){let O=oe[v.name];if(v.value[O])he=v.value[O];else{for(let re in v.value[">"])if(O>re){he=v.value[">"][re];break}if(!he){for(let re in v.value["<"])if(O<re){he=v.value["<"][re];break}}}}!he&&(he=w.clone());let ge;if(z.polygon){let O=z.polygon.hierarchy.getValue().positions;ge=mt.BoundingSphere.fromPoints(O).center;var de=new mt.PolygonGeometry({polygonHierarchy:new mt.PolygonHierarchy(O),height:0,extrudedHeight:0,vertexFormat:mt.VertexFormat.DEFAULT,perPositionHeight:!1}),fe=new mt.GeometryInstance({id:oe,geometry:de,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(he)}});H.push(fe)}else(z.point||z.billboard)&&(ge=z.position.getValue());let G=new mt.GeometryInstance({geometry:new mt.EllipseGeometry({extrudedHeight:Ae,center:ge,semiMinorAxis:y.radius,semiMajorAxis:y.radius,vertexFormat:mt.VertexFormat.POSITION_AND_ST}),id:oe}),Y=mt.Material.fromType("Color");Y.uniforms.color=he.withAlpha(1);let W=new mt.Primitive({geometryInstances:G,appearance:new mt.EllipsoidSurfaceAppearance({material:Y}),shadows:y.shadows});if(ie.add(W),y.showLabel){let O=U._core.toDegrees(ge);M.text=y.value?y.value(le,oe):le+"",M.position=mt.Cartesian3.fromDegrees(O.lon,O.lat,Ae*1.1),M.useColorConfig&&(M.fillColor=he),K.add(M)}}),H.length){let z=new mt.GroundPrimitive({geometryInstances:H,appearance:new mt.PerInstanceColorAppearance({translucent:y.alpha<1}),classificationType:mt.ClassificationType.BOTH,shadows:y.shadows});ie.add(z)}y.showLabel&&ie.add(K),U.probj.push(ie),F.data.geometryPrimitive=ie,F.state=mt.QuadtreeTileLoadState.LOADING,F.state===mt.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive.update(L,[]),F.state=mt.QuadtreeTileLoadState.DONE,F.renderable=!0)},j=>{F.count==null&&(F.count=0),F.count+=1,F.count>=2?(F.state=mt.QuadtreeTileLoadState.DONE,F.renderable=!0):F.state=mt.QuadtreeTileLoadState.START})}else{F.state=mt.QuadtreeTileLoadState.DONE,F.renderable=!0;return}F.state=mt.QuadtreeTileLoadState.LOADING}})(R,T,Q)},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var D=this._viewer.scene,S=D.primitives;S.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var P={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=P.id,this.setTreeobj(P),this._tree.insertGroupId(P,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createLaycolorVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={type:"2D",height:100,scale:1,defaultColor:"#ffffff",alpha:.5,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit};let y=this._core.extend(I,f,!0);A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");let v;Array.isArray(y.color)&&(v={name:y.color[0].name,value:{">":{},"<":{}}},y.color.forEach(P=>{if(P.value.indexOf&&P.value.indexOf(">")>-1){let R=P.value.split(">");v.value[">"][R[1]]=mt.Color.fromCssColorString(P.color).withAlpha(y.alpha)}else if(P.value.indexOf&&P.value.indexOf("<")>-1){let R=P.value.split("<");v.value["<"][R[1]]=mt.Color.fromCssColorString(P.color).withAlpha(y.alpha)}else v.value[P.value]=mt.Color.fromCssColorString(P.color).withAlpha(y.alpha)}));let w=mt.Color.fromCssColorString(y.defaultColor).withAlpha(y.alpha);var Q=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams);var M=A.url+"?"+this._serialize(x.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=0,this._Provider.loadTile=function(P,R){(function(T,L,F){if(L.state===mt.QuadtreeTileLoadState.START){if(L.data={lines:[],geometryPrimitive:void 0},L.level>=f.level_min&&L.level<f.level_max&&F.item.show){var U=M.replace(window.encodeURIComponent("{x}"),L.x).replace(window.encodeURIComponent("{y}"),L.y).replace(window.encodeURIComponent("{z}"),L.level);F._cache&&(U+="&"+F._core.getuid());let N=[];mt.GeoJsonDataSource.load(U).then(J=>{let K=J.entities.values;if(!K||!K.length){L.state=mt.QuadtreeTileLoadState.DONE,L.renderable=!0;return}K.forEach(j=>{let ee=j.properties.getValue(),ie,z;if(y.type==="3D"){if(ie=y.height,ee&&typeof y.height=="string"&&/^\[/.test(y.height)&&/\]$/.test(y.height)){let he=y.height.replace(/\[/,"").replace(/\]/,"");ie=ee[he]||100}z=ie*y.scale}let oe;if(ee&&typeof y.color=="string"&&/^\[/.test(y.color)&&/\]$/.test(y.color)){let he=y.color.replace(/\[/,"").replace(/\]/,"");he=ee[he]||y.defaultColor,oe=mt.Color.fromCssColorString(he).withAlpha(y.alpha)}else if(v&&ee[v.name]){let he=ee[v.name];if(v.value[he])oe=v.value[he];else{for(let ge in v.value[">"])if(he>ge){oe=v.value[">"][ge];break}if(!oe){for(let ge in v.value["<"])if(he<ge){oe=v.value["<"][ge];break}}}}if(!oe&&(oe=w.clone()),j.polygon){let he=j.polygon.hierarchy.getValue().positions;var le=new mt.PolygonGeometry({polygonHierarchy:new mt.PolygonHierarchy(he),height:0,extrudedHeight:y.type==="3D"?z:0,vertexFormat:mt.VertexFormat.DEFAULT,perPositionHeight:!1}),Ae=new mt.GeometryInstance({id:ee,geometry:le,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(oe)}});N.push(Ae)}});let X;if(N.length){let j=y.type==="3D"?mt.Primitive:mt.GroundPrimitive;X=new j({geometryInstances:N,appearance:new mt.PerInstanceColorAppearance({translucent:y.alpha<1}),classificationType:mt.ClassificationType.BOTH,shadows:y.shadows})}F.probj.push(X),L.data.geometryPrimitive=X,L.state=mt.QuadtreeTileLoadState.LOADING,L.state===mt.QuadtreeTileLoadState.LOADING&&(L.data.geometryPrimitive.update(T,[]),L.state=mt.QuadtreeTileLoadState.DONE,L.renderable=!0)},J=>{L.count==null&&(L.count=0),L.count+=1,L.count>=2?(L.state=mt.QuadtreeTileLoadState.DONE,L.renderable=!0):L.state=mt.QuadtreeTileLoadState.START})}else{L.state=mt.QuadtreeTileLoadState.DONE,L.renderable=!0;return}L.state=mt.QuadtreeTileLoadState.LOADING}})(P,R,Q)},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var B=this._viewer.scene,D=B.primitives;D.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var S={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=S.id,this.setTreeobj(S),this._tree.insertGroupId(S,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createVector3DTilesFeatureLayer=function(o,A,f,m,C,E){var I={color:"#ffffff",level_max:20,level_min:10,tilingScheme:new mt.WebMercatorTilingScheme},x={url:A.url,_x:A._x||0,_y:A._y||0,upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit};let y=this._core.extend(I,f,!0);A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var v=this;this._urlTemplate=A.url;var w=A.url;this._Provider=new is(this._viewer,this._cesium,y.tilingScheme),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=0,this._Provider.loadTile=function(D,S){(function(P,R,T){if(R.state===mt.QuadtreeTileLoadState.START){if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<f.level_max&&T.item.show){var L=w.replace("{x}",R.x-x._x).replace("{y}",R.y-x._y).replace("{z}",R.level);T._cache&&(L+="&"+T._core.getuid());let U=new mt.Cesium3DTileset({url:L,...y}).readyPromise.then(function(N){T.probj.push(N),R.data.geometryPrimitive=N,T._viewer.scene.primitives.add(N),R.state=mt.QuadtreeTileLoadState.LOADING,R.state===mt.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive.update(P,[]),R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0)});U.catch&&U.catch(function(N){R.count==null&&(R.count=0),R.count+=1,R.count>=2?(R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0):R.state=mt.QuadtreeTileLoadState.START}),U.otherwise&&U.otherwise(function(N){R.count==null&&(R.count=0),R.count+=1,R.count>=2?(R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0):R.state=mt.QuadtreeTileLoadState.START})}else{R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}R.state=mt.QuadtreeTileLoadState.LOADING}})(D,S,v)},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"modelLayer",item:this,url:A.url,style:f};return this._Provider.treeID=B.id,this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createVector3DTilesFeatureLayerRelease=function(o,A,f,m,C,E){var I={color:"#ffffff",level_max:20,level_min:10,tilingScheme:new mt.WebMercatorTilingScheme},x={url:A.url,_x:A._x||0,_y:A._y||0,upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit};let y=this._core.extend(I,f,!0);A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var v=this;v.models=0,this._urlTemplate=A.url;var w=A.url;this._Provider=new is(this._viewer,this._cesium,y.tilingScheme),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=0,this._Provider.loadTile=function(D,S){(function(P,R,T){if(R.state===mt.QuadtreeTileLoadState.START){if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<f.level_max&&T.item.show){var L=w.replace("{x}",R.x-x._x).replace("{y}",R.y-x._y).replace("{z}",18);T._cache&&(L+="&"+T._core.getuid());let U=new mt.Cesium3DTileset({url:L,...y}).readyPromise.then(function(N){R.freeResources=function(){R.state=0,R.renderable=!1,R.upsampledFromParent=!1,mt.defined(R.data)&&mt.defined(R.data.freeResources)&&R.data.freeResources(),mt.defined(this.data)&&mt.defined(this.data.geometryPrimitive)&&R._level>=18&&(this.data.geometryPrimitive.destroy(),this.data.geometryPrimitive=void 0),H(R._southwestChild),R._southwestChild=void 0,H(R._southeastChild),R._southeastChild=void 0,H(R._northwestChild),R._northwestChild=void 0,H(R._northeastChild),R._northeastChild=void 0};function H(J){mt.defined(J)&&J.freeResources()}T.probj.push(N),T._viewer.scene.primitives.add(N),R.state=mt.QuadtreeTileLoadState.LOADING,R.state===mt.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive.update(P,[]),R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0)});U.catch&&U.catch(function(N){R.count==null&&(R.count=0),R.count+=1,R.count>=2?(R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0):R.state=mt.QuadtreeTileLoadState.START}),U.otherwise&&U.otherwise(function(N){R.count==null&&(R.count=0),R.count+=1,R.count>=2?(R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0):R.state=mt.QuadtreeTileLoadState.START})}else{R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}R.state=mt.QuadtreeTileLoadState.LOADING}})(D,S,v)},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"modelLayer",item:this,url:A.url,style:f};return this._Provider.treeID=B.id,this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.VectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=this._core.VectorSlice(A,this._cesium),x=new yu(this._viewer,this._cesium,I),y=this;this._Provider=x,x._loadTile=function(w){var Q=new mt.PrimitiveCollection,M=new mt.PointPrimitiveCollection,B=new mt.LabelCollection,D=new mt.BillboardCollection,S=[],P=[],R=-1;return w.features.forEach(function(T){var L=[];if(f.lable!=null&&T.geometry.coordinates[0][0]==null){var F=0;if(f.lable.height!=null&&/^\[/.test(f.lable.height)&&/\]$/.test(f.lable.height)){var U=f.lable.height.replace(/\[/,"").replace(/\]/,"");F=parseFloat(T.properties[U])}var N=y._core.StyleContrast("lable",f.lable,mt);N.fillColor=y._color.VectorColorTransformation(N.fillColor,T),N.outlineColor=y._color.VectorColorTransformation(N.outlineColor,T),N.backgroundColor=y._color.VectorColorTransformation(N.backgroundColor,T),N.text=y._core.Analysis(N.text,T),N.position=new mt.Cartesian3.fromDegrees(T.geometry.coordinates[0],T.geometry.coordinates[1],F),B.add(N)}if(f.billboard!=null&&T.geometry.coordinates[0][0]==null){var F=0,H=f.billboard;if(H.height!=null&&/^\[/.test(H.height)&&/\]$/.test(H.height)){var U=H.height.replace(/\[/,"").replace(/\]/,"");F=parseFloat(T.properties[U])}var J=y._core.StyleContrast("billboard",H,mt);J.position=new mt.Cartesian3.fromDegrees(T.geometry.coordinates[0],T.geometry.coordinates[1],F),D.add(J)}if(f.point!=null&&T.geometry.coordinates[0][0]==null){var F=0,H=f.point;if(H.height!=null&&/^\[/.test(H.height)&&/\]$/.test(H.height)){var U=H.height.replace(/\[/,"").replace(/\]/,"");F=parseFloat(T.properties[U])}var J=y._core.StyleContrast("point",H,mt);J.position=new mt.Cartesian3.fromDegrees(T.geometry.coordinates[0],T.geometry.coordinates[1],F),J.color=y._color.VectorColorTransformation(J.color,T),J.outlineColor=y._color.VectorColorTransformation(J.outlineColor,T),M.add(J)}if(f.polyline!=null){var F=0,H=f.polyline;if(H.height!=null&&/^\[/.test(H.height)&&/\]$/.test(H.height)){var U=H.height.replace(/\[/,"").replace(/\]/,"");F=parseFloat(T.properties[U])}var J=y._core.StyleContrast("polyline",H,mt);if(R=J.classificationType,delete J.classificationType,Array.isArray(T.geometry.coordinates)&&T.geometry.coordinates.length>0)if(Array.isArray(T.geometry.coordinates[0][0]))for(var K=0;K<T.geometry.coordinates.length;K++){L=[],L=y._core.coordinate(L,T.geometry.coordinates[K]),J.positions=mt.Cartesian3.fromDegreesArray(L);var X=y._core.createPolyline(J,R,T,mt);S.push(X)}else{L=y._core.coordinate(L,T.geometry.coordinates),J.positions=mt.Cartesian3.fromDegreesArray(L);var X=y._core.createPolyline(J,R,T,mt);S.push(X)}}if(f.polygon!=null){var F=0,H=f.polygon;if(H.height!=null&&/^\[/.test(H.height)&&/\]$/.test(H.height)){var U=H.height.replace(/\[/,"").replace(/\]/,"");F=parseFloat(T.properties[U])}var J=y._core.StyleContrast("polygon",H,mt);if(J.material=y._color.VectorColorTransformation(J.material,T),R=J.classificationType,delete J.classificationType,Array.isArray(T.geometry.coordinates)&&T.geometry.coordinates.length>0)if(Array.isArray(T.geometry.coordinates[0][0]))for(var K=0;K<T.geometry.coordinates.length;K++){L=[],T.geometry.coordinates[K].pop(),L=y._core.coordinate(L,T.geometry.coordinates[K]),J.polygonHierarchy=new mt.PolygonHierarchy(mt.Cartesian3.fromDegreesArray(L));var X=y._core.createPolygon(J,R,T,mt);P.push(X)}else{L=y._core.coordinate(L,T.geometry.coordinates),J.polygonHierarchy=new mt.PolygonHierarchy(mt.Cartesian3.fromDegreesArray(L));var X=y._core.createPolygon(J,R,T,mt);P.push(X)}}}),Q.add(B),Q.add(D),Q.add(M),S.length>0&&(R!=-1?Q.add(new mt.GroundPolylinePrimitive({geometryInstances:S,classificationType:R,appearance:new mt.PolylineMaterialAppearance})):Q.add(new mt.Primitive({geometryInstances:S,appearance:new mt.PolylineMaterialAppearance}))),P.length>0&&(R!=-1?Q.add(new mt.GroundPrimitive({geometryInstances:P,classificationType:R,appearance:new mt.PerInstanceColorAppearance({translucent:!0,vertexShaderSource:y._core.Shaders("vertexShaderSource"),fragmentShaderSource:y._core.Shaders("fragmentShaderSource")})})):Q.add(new mt.Primitive({geometryInstances:P,appearance:new mt.PerInstanceColorAppearance({translucent:!0,vertexShaderSource:y._core.Shaders("vertexShaderSource"),fragmentShaderSource:y._core.Shaders("fragmentShaderSource")})}))),Q},this.item=x._primitiveCollection,x.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"Vector",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimizationxp=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams);var w=A.url+"?"+this._serialize(x.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){(function(P,R,T){if(R.state===mt.QuadtreeTileLoadState.START){if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<f.level_max&&T.item.show){var L=w.replace(window.encodeURIComponent("{x}"),R.x).replace(window.encodeURIComponent("{y}"),R.y).replace(window.encodeURIComponent("{z}"),R.level);T._cache&&(L+="&"+T._core.getuid()),T._core.xhr({url:L,type:"get",dataType:"json",success:function(F){if(F==null){R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}var U=[],N=[];T.Legend=[];function H(z){for(var oe=0;oe<z.length;oe++)Array.isArray(z[oe])?H(z[oe]):X.push(z[oe])}function J(){if(/^\[/.test(T._option.extrudedHeight)&&/\]$/.test(T._option.extrudedHeight)){var z=T._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(j.properties[z])}if(y.material=T._option.material,/^\[/.test(T._option.material)&&/\]$/.test(T._option.material)){var oe=T._option.material.replace(/\[/,"").replace(/\]/,"");y.material=j.properties[oe],T._core.isHtmlColor(y.material)?y.material=T._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=T._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=T._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha))}else T._option.material&&(y.material=T._option.material),y.material&&(T._core.isHtmlColor(y.material)?y.material=T._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=T._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=T._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha)));if(X.length>=2){var le=mt.Cartesian3.fromDegreesArray(X);y.polygonHierarchy=new mt.PolygonHierarchy(le);var Ae=new mt.PolygonGeometry(y),he=new mt.GeometryInstance({id:j,geometry:Ae,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(y.material)}}),ge="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;T.Legend.push(ge),U.push(he)}}for(var K=0;K<F.features.length;K++){var X=[],j=F.features[K];if(Array.isArray(j.geometry.coordinates)&&j.geometry.coordinates.length>0)if(Array.isArray(j.geometry.coordinates[0][0]))for(var ee=0;ee<j.geometry.coordinates.length;ee++)X=[],j.geometry.coordinates[ee].pop(),H(j.geometry.coordinates[ee]),J(X);else H(j.geometry.coordinates),J(X)}U.length==0&&(R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0);var ie=new mt.Primitive({geometryInstances:U,appearance:new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:T._core.Shaders("vertexShaderSource"),fragmentShaderSource:T._core.Shaders("fragmentShaderSource")}),shadows:T._option.shadows});R.data.geometryPrimitive=ie,R.state=mt.QuadtreeTileLoadState.LOADING,R.state===mt.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive.update(P,[]),R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0)},error:function(){R.count==null&&(R.count=0),R.count+=1,R.count>=2?(R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0):R.state=mt.QuadtreeTileLoadState.START}})}else{R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}R.state=mt.QuadtreeTileLoadState.LOADING}})(D,S,v)},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.VolumeVectorGeoJsonFeatureLayerOptimization1ss=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},w=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){if(this.tile=null,this.tile=S,S.state===this._cesium.QuadtreeTileLoadState.START&&w.item.show){var P="z"+S.level+"x"+S.x+"y"+S.y;if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<f.level_max&&w.item.show){var R=Ii.filter(y,function(H){return H.x==S.x&&H.y==S.y&&H.level==S.level});if(R.length!=0&&R[0].data&&R[0].data.length>0){S.data.geometryPrimitive=new mt.Primitive({geometryInstances:R[0].data,appearance:new mt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:mt.ShadowMode.ENABLED}),S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}if(w.PrimitiveData.length>0){for(var T=0;T<w.PrimitiveData.length;T++)if(w.PrimitiveData[T].key==P){w.Primitivekey.includes(P)||w.Primitivekey.push(P);return}}if(!w.Primitivekey.includes(P)){w.Primitivekey.push(P),y.push({level:S.level,x:S.x,y:S.y,data:void 0});for(var L=w._option.level_min+(w._option.level_max-w._option.level_min)/2,F=Irt(S,L),T=0;T<F.length;T++){var U=F[T],N="z"+U.level+"x"+U.x+"y"+U.y;w.loadAllKey.includes(N)||(w.loadAllKey.push(N),function(J){var K=w._urlTemplate.replace(window.encodeURIComponent("{x}"),J.x).replace(window.encodeURIComponent("{y}"),J.y).replace(window.encodeURIComponent("{z}"),J.level);w.tilesLength++,w._cache&&(K+="&"+w._core.getuid());var X="z"+J.level+"x"+J.x+"y"+J.y;w._core.xhr({url:K,type:"get",dataType:"json",success:function(j){var ee=[],ie=[];w.Legend=[];function z(G){for(var Y=0;Y<G.length;Y++)Array.isArray(G[Y])?z(G[Y]):Ae.push(G[Y])}function oe(){if(/^\[/.test(w._option.extrudedHeight)&&/\]$/.test(w._option.extrudedHeight)){var G=w._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(he.properties[G])}if(v.material=w._option.material,/^\[/.test(w._option.material)&&/\]$/.test(w._option.material)){var Y=w._option.material.replace(/\[/,"").replace(/\]/,"");v.material=he.properties[Y],w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else w._option.material&&(v.material=w._option.material),v.material&&(w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));if(Ae.length>=2){var W=mt.Cartesian3.fromDegreesArray(Ae);v.polygonHierarchy=new mt.PolygonHierarchy(W);var O=new mt.PolygonGeometry(v),re=new mt.GeometryInstance({id:he,geometry:O,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(v.material)}}),se="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;w.Legend.push(se),ee.push(re)}}for(var le=0;le<j.features.length;le++){var Ae=[],he=j.features[le];if(Array.isArray(he.geometry.coordinates)&&he.geometry.coordinates.length>0)if(Array.isArray(he.geometry.coordinates[0][0]))for(var ge=0;ge<he.geometry.coordinates.length;ge++)Ae=[],he.geometry.coordinates[ge].pop(),z(he.geometry.coordinates[ge]),oe(Ae);else z(he.geometry.coordinates),oe(Ae)}if(ee.length>0){var de=new mt.Primitive({geometryInstances:ee,appearance:new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:w._core.Shaders("vertexShaderSource"),fragmentShaderSource:w._core.Shaders("fragmentShaderSource")}),shadows:w._option.shadows}),fe={level:J.level,key:X,data:de};w.probj.push(de),w.loadFinishKey.push(X),w.PrimitiveData.push(fe),w._viewer.scene.primitives.add(de),w.returnCount++}},error:function(){},complete:function(j,ee){}})}(U))}}}else{S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}}},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};Ls.prototype.VolumeVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],v=[],w={id:A.id,polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},Q=this;this._urlTemplate=A.url+"/"+window.encodeURIComponent("{z}")+"/"+window.encodeURIComponent("{x}")+"/"+window.encodeURIComponent("{reverseY}")+".json",this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,P){if(this.tile=null,this.tile=P,P.state===this._cesium.QuadtreeTileLoadState.START&&Q.item.show){var R="z"+P.level+"x"+P.x+"y"+P.y;if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<f.level_max&&Q.item.show){var T=Ii.filter(y,function(F){return F.x==P.x&&F.y==P.y&&F.level==P.level});if(T.length!=0&&T[0].data&&T[0].data.length>0){P.data.geometryPrimitive=new mt.Primitive({geometryInstances:T[0].data,appearance:new mt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:mt.ShadowMode.ENABLED}),P.state=mt.QuadtreeTileLoadState.LOADING,P.state===mt.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive&&(P.state=mt.QuadtreeTileLoadState.DONE),P.renderable=!0);return}if(Q.PrimitiveData.length>0){for(var L=0;L<Q.PrimitiveData.length;L++)if(Q.PrimitiveData[L].key==R){Q.Primitivekey.includes(R)||Q.Primitivekey.push(R);return}}Q.Primitivekey.includes(R)||(Q.Primitivekey.push(R),y.push({level:P.level,x:P.x,y:P.y,data:void 0}),function(F){var U=F.tilingScheme.getNumberOfYTilesAtLevel(F.level)-F.y-1,N=Q._urlTemplate.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{reverseY}"),U).replace(window.encodeURIComponent("{z}"),F.level);Q.tilesLength++;var H="z"+F.level+"x"+F.x+"y"+F.y;Q._cache&&(N+="&"+Q._core.getuid());var J=Ii.filter(v,function(K){return K.url==N});J.length>0||(v.push({url:N}),Q._core.xhr({url:N,type:"get",dataType:"json",success:function(K){var X=[],j=[];Q.Legend=[];function ee(de){for(var fe=0;fe<de.length;fe++)Array.isArray(de[fe])?ee(de[fe]):oe.push(de[fe])}function ie(){if(w.extrudedHeight=parseFloat(Q._option.extrudedHeight),/^\[/.test(Q._option.extrudedHeight)&&/\]$/.test(Q._option.extrudedHeight)){var de=Q._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");w.extrudedHeight=parseFloat(le.properties[de])*3}if(w.material=Q._option.material,/^\[/.test(Q._option.material)&&/\]$/.test(Q._option.material)){var fe=Q._option.material.replace(/\[/,"").replace(/\]/,"");w.material=le.properties[fe],Q._core.isHtmlColor(w.material)?w.material=Q._color.colorFromHtmlColor(w.material):(/^rgb/.test(w.material)&&(w.material=Q._color.rgbaStringToRgbaObj(w.material)),w.material.red>1&&(w.material.red=w.material.red/255),w.material.green>1&&(w.material.green=w.material.green/255),w.material.blue>1&&(w.material.blue=w.material.blue/255),w.material.alpha>1&&(w.material.a=w.material.alpha/255),w.material=Q._color.createColor(w.material.red,w.material.green,w.material.blue,w.material.alpha))}else Q._option.material&&(w.material=Q._option.material),w.material&&(Q._core.isHtmlColor(w.material)?w.material=Q._color.colorFromHtmlColor(w.material):(/^rgb/.test(w.material)&&(w.material=Q._color.rgbaStringToRgbaObj(w.material)),w.material.red>1&&(w.material.red=w.material.red/255),w.material.green>1&&(w.material.green=w.material.green/255),w.material.blue>1&&(w.material.blue=w.material.blue/255),w.material.alpha>1&&(w.material.a=w.material.alpha/255),w.material=Q._color.createColor(w.material.red,w.material.green,w.material.blue,w.material.alpha)));var G=mt.Color.WHITE;if(oe.length>=2){var Y=mt.Cartesian3.fromDegreesArray(oe);w.polygonHierarchy=new mt.PolygonHierarchy(Y);var W=new mt.PolygonGeometry(w),O=new mt.GeometryInstance({id:le,geometry:W,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(G)}}),re="material:"+w.material.red*255+","+w.material.green*255+","+w.material.blue*255;Q.Legend.push(re),X.push(O)}}for(var z=0;z<K.features.length;z++){var oe=[],le=K.features[z];if(Array.isArray(le.geometry.coordinates)&&le.geometry.coordinates.length>0)if(Array.isArray(le.geometry.coordinates[0][0]))for(var Ae=0;Ae<le.geometry.coordinates.length;Ae++)oe=[],le.geometry.coordinates[Ae].pop(),ee(le.geometry.coordinates[Ae]),ie(oe);else ee(le.geometry.coordinates),ie(oe)}var he=new mt.Primitive({geometryInstances:X,appearance:new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:Q._core.Shaders("vertexShaderSource"),fragmentShaderSource:Q._core.Shaders("fragmentShaderSource")}),shadows:Q._option.shadows});Q.probj.push(he);var ge={level:F.level,key:H,data:he};Q.loadFinishKey.push(H),Q.PrimitiveData.push(ge),Q._viewer.scene.primitives.add(he),Q.returnCount++;try{Q.probj.length==2&&(Q._viewer.scene.primitives.remove(Q.probj[0]),Q.probj.pop())}catch{}},error:function(){var K=Q.Primitivekey.indexOf(H);K>-1&&Q.Primitivekey.splice(K,1),y=Ii.remove(y,function(X){return X.x==F.x&&X.y==F.y&&X.level==F.level})},complete:function(K,X){K=null,F.state=mt.QuadtreeTileLoadState.LOADING,F.state===mt.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive&&(F.state=mt.QuadtreeTileLoadState.DONE),F.renderable=!0)}}))}(P))}else{P.state=mt.QuadtreeTileLoadState.LOADING,P.state===mt.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive&&(P.state=mt.QuadtreeTileLoadState.DONE),P.renderable=!0);return}}},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var M=this._viewer.scene,B=M.primitives;B.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(w.id)&&(w.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+w.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var D={id:w.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(D),this._tree.insertGroupId(D,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.PointVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10};this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var x=[],y={id:A.id,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,arcType:this._cesium.ArcType.GEODESIC},v=this;this._urlTemplate=A.url+"/{z}/{x}/{reverseY}.json",this._Provider={},this._Provider1=new mne(this._viewer,this._cesium,{url:this._urlTemplate},function(Q){if(v.Level=v.getLevel(),v.Level<v._option.level_min){if(v.primitve.length>0){for(var M=0;M<v.primitve.length;M++)v._viewer.scene.primitives.remove(v.primitve[M]);v.primitve=[]}if(v.probj.length>0){for(var M=0;M<v.probj.length;M++)v._viewer.scene.primitives.remove(v.probj[M]);v.probj=[]}x=[];return}var B=new mt.PrimitiveCollection,D=new mt.PointPrimitiveCollection,S=new mt.LabelCollection,P=new mt.BillboardCollection,R="z"+Q.templateValues.z+"x"+Q.templateValues.x+"y"+Q.templateValues.reverseY;Q.data={lines:[],geometryPrimitive:void 0};var T=Q.url.replace("png","json"),L=Ii.filter(x,function(F){return F.url==T});L.length>0||v.start!=1&&(x.push({url:T}),v._core.xhr({url:T,type:"get",dataType:"json",success:function(F){if(F.features.length==0)return;v.Legend=[];function U(j){for(var ee=0;ee<j.length;ee++)Array.isArray(j[ee])?U(j[ee]):J.push(j[ee])}function N(){if(f.lable!=null){var j=0;if(f.lable.height!=null&&/^\[/.test(f.lable.height)&&/\]$/.test(f.lable.height)){var ee=f.lable.height.replace(/\[/,"").replace(/\]/,"");j=parseFloat(K.properties[ee])}var ie=v._core.StyleContrast("lable",f.lable,mt);ie.fillColor=v._color.VectorColorTransformation(ie.fillColor,K),ie.outlineColor=v._color.VectorColorTransformation(ie.outlineColor,K),ie.backgroundColor=v._color.VectorColorTransformation(ie.backgroundColor,K),ie.text=v._core.Analysis(ie.text,K),ie.position=new mt.Cartesian3.fromDegrees(J[0],J[1],j),S.add(ie)}if(f.billboard!=null){var j=0,z=f.billboard;if(z.height!=null&&/^\[/.test(z.height)&&/\]$/.test(z.height)){var ee=z.height.replace(/\[/,"").replace(/\]/,"");j=parseFloat(K.properties[ee])}var oe=v._core.StyleContrast("billboard",z,mt);oe.position=new mt.Cartesian3.fromDegrees(J[0],J[1],j),P.add(oe)}if(f.point!=null){var j=0,z=f.point;if(z.height!=null&&/^\[/.test(z.height)&&/\]$/.test(z.height)){var ee=z.height.replace(/\[/,"").replace(/\]/,"");j=parseFloat(K.properties[ee])}var oe=v._core.StyleContrast("point",z,mt);oe.position=new mt.Cartesian3.fromDegrees(J[0],J[1],j),oe.color=v._color.VectorColorTransformation(oe.color,K),oe.outlineColor=v._color.VectorColorTransformation(oe.outlineColor,K),D.add(oe)}}for(var H=0;H<F.features.length;H++){var J=[],K=F.features[H];if(Array.isArray(K.geometry.coordinates)&&K.geometry.coordinates.length>0)if(Array.isArray(K.geometry.coordinates[0][0]))for(var X=0;X<K.geometry.coordinates.length;X++)J=[],K.geometry.coordinates[X].pop(),U(K.geometry.coordinates[X]),N(J);else U(K.geometry.coordinates),N(J)}S.length>0&&B.add(S),P.length>0&&B.add(P),D.length>0&&B.add(D),v.primitve.push(B),v.probj.push(B),v._viewer.scene.primitives.add(B),v.returnCount++;try{v.probj.length==2&&(v._viewer.scene.primitives.remove(v.probj[0]),v.probj.pop())}catch{}}}))}),this.img=this._Provider1.ent,C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.PolylineVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10};this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var x=[],y={id:A.id,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,arcType:this._cesium.ArcType.GEODESIC},v=this;this._urlTemplate=A.url+"/{z}/{x}/{reverseY}.json",this._Provider={},this._Provider1=new mne(this._viewer,this._cesium,{url:this._urlTemplate},function(Q){if(v.Level=v.getLevel(),v.Level<v._option.level_min){if(v.primitve.length>0){for(var M=0;M<v.primitve.length;M++)v._viewer.scene.primitives.remove(v.primitve[M]);v.primitve=[]}if(v.probj.length>0){for(var M=0;M<v.probj.length;M++)v._viewer.scene.primitives.remove(v.probj[M]);v.probj=[]}x=[];return}var B=-1,D="z"+Q.templateValues.z+"x"+Q.templateValues.x+"y"+Q.templateValues.reverseY;Q.data={lines:[],geometryPrimitive:void 0};var S=Q.url.replace("png","json"),P=Ii.filter(x,function(R){return R.url==S});P.length>0||v.start!=1&&(x.push({url:S}),v._core.xhr({url:S,type:"get",dataType:"json",success:function(R){if(R.features.length==0)return;var T=[];v.Legend=[];function L(X){for(var j=0;j<X.length;j++)Array.isArray(X[j])?L(X[j]):N.push(X[j])}function F(){var X=0,j=f;if(j.height!=null&&/^\[/.test(j.height)&&/\]$/.test(j.height)){var ee=j.height.replace(/\[/,"").replace(/\]/,"");X=parseFloat(H.properties[ee])}var ie=v._core.StyleContrast("polyline",j,mt);if(B=ie.classificationType,delete ie.classificationType,ie.material=v._option.material,/^\[/.test(v._option.material)&&/\]$/.test(v._option.material)){var z=v._option.material.replace(/\[/,"").replace(/\]/,"");ie.material=H.properties[z],v._core.isHtmlColor(ie.material)?ie.material=v._color.colorFromHtmlColor(ie.material):(/^rgb/.test(ie.material)&&(ie.material=v._color.rgbaStringToRgbaObj(ie.material)),ie.material.red>1&&(ie.material.red=ie.material.red/255),ie.material.green>1&&(ie.material.green=ie.material.green/255),ie.material.blue>1&&(ie.material.blue=ie.material.blue/255),ie.material.alpha>1&&(ie.material.a=ie.material.alpha/255),ie.material=v._color.createColor(ie.material.red,ie.material.green,ie.material.blue,ie.material.alpha))}else v._option.material&&(ie.material=v._option.material),ie.material&&(v._core.isHtmlColor(ie.material)?ie.material=v._color.colorFromHtmlColor(ie.material):(/^rgb/.test(ie.material)&&(ie.material=v._color.rgbaStringToRgbaObj(ie.material)),ie.material.red>1&&(ie.material.red=ie.material.red/255),ie.material.green>1&&(ie.material.green=ie.material.green/255),ie.material.blue>1&&(ie.material.blue=ie.material.blue/255),ie.material.alpha>1&&(ie.material.a=ie.material.alpha/255),ie.material=v._color.createColor(ie.material.red,ie.material.green,ie.material.blue,ie.material.alpha)));if(N.length>=2){ie.positions=mt.Cartesian3.fromDegreesArray(N);var oe=new mt.GeometryInstance({id:H,geometry:new mt.PolylineGeometry(ie),attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(ie.material)}}),le="material:"+ie.material.red*255+","+ie.material.green*255+","+ie.material.blue*255;v.Legend.push(le),T.push(oe)}}for(var U=0;U<R.features.length;U++){var N=[],H=R.features[U];if(Array.isArray(H.geometry.coordinates)&&H.geometry.coordinates.length>0)if(Array.isArray(H.geometry.coordinates[0][0]))for(var J=0;J<H.geometry.coordinates.length;J++)N=[],H.geometry.coordinates[J].pop(),L(H.geometry.coordinates[J]),F(N);else L(H.geometry.coordinates),F(N)}var K=new mt.Primitive({geometryInstances:T,appearance:new mt.PolylineColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:v._option.shadows,classificationType:B});v.probj.push(K),v.primitve.push(K),v._viewer.scene.primitives.add(K),v.returnCount++;try{v.probj.length==2&&(v._viewer.scene.primitives.remove(v.probj[0]),v.probj.pop())}catch{}}}))}),this.img=this._Provider1.ent,C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.VolumeVectorGeoJsonFeatureLayerGisOptimization=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],v=[],w={id:A.id,polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},Q=this;this._urlTemplate=A.url+"/{z}/{x}/{reverseY}.json",this._Provider={},this._Provider1=new mne(this._viewer,this._cesium,{url:this._urlTemplate},function(B){if(Q.Level=Q.getLevel(),Q.Level<Q._option.level_min){if(Q.primitve.length>0){for(var D=0;D<Q.primitve.length;D++)Q._viewer.scene.primitives.remove(Q.primitve[D]);Q.primitve=[]}if(Q.probj.length>0){for(var D=0;D<Q.probj.length;D++)Q._viewer.scene.primitives.remove(Q.probj[D]);Q.probj=[]}y=[];return}var S="z"+B.templateValues.z+"x"+B.templateValues.x+"y"+B.templateValues.reverseY;B.data={lines:[],geometryPrimitive:void 0};var P=B.url.replace("png","json"),R=Ii.filter(y,function(T){return T.url==P});R.length>0||Q.start!=1&&(y.push({url:P}),Q._core.xhr({url:P,type:"get",dataType:"json",success:function(T){if(T.features.length==0)return;var L=[],F=[];Q.Legend=[];function U(ee){for(var ie=0;ie<ee.length;ie++)Array.isArray(ee[ie])?U(ee[ie]):J.push(ee[ie])}function N(){if(w.extrudedHeight=Q._option.extrudedHeight,/^\[/.test(Q._option.extrudedHeight)&&/\]$/.test(Q._option.extrudedHeight)){var ee=Q._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");w.extrudedHeight=parseFloat(K.properties[ee])*3}if(w.material=Q._option.material,/^\[/.test(Q._option.material)&&/\]$/.test(Q._option.material)){var ie=Q._option.material.replace(/\[/,"").replace(/\]/,"");w.material=K.properties[ie],Q._core.isHtmlColor(w.material)?w.material=Q._color.colorFromHtmlColor(w.material):(/^rgb/.test(w.material)&&(w.material=Q._color.rgbaStringToRgbaObj(w.material)),w.material.red>1&&(w.material.red=w.material.red/255),w.material.green>1&&(w.material.green=w.material.green/255),w.material.blue>1&&(w.material.blue=w.material.blue/255),w.material.alpha>1&&(w.material.a=w.material.alpha/255),w.material=Q._color.createColor(w.material.red,w.material.green,w.material.blue,w.material.alpha))}else Q._option.material&&(w.material=Q._option.material),w.material&&(Q._core.isHtmlColor(w.material)?w.material=Q._color.colorFromHtmlColor(w.material):(/^rgb/.test(w.material)&&(w.material=Q._color.rgbaStringToRgbaObj(w.material)),w.material.red>1&&(w.material.red=w.material.red/255),w.material.green>1&&(w.material.green=w.material.green/255),w.material.blue>1&&(w.material.blue=w.material.blue/255),w.material.alpha>1&&(w.material.a=w.material.alpha/255),w.material=Q._color.createColor(w.material.red,w.material.green,w.material.blue,w.material.alpha)));if(J.length>=2){var z=mt.Cartesian3.fromDegreesArray(J);w.polygonHierarchy=new mt.PolygonHierarchy(z);var oe=new mt.PolygonGeometry(w),le=new mt.GeometryInstance({id:K,geometry:oe,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(w.material)}}),Ae="material:"+w.material.red*255+","+w.material.green*255+","+w.material.blue*255;L.push(le)}}for(var H=0;H<T.features.length;H++){var J=[],K=T.features[H];if(Array.isArray(K.geometry.coordinates)&&K.geometry.coordinates.length>0)if(Array.isArray(K.geometry.coordinates[0][0]))for(var X=0;X<K.geometry.coordinates.length;X++)J=[],K.geometry.coordinates[X].pop(),U(K.geometry.coordinates[X]),N(J);else U(K.geometry.coordinates),N(J)}var j=new mt.Primitive({geometryInstances:L,appearance:new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:Q._core.Shaders("vertexShaderSource"),fragmentShaderSource:Q._core.Shaders("fragmentShaderSource")}),shadows:Q._option.shadows});Q.primitve.push(j),Q.probj.push(j),Q._viewer.scene.primitives.add(j),Q.returnCount++;try{Q.probj.length==2&&(Q._viewer.scene.primitives.remove(Q.probj[0]),Q.probj.pop())}catch{}}}))}),this.img=this._Provider1.ent,C||this.setVisibility(!1),this._core.isnull(w.id)&&(w.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+w.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var M={id:w.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(M),this._tree.insertGroupId(M,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.VolumeVectorGeoJsonFeatureLayerClassOptimization=function(o,A,f,m,C,E){var I={polygonHierarchy:void 0,height:0,extrudedHeight:999999,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,shadows:this._cesium.ShadowMode.ENABLED,show:!0},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(I,f,!0);A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var v=[],w=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){if(this.tile=null,this.tile=S,S.state===this._cesium.QuadtreeTileLoadState.START&&w.item.show){var P="z"+S.level+"x"+S.x+"y"+S.y;if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<f.level_max&&w.item.show){var R=Ii.filter(v,function(L){return L.x==S.x&&L.y==S.y&&L.level==S.level});if(R.length!=0&&R[0].data&&R[0].data.length>0){S.data.geometryPrimitive=new mt.Primitive({geometryInstances:R[0].data,appearance:new mt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:mt.ShadowMode.ENABLED}),S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}if(w.PrimitiveData.length>0){for(var T=0;T<w.PrimitiveData.length;T++)if(w.PrimitiveData[T].key==P){w.Primitivekey.push(P);return}}w.Primitivekey.includes(P)||(w.Primitivekey.push(P),v.push({level:S.level,x:S.x,y:S.y,data:void 0}),function(L){var F=w._urlTemplate.replace(window.encodeURIComponent("{x}"),L.x).replace(window.encodeURIComponent("{y}"),L.y).replace(window.encodeURIComponent("{z}"),L.level);w.tilesLength++,w._cache&&(F+="&"+w._core.getuid()),w._core.xhr({url:F,type:"get",dataType:"json",success:function(U){var N=[],H=[];w.Legend=[];function J(Ae){for(var he=0;he<Ae.length;he++)Array.isArray(Ae[he])?J(Ae[he]):(j.push(Ae[he]),he===2&&!ee&&(ee=!0))}function K(){var Ae=ee?mt.Cartesian3.fromDegreesArrayHeights(j):mt.Cartesian3.fromDegreesArray(j);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var he=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(ie.properties[he])}if(y.extrudedHeight=parseFloat(y.extrudedHeight),y.heightReference==1&&delete y.height,y.extrudedHeightReference==1&&delete y.extrudedHeight,/^\[/.test(f.material)&&/\]$/.test(f.material)){var ge=f.material.replace(/\[/,"").replace(/\]/,"");y.material=ie.properties[ge],w._core.isHtmlColor(y.material)?y.material=w._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=w._color.rgbaStringToRgbaObj(y.material)),y.material.r>1&&(y.material.r=y.material.r/255),y.material.g>1&&(y.material.g=y.material.g/255),y.material.b>1&&(y.material.b=y.material.b/255),y.material.a>1&&(y.material.a=y.material.a/255),y.material=w._color.createColor(y.material.r,y.material.g,y.material.b,y.material.a))}y.polygonHierarchy=new mt.PolygonHierarchy(Ae);var de=new mt.PolygonGeometry(y);ie.treeID=y.id,ie.VectorType="polygon",ie.VectorStyle={haveZ:ee,extrudedHeight:y.extrudedHeight,positions:j,material:y.material};var fe=new mt.GeometryInstance({id:ie,geometry:de,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(y.material)}}),G="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;w.Legend.push(G),N.push(fe)}for(var X=0;X<U.features.length;X++){var j=[],ee=!1,ie=U.features[X];if(Array.isArray(ie.geometry.coordinates)&&ie.geometry.coordinates.length>0)if(Array.isArray(ie.geometry.coordinates[0][0]))for(var z=0;z<ie.geometry.coordinates.length;z++)j=[],ie.geometry.coordinates[z].pop(),J(ie.geometry.coordinates[z]),K(j);else J(ie.geometry.coordinates),K(j)}var oe=new mt.ClassificationPrimitive({geometryInstances:N,appearance:new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:w._core.Shaders("vertexShaderSource"),fragmentShaderSource:w._core.Shaders("fragmentShaderSource")}),classificationType:y.classificationType,shadows:mt.ShadowMode.ENABLED});w.PrimitiveObj.data=oe,w.PrimitiveObj.key=w.Primitivekey[w.returnCount];var le={level:L.level,key:w.Primitivekey[w.returnCount],data:oe};w.loadFinishKey.push(w.Primitivekey[w.returnCount]),w.PrimitiveData.push(le),w._viewer.scene.primitives.add(oe),w.returnCount++,w.returnCount>=w.tilesLength&&(w.returnCount=0,w.tilesLength=0,w.Primitivekey=[])},error:function(){v=Ii.remove(v,function(U){return U.x==L.x&&U.y==L.y&&U.level==L.level})},complete:function(U,N){U=null,L.state=mt.QuadtreeTileLoadState.LOADING,L.state===mt.QuadtreeTileLoadState.LOADING&&(L.data.geometryPrimitive&&(L.state=mt.QuadtreeTileLoadState.DONE),L.renderable=!0)}})}(S))}else{S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}}},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;f&&f.time&&(this._Provider._availability=new mt.TimeIntervalCollection([new mt.TimeInterval({start:f.time.start?mt.JulianDate.fromDate(new Date(f.time.start)):mt.Iso8601.MINIMUM_VALUE,stop:f.time.end?mt.JulianDate.fromDate(new Date(f.time.end)):mt.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(D){if(!mt.defined(D))throw new mt.DeveloperError("time is required.");var S=this._availability;return!mt.defined(S)||S.contains(D)}),M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=y.id,this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createVolumeVectorGeoJsonFeatureLayerDthOptimization2=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams);var w=A.url+"?"+this._serialize(x.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){(function(P,R,T){if(R.state===mt.QuadtreeTileLoadState.START){if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<f.level_max&&T.item.show){var L=w.replace(window.encodeURIComponent("{x}"),R.x).replace(window.encodeURIComponent("{y}"),R.y).replace(window.encodeURIComponent("{z}"),R.level);T._cache&&(L+="&"+T._core.getuid()),T._core.xhr({url:L,type:"get",dataType:"json",success:function(F){if(F==null){R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}var U=new mt.PrimitiveCollection;T.Legend=[];function N(ie){for(var z=0;z<ie.length;z++)Array.isArray(ie[z])?N(ie[z]):K.push(ie[z])}function H(){if(T._option.extrudedHeight&&(y.extrudedHeight=T._option.extrudedHeight),/^\[/.test(T._option.extrudedHeight)&&/\]$/.test(T._option.extrudedHeight)){var ie=T._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(X.properties[ie])}if(y.material=T._option.material,/^\[/.test(T._option.material)&&/\]$/.test(T._option.material)){var z=T._option.material.replace(/\[/,"").replace(/\]/,"");y.material=X.properties[z],T._core.isHtmlColor(y.material)?y.material=T._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=T._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=T._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha))}else T._option.material&&(y.material=T._option.material),y.material&&(T._core.isHtmlColor(y.material)?y.material=T._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=T._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=T._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha)));if(K.length>=2){var oe=mt.Cartesian3.fromDegreesArray(K);y.polygonHierarchy=new mt.PolygonHierarchy(oe);var le=new mt.PolygonGeometry(y),Ae=new mt.GeometryInstance({id:X,geometry:le,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(y.material)}}),he=new mt.ClassificationPrimitive({geometryInstances:Ae,appearance:new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:T._core.Shaders("vertexShaderSource"),fragmentShaderSource:T._core.Shaders("fragmentShaderSource")}),classificationType:T._option.classificationType}),ge="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;T.Legend.push(ge),U.add(he)}}for(var J=0;J<F.features.length;J++){var K=[],X=F.features[J];if(Array.isArray(X.geometry.coordinates)&&X.geometry.coordinates.length>0)if(Array.isArray(X.geometry.coordinates[0][0]))for(var j=0;j<X.geometry.coordinates.length;j++)K=[],X.geometry.coordinates[j].pop(),N(X.geometry.coordinates[j]),H(K);else N(X.geometry.coordinates),H(K)}var ee=U;R.data.geometryPrimitive=ee,R.state=mt.QuadtreeTileLoadState.LOADING,R.state===mt.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive.update(P,[]),R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0)},error:function(){R.count==null&&(R.count=0),R.count+=1,R.count>=2?(R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0):R.state=mt.QuadtreeTileLoadState.START}})}else{R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}R.state=mt.QuadtreeTileLoadState.LOADING}})(D,S,v)},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createVolumeVectorGeoJsonFeatureLayerDthOptimization3=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams);var w=A.url+"?"+this._serialize(x.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){(function(P,R,T){if(R.state===mt.QuadtreeTileLoadState.START){if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<f.level_max&&T.item.show){var L=w.replace(window.encodeURIComponent("{x}"),R.x).replace(window.encodeURIComponent("{y}"),R.y).replace(window.encodeURIComponent("{z}"),R.level);T._cache&&(L+="&"+T._core.getuid()),T._core.xhr({url:L,type:"get",dataType:"json",success:function(F){if(F==null){R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}var U=new mt.PrimitiveCollection;T.Legend=[];var N=[];function H(z){for(var oe=0;oe<z.length;oe++)Array.isArray(z[oe])?H(z[oe]):X.push(z[oe])}function J(){if(T._option.extrudedHeight&&(y.extrudedHeight=T._option.extrudedHeight),/^\[/.test(T._option.extrudedHeight)&&/\]$/.test(T._option.extrudedHeight)){var z=T._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(j.properties[z])}if(y.material=T._option.material,/^\[/.test(T._option.material)&&/\]$/.test(T._option.material)){var oe=T._option.material.replace(/\[/,"").replace(/\]/,"");y.material=j.properties[oe],T._core.isHtmlColor(y.material)?y.material=T._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=T._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=T._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha))}else T._option.material&&(y.material=T._option.material),y.material&&(T._core.isHtmlColor(y.material)?y.material=T._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=T._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=T._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha)));if(X.length>=2){var le=mt.Cartesian3.fromDegreesArray(X);y.polygonHierarchy=new mt.PolygonHierarchy(le);var Ae=new mt.PolygonGeometry(y),he=new mt.GeometryInstance({id:j,geometry:Ae,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(y.material)}});N.push(he)}}for(var K=0;K<F.features.length;K++){var X=[],j=F.features[K];if(Array.isArray(j.geometry.coordinates)&&j.geometry.coordinates.length>0)if(Array.isArray(j.geometry.coordinates[0][0]))for(var ee=0;ee<j.geometry.coordinates.length;ee++)X=[],j.geometry.coordinates[ee].pop(),H(j.geometry.coordinates[ee]),J(X);else H(j.geometry.coordinates),J(X)}var ie=new mt.ClassificationPrimitive1({geometryInstances:N,appearance:new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:T._core.Shaders("vertexShaderSource"),fragmentShaderSource:T._core.Shaders("fragmentShaderSource")}),classificationType:T._option.classificationType});R.data.geometryPrimitive=ie,R.state=mt.QuadtreeTileLoadState.LOADING,R.state===mt.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive.update(P,[]),R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0)},error:function(){R.count==null&&(R.count=0),R.count+=1,R.count>=2?(R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0):R.state=mt.QuadtreeTileLoadState.START}})}else{R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}R.state=mt.QuadtreeTileLoadState.LOADING}})(D,S,v)},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createVolumeVectorGeoJsonFeatureLayerDthOptimization=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},w=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){if(this.tile=null,this.tile=S,S.state===this._cesium.QuadtreeTileLoadState.START&&w.item.show){var P="z"+S.level+"x"+S.x+"y"+S.y;if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<f.level_max&&w.item.show){var R=Ii.filter(y,function(L){return L.x==S.x&&L.y==S.y&&L.level==S.level});if(R.length!=0&&R[0].data&&R[0].data.length>0){S.data.geometryPrimitive=new mt.Primitive({geometryInstances:R[0].data,appearance:new mt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:mt.ShadowMode.ENABLED}),S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}if(w.PrimitiveData.length>0){for(var T=0;T<w.PrimitiveData.length;T++)if(w.PrimitiveData[T].key==P){w.Primitivekey.includes(P)||w.Primitivekey.push(P);return}}w.Primitivekey.includes(P)||(w.Primitivekey.push(P),y.push({level:S.level,x:S.x,y:S.y,data:void 0}),function(L){var F=w._urlTemplate.replace(window.encodeURIComponent("{x}"),L.x).replace(window.encodeURIComponent("{y}"),L.y).replace(window.encodeURIComponent("{z}"),L.level);w.tilesLength++;var U="z"+L.level+"x"+L.x+"y"+L.y;w._cache&&(F+="&"+w._core.getuid()),w._core.xhr({url:F,type:"get",dataType:"json",success:function(N){var H=[],J=[],K=new mt.PrimitiveCollection;w.Legend=[];function X(he){for(var ge=0;ge<he.length;ge++)Array.isArray(he[ge])?X(he[ge]):ie.push(he[ge])}function j(){if(w._option.extrudedHeight&&(v.extrudedHeight=w._option.extrudedHeight),/^\[/.test(w._option.extrudedHeight)&&/\]$/.test(w._option.extrudedHeight)){var he=w._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(z.properties[he])}if(v.material=w._option.material,/^\[/.test(w._option.material)&&/\]$/.test(w._option.material)){var ge=w._option.material.replace(/\[/,"").replace(/\]/,"");v.material=z.properties[ge],w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else w._option.material&&(v.material=w._option.material),v.material&&(w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));if(ie.length>=2){var de=mt.Cartesian3.fromDegreesArray(ie);v.polygonHierarchy=new mt.PolygonHierarchy(de);var fe=new mt.PolygonGeometry(v),G=new mt.GeometryInstance({id:z,geometry:fe,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(v.material)}}),Y=new mt.ClassificationPrimitive({geometryInstances:G,appearance:new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:w._core.Shaders("vertexShaderSource"),fragmentShaderSource:w._core.Shaders("fragmentShaderSource")}),classificationType:w._option.classificationType}),W="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;w.Legend.push(W),K.add(Y)}}for(var ee=0;ee<N.features.length;ee++){var ie=[],z=N.features[ee];if(Array.isArray(z.geometry.coordinates)&&z.geometry.coordinates.length>0)if(Array.isArray(z.geometry.coordinates[0][0]))for(var oe=0;oe<z.geometry.coordinates.length;oe++)ie=[],z.geometry.coordinates[oe].pop(),X(z.geometry.coordinates[oe]),j(ie);else X(z.geometry.coordinates),j(ie)}var le=K;w.probj.push(le);var Ae={level:L.level,key:U,data:le};w.loadFinishKey.push(U),w.PrimitiveData.push(Ae),w._viewer.scene.primitives.add(le),w.returnCount++,w.removeObsoletePrimitives(L)},error:function(){var N=w.Primitivekey.indexOf(U);N>-1&&w.Primitivekey.splice(N,1),y=Ii.remove(y,function(H){return H.x==L.x&&H.y==L.y&&H.level==L.level})},complete:function(N,H){N=null,L.state=mt.QuadtreeTileLoadState.LOADING,L.state===mt.QuadtreeTileLoadState.LOADING&&(L.data.geometryPrimitive&&(L.state=mt.QuadtreeTileLoadState.DONE),L.renderable=!0)}})}(S))}else{S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}}},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimization1=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},w=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){if(this.tile=null,this.tile=S,S.state===this._cesium.QuadtreeTileLoadState.START&&w.item.show){var P="z"+S.level+"x"+S.x+"y"+S.y;if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<f.level_max&&w.item.show){var R=Ii.filter(y,function(H){return H.x==S.x&&H.y==S.y&&H.level==S.level});if(R.length!=0&&R[0].data&&R[0].data.length>0){S.data.geometryPrimitive=new mt.Primitive({geometryInstances:R[0].data,appearance:new mt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:mt.ShadowMode.ENABLED}),S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}if(w.PrimitiveData.length>0){for(var T=0;T<w.PrimitiveData.length;T++)if(w.PrimitiveData[T].key==P){w.Primitivekey.includes(P)||w.Primitivekey.push(P);return}}if(!w.Primitivekey.includes(P)){w.Primitivekey.push(P),y.push({level:S.level,x:S.x,y:S.y,data:void 0});for(var L=w._option.level_min+Math.floor((w._option.level_max-w._option.level_min)/2),F=Irt(S,L),T=0;T<F.length;T++){var U=F[T],N="z"+U.level+"x"+U.x+"y"+U.y;w.loadAllKey.includes(N)||(w.loadAllKey.push(N),function(J){var K=w._urlTemplate.replace(window.encodeURIComponent("{x}"),J.x).replace(window.encodeURIComponent("{y}"),J.y).replace(window.encodeURIComponent("{z}"),J.level);w.tilesLength++;var X="z"+J.level+"x"+J.x+"y"+J.y;w._cache&&(K+="&"+w._core.getuid()),w._core.xhr({url:K,type:"get",dataType:"json",success:function(j){var ee=[],ie=[];w.Legend=[];function z(G){for(var Y=0;Y<G.length;Y++)Array.isArray(G[Y])?z(G[Y]):Ae.push(G[Y])}function oe(){if(w._option.extrudedHeight&&(v.extrudedHeight=w._option.extrudedHeight),/^\[/.test(w._option.extrudedHeight)&&/\]$/.test(w._option.extrudedHeight)){var G=w._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(he.properties[G])}if(v.material=w._option.material,/^\[/.test(w._option.material)&&/\]$/.test(w._option.material)){var Y=w._option.material.replace(/\[/,"").replace(/\]/,"");v.material=he.properties[Y],w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else w._option.material&&(v.material=w._option.material),v.material&&(w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));if(Ae.length>=2){var W=mt.Cartesian3.fromDegreesArray(Ae);v.polygonHierarchy=new mt.PolygonHierarchy(W);var O=new mt.PolygonGeometry(v),re=new mt.GeometryInstance({id:he,geometry:O,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(v.material)}}),se="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;w.Legend.push(se),ee.push(re)}}for(var le=0;le<j.features.length;le++){var Ae=[],he=j.features[le];if(Array.isArray(he.geometry.coordinates)&&he.geometry.coordinates.length>0)if(Array.isArray(he.geometry.coordinates[0][0]))for(var ge=0;ge<he.geometry.coordinates.length;ge++)Ae=[],he.geometry.coordinates[ge].pop(),z(he.geometry.coordinates[ge]),oe(Ae);else z(he.geometry.coordinates),oe(Ae)}if(ee.length>0){var de=new mt.GroundPrimitive({geometryInstances:ee,appearance:new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:w._core.Shaders("vertexShaderSource"),fragmentShaderSource:w._core.Shaders("fragmentShaderSource")}),classificationType:w._option.classificationType,show:w.item.show});w.probj.push(de);var fe={level:J.level,key:X,data:de};w.loadFinishKey.push(X),w.PrimitiveData.push(fe),w._viewer.scene.primitives.add(de),w.returnCount++}},error:function(){},complete:function(j,ee){}})}(U))}}}else{S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}}},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimization2=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams);var w=A.url+"?"+this._serialize(x.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){(function(P,R,T){if(R.state===mt.QuadtreeTileLoadState.START){if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<f.level_max&&T.item.show){var L=w.replace(window.encodeURIComponent("{x}"),R.x).replace(window.encodeURIComponent("{y}"),R.y).replace(window.encodeURIComponent("{z}"),R.level);T._cache&&(L+="&"+T._core.getuid()),T._core.xhr({url:L,type:"get",dataType:"json",success:function(F){if(F==null){R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}var U=[],N=[];T.Legend=[];function H(z){for(var oe=0;oe<z.length;oe++)Array.isArray(z[oe])?H(z[oe]):X.push(z[oe])}function J(){if(T._option.extrudedHeight&&(y.extrudedHeight=T._option.extrudedHeight),/^\[/.test(T._option.extrudedHeight)&&/\]$/.test(T._option.extrudedHeight)){var z=T._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(j.properties[z])}if(y.material=T._option.material,/^\[/.test(T._option.material)&&/\]$/.test(T._option.material)){var oe=T._option.material.replace(/\[/,"").replace(/\]/,"");y.material=j.properties[oe],T._core.isHtmlColor(y.material)?y.material=T._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=T._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=T._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha))}else T._option.material&&(y.material=T._option.material),y.material&&(T._core.isHtmlColor(y.material)?y.material=T._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=T._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=T._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha)));if(X.length>=2){var le=mt.Cartesian3.fromDegreesArray(X);y.polygonHierarchy=new mt.PolygonHierarchy(le);var Ae=new mt.PolygonGeometry(y),he=new mt.GeometryInstance({id:j,geometry:Ae,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(y.material)}}),ge="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;T.Legend.push(ge),U.push(he)}}for(var K=0;K<F.features.length;K++){var X=[],j=F.features[K];if(Array.isArray(j.geometry.coordinates)&&j.geometry.coordinates.length>0)if(Array.isArray(j.geometry.coordinates[0][0]))for(var ee=0;ee<j.geometry.coordinates.length;ee++)X=[],j.geometry.coordinates[ee].pop(),H(j.geometry.coordinates[ee]),J(X);else H(j.geometry.coordinates),J(X)}U.length==0&&(R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0);var ie=new mt.GroundPrimitive1({geometryInstances:U,appearance:new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:T._core.Shaders("vertexShaderSource"),fragmentShaderSource:T._core.Shaders("fragmentShaderSource")}),classificationType:T._option.classificationType});R.data.geometryPrimitive=ie,R.state=mt.QuadtreeTileLoadState.LOADING,R.state===mt.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive.update1(P,[]),R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0)},error:function(){R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0}})}else{R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}R.state=mt.QuadtreeTileLoadState.LOADING}})(D,S,v)},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimization3=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams);var w=A.url+"?"+this._serialize(x.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){(function(P,R,T){if(R.state===mt.QuadtreeTileLoadState.START){if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<f.level_max&&T.item.show){var L=w.replace(window.encodeURIComponent("{x}"),R.x).replace(window.encodeURIComponent("{y}"),R.y).replace(window.encodeURIComponent("{z}"),R.level);T._cache&&(L+="&"+T._core.getuid()),T._core.xhr({url:L,type:"get",dataType:"json",success:function(F){var U=["#ffff00","#ffcc00","#ff3300","#ccff00","#cccc00","#99ff66","#999933","#66cc99","#6633ff","#33ffff","#3399cc","#009933","#ccccff","#ff99ff","#9966ff","#336699"];if(F==null){R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}var N=[],H=[];T.Legend=[];function J(oe){for(var le=0;le<oe.length;le++)Array.isArray(oe[le])?J(oe[le]):j.push(oe[le])}function K(){if(T._option.extrudedHeight&&(y.extrudedHeight=T._option.extrudedHeight),/^\[/.test(T._option.extrudedHeight)&&/\]$/.test(T._option.extrudedHeight)){var oe=T._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(ee.properties[oe])}if(y.material=T._option.material,/^\[/.test(T._option.material)&&/\]$/.test(T._option.material)){var le=T._option.material.replace(/\[/,"").replace(/\]/,"");y.material=ee.properties[le],T._core.isHtmlColor(y.material)?y.material=T._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=T._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=T._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha))}else T._option.material&&(y.material=T._option.material),y.material&&(T._core.isHtmlColor(y.material)?y.material=T._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=T._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=T._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha)));if(j.length>=2){var Ae=mt.Cartesian3.fromDegreesArray(j);y.polygonHierarchy=new mt.PolygonHierarchy(Ae),(y.extrudedHeight==0||y.extrudedHeight=="0"||y.extrudedHeight==null||y.extrudedHeight==null)&&(y.extrudedHeight=1e4);var he=new mt.PolygonGeometry(y),ge=U[Math.floor(Math.random()*U.length)],de=new mt.GeometryInstance({id:ee,geometry:he,attributes:{color:mt.ColorGeometryInstanceAttribute.fromColor(mt.Color.fromCssColorString(ge).withAlpha(.5))}}),fe="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;T.Legend.push(fe),N.push(de)}}for(var X=0;X<F.features.length;X++){var j=[],ee=F.features[X];if(Array.isArray(ee.geometry.coordinates)&&ee.geometry.coordinates.length>0)if(Array.isArray(ee.geometry.coordinates[0][0]))for(var ie=0;ie<ee.geometry.coordinates.length;ie++)j=[],ee.geometry.coordinates[ie].pop(),J(ee.geometry.coordinates[ie]),K(j);else J(ee.geometry.coordinates),K(j)}N.length==0&&(R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0);var z=new mt.ClassificationPrimitive1({geometryInstances:N,classificationType:mt.ClassificationType.BOTH});R.data.geometryPrimitive=z,R.state=mt.QuadtreeTileLoadState.LOADING,R.state===mt.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive.update(P,[]),R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0)},error:function(){R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0}})}else{R.state=mt.QuadtreeTileLoadState.DONE,R.renderable=!0;return}R.state=mt.QuadtreeTileLoadState.LOADING}})(D,S,v)},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createPointGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},x=this;!x._core.isnull(f)&&!x._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(x._core.isHtmlColor(f.color)?f.color=x._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=x._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=x._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!x._core.isnull(f)&&!x._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(x._core.isHtmlColor(f.outlineColor)?f.outlineColor=x._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=x._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=x._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var x=this;this._urlTemplate=A.url+"?"+this._serialize(I.urlParams);var y=A.url+"?"+this._serialize(I.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1;var v={Name:"",text:"",font:" 30px sans-serif",pixelSize:10,style:mt.LabelStyle.OUTLINE,fillColor:mt.Color.WHITE,outlineColor:mt.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new mt.Color(.165,.165,.165,.8),backgroundPadding:new mt.Cartesian2(7,5),scale:1,horizontalOrigin:mt.HorizontalOrigin.CENTER,verticalOrigin:mt.VerticalOrigin.CENTER,eyeOffset:mt.Cartesian3.ZERO,pixelOffset:mt.Cartesian2.ZERO,heightReference:mt.HeightReference.NONE,scaleByDistance:new mt.NearFarScalar(0,0,1,1)};!x._core.isnull(f)&&!x._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(x._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=x._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=x._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=x._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var w=x._core.extend(v,f,!0);x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var Q=parseFloat(f.near),M=parseFloat(f.far),B=new mt.DistanceDisplayCondition(Q,M);w.distanceDisplayCondition=B,x._core.isnull(f.font_size)&&(f.font_size="30px"),x._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),w.font=parseFloat(f.font_size)+"px "+f.font_family;var D=f.material;this._Provider.loadTile=function(T,L){(function(F,U,N){if(U.state===mt.QuadtreeTileLoadState.START){if(U.data={lines:[],geometryPrimitive:void 0},U.level>=f.level_min&&U.level<f.level_max&&N.item.show){var H=y.replace(window.encodeURIComponent("{x}"),U.x).replace(window.encodeURIComponent("{y}"),U.y).replace(window.encodeURIComponent("{z}"),U.level);N._cache&&(H+="&"+N._core.getuid()),N._core.xhr({url:H,type:"get",dataType:"json",success:function(J){if(J==null){U.state=mt.QuadtreeTileLoadState.DONE,U.renderable=!0;return}var K=new mt.PointPrimitiveCollection;J.features.forEach(function(X){w.id=X;var j=0;if(/^\[/.test(w.pointHeight)&&/\]$/.test(w.pointHeight)){var ee=w.pointHeight.replace(/\[/,"").replace(/\]/,"");j=parseFloat(X.properties[ee])}else w.pointHeight!==void 0&&w.pointHeight!==""?j=parseFloat(w.pointHeight):X.properties.height!=null&&(j=parseFloat(X.properties.height));if(/^\[/.test(f.color)&&/\]$/.test(f.color)){var ie=f.color.replace(/\[/,"").replace(/\]/,"");w.color=X.properties[ie],N._core.isHtmlColor(w.color)?w.color=N._color.colorFromHtmlColor(w.color):(/^rgb/.test(w.color)&&(w.color=N._color.rgbaStringToRgbaObj(w.color)),w.color.r>1&&(w.color.r=w.color.r/255),w.color.g>1&&(w.color.g=w.color.g/255),w.color.b>1&&(w.color.b=w.color.b/255),w.color.a>1&&(w.color.a=w.color.a/255),w.color=N._color.createColor(w.color.r,w.color.g,w.color.b,w.color.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var ie=f.outlineColor.replace(/\[/,"").replace(/\]/,"");w.outlineColor=X.properties[ie],N._core.isHtmlColor(w.outlineColor)?w.outlineColor=N._color.colorFromHtmlColor(w.outlineColor):(/^rgb/.test(w.outlineColor)&&(w.outlineColor=N._color.rgbaStringToRgbaObj(w.outlineColor)),w.outlineColor.r>1&&(w.outlineColor.r=w.outlineColor.r/255),w.outlineColor.g>1&&(w.outlineColor.g=w.outlineColor.g/255),w.outlineColor.b>1&&(w.outlineColor.b=w.outlineColor.b/255),w.outlineColor.a>1&&(w.outlineColor.a=w.outlineColor.a/255),w.outlineColor=N._color.createColor(w.outlineColor.r,w.outlineColor.g,w.outlineColor.b,w.outlineColor.a))}w.position=new mt.Cartesian3.fromDegrees(X.geometry.coordinates[0],X.geometry.coordinates[1],j),w.text=X.properties.name;var z={show:w.show,position:w.position,pixelSize:w.pixelSize,color:w.color,outlineColor:w.outlineColor,outlineWidth:w.outlineWidth,id:X};if(w.color&&w.color.red){var oe="color:"+w.color.red*255+","+w.color.green*255+","+w.color.blue*255+";outlineColor:"+w.outlineColor.red*255+","+w.outlineColor.green*255+","+w.outlineColor.blue*255;N.Legend.push(oe)}z.id.treeID=f.id,z.id.VectorType="point",z.id.VectorStyle={show:z.show,pointHeight:j,position:z.position,pixelSize:z.pixelSize,color:z.color,outlineColor:z.outlineColor,outlineWidth:z.outlineWidth},K.add(z)}),U.data.geometryPrimitive=K,U.state=mt.QuadtreeTileLoadState.LOADING,U.state===mt.QuadtreeTileLoadState.LOADING&&(U.data.geometryPrimitive.update(F,[]),U.state=mt.QuadtreeTileLoadState.DONE,U.renderable=!0)},error:function(){U.count==null&&(U.count=0),U.count+=1,U.count>=2?(U.state=mt.QuadtreeTileLoadState.DONE,U.renderable=!0):U.state=mt.QuadtreeTileLoadState.START}})}else{U.state=mt.QuadtreeTileLoadState.DONE,U.renderable=!0;return}U.state=mt.QuadtreeTileLoadState.LOADING}})(T,L,x)},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var S=this._viewer.scene,P=S.primitives;f&&f.time&&(this._Provider._availability=new mt.TimeIntervalCollection([new mt.TimeInterval({start:f.time.start?mt.JulianDate.fromDate(new Date(f.time.start)):mt.Iso8601.MINIMUM_VALUE,stop:f.time.end?mt.JulianDate.fromDate(new Date(f.time.end)):mt.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(T){if(!mt.defined(T))throw new mt.DeveloperError("time is required.");var L=this._availability;return!mt.defined(L)||L.contains(T)}),P.add(this._primitive),C?(this.item.show=!0,this.setVisibility(!0)):this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var R={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=f.id,this.setTreeobj(R),this._tree.insertGroupId(R,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.VolumeVectorGeoJsonFeatureLayerOptimization=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend({...I},f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y={id:this._option.id,polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;let w=A.url.indexOf("/gisserver/")>-1;var Q;w?Q=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:Q=A.url+"?"+this._serialize(x.urlParams),this._urlTemplate=Q,this._Provider=new is(this._viewer,this._cesium,w?new mt.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max-1,this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(R,T){(function(L,F,U){if(F.state===mt.QuadtreeTileLoadState.START){if(F.data={lines:[],geometryPrimitive:void 0},F.level>=f.level_min&&F.level<f.level_max&&U.item.show){if(w&&(F.reverseY=U._Provider.tilingScheme.getNumberOfYTilesAtLevel(F.level)-F.y-1),U.TileMatrixLimits){let H=U.TileMatrixLimits[F.level];if(!H||H&&(F.x>H.maxCol||F.x<H.minCol||F.y>H.maxRow||F.y<H.minRow)){F.state=mt.QuadtreeTileLoadState.DONE,F.renderable=!0;return}}var N=Q.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{y}"),F.reverseY||F.y).replace(window.encodeURIComponent("{z}"),F.level);U._cache&&(N+="&"+U._core.getuid()),U._core.xhr({url:N,type:"get",dataType:"json",success:function(H){if(H==null){F.state=mt.QuadtreeTileLoadState.DONE,F.renderable=!0;return}var J=[],K=[];U.Legend=[];function X(ge){for(var de=0;de<ge.length;de++)Array.isArray(ge[de])?X(ge[de]):(ie.push(ge[de]),de===2&&!z&&(z=!0))}function j(){if(/^\[/.test(U._option.extrudedHeight)&&/\]$/.test(U._option.extrudedHeight)){let W=U._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(oe.properties[W])}else U._option.extrudedHeight&&(y.extrudedHeight=parseFloat(U._option.extrudedHeight));if(/^\[/.test(U._option.height)&&/\]$/.test(U._option.height)){let W=U._option.height.replace(/\[/,"").replace(/\]/,"");y.height=parseFloat(oe.properties[W])}else U._option.height&&(y.height=parseFloat(U._option.height));if(y.material=U._option.material,/^\[/.test(U._option.material)&&/\]$/.test(U._option.material)){var ge=U._option.material.replace(/\[/,"").replace(/\]/,"");y.material=oe.properties[ge],U._core.isHtmlColor(y.material)?y.material=U._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=U._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=U._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha))}else U._option.material&&(y.material=U._option.material),y.material&&(U._core.isHtmlColor(y.material)?y.material=U._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=U._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=U._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha)));if(f.preLoad&&f.preLoad(y,oe),ie.length>=2){var de=z?mt.Cartesian3.fromDegreesArrayHeights(ie):mt.Cartesian3.fromDegreesArray(ie);y.polygonHierarchy=new mt.PolygonHierarchy(de);var fe=new mt.PolygonGeometry(y);oe.treeID=y.id,oe.VectorType="polygon",oe.VectorStyle={haveZ:z,extrudedHeight:y.extrudedHeight,positions:ie,material:y.material};var G=new mt.GeometryInstance({id:oe,geometry:fe,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(y.material),distanceDisplayCondition:new mt.DistanceDisplayConditionGeometryInstanceAttribute(U._option.near,U._option.far)}}),Y="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;U.Legend.push(Y),J.push(G)}}for(var ee=0;ee<H.features.length;ee++){var ie=[],z=!1,oe=H.features[ee];if(Array.isArray(oe.geometry.coordinates)&&oe.geometry.coordinates.length>0)if(Array.isArray(oe.geometry.coordinates[0][0]))for(var le=0;le<oe.geometry.coordinates.length;le++)ie=[],oe.geometry.coordinates[le].pop(),X(oe.geometry.coordinates[le]),j(ie);else X(oe.geometry.coordinates),j(ie)}J.length==0&&(F.state=mt.QuadtreeTileLoadState.DONE,F.renderable=!0);var Ae,he;y.material.alpha<1?he=new mt.PerInstanceColorAppearance({translucent:!0}):he=new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:U._core.Shaders("vertexShaderSource"),fragmentShaderSource:U._core.Shaders("fragmentShaderSource")}),U._option.clampToGround?Ae=new mt.GroundPrimitive({geometryInstances:J,appearance:he,classificationType:U._option.classificationType}):Ae=new mt.Primitive({geometryInstances:J,appearance:he,shadows:U._option.shadows}),F.data.geometryPrimitive=Ae,F.state=mt.QuadtreeTileLoadState.LOADING,F.state===mt.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive.update(L,[]),F.state=mt.QuadtreeTileLoadState.DONE,F.renderable=!0)},error:function(){F.state=mt.QuadtreeTileLoadState.DONE,F.renderable=!0}})}else{F.state=mt.QuadtreeTileLoadState.DONE,F.renderable=!0;return}F.state=mt.QuadtreeTileLoadState.LOADING}})(R,T,v)},typeof E=="function"&&E(this.item)};let M,B;this.saveDefaultVectorData=()=>{B=v._core.extend({},f,!0)},this.restoreVector=()=>{B&&(f=B,v._option=v._core.extend({...I},f,!0),v._Provider._normalTile=f.level_max-1,v._primitive&&v._primitive._tilesToRender&&v._primitive._tilesToRender.length&&(v._primitive._tilesToRender.forEach(R=>{R.data.geomeitryPrimitive&&R.data.geomeitryPrimitive.destroy(),R.state=mt.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights.forEach(R=>{R.data.geomeitryPrimitive&&R.data.geomeitryPrimitive.destroy(),R.state=mt.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights=[],v._primitive._tilesToRender=[])),B=void 0},this.updataVector=(R={})=>{(R.material||R.outlineColor)&&(R.material&&(R.material=mt.Color.fromCssColorString(R.material)),R.outlineColor&&(R.outlineColor=mt.Color.fromCssColorString(R.outlineColor))),(R.minimumLevel!==void 0||R.maximumLevel!==void 0)&&(R.minimumLevel!==void 0&&(R.level_min=R.minimumLevel),R.maximumLevel!==void 0&&(R.level_max=R.maximumLevel)),f=v._core.extend(f,R,!0),v._option=v._core.extend(v._option,f,!0),v._Provider._normalTile=f.level_max-1,v._primitive&&v._primitive._tilesToRender&&v._primitive._tilesToRender.length&&(clearTimeout(M),M=setTimeout(()=>{v._primitive._tilesToRender.forEach(T=>{T.data.geomeitryPrimitive&&T.data.geomeitryPrimitive.destroy(),T.state=mt.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights.forEach(T=>{T.data.geomeitryPrimitive&&T.data.geomeitryPrimitive.destroy(),T.state=mt.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights=[],v._primitive._tilesToRender=[]},100))},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var D=this._viewer.scene,S=D.primitives;f&&f.time&&(this._Provider._availability=new mt.TimeIntervalCollection([new mt.TimeInterval({start:f.time.start?mt.JulianDate.fromDate(new Date(f.time.start)):mt.Iso8601.MINIMUM_VALUE,stop:f.time.end?mt.JulianDate.fromDate(new Date(f.time.end)):mt.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(R){if(!mt.defined(R))throw new mt.DeveloperError("time is required.");var T=this._availability;return!mt.defined(T)||T.contains(R)}),S.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4490",gisserverTMS:w},R=>{v.item.boundingSphere=R.boundingSphere,v.TileMatrixLimits=R.TileMatrixLimits,v.initThisProvider()}),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var P={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=P.id,this.setTreeobj(P),this._tree.insertGroupId(P,this._core.isnull(m)?0:m),this};Ls.prototype.createModelGeoJsonFeatureLayerProvider0825=function(o,A,f,m,C,E){var I=this,x={url:"",color:mt.Color.DARKSALMON,scale:2},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!I._core.isnull(f)&&!I._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(I._core.isHtmlColor(f.color)?f.color=I._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=I._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=I._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var v=I._core.extend(x,f,!0);I._core.isnull(f.near)&&(f.near=0),I._core.isnull(f.far)&&(f.far=999999999);var w=parseFloat(f.near),Q=parseFloat(f.far),M=new mt.DistanceDisplayCondition(w,Q);v.distanceDisplayCondition=M;var B=f.material;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams);var D=A.url+"?"+this._serialize(y.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(v.height)||0,this._Provider.loadTile=function(T,L){if(L.state===mt.QuadtreeTileLoadState.START){if(L.data={lines:[],geometryPrimitive:void 0},L.level>=f.level_min&&L.level<f.level_max&&I.item.show){var F=D.replace(window.encodeURIComponent("{x}"),L.x).replace(window.encodeURIComponent("{y}"),L.y).replace(window.encodeURIComponent("{z}"),L.level);I._cache&&(F+="&"+I._core.getuid()),I._core.xhr({url:F,type:"get",dataType:"json",success:function(U){if(U==null){L.state=mt.QuadtreeTileLoadState.DONE,L.renderable=!0;return}var N=new mt.PrimitiveCollection({isModel:!0});U.features.forEach(function(H){v.id=H;var J=H.geometry.coordinates[2]||0;if(H.properties.height!=null&&(J=parseFloat(H.properties.height)),/^\[/.test(v.height)&&/\]$/.test(v.height)){var K=v.height.replace(/\[/,"").replace(/\]/,"");J+=parseFloat(H.properties[K])}else J+=parseFloat(v.height)||0;v.modelMatrix=mt.Transforms.eastNorthUpToFixedFrame(mt.Cartesian3.fromDegrees(H.geometry.coordinates[0],H.geometry.coordinates[1],J));var X=mt.Model.fromGltf({id:H,url:v.uri,color:v.color,modelMatrix:v.modelMatrix,scale:v.scale,heightReference:parseInt(v.heightReference),distanceDisplayCondition:v.distanceDisplayCondition});N.add(X)}),U.features.length==0&&(L.state=mt.QuadtreeTileLoadState.DONE,L.renderable=!0),L.data.geometryPrimitive=N,L.state=mt.QuadtreeTileLoadState.LOADING,L.state===mt.QuadtreeTileLoadState.LOADING&&(L.data.geometryPrimitive.update(T,[]),L.state=mt.QuadtreeTileLoadState.DONE,L.renderable=!0)},error:function(){L.count==null&&(L.count=0),L.count+=1,L.count>=2?(L.state=mt.QuadtreeTileLoadState.DONE,L.renderable=!0):L.state=mt.QuadtreeTileLoadState.START}})}else{L.state=mt.QuadtreeTileLoadState.DONE,L.renderable=!0;return}L.state=mt.QuadtreeTileLoadState.LOADING}},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var S=this._viewer.scene,P=S.primitives;P.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var R={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(R),this._tree.insertGroupId(R,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createModelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=this,x={url:"",color:mt.Color.DARKSALMON,scale:2},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!I._core.isnull(f)&&!I._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(I._core.isHtmlColor(f.color)?f.color=I._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=I._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=I._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var v=I._core.extend(x,f,!0);I._core.isnull(f.near)&&(f.near=0),I._core.isnull(f.far)&&(f.far=999999999);var w=parseFloat(f.near),Q=parseFloat(f.far),M=new mt.DistanceDisplayCondition(w,Q);v.distanceDisplayCondition=M;var B=f.material;let D=A.url.indexOf("/gisserver/")>-1;var S;D?S=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:S=A.url+"?"+this._serialize(y.urlParams),this._urlTemplate=S,this._Provider=new is(this._viewer,this._cesium,D?new mt.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(v.height)||0,this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(U,N){if(N.state===mt.QuadtreeTileLoadState.START){if(N.data={lines:[],geometryPrimitive:void 0},N.level>=f.level_min&&N.level<f.level_max&&I.item.show){if(D&&(N.reverseY=I._Provider.tilingScheme.getNumberOfYTilesAtLevel(N.level)-N.y-1),I.TileMatrixLimits){let J=I.TileMatrixLimits[N.level];if(!J||J&&(N.x>J.maxCol||N.x<J.minCol||N.y>J.maxRow||N.y<J.minRow)){N.state=mt.QuadtreeTileLoadState.DONE,N.renderable=!0;return}}var H=S.replace(window.encodeURIComponent("{x}"),N.x).replace(window.encodeURIComponent("{y}"),N.reverseY||N.y).replace(window.encodeURIComponent("{z}"),N.level);I._cache&&(H+="&"+I._core.getuid()),I._core.xhr({url:H,type:"get",dataType:"json",success:function(J){if(J==null){N.state=mt.QuadtreeTileLoadState.DONE,N.renderable=!0;return}let K=[],X;mt.ModelInstanceCollection||(X=new mt.PrimitiveCollection),J.features.forEach(function(j){v.id=j;var ee=j.geometry.coordinates[2]||0;if(j.properties.height!=null&&(ee=parseFloat(j.properties.height)),/^\[/.test(v.height)&&/\]$/.test(v.height)){var ie=v.height.replace(/\[/,"").replace(/\]/,"");ee+=parseFloat(j.properties[ie])}else ee+=parseFloat(v.height)||0;let z=mt.Transforms.eastNorthUpToFixedFrame(mt.Cartesian3.fromDegrees(j.geometry.coordinates[0],j.geometry.coordinates[1],ee)),oe=v.heading||0,le=v.pitch||0,Ae=v.roll||0;/^\[/.test(oe)&&/\]$/.test(oe)&&(oe=oe.replace(/\[/,"").replace(/\]/,""),oe=parseFloat(j.properties[oe])),/^\[/.test(le)&&/\]$/.test(le)&&(le=le.replace(/\[/,"").replace(/\]/,""),le=parseFloat(j.properties[le])),/^\[/.test(Ae)&&/\]$/.test(Ae)&&(Ae=Ae.replace(/\[/,"").replace(/\]/,""),Ae=parseFloat(j.properties[Ae]));let he=new mt.HeadingPitchRoll(mt.Math.toRadians(oe),mt.Math.toRadians(le),mt.Math.toRadians(Ae)),ge=mt.Matrix3.fromHeadingPitchRoll(he);mt.Matrix4.multiplyByMatrix3(z,ge,z),mt.Matrix4.multiplyByUniformScale(z,v.scale,z),X?X.add(mt.Model.fromGltf({id:j,url:v.uri,modelMatrix:z,color:v.color})):K.push({modelMatrix:z,modelId:j})}),X||(X=new mt.ModelInstanceCollection({url:v.uri,instances:K,color:v.color})),J.features.length==0&&(N.state=mt.QuadtreeTileLoadState.DONE,N.renderable=!0),N.data.geometryPrimitive=X,N.state=mt.QuadtreeTileLoadState.LOADING,N.state===mt.QuadtreeTileLoadState.LOADING&&(N.data.geometryPrimitive.update(U,[]),N.state=mt.QuadtreeTileLoadState.DONE,N.renderable=!0)},error:function(){N.count==null&&(N.count=0),N.count+=1,N.count>=2?(N.state=mt.QuadtreeTileLoadState.DONE,N.renderable=!0):N.state=mt.QuadtreeTileLoadState.START}})}else{N.state=mt.QuadtreeTileLoadState.DONE,N.renderable=!0;return}N.state=mt.QuadtreeTileLoadState.LOADING}},typeof E=="function"&&E(this.item)};let P,R;this.saveDefaultVectorData=()=>{R=I._core.extend({},f,!0)},this.restoreVector=()=>{R&&(f=R,v=I._core.extend({...x},f,!0),I._Provider._normalTile=f.level_max-1,I._primitive&&I._primitive._tilesToRender&&I._primitive._tilesToRender.length&&(I._primitive._tilesToRender.forEach(U=>{U.data.geomeitryPrimitive&&U.data.geomeitryPrimitive.destroy(),U.state=mt.QuadtreeTileLoadState.START}),I._primitive._tileToUpdateHeights.forEach(U=>{U.data.geomeitryPrimitive&&U.data.geomeitryPrimitive.destroy(),U.state=mt.QuadtreeTileLoadState.START}),I._primitive._tileToUpdateHeights=[],I._primitive._tilesToRender=[])),R=void 0},this.updataVector=(U={})=>{(U.color||U.material)&&(U.color=mt.Color.fromCssColorString(U.color||U.material)),(U.minimumLevel!==void 0||U.maximumLevel!==void 0)&&(U.minimumLevel!==void 0&&(U.level_min=U.minimumLevel),U.maximumLevel!==void 0&&(U.level_max=U.maximumLevel)),f=I._core.extend(f,U,!0),v=I._core.extend(v,f,!0),I._Provider._normalTile=f.level_max-1,I._primitive&&I._primitive._tilesToRender&&I._primitive._tilesToRender.length&&(clearTimeout(P),P=setTimeout(()=>{I._primitive._tilesToRender.forEach(N=>{N.data.geomeitryPrimitive&&N.data.geomeitryPrimitive.destroy(),N.state=mt.QuadtreeTileLoadState.START}),I._primitive._tileToUpdateHeights.forEach(N=>{N.data.geomeitryPrimitive&&N.data.geomeitryPrimitive.destroy(),N.state=mt.QuadtreeTileLoadState.START}),I._primitive._tileToUpdateHeights=[],I._primitive._tilesToRender=[]},100))},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var T=this._viewer.scene,L=T.primitives;f&&f.time&&(this._Provider._availability=new mt.TimeIntervalCollection([new mt.TimeInterval({start:f.time.start?mt.JulianDate.fromDate(new Date(f.time.start)):mt.Iso8601.MINIMUM_VALUE,stop:f.time.end?mt.JulianDate.fromDate(new Date(f.time.end)):mt.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(U){if(!mt.defined(U))throw new mt.DeveloperError("time is required.");var N=this._availability;return!mt.defined(N)||N.contains(U)}),L.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4490",gisserverTMS:D},U=>{I.item.boundingSphere=U.boundingSphere,I.TileMatrixLimits=U.TileMatrixLimits,I.initThisProvider()}),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var F={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(F),this._tree.insertGroupId(F,this._core.isnull(m)?0:m),this};Ls.prototype.VolumeVectorGeoJsonFeatureLayerOptimization1=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},w=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,w._defaultStyle={outlineColor:mt.Color.fromCssColorString("rgba(209,204,226,0)"),lineWidth:0,outline:!0,fill:!0,fillColor:mt.Color.fromCssColorString("rgba(220,20,60,1)"),fillShow:"nod",tileCacheSize:200,showMaker:!1,showCenterLabel:!0,fontColor:mt.Color.fromCssColorString("rgba(255,0,0,1)"),labelOffsetX:-10,labelOffsetY:-5,fontSize:13,fontFamily:"\u9ED1\u4F53",pointColor:mt.Color.fromCssColorString("rgba(255,0,0,0)"),centerLabelPropertyName:"NAME"},w._option.fill.indexOf("[")!=-1?w._defaultStyle.fillShow=w._option.fill:w._defaultStyle.fillColor=mt.Color.fromCssColorString(w._option.fill),this._Provider.loadTile=function(D,S){if(this.tile=null,this.tile=S,S.state===this._cesium.QuadtreeTileLoadState.START&&w.item.show){var P="z"+S.level+"x"+S.x+"y"+S.y;if(S.data={lines:[],geometryPrimitive:void 0},S.level>f.level_max+2&&w.probj.length>0)for(var R=0;R<w.probj.length;F++){w._viewer.entities.remove(w.probj[R]);var T=w.probj.indexOf(w.probj[R]);w.probj.splice(T,1)}if(S.level>=f.level_min&&S.level<f.level_max&&w.item.show){var L=Ii.filter(y,function(U){return U.x==S.x&&U.y==S.y&&U.level==S.level});if(L.length!=0&&L[0].data&&L[0].data.length>0){S.data.geometryPrimitive=new mt.Primitive({geometryInstances:L[0].data,appearance:new mt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:mt.ShadowMode.ENABLED}),S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}if(w.PrimitiveData.length>0){for(var F=0;F<w.PrimitiveData.length;F++)if(w.PrimitiveData[F].key==P){w.Primitivekey.includes(P)||w.Primitivekey.push(P);return}}w.Primitivekey.includes(P)||(w.Primitivekey.push(P),y.push({level:S.level,x:S.x,y:S.y,data:void 0}),function(U){var N=w._urlTemplate.replace(window.encodeURIComponent("{x}"),U.x).replace(window.encodeURIComponent("{y}"),U.y).replace(window.encodeURIComponent("{z}"),U.level);w.tilesLength++;var H="z"+U.level+"x"+U.x+"y"+U.y;w._cache&&(N+="&"+w._core.getuid());var J={xMin:mt.Math.toDegrees(U._rectangle.west),yMin:mt.Math.toDegrees(U._rectangle.south),xMax:mt.Math.toDegrees(U._rectangle.east),yMax:mt.Math.toDegrees(U._rectangle.north)};w._core.xhr({url:N,type:"get",dataType:"json",success:function(K){var X=K;w._tileWidth=256,w._tileHeight=256,w.x=U._x,w.y=U._y,w.level=U._level,w._createCanvas(),w._drawGeojson(w._context,0,0,K,J,w._tileWidth,w._tileHeight,w._fill,w._outline,w.x,w.y,w.level);var j=w._viewer.entities.add({ids:X,name:"Rotating rectangle with rotating texture coordinate",rectangle:{coordinates:U.rectangle,material:new mt.ImageMaterialProperty({image:w._canvas,transparent:!0}),zIndex:U.level,classificationType:mt.ClassificationType.BOTH}});w.probj.push(j);var ee={level:U.level,key:H,data:j};w.loadFinishKey.push(H),w.PrimitiveData.push(ee),w.returnCount++,w.removeObsoleteEntitiesxp(U.rectangle)},error:function(){U.state=mt.QuadtreeTileLoadState.DONE,U.renderable=!0}})}(S))}else{S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}}},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.VolumeVectorGeoJsonFeatureLayerOptimizationtest=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},w=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,w._defaultStyle={outlineColor:mt.Color.fromCssColorString("rgba(209,204,226,0)"),lineWidth:0,outline:!0,fill:!0,fillColor:mt.Color.fromCssColorString("rgba(220,20,60,1)"),fillShow:"nod",tileCacheSize:200,showMaker:!1,showCenterLabel:!0,fontColor:mt.Color.fromCssColorString("rgba(255,0,0,1)"),labelOffsetX:-10,labelOffsetY:-5,fontSize:13,fontFamily:"\u9ED1\u4F53",pointColor:mt.Color.fromCssColorString("rgba(255,0,0,0)"),centerLabelPropertyName:"NAME"},w._option.fill.indexOf("[")!=-1?w._defaultStyle.fillShow=w._option.fill:w._defaultStyle.fillColor=mt.Color.fromCssColorString(w._option.fill),this._Provider.loadTile=function(D,S){if(this.tile=null,this.tile=S,S.state===this._cesium.QuadtreeTileLoadState.START&&w.item.show){var P="z"+S.level+"x"+S.x+"y"+S.y;if(S.data={lines:[],geometryPrimitive:void 0},S.level>f.level_max+2&&w.probj.length>0)for(var R=0;R<w.probj.length;F++){w._viewer.entities.remove(w.probj[R]);var T=w.probj.indexOf(w.probj[R]);w.probj.splice(T,1)}if(S.level>=f.level_min&&S.level<f.level_max&&w.item.show){var L=Ii.filter(y,function(U){return U.x==S.x&&U.y==S.y&&U.level==S.level});if(L.length!=0&&L[0].data&&L[0].data.length>0){S.data.geometryPrimitive=new mt.Primitive({geometryInstances:L[0].data,appearance:new mt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:mt.ShadowMode.ENABLED}),S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}if(w.PrimitiveData.length>0){for(var F=0;F<w.PrimitiveData.length;F++)if(w.PrimitiveData[F].key==P){w.Primitivekey.includes(P)||w.Primitivekey.push(P);return}}w.Primitivekey.includes(P)||(w.Primitivekey.push(P),y.push({level:S.level,x:S.x,y:S.y,data:void 0}),function(U){var N=w._urlTemplate.replace(window.encodeURIComponent("{x}"),U.x).replace(window.encodeURIComponent("{y}"),U.y).replace(window.encodeURIComponent("{z}"),U.level);w.tilesLength++;var H="z"+U.level+"x"+U.x+"y"+U.y;w._cache&&(N+="&"+w._core.getuid());var J={xMin:mt.Math.toDegrees(U._rectangle.west),yMin:mt.Math.toDegrees(U._rectangle.south),xMax:mt.Math.toDegrees(U._rectangle.east),yMax:mt.Math.toDegrees(U._rectangle.north)};w._core.xhr({url:N,type:"get",dataType:"json",success:function(K){var X=K;w._tileWidth=256,w._tileHeight=256,w.x=U._x,w.y=U._y,w.level=U._level;var j=w._viewer.entities.add({ids:X,name:"Rotating rectangle with rotating texture coordinate",rectangle:{coordinates:U.rectangle,material:new mt.ImageMaterialProperty({image:K,transparent:!0}),zIndex:U.level,classificationType:mt.ClassificationType.BOTH}});w.probj.push(j);var ee={level:U.level,key:H,data:j};w.loadFinishKey.push(H),w.PrimitiveData.push(ee),w.returnCount++,w.removeObsoleteEntitiesxp(U.rectangle)},error:function(){U.state=mt.QuadtreeTileLoadState.DONE,U.renderable=!0}})}(S))}else{S.state=mt.QuadtreeTileLoadState.LOADING,S.state===mt.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=mt.QuadtreeTileLoadState.DONE),S.renderable=!0);return}}},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.VolumeVectorGeoJsonFeatureLayerOptimizationGroundtest=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y={id:this._option.id,polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;let w=A.url.indexOf("/gisserver/")>-1;var Q;w?Q=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:Q=A.url+"?"+this._serialize(x.urlParams),this._urlTemplate=Q,this._Provider=new is(this._viewer,this._cesium,w?new mt.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height||0),this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(S,P){(function(R,T,L){if(T.state===mt.QuadtreeTileLoadState.START){if(T.data={lines:[],geometryPrimitive:void 0},T.level>=f.level_min&&T.level<f.level_max&&L.item.show){if(L.TileMatrixLimits){let U=L.TileMatrixLimits[T.level];if(!U||U&&(T.x>U.maxCol||T.x<U.minCol||T.y>U.maxRow||T.y<U.minRow)){T.state=mt.QuadtreeTileLoadState.DONE,T.renderable=!0;return}}var F=Q.replace(window.encodeURIComponent("{x}"),T.x).replace(window.encodeURIComponent("{y}"),T.y).replace(window.encodeURIComponent("{z}"),T.level);L._cache&&(F+="&"+L._core.getuid()),L._core.xhr({url:F,type:"get",dataType:"json",success:function(U){var N=Ii.cloneDeep(U);if(N.features.length<=0){T.state=mt.QuadtreeTileLoadState.DONE,T.renderable=!0;return}if(N==null){T.state=mt.QuadtreeTileLoadState.DONE,T.renderable=!0;return}var H=[],J=[];L.Legend=[];function K(Ae){for(var he=0;he<Ae.length;he++)Array.isArray(Ae[he])?K(Ae[he]):(ee.push(Ae[he]),he===2&&!ie&&(ie=!0))}function X(){if(/^\[/.test(L._option.extrudedHeight)&&/\]$/.test(L._option.extrudedHeight)){var Ae=L._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(z.properties[Ae])}if(y.material=L._option.material,/^\[/.test(L._option.material)&&/\]$/.test(L._option.material)){var he=L._option.material.replace(/\[/,"").replace(/\]/,"");y.material=z.properties[he],L._core.isHtmlColor(y.material)?y.material=L._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=L._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=L._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha))}else L._option.material&&(y.material=L._option.material),y.material&&(L._core.isHtmlColor(y.material)?y.material=L._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=L._color.rgbaStringToRgbaObj(y.material)),y.material.red>1&&(y.material.red=y.material.red/255),y.material.green>1&&(y.material.green=y.material.green/255),y.material.blue>1&&(y.material.blue=y.material.blue/255),y.material.alpha>1&&(y.material.a=y.material.alpha/255),y.material=L._color.createColor(y.material.red,y.material.green,y.material.blue,y.material.alpha)));if(ee.length>=2){var ge=ie?mt.Cartesian3.fromDegreesArrayHeights(ee):mt.Cartesian3.fromDegreesArray(ee);y.polygonHierarchy=new mt.PolygonHierarchy(ge);var de=new mt.PolygonGeometry(y);z.treeID=y.id,z.VectorType="polygon",z.VectorStyle={haveZ:ie,extrudedHeight:y.extrudedHeight,positions:ee,material:y.material};var fe=new mt.GeometryInstance({id:z,geometry:de,attributes:{color:new mt.ColorGeometryInstanceAttribute.fromColor(y.material)}}),G="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;L.Legend.push(G),H.push(fe)}}for(var j=0;j<N.features.length;j++){var ee=[],ie=!1,z=N.features[j];if(Array.isArray(z.geometry.coordinates)&&z.geometry.coordinates.length>0)if(Array.isArray(z.geometry.coordinates[0][0]))for(var oe=0;oe<z.geometry.coordinates.length;oe++)ee=[],z.geometry.coordinates[oe].pop(),K(z.geometry.coordinates[oe]),X(ee);else K(z.geometry.coordinates),X(ee)}H.length==0&&(T.state=mt.QuadtreeTileLoadState.DONE,T.renderable=!0);var le=new mt.GroundPrimitive({geometryInstances:H,appearance:new mt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:L._core.Shaders("vertexShaderSource"),fragmentShaderSource:L._core.Shaders("fragmentShaderSource")}),classificationType:L._option.classificationType,shadows:L._option.shadows});L.probj.push(le),T.data.geometryPrimitive=le,T.state=mt.QuadtreeTileLoadState.LOADING,T.state===mt.QuadtreeTileLoadState.LOADING&&(T.data.geometryPrimitive.update(R,[]),T.state=mt.QuadtreeTileLoadState.DONE,T.renderable=!0)},error:function(){T.count==null&&(T.count=0),T.count+=1,T.count>=2?(T.state=mt.QuadtreeTileLoadState.DONE,T.renderable=!0):T.state=mt.QuadtreeTileLoadState.START}})}else{T.state=mt.QuadtreeTileLoadState.DONE,T.renderable=!0;return}T.state=mt.QuadtreeTileLoadState.LOADING}})(S,P,v)}},this._primitive=new mt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var M=this._viewer.scene,B=M.primitives;B.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4490",gisserverTMS:w},S=>{v.item.boundingSphere=S.boundingSphere,v.TileMatrixLimits=S.TileMatrixLimits,v.initThisProvider()}),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var D={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=D.id,this.setTreeobj(D),this._tree.insertGroupId(D,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ls.prototype.createGeojsonImage=function(o){let A=eval;mt.loadText("http://36.7.136.132:8090/geoserver/swagger/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=swagger%3A_20200410153959_JZ11&maxFeatures=50&outputFormat=application%2Fjson").then(function(f){f=A("("+f+")");for(var m=0;m<f.features.length;m++)m==0?f.features[m].properties.nod="rgba(255,255,0,1)":m==1?f.features[m].properties.nod="rgba(220,20,60,1)":m==2?f.features[m].properties.nod="rgba(75,0,130,1)":m==3?f.features[m].properties.nod="rgba(0,0,255,1)":m==4?f.features[m].properties.nod="rgba(30,144,255,1)":f.features[m].properties.nod="rgba(50,205,50,1)";var C=null;try{var E=new VectorTileImageryProvider({source:f,zIndex:99,removeDuplicate:!1,defaultStyle:{outlineColor:"rgba(209,204,226,1)",lineWidth:0,outline:!0,fill:!0,fillColor:"rgba(209,204,226,1)",fillShow:"[nod]",tileCacheSize:200,showMaker:!1,showCenterLabel:!0,fontColor:"rgba(255,0,0,1)",labelOffsetX:-10,labelOffsetY:-5,fontSize:13,fontFamily:"\u9ED1\u4F53",centerLabelPropertyName:"NAME"},maximumLevel:20,minimumLevel:15,simplify:!1}),I;E.readyPromise.then(function(){I=viewer.imageryLayers.addImageryProvider(E),mt.Camera.DEFAULT_VIEW_RECTANGLE=E.rectangle})}catch(x){console.log(x)}})};Ls.prototype._drawGeojson=function(o,A,f,m,C,E,I,x,y,v,w,Q){var M=this;if(typeof x>"u"&&(x=!0),typeof y>"u"&&(y=!0),!x&&!y)return;typeof E>"u"&&(E=o.canvas.width-A),typeof I>"u"&&(I=o.canvas.height-f);var B=new Ert(E,I),D=this._defaultStyle,S={labelStroke:D.labelStroke,labelStrokeWidth:D.labelStrokeWidth,labelStrokeColor:D.labelStrokeColor,pointSize:D.pointSize,fontSize:D.fontSize,fontFamily:D.fontFamily,color:D.fontColor.toCssColorString(),backgroundColor:D.pointColor.toCssColorString(),pointStyle:D.pointStyle,ringRadius:D.ringRadius,circleLineWidth:D.circleLineWidth,showMaker:D.showMaker,showLabel:D.showLabel,labelOffsetX:D.labelOffsetX,labelOffsetY:D.labelOffsetY,markerSymbol:D.makerImage instanceof Image?D.makerImage:D.makerImageEl},P=[];M._styleFilter&&(turf.featureEach(m,function(L,F){M._styleFilter&&(D=M._defaultStyle.clone(),M._styleFilter(L,D,v,w,Q),L.style=D)}),m.features.sort(function(L,F){return L.style&&L.style.lineDash?1:F.style&&F.style.lineDash?-1:0}));function R(L,F){if(M._styleFilter){if(D=L.style,D.show==!1)return;S={labelStroke:D.labelStroke,labelStrokeWidth:D.labelStrokeWidth,labelStrokeColor:D.labelStrokeColor,pointSize:D.pointSize,fontSize:D.fontSize,fontFamily:D.fontFamily,color:D.fontColor.toCssColorString(),backgroundColor:D.pointColor.toCssColorString(),pointStyle:D.pointStyle,ringRadius:D.ringRadius,circleLineWidth:D.circleLineWidth,showMaker:D.showMaker,showLabel:D.showLabel,labelOffsetX:D.labelOffsetX,labelOffsetY:D.labelOffsetY,markerSymbol:D.makerImage instanceof Image?D.makerImage:D.makerImageEl}}else D=M._defaultStyle;if(o.lineWidth=D.lineWidth,o.strokeStyle=D.outlineColor.toCssColorString(),o.fillStyle=D.fillColor.toCssColorString(),D.fillShow.indexOf("[")!=-1){var U=D.fillShow.replace("[","").replace("]","");o.fillStyle=L.properties[U]}if(D.lineDash&&o.setLineDash(D.lineDash),o.lineCap=D.lineCap,D.shadowColor&&D.shadowColor instanceof mt.Color?o.shadowColor=D.shadowColor.toCssColorString():o.shadowColor=D.shadowColor,o.shadowBlur=D.shadowBlur,o.shadowOffsetX=D.shadowOffsetX,o.shadowOffsetY=D.shadowOffsetY,o.miterLimit=D.miterLimit,o.lineJoin=D.lineJoin,L.geometry.type=="Point")drawMarker(o,B,C,A,f,L,x,y,D.labelPropertyName,S);else if(L.geometry.type=="Polygon"&&D.fill){var N=turf.getCoords(L),H=Cne(o,B,C,A,f,N,!0,!1,D);H&&H.map(function(X){X.style=D,P.push(X)})}else if(L.geometry.type=="MultiPolygon"&&D.fill){var J;try{J=turf.getCoords(L),J.map(function(X){var j=Cne(o,B,C,A,f,X,!0,!1,D);j&&j.map(function(ee){ee.style=D,P.push(ee)})})}catch{}}else if(L.geometry.type=="MultiLineString"){if(!(L.properties.isOutline&&!D.outline)){var N=turf.getCoords(L);Cne(o,B,C,A,f,N,!1,!0,D),N=null}}else if(L.geometry.type=="LineString"&&!(L.properties.isOutline&&!D.outline)){var K=turf.getCoords(L),N=[K];Cne(o,B,C,A,f,N,!1,!0,D),K=null,N=null}}function T(L,F,U,N,H,J){var K=L.canvas,X=L.getImageData(0,0,K.width,K.height),j=document.createElement("canvas");j.width=K.width,j.height=K.height;var ee=j.getContext("2d"),ie=[];J.map(function(z){ee.clearRect(0,0,j.width,j.height),ee.beginPath();var oe=0;z.map(function(Ae){var he=F.project(Ae,U);oe==0?ee.moveTo(N+he.x,H+he.y):ee.lineTo(N+he.x,H+he.y),oe++}),ee.closePath(),ee.fillStyle="rgba(255,255,255,1)",ee.fill(),ie=ee.getImageData(0,0,j.width,j.height).data;for(var le=3;le<ie.length;le+=4)ie[le]>0&&(X.data[le]=0)}),L.putImageData(X,0,0)}turf.featureEach(m,function(L,F){(L.geometry.type=="Polygon"||L.geometry.type=="MultiPolygon")&&R(L,F)}),P&&P.length&&T(o,B,C,A,f,P),turf.featureEach(m,function(L,F){(L.geometry.type=="LineString"||L.geometry.type=="MultiLineString")&&R(L,F)}),turf.featureEach(m,function(L,F){(L.geometry.type=="Point"||L.geometry.type=="MultiPoint")&&R(L,F)})};Ls.prototype._createCanvas=function(){this._canvas=document.createElement("canvas"),this._canvas.width=this._tileWidth,this._canvas.height=this._tileHeight,this._context=this._canvas.getContext("2d"),this._context.lineWidth=this._defaultStyle.lineWidth,this._context.strokeStyle=this._defaultStyle.outlineColor.toCssColorString(),this._context.fillStyle=this._defaultStyle.fillColor.toCssColorString()};function Cne(o,A,f,m,C,E,I,x,y){var v=0,w=[];if(E.map(function(Q){if(!I||v<=0){var M=0;o.beginPath(),Q.map(function(B){var D=A.project(B,f);M==0?o.moveTo(m+D.x,C+D.y):o.lineTo(m+D.x,C+D.y),M++}),I&&(o.closePath(),o.fill()),x&&o.stroke()}else w.push(Q);v++}),I)return w;w=null}Ls.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};Ls.prototype.removeObsoletePrimitives1=function(o){};Ls.prototype.removeObsoletePrimitives=function(o){for(var A=this._viewer.scene.globe._surface._tilesToRender,f=A.map(function(S){return S.level}),m=Math.min.apply(Math,Ene(f)),C=Math.max.apply(Math,Ene(f)),E=this.PrimitiveData.length-1;E>=0;E--){var I=this.PrimitiveData[E];if(I.level<m||I.level>C){var x=this._viewer.scene.primitives.remove(I.data);if(x){var y=this.Primitivekey.indexOf(this.loadFinishKey[E]);y>-1&&this.Primitivekey.splice(y,1),this.PrimitiveData.splice(E,1),this.loadFinishKey.splice(E,1)}}}var v=[],w=o.parent;if(w&&w.parent){var Q=w.parent;v.push(Q)}var M=o.children;v=v.concat(M);for(var E=0;E<M.length;E++){var B=M[E].children;v=v.concat(B)}for(var E=0;E<v.length;E++)if(v[E]){var D="z"+v[E].level+"x"+v[E].x+"y"+v[E].y,y=this.loadFinishKey.indexOf(D);if(y>-1){var x=this._viewer.scene.primitives.remove(this.PrimitiveData[y].data);if(x){var y=this.Primitivekey.indexOf(D);y>-1&&this.Primitivekey.splice(y,1),this.PrimitiveData.splice(y,1),this.loadFinishKey.splice(y,1)}}}};Ls.prototype.removeObsoleteEntities=function(o){for(var A=this._viewer.scene.globe._surface._tilesToRender,f=A.map(function(S){return S.level}),m=Math.min.apply(Math,Ene(f))-1,C=Math.max.apply(Math,Ene(f))+1,E=this.PrimitiveData.length-1;E>=0;E--){var I=this.PrimitiveData[E];if(I.level<m||I.level>C){var x=this._viewer.entities.remove(I.data);if(x){var y=this.Primitivekey.indexOf(this.loadFinishKey[E]);y>-1&&this.Primitivekey.splice(y,1),this.PrimitiveData.splice(E,1),this.loadFinishKey.splice(E,1)}}}var v=[],w=o.parent;if(w&&w.parent){var Q=w.parent;v.push(Q)}var M=o.children;v=v.concat(M);for(var E=0;E<M.length;E++){var B=M[E].children;v=v.concat(B)}for(var E=0;E<v.length;E++)if(v[E]){var D="z"+v[E].level+"x"+v[E].x+"y"+v[E].y,y=this.loadFinishKey.indexOf(D);if(y>-1){var x=this._viewer.entities.remove(this.PrimitiveData[y].data);if(x){var y=this.Primitivekey.indexOf(D);y>-1&&this.Primitivekey.splice(y,1),this.PrimitiveData.splice(y,1),this.loadFinishKey.splice(y,1)}}}};Ls.prototype.removeObsoleteEntitiesxp=function(o){for(var A=this._cesium.Cartesian3.fromDegrees(this._cesium.Math.toDegrees(o.west),this._cesium.Math.toDegrees(o.south)),f=this._cesium.Cartesian3.fromDegrees(this._cesium.Math.toDegrees(o.east),this._cesium.Math.toDegrees(o.north)),m=0;m<this.probj.length;m++)var C=this._cesium.Rectangle.contains(this.probj[m].rectangle.coordinates.getValue(),this._cesium.Cartographic.fromCartesian(A)),E=this._cesium.Rectangle.contains(this.probj[m].rectangle.coordinates.getValue(),this._cesium.Cartographic.fromCartesian(f));for(var I=this._viewer.camera.computeViewRectangle(),x=0;x<this.probj.length;x++){var y=this.probj[x].rectangle.coordinates.getValue(),v=this._cesium.Cartesian3.fromDegrees(this._cesium.Math.toDegrees(y.west),this._cesium.Math.toDegrees(y.south)),w=this._cesium.Cartesian3.fromDegrees(this._cesium.Math.toDegrees(y.east),this._cesium.Math.toDegrees(y.north)),Q=this._cesium.Rectangle.contains(I,this._cesium.Cartographic.fromCartesian(v)),M=this._cesium.Rectangle.contains(I,this._cesium.Cartographic.fromCartesian(w));Q||M?this.probj[x].show=!0:this.probj[x].show=!1}};Ls.prototype.computeCircle=function(o){this._core.isnull(o)&&(o=4);for(var A=[],f=0;f<360;f++){var m=this._cesium.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};Ls.prototype.setTreeobj=function(o){this.treeobj=o};Ls.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A,pId:this.treeobj.pId},treeData:this.treeobj.treeData}};Ls.prototype.deleteObject=function(){if(this._viewer.scene.primitives.remove(this.item),this.probj&&this.probj.length>0&&(this._viewer.scene.primitives.remove(this.probj[0]),this.probj.pop()),this.img!=null&&this._viewer.imageryLayers.remove(this.img),this.primitve&&this.primitve.length>0){for(var o=0;o<this.primitve.length;o++)this._viewer.scene.primitives.remove(this.primitve[o]);this.primitve=[]}this.loadAllKey&&this.loadAllKey.length>0&&(this.loadAllKey=[]);try{this._Provider.remove()}catch{}};Ls.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(o)}catch{}};Ls.prototype.getLevel=function(){var o=40487.57,A=7096758e-11,f=91610.74,m=-40467.74,C=this._viewer.camera,E,I;if(C&&C.positionCartographic&&C.positionCartographic.height){var x=this._viewer.scene.globe.getHeight(C.positionCartographic);!x&&(x=0),E=C.positionCartographic.height-x,I=Math.round(m+(o-m)/(1+Math.pow(E/f,A)))}else I=0;return I};Ls.prototype.setVisibility=function(o){try{if(this.loadAllKey=[],this.item!=null&&this.item.show!=null&&(this.item.show=o),this.img!=null&&(this.img.show=o),this.primitve&&this.primitve.length>0)for(var A=0;A<this.primitve.length;A++)this.primitve[A].show=o;if(this._Provider&&this._Provider.setStatus&&this._Provider.setStatus(o),this.probj&&this.probj.length>0)for(var A=0;A<this.probj.length;A++)this.probj[A].show=o}catch{}};Ls.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};Ls.prototype.isCache=function(o){this._cache=o};Ls.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var jh=Ls;var Uv=null;function Ine(o,A,f){Uv=A,this._viewer=o,this._cesium=A,this._tree=f,this._core=new Ji(o,A)}Ine.prototype.flyTo=function(o,A={}){return this._viewer.flyTo(o,{duration:A.time||3,maximumHeight:A.maxHeight,offset:new Uv.HeadingPitchRange(Uv.Math.toRadians(A.heading||0),Uv.Math.toRadians(A.pitch||-45),A.range)})};Ine.prototype.flyToPointsInterest=function(o,A){return this._viewer.camera.flyTo({destination:o.destination,orientation:o.orientation,duration:o.duration,complete:A})};Ine.prototype.flyToPosition=function(o,A,f,m={}){let C={heading:this._core.defaultValue(m.heading,0),pitch:this._core.defaultValue(m.pitch,-90),roll:this._core.defaultValue(m.roll,0),time:this._core.defaultValue(m.time,3)};Math.abs(o)<=180&&Math.abs(A)<=90?this._viewer.camera.flyTo({destination:this._cesium.Cartesian3.fromDegrees(o,A,f),orientation:new Uv.HeadingPitchRoll(Uv.Math.toRadians(C.heading),Uv.Math.toRadians(C.pitch),Uv.Math.toRadians(C.roll)),duration:C.time}):this._viewer.camera.flyTo({destination:{x:o,y:A,z:f},orientation:new Uv.HeadingPitchRoll(Uv.Math.toRadians(C.heading),Uv.Math.toRadians(C.pitch),Uv.Math.toRadians(C.roll)),duration:C.time})};var xne=Ine;var Tl=null;function Ep(o,A){Tl=A,this._viewer=o,this._cesium=A,this.item={show:!0},this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this._flyTo=new xne(this._viewer,this._cesium,this._tree),this._Provider=void 0,this.Legend=[],this.model=[],this._cache=!1,this._forceRefreshPrvimitive=null,this._forceRefreshProvider=null}Ep.prototype.createPolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var x=this._core.extend(I,f,!0);A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A);var v=this;y.then(function(Q){for(var M=Q.entities.values,B=[],D=new v._cesium.PrimitiveCollection,S=0;S<M.length;S++){var P=M[S],R=null;if(x.clampToGround){x.positions=P.polyline.positions._value;var T={positions:P.polyline.positions._value,width:x.width},T=new v._cesium.GroundPolylineGeometry(T);R=new v._cesium.GeometryInstance({id:P,geometry:T,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(x.material)}})}else{for(var L=[],S=0;S<P.polyline.positions._value.length;S++){var F=v._viewer.scene.globe.ellipsoid,U=v._cesium.Cartographic.fromCartesian(P.polyline.positions._value[S]),N=v._cesium.Math.toDegrees(U.longitude),H=v._cesium.Math.toDegrees(U.latitude),J=U.height+x.height,K=new v._cesium.Cartesian3.fromDegrees(N,H,J);L.push(K)}x.positions=L;var X=new v._cesium.PolylineGeometry(x),j=v._cesium.PolylineGeometry.createGeometry(X);R=new v._cesium.GeometryInstance({id:P,geometry:j,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(x.material)}})}P.positions=x.positions;var ee="material:"+x.material.red*255+","+x.material.green*255+","+x.material.blue*255;v.Legend.push(ee);var ie=null;x.clampToGround?ie=new v._cesium.GroundPolylinePrimitive({geometryInstances:R,appearance:new v._cesium.MaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:x.material}}}),faceForward:!0,flat:!1})}):ie=new v._cesium.Primitive({geometryInstances:R,appearance:new v._cesium.PolylineMaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:x.material}}})}),shadows:v._cesium.ShadowMode.ENABLED}),D.add(ie)}var z;f&&f.time&&(z=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})]));var oe=v._viewer.scene.primitives.add(D,z);oe.show=x.show,v.item=D,C||v.setVisibility(!1),typeof E=="function"&&E(v.item)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var w={id:x.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A,style:x};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};Ep.prototype.createGroundPolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var x=this._core.extend(I,f,!0);A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A);var v=this;y.then(function(Q){for(var M=Q.entities.values,B=[],D=new v._cesium.PrimitiveCollection,S=0;S<M.length;S++){var P=M[S],R=null;if(x.clampToGround){x.positions=P.polyline.positions._value;var T={positions:P.polyline.positions._value,width:x.width},T=new v._cesium.GroundPolylineGeometry(T);R=new v._cesium.GeometryInstance({id:P,geometry:T,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(x.material)}})}else{for(var L=[],S=0;S<P.polyline.positions._value.length;S++){var F=v._viewer.scene.globe.ellipsoid,U=v._cesium.Cartographic.fromCartesian(P.polyline.positions._value[S]),N=v._cesium.Math.toDegrees(U.longitude),H=v._cesium.Math.toDegrees(U.latitude),J=U.height+x.height,K=new v._cesium.Cartesian3.fromDegrees(N,H,J);L.push(K)}x.positions=L;var X=new v._cesium.PolylineGeometry(x),j=v._cesium.PolylineGeometry.createGeometry(X);R=new v._cesium.GeometryInstance({id:P,geometry:j,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(x.material)}})}P.positions=x.positions;var ee="material:"+x.material.red*255+","+x.material.green*255+","+x.material.blue*255;v.Legend.push(ee);var ie=null;x.clampToGround?ie=new v._cesium.GroundPolylinePrimitive({geometryInstances:R,appearance:new v._cesium.MaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:x.material}}}),faceForward:!0,flat:!1})}):ie=new v._cesium.Primitive({geometryInstances:R,appearance:new v._cesium.PolylineMaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:x.material}}})}),shadows:v._cesium.ShadowMode.ENABLED}),D.add(ie)}var z;f&&f.time&&(z=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})]));var oe=v._viewer.scene.primitives.add(D,z);oe.show=x.show,v.item=D,C||v.setVisibility(!1),typeof E=="function"&&E(v.item)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var w={id:x.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A,style:x};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};Ep.prototype.createPolylineVectorGeoJsonFeatureLayerProvider1=function(o,A,f,m,C,E){var I={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(I,f,!0),v=this,w=new yu(this._viewer,this._cesium,x);this._Provider=w,w._loadTile=function(M){var B=[];v.Legend=[];var D=new v._cesium.PrimitiveCollection;return M.features.forEach(function(S){var P=[],R=!1;if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var T=f.material.replace(/\[/,"").replace(/\]/,"");y.material=S.properties[T],v._core.isHtmlColor(y.material)?y.material=v._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=v._color.rgbaStringToRgbaObj(y.material)),y.material.r>1&&(y.material.r=y.material.r/255),y.material.g>1&&(y.material.g=y.material.g/255),y.material.b>1&&(y.material.b=y.material.b/255),y.material.a>1&&(y.material.a=y.material.a/255),y.material=v._color.createColor(y.material.r,y.material.g,y.material.b,y.material.a))}function L(N){for(var H=0;H<N.length;H++)Array.isArray(N[H])?L(N[H]):(P.push(N[H]),H===2&&!R&&(R=!0))}if(Array.isArray(S.geometry.coordinates)&&S.geometry.coordinates.length>0)if(Array.isArray(S.geometry.coordinates[0][0]))for(var F=0;F<S.geometry.coordinates.length;F++)P=[],L(S.geometry.coordinates[F]),U(P);else L(S.geometry.coordinates),U(P);function U(N){var H=R?v._cesium.Cartesian3.fromDegreesArrayHeights(N):v._cesium.Cartesian3.fromDegreesArray(N);y.positions=H;var J={positions:y.positions,width:y.width};S.positions=H,S.treeID=y.id,S.VectorType="polyline",S.VectorStyle={haveZ:R,width:y.width,positions:N,material:y.material,clampToGround:y.clampToGround};var K=null;if(y.clampToGround){var J=new v._cesium.GroundPolylineGeometry(J);K=new v._cesium.GeometryInstance({id:S,geometry:J,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}})}else{var X=N,j=N.length/2+1+N.length;if(/^\[/.test(f.height)&&/\]$/.test(f.height)){var ee=f.height.replace(/\[/,"").replace(/\]/,"");y.height=S.properties[ee]}for(var ie=2;ie<j;ie=ie+3)X.splice(ie,0,parseFloat(y.height));var z=v._cesium.Cartesian3.fromDegreesArrayHeights(X);y.positions=z,S.positions=z;var oe=new v._cesium.PolylineGeometry(y);K=new v._cesium.GeometryInstance({id:S,geometry:oe,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}})}var le="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;v.Legend.push(le);var Ae=null;y.clampToGround?Ae=new v._cesium.GroundPolylinePrimitive({geometryInstances:K,appearance:new v._cesium.MaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}}),faceForward:!0,flat:!1})}):Ae=new v._cesium.Primitive({geometryInstances:K,appearance:new v._cesium.PolylineMaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}})}),shadows:v._cesium.ShadowMode.ENABLED}),D.add(Ae)}}),D},f&&f.time&&(w.availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=w._primitiveCollection,w.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A.url,style:f};return this._Provider.treeID=y.id,this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ep.prototype.createPolylineVectorGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,outlineWidth:1,show:!0,material:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.WHITE,gapColor:this._cesium.Color.TRANSPARENT,height:30},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4326")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4326"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:f.level_min,lowerLevelLimit:f.level_max,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(f.material=Tl.Color.fromCssColorString(f.material))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor=Tl.Color.fromCssColorString(f.outlineColor)),!this._core.isnull(f)&&!this._core.isnull(f.gapColor)&&(f.gapColor=Tl.Color.fromCssColorString(f.gapColor));var y=this._core.extend({...I},f,!0),v=this;let w=A.url.indexOf("/gisserver/")>-1;var Q;w?Q=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:Q=A.url+"?"+this._core._serialize(x.urlParams),this._urlTemplate=Q,this._Provider=new is(this._viewer,this._cesium,w?new Tl.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max-1,this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(R,T){(function(L,F,U){if(F.state===Tl.QuadtreeTileLoadState.START){if(F.data={lines:[],geometryPrimitive:void 0},F.level>=f.level_min&&F.level<f.level_max&&U.item.show){if(w&&(F.reverseY=U._Provider.tilingScheme.getNumberOfYTilesAtLevel(F.level)-F.y-1),U.TileMatrixLimits){let H=U.TileMatrixLimits[F.level];if(!H||H&&(F.x>H.maxCol||F.x<H.minCol||F.y>H.maxRow||F.y<H.minRow)){F.state=Tl.QuadtreeTileLoadState.DONE,F.renderable=!0;return}}var N=Q.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{y}"),F.reverseY||F.y).replace(window.encodeURIComponent("{z}"),F.level);U._cache&&(N+="&"+U._core.getuid()),U._core.xhr({url:N,type:"get",dataType:"json",success:function(H){var J=[],K=[],X=!1;for(var j of H.features){let he=function(de){for(var fe=0;fe<de.length;fe++)Array.isArray(de[fe])?he(de[fe]):(fe===2&&(de[fe]=y.height||de[fe],X=!0),K.push(de[fe]),fe===1&&de.length===2&&K.push(y.height||0))},ge=function(de){var fe=U._cesium.Cartesian3.fromDegreesArrayHeights(de);y.positions=fe;var G={positions:y.positions,width:y.width};j.positions=fe,f.preLoad&&f.preLoad(y,j),j.treeID=y.id,j.VectorType="polyline",j.VectorStyle={haveZ:X,width:y.width,positions:de,material:y.material,clampToGround:y.clampToGround};var Y=null;if(y.clampToGround){var G=new U._cesium.GroundPolylineGeometry(G);Y=new U._cesium.GeometryInstance({id:j,geometry:G,attributes:{color:new U._cesium.ColorGeometryInstanceAttribute.fromColor(y.material),distanceDisplayCondition:new Tl.DistanceDisplayConditionGeometryInstanceAttribute(y.near,y.far)}})}else{var W=new U._cesium.PolylineGeometry(y);Y=new U._cesium.GeometryInstance({id:j,geometry:W,attributes:{color:new U._cesium.ColorGeometryInstanceAttribute.fromColor(y.material),distanceDisplayCondition:new Tl.DistanceDisplayConditionGeometryInstanceAttribute(y.near,y.far)}})}var O="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;U.Legend.push(O),J.push(Y)};var K=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var ee=f.material.replace(/\[/,"").replace(/\]/,"");y.material=j.properties[ee],y.material=Tl.Color.fromCssColorString(y.material)}if(/^\[/.test(f.height)&&/\]$/.test(f.height)){var ie=f.height.replace(/\[/,"").replace(/\]/,"");y.height=j.properties[ie]}if(Array.isArray(j.geometry.coordinates)&&j.geometry.coordinates.length>0)if(Array.isArray(j.geometry.coordinates[0][0]))for(var z=0;z<j.geometry.coordinates.length;z++)K=[],he(j.geometry.coordinates[z]),ge(K);else he(j.geometry.coordinates),ge(K)}var oe=null;let le;y.dash?le=new Tl.PolylineMaterialAppearance({material:Tl.Material.fromType(Tl.Material.PolylineDashType,{color:y.material,gapColor:y.gapColor||Tl.Color.TRANSPARENT,dashLength:y.dashLength||20})}):le=new Tl.PolylineMaterialAppearance({material:new Tl.Material({fabric:{type:"PolylineOutline",uniforms:{color:y.material,outlineColor:y.outlineColor,outlineWidth:y.outlineWidth}}}),faceForward:!0,flat:!1}),y.clampToGround?oe=new U._cesium.GroundPolylinePrimitive({geometryInstances:J,appearance:le,classificationType:y.classificationType}):oe=new U._cesium.Primitive({geometryInstances:J,appearance:le,shadows:U._cesium.ShadowMode.ENABLED}),F.data.geometryPrimitive=oe,F.state=Tl.QuadtreeTileLoadState.LOADING,F.state===Tl.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive.update(L,[]),F.state=Tl.QuadtreeTileLoadState.DONE,F.renderable=!0)},error:function(){F.count==null&&(F.count=0),F.count+=1,F.count>=2?(F.state=Tl.QuadtreeTileLoadState.DONE,F.renderable=!0):F.state=Tl.QuadtreeTileLoadState.START}})}else{F.state=Tl.QuadtreeTileLoadState.DONE,F.renderable=!0;return}F.state=Tl.QuadtreeTileLoadState.LOADING}})(R,T,v)},typeof E=="function"&&E(this.item)};let M,B;this.saveDefaultVectorData=()=>{B=v._core.extend({},f,!0)},this.restoreVector=()=>{B&&(f=B,y=v._core.extend({...I},f,!0),v._Provider._normalTile=f.level_max-1,v._primitive&&v._primitive._tilesToRender&&v._primitive._tilesToRender.length&&(v._primitive._tilesToRender.forEach(R=>{R.data.geomeitryPrimitive&&R.data.geomeitryPrimitive.destroy(),R.state=Tl.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights.forEach(R=>{R.data.geomeitryPrimitive&&R.data.geomeitryPrimitive.destroy(),R.state=Tl.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights=[],v._primitive._tilesToRender=[])),B=void 0},this.updataVector=(R={})=>{(R.material||R.outlineColor||R.gapColor)&&(R.material&&(R.material=Tl.Color.fromCssColorString(R.material)),R.outlineColor&&(R.outlineColor=Tl.Color.fromCssColorString(R.outlineColor)),R.gapColor&&(R.gapColor=Tl.Color.fromCssColorString(R.gapColor))),(R.minimumLevel!==void 0||R.maximumLevel!==void 0)&&(R.minimumLevel!==void 0&&(R.level_min=R.minimumLevel),R.maximumLevel!==void 0&&(R.level_max=R.maximumLevel)),f=v._core.extend(f,R,!0),y=v._core.extend(y,f,!0),v._Provider._normalTile=f.level_max-1,v._primitive&&v._primitive._tilesToRender&&v._primitive._tilesToRender.length&&(clearTimeout(M),M=setTimeout(()=>{v._primitive._tilesToRender.forEach(T=>{T.data.geomeitryPrimitive&&T.data.geomeitryPrimitive.destroy(),T.state=Tl.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights.forEach(T=>{T.data.geomeitryPrimitive&&T.data.geomeitryPrimitive.destroy(),T.state=Tl.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights=[],v._primitive._tilesToRender=[]},100))},this._forceRefreshProvider=this._Provider,this._primitive=new v._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var D=this._viewer.scene,S=D.primitives;S.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4326",gisserverTMS:w},R=>{v.item.boundingSphere=R.boundingSphere,v.TileMatrixLimits=R.TileMatrixLimits,v.initThisProvider()}),f&&f.time&&(geoJSONVectorTileProvider.availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var P={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A.url,style:f};return this._Provider.treeID=y.id,this.setTreeobj(P),this._tree.insertGroupId(P,this._core.isnull(m)?0:m),this};Ep.prototype.createPolylineVectorGeoJsonFeatureLayerProviderModel_obsolete=function(o,A,f,m,C,E){var I={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(I,f,!0),v=this,w=new yu(this._viewer,this._cesium,x);this._Provider=w,w._loadTile=function(M,B){var D=[],S=new v._cesium.PrimitiveCollection,P=[];if(M.features.forEach(function(R){var T=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var L=f.material.replace(/\[/,"").replace(/\]/,"");y.material=R.properties[L],v._core.isHtmlColor(y.material)?y.material=v._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=v._color.rgbaStringToRgbaObj(y.material)),y.material.r>1&&(y.material.r=y.material.r/255),y.material.g>1&&(y.material.g=y.material.g/255),y.material.b>1&&(y.material.b=y.material.b/255),y.material.a>1&&(y.material.a=y.material.a/255),y.material=v._color.createColor(y.material.r,y.material.g,y.material.b,y.material.a))}function F(J){for(var K=0;K<J.length;K++)Array.isArray(J[K])?F(J[K]):T.push(J[K])}if(Array.isArray(R.geometry.coordinates)&&R.geometry.coordinates.length>0)if(Array.isArray(R.geometry.coordinates[0][0]))for(var U=0;U<R.geometry.coordinates.length;U++)T=[],F(R.geometry.coordinates[U]),N(T),H(T);else F(R.geometry.coordinates),N(T),H(T);function N(J){var K=v._cesium.Cartesian3.fromDegreesArray(J);y.positions=K,R.positions=K;var X={positions:y.positions,width:y.width},j=null;if(y.clampToGround){var X=new v._cesium.GroundPolylineGeometry(X);j=new v._cesium.GeometryInstance({id:R,geometry:X,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}})}else{for(var ee=J,ie=J.length/2+1+J.length,z=2;z<ie;z=z+3)ee.splice(z,0,parseFloat(y.height));var oe=v._cesium.Cartesian3.fromDegreesArrayHeights(ee);y.positions=oe;var le=new v._cesium.PolylineGeometry(y),Ae=v._cesium.PolylineGeometry.createGeometry(le);j=new v._cesium.GeometryInstance({id:R,geometry:Ae,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}})}var he=null;y.clampToGround?he=new v._cesium.GroundPolylinePrimitive({geometryInstances:j,appearance:new v._cesium.MaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}}),faceForward:!0,flat:!1})}):he=new v._cesium.Primitive({geometryInstances:j,appearance:new v._cesium.PolylineMaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}})}),shadows:v._cesium.ShadowMode.ENABLED}),S.add(he)}function H(J){var K;y.clampToGround?K=v._cesium.Cartesian3.fromDegreesArray(J):K=v._cesium.Cartesian3.fromDegreesArrayHeights(J);for(var X=1;X<K.length;X++){var j=[];j.push(K[X-1]),j.push(K[X]);var ee=v._cesium.SceneTransforms.wgs84ToWindowCoordinates(v._viewer.scene,K[X-1]).x,ie=v._cesium.SceneTransforms.wgs84ToWindowCoordinates(v._viewer.scene,K[X-1]).y,z=v._cesium.SceneTransforms.wgs84ToWindowCoordinates(v._viewer.scene,K[X]).x,oe=v._cesium.SceneTransforms.wgs84ToWindowCoordinates(v._viewer.scene,K[X]).y;v.setPolylinemodels(j,ee,ie,z,oe,y,function(le){P.push(le)})}}}),P.length){let R;Tl.ModelInstanceCollection?R=new v._cesium.ModelInstanceCollection({url:y.url,instances:P,color:y.color,lightColor:y.lightColor,scale:parseInt(y.scale),heightReference:parseInt(y.heightReference),distanceDisplayCondition:y.distanceDisplayCondition}):(R=new Tl.PrimitiveCollection,P.forEach(T=>{R.add({id:T.modelId,url:y.url,modelMatrix:T.modelMatrix,color:y.color,lightColor:y.lightColor,scale:parseInt(y.scale),heightReference:parseInt(y.heightReference),distanceDisplayCondition:y.distanceDisplayCondition})})),S.add(R)}return S},f&&f.time&&(w.availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=w._primitiveCollection,w.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A.url,style:f};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ep.prototype.createPolylineVectorGeoJsonFeatureLayerProviderModel=function(o,A,f,m,C,E){var I={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};this.item.show=C,!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(I,f,!0),v=this;this._urlTemplate=A.url+"?"+this._core._serialize(x.urlParams);var w=A.url+"?"+this._core._serialize(x.urlParams);this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){(function(P,R,T){if(R.state===Tl.QuadtreeTileLoadState.START){if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<f.level_max&&T.item.show){var L=w.replace(window.encodeURIComponent("{x}"),R.x).replace(window.encodeURIComponent("{y}"),R.y).replace(window.encodeURIComponent("{z}"),R.level);T._cache&&(L+="&"+T._core.getuid()),T._core.xhr({url:L,type:"get",dataType:"json",success:function(F){var U=[],N=new T._cesium.PrimitiveCollection,H=F.features,J=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var K=f.material.replace(/\[/,"").replace(/\]/,"");y.material=z.properties[K],T._core.isHtmlColor(y.material)?y.material=T._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=T._color.rgbaStringToRgbaObj(y.material)),y.material.r>1&&(y.material.r=y.material.r/255),y.material.g>1&&(y.material.g=y.material.g/255),y.material.b>1&&(y.material.b=y.material.b/255),y.material.a>1&&(y.material.a=y.material.a/255),y.material=T._color.createColor(y.material.r,y.material.g,y.material.b,y.material.a))}function X(le){for(var Ae=0;Ae<le.length;Ae++)Array.isArray(le[Ae])?X(le[Ae]):J.push(le[Ae])}function j(le){var Ae=T._cesium.Cartesian3.fromDegreesArray(le);y.positions=Ae,z.positions=Ae;var he={positions:y.positions,width:y.width},ge=null;if(y.clampToGround){var he=new T._cesium.GroundPolylineGeometry(he);ge=new T._cesium.GeometryInstance({id:z,geometry:he,attributes:{color:new T._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}})}else{for(var de=le,fe=le.length/2+1+le.length,G=2;G<fe;G=G+3)de.splice(G,0,parseFloat(y.height));var Y=T._cesium.Cartesian3.fromDegreesArrayHeights(de);y.positions=Y;var W=new T._cesium.PolylineGeometry(y),O=T._cesium.PolylineGeometry.createGeometry(W);ge=new T._cesium.GeometryInstance({id:z,geometry:O,attributes:{color:new T._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}})}var re=null;y.clampToGround?re=new T._cesium.GroundPolylinePrimitive({geometryInstances:ge,appearance:new T._cesium.MaterialAppearance({material:new T._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}}),faceForward:!0,flat:!1})}):re=new T._cesium.Primitive({geometryInstances:ge,appearance:new T._cesium.PolylineMaterialAppearance({material:new T._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}})}),shadows:T._cesium.ShadowMode.ENABLED}),N.add(re)}function ee(le){var Ae;y.clampToGround?Ae=T._cesium.Cartesian3.fromDegreesArray(le):Ae=T._cesium.Cartesian3.fromDegreesArrayHeights(le);for(var he=1;he<Ae.length;he++)try{var ge=[];ge.push(Ae[he-1]),ge.push(Ae[he]);var de=T._cesium.SceneTransforms.wgs84ToWindowCoordinates(T._viewer.scene,Ae[he-1]).x,fe=T._cesium.SceneTransforms.wgs84ToWindowCoordinates(T._viewer.scene,Ae[he-1]).y,G=T._cesium.SceneTransforms.wgs84ToWindowCoordinates(T._viewer.scene,Ae[he]).x,Y=T._cesium.SceneTransforms.wgs84ToWindowCoordinates(T._viewer.scene,Ae[he]).y;T.setPolylinemodels(ge,de,fe,G,Y,y,function(W){U.push(W)})}catch{}}for(var ie=0;ie<H.length;ie++){var z=H[ie];if(Array.isArray(z.geometry.coordinates)&&z.geometry.coordinates.length>0)if(Array.isArray(z.geometry.coordinates[0][0]))for(var oe=0;oe<z.geometry.coordinates.length;oe++)J=[],X(z.geometry.coordinates[oe]),j(J),ee(J);else X(z.geometry.coordinates),j(J),ee(J)}if(U.length){let le;Tl.ModelInstanceCollection?le=new T._cesium.ModelInstanceCollection({url:y.url,instances:U,color:y.color,lightColor:y.lightColor,scale:parseInt(y.scale),heightReference:parseInt(y.heightReference),distanceDisplayCondition:y.distanceDisplayCondition}):(le=new Tl.PrimitiveCollection,U.forEach(Ae=>{le.add({id:Ae.modelId,url:y.url,modelMatrix:Ae.modelMatrix,color:y.color,lightColor:y.lightColor,scale:parseInt(y.scale),heightReference:parseInt(y.heightReference),distanceDisplayCondition:y.distanceDisplayCondition})})),N.add(le)}R.data.geometryPrimitive=N},error:function(){R.count==null&&(R.count=0),R.count+=1,R.count>=2?(R.state=Tl.QuadtreeTileLoadState.DONE,R.renderable=!0):R.state=Tl.QuadtreeTileLoadState.START}})}else{R.state=Tl.QuadtreeTileLoadState.DONE,R.renderable=!0;return}R.state=Tl.QuadtreeTileLoadState.LOADING}})(D,S,v)},this._primitive=new v._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A.url,style:f};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ep.prototype.setPolylinemodels=function(o,A,f,m,C,E,I){var x=this._cesium,y=this._core.getSpaceDistancem(o,x),v=10,w=parseFloat(E.distance);w==0||(v=parseInt(y/w));for(var Q=o[0],M=o[o.length-1],B=x.Cartographic.fromCartesian(Q),D=x.Math.toDegrees(B.longitude),S=x.Math.toDegrees(B.latitude),P=x.Cartographic.fromCartesian(M),R=x.Math.toDegrees(P.longitude),T=x.Math.toDegrees(P.latitude),L=v,F=x.Math.lerp(D,R,1/L)-D,U=x.Math.lerp(S,T,1/L)-S,N=0;N<L;N++){var H=D+(N+1)*F,J=S+(N+1)*U,K=x.Transforms.eastNorthUpToFixedFrame(x.Cartesian3.fromDegrees(H,J,parseInt(E.height)));Tl.Matrix4.multiplyByUniformScale(K,parseInt(E.scale),K),I&&I({modelMatrix:K,modelId:E})}};Ep.prototype.getType=function(){return{label:"\u7EBF",value:"polylineLayer"}};Ep.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};Ep.prototype.deleteObject=function(){if(this._viewer.scene.primitives.remove(this.item),this.model!=null&&this.model!=null&&this.model.length>0)for(var o=0;o<this.model.length;o++)this._viewer.scene.primitives.remove(this.model[o]);try{this._Provider.remove()}catch{}};Ep.prototype.setTreeobj=function(o){this.treeobj=o};Ep.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};Ep.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};Ep.prototype.setVisibility=function(o){if(this.item!=null&&(this.item.show=o),this._Provider&&this._Provider.setStatus(o),this.model!=null&&this.model!=null&&this.model.length>0)for(var A=0;A<this.model.length;A++)this.model[A].show=o};Ep.prototype.edit=function(o,A){return this.editoption=A,this.isEditting=o,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};Ep.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var I3=Ep;function ju(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this._createGroup=new E3,this.model=[],this.heading=this._cesium.Math.toRadians(0),this.pitch=this._cesium.Math.toRadians(0),this.roll=this._cesium.Math.toRadians(0),this.rotate=10,this.state=0,this.modelPointArr=[],this.modifyModel=null,this.modifyPoint=null,this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0)),this.position=null,this.tempPoints=[],this.scale=0,this.Radius=20}ju.prototype.exectPointModel=function(o,A,f,m,C,E){var I={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.color)&&(f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!this._core.isnull(f)&&!this._core.isnull(f.lightColor)&&(f.lightColor.toString().charAt(0)=="["&&f.lightColor.toString().charAt(f.lightColor.length-1)=="]"||(this._core.isHtmlColor(f.lightColor)?f.lightColor=this._color.colorFromHtmlColor(f.lightColor):(/^rgb/.test(f.lightColor)&&(f.lightColor=this._color.rgbaStringToRgbaObj(f.lightColor)),f.lightColor.r>1&&(f.lightColor.r=f.lightColor.r/255),f.lightColor.g>1&&(f.lightColor.g=f.lightColor.g/255),f.lightColor.b>1&&(f.lightColor.b=f.lightColor.b/255),f.lightColor.a>1&&(f.lightColor.a=f.lightColor.a/255),f.lightColor=this._color.createColor(f.lightColor.r,f.lightColor.g,f.lightColor.b,f.lightColor.a)))),!this._core.isnull(f)&&!this._core.isnull(f.linecolor)&&(f.linecolor.toString().charAt(0)=="["&&f.linecolor.toString().charAt(f.linecolor.length-1)=="]"||(this._core.isHtmlColor(f.linecolor)?f.linecolor=this._color.colorFromHtmlColor(f.linecolor):(/^rgb/.test(f.linecolor)&&(f.linecolor=this._color.rgbaStringToRgbaObj(f.linecolor)),f.linecolor.r>1&&(f.linecolor.r=f.linecolor.r/255),f.linecolor.g>1&&(f.linecolor.g=f.linecolor.g/255),f.linecolor.b>1&&(f.linecolor.b=f.linecolor.b/255),f.linecolor.a>1&&(f.linecolor.a=f.linecolor.a/255),f.linecolor=this._color.createColor(f.linecolor.r,f.linecolor.g,f.linecolor.b,f.linecolor.a))));var x=this._core.extend(I,f,!0);this._core.isnull(f.near)&&(f.near=0),this._core.isnull(f.far)&&(f.far=999999999);var y=parseFloat(f.near),v=parseFloat(f.far),w=new this._cesium.DistanceDisplayCondition(y,v);x.distanceDisplayCondition=w,A==null&&console.log("geojson is required");var Q=null;A.then?Q=A:Q=this._cesium.GeoJsonDataSource.load(A);var M=this;Q.then(function(D){for(var S=D.entities.values,P=[],S=D.entities.values,P=[],R=0;R<S.length;R++){var T=S[R],L=new M._cesium.GeometryInstance({id:T,geometry:new M._cesium.CorridorGeometry({positions:T.polyline.positions._value,width:x.width,height:x.height,arcType:x.arcType,vertexFormat:M._cesium.VertexFormat.POSITION_ONLY}),attributes:{color:new M._cesium.ColorGeometryInstanceAttribute.fromColor(x.linecolor)}});P.push(L)}var F;f&&f.time&&(F=new M._cesium.TimeIntervalCollection([new M._cesium.TimeInterval({start:f.time.start?M._cesium.JulianDate.fromDate(new Date(f.time.start)):M._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?M._cesium.JulianDate.fromDate(new Date(f.time.end)):M._cesium.Iso8601.MAXIMUM_VALUE})]));var U=M._viewer.scene.primitives.add(new M._cesium.GroundPrimitive({geometryInstances:P,classificationType:M._cesium.ClassificationType.BOTH}),F);U.show=x.show,M.item=U;for(var N=[],R=0;R<S.length;R++)for(var T=S[R],H=x,J=T.polyline.positions.getValue(),K=1;K<J.length;K++)try{var X=[];X.push(J[K-1]),X.push(J[K]);var j=M._cesium.SceneTransforms.wgs84ToWindowCoordinates(M._viewer.scene,J[K-1]).x,ee=M._cesium.SceneTransforms.wgs84ToWindowCoordinates(M._viewer.scene,J[K-1]).y,ie=M._cesium.SceneTransforms.wgs84ToWindowCoordinates(M._viewer.scene,J[K]).x,z=M._cesium.SceneTransforms.wgs84ToWindowCoordinates(M._viewer.scene,J[K]).y;N=M.setPolylinemodels(X,j,ee,ie,z,N,x,M._cesium,M._viewer,F)}catch{}let oe;Cesium.ModelInstanceCollection?oe=new M._cesium.ModelInstanceCollection({url:x.url,instances:N,color:x.color,lightColor:x.lightColor,scale:parseInt(x.scale),heightReference:parseInt(x.heightReference),distanceDisplayCondition:x.distanceDisplayCondition}):(oe=new Cesium.PrimitiveCollection,N.forEach(le=>{oe.add({id:le.modelId,url:x.url,modelMatrix:le.modelMatrix,color:x.color,lightColor:x.lightColor,scale:parseInt(x.scale),heightReference:parseInt(x.heightReference),distanceDisplayCondition:x.distanceDisplayCondition})})),M._viewer.scene.primitives.add(oe),M.model.push(oe),C||M.setVisibility(!1),typeof E=="function"&&E(U)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var B={id:x.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};ju.prototype.createPointModel=function(o,A){var f=this,m=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),C=[],E=null,I=0,x=null,y=[],v,w=o.parameterd,Q=o.objid,M=o.cyjj,B=o.url;this.modelurl=B;var D=[],S={point:f._cesium.Color.RED,polyline:f._cesium.Color.YELLOW};Object.keys(o).length>0&&(o.point!=""&&o.point!=null&&(S.point=o.point),o.polyline!=""&&o.polyline!=null&&(S.polyline=o.polyline));var P=this._core.CreateTooltip(),R="",T={spot:[],distance:[],label:[],polyline:[],model:[]};m.setInputAction(function(F){C.length===0?P.showAt(F.endPosition,"\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01"):P.showAt(F.endPosition,"\u53F3\u952E\u7ED3\u675F\uFF01");var U=f._viewer.camera.getPickRay(F.endPosition);x=f._viewer.scene.globe.pick(U,f._viewer.scene),C.length>=2&&(f._cesium.defined(E)?(C.pop(),C.push(x)):E=new L(C),I=f._core.getHorizontalDistance(C,f._cesium))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),m.setInputAction(function(F){var U=f._viewer.camera.getPickRay(F.position);x=f._viewer.scene.globe.pick(U,f._viewer.scene),C.length==0&&C.push(x.clone());var N={px:F.position.x,py:F.position.y};C.push(x);var H={positionsxp:x,lxy:N};D.push(H);var J=I;R="\u603B\u957F\uFF1A"+I,T.spot.push(x),T.distance.push(I)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),m.setInputAction(function(F){m.destroy(),C.pop();for(var U=0;U<y.length;U++)f._viewer.entities.remove(y[U]);for(var N=[],H=1;H<D.length;H++){var J=[],K=D[H-1].lxy.px,X=D[H-1].lxy.py,j=D[H].lxy.px,ee=D[H].lxy.py,ie=w;J.push(D[H-1].positionsxp),J.push(D[H].positionsxp),N=f.setPolylinemodel(J,K,X,j,ee,ie,M,f.modelurl,N,f._cesium,f._viewer)}T.model=N,A!=""&&A!=null&&typeof A=="function"&&A(T),P.show(!1)},this._cesium.ScreenSpaceEventType.RIGHT_CLICK);var L=function(){function F(U){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:S.polyline,width:3,clampToGround:!0}},this.positions=U,this._init()}return F.prototype._init=function(){var U=this,N=function(){return U.positions};this.options.polyline.positions=new f._cesium.CallbackProperty(N,!1);var H=f._viewer.entities.add(this.options);f.item=H,y.push(H),T.polyline.push(H)},F}();return this};ju.prototype.setPolylinemodel=function(o,A,f,m,C,E,I,x,y,v,w){var Q=this._core.getSpaceDistancem(o,v);I==0||(E=parseInt(Q/I));for(var M=o[0],B=o[o.length-1],D=v.Cartographic.fromCartesian(M),S=v.Math.toDegrees(D.longitude),P=v.Math.toDegrees(D.latitude),R=D.height,T=v.Cartographic.fromCartesian(B),L=v.Math.toDegrees(T.longitude),F=v.Math.toDegrees(T.latitude),U=T.height,N=E,H=v.Math.lerp(S,L,1/N)-S,J=v.Math.lerp(P,F,1/N)-P,K=v.Math.lerp(A,m,1/N)-A,X=v.Math.lerp(f,C,1/N)-f,j=[],ee,ie,z=0;z<N;z++){var oe=S+(z+1)*H,le=P+(z+1)*J;z==0?ee=new v.Cartesian3(oe,le,0):z==1&&(ie=new v.Cartesian3(oe,le,0));var de=A+(z+1)*K,fe=f+(z+1)*X,Ae={x:de,y:fe},Ae={x:de,y:fe},he=w.camera.pickEllipsoid(Ae,w.scene.globe.ellipsoid),ge=v.Cartographic.fromCartesian(he),de=v.Math.toDegrees(ge.longitude),fe=v.Math.toDegrees(ge.latitude),G=v.Transforms.eastNorthUpToFixedFrame(v.Cartesian3.fromDegrees(de,fe,6)),Y=v.Model.fromGltf({url:x,modelMatrix:G,scale:100}),W=w.scene.primitives.add(Y);y.push(Y)}return y};ju.prototype.setPolylinemodels_obsolete=function(o,A,f,m,C,E,I,x,y,v){var w=this._core.getSpaceDistancem(o,x),Q=10,M=parseFloat(I.distance);M==0||(Q=parseInt(w/M));for(var B=o[0],D=o[o.length-1],S=x.Cartographic.fromCartesian(B),P=x.Math.toDegrees(S.longitude),R=x.Math.toDegrees(S.latitude),T=S.height,L=x.Cartographic.fromCartesian(D),F=x.Math.toDegrees(L.longitude),U=x.Math.toDegrees(L.latitude),N=L.height,H=x.Math.toDegrees(S.height),J=Q,K=x.Math.lerp(P,F,1/J)-P,X=x.Math.lerp(R,U,1/J)-R,j=x.Math.lerp(A,m,1/J)-A,ee=x.Math.lerp(f,C,1/J)-f,ie=[],z,oe,le=0;le<J;le++){var Ae=P+(le+1)*K,he=R+(le+1)*X,ge=x.Transforms.eastNorthUpToFixedFrame(x.Cartesian3.fromDegrees(Ae,he,I.height)),de=parseInt(I.heightReference),fe=x.Model.fromGltf({url:I.url,modelMatrix:ge,color:I.color,lightColor:I.lightColor,scale:parseInt(I.scale),heightReference:parseInt(I.heightReference),distanceDisplayCondition:I.distanceDisplayCondition}),G=y.scene.primitives.add(fe,v);E.push(fe)}return E};ju.prototype.setPolylinemodels=function(o,A,f,m,C,E,I,x,y,v){var w=this._core.getSpaceDistancem(o,x),Q=10,M=parseFloat(I.distance);M==0||(Q=parseInt(w/M));for(var B=o[0],D=o[o.length-1],S=x.Cartographic.fromCartesian(B),P=x.Math.toDegrees(S.longitude),R=x.Math.toDegrees(S.latitude),T=S.height,L=x.Cartographic.fromCartesian(D),F=x.Math.toDegrees(L.longitude),U=x.Math.toDegrees(L.latitude),N=L.height,H=x.Math.toDegrees(S.height),J=Q,K=x.Math.lerp(P,F,1/J)-P,X=x.Math.lerp(R,U,1/J)-R,j=x.Math.lerp(A,m,1/J)-A,ee=x.Math.lerp(f,C,1/J)-f,ie=[],z,oe,le=0;le<J;le++){var Ae=P+(le+1)*K,he=R+(le+1)*X,ge=x.Transforms.eastNorthUpToFixedFrame(x.Cartesian3.fromDegrees(Ae,he,parseInt(I.height?I.height:0))),de=parseInt(I.heightReference);Cesium.Matrix4.multiplyByUniformScale(ge,parseInt(I.scale),ge),E.push({modelMatrix:ge,modelId:I})}return E};ju.prototype.createPolygonModel=function(o,A,f,m,C,E){var I={height:0,extrudedHeight:0,heightReference:this._cesium.HeightReference.RELATIVE_TO_GROUND,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,stRotation:0,granularity:this._cesium.Math.RADIANS_PER_DEGREE,perPositionHeight:!1,closeTop:!0,closeBottom:!0,shadows:this._cesium.ShadowMode.ENABLED,clampToGround:!0,scale:1,classificationType:this._cesium.ClassificationType.BOTH},x=f.modelurl;!this._core.isnull(f)&&!this._core.isnull(f.fill)&&(this._core.isHtmlColor(f.fill)?f.material=this._color.colorFromHtmlColor(f.fill):(/^rgb/.test(f.fill)&&(f.material=this._color.rgbaStringToRgbaObj(f.fill)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.color)&&(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))),!this._core.isnull(f)&&!this._core.isnull(f.lightColor)&&(this._core.isHtmlColor(f.lightColor)?f.lightColor=this._color.colorFromHtmlColor(f.lightColor):(/^rgb/.test(f.lightColor)&&(f.lightColor=this._color.rgbaStringToRgbaObj(f.lightColor)),f.lightColor.r>1&&(f.lightColor.r=f.lightColor.r/255),f.lightColor.g>1&&(f.lightColor.g=f.lightColor.g/255),f.lightColor.b>1&&(f.lightColor.b=f.lightColor.b/255),f.lightColor.a>1&&(f.lightColor.a=f.lightColor.a/255),f.lightColor=this._color.createColor(f.lightColor.r,f.lightColor.g,f.lightColor.b,f.lightColor.a)));var y=this._core.extend(I,f,!0);f.checked=C,y.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND;var v={clampToGround:!0};A==null&&console.log("geojson is required");var w=null;A.then?w=A:w=this._cesium.GeoJsonDataSource.load(A,v),this._viewer.dataSources.add(w);var Q=this,M;f&&f.time&&(M=new Q._cesium.TimeIntervalCollection([new Q._cesium.TimeInterval({start:f.time.start?Q._cesium.JulianDate.fromDate(new Date(f.time.start)):Q._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?Q._cesium.JulianDate.fromDate(new Date(f.time.end)):Q._cesium.Iso8601.MAXIMUM_VALUE})])),w.then(function(D){Q.item=D,Q.model=[];var S=D.entities.values;Q._core.isnull(f.near)&&(f.near=0),Q._core.isnull(f.far)&&(f.far=999999999);var P=parseFloat(f.near),R=parseFloat(f.far),T=new Q._cesium.DistanceDisplayCondition(P,R);y.distanceDisplayCondition=T;for(var L=0;L<S.length;L++){var F=S[L];y.height=parseFloat(Q._core.extendgl(F,f.height,y.height)),y.extrudedHeight=parseFloat(Q._core.extendgl(F,f.extrudedHeight,y.extrudedHeight)),y.heightReference=Q._core.extendgl(F,f.heightReference,y.heightReference),y.show=Q._core.extendgl(F,f.show,y.show),y.material=Q._core.extendgl(F,f.material,y.material),y.outline=Q._core.extendgl(F,f.outline,y.outline),y.outlineColor=Q._core.extendgl(F,f.outlineColor,y.outlineColor),y.outlineWidth=parseFloat(Q._core.extendgl(F,f.outlineWidth,y.outlineWidth)),y.stRotation=Q._core.extendgl(F,f.stRotation,y.stRotation),y.granularity=Q._core.extendgl(F,f.granularity,y.granularity),y.distanceDisplayCondition=Q._core.extendgl(F,f.distanceDisplayCondition,y.distanceDisplayCondition),y.perPositionHeight=Q._core.extendgl(F,f.perPositionHeight,y.perPositionHeight),y.closeTop=Q._core.extendgl(F,f.closeTop,y.closeTop),y.closeBottom=Q._core.extendgl(F,f.closeBottom,y.closeBottom),y.shadows=Q._core.extendgl(F,f.shadows,y.shadows),y.classificationType=Q._core.extendgl(F,f.classificationType,y.classificationType);var U=F.polygon._hierarchy._value.positions;F.polygon.heightReference=1,F.polygon.show=y.show,F.polygon.material=y.material,F.polygon.outline=y.outline,F.polygon.outlineColor=y.outlineColor,F.polygon.outlineWidth=y.outlineWidth,F.polygon.stRotation=y.stRotation,F.polygon.granularity=y.granularity,F.polygon.distanceDisplayCondition=T,F.polygon.closeTop=y.closeTop,F.polygon.closeBottom=y.closeBottom,F.polygon.shadows=y.shadows,F.polygon.classificationType=y.classificationType,M&&(F.availability=M);for(var N=[],H=F.polygon.hierarchy.getValue().positions,J=0;J<H.length;J++){var K=Q._cesium.Math.toDegrees(Q._cesium.Cartographic.fromCartesian(H[J]).longitude),X=Q._cesium.Math.toDegrees(Q._cesium.Cartographic.fromCartesian(H[J]).latitude);N.push(K),N.push(X)}var j=Q.getTheBottomPoint(N),ee=Q.scanningPolygon(j,y.offset_x,y.offset_y,N),ie=[];ee.forEach(function(z){var oe=Q._cesium.Transforms.eastNorthUpToFixedFrame(Q._cesium.Cartesian3.fromDegrees(z.lon,z.lat,y.height)),le=Q._cesium.Model.fromGltf({url:x,color:y.color,silhouetteColor:y.lightColor,silhouetteSize:y.lightWidth,modelMatrix:oe,scale:y.scale,heightReference:parseInt(y.heightReference),distanceDisplayCondition:T}),Ae=Q._viewer.scene.primitives.add(le,M);le.time=M,Q.model.push(le)})}f.checked||Q.setVisibility(!1),typeof E=="function"&&E(D)}),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var B={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A,style:y};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};ju.prototype.setItem=function(o){this.item=o};ju.prototype.modelMove=function(){this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this.yd=!1;var o=this;this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this._tree.handler.setInputAction(function(A){var f=o._viewer.scene.pickPosition(A.position),m=o._viewer.scene.pick(A.position);if(o.yd!=null&&o.yd&&o._tree.handler.destroy(),o.yd=!0,m.tileset!=null){var C=m.tileset,E=o._cesium.Cartographic.fromCartesian(C.boundingSphere.center),I=o._cesium.Cartesian3.fromRadians(E.longitude,E.latitude,E.height);o._tree.handler.setInputAction(function(x){var y=o._viewer.scene.pickPosition(x.endPosition),v=o._cesium.Cartographic.fromCartesian(y),w=o._cesium.Cartesian3.fromRadians(v.longitude,v.latitude,E.height),Q=o._cesium.Cartesian3.subtract(w,I,new o._cesium.Cartesian3);C.modelMatrix=o._cesium.Matrix4.fromTranslation(Q)},o._cesium.ScreenSpaceEventType.MOUSE_MOVE)}},o._cesium.ScreenSpaceEventType.LEFT_CLICK)};ju.prototype.getTheBottomPoint=function(o){for(var A=90,f=0,m=1;m<o.length;m+=2)A=A<o[m]?A:(f=m)&&o[m];return{lon:o[f-1],lat:o[f]}};ju.prototype.scanningPolygon=function(o,A,f,m){for(var C=[],E=180,I=-180,x=-90,y,v,w,Q,M,B=0;B<m.length;B+=2)x=x>m[B+1]?x:m[B+1],E=E<m[B]?E:m[B],I=I>m[B]?I:m[B];var D=this.GetPositionFromA_D(o.lat,o.lon,f,0),S=this.GetPositionFromA_D(o.lat,o.lon,A,90);for(y=S[0]-o.lon,v=D[1]-o.lat,C.push({lon:o.lon,lat:o.lat}),M={lon:o.lon,lat:o.lat},M.lat+=v;M.lat<=x;M.lat+=v){for(w={lon:M.lon-y,lat:M.lat},Q={lon:M.lon+y,lat:M.lat},this.IsInPolygon(M.lon,M.lat,m)&&C.push({lon:M.lon,lat:M.lat});w.lon>=E;w.lon-=y)this.IsInPolygon(w.lon,w.lat,m)&&C.push({lon:w.lon,lat:w.lat});for(;Q.lon<=I;Q.lon+=y)this.IsInPolygon(Q.lon,Q.lat,m)&&C.push({lon:Q.lon,lat:Q.lat})}return C};ju.prototype.GetPositionFromA_D=function(o,A,f,m){var C=6378137,E=6356725,I=f*Math.sin(m*Math.PI/180),x=f*Math.cos(m*Math.PI/180),y=E+(C-E)*(90-o)/90,v=y*Math.cos(o*Math.PI/180),w=(I/v+A*Math.PI/180)*180/Math.PI,Q=(x/y+o*Math.PI/180)*180/Math.PI;return[w,Q]};ju.prototype.IsInPolygon=function(o,A,f){var m=0,C,E,I,x,y;if(f.length<6)return!1;f.push(f[0],f[1]);for(var v=0;v<f.length-2;v+=2)C=f[v],I=f[v+1],E=f[v+2],x=f[v+3],(A>=I&&A<x||A>=x&&A<I)&&Math.abs(I-x)>0&&(y=C-(C-E)*(I-A)/(I-x),y<=o&&m++);return m%2!==0};ju.prototype.createModel=function(o,A,f,m,C,E){var I={id:this._core.getuid(),uri:A,show:!0,heading:0,pitch:0,roll:0,scale:1},x=this._core.extend(I,f,!0);this._position=o;var y={id:x.id,position:this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),model:x};(x.heading||x.pitch||x.roll)&&(this.heading=x.heading,this.pitch=x.pitch,this.roll=x.roll,y.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._cesium.defaultValue(x.heading,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(x.pitch,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(x.roll,0)))));var v=this;x.rotate&&(y.orientation=new this._cesium.CallbackProperty(w,!1),v.rotate=x.rotate,delete x.rotate);function w(){return v.heading=v.heading+v.rotate,v._cesium.Transforms.headingPitchRollQuaternion(v._cesium.Cartesian3.fromDegrees(v._position[0],v._position[1],v._position[2]),new v._cesium.HeadingPitchRoll(v._cesium.Math.toRadians(v._cesium.defaultValue(v.heading,0)),v._cesium.Math.toRadians(v._cesium.defaultValue(v.pitch,0)),v._cesium.Math.toRadians(v._cesium.defaultValue(v.roll,0))))}delete x.heading,delete x.pitch,delete x.roll,y.model=x,this.item=this._viewer.entities.add(y),typeof E=="function"&&E(this.item);var Q={id:this.item.id,name:C||"\u65B0\u5EFA\u6A21\u578B"+I.id,pId:this._core.isnull(m)?0:m,type:"Point",item:this.item};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};ju.prototype.createModelEditable=function(o,A,f,m,C,E){var I={id:this._core.getuid(),uri:A,show:!0,heading:0,pitch:0,roll:0,scale:1},x=this._core.extend(I,f,!0);this._position=o;var y={position:this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),model:x},v=this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),w=this.createCylinder(v,new this._cesium.CallbackProperty(P,!1),new this._cesium.CallbackProperty(N,!1),new this._cesium.CallbackProperty(H,!1),this._cesium.Color.LIMEGREEN,!1);w.oid=1,this.modelPointArr.push(w);var Q=this.createCylinder(v,new this._cesium.CallbackProperty(R,!1),new this._cesium.CallbackProperty(N,!1),new this._cesium.CallbackProperty(H,!1),this._cesium.Color.MEDIUMBLUE,!1);Q.oid=2,this.modelPointArr.push(Q);var M=this.createCylinder(v,new this._cesium.CallbackProperty(T,!1),new this._cesium.CallbackProperty(N,!1),new this._cesium.CallbackProperty(H,!1),this._cesium.Color.RED,!1);M.oid=3,this.modelPointArr.push(M);var B=this.creatBillboard(v,new this._cesium.CallbackProperty(J,!1),"../../img/j.png",!1);B.oid=4,this.modelPointArr.push(B);var D=this.creatBillboard(v,new this._cesium.CallbackProperty(K,!1),"../../img/s.png",!1);D.oid=5,this.modelPointArr.push(D),(x.heading||x.pitch||x.roll)&&(this.heading=x.heading,this.pitch=x.pitch,this.roll=x.roll,y.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._cesium.defaultValue(x.heading,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(x.pitch,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(x.roll,0)))));var S=this;x.rotate&&(y.orientation=new this._cesium.CallbackProperty(F,!1),S.rotate=x.rotate,delete x.rotate),y.orientation=new this._cesium.CallbackProperty(L,!1),S.scale=x.scale,y.model.scale=new this._cesium.CallbackProperty(U,!1);function P(){var j=S._cesium.Cartesian3.fromDegrees(S._position[0],S._position[1],S._position[2]),ee=S._cesium.Math.toRadians(S.heading),ie=new S._cesium.HeadingPitchRoll(ee,S._cesium.Math.toRadians(S.pitch),S._cesium.Math.toRadians(S.roll));return S._cesium.Transforms.headingPitchRollQuaternion(j,ie)}function R(){var j=S._cesium.Cartesian3.fromDegrees(S._position[0],S._position[1],S._position[2]),ee=S._cesium.Math.toRadians(S.heading),ie=new S._cesium.HeadingPitchRoll(ee,S._cesium.Math.toRadians(90+S.pitch),S._cesium.Math.toRadians(S.roll));return S._cesium.Transforms.headingPitchRollQuaternion(j,ie)}function T(){var j=S._cesium.Cartesian3.fromDegrees(S._position[0],S._position[1],S._position[2]),ee=S._cesium.Math.toRadians(S.heading),ie=new S._cesium.HeadingPitchRoll(ee,S._cesium.Math.toRadians(S.pitch),S._cesium.Math.toRadians(90+S.roll));return S._cesium.Transforms.headingPitchRollQuaternion(j,ie)}function L(){return S._cesium.Transforms.headingPitchRollQuaternion(S._cesium.Cartesian3.fromDegrees(S._position[0],S._position[1],S._position[2]),new S._cesium.HeadingPitchRoll(S._cesium.Math.toRadians(S._cesium.defaultValue(S.heading,0)),S._cesium.Math.toRadians(S._cesium.defaultValue(S.pitch,0)),S._cesium.Math.toRadians(S._cesium.defaultValue(S.roll,0))))}function F(){return S.heading=S.heading+S.rotate,S._cesium.Transforms.headingPitchRollQuaternion(S._cesium.Cartesian3.fromDegrees(S._position[0],S._position[1],S._position[2]),new S._cesium.HeadingPitchRoll(S._cesium.Math.toRadians(S._cesium.defaultValue(S.heading,0)),S._cesium.Math.toRadians(S._cesium.defaultValue(S.pitch,0)),S._cesium.Math.toRadians(S._cesium.defaultValue(S.roll,0))))}function U(){return S.scale}function N(){return S.Radius*S.scale}function H(){return S.Radius*100}function J(){return new S._cesium.Cartesian2(0,-(S.Radius*S.scale))}function K(){return new S._cesium.Cartesian2(-(S.Radius*S.scale),0)}delete x.heading,delete x.pitch,delete x.roll,y.model=x,this.item=this._viewer.entities.add(y),this.item.objId=this.objId,this.state=1,typeof E=="function"&&E(this.item);var X={id:this.item.id,name:C||"\u65B0\u5EFA\u6A21\u578B"+I.id,pId:this._core.isnull(m)?0:m,type:"Point",item:this.item};return this.setTreeobj(X),this._tree.insertGroupId(X,this._core.isnull(m)?0:m),this};ju.prototype.createOrientation=function(o,A,f){var m=this._cesium.Math.toRadians(0),C=new this._cesium.HeadingPitchRoll(m,this._cesium.Math.toRadians(A),this._cesium.Math.toRadians(f));return this._cesium.Transforms.headingPitchRollQuaternion(o,C)};ju.prototype.createCylinder=function(o,A,f,m,C,E){if(!!o)return this._viewer.entities.add({position:o,orientation:A,cylinder:{length:10,topRadius:f,bottomRadius:f,fill:!1,material:C.withAlpha(.5),outline:!0,outlineWidth:10,outlineColor:C,numberOfVerticalLines:m,slices:m},show:E})};ju.prototype.startModify=function(){if(!(this.state!=2&&this.state!=1)){var o=this;this.modifyHandler||(this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas));for(var A=0;A<o.modelPointArr.length;A++){var f=o.modelPointArr[A];f&&(f.show=!0)}var m,C,E,I,x,y;this.modifyHandler.setInputAction(function(v){var w=o._viewer.scene.pick(v.position);o._cesium.defined(w)&&w.id&&(w.id.objId?o.modifyModel=w.id:o.modifyPoint&&(o.modifyPoint.oid==4||o.modifyPoint.oid==5)?(w.id.oid!=o.modifyPoint.oid&&(o.modifyPoint=w.id),o.modifyPoint.oid==4?o.scale=o.scale+1:o.scale=o.scale-1):o.modifyPoint=w.id,o.forbidDrawWorld(!0));var Q=o._cesium.Cartesian3.fromDegrees(o._position[0],o._position[1],o._position[2]);m=o._cesium.SceneTransforms.wgs84ToWindowCoordinates(o._viewer.scene,Q),C=v.position,I=o.heading+0,y=o.roll+0,x=o.pitch+0,o.state=2},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.modifyHandler.setInputAction(function(v){var w=o._viewer.scene.pick(v.position);if(!(o._cesium.defined(w)&&w.id)){for(var Q=0;Q<o.modelPointArr.length;Q++){var M=o.modelPointArr[Q];M&&(M.show=!1)}o.modifyHandler&&(o.modifyHandler.destroy(),o.modifyHandler=null)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.modifyHandler.setInputAction(function(v){var w=o._viewer.scene.pick(v.endPosition);if(!(!o.modifyModel&&!o.modifyPoint)){var Q=o._viewer.scene.pickPosition(v.endPosition);if(Q){if(o.modifyModel){o.item.position.setValue(Q);for(var M=0;M<o.modelPointArr.length;M++){var B=o.modelPointArr[M];B&&B.position.setValue(Q)}}else if(o.modifyPoint){E=v.endPosition;var D=o.arge(m,C,E);o.modifyPoint.oid==1?o.heading=I+D:o.modifyPoint.oid==2?o.roll=y+D:o.modifyPoint.oid==3&&(o.pitch=x+D)}}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.modifyHandler.setInputAction(function(v){!o.modifyPoint&&!o.modifyModel||o.modifyPoint&&(o.modifyPoint.oid==4||o.modifyPoint.oid==5)||(o.modifyPoint=null,o.modifyModel=null,o.forbidDrawWorld(!1))},this._cesium.ScreenSpaceEventType.LEFT_UP)}};ju.prototype.creatBillboard=function(o,A,f,m){var C=this._viewer.entities.add({position:o,show:m,billboard:{image:f,pixelOffset:A,verticalOrigin:this._cesium.VerticalOrigin.BOTTOM}});return C.attr="editPoint",C};ju.prototype.arge=function(o,A,f){var m=Math.sqrt(Math.pow(o.x-A.x,2)+Math.pow(o.y-A.y,2)),C=Math.sqrt(Math.pow(o.x-f.x,2)+Math.pow(o.y-f.y,2)),E=Math.sqrt(Math.pow(A.x-f.x,2)+Math.pow(A.y-f.y,2)),I=(Math.pow(m,2)+Math.pow(C,2)-Math.pow(E,2))/(2*m*C);return Math.round(Math.acos(I)*180/Math.PI)};ju.prototype.forbidDrawWorld=function(o){this._viewer.scene.screenSpaceCameraController.enableRotate=!o,this._viewer.scene.screenSpaceCameraController.enableTilt=!o,this._viewer.scene.screenSpaceCameraController.enableTranslate=!o,this._viewer.scene.screenSpaceCameraController.enableInputs=!o};ju.prototype.getCatesian3FromPX=function(o,A,f){var m=A.scene.pick(o),C,E=A.scene.drillPick(o),I=null;if(f){for(var x=0;x<E.length;x++)if(E[x].id._id!=f[0].id&&E[x].id._id!=f[1].id){I=E[x].id;break}}else I=m;if(A.scene.pickPositionSupported&&Cesium.defined(I))C=A.scene.pickPosition(o);else{var y=A.camera.getPickRay(o);if(!y)return;C=A.scene.globe.pick(y,A.scene)}return C};ju.prototype.setTreeobj=function(o){this.treeobj=o};ju.prototype.setVisibility=function(o){if(this.item.item?this.item.item.show=o:this.item.show=o,this.model.length>0)for(var A=0;A<this.model.length;A++)this.model[A].show=o,this.model[A]._availability&&!o?this.model[A]._availability=void 0:this.model[A].time&&o&&(this.model[A]._availability=this.model[A].time)};ju.prototype.setOrientation=function(o){(o.heading||o.pitch||o.roll)&&(this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._cesium.defaultValue(o.heading,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(o.pitch,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(o.roll,0)))))};ju.prototype.setScale=function(o){this.item&&this.item.model&&(this.item.model.scale=o)};ju.prototype.setPosition=function(o){this.item&&this.item.model&&(this._position=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]))};ju.prototype.getVisibility=function(){return this.item.show};ju.prototype.deleteObject=function(){if(this.model&&this.model.length)for(var o=0;o<this.model.length;o++)this._viewer.scene.primitives.remove(this.model[o]);try{this._viewer.scene.primitives.remove(this.item)}catch{}try{this._viewer.entities.remove(this.item)}catch{}try{this._viewer.dataSources.remove(this.item)}catch{}try{this._Provider.remove()}catch{}};var zB=ju;function Zg(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this._Provider=void 0,this._primitive=void 0,this._taskProcessor=new this._cesium.TaskProcessor("vectorTileProvider"),this.model=[],this.Legend=[],this._ajax=null,this.datas=null}Zg.prototype.createPolygonGeoJsonFeatureLayer=function(o,A,f,m,C){var E={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,show:!0};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this._core.extend(E,f,!0);A==null&&console.log("geojson is required");var x=null;A.then?x=A:x=this._cesium.GeoJsonDataSource.load(A);var y=this,v=[];x.then(function(Q){for(var M=Q.entities.values,B=0;B<M.length;B++){var D=M[B];I.polygonHierarchy=new y._cesium.PolygonHierarchy(D.polygon.hierarchy._value.positions);var S=new y._cesium.PolygonGeometry(I),P=y._cesium.PolygonGeometry.createGeometry(S),R=new y._cesium.GeometryInstance({geometry:P});v.push(R)}var T=y._viewer.scene.primitives.add(new y._cesium.Primitive({geometryInstances:v,appearance:new y._cesium.MaterialAppearance({material:new y._cesium.Material({fabric:{type:"Color",uniforms:{color:I.material}}}),faceForward:!0,flat:!1})})),L="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;y.Legend.push(L),y.item=T,I.show==!1&&(T.show=!1),typeof C=="function"&&C(T)}),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id);var w={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A,style:I};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};Zg.prototype.deleteObject=function(){if(this.items!=null&&this.items!=null&&this.items.length>0)for(var o=0;o<this.items.length;o++)this._viewer.scene.primitives.remove(this.items[o]);else this._viewer.scene.primitives.remove(this.item);if(this.model!=null&&this.model!=null&&this.model.length>0)for(var o=0;o<this.model.length;o++)this._viewer.scene.primitives.remove(this.model[o]);try{this._Provider.remove()}catch{}};Zg.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};Zg.prototype.setVisibility=function(o){if(this.items!=null&&this.items!=null&&this.items.length>0)for(var A=0;A<this.items.length;A++)this.items[A].show=o;else this.item.show=o;if(this.model!=null&&this.model!=null&&this.model.length>0)for(var A=0;A<this.model.length;A++)this.model[A].show=o;this._Provider&&this._Provider.setStatus(!o)};Zg.prototype.createPolygonVectorGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={polygonHierarchy:void 0,height:0,extrudedHeight:999999,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,shadows:this._cesium.ShadowMode.ENABLED,show:!0},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(I,f,!0);y.extrudedHeight==0&&(y.extrudedHeight=999999),this.items=[];var v=this,w=new yu(this._viewer,this._cesium,x);this._Provider=w,w._loadTile=function(M){var B=[],D=null,S=scene.primitives;v.Legend=[];var P=new v._cesium.PrimitiveCollection;if(M.features.forEach(function(R){if(w._isCameraMoving)return null;var T=[];function L(N){for(var H=0;H<N.length;H++)Array.isArray(N[H])?L(N[H]):T.push(N[H])}if(Array.isArray(R.geometry.coordinates)&&R.geometry.coordinates.length>0)if(Array.isArray(R.geometry.coordinates[0][0]))for(var F=0;F<R.geometry.coordinates.length;F++)T=[],L(R.geometry.coordinates[F]),U(T);else L(R.geometry.coordinates),U(T);function U(N){if(w._isCameraMoving)return null;var H=v._cesium.Cartesian3.fromDegreesArray(N);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var J=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(R.properties[J])}if(y.extrudedHeight=parseFloat(y.extrudedHeight),y.heightReference==1&&delete y.height,y.extrudedHeightReference==1&&delete y.extrudedHeight,/^\[/.test(f.material)&&/\]$/.test(f.material)){var K=f.material.replace(/\[/,"").replace(/\]/,"");y.material=R.properties[K],v._core.isHtmlColor(y.material)?y.material=v._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=v._color.rgbaStringToRgbaObj(y.material)),y.material.r>1&&(y.material.r=y.material.r/255),y.material.g>1&&(y.material.g=y.material.g/255),y.material.b>1&&(y.material.b=y.material.b/255),y.material.a>1&&(y.material.a=y.material.a/255),y.material=v._color.createColor(y.material.r,y.material.g,y.material.b,y.material.a))}y.polygonHierarchy=new v._cesium.PolygonHierarchy(H),R.positions=H;var X=new v._cesium.PolygonGeometry(y),j=null;j=new v._cesium.GeometryInstance({id:R,geometry:X,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}});var ee="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;v.Legend.push(ee),B.push(j)}}),B.length>0)return D=new v._cesium.GroundPrimitive({geometryInstances:B,appearance:new v._cesium.PerInstanceColorAppearance({closed:!0,flat:!1}),classificationType:y.classificationType}),D},this.item=w._primitiveCollection,w.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Zg.prototype.createPolygonVectorGeoJsonFeatureLayerProviderModel=function(o,A,f,m,C,E){var I={polygonHierarchy:void 0,height:0,extrudedHeight:999999,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,shadows:this._cesium.ShadowMode.ENABLED,show:!0},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=f.material,v=f.height;!this._core.isnull(f)&&!this._core.isnull(f.color)&&(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))),!this._core.isnull(f)&&!this._core.isnull(f.lightColor)&&(this._core.isHtmlColor(f.lightColor)?f.lightColor=this._color.colorFromHtmlColor(f.lightColor):(/^rgb/.test(f.lightColor)&&(f.lightColor=this._color.rgbaStringToRgbaObj(f.lightColor)),f.lightColor.r>1&&(f.lightColor.r=f.lightColor.r/255),f.lightColor.g>1&&(f.lightColor.g=f.lightColor.g/255),f.lightColor.b>1&&(f.lightColor.b=f.lightColor.b/255),f.lightColor.a>1&&(f.lightColor.a=f.lightColor.a/255),f.lightColor=this._color.createColor(f.lightColor.r,f.lightColor.g,f.lightColor.b,f.lightColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var w=this._core.extend(I,f,!0);w.extrudedHeight==0&&(w.extrudedHeight=999999),this.items=[];var Q=this,M=new yu(this._viewer,this._cesium,x);this._Provider=M,M._loadTile=function(D){var S=[],P=null,R=scene.primitives,T=new Q._cesium.PrimitiveCollection;return Q.Legend=[],D.features.forEach(function(L){if(M._isCameraMoving)return null;var F=[];function U(K){for(var X=0;X<K.length;X++)Array.isArray(K[X])?U(K[X]):F.push(K[X])}if(Array.isArray(L.geometry.coordinates)&&L.geometry.coordinates.length>0)if(Array.isArray(L.geometry.coordinates[0][0]))for(var N=0;N<L.geometry.coordinates.length;N++)F=[],U(L.geometry.coordinates[N]),H(F),J(F);else U(L.geometry.coordinates),H(F),J(F);function H(K){if(M._isCameraMoving)return null;var X=Q._cesium.Cartesian3.fromDegreesArray(K);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var j=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");w.extrudedHeight=parseFloat(L.properties[j])}if(w.extrudedHeight=parseFloat(w.extrudedHeight),w.heightReference==1&&delete w.height,w.extrudedHeightReference==1&&delete w.extrudedHeight,/^\[/.test(f.material)&&/\]$/.test(f.material)){var ee=f.material.replace(/\[/,"").replace(/\]/,"");w.material=L.properties[ee],Q._core.isHtmlColor(w.material)?w.material=Q._color.colorFromHtmlColor(w.material):(/^rgb/.test(w.material)&&(w.material=Q._color.rgbaStringToRgbaObj(w.material)),w.material.r>1&&(w.material.r=w.material.r/255),w.material.g>1&&(w.material.g=w.material.g/255),w.material.b>1&&(w.material.b=w.material.b/255),w.material.a>1&&(w.material.a=w.material.a/255),w.material=Q._color.createColor(w.material.r,w.material.g,w.material.b,w.material.a))}w.polygonHierarchy=new Q._cesium.PolygonHierarchy(X);var ie=new Q._cesium.PolygonGeometry(w),z=null;L.positions=X,z=new Q._cesium.GeometryInstance({id:L,geometry:ie,attributes:{color:new Q._cesium.ColorGeometryInstanceAttribute.fromColor(w.material)}});var oe="material:"+w.material.red*255+","+w.material.green*255+","+w.material.blue*255;Q.Legend.push(oe),P=new Q._cesium.ClassificationPrimitive({geometryInstances:z,appearance:new Q._cesium.PerInstanceColorAppearance({closed:!0,flat:!1}),classificationType:w.classificationType,shadows:Q._cesium.ShadowMode.ENABLED}),T.add(P)}function J(K){for(var X=Q._cesium.Cartesian3.fromDegreesArray(K),j=new Q._cesium.PolygonHierarchy(X),ee=[],ie=j.positions,z=0;z<ie.length;z++){var oe=Q._cesium.Math.toDegrees(Q._cesium.Cartographic.fromCartesian(ie[z]).longitude),le=Q._cesium.Math.toDegrees(Q._cesium.Cartographic.fromCartesian(ie[z]).latitude);ee.push(oe),ee.push(le)}var Ae=Q.getTheBottomPoint(ee),he=Q.scanningPolygon(Ae,w.offset_x,w.offset_y,ee),ge=[];he.forEach(function(de){var fe=Q._cesium.Transforms.eastNorthUpToFixedFrame(Q._cesium.Cartesian3.fromDegrees(de.lon,de.lat,v)),G=Q._cesium.Model.fromGltf({url:y,color:w.color,lightColor:w.lightColor,modelMatrix:fe,scale:w.scale});T.add(G)})}}),T},f&&f.time&&(M.availability=new Q._cesium.TimeIntervalCollection([new Q._cesium.TimeInterval({start:f.time.start?Q._cesium.JulianDate.fromDate(new Date(f.time.start)):Q._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?Q._cesium.JulianDate.fromDate(new Date(f.time.end)):Q._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=M._primitiveCollection,M.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(w.id)&&(w.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+w.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:w.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Zg.prototype.GetPositionFromA_D=function(o,A,f,m){var C=6378137,E=6356725,I=f*Math.sin(m*Math.PI/180),x=f*Math.cos(m*Math.PI/180),y=E+(C-E)*(90-o)/90,v=y*Math.cos(o*Math.PI/180),w=(I/v+A*Math.PI/180)*180/Math.PI,Q=(x/y+o*Math.PI/180)*180/Math.PI;return[w,Q]};Zg.prototype.getTheBottomPoint=function(o){for(var A=90,f=0,m=1;m<o.length;m+=2)A=A<o[m]?A:(f=m)&&o[m];return{lon:o[f-1],lat:o[f]}};Zg.prototype.scanningPolygon=function(o,A,f,m){for(var C=[],E=180,I=-180,x=-90,y,v,w,Q,M,B=0;B<m.length;B+=2)x=x>m[B+1]?x:m[B+1],E=E<m[B]?E:m[B],I=I>m[B]?I:m[B];var D=this.GetPositionFromA_D(o.lat,o.lon,f,0),S=this.GetPositionFromA_D(o.lat,o.lon,A,90);for(y=S[0]-o.lon,v=D[1]-o.lat,C.push({lon:o.lon,lat:o.lat}),M={lon:o.lon,lat:o.lat},M.lat+=v;M.lat<=x;M.lat+=v){for(w={lon:M.lon-y,lat:M.lat},Q={lon:M.lon+y,lat:M.lat},this.IsInPolygon(M.lon,M.lat,m)&&C.push({lon:M.lon,lat:M.lat});w.lon>=E;w.lon-=y)this.IsInPolygon(w.lon,w.lat,m)&&C.push({lon:w.lon,lat:w.lat});for(;Q.lon<=I;Q.lon+=y)this.IsInPolygon(Q.lon,Q.lat,m)&&C.push({lon:Q.lon,lat:Q.lat})}return C};Zg.prototype.IsInPolygon=function(o,A,f){var m=0,C,E,I,x,y;if(f.length<6)return!1;f.push(f[0],f[1]);for(var v=0;v<f.length-2;v+=2)C=f[v],I=f[v+1],E=f[v+2],x=f[v+3],(A>=I&&A<x||A>=x&&A<I)&&Math.abs(I-x)>0&&(y=C-(C-E)*(I-A)/(I-x),y<=o&&m++);return m%2!==0};Zg.prototype.setPolylinemodels=function(o,A,f,m,C,E,I,x,y){var v=this._core.getSpaceDistancem(o,x),w=10,Q=parseFloat(I.distance);Q==0||(w=parseInt(v/Q));for(var M=o[0],B=o[o.length-1],D=x.Cartographic.fromCartesian(M),S=x.Math.toDegrees(D.longitude),P=x.Math.toDegrees(D.latitude),R=D.height,T=x.Cartographic.fromCartesian(B),L=x.Math.toDegrees(T.longitude),F=x.Math.toDegrees(T.latitude),U=T.height,N=x.Math.toDegrees(D.height),H=w,J=x.Math.lerp(S,L,1/H)-S,K=x.Math.lerp(P,F,1/H)-P,X=x.Math.lerp(A,m,1/H)-A,j=x.Math.lerp(f,C,1/H)-f,ee=[],ie,z,oe=0;oe<H;oe++){var le=S+(oe+1)*J,Ae=P+(oe+1)*K,he=x.Transforms.eastNorthUpToFixedFrame(x.Cartesian3.fromDegrees(le,Ae,I.height)),ge=parseInt(I.heightReference),de=x.Model.fromGltf({url:I.url,modelMatrix:he,color:I.color,lightColor:I.lightColor,scale:I.scale,heightReference:parseInt(I.heightReference)}),fe=y.scene.primitives.add(de);E.push(de)}return E};Zg.prototype.createPolygonVectorGeoJsonFeatureLayerProviderlsjl=function(o,A,f,m,C,E){var I={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,shadows:this._cesium.ShadowMode.ENABLED,show:!0},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(I,f,!0),v=this,w=new yu(this._viewer,this._cesium,x);this._Provider=w,w._loadTile=function(M,B){var D=[],S=[],P=v._taskProcessor.scheduleTask({json:M,styleOption:f,options:y,tileKey:B});if(!!v._cesium.defined(P)){var R=v;v._cesium.when(P,function(T){if(!w._primitiveByTile[T.tileKey]){for(var L=new R._cesium.PrimitiveCollection,F=0;F<T.geomInstances.length;F++){var U=null,N=T.geomInstances[F],H=N.id.id;if(!w._primitiveByTile[H]){var J=new R._cesium.Material({fabric:{type:"Color",uniforms:{color:T.materials[F]}}}),K=new R._cesium.MaterialAppearance({material:J,faceForward:!0,flat:!1}),U=new R._cesium.Primitive({allowPicking:!0,appearance:new R._cesium.PerInstanceColorAppearance,geometryInstances:N,shadows:v._cesium.ShadowMode.ENABLED});L.add(U)}}w._primitiveCollection.add(L),w._primitiveByTile[T.tileKey]=L}})}},this.item=w._primitiveCollection,w.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Zg.prototype.createPolygonVectorGeoJsonFeatureLayerProviderls=function(o,A,f,m,C,E){var I={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,shadows:this._cesium.ShadowMode.ENABLED,show:!0},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):/^http/.test(f.material)||(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.fill)&&(f.fill.toString().charAt(0)=="["&&f.fill.toString().charAt(f.fill.length-1)=="]"||(this._core.isHtmlColor(f.fill)?f.fill=this._color.colorFromHtmlColor(f.fill):/^http/.test(f.fill)||(/^rgb/.test(f.fill)&&(f.fill=this._color.rgbaStringToRgbaObj(f.fill)),f.fill.r>1&&(f.fill.r=f.fill.r/255),f.fill.g>1&&(f.fill.g=f.fill.g/255),f.fill.b>1&&(f.fill.b=f.fill.b/255),f.fill.a>1&&(f.fill.a=f.fill.a/255),f.fill=this._color.createColor(f.fill.r,f.fill.g,f.fill.b,f.fill.a))));var y=this._core.extend(I,f,!0),v=this,w=new yu(this._viewer,this._cesium,x);this._Provider=w,w._loadTile=function(M){var B=[];v.Legend=[];var D=new v._cesium.PrimitiveCollection;return M.features.forEach(function(S){var P=[];function R(F){for(var U=0;U<F.length;U++)Array.isArray(F[U])?R(F[U]):P.push(F[U])}if(Array.isArray(S.geometry.coordinates)&&S.geometry.coordinates.length>0)if(Array.isArray(S.geometry.coordinates[0][0]))for(var T=0;T<S.geometry.coordinates.length;T++)P=[],R(S.geometry.coordinates[T]),L(P);else R(S.geometry.coordinates),L(P);function L(F){var U=v._cesium.Cartesian3.fromDegreesArray(F);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var N=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(S.properties[N])}if(y.extrudedHeight=parseFloat(y.extrudedHeight),y.heightReference==1&&delete y.height,y.extrudedHeightReference==1&&delete y.extrudedHeight,/^\[/.test(f.material)&&/\]$/.test(f.material)){var H=f.material.replace(/\[/,"").replace(/\]/,"");y.material=S.properties[H],v._core.isHtmlColor(y.material)?y.material=v._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=v._color.rgbaStringToRgbaObj(y.material)),y.material.r>1&&(y.material.r=y.material.r/255),y.material.g>1&&(y.material.g=y.material.g/255),y.material.b>1&&(y.material.b=y.material.b/255),y.material.a>1&&(y.material.a=y.material.a/255),y.material=v._color.createColor(y.material.r,y.material.g,y.material.b,y.material.a))}y.polygonHierarchy=new v._cesium.PolygonHierarchy(U),S.positions=U;var J=new v._cesium.PolygonGeometry(y),K=null,X=new v._cesium.ColorGeometryInstanceAttribute.fromColor(y.fill),j={};if(/^http/.test(y.material))j=new v._cesium.Material({fabric:{type:"Image",uniforms:{image:y.material}}});else{var ee="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;v.Legend.push(ee),j=new v._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}})}K=new v._cesium.GeometryInstance({id:S,geometry:J,attributes:{color:X}});var ie=null;ie=new v._cesium.Primitive({allowPicking:!0,appearance:new v._cesium.MaterialAppearance({material:j}),geometryInstances:K,shadows:v._cesium.ShadowMode.ENABLED}),D.add(ie)}}),D},f&&f.time&&(w.availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=w._primitiveCollection,w.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Zg.prototype.createPolygonVectorGeoJsonFeatureLayerProviderlsd=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),this._option=this._core.extend(I,f,!0);var y=this,v=A.urlinit,w={polygonHierarchy:void 0,height:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED};$.ajax({url:v,type:"get",async:!1,dataType:"json",success:function(B){y.datas=B.features}});var Q=new yu(this._viewer,this._cesium,x);this._Provider=Q,Q._loadTile=function(B){var D=[];y.Legend=[];var S=new y._cesium.PrimitiveCollection,P=[],R=[],T=new Cesium.PrimitiveCollection;return B.features.forEach(function(L){var F=[];function U(X){for(var j=0;j<X.length;j++)Array.isArray(X[j])?(X[j].length==3&&X[j].splice(2,1),X[j].push(y._option.height),U(X[j])):F.push(X[j])}var N=L.id,H=parseInt(N.split(".")[1])-1;if(L=y.datas[H],Array.isArray(L.geometry.coordinates)&&L.geometry.coordinates.length>0&&Array.isArray(L.geometry.coordinates[0][0][0]))for(var J=0;J<L.geometry.coordinates[0].length;J++)F=[],U(L.geometry.coordinates[0][J]),K(F);function K(X){if(/^\[/.test(y._option.extrudedHeight)&&/\]$/.test(y._option.extrudedHeight)){var j=y._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");w.extrudedHeight=parseFloat(L.properties[j])}if(w.material=y._option.material,/^\[/.test(y._option.material)&&/\]$/.test(y._option.material)){var ee=y._option.material.replace(/\[/,"").replace(/\]/,"");w.material=L.properties[ee],y._core.isHtmlColor(w.material)?w.material=y._color.colorFromHtmlColor(w.material):(/^rgb/.test(w.material)&&(w.material=y._color.rgbaStringToRgbaObj(w.material)),w.material.red>1&&(w.material.red=w.material.red/255),w.material.green>1&&(w.material.green=w.material.green/255),w.material.blue>1&&(w.material.blue=w.material.blue/255),w.material.alpha>1&&(w.material.a=w.material.alpha/255),w.material=y._color.createColor(w.material.red,w.material.green,w.material.blue,w.material.alpha))}else y._option.material&&(w.material=y._option.material),w.material&&(y._core.isHtmlColor(w.material)?w.material=y._color.colorFromHtmlColor(w.material):(/^rgb/.test(w.material)&&(w.material=y._color.rgbaStringToRgbaObj(w.material)),w.material.red>1&&(w.material.red=w.material.red/255),w.material.green>1&&(w.material.green=w.material.green/255),w.material.blue>1&&(w.material.blue=w.material.blue/255),w.material.alpha>1&&(w.material.a=w.material.alpha/255),w.material=y._color.createColor(w.material.red,w.material.green,w.material.blue,w.material.alpha)));var ie=y._cesium.Cartesian3.fromDegreesArrayHeights(X);w.polygonHierarchy=new y._cesium.PolygonHierarchy(ie);var z=new y._cesium.PolygonGeometry(w),oe=new Cesium.GeometryInstance({id:L,geometry:z,attributes:{color:new y._cesium.ColorGeometryInstanceAttribute.fromColor(y._option.randomColor?Cesium.Color.fromRandom().withAlpha(w.material.alpha):w.material)}});P.push(oe);var le={positions:ie,width:y._option.width},Ae=new y._cesium.GroundPolylineGeometry(le),he=new y._cesium.GeometryInstance({geometry:Ae});R.push(he);var ge="material:"+w.material.red*255+","+w.material.green*255+","+w.material.blue*255;y.Legend.push(ge)}}),P.length>0&&(w.extrudedHeight?T.add(new y._cesium.Primitive({geometryInstances:P,appearance:new y._cesium.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:y._core.Shaders("vertexShaderSource"),fragmentShaderSource:y._core.Shaders("fragmentShaderSource")})})):T.add(new y._cesium.GroundPrimitive({geometryInstances:P,appearance:new y._cesium.PerInstanceColorAppearance({translucent:!0,vertexShaderSource:y._core.Shaders("vertexShaderSource")})}))),R.length>0&&T.add(new y._cesium.GroundPolylinePrimitive({geometryInstances:R,appearance:new y._cesium.PolylineMaterialAppearance({material:new y._cesium.Material({fabric:{type:"Color",uniforms:{color:y._option.outlineColor}}})}),shadows:y._cesium.ShadowMode.ENABLED})),T},this.item=Q._primitiveCollection,Q.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(w.id)&&(w.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+w.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var M={id:w.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(M),this._tree.insertGroupId(M,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Zg.prototype.setTreeobj=function(o){this.treeobj=o};Zg.prototype.createPolygonVectorFeatureLayerProvider=function(o,A,f,m,C){var E={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,show:!0},I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var x=this._core.extend(E,f,!0),y=this,v=new yu(this._viewer,this._cesium,I);this._Provider=v,v._loadTile=function(Q){var M=[];y.Legend=[],Q.features.forEach(function(D){var S=[];function P(H){for(var J=0;J<H.length;J++)Array.isArray(H[J])?P(H[J]):S.push(H[J])}P(D.geometry.coordinates[0]);var R=y._cesium.Cartesian3.fromDegreesArray(S);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var T=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");x.extrudedHeight=parseFloat(D.properties[T])}x.polygonHierarchy=new y._cesium.PolygonHierarchy(R);var L=new y._cesium.PolygonGeometry(x),F=y._cesium.PolygonGeometry.createGeometry(L),U="material:"+x.material.red*255+","+x.material.green*255+","+x.material.blue*255;y.Legend.push(U);var N=new y._cesium.GeometryInstance({geometry:F,attributes:{color:new y._cesium.ColorGeometryInstanceAttribute.fromColor(x.material)},shadows:y._cesium.ShadowMode.ENABLED});M.push(N)});var B=new this._cesium.Primitive({allowPicking:!1,appearance:new this._cesium.PerInstanceColorAppearance({translucent:!1,flat:!0,faceForward:!0,closed:!0}),geometryInstances:M});return B},this.item=v._primitiveCollection,v.addTo(this._viewer),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var w={id:x.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof C=="function"&&C(this.item)};Zg.prototype.createPolygonVectorMonomerFeatureLayerProvider=function(o,A,f,m,C){var E={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,show:!0},I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var x=this._core.extend(E,f,!0),y=new yu(this._viewer,this._cesium,I);this._Provider=y;var v=this;y._loadTile=function(Q){var M=[];Q.features.forEach(function(D){var S=[];function P(U){for(var N=0;N<U.length;N++)Array.isArray(U[N])?P(U[N]):S.push(U[N])}P(D.geometry.coordinates[0]);var R=v._cesium.Cartesian3.fromDegreesArray(S);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var T=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");x.extrudedHeight=parseFloat(D.properties[T])}x.polygonHierarchy=new v._cesium.PolygonHierarchy(R);var L=new v._cesium.PolygonGeometry(x),F=new v._cesium.GeometryInstance({geometry:L,attributes:{color:v._cesium.ColorGeometryInstanceAttribute.fromColor(v._cesium.Color.fromCssColorString("#004FFF").withAlpha(.5)),show:new v._cesium.ShowGeometryInstanceAttribute(!0)}});M.push(F)});var B=new v._cesium.GroundPrimitive({classificationType:v._cesium.ClassificationType.BOTH,geometryInstances:M});return B},this.item=y._primitiveCollection,y.addTo(this._viewer),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var w={id:x.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof C=="function"&&C(this.item)};Zg.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};Zg.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};var YB=Zg;var H6={};H6.read=function(o,A,f,m,C){var E,I,x=C*8-m-1,y=(1<<x)-1,v=y>>1,w=-7,Q=f?C-1:0,M=f?-1:1,B=o[A+Q];for(Q+=M,E=B&(1<<-w)-1,B>>=-w,w+=x;w>0;E=E*256+o[A+Q],Q+=M,w-=8);for(I=E&(1<<-w)-1,E>>=-w,w+=m;w>0;I=I*256+o[A+Q],Q+=M,w-=8);if(E===0)E=1-v;else{if(E===y)return I?NaN:(B?-1:1)*(1/0);I=I+Math.pow(2,m),E=E-v}return(B?-1:1)*I*Math.pow(2,E-m)};H6.write=function(o,A,f,m,C,E){var I,x,y,v=E*8-C-1,w=(1<<v)-1,Q=w>>1,M=C===23?Math.pow(2,-24)-Math.pow(2,-77):0,B=m?0:E-1,D=m?1:-1,S=A<0||A===0&&1/A<0?1:0;for(A=Math.abs(A),isNaN(A)||A===1/0?(x=isNaN(A)?1:0,I=w):(I=Math.floor(Math.log(A)/Math.LN2),A*(y=Math.pow(2,-I))<1&&(I--,y*=2),I+Q>=1?A+=M/y:A+=M*Math.pow(2,1-Q),A*y>=2&&(I++,y/=2),I+Q>=w?(x=0,I=w):I+Q>=1?(x=(A*y-1)*Math.pow(2,C),I=I+Q):(x=A*Math.pow(2,Q-1)*Math.pow(2,C),I=0));C>=8;o[f+B]=x&255,B+=D,x/=256,C-=8);for(I=I<<C|x,v+=C;v>0;o[f+B]=I&255,B+=D,I/=256,v-=8);o[f+B-D]|=S*128};function Wd(o){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(o)?o:new Uint8Array(o||0),this.pos=0,this.type=0,this.length=this.buf.length}Wd.Varint=0;Wd.Fixed64=1;Wd.Bytes=2;Wd.Fixed32=5;var aQe=(1<<16)*(1<<16),yrt=1/aQe;Wd.prototype={destroy:function(){this.buf=null},readFields:function(o,A,f){for(f=f||this.length;this.pos<f;){var m=this.readVarint(),C=m>>3,E=this.pos;this.type=m&7,o(C,A,this),this.pos===E&&this.skip(m)}return A},readMessage:function(o,A){return this.readFields(o,A,this.readVarint()+this.pos)},readFixed32:function(){var o=yne(this.buf,this.pos);return this.pos+=4,o},readSFixed32:function(){var o=_rt(this.buf,this.pos);return this.pos+=4,o},readFixed64:function(){var o=yne(this.buf,this.pos)+yne(this.buf,this.pos+4)*aQe;return this.pos+=8,o},readSFixed64:function(){var o=yne(this.buf,this.pos)+_rt(this.buf,this.pos+4)*aQe;return this.pos+=8,o},readFloat:function(){var o=H6.read(this.buf,this.pos,!0,23,4);return this.pos+=4,o},readDouble:function(){var o=H6.read(this.buf,this.pos,!0,52,8);return this.pos+=8,o},readVarint:function(o){var A=this.buf,f,m;return m=A[this.pos++],f=m&127,m<128||(m=A[this.pos++],f|=(m&127)<<7,m<128)||(m=A[this.pos++],f|=(m&127)<<14,m<128)||(m=A[this.pos++],f|=(m&127)<<21,m<128)?f:(m=A[this.pos],f|=(m&15)<<28,K1i(f,o,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var o=this.readVarint();return o%2===1?(o+1)/-2:o/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var o=this.readVarint()+this.pos,A=abi(this.buf,this.pos,o);return this.pos=o,A},readBytes:function(){var o=this.readVarint()+this.pos,A=this.buf.subarray(this.pos,o);return this.pos=o,A},readPackedVarint:function(o,A){var f=GD(this);for(o=o||[];this.pos<f;)o.push(this.readVarint(A));return o},readPackedSVarint:function(o){var A=GD(this);for(o=o||[];this.pos<A;)o.push(this.readSVarint());return o},readPackedBoolean:function(o){var A=GD(this);for(o=o||[];this.pos<A;)o.push(this.readBoolean());return o},readPackedFloat:function(o){var A=GD(this);for(o=o||[];this.pos<A;)o.push(this.readFloat());return o},readPackedDouble:function(o){var A=GD(this);for(o=o||[];this.pos<A;)o.push(this.readDouble());return o},readPackedFixed32:function(o){var A=GD(this);for(o=o||[];this.pos<A;)o.push(this.readFixed32());return o},readPackedSFixed32:function(o){var A=GD(this);for(o=o||[];this.pos<A;)o.push(this.readSFixed32());return o},readPackedFixed64:function(o){var A=GD(this);for(o=o||[];this.pos<A;)o.push(this.readFixed64());return o},readPackedSFixed64:function(o){var A=GD(this);for(o=o||[];this.pos<A;)o.push(this.readSFixed64());return o},skip:function(o){var A=o&7;if(A===Wd.Varint)for(;this.buf[this.pos++]>127;);else if(A===Wd.Bytes)this.pos=this.readVarint()+this.pos;else if(A===Wd.Fixed32)this.pos+=4;else if(A===Wd.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+A)},writeTag:function(o,A){this.writeVarint(o<<3|A)},realloc:function(o){for(var A=this.length||16;A<this.pos+o;)A*=2;if(A!==this.length){var f=new Uint8Array(A);f.set(this.buf),this.buf=f,this.length=A}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(o){this.realloc(4),G6(this.buf,o,this.pos),this.pos+=4},writeSFixed32:function(o){this.realloc(4),G6(this.buf,o,this.pos),this.pos+=4},writeFixed64:function(o){this.realloc(8),G6(this.buf,o&-1,this.pos),G6(this.buf,Math.floor(o*yrt),this.pos+4),this.pos+=8},writeSFixed64:function(o){this.realloc(8),G6(this.buf,o&-1,this.pos),G6(this.buf,Math.floor(o*yrt),this.pos+4),this.pos+=8},writeVarint:function(o){if(o=+o||0,o>268435455||o<0){W1i(o,this);return}this.realloc(4),this.buf[this.pos++]=o&127|(o>127?128:0),!(o<=127)&&(this.buf[this.pos++]=(o>>>=7)&127|(o>127?128:0),!(o<=127)&&(this.buf[this.pos++]=(o>>>=7)&127|(o>127?128:0),!(o<=127)&&(this.buf[this.pos++]=o>>>7&127)))},writeSVarint:function(o){this.writeVarint(o<0?-o*2-1:o*2)},writeBoolean:function(o){this.writeVarint(Boolean(o))},writeString:function(o){o=String(o),this.realloc(o.length*4),this.pos++;var A=this.pos;this.pos=sbi(this.buf,o,this.pos);var f=this.pos-A;f>=128&&vrt(A,f,this),this.pos=A-1,this.writeVarint(f),this.pos+=f},writeFloat:function(o){this.realloc(4),H6.write(this.buf,o,this.pos,!0,23,4),this.pos+=4},writeDouble:function(o){this.realloc(8),H6.write(this.buf,o,this.pos,!0,52,8),this.pos+=8},writeBytes:function(o){var A=o.length;this.writeVarint(A),this.realloc(A);for(var f=0;f<A;f++)this.buf[this.pos++]=o[f]},writeRawMessage:function(o,A){this.pos++;var f=this.pos;o(A,this);var m=this.pos-f;m>=128&&vrt(f,m,this),this.pos=f-1,this.writeVarint(m),this.pos+=m},writeMessage:function(o,A,f){this.writeTag(o,Wd.Bytes),this.writeRawMessage(A,f)},writePackedVarint:function(o,A){this.writeMessage(o,X1i,A)},writePackedSVarint:function(o,A){this.writeMessage(o,Z1i,A)},writePackedBoolean:function(o,A){this.writeMessage(o,tbi,A)},writePackedFloat:function(o,A){this.writeMessage(o,$1i,A)},writePackedDouble:function(o,A){this.writeMessage(o,ebi,A)},writePackedFixed32:function(o,A){this.writeMessage(o,ibi,A)},writePackedSFixed32:function(o,A){this.writeMessage(o,rbi,A)},writePackedFixed64:function(o,A){this.writeMessage(o,nbi,A)},writePackedSFixed64:function(o,A){this.writeMessage(o,obi,A)},writeBytesField:function(o,A){this.writeTag(o,Wd.Bytes),this.writeBytes(A)},writeFixed32Field:function(o,A){this.writeTag(o,Wd.Fixed32),this.writeFixed32(A)},writeSFixed32Field:function(o,A){this.writeTag(o,Wd.Fixed32),this.writeSFixed32(A)},writeFixed64Field:function(o,A){this.writeTag(o,Wd.Fixed64),this.writeFixed64(A)},writeSFixed64Field:function(o,A){this.writeTag(o,Wd.Fixed64),this.writeSFixed64(A)},writeVarintField:function(o,A){this.writeTag(o,Wd.Varint),this.writeVarint(A)},writeSVarintField:function(o,A){this.writeTag(o,Wd.Varint),this.writeSVarint(A)},writeStringField:function(o,A){this.writeTag(o,Wd.Bytes),this.writeString(A)},writeFloatField:function(o,A){this.writeTag(o,Wd.Fixed32),this.writeFloat(A)},writeDoubleField:function(o,A){this.writeTag(o,Wd.Fixed64),this.writeDouble(A)},writeBooleanField:function(o,A){this.writeVarintField(o,Boolean(A))}};function K1i(o,A,f){var m=f.buf,C,E;if(E=m[f.pos++],C=(E&112)>>4,E<128||(E=m[f.pos++],C|=(E&127)<<3,E<128)||(E=m[f.pos++],C|=(E&127)<<10,E<128)||(E=m[f.pos++],C|=(E&127)<<17,E<128)||(E=m[f.pos++],C|=(E&127)<<24,E<128)||(E=m[f.pos++],C|=(E&1)<<31,E<128))return O6(o,C,A);throw new Error("Expected varint not more than 10 bytes")}function GD(o){return o.type===Wd.Bytes?o.readVarint()+o.pos:o.pos+1}function O6(o,A,f){return f?A*4294967296+(o>>>0):(A>>>0)*4294967296+(o>>>0)}function W1i(o,A){var f,m;if(o>=0?(f=o%4294967296|0,m=o/4294967296|0):(f=~(-o%4294967296),m=~(-o/4294967296),f^4294967295?f=f+1|0:(f=0,m=m+1|0)),o>=18446744073709552e3||o<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");A.realloc(10),q1i(f,m,A),j1i(m,A)}function q1i(o,A,f){f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos]=o&127}function j1i(o,A){var f=(o&7)<<4;A.buf[A.pos++]|=f|((o>>>=3)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127)))))}function vrt(o,A,f){var m=A<=16383?1:A<=2097151?2:A<=268435455?3:Math.ceil(Math.log(A)/(Math.LN2*7));f.realloc(m);for(var C=f.pos-1;C>=o;C--)f.buf[C+m]=f.buf[C]}function X1i(o,A){for(var f=0;f<o.length;f++)A.writeVarint(o[f])}function Z1i(o,A){for(var f=0;f<o.length;f++)A.writeSVarint(o[f])}function $1i(o,A){for(var f=0;f<o.length;f++)A.writeFloat(o[f])}function ebi(o,A){for(var f=0;f<o.length;f++)A.writeDouble(o[f])}function tbi(o,A){for(var f=0;f<o.length;f++)A.writeBoolean(o[f])}function ibi(o,A){for(var f=0;f<o.length;f++)A.writeFixed32(o[f])}function rbi(o,A){for(var f=0;f<o.length;f++)A.writeSFixed32(o[f])}function nbi(o,A){for(var f=0;f<o.length;f++)A.writeFixed64(o[f])}function obi(o,A){for(var f=0;f<o.length;f++)A.writeSFixed64(o[f])}function yne(o,A){return(o[A]|o[A+1]<<8|o[A+2]<<16)+o[A+3]*16777216}function G6(o,A,f){o[f]=A,o[f+1]=A>>>8,o[f+2]=A>>>16,o[f+3]=A>>>24}function _rt(o,A){return(o[A]|o[A+1]<<8|o[A+2]<<16)+(o[A+3]<<24)}function abi(o,A,f){for(var m="",C=A;C<f;){var E=o[C],I=null,x=E>239?4:E>223?3:E>191?2:1;if(C+x>f)break;var y,v,w;x===1?E<128&&(I=E):x===2?(y=o[C+1],(y&192)===128&&(I=(E&31)<<6|y&63,I<=127&&(I=null))):x===3?(y=o[C+1],v=o[C+2],(y&192)===128&&(v&192)===128&&(I=(E&15)<<12|(y&63)<<6|v&63,(I<=2047||I>=55296&&I<=57343)&&(I=null))):x===4&&(y=o[C+1],v=o[C+2],w=o[C+3],(y&192)===128&&(v&192)===128&&(w&192)===128&&(I=(E&15)<<18|(y&63)<<12|(v&63)<<6|w&63,(I<=65535||I>=1114112)&&(I=null))),I===null?(I=65533,x=1):I>65535&&(I-=65536,m+=String.fromCharCode(I>>>10&1023|55296),I=56320|I&1023),m+=String.fromCharCode(I),C+=x}return m}function sbi(o,A,f){for(var m=0,C,E;m<A.length;m++){if(C=A.charCodeAt(m),C>55295&&C<57344)if(E)if(C<56320){o[f++]=239,o[f++]=191,o[f++]=189,E=C;continue}else C=E-55296<<10|C-56320|65536,E=null;else{C>56319||m+1===A.length?(o[f++]=239,o[f++]=191,o[f++]=189):E=C;continue}else E&&(o[f++]=239,o[f++]=191,o[f++]=189,E=null);C<128?o[f++]=C:(C<2048?o[f++]=C>>6|192:(C<65536?o[f++]=C>>12|224:(o[f++]=C>>18|240,o[f++]=C>>12&63|128),o[f++]=C>>6&63|128),o[f++]=C&63|128)}return f}var sQe=Wd;function V6(o,A){this.x=o,this.y=A}V6.prototype={clone:function(){return new V6(this.x,this.y)},add:function(o){return this.clone()._add(o)},sub:function(o){return this.clone()._sub(o)},multByPoint:function(o){return this.clone()._multByPoint(o)},divByPoint:function(o){return this.clone()._divByPoint(o)},mult:function(o){return this.clone()._mult(o)},div:function(o){return this.clone()._div(o)},rotate:function(o){return this.clone()._rotate(o)},rotateAround:function(o,A){return this.clone()._rotateAround(o,A)},matMult:function(o){return this.clone()._matMult(o)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(o){return this.x===o.x&&this.y===o.y},dist:function(o){return Math.sqrt(this.distSqr(o))},distSqr:function(o){var A=o.x-this.x,f=o.y-this.y;return A*A+f*f},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(o){return Math.atan2(this.y-o.y,this.x-o.x)},angleWith:function(o){return this.angleWithSep(o.x,o.y)},angleWithSep:function(o,A){return Math.atan2(this.x*A-this.y*o,this.x*o+this.y*A)},_matMult:function(o){var A=o[0]*this.x+o[1]*this.y,f=o[2]*this.x+o[3]*this.y;return this.x=A,this.y=f,this},_add:function(o){return this.x+=o.x,this.y+=o.y,this},_sub:function(o){return this.x-=o.x,this.y-=o.y,this},_mult:function(o){return this.x*=o,this.y*=o,this},_div:function(o){return this.x/=o,this.y/=o,this},_multByPoint:function(o){return this.x*=o.x,this.y*=o.y,this},_divByPoint:function(o){return this.x/=o.x,this.y/=o.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var o=this.y;return this.y=this.x,this.x=-o,this},_rotate:function(o){var A=Math.cos(o),f=Math.sin(o),m=A*this.x-f*this.y,C=f*this.x+A*this.y;return this.x=m,this.y=C,this},_rotateAround:function(o,A){var f=Math.cos(o),m=Math.sin(o),C=A.x+f*(this.x-A.x)-m*(this.y-A.y),E=A.y+m*(this.x-A.x)+f*(this.y-A.y);return this.x=C,this.y=E,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}};V6.convert=function(o){return o instanceof V6?o:Array.isArray(o)?new V6(o[0],o[1]):o};function z6(o,A,f,m,C){this.properties={},this.extent=f,this.type=0,this._pbf=o,this._geometry=-1,this._keys=m,this._values=C,o.readFields(lbi,this,A)}function lbi(o,A,f){o==1?A.id=f.readVarint():o==2?Abi(f,A):o==3?A.type=f.readVarint():o==4&&(A._geometry=f.pos)}function Abi(o,A){for(var f=o.readVarint()+o.pos;o.pos<f;){var m=A._keys[o.readVarint()],C=A._values[o.readVarint()];A.properties[m]=C}}z6.types=["Unknown","Point","LineString","Polygon"];z6.prototype.loadGeometry=function(){var o=this._pbf;o.pos=this._geometry;for(var A=o.readVarint()+o.pos,f=1,m=0,C=0,E=0,I=[],x;o.pos<A;){if(m<=0){var y=o.readVarint();f=y&7,m=y>>3}if(m--,f===1||f===2)C+=o.readSVarint(),E+=o.readSVarint(),f===1&&(x&&I.push(x),x=[]),x.push(new V6(C,E));else if(f===7)x&&x.push(x[0].clone());else throw new Error("unknown command "+f)}return x&&I.push(x),I};z6.prototype.bbox=function(){var o=this._pbf;o.pos=this._geometry;for(var A=o.readVarint()+o.pos,f=1,m=0,C=0,E=0,I=1/0,x=-1/0,y=1/0,v=-1/0;o.pos<A;){if(m<=0){var w=o.readVarint();f=w&7,m=w>>3}if(m--,f===1||f===2)C+=o.readSVarint(),E+=o.readSVarint(),C<I&&(I=C),C>x&&(x=C),E<y&&(y=E),E>v&&(v=E);else if(f!==7)throw new Error("unknown command "+f)}return[I,y,x,v]};z6.prototype.toGeoJSON=function(o,A,f,m){var C=this.extent*Math.pow(2,f),E=this.extent*o,I=this.extent*A/2,x=this.loadGeometry(),y=z6.types[this.type],v,w;function Q(D){for(var S=0;S<D.length;S++){var P=D[S],R=90-(P.y+I)*180/(C/2);D[S]=[(P.x+E)*360/C-180,R]}}switch(this.type){case 1:var M=[];for(v=0;v<x.length;v++)M[v]=x[v][0];x=M,Q(x);break;case 2:for(v=0;v<x.length;v++)Q(x[v]);break;case 3:for(x=ubi(x),v=0;v<x.length;v++)for(w=0;w<x[v].length;w++)Q(x[v][w]);break}x.length===1?x=x[0]:y="Multi"+y;var B={type:"Feature",geometry:{type:y,coordinates:x},properties:this.properties};return"id"in this&&(B.id=this.id),B};function ubi(o){var A=o.length;if(A<=1)return[o];for(var f=[],m,C,E=0;E<A;E++){var I=cbi(o[E]);I!==0&&(C===void 0&&(C=I<0),C===I<0?(m&&f.push(m),m=[o[E]]):m.push(o[E]))}return m&&f.push(m),f}function cbi(o){for(var A=0,f=0,m=o.length,C=m-1,E,I;f<m;C=f++)E=o[f],I=o[C],A+=(I.x-E.x)*(E.y+I.y);return A}function Brt(o,A){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=o,this._keys=[],this._values=[],this._features=[],o.readFields(hbi,this,A),this.length=this._features.length}function hbi(o,A,f){o===15?A.version=f.readVarint():o===1?A.name=f.readString():o===5?A.extent=f.readVarint():o===2?A._features.push(f.pos):o===3?A._keys.push(f.readString()):o===4&&A._values.push(dbi(f))}function dbi(o){for(var A=null,f=o.readVarint()+o.pos;o.pos<f;){var m=o.readVarint()>>3;A=m===1?o.readString():m===2?o.readFloat():m===3?o.readDouble():m===4?o.readVarint64():m===5?o.readVarint():m===6?o.readSVarint():m===7?o.readBoolean():null}return A}Brt.prototype.feature=function(o){if(o<0||o>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[o];var A=this._pbf.readVarint()+this._pbf.pos;return new z6(this._pbf,A,this.extent,this._keys,this._values)};function gbi(o,A){this.layers=o.readFields(fbi,{},A)}function fbi(o,A,f){if(o===3){var m=new Brt(f,f.readVarint()+f.pos);m.length&&(A[m.name]=m)}}var lQe=gbi;function Ov(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this.item={show:!0},this._option=void 0,this._primitive=void 0,this._Provider=void 0,this.labelCollections=new this._cesium.PointPrimitiveCollection,this.geometries_line=[],this.geometries_polygon=[]}var pbi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};Ov.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":pbi(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};Ov.prototype.createVolumeVectorGeoJsonFeatureLayer=function(o,A,f,m,C){var E={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};this.extent={XMin:A.minx||0,YMin:A.miny||0,XMax:A.maxx||0,YMax:A.maxy||0},!this._core.isnull(f)&&!this._core.isnull(f.fill)&&(f.fill.toString().charAt(0)=="["&&f.fill.toString().charAt(f.fill.length-1)=="]"||(this._core.isHtmlColor(f.fill)?f.fill=this._color.colorFromHtmlColor(f.fill):(/^rgb/.test(f.fill)&&(f.fill=this._color.rgbaStringToRgbaObj(f.fill)),f.fill.r>1&&(f.fill.r=f.fill.r/255),f.fill.g>1&&(f.fill.g=f.fill.g/255),f.fill.b>1&&(f.fill.b=f.fill.b/255),f.fill.a>1&&(f.fill.a=f.fill.a/255),f.fill=this._color.createColor(f.fill.r,f.fill.g,f.fill.b,f.fill.a)))),!this._core.isnull(f)&&!this._core.isnull(f.polylinefill)&&(f.polylinefill.toString().charAt(0)=="["&&f.polylinefill.toString().charAt(f.polylinefill.length-1)=="]"||(this._core.isHtmlColor(f.polylinefill)?f.polylinefill=this._color.colorFromHtmlColor(f.polylinefill):(/^rgb/.test(f.polylinefill)&&(f.polylinefill=this._color.rgbaStringToRgbaObj(f.polylinefill)),f.polylinefill.r>1&&(f.polylinefill.r=f.polylinefill.r/255),f.polylinefill.g>1&&(f.polylinefill.g=f.polylinefill.g/255),f.polylinefill.b>1&&(f.polylinefill.b=f.polylinefill.b/255),f.polylinefill.a>1&&(f.polylinefill.a=f.polylinefill.a/255),f.polylinefill=this._color.createColor(f.polylinefill.r,f.polylinefill.g,f.polylinefill.b,f.polylinefill.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),this._option=this._core.extend(E,f,!0),A==null&&console.log("url is required"),o==null&&console.log("layername is required");var x=this,y={polygonHierarchy:void 0,height:30,extrudedHeight:100,vertexFormat:Cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:Cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:Cesium.ArcType.GEODESIC,material:Cesium.Color.WHITE},v="http://124.128.48.210:81/arcgis/rest/services/Hosted/tdtsd0408/VectorTileServer/resources/styles/root.json";x._core.xhr({url:v,type:"get",dataType:"json",success:function(w){var Q=[],M=w.layers,B="http://124.128.48.210:81/arcgis/rest/services/Hosted/tdtsd0408/VectorTileServer/tile/0/0/0.pbf";Cesium.Resource.createIfNeeded(B).fetchArrayBuffer().then(function(D){function S(W){for(var O=0;O<W.length;O++)Array.isArray(W[O])?S(W[O]):Q.push(W[O])}function P(W){var O=Cesium.Cartesian3.fromDegreesArray(W),re={positions:O,width:10,color:Cesium.ColorGeometryInstanceAttribute.fromColor(x._option.polylinefill)},se=new Cesium.PolylineGeometry(re),ce=new Cesium.GeometryInstance({geometry:se});U.push(ce)}function R(W){var O=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray(W))}),re=Cesium.PolygonGeometry.createGeometry(O),se=new Cesium.GeometryInstance({geometry:re,attributes:{color:Y}});N.push(se)}var T=new sQe(D),L=0,F=new lQe(T),U=[],N=[];x.labelCollections=new x._cesium.LabelCollection;for(var H in F.layers)for(var J=F.layers[H],K=0;K<J.length;K++)for(var X=J.feature(K),j=X.loadGeometry(),ee=0;ee<j.length;ee++)for(var ie=j[ee],z=0;z<ie.length;z++){var oe=ie[z],le=null;if(X.properties._symbol!=null)for(var Ae=X.properties._symbol,he=0;he<M.length;he++)M[he].filter!=null&&M[he].filter[0]=="=="&&M[he].filter[1]=="_symbol"&&M[he].filter[2]==Ae&&(le=M[he]);else if(J.name!=null)for(var ge=J.name,he=0;he<M.length;he++)M[he]["source-layer"]!=null&&M[he]["source-layer"]==ge&&(le=M[he]);if(X.type==1)try{var de=X.toGeoJSON(0,0,0,x.extent);if(f.text!=null&&/^\[/.test(f.text)&&/\]$/.test(f.text)){var fe=f.text.replace(/\[/,"").replace(/\]/,"");x._option.text=X.properties[fe]}le.paint!=null&&le.paint["icon-color"]&&(x._option.fill=x._color.createColorTransformation(le.paint["icon-color"])),x._option.position=new x._cesium.Cartesian3.fromDegrees(de.geometry.coordinates[0],de.geometry.coordinates[1],x._option.height);var G={};de.geometry.type=="point"?G={id:de,color:x._option.fill,position:x._option.position}:G=x._option,x.labelCollections.add(G)}catch{}if(X.type==2){var oe=ie[0],de=X.toGeoJSON(0,0,0,x.extent);if(!x._core.isnull(f.polylinefill)&&le.paint!=null&&le.paint["icon-color"]&&(x._option.polylinefill=x._color.createColorTransformation(le.paint["icon-color"])),Array.isArray(de.geometry.coordinates)&&de.geometry.coordinates.length>0)if(Array.isArray(de.geometry.coordinates[0][0]))for(var ee=0;ee<de.geometry.coordinates.length;ee++)Q=[],S(de.geometry.coordinates[ee]),P(Q);else S(de.geometry.coordinates),P(Q)}if(X.type==3)try{var oe=ie[0],de=X.toGeoJSON(0,0,0,x.extent),Y=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA);if(le.paint["fill-color"]!=null&&(Y=Cesium.ColorGeometryInstanceAttribute.fromColor(x._color.createColorTransformation(le.paint["fill-color"]))),Array.isArray(de.geometry.coordinates)&&de.geometry.coordinates.length>0)if(Array.isArray(de.geometry.coordinates[0][0]))for(var ee=0;ee<de.geometry.coordinates.length;ee++)Q=[],S(de.geometry.coordinates[ee]),R(Q);else S(de.geometry.coordinates),R(Q)}catch{}}x.labelCollections.length>0&&x._viewer.scene.primitives.add(x.labelCollections),U.length>0&&x._viewer.scene.primitives.add(new Cesium.Primitive({geometryInstances:U,appearance:new Cesium.PolylineColorAppearance})),N.length>0&&x._viewer.scene.primitives.add(new Cesium.Primitive({geometryInstances:N,appearance:new x._cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromRandom({alpha:1})}}}),faceForward:!0,flat:!1}),shadows:Cesium.ShadowMode.ENABLED}))})}})};Ov.prototype.createVolumeVectorGeoJsonFeatureLayers=function(o,A,f,m,C){var E={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};this.extent={XMin:A.minx||0,YMin:A.miny||0,XMax:A.maxx||0,YMax:A.maxy||0},!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(E,f,!0),A==null&&console.log("url is required"),o==null&&console.log("layername is required");var x=[],y={polygonHierarchy:void 0,height:0,extrudedHeight:100,vertexFormat:Cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:Cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:Cesium.ArcType.GEODESIC,material:Cesium.Color.WHITE},v=this;this._urlTemplate=A.url+"?"+this._serialize(I.urlParams),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=styleOption.level_max-1,this._Provider.loadTile=function(M,B){if(this.tile=B,B.state===Cesium.QuadtreeTileLoadState.START&&v.item.show)if(B.data={lines:[],geometryPrimitive:void 0},B.level>=f.level_min&&B.level<f.level_max){var D=Ii.filter(x,function(S){return S.x==B.x&&S.y==B.y&&S.level==B.level});if(D.length!=0&&D[0].data&&D[0].data.length>0){B.data.geometryPrimitive=new Cesium.Primitive({geometryInstances:D[0].data,appearance:new Cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:Cesium.ShadowMode.ENABLED}),B.state=Cesium.QuadtreeTileLoadState.LOADING,B.state===Cesium.QuadtreeTileLoadState.LOADING&&(B.data.geometryPrimitive&&B.data.geometryPrimitive.update(M,[]),B.state=Cesium.QuadtreeTileLoadState.DONE,B.renderable=!0);return}(function(S){var P="http://124.128.48.210:81/arcgis/rest/services/Hosted/tdtsd0408/VectorTileServer/tile/0/0/0.pbf";Cesium.Resource.createIfNeeded(P).fetchArrayBuffer().then(function(R){var T=new sQe(R),L=new lQe(T);v.labelCollections=new v._cesium.PointPrimitiveCollection;var F=[],U=[];for(var N in L.layers)for(var H=L.layers[N],J=0;J<H.length;J++)for(var K=H.feature(J),X=K.loadGeometry(),j=0;j<X.length;j++)for(var ee=X[j],ie=0;ie<ee.length;ie++){var z=ee[ie];if(K.type==1)try{var oe=K.toGeoJSON(0,0,0,v.extent);if(v._option.text!=null&&/^\[/.test(v._option.text)&&/\]$/.test(v._option.text)){var le=v._option.text.replace(/\[/,"").replace(/\]/,"");y.text=K.properties[le]}y.position=new v._cesium.Cartesian3.fromDegrees(oe.geometry.coordinates[0],oe.geometry.coordinates[1],y.height);var Ae={};oe.geometry.type=="point"?Ae={id:oe,color:y.material,position:y.position}:Ae=y,v.labelCollections.add(Ae)}catch{}if(K.type==2)for(var z=ee[0],oe=K.toGeoJSON(S.x,S.y,S.level,v.extent),ie=0;ie<oe.geometry.coordinates.length;ie++)try{var he=[];oe.geometry.coordinates[ie].forEach(function(re){he.push(re[0],re[1])});var ge=new Cesium.PolylineGeometry({positions:Cesium.Cartesian3.fromDegreesArray(he),width:10}),de=Cesium.PolylineGeometry.createGeometry(ge),fe=new Cesium.GeometryInstance({geometry:de});F.push(fe)}catch{}if(K.type==3)for(var z=ee[0],oe=K.toGeoJSON(S.x,S.y,S.level,v.extent),ie=0;ie<oe.geometry.coordinates.length;ie++)try{var he=[];oe.geometry.coordinates[ie].forEach(function(me){he.push(me[0],me[1])});var G=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray(he))}),de=Cesium.PolygonGeometry.createGeometry(G),fe=new Cesium.GeometryInstance({geometry:de});U.push(fe)}catch{}}v.labelCollections.length>0&&v._viewer.scene.primitives.add(v.labelCollections),F.length>0&&v._viewer.scene.primitives.add(new Cesium.Primitive({geometryInstances:F,appearance:new v._cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromRandom({alpha:1})}}}),faceForward:!0,flat:!1}),shadows:Cesium.ShadowMode.ENABLED})),U.length>0&&v._viewer.scene.primitives.add(new Cesium.Primitive({geometryInstances:U,appearance:new v._cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromRandom({alpha:1})}}}),faceForward:!0,flat:!1}),shadows:Cesium.ShadowMode.ENABLED}))})})(B)}else{B.state=Cesium.QuadtreeTileLoadState.LOADING,B.state===Cesium.QuadtreeTileLoadState.LOADING&&(B.data.geometryPrimitive&&(B.data.geometryPrimitive.update(M,[]),B._parent&&B._parent.data&&B._parent.data.geometryPrimitive&&(B._parent.data.geometryPrimitive.destroy(),B._parent.data.geometryPrimitive=null,B._parent.state=Cesium.QuadtreeTileLoadState.START),B._southwestChild&&B._southwestChild.data&&B._southwestChild.data.geometryPrimitive&&(B._southwestChild.data.geometryPrimitive.destroy(),B._southwestChild.data.geometryPrimitive=null,B._southwestChild.state=Cesium.QuadtreeTileLoadState.START),B._southeastChild&&B._southeastChild.data&&B._southeastChild.data.geometryPrimitive&&(B._southeastChild.data.geometryPrimitive.destroy(),B._southeastChild.data.geometryPrimitive=null,B._southeastChild.state=Cesium.QuadtreeTileLoadState.START),B._northwestChild&&B._northwestChild.data&&B._northwestChild.data.geometryPrimitive&&(B._northwestChild.data.geometryPrimitive.destroy(),B._northwestChild.data.geometryPrimitive=null,B._northwestChild.state=Cesium.QuadtreeTileLoadState.START),B._northeastChild&&B._northeastChild.data&&B._northeastChild.data.geometryPrimitive&&(B._northeastChild.data.geometryPrimitive.destroy(),B._northeastChild.data.geometryPrimitive=null,B._northeastChild.state=Cesium.QuadtreeTileLoadState.START)),B.state=Cesium.QuadtreeTileLoadState.DONE,B.renderable=!0);return}},this._primitive=new v._cesium.QuadtreePrimitive({tileProvider:this._Provider});var w=this._viewer.scene,Q=w.primitives;Q.add(this._primitive)};Ov.prototype.createVolumeGeoJsonFeatureLayer=function(o,A,f,m,C){var E={polylinePositions:void 0,shapePositions:void 0,ellipsoid:this._cesium.Ellipsoid.WGS84,granularity:this._cesium.Math.RADIANS_PER_DEGREE,vertexFormat:this._cesium.VertexFormat.DEFAULT,cornerType:this._cesium.CornerType.ROUNDED};A==null&&console.log("geojson is required");var I=null;A.then?I=A:I=this._cesium.GeoJsonDataSource.load(A);var x=this,y=[];E.shapePositions=this.computeCircle(f.radius),I.then(function(w){var Q=x._cesium.Color.WHITE;!x._core.isnull(f)&&!x._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"?Q=f.material.replace(/\[/,"").replace("/]/",""):Q=Ii.clone(f.material),x._core.isHtmlColor(Q)?Q=x._color.colorFromHtmlColor(f.material):(/^rgb/.test(Q)&&(Q=x._color.rgbaStringToRgbaObj(Q)),Q.r>1&&(Q.r=Q.r/255),Q.g>1&&(Q.g=Q.g/255),Q.b>1&&(Q.b=Q.b/255),Q.a>1&&(Q.a=Q.a/255),Q=x._color.createColor(Q.r,Q.g,Q.b,Q.a)));for(var M=w.entities.values,B=0;B<M.length;B++){var D=M[B];E.polylinePositions=D.polyline.positions._value;var S=new x._cesium.PolylineVolumeGeometry(E),P=x._cesium.PolylineVolumeGeometry.createGeometry(S),R=new x._cesium.GeometryInstance({geometry:P});y.push(R)}var T=x._viewer.scene.primitives.add(new x._cesium.Primitive({geometryInstances:y,appearance:new x._cesium.MaterialAppearance({material:new x._cesium.Material({fabric:{type:"Color",uniforms:{color:Q}}}),faceForward:!0,flat:!1})}));x.item=T,f.show==!1&&(T.show=!1),typeof C=="function"&&C(T)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u7BA1\u72B6\u56FE\u5C42"+f.id);var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:geoOptions.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};Ov.prototype.computeCircle=function(o){this._core.isnull(o)&&(o=4);for(var A=[],f=0;f<360;f++){var m=this._cesium.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};Ov.prototype.createVolumeGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.RECEIVE_ONLY},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(I,f,!0),v=new yu(this._viewer,this._cesium,x);this._Provider=v;var w=this;v._loadTile=function(M){var B=[],D=new w._cesium.PrimitiveCollection;return M.features.forEach(function(S){var P=[];function R(Ae){for(var he=0;he<Ae.length;he++)Array.isArray(Ae[he])?R(Ae[he]):P.push(Ae[he])}var T=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var L=f.material.replace(/\[/,"").replace(/\]/,"");y.material=S.properties[L],that._core.isHtmlColor(y.material)?y.material=that._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=that._color.rgbaStringToRgbaObj(y.material)),y.material.r>1&&(y.material.r=y.material.r/255),y.material.g>1&&(y.material.g=y.material.g/255),y.material.b>1&&(y.material.b=y.material.b/255),y.material.a>1&&(y.material.a=y.material.a/255),y.material=that._color.createColor(y.material.r,y.material.g,y.material.b,y.material.a))}for(var F=0;F<S.geometry.coordinates.length;F++){var U=S.geometry.coordinates[F];if(U.length>0)if(Array.isArray(U[0]))for(var N=0;N<U.length;N++){var H=U[N],J=w._cesium.Cartesian3.fromDegrees(H[0],H[1],y.height);T.push(J)}else{var K=w._cesium.Cartesian3.fromDegrees(U[0],U[1],y.height);T.push(K)}}if(y.position=T,y.slttype=="0"||y.slttype==0)y.shape=w._core.computeCircle(y.radius);else if(y.slttype=="1"||y.slttype==1)y.shape=w._core.starPositions(y.number,y.exradius,y.inradius);else if(y.slttype=="2"||y.slttype==2){var X=y.orth_width/2,j=y.orth_height/2;y.shape=[new w._cesium.Cartesian2(-X,-j),new w._cesium.Cartesian2(X,-j),new w._cesium.Cartesian2(X,j),new w._cesium.Cartesian2(-X,j)]}S.positions=T;var ee={polylinePositions:y.position,shapePositions:y.shape,cornerType:y.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}},ie=new w._cesium.PolylineVolumeGeometry(ee),z=w._cesium.PolylineVolumeGeometry.createGeometry(ie),oe=new w._cesium.GeometryInstance({id:S,geometry:z,attributes:{color:new w._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}}),le=new w._cesium.Primitive({allowPicking:!0,appearance:new w._cesium.MaterialAppearance({material:new w._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}}),faceForward:!0,flat:!1}),shadows:y.shadows,geometryInstances:oe});D.add(le)}),D},this.item=v._primitiveCollection,v.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A.url,style:f};this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};Ov.prototype.setTreeobj=function(o){this.treeobj=o};Ov.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};Ov.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};Ov.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(o)}catch{}};Ov.prototype.setVisibility=function(o){this.item.show=o,this._Provider&&this._Provider.setStatus(o)};var vne=Ov;function Gv(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this._VectorTileProvider=new is(this._viewer,this._cesium),this._primitive=void 0,this._Provider=void 0,this.Legend=[]}Gv.prototype.createWallGeoFeatureLayer=function(o,A,f,m,C,E,I){var x={positions:[],minimumHeights:[],maximumHeights:[],granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(x,f,!0);this._core.isnull(m)&&(m=16),this._core.isnull(C)&&(C=14),A==null&&console.log("url is required"),o==null&&console.log("layername is required");var v=this,w=[];this._VectorTileProvider.loadTile=function(B,D){if(this.tile=D,D.state===v._cesium.QuadtreeTileLoadState.START)if(D.data={lines:[],geometryPrimitive:void 0},D.level>=C&&D.level<m){var S=Ii.filter(w,function(P){return P.x==D.x&&P.y==D.y&&P.level==D.level});if(S.length!=0&&S[0].data&&S[0].data.length>0){D.data.geometryPrimitive=new v._cesium.Primitive({geometryInstances:S[0].data,appearance:new v._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:v._cesium.ShadowMode.ENABLED}),D.state=v._cesium.QuadtreeTileLoadState.LOADING,D.state===v._cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&D.data.geometryPrimitive.update(B,[]),D.state=v._cesium.QuadtreeTileLoadState.DONE,D.renderable=!0);return}w.push({level:D.level,x:D.x,y:D.y,data:void 0}),function(P){v._core.xhr({url:A+"?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&LAYER="+o+"&STYLE=&TILEMATRIX=EPSG:4490:"+P.level+"&TILEMATRIXSET=EPSG:4490&FORMAT=application/json;type=geojson&TILECOL="+P.x+"&TILEROW="+P.y,type:"get",dataType:"json",success:function(R){var T=[];function L(K){for(var X=0;X<K.length;X++)Array.isArray(K[X])?L(K[X]):U.push(K[X])}for(var F=0;F<R.features.length;F++){var U=[];L(R.features[F].geometry.coordinates[0]);var N=v._cesium.Cartesian3.fromDegreesArray(U);y.positions=N;var H=new v._cesium.GeometryInstance({geometry:new v._cesium.WallGeometry({positions:y.positions}),attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.WHITE)}});T.push(H)}var J=Ii.filter(w,function(K){return K.x==P.x&&K.y==P.y});J[0].data=T,P.data.geometryPrimitive=new v._cesium.Primitive({geometryInstances:T,appearance:new v._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:v._cesium.ShadowMode.ENABLED})},error:function(){w=Ii.remove(w,function(R){return R.x==P.x&&R.y==P.y&&R.level==P.level})},complete:function(){P.state=v._cesium.QuadtreeTileLoadState.LOADING,P.state===v._cesium.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive&&P.data.geometryPrimitive.update(B,[]),P.state=v._cesium.QuadtreeTileLoadState.DONE,P.renderable=!0)}})}(D)}else D.state=v._cesium.QuadtreeTileLoadState.LOADING,D.state===v._cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&D.data.geometryPrimitive.update(B,[]),D.state=v._cesium.QuadtreeTileLoadState.DONE,D.renderable=!0)},this._primitive=new v._cesium.QuadtreePrimitive({tileProvider:this._VectorTileProvider});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive)};Gv.prototype.createWallPrimitiveGeoFeatureLayer=function(o,A,f,m,C,E){var I={positions:void 0,granularity:this._cesium.Math.RADIANS_PER_DEGREE,maximumHeights:0,minimumHeights:0,vertexFormat:this._cesium.VertexFormat.DEFAULT};A==null&&console.log("geojson is required");var x=null;A.then?x=A:x=this._cesium.GeoJsonDataSource.load(A);var y=this,v=[];x.then(function(Q){for(var M=Q.entities.values,B=0;B<M.length;B++){var D=M[B];I.positions=D.polyline.positions._value;var S=new Array(I.positions.length),P=new Array(I.positions.length),R=void 0,T=void 0;/^\[/.test(f.minimumHeights)?(R=f.minimumHeights.replace(/\[/,"").replace("/]/",""),R=D.properties[R]._value):R=f.minimumHeights,/^\[/.test(f.maximumHeights)?(T=f.maximumHeights.replace(/\[/,"").replace("/]/",""),T=D.properties[T]._value):T=f.maximumHeights,S.fill(R),P.fill(T),I.minimumHeights=S,I.maximumHeights=P;var L=y._cesium.Color.WHITE;!y._core.isnull(f)&&!y._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"?L=f.material.replace(/\[/,"").replace("/]/",""):L=Ii.clone(f.material),y._core.isHtmlColor(L)?L=y._color.colorFromHtmlColor(f.material):(/^rgb/.test(L)&&(L=y._color.rgbaStringToRgbaObj(L)),L.r>1&&(L.r=L.r/255),L.g>1&&(L.g=L.g/255),L.b>1&&(L.b=L.b/255),L.a>1&&(L.a=L.a/255),L=y._color.createColor(L.r,L.g,L.b,L.a)));var F="material:"+L.red*255+","+L.green*255+","+L.blue*255;y.Legend.push(F);var U=new y._cesium.GeometryInstance({id:D,geometry:new y._cesium.WallGeometry(I),attributes:{color:new y._cesium.ColorGeometryInstanceAttribute.fromColor(L)}});v.push(U)}var N;f&&f.time&&(N=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})]));var H=y._viewer.scene.primitives.add(new y._cesium.Primitive({geometryInstances:v,appearance:new y._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0})}),N);y.item=H,C||_this.setVisibility(!1),typeof E=="function"&&E(H)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5899\u56FE\u5C42"+options.id);var w={id:f.id,name:o,pId:this._core.isnull(m)?0:m,type:"polylineWallLayer",item:this,url:A,style:options};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};Gv.prototype.createWallGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={positions:void 0,granularity:this._cesium.Math.RADIANS_PER_DEGREE,maximumHeights:0,minimumHeights:0,vertexFormat:this._cesium.VertexFormat.DEFAULT},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=new yu(this._viewer,this._cesium,x);this._Provider=y;var v=this;y._loadTile=function(Q){var M=[];v.Legend=[];var B=new v._cesium.PrimitiveCollection;return Q.features.forEach(function(D){var S=[],P=!1;function R(F){for(var U=0;U<F.length;U++)Array.isArray(F[U])?R(F[U]):(S.push(F[U]),U===2&&!P&&(P=!0))}if(Array.isArray(D.geometry.coordinates)&&D.geometry.coordinates.length>0)if(Array.isArray(D.geometry.coordinates[0][0]))for(var T=0;T<D.geometry.coordinates.length;T++)S=[],R(D.geometry.coordinates[T]),L(S);else R(D.geometry.coordinates),L(S);function L(F){if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var U=f.material.replace(/\[/,"").replace(/\]/,"");options.material=D.properties[U],v._core.isHtmlColor(options.material)?options.material=v._color.colorFromHtmlColor(options.material):(/^rgb/.test(options.material)&&(options.material=v._color.rgbaStringToRgbaObj(options.material)),options.material.r>1&&(options.material.r=options.material.r/255),options.material.g>1&&(options.material.g=options.material.g/255),options.material.b>1&&(options.material.b=options.material.b/255),options.material.a>1&&(options.material.a=options.material.a/255),options.material=v._color.createColor(options.material.r,options.material.g,options.material.b,options.material.a))}var N=P?v._cesium.Cartesian3.fromDegreesArrayHeights(F):v._cesium.Cartesian3.fromDegreesArray(F);I.positions=N,D.positions=N;var H=new Array(I.positions.length),J=new Array(I.positions.length),K=void 0,X=void 0;/^\[/.test(f.minimumHeights)?(K=f.minimumHeights.replace(/\[/,"").replace("/]/",""),K=entity.properties[K]._value):K=f.minimumHeights,/^\[/.test(f.maximumHeights)?(X=f.maximumHeights.replace(/\[/,"").replace("/]/",""),X=entity.properties[X]._value):X=f.maximumHeights,H.fill(K),J.fill(X),I.minimumHeights=H,I.maximumHeights=J,D.treeID=f.id,D.VectorType="wall",D.VectorStyle={haveZ:P,minimumHeights:H,maximumHeights:J,positions:F,material:f.material};var j=new v._cesium.GeometryInstance({id:D,geometry:new v._cesium.WallGeometry(I),attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(f.material)}}),ee="material:"+f.material.red*255+","+f.material.green*255+","+f.material.blue*255;v.Legend.push(ee);var ie=new v._cesium.Primitive({geometryInstances:j,appearance:new v._cesium.MaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:f.material}}}),faceForward:!0,flat:!1}),vertexCacheOptimize:!0,interleave:!0,shadows:v._cesium.ShadowMode.ENABLED});B.add(ie)}}),B},f&&f.time&&(y.availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=y._primitiveCollection,y.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5899\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineWallLayer",item:this,url:A.url,style:f};return this._Provider.treeID=f.id,this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Gv.prototype.setTreeobj=function(o){this.treeobj=o};Gv.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};Gv.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};Gv.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};Gv.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};Gv.prototype.setVisibility=function(o){this.item.show=o,this._Provider&&this._Provider.setStatus(!o)};Gv.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};Gv.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var kJ=Gv;var fi=null;function Co(o,A){this._viewer=o,this._cesium=A,fi=A,this._core=new Ji(o,A),this._tree=Ke,this._getPosition=new hl(this._viewer,this._cesium),this._ModelEdit=new rJ(this._viewer,this._cesium),this._popupmessage=new VB(this._viewer,this._cesium),this._createGroup=new E3(this._viewer,this._cesium),this._billboardGeoJsonFeatureLayer=new NJ(this._viewer,this._cesium),this._GeoJsonFeatureLayer=new _h(this._viewer,this._cesium),this._LabelGeoJsonFeatureLayercopy=new II(this._viewer,this._cesium),this._VectorGeoJsonFeatureLayer=new jh(this._viewer,this._cesium),this._PolylineGeoJsonFeatureLayer=new I3(this._viewer,this._cesium),this._PointModel=new zB(this._viewer,this._cesium),this._PolygonGeoJsonFeatureLayer=new YB(this._viewer,this._cesium),this._PolygonVectorTileLayerArcgis=new vne(this._viewer,this._cesium),this._WallGeoFeatureLayer=new kJ(this._viewer,this._cesium),this.tooltip=this._core.CreateTooltip(),this.objectsToExclude=[],this.SimpleGraphicObj=[],!Ke.editPointID&&(Ke.editPointID={edit:[],size:[],move:void 0,height:[],add:[]}),this.editProp=!1,this.PrimitiveCollection=new fi.PrimitiveCollection,o.scene.primitives.add(this.PrimitiveCollection),this.SizeData=[],this.featuresPlotting=[],this.openEdit=!0}Co.prototype.createSimpleGraphic=function(o,A={},f){let m=null,C=(E,I)=>{E&&A.removeEdit&&this.SimpleGraphicObj.pop(),A.propData&&this.setPropData(E,A.propData),E.deleteObject=()=>{this.remove(E.id),this._viewer.entities.removeById(E.id)},this.defaultEdit(),f&&f(E,I)};switch(this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),o){case"point":m=this.createPoint(A,C);break;case"billboard":m=this.createBillboard(A,C);break;case"label":m=this.createLabel(A,C);break;case"model":m=this.createModel(A,C);break;case"polyline":m=this.createPolyline(A,C);break;case"polygon":m=this.createPolygon(A,C);break;case"triangle":m=this.createTriangle(A,C);break;case"polygon-rectangle":m=this.createPolygonRectangle(A,C);break;case"rectangle":m=this.createRectangle(A,C);break;case"circle":m=this.createCircle(A,C);break;case"ellipse":m=this.createEllipse(A,C);break;case"box":m=this.createBox(A,C);break;case"cylinder":m=this.createCylinder(A,C);break;case"cone":m=this.createCone(A,C);break;case"sphere":m=this.createSphere(A,C);break;case"polyhedron":m=this.createPolyhedron(A,C);break}return m};Co.prototype.addSimpleGraphic=function(o,A={},f){let m=null;switch(o){case"point":m=this.addPoint(A);break;case"billboard":m=this.addBillboard(A);break;case"label":m=this.addLabel(A);break;case"model":m=this.addModel(A);break;case"polyline":m=this.addPolyline(A);break;case"polylinePrimitive":m=this.addPolylinePrimitive(A);break;case"polygon":m=this.addPolygon(A);break;case"polygonPrimitive":m=this.addPolygonPrimitive(A);break;case"rectangle":m=this.addRectangle(A);break;case"circle":m=this.addCircle(A);break;case"ellipse":m=this.addEllipse(A);break;case"box":m=this.addBox(A);break;case"cylinder":m=this.addCylinder(A);break;case"cone":m=this.addCone(A);break;case"sphere":m=this.addSphere(A);break;case"ellipsoid":m=this.addSphere(A);break;case"polyhedron":m=this.addPolyhedron(A);break}if(m&&A.removeEdit&&this.SimpleGraphicObj.pop(),A.propData&&this.setPropData(m,A.propData),this.defaultEdit(),m.deleteObject=()=>{this.remove(m.id),this._viewer.entities.removeById(m.id)},f&&(A.GroupID=f.pId,A.id=f.id,A.name=f.name),A.GroupID!==void 0){let C={id:m.id,name:m.name,pId:A.GroupID,type:o,item:{item:m,setVisibility:E=>{m.show=E}}};o.indexOf("Primitive")>-1&&(C.id=A.id,C.name=A.name),Ke.insertGroupId(C,A.GroupID)}return m};Co.prototype.getDefaultLabelStyle=function(o){return{show:this._core.defaultValue(o.showLabel,!1),text:this._core.defaultValue(o.label_text,"\u65B0\u5EFA\u6587\u672C"),font:this._core.defaultValue(o.label_font,"24px \u5B8B\u4F53"),scale:this._core.defaultValue(o.label_scale,1),style:this._core.defaultValue(o.label_style,2),fillColor:this._cesium.Color.fromCssColorString(this._core.defaultValue(o.label_fillColor,"#ffffff")),outlineColor:this._cesium.Color.fromCssColorString(this._core.defaultValue(o.label_outlineColor,"#000000")),outlineWidth:this._core.defaultValue(o.label_outlineWidth,0),showBackground:this._core.defaultValue(o.label_showBackground,!1),backgroundColor:this._cesium.Color.fromCssColorString(this._core.defaultValue(o.label_backgroundColor,"rgba(42,42,42,0.8)")),heightReference:this._core.defaultValue(o.label_heightReference,1),horizontalOrigin:this._core.defaultValue(o.label_horizontalOrigin,this._cesium.HorizontalOrigin.CENTER),verticalOrigin:this._core.defaultValue(o.label_verticalOrigin,this._cesium.VerticalOrigin.CENTER),scaleByDistance:this._core.defaultValue(o.label_scaleByDistance,void 0),pixelOffset:this._core.defaultValue(o.label_pixelOffset,void 0),disableDepthTestDistance:this._core.defaultValue(o.label_disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:this._core.defaultValue(o.label_distanceDisplayCondition,new this._cesium.DistanceDisplayCondition(0,1e8))}};Co.prototype.end=function(o){};Co.prototype.createPoint=function(o={},A){let f=this,m=this._viewer;return this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1,this.drawHandler.setInputAction(C=>{let E=f._getPosition.getMousePosition(C);if(E){let I=m.entities.add({id:f._core.getuid(),name:"Point",position:E,point:{pixelSize:16,heightReference:0,color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"#0000ff")),outlineWidth:f._core.defaultValue(o.outlineWidth,2),outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),disableDepthTestDistance:f._core.defaultValue(o.disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:f._core.defaultValue(o.distanceDisplayCondition,new f._cesium.DistanceDisplayCondition(0,1e8))}});f.SimpleGraphicObj.push(I.id),f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),A&&typeof A=="function"&&A(I)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(C=>{f.tooltip.showAt(C.endPosition,"\u70B9\u51FB\u7ED8\u5236\u70B9")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(C=>{this.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=()=>{this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0")},this};Co.prototype.addPoint=function(o={}){let A=this,m=this._viewer.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"Point"),position:o.position,point:{pixelSize:A._core.defaultValue(o.pixelSize,16),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"#0000ff")),outlineWidth:A._core.defaultValue(o.outlineWidth,2),outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),heightReference:A._core.defaultValue(o.heightReference,0),scaleByDistance:A._core.defaultValue(o.scaleByDistance,void 0),disableDepthTestDistance:A._core.defaultValue(o.disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(m.id),m};Co.prototype.createBillboard=function(o={},A){let f=this,m=this._viewer;return this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1,o.image=this._core.getGifImageProperty(o.image),this.drawHandler.setInputAction(C=>{let E=f._getPosition.getMousePosition(C);if(E){let I=m.entities.add({id:f._core.getuid(),name:"Billboard",position:E,billboard:{horizontalOrigin:f._cesium.HorizontalOrigin.CENTER,verticalOrigin:f._cesium.VerticalOrigin.BOTTOM,heightReference:0,scale:f._core.defaultValue(o.scale,1),width:f._core.defaultValue(o.width,o.image?void 0:32),height:f._core.defaultValue(o.height,o.image?void 0:44),image:f._core.defaultValue(o.image,window.SmartEarthRootUrl+kr.mark),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"#ffffff")),disableDepthTestDistance:f._core.defaultValue(o.disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:f._core.defaultValue(o.distanceDisplayCondition,new f._cesium.DistanceDisplayCondition(0,1e8))},label:this.getDefaultLabelStyle(o)});f.SimpleGraphicObj.push(I.id),f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),A&&typeof A=="function"&&A(I)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(C=>{f.tooltip.showAt(C.endPosition,"\u70B9\u51FB\u7ED8\u5236\u56FE\u6807")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(C=>{this.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=()=>{this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0")},this};Co.prototype.addBillboard=function(o={}){let A=this,f=this._viewer;o.image=this._core.getGifImageProperty(o.image);let m=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"Billboard"),position:o.position,billboard:{horizontalOrigin:A._core.defaultValue(o.horizontalOrigin,A._cesium.HorizontalOrigin.CENTER),verticalOrigin:A._core.defaultValue(o.verticalOrigin,A._cesium.VerticalOrigin.BOTTOM),scale:A._core.defaultValue(o.scale,1),rotation:A._core.defaultValue(o.rotation,0),width:A._core.defaultValue(o.width,void 0),height:A._core.defaultValue(o.height,void 0),image:A._core.defaultValue(o.image,window.SmartEarthRootUrl+kr.mark),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"#ffffff")),heightReference:A._core.defaultValue(o.heightReference,0),scaleByDistance:A._core.defaultValue(o.scaleByDistance,void 0),disableDepthTestDistance:A._core.defaultValue(o.disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))},label:this.getDefaultLabelStyle(o)});return A.SimpleGraphicObj.push(m.id),m};Co.prototype.createLabel=function(o={},A){let f=this,m=this._viewer;return this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1,this.drawHandler.setInputAction(C=>{let E=f._getPosition.getMousePosition(C);if(E){let I=m.entities.add({id:f._core.getuid(),name:"Label",position:E,label:{text:"\u65B0\u5EFA\u6587\u672C",font:"24px \u5B8B\u4F53",fillColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.fillColor,"#ffffff")),heightReference:0,scale:1,style:2,outlineColor:f._cesium.Color.BLACK,outlineWidth:0,showBackground:!1,backgroundColor:new f._cesium.Color(.165,.165,.165,.8),horizontalOrigin:f._cesium.HorizontalOrigin.CENTER,verticalOrigin:f._cesium.VerticalOrigin.CENTER,distanceDisplayCondition:f._core.defaultValue(o.distanceDisplayCondition,new f._cesium.DistanceDisplayCondition(0,1e8)),disableDepthTestDistance:Number.POSITIVE_INFINITY}});f.SimpleGraphicObj.push(I.id),f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),A&&typeof A=="function"&&A(I)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(C=>{f.tooltip.showAt(C.endPosition,"\u70B9\u51FB\u7ED8\u5236\u6587\u672C")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(C=>{this.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=()=>{this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0")},this};Co.prototype.addLabel=function(o={}){let A=this,m=this._viewer.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"Label"),position:o.position,label:{text:A._core.defaultValue(o.text,"\u65B0\u5EFA\u6587\u672C"),font:A._core.defaultValue(o.font,"24px \u5B8B\u4F53"),scale:A._core.defaultValue(o.scale,1),style:A._core.defaultValue(o.style,2),fillColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.fillColor,"#ffffff")),outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"#000000")),outlineWidth:A._core.defaultValue(o.outlineWidth,0),showBackground:A._core.defaultValue(o.showBackground,!1),backgroundColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.backgroundColor,"rgba(42,42,42,0.8)")),heightReference:A._core.defaultValue(o.heightReference,0),horizontalOrigin:A._core.defaultValue(o.horizontalOrigin,A._cesium.HorizontalOrigin.CENTER),verticalOrigin:A._core.defaultValue(o.verticalOrigin,A._cesium.VerticalOrigin.CENTER),scaleByDistance:A._core.defaultValue(o.scaleByDistance,void 0),pixelOffset:A._core.defaultValue(o.pixelOffset,void 0),disableDepthTestDistance:A._core.defaultValue(o.disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(m.id),m};Co.prototype.createModel=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C,E=fi.Matrix3.fromRotationX(fi.Math.toRadians(f._core.defaultValue(o.heading,0))),I=fi.Matrix3.fromRotationY(fi.Math.toRadians(f._core.defaultValue(o.pitch,0))),x=fi.Matrix3.fromRotationZ(fi.Math.toRadians(f._core.defaultValue(o.roll,0))),y=fi.Matrix4.fromRotationTranslation(E),v=fi.Matrix4.fromRotationTranslation(I),w=fi.Matrix4.fromRotationTranslation(x);this.drawHandler.setInputAction(M=>{let B=f._getPosition.getMousePosition(M,C);B&&(C&&m.scene.primitives.remove(C),C=m.entities.add({id:f._core.getuid(),name:f._core.defaultValue(o.name,"Model"),position:B,orientation:fi.Transforms.headingPitchRollQuaternion(B,new fi.HeadingPitchRoll(fi.Math.toRadians(f._core.defaultValue(o.heading,0)),fi.Math.toRadians(f._core.defaultValue(o.pitch,0)),fi.Math.toRadians(f._core.defaultValue(o.roll,0)))),model:{uri:f._core.defaultValue(o.url,window.SmartEarthRootUrl+kr.testModel),scale:f._core.defaultValue(o.scale,1),minimumPixelSize:0,runAnimations:!0,colorBlendMode:f._core.defaultValue(o.colorBlendMode,void 0),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"#ffffff")),distanceDisplayCondition:f._core.defaultValue(o.distanceDisplayCondition,new f._cesium.DistanceDisplayCondition(0,1e8))}}),C.heading=f._core.defaultValue(o.heading,0),C.pitch=f._core.defaultValue(o.pitch,0),C.roll=f._core.defaultValue(o.roll,0),f.SimpleGraphicObj.push(C.id),f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),A&&typeof A=="function"&&A(C))},this._cesium.ScreenSpaceEventType.LEFT_CLICK);let Q=!1;return this.drawHandler.setInputAction(M=>{let B=f._getPosition.getMousePosition(M,C);if(C){let D=fi.Transforms.eastNorthUpToFixedFrame(B);fi.Matrix4.multiply(D,y,D),fi.Matrix4.multiply(D,v,D),fi.Matrix4.multiply(D,w,D),C.modelMatrix=D}else if(B){let D=fi.Transforms.eastNorthUpToFixedFrame(B);fi.Matrix4.multiply(D,y,D),fi.Matrix4.multiply(D,v,D),fi.Matrix4.multiply(D,w,D),C=m.scene.primitives.add(fi.Model.fromGltf({modelMatrix:D,url:f._core.defaultValue(o.url,window.SmartEarthRootUrl+kr.testModel),scale:f._core.defaultValue(o.scale,1),minimumPixelSize:0,colorBlendMode:f._core.defaultValue(o.colorBlendMode,void 0),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"#ffffff")).withAlpha(.5),distanceDisplayCondition:f._core.defaultValue(o.distanceDisplayCondition,new f._cesium.DistanceDisplayCondition(0,1e8)),allowPicking:!1})),C.readyPromise.then(()=>{Q=!0})}Q?f.tooltip.showAt(M.endPosition,"\u70B9\u51FB\u7ED8\u5236\u6A21\u578B"):f.tooltip.showAt(M.endPosition,"\u52A0\u8F7D\u6A21\u578B\u4E2D...")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(M=>{this.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=()=>{this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0")},this};Co.prototype.addModel=function(o={}){let A=this,m=this._viewer.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"Model"),position:o.position,orientation:fi.Transforms.headingPitchRollQuaternion(o.position,new fi.HeadingPitchRoll(fi.Math.toRadians(A._core.defaultValue(o.heading,0)),fi.Math.toRadians(A._core.defaultValue(o.pitch,0)),fi.Math.toRadians(A._core.defaultValue(o.roll,0)))),model:{scale:A._core.defaultValue(o.scale,1),uri:A._core.defaultValue(o.url,window.SmartEarthRootUrl+kr.testModel),minimumPixelSize:A._core.defaultValue(o.minimumPixelSize,0),runAnimations:A._core.defaultValue(o.runAnimations,!0),colorBlendMode:A._core.defaultValue(o.colorBlendMode,void 0),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"#ffffff")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return m.heading=A._core.defaultValue(o.heading,0),m.pitch=A._core.defaultValue(o.pitch,0),m.roll=A._core.defaultValue(o.roll,0),A.SimpleGraphicObj.push(m.id),m};Co.prototype.createPolyline=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E;return this.drawHandler.setInputAction(I=>{let x=f._getPosition.getMousePosition(I,E);!x||(C.length===0&&C.push(x.clone()),C.push(x),o.toPoint&&C.length===3&&(C.pop(),f.end()),E||(E=m.entities.add({id:f._core.getuid(),name:f._core.defaultValue(o.name,"\u65B0\u5EFA\u7EBF"),polyline:{positions:new f._cesium.CallbackProperty(function(){return C},!1),clampToGround:f._core.defaultValue(o.clampToGround,!0),material:new fi.PolylineOutlineMaterialProperty({color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)")),outlineWidth:0,outlineColor:f._cesium.Color.WHITE.withAlpha(.6)}),depthFailMaterial:o.depthFailColor&&new fi.PolylineOutlineMaterialProperty({color:f._cesium.Color.fromCssColorString(o.depthFailColor),outlineWidth:0,outlineColor:f._cesium.Color.WHITE.withAlpha(.6)}),width:f._core.defaultValue(o.width,3),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),f.SimpleGraphicObj.push(E.id)),o.showSize&&f.showSizeData("polyline",[C[C.length-2],C[C.length-1]]))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(I=>{if(C.length===0)f.tooltip.showAt(I.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236");else{f.tooltip.showAt(I.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");let x=f._getPosition.getMousePosition(I,E);if(!x)return;C.pop(),C.push(x),o.showSize&&(f.clearLastSizeData(),f.showSizeData("polyline",[C[C.length-2],C[C.length-1]]))}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(I){if(f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0),f.end=void 0,I==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E,C)},this.drawHandler.setInputAction(I=>{f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};Co.prototype.addPolyline=function(o={}){let A=this,f=this._viewer,m=o.positions,C=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u7EBF"),polyline:{positions:m,clampToGround:A._core.defaultValue(o.clampToGround,!0),material:new fi.PolylineOutlineMaterialProperty({color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)")),outlineWidth:A._core.defaultValue(o.outlineWidth,0),outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)"))}),depthFailMaterial:o.depthFailColor&&new fi.PolylineOutlineMaterialProperty({color:A._cesium.Color.fromCssColorString(o.depthFailColor),outlineWidth:0,outlineColor:A._cesium.Color.WHITE.withAlpha(.6)}),width:A._core.defaultValue(o.width,3),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(C.id),C};Co.prototype.addPolylinePrimitive=function(o={}){let A=this,f=this._viewer,m=o.positions,C;if(o.clampToGround)C=new A._cesium.GroundPolylineGeometry({positions:m,width:A._core.defaultValue(o.width,3)});else{let v=new fi.PolylineGeometry({positions:m,width:A._core.defaultValue(o.width,3)});C=fi.PolylineGeometry.createGeometry(v)}let E=A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)")),I=new fi.GeometryInstance({id:A._core.defaultValue(o.id,A._core.getuid()),geometry:C,attributes:{color:new A._cesium.ColorGeometryInstanceAttribute.fromColor(E)}}),x,y=new A._cesium.PolylineColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0});return o.clampToGround?x=new A._cesium.GroundPolylinePrimitive({geometryInstances:I,appearance:y}):x=new A._cesium.Primitive({geometryInstances:I,appearance:y}),this.PrimitiveCollection.add(x),x};Co.prototype.createPolygon=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,I;return this.drawHandler.setInputAction(x=>{let y=f._getPosition.getMousePosition(x,[I,E]);!y||(C.length===0&&C.push(y.clone()),C.push(y),C.length===2&&!I&&(o.clampToGround=f._core.defaultValue(o.clampToGround,!0),I=m.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new f._cesium.CallbackProperty(function(){return C},!1),clampToGround:f._core.defaultValue(o.clampToGround,!0),material:new fi.PolylineOutlineMaterialProperty({color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)")),outlineWidth:0,outlineColor:f._cesium.Color.WHITE.withAlpha(.6)}),width:3}})),C.length===3&&!E&&(I&&m.entities.remove(I),E=m.entities.add({id:f._core.getuid(),name:f._core.defaultValue(o.name,"\u65B0\u5EFA\u9762"),polygon:{hierarchy:new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(C)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),perPositionHeight:!f._core.defaultValue(o.clampToGround,!1),heightReference:o.clampToGround?1:0,outline:f._core.defaultValue(o.outline,!1),outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),f.SimpleGraphicObj.push(E.id)))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(x=>{if(C.length===0)f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E00\u4E2A\u70B9");else if(C.length===1){f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E8C\u4E2A\u70B9");let y=f._getPosition.getMousePosition(x,[I,E]);if(!y)return;C.pop(),C.push(y)}else{f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");let y=f._getPosition.getMousePosition(x,[I,E]);if(!y)return;if(C.pop(),C.push(y),o.showSize){f.clearLastSizeData();let v=f.showSizeData("polygon",C);E&&(E.sizeData=v)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(x){if(f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),I&&m.entities.remove(I),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),f.end=void 0,x==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E,C)},this.drawHandler.setInputAction(x=>{f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};Co.prototype.createTriangle=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,I;this.drawHandler.setInputAction(B=>{let D=f._getPosition.getMousePosition(B,I);!D||(E?(C=x(E,D),this.end()):(E=D,C=[D,D,D]),C.length&&!I&&(o.clampToGround=f._core.defaultValue(o.clampToGround,!0),I=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u4E09\u89D2\u5F62",polygon:{hierarchy:new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(C)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),perPositionHeight:!f._core.defaultValue(o.clampToGround,!1),heightReference:o.clampToGround?1:0,outline:f._core.defaultValue(o.outline,!1),outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),f.SimpleGraphicObj.push(I.id)))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(B=>{if(!E)f.tooltip.showAt(B.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236");else{f.tooltip.showAt(B.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236");let D=f._getPosition.getMousePosition(B,I);if(!D)return;C=x(E,D)}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(B){if(f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0),f.end=void 0,B==="cancel"){I&&(m.entities.remove(I),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(I)},this.drawHandler.setInputAction(B=>{f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK);function x(B,D){let S=[],P=f.toDegrees(B),R=f.toDegrees(D),T=Q(P.lat,P.lon,R.lat,R.lon),L=T.angle,F=T.distance;S.push(R.lon,R.lat);let U=w(P.lat,P.lon,F,L+120);return S.push(U[0],U[1]),U=w(P.lat,P.lon,F,L-120),S.push(U[0],U[1]),fi.Cartesian3.fromDegreesArray(S)}let y=6378137,v=6356725;function w(B,D,S,P){let R=S*Math.sin(P*Math.PI/180),T=S*Math.cos(P*Math.PI/180),L=v+(y-v)*(90-B)/90,F=L*Math.cos(B*Math.PI/180),U=(R/F+D*Math.PI/180)*180/Math.PI,N=(T/L+B*Math.PI/180)*180/Math.PI;return[U,N]}function Q(B,D,S,P){let R=M(B),T=M(S),L=M(S)-M(B),F=M(P)-M(D),U=2*Math.asin(Math.sqrt(Math.pow(Math.sin(L/2),2)+Math.cos(R)*Math.cos(T)*Math.pow(Math.sin(F/2),2)));return U=U*y,U=Math.round(U*1e4)/1e4,{angle:f._core.TwoPointAzimuth(D,B,P,S),distance:U}}function M(B){return B*Math.PI/180}return this};Co.prototype.createPolygonRectangle=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,I,x;return this.drawHandler.setInputAction(y=>{let v=f._getPosition.getMousePosition(y,E);!v||(C.length?f.end():(I=y.position,C.push(v.clone(),v.clone(),v.clone(),v.clone())),E||(o.clampToGround=f._core.defaultValue(o.clampToGround,!0),E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u9762",polygon:{hierarchy:new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(C)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),perPositionHeight:!f._core.defaultValue(o.clampToGround,!1),heightReference:o.clampToGround?1:0,outline:f._core.defaultValue(o.outline,!1),outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}})))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(y=>{if(C.length===0)f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236");else{f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236"),I=m.scene.cartesianToCanvasCoordinates(C[0]),x=y.endPosition;let v={x:I.x,y:x.y},w={x:x.x,y:I.y},Q=f._getPosition.getMousePosition(v,E);Q&&(C[1]=Q),Q=f._getPosition.getMousePosition(x,E),Q&&(C[2]=Q),Q=f._getPosition.getMousePosition(w,E),Q&&(C[3]=Q)}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(y){if(f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),f.end=void 0,y==="cancel"){E&&m.entities.remove(E);return}A&&typeof A=="function"&&A(E,I,x)},this};Co.prototype.addPolygon=function(o={}){let A=this,f=this._viewer,m=o.positions,C;o.hierarchy?C=o.hierarchy:C=new A._cesium.PolygonHierarchy(m),o.clampToGround=A._core.defaultValue(o.clampToGround,!0);let E=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u9762"),polygon:{hierarchy:new A._cesium.CallbackProperty(function(){return C},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),outline:A._core.defaultValue(o.outline,!1),outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),perPositionHeight:!A._core.defaultValue(o.clampToGround,!1),heightReference:o.clampToGround?1:0,distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(E.id),E};Co.prototype.addPolygonPrimitive=function(o={}){let A=this,f=this._viewer,m=o.positions,C;o.hierarchy?C=o.hierarchy:C=new A._cesium.PolygonHierarchy(m);let E,I=new A._cesium.PolygonGeometry({height:A._core.defaultValue(o.height,void 0),extrudedHeight:A._core.defaultValue(o.extrudedHeight,void 0),polygonHierarchy:C,vertexFormat:o.water?fi.EllipsoidSurfaceAppearance.VERTEX_FORMAT:void 0}),x=A._cesium.PolygonGeometry.createGeometry(I),y=A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)")),v=new fi.GeometryInstance({id:A._core.defaultValue(o.id,A._core.getuid()),geometry:x,attributes:o.water?void 0:{color:new A._cesium.ColorGeometryInstanceAttribute.fromColor(y)}}),w;if(o.water)w=new fi.Primitive({geometryInstances:v,appearance:new fi.EllipsoidSurfaceAppearance({material:new fi.Material({fabric:{type:"Water",uniforms:{baseWaterColor:o.watherColor||fi.Color.SKYBLUE.withAlpha(.6),blendColor:o.watherColor||fi.Color.SKYBLUE.withAlpha(.6),normalMap:o.url,frequency:o.frequency||1e3,animationSpeed:o.watherSpeed||.01,amplitude:o.amplitude||10}}})}),show:!0});else if(w=new A._cesium.Primitive({geometryInstances:v,appearance:new A._cesium.PerInstanceColorAppearance({translucent:!0}),shadows:o.shadows}),o.extrudedHeight){E=new fi.PrimitiveCollection;let Q=new fi.PolygonOutlineGeometry({height:A._core.defaultValue(o.height,void 0),polygonHierarchy:C,extrudedHeight:o.extrudedHeight}),M=fi.PolygonOutlineGeometry.createGeometry(Q),B=A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),D=new fi.GeometryInstance({id:A._core.defaultValue(o.id,A._core.getuid()),geometry:M,attributes:{color:new A._cesium.ColorGeometryInstanceAttribute.fromColor(B)}}),S=new A._cesium.Primitive({geometryInstances:D,appearance:new A._cesium.PolylineColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0})});E.add(w),E.add(S)}return!E&&(E=w),this.PrimitiveCollection.add(E),E};Co.prototype.createRectangle=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E;return this.drawHandler.setInputAction(I=>{let x=f._getPosition.getMousePosition(I,E);if(!!x&&(C.length===0?C.push(x,x):(C.pop(),C.push(x),f.end()),!E)){let y=f.toDegrees(C[0]);o.clampToGround=f._core.defaultValue(o.clampToGround,!0),E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u77E9\u5F62",rectangle:{coordinates:new f._cesium.CallbackProperty(function(){return f._cesium.Rectangle.fromCartesianArray(C)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),height:o.clampToGround?void 0:y.height,heightReference:o.clampToGround?1:0,outline:!0,outlineColor:f._cesium.Color.WHITE.withAlpha(.6),outlineWidth:1,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),E.thisHeight=y.height,f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(I=>{if(C.length>0){f.tooltip.showAt(I.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let x=f._getPosition.getMousePosition(I,E);x&&(C.pop(),C.push(x),o.showSize&&(f.clearLastSizeData(),f.showSizeData("rectangle",C)))}else f.tooltip.showAt(I.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(I=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=I=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),I==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E)},this};Co.prototype.addRectangle=function(o={}){let A=this,f=this._viewer,m=o.positions,C;o.coordinates?C=o.coordinates:C=A._cesium.Rectangle.fromCartesianArray(m);let E=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u77E9\u5F62"),rectangle:{coordinates:new A._cesium.CallbackProperty(function(){return C},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),height:A._core.defaultValue(o.height,void 0),rotation:A._core.defaultValue(o.rotation,0),heightReference:A._core.defaultValue(o.heightReference,1),outline:A._core.defaultValue(o.outline,!1),outlineWidth:1,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(E.id),E};Co.prototype.createCircle=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,I=0;return this.drawHandler.setInputAction(x=>{let y=f._getPosition.getMousePosition(x,E);if(!!y&&(C.length===0?C.push(y,y):(C[0]=y,I=f._cesium.Cartesian3.distance(C[0],C[1]),f.end()),!E)){let v=f.toDegrees(C[1]);o.clampToGround=f._core.defaultValue(o.clampToGround,!0),E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u5706",position:C[1],ellipse:{semiMajorAxis:new f._cesium.CallbackProperty(function(){return I},!1),semiMinorAxis:new f._cesium.CallbackProperty(function(){return I},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),height:o.clampToGround?void 0:v.height,heightReference:o.clampToGround?1:0,outline:!0,outlineWidth:1,outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),E.thisHeight=v.height,f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(x=>{if(C.length>0){f.tooltip.showAt(x.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let y=f._getPosition.getMousePosition(x,E);y&&(C[0]=y,I=f._cesium.Cartesian3.distance(C[0],C[1]),o.showSize&&(f.clearLastSizeData(),f.showSizeData("circle",C[1],I)))}else f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(x=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=x=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),x==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E,{distance:I,positions:C})},this};Co.prototype.addCircle=function(o={}){let A=this,f=this._viewer,m=o.radius,C=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u5706"),position:o.position,ellipse:{semiMajorAxis:new A._cesium.CallbackProperty(function(){return m},!1),semiMinorAxis:new A._cesium.CallbackProperty(function(){return m},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),transparent:!0,color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,o.image?"#ffffff":"rgba(0,255,0,0.6)"))}),height:A._core.defaultValue(o.height,void 0),heightReference:A._core.defaultValue(o.heightReference,o.height?0:1),outline:A._core.defaultValue(o.outline,!1),outlineWidth:1,rotation:o.rotation,stRotation:o.outline,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(C.id),C};Co.prototype.createEllipse=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,I=0;return this.drawHandler.setInputAction(x=>{let y=f._getPosition.getMousePosition(x,E);if(!!y&&(C.length===0?C.push(y,y):(C[0]=y,I=f._cesium.Cartesian3.distance(C[0],C[1]),f.end()),!E)){let v=f.toDegrees(C[1]);o.clampToGround=f._core.defaultValue(o.clampToGround,!0),E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u692D\u5706",position:C[1],ellipse:{semiMajorAxis:new f._cesium.CallbackProperty(function(){return I},!1),semiMinorAxis:new f._cesium.CallbackProperty(function(){return I/2},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),height:o.clampToGround?void 0:v.height,heightReference:o.clampToGround?1:0,outline:!0,outlineWidth:1,outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),E.thisHeight=v.height,f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(x=>{if(C.length>0){f.tooltip.showAt(x.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let y=f._getPosition.getMousePosition(x,E);y&&(C[0]=y,I=f._cesium.Cartesian3.distance(C[0],C[1]))}else f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(x=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=x=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),x==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E)},this};Co.prototype.addEllipse=function(o={}){let A=this,f=this._viewer,m=o.semiMajorAxis,C=o.semiMinorAxis,E=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u5706"),position:o.position,ellipse:{semiMajorAxis:new A._cesium.CallbackProperty(function(){return m},!1),semiMinorAxis:new A._cesium.CallbackProperty(function(){return C},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),height:A._core.defaultValue(o.height,void 0),heightReference:A._core.defaultValue(o.heightReference,1),outline:A._core.defaultValue(o.outline,!1),outlineWidth:1,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(E.id),E};Co.prototype.createBox=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,I=[0,0,200];return this.drawHandler.setInputAction(x=>{let y=f._getPosition.getMouseDegrees(x,E);if(!!y){if(C.length===0)C.push(y,y);else{y.height=C[0].height,C[1]=y;let v=f.Cdcl(C[0].lat,C[0].lon,C[0].lat,C[1].lon),w=f.Cdcl(C[0].lat,C[0].lon,C[1].lat,C[0].lon),Q={lon:(C[0].lon+C[1].lon)/2,lat:(C[0].lat+C[1].lat)/2};I&&(I[0]=v,I[1]=w),E.position=fi.Cartesian3.fromDegrees(Q.lon,Q.lat,C[0].height+I[2]/2),f.end()}E||(E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u7ACB\u65B9\u4F53",position:f._cesium.Cartesian3.fromDegrees(y.lon,y.lat,y.height),box:{dimensions:new f._cesium.CallbackProperty(function(){return f._cesium.Cartesian3.fromArray(I)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,outline:!0,outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),shadows:f._cesium.ShadowMode.ENABLED,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),f.SimpleGraphicObj.push(E.id))}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(x=>{if(C.length>0){f.tooltip.showAt(x.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let y=f._getPosition.getMouseDegrees(x,E);if(y){y.height=C[0].height,C[1]=y;let v=f.Cdcl(C[0].lat,C[0].lon,C[0].lat,C[1].lon),w=f.Cdcl(C[0].lat,C[0].lon,C[1].lat,C[0].lon),Q={lon:(C[0].lon+C[1].lon)/2,lat:(C[0].lat+C[1].lat)/2};I&&(I[0]=v,I[1]=w),E.position=fi.Cartesian3.fromDegrees(Q.lon,Q.lat,C[0].height+I[2]/2),o.showSize&&(f.clearLastSizeData(),f.showSizeData("box",E.position,I))}}else f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(x=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=x=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),x==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E)},this};Co.prototype.addBox=function(o={}){let A=this,f=this._viewer,m=o.dimensions,C=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u7ACB\u65B9\u4F53"),position:o.position,box:{dimensions:new A._cesium.CallbackProperty(function(){return m},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,outline:A._core.defaultValue(o.outline,!0),shadows:A._cesium.ShadowMode.ENABLED,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(C.id),C};Co.prototype.createCylinder=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,I=0;return this.drawHandler.setInputAction(x=>{let y=f._getPosition.getMousePosition(x,E);if(!!y&&(C.length===0?C.push(y,y):(C[0]=y,I=f._cesium.Cartesian3.distance(C[0],C[1]),f.end()),!E)){let v=f.toDegrees(y);E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u5706\u67F1\u4F53",position:f._cesium.Cartesian3.fromDegrees(v.lon,v.lat,v.height+100),cylinder:{length:200,topRadius:new f._cesium.CallbackProperty(function(){return I},!1),bottomRadius:new f._cesium.CallbackProperty(function(){return I},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,shadows:f._cesium.ShadowMode.ENABLED,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8),outline:!0,outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)"))}}),E.changeTop=!0,f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(x=>{if(C.length>0){f.tooltip.showAt(x.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let y=f._getPosition.getMousePosition(x,E);y&&(C[0]=y,I=f._cesium.Cartesian3.distance(C[0],C[1]),o.showSize&&(f.clearLastSizeData(),f.showSizeData("cylinder",C[1],I,200)))}else f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(x=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=x=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),x==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E)},this};Co.prototype.addCylinder=function(o={}){let A=this,f=this._viewer,m=o.radius,C=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u5706\u67F1\u4F53"),position:o.position,cylinder:{length:A._core.defaultValue(o.length,200),topRadius:new A._cesium.CallbackProperty(function(){return m},!1),bottomRadius:new A._cesium.CallbackProperty(function(){return m},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,outline:A._core.defaultValue(o.outline,!0),shadows:A._cesium.ShadowMode.ENABLED,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return C.changeTop=!0,A.SimpleGraphicObj.push(C.id),C};Co.prototype.createCone=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,I=0;return this.drawHandler.setInputAction(x=>{let y=f._getPosition.getMousePosition(x,E);if(!!y&&(C.length===0?C.push(y,y):(C[0]=y,I=f._cesium.Cartesian3.distance(C[0],C[1]),f.end()),!E)){let v=f.toDegrees(y);E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u5706\u9525\u4F53",position:f._cesium.Cartesian3.fromDegrees(v.lon,v.lat,v.height+100),cylinder:{length:200,topRadius:0,bottomRadius:new f._cesium.CallbackProperty(function(){return I},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,shadows:f._cesium.ShadowMode.ENABLED,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8),outline:!0,outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)"))}}),E.changeTop=!1,f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(x=>{if(C.length>0){f.tooltip.showAt(x.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let y=f._getPosition.getMousePosition(x,E);y&&(C[0]=y,I=f._cesium.Cartesian3.distance(C[0],C[1]),o.showSize&&(f.clearLastSizeData(),f.showSizeData("cone",C[1],I,200)))}else f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(x=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=x=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),x==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E)},this};Co.prototype.addCone=function(o={}){let A=this,f=this._viewer,m=o.bottomRadius,C=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u5706\u9525\u4F53"),position:o.position,cylinder:{length:A._core.defaultValue(o.length,200),topRadius:A._core.defaultValue(o.topRadius,0),bottomRadius:new A._cesium.CallbackProperty(function(){return m},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,outline:A._core.defaultValue(o.outline,!0),shadows:A._cesium.ShadowMode.ENABLED,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return C.changeTop=!1,A.SimpleGraphicObj.push(C.id),C};Co.prototype.createSphere=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,I=0;return this.drawHandler.setInputAction(x=>{let y=f._getPosition.getMousePosition(x,E);!y||(C.length===0?C.push(y,y):(C[0]=y,I=f._cesium.Cartesian3.distance(C[0],C[1]),f.end()),E||(E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u7403\u4F53",position:y.clone(),ellipsoid:{radii:new f._cesium.CallbackProperty(function(){return new fi.Cartesian3(I,I,I)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,shadows:f._cesium.ShadowMode.ENABLED,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8),outline:!0,outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)"))}}),E.isSphere=!0,f.SimpleGraphicObj.push(E.id)))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(x=>{if(C.length>0){f.tooltip.showAt(x.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let y=f._getPosition.getMousePosition(x,E);y&&(C[0]=y,I=f._cesium.Cartesian3.distance(C[0],C[1]),o.showSize&&(f.clearLastSizeData(),f.showSizeData("sphere",C[1],I)))}else f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(x=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=x=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),x==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}let y=f.toDegrees(C[0]),v=f.toDegrees(C[1]);y.height=v.height,C[0]=fi.Cartesian3.fromDegrees(y.lon,y.lat,y.height),A&&typeof A=="function"&&A(E)},this};Co.prototype.addSphere=function(o={}){let A=this,f=this._viewer,m=o.radius,C;o.radii?C=o.radii:C=new fi.Cartesian3(m,m,m);let E=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u7403\u4F53"),position:o.position,ellipsoid:{radii:new A._cesium.CallbackProperty(function(){return C},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,outline:A._core.defaultValue(o.outline,!0),shadows:A._cesium.ShadowMode.ENABLED,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return E.isSphere=!0,A.SimpleGraphicObj.push(E.id),E};Co.prototype.createPolyhedron=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E;return this.drawHandler.setInputAction(I=>{let x=f._getPosition.getMousePosition(I,E);if(!!x&&(C.length===1&&C.push(x.clone()),C.push(x),C.length===3&&!E)){let y=f.toDegrees(C[0]);E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u591A\u8FB9\u4F53",polygon:{hierarchy:new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(C)},!1),extrudedHeight:y.height+200,height:y.height,material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,shadows:f._cesium.ShadowMode.ENABLED,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8),outline:!0,outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)"))}}),f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(I=>{if(C.length===0)f.tooltip.showAt(I.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E00\u4E2A\u70B9");else if(C.length===1)f.tooltip.showAt(I.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E8C\u4E2A\u70B9");else{f.tooltip.showAt(I.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");let x=f._getPosition.getMousePosition(I,E);if(!x)return;C.pop(),C.push(x),o.showSize&&(f.clearLastSizeData(),f.showSizeData("polyhedron",C,0,200))}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(I){if(f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),f.end=void 0,I==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E)},this.drawHandler.setInputAction(I=>{f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};Co.prototype.addPolyhedron=function(o={}){let A=this,f=this._viewer,m=o.positions,C=A._core.defaultValue(o.height,0),E;o.hierarchy?E=o.hierarchy:E=new A._cesium.PolygonHierarchy(m);let I=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u591A\u8FB9\u4F53"),polygon:{hierarchy:new A._cesium.CallbackProperty(function(){return E},!1),extrudedHeight:A._core.defaultValue(o.extrudedHeight,C+200),height:C,material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),shadows:A._cesium.ShadowMode.ENABLED,fill:!0,outline:A._core.defaultValue(o.outline,!0),outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(I.id),I};Co.prototype.toDegrees=function(o){let A=this._cesium.Cartographic.fromCartesian(o);return{lon:this._cesium.Math.toDegrees(A.longitude),lat:this._cesium.Math.toDegrees(A.latitude),height:A.height}};Co.prototype.showSizeData=function(o,A,f,m){let C="",E,I=language?language.getStr("draw_tip_info_radius"):"\u534A\u5F84",x=language?language.getStr("unit_m"):"\u7C73",y=language?language.getStr("unit_km"):"\u5343\u7C73";switch(o){case"polyline":let M=fi.Cartesian3.distance(A[0],A[1]);M>=1e3?(M/=1e3,C=M.toFixed(2)+y):C=M.toFixed(2)+x,E=fi.Cartesian3.midpoint(A[0],A[1],new fi.Cartesian3);break;case"polygon":var w=[];E=new fi.Cartesian3,A.forEach(L=>{E=fi.Cartesian3.add(L,E,new fi.Cartesian3);let F=this.toDegrees(L);w.push([F.lon,F.lat])}),E=fi.Cartesian3.divideByScalar(E,A.length,new fi.Cartesian3),C=this._core.getArea(w,A);break;case"rectangle":let B=this.toDegrees(A[0]),D=this.toDegrees(A[1]),S=fi.Cartesian3.distance(A[0],fi.Cartesian3.fromDegrees(B.lon,D.lat,B.height)),P=fi.Cartesian3.distance(A[1],fi.Cartesian3.fromDegrees(B.lon,D.lat,B.height));var v=S*P;v>=1e6?(v/=1e6,C=v.toFixed(2)+"\u5E73\u65B9\u5343\u7C73"):C=v.toFixed(2)+"\u5E73\u65B9\u7C73",E=fi.Cartesian3.midpoint(A[0],A[1],new fi.Cartesian3);break;case"circle":E=A,f>=1e3?(f/=1e3,C=I+":"+f.toFixed(2)+y):C=I+":"+f.toFixed(2)+x;break;case"box":let R=[];f[0]<f[1]?(R.push(f[1]),R.push(f[0])):(R.push(f[0]),R.push(f[1])),R.push(f[2]);let T=["\u957F\uFF1A",` \u5BBD\uFF1A`,` \u9AD8\uFF1A`];R.forEach((L,F)=>{L>=1e3?(L/=1e3,C+=T[F]+L.toFixed(2)+y):C+=T[F]+L.toFixed(2)+x}),E=A;break;case"cylinder":E=A,f>=1e3?(f/=1e3,C=I+":"+f.toFixed(2)+y+` `):C=I+":"+f.toFixed(2)+x+` `,m>=1e3?(m/=1e3,C+="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+y):C+="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+x;break;case"cone":E=A,f>=1e3?(f/=1e3,C=I+":"+f.toFixed(2)+y+` `):C=I+":"+f.toFixed(2)+x+` `,m>=1e3?(m/=1e3,C+="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+y):C+="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+x;break;case"sphere":E=A,f>=1e3?(f/=1e3,C=I+":"+f.toFixed(2)+y):C=I+":"+f.toFixed(2)+x;break;case"polyhedron":var w=[];E=new fi.Cartesian3,A.forEach(L=>{E=fi.Cartesian3.add(L,E,new fi.Cartesian3);let F=this.toDegrees(L);w.push([F.lon,F.lat])}),E=fi.Cartesian3.divideByScalar(E,A.length,new fi.Cartesian3),m>=1e3?(m/=1e3,C="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+y):C="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+x,C+=` \u9762\u79EF\uFF1A`+this._core.getArea(w,A);break}let Q=this._viewer.entities.add({position:E,label:{text:C,font:"16px \u5B8B\u4F53",fillColor:fi.Color.GOLD,verticalOrigin:fi.VerticalOrigin.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return this.SizeData.push(Q.id),C};Co.prototype.clearLastSizeData=function(){if(this.SizeData.length){let o=this.SizeData.pop();this._viewer.entities.removeById(o)}};Co.prototype.clearAllSizeData=function(){this.SizeData.forEach(o=>{this._viewer.entities.removeById(o)}),this.SizeData=[]};Co.prototype.Cdcl=function(o,A,f,m){let C=0,E=6378137,I=Math.PI;function x(H){return H*I/180}let y=x((o+f)/2),v=x((o-f)/2),w=x((A-m)/2),Q=Math.sin(v),M=Math.sin(w),B=Math.sin(y),D,S,P,R,T,L,F,U=E,N=1/298.257;return Q=Q*Q,M=M*M,B=B*B,D=Q*(1-M)+(1-B)*M,S=(1-Q)*(1-M)+B*M,P=Math.atan(Math.sqrt(D/S)),R=Math.sqrt(D*S)/P,T=2*P*U,L=(3*R-1)/2/S,F=(3*R+1)/2/D,C=T*(1+N*(L*B*(1-Q)-F*(1-B)*Q)),C};Co.prototype.setEdit=function(o,A){o===void 0&&(o=!0),this.openEdit=o,A&&(this.editOption=A),this.defaultEdit()};Co.prototype.openEditProp=function(o,A){if(A||(A=this.editOption||{editPropData:{}}),o.GeoType===void 0){let m=this.getEntityTypeAndObject(o);o.GeoType=m.type}let f=o.GeoType;(!SmartEarthPopupData.editGraphic||!SmartEarthPopupData.editGraphic.entity)&&(this.getSimpleGraphicData(f,o),f==="point"||f==="billboard"||f==="label"||f==="model"?(this.isEditting=!0,f==="model"&&this._ModelEdit.start(o)):(this.isEditting=!0,SmartEarthPopupData.editGraphic.updataEditPoint())),!A.editPropData&&(A.editPropData={}),this._popupmessage.createPopupProp("\u5C5E\u6027\u7F16\u8F91",{width:A.editPropData.width||360,height:A.editPropData.height||"90%",url:"Workers/prop/jdtx_prop.html",shade:A.editPropData.shade,offset:A.editPropData.offset,type:f,fn:{success:(m,C)=>{A.editPropData.success&&A.editPropData.success(m,C),SmartEarthPopupData.layerIndex=C,SmartEarthPopupData.window=m.find("iframe")[0].contentWindow},end:()=>{this.setPropData(o),A.callBack&&A.callBack.end&&A.callBack.end(o),SmartEarthPopupData.layerIndex=void 0,SmartEarthPopupData.window=void 0,this.endThisEdit&&this.endThisEdit()}}})};Co.prototype.setPropData=function(o,A){if(A&&(o.propData=A),Array.isArray(o.propData)){let f={};o.propData.forEach(m=>{m.key&&(f[m.key]=m.value)}),o.propData=f}if(o.propData){o.properties=new fi.PropertyBag(o.propData),o.description='<table class="cesium-infoBox-defaultTable"><tbody>';for(let f=0;f<o.properties.propertyNames.length;f++){let m=o.properties.propertyNames[f],C=o.properties[m];o.description+=`<tr><th>${m}</th><td>${C}</td></tr>`}o.description+="</tbody></table>"}};Co.prototype.getPropData=function(o){let A=o.properties;!A&&(A=new fi.PropertyBag);let f={};for(let m=0;m<A.propertyNames.length;m++){let C=A.propertyNames[m];f[C]=A[C]&&A[C].getValue?A[C].getValue():A[C]}return f};Co.prototype.defaultEdit=function(){this.openEdit?this.SimpleGraphicObj.length&&!this.editHandler?this.edit(this.openEdit,this.editOption):!this.SimpleGraphicObj.length&&this.editHandler&&this.edit(!1):this.editHandler&&this.edit(!1)};Co.prototype.edit=function(o,A){let f=this,m=this._viewer;!A&&(A=this.editOption||{}),A.editProp!==void 0&&(this.editProp=A.editProp);let C=this._core.defaultValue(A.enableDelete,!0);this.editHandler&&(this.editHandler.destroy(),this.editHandler=void 0),o===void 0&&(o=!0);var E,I,x,y;this.isEditting=!1;let v;this.endThisEdit=()=>{f.defaultEvent(!0),Ke.editPointID.edit.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(w=>{m.entities.removeById(w)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0,E=void 0,y=void 0,window.layuiLayer.close(SmartEarthPopupData.layerIndex),SmartEarthPopupData.editGraphic={},f.isEditting=!1,f.tooltip.show(!1),f.delButton(!1),f._ModelEdit.end()},this.endThisEdit(),o&&(this.editHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),this.editHandler.setInputAction(w=>{if(fi.ExpandBySmartEarth&&(fi.ExpandBySmartEarth.underEarth.enable||fi.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(Ke.editVector)return;let Q=w.position,M=m.scene.pick(Q);if(f._cesium.defined(M)&&M.id instanceof fi.Entity){let B=M.id;if(!f.isEditting&&Ke.states==0){if(f.SimpleGraphicObj.indexOf(B.id)===-1)return;if(E=B,E.GeoType===void 0){let D=f.getEntityTypeAndObject(E);E.GeoType=D.type}y=E.GeoType,f.getSimpleGraphicData(y,E),y==="point"||y==="billboard"||y==="label"||y==="model"?(f.isEditting=!0,y==="model"?f._ModelEdit.start(E):f.tooltip.showAt(w.position,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E")):(f.isEditting=!0,SmartEarthPopupData.editGraphic.updataEditPoint()),this.editProp&&f.openEditProp(E,A)}else if(B==E&&(B.GeoType==="point"||B.GeoType==="billboard"||B.GeoType==="label")||B.name=="height_point"||B.name=="edit_point"||B.name=="move_point"||B.name=="add_point"||B.name=="size_point")m.container.style.cursor="crosshair",f.defaultEvent(!1),B.name=="height_point"?(x={windowPosition:Q,originHeight:f._cesium.Cartographic.fromCartesian(B.position.getValue()).height},v="height_point"):B.name=="move_point"?v="move_point":B.GeoType==="point"||B.GeoType==="billboard"||B.GeoType==="label"?(f.tooltip.showAt(w.position,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),v="move_point"):B.name=="edit_point"?v="edit_point":B.name=="add_point"?v="add_point":B.name=="size_point"&&(v="size_point"),I=B;else{if(E&&B.id===E.id)return;f.endThisEdit()}}else{if(M&&M.id==="modeEditAxis")return;f.endThisEdit()}},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.editHandler.setInputAction(w=>{if(fi.ExpandBySmartEarth&&(fi.ExpandBySmartEarth.underEarth.enable||fi.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(Ke.editVector)return;let Q=m.scene.pick(w.endPosition);if(f._cesium.defined(Q)){if(f.isEditting&&!I){if(fi.ExpandBySmartEarth&&(fi.ExpandBySmartEarth.underEarth.enable||fi.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}(y==="point"||y==="billboard"||y==="label"||y==="model")&&Q.id==E?C?f.tooltip.showAt(w.endPosition,y==="model"?"\u53F3\u952E\u5220\u9664":"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664"):y!=="model"&&f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&Q.id.name==="edit_point"&&E.pottingPoint?y==="polyline"&&E.pottingPoint.length>2||y==="polygon"&&E.pottingPoint.length>3?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664\u70B9"):f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&(Q.id.name==="move_point"||Q.id.name==="size_point")?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&Q.id.name==="add_point"?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u589E\u52A0\u8282\u70B9"):Q.id&&Q.id.name==="height_point"?f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u9AD8\u5EA6"):Q.id==E||Q.id==="modeEditAxis"?f.tooltip.show(!1):(!Q.id||f.SimpleGraphicObj.indexOf(Q.id.id)===-1)&&(!A.editProp&&f.isEditting&&(y==="point"||y==="billboard"||y==="label")&&f.endThisEdit(),f.tooltip.show(!1))}else if(!f.isEditting&&Ke.states===0)if(Q.id&&f.SimpleGraphicObj.indexOf(Q.id.id)>-1)if(A.editProp)f.tooltip.showAt(w.endPosition,`\u70B9\u51FB\u6FC0\u6D3B\u7F16\u8F91${C?"\uFF0C\u53F3\u952E\u5220\u9664":""}`);else{if(Q.id.GeoType===void 0){let B=f.getEntityTypeAndObject(Q.id);Q.id.GeoType=B.type}let M=Q.id.GeoType;M==="point"||M==="billboard"||M==="label"?(E=Q.id,y=M,f.getSimpleGraphicData(y,E),f.isEditting=!0,f.tooltip.showAt(w.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E")):f.tooltip.showAt(w.endPosition,`\u70B9\u51FB\u6FC0\u6D3B\u7F16\u8F91${C?"\uFF0C\u53F3\u952E\u5220\u9664":""}`)}else f.tooltip.show(!1)}else Ke.states==0&&!I&&(!A.editProp&&f.isEditting&&(y==="point"||y==="billboard"||y==="label")&&f.endThisEdit(),f.tooltip.show(!1));if(f.isEditting&&I){f.tooltip.showAt(w.endPosition,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539");let M=f._getPosition.getMousePosition(w,[I,E]);if(!M&&v!=="height_point")return;if(v==="edit_point"){I.position=M;let B=Ke.editPointID.edit.indexOf(I.id);if(E[y].height!==void 0){let R=f.toDegrees(M);E.pottingPoint[B]=fi.Cartesian3.fromDegrees(R.lon,R.lat,E[y].height.getValue()),I.position=E.pottingPoint[B]}else E.pottingPoint[B]=M;if(Ke.editPointID.height.length>0){let R=m.entities.getById(Ke.editPointID.height[B]);if(R){let T=f.toDegrees(M),L=f._cesium.Cartographic.fromCartesian(R.position.getValue());R.position=f._cesium.Cartesian3.fromDegrees(T.lon,T.lat,L.height)}}if(Ke.editPointID.add.length>0){if(B>0){let R=m.entities.getById(Ke.editPointID.add[B-1]);if(R){let T=m.entities.getById(Ke.editPointID.edit[B-1]),L=m.entities.getById(Ke.editPointID.edit[B]);R.position=fi.Cartesian3.midpoint(T.position.getValue(),L.position.getValue(),new fi.Cartesian3)}}if(B<E.pottingPoint.length-1){let R=m.entities.getById(Ke.editPointID.add[B]);if(R){let T=m.entities.getById(Ke.editPointID.edit[B]),L=m.entities.getById(Ke.editPointID.edit[B+1]);R.position=fi.Cartesian3.midpoint(T.position.getValue(),L.position.getValue(),new fi.Cartesian3)}}if(y==="polygon"&&(B===0||B===E.pottingPoint.length-1)){let R=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);if(R){let T=m.entities.getById(Ke.editPointID.edit[0]),L=m.entities.getById(Ke.editPointID.edit[E.pottingPoint.length-1]);R.position=fi.Cartesian3.midpoint(T.position.getValue(),L.position.getValue(),new fi.Cartesian3)}}}let D=E.pottingPoint.concat([]),S=new f._cesium.Cartesian3,P=D.length;D.forEach(R=>{S.x+=R.x,S.y+=R.y,S.z+=R.z}),S.x/=P,S.y/=P,S.z/=P,Ke.editPointID.move&&(Ke.editPointID.move.position=S),(y==="polyline"||y==="polygon"||y==="rectangle")&&SmartEarthPopupData.editGraphic.setValue("positions",D)}else if(v==="height_point"){let B=Ke.editPointID.height.indexOf(I.id),D=m.entities.getById(Ke.editPointID.edit[B]);(y==="ellipse"||y==="cylinder"||y==="box")&&(D=Ke.editPointID.move);let S=f.toDegrees(D.position.getValue()),P=x.originHeight-S.height,R=m.scene.cartesianToCanvasCoordinates(D.position.getValue()),T=(x.windowPosition.y-w.endPosition.y)*P/Math.abs(R.y-x.windowPosition.y),L=Math.abs(P+T);Ke.editPointID.height.forEach(F=>{let U=m.entities.getById(F);if(U){let N=U.position.getValue(),H=f.toDegrees(N);U.position=f._cesium.Cartesian3.fromDegrees(H.lon,H.lat,L+S.height)}}),E[y].extrudedHeight?E[y].extrudedHeight=new f._cesium.CallbackProperty(function(){return L+S.height},!1):y==="box"?SmartEarthPopupData.editGraphic.setValue("height",L):y==="cylinder"&&SmartEarthPopupData.editGraphic.setValue("length",L),SmartEarthPopupData.window&&(SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="extrudedHeight"]')&&(SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="extrudedHeight"]').value=parseFloat(L).toFixed(2)),SmartEarthPopupData.window.document.querySelector('.box input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.box input[name="height"]').value=parseFloat(L).toFixed(2)),SmartEarthPopupData.window.document.querySelector('.cylinder input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.cylinder input[name="height"]').value=parseFloat(L).toFixed(2)),SmartEarthPopupData.window.document.querySelector('.cone input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.cone input[name="height"]').value=parseFloat(L).toFixed(2)))}else if(v==="add_point"){let B=Ke.editPointID.add.indexOf(I.id);m.entities.remove(I);let D=m.entities.add({name:"edit_point",position:M,point:{pixelSize:10,color:fi.Color.ROYALBLUE,outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});if(Ke.editPointID.edit.splice(B+1,0,D.id),E.pottingPoint.splice(B+1,0,M.clone()),Ke.editPointID.height.length>0){let F=f.toDegrees(M);F.height=E[y].extrudedHeight.getValue();let U=m.entities.add({name:"height_point",position:f._cesium.Cartesian3.fromDegrees(F.lon,F.lat,F.height),point:{color:f._cesium.Color.YELLOW,pixelSize:12,outlineColor:f._cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.splice(B+1,0,U.id)}let S=fi.Cartesian3.midpoint(E.pottingPoint[B],E.pottingPoint[B+1],new fi.Cartesian3),P=m.entities.add({name:"add_point",position:f.isClampToGround(E[y])?f.getClampToGroundPosition(S):S,point:{pixelSize:10,color:fi.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),R=fi.Cartesian3.midpoint(E.pottingPoint[B+1],E.pottingPoint[B+2===E.pottingPoint.length?0:B+2],new fi.Cartesian3),T=m.entities.add({name:"add_point",position:f.isClampToGround(E[y])?f.getClampToGroundPosition(R):R,point:{pixelSize:10,color:fi.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.splice(B,1,P.id,T.id),I=D,v="edit_point";let L=E.pottingPoint.concat([]);(y==="polyline"||y==="polygon")&&SmartEarthPopupData.editGraphic.setValue("positions",L)}else if(v==="size_point"){let B=Ke.editPointID.move.position.getValue(),D=f._cesium.Cartesian3.distance(B,M);if(y==="ellipse"||y==="cylinder"||y==="ellipsoid"&&E.isSphere)SmartEarthPopupData.editGraphic.setValue("radius",D),SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector("."+y+' input[name="radius"]')&&(SmartEarthPopupData.window.document.querySelector("."+y+' input[name="radius"]').value=parseFloat(D).toFixed(2));else if(y==="box"){let S=I.angle===90?"long":"width";SmartEarthPopupData.editGraphic.setValue(S,D*2),SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector('.box input[name="'+S+'"]')&&(SmartEarthPopupData.window.document.querySelector('.box input[name="'+S+'"]').value=parseFloat(D*2).toFixed(2))}}else{if(y==="model")return;if(y==="point"||y==="billboard"||y==="label"){I.position=M,SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector("."+y+' input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector("."+y+' input[name="height"]').value=SmartEarthPopupData.editGraphic.getValue("pHeight").toFixed(2));return}let B=f.toDegrees(M);x=I.position.getValue();let D=f.toDegrees(x),S=B.lon-D.lon,P=B.lat-D.lat,R=B.height-D.height;if(I.position=M,E[y].height){let L=f.toDegrees(M).height;E[y].height=L,E.thisHeight=L}E.pottingPoint.forEach((L,F)=>{let U,N,H,J=m.entities.getById(Ke.editPointID.edit[F]);if(J||(J=m.entities.getById(Ke.editPointID.size[F])),J?U=f.toDegrees(J.position.getValue()):U=f.toDegrees(L),H=f._cesium.Cartesian3.fromDegrees(U.lon+S,U.lat+P,U.height+R),L.x=H.x,L.y=H.y,L.z=H.z,J&&(J.position=H),Ke.editPointID.height.length>0){let K=m.entities.getById(Ke.editPointID.height[F]);K&&(U=K.position.getValue(),N=f._cesium.Cartographic.fromCartesian(U),U={lon:f._cesium.Math.toDegrees(N.longitude),lat:f._cesium.Math.toDegrees(N.latitude),height:N.height},K.position=f._cesium.Cartesian3.fromDegrees(U.lon+S,U.lat+P,U.height+R))}if(Ke.editPointID.add.length>0&&Ke.editPointID.add[F]){let K=m.entities.getById(Ke.editPointID.add[F]);K&&(U=f.toDegrees(K.position.getValue()),K.position=f._cesium.Cartesian3.fromDegrees(U.lon+S,U.lat+P,U.height+R))}});let T=E.pottingPoint.concat([]);if(y==="polyline"||y==="polygon"||y==="rectangle")SmartEarthPopupData.editGraphic.setValue("positions",T),Ke.editPointID.height.length>0&&(SmartEarthPopupData.editGraphic.setValue("extrudedHeight",SmartEarthPopupData.editGraphic.getValue("extrudedHeight")+R),SmartEarthPopupData.window&&E[y].height&&SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="height"]').value=parseFloat(E[y].height.getValue()).toFixed(2))),SmartEarthPopupData.window&&E[y].height&&SmartEarthPopupData.window.document.querySelector('.rectangle input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.rectangle input[name="height"]').value=parseFloat(E[y].height.getValue()).toFixed(2));else if(y==="ellipse")E.pottingPoint[1]=M,E.position=M.clone(),SmartEarthPopupData.window&&E[y].height&&SmartEarthPopupData.window.document.querySelector('.ellipse input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.ellipse input[name="height"]').value=parseFloat(E[y].height.getValue()).toFixed(2));else if(y==="box"){E.pottingPoint[2]=M;let L=E.box.dimensions.getValue(),F=f.toDegrees(M);E.position=fi.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L.z/2)}else if(y==="cylinder"){E.pottingPoint[1]=M;let L=E.cylinder.length.getValue(),F=f.toDegrees(E.pottingPoint[1]);E.position=fi.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L/2)}else y==="ellipsoid"&&(E.pottingPoint[E.pottingPoint.length-1]=M,E.position=M.clone())}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.editHandler.setInputAction(w=>{if(fi.ExpandBySmartEarth&&(fi.ExpandBySmartEarth.underEarth.enable||fi.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}Ke.editVector||(I&&A.callBack&&A.callBack.update&&A.callBack.update(I.name,E),m.container.style.cursor="default",I=void 0,f.defaultEvent(!0))},this._cesium.ScreenSpaceEventType.LEFT_UP),this.editHandler.setInputAction(w=>{if(fi.ExpandBySmartEarth&&(fi.ExpandBySmartEarth.underEarth.enable||fi.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(Ke.editVector)return;let Q=m.scene.pick(w.position);if(f._cesium.defined(Q)&&Ke.states==0){let M=Q.id;if(f.SimpleGraphicObj.indexOf(M.id)>-1&&C)f.tooltip.show(!1),f.delButton(!0,w.position,function(){M.treeobj&&Ke.delete(M.treeobj.id,m,f._cesium),m.entities.removeById(M.id);let B=f.SimpleGraphicObj.indexOf(M.id);f.SimpleGraphicObj.splice(B,1),f.delButton(!1),f.tooltip.show(!1),f.endThisEdit(),f.defaultEdit(),A.callBack&&A.callBack.delete&&A.callBack.delete(M)});else if(Ke.editPointID.edit.indexOf(M.id)>-1&&(y==="polyline"&&Ke.editPointID.edit.length>2||y==="polygon"&&Ke.editPointID.edit.length>3)){let B=Ke.editPointID.edit.indexOf(M.id);if(m.entities.removeById(M.id),Ke.editPointID.edit.splice(B,1),Ke.editPointID.height.length>0&&(m.entities.removeById(Ke.editPointID.height[B]),Ke.editPointID.height.splice(B,1)),E.pottingPoint.splice(B,1),Ke.editPointID.add.length>0)if(Ke.editPointID.add[B]){if(m.entities.removeById(Ke.editPointID.add[B]),Ke.editPointID.add.splice(B,1),B-1>=0){let R=m.entities.getById(Ke.editPointID.add[B-1]);R&&(R.position=fi.Cartesian3.midpoint(E.pottingPoint[B-1],E.pottingPoint[B===E.pottingPoint.length?0:B],new fi.Cartesian3))}else if(B-1===-1&&y==="polygon"){let R=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);R&&(R.position=fi.Cartesian3.midpoint(E.pottingPoint[0],E.pottingPoint[E.pottingPoint.length-1],new fi.Cartesian3))}}else m.entities.removeById(Ke.editPointID.add[B-1]),Ke.editPointID.add.pop();let D=new f._cesium.Cartesian3,S=E.pottingPoint.length;E.pottingPoint.forEach(R=>{D.x+=R.x,D.y+=R.y,D.z+=R.z}),D.x/=S,D.y/=S,D.z/=S,Ke.editPointID.move&&(Ke.editPointID.move.position=D);let P=E.pottingPoint.concat([]);(y==="polyline"||y==="polygon")&&SmartEarthPopupData.editGraphic.setValue("positions",P),f.tooltip.show(!1),A.callBack&&A.callBack.update&&A.callBack.update(I&&I.name,E)}}},this._cesium.ScreenSpaceEventType.RIGHT_DOWN))};Co.prototype.delButton=function(o,A,f){if(o){let m=document.getElementById("DeleteMilitaryStandardDelete");m||(m=document.createElement("button"),m.id="DeleteMilitaryStandardDelete",m.innerText="\u5220\u9664\u5BF9\u8C61",m.style.cssText=`height: 38px; line-height: 38px; padding: 0 18px; background-color: #052355; color: #fff; white-space: nowrap; text-align: center; font-size: 14px; border: none; border-radius: 2px; cursor: pointer; position: absolute;`,this._viewer.container.appendChild(m)),m.style.display="block",m.style.top=A.y+"px",m.style.left=A.x+"px",m.onclick=f}else{let m=document.getElementById("DeleteMilitaryStandardDelete");m&&(m.style.display="none",m.onclick=null)}};Co.prototype.defaultEvent=function(o){let A=this._viewer.scene;A.screenSpaceCameraController.enableRotate=o,A.screenSpaceCameraController.enableTranslate=o,A.screenSpaceCameraController.enableZoom=o,A.screenSpaceCameraController.enableTilt=o,A.screenSpaceCameraController.enableLook=o};Co.prototype.GetDegreesFromA_D=function(o,A,f,m){let C=6378137,E=6356725,I=f*Math.sin(m*Math.PI/180),x=f*Math.cos(m*Math.PI/180),y=E+(C-E)*(90-A)/90,v=y*Math.cos(A*Math.PI/180),w=(I/v+o*Math.PI/180)*180/Math.PI,Q=(x/y+A*Math.PI/180)*180/Math.PI;return[w,Q]};Co.prototype.isClampToGround=function(o){return o.heightReference&&o.heightReference.getValue()===1};Co.prototype.getClampToGroundPosition=function(o,A){let f=fi.Cartographic.fromCartesian(o),m=this._viewer.scene.sampleHeight(f,A);return f.height=m,fi.Cartographic.toCartesian(f)};Co.prototype.GetPositionFromA_D=function(o,A,f){let m=this.toDegrees(o),C=this.GetDegreesFromA_D(m.lon,m.lat,A,f);return this._cesium.Cartesian3.fromDegrees(C[0],C[1],m.height)};Co.prototype.getEntityTypeAndObject=function(o){let A={type:"",object:null};return o&&(o.billboard?(A.type="billboard",A.object=o.billboard):o.box?(A.type="box",A.object=o.box):o.corridor?(A.type="corridor",A.object=o.corridor):o.cylinder?(A.type="cylinder",A.object=o.cylinder):o.ellipse?(A.type="ellipse",A.object=o.ellipse):o.ellipsoid?(A.type="ellipsoid",A.object=o.ellipsoid):o.label?o.billboard?(A.type="billboard",A.object=o.billboard):(A.type="label",A.object=o.label):o.model?(A.type="model",A.object=o.model):o.path?(A.type="path",A.object=o.path):o.plane?(A.type="plane",A.object=o.plane):o.point?(A.type="point",A.object=o.point):o.polygon?(A.type="polygon",A.object=o.polygon):o.polyline?(A.type="polyline",A.object=o.polyline):o.polylineVolume?(A.type="polylineVolume",A.object=o.polylineVolume):o.rectangle?(A.type="rectangle",A.object=o.rectangle):o.wall&&(A.type="wall",A.object=o.wall)),A};Co.prototype.getSimpleGraphicData=function(o,A){let f=this,m=this._viewer;if(SmartEarthPopupData.editGraphic={entity:A,type:o,graphic:A[o],labelGraphic:A.label,getValue:function(Q){if(Q==="position"||Q==="name"||Q==="id"||Q==="orientation"||Q==="heading"||Q==="pitch"||Q==="roll")return this.entity[Q]&&(this.entity[Q].getValue?this.entity[Q].getValue():this.entity[Q]);if(Q==="radius"){if(this.type==="ellipse")return this.graphic.semiMajorAxis.getValue();if(this.type==="ellipsoid")return this.graphic.radii.getValue().x;if(this.type==="cylinder")return this.graphic.bottomRadius.getValue()}else if(Q==="pHeight"){if(this.getValue("position")){let M=this.getValue("position");return fi.Cartographic.fromCartesian(M).height}}else return Q==="repeat"?this.graphic.material[Q]&&(this.graphic.material[Q].getValue?this.graphic.material[Q].getValue():this.graphic.material[Q]):Q.indexOf("label_")>-1?(Q=Q.replace("label_",""),this.labelGraphic&&this.labelGraphic[Q]&&(this.labelGraphic[Q].getValue?this.labelGraphic[Q].getValue():this.labelGraphic[Q])):this.graphic[Q]&&(this.graphic[Q].getValue?this.graphic[Q].getValue():this.graphic[Q])},changeHeightPoint:function(Q){Ke.editPointID.height.length>0&&Ke.editPointID.height.forEach(M=>{let B=m.entities.getById(M);if(B){let D=B.position.getValue(),S=f.toDegrees(D);B.position=fi.Cartesian3.fromDegrees(S.lon,S.lat,Q)}})},changeEditPoint:function(Q){Ke.editPointID.edit.length>0&&Ke.editPointID.edit.forEach(B=>{let D=m.entities.getById(B);if(D)if(Q==="clampToGround")D.point.heightReference=1;else{D.point.heightReference=0;let S=D.position.getValue(),P=f.toDegrees(S);D.position=fi.Cartesian3.fromDegrees(P.lon,P.lat,Q)}}),Ke.editPointID.size.length>0&&Ke.editPointID.size.forEach(B=>{let D=m.entities.getById(B);if(D)if(Q==="clampToGround")D.point.heightReference=1;else{D.point.heightReference=0;let S=D.position.getValue(),P=f.toDegrees(S);D.position=fi.Cartesian3.fromDegrees(P.lon,P.lat,Q)}}),Ke.editPointID.add.length>0&&Ke.editPointID.add.forEach(B=>{let D=m.entities.getById(B);if(D)if(Q==="clampToGround")D.point.heightReference=1;else{D.point.heightReference=0;let S=D.position.getValue(),P=f.toDegrees(S);D.position=fi.Cartesian3.fromDegrees(P.lon,P.lat,Q)}});let M=Ke.editPointID.move;if(M)if(Q==="clampToGround")M.point.heightReference=1;else{M.point.heightReference=0;let B=M.position.getValue(),D=f.toDegrees(B);M.position=fi.Cartesian3.fromDegrees(D.lon,D.lat,Q)}},clearAllEditPoint:function(){Ke.editPointID.edit.forEach(Q=>{m.entities.removeById(Q)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(Q=>{m.entities.removeById(Q)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(Q=>{m.entities.removeById(Q)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(Q=>{m.entities.removeById(Q)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0}},o==="billboard"){let Q=SmartEarthPopupData.editGraphic.getValue("label_fillColor");Q?E(Q):(SmartEarthPopupData.editGraphic.lable_fillColor="#00ff00",SmartEarthPopupData.editGraphic.label_alpha=60);let M=SmartEarthPopupData.editGraphic.getValue("label_outlineColor");M?x(M):(SmartEarthPopupData.editGraphic.label_outlineColor="#ffffff",SmartEarthPopupData.editGraphic.label_outlineAlpha=60);let B=SmartEarthPopupData.editGraphic.getValue("label_backgroundColor");B?v(B):(SmartEarthPopupData.editGraphic.label_backgroundColor="#000000",SmartEarthPopupData.editGraphic.label_backgroundAlpha=80)}if(o==="billboard"||o==="point"||o==="label"||o==="model"){let Q=SmartEarthPopupData.editGraphic.getValue("color")||SmartEarthPopupData.editGraphic.getValue("fillColor");Q?C(Q):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let M=SmartEarthPopupData.editGraphic.getValue("outlineColor");if(M?I(M):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),o==="label"){let B=SmartEarthPopupData.editGraphic.getValue("backgroundColor");B?y(B):(SmartEarthPopupData.editGraphic.backgroundColor="#000000",SmartEarthPopupData.editGraphic.backgroundAlpha=80)}SmartEarthPopupData.editGraphic.setValue=function(B,D){if(B==="showLabel"){this.labelGraphic.show=D;return}else if(B==="position"&&this.entity.offset){this.entity.oP=D;let S=fi.Transforms.eastNorthUpToFixedFrame(this.entity.oP),P=new fi.Cartesian3(0,0,0);fi.Matrix4.multiplyByPoint(S,this.entity.offset,P),D=P}else if(B==="offset"){!this.entity.oP&&(this.entity.oP=this.getValue("position")),this.entity.offset=D;let S=fi.Transforms.eastNorthUpToFixedFrame(this.entity.oP),P=new fi.Cartesian3(0,0,0);fi.Matrix4.multiplyByPoint(S,this.entity.offset,P),D=P,B="position"}if(B==="position"||B==="name")this.entity[B]=D;else if(B==="autoRotate"&&this.type==="model")this.entity.heading===void 0&&(this.entity.heading=0,this.entity.pitch=0,this.entity.roll=0),typeof D=="number"?(this.entity.orientation=new fi.CallbackProperty(()=>(this.entity.heading+=D,this.entity.heading>360&&(this.entity.heading-=360),SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]').value=this.entity.heading),fi.Transforms.headingPitchRollQuaternion(this.getValue("position"),new fi.HeadingPitchRoll(fi.Math.toRadians(this.entity.heading),fi.Math.toRadians(this.entity.pitch),fi.Math.toRadians(this.entity.roll)))),!1),SmartEarthPopupData.window&&(SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]').disabled=!0),SmartEarthPopupData.window.document.querySelector('.model input[name="pitch"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="pitch"]').disabled=!0),SmartEarthPopupData.window.document.querySelector('.model input[name="roll"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="roll"]').disabled=!0))):D===!1&&(this.entity.orientation=fi.Transforms.headingPitchRollQuaternion(this.getValue("position"),new fi.HeadingPitchRoll(fi.Math.toRadians(this.entity.heading),fi.Math.toRadians(this.entity.pitch),fi.Math.toRadians(this.entity.roll))),SmartEarthPopupData.window&&(SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]').disabled=!1),SmartEarthPopupData.window.document.querySelector('.model input[name="pitch"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="pitch"]').disabled=!1),SmartEarthPopupData.window.document.querySelector('.model input[name="roll"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="roll"]').disabled=!1)));else if((B==="heading"||B==="pitch"||B==="roll")&&this.type==="model")this.entity[B]=D,this.entity.orientation=fi.Transforms.headingPitchRollQuaternion(this.getValue("position"),new fi.HeadingPitchRoll(fi.Math.toRadians(this.entity.heading),fi.Math.toRadians(this.entity.pitch),fi.Math.toRadians(this.entity.roll)));else if(B==="pHeight"){if(this.getValue("position")){let S=this.getValue("position"),P=fi.Cartographic.fromCartesian(S);P.height=D,this.entity.position=fi.Cartographic.toCartesian(P);return}}else if(B.indexOf("label_")>-1){if(B=B.replace("label_",""),B==="color"||B==="outlineColor"||B==="backgroundColor"||B==="fillColor")D=fi.Color.fromCssColorString(D);else if(B==="fontSize"){let S=this.getValue("font");S=S.split(" "),S[0]=D,D=S.join(" ")}else if(B==="alpha"){this.labelGraphic.fillColor._value.alpha=D;return}else if(B==="outlineAlpha"){this.labelGraphic.outlineColor._value.alpha=D;return}else if(B==="backgroundAlpha"){this.labelGraphic.backgroundColor._value.alpha=D;return}this.labelGraphic[B]=D}else{if(B==="color"||B==="outlineColor"||B==="backgroundColor"||B==="fillColor")D=fi.Color.fromCssColorString(D);else if(B==="fontSize"){let S=this.getValue("font");S=S.split(" "),S[0]=D,D=S.join(" ")}else if(B==="alpha"){this.type==="label"?this.graphic.fillColor._value.alpha=D:this.graphic.color._value.alpha=D;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=D;return}else if(B==="backgroundAlpha"){this.graphic.backgroundColor._value.alpha=D;return}this.graphic[B]=D}}}else if(o==="polyline"){let Q=SmartEarthPopupData.editGraphic.getValue("material");Q.color?C(Q.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60),Q.outlineColor?I(Q.outlineColor):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(M,B){if(M==="name")this.entity[M]=B;else{if(M==="color"||M==="outlineColor"){B=fi.Color.fromCssColorString(B),this.graphic.material[M]=B;return}else if(M==="outlineWidth"){this.graphic.material[M]=B;return}else if(M==="alpha"){this.graphic.material.color._value.alpha=B;return}else if(M==="outlineAlpha"){this.graphic.material.outlineColor._value.alpha=B;return}else if(M==="positions"){this.graphic[M]=new fi.CallbackProperty(function(){return B},!1);return}this.graphic[M]=B}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let M=this.getValue("positions");return this.entity.pottingPoint=M,M},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let M=this.getPottingPoint();if(!M)return;let B=new fi.Cartesian3;M.forEach((D,S)=>{let P=m.entities.add({name:"edit_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(D):D,point:{pixelSize:10,color:fi.Color.ROYALBLUE,outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});if(Ke.editPointID.edit.push(P.id),this.getValue("extrudedHeight")!==void 0){let R=fi.Cartographic.fromCartesian(D),T={lon:fi.Math.toDegrees(R.longitude),lat:fi.Math.toDegrees(R.latitude),height:this.getValue("extrudedHeight")};if(this.getValue("height")){let F=fi.Cartesian3.fromDegrees(T.lon,T.lat,this.getValue("height"));D.x=F.x,D.y=F.y,D.z=F.z,P.position=F,this.entity.pottingPoint[S]=F.clone()}let L=m.entities.add({name:"height_point",position:fi.Cartesian3.fromDegrees(T.lon,T.lat,T.height),point:{color:fi.Color.YELLOW,pixelSize:12,outlineColor:fi.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(L.id)}B.x+=D.x,B.y+=D.y,B.z+=D.z}),B.x/=M.length,B.y/=M.length,B.z/=M.length,Ke.editPointID.move=m.entities.add({name:"move_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(B):B,point:{color:fi.Color.PURPLE,pixelSize:10,outlineColor:fi.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});for(let D=0;D<M.length-1;D++){let S=fi.Cartesian3.midpoint(M[D],M[D+1],new fi.Cartesian3),P=m.entities.add({name:"add_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(S):S,point:{pixelSize:10,color:fi.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.push(P.id)}}}else if(o==="polygon"){let Q=SmartEarthPopupData.editGraphic.getValue("material");Q.color?C(Q.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let M=SmartEarthPopupData.editGraphic.getValue("outlineColor");M?I(M):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,D){if(B==="name")this.entity[B]=D;else{if(B==="color"||B==="outlineColor"){if(D=fi.Color.fromCssColorString(D),B==="color"){this.graphic.material.color=D;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=D;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=D;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=D;return}else if(B==="positions"){this.graphic.hierarchy=new fi.CallbackProperty(function(){return new fi.PolygonHierarchy(D)},!1);return}else if(B==="hierarchy"){this.graphic.hierarchy=new fi.CallbackProperty(function(){return D},!1);return}else if(B==="clampToGround"){let S=function(P,R,T){T?(P.perPositionHeight=!1,P.heightReference=fi.HeightReference.CLAMP_TO_GROUND):(P.perPositionHeight=!0,P.heightReference=fi.HeightReference.NONE),Ke.editPointID.edit.length>0&&!T&&R.forEach((L,F)=>{let U=m.entities.getById(Ke.editPointID.edit[F]);if(U){let N=U.position.getValue();L.x=N.x,L.y=N.y,L.z=N.z}}),P.hierarchy=new fi.CallbackProperty(function(){return new fi.PolygonHierarchy(R)},!1)};this.graphic.hierarchy instanceof fi.CallbackProperty?(this.graphic.hierarchy=this.graphic.hierarchy.getValue(),setTimeout(()=>{S(this.graphic,this.entity.pottingPoint,D)},100)):S(this.graphic,this.entity.pottingPoint,D);return}else B==="extrudedHeight"?this.changeHeightPoint(D):B==="height"&&this.changeEditPoint(D);this.graphic[B]=D}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let D=this.getValue("hierarchy").positions.concat([]);if(this.getValue("height")!==void 0){let S=this.getValue("height");D.forEach(P=>{let R=f.toDegrees(P),T=fi.Cartesian3.fromDegrees(R.lon,R.lat,S);P.x=T.x,P.y=T.y,P.z=T.z})}return this.entity.pottingPoint=D,D},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let D=new fi.Cartesian3;B.forEach((R,T)=>{let L=m.entities.add({name:"edit_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(R):R,point:{pixelSize:10,color:fi.Color.ROYALBLUE,outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});if(Ke.editPointID.edit.push(L.id),this.getValue("extrudedHeight")!==void 0){let F=fi.Cartographic.fromCartesian(R),U={lon:fi.Math.toDegrees(F.longitude),lat:fi.Math.toDegrees(F.latitude),height:this.getValue("extrudedHeight")};if(this.getValue("height")){let H=fi.Cartesian3.fromDegrees(U.lon,U.lat,this.getValue("height"));R.x=H.x,R.y=H.y,R.z=H.z,L.position=H,this.entity.pottingPoint[T]=H.clone()}let N=m.entities.add({name:"height_point",position:fi.Cartesian3.fromDegrees(U.lon,U.lat,U.height),point:{color:fi.Color.YELLOW,pixelSize:12,outlineColor:fi.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(N.id)}D.x+=R.x,D.y+=R.y,D.z+=R.z}),D.x/=B.length,D.y/=B.length,D.z/=B.length,Ke.editPointID.move=m.entities.add({name:"move_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(D):D,point:{color:fi.Color.PURPLE,pixelSize:10,outlineColor:fi.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});for(let R=0;R<B.length-1;R++){let T=fi.Cartesian3.midpoint(B[R],B[R+1],new fi.Cartesian3),L=m.entities.add({name:"add_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(T):T,point:{pixelSize:10,color:fi.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.push(L.id)}let S=fi.Cartesian3.midpoint(B[0],B[B.length-1],new fi.Cartesian3),P=m.entities.add({name:"add_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(S):S,point:{pixelSize:10,color:fi.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.push(P.id)}}else if(o==="ellipse"||o==="cylinder"||A.isSphere){let Q=SmartEarthPopupData.editGraphic.getValue("material");Q.color?C(Q.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let M=SmartEarthPopupData.editGraphic.getValue("outlineColor");M?I(M):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,D){if(B==="name")this.entity[B]=D;else{if(B==="color"||B==="outlineColor"){if(D=fi.Color.fromCssColorString(D),B==="color"){this.graphic.material.color=D;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=D;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=D;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=D;return}else if(B==="semiMajorAxis"){this.graphic.semiMajorAxis=new fi.CallbackProperty(function(){return D},!1);return}else if(B==="semiMinorAxis"){this.graphic.semiMinorAxis=new fi.CallbackProperty(function(){return D},!1);return}else if(B==="radii"){this.graphic.radii=new fi.CallbackProperty(function(){return D},!1);return}else if(B==="topRadius"){this.graphic.topRadius=new fi.CallbackProperty(function(){return D},!1);return}else if(B==="bottomRadius"){this.graphic.bottomRadius=new fi.CallbackProperty(function(){return D},!1);return}else if(B==="radius"){this.type==="ellipse"?(this.graphic.semiMajorAxis=new fi.CallbackProperty(function(){return D},!1),this.graphic.semiMinorAxis=new fi.CallbackProperty(function(){return D},!1)):this.type==="ellipsoid"?this.graphic.material.image.getValue()!==null?this.graphic.radii=new fi.Cartesian3(D,D,D):this.graphic.radii=new fi.CallbackProperty(function(){return new fi.Cartesian3(D,D,D)},!1):this.type==="cylinder"&&(this.graphic.bottomRadius=new fi.CallbackProperty(function(){return D},!1),this.entity.changeTop&&(this.graphic.topRadius=new fi.CallbackProperty(function(){return D},!1)));let S=Ke.editPointID.move.position.getValue(),P=f.GetPositionFromA_D(S,D,90),R=m.entities.getById(Ke.editPointID.size[0]);R.position=P,A.pottingPoint[0]=P,A.pottingPoint[A.pottingPoint.length-1]=S;let T=m.entities.getById(Ke.editPointID.height[0]);if(T){let L=f.toDegrees(P),F=f._cesium.Cartographic.fromCartesian(T.position.getValue());T.position=f._cesium.Cartesian3.fromDegrees(L.lon,L.lat,F.height)}return}else if(this.type==="cylinder"&&B==="length"){this.graphic.length=D;let S=f.toDegrees(this.entity.pottingPoint[1]);this.entity.position=fi.Cartesian3.fromDegrees(S.lon,S.lat,S.height+D/2),this.changeHeightPoint(S.height+D);return}else if(this.type==="ellipse"&&B==="clampToGround"){let S=function(P,R,T){T?(P.thisHeight===void 0&&(P.thisHeight=R.height&&R.height.getValue()),R.height=void 0,R.heightReference=fi.HeightReference.CLAMP_TO_GROUND):(R.height=P.thisHeight,R.heightReference=fi.HeightReference.NONE);let L=R.semiMinorAxis.getValue();R.semiMinorAxis=new fi.CallbackProperty(function(){return L},!1),R.semiMajorAxis=new fi.CallbackProperty(function(){return L},!1)};this.graphic.semiMinorAxis instanceof fi.CallbackProperty?(this.graphic.semiMinorAxis=this.graphic.semiMinorAxis.getValue(),this.graphic.semiMajorAxis=this.graphic.semiMajorAxis.getValue(),setTimeout(()=>{S(this.entity,this.graphic,D)},100)):S(this.entity,this.graphic,D),D?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else this.type==="ellipse"&&B==="extrudedHeight"?this.changeHeightPoint(D):this.type==="ellipse"&&B==="height"&&(this.changeEditPoint(D),this.entity.thisHeight=D);this.graphic[B]=D}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let B=this.getValue("radius"),D=this.getValue("position");if(this.type==="ellipse"||this.entity.isSphere){if(this.type==="ellipse"&&this.getValue("height")!==void 0){let P=this.getValue("height"),R=f.toDegrees(D);D=fi.Cartesian3.fromDegrees(R.lon,R.lat,P)}let S=f.GetPositionFromA_D(D,B,90);return this.entity.pottingPoint=[S,D],[S,D]}else{let S=f.toDegrees(D);D=fi.Cartesian3.fromDegrees(S.lon,S.lat,S.height-this.getValue("length")/2);let P=f.GetPositionFromA_D(D,B,90);return this.entity.pottingPoint=[P,D],[P,D]}},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let D=m.entities.add({name:"size_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(B[0]):B[0],point:{pixelSize:10,color:fi.Color.ROYALBLUE,outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});if(D.angle=90,Ke.editPointID.size.push(D.id),this.getValue("extrudedHeight")!==void 0){let S=f.toDegrees(B[1]);S.height=this.getValue("extrudedHeight");let P=m.entities.add({name:"height_point",position:fi.Cartesian3.fromDegrees(S.lon,S.lat,S.height),point:{color:fi.Color.YELLOW,pixelSize:12,outlineColor:fi.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(P.id)}else if(o==="cylinder"){let S=f.toDegrees(B[1]),P=this.getValue("length"),R=m.entities.add({name:"height_point",position:fi.Cartesian3.fromDegrees(S.lon,S.lat,S.height+P),point:{color:fi.Color.YELLOW,pixelSize:12,outlineColor:fi.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(void 0,R.id)}Ke.editPointID.move=m.entities.add({name:"move_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(B[1]):B[1],point:{color:fi.Color.PURPLE,pixelSize:10,outlineColor:fi.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}})}}else if(o==="rectangle"){let Q=SmartEarthPopupData.editGraphic.getValue("material");Q.color?C(Q.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let M=SmartEarthPopupData.editGraphic.getValue("outlineColor");M?I(M):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,D){if(B==="name")this.entity[B]=D;else{if(B==="color"||B==="outlineColor"){if(D=fi.Color.fromCssColorString(D),B==="color"){this.graphic.material.color=D;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=D;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=D;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=D;return}else if(B==="positions"){this.graphic.coordinates=new fi.CallbackProperty(function(){return fi.Rectangle.fromCartesianArray(D)},!1);return}else if(B==="coordinates"){this.graphic.coordinates=new fi.CallbackProperty(function(){return D},!1);return}else if(B==="clampToGround"){let S=function(P,R,T){T?(P.thisHeight===void 0&&(P.thisHeight=R.height&&R.height.getValue()),R.height=void 0,R.heightReference=fi.HeightReference.CLAMP_TO_GROUND):(R.height=P.thisHeight,R.heightReference=fi.HeightReference.NONE);let L=R.coordinates.getValue();R.coordinates=new fi.CallbackProperty(function(){return L},!1)};this.graphic.coordinates instanceof fi.CallbackProperty?(this.graphic.coordinates=this.graphic.coordinates.getValue(),setTimeout(()=>{S(this.entity,this.graphic,D)},100)):S(this.entity,this.graphic,D),D?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else B==="extrudedHeight"?this.changeHeightPoint(D):B==="height"&&(this.changeEditPoint(D),this.entity.thisHeight=D);this.graphic[B]=D}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let B=this.getValue("coordinates"),D,S,P=this.getValue("height");return P!==void 0?(D=fi.Cartesian3.fromRadians(B.west,B.north,P),S=fi.Cartesian3.fromRadians(B.east,B.south,P)):(P=m.scene.sampleHeight(new fi.Cartographic(B.west,B.north,0),[this.entity]),D=fi.Cartesian3.fromRadians(B.west,B.north,P),P=m.scene.sampleHeight(new fi.Cartographic(B.east,B.south,0),[this.entity]),S=fi.Cartesian3.fromRadians(B.east,B.south,P)),this.entity.pottingPoint=[D,S],[D,S]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let D=new fi.Cartesian3;B.forEach((S,P)=>{let R=m.entities.add({name:"edit_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(S):S,point:{pixelSize:10,color:fi.Color.ROYALBLUE,outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});if(Ke.editPointID.edit.push(R.id),this.getValue("extrudedHeight")!==void 0){let T=fi.Cartographic.fromCartesian(S),L={lon:fi.Math.toDegrees(T.longitude),lat:fi.Math.toDegrees(T.latitude),height:this.getValue("extrudedHeight")};if(this.getValue("height")){let U=fi.Cartesian3.fromDegrees(L.lon,L.lat,this.getValue("height"));S.x=U.x,S.y=U.y,S.z=U.z,R.position=U,this.entity.pottingPoint[P]=U.clone()}let F=m.entities.add({name:"height_point",position:fi.Cartesian3.fromDegrees(L.lon,L.lat,L.height),point:{color:fi.Color.YELLOW,pixelSize:12,outlineColor:fi.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(F.id)}D.x+=S.x,D.y+=S.y,D.z+=S.z}),D.x/=B.length,D.y/=B.length,D.z/=B.length,Ke.editPointID.move=m.entities.add({name:"move_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(D):D,point:{color:fi.Color.PURPLE,pixelSize:10,outlineColor:fi.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}})}}else if(o==="box"){let Q=SmartEarthPopupData.editGraphic.getValue("material");Q.color?C(Q.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let M=SmartEarthPopupData.editGraphic.getValue("outlineColor");M?I(M):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,D){if(B==="name")this.entity[B]=D;else{if(B==="color"||B==="outlineColor"){if(D=fi.Color.fromCssColorString(D),B==="color"){this.graphic.material.color=D;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=D;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=D;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=D;return}else if(B==="long"||B==="width"||B==="height"){let S=this.getValue("dimensions");if(B==="long"?S.x=D:B==="width"?S.y=D:S.z=D,this.graphic.dimensions=new fi.CallbackProperty(function(){return S},!1),B==="long"||B==="width"){let P=B==="long"?90:180,R=B==="long"?0:1,T=Ke.editPointID.move.position.getValue(),L=f.GetPositionFromA_D(T,D/2,P),F=m.entities.getById(Ke.editPointID.size[R]);F.position=L,this.entity.pottingPoint[R]=L,this.entity.pottingPoint[this.entity.pottingPoint.length-1]=T}else{let P=f.toDegrees(Ke.editPointID.move.position.getValue());this.entity.position=fi.Cartesian3.fromDegrees(P.lon,P.lat,P.height+D/2),this.changeHeightPoint(P.height+D)}return}else if(B==="dimensions"){this.graphic.dimensions=new fi.CallbackProperty(function(){return D},!1);return}this.graphic[B]=D}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let B=this.getValue("dimensions"),D=this.getValue("position"),S=f.toDegrees(D);D=fi.Cartesian3.fromDegrees(S.lon,S.lat,S.height-B.z/2);let P=f.GetPositionFromA_D(D,B.x/2,90),R=f.GetPositionFromA_D(D,B.y/2,180);return this.entity.pottingPoint=[P,R,D],[P,R,D]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let D=m.entities.add({name:"size_point",position:B[0],point:{pixelSize:10,color:fi.Color.ROYALBLUE,outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});D.angle=90;let S=m.entities.add({name:"size_point",position:B[1],point:{pixelSize:10,color:fi.Color.ROYALBLUE,outlineWidth:2,outlineColor:fi.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});S.angle=180,Ke.editPointID.size.push(D.id),Ke.editPointID.size.push(S.id);let P=f.toDegrees(B[2]),R=this.getValue("dimensions"),T=m.entities.add({name:"height_point",position:fi.Cartesian3.fromDegrees(P.lon,P.lat,P.height+R.z),point:{color:fi.Color.YELLOW,pixelSize:12,outlineColor:fi.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(void 0,void 0,T.id),Ke.editPointID.move=m.entities.add({name:"move_point",position:B[2],point:{color:fi.Color.PURPLE,pixelSize:10,outlineColor:fi.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}})}}else o==="corridor"||o==="ellipsoid"&&A.isSphere;function C(Q){SmartEarthPopupData.editGraphic.fillColor=w("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.alpha=Q.alpha*100}function E(Q){SmartEarthPopupData.editGraphic.label_fillColor=w("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.label_alpha=Q.alpha*100}function I(Q){SmartEarthPopupData.editGraphic.outlineColor=w("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.outlineAlpha=Q.alpha*100}function x(Q){SmartEarthPopupData.editGraphic.label_outlineColor=w("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.label_outlineAlpha=Q.alpha*100}function y(Q){SmartEarthPopupData.editGraphic.backgroundColor=w("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.backgroundAlpha=Q.alpha*100}function v(Q){SmartEarthPopupData.editGraphic.label_backgroundColor=w("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.label_backgroundAlpha=Q.alpha*100}function w(Q){let M=Q,B=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(M)){let D=M.replace(/(rgb|RGB)*/g,"");D=D.replace("(","").replace(")","");let S=D.split(","),P="#";for(let R=0;R<S.length;R++){let T=Number(S[R]).toString(16);T=T.length===1?0+""+T:T,T==="0"&&(T+=T),P+=T}return P.length!==7&&(P=M),P}else if(B.test(M)){let D=M.replace(/#/,"").split("");if(D.length===6)return M;if(D.length===3){let S="#";for(let P=0;P<D.length;P+=1)S+=D[P]+D[P];return S}}else return M}};Co.prototype.getStyle=function(o){let A,f;f=this.getEntityTypeAndObject(o).type;let m=E("distanceDisplayCondition"),C=E("label_distanceDisplayCondition");if(f==="point")A={id:E("id"),name:E("name"),position:E("position"),pixelSize:E("pixelSize"),scaleByDistance:E("scaleByDistance"),color:E("color")&&E("color").toCssColorString(),outlineWidth:E("outlineWidth"),outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far}};else if(f==="billboard"){let I={showLabel:E("label_show"),label_text:E("label_text"),label_font:E("label_font"),label_style:E("label_style"),label_scale:E("label_scale"),label_scaleByDistance:E("label_scaleByDistance"),label_fillColor:E("label_fillColor")&&E("label_fillColor").toCssColorString(),label_outlineColor:E("label_outlineColor")&&E("label_outlineColor").toCssColorString(),label_outlineWidth:E("label_outlineWidth"),label_showBackground:E("label_showBackground"),label_backgroundColor:E("label_backgroundColor")&&E("label_backgroundColor").toCssColorString(),label_horizontalOrigin:E("label_horizontalOrigin"),label_verticalOrigin:E("label_verticalOrigin"),label_heightReference:E("label_heightReference"),label_distanceDisplayCondition:C&&{near:C.near,far:C.far}};A={id:E("id"),name:E("name"),position:E("position"),image:E("image"),scale:E("scale"),scaleByDistance:E("scaleByDistance"),rotation:E("rotation"),width:E("width"),height:E("height"),color:E("color")&&E("color").toCssColorString(),horizontalOrigin:E("horizontalOrigin"),verticalOrigin:E("verticalOrigin"),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far},...I}}else f==="label"?A={id:E("id"),name:E("name"),position:E("position"),text:E("text"),font:E("font"),style:E("style"),scale:E("scale"),scaleByDistance:E("scaleByDistance"),fillColor:E("fillColor")&&E("fillColor").toCssColorString(),outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outlineWidth:E("outlineWidth"),showBackground:E("showBackground"),backgroundColor:E("backgroundColor")&&E("backgroundColor").toCssColorString(),horizontalOrigin:E("horizontalOrigin"),verticalOrigin:E("verticalOrigin"),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="model"?A={id:E("id"),name:E("name"),position:E("position"),url:E("uri"),minimumPixelSize:E("minimumPixelSize"),runAnimations:E("runAnimations"),scale:E("scale"),heading:o.heading,pitch:o.pitch,roll:o.roll,color:E("color")&&E("color").toCssColorString(),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="polyline"?A={id:E("id"),name:E("name"),positions:E("positions"),clampToGround:E("clampToGround"),color:E("material")&&E("material").color.toCssColorString(),outlineWidth:E("material")&&E("material").outlineWidth,outlineColor:E("material")&&E("material").outlineColor.toCssColorString(),width:E("width"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="polylineVolume"||f==="corridor"||f==="wall"||f==="path"||f==="plane"||(f==="polygon"?A={id:E("id"),name:E("name"),positions:E("hierarchy").positions,color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),perPositionHeight:E("perPositionHeight"),height:E("height"),extrudedHeight:E("extrudedHeight"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="ellipse"?(A={id:E("id"),name:E("name"),position:E("position"),radius:E("radius"),semiMajorAxis:E("semiMajorAxis"),semiMinorAxis:E("semiMinorAxis"),color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),height:E("height"),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far}},f="circle"):f==="rectangle"?A={id:E("id"),name:E("name"),coordinates:E("coordinates"),color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),height:E("height"),rotation:E("rotation"),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="box"?A={id:E("id"),name:E("name"),position:E("position"),dimensions:E("dimensions"),color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="cylinder"?A={id:E("id"),name:E("name"),position:E("position"),radius:E("radius"),topRadius:E("topRadius"),bottomRadius:E("bottomRadius"),length:E("length"),color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),distanceDisplayCondition:m&&{near:m.near,far:m.far},changeTop:o.changeTop}:f==="ellipsoid"&&(A={id:E("id"),name:E("name"),position:E("position"),radius:E("radius"),radii:E("radii"),color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),distanceDisplayCondition:m&&{near:m.near,far:m.far},isSphere:o.isSphere}));function E(I){if(I==="position"||I==="name"||I==="id")return o[I]&&(o[I].getValue?o[I].getValue():o[I]);if(I==="radius"){if(f==="ellipse")return o[f].semiMajorAxis.getValue();if(f==="ellipsoid")return o[f].radii.getValue().x;if(f==="cylinder")return o[f].bottomRadius.getValue()}else return I==="repeat"?o[f].material[I]&&(o[f].material[I].getValue?o[f].material[I].getValue():o[f].material[I]):I.indexOf("label_")>-1?(I=I.replace("label_",""),o.label&&o.label[I]&&(o.label[I].getValue?o.label[I].getValue():o.label[I])):o[f][I]&&(o[f][I].getValue?o[f][I].getValue():o[f][I])}return A.type=f,A.propData=this.getPropData(o),A};Co.prototype.addPlotting=function(o){let A=this,f=new A._cesium.EntityCollection;if((o.type==="polygon"&&o.style.extrudedHeight!==void 0||o.type==="cylinder"&&!o.style.changeTop||o.type==="ellipsoid"&&o.style.isSphere)&&o.type,!(o.style&&o.style.id&&A.SimpleGraphicObj.indexOf(o.style.id)>-1)){let m=A.addSimpleGraphic(o.type,o.style,o.treeobj);!o.removeEdit&&A.SimpleGraphicObj.push(m.id),f.add(m)}};Co.prototype.addFeatures=function(o){let A=new this._cesium.EntityCollection;return o.forEach(f=>{if(f){let m=this.addFeature(f);m&&A.add(m)}}),A};Co.prototype.addFeature=function(o){if((o.type==="polygon"&&o.style.extrudedHeight!==void 0||o.type==="cylinder"&&!o.style.changeTop||o.type==="ellipsoid"&&o.style.isSphere)&&o.type,!(o.style&&o.style.id&&this.SimpleGraphicObj.indexOf(o.style.id)>-1))return this.addSimpleGraphic(o.type,o.style)};Co.prototype.open=function(o,A){let f=this,m=this._viewer,C=new FileReader;C.readAsText(o),C.onload=function(){let I=JSON.parse(this.result).features,x=f.addFeatures(I);m.flyTo(x),A&&typeof A=="function"&&A(x)}};Co.prototype.ImportPlotting=function(o,A){let f=this,m=this._viewer,C=new FileReader;C.readAsText(o),C.onload=function(){let I=JSON.parse(this.result).features,x=f.addFeatures(I);m.flyTo(x),A&&typeof A=="function"&&A(x)}};Co.prototype.analysisJson=function(o,A){this.featuresPlotting=[];for(let m=0;m<o.length;m++)o[m]instanceof Array?this.analysisJson(o[m]):this.ScreenPlotting(o[m]);let f=that.addFeatures(featuresPlotting);viewer.flyTo(f),A&&typeof A=="function"&&A(f)};Co.prototype.ScreenPlotting=function(o){o.treeobj.type.indexOf("Plotting")!=-1&&this.featuresPlotting.push(o)};var _ne=[];Co.prototype.createsj=function(o){let A=0,f="";if(o.style.pId!=0)for(let C=0;C<_ne.length;C++)_ne[C].id===o.style.pId&&(A=_ne[C].real);o.type==="group"?f=this._createGroup.createGroup(o.style.name,!1,A):o.treeData?(o.treeData.GroupID=A,this.CreateLayer(o)):this.addPlotting(o);let m={pid:A,real:f,id:o.style.id};_ne.push(m)};Co.prototype.CreateLayer=function(o){let A=o.treeData.geoOptions.styletype,f=o.treeData.geoOptions.servertype;A===void 0&&(A="polygonbase"),f===void 0&&(f="geojson"),o.treeobj.pId&&(o.treeData.GroupID=o.treeobj.pId);let m;A=="billboardlayer"?f=="vector"?m=this._billboardGeoJsonFeatureLayer.createBillboardGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createBillboardGeoJsonFeature(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="labellayer"?f=="vector"?o.treeData.styleOption.textType=="rich"||(o.treeData.styleOption.heightReference==1&&(o.treeData.styleOption.heightReference=void 0),m=this._LabelGeoJsonFeatureLayercopy.createPrimitiveLabelGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc)):o.treeData.styleOption.collect?m=this._LabelGeoJsonFeatureLayercopy.createLabelPolymerizationGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):o.treeData.styleOption.textType=="rich"?m=this._LabelGeoJsonFeatureLayercopy.createLabelRichtextGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._LabelGeoJsonFeatureLayercopy.createLabelPointGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="SXTLabellayer"?f=="vector"&&(o.treeData.styleOption.textType=="rich"||(m=this._LabelGeoJsonFeatureLayercopy.createSXTLabelGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc))):A=="pointlayer"?f=="vector"?m=this._VectorGeoJsonFeatureLayer.createPointGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):o.treeData.styleOption.collect?m=this._LabelGeoJsonFeatureLayercopy.createPointPolymerizationGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createPointGeojsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="Streetscape"?f=="vector"?m=this._PolylineGeoJsonFeatureLayer.createPrimitivePolylineVectorGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):(o.treeData.styleOption.opacity&&o.treeData.styleOption.material&&o.treeData.styleOption.material.indexOf("#")>-1&&!o.treeData.styleOption.opacity==1&&(o.treeData.styleOption.material+=o.treeData.styleOption.opacity*100),m=this._GeoJsonFeatureLayer.createStreetscapeGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc)):A=="polylinelayer"?f=="vector"?m=this._PolylineGeoJsonFeatureLayer.createPrimitivePolylineVectorGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createStreetscapeGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polylinemodellayer"?f=="vector"?m=this._PolylineGeoJsonFeatureLayer.createPolylineVectorGeoJsonFeatureLayerProviderModel(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._PointModel.exectPointModel(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polygonmodellayer"?f=="vector"?m=this._PolygonGeoJsonFeatureLayer.createPolygonVectorGeoJsonFeatureLayerProviderModel(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._PointModel.createPolygonModel(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polygonbase"?f=="vector"?o.treeData.styleOption.ground=="1"?(o.treeData.styleOption.extrudedHeightReference=1,m=this._VectorGeoJsonFeatureLayer.createGeoJsonFeatureLayerProviderOptimization(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc)):m=this._VectorGeoJsonFeatureLayer.VolumeVectorGeoJsonFeatureLayerOptimizationGroundtest(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):o.treeData.styleOption.material&&o.treeData.styleOption.material.indexOf(".jpg")!=-1?m=this._GeoJsonFeatureLayer.createPolygonMapGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createPolygonGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polygonlayer"?f=="vector"?(o.treeData.styleOption.classificationType=0,o.treeData.styleOption.classificationType==0?m=this._VectorGeoJsonFeatureLayer.createGeoJsonFeatureLayerProviderOptimization(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):(o.treeData.styleOption.classificationType=2,o.treeData.styleOption.ground="1",m=this._VectorGeoJsonFeatureLayer.createGeoJsonFeatureLayerProviderClassOptimization(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc))):o.treeData.styleOption.material&&o.treeData.styleOption.material.indexOf(".jpg")!=-1?m=this._PolygonVectorTileLayerArcgis.createPolygonMapGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createPolygonGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="modellayer"?f=="vector"?m=this._VectorGeoJsonFeatureLayer.createModelGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createModelPointGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polylinevolumelayer"?f=="vector"?m=this._VolumeGeoJsonFeatureLayer.createVolumeGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createpolylineVolumeGeojsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polylineWallLayer"?f=="vector"?m=this._WallGeoFeatureLayer.createWallGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createWallGeoFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="primiviteModels"?m=this._PolygonVectorGeoJsonFeatureLayer.createPolygonVectorGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.styleOption.level_max,o.treeData.styleOption.level_min,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="primiviteWall"?f=="vector"||(m=this._WallGeoFeatureLayer.createWallPrimitiveGeoFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc)):A=="model"||A=="pointcloudmodel"||A=="rasterlayer"||(m=this._GeoJsonFeatureLayer.createGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc))};Co.prototype.remove=function(o){let A=this._viewer,f=this.SimpleGraphicObj.indexOf(o);f>-1&&(A.entities.removeById(o),this.SimpleGraphicObj.splice(f,1),SmartEarthPopupData&&SmartEarthPopupData.editGraphic&&SmartEarthPopupData.editGraphic.getValue&&SmartEarthPopupData.editGraphic.getValue("id")===o&&(Ke.editPointID.edit.forEach(m=>{A.entities.removeById(m)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(m=>{A.entities.removeById(m)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(m=>{A.entities.removeById(m)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(m=>{A.entities.removeById(m)}),Ke.editPointID.size=[],Ke.editPointID.move&&A.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0,window.layuiLayer.close(SmartEarthPopupData.layerIndex),SmartEarthPopupData.editGraphic={})),this.defaultEdit()};Co.prototype.clear=function(){let o=this._viewer;this.SimpleGraphicObj.forEach(A=>{o.entities.removeById(A)}),this.SimpleGraphicObj=[],this.PrimitiveCollection.removeAll(),Ke.editPointID.edit.forEach(A=>{o.entities.removeById(A)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(A=>{o.entities.removeById(A)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(A=>{o.entities.removeById(A)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(A=>{o.entities.removeById(A)}),Ke.editPointID.size=[],Ke.editPointID.move&&o.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0,window.layuiLayer.close(SmartEarthPopupData.layerIndex),SmartEarthPopupData.editGraphic={},this.defaultEdit()};Co.prototype.save=function(o){let A=this._viewer,f={type:"FeatureCollection",features:[]},m,C=this;this.SimpleGraphicObj.forEach(x=>{let y=A.entities.getById(x);if(y){let v=C.getStyle(y);m={id:y.id,name:y.name,type:v.type,style:v}}f.features.push(m)});let E=JSON.stringify(f),I=new Blob([E],{type:"text/plain;charset=utf-8"});this._core.saveAs(I,o?o+".json":"\u6807\u7ED8.json")};Co.prototype.setRichtext=function(o,A){let f=o.position.getValue();this._viewer.entities.removeById(o.id);let m="0";o.treeobj&&(Ke.delete(o.treeobj.id,this._viewer,this._cesium),m=o.treeobj.pId);let C=new fne(this._viewer);return C.createDivPoint(o.name,f,{id:o.id,description:A,GroupID:m}),C};Co.prototype.forceEndHanlder=function(){if(this.editHandler)try{this.editHandler.destroy(),this.editHandler=void 0}catch{}if(this.drawHandler)try{this.drawHandler.destroy(),this.drawHandler=void 0}catch{}};var Bne=Co;var AQe=null;function Y6(o,A){AQe=A,this._viewer=o,this._cesium=AQe,this._core=new Ji(o,AQe),this.points=[],this._SimpleGraphic=new Bne(this._viewer,this._cesium),this._SimpleGraphic.setEdit(!1)}Y6.prototype.createSightLine=function(o={}){return o.type==="circle"?this._SimpleGraphic.createCircle({},(A,f)=>{let{distance:m,positions:C}=f;this._SimpleGraphic.remove(A.id);let E=this._core.toDegrees(C[1]);C[1]=this._cesium.Cartesian3.fromDegrees(E.lon,E.lat,E.height+(o.height||1.8)),this.createPoint(C[1],"\u89C2\u5BDF\u70B9");let I=[E.lon,E.lat];this._cesium.turf.circle(I,m,{steps:o.steps||64,units:"meters"}).geometry.coordinates[0].forEach(y=>{let v=this._viewer.scene.globe.getHeight(this._cesium.Cartographic.fromDegrees(y[0],y[1])),w=this._cesium.Cartesian3.fromDegrees(y[0],y[1],v),Q=this._viewer.scene.clampToHeight(w);this.createLine([C[1],Q||w])})}):this._SimpleGraphic.createPolyline({toPoint:!0,clampToGround:!1},(A,f)=>{this._SimpleGraphic.remove(A.id);let m=this._core.toDegrees(f[0]);f[0]=this._cesium.Cartesian3.fromDegrees(m.lon,m.lat,m.height+(o.height||1.8)),this.createLine(f),this.createPoint(f[0],"\u89C2\u5BDF\u70B9"),this.createPoint(f[1],"\u76EE\u6807\u70B9")}),this};Y6.prototype.createLine=async function(o,A){let f=this._core.pickFromRay(this._viewer,o[0],o[1],A);f&&f.position?(this._SimpleGraphic.addPolyline({positions:[o[0],f.position],color:"#00ff00",clampToGround:!1}),this._SimpleGraphic.addPolyline({positions:[f.position,o[1]],color:"#ff0000",depthFailColor:"#ff00c6",clampToGround:!1})):this._SimpleGraphic.addPolyline({positions:o,color:"#00ff00",clampToGround:!1})};Y6.prototype.createPoint=function(o,A){this._SimpleGraphic.addPoint({position:o,pixelSize:8,heightReference:0}),A&&this._SimpleGraphic.addLabel({text:A,position:o,font:"bold 18px \u5B8B\u4F53",outlineWidth:2,verticalOrigin:1,pixelOffset:new this._cesium.Cartesian2(0,-18),heightReference:0})};Y6.prototype.setVisibility=function(o){};Y6.prototype.deleteObject=function(){this._SimpleGraphic.clear()};var wrt=Y6;var JP;function UJ(o,A){this._viewer=o,this._cesium=A,this.left=[],this.right=[]}UJ.prototype.createSlider=function(){this.close();let o=document.createElement("div");o.id="slider",o.style.position="absolute",o.style.cursor="e-resize",o.style.top=0,o.style.backgroundColor="#D3D3D3",o.style.width="8px",o.style.height="100%",o.style.zIndex="1000",o.style.left="50%",this._viewer.container.appendChild(o),this._viewer.scene.splitPosition=o.offsetLeft/o.parentElement.offsetWidth,o.addEventListener("mousedown",brt,!1),this.slider=o,JP={dragStartX:0,slider:o,scene:this._viewer.scene}};UJ.prototype.curtainContrast=function(o,A){this.createSlider();let f=this._viewer.imageryLayers.get(o),m=this._viewer.imageryLayers.get(A);this.left.push(f),this.right.push(m),f.splitDirection=-1,m.splitDirection=1};UJ.prototype.curtainContrastPro=function(o){this.createSlider(),o.left.forEach(A=>{A.splitDirection=-1,A.item&&(A.item.splitDirection=-1)}),o.right.forEach(A=>{A.splitDirection=1,A.item&&(A.item.splitDirection=1)}),this.left.push(...o.left),this.right.push(...o.right)};function uQe(){window.removeEventListener("mousemove",cQe,!1),window.removeEventListener("mouseup",uQe,!1)}function brt(o){JP.dragStartX=o.clientX-JP.slider.offsetLeft,window.addEventListener("mousemove",cQe,!1),window.addEventListener("mouseup",uQe,!1)}function cQe(o){let A=(o.clientX-JP.dragStartX)/JP.slider.parentElement.offsetWidth;JP.slider.style.left=100*A+"%",JP.scene.splitPosition=A}UJ.prototype.close=function(){this.slider&&(this._viewer.scene.splitPosition=0,this.slider.removeEventListener("mousedown",brt,!1),window.removeEventListener("mouseup",uQe,!1),window.removeEventListener("mousemove",cQe,!1),this.slider.remove(),this.slider=null,this.left.forEach(o=>{o.splitDirection=0,o.item&&(o.item.splitDirection=0)}),this.right.forEach(o=>{o.splitDirection=0,o.item&&(o.item.splitDirection=0)}),this.left=[],this.right=[],JP=null)};var Qrt=UJ;var mbi=null;function Hv(o,A){mbi=A,this._core=new Ji(o,A),this._viewer=o,this._cesium=A,this.camera=this._viewer.scene.camera,this.collision=!1,this.indoor_data={X_speedScale:1,Y_speedScale:.8,moveRate:.2,movementX:0,movementY:0,moveFactor:0,enable_looking:!1},this.flags={looking:!1,moveForward:!1,moveBackward:!1,moveUp:!1,moveDown:!1,moveLeft:!1,moveRight:!1}}Hv.prototype.createIndoormode=function(o={}){let A=this._viewer.scene,f=this._viewer.canvas;if(f.setAttribute("tabindex","0"),f.focus(),f.onclick=function(){f.focus()},A.screenSpaceCameraController.enableRotate=!1,A.screenSpaceCameraController.enableTranslate=!1,A.screenSpaceCameraController.enableZoom=!1,A.screenSpaceCameraController.enableTilt=!1,A.screenSpaceCameraController.enableLook=!1,this.bindEvent={pointerlockchange:this.pointerlockchange.bind(this),mousemove:this.mousemove.bind(this),keydown:this.keydown.bind(this),keyup:this.keyup.bind(this),mousewheel:this.mousewheel.bind(this),dblclick:this.dblclick.bind(this)},document.addEventListener("pointerlockchange",this.bindEvent.pointerlockchange,!1),document.addEventListener("mousemove",this.bindEvent.mousemove,!1),document.addEventListener("keydown",this.bindEvent.keydown,!1),document.addEventListener("keyup",this.bindEvent.keyup,!1),document.addEventListener("mousewheel",this.bindEvent.mousewheel,!1),document.addEventListener("dblclick",this.bindEvent.dblclick,!1),this._viewer.clock.onTick.addEventListener(this.onTick,this),this._viewer.container.requestPointerLock(),o.showHelp){let m=o.helpPosition||{left:"20px",bottom:"20px"};this.explainContainer=document.createElement("div"),this.explainContainer.id="IndoormodeExplainContainer",this.explainContainer.style.cssText=` position: absolute; padding: 10px; background-color: rgba(0, 0, 0, 0.6); border: 1px solid rgba(32, 160, 255, 0.6); color: rgb(255, 255, 255); font-size: 16px; font-family: \u5FAE\u8F6F\u96C5\u9ED1; border-radius: 5px; z-index: 999; `;for(let C in m)this.explainContainer.style[C]=m[C];this.explainContainer.innerHTML="W\uFF1A\u524D\uFF1BS\uFF1A\u540E\uFF1BA\uFF1A\u5DE6\uFF1BD\uFF1A\u53F3<br>Q\uFF1A\u4E0A\uFF1BE\uFF1A\u4E0B<br>\u53CC\u51FB\uFF1A\u78B0\u649E\u68C0\u6D4B\uFF1B\u6EDA\u8F6E\uFF1A\u79FB\u52A8\u901F\u5EA6<br>\u9F20\u6807\u79FB\u52A8\uFF1A\u65B9\u5411\u63A7\u5236\uFF1BEsc\uFF1A\u9000\u51FA",this._viewer.container.append(this.explainContainer)}return this};Hv.prototype.dblclick=function(o){o.button===0&&(this.collision=!this.collision,layuiLayer.msg(this.collision?"\u5F00\u542F\u78B0\u649E\u68C0\u6D4B":"\u5173\u95ED\u78B0\u649E\u68C0\u6D4B"))};Hv.prototype.mousemove=function(o){if(this.indoor_data.enable_looking){this.indoor_data.movementX=o.movementX,this.indoor_data.movementY=o.movementY;let A=this._viewer.canvas.clientWidth,f=this._viewer.canvas.clientHeight,m=this.indoor_data.movementX/A,C=-this.indoor_data.movementY/f;(!this.camera.roll&&this.camera.pitch<0&&C<0||!this.camera.roll&&this.camera.pitch>0&&C>0)&&(C=0),this.camera.rotate(this.camera.position,m*this.indoor_data.X_speedScale),this.camera.lookUp(C*this.indoor_data.Y_speedScale)}};Hv.prototype.mousewheel=function(o){o.wheelDelta>0?this.indoor_data.moveRate+=.02:this.indoor_data.moveRate-=.02,this.indoor_data.moveRate>1&&(this.indoor_data.moveRate=1),this.indoor_data.moveRate<.1&&(this.indoor_data.moveRate=.1)};Hv.prototype.pointerlockchange=function(){document.pointerLockElement?this.indoor_data.enable_looking=!0:this.indoor_data.enable_looking&&this.close()};Hv.prototype.keydown=function(o){let A=this.getFlagForKeyCode(o.keyCode);typeof A<"u"&&(this.flags[A]=!0)};Hv.prototype.keyup=function(o){let A=this.getFlagForKeyCode(o.keyCode);typeof A<"u"&&(this.flags[A]=!1)};Hv.prototype.getFlagForKeyCode=function(o){switch(o){case"W".charCodeAt(0):return"moveForward";case"S".charCodeAt(0):return"moveBackward";case"Q".charCodeAt(0):return"moveUp";case"E".charCodeAt(0):return"moveDown";case"D".charCodeAt(0):return"moveRight";case"A".charCodeAt(0):return"moveLeft";default:return}};Hv.prototype.onTick=function(){let o=this.camera,A=this._viewer.scene.globe.getHeight(o.positionCartographic),f=o.positionCartographic.height;this.indoor_data.moveFactor=f-A;let m=this.indoor_data.moveFactor>100?this.indoor_data.moveFactor/100:this.indoor_data.moveRate;this.oldCameraPosition={position:o.position.clone(),heading:o.heading,pitch:o.pitch,roll:o.roll},this.flags.moveForward&&o.moveForward(m),this.flags.moveBackward&&o.moveBackward(m),this.flags.moveUp&&o.moveUp(m),this.flags.moveDown&&o.moveDown(m),this.flags.moveLeft&&o.moveLeft(m),this.flags.moveRight&&o.moveRight(m),this.collision&&this.checkCollision()};Hv.prototype.checkCollision=function(){let o=this._core.pickFromRay(this._viewer,this.oldCameraPosition.position,this.camera.position);o&&o.position&&this._cesium.Cartesian3.distance(this.oldCameraPosition.position,o.position)<1&&this.camera.setView({destination:this.oldCameraPosition.position,orientation:{heading:this.oldCameraPosition.heading,pitch:this.oldCameraPosition.pitch,roll:this.oldCameraPosition.roll}});let A=this.camera.positionCartographic.clone();if(A.height-=1,A=this._cesium.Cartographic.toCartesian(A),o=this._core.pickFromRay(this._viewer,this.camera.position,A),o&&o.position&&this._cesium.Cartesian3.distance(this.camera.position,o.position)!==1.65){let f=1.65-this._cesium.Cartesian3.distance(this.camera.position,o.position);A=this.camera.positionCartographic.clone(),A.height+=f,A=this._cesium.Cartographic.toCartesian(A),this.camera.setView({destination:A,orientation:{heading:this.oldCameraPosition.heading,pitch:this.oldCameraPosition.pitch,roll:this.oldCameraPosition.roll}})}};Hv.prototype.close=function(){this._handler&&this._handler.destroy(),this._handler=null,this.bindEvent&&(document.removeEventListener("pointerlockchange",this.bindEvent.pointerlockchange,!1),document.removeEventListener("mousemove",this.bindEvent.mousemove,!1),document.removeEventListener("keydown",this.bindEvent.keydown,!1),document.removeEventListener("keyup",this.bindEvent.keyup,!1),document.removeEventListener("mousewheel",this.bindEvent.mousewheel,!1),document.removeEventListener("dblclick",this.bindEvent.dblclick,!1),this.bindEvent=null),this.collision=!1,this._viewer.clock.onTick.removeEventListener(this.onTick,this),this.explainContainer&&this.explainContainer.remove(),this.explainContainer=null,document.exitPointerLock(),this.indoor_data.enable_looking=!1,document.body.style.cursor="default",this._viewer.scene.screenSpaceCameraController.enableRotate=!0,this._viewer.scene.screenSpaceCameraController.enableTranslate=!0,this._viewer.scene.screenSpaceCameraController.enableZoom=!0,this._viewer.scene.screenSpaceCameraController.enableTilt=!0,this._viewer.scene.screenSpaceCameraController.enableLook=!0};var wne=Hv;var OJ=null;function hQe(o,A){OJ=A,this._viewer=o,this._cesium=A}hQe.prototype.createWeather=function(o,A,f){var m=this._viewer.scene.postProcessStages,C=null,E=null,I=null,x=null,y={test1:{min:10,max:160},test2:{min:.5,max:3},test3:{min:-1,max:1},test4:{min:0,max:1}},v={test1:{min:10,max:160},test2:{min:0,max:1},test3:{min:0,max:.7},test4:{min:.1,max:.9}};if(o==="sun"){this.createWeather("rain",!1),this.createWeather("snow",!1),this.createWeather("fog",!1);return}switch(o){case"rain":if(C=f,this._viewer.scene.postProcessStages._stages.length&&this._viewer.scene.postProcessStages._stages.forEach(function(M){M&&M.name==="rain"&&m.remove(M)}),A){if(C?E={test1:f.test1,test2:f.test2,test3:f.test3,test4:f.test4}:(E={test1:7,test2:.3,test3:-.4,test4:1},C={test1:7,test2:.3,test3:-.4,test4:1}),E.test1=(10-parseFloat(E.test1))*15+10,E.test2=parseFloat(E.test2)*2.5+.5,E.test1>y.test1.max||E.test1<y.test1.min||E.test2>y.test2.max||E.test2<y.test2.min||E.test3>y.test3.max||E.test3<y.test3.min||E.test4>y.test4.max||E.test4<y.test4.min)return;E.test1=this.getValue(E.test1+""),E.test2=this.getValue(E.test2+""),E.test3=this.getValue(E.test3+""),E.test4=this.getValue(E.test4+"");var w=new this._cesium.PostProcessStage({name:"rain",fragmentShader:`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float hash(float x){ return fract(sin(x*133.3)*13.13); } void main(void){ float time = czm_frameNumber / `+E.test1+`; vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*`+E.test2+`-resolution.xy)/min(resolution.x,resolution.y); vec3 c=vec3(.6,.7,.8); float a=`+E.test3+`; float si=sin(a),co=cos(a); uv*=mat2(co,-si,si,co); uv*=length(uv+vec2(0,4.9))*.3+`+E.test4+`; float v=1.-sin(hash(floor(uv.x*100.))*2.); float b=clamp(abs(sin(20.*time*v+uv.y*(5./(2.+v))))-.95,0.,1.)*20.; c*=v*b; //\u5C4F\u5E55\u4E0A\u96E8\u7684\u989C\u8272 out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(c,1), 0.5); }`});m.add(w)}break;case"snow":if(I=f,this._viewer.scene.postProcessStages._stages.length&&this._viewer.scene.postProcessStages._stages.forEach(function(M){M&&M.name==="snow"&&m.remove(M)}),A){if(I?E={test1:f.test1,test2:f.test2,test3:f.test3,test4:f.test4}:(E={test1:7,test2:.1,test3:.5,test4:.5},I={test1:7,test2:.1,test3:.5,test4:.5}),E.test1=(10-parseFloat(E.test1))*15+10,E.test2=parseFloat(E.test2)/10,E.test3=parseFloat(E.test3)*.7,E.test4=(1-parseFloat(E.test4))*.8+.1,parseFloat(E.test1)>v.test1.max||parseFloat(E.test1)<v.test1.min||parseFloat(E.test2)>v.test2.max||parseFloat(E.test2)<v.test2.min||parseFloat(E.test3)>v.test3.max||parseFloat(E.test3)<v.test3.min||parseFloat(E.test4)>v.test4.max||parseFloat(E.test4)<v.test4.min)return;E.test1=this.getValue(E.test1+""),E.test2=this.getValue(E.test2+""),E.test3=this.getValue(E.test3+""),E.test4=this.getValue(E.test4+"");var Q=new this._cesium.PostProcessStage({name:"snow",fragmentShader:`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float snow(vec2 uv,float scale){ float time = czm_frameNumber / `+E.test1+`; float w=smoothstep(1.0,0.,-uv.y*(scale/10.0));if(w<`+E.test2+`)return 0.; uv+=time/scale;uv.y+=time*2./scale;uv.x+=sin(uv.y+time*.5)/scale; uv*=scale;vec2 s=floor(uv),f=fract(uv),p;float k=3.,d; p=`+E.test3+`+.35*sin(11.*fract(sin((s+p+scale)*mat2(7,3,6,5))*5.))-f;d=length(p);k=min(d,k); k=smoothstep(0.,k,sin(f.x+f.y)*0.01); return k*w; } void main(void){ vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y); vec3 finalColor=vec3(0); float c = 0.0; c+=snow(uv,30.)*.0; c+=snow(uv,20.)*.0; c+=snow(uv,15.)*.0; c+=snow(uv,10.); c+=snow(uv,8.); c+=snow(uv,6.); c+=snow(uv,5.); finalColor=(vec3(c)); //\u5C4F\u5E55\u4E0A\u96EA\u7684\u989C\u8272 out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(finalColor,1), `+E.test4+`); //\u5C06\u96EA\u548C\u4E09\u7EF4\u573A\u666F\u878D\u5408 }`});m.add(Q)}break;case"fog":if(x=f,this._viewer.scene.postProcessStages._stages.length&&this._viewer.scene.postProcessStages._stages.forEach(function(M){M&&M.name==="fog"&&m.remove(M)}),A){if(x?E={distance:f.distance,color:f.color&&OJ.Color.fromCssColorString(f.color)}:(E={distance:200,color:"#ffffff"},x={distance:200,color:"#ffffff"}),E.distance<10)return;let M=new OJ.PostProcessStage({name:"fog",fragmentShader:`float getDistance(sampler2D depthTexture, vec2 texCoords) { float depth = czm_unpackDepth(texture(depthTexture, texCoords)); if (depth == 0.0) { return czm_infinity; } vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depth); return -eyeCoordinate.z / eyeCoordinate.w; } float interpolateByDistance(vec4 nearFarScalar, float distance) { float startDistance = nearFarScalar.x; float startValue = nearFarScalar.y; float endDistance = nearFarScalar.z; float endValue = nearFarScalar.w; float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); return mix(startValue, endValue, t); } vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor) { return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a); } uniform sampler2D colorTexture; uniform sampler2D depthTexture; uniform vec4 fogByDistance; uniform vec4 fogColor; in vec2 v_textureCoordinates; void main(void) { float distance = getDistance(depthTexture, v_textureCoordinates); vec4 sceneColor = texture(colorTexture, v_textureCoordinates); float blendAmount = interpolateByDistance(fogByDistance, distance); vec4 finalFogColor = vec4(fogColor.rgb, fogColor.a * blendAmount); out_FragColor = alphaBlend(finalFogColor, sceneColor); } `,uniforms:{fogByDistance:new OJ.Cartesian4(10,0,E.distance||200,1),fogColor:E.color||OJ.Color.WHITE}});m.add(M)}break}};hQe.prototype.getValue=function(o){if(o===""||o==="-"||o==="."||o===void 0||(o[o.length-1]==="-"&&(o=o.substr(0,o.length-1)),o.split(".").length>2))return"0.0";var A=o.split(".")[1]&&o.split(".")[1].length;return A?o:parseFloat(o).toFixed(1)};var Srt=hQe;function JB(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this.Fireworks=[],this.Smog=[],this.Fountain=[],this.Flame=[],this.Blast=[]}JB.prototype.createParticleEffect=function(o,A,f,m){switch(this._viewer.clockViewModel.shouldAnimate||(this._viewer.clockViewModel.shouldAnimate=!0),o){case"fireworks":this.createFireworks(A,f,m);break;case"smog":this.createSmog(A,f,m);break;case"fountain":this.createFountain(A,f,m);break;case"flame":this.createFlame(A,f,m);break;case"blast":this.createBlast(A,f,m);break}return this};JB.prototype.deleteObject=function(){var o=this._viewer.scene;this.Fireworks.length>0&&(this.Fireworks.forEach(function(A){o.primitives.remove(A)}),this.Fireworks=[]),this.Smog.length>0&&(this.Smog.forEach(function(A){o.primitives.remove(A)}),this.Smog=[]),this.Fountain.length>0&&(this.Fountain.forEach(function(A){o.primitives.remove(A)}),this.Fountain=[]),this.Flame.length>0&&(this.Flame.forEach(function(A){o.primitives.remove(A)}),this.Flame=[]),this.Blast.length>0&&(this.Blast.forEach(function(A){o.primitives.remove(A)}),this.Blast=[])};JB.prototype.removeParticleEffect=function(o){var A=this._viewer.scene;switch(o){case"fireworks":this.Fireworks.length>0&&(this.Fireworks.forEach(function(f){A.primitives.remove(f)}),this.Fireworks=[]);break;case"smog":this.Smog.length>0&&(this.Smog.forEach(function(f){A.primitives.remove(f)}),this.Smog=[]);break;case"fountain":this.Fountain.length>0&&(this.Fountain.forEach(function(f){A.primitives.remove(f)}),this.Fountain=[]);break;case"flame":this.Flame.length>0&&(this.Flame.forEach(function(f){A.primitives.remove(f)}),this.Flame=[]);break;case"blast":this.Blast.length>0&&(this.Blast.forEach(function(f){A.primitives.remove(f)}),this.Blast=[]);break}};JB.prototype.createFireworks=function(o,A,f){var m=this._viewer.scene,C=this._viewer,E=this._cesium;A||(A={}),E.Math.setRandomNumberSeed(315);var I=this.computeModelMatrix(o),x=new E.Cartesian3(0,0,100),y;function v(){if(!E.defined(y)){y=document.createElement("canvas"),y.width=20,y.height=20;var G=y.getContext("2d");G.beginPath(),G.arc(8,8,8,0,E.Math.TWO_PI,!0),G.closePath(),G.fillStyle="rgb(255, 255, 255)",G.fill()}return y}var w=E.defaultValue(A.minSize,30),Q=E.defaultValue(A.maxSize,100),M=E.defaultValue(A.size,7),B=new E.Cartesian2(M,M),D=400,S=10,P=E.defaultValue(A.num,20),R=new E.Matrix4;function T(G,Y,W){var O=E.Cartesian3.add(x,G,new E.Cartesian3),re=E.Matrix4.fromTranslation(O,R),se=E.Matrix4.multiply(I,re,new E.Matrix4),ce=E.Matrix4.inverseTransformation(se,se),me=E.Math.randomBetween(w,Q),Ce=new E.Cartesian3,ye=function(Ne){var Pe=E.Matrix4.multiplyByPoint(ce,Ne.position,Ce);E.Cartesian3.magnitudeSquared(Pe)>=me*me&&E.Cartesian3.clone(E.Cartesian3.ZERO,Ne.velocity)},Be=(me-w)/(Q-w),Me=.3,He=1,ke=Be*(He-Me)+Me;return m.primitives.add(new E.ParticleSystem({image:v(),startColor:Y,endColor:Y.withAlpha(0),particleLife:ke,speed:100,imageSize:B,emissionRate:0,emitter:new E.SphereEmitter(.1),bursts:W,lifetime:S,updateCallback:ye,modelMatrix:I,emitterModelMatrix:re}))}for(var L=-100,F=100,U=-80,N=100,H=-50,J=50,K=[{minimumRed:.75,green:0,minimumBlue:.8,alpha:1},{red:0,minimumGreen:.75,minimumBlue:.8,alpha:1},{red:0,green:0,minimumBlue:.8,alpha:1},{minimumRed:.75,minimumGreen:.75,blue:0,alpha:1}],X=0;X<P;++X){for(var j=E.Math.randomBetween(L,F),ee=E.Math.randomBetween(U,N),ie=E.Math.randomBetween(H,J),z=new E.Cartesian3(j,ee,ie),oe=E.Color.fromRandom(K[X%K.length]),le=[],Ae=0;Ae<3;++Ae)le.push(new E.ParticleBurst({time:E.Math.nextRandomNumber()*S,minimum:D,maximum:D}));this.Fireworks.push(T(z,oe,le))}if(f&&typeof f=="function")f(this.Fireworks);else{var he=C.scene.camera,ge=new E.Cartesian3(-300,0,0);he.lookAtTransform(I,ge),he.lookAtTransform(E.Matrix4.IDENTITY);var de=E.Cartesian3.subtract(x,ge,new E.Cartesian3);E.Cartesian3.normalize(de,de);var fe=E.Math.PI_OVER_TWO-Math.acos(E.Cartesian3.dot(de,E.Cartesian3.UNIT_Z));he.lookUp(fe)}};JB.prototype.createSmog=function(o,A,f){var m=this._viewer.scene,C=this._viewer,E=this._cesium,I=this;(!A||A==="")&&(A={}),E.Math.setRandomNumberSeed(3);var x={image:window.SmartEarthRootUrl+kr.smog,emissionRate:50,gravity:0,minimumParticleLife:1,maximumParticleLife:1.2,minimumSpeed:1,maximumSpeed:4,startScale:1,endScale:5,particleSize:1,lifetime:6};this._core.extend(x,A,!0);var y,v=new E.Cartesian3,w=Q(o);this.Smog.push(w),f&&typeof f=="function"&&f(this.Smog);function Q(S){var P=C.scene;return y=P.primitives.add(new E.ParticleSystem({image:x.image,startColor:E.Color.LIGHTSEAGREEN.withAlpha(.7),endColor:E.Color.WHITE.withAlpha(0),startScale:x.startScale,endScale:x.endScale,sizeInMeters:!0,minimumParticleLife:x.minimumParticleLife,maximumParticleLife:x.maximumParticleLife,minimumSpeed:x.minimumSpeed,maximumSpeed:x.maximumSpeed,imageSize:new E.Cartesian2(x.particleSize,x.particleSize),emissionRate:x.emissionRate,lifetime:x.lifetime,emitter:new E.CircleEmitter(2),emitterModelMatrix:I.computeEmitterModelMatrix(A.translation,A.rotation),updateCallback:M})),x.type&&D(x.type),C.scene.preUpdate.addEventListener(function(R,T){y&&(y.modelMatrix=I.computeModelMatrix(S,T),y.emitterModelMatrix=I.computeEmitterModelMatrix(A.translation,A.rotation))}),y}function M(S,P){var R=S.position;E.Cartesian3.normalize(R,v),E.Cartesian3.multiplyByScalar(v,x.gravity*P,v),S.velocity=E.Cartesian3.add(S.velocity,v,S.velocity)}function B(S){S.startScale&&(y.startScale=S.startScale),S.endScale&&(y.endScale=S.endScale),S.minimumParticleLife&&(y.minimumParticleLife=S.minimumParticleLife),S.maximumParticleLife&&(y.maximumParticleLife=S.maximumParticleLife),S.minimumSpeed&&(y.minimumSpeed=S.minimumSpeed),S.maximumSpeed&&(y.maximumSpeed=S.maximumSpeed),S.particleSize&&(y.minimumImageSize.x=S.particleSize,y.minimumImageSize.y=S.particleSize,y.maximumImageSize.x=S.particleSize,y.maximumImageSize.y=S.particleSize),S.emissionRate&&(y.emissionRate=S.emissionRate)}function D(S){S==="\u5706\u5F62\u653E\u5C04"?y.emitter=new E.CircleEmitter(2):S==="\u7403\u4F53\u653E\u5C04"?y.emitter=new E.SphereEmitter(2.5):S==="\u5706\u9525\u4F53\u653E\u5C04"?y.emitter=new E.ConeEmitter(E.Math.toRadians(45)):S==="\u76D2\u72B6\u653E\u5C04"&&(y.emitter=new E.BoxEmitter(new E.Cartesian3(10,10,10)))}};JB.prototype.createFountain=function(o,A,f){var m=this._viewer.scene,C=this._viewer,E=this._cesium,I=this;(!A||A==="")&&(A={});var x={image:window.SmartEarthRootUrl+kr.penquan,emissionRate:50,minimumParticleLife:3,maximumParticleLife:4,minimumSpeed:9,maximumSpeed:9.5,startScale:1,endScale:15,particleSize:1,lifetime:6,gravity:-3.5};this._core.extend(x,A,!0);var y=new E.Cartesian3,v,w=Q();this.Fountain.push(w),f&&typeof f=="function"&&f(this.Fountain);function Q(){return v=C.scene.primitives.add(new E.ParticleSystem({image:x.image,startColor:new E.Color(1,1,1,.3),endColor:new E.Color(.8,.86,1,.4),startScale:x.startScale,endScale:x.endScale,minimumParticleLife:x.minimumParticleLife,maximumParticleLife:x.maximumParticleLife,minimumSpeed:x.minimumSpeed,maximumSpeed:x.maximumSpeed,imageSize:new E.Cartesian2(x.particleSize,x.particleSize*2),emissionRate:x.emissionRate,lifetime:x.lifetime,loop:!0,emitter:new E.ConeEmitter(E.Math.toRadians(E.defaultValue(x.angle,7))),updateCallback:M,sizeInMeters:!0})),C.scene.preUpdate.addEventListener(function(D,S){v&&(v.modelMatrix=I.computeModelMatrix(o,S),v.emitterModelMatrix=I.computeEmitterModelMatrix(A.translation,A.rotation))}),v}function M(D,S){var P=D.position;E.Cartesian3.normalize(P,y),E.Cartesian3.multiplyByScalar(y,x.gravity*S,y),D.velocity=E.Cartesian3.add(D.velocity,y,D.velocity)}function B(D){v.startScale=D.startScale,v.endScale=D.endScale,v.minimumParticleLife=D.minimumParticleLife,v.maximumParticleLife=D.maximumParticleLife,v.minimumSpeed=D.minimumSpeed,v.maximumSpeed=D.maximumSpeed,v.minimumImageSize.x=D.particleSize,v.minimumImageSize.y=D.particleSize*2,v.maximumImageSize.x=D.particleSize,v.maximumImageSize.y=D.particleSize*2,v.emissionRate=D.emissionRate}};JB.prototype.createFlame=function(o,A,f){var m=this._viewer.scene,C=this._viewer,E=this._cesium,I=this;(!A||A==="")&&(A={});var x={image:window.SmartEarthRootUrl+kr.fire,emissionRate:50,gravity:0,minimumParticleLife:1,maximumParticleLife:3,minimumSpeed:1,maximumSpeed:4,startScale:1,endScale:6,particleSize:1,lifetime:16};this._core.extend(x,A,!0);var y=v(o);this.Flame.push(y),f&&typeof f=="function"&&f(this.Flame);function v(w){return C.scene.primitives.add(new E.ParticleSystem({image:x.image,startColor:E.Color.RED.withAlpha(.7),endColor:E.Color.YELLOW.withAlpha(.3),startScale:x.startScale,endScale:x.endScale,minimumParticleLife:x.minimumParticleLife,maximumParticleLife:x.maximumParticleLife,minimumSpeed:x.minimumSpeed,maximumSpeed:x.maximumSpeed,imageSize:new E.Cartesian2(x.particleSize,x.particleSize),emissionRate:x.emissionRate,sizeInMeters:!0,lifetime:x.lifetime,emitter:new E.ConeEmitter(E.Math.toRadians(30)),modelMatrix:I.computeModelMatrix(w),emitterModelMatrix:I.computeEmitterModelMatrix(x.translation,x.rotation)}))}};JB.prototype.createBlast=function(o,A,f){var m=this._viewer.scene,C=this._viewer,E=this._cesium,I=this;(!A||A==="")&&(A={});var x={image:window.SmartEarthRootUrl+kr.fire2,emissionRate:10,gravity:0,minimumParticleLife:1,maximumParticleLife:3,minimumSpeed:5,maximumSpeed:20,startScale:1,endScale:10,particleSize:5,lifetime:3};this._core.extend(x,A,!0);var y=v(o);this.Blast.push(y),f&&typeof f=="function"&&f(this.Blast);function v(w){let Q=new E.ParticleSystem({image:x.image,startColor:x.startColor,endColor:x.endColor,startScale:x.startScale,endScale:x.endScale,minimumParticleLife:x.minimumParticleLife,maximumParticleLife:x.maximumParticleLife,minimumSpeed:x.minimumSpeed,maximumSpeed:x.maximumSpeed,imageSize:new E.Cartesian2(x.particleSize,x.particleSize),emissionRate:x.emissionRate,sizeInMeters:!0,lifetime:x.lifetime,emitter:new E.ConeEmitter(E.Math.toRadians(30)),emitterModelMatrix:I.computeEmitterModelMatrix(x.translation,x.rotation),bursts:x.bursts,updateCallback:()=>{Q.modelMatrix=I.computeModelMatrix(w,I._viewer.clock.currentTime)}});return C.scene.primitives.add(Q)}};JB.prototype.computeModelMatrix=function(o,A){var f=this._cesium;if(o instanceof f.Entity)return o.computeModelMatrix(A,new f.Matrix4);if(o.x&&o.y){var m;return o.x<=180&&o.x>=-180&&o.y<=90&&o.y>=-90?m=f.Cartesian3.fromDegrees(o.x,o.y,o.z||0):m=o,f.Transforms.eastNorthUpToFixedFrame(m)}};JB.prototype.computeEmitterModelMatrix=function(o,A){var f=this._cesium,m=new f.TranslationRotationScale,C=f.HeadingPitchRoll.fromDegrees(0,0,0);return m.translation=f.defaultValue(o,f.Cartesian3.fromElements(0,0,0)),m.rotation=f.Quaternion.fromHeadingPitchRoll(f.defaultValue(A,C)),f.Matrix4.fromTranslationRotationScale(m)};var Drt=JB;function x3(o){this._viewer=o,this._depth=100,this.show=!1}x3.prototype.refreshGridLines=function(){let o=this._relativeHeight<0&&this.show,A=this._viewer.camera,f=new Cesium.Cartographic(A.positionCartographic.longitude,A.positionCartographic.latitude,A.positionCartographic.height-this._depth);this.item=this.UndergroundGridLines(f,o)};x3.prototype.add=function(o){if(this.show=!0,this._depth=o||100,!this.item)return this._viewer.scene.primitives.add(this),this.refreshGridLines(),this};x3.prototype.update=function(o){this.item&&this.show&&(this.getRelativeHeight(),this.item.show&&this.item.update(o))};x3.prototype.destroy=function(){this.item&&(this._viewer.scene.primitives.remove(this),this.item=null)};x3.prototype.UndergroundGridLines=function(o,A){let f=o;o instanceof Cesium.Cartesian3&&(f=this._viewer.scene.globe.ellipsoid.cartesianToCartographic(o));let m=new Cesium.GeometryInstance({geometry:new Cesium.EllipseGeometry({center:Cesium.Cartesian3.fromRadians(f.longitude,f.latitude),height:f.height,semiMinorAxis:2e4,semiMajorAxis:2e4,vertexFormat:Cesium.VertexFormat.POSITION_AND_ST}),id:"undergroundSurface"}),C=Cesium.Material.fromType("Grid");C.uniforms.color=Cesium.Color.WHITE.withAlpha(.8),C.uniforms.cellAlpha=.01,C.uniforms.lineCount=new Cesium.Cartesian2(200,200),C.uniforms.lineThickness=new Cesium.Cartesian2(1,1);let E=Cesium.Material.fromType("Color");return E.uniforms.color=Cesium.Color.BLACK.withAlpha(.8),this.grid1&&this.grid1.destroy(),this.grid1=new Cesium.Primitive({geometryInstances:m,appearance:new Cesium.EllipsoidSurfaceAppearance({material:C}),asynchronous:!1}),this.grid2&&this.grid2.destroy(),this.grid2=new Cesium.Primitive({geometryInstances:m,appearance:new Cesium.EllipsoidSurfaceAppearance({material:E}),asynchronous:!1}),this.grid1.appearance.renderState.depthTest.enabled=!0,this.grid2.appearance.renderState.depthTest.enabled=!0,{show:A,destroy:()=>{this.grid1&&this.grid1.destroy(),this.grid2&&this.grid2.destroy(),this.grid1=this.grid2=null},update:I=>{this.grid1&&this.grid1.update(I),this.grid2&&this.grid2.update(I)}}};x3.prototype.getRelativeHeight=function(){let o=this._viewer.camera,A=this._viewer.scene.globe.getHeight(o.positionCartographic);if(this._groundHeightAtCameraPosition=A||this._groundHeightAtCameraPosition,this._relativeHeight=o.positionCartographic.height-this._groundHeightAtCameraPosition,!this.oldCameraPosition&&(this.oldCameraPosition=o.position.clone()),!this.oldCameraHeight&&(this.oldCameraHeight=o.positionCartographic.height),this._relativeHeight>0){this.item&&(this.item.show=!1);return}this.item&&(this.item.show=!0),(Math.abs(this.oldCameraHeight-o.positionCartographic.height)>this._depth/10||Cesium.Cartesian3.distance(this.oldCameraPosition,o.position)>1e4)&&(this.oldCameraPosition=o.position.clone(),this.oldCameraHeight=o.positionCartographic.height,this.refreshGridLines())};var Mrt=x3;var VD=null;function qd(o,A){VD=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke,this.isStreetView=!1,this.StreetViewType=void 0,VD.ExpandBySmartEarth&&(VD.ExpandBySmartEarth.isStreetView=!1),this.defaultSkyAtmosphere=!0,this.StreetViewSphere=[null,null],this.StreetViewSphere_Canvas=[null,null],this.StreetViewNavigation=[],this.StreetViewSphereIndex=0,this.URL={getInitImageByPosition:"",getInitImageInfoById:"",getInitImageById:"",getSecondImageById:"",getThirdImageById:"",getImageInfo:""},this.CallBack={getInitImageByPositionCallBack:void 0,getImageInfoByIdCallBack:void 0,getInitImageByIdCallBack:void 0,getSecondImageByIdCallBack:void 0,getThirdImageByIdCallBack:void 0,selectJoinsCallBack:void 0,setImageDataCallback:void 0},this.StreetViewData={name:"",radius:5,defaultFov:60,fov:110,alpha:1,speedScale:1.5,lon:void 0,lat:void 0,height:0,HeadingPitchRoll:null,getImageTileID:"",linkImagesData:[],isTwoTextures:!1,isThreeTextures:!1,_handler:null,navigation_handler:null},this.FirstImage=void 0}qd.prototype.StreetViewOpen=function(o,A,f){var m=this,C=this._viewer;if(!this.isStreetView){this.StreetViewSphere.length>0&&(this.StreetViewSphere.forEach(function(I){I&&C.entities.remove(I)}),this.StreetViewSphere=[null,null]),this.StreetViewType=A.type,this.StreetViewData.linkImagesData=[],this.URL=this.extend(this.URL,A,!1),this.CallBack=this.extend(this.CallBack,A,!1),this.defaultSkyAtmosphere=!!C.scene.skyAtmosphere.show,C.scene.skyAtmosphere.show||(C.scene.skyAtmosphere.show=!0);var E=C.camera;this.getInitImageByPosition(o,function(I){m.isStreetView=!0,VD.ExpandBySmartEarth&&(VD.ExpandBySmartEarth.isStreetView=!0),E.flyTo({destination:new m._cesium.Cartesian3.fromDegrees(m.StreetViewData.lon,m.StreetViewData.lat,m.StreetViewData.height),orientation:{heading:E.heading,pitch:E.pitch>m._cesium.Math.toRadians(45)||E.pitch<m._cesium.Math.toRadians(-45)?0:E.pitch,roll:0},duration:A.flyTime,complete:function(){f&&typeof f=="function"&&f()}}),m.attachMouseEvent(),m.createNavigation(),m.StreetViewSphereIndex=0,m.StreetViewSphere_Canvas[m.StreetViewSphereIndex]=I,m.StreetViewSphere[m.StreetViewSphereIndex]=m.createScene(m.StreetViewData.lon,m.StreetViewData.lat,m.StreetViewData.height),m.StreetViewSphere[m.StreetViewSphereIndex].show=!0,m.StreetViewSphere[m.StreetViewSphereIndex].orientation=m._cesium.Transforms.headingPitchRollQuaternion(m._cesium.Cartesian3.fromDegrees(m.StreetViewData.lon,m.StreetViewData.lat,m.StreetViewData.height),new m._cesium.HeadingPitchRoll(m._cesium.Math.toRadians(m.StreetViewData.HeadingPitchRoll.heading+(m.StreetViewType==="lide"?90:0)),m._cesium.Math.toRadians(-m.StreetViewData.HeadingPitchRoll.roll),m._cesium.Math.toRadians(m.StreetViewData.HeadingPitchRoll.pitch))),m.StreetViewType==="lide"?m._core.xhr({url:m.URL.getImageInfo+m.StreetViewData.getImageTileID,type:"get",dataType:"json",success:function(x){m.CallBack&&m.CallBack.setImageDataCallback&&typeof m.CallBack.setImageDataCallback=="function"&&m.CallBack.setImageDataCallback(m.StreetViewData,x),m.getSecondTexturesFromAtlasFile(m.StreetViewData.getImageTileID,function(y){y.index===m.StreetViewSphereIndex&&m.StreetViewData.isTwoTextures===!1&&(m.StreetViewSphere_Canvas[m.StreetViewSphereIndex]=y.canvas),m.StreetViewData.isTwoTextures=!0,m.StreetViewData.isThreeTextures=!1})}}):m.getSecondTexturesFromAtlasFile(m.StreetViewData.getImageTileID,function(x){x.index===m.StreetViewSphereIndex&&m.StreetViewData.isTwoTextures===!1&&(m.StreetViewSphere_Canvas[m.StreetViewSphereIndex]=x.canvas),m.StreetViewData.isTwoTextures=!0,m.StreetViewData.isThreeTextures=!1})})}return this};qd.prototype.exit=function(){if(this.isStreetView){var o=this,A=this._viewer;this.StreetViewSphere.length>0&&(this.StreetViewSphere.forEach(function(m){m&&A.entities.remove(m)}),this.StreetViewSphere=[null,null],this.StreetViewSphere_Canvas=[null,null]),this.StreetViewNavigation.length>0&&(this.StreetViewNavigation.forEach(function(m){A.entities.remove(m)}),this.StreetViewNavigation=[]),this.setCesiumFov(this.StreetViewData.defaultFov),this.detachMouseEvent(),A.scene.skyAtmosphere.show=this.defaultSkyAtmosphere,this.isStreetView=!1,VD.ExpandBySmartEarth&&(VD.ExpandBySmartEarth.isStreetView=!1);var f=A.camera.positionCartographic;A.camera.flyTo({destination:new this._cesium.Cartesian3.fromRadians(f.longitude,f.latitude,f.height+3e3),orientation:{heading:A.camera.heading,pitch:this._cesium.Math.toRadians(-90),roll:0},complete:function(){o.isStreetView=!1,VD.ExpandBySmartEarth&&(VD.ExpandBySmartEarth.isStreetView=!1)}})}};qd.prototype.extend=function(o,A,f){for(var m in A)A.hasOwnProperty(m)&&(o.hasOwnProperty(m)||f)&&(o[m]=A[m]);return o};qd.prototype.getInitImageByPositionURL=function(o){var A;if(this.URL&&this.URL.getInitImageByPosition){var f,m=this.URL.getInitImageByPosition.split("{lon}");m[0].split("{lat}").length>1?(f=m[0].split("{lat}"),A=f[0]+o.lat+f[1]+o.lon+m[1]):(f=m[1].split("{lat}"),A=m[0]+o.lon+f[0]+o.lat+f[1])}return A};qd.prototype.getImageByIdURL=function(o,A){var f,m;switch(o){case"one":m=this.URL.getInitImageById;break;case"two":m=this.URL.getSecondImageById;break;case"three":m=this.URL.getThirdImageById;break;case"init":m=this.URL.getInitImageInfoById;break}if(this.StreetViewType==="lide"&&(A=A.replace("-0-","-X-"),o==="one"&&(m+="&row=0&col=0")),m){var C=m.split("{id}");f=C[0]+A+C[1]}return f};qd.prototype.getInitImageByPosition=function(o,A){var f=this,m=this.getInitImageByPositionURL(o);this.StreetViewData.linkImagesData=[],this._core.xhr({url:m,type:"get",dataType:"json",success:C=>{if(f.CallBack&&f.CallBack.getInitImageByPositionCallBack)typeof f.CallBack.getInitImageByPositionCallBack=="function"&&f.CallBack.getInitImageByPositionCallBack(f.StreetViewData,C);else{console.log("the getInitImageByPositionCallBack is undefined\uFF01");return}var E=f.getImageByIdURL("one",f.StreetViewData.getImageTileID),I=new Image;I.onload=function(){var x=I.width,y=I.height,v=x,w=y;f.StreetViewType==="lide"&&(v=512,w=256);var Q=document.createElement("canvas"),M=Q.getContext("2d");Q.height=w,Q.width=v,M.translate(v,0),M.scale(-1,1),M.drawImage(I,0,0,v,w,0,0,v,w),typeof A=="function"&&A(Q)},I.setAttribute("crossOrigin","Anonymous");try{I.src=E}catch{I.src=""}f.FirstImage=I},error:function(C,E,I){}})};qd.prototype.getInitImage=function(o,A){var f=this.getImageByIdURL("one",o),m=new Image,C=this;m.onload=function(){var E=m.width,I=m.height,x=E,y=I;C.StreetViewType==="lide"&&(x=512,y=256);var v=document.createElement("canvas"),w=v.getContext("2d");v.height=y,v.width=x,w.translate(x,0),w.scale(-1,1),w.drawImage(m,0,0,x,y,0,0,x,y),typeof A=="function"&&A(v)},m.setAttribute("crossOrigin","Anonymous");try{m.src=f}catch{m.src=""}C.FirstImage=m};qd.prototype.getSecondTexturesFromAtlasFile=function(o,A){var f=this.StreetViewSphereIndex,m=this.getImageByIdURL("two",o),C=null,E=null,I=0,x=[];let y=4,v=8,w="{row}-{col}",Q=1/0,M=1/0;this.StreetViewType==="lide"&&(w="&row={row}&col={col}",y=this.StreetViewData.row,v=this.StreetViewData.col,Q=this.StreetViewData.maxWidth,M=this.StreetViewData.maxHeight);for(var B,D,S,P,R=()=>{if(I++,I==y*v){C==null&&(C=document.createElement("canvas"),E=C.getContext("2d"),C.height=P>M?M:P,C.width=S>Q?Q:S,E.translate(C.width,0),E.scale(-1,1));var N=B,H=D;this.StreetViewType==="lide"&&(N=512,H=256),E.drawImage(this.FirstImage,0,0,N,H,0,0,C.width,C.height);for(var J=0,K=0;J<x.length;J++)x[J].src&&E.drawImage(x[J],0,0,B,D,B*(J%v),D*Math.floor(J/v),B,D);A({index:f,canvas:C})}},T=0;T<y;T++)for(var L=0;L<v;L++){var F=m+w;F=F.replace("{row}",T).replace("{col}",L);var U=new Image;U.onload=function(){B=this.width,D=this.height,S=B*v,P=D*y,R()},U.onerror=function(){this.src="",this.onerror=void 0,R()},U.setAttribute("crossOrigin","Anonymous");try{U.src=F}catch{U.src=""}x.push(U)}};qd.prototype.getThreeTexturesFromAtlasFile=function(o,A){for(var f=this.StreetViewSphereIndex,m=this.getImageByIdURL("three",o),C=null,E=null,I=0,x=[],y=0;y<8;y++)for(var v=0;v<16;v++){var w=m+y+"-"+v,Q=new Image;(function(M,B,D){D.onload=function(){var S=D.width,P=D.height,R=8192,T=4096;if(I++,I==128){C==null&&(C=document.createElement("canvas"),E=C.getContext("2d"),C.height=T,C.width=R,E.translate(8192,0),E.scale(-1,1));for(var L=0,F=0;L<x.length;L++)E.drawImage(x[L],0,0,S,P,S*(L%16),P*Math.floor(L/16),S,P);A({index:f,canvas:C})}}})(y,v,Q),Q.setAttribute("crossOrigin","Anonymous");try{Q.src=w}catch{Q.src=""}x.push(Q)}};qd.prototype.InitSceneByID=function(o){var A=this,f=this._viewer;this.updateStreetSphereIndex(),this.StreetViewSphere[this.StreetViewSphereIndex]=this.createScene(this.StreetViewData.lon,this.StreetViewData.lat,this.StreetViewData.height),this.getInitImage(this.StreetViewData.getImageTileID,function(m){A.StreetViewSphere_Canvas[A.StreetViewSphereIndex]=m,setTimeout(function(){A.StreetViewSphere[A.StreetViewSphereIndex].show=!0},300)}),this.StreetViewData.isTwoTextures=!1,this.StreetViewType!=="lide"?this.getImageInfoById(this.StreetViewData.getImageTileID,function(m){if(A.StreetViewData.linkImagesData=[],A.CallBack&&A.CallBack.getImageInfoByIdCallBack)typeof A.CallBack.getImageInfoByIdCallBack=="function"&&A.CallBack.getImageInfoByIdCallBack(A.StreetViewData,m);else{console.log("the getImageInfoByIdCallBack is undefined\uFF01");return}A.StreetViewSphere[A.StreetViewSphereIndex].position=A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),f.camera.cancelFlight(),f.camera.flyTo({destination:A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),orientation:{heading:f.camera.heading,pitch:f.camera.pitch,roll:0},duration:1.5}),setTimeout(function(){f.entities.remove(o),o=null},1300),A.StreetViewSphere[A.StreetViewSphereIndex].orientation=A._cesium.Transforms.headingPitchRollQuaternion(A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),new A._cesium.HeadingPitchRoll(A._cesium.Math.toRadians(A.StreetViewData.HeadingPitchRoll.heading),A._cesium.Math.toRadians(-A.StreetViewData.HeadingPitchRoll.roll),A._cesium.Math.toRadians(A.StreetViewData.HeadingPitchRoll.pitch))),A.getInitImage(A.StreetViewData.getImageTileID,function(C){A.StreetViewData.isTwoTextures||(A.StreetViewSphere_Canvas[A.StreetViewSphereIndex]=C)}),A.getSecondTexturesFromAtlasFile(A.StreetViewData.getImageTileID,function(C){C.index===A.StreetViewSphereIndex&&A.StreetViewData.isTwoTextures===!1&&(A.StreetViewSphere_Canvas[A.StreetViewSphereIndex]=C.canvas),A.StreetViewData.isTwoTextures=!0,A.StreetViewData.isThreeTextures=!1}),A.createNavigation()}):this.getInitImageByPosition(A.StreetViewData,function(m){A.StreetViewSphere[A.StreetViewSphereIndex].position=A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),A.StreetViewSphere_Canvas[A.StreetViewSphereIndex]=m,f.camera.cancelFlight(),f.camera.flyTo({destination:A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),orientation:{heading:f.camera.heading,pitch:f.camera.pitch,roll:0},duration:1.5}),setTimeout(function(){f.entities.remove(o),o=null},1300),A.StreetViewSphere[A.StreetViewSphereIndex].orientation=A._cesium.Transforms.headingPitchRollQuaternion(A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),new A._cesium.HeadingPitchRoll(A._cesium.Math.toRadians(A.StreetViewData.HeadingPitchRoll.heading+90),A._cesium.Math.toRadians(-A.StreetViewData.HeadingPitchRoll.roll),A._cesium.Math.toRadians(A.StreetViewData.HeadingPitchRoll.pitch))),A.getSecondTexturesFromAtlasFile(A.StreetViewData.getImageTileID,function(C){C.index===A.StreetViewSphereIndex&&A.StreetViewData.isTwoTextures===!1&&(A.StreetViewSphere_Canvas[A.StreetViewSphereIndex]=C.canvas),A.StreetViewData.isTwoTextures=!0,A.StreetViewData.isThreeTextures=!1})})};qd.prototype.getImageInfoById=function(o,A){var f=this.getImageByIdURL("init",o);this._core.xhr({url:f,type:"get",dataType:"json",success:function(m){typeof A=="function"&&A(m)}})};qd.prototype.createScene=function(o,A,f){var m=this,C=this._viewer,E=this.StreetViewSphereIndex,I=new this._cesium.ImageMaterialProperty({image:new this._cesium.CallbackProperty(function(){return m.StreetViewSphere_Canvas[E]},!1),transparent:!0,color:this._cesium.Color.WHITE.withAlpha(this.StreetViewData.alpha)}),x={show:!1,position:this._cesium.Cartesian3.fromDegrees(o,A,f),ellipsoid:{radii:new this._cesium.Cartesian3(this.StreetViewData.radius,this.StreetViewData.radius,this.StreetViewData.radius),material:I}},y=C.entities.add(x);return y.geometryName="\u8857\u666F",y};qd.prototype.detachMouseEvent=function(){var o=this,A=this._viewer.scene,f=this._viewer.canvas;this.StreetViewData._handler&&(this.StreetViewData._handler.destroy(),this.StreetViewData._handler=void 0),this.StreetViewData.navigation_handler&&(this.StreetViewData.navigation_handler.destroy(),this.StreetViewData.navigation_handler=void 0),this.StreetViewType!=="lide"&&this._viewer.clock.onTick.removeEventListener(this.StreetView_onTick,this),A.screenSpaceCameraController.enableRotate=!0,A.screenSpaceCameraController.enableTranslate=!0,A.screenSpaceCameraController.enableZoom=!0,A.screenSpaceCameraController.enableTilt=!0,A.screenSpaceCameraController.enableLook=!0};var dQe,gQe,J6=null,HD=null,bne={looking:!1};qd.prototype.attachMouseEvent=function(){var o=this;J6=this._viewer.scene,HD=this._viewer.canvas,this.StreetViewData._handler=new this._cesium.ScreenSpaceEventHandler(HD),HD.setAttribute("tabindex","0"),HD.focus(),HD.onclick=function(){HD.focus()},setTimeout(function(){o.setCesiumFov(o.StreetViewData.fov)},4e3),J6.screenSpaceCameraController.enableRotate=!1,J6.screenSpaceCameraController.enableTranslate=!1,J6.screenSpaceCameraController.enableZoom=!1,J6.screenSpaceCameraController.enableTilt=!1,J6.screenSpaceCameraController.enableLook=!1,this.StreetViewData._handler.setInputAction(function(A){bne.looking=!0},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.StreetViewData._handler.setInputAction(function(A){bne.looking&&(dQe=A.startPosition,gQe=A.endPosition,o.StreetView_mouseMove())},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.StreetViewData._handler.setInputAction(function(A){bne.looking=!1},this._cesium.ScreenSpaceEventType.LEFT_UP),this.StreetViewData._handler.setInputAction(function(A){var f=o.StreetViewData.fov+A/-10;f>30&&f<120&&(o.StreetViewData.fov=f,o.setCesiumFov(o.StreetViewData.fov))},this._cesium.ScreenSpaceEventType.WHEEL),this.StreetViewType!=="lide"&&this._viewer.clock.onTick.addEventListener(o.StreetView_onTick,this)};qd.prototype.StreetView_onTick=function(){var o=this;!this.StreetViewData.isThreeTextures&&this.StreetViewData.fov<50&&(this.StreetViewData.isThreeTextures=!0,this.getThreeTexturesFromAtlasFile(this.StreetViewData.getImageTileID,function(A){A.index===o.StreetViewSphereIndex&&(o.StreetViewSphere_Canvas[o.StreetViewSphereIndex]=A.canvas)}))};qd.prototype.StreetView_mouseMove=function(){var o=this._viewer.camera;if(bne.looking){var A=HD.clientWidth,f=HD.clientHeight,m=-(gQe.x-dQe.x)/A,C=(gQe.y-dQe.y)/f;(!o.roll&&o.pitch<0&&C<0||!o.roll&&o.pitch>0&&C>0)&&(C=0),o.rotate(o.position,m*this.StreetViewData.speedScale),o.lookUp(C*this.StreetViewData.speedScale)}};qd.prototype.setOpacity=function(o){var A=this;this.StreetViewSphere.forEach(function(f){f&&(f.ellipsoid.material.color._value=A._cesium.Color.WHITE.withAlpha(o))}),this.StreetViewData.alpha=o};qd.prototype.setCesiumFov=function(o){this._viewer.camera.frustum.fov=this._cesium.Math.toRadians(o)};qd.prototype.MoveToLinkImage=function(o){if(o){if(this.StreetViewType==="lide"&&!o.ImageID){this.CallBack&&this.CallBack.selectJoinsCallBack&&typeof this.CallBack.selectJoinsCallBack=="function"&&this.CallBack.selectJoinsCallBack();return}}else{alert("\u6682\u65E0\u8857\u666F\u6570\u636E");return}this.StreetViewData.name=o.name,this.StreetViewData.lon=o.Position[0],this.StreetViewData.lat=o.Position[1],this.StreetViewData.height=o.Position[2],this.StreetViewData.getImageTileID=o.ImageID,this.InitSceneByID(this.StreetViewSphere[this.StreetViewSphereIndex])};qd.prototype.updateStreetSphereIndex=function(){this.StreetViewSphereIndex=this.StreetViewSphereIndex===0?1:0};qd.prototype.createNavigation=function(){var o=this,A=this._viewer;this.StreetViewNavigation.length>0&&(this.StreetViewNavigation.forEach(function(Q){A.entities.remove(Q)}),this.StreetViewNavigation=[]),this.StreetViewData.navigation_handler&&(this.StreetViewData.navigation_handler.destroy(),this.StreetViewData.navigation_handler=null);var f=6378137,m=6356725,C={lon:this.StreetViewData.lon,lat:this.StreetViewData.lat,height:this.StreetViewData.height-1};this.StreetViewData.linkImagesData.forEach(function(Q){var M=A.entities.add({polygon:{hierarchy:new o._cesium.CallbackProperty(function(){var B=w(C,Q.NavigationAngle);return new o._cesium.PolygonHierarchy(o._cesium.Cartesian3.fromDegreesArray(B))},!1),fill:!0,outline:!0,outlineColor:o._cesium.Color.BLACK.withAlpha(.2),height:C.height}});M.geometryName="\u8857\u666F",M.isNavigation=!0,M.linkImageData=Q,o.StreetViewNavigation.push(M)});var E;o.StreetViewData.navigation_handler=new o._cesium.ScreenSpaceEventHandler(HD),o.StreetViewData.navigation_handler.setInputAction(function(Q){var M=A.scene.pick(Q.position);o._cesium.defined(M)&&(M&&M.id&&M.id.isNavigation?(E&&(E.polygon.outlineColor=o._cesium.Color.BLACK.withAlpha(.5),E.polygon.material=o._cesium.Color.WHITE),E=M.id,E.polygon.outlineColor=o._cesium.Color.BLUE,E.polygon.material=o._cesium.Color.WHITE.withAlpha(.9)):E&&(E.polygon.outlineColor=o._cesium.Color.BLACK.withAlpha(.5),E.polygon.material=o._cesium.Color.WHITE,E=void 0)),E&&o.MoveToLinkImage(E.linkImageData)},o._cesium.ScreenSpaceEventType.LEFT_CLICK);function I(Q,M,B,D){var S=B*Math.sin(D*Math.PI/180),P=B*Math.cos(D*Math.PI/180),R=m+(f-m)*(90-M)/90,T=R*Math.cos(M*Math.PI/180),L=(S/T+Q*Math.PI/180)*180/Math.PI,F=(P/R+M*Math.PI/180)*180/Math.PI;return[L,F]}function x(Q){return Q*Math.PI/180}function y(Q,M,B,D){var S=x(M),P=x(D),R=x(D)-x(M),T=x(B)-x(Q),L=2*Math.asin(Math.sqrt(Math.pow(Math.sin(R/2),2)+Math.cos(S)*Math.cos(P)*Math.pow(Math.sin(T/2),2)));L=L*f,L=Math.round(L*1e4)/1e4;var F;return R===0&&T>0?F=90:R===0&&T<0?F=270:R<0&&T===0?F=180:R>=0&&T===0?F=0:R<0&&T>0?F=180-Math.atan(T/-R)*180/Math.PI:R<0&&T<0?F=180+Math.atan(T/R)*180/Math.PI:R>0&&T<0?F=360-Math.atan(-T/R)*180/Math.PI:F=Math.atan(T/R)*180/Math.PI,{angle:F,distance:L}}function v(Q,M,B){var D=y(Q.lon,Q.lat,M.lon,M.lat);return I(Q.lon,Q.lat,D.distance,B-D.angle)}function w(Q,M){var B=[],D=I(Q.lon,Q.lat,3.5,A.camera.heading*180/Math.PI),S={lon:D[0],lat:D[1]};D=I(D[0],D[1],1.1,0),B.push(D[0],D[1]),D=I(D[0],D[1],.5758,135),B.push(D[0],D[1]),D=I(D[0],D[1],.2,270),B.push(D[0],D[1]),D=I(D[0],D[1],.5,180),B.push(D[0],D[1]),D=I(D[0],D[1],.4,270),B.push(D[0],D[1]),D=I(D[0],D[1],.5,0),B.push(D[0],D[1]),D=I(D[0],D[1],.2,270),B.push(D[0],D[1]);for(var P=0,R;P<B.length-1;P+=2)R=v(S,{lon:B[P],lat:B[P+1]},M),B[P]=R[0],B[P+1]=R[1];return B}};var Trt=qd;function $g(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke}$g.prototype.createCircleScan=function(o,A=1500,f="#ff0000",m=4e3,C=!0){var E=new this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this._position=o;var I=this._cesium.Color.fromCssColorString(f);this.item=this.AddCircleScanPostStage(E,A,I,m,C);var x={id:this._core.getuid(),name:"\u65B0\u5EFA\u6269\u6563\u5706\u626B\u63CF",pId:0,type:"scan",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,0),this};$g.prototype.createMultiCircleScan=function(o,A=1500,f="#ff0000",m=4e3,C=!0){var E=new this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this._position=o;var I,I=this._cesium.Color.fromCssColorString(f);this.item=this.AddCircleScanMultiPostStage(E,A,I,m,C);var x={id:this._core.getuid(),name:"\u65B0\u5EFA\u6269\u6563\u5706\u626B\u63CF",pId:0,type:"scan",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,0),this};$g.prototype.createRadarScan=function(o,A=1500,f="#ff0000",m=4e3,C=!0){var E=new this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this._position=o;var I=this._cesium.Color.fromCssColorString(f);this.item=this.AddRadarScanPostStage(E,A,I,m,C);var x={id:this._core.getuid(),name:"\u65B0\u5EFA\u96F7\u8FBE\u626B\u63CF",pId:0,type:"scan",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,0),this};$g.prototype.createSectorScan=function(o,A=1500,f="#ff0000",m=90,C=0,E=4e3,I=!0){var x=this._cesium,y=new x.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this._position=o;var v=x.Color.fromCssColorString(f);this.item=this.AddSectorScanPostStage(y,A,v,m,C,E,I);var w={id:this._core.getuid(),name:"\u65B0\u5EFA\u6247\u5F62\u6269\u6563\u626B\u63CF",pId:0,type:"scan",item:this};return this.setTreeobj(w),this._tree.insertGroupId(w,0),this};$g.prototype.AddSectorScanPostStage=function(o,A,f,m,C,E,I){var x=this._viewer,y=this._cesium,v=this._core.defaultValue(this._position.height,0),w={};if(!y.EllipsoidFadeMaterialProperty){let Q=function(M,B,D){this._definitionChanged=new y.Event,this._color=void 0,this._colorSubscription=void 0,this.color=M,this.duration=D,this._angle=B,this._time=new Date().getTime()};Object.defineProperties(Q.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:y.createPropertyDescriptor("color"),angle:y.createPropertyDescriptor("angle")}),Q.prototype.getType=function(M){return"EllipsoidFade"},Q.prototype.getValue=function(M,B){return y.defined(B)||(B={}),B.color=y.Property.getValueOrClonedDefault(this._color,M,y.Color.WHITE,B.color),B.angle=this._angle,B},Q.prototype.equals=function(M){return this===M||M instanceof Q&&Property.equals(this._color,M._color)},y.EllipsoidFadeMaterialProperty=Q,y.Material.EllipsoidFadeType="EllipsoidFade",y.Material.EllipsoidFadeSource=`float getAngle(in vec2 dv) { if(dv.y == 0.0 && dv.x > 0.0) { return 90.0; } if(dv.y == 0.0 && dv.x < 0.0) { return 270.0; } float rAngle = atan(dv.x/dv.y) * 180.0 / 3.1415926; if(dv.x > 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } } if(dv.x <= 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } if(dv.y > 0.0) { rAngle = 360.0 + rAngle; } } return rAngle; } float ripple(float dist, float rippleIntensity, float rippleScale) { return rippleScale * ((sin(dist * rippleIntensity - czm_frameNumber/10.0)-0.9) / (dist * rippleIntensity)); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = 1.5 * color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); float nowAngle = getAngle(st.xy-vec2(0.5, 0.5)); if(nowAngle < angle) { material.alpha = 1.0 - dis/0.5; float intensity =step(0.001,ripple(dis, 100.0, 15.0)); if(intensity == 1.0) { material.alpha = material.alpha/2.0; } } else{ material.alpha = 0.0; discard; } return material; }`,y.Material._materialCache.addMaterial(y.Material.EllipsoidFadeType,{fabric:{type:y.Material.EllipsoidFadeType,uniforms:{color:new y.Color(1,0,0,1),angle:90},source:y.Material.EllipsoidFadeSource},translucent:function(M){return!0}})}return w={name:"EllipsoidFade",position:o,ellipse:{height:I?void 0:v,semiMinorAxis:A,semiMajorAxis:A,stRotation:C*Math.PI/180,material:new y.EllipsoidFadeMaterialProperty(f,m,E)}},x.entities.add(w)};$g.prototype.AddCircleScanPostStage=function(o,A,f,m,C){var E=this._viewer,I=this._cesium,x=this._core.defaultValue(this._position.height,0);if(!I.CircleScanMaterialProperty){let v=function(w,Q){this._definitionChanged=new I.Event,this._color=void 0,this._colorSubscription=void 0,this.color=w,this.duration=Q,this._time=new Date().getTime()};Object.defineProperties(v.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:I.createPropertyDescriptor("color")}),v.prototype.getType=function(w){return"CircleScan"},v.prototype.getValue=function(w,Q){return I.defined(Q)||(Q={}),Q.color=I.Property.getValueOrClonedDefault(this._color,w,I.Color.WHITE,Q.color),Q.time=(new Date().getTime()-this._time)%this.duration/this.duration,Q},v.prototype.equals=function(w){return this===w||w instanceof v&&I.Property.equals(this._color,w._color)},I.CircleScanMaterialProperty=v,I.Material.CircleScanType="CircleScan",I.Material.CircleScanSource=`czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); if(dis<time){ float f = dis / time; material.alpha = pow(f, 4.0); }else{ material.alpha = 0.0; } return material; }`,I.Material._materialCache.addMaterial(I.Material.CircleScanType,{fabric:{type:I.Material.CircleScanType,uniforms:{color:new I.Color(1,0,0,1),time:0},source:I.Material.CircleScanSource},translucent:function(w){return!0}})}var y={name:"CircleScan",position:o,ellipse:{height:C?void 0:x,semiMinorAxis:A,semiMajorAxis:A,material:new I.CircleScanMaterialProperty(f,m)}};return E.entities.add(y)};$g.prototype.AddCircleScanMultiPostStage=function(o,A,f,m,C){var E=this._viewer,I=this._cesium,x=this._core.defaultValue(this._position.height,0);if(!I.CircleScanMultiMaterialProperty){let v=function(w,Q){this._definitionChanged=new I.Event,this._color=void 0,this._colorSubscription=void 0,this.color=w,this.u_radius1=0,this.u_radius2=0,this.u_radius3=0,this.duration=Q,this._time=new Date().getTime()};Object.defineProperties(v.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:I.createPropertyDescriptor("color")}),v.prototype.getType=function(w){return"CircleScanMulti"},v.prototype.getValue=function(w,Q){return I.defined(Q)||(Q={}),Q.color=I.Property.getValueOrClonedDefault(this._color,w,I.Color.WHITE,Q.color),Q.time=(new Date().getTime()-this._time)%this.duration/this.duration,Q.time<1/3&&this.u_radius2===0&&this.u_radius1===0?this.u_radius3=Q.time:Q.time>=1/3&&Q.time<2/3&&this.u_radius1===0?(this.u_radius3=Q.time,this.u_radius2=this.u_radius3-1/3):Q.time>=2/3?(this.u_radius3=Q.time,this.u_radius2=this.u_radius3-1/3,this.u_radius1=this.u_radius3-2/3):Q.time<1/3&&this.u_radius2!==0&&this.u_radius1!==0?(this.u_radius1=Q.time,this.u_radius2=Q.time+1/3,this.u_radius3=Q.time+2/3):Q.time>=1/3&&Q.time<2/3&&this.u_radius1!==0&&(this.u_radius1=Q.time-1/3,this.u_radius2=Q.time,this.u_radius3=Q.time+1/3),Q.u_radius1=this.u_radius1,Q.u_radius2=this.u_radius2,Q.u_radius3=this.u_radius3,Q},v.prototype.equals=function(w){return this===w||w instanceof v&&I.Property.equals(this._color,w._color)},I.CircleScanMultiMaterialProperty=v,I.Material.CircleScanMultiType="CircleScanMulti",I.Material.CircleScanMultiSource=`czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); dis = dis * 2.0; if(dis < u_radius1) { float f = dis / u_radius1; material.alpha = pow(f, 9.0); }else if(dis < u_radius2){ float f = dis / u_radius2; material.alpha = pow(f, 9.0); }else if(dis < u_radius3){ float f = dis / u_radius3; material.alpha = pow(f, 9.0); }else{ material.alpha = 0.0; } return material; }`,I.Material._materialCache.addMaterial(I.Material.CircleScanMultiType,{fabric:{type:I.Material.CircleScanMultiType,uniforms:{color:new I.Color(1,0,0,1),time:0,u_radius1:0,u_radius2:0,u_radius3:0},source:I.Material.CircleScanMultiSource},translucent:function(w){return!0}})}var y={name:"CircleScanMulti",position:o,ellipse:{height:C?void 0:x,semiMinorAxis:A,semiMajorAxis:A,material:new I.CircleScanMultiMaterialProperty(f,m)}};return E.entities.add(y)};$g.prototype.AddRadarScanPostStage=function(o,A,f,m,C){var E=this._viewer,I=this._cesium,x=this._core.defaultValue(this._position.height,0);if(!I.RadarScanMaterialProperty){let v=function(w,Q){this._definitionChanged=new I.Event,this._color=void 0,this._angle=60,this.range=360,this._colorSubscription=void 0,this.color=w,this.duration=Q,this.isReturn=!1,this.isGradient=!0,this._time=new Date().getTime()};Object.defineProperties(v.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:I.createPropertyDescriptor("color")}),v.prototype.getType=function(w){return"RadarScan"},v.prototype.getValue=function(w,Q){return I.defined(Q)||(Q={}),Q.color=I.Property.getValueOrClonedDefault(this._color,w,I.Color.WHITE,Q.color),Q.time=(new Date().getTime()-this._time)%this.duration/this.duration,Q._angle=this._angle,Q.range=this.range,Q.gradient=this.isGradient,this.isReturn?(this.old===void 0&&(this.old=Q.time),this.old>.5&&Q.time<.5&&(Q.inverse=!Q.inverse),this.old=Q.time,Q.gradient?Q.inverse?(Q.angle2=this.range*(1-Q.time),Q._angle=this.range-Q.angle2,Q._angle>this._angle&&(Q._angle=this._angle),Q.angle1=Q.angle2-Q._angle,Q.angle1<0&&(Q._angle=Q.angle2,Q.angle1=0)):(Q.angle1=this.range*Q.time,Q._angle=Q.angle1,Q._angle>this._angle&&(Q._angle=this._angle),Q.angle2=Q.angle1+Q._angle,Q.angle2>this.range&&(Q.angle2=this.range)):(Q.range=this.range-this._angle,Q.angle1=Q.range*(Q.inverse?1-Q.time:Q.time),Q.angle2=Q.angle1+this._angle)):(Q.inverse=!1,Q.angle1=this.range*Q.time,Q.angle2=Q.angle1+this._angle,Q.angle2>this.range&&(Q.angle2=Q.angle2-this.range)),Q},v.prototype.equals=function(w){return this===w||w instanceof v&&I.Property.equals(this._color,w._color)},I.RadarScanMaterialProperty=v,I.Material.RadarScanType="RadarScan",I.Material.RadarScanSource=`float getAngle(in vec2 dv) { if(dv.y == 0.0 && dv.x > 0.0) { return 90.0; } if(dv.y == 0.0 && dv.x < 0.0) { return 270.0; } float rAngle = atan(dv.x/dv.y) * 180.0 / 3.1415926; if(dv.x > 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } } if(dv.x <= 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } if(dv.y > 0.0) { rAngle = 360.0 + rAngle; } } return rAngle; } float ripple(float dist, float rippleIntensity, float rippleScale) { return rippleScale * ((sin(dist * rippleIntensity - czm_frameNumber/10.0)-0.9) / (dist * rippleIntensity)); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); float f = 0.0; float nowAngle = getAngle(st.xy-vec2(0.5, 0.5)); if(nowAngle < angle2 && nowAngle > angle1) { if(gradient){ f = (nowAngle - angle1) / _angle; material.alpha = f; if(inverse){ material.alpha = 1.0 - material.alpha; } }else{ material.alpha = 1.0; } }else if(nowAngle < range && nowAngle > angle1 && angle2 < _angle){ if(gradient){ f = (nowAngle - angle1) / _angle; material.alpha = f; if(inverse){ material.alpha = 1.0 - material.alpha; } }else{ material.alpha = 1.0; } }else if(nowAngle < angle2 && nowAngle > 0.0 && angle2 < _angle){ if(gradient){ f = (nowAngle + range - angle1) / _angle; material.alpha = f; if(inverse){ material.alpha = 1.0 - material.alpha; } }else{ material.alpha = 1.0; } }else{ material.alpha = 0.0; discard; } return material; }`,I.Material._materialCache.addMaterial(I.Material.RadarScanType,{fabric:{type:I.Material.RadarScanType,uniforms:{color:new I.Color(1,0,0,1),time:0,angle2:0,angle1:0,_angle:60,range:360,inverse:!1,gradient:!0},source:I.Material.RadarScanSource},translucent:function(w){return!0}})}var y={name:"RadarScan",position:o,ellipse:{height:C?void 0:x,semiMinorAxis:A,semiMajorAxis:A,material:new I.RadarScanMaterialProperty(f,m)}};return E.entities.add(y)};$g.prototype.setRadius=function(o){this.item&&(this.item.ellipse.semiMinorAxis=parseFloat(o),this.item.ellipse.semiMajorAxis=parseFloat(o))};$g.prototype.setTime=function(o){this.item&&(this.item.ellipse.material.duration=parseFloat(o))};$g.prototype.setRadarAngle=function(o){if(this.item&&this.item.ellipse.material.getType()==="RadarScan"){let A=this.item.ellipse.material.range;this.item.ellipse.material._angle=o>A?A:parseFloat(o)}};$g.prototype.setRadarRange=function(o){this.item&&this.item.ellipse.material.getType()==="RadarScan"&&(this.item.ellipse.material.range=o>360?360:parseFloat(o))};$g.prototype.setRadarIsReturn=function(o){this.item&&this.item.ellipse.material.getType()==="RadarScan"&&(this.item.ellipse.material.isReturn=o)};$g.prototype.setRadarIsGradient=function(o){this.item&&this.item.ellipse.material.getType()==="RadarScan"&&(this.item.ellipse.material.isGradient=o)};$g.prototype.setPosition=function(o){this.item&&(this.item.position=new Cesium.Cartesian3.fromDegrees(o.lon,o.lat))};$g.prototype.remove=function(){this._viewer.entities.remove(this.item)};$g.prototype.setTreeobj=function(o){this.treeobj=o};$g.prototype.deleteObject=function(){this.item&&this._viewer.entities.remove(this.item)};$g.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};var GJ=$g;function fQe(o,A){this._viewer=o,this._cesium=A}fQe.prototype.depthTestAgainstTerrain=function(o){this._viewer.scene.globe.depthTestAgainstTerrain=o};fQe.prototype.show=function(){return this._viewer.scene.globe.depthTestAgainstTerrain};var Prt=fQe;var Rrt,Lrt,HJ,W6,Cbi,Frt,y3,Qne,Nrt,y3,K6,Ebi=[1,1e5],qo;function Ibi(o,A){if(!(qo.canvas.width<=0||qo.canvas.height<=0)){var f,m=qo.camera.getPickRay(o);m&&(f=qo.scene.globe.pick(m,qo.scene));var C=qo.scene.pick(o);if(C&&C.id instanceof Pr.Entity&&(C=void 0),C){var E=qo.scene.pickPosition(o);E&&(f=E)}return f}}var Pr=null;function yg(o,A){Pr=A,this._normalShadowMap=o.scene.shadowMap,qo=o,Pr.Scene.prototype.screenToWorld=Ibi,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._getPosition=new hl(o,A),this._startPositionCartesian=null,this._startPositionCartographic=null,this._currentPosition=null,this._prevRadius=null,this._currentRadius=null,this._currentFovHorizontal=null,this._currentFovVertical=null,this._viewshedDirection=null,this._scratchCartesian3=new Pr.Cartesian3,this._texture=null,this._canEnlarge=!1,this._viewshedPrimitive=null,this._eventListener=null,this._viewshedMap=void 0,this._firstTime=!0,this._editingMode=!1,this._isSliderClicked=!1,this._currentObject=void 0,this._setNewPosition=!1,this._setNewPositionCanDrag=!1,this._setNewName=!1,this._listControl=void 0,this._addingViewshedMode=!1,this._initialCameraParams={},this._isCancelledTerrain=!1,this._isCancelledPrimitives=!1,this._isSpherical=!1,this._occluder=void 0,this._horizonCullingDistanceFromPoint=void 0,this._mousePositionX=void 0,this._mousePositionY=void 0,this._zAxisNewPosition=void 0,this._startingRepoZHeight=void 0,this._viewshedCartoPos=void 0,this._propertiesChanged=!1,this._calculations=[],this._exposures=[],this._calculating=!1,this._calculatingExposure=!1,this.viewshedCalculateNormals=!1,this._txtUnit="meters_short",this.isLoadingScreenOn=!1,this._primitiveColor=Pr.Color.WHITE,this._predefinedPrimitiveColors={BEYOND_THE_HORIZON:Pr.Color.WHITE,DEFAULT:Pr.Color.WHITE},this._layersStorage=null,this.getId=function(){return"Viewshed"},this.maxNumViewshed=8,Rrt=53*Pr.Math.RADIANS_PER_DEGREE,Lrt=53*Pr.Math.RADIANS_PER_DEGREE,HJ=6371010,W6={ABOVE_SEA_LEVEL:0,ABOVE_GROUND_LEVEL:1,ABOVE_MODEL:2},Cbi=void 0,Frt=new Pr.Cartesian3,y3=new Pr.Matrix4,Qne=new Pr.Cartesian4,Nrt=new Pr.Cartesian3,y3=new Pr.Matrix4,K6=new Array(4),K6[0]=new Pr.Cartesian4(-1,-1,1,1),K6[1]=new Pr.Cartesian4(1,-1,1,1),K6[2]=new Pr.Cartesian4(1,1,1,1),K6[3]=new Pr.Cartesian4(-1,1,1,1)}yg.prototype.setOptions=function(o){this._currentObject={viewshedPrimitive:this._viewshedPrimitive,viewshedMap:this._viewshedMap,viewshedObjOptions:o||{}}};yg.prototype.startDraw=function(o){this._viewshedPrimitive&&(qo.scene.primitives.remove(this._viewshedPrimitive),this._viewshedPrimitive=null),this._core.setDepthTest("open",this._viewer),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this._eventListener&&this._eventListener.destroy(),this._eventListener=new Pr.ScreenSpaceEventHandler(qo.scene.canvas),this._viewshedDefaultNamingArray===void 0&&(this._viewshedDefaultNamingArray=new Array(this.maxNumViewshed)),this._addingViewshedMode=!0,this._editingMode=!1,this._currentObject={viewshedPrimitive:this._viewshedPrimitive,viewshedMap:this._viewshedMap,viewshedObjOptions:o||{}},this._isSpherical=o.isSpherical,this._setNewPosition=!1,this._core.getBrowser().pc!="pc"?(this._eventListener.setInputAction($.proxy(this.setViewshedPositionMobile,this),Pr.ScreenSpaceEventType.LEFT_CLICK),qo.scene.preRender.addEventListener(this.onPreFrameMobile,this)):(this._eventListener.setInputAction($.proxy(this.setViewshedPosition,this),Pr.ScreenSpaceEventType.LEFT_CLICK),qo.scene.preRender.addEventListener(this.onPreFrame,this)),this.end=A=>{this.end=void 0,qo.scene.preRender.removeEventListener(this.onPreFrame,this);try{qo.scene.preRender.removeEventListener(this.onPreFrameMobile,this)}catch{}this._eventListener&&this._eventListener.destroy(),this._core.setDepthTest("close",this._viewer),this._core.mouse(this._viewer.container,0)}};yg.prototype.close=function(){qo.scene.preRender.removeEventListener(this.onPreFrame,this);try{qo.scene.preRender.removeEventListener(this.onPreFrameMobile,this)}catch{}this._eventListener&&this._eventListener.destroy(),this._viewshedPrimitive&&(qo.scene.primitives.remove(this._viewshedPrimitive),this._viewshedPrimitive=null);var o=qo.scene,A=qo.scene.context,f={context:A,lightCamera:o._sunCamera};o.shadowMap.destroy(),o.shadowMap=new Pr.ShadowMap(f);var m=o.shadowMap;if(this._currentObject&&this._currentObject.viewshedObjOptions&&this._currentObject.viewshedObjOptions.color&&this._currentObject.viewshedObjOptions.color.default){var C=this._currentObject.viewshedObjOptions.color.default;m._color=new Pr.Cartesian3(C.r,C.g,C.b)}m.enabled=!0,m.debugShow=!1,m.guid=void 0,m.show=!0,m.maximumDistance=1e4,m.debugCreateRenderStates(),m.dirty=!0,qo.scene.globe.shadows=Pr.ShadowMode.fromCastReceive(!0,!0),qo.scene.globe.show=!0,o.skyAtmosphere.show=!0,qo.scene.shadowMap=this._normalShadowMap,this._startPositionCartesian=null,this.resetAllVariables(),this._core.setDepthTest("close",this._viewer),this._core.mouse(this._viewer.container,0)};yg.prototype.setVisibility=function(o){this._viewshedPrimitive.show=o,qo.shadowMap.enabled=o};yg.prototype.reset=function(){var o=qo.scene,A=qo.scene.context,f={context:A,lightCamera:o._sunCamera};o.shadowMap.destroy(),o.shadowMap=new Pr.ShadowMap(f);var m=o.shadowMap;if(this._currentObject&&this._currentObject.viewshedObjOptions&&this._currentObject.viewshedObjOptions.color&&this._currentObject.viewshedObjOptions.color.default){var C=this._currentObject.viewshedObjOptions.color.default;m._color=new Pr.Cartesian3(C.r,C.g,C.b)}m.enabled=!0,m.debugShow=!1,m.guid=void 0,m.show=!0,m.maximumDistance=1e4,m.debugCreateRenderStates(),m.dirty=!0,qo.scene.globe.shadows=Pr.ShadowMode.fromCastReceive(!0,!0),qo.scene.globe.show=!0,o.skyAtmosphere.show=!0,qo.scene.shadowMap=this._normalShadowMap};yg.prototype.addViewshed=function(o={}){this._viewshedPrimitive&&this.close();let A=new Pr.HeadingPitchRange(o.heading,o.pitch,.01),f=Pr.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this._currentRadius=o.distance||1e3,this._isSpherical=o.isSpherical,this._currentObject=this.CreateViewshed(f,this._currentRadius,A,o),this._isSpherical?this.createViewshedSpherePrimitive(f):this.createViewshedCameraPrimitive(f,this._currentObject.viewshedMap._lightCamera)};yg.prototype.CreateViewshed=function(o,A,f,m){var C=qo.scene,E=new Pr.Camera(C),I=qo.scene.context;E.frustum.fov=53*Math.PI/180,E.frustum.aspectRatio=1,E.frustum.near=1,E.frustum.far=A,E.lookAt(o,f);var x={context:I,lightCamera:E,cascadesEnabled:!1,isPointLight:this._isSpherical,pointLightRadius:A};C.shadowMap=new Pr.ShadowMap(x);var y=C.shadowMap;m.color&&(y._viewshed_Back=new Pr.Cartesian3(m.color.Back.r,m.color.Back.g,m.color.Back.b),y._viewshed_Fore=new Pr.Cartesian3(m.color.Fore.r,m.color.Fore.g,m.color.Fore.b)),y.enabled=!0,y.debugShow=!1,y.guid=Pr.createGuid(),y.show=!0,y.maximumDistance=1e4,y._pointLightRadius=A,y.debugCreateRenderStates(),y._distance=A,y.dirty=!0,qo.scene.globe.shadows=Pr.ShadowMode.fromCastReceive(!0,!0),qo.scene.globe.show=!0,C.skyAtmosphere.show=!0;var v={};return v.position=o,v.distance=A,v.direction=f,v.viewshedObjOptions=m,v.guid=this._cesium.createGuid(),v.viewshedObjOptions.originalDirection=f,v.type="viewshed",v.viewshedMap=y,v};yg.prototype.resetAllVariables=function(){this._startPositionCartesian=null,this._startPositionCartographic=null,this._currentPosition=null,this._currentRadius=null,this._currentFovHorizontal=null,this._currentFovVertical=null,this._setNewPosition=!1,this._currentObject=void 0,this._viewshedMap=void 0,this._canEnlarge=!1,this._zAxisNewPosition=void 0,this._viewshedDirection=null};yg.prototype.setViewshedPosition=function(o){if(!this._setNewPosition){if(this._canEnlarge&&this._viewshedPrimitive!=null){if(this._canEnlarge=!1,this._eventListener.removeInputAction(Pr.ScreenSpaceEventType.MOUSE_MOVE),this._eventListener.removeInputAction(Pr.ScreenSpaceEventType.LEFT_CLICK),this._currentObject.viewshedObjOptions.end&&this._currentObject.viewshedObjOptions.end(),this._core.mouse(this._viewer.container,0),this._viewshedMap!=null&&this._viewshedPrimitive!=null){var A=this._viewshedPrimitive._camera;this._currentObject.viewshedObjOptions.initialHeading=A.heading,this._currentObject.viewshedObjOptions.initialPitch=A.pitch,this._currentObject.viewshedObjOptions.initialRoll=A.roll,this._currentObject.viewshedObjOptions.altitudeMethod=Pr.defaultValue(this._currentObject.viewshedObjOptions.altitudeMethod,2);var f={displayName:this._currentObject.viewshedObjOptions.name,color:this._currentObject.viewshedObjOptions.color,hFOV:A.frustum.fov,vFOV:A.frustum.fovy,aspectRatio:A.frustum.aspectRatio,height:this._currentObject.viewshedObjOptions.height,distance:this._currentObject.viewshedObjOptions.distance,xPos:this._currentObject.viewshedObjOptions.xPos,yPos:this._currentObject.viewshedObjOptions.yPos,altitudeMethod:this._currentObject.viewshedObjOptions.altitudeMethod,pickHeight:this._currentObject.viewshedObjOptions.pickHeight,horizonCullingDistanceFromViewshed:this._horizonCullingDistanceFromPoint,initialHeading:this._currentObject.viewshedObjOptions.initialHeading,initialPitch:this._currentObject.viewshedObjOptions.initialPitch,initialRoll:this._currentObject.viewshedObjOptions.initialRoll},m=this.CreateViewshed(A.position,Pr.defaultValue(this._currentObject.viewshedObjOptions.distance,this._currentRadius),new Pr.HeadingPitchRange(A.heading,A.pitch,.01),f);if(this._eventListener.removeInputAction(Pr.ScreenSpaceEventType.LEFT_CLICK),this._eventListener.removeInputAction(Pr.ScreenSpaceEventType.LEFT_DOWN),this._eventListener.removeInputAction(Pr.ScreenSpaceEventType.LEFT_UP),this._eventListener.removeInputAction(Pr.ScreenSpaceEventType.MOUSE_MOVE),m==-1)return;this.resetAllVariables(),this._currentObject=m;var C=qo.scene.primitives._primitives,E=$.grep(C,function(S){return S.isViewshed===!0}),I=[];if(C.forEach(function(S,P){S.isViewshed&&I.push(P)}),I.length>1){var x=I[I.length-2],y=qo.scene.primitives._primitives[x];qo.scene.primitives.remove(y)}}}else if(Pr.defined(o)&&this._currentObject!==void 0){var v=this._getPosition.getMousePosition(o);if(v!==void 0){var w=0,Q=0;this._startPositionCartographic=qo.scene.globe.ellipsoid.cartesianToCartographic(v),this._currentObject.viewshedObjOptions.pickHeight=this._startPositionCartographic.height,this._currentObject.viewshedObjOptions.height!==void 0&&(Q=this._currentObject.viewshedObjOptions.height);var M=new Pr.Cartesian3.fromRadians(this._startPositionCartographic.longitude,this._startPositionCartographic.latitude,this._startPositionCartographic.height+w+Q);this._startPositionCartesian=M;var B=this._startPositionCartesian,D=new Pr.BoundingSphere(new Pr.Cartesian3(0,0,0),HJ);this._occluder=new Pr.Occluder(D,B),this._canEnlarge=!0,this._eventListener.setInputAction($.proxy(this.onMouseMove,this),Pr.ScreenSpaceEventType.MOUSE_MOVE)}}}};yg.prototype.update=function(o={}){if(this._currentObject&&this._currentObject.viewshedMap){let A=this._currentObject.direction;Object.assign(A,o);let f=this._currentObject.position;if(o.lon!==void 0||o.lat!==void 0||o.height!==void 0){let m=this._core.toDegrees(f);Object.assign(m,o),f=Pr.Cartesian3.fromDegrees(m.lon,m.lat,m.height),this._currentObject.position=f}o.distance!==void 0&&(this._currentRadius=o.distance),this._currentRadius?this._currentObject.viewshedMap._lightCamera.frustum.far=this._currentRadius:this._currentRadius=this._currentObject.viewshedMap._lightCamera.frustum.far,this._currentObject.viewshedMap._lightCamera.lookAt(f,A),this._isSpherical?this.createViewshedSpherePrimitive(f):this.createViewshedCameraPrimitive(f,this._currentObject.viewshedMap._lightCamera)}};yg.prototype.setViewshedPositionMobile=function(o){if(!this._setNewPosition){if(this.onMouseMove(o),this.createViewshedCameraPrimitive(),this._canEnlarge&&this._viewshedPrimitive!=null){if(this._currentObject.viewshedObjOptions.end&&this._currentObject.viewshedObjOptions.end(),this._core.mouse(this._viewer.container,0),this.createViewshedMap(),this._viewshedMap!=null&&this._viewshedPrimitive!=null){var A=this._viewshedPrimitive._camera;this._currentObject.viewshedObjOptions.initialHeading=A.heading,this._currentObject.viewshedObjOptions.initialPitch=A.pitch,this._currentObject.viewshedObjOptions.initialRoll=A.roll,this._currentObject.viewshedObjOptions.altitudeMethod=Pr.defaultValue(this._currentObject.viewshedObjOptions.altitudeMethod,2);var f={displayName:this._currentObject.viewshedObjOptions.name,color:this._currentObject.viewshedObjOptions.color,hFOV:A.frustum.fov,vFOV:A.frustum.fovy,aspectRatio:A.frustum.aspectRatio,height:this._currentObject.viewshedObjOptions.height,distance:this._currentObject.viewshedObjOptions.distance,xPos:this._currentObject.viewshedObjOptions.xPos,yPos:this._currentObject.viewshedObjOptions.yPos,altitudeMethod:this._currentObject.viewshedObjOptions.altitudeMethod,pickHeight:this._currentObject.viewshedObjOptions.pickHeight,horizonCullingDistanceFromViewshed:this._horizonCullingDistanceFromPoint,initialHeading:this._currentObject.viewshedObjOptions.initialHeading,initialPitch:this._currentObject.viewshedObjOptions.initialPitch,initialRoll:this._currentObject.viewshedObjOptions.initialRoll},m=this.CreateViewshed(A.position,Pr.defaultValue(this._currentObject.viewshedObjOptions.distance,this._currentRadius),new Pr.HeadingPitchRange(A.heading,A.pitch,.01),f);if(this._eventListener.removeInputAction(Pr.ScreenSpaceEventType.LEFT_CLICK),this._eventListener.removeInputAction(Pr.ScreenSpaceEventType.LEFT_DOWN),this._eventListener.removeInputAction(Pr.ScreenSpaceEventType.LEFT_UP),this._eventListener.removeInputAction(Pr.ScreenSpaceEventType.MOUSE_MOVE),m==-1)return;this._currentObject=m;var C=qo.scene.primitives._primitives,E=$.grep(C,function(S){return S.isViewshed===!0}),I=[];if(C.forEach(function(S,P){S.isViewshed&&I.push(P)}),I.length>1){var x=I[I.length-2],y=qo.scene.primitives._primitives[x];qo.scene.primitives.remove(y)}}}else if(Pr.defined(o)&&this._currentObject!==void 0){var v=this._getPosition.getMousePosition(o);if(v!==void 0){var w=0,Q=0;this._startPositionCartographic=qo.scene.globe.ellipsoid.cartesianToCartographic(v),this._currentObject.viewshedObjOptions.pickHeight=this._startPositionCartographic.height,this._currentObject.viewshedObjOptions.height!==void 0&&(Q=this._currentObject.viewshedObjOptions.height);var M=new Pr.Cartesian3.fromRadians(this._startPositionCartographic.longitude,this._startPositionCartographic.latitude,this._startPositionCartographic.height+w+Q);this._startPositionCartesian||(this._startPositionCartesian=M);var B=this._startPositionCartesian,D=new Pr.BoundingSphere(new Pr.Cartesian3(0,0,0),HJ);this._occluder=new Pr.Occluder(D,B),this._canEnlarge=!0,this._eventListener.setInputAction($.proxy(this.onMouseMove,this),Pr.ScreenSpaceEventType.MOUSE_MOVE)}}}};yg.prototype.onMouseMove=function(o){if(Pr.defined(o)){var A={},f=this._getPosition.getMousePosition(o);if(f!=null){if(A.pickPrimitive!=null&&A.pickPrimitive._camera!=null)return;var m={};if(this._setNewPosition)if(this._setNewPositionCanDrag){var w=void 0,Q=qo.scene.globe.ellipsoid.cartesianToCartographic(f);if(this._currentObject.viewshedObjOptions.pickHeight=Q.height,this._currentObject.viewshedObjOptions.terrainHeight=qo.scene.globe.getHeight(Q),this._zAxisNewPosition){var M=o.endPosition.y-this._startingRepoZ.y,B=Pr.Cartesian3.magnitude(Pr.Cartesian3.subtract(this._currentObject.position,qo.camera.position,this._scratchCartesian3),this._scratchCartesian3),D=M/qo.canvas.height,S=-1*B*D;this._viewshedCartoPos==null&&(this._viewshedCartoPos=new Pr.Cartographic.fromCartesian(this._currentObject.position)),w=new Pr.Cartesian3.fromRadians(this._viewshedCartoPos.longitude,this._viewshedCartoPos.latitude,this._viewshedCartoPos.height+S)}else this._currentObject.viewshedObjOptions.altitudeMethod==W6.ABOVE_SEA_LEVEL?w=new Pr.Cartesian3.fromRadians(Q.longitude,Q.latitude,this._startingRepoZHeight):w=f;this._newPosition=w}else{var C=f,E=Pr.Matrix4.multiplyByVector(qo.camera._viewMatrix,Pr.Cartesian4.fromElements(C.x,C.y,C.z,1,Qne),Qne),I=Pr.Matrix4.multiplyByVector(qo.camera.frustum.projectionMatrix,E,Qne),x=Pr.Cartesian3.divideByScalar(I,I.w,Nrt),y=Math.floor((x.x*.5+.5)*qo.canvas.width),v=Math.floor((x.y*.5+.5)*qo.canvas.height);this._mousePositionX=y,this._mousePositionY=v}else{if(this._startPositionCartesian==null||(Pr.Cartesian3.subtract(f,this._startPositionCartesian,m),!(!isNaN(m.x)&&!isNaN(m.y)&&!isNaN(m.z))))return;this._viewshedDirection=Pr.Cartesian3.normalize(m,this._scratchCartesian3),this._currentRadius=Pr.Cartesian3.magnitude(m)}}else this._mousePositionX=void 0,this._mousePositionY=void 0}};yg.prototype.createViewshedSpherePrimitive=function(o,A){try{var f=o??this._startPositionCartesian,m=A??this._currentRadius;if(m<=1)return!1;this._viewshedPrimitive!=null&&qo.scene.primitives.remove(this._viewshedPrimitive);var C=Pr.Matrix4.multiplyByTranslation(Pr.Transforms.eastNorthUpToFixedFrame(f),new Pr.Cartesian3(0,0,0),y3),E=new Pr.GeometryInstance({geometry:new Pr.SphereOutlineGeometry({radius:m,stackPartitions:12,slicePartitions:12}),modelMatrix:C,attributes:{color:Pr.ColorGeometryInstanceAttribute.fromColor(new Pr.Color(1,1,1,.5))}});this._viewshedPrimitive=qo.scene.primitives.add(new Pr.Primitive({geometryInstances:E,appearance:new Pr.PerInstanceColorAppearance({flat:!0,renderState:{lineWidth:1}}),allowPicking:!1,asynchronous:!1}));var I=new Pr.Camera(qo.scene);I.position=f,I.direction=Pr.Cartesian3.negate(Pr.Cartesian3.UNIT_Z,this._scratchCartesian3),this._viewshedPrimitive._camera=I}catch{return!1}return this._viewshedPrimitive};yg.prototype.createViewshedCameraPrimitive=function(o,A){this._viewshedPrimitive!=null&&qo.scene.primitives.remove(this._viewshedPrimitive);var f=new Pr.Camera(qo.scene);if(!(!this._startPositionCartesian&&!o))return o!=null?f.position=o:f.position=this._startPositionCartesian,this._viewshedDirection!=null&&!isNaN(this._viewshedDirection.x)&&!isNaN(this._viewshedDirection.y)&&(f.direction=this._viewshedDirection.clone(),f.up=qo.scene.globe.ellipsoid.geodeticSurfaceNormal(f.position,Frt)),f.frustum.isViewshed=!0,f.frustum.fov=Pr.defaultValue(this._currentObject.viewshedObjOptions.fov,Rrt),f.frustum._fovy=Pr.defaultValue(this._currentObject.viewshedObjOptions.fovy,Lrt),f.frustum.aspectRatio=Math.tan(f.frustum.fov/2)/Math.tan(f.frustum._fovy/2),f.frustum.near=1,this._currentRadius<=1?!1:(f.frustum.far=Pr.defaultValue(this._currentObject.viewshedObjOptions.distance,this._currentRadius),this._viewshedPrimitive=qo.scene.primitives.add(new Pr.DebugCameraPrimitive({camera:A||f,color:this._primitiveColor})),this._viewshedPrimitive._numFrustrums=0,this._viewshedPrimitive._outlineOnlyFrustum=!0,this._viewshedPrimitive.update=this.updateViewshedPrimitive,this._viewshedPrimitive)};yg.prototype.createViewshedMap=function(){qo.scene.viewsheds==null&&qo.scene.viewsheds,this._viewshedPrimitive._camera!=null&&this._canEnlarge&&(this._viewshedMap==null?(this._viewshedMap=new Pr.ShadowMap({context:qo.scene.context,lightCamera:this._viewshedPrimitive._camera,enabled:1,isSpotLight:!0,fromLightSource:!0,softShadows:!1,isPointLight:this._isSpherical,pointLightRadius:Pr.defaultValue(this._currentObject.viewshedObjOptions.distance,this._currentRadius)}),this._viewshedMap.show=!0,this._viewshedMap.isPreviewMode=!0,this._viewshedMap.guid="SamplerViewshed",this._viewshedMap!=null):(this._viewshedMap._lightCamera.direction=this._viewshedPrimitive._camera.direction,this._viewshedMap._lightCamera.frustum.far=Pr.defaultValue(this._currentObject.viewshedObjOptions.distance,this._currentRadius)))};yg.prototype.updateViewshedPrimitive=function(o){if(!!this.show){if(this._updateOnChange&&(this._outlinePrimitive=this._outlinePrimitive&&this._outlinePrimitive.destroy()),!Pr.defined(this._outlinePrimitive)){var A=this._camera,f=A.frustum,m=o.frustumSplits,C=m.length-1;C=this._numFrustrums,C<=0&&(m=Ebi,m[0]=this._camera.frustum.near,m[1]=this._camera.frustum.far,C=1);var E=this._camera.viewMatrix,I,x;if(Pr.defined(A.frustum.fovy)){var y=this._camera.frustum.projectionMatrix,v=Pr.Matrix4.multiply(y,E,y3);x=Pr.Matrix4.inverse(v,y3)}else I=Pr.Matrix4.inverseTransformation(E,y3);var w=new Float64Array(12*(C+1)+3),Q;for(Q=0;Q<C+1;++Q)for(var M=0;M<4;++M){var B=Pr.Cartesian4.clone(K6[M],yg[M]);if(Pr.defined(x)){B=Pr.Matrix4.multiplyByVector(x,B,B);var P=1/B.w;Pr.Cartesian3.multiplyByScalar(B,P,B),Pr.Cartesian3.subtract(B,this._camera.positionWC,B),Pr.Cartesian3.normalize(B,B);var R=Pr.Cartesian3.dot(this._camera.directionWC,B);Pr.Cartesian3.multiplyByScalar(B,m[Q]/R,B),Pr.Cartesian3.add(B,this._camera.positionWC,B)}else{Pr.defined(f._offCenterFrustum)&&(f=f._offCenterFrustum);var D,S;Q===C?(D=m[Q-1],S=m[Q]):(D=m[Q],S=m[Q+1]),B.x=(B.x*(f.right-f.left)+f.left+f.right)*.5,B.y=(B.y*(f.top-f.bottom)+f.bottom+f.top)*.5,B.z=(B.z*(D-S)-D-S)*.5,B.w=1,Pr.Matrix4.multiplyByVector(I,B,B)}w[12*Q+M*3]=B.x,w[12*Q+M*3+1]=B.y,w[12*Q+M*3+2]=B.z}w[12*C+12]=this._camera.positionWC.x,w[12*C+12+1]=this._camera.positionWC.y,w[12*C+12+2]=this._camera.positionWC.z;var T=new Pr.BoundingSphere.fromVertices(w),L=new Pr.GeometryAttributes;L.position=new Pr.GeometryAttribute({componentDatatype:Pr.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:w});var F,U,N=new Uint16Array(8*(2*C+1+1));for(Q=0;Q<C+1;++Q)F=Q*8,U=Q*4,N[F]=U,N[F+1]=U+1,N[F+2]=U+1,N[F+3]=U+2,N[F+4]=U+2,N[F+5]=U+3,N[F+6]=U+3,N[F+7]=U;for(Q=0;Q<C;++Q)F=(C+1+Q)*8,U=Q*4,N[F]=U,N[F+1]=U+4,N[F+2]=U+1,N[F+3]=U+5,N[F+4]=U+2,N[F+5]=U+6,N[F+6]=U+3,N[F+7]=U+7;F+=8,N[F]=U+8,N[F+1]=U+1,N[F+2]=U+8,N[F+3]=U+2,N[F+4]=U+8,N[F+5]=U+3,N[F+6]=U+8,N[F+7]=U+4,this._outlinePrimitive=new Pr.Primitive({geometryInstances:new Pr.GeometryInstance({geometry:{attributes:L,indices:N,primitiveType:Pr.PrimitiveType.LINES,boundingSphere:T},attributes:{color:Pr.ColorGeometryInstanceAttribute.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new Pr.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1})}this._outlinePrimitive.isViewshedPart=!0,this._outlinePrimitive.update(o)}};yg.prototype.getHorizonDistance=function(o){return Math.sqrt(Math.pow(HJ+o,2)-Math.pow(HJ,2))};yg.prototype.onPreFrame=function(o){var A,f;if(this._currentObject!=null&&this._currentObject.viewshedPrimitive!=null&&this._currentObject.viewshedMap!=null){A=new Pr.Cartographic.fromCartesian(this._currentObject.viewshedPrimitive._camera.position);var m=this.getHorizonDistance(A.height);this._currentObject.viewshedMap.horizonCullingDistanceFromViewshed=m,f=qo.scene.globe.getHeight(A),this._currentObject.viewshedMap.isBelowGround=A.height<f+.5}if(this._currentObject!=null&&this._currentObject.viewshedMap!=null,this._newPosition!=null&&this.toPreviewMode(this._currentObject),this._canEnlarge&&this._currentRadius!=null&&this._prevRadius!=this._currentRadius){this._prevRadius=this._currentRadius;var C=this._isSpherical?this.createViewshedSpherePrimitive():this.createViewshedCameraPrimitive();C&&this.createViewshedMap()}else if(this._currentObject!=null&&this._setNewPosition&&this._mousePositionX!=null&&this._mousePositionY!=null){if(this.getPosXAndY(),this._currentObject.viewshedObjOptions.isSpherical)this._currentObject.viewshedMap._lightCamera.position=this._newPosition,this._currentObject.viewshedPrimitive=this.createViewshedSpherePrimitive(this._newPosition,this._currentObject.distance);else if(this.checkIfMouseOnPosition(),this._newPosition!=null){if(this._currentObject.viewshedObjOptions.altitudeMethod==W6.ABOVE_GROUND_LEVEL&&this._zAxisNewPosition==null){var E=Pr.Cartographic.fromCartesian(this._newPosition.clone()),I=Pr.Cartesian3.fromRadians(E.longitude,E.latitude,qo.scene.globe.getHeight(E)+this._currentObject.startingAltitudeAboveGround);this._currentObject.viewshedPrimitive._camera.position=I}else if(this._currentObject.viewshedObjOptions.altitudeMethod==W6.ABOVE_MODEL&&this._zAxisNewPosition==null){var E=Pr.Cartographic.fromCartesian(this._newPosition.clone()),I=Pr.Cartesian3.fromRadians(E.longitude,E.latitude,E.height+this._currentObject.startingAltitudeAboveModel);this._currentObject.viewshedPrimitive._camera.position=I}else this._currentObject.viewshedPrimitive._camera.position=this._newPosition;this.adjustDirections()}}};yg.prototype.onPreFrameMobile=function(o){var A,f;if(this._currentObject!=null&&this._currentObject.viewshedPrimitive!=null&&this._currentObject.viewshedMap!=null){A=new Pr.Cartographic.fromCartesian(this._currentObject.viewshedPrimitive._camera.position);var m=this.getHorizonDistance(A.height);this._currentObject.viewshedMap.horizonCullingDistanceFromViewshed=m,f=qo.scene.globe.getHeight(A),this._currentObject.viewshedMap.isBelowGround=A.height<f+.5}if(this._currentObject!=null&&this._currentObject.viewshedMap!=null,this._newPosition!=null&&this.toPreviewMode(this._currentObject),this._canEnlarge&&this._currentRadius!=null){this._prevRadius=this._currentRadius;var C=this._isSpherical?this.createViewshedSpherePrimitive():this.createViewshedCameraPrimitive();C&&this.createViewshedMap()}else if(this._currentObject!=null&&this._setNewPosition&&this._mousePositionX!=null&&this._mousePositionY!=null){if(this.getPosXAndY(),this._currentObject.viewshedObjOptions.isSpherical)this._currentObject.viewshedMap._lightCamera.position=this._newPosition,this._currentObject.viewshedPrimitive=this.createViewshedSpherePrimitive(this._newPosition,this._currentObject.distance);else if(this.checkIfMouseOnPosition(),this._newPosition!=null){if(this._currentObject.viewshedObjOptions.altitudeMethod==W6.ABOVE_GROUND_LEVEL&&this._zAxisNewPosition==null){var E=Pr.Cartographic.fromCartesian(this._newPosition.clone()),I=Pr.Cartesian3.fromRadians(E.longitude,E.latitude,qo.scene.globe.getHeight(E)+this._currentObject.startingAltitudeAboveGround);this._currentObject.viewshedPrimitive._camera.position=I}else if(this._currentObject.viewshedObjOptions.altitudeMethod==W6.ABOVE_MODEL&&this._zAxisNewPosition==null){var E=Pr.Cartographic.fromCartesian(this._newPosition.clone()),I=Pr.Cartesian3.fromRadians(E.longitude,E.latitude,E.height+this._currentObject.startingAltitudeAboveModel);this._currentObject.viewshedPrimitive._camera.position=I}else this._currentObject.viewshedPrimitive._camera.position=this._newPosition;this.adjustDirections()}}};var krt=yg;var Urt=`// author: \u5F20\u4E39\u948A vec4 toEye(in vec2 uv, in float depth){ vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0)); vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera =posInCamera / posInCamera.w; return posInCamera; } float getDepth(in vec4 depth){ float z_window = czm_unpackDepth(depth); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; return (2.0 * z_window - n_range - f_range) / (f_range - n_range); } mat4 inverse_mat4(mat4 m) { float Coef00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; float Coef02 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; float Coef03 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; float Coef04 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; float Coef06 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; float Coef07 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; float Coef08 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; float Coef10 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; float Coef11 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; float Coef12 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; float Coef14 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; float Coef15 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; float Coef16 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; float Coef18 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; float Coef19 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; float Coef20 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; float Coef22 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; float Coef23 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; const vec4 SignA = vec4( 1.0, -1.0, 1.0, -1.0); const vec4 SignB = vec4(-1.0, 1.0, -1.0, 1.0); vec4 Fac0 = vec4(Coef00, Coef00, Coef02, Coef03); vec4 Fac1 = vec4(Coef04, Coef04, Coef06, Coef07); vec4 Fac2 = vec4(Coef08, Coef08, Coef10, Coef11); vec4 Fac3 = vec4(Coef12, Coef12, Coef14, Coef15); vec4 Fac4 = vec4(Coef16, Coef16, Coef18, Coef19); vec4 Fac5 = vec4(Coef20, Coef20, Coef22, Coef23); vec4 Vec0 = vec4(m[1][0], m[0][0], m[0][0], m[0][0]); vec4 Vec1 = vec4(m[1][1], m[0][1], m[0][1], m[0][1]); vec4 Vec2 = vec4(m[1][2], m[0][2], m[0][2], m[0][2]); vec4 Vec3 = vec4(m[1][3], m[0][3], m[0][3], m[0][3]); vec4 Inv0 = SignA * (Vec1 * Fac0 - Vec2 * Fac1 + Vec3 * Fac2); vec4 Inv1 = SignB * (Vec0 * Fac0 - Vec2 * Fac3 + Vec3 * Fac4); vec4 Inv2 = SignA * (Vec0 * Fac1 - Vec1 * Fac3 + Vec3 * Fac5); vec4 Inv3 = SignB * (Vec0 * Fac2 - Vec1 * Fac4 + Vec2 * Fac5); mat4 Inverse = mat4(Inv0, Inv1, Inv2, Inv3); vec4 Row0 = vec4(Inverse[0][0], Inverse[1][0], Inverse[2][0], Inverse[3][0]); float Determinant = dot(m[0], Row0); Inverse /= Determinant; return Inverse; } uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform vec3 cen; uniform vec3 position; uniform vec3 eupp; uniform vec3 angle; uniform vec4 nearAndFar; uniform sampler2D video; uniform vec4 visible; uniform vec4 unvisible; uniform float type; uniform sampler2D stcshadow; uniform mat4 _shadowMap_matrix; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; mat4 computeMat(){ vec3 dir = normalize( position - cen ); vec3 up = normalize( eupp - cen);//vec3( 0. ,0. , 1.); vec3 right = cross(dir , up); right = normalize(right); up = cross(right , dir); up = normalize(up); return mat4( right.x,right.y,right.z,0., up.x,up.y,up.z,0., dir.x,dir.y,dir.z,0., cen.x,cen.y,cen.z,1. ); // return mat4( // right.x ,up.x ,dir.x , cen.x, // right.y ,up.y ,dir.y , cen.y, // right.z ,up.z ,dir.z , cen.z, // 0. ,0.,0.,1. // ); } mat3 computeMat3(float an){ float sa = sin(an); float ca = cos(an); return mat3( ca , -sa ,0., sa , ca , 0., 0.,0.,1. ); } void main(){ vec2 uv = v_textureCoordinates; float depth = getDepth(texture( depthTexture , uv)); vec4 oc = texture(colorTexture , uv); vec4 ec = toEye( uv , depth); ec /= ec.w; vec3 snor = normalize(position - cen); vec3 pd = ec.xyz - cen; float dd = length(pd); vec3 n = normalize(ec.xyz - cen); float d = dot(n , snor); mat4 localMat = computeMat(); vec4 p = inverse_mat4(localMat) * ec; p /= p.w; if( p.z < nearAndFar.x || p.z > nearAndFar.y){ out_FragColor = oc; return; } vec3 pp = p.xyz; mat3 rm = computeMat3( radians( angle.z ) ); pp = rm * pp; vec3 nn = pp.xyz; vec3 zn = vec3(0.,0.,1.); float dist = dot( nn , zn); float dx = pp.x ; float xangle = tan(radians( angle.x )); float yangle = tan(radians( angle.y )); float tanx = pp.x / dist; float tany = pp.y / dist; if( (tanx > -xangle && tanx< xangle) &&(tany > -yangle && tany < yangle)){ czm_shadowParameters shadowParameters; shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; shadowParameters.depthBias *= max(depth * 0.01, 1.0); vec3 directionEC = normalize(ec.xyz - shadowMap_lightPositionEC.xyz); vec3 normalEC = vec3(1.0); float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); vec4 shadowPosition = _shadowMap_matrix * ec; shadowPosition /= shadowPosition.w; shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(stcshadow, shadowParameters); if(type == 0.0){ if(visibility == 1.0){ out_FragColor = mix(oc , visible , nearAndFar.z); }else{ out_FragColor = mix(oc , unvisible , nearAndFar.z); } }else{ if(visibility == 1.0){ float r = (tanx + xangle) / (2. * xangle); float g = (tany + yangle) / (2. * yangle); vec4 col = texture( video , vec2( r , g)); float f1 = 1.; float v1 = nearAndFar.w ;//\u7FBD\u5316\u8DDD\u79BB float v2 = 1. - v1; if(r < v1){ f1 = r / v1; } if(r > v2){ f1 = (1. - r) / v1; } float f2 = 1.; if(g < v1){ f2 = g / v1; } if(g > v2){ f2 = (1. - g) / v1; } float f12 = f1 * f2; float ff = smoothstep( 0. , 1. , f12 ); ff *= nearAndFar.z; out_FragColor = mix(oc , col , ff); }else{ out_FragColor = oc; } } }else{ out_FragColor = oc; } } `;var Sne=null,ta=null;function xI(o,A,f){ta=f,Sne=new Ji(o,f),this._viewer=o,this.video=A.video,this.viewshed=A.viewshed||{},this.cameraPosition=A.cameraPosition.x&&A.cameraPosition.y&&A.cameraPosition.z?A.cameraPosition:ta.Cartesian3.fromDegrees(A.cameraPosition.lon,A.cameraPosition.lat,A.cameraPosition.height),this.position=A.position&&(A.position instanceof ta.Cartesian3?A.position:ta.Cartesian3.fromDegrees(A.position.lon,A.position.lat,A.position.height)),this.heading=A.heading||0,this.pitch=A.pitch||0,this.alpha=A.alpha||.9,this.horizonAngle=A.horizonAngle||60,this.verticalAngle=A.verticalAngle||40,this.angle=new ta.Cartesian3(this.horizonAngle/2,this.verticalAngle/2,0),this.near=Sne.defaultValue(A.near,1),this.far=A.far||30,this.showFarScale=A.showFarScale||5,this.offset=0,this.show=!0,this.video&&(this.offset=Sne.defaultValue(A.video.offset,.1)),this.viewshed.visible=ta.Color.fromCssColorString(this.viewshed.visible||"#00ff00"),this.viewshed.unvisible=ta.Color.fromCssColorString(this.viewshed.unvisible||"#ff0000"),this.nearAndFar=new ta.Cartesian4(this.near,this.far,this.alpha,this.offset),this.center=new ta.Cartesian3,this.eupp=new ta.Cartesian3,this.epp=new ta.Cartesian3,this.upp=this.setSpHeight(this.cameraPosition),this.useLine=ta.defaultValue(A.useLine,!0),this._viewer.scene.primitives.add(this),this.init()}xI.prototype.createViewCone=function(){if(this.line&&(this._viewer.scene.primitives.remove(this.line),this.line=null),!this.useLine)return;let o=this.viewShadowMap._lightCamera;this.line=new ta.Primitive({geometryInstances:new ta.GeometryInstance({geometry:new ta.FrustumOutlineGeometry({origin:o.positionWC,orientation:this.orientationData,frustum:o.frustum}),attributes:{color:ta.ColorGeometryInstanceAttribute.fromColor(ta.Color.fromCssColorString("#fff"))}}),appearance:new ta.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1,allowPicking:!1}),this._viewer.scene.primitives.add(this.line)};xI.prototype.isShow=function(){return this.show&&Sne.getPointToCameraDistance(this._viewer,this.cameraPosition)<this.far*this.showFarScale};xI.prototype.init=function(){if(this.post&&this.texture)return;if(!(this.upp instanceof ta.Cartesian3))throw new Error("\u8BA1\u7B97\u4E0A\u65B9\u5411\u9519\u8BEF");this._createShadowMap(),this.createViewCone();let o=this.video&&this.video.container,A=this,f=this._viewer.scene.context.uniformState,m=this.viewShadowMap._isPointLight?this.viewShadowMap._pointBias:this.viewShadowMap._primitiveBias,C=0;o&&(this.texture=new ta.Texture({context:this._viewer.scene.context,source:o,width:1,height:1}),C=1),this.post=new ta.PostProcessStage({uniforms:{type:function(){return C},cen:function(){return ta.Matrix4.multiplyByPoint(f.view3D,A.cameraPosition,A.center)},position:function(){return ta.Matrix4.multiplyByPoint(f.view3D,A.videoCenter,A.epp)},eupp:function(){return ta.Matrix4.multiplyByPoint(f.view3D,A.upp,A.eupp)},video:function(){return o&&o.readyState>=2&&!A.isPause&&A.texture.copyFrom({source:o}),A.texture||A._viewer.scene.context.defaultTexture},visible:function(){return A.viewshed.visible},unvisible:function(){return A.viewshed.unvisible},angle:function(){return A.angle},nearAndFar:function(){return A.nearAndFar},_shadowMap_matrix:function(){return A.viewShadowMap._shadowMapMatrix},shadowMap_lightPositionEC:function(){return A.viewShadowMap._lightPositionEC},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let E=new ta.Cartesian2;return E.x=1/A.viewShadowMap._textureSize.x,E.y=1/A.viewShadowMap._textureSize.y,ta.Cartesian4.fromElements(E.x,E.y,m.depthBias,m.normalShadingSmooth)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return ta.Cartesian4.fromElements(m.normalOffsetScale,A.viewShadowMap._distance,A.viewShadowMap.maximumDistance,A.viewShadowMap._darkness)},stcshadow:function(){return A.viewShadowMap._shadowMapTexture}},fragmentShader:Urt}),this._viewer.scene.postProcessStages.add(this.post)};xI.prototype._createShadowMap=function(){let o=new ta.Camera(this._viewer.scene);if(o.frustum.fov=ta.Math.toRadians(this.horizonAngle),o.frustum.aspectRatio=this.horizonAngle/this.verticalAngle,o.frustum.near=this.near,o.frustum.far=this.far,this.position){o.position=this.cameraPosition,o.direction=ta.Cartesian3.subtract(this.position,this.cameraPosition,new ta.Cartesian3(0,0,0)),o.up=ta.Cartesian3.normalize(this.cameraPosition,new ta.Cartesian3(0,0,0));let x=ta.Cartesian3.normalize(ta.Cartesian3.subtract(this.position,this.cameraPosition,new ta.Cartesian3),new ta.Cartesian3);o.direction=x,this.heading=ta.Math.toDegrees(o.heading),this.pitch=ta.Math.toDegrees(o.pitch)}else o.setView({destination:this.cameraPosition,orientation:{heading:ta.Math.toRadians(this.heading),pitch:ta.Math.toRadians(this.pitch),roll:0}});let A=new ta.Cartesian3,f=new ta.Matrix3,m=new ta.Quaternion,C=o.upWC,E=o.rightWC;E=ta.Cartesian3.negate(E,A);let I=f;if(ta.Matrix3.setColumn(I,0,E,I),ta.Matrix3.setColumn(I,1,C,I),ta.Matrix3.setColumn(I,2,o.direction,I),this.orientationData=ta.Quaternion.fromRotationMatrix(I,m),!this.position){let x=new Float64Array(24);ta.FrustumGeometry._computeNearFarPlanes(o.positionWC,this.orientationData,0,o.frustum,x);let y=new ta.Cartesian3;for(let v=12;v<x.length;v+=3)y.x+=x[v],y.y+=x[v+1],y.z+=x[v+2];ta.Cartesian3.multiplyByScalar(y,1/4,y),this.position=y}this.videoCenter=this.position,this.position=null,this.viewShadowMap=new ta.ShadowMap({lightCamera:o,enabled:!1,isPointLight:!1,isSpotLight:!0,cascadesEnabled:!1,context:this._viewer.scene.context,pointLightRadius:this.far}),this.viewShadowMap.guid=ta.createGuid()};xI.prototype.flyTo=function(){if(this.viewShadowMap&&this.viewShadowMap._lightCamera){let o=this.viewShadowMap._lightCamera;this._viewer.camera.flyTo({destination:o.position,orientation:{heading:o.heading,pitch:o.pitch,roll:0}})}};xI.prototype.updatePost=function(o){o.cameraPosition&&(this.cameraPosition=o.cameraPosition instanceof ta.Cartesian3?o.cameraPosition:ta.Cartesian3.fromDegrees(o.cameraPosition.lon,o.cameraPosition.lat,o.cameraPosition.height)),o.position&&(this.position=o.position instanceof ta.Cartesian3?o.position:ta.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height)),!isNaN(o.heading)&&typeof o.heading=="number"&&(this.heading=o.heading),!isNaN(o.pitch)&&typeof o.pitch=="number"&&(this.pitch=o.pitch),!isNaN(o.alpha)&&typeof o.alpha=="number"&&(this.alpha=o.alpha),!isNaN(o.horizonAngle)&&typeof o.horizonAngle=="number"&&(this.horizonAngle=o.horizonAngle,this.angle.x=this.horizonAngle/2),!isNaN(o.verticalAngle)&&typeof o.verticalAngle=="number"&&(this.verticalAngle=o.verticalAngle,this.angle.y=this.verticalAngle/2),!isNaN(o.near)&&typeof o.near=="number"&&(this.near=o.near,this.nearAndFar.x=this.near),!isNaN(o.far)&&typeof o.far=="number"&&(this.far=o.far,this.nearAndFar.y=this.far),!isNaN(o.offset)&&typeof o.offset=="number"&&(this.nearAndFar.w=o.offset,this.offset=o.offset),!isNaN(o.alpha)&&typeof o.alpha=="number"&&(this.nearAndFar.z=o.alpha,this.alpha=o.alpha),!isNaN(o.showFarScale)&&typeof o.showFarScale=="number"&&(this.showFarScale=o.showFarScale),o.useLine!==void 0&&(this.useLine=o.useLine),this._createShadowMap(),this.createViewCone()};xI.prototype.update=function(o){if(this.viewShadowMap&&this.show){let A=this.isShow();this.post&&(this.post.enabled=A),this.line&&(this.line.show=A),A&&this._viewer.scene.frameState.shadowMaps.push(this.viewShadowMap)}};xI.prototype.setVisibility=function(o){this.show=o,this.post&&(this.post.enabled=o),this.line&&(this.line.show=o)};xI.prototype.destroy=function(){if(this.post){this._viewer.scene.postProcessStages.remove(this.post);try{this.post.destroy()}catch{}this.post=void 0}return this.texture&&(this.texture.destroy(),this.texture=void 0),this._viewer.scene.primitives.remove(this),this.shadowMaps&&this.shadowMaps.destroy(),this.line&&(this._viewer.scene.primitives.remove(this.line),this.line=null),ta.destroyObject(this)};xI.prototype.setSpHeight=function(o,A=5e3){let f=ta.Cartographic.fromCartesian(o);return f.height+=A,ta.Cartographic.toCartesian(f)};xI.prototype.changeHorizonAngle=function(o){this.updatePost({horizonAngle:parseFloat(o)})};xI.prototype.changeVerticalAngle=function(o){this.updatePost({verticalAngle:parseFloat(o)})};xI.prototype.changeRotateAngle=function(o){this.updatePost({angleZ:parseFloat(o)})};var VJ=xI;var Ln=null;function zJ(o,A){Ln=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke,this._getPosition=new hl(this._viewer,this._cesium),this.tooltip=this._core.CreateTooltip()}zJ.prototype.createViewCone=function(o,A){let f={roll:0,fov:60,near:1,height:1.6,fillColor:"rgba(0,255,0,0.1)",outlineColor:"rgba(0,255,0,1)"};!o&&(o={}),o=this._core.extend(f,o,!0),this._option=o,this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);let m=this,C=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(C.scene.canvas),Ke.states=1;let E=[];return this.drawHandler.setInputAction(I=>{let x=m._getPosition.getMousePosition(I);if(!!x){if(E.length===0){if(o.height){let y=m._core.toDegrees(x);y.height+=o.height,E.push(Ln.Cartesian3.fromDegrees(y.lon,y.lat,y.height))}else E.push(x);E.push(x)}else m.drawHandler.destroy(),m.drawHandler=void 0,m.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),m._core.mouse(m._viewer.container,0,"0"),A&&typeof A=="function"&&A(m.item,E);if(!m.item){m.viewConeCamera=new Ln.Camera(C.scene);let y=Ln.Cartesian3.normalize(Ln.Cartesian3.subtract(E[1],E[0],new Ln.Cartesian3),new Ln.Cartesian3);m.viewConeCamera.position=E[0],m.viewConeCamera.direction=y,m.viewConeCamera.frustum.fov=Ln.Math.toRadians(o.fov),m.viewConeCamera.frustum.near=o.near,m.viewConeCamera.frustum.far=1;let v=new Ln.Cartesian3,w=new Ln.Matrix3,Q=new Ln.Quaternion,M=m.viewConeCamera.positionWC,B=m.viewConeCamera.upWC,D=m.viewConeCamera.rightWC;D=Ln.Cartesian3.negate(D,v);let S=w;Ln.Matrix3.setColumn(S,0,D,S),Ln.Matrix3.setColumn(S,1,B,S),Ln.Matrix3.setColumn(S,2,y,S);let P=Ln.Quaternion.fromRotationMatrix(S,Q);o.fill&&(m._planesPrimitive=new Ln.Primitive({geometryInstances:new Ln.GeometryInstance({geometry:new Ln.FrustumGeometry({origin:M,orientation:P,frustum:m.viewConeCamera.frustum}),attributes:{color:Ln.ColorGeometryInstanceAttribute.fromColor(Ln.Color.fromCssColorString(o.fillColor))},id:o.id}),appearance:new Ln.PerInstanceColorAppearance({translucent:!0,flat:!0}),asynchronous:!1,allowPicking:!1})),m._outlinePrimitive=new Ln.Primitive({geometryInstances:new Ln.GeometryInstance({geometry:new Ln.FrustumOutlineGeometry({origin:M,orientation:P,frustum:m.viewConeCamera.frustum}),attributes:{color:Ln.ColorGeometryInstanceAttribute.fromColor(Ln.Color.fromCssColorString(o.outlineColor))},id:o.id}),appearance:new Ln.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1,allowPicking:!1}),m.item=new Ln.PrimitiveCollection,m._viewer.scene.primitives.add(m.item),m._outlinePrimitive&&m.item.add(m._outlinePrimitive),m._planesPrimitive&&m.item.add(m._planesPrimitive)}}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(I=>{if(E.length>0){m.tooltip.showAt(I.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236");let x=m._getPosition.getMousePosition(I);x&&(E[1]=x,m.viewConeCamera.direction=Ln.Cartesian3.normalize(Ln.Cartesian3.subtract(E[1],E[0],new Ln.Cartesian3),new Ln.Cartesian3),m.updata({heading:Ln.Math.toDegrees(m.viewConeCamera.heading),pitch:Ln.Math.toDegrees(m.viewConeCamera.pitch),far:m._core.getSpaceDistancem(E,Ln)}))}else m.tooltip.showAt(I.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};zJ.prototype.addViewCone=function(o){let A={position:this._viewer.camera.position.clone(),heading:0,pitch:0,roll:0,fov:60,near:1,far:60,fillColor:"rgba(0,255,0,0.1)",outlineColor:"rgba(0,255,0,1)"};!o&&(o={}),o.position&&o.position.lon&&(o.position=Ln.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height)),o=this._core.extend(A,o,!0),this.viewConeCamera=new Ln.Camera(this._viewer.scene),this.viewConeCamera.setView({destination:o.position,orientation:{heading:Ln.Math.toRadians(o.heading),pitch:Ln.Math.toRadians(o.pitch),roll:Ln.Math.toRadians(o.roll)}}),this.viewConeCamera.frustum.fov=Ln.Math.toRadians(o.fov),this.viewConeCamera.frustum.near=o.near,this.viewConeCamera.frustum.far=o.far;let f=new Ln.Cartesian3,m=new Ln.Matrix3,C=new Ln.Quaternion,E=this.viewConeCamera.positionWC,I=this.viewConeCamera.directionWC,x=this.viewConeCamera.upWC,y=this.viewConeCamera.rightWC;y=Ln.Cartesian3.negate(y,f);let v=m;Ln.Matrix3.setColumn(v,0,y,v),Ln.Matrix3.setColumn(v,1,x,v),Ln.Matrix3.setColumn(v,2,I,v);let w=Ln.Quaternion.fromRotationMatrix(v,C);return o.fill&&(this._planesPrimitive=new Ln.Primitive({geometryInstances:new Ln.GeometryInstance({geometry:new Ln.FrustumGeometry({origin:E,orientation:w,frustum:this.viewConeCamera.frustum}),attributes:{color:Ln.ColorGeometryInstanceAttribute.fromColor(Ln.Color.fromCssColorString(o.fillColor))},id:o.id}),appearance:new Ln.PerInstanceColorAppearance({translucent:!0,flat:!0}),asynchronous:!1,allowPicking:!1})),this._outlinePrimitive=new Ln.Primitive({geometryInstances:new Ln.GeometryInstance({geometry:new Ln.FrustumOutlineGeometry({origin:E,orientation:w,frustum:this.viewConeCamera.frustum}),attributes:{color:Ln.ColorGeometryInstanceAttribute.fromColor(Ln.Color.fromCssColorString(o.outlineColor))},id:o.id}),appearance:new Ln.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1,allowPicking:!1}),this._option=o,this.item=new Ln.PrimitiveCollection,this._viewer.scene.primitives.add(this.item),this._outlinePrimitive&&this.item.add(this._outlinePrimitive),this._planesPrimitive&&this.item.add(this._planesPrimitive),this};zJ.prototype.updata=function(o){!o&&(o={}),o.position&&o.position.lon&&(o.position=Ln.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height)),o=this._core.extend(this._option,o,!0),this._outlinePrimitive&&this._outlinePrimitive.destroy(),this._planesPrimitive&&this._planesPrimitive.destroy(),this.item.removeAll(),this.viewConeCamera.setView({destination:o.position,orientation:{heading:Ln.Math.toRadians(o.heading),pitch:Ln.Math.toRadians(o.pitch),roll:Ln.Math.toRadians(o.roll)}}),this.viewConeCamera.frustum.fov=Ln.Math.toRadians(o.fov),this.viewConeCamera.frustum.near=o.near,this.viewConeCamera.frustum.far=o.far;let A=new Ln.Cartesian3,f=new Ln.Matrix3,m=new Ln.Quaternion,C=this.viewConeCamera.positionWC,E=this.viewConeCamera.directionWC,I=this.viewConeCamera.upWC,x=this.viewConeCamera.rightWC;x=Ln.Cartesian3.negate(x,A);let y=f;Ln.Matrix3.setColumn(y,0,x,y),Ln.Matrix3.setColumn(y,1,I,y),Ln.Matrix3.setColumn(y,2,E,y);let v=Ln.Quaternion.fromRotationMatrix(y,m);o.fill&&(this._planesPrimitive=new Ln.Primitive({geometryInstances:new Ln.GeometryInstance({geometry:new Ln.FrustumGeometry({origin:C,orientation:v,frustum:this.viewConeCamera.frustum}),attributes:{color:Ln.ColorGeometryInstanceAttribute.fromColor(Ln.Color.fromCssColorString(o.fillColor))},id:o.id}),appearance:new Ln.PerInstanceColorAppearance({translucent:!0,flat:!0}),asynchronous:!1,allowPicking:!1})),this._outlinePrimitive=new Ln.Primitive({geometryInstances:new Ln.GeometryInstance({geometry:new Ln.FrustumOutlineGeometry({origin:C,orientation:v,frustum:this.viewConeCamera.frustum}),attributes:{color:Ln.ColorGeometryInstanceAttribute.fromColor(Ln.Color.fromCssColorString(o.outlineColor))},id:o.id}),appearance:new Ln.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1,allowPicking:!1}),this._option=o,this.item.add(this._outlinePrimitive),this._planesPrimitive&&this.item.add(this._planesPrimitive)};zJ.prototype.destroy=function(){return this._outlinePrimitive&&this._outlinePrimitive.destroy(),this._planesPrimitive&&this._planesPrimitive.destroy(),this.item&&this._viewer.scene.primitives.removeAndDestroy(this.item),Ln.destroyObject(this)};var YJ=zJ;var JJ=null;function v3(o,A){JJ=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this.isPause=!1,this.isLoad=!1}v3.prototype.createViewshed=function(o={}){o.alpha=this._core.defaultValue(o.alpha,.5),o.horizonAngle=this._core.defaultValue(o.horizonAngle,60),o.verticalAngle=this._core.defaultValue(o.verticalAngle,60);let A=new YJ(this._viewer,JJ);return A.createViewCone({height:this._core.defaultValue(o.height,1.7)},(f,m)=>{this.ShadowPostProcess=new VJ(this._viewer,{cameraPosition:m[0],position:m[1],far:JJ.Cartesian3.distance(m[0],m[1]),showFarScale:6,viewshed:{visible:o.visible,unvisible:o.unvisible},...o},JJ),A.destroy(),A=null}),this};v3.prototype.addViewshed=function(o={}){return o.alpha=this._core.defaultValue(o.alpha,.5),o.horizonAngle=this._core.defaultValue(o.horizonAngle,60),o.verticalAngle=this._core.defaultValue(o.verticalAngle,60),this.ShadowPostProcess=new VJ(this._viewer,{showFarScale:6,viewshed:{visible:o.visible,unvisible:o.unvisible},...o},JJ),this};v3.prototype.updateViewshed=function(o){this.ShadowPostProcess.updatePost(o)};v3.prototype.destroy=function(){this.ShadowPostProcess&&this.ShadowPostProcess.destroy(),this.ShadowPostProcess=null};v3.prototype.changeHorizonAngle=function(o){this.ShadowPostProcess&&this.ShadowPostProcess.changeHorizonAngle(o)};v3.prototype.changeVerticalAngle=function(o){this.ShadowPostProcess&&this.ShadowPostProcess.changeVerticalAngle(o)};var pQe=v3;var Tb=null;function mQe(o,A){Tb=A,this._viewer=o,this._cesium=A}mQe.prototype.createSkylineAnalysis=function(o={}){this.clear();let A;typeof o=="string"?A={color:o,scale:2}:A={color:o.color||"#ff0000",scale:o.scale||2};let f=Tb.Color.fromCssColorString(A.color),m=Viewer.scene.postProcessStages;var C=`uniform sampler2D depthTexture; uniform float length; uniform vec4 color; in vec2 v_textureCoordinates; void main(void) { float directions[3]; directions[0] = -1.0; directions[1] = 0.0; directions[2] = 1.0; float scalars[3]; scalars[0] = 3.0; scalars[1] = 10.0; scalars[2] = 3.0; float padx = czm_pixelRatio / czm_viewport.z; float pady = czm_pixelRatio / czm_viewport.w; float horizEdge = 0.0; float vertEdge = 0.0; for (int i = 0; i < 3; ++i) { float dir = directions[i]; float scale = scalars[i]; horizEdge -= texture(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale; horizEdge += texture(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale; vertEdge -= texture(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale; vertEdge += texture(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale; } float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); out_FragColor = vec4(color.rgb, len > length ? color.a : 0.0); } `,E=Tb.createGuid();let I=new Tb.PostProcessStage({name:"czm_edge_detection_"+E,fragmentShader:C,uniforms:{length:.25,color:Tb.Color.clone(Tb.Color.BLACK)}}),x=new Tb.PostProcessStage({name:"czm_skylinetemp",fragmentShader:"uniform sampler2D colorTexture;uniform sampler2D depthTexture;in vec2 v_textureCoordinates;void main(void){float depth = czm_readDepth(depthTexture, v_textureCoordinates);vec4 color = texture(colorTexture, v_textureCoordinates);if(depth<1.0 - 0.000001){out_FragColor = color;}else{out_FragColor = vec4(1.0,0.0,0.0,1.0);}}"}),y=new Tb.PostProcessStage({name:"czm_skylinetemp1",fragmentShader:"uniform sampler2D colorTexture;uniform sampler2D redTexture;uniform sampler2D silhouetteTexture;in vec2 v_textureCoordinates;void main(void){vec4 redcolor=texture(redTexture, v_textureCoordinates);vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates);vec4 color = texture(colorTexture, v_textureCoordinates);if(redcolor.r == 1.0&&silhouetteColor.a>0.0){out_FragColor = vec4(1.0,0.0,0.0,1.0);}else{out_FragColor = vec4(0.0,0.0,0.0,1.0);;}}",uniforms:{redTexture:x.name,silhouetteTexture:I.name,length:.25}}),v=new Tb.PostProcessStage({name:"czm_skylinebold",fragmentShader:"uniform sampler2D colorTexture;uniform sampler2D redTexture;uniform float scale;uniform vec4 skylineColor;in vec2 v_textureCoordinates;void main(void){float padx = czm_pixelRatio / czm_viewport.z;float pady = czm_pixelRatio / czm_viewport.w;vec4 color = texture(colorTexture, v_textureCoordinates);out_FragColor = color;float scaleB = 3.0;int search = 0;for(float i=0.0;i<10.0;i++){for(float j=0.0;j<10.0;j++){vec2 redCoordi = v_textureCoordinates + vec2(i*padx,j*pady);vec4 redcolor=texture(redTexture, redCoordi);if(redcolor.r == 1.0){out_FragColor = skylineColor;search = 1;break;}if(j>=scale)break;}if(i>=scale||search>0)break;}}",uniforms:{redTexture:y.name,skylineColor:f,scale:A.scale}});this.postProccessStage=new Tb.PostProcessStageComposite({name:"czm_skyline",stages:[I,x,y,v],inputPreviousStageTexture:!1,uniforms:I.uniforms}),m.add(this.postProccessStage)};mQe.prototype.clear=function(){this.postProccessStage&&this._viewer.scene.postProcessStages.remove(this.postProccessStage)};var Ort=mQe;function xbi(o,A,f,m,C,E){let I=Cesium.defined;var x=m._frameState,y=o.derivedCommands;!I(y)||(x.useLogDepth&&I(y.logDepth)&&(o=y.logDepth.command),y=o.derivedCommands,I(y[A])&&(o=y[A][f],o.execute(C,E)))}var CQe,EQe,IQe,xQe;function Grt(o,A,f,m,C,E){let{Pass:I,defined:x,PerspectiveFrustum:y,PerspectiveOffCenterFrustum:v,OrthographicFrustum:w,OrthographicOffCenterFrustum:Q}=Cesium;CQe=CQe||new y,EQe=EQe||new v,IQe=IQe||new w,xQe=xQe||new Q;let M=o._us,B=M._frameState,D=B.camera,S=D._scene,P=S._view,R=P.frustumCommandsList,T=R.length;var L=S._globeTranslucencyState,F=L.translucent,U;x(D.frustum.fov)?U=D.frustum.clone(CQe):x(D.frustum.infiniteProjectionMatrix)?U=D.frustum.clone(EQe):x(D.frustum.width)?U=D.frustum.clone(IQe):U=D.frustum.clone(xQe);function N(z,oe,le,Ae){(E?E(z,oe):!0)&&(m&&C?xbi(z,m,C,oe,le,Ae):z.execute(le,Ae))}for(var H,J,K,X=0;X<T;++X){var j=T-X-1,ee=R[j],ie=f.framebuffer;if(f.framebuffer=A,U.near=j!==0?ee.near*S.opaqueFrustumNearOffset:ee.near,U.far=ee.far,M.updateFrustum(U),M.updatePass(I.GLOBE),K=ee.commands[I.GLOBE],J=ee.indices[I.GLOBE],F)L.executeGlobeCommands(ee,N,globeTranslucencyFramebuffer,S,f);else for(H=0;H<J;++H)N(K[H],S,o,f);for(M.updatePass(I.CESIUM_3D_TILE),K=ee.commands[I.CESIUM_3D_TILE],J=ee.indices[I.CESIUM_3D_TILE],H=0;H<J;++H)N(K[H],S,o,f);for(M.updatePass(I.OPAQUE),K=ee.commands[I.OPAQUE],J=ee.indices[I.OPAQUE],H=0;H<J;++H)N(K[H],S,o,f);for(M.updatePass(I.TRANSLUCENT),K=ee.commands[I.TRANSLUCENT],J=ee.indices[I.TRANSLUCENT],H=0;H<J;++H)N(K[H],S,o,f);f.framebuffer=ie}}var Hrt=` vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { return 2.0 * rgb.xyz - 1.0; } const float PackUpscale = 256. / 255.; // fraction -> 0..1 (including 1) const float UnpackDownscale = 255. / 256.; // 0..1 -> fraction (excluding 1) const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); const float ShiftRight8 = 1. / 256.; vec4 packDepthToRGBA( const in float v ) { vec4 r = vec4( fract( v * PackFactors ), v ); r.yzw -= r.xyz * ShiftRight8; // tidy overflow return r * PackUpscale; } float unpackRGBAToDepth( const in vec4 v ) { return dot( v, UnpackFactors ); } vec4 pack2HalfToRGBA( vec2 v ) { vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 )); return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w); } vec2 unpackRGBATo2Half( vec4 v ) { return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); } // NOTE: viewZ/eyeZ is < 0 when in front of the camera per OpenGL conventions float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { return ( viewZ + near ) / ( near - far ); } float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) { return linearClipZ * ( near - far ) - near; } // NOTE: https://twitter.com/gonnavis/status/1377183786949959682 float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { return (( near + viewZ ) * far ) / (( far - near ) * viewZ ); } float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * invClipZ - far ); } `,Vrt=`uniform sampler2D czm_selectedIdTexture; uniform float czm_selectedIdTextureStep; uniform float czm_selectedIdTextureWidth; bool czm_selected(vec4 id) { bool selected = false; for (int i = 0; i < 1024000; i++) { vec4 selectedId = texture(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); if (all(equal(id, selectedId))) { return true; } if(float(i)>czm_selectedIdTextureWidth)break; } return false; } `;function yQe(o){let{defaultValue:A,BoundingRectangle:f,Pass:m,Sampler:C,DrawCommand:E,Color:I,ShaderSource:x,defined:y,ClearCommand:v,RenderState:w,Texture:Q,PixelDatatype:M,PixelFormat:B,Framebuffer:D}=Cesium;this._selectedIdTexture=null;let{name:S,vertexShader:P,fragmentShader:R,uniforms:T,renderStateProcess:L,beforeUpdate:F,renderType:U,textureScale:N,pixelFormat:H,pixelDatatype:J,sampler:K,viewportScale:X,shaderRedefine:j,overrideViewport:ee}=o,ie="renderPass_"+S.replace(/[\.\\\/\-]/g,"_"),z=`czm_non_${ie}_main`,oe=`czm_${ie}_main`,le=`_cache_${ie}`,Ae=ie+"Command",he=null,ge=null,de=null,fe=null,G,Y=new v({color:I.TRANSPARENT,depth:1}),W=new f,O=this;if(ee&&f.clone(ee,W),j=j||"add",U=U||"all",N=N||1,N<0||N>8)throw new Cesium.DeveloperError("CesiumRenderPass\uFF1AtextureScale\u5FC5\u987B\u5927\u4E8E0\u5C0F\u4E8E\u7B49\u4E8E8");function re(ze,Je,je,Ze){var rt=ze.shaderCache.getDerivedShaderProgram(Je,ie);if(!y(rt)){var At=Je._attributeLocations,yt=Je.fragmentShaderSource,at=Je.vertexShaderSource,ft=Je._vertexShaderText,_t=yt.sources,et=_t.length;let _e=!!fe&&Pe();var pt=Vrt,zt=/texture\s?\(\s?tile_pickTexture\s?,\s?tile_featureSt\s?\)/.test(je);Ze=="in"||Ze=="out"&&!zt?pt+=` in float me_isSelected; bool czm_selected(){ bool isSelected= me_isSelected>0.0000001; if(!isSelected){ isSelected= czm_selected(${je}); } return isSelected; } `:pt+=` bool czm_selected(){ return czm_selected(${je}); }`;let Oe=Vrt+` out float me_isSelected; bool czm_selected(){ return czm_selected(${je}); } `;var It=!1,Pt=!1;if(/in\s?vec3\s?normal\s?;/.test(ft)||/\n\s?vec3\s?normal\s?;/.test(ft)?It=!0:/in\s?out\s?vec3\s?v_normal\s?;/.test(ft)&&(Pt=!0),R){var St=!1;for(Le=0;Le<et;++Le)if(/vec4\s?packDepthToRGBA\s?\(/.test(_t[Le])){St=!0;break}let vt=(St?"":Hrt)+(_e?pt:"")+x.replaceMain(R,oe)+`void main() { `+(j!="replace"?` ${z}(); `:"")+` ${oe}(); } `;for(var dt=new Array(et+1),Le=0;Le<et;++Le)dt[Le]=x.replaceMain(_t[Le],z);dt[et]=vt,It?yt.defines.push("HAS_NORMAL"):Pt&&yt.defines.push("HAS_V_NORMAL"),yt=new x({sources:dt,defines:yt.defines})}if(P||R){_t=at.sources,et=_t.length;var St=!1;for(Le=0;Le<et;++Le)if(/vec4\s?packDepthToRGBA\s?\(/.test(_t[Le])){St=!0;break}_e=_e&&Ze=="in"||Ze=="out"&&!zt,It?at.defines.push("HAS_NORMAL"):Pt&&at.defines.push("HAS_V_NORMAL");let wt=(St?"":Hrt)+(_e?Oe:"")+x.replaceMain(P||"void main(){}",oe)+`void main() { `+(j!="replace"?` ${z}(); `:"")+(_e?` me_isSelected=czm_selected()?1.:0.; `:"")+` ${oe}(); } `;for(var dt=new Array(et+1),Le=0;Le<et;++Le)dt[Le]=x.replaceMain(_t[Le],z);dt[et]=wt,at=new x({sources:dt,defines:at.defines})}rt=ze.shaderCache.createDerivedShaderProgram(Je,ie,{vertexShaderSource:at,fragmentShaderSource:yt,attributeLocations:At})}return rt}function se(ze,Je){ze._renderPassCache=ze._renderPassCache||{},ze._renderPassCache[le]=ze._renderPassCache[le]||{};var je=ze._renderPassCache[le],Ze=je[Je.id];if(!y(Ze)){var rt=w.getState(Je);typeof L=="function"&&L.call(O,rt),Ze=w.fromCache(rt),je[Je.id]=Ze}return Ze}function ce(ze,Je,je){let Ze=ze;var rt=Je._frameState,At=ze.derivedCommands;if(!y(At))return;rt.useLogDepth&&y(At.logDepth)&&(ze=At.logDepth.command),At=ze.derivedCommands;let yt=At.renderPass;y(At.renderPass)||(yt=At.renderPass={});var at,ft;if(y(yt[Ae])&&(at=yt[Ae].shaderProgram,ft=yt[Ae].renderState),yt[Ae]=E.shallowClone(ze,yt[Ae]),!y(at)||yt.shaderProgramId!==ze.shaderProgram.id){let et=ze.shaderProgram,pt=Ze._pickIdQualifier=new RegExp(`uniform\\s?vec4\\s?${ze.pickId}`,"g").test(et._fragmentShaderText)?"uniform":"in";yt[Ae].shaderProgram=re(je,et,ze.pickId,pt),yt[Ae].renderState=se(Je,ze.renderState),yt.shaderProgramId=ze.shaderProgram.id}else yt[Ae].shaderProgram=at,yt[Ae].renderState=ft;var _t=yt[Ae].uniformMap;ye(_t)}function me(ze){return function(){var Je=T[ze];return typeof Je=="function"?Je():Je}}function Ce(ze,Je){return function(){var je=ze[Je]();if(y(je))return je.dimensions}}function ye(ze){if(!ze.__created&&(ze.czm_selectedIdTexture=function(){return fe._selectedIdTexture},ze.czm_selectedIdTextureWidth=function(){return fe._selectedIdTexture?fe._selectedIdTexture.width:0},ze.czm_selectedIdTextureStep=function(){return fe._selectedIdTexture?1/fe._selectedIdTexture.width:-1},!!T)){ze.__created=!0;for(var Je in T)if(T.hasOwnProperty(Je)){typeof T[Je]!="function"?ze[Je]=me(Je):ze[Je]=T[Je];var je=ze[Je]();(typeof je=="string"||je instanceof Q||je instanceof HTMLImageElement||je instanceof HTMLCanvasElement||je instanceof HTMLVideoElement)&&(ze[Je+"Dimensions"]=Ce(ze,Je))}}}function Be(ze){let Je=ze._view,je=Je.frustumCommandsList,Ze=je.length;for(var rt,At,yt,at=0;at<Ze;++at){var ft=Ze-at-1,_t=je[ft];for(At=0;At<_t.commands.length;At++){var et=_t.commands[At];if(yt=_t.indices[At],!(fe&&At==m.GLOBE))for(rt=0;rt<yt;++rt){var pt=et[rt];ce(pt,ze,ze._context)}}}}function Me(){ge&&(ge.destroy(),he.destroy(),he=void 0,ge=void 0),de&&(de.destroy(),de=void 0)}function He(ze,Je,je,Ze){var rt=Je.width,At=Je.height;ge&&ge.width===rt&&ge.height===At&&je===G||(G=je,Me(),ge=new Q({context:ze,width:rt,height:At,pixelFormat:A(H,B.RGBA),pixelDatatype:A(J,M.FLOAT),sampler:A(K,C.NEAREST)}),de=new Q({context:ze,width:rt,height:At,pixelFormat:B.DEPTH_COMPONENT,pixelDatatype:M.UNSIGNED_SHORT,sampler:C.NEAREST}),he=new D({colorTextures:[ge],context:ze,destroyAttachments:!1,depthTexture:de}))}function ke(ze){ee||(W=f.clone(ze.viewport,W),X?(W.x=W.width*X.x,W.y=W.height*X.y,W.width*=X.width,W.height*=X.height):(W.width*=N,W.height*=N));let Je=Object.assign({},ze.passState);return Je.viewport=W,Je}function Ne(ze,Je){let je=ze._us._frameState,Ze=je.camera,rt=Ze._scene,At=rt._view;try{if(!P&&!R){let yt=ke(At);typeof F=="function"&&F.call(O,rt,Je),He(ze,W,rt.hdr,At.sceneFramebuffer),Grt(ze,he,yt)}else{let yt=ke(At);typeof F=="function"&&F.call(O,rt,Je),He(ze,W,rt.hdr,At.sceneFramebuffer),Be(rt),Grt(ze,he,yt,"renderPass",Ae,U=="all"||!fe||!fe._selectedIdTexture?null:we)}}catch(yt){console.error(yt)}}function Pe(){if(!fe)return;let ze=fe.selected||fe.parentSelected;if(ze.length)return ze}function we(ze,Je){let je=fe&&(fe.selected||fe.parentSelected);if(!fe||!je||!je.length)return!1;if(!ze.pickId||ze._pickIdQualifier!="uniform")return!0;let Ze=!0,rt=ze.owner,At=U=="selected";if(rt&&rt.isObject3D){for(let at=0;at<je.length;at++)if(je[at]==rt)return At;return!At}let yt=ze.uniformMap;if(yt[ze.pickId]){let at=yt[ze.pickId]();Ze=!At;for(let ft=0;ft<je.length;ft++){let _t=je[ft],et=_t.pickId?[_t.pickId]:_t.pickIds||_t._pickIds;for(let pt=0;pt<et.length;pt++){let zt=et[pt];if(zt.color==at||I.equals(zt.color,at))return At}}}return Ze}function Fe(ze){if(he){var Je=ze._us._frameState.camera._scene._view;Y.framebuffer=he,Y.execute(ze,Je.passState),Y.framebuffer=void 0}}function Ue(ze){if(fe&&O.prevStageUpdate&&(fe.update=O.prevStageUpdate,O.prevStageUpdate=null,O.prevStageExecute=null),fe=ze,!fe)return;let Je=fe.update;O.prevStageUpdate=Je,fe.update=function(je,Ze){if(Fe(je),Je.call(fe,je,Ze),!!fe.enabled)if(!P&&!R)Ne(je,Ze);else{let rt=fe.selected||fe.parentSelected;rt&&rt.length&&Ne(je,Ze)}}}this.update=Ne,this.clear=Fe,Object.defineProperties(this,{texture:{get(){return ge}},depthTexture:{get(){return de}},stage:{get(){return fe},set(ze){fe!=ze&&Ue(ze)}}})}var ybi=` in vec2 v_textureCoordinates; uniform sampler2D colorTexture; uniform vec2 colorTextureDimensions; uniform vec2 direction; uniform float kernelRadius; float gaussianPdf(in float x, in float sigma) { return 0.39894 * exp( -0.5 * x * x/( sigma * sigma))/sigma; } void main() { vec2 vUv=v_textureCoordinates; vec2 invSize = 1.0 / colorTextureDimensions; float weightSum = gaussianPdf(0.0, kernelRadius); vec4 diffuseSum = texture( colorTexture, vUv) * weightSum; vec2 delta = direction * invSize * kernelRadius/float(MAX_RADIUS); vec2 uvOffset = delta; for( int i = 1; i <= MAX_RADIUS; i ++ ) { float w = gaussianPdf(uvOffset.x, kernelRadius); vec4 sample1 = texture( colorTexture, vUv + uvOffset); vec4 sample2 = texture( colorTexture, vUv - uvOffset); diffuseSum += ((sample1 + sample2) * w); weightSum += (2.0 * w); uvOffset += delta; } out_FragColor = diffuseSum/weightSum; }`,q6=null;function KJ(o,A){q6=A,this._viewer=o,this._core=new Ji(o,q6)}KJ.prototype.createEdgeStage=function(o={}){this.clear();let A="OutlineEffect",{PostProcessStage:f,PostProcessStageComposite:m,Sampler:C,TextureMagnificationFilter:E,TextureMinificationFilter:I}=q6,x=this._core.defaultValue(o.width,2),y=this._core.defaultValue(o.thresholdAngle,10)*Math.PI/180,v=!1,w=!1,Q=q6.Color.fromCssColorString(o.visibleColor||"#00a8e0"),M=q6.Color.fromCssColorString(o.hiddenColor||"#4d4d4d"),B=this._core.defaultValue(o.showGlow,!0),D=this._core.defaultValue(o.edgeGlow,1),S=3,P=!1,R=new yQe({name:A+"Pass",vertexShader:` out vec3 vOutlineNormal; void main(){ #ifdef HAS_NORMAL vOutlineNormal = normal; #else #ifdef HAS_V_NORMAL vOutlineNormal = v_normal; #else vOutlineNormal=vec3(0.); #endif #endif } `,fragmentShader:` in vec3 vOutlineNormal; void main(){ // if(!czm_selected())discard; if(length(vOutlineNormal)>0.)out_FragColor=vec4( vOutlineNormal ,out_FragColor.a); } `,sampler:new C({minificationFilter:I.LINEAR,magnificationFilter:E.LINEAR}),renderType:"all"}),T=new f({name:A+"Mask",uniforms:{outlineWidth(){return x},devicePixelRatio,thresholdAngle:function(){return y},useSingleColor:function(){return v},showOutlineOnly:function(){return w},visibleEdgeColor:function(){return Q},hiddenEdgeColor:function(){return M},maskTexture(){return R.texture},maskDepthTexture(){return R.depthTexture}},fragmentShader:` uniform sampler2D colorTexture; uniform vec2 colorTextureDimensions; uniform sampler2D depthTexture; uniform sampler2D maskTexture; uniform sampler2D maskDepthTexture; uniform float thresholdAngle; uniform bool showOutlineOnly; uniform float outlineWidth; uniform float devicePixelRatio; uniform vec3 visibleEdgeColor; uniform vec3 hiddenEdgeColor; uniform bool useSingleColor; in vec2 v_textureCoordinates; float lengthSq(vec3 v){ return v.x * v.x + v.y * v.y + v.z * v.z; } float normal_angleTo(vec3 a,vec3 b){ float denominator = sqrt( lengthSq(a) * lengthSq(b) ); if ( denominator == 0. ) return czm_pi / 2.; float theta = dot(a, b ) / denominator; // clamp, to handle numerical problems return acos( clamp( theta, - 1., 1. ) ); } float compareNormal(vec4 n1,vec4 n2){ if( abs ( normal_angleTo( n1.xyz , n2.xyz ) ) < thresholdAngle ){ return 0.; }else{ return 1.; } } float compareDepth(const in vec2 uv){ float maskDepth = czm_readDepth( maskDepthTexture, uv); float nonDepth = czm_readDepth( depthTexture, uv); return maskDepth>nonDepth?1.:0.; } void main(){ vec2 vUv=v_textureCoordinates; // vec4 color = texture( colorTexture, vUv); vec4 maskColor = texture( maskTexture, vUv); if( maskColor.a < 0.0001){ // out_FragColor =color; discard; return; } vec2 invSize = outlineWidth / colorTextureDimensions; vec4 uvOffset = vec4(1.0, 0.0, 0.0, 1.0) * vec4(invSize, invSize); vec4 c1 = texture( maskTexture, vUv + uvOffset.xy); vec4 c2 = texture( maskTexture, vUv - uvOffset.xy); vec4 c3 = texture( maskTexture, vUv + uvOffset.yw); vec4 c4 = texture( maskTexture, vUv - uvOffset.yw); float d; if(showOutlineOnly){ float diff1 = (c1.a - c2.a)*0.5; float diff2 = (c3.a - c4.a)*0.5; d = length( vec2(diff1, diff2) ); } else{ float diff1 = compareNormal(c1,c2)*0.5; float diff2 = compareNormal(c3,c4)*0.5; d = length( vec2(diff1, diff2) ); } if(useSingleColor==false){ float dp1 = compareDepth( vUv + uvOffset.xy); float dp2 = compareDepth( vUv - uvOffset.xy); float dp3 = compareDepth( vUv + uvOffset.yw); float dp4 = compareDepth( vUv - uvOffset.yw); float a1 = min(dp1, dp2); float a2 = min(dp3, dp4); float visibilityFactor = min(a1, a2); vec3 edgeColor = 1.0 - visibilityFactor > 0.001 ? visibleEdgeColor : hiddenEdgeColor; // out_FragColor =color+ vec4( edgeColor , 1. ) * vec4(d); out_FragColor = vec4( edgeColor , 1. ) * vec4(d); //out_FragColor = vec4( 0.06, 0.9, 1.0 , 1. ) * vec4(d); }else{ // out_FragColor =color+ vec4( visibleEdgeColor , 1. ) * vec4(d); out_FragColor = vec4( visibleEdgeColor , 1. ) * vec4(d); //out_FragColor = vec4( 0.06, 0.9, 1.0 , 1. ) * vec4(d); } } `});R.stage=T;let L=this.createBlurStage(A+"Blur1",4,1,.75),F=this.createBlurStage(A+"Blur2",4,4,.5),U=new m({name:A+"BlurComposite",stages:[T,L,F],inputPreviousStageTexture:!0}),N=new f({name:A+"Additive",uniforms:{showGlow:function(){return B},edgeGlow:function(){return D},edgeStrength:function(){return S},edgeOnly(){return P},maskTexture(){return R.texture},lineTexture:T.name,edgeTexture1:L.name,edgeTexture2:U.name},fragmentShader:` uniform sampler2D colorTexture; uniform sampler2D edgeTexture1; uniform sampler2D edgeTexture2; uniform sampler2D lineTexture; uniform sampler2D maskTexture; uniform bool showGlow; uniform float edgeGlow; uniform bool edgeOnly; uniform float edgeStrength; in vec2 v_textureCoordinates; void main(){ vec2 vUv =v_textureCoordinates; vec4 edgeColor=texture( lineTexture, vUv); vec4 color=texture( colorTexture, vUv); float opacity=1.; if(edgeOnly){ vec4 maskColor=texture( maskTexture, vUv); opacity=1.-maskColor.a; out_FragColor = maskColor; return; } if(showGlow){ float visFactor= 1.;//czm_selected()?1.:0.; vec4 edgeValue1 = texture(edgeTexture1, vUv); vec4 edgeValue2 = texture(edgeTexture2, vUv); vec4 glowColor = edgeValue1 + edgeValue2 * edgeGlow; out_FragColor = opacity * color + edgeColor + edgeStrength * (1. - edgeColor.r) * glowColor; } else{ out_FragColor = opacity * color + edgeColor; } } `}),H=new m({name:A+"Composite",stages:[U,N],inputPreviousStageTexture:!1});function J(K){Object.defineProperties(K,{showGlow:{get(){return B},set(X){B=X}},edgeGlow:{get(){return D},set(X){D=X}},edgeStrength:{get(){return S},set(X){S=X}},thresholdAngle:{get(){return y},set(X){y=X}},showOutlineOnly:{get(){return w},set(X){w=X}},edgeOnly:{get(){return P},set(X){P=X}},useSingleColor:{get(){return v},set(X){v=X}},outlineWidth:{get(){return x},set(X){x=X}},visibleEdgeColor:{get(){return Q},set(X){Q=X}},hiddenEdgeColor:{get(){return M},set(X){M=X}}})}return J(H),H._uniforms=H._uniforms||{},J(H._uniforms),H.selected=[1],H.enabled=!0,this._viewer.postProcessStages.add(H),this.postProccessStage=H,this};KJ.prototype.createBlurStage=function(o,A,f,m){let{Cartesian2:C,PostProcessStage:E,PostProcessStageComposite:I,PostProcessStageSampleMode:x}=q6,y=new C(1,0),v=new C(0,1),w={defines:{MAX_RADIUS:A},fragmentShader:ybi};this.parseDefines(w);let Q=new E({name:o+"_x_direction",fragmentShader:w.fragmentShader,textureScale:m,forcePowerOfTwo:!0,uniforms:{kernelRadius:f,direction:y},sampleMode:x.LINEAR}),M=new E({name:o+"_y_direction",fragmentShader:w.fragmentShader,textureScale:m,forcePowerOfTwo:!0,uniforms:{kernelRadius:f,direction:v},sampleMode:x.LINEAR});return new I({name:o,stages:[Q,M],inputPreviousStageTexture:!0})};KJ.prototype.parseDefines=function(o){let A=[];for(let f in o.defines)if(o.defines.hasOwnProperty(f)){let m=o.defines[f];A.push("#define "+f+" "+m)}return A=A.join(` `)+` `,o.fragmentShader&&(o.fragmentShader=A+o.fragmentShader),o.vertexShader&&(o.vertexShader=A+o.vertexShader),o};KJ.prototype.clear=function(){this.postProccessStage&&this._viewer.scene.postProcessStages.remove(this.postProccessStage),this.postProccessStage=void 0};var zrt=KJ;var TA=null;function Vv(o,A){TA=A,this._viewer=o,this._cesium=A,this._scene=o.scene,this._core=new Ji(o,A),this.tooltip=this._core.CreateTooltip(),this._getPosition=new hl(o,A),this.FlattenIsDraw=!1,this.wallArr=[],this.heightsort=[],this.FlattenPolygon=[],this.showWall=!0,this.deepth=100,this.bottomImg=window.SmartEarthRootUrl+kr.bottomplane,this.wallImg=window.SmartEarthRootUrl+kr.wall}Vv.prototype.draw=function(o=100,A={},f){if(this.FlattenIsDraw)return;if(this.deepth=o||this.deepth,this.showWall=this._core.defaultValue(A.showWall,!0),this.showBottom=this._core.defaultValue(A.showBottom,!0),A.positions)return this.create(A.positions),typeof f=="function"&&f(),this;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=null),this.FlattenIsDraw=!0;var m=this._viewer,C=this._cesium;this.clear();var E=[],I=[],x,y,v=0;this.drawHandler=new C.ScreenSpaceEventHandler(m.scene.canvas);var w=this.tooltip;let Q;return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this.drawHandler.setInputAction(M=>{y=this._getPosition.getMousePosition(M.position);var B=this._core.toDegrees(y);E.push(y),I.push(B.lon,B.lat,B.height),v===0?(E.push(y),I.push(B.lon,B.lat,B.height),Q=m.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new C.CallbackProperty(()=>E,!1),clampToGround:!0,material:new C.ColorMaterialProperty(C.Color.YELLOW.withAlpha(.3)),width:3}})):v===1&&(Q&&m.entities.remove(Q),x=m.entities.add({name:null,polygon:{hierarchy:new C.CallbackProperty(function(){return new C.PolygonHierarchy(C.Cartesian3.fromDegreesArrayHeights(I))},!1),material:C.Color.YELLOW.withAlpha(.3)}})),v++},C.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(M=>{if(v===0){w.showAt(M.endPosition,"\u5DE6\u952E\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u70B9");return}else v===1?w.showAt(M.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E8C\u4E2A\u70B9"):w.showAt(M.endPosition,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");y=this._getPosition.getMousePosition(M.endPosition);var B=this._core.toDegrees(y);I.splice(I.length-3,3),E.splice(E.length-1,1),E.push(y),I.push(B.lon,B.lat,B.height)},C.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(function(M){this.end&&this.end()}.bind(this),C.ScreenSpaceEventType.RIGHT_CLICK),this.end=M=>{if(w.show(!1),this._core.mouse(this._viewer.container,0),this.drawHandler.destroy(),this.drawHandler=null,Q&&m.entities.remove(Q),x&&m.entities.remove(x),this.FlattenIsDraw=!1,this.end=void 0,!(M==="cancel"||E.length<3)){if(v<2){v=0;return}v=0,this.create(I),typeof f=="function"&&f(I)}},this};Vv.prototype.create=function(o){let A=TA.Cartesian3.fromDegreesArrayHeights(o);if(this.boundingSphere=TA.BoundingSphere.fromPoints(A),A.push(A[0]),this.showWall||this.showBottom){this.originHeight=1e5;for(let f=2;f<o.length;f=f+3)this.originHeight>o[f]&&(this.originHeight=o[f]);if(this.showBottom){let f=this._viewer.entities.add({name:"\u5730\u5F62\u5F00\u6316\u5E95\u9762",polygon:{hierarchy:new TA.PolygonHierarchy(A),material:new TA.ImageMaterialProperty({image:this._core.defaultValue(this.bottomImg),repeat:new TA.Cartesian2(1,1)}),height:this.originHeight-this.deepth}});this.FlattenPolygon.push(f)}if(this.showWall){let f,m;for(let C=0;C<A.length-1;C++)f=this._core.toDegrees(A[C]),m=this._core.toDegrees(A[C+1]),this.calculateWall(f.lon,f.lat,m.lon,m.lat)}}this.groundClipping(A)};Vv.prototype.groundClipping=function(o){var A=this._viewer.scene.globe,f=o.concat();f.splice(f.length-1,1);for(var m=0;m<f.length-1;m++)f[m].x===f[m+1].x&&f[m].y===f[m+1].y&&(f.splice(m,1),m--);var C=f.length;this.PolygonIsClockwise(f)&&f.reverse();for(var E=[],m=0;m<C;++m){var I=(m+1)%C,x=TA.Cartesian3.add(f[m],f[I],new TA.Cartesian3);x=TA.Cartesian3.multiplyByScalar(x,.5,x);var y=TA.Cartesian3.normalize(x,new TA.Cartesian3),v=TA.Cartesian3.subtract(f[I],x,new TA.Cartesian3);v=TA.Cartesian3.normalize(v,v);var w=TA.Cartesian3.cross(v,y,new TA.Cartesian3);w=TA.Cartesian3.normalize(w,w);var Q=new TA.Plane(w,0),M=TA.Plane.getPointDistance(Q,x);E.push(new TA.ClippingPlane(w,M))}this.clippingPlane=new TA.ClippingPlaneCollection({planes:E}),A.multiClippingPlanes?A.multiClippingPlanes.add(this.clippingPlane):A.multiClippingPlanes=new TA.MultiClippingPlaneCollection({collections:[this.clippingPlane],edgeWidth:1,edgeColor:TA.Color.WHITE})};Vv.prototype.PolygonIsClockwise=function(o){if(o.length>=3){var A=(o[1].x-o[0].x)*(o[2].y-o[1].y)-(o[1].y-o[0].y)*(o[2].x-o[1].x);return!(A>0)}};Vv.prototype.calculateWall=function(o,A,f,m){var C=100,E=TA.Math.lerp(o,f,1/C)-o,I=TA.Math.lerp(A,m,1/C)-A,x=[],y=[],v=[],w;x.push(o,A),w=TA.Cartesian3.fromDegrees(o,A),y.push(TA.Cartographic.fromCartesian(w));for(var Q=0;Q<C;Q++){var M=o+(Q+1)*E,B=A+(Q+1)*I;x.push(M,B),w=TA.Cartesian3.fromDegrees(M,B),y.push(TA.Cartographic.fromCartesian(w))}x.push(f,m),w=TA.Cartesian3.fromDegrees(f,m),y.push(TA.Cartographic.fromCartesian(w));var D=[];this._core.getHeightsFromLonLat(this._viewer,y).then(S=>{if(S){for(v=S,Q=0;Q<v.length;Q++)D.push(this.originHeight-this.deepth);this.createWall(x,v,D)}})};Vv.prototype.createWall=function(o,A,f){let m=this._viewer.entities.add({name:"\u5730\u5F62\u5F00\u6316\u5CA9\u5899",wall:{positions:TA.Cartesian3.fromDegreesArray(o),maximumHeights:A,minimumHeights:f,material:new TA.ImageMaterialProperty({image:this.wallImg,repeat:new TA.Cartesian2(1,1)})}});this.wallArr.push(m)};Vv.prototype.setDeepth=function(o){this.FlattenPolygon[0]&&this.FlattenPolygon[0].polygon.height.setValue(this.originHeight-o),this.wallArr.forEach(A=>{let f=A.wall.minimumHeights.getValue();f=Array(f.length),f.fill(this.originHeight-o),A.wall.minimumHeights.setValue(f)})};Vv.prototype.setVisibility=function(o){var A=this._viewer;if(this.wallArr.forEach(f=>{f.show=o}),A.scene.globe.multiClippingPlanes&&this.clippingPlane){let f=A.scene.globe.multiClippingPlanes;o&&!f.contains(this.clippingPlane)?f.add(this.clippingPlane):!o&&f.contains(this.clippingPlane)&&f.remove(this.clippingPlane,!1)}this.FlattenPolygon.forEach(f=>{f.show=o})};Vv.prototype.clear=function(){var o=this._viewer;this.wallArr.forEach(A=>{o.entities.remove(A)}),this.wallArr=[],o.scene.globe.multiClippingPlanes&&this.clippingPlane&&(o.scene.globe.multiClippingPlanes.remove(this.clippingPlane),this.clippingPlane=void 0),this.FlattenPolygon.forEach(A=>{o.entities.remove(A)}),this.FlattenPolygon=[],this.FlattenIsDraw=!1};Vv.prototype.deleteObject=Vv.prototype.clear;var Yrt=Vv;function Pb(o,A){this._viewer=o,this._cesium=A,this._scene=o.scene,this._core=new Ji(o,A),this.currentSpeed="1x",this.currentTime=null,this.currentPlayMode="1",this.timer=null}Pb.prototype.createAnalysis=function(){return this.shadows=!0,this.currentSpeed=1,this.currentPlayMode="1",this.Forword(),this};Pb.prototype.setCurrentTime=function(o){var A=new Date(o),f=this._cesium.JulianDate.fromDate(A);this._viewer.clock.currentTime=f.clone()};Pb.prototype.getCurrentTime=function(o){this.currentSpeed=$(this._viewer.container).find(".cesium-viewer-animationContainer .cesium-animation-svgText tspan").eq(2).html(),clearInterval(this.timer),timer=null,timer=setInterval(function(){this.currentTime=vbi(this._viewer.animation.viewModel.dateLabel,this._viewer.animation.viewModel.timeLabel),o&&typeof o=="function"&&o(this.currentTime)},1e3)};Pb.prototype.SpeedIncress=function(o){this._viewer.animation.viewModel.faster(),this.currentSpeed=$(this._viewer.container).find(".cesium-viewer-animationContainer .cesium-animation-svgText tspan").eq(2).html(),o&&typeof o=="function"&&o(this.currentSpeed)};Pb.prototype.SpeedDecress=function(o){this._viewer.animation.viewModel.slower(),this.currentSpeed=$(this._viewer.container).find(".cesium-viewer-animationContainer .cesium-animation-svgText tspan").eq(2).html(),o&&typeof o=="function"&&o(this.currentSpeed)};Pb.prototype.Forword=function(o){this._viewer.animation.viewModel.playForwardViewModel.command(),this.currentPlayMode="1",this.currentSpeed[0]=="-"&&(this.currentSpeed=this.currentSpeed.slice(1)),o&&typeof o=="function"&&o(this.currentSpeed)};Pb.prototype.Bacword=function(o){this._viewer.animation.viewModel.playReverseViewModel.command(),this.currentPlayMode="2",this.currentSpeed[0]!=="-"&&(this.currentSpeed="-"+this.currentSpeed),o&&typeof o=="function"&&o(this.currentSpeed)};Pb.prototype.Pause=function(){this._viewer.animation.viewModel.pauseViewModel.command()};function vbi(o,A){o=o.replace(/January|Jan/,"01").replace(/February|Feb/,"02").replace(/March|Mar/,"03").replace(/April|Apr/,"04").replace(/May/,"05").replace(/June|Jun/,"06").replace(/July|Jul/,"07").replace(/August|Aug/,"08").replace(/September|Sept/,"09").replace(/October|Oct/,"10").replace(/November|Nov/,"11").replace(/December|Dec/,"12");var f=o.split(" ");o=f[2]+"-"+f[0]+"-"+f[1];var m=A.split(" ");A=m[0];var C=new Date(Date.parse(o+" "+A));C=C.getTime(),C=C/1e3,C=C+8*60*60;var E=new Date(parseInt(C)*1e3).toLocaleString("chinese",{hour12:!1}).replace(/年|月|\//g,"-").replace(/日/g," ");return E}Object.defineProperties(Pb.prototype,{shadows:{get:function(){return this._viewer.shadows},set:function(o){this._viewer.shadows=o}},currentSpeed:{get:function(){return $(this._viewer.container).find(".cesium-viewer-animationContainer .cesium-animation-svgText tspan").eq(2).html()},set:function(o){o=o.toString().replace("x",""),this._viewer.clock.multiplier=parseFloat(o)}}});var Jrt=Pb;function vQe(o,A){this._viewer=o,this._cesium=A}vQe.prototype.createScreenshot=function(o="png"){var A=this._viewer.scene.canvas,f=A.toDataURL("image/"+o),m=document.createElement("a");m.download="\u622A\u56FE."+o,m.href=f,m.click()};vQe.prototype.createScreenshotCompared=function(o,A){var f=this._viewer.scene.canvas,m=f.toDataURL("image/png");(A||layuiLayer).open({title:o||"\u622A\u56FE\u5BF9\u6BD4",type:1,skin:"other-class",shade:0,shadeClose:!0,resize:!1,moveOut:!0,area:[f.width*.7+"px",f.height*.7+42+"px"],content:'<img src="'+m+'" style="height:100%;width:100%;">'})};var Krt=vQe;var yI=null;function Wrt(o,A){yI=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._getPosition=new hl(o,A)}Wrt.prototype.setPointFly=function(o={}){let A=this._core.CreateTooltip(),f=this._viewer,m=this,C=!1,E,I;o.pitch&&(o.pitch=yI.Math.toRadians(o.pitch));let x,y,v=o.limitTime?o.limitAngel:360,w=o.time||30,Q=(v||360)/w,M=function(){let S=yI.JulianDate.secondsDifference(f.clock.currentTime,f.clock.startTime);if(o.limitTime&&S>w){m.end&&m.end();return}let P=yI.Math.toRadians(S*Q)+x;f.scene.camera.setView({destination:y,orientation:{heading:P,pitch:m.pitch}}),f.scene.camera.moveBackward(m.distance),yI.JulianDate.compare(f.clock.currentTime,f.clock.stopTime)>=0&&f.clock.onTick.removeEventListener(M)},B=D=>{y=D,m.pitch=o.pitch||f.camera.pitch,m.distance=o.distance,m.distance||(m.distance=yI.Cartesian3.distance(f.camera.position,D)),x=f.camera.heading;let S=yI.JulianDate.fromDate(new Date);f.clock.startTime=S.clone(),f.clock.currentTime=S.clone(),f.clock.clockRange=yI.ClockRange.CLAMPED,f.clock.clockStep=yI.ClockStep.SYSTEM_CLOCK,f.clock.onTick.addEventListener(M),!o.hideImage&&(E=m._viewer.entities.add({id:m._core.getuid(),name:"\u5B9A\u70B9",position:y,billboard:{horizontalOrigin:m._cesium.HorizontalOrigin.CENTER,verticalOrigin:m._cesium.VerticalOrigin.BOTTOM,scale:m._core.defaultValue(o.scale,1),image:m._core.defaultValue(o.image,window.SmartEarthRootUrl+kr.mark),disableDepthTestDistance:Number.POSITIVE_INFINITY}}))};return o.position?B(o.position):(this.drawHandler&&this.drawHandler.destroy(),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),I=new yI.ScreenSpaceEventHandler(f.scene.canvas),I.setInputAction(function(D){if(C)m.end&&m.end();else{A.showAt(D.position,"\u70B9\u51FB\u7ED3\u675F\u7ED5\u98DE"),C=!0;let S=m._getPosition.getMouseDegrees(D),P=yI.Cartesian3.fromDegrees(S.lon,S.lat,S.height);B(P)}},yI.ScreenSpaceEventType.LEFT_CLICK),I.setInputAction(function(D){!C&&A.showAt(D.endPosition,"\u70B9\u51FB\u9009\u62E9\u5B9A\u4F4D\u70B9"),C&&A.showAt(D.endPosition,"\u70B9\u51FB\u7ED3\u675F\u7ED5\u98DE")},yI.ScreenSpaceEventType.MOUSE_MOVE),I.setInputAction(function(D){m.distance-=D*m.distance/2e3,m.distance<1&&(m.distance=1)},yI.ScreenSpaceEventType.WHEEL),this.drawHandler=I),this.end=D=>{this.end=void 0,A.show(!1),I&&I.destroy(),E&&m._viewer.entities.remove(E),E=void 0,m._core.mouse(m._viewer.container,0),f.clock.onTick.removeEventListener(M),o.end&&o.end()},this};var j6=Wrt;var KB=null;function ef(o,A){KB=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke,this._getPosition=new hl(this._viewer,this._cesium),this.tooltip=this._core.CreateTooltip(),this.sunshineOption={},this.loadingImg=window.SmartEarthRootUrl+kr.loading}ef.prototype.PointSunshineAnalysis=function(o,A){if(this._viewer.entities.remove(this._viewer.entities.getById("1")),this._viewer.entities.remove(this._viewer.entities.getById("point")),o!=null){if(o.constructor.name!="Cartesian3")throw"\u4F20\u5165\u53C2\u6570\u5FC5\u987B\u662F\u4E09\u7EF4\u5750\u6807"}else throw"\u65E0\u6548\u53C2\u6570";this._viewer.scene.sun.show||(this._viewer.scene.sun.show=!0);var f=this._viewer.scene.context.uniformState.sunPositionWC,m=new KB.Cartesian3(f.x-o.x,f.y-o.y,f.z-o.z),C=Math.sqrt(m.x*m.x+m.y*m.y+m.z*m.z),E=new KB.Cartesian3(m.x/C,m.y/C,m.z/C),I=200,x=new KB.Cartesian3(o.x+I*E.x,o.y+I*E.y,o.z+I*E.z);this.pickFromRay(o,x,A)};ef.prototype.sunshineAnalysisPoint=function(o,A){!o&&(o={}),this.sunshineOption=o;var f=this,m=this._viewer;return this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1,this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this.drawHandler.setInputAction(function(C){var E=f._getPosition.getMousePosition(C);if(f.PointSunshineAnalysis(E),E){var I=m.entities.add({id:f._core.getuid(),name:"Point",position:E,point:{pixelSize:16,color:f._cesium.Color.BLUE,outlineWidth:f._core.defaultValue(o.outlineWidth,2),outlineColor:f._cesium.Color.WHITE.withAlpha(.6),heightReference:f._cesium.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}});f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),A&&typeof A=="function"&&A(I)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(C){f.tooltip.showAt(C.endPosition,"\u70B9\u51FB\u7ED8\u5236\u70B9")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};ef.prototype.sunshineAnalysisPolygon=function(o,A){!o&&(o={}),this.sunshineOption=o;var f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.loading||this.addLoading(),this.remove(),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;var C=[],E,I;return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this.drawHandler.setInputAction(function(x){var y=f._getPosition.getMousePosition(x);if(!!y){if(!C.length){let v=KB.Cartographic.fromCartesian(y);f.sunshineOption.defaultHeight=v.height,C.push(y)}C.push(y),C.length===2&&!I&&(I=m.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new f._cesium.CallbackProperty(function(){return C},!1),clampToGround:!0,material:f._cesium.Color.LIME.withAlpha(.6),width:3}})),C.length===3&&!E&&(I&&m.entities.remove(I),o.clampToGround=f._core.defaultValue(o.clampToGround,!0),E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u9762",polygon:{hierarchy:new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(C)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.LIME.withAlpha(.6)}),perPositionHeight:!f._core.defaultValue(o.clampToGround,!1),heightReference:o.clampToGround?1:0,outline:f._core.defaultValue(o.outline,!1),outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}))}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(x){if(C.length===0)f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E00\u4E2A\u70B9");else if(C.length===1)f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E8C\u4E2A\u70B9");else{f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");var y=f._getPosition.getMousePosition(x);if(!y)return;C.pop(),C.push(y)}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(x){f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.end=void 0,setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),I&&m.entities.remove(I),E&&m.entities.remove(E),!(x==="cancel"||C.length<3)&&setTimeout(()=>{f.analysis(E,o.start||"2019-09-17 13:00",o.end||"2019-09-17 15:00",o.interval||60,A)},100)},this.drawHandler.setInputAction(function(x){f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};ef.prototype.analysis=function(o,A,f,m,C){var E=new Date(A),I=new Date(f),x=0,y=this;let v=this.sunshineOption.startHeight||this.sunshineOption.defaultHeight;var w=y.getPoint(o,this.sunshineOption.spacing||10,v,v+y._core.defaultValue(this.sunshineOption.addHeight,30));this._viewer.scene.sun.show||(this._viewer.scene.sun.show=!0);let Q=this._viewer.clock.currentTime.clone();function M(R){for(let T=0;T<w.length;T++)y.Sunshine(w[T],R)?w[T].through++:w[T].out++}function B(R,T){y.SetTimeNow(R),setTimeout(()=>{let L=y._viewer.scene.context.uniformState.sunPositionWC;T(L)},100)}function D(){var R=E.getTime()+6e4*m*x,T=new Date(R);T>I?(y.createPoint(w),y._viewer.clock.currentTime=Q,y.isLoading(!1),C&&typeof C=="function"&&C(w)):B(T,function(L){M(L),x++,D()})}(I-E)/(1e3*60*m)*w.length>1500?window.layuiLayer&&window.layuiLayer.msg("\u5F53\u524D\u5206\u6790\u65F6\u95F4\u8FC7\u957F\uFF0C\u662F\u5426\u7EE7\u7EED\u5206\u6790\uFF1F",{time:0,btn:["\u7EE7\u7EED","\u53D6\u6D88"],btnAlign:"c",yes:R=>{layuiLayer.close(R),y.isLoading(!0),D()},btn2:()=>{C&&typeof C=="function"&&C(w)}}):(y.isLoading(!0),D())};ef.prototype.createPoint=function(o){var A=this;this.ResultPoint=A._viewer.scene.primitives.add(new A._cesium.PointPrimitiveCollection);for(var f=0;f<o.length;f++){var m=o[f],C=o[f].through+o[f].out,E=o[f].out/C,I="";E>=.7?I=A._cesium.Color.BLUE:E<.7&&E>=.3?I=A._cesium.Color.YELLOW:E<.3&&(I=A._cesium.Color.RED);var x={id:{isshowderData:!0,data:"\u9634\u5F71\u7387:"+(1-E)*100+"%"},position:A._cesium.Cartesian3.fromDegrees(m.lon,m.lat,m.height),color:I};A.ResultPoint.add(x)}this.showResultTooltip(!0)};ef.prototype.showResultTooltip=function(o){if(this.ResultTooltipHandler&&(this.ResultTooltipHandler.destroy(),this.ResultTooltipHandler=void 0,this.tooltip.show(!1)),o){let A=this;this.ResultTooltipHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);let f;this.ResultTooltipHandler.setInputAction(function(m){clearTimeout(f),f=setTimeout(()=>{let C=A._viewer.scene.pick(m.endPosition);C&&C.id&&C.id.isshowderData?A.tooltip.showAt(m.endPosition,C.id.data):A.tooltip.show(!1)},50)},this._cesium.ScreenSpaceEventType.MOUSE_MOVE)}};ef.prototype.getPoint=function(o,A,f,m){for(var C=this,E=[],I=o.polygon.hierarchy.getValue().positions,x=0;x<I.length;x++){var y=C._cesium.Math.toDegrees(C._cesium.Cartographic.fromCartesian(I[x]).longitude),v=C._cesium.Math.toDegrees(C._cesium.Cartographic.fromCartesian(I[x]).latitude);E.push(y),E.push(v)}for(var w=C.getTheBottomPoint(E),Q=C.scanningPolygon(w,A,A,E),M=[],B=(m-f)/A,D=0;D<B;D++)for(var S=0;S<Q.length;S++){var P=Q[S],R={lon:P.lon,lat:P.lat,height:f+A*D,through:0,out:0,color:""};M.push(R)}return M};ef.prototype.getTheBottomPoint=function(o){for(var A=90,f=0,m=1;m<o.length;m+=2)A=A<o[m]?A:(f=m)&&o[m];return{lon:o[f-1],lat:o[f]}};ef.prototype.scanningPolygon=function(o,A,f,m){for(var C=[],E=180,I=-180,x=-90,y,v,w,Q,M,B=0;B<m.length;B+=2)x=x>m[B+1]?x:m[B+1],E=E<m[B]?E:m[B],I=I>m[B]?I:m[B];var D=this.GetPositionFromA_D(o.lat,o.lon,f,0),S=this.GetPositionFromA_D(o.lat,o.lon,A,90);for(y=S[0]-o.lon,v=D[1]-o.lat,C.push({lon:o.lon,lat:o.lat}),M={lon:o.lon,lat:o.lat},M.lat+=v;M.lat<=x;M.lat+=v){for(w={lon:M.lon-y,lat:M.lat},Q={lon:M.lon+y,lat:M.lat},this.IsInPolygon(M.lon,M.lat,m)&&C.push({lon:M.lon,lat:M.lat});w.lon>=E;w.lon-=y)this.IsInPolygon(w.lon,w.lat,m)&&C.push({lon:w.lon,lat:w.lat});for(;Q.lon<=I;Q.lon+=y)this.IsInPolygon(Q.lon,Q.lat,m)&&C.push({lon:Q.lon,lat:Q.lat})}return C};ef.prototype.GetPositionFromA_D=function(o,A,f,m){var C=6378137,E=6356725,I=f*Math.sin(m*Math.PI/180),x=f*Math.cos(m*Math.PI/180),y=E+(C-E)*(90-o)/90,v=y*Math.cos(o*Math.PI/180),w=(I/v+A*Math.PI/180)*180/Math.PI,Q=(x/y+o*Math.PI/180)*180/Math.PI;return[w,Q]};ef.prototype.IsInPolygon=function(o,A,f){var m=0,C,E,I,x,y;if(f.length<6)return!1;f.push(f[0],f[1]);for(var v=0;v<f.length-2;v+=2)C=f[v],I=f[v+1],E=f[v+2],x=f[v+3],(A>=I&&A<x||A>=x&&A<I)&&Math.abs(I-x)>0&&(y=C-(C-E)*(I-A)/(I-x),y<=o&&m++);return m%2!==0};ef.prototype.SetTimeNow=function(o){var A=new this._cesium.JulianDate.fromDate(o);this._viewer.clock.currentTime=A};ef.prototype.Sunshine=function(o,A){let f=KB.Cartesian3.fromDegrees(o.lon,o.lat,o.height);return this.pickFromRay(f,A)};ef.prototype.jiance=function(o,A){var f=20,m=!1,C=this._cesium.Cartographic.fromCartesian(o),E=this._cesium.Cartographic.fromCartesian(A),I=[],x={};x.longitude=C.longitude/Math.PI*180,x.latitude=C.latitude/Math.PI*180,x.czheight=C.height;var y={};y.longitude=E.longitude/Math.PI*180,y.latitude=E.latitude/Math.PI*180,y.czheight=E.height;for(var v=0;v<f;v++){var w={};w.longitude=this._cesium.Math.lerp(x.longitude,y.longitude,.01*(v+1)),w.latitude=this._cesium.Math.lerp(x.latitude,y.latitude,.01*(v+1)),w.czheight=x.czheight-(x.czheight-y.czheight)*.01*(v+1);var Q=new this._cesium.Cartographic(this._cesium.Math.toRadians(w.longitude),this._cesium.Math.toRadians(w.latitude),0),M=this._viewer.scene.sampleHeight(Q),B=this._cesium.Cartesian3.fromDegrees(w.longitude,w.latitude,M);w.zsheight=M,w.zsheight>w.czheight&&(m=!0),I.push(w)}return m};ef.prototype.pickFromRay=function(o,A){let f=KB.Cartesian3.normalize(KB.Cartesian3.subtract(A,o,new KB.Cartesian3),new KB.Cartesian3),m=new KB.Ray(o,f),C=this._viewer.scene.pickFromRay(m,[]),E=!1;return C&&C.object&&(E=!0),E};ef.prototype.remove=function(){this.ResultPoint&&this._viewer.scene.primitives.remove(this.ResultPoint),this.ResultPoint=void 0,this.ResultTooltipHandler&&(this.ResultTooltipHandler.destroy(),this.ResultTooltipHandler=void 0,this.tooltip.show(!1)),this.showResultTooltip(!1)};ef.prototype.addLoading=function(){var o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";var A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};ef.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};ef.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};var qrt=ef;var jrt=`// author: \u5F20\u4E39\u948A void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { if(u_snow){ vec3 normalEC = fsInput.attributes.normalEC; vec3 normalMC = czm_inverseNormal * normalEC; vec3 color = material.diffuse; vec3 white = vec3(1.0,1.0,1.0); float m = dot(normalMC, u_snowDirection); m = pow(m,5.0); material.diffuse = mix(color, white, clamp(m,0.0,1.0) * u_snowAlpha); } if(u_effects){ float vtxf_a11 = fract(czm_frameNumber / 240.0) * 3.14159265 * 2.0; float vtxf_a12 = fsInput.attributes.positionMC.z / (u_effectsMaxHeight / 2.0) + sin(vtxf_a11) * 0.1; material.diffuse *= vec3(vtxf_a12); float vtxf_a13 = fract(czm_frameNumber / 240.0); float vtxf_h = clamp(fsInput.attributes.positionMC.z / u_effectsMaxHeight, 0.0, 1.0); vtxf_a13 = abs(vtxf_a13 - 0.5) * 2.0; float vtxf_diff = step(0.005, abs(vtxf_h - vtxf_a13)); material.diffuse.rgb += material.diffuse.rgb * (1.0 - vtxf_diff); } }`;var Xrt=`// author: \u5F20\u4E39\u948A void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { if(u_flatten){ vec3 positionMC = vsOutput.positionMC.xyz; vec4 northEast = czm_inverseModel * vec4(u_flattenNorthEast, 1.0); vec4 southWest = czm_inverseModel * vec4(u_flattenSouthWest, 1.0); if(positionMC.x>=southWest.x && positionMC.x<=northEast.x && positionMC.y>=southWest.y && positionMC.y<=northEast.y){ vec2 st; st.x = (positionMC.x - southWest.x)/(northEast.x - southWest.x); st.y = (positionMC.y - southWest.y)/(northEast.y - southWest.y); vec4 rgba_depth = texture(u_flattenTexture, st.xy); if(rgba_depth.r > 0.0) { vsOutput.positionMC.z = u_flattenHeight; } } } }`;var Lo=null;function JA(o,A){Lo=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,Lo),this._tree=Ke,this._color=new hn(this._viewer,this._cesium),this._ModelEdit=new rJ(this._viewer,this._cesium),this.modelEditData={lon:0,lat:0,height:0,scale:1,heading:0,pitch:0,roll:0,rotate:!1,rootTransform:void 0},this.flattenData=new Map}JA.prototype.create3DTilesets=function(o,A,f,m,C,E,I){var x={url:A,preferLeaves:!0,skipLevelOfDetail:!0};if(typeof f.lightColor=="string"){let B=f.lightColor.split(",");f.lightColor=new this._cesium.Cartesian3(B[0],B[1],B[2])}m.groundHeight=this._core.defaultValue(f.height,m.groundHeight);var y=this._core.extend(x,f,!0);y.time&&(y.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:y.time.start?this._cesium.JulianDate.fromDate(new Date(y.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:y.time.end?this._cesium.JulianDate.fromDate(new Date(y.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})]),this.availability=y.availability),y.customShader=this.getCustomShader(m);var v=new this._cesium.Cesium3DTileset(y);(m.effects||m.snow)&&(v.enableModelExperimental=!0);var w=this,Q=y.id||w._core.getuid();v.id=Q,v.Level=y.Level,w.item=v,m.flattenPositions&&(this.setFlatten(!0,{positions:m.flattenPositions}),m.flattenHeight!==void 0&&(this.flattenHeight=m.flattenHeight)),setTimeout(function(){f.flyTo&&w._viewer.flyTo(v);var B=w._viewer.scene.primitives.add(v);m.maximumscreenspaceerror!=null&&(v.maximumScreenSpaceError=m.maximumscreenspaceerror),m.pointcloudshading!=null&&(v.pointCloudShading.maximumAttenuation=w.checkZero(m.pointcloudshading.maximumattenuation),v.pointCloudShading.baseResolution=m.pointcloudshading.baseresolution,v.pointCloudShading.geometricErrorScale=m.pointcloudshading.geometricerrorscale,v.pointCloudShading.attenuation=m.pointcloudshading.attenuation,v.pointCloudShading.eyeDomeLighting=m.pointcloudshading.eyedomelighting,v.pointCloudShading.eyeDomeLightingStrength=m.eyeDomeLightingStrength,v.pointCloudShading.eyeDomeLightingRadius=m.eyeDomeLightingRadius);let D=v.readyPromise.then(function(P){if(y.geometricError!=null&&(P._geometricError=y.geometricError),m.groundheight!=null&&w.setHeight(m.groundheight),m.groundHeight!=null&&w.setHeight(m.groundHeight),m.groundCenter&&w.setPosition(m.groundCenter),!w.boundingSphereCenter){w.getCenter();var R=w._cesium.Cartographic.fromCartesian(w.boundingSphereCenter);w.modelEditData.lon=w._cesium.Math.toDegrees(R.longitude),w.modelEditData.lat=w._cesium.Math.toDegrees(R.latitude),w.modelEditData.height=R.height}(m.heading||m.pitch||m.roll)&&w.setEditData({roll:m.roll,pitch:m.pitch,heading:m.heading}),m.edit&&w.setEditData(m.edit),typeof I=="function"&&I(w)});D.catch&&D.catch(function(P){console.log(P)}),D.otherwise&&D.otherwise(function(P){console.log(P)}),v.Level&&(w.Level=0,w._viewer.scene.preRender.addEventListener(function(){w.isShow&&(w.Level=w._core.getLevel(w._viewer),w.Level>v.Level&&!v.show?v.show=!0:w.Level<v.Level&&v.show&&(v.show=!1))})),w.sd=B,E?w.isShow=!0:w.setVisibility(!1);var S=w.setStyle(m);v.style=new w._cesium.Cesium3DTileStyle(S)}),w._core.isnull(o)&&(o="\u65B0\u5EFA\u6A21\u578B");var M={id:Q,name:o,checked:E,pId:w._core.isnull(C)?0:C,type:"3DTilesets",item:w};return w.setTreeobj(M),w._tree.insertGroupId(M,w._core.isnull(C)?0:C),this};JA.prototype.setVisibility=function(o){this.isShow=o,this.item.show=o,this.item._availability&&!o?this.item._availability=void 0:this.availability&&o&&(this.item._availability=this.availability)};JA.prototype.checkZero=function(o){var A=parseFloat(o);return A===0?void 0:A};JA.prototype.getVisibility=function(){return this.item.show};JA.prototype.deleteObject=function(){try{this._viewer.scene.primitives.remove(this.item)}catch(o){console.log(o.message)}};JA.prototype.restore=function(){this.modelEditData={lon:0,lat:0,height:0,scale:1,heading:0,pitch:0,roll:0,rotate:!1,modelMatrix:this.modelEditData.modelMatrix,rootTransform:this.modelEditData.rootTransform,originalMatrix:this.modelEditData.originalMatrix};let o=this._cesium.Cartographic.fromCartesian(this.boundingSphereCenter);this.modelEditData.lon=this._cesium.Math.toDegrees(o.longitude),this.modelEditData.lat=this._cesium.Math.toDegrees(o.latitude),this.modelEditData.height=o.height,this.item.modelMatrix=this.modelEditData.modelMatrix.clone(),this.modelEditData.rootTransform.equals(Lo.Matrix4.IDENTITY)?this.item.modelMatrix=this.modelEditData.originalMatrix.clone():(this.item._root.transform=this.modelEditData.originalMatrix.clone(),this.modelEditData.rotate=!0),this.moveModelEnd&&(this.moveModelEnd(),this.moveModelEnd=void 0),this.rotatePointPosition=void 0,this.moveEndCenter=void 0};JA.prototype.setHeight=function(o){if(o=Number(o),!isNaN(o)&&this.item!=null&&this.item.boundingSphere!=null){this.boundingSphereCenter||this.getCenter();var A=this._cesium.Cartographic.fromCartesian(this.boundingSphereCenter);this.restore(),this.modelEditData.height=o;var f=this._cesium.Cartesian3.fromRadians(A.longitude,A.latitude,0),m=this._cesium.Cartesian3.fromRadians(A.longitude,A.latitude,o),C=this._cesium.Cartesian3.subtract(m,f,new this._cesium.Cartesian3);this.item.modelMatrix=this._cesium.Matrix4.fromTranslation(C)}};JA.prototype.setPosition=function(o,A){this.item!=null&&this.item.boundingSphere!=null&&o&&(this.boundingSphereCenter||this.getCenter(),this.setEditData({lon:o[0],lat:o[1],height:A?this.boundingSphereCenterHeight:o[2]}))};JA.prototype.setEditData=function(o){if(this.item!=null&&this.item.boundingSphere!=null){if(this.boundingSphereCenter||this.getCenter(),o&&(this.modelEditData=this._core.extend(this.modelEditData,o,!0)),this.modelEditData.rootTransform.equals(Lo.Matrix4.IDENTITY)){var A=Lo.Cartesian3.multiplyByScalar(this.boundingSphereCenter,-1,new Lo.Cartesian3),f=Lo.Matrix4.fromTranslation(A),m=this._cesium.Cartesian3.fromDegrees(this.modelEditData.lon,this.modelEditData.lat,this.modelEditData.height),C=Lo.Matrix4.fromTranslation(m);let w=new Lo.HeadingPitchRoll(Lo.Math.toRadians(this.modelEditData.heading||0),Lo.Math.toRadians(this.modelEditData.pitch||0),Lo.Math.toRadians(this.modelEditData.roll||0)),Q=Lo.Matrix3.fromHeadingPitchRoll(w),M=Lo.Matrix4.fromRotation(Q,new Lo.Matrix4);Lo.Matrix4.multiply(M,f,f),Lo.Matrix4.multiply(C,f,f),this.item.modelMatrix=f;return}var E=Lo.Cartesian3.fromDegrees(this.modelEditData.lon,this.modelEditData.lat,this.modelEditData.height),I=Lo.Transforms.eastNorthUpToFixedFrame(E);let y=new Lo.HeadingPitchRoll(Lo.Math.toRadians(this.modelEditData.heading||0),Lo.Math.toRadians(this.modelEditData.pitch||0),Lo.Math.toRadians(this.modelEditData.roll||0)),v=Lo.Matrix3.fromHeadingPitchRoll(y);Lo.Matrix4.multiplyByMatrix3(I,v,I);var x=Lo.Matrix4.fromUniformScale(this.modelEditData.scale);Lo.Matrix4.multiply(I,x,I),this.item._root.transform=I}};JA.prototype.getCenter=function(){if(!this.boundingSphereCenter){var o=this._cesium.Cartographic.fromCartesian(this.item.boundingSphere.center);this.boundingSphereCenter=this.item.boundingSphere.center.clone(),this.boundingSphereCenterHeight=o.height,this.boundingSphereRadius=this.item.boundingSphere.radius,this.modelEditData.rootTransform=this.item._root.transform.clone(),this.modelEditData.modelMatrix=this.item.modelMatrix.clone(),this.modelEditData.rootTransform.equals(Lo.Matrix4.IDENTITY)?this.modelEditData.originalMatrix=this.item.modelMatrix.clone():(this.modelEditData.originalMatrix=this.item._root.transform.clone(),this.modelEditData.rotate=!0)}};JA.prototype.arge=function(o,A,f){var m=Math.sqrt(Math.pow(o.x-A.x,2)+Math.pow(o.y-A.y,2)),C=Math.sqrt(Math.pow(o.x-f.x,2)+Math.pow(o.y-f.y,2)),E=Math.sqrt(Math.pow(A.x-f.x,2)+Math.pow(A.y-f.y,2)),I=(Math.pow(m,2)+Math.pow(C,2)-Math.pow(E,2))/(2*m*C);return Math.round(Math.acos(I)*180/Math.PI)};JA.prototype.editModel=function(o={}){this._ModelEdit.start(this,o)};JA.prototype.endEdit=function(){this._ModelEdit.end()};JA.prototype.clippingModel=function(o={}){var A=this,f=this._viewer;this.moveHandler&&(this.moveHandler.destroy(),this.moveHandler=void 0,this._viewer.entities.remove(this.movePoint),this._viewer.entities.remove(this.rotatePoint)),this.clippingHandler&&(this.clippingHandler.destroy(),this.clippingHandler=void 0,A.planeEntities&&A.planeEntities.forEach(P=>{A._viewer.entities.remove(P)}),A.planeEntities=[]);let m=o.direction||"z";A.planeEntities=[],this.targetY||(o.start?this.targetY=o.start:this.targetY=0);var C;this.clippingPlanes||(this.clippingPlanes=new this._cesium.ClippingPlaneCollection({planes:[],edgeWidth:1}),this.item.clippingPlanes=this.clippingPlanes),this.clippingPlanes.removeAll(),m==="z"?this.clippingPlanes.add(new this._cesium.ClippingPlane(new this._cesium.Cartesian3(0,0,-1),0)):m==="x"?this.clippingPlanes.add(new this._cesium.ClippingPlane(new this._cesium.Cartesian3(-1,0,0),0)):m==="y"&&this.clippingPlanes.add(new this._cesium.ClippingPlane(new this._cesium.Cartesian3(0,-1,0),0)),this.boundingSphereCenter||this.getCenter();var E=this.item.boundingSphere,I=this.boundingSphereRadius;if(!this._cesium.Matrix4.equals(this.item.root.transform,this._cesium.Matrix4.IDENTITY)){var x=this._cesium.Matrix4.getTranslation(this.item.root.transform,new Lo.Cartesian3),y=this._cesium.Cartographic.fromCartesian(x),v=this._cesium.Cartographic.fromCartesian(this.item.boundingSphere.center),w=v.height-y.height;this.clippingPlanes.modelMatrix=this._cesium.Matrix4.fromTranslation(new this._cesium.Cartesian3(0,0,w))}for(var Q=0;Q<this.clippingPlanes.length;++Q){var M=this.clippingPlanes.get(Q),B=f.entities.add({name:"modelClippingPlane",position:E.center,plane:{dimensions:new Lo.Cartesian2(I*1.2,I*1.2),material:Lo.Color.WHITE.withAlpha(.1),plane:new Lo.CallbackProperty(S(M),!1),outline:!0,outlineColor:Lo.Color.WHITE}});A.planeEntities.push(B)}this.enableModelExperimental=this.item.enableModelExperimental,this.item.enableModelExperimental=!1,this.clippingHandler=new this._cesium.ScreenSpaceEventHandler(f.scene.canvas);var D=A._core.CreateTooltip();this.clippingHandler.setInputAction(function(P){var R=f.scene.pick(P.position);A._cesium.defined(R)&&R.id&&R.id.name==="modelClippingPlane"&&(C=R.id.plane,C.material=A._cesium.Color.WHITE.withAlpha(.05),C.outlineColor=A._cesium.Color.WHITE,f.scene.screenSpaceCameraController.enableInputs=!1)},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.clippingHandler.setInputAction(P=>{if(Lo.defined(C)){let R=P.startPosition.y-P.endPosition.y;this.targetY+=R*I*.001,D.showAt(P.endPosition,"\u79FB\u52A8\u9F20\u6807\u5E73\u79FB\u88C1\u5207\u9762")}else D.showAt(P.endPosition,"\u957F\u6309\u5DE6\u952E\u4E0A\u4E0B\u62D6\u52A8\u88C1\u5207\u9762\uFF0C\u53F3\u952E\u53D6\u6D88")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.clippingHandler.setInputAction(P=>{Lo.defined(C)&&(C.material=Lo.Color.WHITE.withAlpha(.1),C.outlineColor=Lo.Color.WHITE,C=void 0),f.scene.screenSpaceCameraController.enableInputs=!0},this._cesium.ScreenSpaceEventType.LEFT_UP),this.clippingHandler.setInputAction(P=>{A.endClipping(),o.end&&o.end()},this._cesium.ScreenSpaceEventType.RIGHT_DOWN),this.endClipping=()=>{A.clippingHandler.destroy(),D.show(!1),A.planeEntities&&A.planeEntities.forEach(P=>{A._viewer.entities.remove(P)}),A.planeEntities=[],A.item.enableModelExperimental=A.enableModelExperimental};function S(P){return function(){return P.distance=A.targetY,P}}};JA.prototype.setFlatten=function(o,A={}){if(this.flatten=o,this.updateModelExperimental(),!o)return;let f=A.positions||[];if(f[0]&&f[0].lon&&f[0].lat)for(let B=0;B<f.length;B++)f[B]=Lo.Cartesian3.fromDegrees(f[B].lon,f[B].lat);let m,C;f.length&&(m=A.fid||this._core.getuid(),this.flattenData.set(m,{id:m,modelId:this.item.id,name:A.name||"\u65B0\u5EFA\u538B\u5E73",show:this._core.defaultValue(A.show,!0),boundingSphere:Lo.BoundingSphere.fromPoints(f),positions:f,setVisibility:B=>{this.showFlattenById(m,B)},deleteObject:()=>{this.removeFlattenById(m)}}),C=Lo.Rectangle.fromCartesianArray(f),this.flattenRectangle?this.flattenRectangle=Lo.Rectangle.union(this.flattenRectangle,C):this.flattenRectangle=C),C=this.flattenRectangle;let E,I,x,y=C.east-C.west,v=C.north-C.south,w=1024,Q=document.createElement("canvas");Q.width=w,Q.height=w;let M=Q.getContext("2d");M.fillStyle="#000",M.fillRect(0,0,w,w);for(let B of this.flattenData.values())if(B.show){let D=[];B.positions.forEach(S=>{E=Lo.Cartographic.fromCartesian(S),I=(E.longitude-C.west)/y*w,x=1024-(E.latitude-C.south)/v*w,D.push([I,x])}),M.moveTo(D[0][0],D[0][1]);for(let S=0;S<D.length;S++)M.lineTo(D[S][0],D[S][1]);M.fillStyle="#f00",M.fill()}return this.flattenTexture=new Lo.TextureUniform({url:Q.toDataURL("image/png")}),m&&this.flattenData.get(m)};JA.prototype.setFlattenByGeojson=function(o,A){if(A)return Lo.GeoJsonDataSource.load(A).then(m=>{let C=m.entities.values,E=[];for(let I=0;I<C.length;I++){let x=C[I],y;x.polyline?y=x.polyline.positions.getValue():x.polygon&&(y=x.polygon.hierarchy.getValue().positions),y&&E.push(this.setFlatten(o,{fid:x.id,name:x.name,positions:y}))}return E});this.flatten=!!o,this.updateModelExperimental()};JA.prototype.removeFlattenById=function(o){this.flattenData.delete(o),this.flatten=!!this.flattenData.size,this.setFlatten(this.flatten)};JA.prototype.showFlattenById=function(o,A){let f=this.flattenData.get(o);f&&(f.show=A),this.setFlatten(this.flatten)};JA.prototype.removeFlattenAll=function(){this.flattenData.clear(),this.flattenRectangle=new Lo.Rectangle,this._flattenRectangle=void 0,this.flatten=!1,this.flattenTexture=new Lo.TextureUniform({url:""}),this.updateModelExperimental()};JA.prototype.updateModelExperimental=function(){this.effects||this.flatten||this.snow?this.item&&(this.item.enableModelExperimental=!0):this.item&&(this.item.enableModelExperimental=!1)};JA.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties(JA.prototype,{style:{get:function(){return this.item.style}}});JA.prototype.export=function(){var o=this.item.url,A=this.item.show,f=this.item.shadows;return{type:"3DTilesets",treeobj:{name:this.treeobj.name},style:{url:o,show:A,shadows:f}}};JA.prototype.setTreeobj=function(o){this.treeobj=o};JA.prototype.setItem=function(o){this.item=o};JA.prototype.setShowStyle=function(o){var A=this.item.style;this.item.style=new this._cesium.Cesium3DTileStyle({show:!0})};JA.prototype.setStyle=function(o){var A=[],f={color:void 0,show:!0},m=!0;if(o.colors instanceof Array){for(var C=0;C<o.colors.length;C++){var E=[],I=o.colors[C].color,x=o.colors[C].condition;/^\[/.test(x)&&(x=x.replace(/^\[/,"${").replace(/\]/,"}")),this._core.isHtmlColor(I)?I=this._color.colorFromHtmlColor(I):(/^rgb/.test(I)&&(I=this._color.rgbaStringToRgbaObj(I)),I.r>1&&(I.r=I.r/255),I.g>1&&(I.g=I.g/255),I.b>1&&(I.b=I.b/255),I.a>1&&(I.a=I.a/255),I=this._color.createColor(I.r,I.g,I.b,I.a)),E.push(x),E.push(I),A.push(E)}f.color={},f.color.conditions=A}else o.colors&&(f.color=`color("${o.colors}")`);return o.show&&/\[/.test(o.show)?m=o.show.replace(/^\[/,"${").replace(/\]/,"}"):o.show&&(m=o.show),f.show=m,f};Object.defineProperties(JA.prototype,{luminanceAtZenith:{get:function(){return this.item.luminanceAtZenith},set:function(o){this.item.luminanceAtZenith=o}},groundHeight:{get:function(){if(this.item!=null&&this.item.boundingSphere!=null){var o=this._cesium.Cartographic.fromCartesian(this.item.boundingSphere.center);return o.altitude}return 0},set:function(o){this.setHeight(o)}},lon:{get:function(){return this.modelEditData.lon},set:function(o){this.modelEditData.lon=o,this.setEditData()}},lat:{get:function(){return this.modelEditData.lat},set:function(o){this.modelEditData.lat=o,this.setEditData()}},height:{get:function(){return this.modelEditData.height},set:function(o){this.modelEditData.height=o,this.setEditData()}},scale:{get:function(){return this.modelEditData.scale},set:function(o){this.modelEditData.scale=o,this.setEditData()}},material:{set:function(o){this._core.isHtmlColor(o)||(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o="rgba("+o.r+","+o.g+","+o.b+","+o.a+")"),this.item.style=new this._cesium.Cesium3DTileStyle({color:"color('"+o+"')"})}},dynamicScreenSpaceErrorDensity:{get:function(){return this.item.dynamicScreenSpaceErrorDensity},set:function(o){this.item.dynamicScreenSpaceErrorDensity=o}},shadows:{get:function(){return this.item.shadows},set:function(o){this.item.shadows=o}},classificationType:{get:function(){return this.item.classificationType},set:function(o){this.item.classificationType=o}},dynamicScreenSpaceErrorHeightFalloff:{get:function(){return this.item.dynamicScreenSpaceErrorHeightFalloff},set:function(o){this.item.dynamicScreenSpaceErrorHeightFalloff=o}},dynamicScreenSpaceErrorFactor:{get:function(){return this.item.dynamicScreenSpaceErrorFactor},set:function(o){this.item.dynamicScreenSpaceErrorFactor=o}},imageBasedLightingFactor_x:{get:function(){return this.item.imageBasedLightingFactor==null?0:this.item.imageBasedLightingFactor.x},set:function(o){this.item.imageBasedLightingFactor=new this._cesium.Cartesian2(o,this.item.imageBasedLightingFactor_y)}},imageBasedLightingFactor_y:{get:function(){return this.item.imageBasedLightingFactor==null?0:this.item.imageBasedLightingFactor.y},set:function(o){this.item.imageBasedLightingFactor=new this._cesium.Cartesian2(o,this.item.imageBasedLightingFactor_y)}},effects:{get:function(){return this.item.customShader.uniforms.u_effects.value},set:function(o){this.item.customShader.setUniform("u_effects",o),this.item.customShader.lightingModel=o?0:void 0,this.updateModelExperimental()}},effectsMaxHeight:{get:function(){return this.item.customShader.uniforms.u_effectsMaxHeight.value},set:function(o){this.item.customShader.setUniform("u_effectsMaxHeight",o)}},snow:{get:function(){return this.item.customShader.uniforms.u_snow.value},set:function(o){this.item.customShader.setUniform("u_snow",o),this.updateModelExperimental()}},snowAlpha:{get:function(){return this.item.customShader.uniforms.u_snowAlpha.value},set:function(o){this.item.customShader.setUniform("u_snowAlpha",o)}},snowDirection:{get:function(){return this.item.customShader.uniforms.u_snowDirection.value},set:function(o){this.item.customShader.setUniform("u_snowDirection",o)}},flatten:{get:function(){return this.item.customShader.uniforms.u_flatten.value},set:function(o){this.item.customShader.setUniform("u_flatten",o),this.updateModelExperimental()}},flattenHeight:{get:function(){return this.item.customShader.uniforms.u_flattenHeight.value},set:function(o){this.item.customShader.setUniform("u_flattenHeight",o)}},flattenRectangle:{get:function(){return this._flattenRectangle},set:function(o){this._flattenRectangle=o,this.item.customShader.setUniform("u_flattenSouthWest",Lo.Cartesian3.fromRadians(o.west,o.south)),this.item.customShader.setUniform("u_flattenNorthEast",Lo.Cartesian3.fromRadians(o.east,o.north))}},flattenTexture:{get:function(){return this.item.customShader.uniforms.u_flattenTexture.value},set:function(o){this.item.customShader.setUniform("u_flattenTexture",o)}}});JA.prototype.getCustomShader=function(o){return Lo.CustomShader&&new Lo.CustomShader({mode:Lo.CustomShaderMode.MODIFY_MATERIAL,lightingModel:o.effects||o.removeLighting?Lo.LightingModel.UNLIT:void 0,uniforms:{u_flatten:{type:Lo.UniformType.BOOL,value:!1},u_flattenHeight:{type:Lo.UniformType.FLOAT,value:0},u_flattenNorthEast:{type:Lo.UniformType.VEC3,value:new Lo.Cartesian3},u_flattenSouthWest:{type:Lo.UniformType.VEC3,value:new Lo.Cartesian3},u_flattenTexture:{type:Lo.UniformType.SAMPLER_2D,value:new Lo.TextureUniform({url:""})},u_effects:{type:Lo.UniformType.BOOL,value:o.effects||!1},u_effectsMaxHeight:{type:Lo.UniformType.FLOAT,value:o.effectsMaxHeight||150},u_snow:{type:Lo.UniformType.BOOL,value:o.snow||!1},u_snowAlpha:{type:Lo.UniformType.FLOAT,value:o.snowAlpha||.8},u_snowDirection:{type:Lo.UniformType.VEC3,value:o.snowDirection||new Lo.Cartesian3(1,1,0)}},vertexShaderText:this.getFlattenShader(),fragmentShaderText:this.getEffectsShader()})};JA.prototype.getFlattenShader=function(){return Xrt};JA.prototype.getEffectsShader=function(){return jrt};JA.prototype.getType=function(){return{label:"\u6A21\u578B",value:"3DTileset"}};var zD=JA;function $x(o,A){this._viewer=o,this._cesium=A,this.tiltModel={start:void 0,end:[]}}$x.prototype.play=function(o,A={}){this.start=A.start,this.end=A.end,this.attr=A.attr,this.attrType=A.attrType,this.palyType=A.type||"progress",this.startPosition=A.startPosition,this.endPosition=A.endPosition,this.colors=A.colors||["rgb(255,0,0)","rgb(255,152,0)","rgb(0,255,0)","rgb(0,0,255)"];let f;if(this._useColor=A.useColor,this.getCurrentProgressStyle(0),typeof o=="string"){f=new zD(this._viewer,this._cesium),this.tiltModel.start=f.create3DTilesets("\u62C6\u8FC1\u6A21\u578B",o,{},{groundCenter:this.startPosition},"0",!0,C=>{this.getModelMinMaxTime(C),this.setModelStyle("start",C)}),f=new zD(this._viewer,this._cesium);let m=f.create3DTilesets("\u91CD\u5EFA\u6A21\u578B",o,{},{groundCenter:this.endPosition},"0",!0,C=>{this.getModelMinMaxTime(C),this.setModelStyle("end",C)});this.tiltModel.end.push(m)}else{let m=o.start;f=new zD(this._viewer,this._cesium),m&&(this.tiltModel.start=f.create3DTilesets("\u62C6\u8FC1\u6A21\u578B",m.urls,{},{groundCenter:m.Center,heading:m.heading,pitch:m.pitch,roll:m.roll},"0",!0,E=>{this.getModelMinMaxTime(E),this.setModelStyle("start",E)}));let C=o.end;if(C){let E;C.forEach(I=>{f=new zD(this._viewer,this._cesium),E=f.create3DTilesets("\u91CD\u5EFA\u6A21\u578B",I.urls,{id:I.id},{groundCenter:I.Center,heading:I.heading,pitch:I.pitch,roll:I.roll},"0",!0,x=>{this.getModelMinMaxTime(x),this.setModelStyle("end",x)}),this.tiltModel.end.push(E)})}}return this};$x.prototype.getModelMinMaxTime=function(o){let A=o.item.properties;o.startTime=A[this.attr[0]].minimum-1,o.endTime=A[this.attr[1]].maximum,o.allTime=o.endTime-o.startTime};$x.prototype.useColor=function(o=!1){this._useColor=o,this.currentProgress(this.progress)};$x.prototype.getCurrentProgressStyle=function(o){if(this.progress=o,this.palyType==="time"){let A=parseInt(o*this.time+this.start);this.setTime(A)}};$x.prototype.setModelProgressStyle=function(o,A){let f,m;this.progress>.5?o==="start"?f=this._useColor?[["true",this.colors[3]]]:[["true","rgba(255, 255, 255, 0)"]]:(m=parseInt((this.progress-.5)*2*A.allTime+A.startTime),f=this._useColor?[["${"+this.attr[0]+"} > "+m,this.colors[0]],["${"+this.attr[1]+"} <= "+m,this.colors[2]],["true",this.colors[1]]]:[["${"+this.attr[1]+"} <= "+m,"rgba(255, 255, 255, 1)"],["true","rgba(255, 255, 255, 0)"]]):o==="end"?f=this._useColor?[["true",this.colors[0]]]:[["true","rgba(255, 255, 255, 0)"]]:(m=parseInt(this.progress*2*A.allTime+A.startTime),f=this._useColor?[["${"+this.attr[0]+"} > "+m,this.colors[0]],["${"+this.attr[1]+"} <= "+m,this.colors[3]],["true",this.colors[1]]]:[["${"+this.attr[1]+"} <= "+m,"rgba(255, 255, 255, 0)"],["true","rgba(255, 255, 255, 1)"]]),A.item.style=new Cesium.Cesium3DTileStyle({color:{conditions:f}})};$x.prototype.setTime=function(o){let A=[],f=[];this._useColor?(A=[["${"+this.attr[0]+"} > "+o,this.colors[0]],["${"+this.attr[1]+"} <= "+o,this.colors[3]],["true",this.colors[1]]],f=[["${"+this.attr[0]+"} > "+o,this.colors[0]],["${"+this.attr[1]+"} <= "+o,this.colors[2]],["true",this.colors[1]]]):(A=[["${"+this.attr[1]+"} <= "+o,"rgba(255, 255, 255, 0)"],["true","rgba(255, 255, 255, 1)"]],f=[["${"+this.attr[1]+"} <= "+o,"rgba(255, 255, 255, 1)"],["true","rgba(255, 255, 255, 0)"]]),this.startStyle=new Cesium.Cesium3DTileStyle({color:{conditions:A}}),this.endStyle=new Cesium.Cesium3DTileStyle({color:{conditions:f}})};$x.prototype.currentProgress=function(o){this.getCurrentProgressStyle(o),this.setModelStyle("start",this.tiltModel.start),this.tiltModel.end.forEach(A=>{this.setModelStyle("end",A)})};$x.prototype.currentTime=function(o){this.setTime(o),this.setModelStyle("start",this.tiltModel.start),this.tiltModel.end.forEach(A=>{this.setModelStyle("end",A)})};$x.prototype.setModelStyle=function(o,A){A&&(this.palyType==="time"?A.item.style=o==="start"?this.startStyle:this.endStyle:this.setModelProgressStyle(o,A))};$x.prototype.setVisibility=function(o){this.tiltModel.start&&this.tiltModel.start.setVisibility(o),this.tiltModel.end.forEach(A=>{A.setVisibility(o)})};$x.prototype.deleteObject=function(){this.tiltModel.start&&this.tiltModel.start.deleteObject(),this.tiltModel.end.forEach(o=>{o.deleteObject()})};Object.defineProperties($x.prototype,{time:{get(){return this.end-this.start}}});var Zrt=$x;var X6=null;function Xl(o,A){X6=A,this.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0)),this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._getPosition=new hl(this._viewer,this._cesium),this._tree=Ke,this.modifyPoint=null,this._color=new hn(this._viewer,this._cesium),this.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this._position=void 0,this._points=[],this._listeners={},this._point=null}Xl.prototype.createPoint=function(o,A,f,m,C,E){var I={id:this._core.getuid(),show:!0,pixelSize:10,color:this._cesium.Color.RED,clampToGround:!0};m||(m={}),I=this._core.extend(I,m,!0),f&&(this._core.isHtmlColor(f)?f=this._color.colorFromHtmlColor(f):(/^rgb/.test(f)&&(f=this._Color.rgbaStringToRgbaObj(f)),f.r>1&&(f.r=f.r/255),f.g>1&&(f.g=f.g/255),f.b>1&&(f.b=f.b/255),f.a>1&&(f.a=f.a/255),f.r&&(f=this._color.createColor(f.r,f.g,f.b,f.a))),I.color=f),this._position=A,this.item=this._viewer.entities.add({name:o,position:this._cesium.Cartesian3.fromDegrees(A[0],A[1],A[2]||0),point:I});var x={id:this.item.id,name:o,pId:this._core.isnull(C)?0:C,type:"Point",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(C)?0:C),this};Xl.prototype.getstyles=function(){var o={};return o.show=this.item.point.show?this.item.point.show._value:!0,o.pixelSize=this.item.point.pixelSize?this.item.point.pixelSize.toString():null,o.heightReference=this.item.point.heightReference&&this.item.point.heightReference._value?this.item.point.heightReference.toString():null,o.color=this.item.point.color&&this.item.point.color._value?"rgba"+this.item.point.color.toString():null,o.outlineColor=this.item.point.outlineColor&&this.item.point.outlineColor._value?"rgba"+this.item.point.outlineColor.toString():null,o.outlineWidth=this.item.point.outlineWidth&&this.item.point.outlineWidth._value?this.item.point.outlineWidth.toString():null,o.near=this.item.point.distanceDisplayCondition?this.item.point.distanceDisplayCondition._value.near:null,o.far=this.item.point.distanceDisplayCondition?this.item.point.distanceDisplayCondition._value.far:null,o.position=this.item.position.getValue().toString(),o};Xl.prototype.createLonlat=function(o){var A=this,f=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);f.setInputAction(function(m){var C=A._viewer.camera.pickEllipsoid(m.position,A._viewer.scene.globe.ellipsoid),E=A._cesium.Cartographic.fromCartesian(C,A._viewer.scene.globe.ellipsoid,new A._cesium.Cartographic),I=A._cesium.Math.toDegrees(E.latitude),x=A._cesium.Math.toDegrees(E.longitude),y=E.height,v={lng:x,lat:I,height:y};typeof o=="function"&&o(v)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),f.setInputAction(function(m){f.destroy()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK)};Xl.prototype.createRichTextPoint=function(o,A,f={}){var m=this,C=this._core.getuid(),E=f.GroupID,I;A.length!==void 0?A.length===2?I=this._cesium.Cartesian3.fromDegrees(A[0],A[1]):A.length===3&&(I=this._cesium.Cartesian3.fromDegrees(A[0],A[1],A[2])):A.z?I=this._cesium.Cartesian3.fromDegrees(A.x,A.y,A.z):I=this._cesium.Cartesian3.fromDegrees(A.x,A.y),this._position=I;var x={horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.BOTTOM,show:!0,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(m._core.defaultValue(f.near,0),m._core.defaultValue(f.far,Number.MAX_VALUE))},y=this._core.extend(x,f,!0),v="",w=15;f&&f.fontColor&&(v=f.fontColor),f&&f.fontSize&&(w=f.fontSize),M(o,w,v,function(B){y.image=B,m.item=m._viewer.entities.add({id:C,name:o,position:m._position,billboard:y}),m.item.degrees=A,m.item.type="RichPoint",m.item.data=f.data});var Q={id:C,name:"\u65B0\u5EFA\u5BCC\u6587\u672C\u70B9"+C,pId:m._core.isnull(E)?0:E,type:"Imagelabel",item:m};m.setTreeobj(Q),m._tree.insertGroupId(Q,m._core.isnull(E)?0:E);function M(B,D,S,P){var R=document.createElement("img");R.src=m._core.defaultValue(y.url,window.SmartEarthRootUrl+kr.richtextpoint),D=parseFloat(D),R.crossOrigin="Anonymous",R.onload=function(){var T=document.createElement("canvas"),L=T.getContext("2d"),F=R.width,U=R.height;if(T.width=F,T.height=U,L.drawImage(R,0,0,F,U),L.shadowOffsetX=1,L.shadowOffsetY=0,L.shadowColor="#fff",L.shadowBlur=1,/^\</.test(B)&&/\>$/.test(B)){var N='<svg xmlns="http://www.w3.org/2000/svg" width="'+F+'" height="60"><foreignObject width="100%" height="100%">'+B+"</foreignObject></svg>",H=window.URL||window.webkitURL||window,J=document.createElement("img"),K=new Blob([N],{type:"image/svg+xml;charset=utf-8"}),X=H.createObjectURL(K);J.crossOrigin="Anonymous",J.src=X,J.onload=function(){L.drawImage(J,0,0,J.width,J.height),H.revokeObjectURL(X)},P(T)}else{if(L.fillStyle=S||"#fff",L.font=D+"px Calibri,sans-serif",B.length*D>F){var j=B.substring(0,Math.ceil(B.length/2)),ee=B.substring(Math.floor(B.length/2),B.length),ie=(U-100-2*D)/2,z=ie+D,oe=(F-j.length*D)/2;L.fillText(j,oe,ie),L.fillText(ee,oe,z)}else{var le=(U-100-D)/2,Ae=(F-B.length*D)/2;L.fillText(B,Ae,le)}P(T)}}}return this};Xl.prototype.createPoints=function(o,A){var f={id:this._core.getuid(),show:!0,pixelSize:10,color:this._cesium.Color.RED,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND},m=this._core.extend(f,o,!0);this._core.isnull(text)||(m.text=text),this._position=position,this.item=this._viewer.entities.add({name,position:this._cesium.Cartesian3.fromDegrees(position[0],position[1]),point:m});var C={id:this.item.id,name:m.text,pId:this._core.isnull(A)?0:A,type:"Point",item:this};return this.setTreeobj(C),this._tree.insertGroupId(C,this._core.isnull(A)?0:A),this};Xl.prototype.createLocations=function(o,A,f){var m={id:this._core.getuid(),show:!0,pixelSize:10,color:this._cesium.Color.TRANSPARENT,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND};this._position=A,this._core.isnull(o)&&(o="\u65B0\u5EFA\u5174\u8DA3\u70B9"),this.item=this._viewer.entities.add({name:o,position:this._cesium.Cartesian3.fromDegrees(A[0],A[1],A[2]),point:m});var C={id:m.id,name:o,pId:this._core.isnull(f)?0:f,type:"Location",item:this};return this.setTreeobj(C),this._tree.insertGroupId(C,this._core.isnull(f)?0:f),this};Xl.prototype.createLocation=function(o,A,f){var m={id:this._core.getuid(),show:!0,pixelSize:10,color:this._cesium.Color.TRANSPARENT,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND},C={destination:A.position,orientation:{heading:A.orientation.heading,pitch:A.orientation.pitch,roll:A.orientation.roll}};this._position=A,this._core.isnull(o)&&(o="\u65B0\u5EFA\u5174\u8DA3\u70B9");var E=this._core.getuid();this.item=this._viewer.entities.add({name:o,position:A.position,point:m}),this.item.originalCameraLocation=C;var I=this;return setTimeout(function(){var x={id:E,name:o+E,pId:I._core.isnull(f)?0:f,type:"Location",item:I};I.setTreeobj(x),I._tree.insertGroupId(x,I._core.isnull(f)?0:f)}),this};Xl.prototype.createPointOptimization=function(o,A){var f=this,m,C=[],E=this._core.StyleContrastGeoJson(o,this._cesium);return this.handler.setInputAction(function(I){var x=f._viewer.scene.camera.getPickRay(I.position),y,v;if(x&&(y=f._viewer.scene.globe.pick(x,f._viewer.scene)),!!y){v=f._cesium.Ellipsoid.WGS84.cartesianToCartographic(y);var w=f._viewer.scene.globe.getHeight(v);f._point=f._cesium.Cartesian3.fromDegrees(v.longitude/Math.PI*180,v.latitude/Math.PI*180,w),E.position=new f._cesium.CallbackProperty(function(){return f._point},!1),f.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0));var Q=f._viewer.entities.add(E);Q.objId=f.objId,Q.obj=f;var M={point:Q};C.push(M),f.state=1,f.handler.destroy(),typeof method=="function"&&method(C),f.item=Q}},f._cesium.ScreenSpaceEventType.LEFT_CLICK),this};Xl.prototype.startModify=function(){var o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E";if(!(this.state!=2&&this.state!=1)){this._tree.starttemporaryItem(this._viewer),this.modifyHandler||(this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas));var A=this;this.modifyHandler.setInputAction(function(f){var m=A._viewer.scene.pick(f.position);A._cesium.defined(m)&&m.id&&A._cesium.defined(m)&&m.id&&m.id.objId&&m.id.objId==A.objId&&(A.modifyPoint=m.id,o="\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539",A.forbidDrawWorld(!0)),A.state=2},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.modifyHandler.setInputAction(function(f){var m=A._viewer.scene.pick(f.endPosition);if(A._core.CreateTooltip(o,f.endPosition,!1),!A.modifyPoint){A._cesium.defined(m)&&m.id&&m.id.objId&&A._core.CreateTooltip("\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E",f.endPosition,!0);return}if(!!A.modifyPoint){var C=A.getCatesian3FromPX(f.endPosition,A._viewer,[A.modifyPoint]);C&&(A._point=C,A.modifyPoint.position=C),A._core.CreateTooltip(o,f.endPosition,!0)}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.modifyHandler.setInputAction(function(f){var m=A.getCatesian3FromPX(f.position,A._viewer,[A.modifyPoint]);!A.modifyPoint||(m&&(A._point=m),A.modifyPoint.position=m,A.modifyPoint=null,A.forbidDrawWorld(!1),o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E")},this._cesium.ScreenSpaceEventType.LEFT_UP)}};Xl.prototype.getCatesian3FromPX=function(o,A,f){var m=A.scene.pick(o),C,E=A.scene.drillPick(o),I=null;if(f.length>0){for(var x=0;x<E.length;x++)if(E[x].id._id!=f[0].id&&E[x].id._id!=f[1].id){I=E[x].id;break}}else I=m;if(A.scene.pickPositionSupported&&this._cesium.defined(I))C=A.scene.pickPosition(o);else{var y=A.camera.getPickRay(o);if(!y)return;C=A.scene.globe.pick(y,A.scene)}return C};Xl.prototype.forbidDrawWorld=function(o){this._viewer.scene.screenSpaceCameraController.enableRotate=!o,this._viewer.scene.screenSpaceCameraController.enableTilt=!o,this._viewer.scene.screenSpaceCameraController.enableTranslate=!o,this._viewer.scene.screenSpaceCameraController.enableInputs=!o};Xl.prototype.executePoint=function(o,A){let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null,this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);var m=this;this._tree.starttemporaryItem(this._viewer);var C=[],E={point:m._cesium.Color.RED};Object.keys(A).length>0&&A.point!=""&&A.point!=null&&(E.point=A.point),this._tree.removeHandler();let I=this._core.CreateTooltip();return this._tree.handler=new m._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas),this._tree.handler.setInputAction(function(x){var y=m._getPosition.getMousePosition(x),v=m._core.toDegrees(y),w;v.height>=1e3?w=(v.height/1e3).toFixed(2)+"\u5343\u7C73":w=v.height.toFixed(2)+"\u7C73";let Q=m._core.getPointToCameraDistance(m._viewer,y);var M=m._viewer.entities.add({name:"\u9AD8\u5EA6",position:y,point:{color:E.point.withAlpha(.5),pixelSize:5,outlineColor:m._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:m._cesium.HeightReference.none,distanceDisplayCondition:new X6.DistanceDisplayCondition(0,Q*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY},label:{text:"\u6D77\u62D4\u9AD8\u5EA6\uFF1A"+w,font:"16px \u5B8B\u4F53",fillColor:X6.Color.GOLD,verticalOrigin:X6.VerticalOrigin.BOTTOM,pixelOffset:new X6.Cartesian2(20,-20),showBackground:!0,distanceDisplayCondition:new X6.DistanceDisplayCondition(0,Q*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}});m._tree.temporaryItem.obj.push(M);var B={point:M,height:w};C.push(B),m._tree.endtemporaryItem(),m._core.mouse(m._viewer.container,0,"0"),m._tree.handler.destroy(),I.show(!1),typeof o=="function"&&o(B),m.item=M},m._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(x){I.showAt(x.endPosition,"\u70B9\u51FB\u62FE\u53D6\u9AD8\u5EA6\uFF01")},m._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};Xl.prototype.altitude=Xl.prototype.executePoint;Xl.prototype.executePointp=function(o,A){this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);var f=this,m;this._tree.starttemporaryItem(this._viewer);var C=[],E={point:f._cesium.Color.RED};return Object.keys(A).length>0&&A.point!=""&&A.point!=null&&(E.point=A.point),this._tree.removeHandler(),this._tree.handler=new f._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas),this._tree.handler.setInputAction(function(I){var x=f._getPosition.getMousePosition(I);if(!!x){var y=f._viewer.entities.add({name:"\u9AD8\u5EA6",position:x,point:{color:E.point.withAlpha(.5),pixelSize:5,outlineColor:f._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:f._cesium.HeightReference.none}});f._tree.temporaryItem.obj.push(y),f._tree.endtemporaryItem(),f._core.mouse(f._viewer.container,0,"0"),f._tree.handler.destroy(),typeof o=="function"&&o(y),f.item=y}},f._cesium.ScreenSpaceEventType.LEFT_CLICK),this};Xl.prototype.deleteObject=function(){try{if(this._viewer.entities.remove(this.item),this._points.length>0)for(var o=0;o<this._points.length;o++)this._viewer.entities.remove(this._points[o])}catch{}};Xl.prototype.setVisibility=function(o){if(this._points.length>0)for(var A=0;A<this._points.length;A++)this._points[A].show=o;this.item.show=o};Xl.prototype.getVisibility=function(){return this.item.show};Xl.prototype.setPointAlpha=function(o){try{this.item._point.material._value.alpha=o}catch(A){console.log(A)}return this};Xl.prototype.export=function(){var o=this.item.point.show==null?void 0:this.item.point.show._value,A=this.item.point.pixelSize==null?void 0:this.item.point.pixelSize._value,f=this.item.point.color==null?void 0:"rgba("+this.item.point.color._value.red+","+this.item.point.color._value.green+","+this.item.point.color._value.blue+","+this.item.point.color._value.alpha+")",m=this.item.point.outlineColor==null?void 0:"rgba("+this.item.point.outlineColor._value.red+","+this.item.point.outlineColor._value.green+","+this.item.point.outlineColor._value.blue+","+this.item.point.outlineColor._value.alpha+")",C=this.item.point.outlineWidth==null?void 0:this.item.point.outlineWidth._value,E=this.item.point.distanceDisplayCondition,I=E?._value.near,x=E?._value.far,y=this._cesium.Cartographic.fromCartesian(this.item.position._value),v=this._cesium.Math.toDegrees(y.longitude),w=this._cesium.Math.toDegrees(y.latitude),Q=this._cesium.Math.toDegrees(y.height);return{type:"point",position:{x:v,y:w,z:Q},treeobj:{name:this.treeobj.name},style:{show:o,pixelSize:A,color:f,outlineColor:m,outlineWidth:C,near:I,far:x}}};Xl.prototype.setTreeobj=function(o){this.treeobj=o};Xl.prototype.setPointColor=function(o){try{this.item._point.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(o),this.item.fillColor=this.item._point.color}catch(A){console.log(A)}return this};Xl.prototype.setRadius=function(o){try{this.item.ellipse=new this._cesium.EllipseGraphics({semiMinorAxis:o,semiMajorAxis:o,material:this._cesium.Color.RED.withAlpha(.4)})}catch(A){console.log(A)}return this};Xl.prototype.setOutlineColor=function(o){try{this.item._point.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Object.defineProperties(Xl.prototype,{HighLight:{set:function(o){o&&(this.item.fillColor=this.item.point._color),o?this.item._point.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(this._core.selectedColor):this.item.point._color=this.item.fillColor}}});Object.defineProperties(Xl.prototype,{pointColor:{get:function(){if(!!this.item.point._color._value)return this._color.toHtmlColor("rgb("+this.item.point._color._value.red*255+","+this.item.point._color._value.green*255+","+this.item.point._color._value.blue*255+","+this.item.point._color._value.alpha*255+")")},set:function(o){try{/^rgb/.test(o)?(o=this._color.rgbaStringToRgbaObj(o),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a),this.item._point.color=o,this.item.fillColor=this.item._point.color):(this.item._point.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(o),this.item.fillColor=this.item._point.color)}catch{}}},pointOutlineColor:{get:function(){if(this.item._point._outlineColor!=null)return this._color.toHtmlColor("rgb("+this.item._point.outlineColor._value.red*255+","+this.item._point.outlineColor._value.green*255+","+this.item._point.outlineColor._value.blue*255+","+this.item._point.outlineColor._value.alpha*255+")")},set:function(o){try{/^rgb/.test(o)?(o=this._color.rgbaStringToRgbaObj(o),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a),this.item._point.outlineColor=o):this.item._point.outlineColor=this._color.colorFromHtmlColor(o)}catch(A){console.log(A)}}},pointOutlineWidth:{get:function(){if(this.item.point.outlineWidth!=null)return this.item.point.outlineWidth._value},set:function(o){this.item.point.outlineWidth=o}},pointAlpha:{get:function(){if(this.item._point._color!=null)return this.item._point._color._value.alpha},set:function(o){this.item._point._color._value.alpha=o}},pointOutlineAlpha:{get:function(){if(this.item._point.outlineColor!=null)return this.item._point.outlineColor._value.alpha},set:function(o){try{this.item._point.outlineColor._value.alpha=o}catch{}}},pointHeight:{set:function(o){o=parseFloat(o);var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Cartesian3.fromDegrees(f,m,o);this.item.position._value=C},get:function(){var o=this._cesium.Cartographic.fromCartesian(this.item.position._value),A=this._cesium.Math.toDegrees(o.height);return A}},pointX:{set:function(o){var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(o,m,C);this.item.position.position=E},get:function(){var o=this._cesium.Cartographic.fromCartesian(this.item.position._value),A=this._cesium.Math.toDegrees(o.longitude);return A}},pointY:{set:function(o){var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(f,o,C);this.item.position.position=E},get:function(){var o=this._cesium.Cartographic.fromCartesian(this.item.position._value),A=this._cesium.Math.toDegrees(o.latitude);return A}}});Object.defineProperties(Xl.prototype,{pixelSize:{get:function(){return this.item.point.pixelSize._value},set:function(o){this.item.point.pixelSize=o}}});Object.defineProperties(Xl.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});Xl.prototype.setItem=function(o){this.item=o};Object.defineProperties(Xl.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});Object.defineProperties(Xl.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(Xl.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(Xl.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(Xl.prototype,{position:{get:function(){return this._position?this._position:this.item.position}}});Object.defineProperties(Xl.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});Object.defineProperties(Xl.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(Xl.prototype,{pointTempOptions:{get:function(){return{color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:hn.BLACK,outlineWidth:0,show:!0,scaleByDistance:null,translucencyByDistance:null,heightReference:null,distanceDisplayCondition:null,disableDepthTestDistance:null}}}});var WB=Xl;var gr=null;function as(o,A){gr=A,this._viewer=o,this._cesium=A,this._Color=new hn(this._viewer,this._cesium),this._core=new Ji(o,A),this._getPosition=new hl(this._viewer,this._cesium),this._tree=Ke,this._points=[],this._lable=null,this._entity=null,this.polygon1,this.id="0",this.curCanvas="a",this._lang={draw_tip_left:"\u5DE6\u952E\u5F00\u59CB\u7ED8\u5236\uFF01",draw_tip_right:"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236\uFF01",draw_tip_click:"\u70B9\u51FB\u7EE7\u7EED\u7ED8\u5236\uFF01",draw_tip_cancel:"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88\uFF01",unit_m:"\u7C73",unit_km:"\u5343\u7C73"}}as.prototype.createPolygon=function(o,A,f,m,C){var E=[],I;if(Array.isArray(o)){if(o[0]instanceof Array){if(o[0].length===2){for(var x=0;x<o.length;x++)E.push(o[x][0],o[x][1]);I=this._cesium.Cartesian3.fromDegreesArray(E)}else if(o[0].length===3){for(var x=0;x<o.length;x++)E.push(o[x][0],o[x][1],o[x][2]);I=this._cesium.Cartesian3.fromDegreesArrayHeights(E)}}else if(o[0].z){for(var x=0;x<o.length;x++)E.push(o[x].x,o[x].y,o[x].z);I=this._cesium.Cartesian3.fromDegreesArrayHeights(E)}else{for(var x=0;x<o.length;x++)E.push(o[x].x,o[x].y);I=this._cesium.Cartesian3.fromDegreesArray(E)}var y=A;typeof y=="string"&&(y={fillColor:y}),this.item=this._viewer.entities.add({name:C,polygon:{hierarchy:new this._cesium.PolygonHierarchy(I),material:new hn(this._viewer,this._cesium).colorFromHtmlColor(y.fillColor),heightReference:this._core.defaultValue(f,1),perPositionHeight:f!==1,outline:!0,outlineWidth:this._core.defaultValue(y.outlineWidth,1),outlineColor:new hn(this._viewer,this._cesium).colorFromHtmlColor(this._core.defaultValue(y.outlineColor,y.fillColor))}})}else if(typeof o=="object"){o.points.forEach(Q=>{E.push(Q.x,Q.y)}),I=gr.Cartesian3.fromDegreesArray(E);let w=this._core.defaultValue(o.alpha,.6);this.item=this._viewer.entities.add({id:o.id,name:C,polygon:{hierarchy:new gr.PolygonHierarchy(I),material:gr.Color.fromCssColorString(o.color||"#f00").withAlpha(w),heightReference:o.height!==void 0?0:1,height:o.height,perPositionHeight:!1,outline:!!o.outlineWidth,outlineWidth:o.outlineWidth,outlineColor:gr.Color.fromCssColorString(o.outlineColor||"#f00")}}),this.item.objectType="polygon"}var v={id:this.item.id,name:C||"\u65B0\u5EFA\u9762"+this._core.getuid(),pId:this._core.isnull(m)?0:m,type:"polygon",item:this};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};as.prototype.getstyles=function(){var o={};return o.show=this.item.polygon.show?this.item.polygon.show._value:!0,o.hierarchy=this.item.polygon.hierarchy?this.item.polygon.hierarchy.getValue().positions.toString():null,o.height=this.item.polygon.height?this.item.polygon.height._value:null,o.heightReference=this.item.polygon.heightReference?this.item.polygon.heightReference._value:null,o.extrudedHeight=this.item.polygon.extrudedHeight?this.item.polygon.extrudedHeight.getValue():null,o.extrudedHeightReference=this.item.polygon.extrudedHeightReference?this.item.polygon.extrudedHeightReference.toString():null,o.stRotation=this.item.polygon.stRotation?this.item.polygon.stRotation._value:null,o.granularity=this.item.polygon.granularity?this.item.polygon.granularity._value:null,o.fill=this.item.polygon.fill?this.item.polygon.fill._value:null,o.material={},o.material.color=this.item.polygon.material&&this.item.polygon.material.color&&this.item.polygon.material.color._value?"rgba"+this.item.polygon.material.color.toString():null,o.material.image=this.item.polygon.material&&this.item.polygon.material.image?this.item.polygon.material.image._value:null,o.material.repeat=this.item.polygon.material&&this.item.polygon.material.repeat&&this.item.polygon.material.repeat._value?this.item.polygon.material.repeat._value:null,o.outline=this.item.polygon.outline?this.item.polygon.outline._value:null,o.outlineWidth=this.item.polygon.outlineWidth?this.item.polygon.outlineWidth._value:null,o.outlineColor=this.item.polygon.outlineColor&&this.item.polygon.outlineColor._value?"rgba"+this.item.polygon.outlineColor.toString():null,o.perPositionHeight=this.item.polygon.perPositionHeight?this.item.polygon.perPositionHeight.toString():null,o.closeTop=this.item.polygon.closeTop?this.item.polygon.closeTop.toString():null,o.closeBottom=this.item.polygon.closeBottom?this.item.polygon.closeBottom.toString():null,o.arcType=this.item.polygon.arcType?this.item.polygon.arcType.toString():null,o.classificationType=this.item.polygon.classificationType?this.item.polygon.classificationType.toString():null,o.near=this.item.polygon.distanceDisplayCondition?this.item.polygon.distanceDisplayCondition._value.near:null,o.far=this.item.polygon.distanceDisplayCondition?this.item.polygon.distanceDisplayCondition._value.far:null,o};as.prototype.createCloudMap=function(o,A,f,m){var C=[],E=this;C.push(A.minx,A.miny),C.push(A.maxx,A.miny),C.push(A.maxx,A.maxy),C.push(A.minx,A.maxy);var I=this._cesium.Cartesian3.fromDegreesArray(C);m=this._core.defaultValue(m,1);var x=0,y=0;this.item=this._viewer.entities.add({name:o,polygon:{hierarchy:new this._cesium.PolygonHierarchy(I),material:new gr.ImageMaterialProperty({image:new this._cesium.CallbackProperty(function(){return y+=m,y>30&&(y=0,x++,x>f.length-1&&(x=0)),f[x]},!1),color:new this._cesium.CallbackProperty(function(){return E._cesium.Color.WHITE.withAlpha(y<15?.5+y/30:1.5-y/30)},!1),repeat:new E._cesium.Cartesian2(1,1)})}});var v={id:this.item.id,name:o,pId:0,type:"polygon",item:this};return this.setTreeobj(v),this._tree.insertGroupId(v,0),this};as.prototype.createSector=function(o,A,f,m,C){var E={fillColor:this._cesium.Color.YELLOW.withAlpha(.5),outlineColor:this._cesium.Color.YELLOW},I=[],x=2*Math.PI/360*C,y=Math.sin(x)*A,v=Math.cos(x)*A,w=K(o,m,v),Q={lon:o.lon,lat:o.lat,height:o.height},M={lon:w.lon,lat:w.lat,height:o.height+y},B=6378137,D=6356725,S=this;I=N(Q,M);var P=document.createElement("canvas");P.id="0-a",P.width=800,P.height=800,document.body.appendChild(P);var R=document.createElement("canvas");R.id="0-b",R.width=800,R.height=800;var T="a";document.body.appendChild(R);var L=1,F=new gr.CallbackProperty(function(X,j){var ee=document.getElementById("0-"+T),ie=ee.getContext("2d");ie.strokeStyle="red",ie.lineWidth=15;function z(he,ge,de){ie.beginPath(),ie.arc(400,800,de,le(he),le(ge),!1),ie.stroke()}function oe(he,ge,de){ie.beginPath(),ie.arc(400,800,de,le(he),le(ge),!1),ie.stroke()}function le(he){return he-=90,he*Math.PI/180}ie.clearRect(0,0,800,800);var Ae=ie.createLinearGradient(0,800,0,0);return Ae.addColorStop(0,"rgba(255,0,0,0.6)"),Ae.addColorStop(1,"rgba(255,0,0,0)"),oe(-(f/2),f/2,L+600),ie.lineTo(400,800),ie.closePath(),ie.fillStyle=Ae,ie.fill(),z(-(f/2),f/2,L+100),z(-(f/2),f/2,L+200),z(-(f/2),f/2,L+300),z(-(f/2),f/2,L+400),z(-(f/2),f/2,L+500),z(-(f/2),f/2,L+600),L<100?L=L+1:L=1,T=T==="a"?"b":"a",ee},!1);this.item=this._viewer.entities.add({polygon:{hierarchy:new this._cesium.PolygonHierarchy(this._cesium.Cartesian3.fromDegreesArrayHeights(I)),material:new this._cesium.ImageMaterialProperty({image:F,transparent:!0}),perPositionHeight:!0,outlineColor:E.outlineColor}});function U(X,j,ee,ie){var z=ee*Math.sin(ie*Math.PI/180),oe=ee*Math.cos(ie*Math.PI/180),le=D+(B-D)*(90-X)/90,Ae=le*Math.cos(X*Math.PI/180),he=(z/Ae+j*Math.PI/180)*180/Math.PI,ge=(oe/le+X*Math.PI/180)*180/Math.PI;return[he,ge]}function N(X,j){var ee=[],ie=H(X.lat,X.lon,j.lat,j.lon),z=ie.anglew,oe=ie.distance;ee.push(X.lon,X.lat,X.height);for(var le=z-f/2,Ae=null;le<z+f/2;le++)Ae=U(X.lat,X.lon,oe,le),ee.push(Ae[0],Ae[1],j.height+le*10);return ee}function H(X,j,ee,ie){var z=J(X),oe=J(ee),le=J(ee)-J(X),Ae=J(ie)-J(j),he=2*Math.asin(Math.sqrt(Math.pow(Math.sin(le/2),2)+Math.cos(z)*Math.cos(oe)*Math.pow(Math.sin(Ae/2),2)));return he=he*B,he=Math.round(he*1e4)/1e4,{anglew:S._core.TwoPointAzimuth(j,X,ie,ee),distance:he}}function J(X){return X*Math.PI/180}function K(X,j,ee){var ie={a:6378137,b:63567523142e-4,f:.0033528106647474805};function z(ft){return ft*Math.PI/180}function oe(ft){return ft*180/Math.PI}for(var le=ie,Ae=le.a,he=le.b,ge=le.f,de=X.lon*1,fe=X.lat*1,G=ee,Y=z(j),W=Math.sin(Y),O=Math.cos(Y),re=(1-ge)*Math.tan(z(fe)),se=1/Math.sqrt(1+re*re),ce=re*se,me=Math.atan2(re,O),Ce=se*W,ye=1-Ce*Ce,Be=ye*(Ae*Ae-he*he)/(he*he),Me=1+Be/16384*(4096+Be*(-768+Be*(320-175*Be))),He=Be/1024*(256+Be*(-128+Be*(74-47*Be))),ke=G/(he*Me),Ne=2*Math.PI;Math.abs(ke-Ne)>1e-12;){var Pe=Math.cos(2*me+ke),we=Math.sin(ke),Fe=Math.cos(ke),Ue=He*we*(Pe+He/4*(Fe*(-1+2*Pe*Pe)-He/6*Pe*(-3+4*we*we)*(-3+4*Pe*Pe)));Ne=ke,ke=G/(he*Me)+Ue}var ze=ce*we-se*Fe*O,Je=Math.atan2(ce*Fe+se*we*O,(1-ge)*Math.sqrt(Ce*Ce+ze*ze)),je=Math.atan2(we*W,se*Fe-ce*we*O),Ze=ge/16*ye*(4+ge*(4-3*ye)),rt=je-(1-Ze)*ge*Ce*(ke+Ze*we*(Pe+Ze*Fe*(-1+2*Pe*Pe))),At=Math.atan2(Ce,-ze),yt=de*1+oe(rt),at={lon:yt,lat:oe(Je)};return at}return this};as.prototype.setImageMaterialProperty=function(){var o=this,A=document.createElement("canvas");A.id="0-a",A.width=700,A.height=100;var f=document.createElement("canvas");f.id="0-b",f.width=700,f.height=100,document.body.appendChild(A),document.body.appendChild(f);var m=new o._cesium.CallbackProperty(function(C,E){var I=o,x=document.getElementById("0-"+o.curCanvas),y=x.getContext("2d");return x.strokeStyle="1px solid red",y.strokeStyle="red",y.fillStyle="red",y.save(),y.translate(100,100),y.arc(0,0,100,0,180*Math.PI/180),y.restore(),y.stroke(),o.curCanvas=o.curCanvas==="a"?"b":"a",x},!1);return new o._cesium.ImageMaterialProperty({image:m,transparent:!0})};as.prototype.executeSector=function(o,A){var f=this;this._tree.starttemporaryItem(this._viewer),this._tree.removeHandler();var m=this._viewer,C=0,E,I,x={fillColor:f._cesium.Color.YELLOW.withAlpha(.5),outlineColor:f._cesium.Color.YELLOW};A&&A.fillColor&&(x.fillColor=A.fillColor),A&&A.outlineColor&&(x.outlineColor=A.outlineColor),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);var y=[],v=this._core.CreateTooltip();this.item=void 0;var w,Q;this.end=T=>{if(f._tree.handler.destroy(),f._tree.handler=null,v.show(!1),f._core.mouse(f._viewer.container,0,"0"),this.end=void 0,T==="cancel"){f.item&&m.entities.remove(f.item);return}f.item&&(f.item.polygon.hierarchy=new f._cesium.PolygonHierarchy(f._cesium.Cartesian3.fromDegreesArray(y))),typeof o=="function"&&o(f.item,{position:E,angle:w,distance:Q})},this._tree.handler.setInputAction(function(T){var L=f._getPosition.getMouseDegrees(T);C===0?(E={lon:L.lon,lat:L.lat,height:L.height},C++):f.end&&f.end()},f._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(T){f.end&&f.end("cancel")},f._cesium.ScreenSpaceEventType.RIGHT_CLICK),this._tree.handler.setInputAction(function(T){if(C===0){v.showAt(T.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236");return}else v.showAt(T.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");I=f._getPosition.getMouseDegrees(T),y=S(E,I),f.item||(f.item=m.entities.add({polygon:{hierarchy:new f._cesium.PolygonHierarchy(f._cesium.Cartesian3.fromDegreesArray(y)),material:new f._cesium.ColorMaterialProperty(x.fillColor),outlineColor:x.outlineColor,fill:!0}}),f.item.polygon.hierarchy=new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(f._cesium.Cartesian3.fromDegreesArray(y))},!1))},f._cesium.ScreenSpaceEventType.MOUSE_MOVE);var M=6378137,B=6356725;function D(T,L,F,U){var N=F*Math.sin(U*Math.PI/180),H=F*Math.cos(U*Math.PI/180),J=B+(M-B)*(90-T)/90,K=J*Math.cos(T*Math.PI/180),X=(N/K+L*Math.PI/180)*180/Math.PI,j=(H/J+T*Math.PI/180)*180/Math.PI;return[X,j]}function S(T,L){var F=[],U=P(T.lat,T.lon,L.lat,L.lon);w=U.angle,Q=U.distance,F.push(T.lon,T.lat);for(var N=w-30,H=null;N<w+30;N++)H=D(T.lat,T.lon,Q,N),F.push(H[0],H[1]);return F}function P(T,L,F,U){var N=R(T),H=R(F),J=R(F)-R(T),K=R(U)-R(L),X=2*Math.asin(Math.sqrt(Math.pow(Math.sin(J/2),2)+Math.cos(N)*Math.cos(H)*Math.pow(Math.sin(K/2),2)));return X=X*M,X=Math.round(X*1e4)/1e4,{angle:f._core.TwoPointAzimuth(L,T,U,F),distance:X}}function R(T){return T*Math.PI/180}return this};as.prototype.executePolygon=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var f=this;this._tree.starttemporaryItem(this._viewer),this._tree.removeHandler();var m=function(){function y(v){this.options={name:"",polygon:{hierarchy:[],heightReference:f._core.defaultValue(o.heightReference,1),perPositionHeight:o.heightReference===0,material:f._core.defaultValue(o.material,f._cesium.Color.YELLOW.withAlpha(.5))}},this.hierarchy=v,this._init()}return y.prototype._init=function(){var v=this,w=function(){return v.hierarchy};this.options.polygon.hierarchy=new f._cesium.CallbackProperty(w,!1),this.polygon=f._viewer.entities.add(this.options),f.item=this.polygon,f._tree.temporaryItem.obj.push(this.polygon)},y}();this._tree.handler=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas);var C=[],E={},I=void 0;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);var x=this._core.CreateTooltip();return this._tree.handler.setInputAction(function(y){var v=f._getPosition.getMousePosition(y);C.length==0&&C.push(v.clone()),C.push(v),E=new f._cesium.PolygonHierarchy(C)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(y){C.length===0?x.showAt(y.endPosition,f._lang.draw_tip_left):C.length<=2?x.showAt(y.endPosition,f._lang.draw_tip_click):x.showAt(y.endPosition,f._lang.draw_tip_right);var v=f._getPosition.getMousePosition(y);C.length>=2&&(f._cesium.defined(I)?v!=null&&(C.pop(),v.y+=1+Math.random(),C.push(v),E=new f._cesium.PolygonHierarchy(C)):(E=new f._cesium.PolygonHierarchy(C),I=new m(E)))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(y){f._tree.endtemporaryItem(),f._tree.handler.destroy(),x.show(!1);var v={polygon:{},positions:[],area:[]};v.polygon=I;for(var w=[],Q=0;Q<C.length;Q++){var M=f._cesium.Cartographic.fromCartesian(C[Q]),B=f._cesium.Math.toDegrees(M.longitude),D=f._cesium.Math.toDegrees(M.latitude),S=M.height;w.push({lon:B,lat:D,hei:S})}v.positions=w,f._core.mouse(f._viewer.container,0,"0"),typeof A=="function"&&A(v)},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};as.prototype.executePolygonvideo=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var f=this;this._tree.starttemporaryItem(this._viewer),this._tree.removeHandler();var m=function(){function D(S){this.options={name:"",polygon:{hierarchy:[],heightReference:f._cesium.HeightReference.CLAMP_TO_GROUND,classificationType:f._cesium.ClassificationType.BOTH,material:f._cesium.Color.YELLOW.withAlpha(.5)}},this.hierarchy=S,this._init()}return D.prototype._init=function(){var S=this,P=function(){return S.hierarchy};this.options.polygon.hierarchy=new f._cesium.CallbackProperty(P,!1),this.polygon=f._viewer.entities.add(this.options),M.style.transform="rotate("+A.angle+"deg)",this.polygon.polygon.stRotation=f._cesium.Math.toRadians(A.angle),f.item=this.polygon,f._tree.temporaryItem.obj.push(this.polygon)},D}();this._tree.handler=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas);var C=[],E={},I=void 0,x=this._core.CreateTooltip(),y=f._core.getuid(),v=document.getElementById("videoToolbar");if(!v){var w='<div id="videoToolbar"></div>';$(".cesium-viewer").append(w),v=document.getElementById("videoToolbar")}var Q='<video id="video'+y+'" style="display: none;" muted autoplay loop crossorigin controls><source src="'+A.url+'" type="video/mp4"></video>';$(v).append(Q);var M=document.getElementById("video"+y);M.style.transform="rotate("+A.angle+"deg)";let B;return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this._tree.handler.setInputAction(function(D){var S=f._getPosition.getMousePosition(D);if(C.length==0&&C.push(S.clone()),C.push(S),C.length===2&&!B&&(B=f._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new gr.CallbackProperty(()=>C,!1),clampToGround:!0,material:new gr.ColorMaterialProperty(gr.Color.YELLOW.withAlpha(.5)),width:3}})),C.length>=3&&!I){B&&f._viewer.entities.remove(B),E=new f._cesium.PolygonHierarchy(C),I=new m(E);return}E=new f._cesium.PolygonHierarchy(C)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(D){if(C.length===0?x.showAt(D.endPosition,f._lang.draw_tip_left):C.length<=2?x.showAt(D.endPosition,f._lang.draw_tip_click):x.showAt(D.endPosition,f._lang.draw_tip_right),C.length>=2){var S=f._getPosition.getMousePosition(D);S&&(C.pop(),C.push(S),E=new f._cesium.PolygonHierarchy(C))}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(D){f.end&&f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=D=>{if(f._tree.endtemporaryItem(),f._tree.handler.destroy(),x.show(!1),f._core.mouse(f._viewer.container,0,"0"),this.end=void 0,B&&f._viewer.entities.remove(B),D==="cancel"||C.length<3){f.item&&f._viewer.entities.remove(f.item);return}M.play(),f.item.polygon.material=M;var S={polygon:{},positions:[],area:[]};S.polygon=f.item;for(var P=[],R=0;R<C.length;R++){var T=f._cesium.Cartographic.fromCartesian(C[R]),L=f._cesium.Math.toDegrees(T.longitude),F=f._cesium.Math.toDegrees(T.latitude),U=T.height;P.push({lon:L,lat:F,hei:U})}S.positions=P,S.id=y,typeof o=="function"&&o(S)},this};as.prototype.addVideoPolygon=function(o,A){var f=[],m;if(o[0]instanceof Array){if(o[0].length===2){for(var C=0;C<o.length;C++)f.push(o[C][0],o[C][1]);m=this._cesium.Cartesian3.fromDegreesArray(f)}else if(o[0].length===3){for(var C=0;C<o.length;C++)f.push(o[C][0],o[C][1],o[C][2]);m=this._cesium.Cartesian3.fromDegreesArrayHeights(f)}}else if(o[0].z)if(o[0].x<180&&o[0].x>-180&&o[0].y<90&&o[0].y>-90){for(var C=0;C<o.length;C++)f.push(o[C].x,o[C].y,o[C].z);m=this._cesium.Cartesian3.fromDegreesArrayHeights(f)}else m=o;else{for(var C=0;C<o.length;C++)f.push(o[C].x,o[C].y);m=this._cesium.Cartesian3.fromDegreesArray(f)}var E=document.getElementById("videoToolbar");if(!E){var I='<div id="videoToolbar"></div>';$(".cesium-viewer").append(I),E=document.getElementById("videoToolbar")}var x=this._core.getuid(),y='<video id="video'+x+'" style="display: none;" muted autoplay loop crossorigin controls><source src="'+A.url+'" type="video/mp4"></video>';$(E).append(y);var v=document.getElementById("video"+x);v.play();let w=this._core.defaultValue(A.heightReference,1),Q=this._core.defaultValue(A.color,"#FFFFFF");return this.item=this._viewer.entities.add({name:"\u9762\u8D34\u89C6\u9891",polygon:{hierarchy:new gr.PolygonHierarchy(m),material:new gr.ImageMaterialProperty({image:v,color:gr.Color.fromCssColorString(Q)}),heightReference:w,perPositionHeight:w!==1,stRotation:gr.Math.toRadians(A.angle||0),rotation:gr.Math.toRadians(A.rotation||0)}}),this};as.prototype.addVideoPlane=function(o,A){var f;o instanceof Array?f=this._cesium.Cartesian3.fromDegrees(...o):o.x?f=this._cesium.Cartesian3.fromDegrees(o.x,o.y,o.z):o.lon&&(f=this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height));var m=document.getElementById("videoToolbar");if(!m){var C='<div id="videoToolbar"></div>';$(".cesium-viewer").append(C),m=document.getElementById("videoToolbar")}var E=this._core.getuid(),I='<video id="video'+E+'" style="display: none;" muted autoplay loop crossorigin controls><source src="'+A.url+'" type="video/mp4"></video>';$(m).append(I);var x=document.getElementById("video"+E);x.play();let y=this._core.defaultValue(A.color,"#FFFFFF");return this.item=this._viewer.entities.add({name:"\u76D2\u5B50\u8D34\u89C6\u9891",position:f,orientation:gr.Transforms.headingPitchRollQuaternion(f,new gr.HeadingPitchRoll(gr.Math.toRadians(A.heading||0),gr.Math.toRadians(A.pitch||0),gr.Math.toRadians(A.roll||0))),plane:{plane:new gr.Plane(gr.Cartesian3.UNIT_Y,0),dimensions:new gr.Cartesian2(A.width||12.8,A.height||7.2),material:new gr.ImageMaterialProperty({image:x,color:gr.Color.fromCssColorString(y)}),distanceDisplayCondition:new gr.DistanceDisplayCondition(A.near,A.far||(A.width||12.8)*100)}}),this};as.prototype.deleteObject=function(){if(this._viewer.entities.remove(this.item),this._points.length>0){for(var o=0;o<this._points.length;o++)this._viewer.entities.remove(this._points[o]);this._points=[]}try{this._viewer.scene.primitives.remove(this.item)}catch(A){console.log(A)}this.item=void 0};as.prototype.executePolygoncl=function(o,A){this._lang=this._core.extend(this._lang,language._lang);let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null,this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer);var m=this,C=0;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var E=this._core.CreateTooltip(),I=[],x={},y=[],v=[],w=null,Q=null,M,B,D={point:m._cesium.Color.RED,polyline:m._cesium.Color.YELLOW,polygon:m._cesium.Color.YELLOW.withAlpha(.5)};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(D.point=A.point),A.polyline!=""&&A.polyline!=null&&(D.polyline=A.polyline),A.polygon!=""&&A.polygon!=null&&(D.polygon=A.polygon));var S={mj:0,label:[],polygon:[]};let P,R;this._tree.handler.setInputAction(function(L){if(I.length===0?E.showAt(L.endPosition,m._lang.draw_tip_left):I.length<=3?E.showAt(L.endPosition,m._lang.draw_tip_click):E.showAt(L.endPosition,m._lang.draw_tip_right),Q=m._getPosition.getMousePosition(L),!!Q){var F=m._cesium.Cartographic.fromCartesian(Q),U=m._cesium.Math.toDegrees(F.longitude),N=m._cesium.Math.toDegrees(F.latitude),H=F.height;if(I.length>=2){m._cesium.defined(w)?(I.pop(),I.push(Q),x=new m._cesium.PolygonHierarchy(I),v.pop(),v.push([U,N])):(x=new m._cesium.PolygonHierarchy(I),w=new T(x));var J=m._core.getArea(v,I);m._viewer.entities.remove(B),B=m._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new gr.CallbackProperty(function(){let K=new gr.Cartesian3;return I.forEach(X=>{gr.Cartesian3.add(K,X,K)}),gr.Cartesian3.divideByScalar(K,I.length,new gr.Cartesian3)},!1),label:{text:J,font:"16px \u5B8B\u4F53",fillColor:gr.Color.GOLD,verticalOrigin:gr.VerticalOrigin.BOTTOM,pixelOffset:new gr.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new gr.DistanceDisplayCondition(0,R*1.5)}}),m._tree.temporaryItem.obj.push(B),S.label=B}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(L){if(Q=m._getPosition.getMousePosition(L),!!Q){!R&&(R=m._core.getPointToCameraDistance(m._viewer,Q));var F=m._core.getArea(v,I),U=m._cesium.Cartographic.fromCartesian(Q),N=m._cesium.Math.toDegrees(U.longitude),H=m._cesium.Math.toDegrees(U.latitude);I.length==0&&(I.push(Q.clone()),v.push([N,H])),I.push(Q),v.push([N,H]),x=new m._cesium.PolygonHierarchy(I),I.length===2&&(P=m._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new gr.CallbackProperty(()=>I,!1),clampToGround:!1,material:D.polygon,width:3}})),I.length>=3&&(P&&m._viewer.entities.remove(P),m._cesium.defined(w)||(x=new m._cesium.PolygonHierarchy(I),w=new T(x)),m._viewer.entities.remove(B),B=m._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new gr.CallbackProperty(function(){let J=new gr.Cartesian3;return I.forEach(K=>{gr.Cartesian3.add(J,K,J)}),gr.Cartesian3.divideByScalar(J,I.length,new gr.Cartesian3)},!1),label:{text:F,font:"16px \u5B8B\u4F53",fillColor:gr.Color.GOLD,verticalOrigin:gr.VerticalOrigin.BOTTOM,pixelOffset:new gr.Cartesian2(20,-40),showBackground:!0,distanceDisplayCondition:new gr.DistanceDisplayCondition(0,R*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),m._tree.temporaryItem.obj.push(B),S.label=B)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(L){m.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(L){if(E.show(!1),m._viewer.entities.remove(B),m._tree.handler.destroy(),m.end=void 0,m._core.mouse(m._viewer.container,0,"0"),P&&m._viewer.entities.remove(P),L==="cancel"||I.length<3){m.item&&m._viewer.entities.remove(m.item);return}var F=m._core.getArea(v,I);C=F;var U=m._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new gr.CallbackProperty(function(){let N=new gr.Cartesian3;return I.forEach(H=>{gr.Cartesian3.add(N,H,N)}),gr.Cartesian3.divideByScalar(N,I.length,new gr.Cartesian3)},!1),label:{text:F,font:"16px \u5B8B\u4F53",fillColor:gr.Color.GOLD,verticalOrigin:gr.VerticalOrigin.BOTTOM,pixelOffset:new gr.Cartesian2(20,-40),showBackground:!0,distanceDisplayCondition:new gr.DistanceDisplayCondition(0,R*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}});m._tree.endtemporaryItem(),m._points.push(U),m._lable=U,S.mj=C,S.label=U,o!=""&&o!=null&&typeof o=="function"&&o(S)};var T=function(){function L(F){this.options={name:"\u591A\u8FB9\u5F62",polygon:{hierarchy:[],perPositionHeight:!0,material:D.polygon,classificationType:m._cesium.ClassificationType.BOTH}},this.hierarchy=F,this._init()}return L.prototype._init=function(){var F=this,U=function(){return F.hierarchy};this.options.polygon.hierarchy=new m._cesium.CallbackProperty(U,!1),this.polygon=m._viewer.entities.add(this.options),m.item=this.polygon,m._entity=this.polygon,m._tree.temporaryItem.obj.push(this.polygon),S.polygon=this.polygon},L}();return this};as.prototype.planeArea=as.prototype.executePolygoncl;as.prototype.executePolygonym=function(o){var A=this;this._tree.starttemporaryItem(this._viewer),this._tree.removeHandler();var f=0;this._tree.handler=new A._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas);var m=[],C={},E=[],I=null,x=null,y={ply:{},waterHeight:0,targetHeight:1e5,speed:0};y.start=function(){this.timer=setInterval(function(){var Q=y.targetHeight;waterHeight<Q&&(waterHeight+=speed,waterHeight>Q&&(waterHeight=Q),y.ply.options.polygon.extrudedHeight=y.waterHeight,A._viewer.entities.add(y.ply.options))},2e3)},y.setWaterHeight=function(Q){y.waterHeight=Q},y.setTargetHeight=function(Q){y.targetHeight=Q},y.setSpeed=function(Q){y.speed=Q};var v={mj:0,label:{}};this._tree.handler.setInputAction(function(Q){var M=A._viewer.camera.getPickRay(Q.endPosition);x=A._viewer.scene.globe.pick(M,A._viewer.scene),m.length>=2&&(A._cesium.defined(I)?(m.pop(),m.push(x),C=new A._cesium.PolygonHierarchy(m)):(C=new A._cesium.PolygonHierarchy(m),I=new w(C)))},A._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(Q){var M=A._viewer.camera.getPickRay(Q.position);x=A._viewer.scene.globe.pick(M,A._viewer.scene),m.length==0&&(m.push(x.clone()),C=new A._cesium.PolygonHierarchy(m)),m.push(x),C=new A._cesium.PolygonHierarchy(m);var B=A._cesium.Cartographic.fromCartesian(m[m.length-1]),D=A._cesium.Math.toDegrees(B.longitude),S=A._cesium.Math.toDegrees(B.latitude),P=B.height;E.push({lon:D,lat:S,hei:P});var R=A._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:m[m.length-1],point:{pixelSize:5,color:A._cesium.Color.RED.withAlpha(.5),outlineColor:A._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:A._cesium.HeightReference.CLAMP_TO_GROUND}});A._tree.temporaryItem.obj.push(R),A._points.push(R)},A._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(Q){A._tree.handler.destroy(),A._tree.endtemporaryItem(),m.pop(),C=new A._cesium.PolygonHierarchy(m);var M="\u5E73\u65B9\u5343\u7C73";f=M;var B=A._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new gr.CallbackProperty(function(){let D=new gr.Cartesian3;return m.forEach(S=>{gr.Cartesian3.add(D,S,D)}),gr.Cartesian3.divideByScalar(D,m.length,new gr.Cartesian3)},!1),label:{text:M,font:"16px \u5B8B\u4F53",fillColor:gr.Color.GOLD,verticalOrigin:gr.VerticalOrigin.BOTTOM,pixelOffset:new gr.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:A._cesium.HeightReference.CLAMP_TO_GROUND}});A._tree.temporaryItem.obj.push(B),A._points.push(B),v.mj=f,v.label=B,o!=""&&o!=null&&typeof o=="function"&&o(I)},A._cesium.ScreenSpaceEventType.RIGHT_CLICK);var w=function(){function Q(S){this.options={name:"\u591A\u8FB9\u5F62",polygon:{hierarchy:[],perPositionHeight:!0,material:A._cesium.Color.SKYBLUE.withAlpha(.4),extrudedHeight:0}},this.hierarchy=S,this._init()}Q.prototype._init=function(){var S=this,P=function(){return S.hierarchy};this.options.polygon.hierarchy=new A._cesium.CallbackProperty(P,!1);var R=A._viewer.entities.add(this.options);A._tree.temporaryItem.obj.push(R),A.item=R};var M=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(M=Ke.selectedItem.id);var B=A._core.getuid(),D={id:B,name:"\u65B0\u5EFA\u9762"+B,pId:A._core.isnull(M)?0:M,type:"polygon",item:A};return A.setTreeobj(D),Ke.insertGroupId(D,A._core.isnull(M)?0:M),Q}();return this};as.prototype.executePolygonymsd=function(o={},A){this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer);var f=this;this._tree.handler=new f._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var m=this._core.CreateTooltip(),C={},E=[],I=[],x=null,y=null,v=null,w="0",Q=0,M=1e3,B=10,D=!1,S={mj:0,label:[],ployline:[]},P=[];this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);let R,T;this._tree.handler.setInputAction(function(U){if(D){Q===void 0?m.showAt(U.endPosition,"\u70B9\u51FB\u62FE\u53D6\u521D\u59CB\u6C34\u9762\u9AD8\u5EA6"):M===void 0&&m.showAt(U.endPosition,"\u70B9\u51FB\u62FE\u53D6\u6700\u5927\u6DF9\u6CA1\u9AD8\u5EA6");return}E.length>=4?m.showAt(U.endPosition,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"):m.showAt(U.endPosition,"\u70B9\u51FB\u5DE6\u952E\u7ED8\u5236\u6DF9\u6CA1\u533A\u57DF");var N=f._viewer.camera.getPickRay(U.endPosition);if(v=f._viewer.scene.globe.pick(N,f._viewer.scene),E.length>=2){if(!f._cesium.defined(x))C=new f._cesium.PolygonHierarchy(E),x=new F(C);else if(o.rectangle)T=f._core.toDegrees(v),E=[gr.Cartesian3.fromDegrees(R.lon,R.lat),gr.Cartesian3.fromDegrees(R.lon,T.lat),gr.Cartesian3.fromDegrees(T.lon,T.lat),gr.Cartesian3.fromDegrees(T.lon,R.lat)],C=new f._cesium.PolygonHierarchy(E),x.hierarchy=C;else{for(var H=E[0],J=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(H),K=gr.Math.toDegrees(J.latitude),X=gr.Math.toDegrees(J.longitude),j=E[E.length-2],ee=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(j),ie=gr.Math.toDegrees(ee.latitude),z=gr.Math.toDegrees(ee.longitude),oe=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(v),le=gr.Math.toDegrees(oe.latitude),Ae=gr.Math.toDegrees(oe.longitude),he=gr.turf.lineString([[X,K],[Ae,le]]),ge=gr.turf.lineString([[z,ie],[Ae,le]]),de=!0,fe=0;fe<P.length&&P.length>=2;fe++){var G=P[fe];if(fe==0){if(gr.turf.lineIntersect(ge,G).features.length){de=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(fe==P.length-1){if(gr.turf.lineIntersect(he,G).features.length){de=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(gr.turf.lineIntersect(he,G).features.length){de=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';return}if(gr.turf.lineIntersect(ge,G).features.length){de=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}}if(!de)return;E.pop(),E.push(v),C=new f._cesium.PolygonHierarchy(E)}y||(y=f._viewer.entities.add({polyline:{positions:new gr.CallbackProperty(function(){return E.concat([E[0]])},!1),clampToGround:!0,width:3}}),f._points.push(y))}},f._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(U){var N=f._getPosition.getMousePosition(U);if(!!N){if(D){let me=f._cesium.Cartographic.fromCartesian(N);if(Q===void 0)Q=me.height;else if(M===void 0){if(M=me.height,M<Q){window.layuiLayer&&window.layuiLayer.msg("\u6700\u5927\u6DF9\u6CA1\u9AD8\u5EA6\u5C0F\u4E8E\u521D\u59CB\u6C34\u9762\u9AD8\u5EA6\uFF0C\u8BF7\u91CD\u65B0\u62FE\u53D6"),M=void 0,Q=void 0;return}L()}return}if(E.length==0&&(E.push(N.clone()),C=new f._cesium.PolygonHierarchy(E)),E.length>=2)if(P.length==0){var H=E[0],J=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(H),K=gr.Math.toDegrees(J.latitude),X=gr.Math.toDegrees(J.longitude),j=E[1],ee=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(j),ie=gr.Math.toDegrees(ee.latitude),z=gr.Math.toDegrees(ee.longitude),oe=gr.turf.lineString([[X,K],[z,ie]]);P.push(oe)}else{if(P.length>=2){for(var H=E[0],J=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(H),K=gr.Math.toDegrees(J.latitude),X=gr.Math.toDegrees(J.longitude),j=E[E.length-2],ee=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(j),ie=gr.Math.toDegrees(ee.latitude),z=gr.Math.toDegrees(ee.longitude),le=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(N),Ae=gr.Math.toDegrees(le.latitude),he=gr.Math.toDegrees(le.longitude),ge=gr.turf.lineString([[X,K],[he,Ae]]),de=gr.turf.lineString([[z,ie],[he,Ae]]),fe=!0,G=0;G<P.length&&P.length>=2;G++){var Y=P[G];if(G==0){if(gr.turf.lineIntersect(de,Y).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(G==P.length-1){if(gr.turf.lineIntersect(ge,Y).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(gr.turf.lineIntersect(ge,Y).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';return}if(gr.turf.lineIntersect(de,Y).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}}if(!fe)return}var H=E[E.length-2],J=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(H),K=gr.Math.toDegrees(J.latitude),X=gr.Math.toDegrees(J.longitude),ee=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(N),ie=gr.Math.toDegrees(ee.latitude),z=gr.Math.toDegrees(ee.longitude),oe=gr.turf.lineString([[X,K],[z,ie]]);P.push(oe)}E.push(N),C=new f._cesium.PolygonHierarchy(E),o.rectangle&&(R?(T=f._core.toDegrees(N),E=[gr.Cartesian3.fromDegrees(R.lon,R.lat),gr.Cartesian3.fromDegrees(R.lon,T.lat),gr.Cartesian3.fromDegrees(T.lon,T.lat),gr.Cartesian3.fromDegrees(T.lon,R.lat)],C=new f._cesium.PolygonHierarchy(E),x.hierarchy=C,o.pointSelect?(Q=void 0,M=void 0,D=!0):L()):R=f._core.toDegrees(N));var W=f._cesium.Cartographic.fromCartesian(E[E.length-1]),O=f._cesium.Math.toDegrees(W.longitude),re=f._cesium.Math.toDegrees(W.latitude),se=W.height;I.push({lon:O,lat:re,hei:se});var ce=f._viewer.entities.add({name:"\u591A\u8FB9\u5F62",position:N,point:{pixelSize:5,color:f._cesium.Color.RED.withAlpha(.5),outlineColor:f._cesium.Color.WHITE.withAlpha(.5),outlineWidth:1,heightReference:f._cesium.HeightReference.CLAMP_TO_GROUND}});f._tree.temporaryItem.obj.push(ce),S.label.push(ce),f._points.push(ce)}},f._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(U){D||E.length<=3||(m.show(!1),E.pop(),C=new f._cesium.PolygonHierarchy(E),o.pointSelect?(Q=void 0,M=void 0,D=!0):L())},f._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=U=>{if(m.show(!1),f._core.mouse(f._viewer.container,0),f._tree.handler.destroy(),f._tree.endtemporaryItem(),f.end=void 0,U==="cancel"&&!this.waterTimer&&(f.item&&f._viewer.entities.remove(f.item),this._points.length>0)){for(var N=0;N<this._points.length;N++)this._viewer.entities.remove(this._points[N]);this._points=[]}};function L(){f.end();let U=B/20;f.waterTimer=setInterval(function(){if(Q<M&&(Q+=U,f.item._polygon.extrudedHeight.setValue(Q),Q>=M)){clearInterval(f.waterTimer),f.waterTimer=void 0,Q=M,f._viewer.entities.remove(f.item),f.polygon1=new f._cesium.PolygonGeometry({polygonHierarchy:new f._cesium.PolygonHierarchy(E),extrudedHeight:M,height:0,vertexFormat:f._cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT});var N=new f._cesium.Primitive({geometryInstances:new f._cesium.GeometryInstance({geometry:f.polygon1}),appearance:new gr.EllipsoidSurfaceAppearance({material:new gr.Material({fabric:{type:"Water",uniforms:{baseWaterColor:o.watherColor||gr.Color.SKYBLUE.withAlpha(.6),blendColor:o.watherColor||gr.Color.SKYBLUE.withAlpha(.6),normalMap:o.url,frequency:o.frequency||1e3,animationSpeed:o.watherSpeed||.01,amplitude:o.amplitude||10}}})}),show:!0}),H=f._viewer.scene,J=H.primitives.add(N);S.ployline.push(J),f.item=N,A!=""&&A!=null&&typeof A=="function"&&A(Q),!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(w=Ke.selectedItem.id);var K=f._core.getuid(),X={id:K,name:"\u65B0\u5EFA\u6DF9\u6CA1\u5206\u6790"+K,pId:f._core.isnull(w)?0:w,type:"polygon",item:f};f.setTreeobj(X),Ke.insertGroupId(X,f._core.isnull(w)?0:w)}},50)}var F=function(){function U(N){this.options={name:"\u591A\u8FB9\u5F62",polygon:{hierarchy:[],material:f._cesium.Color.SKYBLUE.withAlpha(.5),heightReference:f._cesium.HeightReference.NONE,extrudedHeight:0}},this.hierarchy=N,this._init()}return U.prototype._init=function(){var N=this,H=function(){return N.hierarchy};this.options.polygon.hierarchy=new f._cesium.CallbackProperty(H,!1);var J=f._viewer.entities.add(this.options);f.item=J,f._tree.temporaryItem.obj.push(J);try{o!=null&&o!=""&&(o.waterHeight>0&&(Q=o.waterHeight),o.targetHeight>0&&(M=o.targetHeight),o.spood>0&&(B=o.spood),o.GroupID!=""&&o.GroupID!=null&&(w=o.GroupID))}catch(K){console.log(K)}},U}();return this};as.prototype.endWater=function(){this.end&&this.end(),this.waterTimer&&clearInterval(this.waterTimer),this._tree.endtemporaryItem(),this.deleteObject()};as.prototype.executePolygonymsdtt=function(o,A){var f=0;this._tree.removeHandler();var m=this;this._tree.starttemporaryItem(this._viewer),this._tree.handler=new m._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas);var C=[],E={},I=[],x=null,y=null,v={mj:0,label:{}};this._tree.handler.setInputAction(function(Q){var M=m._viewer.camera.getPickRay(Q.endPosition);y=m._viewer.scene.globe.pick(M,m._viewer.scene),C.length>=2&&(m._cesium.defined(x)?(C.pop(),C.push(y),E=new m._cesium.PolygonHierarchy(C)):(x=new w(C),E=new m._cesium.PolygonHierarchy(C)))},m._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(Q){var M=m._viewer.camera.getPickRay(Q.position);y=m._viewer.scene.globe.pick(M,m._viewer.scene),C.length==0&&(C.push(y.clone()),E=new m._cesium.PolygonHierarchy(C)),C.push(y),E=new m._cesium.PolygonHierarchy(C);var B=m._cesium.Cartographic.fromCartesian(C[C.length-1]),D=m._cesium.Math.toDegrees(B.longitude),S=m._cesium.Math.toDegrees(B.latitude),P=B.height;I.push({lon:D,lat:S,hei:P});var R=m._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:C[C.length-1],point:{pixelSize:5,color:m._cesium.Color.RED.withAlpha(.5),outlineColor:m._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:m._cesium.HeightReference.CLAMP_TO_GROUND}});m._tree.temporaryItem.obj.push(R),m._points.push(R)},m._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(Q){m._tree.handler.destroy();var M="\u5E73\u65B9\u5343\u7C73";f=M,v.mj=f,m._viewer.entities.remove(m.item),m.polygon1=new m._cesium.PolygonGeometry({polygonHierarchy:new m._cesium.PolygonHierarchy(C),extrudedHeight:0,height:0,vertexFormat:m._cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT});var B=new m._cesium.Primitive({geometryInstances:new m._cesium.GeometryInstance({geometry:m.polygon1}),appearance:new m._cesium.EllipsoidSurfaceAppearance({aboveGround:!0}),show:!0}),D=new m._cesium.Material({fabric:{type:"Water",uniforms:{normalMap:o.url,frequency:100,animationSpeed:.01,amplitude:10}}});B.appearance.material=D;var S=m._viewer.scene;m.polygon1=S.primitives.add(B),m._tree.endtemporaryItem(),C.pop(),E=new m._cesium.PolygonHierarchy(C)},m._cesium.ScreenSpaceEventType.RIGHT_CLICK);var w=function(){function Q(M){this.options={name:"\u591A\u8FB9\u5F62",polygon:{hierarchy:[],material:m._cesium.Color.SKYBLUE.withAlpha(.4),heightReference:m._cesium.HeightReference.NONE,extrudedHeight:0}},this.hierarchy=M,this._init()}return Q.prototype._init=function(){var M=this,B=function(){return M.hierarchy};this.options.polygon.hierarchy=new m._cesium.CallbackProperty(B,!1);var D=m._viewer.entities.add(this.options);m.item=D,m._tree.temporaryItem.obj.push(D);var S=0;!m._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(S=Ke.selectedItem.id);var P=m._core.getuid(),R={id:P,name:"\u65B0\u5EFA\u6C34\u9762"+P,pId:m._core.isnull(S)?0:S,type:"polyline",item:m};m.setTreeobj(R),Ke.insertGroupId(R,m._core.isnull(S)?0:S)},Q}();return this};as.prototype.executePolygontdmj=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var f=this;this._tree.starttemporaryItem(this._viewer),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this._tree.removeHandler();var m={mj:0,label:[],polygon:[]},C=!0,E=[],I={},x=void 0,y=this._viewer.scene,v=y.globe.ellipsoid,w,Q={point:f._cesium.Color.RED,polyline:f._cesium.Color.YELLOW,polygon:f._cesium.Color.YELLOW.withAlpha(.5)};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(Q.point=A.point),A.polyline!=""&&A.polyline!=null&&(Q.polyline=A.polyline),A.polygon!=""&&A.polygon!=null&&(Q.polygon=A.polygon));var M=this._core.CreateTooltip();this._tree.handler=new f._cesium.ScreenSpaceEventHandler(y.canvas);var B=0;let D;this._tree.handler.setInputAction(function(N){E.length===0?M.showAt(N.endPosition,f._lang.draw_tip_left):E.length<=2?M.showAt(N.endPosition,f._lang.draw_tip_click):M.showAt(N.endPosition,f._lang.draw_tip_right),w&&(f._viewer.entities.remove(w),w=void 0);var H=f._getPosition.getMousePosition(N,[m.polygon,m.label]),J;if(!!H&&(J=f._cesium.Ellipsoid.WGS84.cartesianToCartographic(H),J&&C&&(E.pop(),E.push(H),E.length>=3))){var K=String(T(x.path.positions));K=K.substr(0,K.indexOf(".",0)),K.length<6?B=K+"\u5E73\u65B9\u7C73":(K=String(K/1e6),K=K.substr(0,K.indexOf(".",0)+3),B=K+"\u5E73\u65B9\u5343\u7C73"),m.mj=B,w=f._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new gr.CallbackProperty(function(){let X=new gr.Cartesian3;return E.forEach(j=>{gr.Cartesian3.add(X,j,X)}),gr.Cartesian3.divideByScalar(X,E.length,new gr.Cartesian3)},!1),label:{text:B,font:"16px \u5B8B\u4F53",fillColor:gr.Color.GOLD,verticalOrigin:gr.VerticalOrigin.BOTTOM,pixelOffset:new gr.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new gr.DistanceDisplayCondition(0,D*1.5),heightReference:f._cesium.HeightReference.CLAMP_TO_GROUND}}),f._tree.temporaryItem.obj.push(w),f._points.push(w),m.label=w}},f._cesium.ScreenSpaceEventType.MOUSE_MOVE);var S=0;let P;this._tree.handler.setInputAction(function(N){var H=f._getPosition.getMousePosition(N,[m.polygon,m.label]),J;if(S=1,H&&(!D&&(D=f._core.getPointToCameraDistance(f._viewer,H)),C&&(E.length||E.push(H.clone()),E.push(H),I=new f._cesium.PolygonHierarchy(E),w&&(f._viewer.entities.remove(w),w=void 0),E.length===2&&(P=f._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new gr.CallbackProperty(()=>E,!1),clampToGround:!0,material:Q.polygon,width:3}})),E.length>=3&&!f._cesium.defined(x)&&(P&&f._viewer.entities.remove(P),x=new U(I,f._cesium)),E.length>=3))){var K=String(T(x.path.positions));K=K.substr(0,K.indexOf(".",0)),K.length<6?B=K+"\u5E73\u65B9\u7C73":(K=String(K/1e6),K=K.substr(0,K.indexOf(".",0)+3),B=K+"\u5E73\u65B9\u5343\u7C73"),m.mj=B,w=f._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new gr.CallbackProperty(function(){let X=new gr.Cartesian3;return E.forEach(j=>{gr.Cartesian3.add(X,j,X)}),gr.Cartesian3.divideByScalar(X,E.length,new gr.Cartesian3)},!1),label:{text:B,font:"16px \u5B8B\u4F53",fillColor:gr.Color.GOLD,verticalOrigin:gr.VerticalOrigin.BOTTOM,pixelOffset:new gr.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new gr.DistanceDisplayCondition(0,D*1.5),heightReference:f._cesium.HeightReference.CLAMP_TO_GROUND}}),f._tree.temporaryItem.obj.push(w),f._points.push(w),m.label=w}},f._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(){f.end&&f.end()},f._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(N){if(f._tree.handler.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK),f._tree.handler.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),f._cesium.trackedEntity=void 0,f.end=void 0,f._tree.endtemporaryItem(),C=!1,M.show(!1),f._tree.handler.destroy(),f._core.mouse(f._viewer.container,0,"0"),P&&f._viewer.entities.remove(P),N==="cancel"){f.deleteObject();return}E.length<3&&f.deleteObject(),o!=""&&o!=null&&typeof o=="function"&&o(m)};var R=function(N){for(var H=0,J=0,K=0,X=0;X<N.length;X++)H+=N[X].x,J+=N[X].y,K+=N[X].z;var j=new f._cesium.Cartesian3(H/N.length,J/N.length,K/N.length);return j},T=function(N){for(var H=new Array(N.length),J=0;J<N.length;J++)H[J]=L(v.cartesianToCartographic(N[J]));for(var K=0,J=0;J<H.length;J++)K+=H[J].longitude;K=K/H.length;for(var J=0;J<H.length;J++)H[J]=f._core.Gauss_to_XY(H[J].longitude,H[J].latitude,K,f._cesium);return Math.abs(F(H))},L=function(N){return N.longitude=N.longitude/Math.PI*180,N.latitude=N.latitude/Math.PI*180,N},F=function(N){for(var H=0,J=0;J<N.length;J++){var K=N[J],X;J<N.length-1?X=N[J+1]:X=N[0],H+=K.x*X.y-X.x*K.y}return H/2},U=function(){function N(H,J){if(!f._cesium.defined(H))throw new f._cesium.DeveloperError("positions is required!");if(H.length<3)throw new f._cesium.DeveloperError("positions \u7684\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E3");this.options={polygon:{show:!0,hierarchy:void 0,classificationType:f._cesium.ClassificationType.BOTH,material:Q.polygon}},this.path=H,this._init(J)}return N.prototype._init=function(H){var J=this,K=function(){return J.path};this.options.polygon.hierarchy=new f._cesium.CallbackProperty(K,!1),this.polygonEntity=f._viewer.entities.add(this.options),f.item=this.polygonEntity,f._tree.temporaryItem.obj.push(this.polygonEntity),m.polygon=this.polygonEntity,f._entity=this.polygonEntity},N}();return this};as.prototype.surfaceArea=function(o={},A){this._lang=this._core.extend(this._lang,language._lang);var f=this;this._tree.removeHandler(),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);var m={mj:0,label:void 0,polygon:void 0},C=[],E=[],I={},x=void 0,y=this._viewer.scene,v={point:o.point||gr.Color.RED,polyline:o.polyline||gr.Color.YELLOW,polygon:o.polygon||gr.Color.YELLOW.withAlpha(.5)},w=this._core.CreateTooltip();this._tree.handler=new f._cesium.ScreenSpaceEventHandler(y.canvas);let Q=!1,M;this._tree.handler.setInputAction(S=>{if(C.length===0?w.showAt(S.endPosition,f._lang.draw_tip_left):C.length<=2?w.showAt(S.endPosition,f._lang.draw_tip_click):w.showAt(S.endPosition,f._lang.draw_tip_right),!Q)return;let P=this._getPosition.getMousePosition(S,[m.polygon,m.label]);P&&(C.pop(),C.push(P))},gr.ScreenSpaceEventType.MOUSE_MOVE);let B;this._tree.handler.setInputAction(S=>{Q=!0;let P=this._getPosition.getMousePosition(S,[m.polygon,m.label]);if(P){!M&&(M=f._core.getPointToCameraDistance(f._viewer,P)),C.length||C.push(P.clone()),C.push(P);let R=this._core.toDegrees(P);E.push([R.lon,R.lat,R.height]),I=new f._cesium.PolygonHierarchy(C),C.length===2&&(B=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new gr.CallbackProperty(()=>C,!1),clampToGround:!0,material:v.polygon,width:3}})),C.length>=3&&!gr.defined(x)&&(B&&this._viewer.entities.remove(B),x=new D(I))}},gr.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(()=>{f.end&&f.end()},gr.ScreenSpaceEventType.RIGHT_CLICK),this.end=S=>{if(this.end=void 0,Q=!1,w.show(!1),f._tree.handler.destroy(),f._core.mouse(f._viewer.container,0,"0"),B&&f._viewer.entities.remove(B),S==="cancel"){this.deleteObject();return}if(C.pop(),C.length<3&&this.deleteObject(),E.length>2){let P=gr.BoundingSphere.fromPoints(C),R=this._core.getSpaceArea(this._viewer,E,{onlyTerrain:o.onlyTerrain,distance:o.distance||P.radius/20}),T=L=>{let{area:F,tin:U}=L;m.mj=F;let N=new gr.Cartesian3;E.forEach(K=>{gr.Cartesian3.add(N,{x:K[0],y:K[1],z:K[2]},N)});let H=gr.Cartesian3.divideByScalar(N,E.length,new gr.Cartesian3),J=this._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:gr.Cartesian3.fromDegrees(H.x,H.y,H.z),label:{text:F,font:"16px \u5B8B\u4F53",fillColor:gr.Color.GOLD,verticalOrigin:gr.VerticalOrigin.BOTTOM,pixelOffset:new gr.Cartesian2(20,-40),showBackground:!0,distanceDisplayCondition:new gr.DistanceDisplayCondition(0,M*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}});this._points.push(J),o.tin&&(this._viewer.entities.remove(m.polygon),U.features.forEach(K=>{if(K.positions){let X=this._viewer.entities.add({polygon:{hierarchy:new gr.PolygonHierarchy(K.positions),material:v.polygon,perPositionHeight:!0,outline:!0,distanceDisplayCondition:new gr.DistanceDisplayCondition(0,M*1.5),outlineColor:gr.Color.YELLOW}});this._points.push(X)}})),m.label=J,A&&typeof A=="function"&&A(m)};o.onlyTerrain?R.then(L=>{T(L)}):T(R)}};var D=function(){function S(P){if(!gr.defined(P))throw new gr.DeveloperError("positions is required!");if(P.length<3)throw new gr.DeveloperError("positions \u7684\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E3");this.options={polygon:{show:!0,hierarchy:void 0,classificationType:gr.ClassificationType.BOTH,material:v.polygon}},this.path=P,this._init()}return S.prototype._init=function(){var P=this,R=function(){return P.path};this.options.polygon.hierarchy=new gr.CallbackProperty(R,!1),this.polygonEntity=f._viewer.entities.add(this.options),f.item=this.polygonEntity,f._tree.temporaryItem.obj.push(this.polygonEntity),m.polygon=this.polygonEntity,f._entity=this.polygonEntity},S}();return this};as.prototype.setVisibility=function(o){if(this._points.length>0)for(var A=0;A<this._points.length;A++)this._points[A].show=o;this._lable&&(this._lable.show=o),this.item&&(this.item.show=o)};as.prototype.getVisibility=function(){return this.item.show};as.prototype.setRadius=function(o){try{for(var A=[],f=this.item._polygon.hierarchy.getValue(),m=this._viewer.scene.globe.ellipsoid,C=0;C<f.length;C++){var E=new this._cesium.Cartesian3(f[C].x,f[C].y,f[C].z),I=m.cartesianToCartographic(E),v=this._cesium.Math.toDegrees(I.latitude),w=this._cesium.Math.toDegrees(I.longitude);A.push(w),A.push(v)}var x=new this._cesium.Cartesian3(f[0].x,f[0].y,f[0].z),y=m.cartesianToCartographic(x),v=this._cesium.Math.toDegrees(y.latitude),w=this._cesium.Math.toDegrees(y.longitude);A.push(w),A.push(v),A=this._cesium.Cartesian3.fromDegreesArray(A),this.item.corridor=new this._cesium.CorridorGraphics({positions:A,width:o,material:this._cesium.Color.RED.withAlpha(.4)})}catch(Q){console.log(Q)}return this};as.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.polygon.hierarchy.getValue(),f=this.item.polygon.height==null?void 0:this.item.polygon.height._value,m=this.item.polygon.extrudedHeight==null?void 0:this.item.polygon.extrudedHeight._value,C=this.item.polygon.stRotation==null?void 0:this.item.polygon.stRotation._value,E=this.item.polygon.fill==null?void 0:this.item.polygon.fill._value,I=this.item.polygon.material;I!=null&&(I={color:I.color==null?void 0:"rgba("+I.color._value.red+","+I.color._value.green+","+I.color._value.blue+","+I.color._value.alpha+")",image:I.image==null?void 0:I.image._value,diffusemap:I.diffusemap==null?void 0:I.diffusemap._value,alphamap:I.alphamap==null?void 0:I.alphamap._value});var x=this.item.polygon.outline==null?void 0:this.item.polygon.outline._value,y=this.item.polygon.outlineColor==null?void 0:"rgba("+this.item.polygon.outlineColor._value.red+","+this.item.polygon.outlineColor._value.green+","+this.item.polygon.outlineColor._value.blue+","+this.item.polygon.outlineColor._value.alpha+")",v=this.item.polygon.outlineWidth==null?void 0:this.item.polygon.outlineWidth._value,w=this.item.polygon.perPositionHeight==null?void 0:this.item.polygon.perPositionHeight._value,Q=this.item.polygon.closeTop==null?void 0:this.item.polygon.closeTop._value,M=this.item.polygon.closeBottom==null?void 0:this.item.polygon.closeBottom._value,B=this.item.polygon.distanceDisplayCondition,D=B?._value.near,S=B?._value.far;return{type:"polygon",treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,hierarchy:A,height:f,extrudedHeight:m,stRotation:C,fill:E,material:I,outline:x,outlineColor:y,outlineWidth:v,perPositionHeight:w,closeTop:Q,closeBottom:M,near:D,far:S}}};as.prototype.setTreeobj=function(o){this.treeobj=o};as.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._polygon.distanceDisplayCondition=f}catch(m){console.log(m)}return this};as.prototype.setPolygonAlpha=function(o){try{this.item._polygon.material.color._value.alpha=o}catch(A){console.log(A)}return this};as.prototype.setPolygonColor=function(o){try{this.item._polygon.material.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};as.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._polygon.distanceDisplayCondition=f}catch(m){console.log(m)}return this};as.prototype.setPolygonImage=function(o){try{this.item._polygon.material=new this._cesium.ImageMaterialProperty({image:o})}catch(A){console.log(A)}return this};as.prototype.setPolygonRepeat=function(o,A){try{this.item._polygon.material.repeat=new this._cesium.Cartesian2(o,A)}catch(f){console.log(f)}return this};as.prototype.setOutlineColor=function(o){try{this.item._polygon.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};as.prototype.setOutline=function(o){try{this.item._polygon.outline=o}catch(A){console.log(A)}return this};as.prototype.setExtrudedHeight=function(o){try{this.item._polygon.extrudedHeight=o}catch(A){console.log(A)}return this};as.prototype.setHeight=function(o){try{this.item._polygon.height=o}catch(A){console.log(A)}return this};as.prototype.setHeightType=function(o){try{o==1?this.item._polygon.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._polygon.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._polygon.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};Object.defineProperties(as.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});Object.defineProperties(as.prototype,{HighLight:{set:function(o){o&&(this.item.material=this.item.polygon.material),o?this.item.polygon.material=new hn(this._viewer,this._cesium).colorFromHtmlColor(this._core.selectedColor):this.item.polygon.material=this.item.material}},polygonShow:{set:Ii.debounce(function(o){this.item.polygon.show=o},500),get:function(){return this.item.polygon.b}},polygonHeight:{set:Ii.debounce(function(o){this._core.isnull(o)||(/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,"")),this.item.polygon.height=o)},500),get:function(){var o=this.item.polygon.height;if(o)return o._value}},polygonHeightReference:{set:Ii.debounce(function(o){this._core.isnull(o)||(this.item.polygon.heightReference=o)},500),get:function(){var o=this.item.polygon.heightReference;if(o)return o._value}},polygonExtrudedHeight:{set:Ii.debounce(function(o){this._core.isnull(o)||(/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,"")),this.item.polygon.extrudedHeight=o)},500),get:function(){var o=this.item.polygon.extrudedHeight;if(o)return o._value}},polygonExtrudedHeightReference:{set:Ii.debounce(function(o){this._core.isnull(o)||(this.item.polygon.extrudedHeightReference=o)},500),get:function(){var o=this.item.polygon.extrudedHeightReference;if(o)return o._value}},polygonFill:{set:Ii.debounce(function(o){this.item.polygon.fill=o},500),get:function(){var o=this.item.polygon.fill;if(o)return o._value}},polygonMaterial:{set:Ii.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.polygon.material=o,this.item.material=this.item.polygon.material)},500),get:function(){var o=this.item.polygon.material;try{return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}catch{}}},polygonMaterialAlpha:{set:Ii.debounce(function(o){this._core.isnull(o)||(this.item.polygon.material.color.alpha=o)},500),get:function(){this.item.polygon.material;try{return this.item.polygon.material.color.alpha}catch{}}},polygonOutline:{set:Ii.debounce(function(o){this._core.isnull(o)||(this.item.polygon.outline=o)},500),get:function(){var o=this.item.polygon.outline;if(o)return o._value}},polygonOutlineColor:{set:Ii.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.polygon.outlineColor=o)},500),get:function(){var o=this.item.polygon.outlineColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},polygonOutlineWidth:{set:Ii.debounce(function(o){this._core.isnull(o)||(/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,"")),this.item.polygon.outlineWidth=o)},500),get:function(){var o=this.item.polygon.outlineWidth;if(o)return o._value}}});as.prototype.setItem=function(o){this.item=o};Object.defineProperties(as.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});Object.defineProperties(as.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(as.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(as.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(as.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});Object.defineProperties(as.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(as.prototype,{polygonTempOptions:{get:function(){return{height:0,extrudedHeight:0,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,stRotation:1,granularity:this._cesium.Math.RADIANS_PER_DEGREE,perPositionHeight:!1,closeTop:!0,closeBottom:!0,shadows:ShadowMode.DISABLED,classificationType:ClassificationType.BOTH,arcType:ArcType.GEODESIC}}}});Object.defineProperties(as.prototype,{Visibility:{get:function(){return this.item.show}},PolygonColor:{get:function(){var o=this.item._polygon.material.color._value;if(o)return new hn(this._viewer,this._cesium).toHtmlColor("rgb("+o.red*255+","+o.green*255+","+o.blue*255+")")}},PolygonAlpha:{get:function(){if(this.item._polygon.material.color)return this.item._polygon.material.color._value.alpha||1}},Outline:{get:function(){if(this.item._polygon.outline)return this.item._polygon.outline._value}},OutlineColor:{get:function(){var o=this.item._polygon.outlineColor;if(this.item._polygon.outlineColor)return o=o._value,new hn(this._viewer,this._cesium).toHtmlColor("rgb("+o.red*255+","+o.green*255+","+o.blue*255+")")}},ExtrudedHeight:{get:function(){if(this.item._polygon.extrudedHeight)return this.item._polygon.extrudedHeight._value}},Height:{get:function(){return this.item._polygon.height}},PolygonImage:{get:function(){if(this.item._polygon.material.uniforms)return this.item._polygon.material.uniforms.image}},PolygonRepeat:{get:function(){if(this.item._polygon.material.uniforms)return this.item._polygon.material.repeat}}});as.prototype.forceEndHanlder=function(){this._tree.handler&&(this._tree.handler.destroy(),this._tree.handler=void 0)};var S0=as;function _bi(o,A,f,m){var C=0,E=6378137,I=Math.PI;function x(H){return H*I/180}var y=x((o+f)/2),v=x((o-f)/2),w=x((A-m)/2),Q=Math.sin(v),M=Math.sin(w),B=Math.sin(y),D,S,P,R,T,L,F,U=E,N=1/298.257;return Q=Q*Q,M=M*M,B=B*B,D=Q*(1-M)+(1-B)*M,S=(1-Q)*(1-M)+B*M,P=Math.atan(Math.sqrt(D/S)),R=Math.sqrt(D*S)/P,T=2*P*U,L=(3*R-1)/2/S,F=(3*R+1)/2/D,C=T*(1+N*(L*B*(1-Q)-F*(1-B)*Q)),C}var Xh=_bi;var cr=null;function ia(o,A){cr=A,this._viewer=o,this._cesium=A,this._Color=new hn(this._viewer,this._cesium),this._core=new Ji(o,A),this._getPosition=new hl(this._viewer,this._cesium),this._tree=Ke,this._points=[],this._polylines=[],this._lang={draw_tip_left:"\u5DE6\u952E\u5F00\u59CB\u7ED8\u5236\uFF01",draw_tip_right:"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236\uFF01",draw_tip_click:"\u70B9\u51FB\u7EE7\u7EED\u7ED8\u5236\uFF01",draw_tip_cancel:"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88\uFF01",unit_m:"\u7C73",unit_km:"\u5343\u7C73"}}ia.prototype.createPolyline=function(o,A,f,m,C){var E=[];if(Array.isArray(o)){if(!o[0].x&&!o[0].y){if(o[0].length===2)for(var I=0;I<o.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(o[I][0],o[I][1]));else if(o[0].length===3)for(var I=0;I<o.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(o[I][0],o[I][1],o[I][2]))}else if(o[0].z!==void 0)for(var I=0;I<o.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(o[I].x,o[I].y,o[I].z));else for(var I=0;I<o.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(o[I].x,o[I].y));var x=!0;f===2&&(x=!1),this.item=this._viewer.entities.add({polyline:{positions:E,width:10,material:new this._cesium.PolylineGlowMaterialProperty({outlineColor:this._cesium.Color.BLACK,color:new hn(this._viewer,this._cesium).colorFromHtmlColor(A)}),clampToGround:x}})}else if(typeof o=="object"){let v=this._core.defaultValue(o.alpha,.6);o.points.forEach(w=>{E.push(cr.Cartesian3.fromDegrees(w.x,w.y,w.z))}),this.item=this._viewer.entities.add({id:o.id,polyline:{positions:E,width:o.width||4,material:cr.Color.fromCssColorString(o.color||"#f00").withAlpha(v),clampToGround:o.clampToGround}}),this.item.objectType="polyline"}var y={id:this.item.id,name:C,pId:this._core.isnull(m)?0:m,type:"polyline",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(m)?0:m),this};ia.prototype.getstyles=function(){var o={};return o.show=this.item.polyline.show?this.item.polyline.show.getValue():!0,o.positions=this.item.polyline.positions.getValue().toString(),o.width=this.item.polyline.width.toString(),o.granularity=this.item.polyline.granularity?this.item.polyline.granularity.toString():null,o.material={},o.material.color=this.item.polyline.material&&this.item.polyline.material.color&&this.item.polyline.material.color._value?"rgba"+this.item.polyline.material.color.toString():null,o.material.outlineColor=this.item.polyline.material.outlineColor&&this.item.polyline.material.outlineColor._value?"rgba"+this.item.polyline.material.outlineColor.toString():null,o.material.outlineWidth=this.item.polyline.material.outlineWidth&&this.item.polyline.material.outlineWidth._value?this.item.polyline.material.outlineWidth.toString():null,o.classificationType=this.item.polyline.classificationType?this.item.polyline.classificationType.toString():null,o.near=this.item.polyline.distanceDisplayCondition?this.item.polyline.distanceDisplayCondition._value.near:null,o.far=this.item.polyline.distanceDisplayCondition?this.item.polyline.distanceDisplayCondition._value.far:null,o};ia.prototype.createLink=function(o,A,f){!f&&(f={});var m=[],C=[];if(o.lon&&o.lat?o.height!==void 0?(m.push(this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height)),m.push(this._cesium.Cartesian3.fromDegrees(A.lon,A.lat,A.height)),C.push({x:o.lon,y:o.lat,z:o.height},{x:A.lon,y:A.lat,z:A.height})):(m.push(this._cesium.Cartesian3.fromDegrees(o.lon,o.lat)),m.push(this._cesium.Cartesian3.fromDegrees(A.lon,A.lat)),C.push({x:o.lon,y:o.lat,z:0},{x:A.lon,y:A.lat,z:0})):o.x&&o.y?o.z!==void 0?(m.push(this._cesium.Cartesian3.fromDegrees(o.x,o.y,o.z)),m.push(this._cesium.Cartesian3.fromDegrees(A.x,A.y,A.z)),C.push(o,A)):(m.push(this._cesium.Cartesian3.fromDegrees(o.x,o.y)),m.push(this._cesium.Cartesian3.fromDegrees(A.x,A.y)),o.z=0,A.z=0,C.push(o,A)):o.length===2?(m.push(this._cesium.Cartesian3.fromDegrees(o[0],o[1])),m.push(this._cesium.Cartesian3.fromDegrees(A[0],A[1])),C.push({x:o[0],y:o[1],z:0},{x:A[0],y:A[1],z:0})):o.length===3&&(m.push(this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2])),m.push(this._cesium.Cartesian3.fromDegrees(A[0],A[1],A[2])),C.push({x:o[0],y:o[1],z:o[2]},{x:A[0],y:A[1],z:A[2]})),f.lineType===1?f.material=new this._cesium.PolylineDashMaterialProperty({color:this._core.defaultValue(f.lineColor&&this._cesium.Color.fromCssColorString(f.lineColor),this._cesium.Color.AQUAMARINE)}):f.lineType===2?f.material=new this._cesium.PolylineGlowMaterialProperty({glowPower:.3,color:this._core.defaultValue(f.lineColor&&this._cesium.Color.fromCssColorString(f.lineColor),this._cesium.Color.BLUE)}):f.material=this._core.defaultValue(f.lineColor&&this._cesium.Color.fromCssColorString(f.lineColor),this._cesium.Color.AQUAMARINE),f.cylinder){var E=C[1].z-C[0].z,I=cr.Cartesian3.fromDegrees(C[0].x,C[0].y,0),x=cr.Cartesian3.fromDegrees(C[1].x,C[0].y,0),y=this._core.getSpaceDistancem([I,x],this._cesium),v=E===0?Math.PI/2:Math.atan(y/E),w=this._core.getSpaceDistancem(m,this._cesium),Q=cr.Cartesian3.fromDegrees(C[0].x,C[1].y,0);y=this._core.getSpaceDistancem([I,Q],this._cesium);var M=Math.asin(y/w);C[0].x>C[1].x&&C[0].y>C[1].y?M=E<0?-M:M:C[0].x>C[1].x&&C[0].y<C[1].y?M=E>=0?-M:M:C[0].x<C[1].x&&C[0].y<=C[1].y?(v=E!==0?-v:v,M=E>0?-M:M):C[0].x<C[1].x&&C[0].y>C[1].y&&(M=E<0?-M:M,v=-v);var B=new cr.HeadingPitchRoll(0,v,M)}var D=m[0];this.item=this._viewer.entities.add({position:new this._cesium.CallbackProperty(function(){return D},!1),orientation:f.cylinder?new this._cesium.CallbackProperty(function(){return cr.Transforms.headingPitchRollQuaternion(D,B)},!1):void 0,polyline:{positions:m,width:this._core.defaultValue(f.width,2),material:f.material,clampToGround:!1},cylinder:f.cylinder?{length:this._core.defaultValue(f.length,20),topRadius:this._core.defaultValue(f.size,8),bottomRadius:this._core.defaultValue(f.size,8),material:this._core.defaultValue(f.pointColor&&this._cesium.Color.fromCssColorString(f.pointColor),this._cesium.Color.RED)}:void 0,point:f.cylinder?void 0:{color:this._core.defaultValue(f.pointColor&&this._cesium.Color.fromCssColorString(f.pointColor),this._cesium.Color.RED),outlineColor:this._core.defaultValue(f.outlineColor&&this._cesium.Color.fromCssColorString(f.outlineColor),this._cesium.Color.YELLOW),outlineWidth:this._core.defaultValue(f.outlineWidth,2),pixelSize:this._core.defaultValue(f.size,8)}});var S=this._core.defaultValue(f.num,200),P=this._cesium.Math.lerp(C[0].x,C[1].x,1/S)-C[0].x,R=this._cesium.Math.lerp(C[0].y,C[1].y,1/S)-C[0].y,T=this._cesium.Math.lerp(C[0].z,C[1].z,1/S)-C[0].z,L=[];L.push(m[0]);for(let H=0;H<S;H++){let J=C[0].x+(H+1)*P,K=C[0].y+(H+1)*R,X=C[0].z+(H+1)*T;L.push(this._cesium.Cartesian3.fromDegrees(J,K,X))}L.push(m[1]);var F=this._core.defaultValue(f.speed,1),U=0;this._viewer.clock.onTick.addEventListener(function(){U+=F,U=parseInt(U),(U>=L.length-1&&F>0||U<=0&&F<0)&&(F=-F),D=L[U]});var N={id:this.item.id,name:"\u65B0\u5EFA\u94FE\u8DEF",pId:0,type:"polyline",item:this};return this.setTreeobj(N),this._tree.insertGroupId(N,0),this};ia.prototype.createLinkPros=function(o){this._lang=this._core.extend(this._lang,language._lang);var E=this;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var A=[],f=null,m="0\u7C73",C=null,E=this,I,x="",y,v=this._core.CreateTooltip(),w={name:"",spot:[],distance:[],label:[],ployline:[]},Q={point:E._cesium.Color.RED,polyline:E._cesium.Color.BLUE};this._tree.handler.setInputAction(function(B){C=E._getPosition.getMousePosition(B),C&&(A.length===0?v.showAt(B.endPosition,E._lang.draw_tip_left):v.showAt(B.endPosition,E._lang.draw_tip_right),A.length>=2&&(E._cesium.defined(f)?(A.length>E._points.length&&A.pop(),A.push(C)):f=new M(A)))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(B){var D=E._viewer.camera.getPickRay(B.position);if(C=E._getPosition.getMousePosition(B),!!C){A.length==0?A.push(C,C):A.length>E._points.length?(A.pop(),A.push(C)):A.push(C,C),A.length>=2&&(E._cesium.defined(f)||(f=new M(A)),m=E._core.getSpaceDistance(A,E._cesium)),y&&(E._viewer.entities.remove(y),y=void 0);var S=m;x="\u603B\u957F\uFF1A"+m,w.spot.push(C),w.distance.push(m)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(B){E.end&&E.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=B=>{if(v.show(!1),E._tree&&E._tree.handler.destroy(),E._core.mouse(E._viewer.container,0,"0"),E.end=void 0,!!f){var D={width:4,lineColor:"#0000ff"},S=f.positions;E._tree&&E._tree.endtemporaryItem(),y&&(E._viewer.entities.remove(y),y=void 0,A.pop()),E._points[E._points.length-1]&&(E._points[E._points.length-1].label.text=x),E._viewer.entities.remove(E.item),!(B==="cancel"||A.length<2)&&(E.item=E._viewer.entities.add({name:"\u65B0\u5EFA\u94FE\u8DEF",polyline:{positions:S,width:E._core.defaultValue(D.width,2),material:E._core.getLinkMaterial(D.lineColor,D.pointColor,D.time),clampToGround:!0}}),o&&o(E.item))}};var M=function(){function B(D){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:Q.polyline,width:3,clampToGround:!0}},this.positions=D,this._init()}return B.prototype._init=function(){var D=this,S=function(){return D.positions};this.options.polyline.positions=new E._cesium.CallbackProperty(S,!1);var P=E._viewer.entities.add(this.options);E.item=P,E._tree.temporaryItem.obj.push(P),w.ployline.push(P);var R=E._core.getuid();w.name="\u65B0\u5EFA\u7A7A\u95F4\u8DDD\u79BB"+R},B}();return this};ia.prototype.createLandingLine=function(o,A={}){var f=[];if(o.lon&&o.lat)f.push(cr.Cartesian3.fromDegrees(o.lon,o.lat,o.height)),f.push(cr.Cartesian3.fromDegrees(o.lon,o.lat,0));else if(Array.isArray(o))f.push(cr.Cartesian3.fromDegrees(o[0],o[1],o[2])),f.push(cr.Cartesian3.fromDegrees(o[0],o[1],0));else if(o instanceof cr.Cartesian3){f.push(o);let C=this._core.toDegrees(o);f.push(cr.Cartesian3.fromDegrees(C.lon,C.lat,0))}this.item=this._viewer.entities.add({name:"\u65B0\u5EFA\u63A5\u5730\u7EBF",polyline:{positions:new cr.CallbackProperty(function(){return f},!1),width:this._core.defaultValue(A.width,2),material:cr.Color.fromCssColorString(A.color||"#fff")}}),this.positions={get value(){return f},set value(C){f[0]=C;let E=cr.Cartographic.fromCartesian(C);E.height=0,f[1]=cr.Cartographic.toCartesian(E)}};var m={id:this.item.id,name:"\u65B0\u5EFA\u63A5\u5730\u7EBF",pId:0,type:"polyline",item:this};return this.setTreeobj(m),this._tree.insertGroupId(m,0),this};ia.prototype.createLinkPro=function(o,A,f){!f&&(f={});var m=[],C=[];o.lon&&o.lat?o.height!==void 0?(m.push(this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height)),m.push(this._cesium.Cartesian3.fromDegrees(A.lon,A.lat,A.height)),C.push({x:o.lon,y:o.lat,z:o.height},{x:A.lon,y:A.lat,z:A.height})):(m.push(this._cesium.Cartesian3.fromDegrees(o.lon,o.lat)),m.push(this._cesium.Cartesian3.fromDegrees(A.lon,A.lat)),C.push({x:o.lon,y:o.lat,z:0},{x:A.lon,y:A.lat,z:0})):o.x&&o.y?o.z!==void 0?(m.push(this._cesium.Cartesian3.fromDegrees(o.x,o.y,o.z)),m.push(this._cesium.Cartesian3.fromDegrees(A.x,A.y,A.z)),C.push(o,A)):(m.push(this._cesium.Cartesian3.fromDegrees(o.x,o.y)),m.push(this._cesium.Cartesian3.fromDegrees(A.x,A.y)),o.z=0,A.z=0,C.push(o,A)):o.length===2?(m.push(this._cesium.Cartesian3.fromDegrees(o[0],o[1])),m.push(this._cesium.Cartesian3.fromDegrees(A[0],A[1])),C.push({x:o[0],y:o[1],z:0},{x:A[0],y:A[1],z:0})):o.length===3&&(m.push(this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2])),m.push(this._cesium.Cartesian3.fromDegrees(A[0],A[1],A[2])),C.push({x:o[0],y:o[1],z:o[2]},{x:A[0],y:A[1],z:A[2]})),this.item=this._viewer.entities.add({name:"\u65B0\u5EFA\u94FE\u8DEF",polyline:{positions:m,width:this._core.defaultValue(f.width,2),material:this._core.getLinkMaterial(f.lineColor,f.pointColor,f.time),clampToGround:f.clampToGround}});var E={id:this.item.id,name:"\u65B0\u5EFA\u94FE\u8DEF",pId:0,type:"polyline",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,0),this};ia.prototype.executePolyline=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var f={},m=this,C=function(){function v(w){this.options={polyline:{show:!0,positions:[],material:new m._cesium.PolylineOutlineMaterialProperty({color:m._core.defaultValue(o.color,m._cesium.Color.YELLOW)}),clampToGround:m._core.defaultValue(o.clampToGround,!0),width:m._core.defaultValue(o.width,3)}},this.positions=w,this._init()}return v.prototype._init=function(){var w=this,Q=function(){return w.positions};this.options.polyline.positions=new m._cesium.CallbackProperty(Q,!1),this.polyline=m._viewer.entities.add(this.options),m.item=this.polyline},v}(),E=new m._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas),I=[],x=void 0,y=this._core.CreateTooltip();return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),E.setInputAction(function(v){var w=m._getPosition.getMousePosition(v);I.length==0&&I.push(w.clone()),I.push(w)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),E.setInputAction(function(v){I.length===0?y.showAt(v.endPosition,m._lang.draw_tip_left):y.showAt(v.endPosition,m._lang.draw_tip_right);var w=m._getPosition.getMousePosition(v);I.length>=2&&(m._cesium.defined(x)?w!=null&&(I.pop(),w.y+=1+Math.random(),I.push(w)):x=new C(I))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),E.setInputAction(function(v){y.show(!1);var w={polyline:{},positions:[],positionsp:[],distance:[]};w.setDistance=function(){alert("qq")},E.destroy(),w.polyline=x;for(var Q=[],M=0;M<I.length;M++){var B=m._cesium.Cartographic.fromCartesian(I[M]),D=m._cesium.Math.toDegrees(B.longitude),S=m._cesium.Math.toDegrees(B.latitude),P=B.height;Q.push({lon:D,lat:S,hei:P})}w.positions=Q;for(var R=1;R<I.length;R++)w.distance[R-1]=Xh(I[R-1].y,I[R-1].x,I[R].y,I[R].x);w.positionsp=I,m._core.mouse(m._viewer.container,0,"0"),typeof A=="function"&&A(w)},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};ia.prototype.executePolyline1=function(o,A){this._lang=this._core.extend(this._lang,language._lang);let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null;var x=this;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var m=[],C=null,E="0\u7C73",I=null,x=this,y,v="",w,Q=this._core.CreateTooltip(),M={name:"",spot:[],distance:[],label:[],ployline:[]},B={point:x._cesium.Color.RED,polyline:x._cesium.Color.YELLOW};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(B.point=A.point),A.polyline!=""&&A.polyline!=null&&(B.polyline=A.polyline));let D;this._tree.handler.setInputAction(function(P){I=x._getPosition.getMousePosition(P),I&&(m.length===0?Q.showAt(P.endPosition,x._lang.draw_tip_left):Q.showAt(P.endPosition,x._lang.draw_tip_right),m.length>=2&&(x._cesium.defined(C)?(m.length>x._points.length&&m.pop(),m.push(I)):C=new S(m),E=x._core.getSpaceDistance(m,x._cesium)),w&&(x._viewer.entities.remove(w),w=void 0),w=x._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:m[m.length-1],label:{text:"\u603B\u957F\uFF1A"+E,font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,D*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),x._tree.temporaryItem.obj.push(w))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(P){var R=x._viewer.camera.getPickRay(P.position);if(I=x._getPosition.getMousePosition(P),!!I){!D&&(D=x._core.getPointToCameraDistance(x._viewer,I)),m.length==0?m.push(I,I):m.length>x._points.length?(m.pop(),m.push(I)):m.push(I,I),m.length>=2&&(x._cesium.defined(C)||(C=new S(m)),E=x._core.getSpaceDistance(m,x._cesium)),w&&(x._viewer.entities.remove(w),w=void 0);var T=E;v="\u603B\u957F\uFF1A"+E,y=x._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:m[m.length-1],point:{pixelSize:5,color:B.point.withAlpha(.5),outlineColor:x._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,D*1.5),outlineWidth:2,clampToGround:!0},label:{text:T,font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,D*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),x._tree.temporaryItem.obj.push(y),x._points.push(y),M.spot.push(I),M.distance.push(E),M.label.push(y)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(P){x.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(P){if(Q.show(!1),x._tree&&x._tree.endtemporaryItem(),x.end=void 0,w&&(x._viewer.entities.remove(w),w=void 0,m.pop()),x._points[x._points.length-1]&&(x._points[x._points.length-1].label.text=v),x._tree&&x._tree.handler.destroy(),x._core.mouse(x._viewer.container,0,"0"),P==="cancel"){x.deleteObject();return}m.length<2&&x.deleteObject(),o!=""&&o!=null&&typeof o=="function"&&o(M)};var S=function(){function P(R){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:B.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,D*1.5),width:3,clampToGround:!1}},this.positions=R,this._init()}return P.prototype._init=function(){var R=this,T=function(){return R.positions};this.options.polyline.positions=new x._cesium.CallbackProperty(T,!1);var L=x._viewer.entities.add(this.options);x.item=L,x._tree.temporaryItem.obj.push(L),M.ployline.push(L);var F=x._core.getuid();M.name="\u65B0\u5EFA\u7A7A\u95F4\u8DDD\u79BB"+F},P}();return this};ia.prototype.spaceDistance=ia.prototype.executePolyline1;ia.prototype.executeHorizontal=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var I=this;this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var f=[],m=null,C="0\u7C73",E=null,I=this,x,y=[],v="",w,Q=this._core.CreateTooltip(),M={spot:[],distance:[],label:[],ployline:[]},B={point:I._cesium.Color.RED,polyline:I._cesium.Color.YELLOW};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(B.point=A.point),A.polyline!=""&&A.polyline!=null&&(B.polyline=A.polyline));let D;this._tree.handler.setInputAction(function(R){E=I._getPosition.getMousePosition(R),E&&(f.length===0?Q.showAt(R.endPosition,I._lang.draw_tip_left):Q.showAt(R.endPosition,I._lang.draw_tip_right),f.length>=2&&(I._cesium.defined(m)?(f.pop(),f.push(E)):m=new P(f),C=I._core.getSpaceDistance(f,I._cesium)),I._viewer.entities.remove(w),w=I._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:f[f.length-1],label:{text:"\u603B\u957F\uFF1A"+C,font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,D*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),I._tree.temporaryItem.obj.push(w))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(R){var T=I._viewer.camera.getPickRay(R.position);if(E=I._getPosition.getMousePosition(R),!!E){!D&&(D=I._core.getPointToCameraDistance(I._viewer,E)),S(E),f.length==0&&f.push(E.clone()),f.push(E);var L=C;v="\u603B\u957F\uFF1A"+C,x=I._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:f[f.length-1],point:{pixelSize:5,color:B.point.withAlpha(.5),outlineColor:I._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,D*1.5),outlineWidth:2,clampToGround:!0},label:{text:L,font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,D*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),I._tree.temporaryItem.obj.push(x),I._points.push(x),M.spot.push(E),M.distance.push(C),M.label.push(x)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK);var S=function(R){polylineCartographic.push(R);var T=[];if(polylineCartographic.length>1){var L=polylineCartographic[polylineCartographic.length-2],F=polylineCartographic[polylineCartographic.length-1],U=Math.abs(L.longitude-F.longitude)*1e7,N=Math.abs(L.latitude-F.latitude)*1e7;U>N&&(N=U);var H=parseInt(N/10);H>1e3&&(H=1e3),H<2&&(H=2);for(var J=0;J<H;++J)T.push(new I._cesium.Cartographic(I._cesium.Math.lerp(L.longitude,F.longitude,J/(H-1)),I._cesium.Math.lerp(L.latitude,F.latitude,J/(H-1))))}else T=polylineCartographic;if(T.length>0)for(var K=0;K<T.length;K++){var R=T[K],X=I._viewer.scene.globe.getHeight(R),j=I._cesium.Cartesian3.fromDegrees(R.longitude/Math.PI*180,R.latitude/Math.PI*180,X);y.push(j)}};this._tree.handler.setInputAction(function(R){Q.show(!1),I._tree.endtemporaryItem(),I._viewer.entities.remove(w),I._points[I._points.length-1].label.text=v,I._tree.handler.destroy(),f.pop(),o!=""&&o!=null&&typeof o=="function"&&o(M)},this._cesium.ScreenSpaceEventType.RIGHT_CLICK);var P=function(){function R(T){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:B.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,D*1.5),width:3,clampToGround:!1}},this.positions=T,this._init()}return R.prototype._init=function(){var T=this,L=function(){return T.positions};this.options.polyline.positions=new I._cesium.CallbackProperty(L,!1);var F=I._viewer.entities.add(this.options);I.item=F,I._tree.temporaryItem.obj.push(F),M.ployline.push(F)},R}();return this};ia.prototype.executeHorizontals=function(o,A){this._lang=this._core.extend(this._lang,language._lang);let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null,this._tree.removeHandler(),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this._tree.starttemporaryItem(this._viewer);var m=this,C=!1,E=[],I="",x=[],y=void 0,v=m._viewer.scene,w=v.globe.ellipsoid,Q={name:"",spot:[],distance:[],label:[],polyline:[]},M={point:m._cesium.Color.RED,polyline:m._cesium.Color.YELLOW};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(M.point=A.point),A.polyline!=""&&A.polyline!=null&&(M.polyline=A.polyline));var B=new m._cesium.BillboardCollection;v.primitives.add(B);var D=new m._cesium.WebMercatorProjection;this._tree.handler=new m._cesium.ScreenSpaceEventHandler(v.canvas);var S=this._core.CreateTooltip(),P=[],R=void 0,T=[],L;C=!0;let F;this._tree.handler.setInputAction(function(J){var K,X;if(E.length===0?S.showAt(J.endPosition,m._lang.draw_tip_left):S.showAt(J.endPosition,m._lang.draw_tip_right),K=m._getPosition.getMousePosition(J,Q.polyline.concat(Q.label)),!!K&&(X=m._cesium.Ellipsoid.WGS84.cartesianToCartographic(K),X)){var j=K;if(C){if(E.length<1)return;m._cesium.defined(y)?(y.path.pop(),y.path.push(j),T.pop(),T.push(j)):y=new H(E,m._cesium);var ee=N(T);L&&(m._viewer.entities.remove(L),L=void 0),L=m._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:y.path[y.path.length-1],label:{text:"\u603B\u957F\uFF1A"+ee,font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,F*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}})}}},m._cesium.ScreenSpaceEventType.MOUSE_MOVE);var U=function(J){x.push(J);var K=[];if(x.length>1){var X=x[x.length-2],j=x[x.length-1],ee=Math.abs(X.longitude-j.longitude)*1e7,ie=Math.abs(X.latitude-j.latitude)*1e7;ee>ie&&(ie=ee);var z=parseInt(ie/10);z>1e3&&(z=1e3),z<2&&(z=2);for(var oe=0;oe<z;++oe)K.push(new m._cesium.Cartographic(m._cesium.Math.lerp(X.longitude,j.longitude,oe/(z-1)),m._cesium.Math.lerp(X.latitude,j.latitude,oe/(z-1))));K.push(j.clone())}else K=x;if(K.length>0)for(var le=0;le<K.length;le++){var J=K[le],Ae=m._viewer.scene.globe.getHeight(J),he=m._cesium.Cartesian3.fromRadians(J.longitude,J.latitude,Ae);T.push(he)}};this._tree.handler.setInputAction(function(J){var K=m._getPosition.getMousePosition(J,Q.polyline.concat(Q.label)),X;if(K&&(X=m._cesium.Ellipsoid.WGS84.cartesianToCartographic(K)),X){!F&&(F=m._core.getPointToCameraDistance(m._viewer,K));var j=K;if(C){T.length>0&&T.pop(),U(X),E.length===0?E.push(j,j):E.push(j),m._cesium.defined(y)||(y=new H(E,m._cesium)),L&&(m._viewer.entities.remove(L),L=void 0);var ee="0\u7C73";y&&(ee=N(T)),T.push(j),I="\u603B\u957F\uFF1A"+ee,Q.spot.push(j),Q.distance.push(ee);var ie=m._viewer.entities.add({position:j,point:{pixelSize:5,color:M.point.withAlpha(.5),outlineColor:m._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,F*1.5),outlineWidth:1,clampToGround:!0},label:{text:ee,font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,F*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.label.push(ie),m._points.push(ie)}}},m._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(){m.end()},m._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(J){if(m._tre&&m._tree.endtemporaryItem(),L&&m._viewer.entities.remove(L),m._points[m._points.length-1]&&(m._points[m._points.length-1].label.text=I),m._tree&&m._tree.handler.destroy(),m.end=void 0,m._core.mouse(m._viewer.container,0,"0"),E.pop(),S.show(!1),J==="cancel"){m.deleteObject();return}E.length<2&&m.deleteObject(),o!=""&&o!=null&&typeof o=="function"&&o(Q)};var N=function(J){for(var K=0,X=0+m._lang.unit_m,j,ee,ie,z,oe,le,Ae=0;Ae<J.length-1;Ae++)j=w.cartesianToCartographic(J[Ae]),ee=D.project(j),ie=ee.x,z=ee.y,j=w.cartesianToCartographic(J[Ae+1]),ee=D.project(j),oe=ee.x,le=ee.y,K=K+Math.sqrt((ie-oe)*(ie-oe)+(z-le)*(z-le));return K>0&&(X=K.toFixed(2)+m._lang.unit_m),K/1e3>=1&&(X=(K/1e3).toFixed(2)+m._lang.unit_km),X},H=function(){function J(K,X){if(!m._cesium.defined(K))throw new m._cesium.DeveloperError("positions is required!");if(K.length<2)throw new m._cesium.DeveloperError("positions \u7684\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E2");var j=m._cesium.Material.fromType(m._cesium.Material.ColorType);j.uniforms.color=new m._cesium.Color(1,1,0,.5),this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:M.polyline,width:3,clampToGround:!0}},this.path=K,this._init(m._cesium)}return J.prototype._init=function(K){var X=this,j=function(){return X.path};this.options.polyline.positions=new m._cesium.CallbackProperty(j,!1),this.lineEntity=m._viewer.entities.add(this.options),m.item=this.lineEntity,Q.polyline.push(this.lineEntity);var ee=m._core.getuid();Q.name="\u65B0\u5EFA\u6C34\u5E73\u8DDD\u79BB"+ee},J}();return this};ia.prototype.horizontalDistance=ia.prototype.executeHorizontals;ia.prototype.getHeight=function(o){var A=this._cesium.Cartographic.fromCartesian(o[0]),f=this._cesium.Cartographic.fromCartesian(o[1]),m=f.height-A.height;return m<1e3?m=m.toFixed(2)+this._lang.unit_m:(m=m/1e3,m=m.toFixed(2)+this._lang.unit_km),m};ia.prototype.executeHeight=function(o){this._lang=this._core.extend(this._lang,language._lang);var A,f=this;this._tree.starttemporaryItem(this._viewer),this._tree.removeHandler(),A=this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var m=[],C=null,E=0,I=this._core.CreateTooltip(),x=null,y;let v;this._tree.handler.setInputAction(function(Q){x=f._getPosition.getMousePosition(Q),x&&(m.length===0?I.showAt(Q.endPosition,f._lang.draw_tip_left):I.showAt(Q.endPosition,f._lang.draw_tip_right),m.length>=2&&(f._cesium.defined(C)?(m.pop(),m.push(x)):C=new w(m),m.lenght>1&&(E=f._core.getHeight(m,f._cesium))))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(Q){if(x=f._getPosition.getMousePosition(Q),!!x){!v&&(v=f._core.getPointToCameraDistance(f._viewer,x));var M=E+"\u7C73";if(m.length==0){m.push(x.clone()),m.push(x);var B,D=B=f._viewer.entities.add({name:"\u9AD8\u5EA6",position:m[0],point:{pixelSize:5,color:f._cesium.Color.RED.withAlpha(.5),outlineColor:f._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,v*1.5),outlineWidth:2,clampToGround:!0,heightReference:f._cesium.HeightReference.none},label:{text:M,font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,v*1.5),pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});f._tree.temporaryItem.obj.push(D),f._points.push(D)}else m.length>=1&&(f._tree.endtemporaryItem(),o!=""&&o!=null&&typeof o=="function"&&o(m))}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(Q){f._tree.handler.destroy();var M=E+"\u7C73",B=f._cesium.Cartographic.fromCartesian(m[0]),D=f._cesium.Cartographic.fromCartesian(m[1]),S=f._cesium.Cartesian3.fromDegrees(cesium.Math.toDegrees(B.longitude),f._cesium.Math.toDegrees(B.latitude),D.height),P=f._viewer.entities.add({name:"\u76F4\u7EBF\u8DDD\u79BB",position:S,point:{pixelSize:5,color:f._cesium.Color.RED.withAlpha(.5),outlineColor:f._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,clampToGround:!0,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,v*1.5),heightReference:f._cesium.HeightReference.none},label:{text:M,font:"16px \u5B8B\u4F53",distanceDisplayCondition:new cr.DistanceDisplayCondition(0,v*1.5),fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});f._tree.temporaryItem.obj.push(P),f._points.push(P)},this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);var w=function(){function Q(M){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:f._cesium.Color.YELLOW,clampToGround:!0,width:3},ellipse:{show:!1,material:f._cesium.Color.GREEN.withAlpha(.5),clampToGround:!0,outline:!0}},this.positions=M,this._init3()}return Q.prototype._init3=function(){var M=this,B=function(){var S=[];S.push(M.positions[0]);var P=f._cesium.Cartographic.fromCartesian(M.positions[0]);try{var R=f._cesium.Cartographic.fromCartesian(M.positions[1])}catch{return}var T=f._cesium.Cartesian3.fromDegrees(f._cesium.Math.toDegrees(P.longitude),f._cesium.Math.toDegrees(P.latitude),R.height);return S.push(T),S};this.options.polyline.positions=new f._cesium.CallbackProperty(B,!1);var D=f._viewer.entities.add(this.options);f.item=D,f._tree.temporaryItem.obj.push(D)},Q}();return this};ia.prototype.executeHeightTe=function(o,A){this._lang=this._core.extend(this._lang,language._lang);let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null;var m={point:cr.Color.RED,polyline:cr.Color.YELLOW};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(m.point=A.point),A.polyline!=""&&A.polyline!=null&&(m.polyline=A.polyline)),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer);var C,C=this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),E=[],I,x=null,y=null,v,w=this,Q={name:"",spot:[],kjdistance:"",spdistance:"",gddistance:"",point:[],polyline:[]},M=this._core.CreateTooltip();let B;this._tree.handler.setInputAction(function(P){if(E.length===0?M.showAt(P.endPosition,w._lang.draw_tip_left):M.showAt(P.endPosition,"\u53F3\u952E\u7ED3\u675F\uFF01"),y=w._getPosition.getMousePosition(P,Q.polyline.concat(Q.point)),!!y&&E.length>=2)if(w._cesium.defined(x))E.pop(),E.push(y.clone()),I=D(E);else{x=new S(E);var R=w._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:new w._cesium.CallbackProperty(function(){return E[1]},!1),point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:w._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),heightReference:w._cesium.HeightReference.none,disableDepthTestDistance:Number.POSITIVE_INFINITY}});w._tree.temporaryItem.obj.push(R),Q.point.push(R),w._points.push(R),I=D(E);var T=w._viewer.entities.add({position:new w._cesium.CallbackProperty(function(){return w._cesium.Cartesian3.midpoint(I.eq_lon_lat[0],I.eq_lon_lat[1],new w._cesium.Cartesian3)},!1),name:"\u7B49\u7ECF\u7EAC\u5EA6",polyline:{show:!0,positions:new w._cesium.CallbackProperty(function(){return I.eq_lon_lat},!1),material:m.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),width:2},label:{text:new w._cesium.CallbackProperty(function(){var F=w.getHeight(I.eq_lon_lat),U=w._lang.unit_m,N=F;F.indexOf("\u5343\u7C73")!==-1?(U=w._lang.unit_km,N=F.replace("\u5343\u7C73","")):N=F.replace("\u7C73","");var N=parseFloat(N);return N<0&&(N=Math.abs(N)),F=N+U,F="\u9AD8\u5EA6\uFF1A"+F,Q.gddistance=F,F},!1),font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.polyline.push(T),w._polylines.push(T);var L=w._viewer.entities.add({position:new w._cesium.CallbackProperty(function(){return w._cesium.Cartesian3.midpoint(I.eq_height[0],I.eq_height[1],new w._cesium.Cartesian3)},!1),name:"\u7B49\u9AD8\u5EA6\u76F4\u7EBF",polyline:{show:!0,positions:new w._cesium.CallbackProperty(function(){return I.eq_height},!1),material:m.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),width:2},label:{text:new w._cesium.CallbackProperty(function(){var F=w._core.getHorizontalDistance(I.eq_height,w._cesium);return F="\u6C34\u5E73\u8DDD\u79BB\uFF1A"+F,Q.spdistance=F,F},!1),font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.polyline.push(L),w._polylines.push(L)}},w._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(P){if(y=w._getPosition.getMousePosition(P,Q.polyline.concat(Q.point)),!!y){if(!B&&(B=w._core.getPointToCameraDistance(w._viewer,y)),E.length==0){E.push(y.clone()),E.push(y.clone()),I=D(E);var R=v=w._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:E[0],point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:w._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),heightReference:w._cesium.HeightReference.none,disableDepthTestDistance:Number.POSITIVE_INFINITY}});w._tree.temporaryItem.obj.push(R),Q.point.push(R),w._points.push(R)}else if(E.length>=2)if(w._cesium.defined(x))E.pop(),E.push(y.clone()),I=D(E);else{x=new S(E);var T=w._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:new w._cesium.CallbackProperty(function(){return E[1]},!1),point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:w._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),heightReference:w._cesium.HeightReference.none,disableDepthTestDistance:Number.POSITIVE_INFINITY}});w._tree.temporaryItem.obj.push(T),Q.point.push(T),w._points.push(T),I=D(E);var L=w._viewer.entities.add({position:new w._cesium.CallbackProperty(function(){return w._cesium.Cartesian3.midpoint(I.eq_lon_lat[0],I.eq_lon_lat[1],new w._cesium.Cartesian3)},!1),name:"\u7B49\u7ECF\u7EAC\u5EA6",polyline:{show:!0,positions:new w._cesium.CallbackProperty(function(){return I.eq_lon_lat},!1),material:m.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),width:2},label:{text:new w._cesium.CallbackProperty(function(){var U=w.getHeight(I.eq_lon_lat),N=w._lang.unit_m,H=U;U.indexOf("\u5343\u7C73")!==-1?(N=w._lang.unit_km,H=U.replace("\u5343\u7C73","")):H=U.replace("\u7C73","");var H=parseFloat(H);return H<0&&(H=Math.abs(H)),U=H+N,U="\u9AD8\u5EA6\uFF1A"+U,Q.gddistance=U,U},!1),font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.polyline.push(L),w._polylines.push(L);var F=w._viewer.entities.add({position:new w._cesium.CallbackProperty(function(){return w._cesium.Cartesian3.midpoint(I.eq_height[0],I.eq_height[1],new w._cesium.Cartesian3)},!1),name:"\u7B49\u9AD8\u5EA6\u76F4\u7EBF",polyline:{show:!0,positions:new w._cesium.CallbackProperty(function(){return I.eq_height},!1),material:m.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),width:2},label:{text:new w._cesium.CallbackProperty(function(){var U=w._core.getHorizontalDistance(I.eq_height,w._cesium);return U="\u6C34\u5E73\u8DDD\u79BB\uFF1A"+U,Q.spdistance=U,U},!1),font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.polyline.push(F),w._polylines.push(F)}}},w._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(P){w.end()},w._cesium.ScreenSpaceEventType.RIGHT_CLICK),this._tree.handler.setInputAction(function(P){w.end()},w._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),this.end=function(P){if(w._tree.handler.destroy(),M.show(!1),w.end=void 0,w._tree.endtemporaryItem(),w._core.mouse(w._viewer.container,0,"0"),P==="cancel"){w.deleteObject();return}o!=""&&o!=null&&typeof o=="function"&&o(Q)};function D(P){var R=w._cesium.Cartographic.fromCartesian(P[0]),T=w._cesium.Cartographic.fromCartesian(P[1]),L=T.height-(T.height-R.height),F,U,N;return T.height-R.height>0?(F=w._cesium.Cartesian3.fromDegrees(w._cesium.Math.toDegrees(R.longitude),w._cesium.Math.toDegrees(R.latitude),T.height),U=[P[1],F],N=[P[0],F]):(F=w._cesium.Cartesian3.fromDegrees(w._cesium.Math.toDegrees(T.longitude),w._cesium.Math.toDegrees(T.latitude),R.height),U=[P[0],F],N=[P[1],F]),{new:F,eq_height:U,eq_lon_lat:N}}var S=function(){function P(T){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:m.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),width:2},label:{font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,B*1.5),pixelOffset:new cr.Cartesian2(20,20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=T,this._init()}function R(T){var L=w._cesium.Cartographic.fromCartesian(T[0]),F=w._cesium.Cartographic.fromCartesian(T[1]),U=new w._cesium.EllipsoidGeodesic;U.setEndPoints(L,F);var N=U.surfaceDistance;return N=Math.sqrt(Math.pow(N,2)+Math.pow(F.height-L.height,2)),N>=1e3?N=(N/1e3).toFixed(2)+w._lang.unit_km:N=N.toFixed(2)+w._lang.unit_m,N}return P.prototype._init=function(){var T=this,L=function(){return T.positions},F=function(){return w._cesium.Cartesian3.midpoint(I.eq_height[0],I.eq_height[1],new w._cesium.Cartesian3)},U=function(){var J=R(T.positions);return J="\u7A7A\u95F4\u8DDD\u79BB\uFF1A"+J,Q.kjdistance=J,J};this.options.polyline.positions=new w._cesium.CallbackProperty(L,!1),this.options.position=new w._cesium.CallbackProperty(F,!1),this.options.label.text=new w._cesium.CallbackProperty(U,!1);var N=w._viewer.entities.add(this.options);w.item=N,w._tree.temporaryItem.obj.push(N),Q.polyline.push(N);var H=w._core.getuid();Q.name="\u65B0\u5EFA\u5782\u76F4\u9AD8\u5EA6"+H},P}();return this};ia.prototype.verticalHeight=ia.prototype.executeHeightTe;ia.prototype.executeHeightTe1=function(o){this._lang=this._core.extend(this._lang,language._lang),this._tree.removeHandler();var A;this._tree.starttemporaryItem(this._viewer);var A=this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),f=[],m=[],C=[],E,I=null,x=null,y=null,v=null,w,Q=this,M={spot:[],kjdistance:"",spdistance:"",gddistance:"",point:[],polyline:[]},B=this._core.CreateTooltip();this._tree.handler.setInputAction(function(T){f.length===0?B.showAt(T.endPosition,Q._lang.draw_tip_left):B.showAt(T.endPosition,Q._lang.draw_tip_right),v=Q._getPosition.getMousePosition(T),!!v&&f.length>=2&&(Q._cesium.defined(I)?(f.pop(),f.push(v.clone()),E=D(f)):I=new S(f),Q._cesium.define(x)||(x=new P(f)),Q._cesium.define(y)||(y=new R(f)))},Q._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(T){if(f.length==0){if(v=Q._getPosition.getMousePosition(T),!v)return;f.push(v.clone()),f.push(v.clone()),E=D(f);var L=w=Q._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:f[0],point:{pixelSize:5,color:Q._cesium.Color.RED.withAlpha(.5),outlineColor:Q._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:Q._cesium.HeightReference.none}});Q._tree.temporaryItem.obj.push(L),M.point.push(L)}},Q._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(T){Q._tree.handler.destroy(),B.show(!1),Q._tree.endtemporaryItem(),o!=""&&o!=null&&typeof o=="function"&&o(M)},Q._cesium.ScreenSpaceEventType.RIGHT_CLICK);function D(T){var L=Q._cesium.Cartographic.fromCartesian(T[0]),F=Q._cesium.Cartographic.fromCartesian(T[1]),U=F.height-(F.height-L.height),N=Q._cesium.Cartesian3.fromDegrees(Q._cesium.Math.toDegrees(L.longitude),Q._cesium.Math.toDegrees(L.latitude),F.height);return N}var S=function(){function T(F){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:Q._cesium.Color.GOLD,width:2},label:{font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=F,this._init()}function L(F){var U=Q._cesium.Cartographic.fromCartesian(F[0]),N=Q._cesium.Cartographic.fromCartesian(F[1]),H=new Q._cesium.EllipsoidGeodesic;H.setEndPoints(U,N);var J=H.surfaceDistance;return J=Math.sqrt(Math.pow(J,2)+Math.pow(N.height-U.height,2)),J>=1e3?J=(J/1e3).toFixed(2)+Q._lang.unit_km:J=J.toFixed(2)+Q._lang.unit_m,J}return T.prototype._init=function(){var F=this,U=function(){return F.positions},N=function(){return F.positions[1].clone()},H=function(){var K=L(F.positions);return K="\u7A7A\u95F4\u8DDD\u79BB\uFF1A"+K,M.kjdistance=K,K};this.options.polyline.positions=new Q._cesium.CallbackProperty(U,!1),this.options.position=new Q._cesium.CallbackProperty(N,!1),this.options.label.text=new Q._cesium.CallbackProperty(H,!1);var J=Q._viewer.entities.add(this.options);Q._tree.temporaryItem.obj.push(J),M.polyline.push(J)},T}(),P=function(){function T(F){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:Q._cesium.Color.GOLD,width:2},label:{font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=F,this._init()}function L(F){var U=Q._cesium.Cartographic.fromCartesian(F[0]),N=Q._cesium.Cartographic.fromCartesian(F[1]),H=new Q._cesium.EllipsoidGeodesic;H.setEndPoints(U,N);var J=H.surfaceDistance;return J=Math.sqrt(Math.pow(J,2)+Math.pow(N.height-U.height,2)),J>=1e3?J=(J/1e3).toFixed(2)+Q._lang.unit_km:J=J.toFixed(2)+Q._lang.unit_m,J}return T.prototype._init=function(){var F=this,U=function(){return F.positions},N=function(){return F.positions[1].clone()},H=function(){var K=L(F.positions);return K="\u7A7A\u95F4\u8DDD\u79BB\uFF1A"+K,M.kjdistance=K,K};this.options.polyline.positions=new Q._cesium.CallbackProperty(U,!1),this.options.position=new Q._cesium.CallbackProperty(N,!1),this.options.label.text=new Q._cesium.CallbackProperty(H,!1);var J=Q._viewer.entities.add(this.options);Q._tree.temporaryItem.obj.push(J),M.polyline.push(J)},T}(),R=function(){function T(F){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:Q._cesium.Color.GOLD,width:2},label:{font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=F,this._init()}function L(F){var U=Q._cesium.Cartographic.fromCartesian(F[0]),N=Q._cesium.Cartographic.fromCartesian(F[1]),H=new Q._cesium.EllipsoidGeodesic;H.setEndPoints(U,N);var J=H.surfaceDistance;return J=Math.sqrt(Math.pow(J,2)+Math.pow(N.height-U.height,2)),J>=1e3?J=(J/1e3).toFixed(2)+Q._lang.unit_km:J=J.toFixed(2)+Q._lang.unit_m,J}return T.prototype._init=function(){var F=this,U=function(){return F.positions},N=function(){return F.positions[1].clone()},H=function(){var K=L(F.positions);return K="\u7A7A\u95F4\u8DDD\u79BB\uFF1A"+K,M.kjdistance=K,K};this.options.polyline.positions=new Q._cesium.CallbackProperty(U,!1),this.options.position=new Q._cesium.CallbackProperty(N,!1),this.options.label.text=new Q._cesium.CallbackProperty(H,!1);var J=Q._viewer.entities.add(this.options);Q._tree.temporaryItem.obj.push(J),M.polyline.push(J)},T}();return this};ia.prototype.executeAngle=function(o,A){this._lang=this._core.extend(this._lang,language._lang);let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null;var m={point:cr.Color.RED,polyline:cr.Color.YELLOW};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(m.point=A.point),A.polyline!=""&&A.polyline!=null&&(m.polyline=A.polyline)),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer);var C,C=this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),E=[],I,x=null,y=null,v,w=this,Q,M,B,D,S={name:"",spot:[],kjdistance:"",spdistance:"",gddistance:"",point:[],polyline:[],labels:[]},P=this._core.CreateTooltip();let R;this._tree.handler.setInputAction(function(F){if(E.length===0?P.showAt(F.endPosition,w._lang.draw_tip_left):P.showAt(F.endPosition,"\u53F3\u952E\u7ED3\u675F\uFF01"),y=w._getPosition.getMousePosition(F,S.polyline.concat(S.point)),!!y&&E.length>=2){var U=w._core.ElevationAngle(M,y,w._cesium),N="",H="";if(M.z<=y.z?(N="\u89D2\u5EA6\uFF1A"+(90-Math.abs(U)).toFixed(2),H="\u89D2\u5EA6\uFF1A"+Math.abs(U).toFixed(2)):(N="\u89D2\u5EA6\uFF1A"+Math.abs(U).toFixed(2),H="\u89D2\u5EA6\uFF1A"+(90-Math.abs(U)).toFixed(2)),Q.label.text=N,w._cesium.defined(x)?(B.position.setValue(y),B.label.text=H):(B=w._viewer.entities.add({position:y,name:"\u7B49\u7ECF\u7EAC\u5EA6",label:{text:H,font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),S.labels.push(B),w._points.push(B)),w._cesium.defined(x))E.pop(),E.push(y.clone()),I=T(E);else{x=new L(E);var J=w._viewer.entities.add({name:"\u89D2\u5EA6\u6D4B\u91CF",position:new w._cesium.CallbackProperty(function(){return E[1]},!1),point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:w._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),outlineWidth:2,heightReference:w._cesium.HeightReference.none,disableDepthTestDistance:Number.POSITIVE_INFINITY}});w._tree.temporaryItem.obj.push(J),S.point.push(J),w._points.push(J),I=T(E);var K=w._viewer.entities.add({position:new w._cesium.CallbackProperty(function(){return E[0]},!1),name:"\u7B49\u7ECF\u7EAC\u5EA6",polyline:{show:!0,positions:new w._cesium.CallbackProperty(function(){return I.eq_lon_lat},!1),material:m.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),width:2}});S.polyline.push(K),w._polylines.push(K);var X=w._viewer.entities.add({position:new w._cesium.CallbackProperty(function(){return E[1]},!1),name:"\u7B49\u9AD8\u5EA6\u76F4\u7EBF",polyline:{show:!0,positions:new w._cesium.CallbackProperty(function(){return I.eq_height},!1),material:m.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),width:2}});S.polyline.push(X),w._polylines.push(X)}}},w._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(F){if(y=w._getPosition.getMousePosition(F,S.polyline.concat(S.point)),!!y){if(!R&&(R=w._core.getPointToCameraDistance(w._viewer,y)),E.length==0){M=y,Q=w._viewer.entities.add({position:y,name:"\u7B49\u7ECF\u7EAC\u5EA6",label:{text:"0",font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),S.labels.push(Q);var U=w._viewer.entities.add({position:new w._cesium.CallbackProperty(function(){return w._cesium.Cartesian3.midpoint(I.eq_lon_lat[0],I.eq_lon_lat[1],new w._cesium.Cartesian3)},!1),label:{font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});E.push(y.clone()),E.push(y.clone()),I=T(E);var N=v=w._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:E[0],point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:w._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:w._cesium.HeightReference.none,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}});w._tree.temporaryItem.obj.push(N),S.point.push(N),w._points.push(Q,N)}else if(E.length>=2)if(w._cesium.defined(x))E.pop(),E.push(y.clone()),I=T(E);else{x=new L(E);var H=w._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:new w._cesium.CallbackProperty(function(){return E[1]},!1),point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:w._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),outlineWidth:2,heightReference:w._cesium.HeightReference.none,disableDepthTestDistance:Number.POSITIVE_INFINITY}});w._tree.temporaryItem.obj.push(H),S.point.push(H),w._points.push(H),I=T(E);var U=w._viewer.entities.add({position:new w._cesium.CallbackProperty(function(){return w._cesium.Cartesian3.midpoint(I.eq_lon_lat[0],I.eq_lon_lat[1],new w._cesium.Cartesian3)},!1),name:"\u7B49\u7ECF\u7EAC\u5EA6",polyline:{show:!0,positions:new w._cesium.CallbackProperty(function(){return I.eq_lon_lat},!1),material:m.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),width:2},label:{text:new w._cesium.CallbackProperty(function(){var X=w.getHeight(I.eq_lon_lat),j=w._lang.unit_m,ee=X;X.indexOf("\u5343\u7C73")!==-1?(j=w._lang.unit_km,ee=X.replace("\u5343\u7C73","")):ee=X.replace("\u7C73","");var ee=parseFloat(ee);return ee<0&&(ee=Math.abs(ee)),X=ee+j,X="\u9AD8\u5EA6\uFF1A"+X,S.gddistance=X,X},!1),font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});S.polyline.push(U),w._polylines.push(U);var J=w._viewer.entities.add({position:new w._cesium.CallbackProperty(function(){return w._cesium.Cartesian3.midpoint(I.eq_height[0],I.eq_height[1],new w._cesium.Cartesian3)},!1),name:"\u7B49\u9AD8\u5EA6\u76F4\u7EBF",polyline:{show:!0,positions:new w._cesium.CallbackProperty(function(){return I.eq_height},!1),material:m.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),width:2},label:{text:new w._cesium.CallbackProperty(function(){var X=w._core.ElevationAngle(firtP,y,w._cesium);return X="\u89D2\u5EA6\uFF1A"+X.toFixed(2),S.spdistance=X,X},!1),font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(60,-20),distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});S.polyline.push(J),w._polylines.push(J)}}},w._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(F){w.end()},w._cesium.ScreenSpaceEventType.RIGHT_CLICK),this._tree.handler.setInputAction(function(F){w.end()},w._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),this.end=function(F){if(w._tree.handler.destroy(),P.show(!1),w._tree.endtemporaryItem(),w.end=void 0,w._core.mouse(w._viewer.container,0,"0"),F==="cancel"){w.deleteObject();return}o!=""&&o!=null&&typeof o=="function"&&(this.labels=S.labels,o(S))};function T(F){var U=w._cesium.Cartographic.fromCartesian(F[0]),N=w._cesium.Cartographic.fromCartesian(F[1]),H=N.height-(N.height-U.height),J,K,X;return N.height-U.height>0?(J=w._cesium.Cartesian3.fromDegrees(w._cesium.Math.toDegrees(U.longitude),w._cesium.Math.toDegrees(U.latitude),N.height),K=[F[1],J],X=[F[0],J]):(J=w._cesium.Cartesian3.fromDegrees(w._cesium.Math.toDegrees(N.longitude),w._cesium.Math.toDegrees(N.latitude),U.height),K=[F[0],J],X=[F[1],J]),{new:J,eq_height:K,eq_lon_lat:X}}var L=function(){function F(U){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:m.polyline,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),width:2},label:{font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,distanceDisplayCondition:new cr.DistanceDisplayCondition(0,R*1.5),pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=U,this._init()}return F.prototype._init=function(){var U=this,N=function(){return U.positions},H=function(){return w._cesium.Cartesian3.midpoint(U.positions[0],U.positions[1],new w._cesium.Cartesian3)};this.options.polyline.positions=new w._cesium.CallbackProperty(N,!1),this.options.position=new w._cesium.CallbackProperty(H,!1);var J=w._viewer.entities.add(this.options);w.item=J,w._tree.temporaryItem.obj.push(J),S.polyline.push(J);var K=w._core.getuid();S.name="\u65B0\u5EFA\u5782\u76F4\u9AD8\u5EA6"+K},F}();return this};ia.prototype.measureAngle=ia.prototype.executeAngle;ia.prototype.executeHeightDg=function(o){this._tree.removeHandler();var A=this;this._tree.handler=new A._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas);var f=[],m,C=null,E=null,I;this._tree.handler.setInputAction(function(y){E=A._getPosition.getMousePosition(y),!!E&&f.length>=2&&(A._cesium.defined(C)?(f.pop(),f.push(E.clone()),m=point_conf(f)):C=new x(f))},A._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(y){if(f.length==0){if(E=A._getPosition.getMousePosition(y),!E)return;f.push(E.clone()),f.push(E.clone());var v=I=A._viewer.entities.add({parent:measure_entities,name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:f[0],point:{pixelSize:5,color:A._cesium.Color.RED.withAlpha(.5),outlineColor:A._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:A._cesium.HeightReference.none}})}},A._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(y){A._tree.handler.destroy();var v=[],w=[];v.push(f[0].clone()),v.push(m.clone());var Q=A.getHeight(v);A._viewer.entities.add({parent:measure_entities,name:"\u7B49\u7ECF\u7EAC\u5EA6",position:v[0].clone(),polyline:{show:!0,clampToGround:!0,positions:v,material:new A._cesium.PolylineDashMaterialProperty({color:A._cesium.Color.RED}),width:2},label:{text:Q,font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),w.push(m.clone()),w.push(f[1].clone()),Q=getDistance(w)+A._lang.unit_km,A._viewer.entities.add({parent:measure_entities,name:"\u7B49\u9AD8\u5EA6\u76F4\u7EBF",position:w[0].clone(),polyline:{show:!0,positions:w,clampToGround:!0,material:new A._cesium.PolylineDashMaterialProperty({color:A._cesium.Color.RED}),width:2},label:{text:Q,font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(60,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}})},A._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);var x=function(){function y(v){this.options={parent:measure_entities,name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],clampToGround:!0,material:A._cesium.Color.GOLD,width:2},label:{font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=v,this._init()}return y.prototype._init=function(){var v=this,w=function(){return v.positions},Q=function(){return v.positions[1].clone()},M=function(){var B=getSpaceDistance(v.positions);return B};this.options.polyline.positions=new A._cesium.CallbackProperty(w,!1),this.options.position=new A._cesium.CallbackProperty(Q,!1),this.options.label.text=new A._cesium.CallbackProperty(M,!1),A._viewer.entities.add(this.options)},y}()};ia.prototype.executeAnge=function(o){var A=this;this._tree.removeHandler(),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var f=[],m=[],C=null,E=0,I="",x=null,y,v=0,w={spot:[],distance:0,label:{},angle:0};this._tree.handler.setInputAction(function(B){var D=A._viewer.camera.getPickRay(B.endPosition);if(x=A._getPosition.getMousePosition(B),!!x){f.length>=2&&(A._cesium.defined(C)?(f.pop(),f.push(x)):C=new M(f),I=A._core.getSpaceDistance(f,A._cesium));var S=I;A._viewer.entities.remove(y),f.length>1&&(v=(Math.atan2(f[1].y-f[0].y,f[1].x-f[0].x)*180/Math.PI).toFixed(0),y=A._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:f[f.length-1],label:{text:S+";"+v+"\u5EA6",font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}))}},A._cesium.ScreenSpaceEventType.MOUSE_MOVE);var Q=0;this._tree.handler.setInputAction(function(B){Q>0&&(A._tree.handler.destroy(),f.pop());var D=A._viewer.camera.getPickRay(B.position);if(x=A._getPosition.getMousePosition(B),!!x){f.length==0&&f.push(x.clone()),f.push(x);var S=I;w.spot.push(x),w.distance=I,w.label=y,A._points.push(y),w.angle=v,Q==1&&o!=""&&o!=null&&typeof o=="function"&&o(w),Q=Q+1}},A._cesium.ScreenSpaceEventType.LEFT_CLICK);var M=function(){function B(D){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:A._cesium.Color.YELLOW,width:3,clampToGround:!0}},this.positions=D,this._init6()}return B.prototype._init6=function(){var D=this,S=function(){return D.positions};this.options.polyline.positions=new A._cesium.CallbackProperty(S,!1);var P=A._viewer.entities.add(this.options);A.item=P},B}();return this};ia.prototype.executeProfile=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var f=this;this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var m=[],y=[],C=null,E=o.parameterd,I=o.objid,x=o.cyjj,y=[],v=0,w=this._core.CreateTooltip(),Q=null,M,B=0,D={spot:[],min:0,max:0,distance:0,label:{},cys:0,gcs:[]};this._tree.handler.setInputAction(function(T){m.length===0?w.showAt(T.endPosition,f._lang.draw_tip_left):w.showAt(T.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF01");var L=f._viewer.camera.getPickRay(T.endPosition);Q=f._viewer.scene.globe.pick(L,f._viewer.scene);var F=f._viewer.scene.pick(T.endPosition);if(F){var U=f._viewer.scene.pickPosition(T.endPosition);U&&(Q=U)}if(!!Q){m.length>=2&&(f._cesium.defined(C)?(m.pop(),m.push(Q)):C=new R(m),v=f._core.getSpaceDistance(m,f._cesium));var N=v;f._viewer.entities.remove(M),m.length>1&&(B=(Math.atan2(m[1].y-m[0].y,m[1].x-m[0].x)*180/Math.PI).toFixed(0),M=f._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:m[m.length-1],label:{text:N,font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),f._tree.temporaryItem.obj.push(M),f._points.push(M))}},f._cesium.ScreenSpaceEventType.MOUSE_MOVE);var S=0,P=[];this._tree.handler.setInputAction(function(T){S>0&&(f._tree.handler.destroy(),m.pop(),w.show(!1));var L=f._viewer.camera.getPickRay(T.position);Q=f._viewer.scene.globe.pick(L,f._viewer.scene);var F=f._viewer.scene.pick(T.position);if(F){var U=f._viewer.scene.pickPosition(T.position);U&&(Q=U)}if(!!Q){if(m.length==0&&m.push(Q.clone()),y.push(Q),m.push(Q),D.spot.push(Q),D.label=M,S==1){f._tree.endtemporaryItem();var N=E,H=f._core.getPmfx(y,N,x,f._cesium,f._viewer,function(K){D.distance=K.juli,D.gcs=K.gcs,D.gcs=K.gcs,D.cys=K.cys,D.max=K.max,D.min=K.min,D.obj=f,w.show(!1),A!=""&&A!=null&&typeof A=="function"&&A(D)})}else{var J={leftX:T.position.x,leftY:T.position.y};P.push(J)}S=S+1}},f._cesium.ScreenSpaceEventType.LEFT_CLICK);var R=function(){function T(L){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:f._cesium.Color.YELLOW,width:2,clampToGround:!0}},this.positions=L,this._init10()}return T.prototype._init10=function(){var L=this,F=function(){return L.positions};this.options.polyline.positions=new f._cesium.CallbackProperty(F,!1);var U=f._viewer.entities.add(this.options);f.item=U,f._tree.temporaryItem.obj.push(U);var N=0;!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(N=Ke.selectedItem.id);var H=f._core.getuid(),J={id:H,name:"\u65B0\u5EFA\u5256\u9762\u5206\u6790"+H,pId:f._core.isnull(I)?0:I,type:"polyline",item:f};f.setTreeobj(J),Ke.insertGroupId(J,f._core.isnull(I)?0:I)},T}();return this};ia.prototype.executeProfilePro=function(o,A){var f=this;this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var m=[],C=null,E=o.parameterd,I=o.objid,x=o.cyjj,y=this._core.CreateTooltip(),v=null,w={spot:[],min:0,max:0,distance:0,label:{},cys:0,gcs:[]};this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this._tree.handler.setInputAction(function(B){m.length>=3?y.showAt(B.endPosition,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"):y.showAt(B.endPosition,"\u70B9\u51FB\u7ED8\u5236\u5256\u9762\u70B9");var D=f._viewer.camera.getPickRay(B.endPosition);v=f._viewer.scene.globe.pick(D,f._viewer.scene);var S=f._viewer.scene.pick(B.endPosition);if(S){var P=f._viewer.scene.pickPosition(B.endPosition);P&&(v=P)}!v||m.length>=2&&(f._cesium.defined(C)?(m.pop(),m.push(v)):C=new M(m))},f._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(B){f.end()},f._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(B){if(f._tree.handler.destroy(),f._core.mouse(f._viewer.container,0),f._tree.endtemporaryItem(),f._core.getBrowser().pc=="pc"&&m.pop(),y.show(!1),f.end=void 0,B==="cancel"){f.item&&f._viewer.entities.remove(f.item);return}if(m.length<=1){window.layuiLayer&&window.layuiLayer.msg("\u5256\u9762\u70B9\u5C0F\u4E8E\u4E24\u70B9\uFF0C\u8BF7\u91CD\u65B0\u7ED8\u5236");return}w.spot=m;var D=E;f._core.getPmfxPro(m,D,x,f._cesium,f._viewer,function(S){w.distance=S.juli,w.gcs=S.gcs,w.cys=S.cys,w.max=S.max,w.min=S.min,w.allPoint=S.allPoint,A!=""&&A!=null&&typeof A=="function"&&A(w)})};var Q=[];this._tree.handler.setInputAction(function(B){var D=f._viewer.camera.getPickRay(B.position);v=f._viewer.scene.globe.pick(D,f._viewer.scene);var S=f._viewer.scene.pick(B.position);if(S){var P=f._viewer.scene.pickPosition(B.position);P&&(v=P)}!v||(m.length===0&&m.push(v.clone()),m.push(v),m.length>2&&(f._cesium.defined(C)||(C=new M(m))))},f._cesium.ScreenSpaceEventType.LEFT_CLICK);var M=function(){function B(D){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:f._cesium.Color.YELLOW,width:2,clampToGround:!0}},this.positions=D,this._init10()}return B.prototype._init10=function(){var D=this,S=function(){return D.positions};this.options.polyline.positions=new f._cesium.CallbackProperty(S,!1);var P=f._viewer.entities.add(this.options);f.item=P,f._tree.temporaryItem.obj.push(P);var R=0;!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(R=Ke.selectedItem.id);var T=f._core.getuid(),L={id:T,name:"\u65B0\u5EFA\u5256\u9762\u5206\u6790"+T,pId:f._core.isnull(I)?0:I,type:"polyline",item:f};f.setTreeobj(L),Ke.insertGroupId(L,f._core.isnull(I)?0:I)},B}();return this};ia.prototype.executeAngeSdcs=function(o){this._lang=this._core.extend(this._lang,language._lang);var A=this;this._tree.removeHandler(),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var f=[],m=[],C=null,E=[],I=this._core.CreateTooltip(),x=0,y="",v=null,w,Q=0,M={spot:[],distance:0,label:{},angle:0};this._tree.handler.setInputAction(function(S){f.length===0?I.showAt(S.endPosition,A._lang.draw_tip_left):I.showAt(S.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF01");var P=A._viewer.camera.getPickRay(S.endPosition);if(v=A._getPosition.getMousePosition(S),!!v&&f.length>=2&&(A._cesium.defined(C)?(f.pop(),f.push(v)):C=new D(f),y=A._core.getSpaceDistance(f,A._cesium),B>=2)){A._viewer.entities.remove(w);var R=A._cesium.Cartographic.fromCartesian(f[f.length-1]),T=A._cesium.Math.toDegrees(R.longitude),L=A._cesium.Math.toDegrees(R.latitude),F=R.height,U={lon:T,lat:L,hei:F};E[2]=U,Q=A._core.Angle(E[0],E[1],E[2]).toFixed(1),w=A._viewer.entities.add({name:"\u4E09\u70B9\u89D2\u5EA6\u6D4B\u91CF",position:f[f.length-1],label:{text:Q+"\u5EA6",font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),A._points.push(w)}},A._cesium.ScreenSpaceEventType.MOUSE_MOVE);var B=0;this._tree.handler.setInputAction(function(S){B>1&&(A._tree.handler.destroy(),f.pop());var P=A._viewer.camera.getPickRay(S.position);if(v=A._getPosition.getMousePosition(S),!!v){f.length==0&&f.push(v.clone()),f.push(v);var R=A._cesium.Cartographic.fromCartesian(f[f.length-1]),T=A._cesium.Math.toDegrees(R.longitude),L=A._cesium.Math.toDegrees(R.latitude),F=R.height;E.push({lon:T,lat:L,hei:F});var U=y;M.spot.push(v),M.distance=y,B==2&&(I.show(!1),M.label=w,M.angle=Q,o!=""&&o!=null&&typeof o=="function"&&o(M)),B=B+1}},A._cesium.ScreenSpaceEventType.LEFT_CLICK);var D=function(){function S(P){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:A._cesium.Color.YELLOW,width:3,clampToGround:!1}},this.positions=P,this._init6()}return S.prototype._init6=function(){var P=this,R=function(){return P.positions};this.options.polyline.positions=new A._cesium.CallbackProperty(R,!1);var T=A._viewer.entities.add(this.options);A.item=T},S}();return this};ia.prototype.executeAngeSd=function(o){this._lang=this._core.extend(this._lang,language._lang),this._tree.removeHandler();var A=[];this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);var f=[],m=this,C=0,E=[],I=void 0,x=[],y=[];this._tree.starttemporaryItem(this._viewer);var v=this._core.CreateTooltip(),w=0,Q=0,M=0,B,D=function(){function L(F){this.options={polyline:{show:!0,positions:[],material:m._cesium.Color.YELLOW,width:3,clampToGround:!1}},this.positionsp=F,this._init()}return L.prototype._init=function(){var F=this,U=function(){return F.positionsp};this.options.polyline.positions=new m._cesium.CallbackProperty(U,!1),this.polyline=m._viewer.entities.add(this.options),m._tree.temporaryItem.obj.push(this.polyline),m.item=this.polyline},L}();this._tree.handler=new m._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas);var S=[],P=void 0;if(this._points.length>0)for(var R=0;R<this._points.length;R++)this._viewer.entities.remove(this._points[R]);this._tree.handler.setInputAction(function(L){var F=m._getPosition.getMousePosition(L);if(!!F){x.push(F);var U=m._cesium.Cartographic.fromCartesian(F);if(S.length==0)S.push(F.clone()),S.push(F.clone()),I=F.clone();else{var N=m._core.ElevationAngle(I,F,m._cesium);A.length==1?y.push("\u4FEF\u4EF0\u89D21 "+N.toFixed(2)):y.push("\u4FEF\u4EF0\u89D22 "+N.toFixed(2)),P=void 0,S=[],S.push(I.clone()),S.push(I.clone()),P=new D(S),A.push(P.polyline)}if(y.length>=2){v.show(!1);var H={anglejd:w,anglefy:Q,anglesp:M},J=m._core.ThreePointAzimuth(x[0],x[1],x[2],m._cesium);y.push("\u6C34\u5E73\u89D2 "+J.toFixed(2));var K=m._viewer.entities.add({name:"\u4E09\u70B9\u89D2\u5EA6\u6D4B\u91CF",position:x[1],label:{text:y[0],font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});m._tree.temporaryItem.obj.push(K);var X=m._viewer.entities.add({name:"\u4E09\u70B9\u89D2\u5EA6\u6D4B\u91CF",position:x[2],label:{text:y[1],font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});m._tree.temporaryItem.obj.push(X);var j=m._viewer.entities.add({name:"\u4E09\u70B9\u89D2\u5EA6\u6D4B\u91CF",position:x[0],label:{text:y[2],font:"16px \u5B8B\u4F53",fillColor:cr.Color.GOLD,verticalOrigin:cr.VerticalOrigin.BOTTOM,pixelOffset:new cr.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});m._tree.temporaryItem.obj.push(j),E.push(K),E.push(X),E.push(j),S.pop(),m._tree.handler.destroy(),m._core.mouse(m._viewer.container,0,"0"),m._tree.endtemporaryItem(),m._points=E,m._polylines=A,m._polylines1=A,o!=""&&o!=null&&typeof o=="function"&&o({polylines:A,labels:E,angles:y})}}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(L){var F=m._getPosition.getMousePosition(L);!F||(S.length===0?v.showAt(L.endPosition,m._lang.draw_tip_left):S.length<=3?v.showAt(L.endPosition,"\u70B9\u51FB\u7ED8\u5236\u76EE\u6807\u70B9\uFF01"):v.showAt(L.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF01"),S.length>=2&&(m._cesium.defined(P)?F!=null&&(S.pop(),F.y+=1+Math.random(),S.push(F)):(P=new D(S),A.push(P.polyline))))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var T=0;return this};ia.prototype.deleteObject=function(){if(this.item&&this.item.item?this._viewer.entities.remove(this.item.item):this._viewer.entities.remove(this.item),this._points&&this._points.length>0){for(var o=0;o<this._points.length;o++)this._viewer.entities.remove(this._points[o]);this._points=[]}if(this._polylines&&this._polylines.length>0){for(var o=0;o<this._polylines.length;o++)this._viewer.entities.remove(this._polylines[o]);this._polylines=[]}if(this.labels&&this.labels.length>0){for(var o=0;o<this.labels.length;o++)this._viewer.entities.remove(this.labels[o]);this.labels=[]}if(this.item&&this.item._points&&this.item._points.length>0){for(var o=0;o<this.item._points.length;o++)this._viewer.entities.remove(this.item._points[o]);this.item._points=[]}if(this.item&&this.item._polylines&&this.item._polylines.length>0){for(var o=0;o<this.item._polylines.length;o++)this._viewer.entities.remove(this.item._polylines[o]);this.item._polylines=[]}};ia.prototype.setHeightType=function(o){try{o==1?this.item._polyline.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._polyline.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._polyline.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};ia.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.polyline.positions.getValue(),f=this.item.polyline.width==null?void 0:this.item.polyline.width._value,m=this.item.polyline.material;m!=null&&(m={color:m.color==null?void 0:"rgba("+m.color._value.red+","+m.color._value.green+","+m.color._value.blue+","+m.color._value.alpha+")",image:m.image==null?void 0:m.image._value,diffusemap:m.diffusemap==null?void 0:m.diffusemap._value,alphamap:m.alphamap==null?void 0:m.alphamap._value});var C=this.item.polyline.clampToGround==null?void 0:this.item.polyline.clampToGround._value,E=this.item.polyline.distanceDisplayCondition,I=E?._value.near,x=E?._value.far;return{type:"polyline",treeobj:{name:this.treeobj.name},style:{show:o,positions:A,width:f,material:m,clampToGround:C,near:I,far:x}}};ia.prototype.setVisibility=function(o){if(this.item&&this.item.item?this.item.item.show=o:this.item.show=o,this.item&&this.item._points&&this.item._points.length>0)for(var A=0;A<this.item._points.length;A++)this.item._points[A].show=o;if(this._polylines&&this._polylines.length>0)for(var A=0;A<this._polylines.length;A++)this._polylines[A].show=o;if(this._points&&this._points.length>0)for(var A=0;A<this._points.length;A++)this._points[A].show=o;if(this.item&&this.item._polylines&&this.item._polylines.length>0)for(var A=0;A<this.item._polylines.length;A++)this.item._polylines[A].show=o};ia.prototype.getVisibility=function(){return this.item.show};ia.prototype.setOutlinewidth=function(o){this.item._polyline.material.outlineWidth=o};ia.prototype.setMaterial=function(o){try{var A={outlineWidth:3},f=this._core.extend(A,o,!0);this.item._polyline.material=new this._cesium.PolylineGlowMaterialProperty(o),this.item.material=this.item._polyline.material}catch(m){console.log(m)}return this};ia.prototype.setPolylineWall=function(o){try{for(var A=[],f=[],m=this.item._polyline.positions.getValue(),C=this._viewer.scene.globe.ellipsoid,E=0;E<m.length;E++){var I=new this._cesium.Cartesian3(m[E].x,m[E].y,m[E].z),x=C.cartesianToCartographic(I),y=this._cesium.Math.toDegrees(x.latitude),v=this._cesium.Math.toDegrees(x.longitude);A.push(v),A.push(y),f.push(o)}A=this._cesium.Cartesian3.fromDegreesArray(A),this.item.wall=new this._cesium.WallGraphics({positions:A,minimumHeights:f,material:this.item._polyline.material.color._value})}catch(w){console.log(w)}return this};ia.prototype.setRadius=function(o){try{for(var A=[],f=this.item._polyline.positions.getValue(),m=this._viewer.scene.globe.ellipsoid,C=0;C<f.length;C++){var E=new this._cesium.Cartesian3(f[C].x,f[C].y,f[C].z),I=m.cartesianToCartographic(E),x=this._cesium.Math.toDegrees(I.latitude),y=this._cesium.Math.toDegrees(I.longitude);A.push(y),A.push(x)}A=this._cesium.Cartesian3.fromDegreesArray(A),this.item.corridor=new this._cesium.CorridorGraphics({positions:A,width:o,show:!0,outline:!0,material:this._cesium.Color.RED.withAlpha(.4),heightReference:this._cesium.HeightReference.none})}catch(v){console.log(v)}return this};ia.prototype.setGlow=function(o){try{o?(this.item._polyline.material=new this._cesium.PolylineGlowMaterialProperty({glowPower:.2,taperPower:.5,color:this.item._polyline.material.color}),this.item.material=this.item._polyline.material):(this.item._polyline.material=new this._cesium.PolylineOutlineMaterialProperty({color:this.item._polyline.material.color,outlineWidth:this.item._polyline.material.outlineWidth,outlineColor:this.item._polyline.material.outlineColor}),this.item.material=this.item._polyline.material)}catch(A){console.log(A)}return this};ia.prototype.setMaterialAlpha=function(o){try{this.item._polyline.material.color._value.alpha=o,this.item.material=this.item._polyline.material}catch(A){console.log(A)}return this};ia.prototype.setType=function(o){try{o=="PolylineDashMaterialProperty"?this.item._polyline.material=new this._cesium.PolylineDashMaterialProperty({color:this.item._polyline.material.color}):o=="PolylineArrowMaterialProperty"?this.item._polyline.material=new this._cesium.PolylineArrowMaterialProperty({color:this.item._polyline.material.color}):o=="PolylineOutlineMaterialProperty"&&(this.item._polyline.material=new this._cesium.PolylineOutlineMaterialProperty({color:this.item._polyline.material.color}))}catch(A){console.log(A)}return this};ia.prototype.setMaterialColor=function(o){try{this.item._polyline.material.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};ia.prototype.setOutlineColor=function(o){try{this.item._polyline.material.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};ia.prototype.setClampToGround=function(o){try{this.item._polyline.clampToGround=o}catch(A){console.log(A)}return this};ia.prototype.setWidth=function(o){try{this.item._polyline.width=o}catch(A){console.log(A)}return this};ia.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._polyline.distanceDisplayCondition=f}catch(m){console.log(m)}return this};Object.defineProperties(ia.prototype,{HighLight:{set:function(o){o&&(this.item.material=this.item.polyline.material),o?this.item.polyline.material=new this._cesium.PolylineGlowMaterialProperty({glowPower:.8,color:this._cesium.Color.ORANGERED.withAlpha(.9)}):this.item.polyline.material=this.item.material}},polylinemMterial:{set:Ii.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.polyline.material=o,this.item.material=this.item.polyline.material)},500),get:function(){var o=this.item.polyline.material;if(o)try{return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}catch{}}},polylinemArcType:{set:Ii.debounce(function(o){this._core.isnull(o)||(this.item.polyline.arcType=o)},500),get:function(){var o=this.item.polyline.arcType;if(o)return o._value}},polylineWidth:{set:Ii.debounce(function(o){this._core.isnull(o)||(o=parseFloat(o),this.item.polyline.width=o)},500),get:function(){var o=this.item.polyline.width;if(o)return o._value}}});Object.defineProperties(ia.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});Object.defineProperties(ia.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});Object.defineProperties(ia.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(ia.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(ia.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(ia.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});ia.prototype.setItem=function(o){this.item=o};ia.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties(ia.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(ia.prototype,{polylineTempOptions:{get:function(){return{positions:[],arcType:ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE}}}});Object.defineProperties(ia.prototype,{MaterialColor:{get:function(){return new hn(this._viewer,this._cesium).toHtmlColor("rgb("+this.item._polyline.material.color._value.red*255+","+this.item._polyline.material.color._value.green*255+","+this.item._polyline.material.color._value.blue*255+")")}},Height:{get:function(){return this.item._polyline.height}},Visibility:{get:function(){return this.item.show}},Outlinewidth:{get:function(){return this.item._polyline.material.outlineWidth._value}},OutlineColor:{get:function(){var o=this.item._polyline.material.outlineColor;return o?(o=o._value,new hn(this._viewer,this._cesium).toHtmlColor("rgb("+o.red*255+","+o.green*255+","+o.blue*255+")")):"#ff0000"}},ClampToGround:{get:function(){return this.item._polyline.clampToGround}},Width:{get:function(){return this.item._polyline.width._value}},Type:{get:function(){return this.item._polyline.material instanceof this._cesium.PolylineDashMaterialProperty?"PolylineDashMaterialProperty":this.item._polyline.material instanceof this._cesium.PolylineArrowMaterialProperty?"PolylineArrowMaterialProperty":"PolylineOutlineMaterialProperty"}},Glow:{get:function(){return this.item._polyline.material instanceof this._cesium.PolylineGlowMaterialProperty}},MaterialAlpha:{get:function(){return this.item._polyline.material.color._value.alpha*100}}});ia.prototype.CreatePolyline=function(o,A,f,m,C){this._Geometry=o;var E={color:this._cesium.Color.YELLOW,outlineColor:this._cesium.Color.BLACK,width:10,show:!0,AltitudeType:this._cesium.defaultValue(f,999)};A&&A!==""&&(E.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(A));for(var I=[],x=0;x<o.length;x++)I.push(this._cesium.Cartesian3.fromDegrees(o[x].x,o[x].y));this.item=this._viewer.entities.add({name:C,polyline:{positions:I,width:E.width,material:new this._cesium.PolylineGlowMaterialProperty({outlineColor:E.outlineColor,color:E.color})}});var y={id:this.item.id,name:C,pId:this._core.isnull(m)?0:m,type:"polyline",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(m)?0:m),this};ia.prototype.forceEndHanlder=function(){this.handler&&(this.handler.destroy(),this.handler=void 0),this._tree.handler&&(this._tree.handler.destroy(),this._tree.handler=void 0)};var Ip=ia;var Ha=null;function vI(o,A){Ha=A,this._viewer=o,this._scene=o.scene,this._core=new Ji(o,Ha),this._tooltip=this._core.CreateTooltip(),this._getPosition=new hl(this._viewer,Ha),this._drawColor={point:Ha.Color.BLUE,polyline:Ha.Color.YELLOW,polygon:Ha.Color.YELLOW.withAlpha(.5)},this.selectDatum=!0,this.onlyTerrain=!0,this.tin=!1,this._volumeTin=[],this.loadingImg=window.SmartEarthRootUrl+kr.loading}vI.prototype.cleanUp=function(){this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._prevEntity1!==void 0&&(this._viewer.entities.remove(this._prevEntity1),this._prevEntity1=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(o=>{this._viewer.entities.remove(o)}),this._volumeTin=[],this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=void 0),this.Triangulation=[],this.tinData=void 0,this._tooltip.show(!1)};vI.prototype.deleteObject=vI.prototype.cleanUp;vI.prototype.startDrawing=function(o={},A="auto",f){var m=this._scene,C=this._tooltip,E=3,I=[],x=[],y=[],v;this._positions=x,this._degreesArr=y,this._drawColor.point=o.point||this._drawColor.point,this._drawColor.polyline=o.polyline||this._drawColor.polyline,this._drawColor.polygon=o.polygon||this._drawColor.polygon,this.loadingImg=o.loading||this.loadingImg,this.tin=this._core.defaultValue(o.tin,!0),this.onlyTerrain=this._core.defaultValue(o.onlyTerrain,!0),this.selectDatum=this._core.defaultValue(o.selectDatum,!0);var w=this;this._mouseHandler&&this._mouseHandler.destroy(),this.loading||this.addLoading();var Q=new Ha.ScreenSpaceEventHandler(m.canvas);this._mouseHandler=Q,this.cleanUp(),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);let M;Q.setInputAction(function(D){if(D.position!=null){var S=w._getPosition.getMousePosition(D);if(S){var P=Ha.Cartographic.fromCartesian(S),R=Ha.Math.toDegrees(P.longitude),T=Ha.Math.toDegrees(P.latitude);if(I.length===0&&(I.push(R,T),y.push([R,T]),x.push(S),v=S),x.length>=4){var L=Ha.SceneTransforms.wgs84ToWindowCoordinates(this._viewer.scene,v);if(L!==void 0){var F=L.x-D.position.x,U=L.y-D.position.y,N=F*F+U*U;if(N<16){I.splice(I.length-2,2),x.pop(),this.stopDrawing(f);return}}}I.push(R,T),y.push([R,T]),x.push(S),x.length===2&&!M&&(M=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Ha.CallbackProperty(function(){return x},!1),clampToGround:!0,material:w._drawColor.polygon,width:3}})),x.length===E&&(M&&this._viewer.entities.remove(M),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:new Ha.PolygonHierarchy(Ha.Cartesian3.fromDegreesArray(I)),material:w._drawColor.polygon,fill:!0}}),this._prevEntity.polygon.hierarchy=new Ha.CallbackProperty(B,!1))}}}.bind(this),Ha.ScreenSpaceEventType.LEFT_CLICK),Q.setInputAction(function(D){var S=D.endPosition;if(S!=null)if(x.length===0)C.showAt(S,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{var P=w._getPosition.getMousePosition(D);if(P){var R=Ha.Cartographic.fromCartesian(P),T=Ha.Math.toDegrees(R.longitude),L=Ha.Math.toDegrees(R.latitude);if(I.splice(I.length-2,2),y.pop(),x.pop(),I.push(T,L),y.push([T,L]),x.push(P),C.showAt(S,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"),x.length>=3&&x.length>=4){var F=Ha.SceneTransforms.wgs84ToWindowCoordinates(this._viewer.scene,v);if(F!==void 0){var U=F.x-S.x,N=F.y-S.y,H=U*U+N*N;H<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}}.bind(this),Ha.ScreenSpaceEventType.MOUSE_MOVE),Q.setInputAction(function(D){this.end&&this.end()}.bind(this),Ha.ScreenSpaceEventType.RIGHT_CLICK);function B(){return new Ha.PolygonHierarchy(Ha.Cartesian3.fromDegreesArray(I))}return this.end=D=>{if(this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._core.mouse(this._viewer.container,0),this._tooltip.show(!1),M&&this._viewer.entities.remove(M),this.end=void 0,!(x.length<E)){if(this._prevEntity&&(this._prevEntity.polygon.hierarchy=Ha.Cartesian3.fromDegreesArray(I)),D==="cancel"){this._prevEntity&&this._viewer.entities.remove(this._prevEntity);return}this.stopDrawing(A,f)}},this};vI.prototype.stopDrawing=function(o,A){this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(f=>{this._viewer.entities.remove(f)}),this._volumeTin=[],this.isLoading(!0),setTimeout(()=>{var f=this.computeCutVolume(o,this.onlyTerrain);let m=C=>{var E=C.maxHeight,I=C.minHeight;this._prevEntity.polygon.height=C.minHeight,this._prevEntity.polygon.heightReference=0;var x={id:this._core.getuid(),polygon:{hierarchy:{positions:this._positions},height:I,extrudedHeight:E,closeTop:!1,closeBottom:!1,material:Ha.Color.CYAN.withAlpha(.2),distanceDisplayCondition:new Ha.DistanceDisplayCondition(0,this.viewDistance*1.5),outline:!0,outlineColor:Ha.Color.RED,outlineWidth:2}};if(this._prevEntity1=this._viewer.entities.add(x),typeof A=="function"&&A(C),this.selectDatum){let y=()=>{this.addPoint(v=>{this.setDatum(v,w=>{typeof A=="function"&&A({...C,...w}),y()})})};y()}};this.onlyTerrain?f.then(C=>{m(C)}):m(f)},100)};vI.prototype.computeCentroidOfPolygon=function(o){for(var A=[],f=[],m=0,C=0,E=0;E<o.length;E++){var I=Ha.Cartographic.fromCartesian(o[E]);m+=I.longitude,C+=I.latitude,A.push(I.longitude),f.push(I.latitude)}var x=0,y=0;return x=m/o.length,y=C/o.length,new Ha.Cartographic(x,y)};vI.prototype.computeCutVolume=function(o,A){var f=15e3,m=-15e3;let C=Ha.BoundingSphere.fromPoints(this._positions);this.viewDistance=this._core.getPointToCameraDistance(this._viewer,C.center)*1.5,o==="auto"&&(o=C.radius/20);let E=this._core.getPointsInPolygon(this._degreesArr,o,!0),I=Ha.turf.polygon([this._degreesArr]),x=()=>{let{tin:y}=this._core.tinFromPoints(E,{getArea:!0,polygon:I});this.tinData=y;let v={fill:0,dig:0},w={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"};var Q,M,B,D,S,P={fill:1,dig:1};this.Triangulation=[],y.features.forEach(T=>{if(T.positions){if(this.tin){let F=this._viewer.entities.add({polygon:{hierarchy:new Ha.PolygonHierarchy(T.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,distanceDisplayCondition:new Ha.DistanceDisplayCondition(0,this.viewDistance*1.5),outlineColor:Ha.Color.YELLOW}});this._volumeTin.push(F)}let L=T.geometry.coordinates[0];Q=L[0][2],M=L[1][2],B=L[2][2],S=T.area,this.Triangulation.push({bottomArea:S,height:[Q,M,B]}),D=(Q-f+M-f+B-f)/3,D>0?v.dig=v.dig+S*D*P.dig:v.fill=v.fill-S*D*P.fill,v.dig>1e10&&w.dig==="\u7ACB\u65B9\u7C73"&&(v.dig=v.dig/1e9,w.dig="\u7ACB\u65B9\u5343\u7C73",P.dig=1e-9),v.fill>1e10&&w.fill==="\u7ACB\u65B9\u7C73"&&(v.fill=v.fill/1e9,w.fill="\u7ACB\u65B9\u5343\u7C73",P.fill=1e-9)}});var R=this.computeCentroidOfPolygon(this._positions);return this._volumeLabel=this._viewer.entities.add({position:Ha.Cartesian3.fromRadians(R.longitude,R.latitude,m),label:{text:"\u6316\u65B9\u4F53\u79EF\uFF1A"+v.dig.toFixed(4)+w.dig,pixelOffset:{x:0,y:-30},font:"16px \u5B8B\u4F53",fillColor:Ha.Color.GOLD,verticalOrigin:Ha.VerticalOrigin.BOTTOM,showBackground:!0,distanceDisplayCondition:new Ha.DistanceDisplayCondition(0,this.viewDistance*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this._volumeLabel1=this._viewer.entities.add({position:Ha.Cartesian3.fromRadians(R.longitude,R.latitude,m),label:{text:"\u586B\u65B9\u4F53\u79EF\uFF1A"+v.fill.toFixed(4)+w.fill,pixelOffset:{x:0,y:-70},font:"16px \u5B8B\u4F53",fillColor:Ha.Color.GOLD,verticalOrigin:Ha.VerticalOrigin.BOTTOM,showBackground:!0,distanceDisplayCondition:new Ha.DistanceDisplayCondition(0,this.viewDistance*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this.isLoading(!1),{maxHeight:m,minHeight:f,volume:v,unit:w,spacing:o}};if(A){let y=[];return E.features.forEach(v=>{let w=v.geometry.coordinates;y.push(Ha.Cartographic.fromDegrees(w[0],w[1]))}),this._core.getHeightsFromLonLat(this._viewer,y).then(v=>(E.features.forEach((w,Q)=>{let M=w.geometry.coordinates;M[2]=v[Q]||0,m<M[2]&&(m=M[2]),f>M[2]&&(f=M[2])}),x()))}else return E.features.forEach(y=>{let v=y.geometry.coordinates,w=new Ha.Cartographic(Ha.Math.toRadians(v[0]),Ha.Math.toRadians(v[1]));v[2]=Viewer.scene.sampleHeight(w)||0,m<v[2]&&(m=v[2]),f>v[2]&&(f=v[2])}),x()};vI.prototype.addLoading=function(){var o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";var A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};vI.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};vI.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};vI.prototype.addPoint=function(o){if(this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=null),!this._prevEntity1)return;this.addPointHandle=new Ha.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.addPointHandle.setInputAction(function(f){var m=this._viewer.scene.pick(f.position);if(m&&m.id&&m.id.id===this._prevEntity1.id){let E=this._getPosition.getMousePosition(f);if(E){var C=Ha.Cartographic.fromCartesian(E);this.addPointHandle.destroy(),this.addPointHandle=null,o&&typeof o=="function"&&o(C.height.toFixed(1))}}}.bind(this),Ha.ScreenSpaceEventType.LEFT_CLICK);let A;this.addPointHandle.setInputAction(function(f){clearTimeout(A),A=setTimeout(()=>{var m=this._viewer.scene.pick(f.endPosition);m&&m.id&&m.id.id===this._prevEntity1.id?this._tooltip.showAt(f.endPosition,"\u70B9\u51FB\u4FEE\u6539\u57FA\u51C6\u9762\u9AD8\u5EA6"):this._tooltip.show(!1)},50)}.bind(this),Ha.ScreenSpaceEventType.MOUSE_MOVE)};vI.prototype.showTin=function(o){this.tin=o,this._volumeTin.forEach(A=>{this._viewer.entities.remove(A)}),this._volumeTin=[],o&&this.tinData&&this.tinData.features.forEach(A=>{if(A.positions){let f=this._viewer.entities.add({polygon:{hierarchy:new Ha.PolygonHierarchy(A.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,outlineColor:Ha.Color.YELLOW}});this._volumeTin.push(f)}})};vI.prototype.setDatum=function(o,A){if(this.Triangulation&&this.Triangulation.length>0){var f,m,C,E={fill:0,dig:0},I={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"},x={fill:1,dig:1};this.Triangulation.forEach(function(y){f=y.bottomArea,m=y.height,C=(m[0]-o+m[1]-o+m[2]-o)/3,C>0?E.dig=E.dig+f*C*x.dig:E.fill=E.fill-f*C*x.fill,E.dig>1e10&&I.dig==="\u7ACB\u65B9\u7C73"&&(E.dig=E.dig/1e9,I.dig="\u7ACB\u65B9\u5343\u7C73",x.dig=1e-9),E.fill>1e10&&I.fill==="\u7ACB\u65B9\u7C73"&&(E.fill=E.fill/1e9,I.fill="\u7ACB\u65B9\u5343\u7C73",x.fill=1e-9)}),this._volumeLabel.label.text="\u6316\u65B9\u4F53\u79EF\uFF1A"+E.dig.toFixed(4)+I.dig,this._volumeLabel1.label.text="\u586B\u65B9\u4F53\u79EF\uFF1A"+E.fill.toFixed(4)+I.fill,this._prevEntity.polygon.height=o,A&&typeof A=="function"&&A({volume:E,unit:I})}};var Dne=vI;var WJ=null;function qB(o,A){WJ=A,this._viewer=o,this._core=new Ji(o,A),this.measureData=new Map}qB.prototype.clearMeasure=function(o){if(o){let A=this.measureData.get(o);A&&A.deleteObject&&A.deleteObject(),A&&A.cleanUp&&A.cleanUp(),this.measureData.delete(o)}else this.measureData.forEach(A=>{A.deleteObject&&A.deleteObject(),A.cleanUp&&A.cleanUp()}),this.measureData.clear()};qB.prototype.horizontalDistance=function(o={},A){let f=this.Polyline.horizontalDistance(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};qB.prototype.spaceDistance=function(o={},A){let f=this.Polyline.spaceDistance(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};qB.prototype.altitude=function(o={},A){let f=this.Point.altitude(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};qB.prototype.verticalHeight=function(o={},A){let f=this.Polyline.verticalHeight(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};qB.prototype.surfaceArea=function(o={},A){let f=this.Polygon.surfaceArea(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};qB.prototype.planeArea=function(o={},A){let f=this.Polygon.planeArea(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};qB.prototype.measureAngle=function(o={},A){let f=this.Polyline.measureAngle(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};qB.prototype.analysisVolume=function(o={},A){let f=new Dne(this._viewer,WJ);f.startDrawing(o,o.spacing||"auto",m=>{f.value?f.value=`\u586B\u65B9\uFF1A${m.volume.fill.toFixed(4)+m.unit.fill}<br>\u6316\u65B9\uFF1A${m.volume.dig.toFixed(4)+m.unit.dig}`:(m.id=this._core.getuid(),this.measureData.set(m.id,f),f.value=`\u586B\u65B9\uFF1A${m.volume.fill.toFixed(4)+m.unit.fill}<br>\u6316\u65B9\uFF1A${m.volume.dig.toFixed(4)+m.unit.dig}`),A&&typeof A=="function"&&A(m)})};Object.defineProperties(qB.prototype,{Point:{get:function(){return new WB(this._viewer,WJ)}},Polyline:{get:function(){return new Ip(this._viewer,WJ)}},Polygon:{get:function(){return new S0(this._viewer,WJ)}}});var $rt=qB;function Bbi(o,A){var f=Math.PI/180,m=180/Math.PI,C=o.y*f,E=o.x*f,I=A.y*f,x=A.x*f,y=-Math.atan2(Math.sin(E-x)*Math.cos(I),Math.cos(C)*Math.sin(I)-Math.sin(C)*Math.cos(I)*Math.cos(E-x));return y<0&&(y+=Math.PI*2),y=y*m,y}var _Qe=Bbi;function wbi(o,A,f){var m=_Qe(A,o),C=_Qe(A,f),E=m-C;return E<0&&(E+=360),E}var ent=wbi;function bbi(o){if(!o||o.length<3)return 0;for(var A=6371e3,f=Math.PI/180,m=180/Math.PI,C=0,E=0;E<o.length;E++){var I=(E+1)%o.length,x=(E+2)%o.length;C+=ent(o[E],o[I],o[x])}var y=(o.length-2)*180,v=C-y;return v>420?(C=o.length*360-C,v=C-y):v>300&&v<420&&(v=Math.abs(360-v)),v*f*A*A}var tnt=bbi;function Z6(o,A){this._viewer=o,this._cesium=A}Z6.prototype.createTerrainProfile=function(o){for(var A=[],f=0;f<o.length;f++){var m=this._cesium.Ellipsoid.WGS84.cartesianToCartographic(o[f]);A.push(m.height)}return A};Z6.prototype.measureTerrainArea=function(o){var A=tnt(o).toFixed(1);return A};Z6.prototype.measureTerrainHeight=function(o){var A=o[o.length-2],f=o[o.length-1],m=Math.abs(A.x-f.x),C=Math.abs(A.y-f.y),E=m>=C?5e-4:0,I=m<C?.001:0;A.hit>=f.hit;var x=Math.abs(A.z-f.z);return x};Z6.prototype.measureTerrainkPerimeter=function(o){var A=o[o.length-2],f=o[o.length-1],m=Math.abs(A.x-f.x),C=Math.abs(A.y-f.y),E=m>=C?5e-4:0,I=m<C?.001:0,x=Math.abs(A.z-f.z),y=Xh(A.y,A.z,f.y,f.z),v=Math.sqrt(x*x+y*y);return v};Z6.prototype.measureTerrainPerimeter=function(o){var A=o[o.length-2],f=o[o.length-1],m=Math.abs(A.x-f.x),C=Math.abs(A.y-f.y),E=m>=C?5e-4:0,I=m<C?.001:0,x=Xh(A.y,A.x,f.y,f.x);return x};var int=Z6;var jd,Mne=1e-5*Math.PI/180;var Qbi=11;function _I(o,A){o=o,jd=A,this._cesium=A,this._viewer=o,this._core=new Ji(o,A),this._polylines=[],this._points=[],this._tree=Ke,this._interval=20}_I.prototype.createlineOfSight=function(o,A){var f=[],m=[],C=this;this._tree.starttemporaryItem(this._viewer);var E=0,I=[],x=[],y="0",v={polyline:[]};this._tree.removeHandler();var w=this._core.CreateTooltip();C.objectsToExclude=null;var Q=void 0;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);var M=function(){function N(H){this.options={polyline:{show:!0,positions:[],material:C._cesium.Color.YELLOW,width:3,clampToGround:!1}},this.positionsp=H,this._init()}return N.prototype._init=function(){var H=this,J=function(){return H.positionsp};this.options.polyline.positions=new C._cesium.CallbackProperty(J,!1),this.polyline=C._viewer.entities.add(this.options),C.item=this.polyline,C._tree.temporaryItem.obj.push(this.polyline),x.push(this.polyline)},N}();this._tree.handler=new C._cesium.ScreenSpaceEventHandler(C._viewer.scene.canvas);var B=[],D=void 0;if(this._points.length>0)for(var S=0;S<this._points.length;S++)this._viewer.entities.remove(this._points[S]);var P,R=5e-5*Math.PI/180,T=[];this._tree.handler.setInputAction(function(N){var H,J=C._viewer.camera.getPickRay(N.position);H=C._viewer.scene.globe.pick(J,C._viewer.scene);var K=C._viewer.scene.pick(N.position);if(K){var X=C._viewer.scene.pickPosition(N.position);X&&(H=X)}if(!!H)if(B.length===0){B.push(H.clone(),H.clone());var j={leftX:N.position.x,leftY:N.position.y};T.push(j),Q=H.clone()}else{var j={rightX:N.position.x,rightY:N.position.y};T.push(j);var ee={postion:B,entity:x,cartesian:T};I.push(ee),T=[],D=void 0,B=[];var ie=Q.clone();if(o.height!=null){var Ae=ellipsoid.cartesianToCartographic(Q.clone()),z=jd.Math.toDegrees(cartograhphic.latitude),oe=jd.Math.toDegrees(cartograhpinc.longitude),le=o.height,Ae=jd.Cartographic.fromDegrees(oe,z,le),he=ellipsoid.cartographicToCartesian(Ae);ie=he}B.push(ie),B.push(ie),D=new M(B),f.push(D)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(N){var H,J=C._viewer.camera.getPickRay(N.endPosition);H=C._viewer.scene.globe.pick(J,C._viewer.scene);var K=C._viewer.scene.pick(N.endPosition);if(K){var X=C._viewer.scene.pickPosition(N.endPosition);X&&(H=X)}!H||(B.length===0?w.showAt(N.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u89C6\u70B9"):w.showAt(N.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u76EE\u6807\u89C6\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F"),B.length>=2&&(C._cesium.defined(D)?H!=null&&(B.pop(),B.push(H)):(D=new M(B),f.push(D))))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var L=0,F=0,U=0;return this._tree.handler.setInputAction(function(N){C.end&&C.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=N=>{if(w.show(!1),this.end=void 0,C._core.mouse(C._viewer.container,0),C._tree.endtemporaryItem(),C._tree.handler.destroy(),N==="cancel"){for(var H=0;H<x.length;H++)C._viewer.entities.remove(x[H]);return}for(var J=[],K=!0,X=0;X<I.length;X++)if(X==0?(F=I[X].cartesian[0].leftX,U=I[X].cartesian[0].leftY,K=C.tsjx(I[X].postion,F,U,I[X].cartesian[1].rightX,I[X].cartesian[1].rightY,50,x,C._cesium,C._viewer)):K=C.tsjx(I[X].postion,F,U,I[X].cartesian[0].rightX,I[X].cartesian[0].rightY,50,x,C._cesium,C._viewer),K){var j=C._viewer.entities.add({name:"polyline1",polyline:{positions:I[X].postion,width:3,material:C._cesium.Color.GREEN}});v.polyline.push(j)}else{var j=C._viewer.entities.add({name:"polyline1",polyline:{positions:I[X].postion,width:3,material:C._cesium.Color.RED}});v.polyline.push(j)}B.pop(),C._polylines=v.polyline,C._tree.handler.destroy();for(var H=0;H<x.length;H++)C._viewer.entities.remove(x[H]);A!=""&&A!=null&&typeof A=="function"&&A(v)},this};_I.prototype.tsjx=function(o,A,f,m,C,E,I,x,y){var v={gcs:[],min:0,max:0,juli:0,cys:E},w=this._core.getSpaceDistancem(o,x);w<=100&&w>=10?E=parseInt(w/2):w<10&&w>0?E=parseInt(w/1):w>100&&(E=parseInt(w/10)),v.cys=E;for(var Q=[],M=o[0],B=o[o.length-1],D=x.Cartographic.fromCartesian(M),S=x.Math.toDegrees(D.longitude),P=x.Math.toDegrees(D.latitude),R=D.height,T=D.height,L=x.Cartographic.fromCartesian(B),F=x.Math.toDegrees(L.longitude),U=x.Math.toDegrees(L.latitude),N=L.height,H=L.height,J=E,K=x.Math.lerp(S,F,1/J)-S,X=x.Math.lerp(P,U,1/J)-P,j=x.Math.lerp(T,H,1/J)-T,ee=x.Math.lerp(A,m,1/J)-A,ie=x.Math.lerp(f,C,1/J)-f,z=[],oe=!0,le,Ae,he=0;he<J-2;he++){var ge=S+(he+1)*K,de=P+(he+1)*X,fe=T+(he+1)*j;le=x.Cartesian3.fromDegrees(ge,de,fe),Ae=x.Cartographic.fromCartesian(le);var G=y.scene.globe.getHeight(Ae),Y=y.scene.sampleHeight(Ae,I);if(Y&&(G=Y),G=parseFloat(G.toFixed(1)),fe=parseFloat(fe.toFixed(1)),G>fe)return oe=!1,oe}return oe};_I.prototype.deleteObject=function(){if(this._points.length>0){this.objectsToExclude=null;for(var o=0;o<this._points.length;o++)this._viewer.entities.remove(this._points[o])}};_I.prototype.InterpolateLineCartographic=function(o,A,f){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var m=[];m.push(new jd.Cartographic(o.longitude,o.latitude));var C=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2)),E=f&&typeof f=="number"?f:Mne;if(C<=E)return m.push(new jd.Cartographic(A.longitude,A.latitude)),m;for(var I=C/E,x=(A.longitude-o.longitude)/I,y=(A.latitude-o.latitude)/I,v=0;v<I;v++){var w=o.longitude+(v+1)*x,Q=o.latitude+(v+1)*y;m.push(new jd.Cartographic(w,Q))}return m.push(new jd.Cartographic(A.longitude,A.latitude,A.height)),m};_I.prototype.InterpolateLineCartographicxp=function(o,A,f){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var m=[];m.push(new jd.Cartographic(o.longitude,o.latitude));var C=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2)),E=f&&typeof f=="number"?f:Mne;if(C<=E)return m.push(new jd.Cartographic(A.longitude,A.latitude)),m;for(var I=C/E,x=(A.longitude-o.longitude)/I,y=(A.latitude-o.latitude)/I,v=(A.height-o.height)/I,w=!0,Q=0;Q<I;Q++){var M=o.longitude+(Q+1)*x,B=o.latitude+(Q+1)*y,D=o.height+v*(Q+1);m.push(new jd.Cartographic(M,B,D))}return m.push(new jd.Cartographic(A.longitude,A.latitude,A.height)),m};_I.prototype.InterpolateLineHeightCartographic=function(o,A){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var f=[];f.push(new jd.Cartographic(o.longitude,o.latitude,o.height));var m=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2));if(m<=Mne)return f.push(new jd.Cartographic(A.longitude,A.latitude,A.height)),f;for(var C=m/Mne,E=(A.longitude-o.longitude)/C,I=(A.latitude-o.latitude)/C,x=(A.height-o.height)/C,y=0;y<C;y++){var v=o.longitude+(y+1)*E,w=o.latitude+(y+1)*I,Q=o.height+(y+1)*x;f.push(new jd.Cartographic(v,w,Q))}return f.push(new jd.Cartographic(A.longitude,A.latitude,A.height)),f};_I.prototype.InterpolateIndexLineHeightCartographic=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var C=(A.longitude-o.longitude)/f,E=(A.latitude-o.latitude)/f,I=(A.height-o.height)/f,x=o.longitude+m*C,y=o.latitude+m*E,v=o.height+m*I,w=new jd.Cartographic(x,y,v);return w};_I.prototype.InterpolateIndexLineHeightCartographicxp=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var C=(A.longitude-o.longitude)/f,E=(A.latitude-o.latitude)/f,I=(A.height-o.height)/f,x=o.longitude+m*C,y=o.latitude+m*E,v=o.height+m*I,w=new jd.Cartographic(x,y,v);return w};_I.prototype.Interpolate2IndexLineHeightCartographic=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var C=[];C.push(new jd.Cartographic(o.longitude,o.latitude,o.height));for(var E=(A.longitude-o.longitude)/f,I=(A.latitude-o.latitude)/f,x=(A.height-o.height)/f,y=0;y<m;y++){var v=o.longitude+(y+1)*E,w=o.latitude+(y+1)*I,Q=o.height+(y+1)*x;C.push(new jd.Cartographic(v,w,Q))}return C};_I.prototype.CartographicPointsTerrainData=function(o,A){if(!!(o.length&&o.length>0)){var f=jd.sampleTerrain(this._viewer.terrainProvider,Qbi,o);jd.when(f,function(m){A(m)})}};_I.prototype.setVisibility=function(o){if(this._polylines.length>0)for(var A=0;A<this._polylines.length;A++)this._polylines[A].show=o};_I.prototype.deleteObject=function(){if(this._polylines.length>0)for(var o=0;o<this._polylines.length;o++)this._viewer.entities.remove(this._polylines[o])};Object.defineProperties(_I.prototype,{sight:{get:function(){return this.item.sight},set:function(o){this.item.sight=sight}}});var rnt=_I;function BI(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke,this._indoormode=new wne(o,A),this._model=null,this._relativeHeight=-100,this._groundHeightAtCameraPosition=0,this._startMousePosition,this._mousePosition,this._cameraHeight,this._originalOption,this._alpha=.5,this._brightness=.3,this._depth=300,this._canvas=null,this.isIndoor=!1,this.isUndergroundMode=!1,this._flags={move:!1,vertical:!1,horizontally:!1,rotate:!1},this.moveSpeed=1}BI.prototype.refreshGridLines=function(){var o=this._relativeHeight<0,A=this._viewer.camera,f=new this._cesium.Cartographic(A.positionCartographic.longitude,A.positionCartographic.latitude,-this._depth);if(!this._model)this._model=this.UndergroundGridLines(f,o);else{var m=this.UndergroundGridLines(f,o);this._viewer.scene.primitives.remove(this._model),this._model=m}};BI.prototype.UndergroundModelOpen=function(o,A){if(!this._model){this._getOriginalOption();var f=this._viewer.camera,I=new this._cesium.Cartographic(f.positionCartographic.longitude,f.positionCartographic.latitude,-this._depth),m=new this._cesium.Cartographic(f.positionCartographic.longitude,f.positionCartographic.latitude,f.positionCartographic.height);this.destination=m,this.orientation={heading:f.heading,pitch:f.pitch,roll:0},this._cesium.ExpandBySmartEarth&&(this._cesium.ExpandBySmartEarth.underEarth.cullFace=!1,this._cesium.ExpandBySmartEarth.underEarth.enable=!0,this._cesium.ExpandBySmartEarth.underEarth.enableDepth=this._depth,this._cesium.ExpandBySmartEarth.underEarth.enableSkirt=!0),this._viewer.scene.globe.baseColor=this._cesium.Color.WHITE.withAlpha(0);var C;o?(this._depth=this._cesium.defaultValue(o.depth,300),this._alpha=this._cesium.defaultValue(o.alpha,.5),this._brightness=this._cesium.defaultValue(o.brightness,.3),this.isEnterUnderground=this._cesium.defaultValue(o.isEnterUnderground,!0),this.isFlyToSky=this._cesium.defaultValue(o.isFlyToSky,!0),C=this._cesium.defaultValue(o.height,-100)):(this._depth=300,this._alpha=.5,this._brightness=.3,this.isEnterUnderground=!0,this.isFlyToSky=!0,C=-100),this.setLayerAlpha(this._alpha,this._brightness),this._viewer.scene.globe.depthTestAgainstTerrain=!0,this._viewer.scene.highDynamicRange=!1,this._viewer.scene.skyAtmosphere.show=!1,this._viewer.scene.skyBox.show=!1,this._viewer.scene.fog.enabled=!1,this._viewer.scene.backgroundColor=new this._cesium.Color(0,0,0,1),this._viewer.container.style.backgroundImage="unset",this.isUndergroundMode=!0,A?(this.isIndoor=!0,this._indoormode.createIndoormode({undergroundMode:this})):this.isIndoor=!1;var E=this._viewer.camera,I=new this._cesium.Cartographic(E.positionCartographic.longitude,E.positionCartographic.latitude,-this._depth);this._model=this.UndergroundGridLines(I,!0);var x=this;return this._viewer.scene.preRender.addEventListener(this.getRelativeHeight,this),this.getRelativeHeight(),this._relativeHeight>0&&this.isEnterUnderground&&this.enterUnderground(C),this}};BI.prototype.close=function(){if(this._model){this._viewer.scene.preRender.removeEventListener(this.getRelativeHeight,this),this.setLayerAlpha(this._originalOption.alpha,this._originalOption.brightness),this._viewer.scene.primitives.remove(this._model),this._cesium.ExpandBySmartEarth&&(this._cesium.ExpandBySmartEarth.underEarth.cullFace=void 0,this._cesium.ExpandBySmartEarth.underEarth.enable=!1,this._cesium.ExpandBySmartEarth.underEarth.enableDepth=0,this._cesium.ExpandBySmartEarth.underEarth.enableSkirt=!1),this._viewer.scene.globe.baseColor=this._cesium.Color.WHITE.withAlpha(1),this._viewer.scene.globe.depthTestAgainstTerrain=this._originalOption.depthTest,this._viewer.scene.skyBox&&(this._viewer.scene.skyBox.show=this._originalOption.skyBoxShow),this._viewer.scene.highDynamicRange=this._originalOption.highDynamicRange,this._viewer.scene.skyAtmosphere.show=this._originalOption.skyShow,this._viewer.scene.backgroundColor=this._originalOption.backgroundColor,this._viewer.container.style.backgroundImage=this._originalOption.backgroundImage,this._viewer.scene.fog.enabled=this._originalOption.fog,this.isUndergroundMode=!1,this._model=null,qJ=void 0;var o=this._viewer.camera.positionCartographic;if(nnt(this),this.isFlyToSky){if(this._relativeHeight>500)return;this.flyToSky()}}};BI.prototype._getOriginalOption=function(){var o={alpha:this._cesium.clone(this._viewer.imageryLayers._layers[0]&&this._viewer.imageryLayers._layers[0].alpha),brightness:this._cesium.clone(this._viewer.imageryLayers._layers[0]&&this._viewer.imageryLayers._layers[0].brightness),highDynamicRange:this._cesium.clone(this._viewer.scene.highDynamicRange),skyShow:this._cesium.clone(this._viewer.scene.skyAtmosphere.show),skyBoxShow:this._cesium.clone(this._viewer.scene.skyBox&&this._viewer.scene.skyBox.show),depthTest:this._cesium.clone(this._viewer.scene.globe.depthTestAgainstTerrain),backgroundColor:this._viewer.scene.backgroundColor.clone(),backgroundImage:this._viewer.container.style.backgroundImage,fog:this._viewer.scene.fog.enabled};this._viewer.scene.globe._surface&&this._viewer.scene.globe._surface._tileProvider&&this._viewer.scene.globe._surface._tileProvider._renderState&&(o.blending=this._cesium.clone(this._viewer.scene.globe._surface._tileProvider._renderState.blending)),this._originalOption=o};BI.prototype.enterUnderground=function(o){var A=this._viewer.camera,f=new this._cesium.Cartographic(A.positionCartographic.longitude,A.positionCartographic.latitude,-this._depth);A.positionCartographic.height<=10||A.flyTo({destination:new this._cesium.Cartesian3.fromRadians(f.longitude,f.latitude,o||-this._depth/3),orientation:{heading:this._cesium.Math.toRadians(0),pitch:this._cesium.Math.toRadians(0),roll:0},complete:function(){}})};BI.prototype.flyToSky=function(){var o=this._viewer.camera,A=this._viewer.camera.positionCartographic;o.positionCartographic.height>=10||this._viewer.camera.flyTo({destination:new this._cesium.Cartesian3.fromRadians(this.destination.longitude,this.destination.latitude,this.destination.height),orientation:{heading:this.orientation.heading,pitch:this.orientation.pitch,roll:0}})};BI.prototype.setLayerAlpha=function(o,A){for(var f=this._viewer.imageryLayers.length,m=0;m<f;m++)this._viewer.imageryLayers.get(m).alpha=o,A!==void 0&&(this._viewer.imageryLayers.get(m).brightness=A);this._alpha=o,A!==void 0&&(this._brightness=A)};BI.prototype.UndergroundGridLines=function(o,A){var f=o;o instanceof this._cesium.Cartesian3&&(f=this._viewer.scene.globe.ellipsoid.cartesianToCartographic(o));var m=new this._cesium.GeometryInstance({geometry:new this._cesium.EllipseGeometry({center:this._cesium.Cartesian3.fromRadians(f.longitude,f.latitude),height:f.height,semiMinorAxis:2e4,semiMajorAxis:2e4,vertexFormat:this._cesium.VertexFormat.POSITION_AND_ST}),id:"undergroundSurface"}),C=this._cesium.Material.fromType("Grid");C.uniforms.color=this._cesium.Color.WHITE.withAlpha(.3),C.uniforms.cellAlpha=.01,C.uniforms.lineCount=new this._cesium.Cartesian2(200,200),C.uniforms.lineThickness=new this._cesium.Cartesian2(1,1);var E=this._viewer.scene.primitives.add(new this._cesium.Primitive({geometryInstances:m,appearance:new this._cesium.EllipsoidSurfaceAppearance({material:C})}));return E.appearance.renderState.depthTest.enabled=!0,E.show=A,E};function nnt(o){var A=o._viewer.scene,f=o._viewer.canvas;o._tree&&o._tree.handler&&(o._tree.handler.destroy(),o._tree.handler=null),A.screenSpaceCameraController.enableRotate=!0,A.screenSpaceCameraController.enableTranslate=!0,A.screenSpaceCameraController.enableZoom=!0,A.screenSpaceCameraController.enableTilt=!0,A.screenSpaceCameraController.enableLook=!0}BI.prototype.attachMouseEvent=function(){var o,A=this,f=this._viewer.scene;this._canvas=this._viewer.canvas,this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._canvas),this._canvas.setAttribute("tabindex","0"),this._canvas.onclick=function(){A._canvas.focus()},f.screenSpaceCameraController.enableRotate=!1,f.screenSpaceCameraController.enableTranslate=!1,f.screenSpaceCameraController.enableZoom=!1,f.screenSpaceCameraController.enableTilt=!1,f.screenSpaceCameraController.enableLook=!1,this._tree.handler.setInputAction(function(C){A._flags.move=!0,A._viewer.camera.pitch>A._cesium.Math.toRadians(5)?(A._flags.vertical=!0,A._startMousePosition=C.position):A._flags.horizontally=!0,o=A._viewer.camera.positionCartographic,A._cameraHeight=A._viewer.camera.positionCartographic.height},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this._tree.handler.setInputAction(function(C){A._flags.move=!0,A._flags.rotate=!0},this._cesium.ScreenSpaceEventType.MIDDLE_DOWN),this._tree.handler.setInputAction(function(C){A._flags.vertical||(A._startMousePosition=C.startPosition),A._mousePosition=C.endPosition,A.mouseMoveEvent()},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(C){A._flags.move=!1,A._flags.horizontally=!1,A._flags.vertical=!1},this._cesium.ScreenSpaceEventType.LEFT_UP),this._tree.handler.setInputAction(function(C){A._flags.move=!1,A._flags.rotate=!1},this._cesium.ScreenSpaceEventType.MIDDLE_UP);var m=1e3;this._tree.handler.setInputAction(function(C){var E=A._viewer.camera,I=E.positionCartographic.height>500?E.positionCartographic.height/m:.1;E.pitch<0&&E.positionCartographic.height<-200&&C>0||E.pitch>0&&E.positionCartographic.height<-200&&C<0||E.zoomIn(C*I)},this._cesium.ScreenSpaceEventType.WHEEL)};BI.prototype.mouseMoveEvent=function(){var o=200*this.moveSpeed,A=2,f=.001,m=this._viewer.camera;if(this._flags.move){var C=this._canvas.clientWidth,E=this._canvas.clientHeight,I=this._mousePosition.x-this._startMousePosition.x,x=-(this._mousePosition.y-this._startMousePosition.y);this._flags.horizontally&&(m.moveLeft(I*A),m.moveBackward(x*A),m.setView({destination:this._cesium.Cartesian3.fromRadians(m.positionCartographic.longitude,m.positionCartographic.latitude,this._cameraHeight),orientation:{heading:m.heading,pitch:m.pitch,roll:m.roll}})),this._flags.vertical&&(x=x/E,m.setView({destination:this._cesium.Cartesian3.fromRadians(m.positionCartographic.longitude,m.positionCartographic.latitude,this._cameraHeight-x*o),orientation:{heading:m.heading,pitch:m.pitch,roll:m.roll}})),this._flags.rotate&&((!m.roll&&m.pitch<0&&x<0||!m.roll&&m.pitch>0&&x>0)&&(x=0),m.rotate(m.position,I*f),m.lookUp(x*f))}};var qJ;BI.prototype.getRelativeHeight=function(){var o=this._viewer.camera,A=this._viewer.scene.globe.getHeight(o.positionCartographic);if(this._groundHeightAtCameraPosition=A||this._groundHeightAtCameraPosition,this._relativeHeight=o.positionCartographic.height-this._groundHeightAtCameraPosition,this._relativeHeight<1){!this._tree.handler&&!this.isIndoor&&this.attachMouseEvent();let f=Math.abs(this._relativeHeight);f<50?this.moveSpeed=.25:f<100?this.moveSpeed=.5:f<150?this.moveSpeed=.75:this.moveSpeed=1}else this._tree.handler&&!this.isIndoor&&nnt(this);!qJ&&(qJ=o.position.clone()),this._core.getSpaceDistancem([qJ,o.position],this._cesium)>1e4&&(qJ=o.position.clone(),this.refreshGridLines()),this._relativeHeight<0?this._model&&(this._model.show=!0):this._model&&(this._model.show=!1)};BI.prototype.isHaveTerrain=function(){return!!(this._viewer.scene&&this._viewer.scene.terrainProvider&&this._viewer.scene.terrainProvider._layers)};BI.prototype.setCesiumFov=function(o){this._viewer.camera.frustum.fov=this._cesium.Math.toRadians(o)};var ont=BI;function jo(o,A){this._viewer=o,this._cesium=A,this._elevationContour=new tne(this._viewer,this._cesium),this._createcurtaincontrast=new Qrt(this._viewer,this._cesium),this._createindoormode=new wne(this._viewer,this._cesium),this._createWeather=new Srt(this._viewer,this._cesium),this._UndergroundGrid=new Mrt(this._viewer),this._StreetView=new Trt(this._viewer,this._cesium),this._depthTestAgainstTerrain=new Prt(this._viewer,this._cesium),this._create3DViewshed=new krt(this._viewer,this._cesium),this._skylineAnalysis=new Ort(this._viewer,this._cesium),this._EdgeStage=new zrt(this._viewer,this._cesium),this._bufferAnalysis=new MP(this._viewer,this._cesium),this._shadowsAnalysis=new Jrt(this._viewer,this._cesium),this._screenshot=new Krt(this._viewer,this._cesium),this._PointFly=new j6(this._viewer,this._cesium),this._SunshineAnalysis=new qrt(this._viewer,this._cesium),this._measure=new $rt(this._viewer,this._cesium),this._Deprecated=new int(this._viewer,this._cesium),this._UndergroundMode=new ont(this._viewer,this._cesium)}jo.prototype.clearMeasure=function(o){this._measure.clearMeasure(o)};jo.prototype.horizontalDistance=function(o,A){this._measure.horizontalDistance(o,A)};jo.prototype.spaceDistance=function(o,A){this._measure.spaceDistance(o,A)};jo.prototype.altitude=function(o,A){this._measure.altitude(o,A)};jo.prototype.verticalHeight=function(o,A){this._measure.verticalHeight(o,A)};jo.prototype.surfaceArea=function(o,A){this._measure.surfaceArea(o,A)};jo.prototype.planeArea=function(o,A){this._measure.planeArea(o,A)};jo.prototype.measureAngle=function(o,A){this._measure.measureAngle(o,A)};jo.prototype.analysisVolume=function(o,A){this._measure.analysisVolume(o,A)};jo.prototype.measureTerrainPerimeter=function(o){return this._Deprecated.measureTerrainPerimeter(o)};jo.prototype.depthTestAgainstTerrain=function(o){return this._depthTestAgainstTerrain.depthTestAgainstTerrain(o)};jo.prototype.DrawPointBuffer=function(o,A,f){return this._bufferAnalysis.DrawPoint(o,A,f)};jo.prototype.DrawPolylineBuffer=function(o,A,f){return this._bufferAnalysis.DrawPolyline(o,A,f)};jo.prototype.DrawPolygonBuffer=function(o,A,f){return this._bufferAnalysis.DrawPolygon(o,A,f)};jo.prototype.TerrainExcavation=function(o=100,A,f){return new Yrt(this._viewer,this._cesium).draw(o,A,f)};jo.prototype.ShadowsAnalysis=function(){return this._shadowsAnalysis.createAnalysis()};jo.prototype.createSkylineAnalysis=function(o){return this._skylineAnalysis.createSkylineAnalysis(o)};jo.prototype.createEdgeStage=function(o){return this._EdgeStage.createEdgeStage(o)};jo.prototype.clearSkylineAnalysis=function(){return this._skylineAnalysis.clear()};jo.prototype.createScreenshot=function(o){return this._screenshot.createScreenshot(o)};jo.prototype.ScreenshotCompared=function(o){return this._screenshot.createScreenshotCompared(o)};jo.prototype.setPointFly=function(o){return this._PointFly.setPointFly(o)};jo.prototype.createCircleScan=function(o,A,f,m,C){var E=new GJ(this._viewer,this._cesium);return E.createCircleScan(o,A,f,m,C)};jo.prototype.createMultiCircleScan=function(o,A,f,m,C){var E=new GJ(this._viewer,this._cesium);return E.createMultiCircleScan(o,A,f,m,C)};jo.prototype.createSectorScan=function(o,A,f,m,C,E,I){var x=new GJ(this._viewer,this._cesium);return x.createSectorScan(o,A,f,m,C,E,I)};jo.prototype.createRadarScan=function(o,A,f,m,C){var E=new GJ(this._viewer,this._cesium);return E.createRadarScan(o,A,f,m,C)};jo.prototype.UndergroundModelOpen=function(o,A){return this._UndergroundMode.UndergroundModelOpen(o,A)};jo.prototype.UndergroundModelClose=function(){return this._UndergroundMode.close()};jo.prototype.UndergroundMode=function(o,A){if(o){this._viewer.scene.globe.translucency.enabled||(this._viewer.scene.globe.translucency.enabled=!0,this._viewer.scene.screenSpaceCameraController.enableCollisionDetection=!1,this._viewer.scene.globe.translucency.backFaceAlpha=0,this.undergroundValue("set")),A!==void 0?this._viewer.scene.globe.translucency.frontFaceAlpha=A:this._viewer.scene.globe.translucency.frontFaceAlpha=.5;let f=this._viewer,m=this._UndergroundGrid;return m.show&&m.add(),{get alpha(){return f.scene.globe.translucency.frontFaceAlpha},set alpha(C){f.scene.globe.translucency.frontFaceAlpha=C},get grid(){return m.show},set grid(C){m.show=C,C?m.add():m.destroy()},get depth(){return m._depth},set depth(C){m._depth=C,m.show&&m.refreshGridLines()}}}else this._viewer.scene.globe.translucency.enabled&&(this._viewer.scene.globe.translucency.enabled=!1,this._viewer.scene.screenSpaceCameraController.enableCollisionDetection=!0,this._viewer.scene.globe.translucency.backFaceAlpha=1,this._UndergroundGrid.destroy(),this.undergroundValue("get"))};jo.prototype.undergroundValue=function(o){o==="set"?(this.defaultUnderground={highDynamicRange:this._viewer.scene.highDynamicRange,skyBox:this._viewer.scene.skyBox.show,fog:this._viewer.scene.fog.enabled,undergroundColor:this._viewer.scene.globe.undergroundColor},this._viewer.scene.highDynamicRange=!1,this._viewer.scene.skyBox.show=!1,this._viewer.scene.fog.enabled=!1,this._viewer.scene.globe.undergroundColor=void 0):(this._viewer.scene.highDynamicRange=this.defaultUnderground.highDynamicRange,this._viewer.scene.skyBox.show=this.defaultUnderground.skyBox,this._viewer.scene.fog.enabled=this.defaultUnderground.fog,this._viewer.scene.globe.undergroundColor=this.defaultUnderground.undergroundColor)};jo.prototype.StreetViewOpen=function(o,A,f){return this._StreetView.StreetViewOpen(o,A,f)};jo.prototype.ExitStreetView=function(){return this._StreetView.exit()};jo.prototype.createWeather=function(o,A,f){return this._createWeather.createWeather(o,A,f)};jo.prototype.createParticleEffect=function(o,A,f,m){let C=new Drt(this._viewer,this._cesium);return!this._Particle&&(this._Particle={}),!this._Particle[o]&&(this._Particle[o]=[]),this._Particle[o].push(C),C.createParticleEffect(o,A,f,m)};jo.prototype.removeParticleEffect=function(o){this._Particle&&(this._Particle[o]&&this._Particle[o].forEach(A=>{A.deleteObject()}),this._Particle[o]=[])};jo.prototype.demolition=function(o,A){return new Zrt(this._viewer,this._cesium).play(o,A)};jo.prototype.measureTerrainHeight=function(o){return this._Deprecated.measureTerrainHeight(o)};jo.prototype.createindoormode=function(o){return this._createindoormode.createIndoormode(o)};jo.prototype.Indoormodeclose=function(){return this._createindoormode.Indoormodeclose()};jo.prototype.createIndoormode=function(){return this._createindoormode.createIndoormode()};jo.prototype.closeIndoormode=function(){return this._createindoormode.close()};jo.prototype.setTime=function(o=9){let A=new Date().setHours(o);this._viewer.clock.currentTime=Cesium.JulianDate.fromDate(new Date(A))};jo.prototype.terrainExaggeration=function(o){return this._viewer.scene.globe.terrainExaggeration=o};jo.prototype.createCurtainContrast=function(o,A){return this._createcurtaincontrast.curtainContrast(o,A)};jo.prototype.curtainContrast=function(o){return this._createcurtaincontrast.curtainContrastPro(o)};jo.prototype.clearCurtainContrast=function(){return this._createcurtaincontrast.close()};jo.prototype.measureTerrainArea=function(o){return this._Deprecated.measureTerrainArea(o)};jo.prototype.measureTerrainkPerimeter=function(o){return this._Deprecated.measureTerrainkPerimeter(o)};jo.prototype.createElevationContour=function(o,A,f){return this._elevationContour.createElevationContour(o,A,f)};jo.prototype.createTerrainProfile=function(o){return this._Deprecated.createTerrainProfile(o)};jo.prototype.create3DViewshed=function(o){return this._create3DViewshed.startDraw(o),this._create3DViewshed};jo.prototype.set3DViewshedOptions=function(o){return this._create3DViewshed.setOptions(o),this._create3DViewshed};jo.prototype.create3DViewshedPoss=function(o){return new pQe(this._viewer,this._cesium).createViewshed(o)};jo.prototype.add3DViewshedPoss=function(o){return new pQe(this._viewer,this._cesium).addViewshed(o)};jo.prototype.add3DViewshed=function(o){return this._create3DViewshed.addViewshed(o),this._create3DViewshed};jo.prototype.close3DViewshed=function(){return this._create3DViewshed.close()};jo.prototype.createlineOfSight=function(o,A){var f=new rnt(this._viewer,this._cesium);return f.createlineOfSight(o,A)};jo.prototype.createSightLine=function(o){return new wrt(this._viewer,this._cesium).createSightLine(o)};jo.prototype.floodAnalysis=function(o,A){return new S0(this._viewer,this._cesium).executePolygonymsd(o,A)};jo.prototype.SunshineAnalysisPoint=function(o,A){return this._SunshineAnalysis.sunshineAnalysisPoint(o,A)};jo.prototype.SunshineAnalysisPolygon=function(o,A){return this._SunshineAnalysis.sunshineAnalysisPolygon(o,A)};var ant=jo;function snt(o,A){this._viewer=o,this._cesium=A}snt.prototype.zoomIn=function(){var o=Math.ceil(this._viewer.camera.positionCartographic.height)*.6;return this._viewer.camera.zoomIn(o)};var lnt=snt;function Ant(o,A){this._viewer=o,this._cesium=A}Ant.prototype.zoomOut=function(){var o=Math.ceil(this._viewer.camera.positionCartographic.height)*.6;return this._viewer.camera.zoomOut(o)};var unt=Ant;var BQe=null;function cnt(o,A){BQe=A,this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}cnt.prototype.flyToObj=function(o){if(o&&o.flyTo)o.flyTo();else if(o&&o.west!==void 0&&o.west!==null)this._viewer.camera.flyTo({destination:this._cesium.Rectangle.fromDegrees(o.west,o.south,o.east,o.north)});else if(o instanceof BQe.Entity)this._viewer.flyTo(o);else if(o&&o.rectangle)this._viewer.camera.flyTo({destination:o.rectangle});else{if(o&&o.item&&o.item.id!=null&&o.item.id!=null){var A=Ke.getSourceById(this._tree,o.item.id);try{var f=this._viewer.scene.primitives.get(A.id);this._viewer.flyTo(f)}catch{}}if(o&&o.item)if(o.item.entities)this._viewer.flyTo(o.item);else if(o.item._primitives&&o.item._primitives.length){var m=Ii.filter(o.item._primitives,function(v){return v.geometryInstances==null});if(m.length>0){if(m[0]._boundingSpheres!=null)this._viewer.camera.flyToBoundingSphere(m[0]._boundingSpheres[0]);else if(m[0]._primitive!=null&&m[0]._primitive!=null&&m[0]._primitive._boundingSpheres[0]!=null&&m[0]._primitive._boundingSpheres[0]!=null)this._viewer.camera.flyToBoundingSphere(m[0]._primitive._boundingSpheres[0]);else if(m[0]._labels!=null&&m[0]._labels.length>0){var C=m[0]._labels[0].position,E=this._cesium.Cartographic.fromCartesian(C),I=this._cesium.Math.toDegrees(E.longitude),x=this._cesium.Math.toDegrees(E.latitude),y=this._cesium.Cartesian3.fromDegrees(I,x,2e3);this._viewer.camera.flyTo({destination:y})}else if(m[0]._pointPrimitives!=null&&m[0]._pointPrimitives.length>0){var C=m[0]._pointPrimitives[0].position,E=this._cesium.Cartographic.fromCartesian(C),I=this._cesium.Math.toDegrees(E.longitude),x=this._cesium.Math.toDegrees(E.latitude),y=this._cesium.Cartesian3.fromDegrees(I,x,2e3);this._viewer.camera.flyTo({destination:y})}else if(m[0]._billboards!=null&&m[0]._billboards.length>0){var C=m[0]._billboards[0].position,E=this._cesium.Cartographic.fromCartesian(C),I=this._cesium.Math.toDegrees(E.longitude),x=this._cesium.Math.toDegrees(E.latitude),y=this._cesium.Cartesian3.fromDegrees(I,x,2e3);this._viewer.camera.flyTo({destination:y})}}}else if(o.item._primitives&&o.item._primitives._boundingSpheres)o.item._primitives._boundingSpheres.length&&this._viewer.camera.flyToBoundingSphere(o.item._primitives._boundingSpheres[0]);else if(o.item._boundingSpheres&&o.item._boundingSpheres.length>0)this._viewer.camera.flyToBoundingSphere(o.item._boundingSpheres[0]);else if(o.item._boundingVolumes&&o.item._boundingVolumes.length){var C=o.item._boundingVolumes[0].center,E=this._cesium.Cartographic.fromCartesian(C),I=this._cesium.Math.toDegrees(E.longitude),x=this._cesium.Math.toDegrees(E.latitude),y=this._cesium.Cartesian3.fromDegrees(I,x,5e3);this._viewer.camera.flyTo({destination:y})}else o.item instanceof BQe.Cesium3DTileset?this._viewer.flyTo(o.item):o.item.boundingSphere?this._viewer.camera.flyToBoundingSphere(o.item.boundingSphere):this._viewer.flyTo(o.item);else o&&(o.boundingSphere?this._viewer.camera.flyToBoundingSphere(o.boundingSphere):this._viewer.flyTo(o))}};var hnt=cnt;var YD=null;function wQe(o,A){YD=A,this._viewer=o,this._cesium=A,this._tree=Ke.getSource(),this._core=new Ji(o,A)}wQe.prototype.jumpTo=function(o){if(o&&o.west!=null&&o.west!=null)this._viewer.camera.setView({destination:this._cesium.Rectangle.fromDegrees(o.west,o.south,o.east,o.north)});else if(o&&o.destination!==void 0)this._viewer.camera.setView({destination:o.destination,orientation:o.orientation});else{if(o&&o.item&&o.item.id!=null&&o.item.id!=null){var A=Ke.getSourceById(this._tree,o.item.id);try{var f=this._viewer.scene.primitives.get(A.id);this._viewer.zoomTo(f)}catch{}}if(o&&o.item)if(o.item.entities)this._viewer.zoomTo(o.item);else if(o.item._primitives&&o.item._primitives.length){var m=Ii.filter(o.item._primitives,function(v){return v.geometryInstances==null});if(m.length>0){if(m[0]._boundingSpheres!=null)this._viewer.camera.viewBoundingSphere(m[0]._boundingSpheres[0]);else if(m[0]._labels!=null&&m[0]._labels.length>0){var C=m[0]._labels[0].position,E=this._cesium.Cartographic.fromCartesian(C),I=this._cesium.Math.toDegrees(E.longitude),x=this._cesium.Math.toDegrees(E.latitude),y=this._cesium.Cartesian3.fromDegrees(I,x,2e3);this._viewer.camera.setView({destination:y})}else if(m[0]._pointPrimitives!=null&&m[0]._pointPrimitives.length>0){var C=m[0]._pointPrimitives[0].position,E=this._cesium.Cartographic.fromCartesian(C),I=this._cesium.Math.toDegrees(E.longitude),x=this._cesium.Math.toDegrees(E.latitude),y=this._cesium.Cartesian3.fromDegrees(I,x,2e3);this._viewer.camera.setView({destination:y})}else if(m[0]._billboards!=null&&m[0]._billboards.length>0){var C=m[0]._billboards[0].position,E=this._cesium.Cartographic.fromCartesian(C),I=this._cesium.Math.toDegrees(E.longitude),x=this._cesium.Math.toDegrees(E.latitude),y=this._cesium.Cartesian3.fromDegrees(I,x,2e3);this._viewer.camera.setView({destination:y})}}}else if(o.item._primitives&&o.item._primitives._boundingSpheres)o.item._primitives._boundingSpheres.length&&this._viewer.camera.viewBoundingSphere(o.item._primitives._boundingSpheres[0]);else if(o.item._boundingSpheres&&o.item._boundingSpheres.length>0)this._viewer.camera.viewBoundingSphere(o.item._boundingSpheres[0]);else if(o.item._boundingVolumes&&o.item._boundingVolumes.length){var C=o.item._boundingVolumes[0].center,E=this._cesium.Cartographic.fromCartesian(C),I=this._cesium.Math.toDegrees(E.longitude),x=this._cesium.Math.toDegrees(E.latitude),y=this._cesium.Cartesian3.fromDegrees(I,x,5e3);this._viewer.camera.setView({destination:y})}else this._viewer.zoomTo(o.item);else o&&this._viewer.zoomTo(o)}};wQe.prototype.jumpToPosition=function(o,A,f,m={}){let C={heading:this._core.defaultValue(m.heading,0),pitch:this._core.defaultValue(m.pitch,-90),roll:this._core.defaultValue(m.roll,0)};Math.abs(o)<=180&&Math.abs(A)<=90?this._viewer.camera.setView({destination:this._cesium.Cartesian3.fromDegrees(o,A,f),orientation:new YD.HeadingPitchRoll(YD.Math.toRadians(C.heading),YD.Math.toRadians(C.pitch),YD.Math.toRadians(C.roll)),duration:C.time}):this._viewer.camera.setView({destination:{x:o,y:A,z:f},orientation:new YD.HeadingPitchRoll(YD.Math.toRadians(C.heading),YD.Math.toRadians(C.pitch),YD.Math.toRadians(C.roll))})};var dnt=wQe;function gnt(o,A){this._viewer=o,this._cesium=A}gnt.prototype.northfinger=function(){this._viewer.camera.setView({destination:this._viewer.camera._destination,orientation:{pitch:this._viewer.camera._pitch,roll:0}})};var fnt=gnt;function pnt(o,A){this._viewer=o,this._cesium=A}pnt.prototype.setPosition=function(o,A,f){Math.abs(o)<=180&&Math.abs(A)<=90?this._viewer.camera.setView({destination:this._cesium.Cartesian3.fromDegrees(o,A,f)}):this._viewer.camera.setView({destination:{x:o,y:A,z:f}})};var mnt=pnt;function Cnt(o,A){this._viewer=o,this._cesium=A}Cnt.prototype.Stop=function(){this._viewer.scene.camera.cancelFlight()};var Ent=Cnt;var _3=null;function Tf(o,A){_3=A,this._viewer=o,this._cesium=A,this._zoomIn=new lnt(this._viewer,this._cesium),this._zoomOut=new unt(this._viewer,this._cesium),this._flyTo=new xne(this._viewer,this._cesium,this._tree),this._flyToObj=new hnt(this._viewer,this._cesium),this._jumpTo=new dnt(this._viewer,this._cesium,this._tree),this._northfinger=new fnt(this._viewer,this._cesium),this._Stop=new Ent(this._viewer,this._cesium),this._PointFly=new j6(this._viewer,this._cesium)}Tf.prototype.getPosition=function(){return this._getPosition||(this._getPosition=new hl(this._viewer,this._cesium)),this._getPosition.getPosition()};Tf.prototype.getMousePosition=function(o,A,f,m,C){return this._getPosition||(this._getPosition=new hl(this._viewer,this._cesium)),this._getPosition.getMousePosition(o,A,f,m,C)};Tf.prototype.getDegrees=function(){return this._getPosition||(this._getPosition=new hl(this._viewer,this._cesium)),this._getPosition.getDegrees()};Tf.prototype.getMouseDegrees=function(o,A,f,m,C){return this._getPosition||(this._getPosition=new hl(this._viewer,this._cesium)),this._getPosition.getMouseDegrees(o,A,f,m,C)};Tf.prototype.setPosition=function(o,A,f){return this.Stop(),this._setPosition||(this._setPosition=new mnt(this._viewer,this._cesium)),this._setPosition.setPosition(o,A,f)};Tf.prototype.zoomIn=function(){return this._zoomIn.zoomIn()};Tf.prototype.zoomOut=function(){return this._zoomOut.zoomOut()};Tf.prototype.flyTo=function(o,A){return this.Stop(),this._flyTo.flyTo(o,A)};Tf.prototype.flyToObj=function(o){this.Stop(),this._flyToObj.flyToObj(o)};Tf.prototype.jumpTo=function(o){return this.Stop(),this._jumpTo.jumpTo(o)};Tf.prototype.northfinger=function(){this._northfinger.northfinger()};Tf.prototype.flyToPosition=function(o,A,f,m){this.Stop(),this._flyTo.flyToPosition(o,A,f,m)};Tf.prototype.jumpToPosition=function(o,A,f,m){this.Stop(),this._jumpTo.jumpToPosition(o,A,f,m)};Tf.prototype.flyToPointsInterest=function(o,A){this.Stop(),this._flyTo.flyToPointsInterest(o,A)};Tf.prototype.Stop=function(){this._Stop.Stop()};Tf.prototype.rotateCenter=function(o=360,A=5){let f={x:this._viewer.canvas.clientWidth/2,y:this._viewer.canvas.clientHeight/2};return this._PointFly.setPointFly({position:this.getMousePosition(f),time:A,limitAngel:o,limitTime:!0,hideImage:!0,pitch:_3.Math.toDegrees(this._viewer.camera.pitch)})};Tf.prototype.getCameraInfo=function(o){let A=this.getDegrees();A.lon=A.lon.toFixed(5),A.lat=A.lat.toFixed(5),A.height=A.height.toFixed(2),A.x=A.lon,A.y=A.lat,A.z=A.height;let{heading:f,pitch:m,roll:C}=this._viewer.camera;f=_3.Math.toDegrees(f).toFixed(1),m=_3.Math.toDegrees(m).toFixed(1),C=_3.Math.toDegrees(C).toFixed(1);let E={location:A,rotation:{heading:f,pitch:m,roll:C,yaw:f}};return o&&o(E),E};Tf.prototype.globalRotate=function(o={},A){this.Stop(),this.jumpTo({destination:o.startPosition||{x:-5909515002227878e-9,y:2398988492116255e-8,z:15985285564042224e-9}});let f=o.angle||3,m=360/f;f=_3.Math.toRadians(f);let C=0,E=()=>{this._viewer.scene.camera.rotate(_3.Cartesian3.UNIT_Z,f),C++,C>=m&&(this._viewer.clock.onTick.removeEventListener(E),A&&A())};this._viewer.clock.onTick.addEventListener(E)};var Int=Tf;function PA(o,A){this._viewer=o,this._cesium=A,this._tree=Ke,this._core=new Ji(o,A),this._Color=new hn(this._viewer,this._cesium),this._postion={Altitude:0,AltitudeType:0,Cartesian:!0,Distance:0,Pitch:0,Roll:0,X:0,Y:0,Yaw:0}}PA.prototype.createLabel=function(o,A,f,m,C){var E={id:this._core.getuid(),text:"default text",backgroundColor:new hn(this._viewer,this._cesium).createColor(.165,.165,.165,1),fillColor:new hn(this._viewer,this._cesium).createColor(.9411764705882353,.9725490196078431,1,1),font:"30px sans-serif",horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,show:!0,scale:1,showBackground:!1,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(0,Number.MAX_VALUE)},I=this._core.extend(E,f,!0);this._core.isnull(A)||(I.text=A),I.fillColor&&!this._core.isnull(I)&&!this._core.isnull(I.fillColor)&&(I.fillColor.toString().charAt(0)=="["&&I.fillColor.toString().charAt(I.fillColor.length-1)=="]"||(this._core.isHtmlColor(I.fillColor)&&/^#/.test(I.fillColor.toString())?I.fillColor=this._Color.colorFromHtmlColor(I.fillColor):(/^rgb/.test(I.fillColor)&&(I.fillColor=this._Color.rgbaStringToRgbaObj(I.fillColor)),I.fillColor.r>1&&(I.fillColor.r=I.fillColor.r/255),I.fillColor.g>1&&(I.fillColor.g=I.fillColor.g/255),I.fillColor.b>1&&(I.fillColor.b=I.fillColor.b/255),I.fillColor.a>1&&(I.fillColor.a=I.fillColor.a/255),I.fillColor.r&&(I.fillColor=this._Color.createColor(I.fillColor.r,I.fillColor.g,I.fillColor.b,I.fillColor.a))))),I.backgroundColor&&!this._core.isnull(I)&&!this._core.isnull(I.backgroundColor)&&(I.backgroundColor.toString().charAt(0)=="["&&I.backgroundColor.toString().charAt(I.backgroundColor.length-1)=="]"||(this._core.isHtmlColor(I.backgroundColor)&&/^#/.test(I.backgroundColor.toString())?I.backgroundColor=this._Color.colorFromHtmlColor(I.backgroundColor):(/^rgb/.test(I.backgroundColor)&&(I.backgroundColor=this._Color.rgbaStringToRgbaObj(I.backgroundColor)),I.backgroundColor.r>1&&(I.backgroundColor.r=I.backgroundColor.r/255),I.backgroundColor.g>1&&(I.backgroundColor.g=I.backgroundColor.g/255),I.backgroundColor.b>1&&(I.backgroundColor.b=I.backgroundColor.b/255),I.backgroundColor.a>1&&(I.backgroundColor.a=I.backgroundColor.a/255),I.backgroundColor.r&&(I.backgroundColor=this._Color.createColor(I.backgroundColor.r,I.backgroundColor.g,I.backgroundColor.b,I.backgroundColor.a))))),I.outlineColor&&!this._core.isnull(I)&&!this._core.isnull(I.outlineColor)&&(I.outlineColor.toString().charAt(0)=="["&&I.outlineColor.toString().charAt(I.outlineColor.length-1)=="]"||(this._core.isHtmlColor(I.outlineColor)&&/^#/.test(I.outlineColor.toString())?I.outlineColor=this._Color.colorFromHtmlColor(I.outlineColor):(/^rgb/.test(I.outlineColor)&&(I.outlineColor=this._Color.rgbaStringToRgbaObj(I.outlineColor)),I.outlineColor.r>1&&(I.outlineColor.r=I.outlineColor.r/255),I.outlineColor.g>1&&(I.outlineColor.g=I.outlineColor.g/255),I.outlineColor.b>1&&(I.outlineColor.b=I.outlineColor.b/255),I.outlineColor.a>1&&(I.outlineColor.a=I.outlineColor.a/255),I.outlineColor.r&&(I.outlineColor=this._Color.createColor(I.outlineColor.r,I.outlineColor.g,I.outlineColor.b,I.outlineColor.a))))),I.near&&I.far&&(I.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(I.near,I.far)),this.item=this._viewer.entities.add({position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),label:I});var x={id:this.item.id,name:I.text,pId:this._core.isnull(m)?0:m,type:"label",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(m)?0:m),this};PA.prototype.getstyles=function(){var o={};return o.backgroundColor="rgba"+this.item.label._backgroundColor.toString(),o.fillColor="rgba"+this.item.label._fillColor.toString(),o.text=this.item.label.text.toString(),o.show=this.item.label.show?this.item.label.show._value:!0,o.font=this.item.label.font?this.item.label.font.toString():null,o.style=this.item.label.style?this.item.label.style.toString()=="null"?null:this.item.label.style.toString():null,o.scale=this.item.label.scale?this.item.label.scale.toString():null,o.showBackground=this.item.label.showBackground?this.item.label.showBackground._value:null,o.horizontalOrigin=this.item.label.horizontalOrigin?this.item.label.horizontalOrigin.toString():null,o.verticalOrigin=this.item.label.verticalOrigin?this.item.label.verticalOrigin.toString():null,o.heightReference=this.item.label.heightReference?this.item.label.heightReference.toString():null,o.outlineColor=this.item.label.outlineColor?"rgba"+this.item.label.outlineColor.toString():null,o.outlineWidth=this.item.label.outlineWidth?this.item.label.outlineWidth._value:null,o.near=this.item.label.distanceDisplayCondition?this.item.label.distanceDisplayCondition._value.near:null,o.far=this.item.label.distanceDisplayCondition?this.item.label.distanceDisplayCondition._value.far:null,o.position=this.item.position.getValue().toString(),o};PA.prototype.executeLabel=function(o){var A=this,f=[],m=new A._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas);return m.setInputAction(function(C){var E=A._viewer.scene.camera.pickEllipsoid(C.position,A._viewer.scene.globe.ellipsoid);f.push(E);var I=A._viewer.entities.add({position:E,label:{id:A._core.getuid(),text:"",font:"30px sans-serif",horizontalOrigin:A._cesium.HorizontalOrigin.CENTER,verticalOrigin:A._cesium.VerticalOrigin.CENTER,show:!0,showBackground:!0}});A.item=I;var x=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(x=Ke.selectedItem.id);var y=A._core.getuid(),v={id:y,name:"",pId:A._core.isnull(x)?0:x,type:"Point",item:A};A.setTreeobj(v),A._tree.insertGroupId(v,A._core.isnull(x)?0:x)},A._cesium.ScreenSpaceEventType.LEFT_CLICK),m.setInputAction(function(C){m.destroy()},A._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};PA.prototype.deleteObject=function(){try{if(this.item.type==="DivPoint"){this.pointPrimitive.remove(this.item);var o=document.getElementById(this.item.id);o&&o.remove();return}this._viewer.entities.remove(this.item)}catch{}};PA.prototype.setVisibility=function(o){this.item.show=o};PA.prototype.setRichtext=function(o){var A=this._core.getuid();this.item.position._value!=null?this._position=this.item.position._value:this._position=this.item.position;var f=this.treeobj.pId;if(this.deleteObject(),!this.pointPrimitive){this.pointPrimitive=this._viewer.scene.primitives.add(new this._cesium.PointPrimitiveCollection);var m,C,E,I,x=this;this.pointPrimitive.update=function(){for(var v=0,w,Q;v<x.pointPrimitive.length;v++){if(w=x.pointPrimitive.get(v),I=w.position,E=x._viewer.scene.cartesianToCanvasCoordinates(I),!E)return;C=document.getElementById(w.id),w.name||(w.name="\u6CF0\u745E"),C||(w.description?(Q='<div id="'+w.id+'" style="position: absolute; width: 200px; height: 157px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+kr.divpoint+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)"></div> <div class="content" style="position: inherit;font-size: 14px;top: 50px;left: 50px;width: 140px;text-align: left;color: rgba(255,255,255,1);">`+w.description+`</div> </div>`,$(".cesium-viewer").append(Q),C=document.getElementById(w.id)):(Q='<div id="'+w.id+'" style="position: absolute; width: 200px; height: 134px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+kr.divpoint1+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)">`+w.name+`</div> </div>`,$(".cesium-viewer").append(Q),C=document.getElementById(w.id))),w.description?C.style.transform="matrix(1, 0, 0, 1, "+E.x+", "+(E.y-157)+")":C.style.transform="matrix(1, 0, 0, 1, "+E.x+", "+(E.y-134)+")"}}}this.item=this.pointPrimitive.add({id:"DivPoint"+A,position:this._position,color:this._cesium.Color.YELLOW}),this.item.type="DivPoint",this.item.name=name,this.item.description=o;var y={id:this.item.id,name,pId:this._core.isnull(f)?0:f,type:"Point",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(f)?0:f),this.item};PA.prototype.getVisibility=function(){return this.item.show};PA.prototype.setRadius=function(o){try{this.item._label.outlineWidth=o,this.item._label.outlineColor=this._cesium.Color.RED.withAlpha(.4)}catch(A){console.log(A)}return this};PA.prototype.setText=function(o){try{this.item._label.text=o}catch(A){console.log(A)}return this};PA.prototype.setHeightType=function(o){try{o==1?this.item._label.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._label.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._label.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};PA.prototype.setUrl=function(o){try{this.item.billboard=new this._cesium.BillboardGraphics({id:this._core.getuid(),image:o,show:!0})}catch(A){console.log(A)}return this};PA.prototype.setFillColorRgba=function(o,A,f,m){try{this.item._label.fillColor=new hn(this._viewer,this._cesium).createColor(o,A,f,m)}catch(C){console.log(C)}};PA.prototype.setFillColorHtml=function(o){try{this.item._label.fillColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(o),this.item.fillColor=this.item._label.fillColor}catch(A){console.log(A)}};PA.prototype.setFillColorAlpha=function(o){try{this.item._label.fillColor._value.alpha=o}catch(A){console.log(A)}};PA.prototype.setBackgroundColorRgba=function(o,A,f,m){try{this.item._label.backgroundColor=new hn(this._viewer,this._cesium).createColor(o,A,f,m)}catch(C){console.log(C)}};PA.prototype.setBackgroundColorHtml=function(o){try{this.item._label.backgroundColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}};PA.prototype.setBackgroundColorAlpha=function(o){try{this.item._label.backgroundColor._value.alpha=o}catch(A){console.log(A)}};PA.prototype.setFontSize=function(o){try{this.item._label.font=parseFloat(o)+"px sans-serif"}catch(A){console.log(A)}};PA.prototype.setFillColorAlpha=function(o){try{this.item._label.fillColor._value.alpha=o}catch(A){console.log(A)}};PA.prototype.showBackground=function(o){try{this.item._label.showBackground=o}catch(A){console.log(A)}};PA.prototype.setOutlineWidth=function(o){try{this.item._label.outlineWidth=o}catch(A){console.log(A)}};PA.prototype.setOutlineColorRgba=function(o,A,f,m){try{this.item._label.outlineColor=new this._cesium.Color(o,A,f,m)}catch(C){console.log(C)}};PA.prototype.setOutlineColorHtml=function(o){try{this.item._label.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}};PA.prototype.setOutlineColorAlpha=function(o){try{this.item._label.outlineColor._value.alpha=o}catch(A){console.log(A)}};PA.prototype.setStyle_LabelStyle_FILL=function(o){try{this.item._label.style=this.LabelStyle_FILL}catch(A){console.log(A)}};PA.prototype.setStyle_LabelStyle_FILL_AND_OUTLINE=function(){try{this.item._label.style=this.LabelStyle_FILL_AND_OUTLINE}catch(o){console.log(o)}};PA.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._label.distanceDisplayCondition=f}catch(m){console.log(m)}return this};PA.prototype.setStyle_LabelStyle_OUTLINE=function(){try{this.item._label.style=this.LabelStyle_OUTLINE}catch(o){console.log(o)}};PA.prototype.setItem=function(o){this.item=o};PA.prototype.CreateLabel=function(o,A,f,m,C,E){this._postion=o;var I={id:this._core.getuid(),text:A,backgroundColor:m.BackgroundColor,font:m.FontName,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.BOTTOM,show:!0,scale:m.Scale,showBackground:!1,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(m.MinViewingHeight,m.MaxViewingHeight)};m.Italic&&(I.font="italic "+I.font),m.Bold&&(I.font="Bold "+I.font),!this._core.isnull(m)&&!this._core.isnull(m.IconColor)&&(m.IconColor.toString().charAt(0)=="["&&m.IconColor.toString().charAt(m.IconColor.length-1)=="]"||(this._core.isHtmlColor(m.IconColor)?I.fillColor=this._Color.colorFromHtmlColor(m.IconColor):(/^rgb/.test(m.IconColor)&&(I.fillColor=this._Color.rgbaStringToRgbaObj(m.IconColor)),I.fillColor.r>1&&(I.fillColor.r=I.fillColor.r/255),I.fillColor.g>1&&(I.fillColor.g=I.fillColor.g/255),I.fillColor.b>1&&(I.fillColor.b=I.fillColor.b/255),I.fillColor.a>1&&(I.fillColor.a=I.fillColor.a/255),I.fillColor=this._Color.createColor(I.fillColor.r,I.fillColor.g,I.fillColor.b,I.fillColor.a)))),!this._core.isnull(m)&&!this._core.isnull(m.LineColor)&&(m.LineColor.toString().charAt(0)=="["&&m.LineColor.toString().charAt(m.LineColor.length-1)=="]"||(this._core.isHtmlColor(m.LineColor)?I.outlineColor=this._Color.colorFromHtmlColor(m.LineColor):(/^rgb/.test(m.LineColor)&&(I.outlineColor=this._Color.rgbaStringToRgbaObj(m.LineColor)),I.outlineColor.r>1&&(I.outlineColor.r=I.outlineColor.r/255),I.outlineColor.g>1&&(I.outlineColor.g=I.outlineColor.g/255),I.outlineColor.b>1&&(I.outlineColor.b=I.outlineColor.b/255),I.outlineColor.a>1&&(I.outlineColor.a=I.outlineColor.a/255),I.outlineColor=this._Color.createColor(I.outlineColor.r,I.outlineColor.g,I.outlineColor.b,I.outlineColor.a)))),I=this._core.extend(I,m,!0);var x={position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),label:I};if(f&&f!==""){x.label.pixelOffset=this._cesium.defaultValue(m.pixelOffset,{x:30*(A.length/2+1),y:-30});var y={image:f,horizontalOrigin:this._cesium.defaultValue(m.ImageHorizontal,this._cesium.HorizontalOrigin.CENTER),verticalOrigin:this._cesium.defaultValue(m.ImageVertical,this._cesium.VerticalOrigin.BOTTOM),show:!0,scale:m.ImageScale||1,showBackground:!1,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(m.ImageMinViewingHeight||0,m.ImageMaxViewingHeight||99999999999999)};m.pixelOffset={x:0,y:0},y=this._core.extend(y,m,!1),x.billboard=y}this.item=this._viewer.entities.add(x);var v={id:this.item.id,name:I.text,pId:this._core.isnull(C)?0:C,type:"label",item:this};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(C)?0:C),this};PA.prototype.export=function(){var o=this.item.label.show==null?void 0:this.item.label.show._value,A=this.item.label.text==null?void 0:this.item.label.text._value,f=this.item.label.font==null?void 0:this.item.label.font._value,m=this.item.label.style==null?void 0:this.item.label.style._value,C=this.item.label.scale==null?void 0:this.item.label.scale._value,E=this.item.label.showBackground==null?void 0:this.item.label.showBackground._value,I=this.item.label.backgroundColor==null?void 0:"rgba("+this.item.label.backgroundColor._value.red+","+this.item.label.backgroundColor._value.green+","+this.item.label.backgroundColor._value.blue+","+this.item.label.backgroundColor._value.alpha+")",x=this.item.label.horizontalOrigin==null?void 0:this.item.label.horizontalOrigin._value,y=this.item.label.verticalOrigin==null?void 0:this.item.label.verticalOrigin._value,v=this.item.label.heightReference==null?void 0:this.item.label.heightReference._value,w=this.item.label.fillColor==null?void 0:"rgba("+this.item.label.fillColor._value.red+","+this.item.label.fillColor._value.green+","+this.item.label.fillColor._value.blue+","+this.item.label.fillColor._value.alpha+")",Q=this.item.label.outlineColor==null?void 0:"rgba("+this.item.label.outlineColor._value.red+","+this.item.label.outlineColor._value.green+","+this.item.label.outlineColor._value.blue+","+this.item.label.outlineColor._value.alpha+")",M=this.item.label.outlineWidth==null?void 0:this.item.label.outlineWidth._value,B=this.item.label.distanceDisplayCondition,D=B?._value.near,S=B?._value.far,P=this._cesium.Cartographic.fromCartesian(this.item.position._value),R=this._cesium.Math.toDegrees(P.longitude),T=this._cesium.Math.toDegrees(P.latitude),L=this._cesium.Math.toDegrees(P.height);return{type:"label",position:{x:R,y:T,z:L},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,text:A,font:f,style:m,scale:C,showBackground:E,backgroundColor:I,horizontalOrigin:x,verticalOrigin:y,heightReference:v,fillColor:w,outlineColor:Q,outlineWidth:M,near:D,far:S}}};PA.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties(PA.prototype,{position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(f,m,o);this.item.position.position=E,this._postion.Altitude=o}catch(I){console.log(I)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o;var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(o,m,C);this.item.position.position=E}catch(I){console.log(I)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o;var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(f,o,C);this.item.position.position=E}catch(I){console.log(I)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o}catch(A){console.log(A)}}}},LabelStyle:{BackgroundColor:{set:Ii.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.backgroundColor=o,this.item.backgroundColor=o)},500),get:function(){var o=this.item.label.backgroundColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},Bold:{get:function(){var o=this.item._label.font.getValue();return o.indexOf("bold")!=-1},set:function(){var o="bold "+this.item._label.font.getValue(),A=this.item._label.font.setValue(o)}},FontName:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f]!="bold"&&A[f].indexOf("px")==-1&&A[f].indexOf("PX")==-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C]!="bold"&&f[C].indexOf("px")==-1&&f[C].indexOf("PX")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},FontSize:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f].indexOf("px")!=-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C].indexOf("px")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},FrameFileName:{get:function(){return""},set:function(o){}},IconColor:{set:Ii.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.fillColor=o)},500),get:function(){var o=this.item.label.fillColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},Italic:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f].indexOf("italic")!=-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C].indexOf("italic")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},LimitScreenSize:{get:function(){return""},set:function(o){}},LineColor:{set:Ii.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.outlineColor=o)},500),get:function(){var o=this.item.label.outlineColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},LineToGround:{get:function(){return""},set:function(o){}},LockMode:{get:function(){return""},set:function(o){}},MaxImageSize:{get:function(){return""},set:function(o){}},MaxViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.far},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.near),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(A,o)}},MinViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.near},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.far),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,A)}},MultilineJustification:{get:function(){return""},set:function(o){}},PivotAlignment:{get:function(){return""},set:function(o){}},Scale:{get:function(){if(this.item._label.scale!=null)return this.item.label.scale.getValue()},set:function(o){this.item.label.scale.setValue(o)}},TextAlignment:{get:function(){return""},set:function(o){}},TextColor:{get:function(){return""},set:function(o){}},TextOnImage:{get:function(){return""},set:function(o){}},Underline:{get:function(){return""},set:function(o){}}}});var JD=PA;function uc(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._getPosition=new hl(this._viewer,this._cesium),this._tree=Ke,this._postion={Altitude:0,AltitudeType:0,Cartesian:!0,Distance:0,Pitch:0,Roll:0,X:0,Y:0,Yaw:0},this.positions=[],this.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0)),this.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.style=null,this.state=0,this.gonCircleArr=[],this.radius=0}uc.prototype.createCircle=function(o,A,f,m){var C={id:this._core.getuid(),semiMinorAxis:3e5,semiMajorAxis:3e5,height:2e5,material:this._cesium.Color.GREEN,outline:!0},E=this._Core.extend(C,A,!0);this.item=this._viewer.entities.add({position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),name:f,ellipse:E});var I={id:this.item.id,name:f,pId:this._core.isnull(m)?0:m,type:"circle",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(m)?0:m),greenCircle};uc.prototype.getstyles=function(){var o={};return o.show=this.item.ellipse.show?this.item.ellipse.show._value:!0,o.height=this.item.ellipse.height&&this.item.ellipse.height._value?this.item.ellipse.height._value:void 0,o.semiMajorAxis=this.item.ellipse.semiMajorAxis&&this.item.ellipse.semiMajorAxis.getValue()?this.item.ellipse.semiMajorAxis.getValue():void 0,o.semiMinorAxis=this.item.ellipse.semiMinorAxis&&this.item.ellipse.semiMinorAxis.getValue()?this.item.ellipse.semiMinorAxis.getValue():void 0,o.heightReference=this.item.ellipse.heightReference&&this.item.ellipse.heightReference._value?this.item.ellipse.heightReference._value:void 0,o.extrudedHeight=this.item.ellipse.extrudedHeight&&this.item.ellipse.extrudedHeight.getValue()?this.item.ellipse.extrudedHeight.getValue():void 0,o.extrudedHeightReference=this.item.ellipse.extrudedHeightReference&&this.item.ellipse.extrudedHeightReference._value?this.item.ellipse.extrudedHeightReference._value:void 0,o.rotation=this.item.ellipse.rotation&&this.item.ellipse.rotation._value?this.item.ellipse.rotation._value:void 0,o.stRotation=this.item.ellipse.stRotation&&this.item.ellipse.stRotation._value?this.item.ellipse.stRotation._value:void 0,o.granularity=this.item.ellipse.granularity&&this.item.ellipse.granularity._value?this.item.ellipse.granularity._value:void 0,o.fill=this.item.ellipse.fill?this.item.ellipse.fill._value:void 0,o.material={},o.material.color=this.item.ellipse.material&&this.item.ellipse.material.color&&this.item.ellipse.material.color._value?"rgba"+this.item.ellipse.material.color.toString():void 0,o.material.image=this.item.ellipse.material&&this.item.ellipse.material.image?this.item.ellipse.material.image._value:void 0,o.material.repeat=this.item.ellipse.material&&this.item.ellipse.material.repeat._value?this.item.ellipse.material.repeat._value:void 0,o.outline=this.item.ellipse.outline?this.item.ellipse.outline._value:void 0,o.outlineWidth=this.item.ellipse.outlineWidth&&this.item.ellipse.outlineWidth._value?this.item.ellipse.outlineWidth._value:void 0,o.outlineColor=this.item.ellipse.outlineColor&&this.item.ellipse.outlineColor._value?"rgba"+this.item.ellipse.outlineColor.toString():void 0,o.numberOfVerticalLines=this.item.ellipse.numberOfVerticalLines&&this.item.ellipse.numberOfVerticalLines._value?this.item.ellipse.numberOfVerticalLines._value:void 0,o.classificationType=this.item.ellipse.classificationType&&this.item.ellipse.classificationType._value?this.item.ellipse.classificationType._value:void 0,o.near=this.item.ellipse.distanceDisplayCondition?this.item.ellipse.distanceDisplayCondition._value.near:void 0,o.far=this.item.ellipse.distanceDisplayCondition?this.item.ellipse.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};uc.prototype.createCircleOptimization=function(o,A){this.style=o;var f=this;this.handler.setInputAction(function(m){var C=f.getCatesian3FromPX(m.position,f._viewer,[f.circle]);f.positions.length==0&&f.positions.push(C.clone()),f.positions.push(C);var E=f.createPoint(C,!1);f.gonCircleArr.length>0&&(f.positions.pop(),f.state=1,f.handler.destroy()),E.wz=f.gonCircleArr.length,f.gonCircleArr.push(E)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.handler.setInputAction(function(m){if(!(f.positions.length<1)){var C=f.getCatesian3FromPX(m.endPosition,f._viewer,[f.circle]);if(f.positions.length==2&&!f._cesium.defined(f.circle)){var E=f._cesium.Cartographic.fromCartesian(f.positions[0]),I=f._cesium.Math.toDegrees(E.longitude),x=f._cesium.Math.toDegrees(E.latitude),y=f._cesium.Cartographic.fromCartesian(f.positions[1]),v=f._cesium.Math.toDegrees(y.longitude),w=f._cesium.Math.toDegrees(y.latitude);f.radius=Xh(x,I,w,v),f.circle=f.createCircle(f.style),f.circle.objId=f.objId}if(f.circle){f.positions.pop(),f.positions.push(C);var E=f._cesium.Cartographic.fromCartesian(f.positions[0]),I=f._cesium.Math.toDegrees(E.longitude),x=f._cesium.Math.toDegrees(E.latitude),y=f._cesium.Cartographic.fromCartesian(f.positions[1]),v=f._cesium.Math.toDegrees(y.longitude),w=f._cesium.Math.toDegrees(y.latitude);f.radius=Xh(x,I,w,v)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE)};uc.prototype.startModify=function(){var o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E";if(!(this.state!=2&&this.state!=1)){this.modifyHandler||(this.modifyHandler=new Cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas));for(var A=this,f=0;f<A.gonCircleArr.length;f++){var m=A.gonCircleArr[f];m&&(m.show=!0)}this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.position);if(Cesium.defined(E)&&E.id)E.id.objId||(A.modifyPoint=E.id,o="\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),A.forbidDrawWorld(!0);else{for(var I=0;I<A.gonCircleArr.length;I++){var x=A.gonCircleArr[I];x&&(x.show=!1)}A.modifyHandler&&(A.modifyHandler.destroy(),A.modifyHandler=null)}A.state=2},Cesium.ScreenSpaceEventType.LEFT_DOWN),this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.endPosition);if(A._core.CreateTooltip(o,C.endPosition,!1),Cesium.defined(E)&&E.id&&(E.id.objId||A._core.CreateTooltip(o,C.endPosition,!0)),!(A.positions.length<1||!A.modifyPoint)){var I=A.getCatesian3FromPX(C.endPosition,A._viewer,[A.circle,A.modifyPoint]);if(I)if(A.modifyPoint.position.setValue(I),A.positions[A.modifyPoint.wz]=I,A.modifyPoint.wz==0)A.gonCircleArr[1].position={x:A.positions[0].x+A.radius,y:A.positions[0].y,z:A.positions[0].z};else{var x=A._cesium.Cartographic.fromCartesian(A.positions[0]),y=A._cesium.Math.toDegrees(x.longitude),v=A._cesium.Math.toDegrees(x.latitude),w=A._cesium.Cartographic.fromCartesian(A.positions[A.modifyPoint.wz]),Q=A._cesium.Math.toDegrees(w.longitude),M=A._cesium.Math.toDegrees(w.latitude);A.radius=Xh(v,y,M,Q)}A._core.CreateTooltip(o,C.endPosition,!0)}},Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.modifyHandler.setInputAction(function(C){if(!!A.modifyPoint){var E=A.getCatesian3FromPX(C.position,A._viewer,[A.circle,A.modifyPoint]);if(A.modifyPoint.position.setValue(E),A.positions[A.modifyPoint.wz]=E,A.modifyPoint.wz==0)A.gonCircleArr[1].position={x:A.positions[0].x+A.radius,y:A.positions[0].y,z:A.positions[0].z};else{var I=A._cesium.Cartographic.fromCartesian(A.positions[0]),x=A._cesium.Math.toDegrees(I.longitude),y=A._cesium.Math.toDegrees(I.latitude),v=A._cesium.Cartographic.fromCartesian(A.positions[A.modifyPoint.wz]),w=A._cesium.Math.toDegrees(v.longitude),Q=A._cesium.Math.toDegrees(v.latitude);A.radius=Xh(y,x,Q,w)}A.modifyPoint=null,A.forbidDrawWorld(!1),o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E"}},Cesium.ScreenSpaceEventType.LEFT_UP)}};uc.prototype.forbidDrawWorld=function(o){this._viewer.scene.screenSpaceCameraController.enableRotate=!o,this._viewer.scene.screenSpaceCameraController.enableTilt=!o,this._viewer.scene.screenSpaceCameraController.enableTranslate=!o,this._viewer.scene.screenSpaceCameraController.enableInputs=!o};uc.prototype.getCatesian3FromPX=function(o,A,f){var m=A.scene.pick(o),C,E=A.scene.drillPick(o),I=null;if(f){for(var x=0;x<E.length;x++)if(E[x].id._id!=f[0].id&&E[x].id._id!=f[1].id){I=E[x].id;break}}else I=m;if(A.scene.pickPositionSupported&&Cesium.defined(I))C=A.scene.pickPosition(o);else{var y=A.camera.getPickRay(o);if(!y)return;C=A.scene.globe.pick(y,A.scene)}return C};uc.prototype.createCircle=function(o){var A=this;return this._viewer.entities.add({position:new A._cesium.CallbackProperty(function(){return A.positions[0]},!1),ellipse:{semiMinorAxis:new A._cesium.CallbackProperty(function(){return A.radius},!1),semiMajorAxis:new A._cesium.CallbackProperty(function(){return A.radius},!1),material:A._cesium.Color.BLUE.withAlpha(.5),outline:o.outline||!0}})};uc.prototype.createPoint=function(o,A){if(!!o)return this._viewer.entities.add({position:o,point:{pixelSize:10,color:this._cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY},show:A})};uc.prototype.executeClircle=function(o){var A=[],f=this;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);var m=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas);m.setInputAction(function(E){var I=f._getPosition.getMousePosition(E,[f.item]);if(I){var x=f._cesium.Cartographic.fromCartesian(I),y=f._cesium.Math.toDegrees(x.longitude),v=f._cesium.Math.toDegrees(x.latitude);A.push({lon:y,lat:v});var w=A.length;if(w==1){A.push({lon:y,lat:v});var Q=f._viewer.entities.add({position:f._cesium.Cartesian3.fromDegrees(A[0].lon,A[0].lat),ellipse:{semiMinorAxis:0,semiMajorAxis:0,material:f._cesium.Color.fromRandom({alpha:.8})}});Q.ellipse.semiMinorAxis=new f._cesium.CallbackProperty(C,!1),Q.ellipse.semiMajorAxis=new f._cesium.CallbackProperty(C,!1),f.item=Q}else{var M=C();f._core.mouse(f._viewer.container,0,"0"),f.item.ellipse.semiMinorAxis=M,f.item.ellipse.semiMajorAxis=M,m.destroy(),m=void 0,A=[]}}},f._cesium.ScreenSpaceEventType.LEFT_CLICK),m.setInputAction(function(E){if(!!A.length){var I=f._getPosition.getMousePosition(E,[f.item]);if(I){var x=f._cesium.Cartographic.fromCartesian(I),y=f._cesium.Math.toDegrees(x.longitude),v=f._cesium.Math.toDegrees(x.latitude);A[1]={lon:y,lat:v}}}},f._cesium.ScreenSpaceEventType.MOUSE_MOVE);function C(){return Xh(A[0].lat,A[0].lon,A[1].lat,A[1].lon)}return this};uc.prototype.executeClirclews=function(o){var A=this,f=this._cesium.Material.fromType(this._cesium.Material.ColorType);f.uniforms.color=new this._cesium.Color(1,1,0,.5);var m=this._cesium.Ellipsoid.WGS84,C=this,E=this._viewer.scene,I=this._viewer.scene.primitives,x=null,y=null,v=new this._cesium.ScreenSpaceEventHandler(E.canvas);v.setInputAction(function(M){if(M.position!=null){var B=E.camera.pickEllipsoid(M.position,m);B&&(x==null?(x=new w({center:B,radius:0,asynchronous:!1,material:A._cesium.Color.RED}),I.add(x)):C.stopDrawing())}},A._cesium.ScreenSpaceEventType.LEFT_DOWN),v.setInputAction(function(M){var B=M.endPosition;if(B!=null&&x!=null){var D=E.camera.pickEllipsoid(B,m);D&&x.setRadius(A._cesium.Cartesian3.distance(x.getCenter(),D))}},A._cesium.ScreenSpaceEventType.MOUSE_MOVE);var w=function(){function M(B){if(!(A._cesium.defined(B.center)&&A._cesium.defined(B.radius)))throw new A._cesium.DeveloperError("Center and radius are required");B=copyOptions(B,defaultSurfaceOptions),this.initialiseOptions(B),this.setRadius(B.radius)}return M.prototype=new Q,M.prototype.setCenter=function(B){this.setAttribute("center",B)},M.prototype.setRadius=function(B){this.setAttribute("radius",Math.max(.1,B))},M.prototype.getCenter=function(){return this.getAttribute("center")},M.prototype.getRadius=function(){return this.getAttribute("radius")},M.prototype.getGeometry=function(){if(!!(A._cesium.defined(this.center)&&A._cesium.defined(this.radius)))return new A._cesium.CircleGeometry({center:this.center,radius:this.radius,height:this.height,vertexFormat:A._cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT,stRotation:this.textureRotationAngle,ellipsoid:this.ellipsoid,granularity:this.granularity})},M.prototype.getOutlineGeometry=function(){return new A._cesium.CircleOutlineGeometry({center:this.getCenter(),radius:this.getRadius()})},M},Q=function(){function M(){}return M.prototype.initialiseOptions=function(B){fillOptions(this,B),this._ellipsoid=void 0,this._granularity=void 0,this._height=void 0,this._textureRotationAngle=void 0,this._id=void 0,this._createPrimitive=!0,this._primitive=void 0,this._outlinePolygon=void 0},M.prototype.setAttribute=function(B,D){this[B]=D,this._createPrimitive=!0},M.prototype.getAttribute=function(B){return this[B]},M.prototype.update=function(B,D,S){if(!A._cesium.defined(this.ellipsoid))throw new A._cesium.DeveloperError("this.ellipsoid must be defined.");if(!A._cesium.defined(this.appearance))throw new A._cesium.DeveloperError("this.material must be defined.");if(this.granularity<0)throw new A._cesium.DeveloperError("this.granularity and scene2D/scene3D overrides must be greater than zero.");if(!!this.show&&!(!this._createPrimitive&&!A._cesium.defined(this._primitive))){if(this._createPrimitive||this._ellipsoid!==this.ellipsoid||this._granularity!==this.granularity||this._height!==this.height||this._textureRotationAngle!==this.textureRotationAngle||this._id!==this.id){var P=this.getGeometry();if(!P)return;this._createPrimitive=!1,this._ellipsoid=this.ellipsoid,this._granularity=this.granularity,this._height=this.height,this._textureRotationAngle=this.textureRotationAngle,this._id=this.id,this._primitive=this._primitive&&this._primitive.destroy(),this._primitive=new A._cesium.Primitive({geometryInstances:new A._cesium.GeometryInstance({geometry:P,id:this.id,pickPrimitive:this}),appearance:this.appearance,asynchronous:this.asynchronous}),this._outlinePolygon=this._outlinePolygon&&this._outlinePolygon.destroy(),this.strokeColor&&this.getOutlineGeometry&&(this._outlinePolygon=new A._cesium.Primitive({geometryInstances:new A._cesium.GeometryInstance({geometry:this.getOutlineGeometry(),attributes:{color:A._cesium.ColorGeometryInstanceAttribute.fromColor(this.strokeColor)}}),appearance:new A._cesium.PerInstanceColorAppearance({flat:!0,renderState:{depthTest:{enabled:!0},lineWidth:Math.min(this.strokeWidth)}})}))}var R=this._primitive;R.appearance.material=this.material,R.debugShowBoundingVolume=this.debugShowBoundingVolume,R.update(B,D,S),this._outlinePolygon&&this._outlinePolygon.update(B,D,S)}},M.prototype.isDestroyed=function(){return!1},M.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),A._cesium.destroyObject(this)},M.prototype.setStrokeStyle=function(B,D){(!this.strokeColor||!this.strokeColor.equals(B)||this.strokeWidth!=D)&&(this._createPrimitive=!0,this.strokeColor=B,this.strokeWidth=D)},M}()};uc.prototype.setSemiMajorAxis=function(o){try{this.item._ellipse.semiMajorAxis=o}catch(A){console.log(A)}return this};uc.prototype.setSemiMinorAxis=function(o){try{this.item._ellipse.semiMinorAxis=o}catch(A){console.log(A)}return this};uc.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.ellipse.semiMajorAxis==null?void 0:this.item.ellipse.semiMajorAxis._value,f=this.item.ellipse.semiMinorAxis==null?void 0:this.item.ellipse.semiMinorAxis._value,T=this.item.ellipse.height==null?void 0:this.item.ellipse.height._value,m=this.item.ellipse.extrudedHeight==null?void 0:this.item.ellipse.extrudedHeight._value,C=this.item.ellipse.rotation==null?void 0:this.item.ellipse.rotation._value,E=this.item.ellipse.stRotation==null?void 0:this.item.ellipse.stRotation._value,I=this.item.ellipse.fill==null?void 0:this.item.ellipse.fill._value,x=this.item.ellipse.material;x!=null&&(x={color:x.color==null?void 0:"rgba("+x.color._value.red+","+x.color._value.green+","+x.color._value.blue+","+x.color._value.alpha+")",image:x.image==null?void 0:x.image._value,diffusemap:x.diffusemap==null?void 0:x.diffusemap._value,alphamap:x.alphamap==null?void 0:x.alphamap._value});var y=this.item.ellipse.outline==null?void 0:this.item.ellipse.outline._value,v=this.item.ellipse.outlineColor==null?void 0:"rgba("+this.item.ellipse.outlineColor._value.red+","+this.item.ellipse.outlineColor._value.green+","+this.item.ellipse.outlineColor._value.blue+","+this.item.ellipse.outlineColor._value.alpha+")",w=this.item.ellipse.outlineWidth==null?void 0:this.item.ellipse.outlineWidth._value,Q=this.item.ellipse.numberOfVerticalLines==null?void 0:this.item.ellipse.numberOfVerticalLines._value,M=this.item.ellipse.distanceDisplayCondition,B=M?._value.near,D=M?._value.far,S=this._cesium.Cartographic.fromCartesian(this.item.position._value),P=this._cesium.Math.toDegrees(S.longitude),R=this._cesium.Math.toDegrees(S.latitude),T=this._cesium.Math.toDegrees(S.height);return{type:"circle",position:{x:P,y:R,z:T},treeobj:{name:this.treeobj.name},style:{show:o,semiMajorAxis:A,semiMinorAxis:f,height:T,extrudedHeight:m,rotation:C,stRotation:E,fill:I,material:x,outline:y,outlineColor:v,outlineWidth:w,numberOfVerticalLines:Q,near:B,far:D}}};uc.prototype.setTreeobj=function(o){this.treeobj=o};uc.prototype.setHeight=function(o){try{this.item._ellipse.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND,this.item._ellipse.height=o}catch(A){console.log(A)}return this};uc.prototype.setHeightType=function(o){try{o==1?this.item._ellipse.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._ellipse.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._ellipse.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};uc.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._ellipse.distanceDisplayCondition=f}catch(m){console.log(m)}return this};uc.prototype.setEllipseImage=function(o){try{this.item._ellipse.material.uniforms.image=o}catch(A){console.log(A)}return this};uc.prototype.setOutlineColor=function(o){try{this.item._ellipse.outlineWidth=5,this.item._ellipse.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};uc.prototype.setMaterial=function(o){try{this.item._ellipse.material.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};uc.prototype.setMaterialAlpha=function(o){try{this.item._ellipse.material.color._value.alpha=o,this.item._ellipse.show=!0}catch(A){console.log(A)}return this};uc.prototype.setItem=function(o){this.item=o};uc.prototype.setExtrudedHeight=function(o){try{this.item._ellipse.extrudedHeight=o}catch(A){console.log(A)}return this};uc.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};uc.prototype.CreateCircle=function(o,A,f,m,C,E){this._postion=o;var I={semiMinorAxis:this._cesium.defaultValue(A,3e5),semiMajorAxis:this._cesium.defaultValue(A,3e5),material:this._cesium.Color.YELLOW,outline:!0,outlineColor:this._cesium.Color.WHITE};f&&f!==""&&(I.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(f)),m&&m!==""&&(I.material=new hn(this._viewer,this._cesium).colorFromHtmlColor(m));var x;(o.Yaw||o.Pitch||o.Roll)&&(x=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:E,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),ellipse:I,orientation:x});var y={id:this.item.id,name:E,pId:this._core.isnull(C)?0:C,type:"circle",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(C)?0:C),this};uc.prototype.CreateEllipse=function(o,A,f,m,C,E,I,x){this._postion=o;var y={semiMinorAxis:this._cesium.defaultValue(A,3e5),semiMajorAxis:this._cesium.defaultValue(f,1e5),numberOfVerticalLines:this._cesium.defaultValue(E,16),material:this._cesium.Color.YELLOW,outline:!0,outlineColor:this._cesium.Color.WHITE};m&&m!==""&&(y.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(m)),C&&C!==""&&(y.material=new hn(this._viewer,this._cesium).colorFromHtmlColor(C));var v;(o.Yaw||o.Pitch||o.Roll)&&(v=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:x,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),ellipse:y,orientation:v});var w={id:this.item.id,name:x,pId:this._core.isnull(I)?0:I,type:"ellipse",item:this};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(I)?0:I),this};Object.defineProperties(uc.prototype,{Position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{this._postion.Altitude=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}}}});var Rb=uc;function Zh(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke}Zh.prototype.createBox=function(o,A,f,m){var C={id:this._core.getuid(),dimensions:new this._cesium.Cartesian3(4e5,3e5,5e5),material:this._cesium.Color.RED.withAlpha(.5),fill:!0,outline:!0,outlineColor:this._cesium.Color.BLACK},E=this._core.extend(C,A,!0);this.item=this._viewer.entities.add({name:f,position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),box:E});var I={id:this.item.id,name:f,pId:this._core.isnull(m)?0:m,type:"box",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(m)?0:m),this};Zh.prototype.getstyles=function(){var o={};return o.show=this.item.box.show?this.item.box.show._value:!0,o.heightReference=this.item.box.heightReference?this.item.box.heightReference:void 0,o.fill=this.item.box.fill&&this.item.box.fill._value?this.item.box.fill._value:void 0,o.dimensions=this.item.box.dimensions?this.item.box.dimensions.getValue():void 0,o.shadows=this.item.box.shadows&&this.item.box.shadows._value?this.item.box.shadows._value:void 0,o.material={},o.material.color=this.item.box.material&&this.item.box.material.color._value?"rgba"+this.item.box.material.color.toString():void 0,o.material.image=this.item.box.material&&this.item.box.material.image._value?this.item.box.material.image._value:void 0,o.material.repeat=this.item.box.material&&this.item.box.material.repeat?this.item.box.material.repeat._value:void 0,o.outline=this.item.box.outline&&this.item.box.outline._value?this.item.box.outline._value:void 0,o.outlineColor=this.item.box.outlineColor&&this.item.box.outlineColor._value?"rgba"+this.item.box.outlineColor.toString():void 0,o.outlineWidth=this.item.box.outlineWidth&&this.item.box.outlineWidth._value?this.item.box.outlineWidth._value:void 0,o.near=this.item.box.distanceDisplayCondition?this.item.box.distanceDisplayCondition._value.near:void 0,o.far=this.item.box.distanceDisplayCondition?this.item.box.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};Zh.prototype.executeBox=function(o){var A=this;A.shape={tempPoints:[],button:0,position:{}};var f=new this._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas),m=[],C=void 0,E=[];return f.setInputAction(function(I){var x=A._viewer.scene.camera.pickEllipsoid(I.position,A._viewer.scene.globe.ellipsoid),y=A._cesium.Cartographic.fromCartesian(x),v=A._cesium.Math.toDegrees(y.longitude),w=A._cesium.Math.toDegrees(y.latitude);E.push({lon:v,lat:w}),A.shape.button==0&&(A.box=A._viewer.entities.add({name:"",position:A._cesium.Cartesian3.fromDegrees(E[0].lon,E[0].lat),box:{id:A._core.getuid(),dimensions:new A._cesium.Cartesian3(4e5,3e5,5e5),material:A._cesium.Color.RED.withAlpha(.5),fill:!0,outline:!0,outlineColor:A._cesium.Color.RED}}),A.item=A.box);var Q={polyline:{},positions:[],distance:[]},M=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(M=Ke.selectedItem.id);var B=A._core.getuid(),D={id:B,name:"\u65B0\u5EFA\u7ACB\u65B9\u4F53"+B,pId:A._core.isnull(M)?0:M,type:"box",item:A};A.setTreeobj(D),A._tree.insertGroupId(D,A._core.isnull(M)?0:M),typeof o=="function"&&o(Q),f.destroy()},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this};Zh.prototype.executeExcavation=function(o,A){var f=this;f.shape={tempPoints:[],button:0,position:{}};var m=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas),C=[],E=void 0,I=[];return m.setInputAction(function(x){var y=f._viewer.scene.camera.pickEllipsoid(x.position,f._viewer.scene.globe.ellipsoid),v=f._cesium.Cartographic.fromCartesian(y),w=f._cesium.Math.toDegrees(v.longitude),Q=f._cesium.Math.toDegrees(v.latitude);I.push({lon:w,lat:Q});var M=-(o.z/2);if(f.shape.button==0){f.box=f._viewer.entities.add({name:"",position:f._cesium.Cartesian3.fromDegrees(I[0].lon,I[0].lat,M),box:{id:f._core.getuid(),dimensions:new f._cesium.Cartesian3(o.x,o.y,o.z),material:f._cesium.Color.WHITE.withAlpha(.5),outline:!0,outlineColor:f._cesium.Color.WHITE}}),f.item=f.box;var B=f._viewer.scene.globe,D=-(o.x/2),S=-(o.y/2);B.depthTestAgainstTerrain=!0,B.clippingPlanes=new f._cesium.ClippingPlaneCollection({modelMatrix:f.box.computeModelMatrix(f._cesium.JulianDate.now()),planes:[new f._cesium.Plane(new f._cesium.Cartesian3(1,0,0),D),new f._cesium.Plane(new f._cesium.Cartesian3(-1,0,0),D),new f._cesium.Plane(new f._cesium.Cartesian3(0,1,0),S),new f._cesium.Plane(new f._cesium.Cartesian3(0,-1,0),S)],edgeWidth:1,edgeColor:f._cesium.Color.WHITE})}var P={polyline:{},positions:[],distance:[]},R=0;!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(R=Ke.selectedItem.id);var T=f._core.getuid(),L={id:T,name:"\u65B0\u5EFA\u7ACB\u65B9\u4F53"+T,pId:f._core.isnull(R)?0:R,type:"box",item:f};f.setTreeobj(L),Ke.insertGroupId(L,f._core.isnull(R)?0:R),typeof A=="function"&&A(P),m.destroy()},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this};Zh.prototype.executeBox1=function(o){var A=this,f=this,m=[];A.shape={points:[],button:0,rect:null,entity:null};var C,E=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas);return E.setInputAction(function(I){C=f._core.getPointFromWindowPoint(I.position,f._viewer),A.shape.button>=2&&(E.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),E.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK)),A.shape.button=A.shape.button+1,C&&(A.shape.points.length==0?(m.push(C),A.shape.points.push(f._viewer.scene.globe.ellipsoid.cartesianToCartographic(C)),A.shape.rect=f._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.rect.east+=1e-6,A.shape.rect.north+=1e-6,A.shape.entity=f._viewer.entities.add({rectangle:{coordinates:A.shape.rect,material:f._cesium.Color.BLACK.withAlpha(.4),outline:!0,outlineWidth:2,outlineColor:f._cesium.Color.RED,height:0}}),A.bufferEntity=A.shape.entity):A.shape.points.length==2||(E.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),E.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK)))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),E.setInputAction(function(I){if(A.shape.points.length!=0){var x=f._core.getPointFromWindowPoint(I.endPosition,f._viewer);if(x){var y=f._viewer.camera.getPickRay(I.endPosition),v=f._viewer.scene.globe.pick(y,f._viewer.scene);m[1]=x,A.shape.points[1]=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(x),A.shape.rect=f._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.button==2?A.shape.entity.rectangle.extrudedHeight=v.z:(A.shape.rect.west==A.shape.rect.east&&(A.shape.rect.east+=1e-6),A.shape.rect.south==A.shape.rect.north&&(A.shape.rect.north+=1e-6),A.shape.entity.rectangle.coordinates=A.shape.rect)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};Zh.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.box.dimensions==null?void 0:this.item.box.dimensions.getValue(),f=this.item.box.fill==null?void 0:this.item.box.fill._value,m=this.item.box.material;m!=null&&(m={color:m.color._value==null?void 0:"rgba("+m.color._value.red+","+m.color._value.green+","+m.color._value.blue+","+m.color._value.alpha+")",image:m.image==null?void 0:m.image._value,diffusemap:m.diffusemap==null?void 0:m.diffusemap._value,alphamap:m.alphamap==null?void 0:m.alphamap._value});var C=this.item.box.outline==null?void 0:this.item.box.outline._value,E=this.item.box.outlineColor==null?void 0:"rgba("+this.item.box.outlineColor._value.red+","+this.item.box.outlineColor._value.green+","+this.item.box.outlineColor._value.blue+","+this.item.box.outlineColor._value.alpha+")",I=this.item.box.outlineWidth==null?void 0:this.item.box.outlineWidth._value,x=this.item.box.distanceDisplayCondition,y=x?._value.near,v=x?._value.far,w=this._cesium.Cartographic.fromCartesian(this.item.position._value),Q=this._cesium.Math.toDegrees(w.longitude),M=this._cesium.Math.toDegrees(w.latitude),B=this._cesium.Math.toDegrees(w.height);return{type:"box",position:{x:Q,y:M,z:B},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,dimensions:A,fill:f,material:m,outline:C,outlineColor:E,outlineWidth:I,near:y,far:v}}};Zh.prototype.setTreeobj=function(o){this.treeobj=o};Zh.prototype.setVisibility=function(o){this.item.show=o};Zh.prototype.setShow=function(o){try{this.item._box.show=o}catch(A){console.log(A)}return this};Zh.prototype.getVolume=function(){try{var o=this.item._box.dimensions._value,A=o.x*o.y*o.z}catch(f){console.log(f)}return A};Zh.prototype.setBoxImage=function(o){try{this.item._box.material=new this._cesium.ImageMaterialProperty({image:o})}catch(A){console.log(A)}return this};Zh.prototype.setBoxRepeat=function(o,A){try{this.item._box.material.repeat=new this._cesium.Cartesian2(o,A)}catch(f){console.log(f)}return this};Zh.prototype.setHeightType=function(o){try{o==1?this.item._box.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._box.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._box.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};Zh.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._box.distanceDisplayCondition=f}catch(m){console.log(m)}return this};Zh.prototype.setFill=function(o){try{this.item._box.fill=o}catch(A){console.log(A)}return this};Zh.prototype.setMaterialAlpha=function(o){try{this.item._box.material.color._value.alpha=o,this.item._box.show=!0}catch(A){console.log(A)}return this};Zh.prototype.setOutlineColor=function(o){try{this.item._box.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Zh.prototype.setMaterial=function(o){try{this.item._box.material.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Zh.prototype.setItem=function(o){this.item=o};Zh.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};Object.defineProperties(Zh.prototype,{ColorAlpha:{get:function(){return this.item._box.color._value.alpha}},Scale:{get:function(){return this.item._box.scale}},Rotation:{get:function(){return this.item._box.rotation}},Width:{get:function(){return this.item._box.width}},Height:{get:function(){return this.item._box.heightReference}},Color:{get:function(){return this._color.toHtmlColor("rgb("+this.item._box.backgroundColor._value.red*255+","+this.item._box.backgroundColor._value.green*255+","+this.item._box.backgroundColor._value.blue*255+","+this.item._box.backgroundColor._value.alpha*255+")")}}});Zh.prototype.CreateBox=function(o,A,f,m,C,E,I,x){this._postion=o;var y={dimensions:new this._cesium.Cartesian3(m,A,f),material:this._cesium.Color.YELLOW,outline:!0,outlineColor:this._cesium.Color.RED};C&&C!==""&&(y.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(C)),E&&E!==""&&(y.material=new hn(this._viewer,this._cesium).colorFromHtmlColor(E));var v;(o.Yaw||o.Pitch||o.Roll)&&(v=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:x,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),box:y,orientation:v});var w={id:this.item.id,name:x,pId:this._core.isnull(I)?0:I,type:"box",item:this};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(I)?0:I),this};Object.defineProperties(Zh.prototype,{Position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{this._postion.Altitude=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}}}});var KD=Zh;var Xo=null;function Pl(o,A){Xo=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke,this.positions=[],this.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0)),this.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.style=null,this.state=0,this.gonCircleArr=[],this.gonPointStretchingArr=[],this.topRadius=0,this.bottomRadius=0,this.length=50}Pl.prototype.createCone=function(o,A,f,m){var C={length:4e5,topRadius:0,bottomRadius:2e5,material:this._cesium.Color.GREEN},E=this._core.extend(C,A,!0);this.item=this._viewer.entities.add({name:f,position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[1]),cylinder:E});var I={id:this.item.id,name:f,pId:this._core.isnull(m)?0:m,type:"cylinder",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(m)?0:m),this};Pl.prototype.getstyles=function(){var o={};return o.show=this.item.cylinder.show?this.item.cylinder.show._value:!0,o.length=this.item.cylinder.length?this.item.cylinder.length.getValue():void 0,o.topRadius=this.item.cylinder.topRadius?this.item.cylinder.topRadius.getValue():void 0,o.bottomRadius=this.item.cylinder.bottomRadius?this.item.cylinder.bottomRadius.getValue():void 0,o.heightReference=this.item.cylinder.heightReference&&this.item.cylinder.heightReference._value?this.item.cylinder.heightReference._value:void 0,o.fill=this.item.cylinder.fill&&this.item.cylinder.fill._value?this.item.cylinder.fill._value:void 0,o.material={},o.material.color=this.item.cylinder.material&&this.item.cylinder.material.color&&this.item.cylinder.material.color._value?"rgba"+this.item.cylinder.material.color.toString():void 0,o.material.image=this.item.cylinder.material&&this.item.cylinder.material.image&&this.item.cylinder.material.image._value?this.item.cylinder.material.image._value:void 0,o.material.repeat=this.item.cylinder.material&&this.item.cylinder.material.repeat&&this.item.cylinder.material.repeat._value?this.item.cylinder.material.repeat._value:void 0,o.outline=this.item.cylinder.outline?this.item.cylinder.outline._value:void 0,o.outlineWidth=this.item.cylinder.outlineWidth&&this.item.cylinder.outlineWidth._value?this.item.cylinder.outlineWidth._value:void 0,o.outlineColor=this.item.cylinder.outlineColor&&this.item.cylinder.outlineColor&&this.item.cylinder.outlineColor._value?"rgba"+this.item.cylinder.outlineColor.toString():void 0,o.near=this.item.cylinder.distanceDisplayCondition?this.item.cylinder.distanceDisplayCondition._value.near:void 0,o.far=this.item.cylinder.distanceDisplayCondition?this.item.cylinder.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};Pl.prototype.createRectangularSensor=function(o,A,f,m){var C=this;!A&&(A={});var E=this._core.defaultValue(A.radius,100),I={radii:new this._cesium.Cartesian3(E,E,E),maximumCone:this._cesium.Math.toRadians(90),material:this._cesium.Color.AQUAMARINE.withAlpha(.3),outline:!0,outlineColor:this._cesium.Color.AQUAMARINE.withAlpha(.5),outlineWidth:1},x=this._core.extend(I,A,!0);typeof A.color=="string"&&(x.material=this._cesium.Color.fromCssColorString(A.color)),typeof A.outlineColor=="string"&&(x.outlineColor=this._cesium.Color.fromCssColorString(A.outlineColor));var y=0,v=this.calcPoints(o[0],o[1],o[2],E,y);this.wall=[];var w=this._viewer.entities.add({polygon:{hierarchy:new this._cesium.CallbackProperty(function(){return new C._cesium.PolygonHierarchy(C._cesium.Cartesian3.fromDegreesArrayHeights(v))},!1),perPositionHeight:!0,material:this._core.defaultValue(A.wallColor&&this._cesium.Color.fromCssColorString(A.wallColor),this._cesium.Color.AQUAMARINE.withAlpha(.5)),outline:!0,outlineColor:this._core.defaultValue(A.wallOutlineColor&&this._cesium.Color.fromCssColorString(A.wallOutlineColor),this._cesium.Color.RED.withAlpha(.5))}});if(this.wall.push(w),x.angle){var Q=this.calcPoints(o[0],o[1],o[2],E,y+x.angle),M=this._viewer.entities.add({polygon:{hierarchy:new this._cesium.CallbackProperty(function(){return new C._cesium.PolygonHierarchy(C._cesium.Cartesian3.fromDegreesArrayHeights(Q))},!1),perPositionHeight:!0,material:this._core.defaultValue(A.wallColor&&this._cesium.Color.fromCssColorString(A.wallColor),this._cesium.Color.AQUAMARINE.withAlpha(.5)),outline:!0,outlineColor:this._core.defaultValue(A.wallOutlineColor&&this._cesium.Color.fromCssColorString(A.wallOutlineColor),this._cesium.Color.RED.withAlpha(.5))}});this.wall.push(M);var B=this._viewer.entities.add({position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),ellipsoid:{radii:x.radii,minimumClock:this._cesium.Math.toRadians(0),maximumClock:this._cesium.Math.toRadians(x.angle),maximumCone:this._cesium.Math.toRadians(90),material:this._core.defaultValue(A.surfaceColor&&this._cesium.Color.fromCssColorString(A.surfaceColor),this._cesium.Color.RED.withAlpha(.5))},orientation:new C._cesium.CallbackProperty(function(){return C._cesium.Transforms.headingPitchRollQuaternion(C._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),new C._cesium.HeadingPitchRoll(C._cesium.Math.toRadians(-y),0,0))},!1)});this.wall.push(B)}this.item=this._viewer.entities.add({position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),ellipsoid:x});var D=this._core.defaultValue(x.speed,1);this._viewer.clock.onTick.addEventListener(function(){y+=.1*D,v=C.calcPoints(o[0],o[1],o[2],E,y),Q&&(Q=C.calcPoints(o[0],o[1],o[2],E,y+x.angle))});var S={id:this.item.id,name:f,pId:this._core.isnull(m)?0:m,type:"cylinder",item:this};return this.setTreeobj(S),this._tree.insertGroupId(S,this._core.isnull(m)?0:m),this};Pl.prototype.computeCirclularFlight=function(o,A,f,m,C,E,I){var x=[];x.push(o),x.push(A),x.push(C);for(var y=this._cesium.Cartesian3.distance(this._cesium.Cartesian3.fromDegrees(o,A,C),this._cesium.Cartesian3.fromDegrees(f,m,C)),v=E;v<=E+I;v++){var w=y*Math.sin(v*Math.PI/180),Q=Math.cos(v*Math.PI/180),M=(f-o)*Q+o,B=(m-A)*Q+A;x.push(M),x.push(B),x.push(w+C)}return x};Pl.prototype.calcPoints=function(o,A,f,m,C){var E=this._cesium.Transforms.eastNorthUpToFixedFrame(this._cesium.Cartesian3.fromDegrees(o,A,f)),I=m*Math.cos(C*Math.PI/180),x=m*Math.sin(C*Math.PI/180),y=this._cesium.Cartesian3.fromElements(I,x,0),v=this._cesium.Matrix4.multiplyByPoint(E,y,new this._cesium.Cartesian3),w=this._cesium.Cartographic.fromCartesian(v),Q=this._cesium.Math.toDegrees(w.longitude),M=this._cesium.Math.toDegrees(w.latitude);return this.computeCirclularFlight(o,A,Q,M,f,0,90)};Pl.prototype.createRadarMaskScan=function(o,A,f,m){var C=this;!f&&(f={});var E=this._core.defaultValue(f.radius,100),I=this._core.defaultValue(f.yaw,0),x=this._core.defaultValue(f.angle,60),y=f.innerOutline,v={subdivisions:6,stackPartitions:30,slicePartitions:30,innerRadii:new this._cesium.Cartesian3(.5,.5,.5),radii:new Xo.CallbackProperty(function(){return new Xo.Cartesian3(E,E,E)},!1),maximumCone:this._cesium.Math.toRadians(this._core.defaultValue(f.maxLat,105)),minimumCone:this._cesium.Math.toRadians(this._core.defaultValue(f.minLat,75)),minimumClock:new Xo.CallbackProperty(function(){return Xo.Math.toRadians(I)},!1),maximumClock:new Xo.CallbackProperty(function(){return Xo.Math.toRadians(I+x)},!1),material:this._cesium.Color.AQUAMARINE.withAlpha(.3),outline:!y,outlineColor:this._cesium.Color.AQUAMARINE.withAlpha(.5),outlineWidth:1},w=this._core.extend(v,f,!0);typeof f.color=="string"&&(w.material=this._cesium.Color.fromCssColorString(f.color)),typeof f.outlineColor=="string"&&(w.outlineColor=this._cesium.Color.fromCssColorString(f.outlineColor));let Q,M,B=A instanceof Xo.Entity?A:void 0;if(B?(Q=new Xo.CallbackProperty(()=>{let L=B.position.getValue(this._viewer.clock.currentTime.clone());if(f.offset){let F=B.orientation.getValue(this._viewer.clock.currentTime.clone()),U;if(F){let N=Xo.Matrix3.fromQuaternion(F),H=Xo.Matrix4.fromRotationTranslation(N,L);U=Xo.Transforms.fixedFrameToHeadingPitchRoll(H)}L=C._core.setPositionOffset(L,f.offset,U)}return L},!1),M=new Xo.CallbackProperty(()=>B.orientation.getValue(this._viewer.clock.currentTime.clone()),!1)):Q=Xo.Cartesian3.fromDegrees(A[0],A[1],A[2]),f.trackedEntity){let L,F,U,N,H,J=(w.maximumCone-w.minimumCone)/2;M=new Xo.CallbackProperty(()=>(F=f.trackedEntity.position.getValue(this._viewer.clock.currentTime.clone()),L=Q.getValue?Q.getValue():Q,H=this._core.twoPointsHeadingPitchRoll(this._viewer,L,F),E=H.radius,U=H.heading-Math.PI/2,N=H.pitch-J,Xo.Transforms.headingPitchRollQuaternion(L,new Xo.HeadingPitchRoll(U,N,0))),!1)}var D=0,S=this._core.defaultValue(f.scanAngle,15);this._scan=this._viewer.entities.add({position:Q,orientation:M,ellipsoid:{...w,minimumClock:new Xo.CallbackProperty(function(){return Xo.Math.toRadians(I+D)},!1),maximumClock:new Xo.CallbackProperty(function(){return Xo.Math.toRadians(I+D+S)},!1),outline:y,material:this._core.defaultValue(f.scanColor&&this._cesium.Color.fromCssColorString(f.scanColor),this._cesium.Color.RED.withAlpha(.5))}}),this.item=this._viewer.entities.add({position:Q,orientation:M,ellipsoid:w});var P=this._core.defaultValue(w.speed,1);function R(){D+=.1*P,D<=0&&P<0?(D=0,P=-P):D>=x-S&&P>0&&(D=x-S,P=-P)}this._viewer.clock.onTick.addEventListener(R),this.setRadarMaskValue=(L,F)=>{L==="yaw"?I=F:L==="angle"?x=F>360?360:F:L==="radius"?E=F:L==="scanAngle"?S=F>x?x:F:L==="speed"&&(P=F)},this.deleteObject=()=>{let L=this._viewer;L.entities.remove(this.item),L.entities.remove(this._scan),this._viewer.clock.onTick.removeEventListener(R)};var T={id:this.item.id,name:o,pId:this._core.isnull(m)?0:m,type:"ellipsoid",item:this};return this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),this};Pl.prototype.ConicSensor=function(o,A,f={}){var m=Xo.Cartesian3.distance(o,A),C=(f.angle||10)/2,E={innerRadii:new this._cesium.Cartesian3(2,2,2),radii:new Xo.CallbackProperty(function(){return new Xo.Cartesian3(m,m,m)},!1),outline:f.outline,material:Xo.Color.RED.withAlpha(.2),outlineColor:Xo.Color.WHITE.withAlpha(.2),maximumCone:Xo.Math.toRadians(-C),minimumCone:Xo.Math.toRadians(C)};f.color&&(E.material=Xo.Color.fromCssColorString(f.color)),f.outlineColor&&(E.outlineColor=Xo.Color.fromCssColorString(f.outlineColor));let I=this._core.toDegrees(o),x=this._core.toDegrees(A),y,v,w=0;this.item=this._viewer.entities.add({position:o,ellipsoid:E});let Q=()=>{y=this._core.TwoPointAzimuth(I.lon,I.lat,x.lon,x.lat)+90,v=Math.acos((x.height-I.height)/m),v=Xo.Math.toDegrees(v),this.item.orientation=Xo.Transforms.headingPitchRollQuaternion(o,new Xo.HeadingPitchRoll(Xo.Math.toRadians(this._core.defaultValue(y,0)),Xo.Math.toRadians(this._core.defaultValue(v,0)),Xo.Math.toRadians(this._core.defaultValue(w,0))))};Q();var M={id:this.item.id,name:"\u9525\u5F62\u4F20\u611F\u5668",pId:0,type:"ellipsoid",item:this};return this.setTreeobj(M),this._tree.insertGroupId(M,0),this.changeStart=B=>{o=B,I=this._core.toDegrees(o),this.item.position=o,m=Xo.Cartesian3.distance(o,A),Q()},this.changeEnd=B=>{A=B,x=this._core.toDegrees(A),m=Xo.Cartesian3.distance(o,A),Q()},this.changeAngle=B=>{C=B/2,this.item.ellipsoid.maximumCone=Xo.Math.toRadians(-C),this.item.ellipsoid.minimumCone=Xo.Math.toRadians(C)},this};Pl.prototype.createRadarMask=function(o,A,f,m){var C=this;!f&&(f={});var E=this._core.defaultValue(f.radius,100),I=this._core.defaultValue(f.yaw,0),x=this._core.defaultValue(f.angle,60),y={innerRadii:new this._cesium.Cartesian3(2,2,2),radii:new this._cesium.Cartesian3(E,E,E),maximumCone:this._cesium.Math.toRadians(this._core.defaultValue(f.maxLat,105)),minimumCone:this._cesium.Math.toRadians(this._core.defaultValue(f.minLat,75)),minimumClock:this._cesium.Math.toRadians(I),maximumClock:this._cesium.Math.toRadians(I+x),material:this._cesium.Color.AQUAMARINE.withAlpha(.3),outline:!1,outlineColor:this._cesium.Color.AQUAMARINE.withAlpha(.5),outlineWidth:1},v=this._core.extend(y,f,!0);typeof f.color=="string"&&(v.material=this._cesium.Color.fromCssColorString(f.color)),typeof f.outlineColor=="string"&&(v.outlineColor=this._cesium.Color.fromCssColorString(f.outlineColor)),this.item=this._viewer.entities.add({position:A,ellipsoid:v});var w={id:this.item.id,name:o,pId:this._core.isnull(m)?0:m,type:"ellipsoid",item:this};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};Pl.prototype.createConeRadar=function(o,A){!A&&(A={});var f=this;f.lon=o[0],f.lat=o[1],f.height=this._core.defaultValue(o[2],3e3),this.planePosition=null,this.halfLen=f.height/2,this.lengthl=f.height,this.geoD=new this._cesium.EllipsoidGeodesic,this.startPt=this._cesium.Cartographic.fromDegrees(f.lon,f.lat,0),this.changenum=0,this.curCanvas="a";var m=this._viewer.scene.globe.getHeight(this.startPt)||0,C=this._cesium.Color.fromCssColorString(f._core.defaultValue(A.color,"#0000ff"));function E(){return f.lon>o[0]+.01&&f.lat<o[1]+.005?f.lat+=1e-5:f.lat>o[1]+.005&&f.lon>o[0]?f.lon-=1e-5:f.lon<=o[0]&&f.lat>o[1]?f.lat-=1e-5:f.lon+=1e-5,f.planePosition=f._cesium.Cartesian3.fromDegrees(f.lon,f.lat,f.height/2),f.planePosition}function I(){var v=Xo.Cartographic.fromDegrees(f.lon,o[1],0);f.geoD.setEndPoints(f.startPt,v);var w=f.geoD.surfaceDistance,Q=Math.atan(w/f.halfLen),M=Xo.Cartographic.fromDegrees(f.lon,f.lat,0);f.geoD.setEndPoints(f.startPt,M),w=f.geoD.surfaceDistance,f.lengthl=Math.sqrt(w*w+f.halfLen*f.halfLen);var B=Xo.Cartographic.fromDegrees(o[0],f.lat,0);f.geoD.setEndPoints(f.startPt,B),w=f.geoD.surfaceDistance;var D=Math.asin(w/f.lengthl),S=new Xo.HeadingPitchRoll(0,Q,D),P=Xo.Transforms.headingPitchRollQuaternion(f.planePosition,S);return P}function x(){return 2*f.lengthl}this.item=this._viewer.entities.add({name:"Red cone",position:A.rotate?new this._cesium.CallbackProperty(E,!1):f._cesium.Cartesian3.fromDegrees(f.lon,f.lat,(f.height+m)/2),orientation:A.rotate?new this._cesium.CallbackProperty(I,!1):void 0,cylinder:{length:A.rotate?new f._cesium.CallbackProperty(x,!1):f.height-m,topRadius:0,bottomRadius:f._core.defaultValue(A.radius,300),bottomSurface:!1,material:f._core.getConeRadarMaterial(A.color)}});var y={id:this._core.getuid(),name:"\u65B0\u5EFA\u536B\u661F\u96F7\u8FBE",pId:0,type:"ConeRadar",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,0),this};Pl.prototype.setLength=function(o){try{this.item._cylinder.length=o}catch(A){console.log(A)}return this};Pl.prototype.createCylinderOptimization=function(o,A){this.style=o;var f=this;this.handler.setInputAction(function(m){var C=f.getCatesian3FromPX(m.position,f._viewer,[f.circle]);f.positions.length==0&&f.positions.push(C.clone()),f.positions.push(C);var E=f.createPoint(C,!1);f.gonCircleArr.length>0&&(f.positions.pop(),f.state=1,f.handler.destroy());var I=f.createPointStretching(C,!1);I.wq=f.gonCircleArr.length,f.gonPointStretchingArr.push(I),E.wz=f.gonCircleArr.length,f.gonCircleArr.push(E)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.handler.setInputAction(function(m){if(!(f.positions.length<1)){var C=f.getCatesian3FromPX(m.endPosition,f._viewer,[f.circle]);if(f.positions.length==2&&!f._cesium.defined(f.circle)){var E=f._cesium.Cartographic.fromCartesian(f.positions[0]),I=f._cesium.Math.toDegrees(E.longitude),x=f._cesium.Math.toDegrees(E.latitude),y=f._cesium.Cartographic.fromCartesian(f.positions[1]),v=f._cesium.Math.toDegrees(y.longitude),w=f._cesium.Math.toDegrees(y.latitude);f.topRadius=Xh(x,I,w,v),f.bottomRadius=Xh(x,I,w,v),f.circle=f.createCylinder(f.style),f.circle.objId=f.objId}if(f.circle){f.positions.pop(),f.positions.push(C);var E=f._cesium.Cartographic.fromCartesian(f.positions[0]),I=f._cesium.Math.toDegrees(E.longitude),x=f._cesium.Math.toDegrees(E.latitude),y=f._cesium.Cartographic.fromCartesian(f.positions[1]),v=f._cesium.Math.toDegrees(y.longitude),w=f._cesium.Math.toDegrees(y.latitude);f.topRadius=Xh(x,I,w,v),f.bottomRadius=Xh(x,I,w,v)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE)};Pl.prototype.startModify=function(){var o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E";if(!(this.state!=2&&this.state!=1)){this.modifyHandler||(this.modifyHandler=new Xo.ScreenSpaceEventHandler(this._viewer.scene.canvas));for(var A=this,f=0;f<A.gonCircleArr.length;f++){var m=A.gonCircleArr[f];m&&(m.show=!0)}if(A.gonPointStretchingArr.length>0)for(var f=0;f<A.gonPointStretchingArr.length;f++){var m=A.gonPointStretchingArr[f];m&&(m.show=!0)}this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.position);if(Xo.defined(E)&&E.id)E.id.objId||(A.modifyPoint=E.id,o="\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),A.forbidDrawWorld(!0);else{for(var I=0;I<A.gonCircleArr.length;I++){var x=A.gonCircleArr[I];x&&(x.show=!1)}if(A.gonPointStretchingArr.length>0)for(var I=0;I<A.gonPointStretchingArr.length;I++){var x=A.gonPointStretchingArr[I];x&&(x.show=!1)}A.modifyHandler&&(A.modifyHandler.destroy(),A.modifyHandler=null)}A.state=2},Xo.ScreenSpaceEventType.LEFT_DOWN),this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.endPosition);if(A._core.CreateTooltip(o,C.endPosition,!1),Xo.defined(E)&&E.id&&(E.id.objId||A._core.CreateTooltip(o,C.endPosition,!0)),!(A.positions.length<1||!A.modifyPoint)){var I=A.getCatesian3FromPX(C.endPosition,A._viewer,[A.circle,A.modifyPoint]);if(I)if(A.modifyPoint.wq!=null){var x={x:I.x,y:I.y,z:I.z+ +A.length};if(A.positions[A.modifyPoint.wq]=I,A.modifyPoint.wq==0)A.modifyPoint.position.setValue(x),A.gonCircleArr[A.modifyPoint.wq].position=I;else{var y=A._viewer.scene.pickPosition(C.endPosition),v=A._cesium.Cartographic.fromCartesian(y),w=A._cesium.Math.toDegrees(v.longitude),Q=A._cesium.Math.toDegrees(v.latitude),M=A._cesium.Cartographic.fromCartesian(A.positions[1]),B=A._cesium.Math.toDegrees(M.longitude),D=A._cesium.Math.toDegrees(M.latitude);A.length=Xh(Q,w,D,B);var S=A._cesium.Cartographic.fromCartesian(A.gonCircleArr[0].position.getValue()),P=A._cesium.Math.toDegrees(S.longitude),R=A._cesium.Math.toDegrees(S.latitude),T=S.height+A.length,L=A._cesium.Cartesian3.fromDegrees(P,R,T),F=A._cesium.Cartographic.fromCartesian(A.gonCircleArr[1].position.getValue()),U=A._cesium.Math.toDegrees(F.longitude),N=A._cesium.Math.toDegrees(F.latitude),H=F.height+A.length,J=A._cesium.Cartesian3.fromDegrees(U,N,H);A.gonPointStretchingArr[0].position.setValue(L),A.gonPointStretchingArr[1].position.setValue(J)}}else if(A.modifyPoint.position.setValue(I),A.positions[A.modifyPoint.wz]=I,A.gonPointStretchingArr[A.modifyPoint.wz].position={x:I.x,y:I.y,z:I.z+A.length},A.modifyPoint.wz&&A.modifyPoint.wz==0)A.gonCircleArr[1].position={x:A.positions[0].x+A.topRadius,y:A.positions[0].y,z:A.positions[0].z},A.gonPointStretchingArr[1].position={x:A.positions[0].x+A.topRadius,y:A.positions[0].y,z:A.positions[0].z+A.length};else{var v=A._cesium.Cartographic.fromCartesian(A.positions[0]),w=A._cesium.Math.toDegrees(v.longitude),Q=A._cesium.Math.toDegrees(v.latitude),M=A._cesium.Cartographic.fromCartesian(A.positions[A.modifyPoint.wz]),B=A._cesium.Math.toDegrees(M.longitude),D=A._cesium.Math.toDegrees(M.latitude);A.topRadius=Xh(Q,w,D,B),A.bottomRadius=Xh(Q,w,D,B)}A._core.CreateTooltip(o,C.endPosition,!0)}},Xo.ScreenSpaceEventType.MOUSE_MOVE),this.modifyHandler.setInputAction(function(C){!A.modifyPoint||(A.modifyPoint=null,A.forbidDrawWorld(!1),o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E")},Xo.ScreenSpaceEventType.LEFT_UP)}};Pl.prototype.forbidDrawWorld=function(o){this._viewer.scene.screenSpaceCameraController.enableRotate=!o,this._viewer.scene.screenSpaceCameraController.enableTilt=!o,this._viewer.scene.screenSpaceCameraController.enableTranslate=!o,this._viewer.scene.screenSpaceCameraController.enableInputs=!o};Pl.prototype.getCatesian3FromPX=function(o,A,f){var m=A.scene.pick(o),C,E=A.scene.drillPick(o),I=null;if(f){for(var x=0;x<E.length;x++)if(E[x].id._id!=f[0].id&&E[x].id._id!=f[1].id){I=E[x].id;break}}else I=m;if(A.scene.pickPositionSupported&&Xo.defined(I))C=A.scene.pickPosition(o);else{var y=A.camera.getPickRay(o);if(!y)return;C=A.scene.globe.pick(y,A.scene)}return C};Pl.prototype.createCylinder=function(o){var A=this;return o.length&&(A.length=o.length),this._viewer.entities.add({position:new A._cesium.CallbackProperty(function(){return A.positions[0]},!1),cylinder:{topRadius:new A._cesium.CallbackProperty(function(){return A.topRadius},!1),bottomRadius:new A._cesium.CallbackProperty(function(){return A.bottomRadius},!1),length:new A._cesium.CallbackProperty(function(){return A.length},!1),material:o.material||Xo.Color.WHITE}})};Pl.prototype.createPoint=function(o,A){if(!!o)return this._viewer.entities.add({position:o,point:{pixelSize:10,color:this._cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY},show:A})};Pl.prototype.createPointStretching=function(o,A){if(!!o){var f=Xo.Cartographic.fromCartesian(o),m=Xo.Math.toDegrees(f.longitude),C=Xo.Math.toDegrees(f.latitude),E=f.height+this.length;return o=Xo.Cartesian3.fromDegrees(m,C,E),this._viewer.entities.add({position:o,point:{pixelSize:10,color:Xo.Color.fromAlpha(Xo.Color.FUCHSIA,.5),outlineWidth:2,outlineColor:Xo.Color.fromAlpha(Xo.Color.WHITE,.5),heightReference:Xo.HeightReference.NONE,disableDepthTestDistance:Number.POSITIVE_INFINITY},show:A})}},Pl.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.item.cylinder.length==null?void 0:this.item.cylinder.length.getValue(),f=this.item.cylinder.topRadius==null?void 0:this.item.cylinder.topRadius.getValue(),m=this.item.cylinder.bottomRadius==null?void 0:this.item.cylinder.bottomRadius.getValue(),C=this.item.cylinder.fill==null?void 0:this.item.cylinder.fill.getValue(),E=this.item.cylinder.material;E!=null&&(E={color:E.color==null?void 0:"rgba("+E.color._value.red+","+E.color._value.green+","+E.color._value.blue+","+E.color._value.alpha+")",image:E.image==null?void 0:E.image._value,diffusemap:E.diffusemap==null?void 0:E.diffusemap._value,alphamap:E.alphamap==null?void 0:E.alphamap._value});var I=this.item.cylinder.outline==null?void 0:this.item.cylinder.outline._value,x=this.item.cylinder.outlineColor==null?void 0:"rgba("+this.item.cylinder.outlineColor._value.red+","+this.item.cylinder.outlineColor._value.green+","+this.item.cylinder.outlineColor._value.blue+","+this.item.cylinder.outlineColor._value.alpha+")",y=this.item.cylinder.outlineWidth==null?void 0:this.item.cylinder.outlineWidth._value,v=this.item.cylinder.numberOfVerticalLines==null?void 0:this.item.cylinder.numberOfVerticalLines._value,w=this.item.cylinder.slices==null?void 0:this.item.cylinder.slices._value,Q=this.item.cylinder.distanceDisplayCondition,M=Q?._value.near,B=Q?._value.far,D=this._cesium.Cartographic.fromCartesian(this.item.position._value),S=this._cesium.Math.toDegrees(D.longitude),P=this._cesium.Math.toDegrees(D.latitude),R=this._cesium.Math.toDegrees(D.height);return{type:"cylinder",position:{x:S,y:P,z:R},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,length:A,topRadius:f,bottomRadius:m,fill:C,material:E,outline:I,outlineColor:x,outlineWidth:y,numberOfVerticalLines:v,slices:w,near:M,far:B}}};Pl.prototype.setTreeobj=function(o){this.treeobj=o};Pl.prototype.setVisibility=function(o){this.item.show=o,this._scan&&(this._scan.show=o),this.wall&&this.wall.forEach(A=>{A.show=o})};Pl.prototype.getVolume=function(){try{var o=0,A=this.item._cylinder.bottomRadius,f=this.item._cylinder.topRadius,m=this.item._cylinder.length;A==0?o=3.14159*A*A*m/3:o=3.14159*A*A*m}catch(C){console.log(C)}return o};Pl.prototype.executeCone=function(o){var A=this;A.shape={tempPoints:[],button:0,position:{}};var f=new this._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas),m=[],C=void 0,E=[];return f.setInputAction(function(I){var x=A._viewer.scene.camera.pickEllipsoid(I.position,A._viewer.scene.globe.ellipsoid),y=A._cesium.Cartographic.fromCartesian(x),v=A._cesium.Math.toDegrees(y.longitude),w=A._cesium.Math.toDegrees(y.latitude);E.push({lon:v,lat:w});var Q={polyline:{},positions:[],distance:[]};if(A.shape.button==0)m.push(x.clone()),m.push(x),A.shape.position=x,A.cylinder=A._viewer.entities.add({name:"",position:A._cesium.Cartesian3.fromDegrees(E[0].lon,E[0].lat),cylinder:{length:100,show:!0,fill:!0,topRadius:0,bottomRadius:100,material:A._cesium.Color.RED}}),A.item=A.cylinder;else if(A.shape.button==1){var M=Xh(E[0].lat,E[0].lon,E[1].lat,E[1].lon);A.item.cylinder.bottomRadius=M}else if(A.shape.button==2){f.destroy();var B=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(B=Ke.selectedItem.id);var D=A._core.getuid(),S={id:D,name:"\u65B0\u5EFA\u5706\u9525"+D,pId:A._core.isnull(B)?0:B,type:"cylinder",item:A};this.setTreeobj(S),Ke.insertGroupId(S,A._core.isnull(B)?0:B),typeof o=="function"&&o(Q)}A.shape.button=A.shape.button+1},this._cesium.ScreenSpaceEventType.LEFT_CLICK),f.setInputAction(function(I){if(A.shape.button==2){var x=A._viewer.camera.getPickRay(I.endPosition),y=A._viewer.scene.globe.pick(x,A._viewer.scene);A.item.cylinder.length=y.z}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};Pl.prototype.executeCylinder=function(o){var A=this;A.shape={tempPoints:[],button:0,position:{}};var f=new this._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas),m=[],C=void 0,E=[];return f.setInputAction(function(I){var x=A._viewer.scene.camera.pickEllipsoid(I.position,A._viewer.scene.globe.ellipsoid),y=A._cesium.Cartographic.fromCartesian(x),v=A._cesium.Math.toDegrees(y.longitude),w=A._cesium.Math.toDegrees(y.latitude);E.push({lon:v,lat:w});var Q={polyline:{},positions:[],distance:[]};if(A.shape.button==0)m.push(x.clone()),m.push(x),A.shape.position=x,A.cylinder=A._viewer.entities.add({name:"",position:A._cesium.Cartesian3.fromDegrees(E[0].lon,E[0].lat),cylinder:{length:100,topRadius:0,bottomRadius:100,material:A._cesium.Color.RED}}),A.item=A.cylinder;else if(A.shape.button==1){var M=Xh(E[0].lat,E[0].lon,E[1].lat,E[1].lon);A.item.cylinder.bottomRadius=M,A.item.cylinder.topRadius=M}else if(A.shape.button==2){f.destroy();var B=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(B=Ke.selectedItem.id);var D=A._core.getuid(),S={id:D,name:"\u65B0\u5EFA\u5706\u67F1"+D,pId:A._core.isnull(B)?0:B,type:"cylinder",item:A};A.setTreeobj(S),Ke.insertGroupId(S,A._core.isnull(B)?0:B),typeof o=="function"&&o(Q)}A.shape.button=A.shape.button+1},this._cesium.ScreenSpaceEventType.LEFT_CLICK),f.setInputAction(function(I){if(A.shape.button==2){var x=A._viewer.camera.getPickRay(I.endPosition),y=A._viewer.scene.globe.pick(x,A._viewer.scene);A.item.cylinder.length=y.z}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};Pl.prototype.setTopRadius=function(o){try{this.item._cylinder.topRadius=o}catch(A){console.log(A)}return this};Pl.prototype.setHeight=function(o){try{var A=this._cesium.Cartesian3.fromDegrees(-94.74211811500844,37.34584317651723,o);this.item._position._value.z=A.z}catch(f){console.log(f)}return this};Pl.prototype.deleteObject=function(){let o=this._viewer;o.entities.remove(this.item),this.wall&&(this.wall.forEach(A=>{o.entities.remove(A)}),this.wall=[])};Pl.prototype.setHeightType=function(o){try{o==1?this.item._cylinder.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._cylinder.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._cylinder.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};Pl.prototype.setCylinderImage=function(o){try{this.item._cylinder.material=new this._cesium.ImageMaterialProperty({image:o})}catch(A){console.log(A)}return this};Pl.prototype.setCylinderRepeat=function(o,A){try{this.item._cylinder.material.repeat=new this._cesium.Cartesian2(o,A)}catch(f){console.log(f)}return this};Pl.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._cylinder.distanceDisplayCondition=f}catch(m){console.log(m)}return this};Pl.prototype.setBottomRadius=function(o){try{this.item._cylinder.bottomRadius=o}catch(A){console.log(A)}return this};Pl.prototype.setShow=function(o){try{this.item._cylinder.show=o}catch(A){console.log(A)}return this};Pl.prototype.setMaterial=function(o){try{this.item._cylinder.material=o}catch(A){console.log(A)}return this};Pl.prototype.setMaterial=function(o){try{this.item._cylinder.material.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Pl.prototype.setMaterialAlpha=function(o){try{this.item._cylinder.material.color._value.alpha=o,this.item._cylinder.show=!0}catch(A){console.log(A)}return this};Pl.prototype.setItem=function(o){this.item=o};Pl.prototype.CreateCone=function(o,A,f,m,C,E,I,x){this._postion=o;var y={topRadius:0,bottomRadius:this._cesium.defaultValue(A,2e4),length:this._cesium.defaultValue(f,4e4),slices:this._cesium.defaultValue(E,128),material:this._cesium.Color.RED,outline:!1,outlineColor:void 0};m&&m!==""&&(y.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(m),y.outline=!0),C&&C!==""&&(y.material=new hn(this._viewer,this._cesium).colorFromHtmlColor(C));var v;(o.Yaw||o.Pitch||o.Roll)&&(v=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:x,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),cylinder:y,orientation:v});var w={id:this.item.id,name:x,pId:this._core.isnull(I)?0:I,type:"cylinder",item:this};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(I)?0:I),this};Pl.prototype.CreateCylinder=function(o,A,f,m,C,E,I,x){this._postion=o;var y={topRadius:this._cesium.defaultValue(A,2e4),bottomRadius:this._cesium.defaultValue(A,2e4),length:this._cesium.defaultValue(f,4e4),slices:this._cesium.defaultValue(E,128),material:this._cesium.Color.RED,outline:!1,outlineColor:void 0};m&&m!==""&&(y.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(m),y.outline=!0),C&&C!==""&&(y.material=new hn(this._viewer,this._cesium).colorFromHtmlColor(C));var v;(o.Yaw||o.Pitch||o.Roll)&&(v=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:x,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),cylinder:y,orientation:v});var w={id:this.item.id,name:x,pId:this._core.isnull(I)?0:I,type:"cylinder",item:this};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(I)?0:I),this};Object.defineProperties(Pl.prototype,{Position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{this._postion.Altitude=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}}}});var wI=Pl;function Pf(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke}Pf.prototype.createPolylineVolume=function(o,A,f,m,C){var E={positions:[],shape:this.starPositions(7,3e4,2e4),material:this._cesium.Color.fromRandom({alpha:1})};if(this._core.isnull(m)){console.log("options is required");return}m=this._core.extend(E,m,!0);var I=[];if(!A[0].x&&!A[0].y){if(A[0].length===2)for(var x=0;x<A.length;x++)I.push(this._cesium.Cartesian3.fromDegrees(A[x][0],A[x][1]));else if(A[0].length===3)for(var x=0;x<A.length;x++)I.push(this._cesium.Cartesian3.fromDegrees(A[x][0],A[x][1],A[x][2]))}else if(A[0].z)for(var x=0;x<A.length;x++)I.push(this._cesium.Cartesian3.fromDegrees(A[x].x,A[x].y,A[x].z));else for(var x=0;x<A.length;x++)I.push(this._cesium.Cartesian3.fromDegrees(A[x].x,A[x].y));m.positions=I,f==="circle"?m.shape=this.computeCircle(m.radius||10):f==="star"?(m.shape=this.starPositions(m.arms||7,m.rOuter||30,m.rInner||20),m.cornerType=this._cesium.CornerType.MITERED):f==="box"&&(m.radius=m.radius||10,m.shape=[new this._cesium.Cartesian2(-m.radius,-m.radius),new this._cesium.Cartesian2(m.radius,-m.radius),new this._cesium.Cartesian2(m.radius,m.radius),new this._cesium.Cartesian2(-m.radius,m.radius)],m.cornerType=this._cesium.CornerType.BEVELED);var y=this._viewer.entities.add({id:this._core.getuid(),name:o,polylineVolume:m});return this.item=y,this._tree.insertGroupId({id:y.id,name:o,pId:this._core.isnull(C)?0:C,type:"polylinevolume",item:this},this._core.isnull(C)?0:C),this};Pf.prototype.getstyles=function(){var o={};return o.show=this.item.polylineVolume.show?this.item.polylineVolume.show._value:!0,o.positions=this.item.polylineVolume.positions.getValue().toString(),o.shape=this.item.polylineVolume.shape.toString(),o.cornerType=this.item.polylineVolume.cornerType?this.item.polylineVolume.cornerType.toString():null,o.granularity=this.item.polylineVolume.granularity?this.item.polylineVolume.granularity.toString():null,o.fill=this.item.polylineVolume.fill?this.item.polylineVolume.fill._value:null,o.material=this.item.polylineVolume.material?this.item.polylineVolume.material.toString():null,o.outline=this.item.polylineVolume.outline?this.item.polylineVolume.outline._value:null,o.outlineWidth=this.item.polylineVolume.outlineWidth?this.item.polylineVolume.outlineWidth.toString():null,o.outlineColor=this.item.polylineVolume.outlineColor&&this.item.polylineVolume.outlineColor._value?"rgba"+this.item.polylineVolume.outlineColor.toString():null,o.near=this.item.polylineVolume.distanceDisplayCondition?this.item.polylineVolume.distanceDisplayCondition._value.near:null,o.far=this.item.polylineVolume.distanceDisplayCondition?this.item.polylineVolume.distanceDisplayCondition._value.far:null,o};Pf.prototype.executeWall=function(o,A){var f=[],m=void 0,C=this,E=function(){function x(y){this.options={id:C._core.getuid(),type:"wall",wall:{positions:[],minimumHeights:[2e3,2e3],maximumHeights:[1e3,1e3],material:C._cesium.Color.AQUA.withAlpha(1)}},this.positions=y,this._init()}return x.prototype._init=function(){var y=this,v=function(){for(var B=[],D=0;D<y.positions.length;D++){if(!f[D])return;var S=C._viewer.scene.globe.ellipsoid,P=new C._cesium.Cartesian3(f[D].x,f[D].y,f[D].z),R=S.cartesianToCartographic(P),T=C._cesium.Math.toDegrees(R.latitude),L=C._cesium.Math.toDegrees(R.longitude),F=R.height;B.push(L),B.push(T)}return C._cesium.Cartesian3.fromDegreesArray(B)},w=function(){for(var B=[],D=0;D<y.positions.length;D++)B.push(2e3);return B},Q=function(){for(var B=[],D=0;D<y.positions.length;D++)B.push(1e3);return B};this.options.wall.maximumHeights=new C._cesium.CallbackProperty(w,!1),this.options.wall.minimumHeights=new C._cesium.CallbackProperty(Q,!1),this.options.wall.positions=new C._cesium.CallbackProperty(v,!1);var M=C._viewer.entities.add(this.options);C.item=M,C._tree.insertGroupId({id:this.options.id,name:o,pId:C._core.isnull(A)?0:A,type:"wall",item:C},C._core.isnull(A)?0:A)},x}(),I=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);I.setInputAction(function(x){var y=C._viewer.scene.camera.pickEllipsoid(x.position,C._viewer.scene.globe.ellipsoid);f.length==0&&f.push(Ii.clone(y)),f.push(Ii.clone(y))},C._cesium.ScreenSpaceEventType.LEFT_CLICK),I.setInputAction(function(x){var y=C._viewer.scene.camera.pickEllipsoid(x.endPosition,C._viewer.scene.globe.ellipsoid);f.length>=1&&(C._cesium.defined(m)?(f.pop(),f.push(y)):m=new E(f))},C._cesium.ScreenSpaceEventType.MOUSE_MOVE),I.setInputAction(function(x){I.destroy(),f.pop()},C._cesium.ScreenSpaceEventType.RIGHT_CLICK)};Pf.prototype.starPositions=function(o,A,f){for(var m=Math.PI/o,C=[],E=0;E<2*o;E++){var I=E%2===0?A:f,x=new this._cesium.Cartesian2(Math.cos(E*m)*I,Math.sin(E*m)*I);C.push(x)}return C};Pf.prototype.computeCircle=function(o){for(var A=[],f=0;f<360;f++){var m=this._cesium.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};Pf.prototype.setVisibility=function(o){this.item.polylineVolume.show=o};Pf.prototype.getVisibility=function(){return this.item.polylineVolume.show};Pf.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};Object.defineProperties(Pf.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});Object.defineProperties(Pf.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});Pf.prototype.setItem=function(o){this.item=o};Pf.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties(Pf.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(Pf.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(Pf.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(Pf.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});Object.defineProperties(Pf.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(Pf.prototype,{wallTempOptions:{get:function(){return{positions:[],maximumHeights:[],minimumHeights:[],show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,granularity:this._cesium.Math.RADIANS_PER_DEGREE,shadows:ShadowMode.DISABLED,distanceDisplayCondition:null}}}});var Tne=Pf;function KP(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke}KP.prototype.createCorridor=function(o,A,f,m){var C={show:!0,material:this._cesium.Color.RED.withAlpha(.5),width:1e3};if(this._core.isnull(f)){console.log("options is required");return}f=this._core.extend(C,f,!0);var E=[];if(!A[0].x&&!A[0].y){if(A[0].length===2)for(var I=0;I<A.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(A[I][0],A[I][1]));else if(A[0].length===3)for(var I=0;I<A.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(A[I][0],A[I][1],A[I][2]))}else if(A[0].z!==void 0)for(var I=0;I<A.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(A[I].x,A[I].y,A[I].z));else for(var I=0;I<A.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(A[I].x,A[I].y));f.positions=E;var x=this._viewer.entities.add({name:o,id:this._core.getuid(),corridor:f});return this.item=x,this._tree.insertGroupId({id:x.id,name:o,pId:this._core.isnull(m)?0:m,type:"corridor",item:this},this._core.isnull(m)?0:m),this};KP.prototype.getstyles=function(){var o={};return o.show=this.item.ellipse.show?this.item.ellipse.show._value:!0,o.positions=this.item.ellipse.positions?this.item.ellipse.positions.getValue().toString():void 0,o.width=this.item.ellipse.width&&this.item.ellipse.width._value?this.item.ellipse.width.toString():void 0,o.height=this.item.ellipse.height&&this.item.ellipse.height._value?this.item.ellipse.height.toString():void 0,o.heightReference=this.item.ellipse.heightReference&&this.item.ellipse.heightReference._value?this.item.ellipse.heightReference._value:void 0,o.extrudedHeight=this.item.ellipse.extrudedHeight&&this.item.ellipse.extrudedHeight.getValue()?this.item.ellipse.extrudedHeight.getValue():void 0,o.extrudedHeightReference=this.item.ellipse.extrudedHeightReference&&this.item.ellipse.extrudedHeightReference._value?this.item.ellipse.extrudedHeightReference._value:void 0,o.cornerType=this.item.ellipse.cornerType?this.item.ellipse.cornerType._value:void 0,o.material={},tyles.material.color=this.item.ellipse.material&&this.item.ellipse.material.color&&this.item.ellipse.material.color._value?this.item.ellipse.material.color.toString():void 0,o.material.image=this.item.ellipse.material&&this.item.ellipse.material.image&&this.item.ellipse.material.image._value?this.item.ellipse.material.image._value:void 0,o.material.repeat=this.item.ellipse.material&&this.item.ellipse.material.repeat&&this.item.ellipse.material.repeat._value?this.item.ellipse.material.repeat._value:void 0,o.fill=this.item.ellipse.fill?this.item.ellipse.fill._value:void 0,o.outline=this.item.ellipse.outline?this.item.ellipse.outline._value:void 0,o.outlineWidth=this.item.ellipse.outlineWidth&&this.item.ellipse.outlineWidth._value?this.item.ellipse.outlineWidth._value:void 0,o.outlineColor=this.item.ellipse.outlineColor&&this.item.ellipse.outlineColor._value?"rgba"+this.item.ellipse.outlineColor.toString():void 0,o.near=this.item.ellipse.distanceDisplayCondition?this.item.ellipse.distanceDisplayCondition._value.near:void 0,o.far=this.item.ellipse.distanceDisplayCondition?this.item.ellipse.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};KP.prototype.setVisibility=function(o){this.item.show=o};KP.prototype.getVisibility=function(){return this.item.show};KP.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};KP.prototype.setItem=function(o){this.item=o};KP.prototype.setTreeobj=function(o){this.treeobj=o};var xnt=KP;function vl(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke,this._viewEvent=null,this.positions=[],this._getPosition=new hl(this._viewer,this._cesium),this.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0)),this.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.style=null,this.state=0,this.gonRectangleArr=[]}vl.prototype.createRectangle=function(o,A){var f=this,m=this;this._tree.removeHandler(),!o&&(o={});var C=[];f.shape={points:[],button:0,rect:null,entity:null};var E,I,x={fillColor:this._cesium.Color.YELLOW.withAlpha(.4),outlineColor:this._cesium.Color.RED};o&&o.fillColor&&(x.fillColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(fillColor)),o&&o.outlineColor&&(x.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(outlineColor)),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw);var y=null,v=null;this._tree.handler.setInputAction(function(B){I=m._getPosition.getMousePosition(B,[f.shape.entity]);var D=m._getPosition.getMouseDegrees(B,[f.shape.entity]);if(f.shape.button>=1){v=D;var S={obj1:y,obj2:v},P={position:m._viewer.camera.position.clone(),orientation:{heading:m._viewer.camera.heading,pitch:m._viewer.camera.pitch,roll:m._viewer.camera.roll}},R={originalCameraLocation:P,pointes:S,terrainExaggeration:"5",zj:"true"};typeof A=="function"&&A(R),m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.MOUSE_MOVE),m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.LEFT_CLICK)}else y=D;f.shape.button=f.shape.button+1,I&&(f.shape.points.length==0?(C.push(I),f.shape.points.push(m._viewer.scene.globe.ellipsoid.cartesianToCartographic(I)),f.shape.rect=m._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.east+=1e-6,f.shape.rect.north+=1e-6,f.shape.entity=m._viewer.entities.add({rectangle:{coordinates:f.shape.rect,material:x.fillColor,outline:!0,outlineWidth:2,outlineColor:x.outlineColor,height:o&&o.height,heightReference:o&&o.heightReference}}),f.shape.entity.rectangle.coordinates=new m._cesium.CallbackProperty(function(){return f.shape.rect},!1),f.bufferEntity=f.shape.entity,m.item=f.shape.entity):(m._core.mouse(m._viewer.container,0,"0"),f.shape.entity.rectangle.coordinates=m._cesium.Rectangle.clone(f.shape.rect),m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.MOUSE_MOVE),m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.LEFT_CLICK)))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),m._tree.handler.setInputAction(function(B){if(f.shape.points.length!=0){var D=m._getPosition.getMousePosition(B,[f.shape.entity]);D&&(C[1]=D,f.shape.points[1]=m._viewer.scene.globe.ellipsoid.cartesianToCartographic(D),f.shape.rect=m._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.west==f.shape.rect.east&&(f.shape.rect.east+=1e-6),f.shape.rect.south==f.shape.rect.north&&(f.shape.rect.north+=1e-6))}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var w=0;!m._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(w=Ke.selectedItem.id);var Q=m._core.getuid(),M={id:Q,name:"\u65B0\u5EFA\u77E9\u5F62"+Q,pId:m._core.isnull(w)?0:w,type:"rectangle",item:m};return m.setTreeobj(M),Ke.insertGroupId(M,m._core.isnull(w)?0:w),this};vl.prototype.getstyles=function(){var o={};return o.show=this.item.rectangle.show?this.item.rectangle.show._value:!0,o.coordinates=this.item.rectangle.coordinates?{east:this.item.rectangle.coordinates.getValue().east,north:this.item.rectangle.coordinates.getValue().north,south:this.item.rectangle.coordinates.getValue().south,west:this.item.rectangle.coordinates.getValue().west}:[],o.height=this.item.rectangle.height?this.item.rectangle.height.toString():0,o.heightReference=this.item.rectangle.heightReference?this.item.rectangle.heightReference.toString():0,o.extrudedHeight=this.item.rectangle.extrudedHeight?this.item.rectangle.extrudedHeight.getValue().toString():0,o.extrudedHeightReference=this.item.rectangle.extrudedHeightReference?this.item.rectangle.extrudedHeightReference.toString():0,o.rotation=this.item.rectangle.rotation?this.item.rectangle.rotation.toString():0,o.stRotation=this.item.rectangle.stRotation?this.item.rectangle.stRotation.toString():0,o.granularity=this.item.rectangle.granularity&&this.item.rectangle.granularity._value?this.item.rectangle.granularity._value:void 0,o.fill=this.item.rectangle.fill?this.item.rectangle.fill._value:0,o.outline=this.item.rectangle.outline?this.item.rectangle.outline._value:0,o.outlineWidth=this.item.rectangle.outlineWidth&&this.item.rectangle.outlineWidth._value?this.item.rectangle.outlineWidth._value.toString():1,o.outlineColor=this.item.rectangle.outlineColor&&this.item.rectangle.outlineColor._value?"rgba"+this.item.rectangle.outlineColor.toString():null,o.material={},o.material.color=this.item.rectangle.material&&this.item.rectangle.material.color&&this.item.rectangle.material.color._value?"rgba"+this.item.rectangle.material.color.toString():null,o.material.image=this.item.rectangle.material&&this.item.rectangle.material.image&&this.item.rectangle.material.image._value?this.item.rectangle.material.image.toString():null,o.material.repeat=this.item.rectangle.material&&this.item.rectangle.material.repeat&&this.item.rectangle.material.repeat._value?this.item.rectangle.material.repeat._value:null,o.classificationType=this.item.rectangle.classificationType?this.item.rectangle.classificationType.toString():null,o.near=this.item.rectangle.distanceDisplayCondition?this.item.rectangle.distanceDisplayCondition._value.near:null,o.far=this.item.rectangle.distanceDisplayCondition?this.item.rectangle.distanceDisplayCondition._value.far:null,o};vl.prototype.createRectangleOptimization=function(o,A){var f=this;this._tree.removeHandler();var m=[];f.shape={points:[],button:0,rect:null,entity:null};var C,E,I={fillColor:this._cesium.Color.YELLOW.withAlpha(.4),outlineColor:this._cesium.Color.RED};o&&o.fillColor&&(I.fillColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(fillColor)),o&&o.outlineColor&&(I.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(outlineColor)),this.handler=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas);var x=null,y=null;this.handler.setInputAction(function(M){E=f._core.getPointFromWindowPoint(M.position,f._viewer);var B=f._viewer.camera.pickEllipsoid(M.position,f._viewer.scene.globe.ellipsoid);if(f.shape.button>=1){y=B;var D={obj1:x,obj2:y},S={position:f._viewer.camera.position.clone(),orientation:{heading:f._viewer.camera.heading,pitch:f._viewer.camera.pitch,roll:f._viewer.camera.roll}},P={originalCameraLocation:S,pointes:D,terrainExaggeration:"5",zj:"true"};typeof A=="function"&&A(P),f.handler.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),f.handler.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK)}else x=B;if(f.shape.button=f.shape.button+1,E){f.shape.points.length==0?(m.push(E),f.shape.points.push(f._viewer.scene.globe.ellipsoid.cartesianToCartographic(E)),f.shape.rect=f._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.east+=1e-6,f.shape.rect.north+=1e-6,f.shape.entity=f._viewer.entities.add({rectangle:{coordinates:f.shape.rect,material:I.fillColor,outline:!0,outlineWidth:2,outlineColor:I.outlineColor,height:o&&o.height,heightReference:o&&o.heightReference||1}}),f.shape.entity.objId=f.objId,f.shape.entity.rectangle.coordinates=new f._cesium.CallbackProperty(function(){return f.shape.rect},!1),f.bufferEntity=f.shape.entity,f.item=f.shape.entity):(f.state=1,f.handler.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),f.handler.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK));var R=f.createPoint(E,!1);R.wz=f.gonRectangleArr.length,f.gonRectangleArr.push(R),f.positions.push(E)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.handler.setInputAction(function(M){if(f.shape.points.length!=0){var B=f._core.getPointFromWindowPoint(M.endPosition,f._viewer);if(B){var D=f._viewer.camera.getPickRay(M.endPosition),S=f._viewer.scene.globe.pick(D,f._viewer.scene);m[1]=B,f.shape.points[1]=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(B),f.shape.rect=f._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.west==f.shape.rect.east&&(f.shape.rect.east+=1e-6),f.shape.rect.south==f.shape.rect.north&&(f.shape.rect.north+=1e-6)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var v=0;!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(v=Ke.selectedItem.id);var w=f._core.getuid(),Q={id:w,name:"\u65B0\u5EFA\u77E9\u5F62"+w,pId:f._core.isnull(v)?0:v,type:"rectangle",item:f};return f.setTreeobj(Q),Ke.insertGroupId(Q,f._core.isnull(v)?0:v),this};vl.prototype.startModify=function(){var o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E,\u53F3\u51FB\u5220\u9664\u8BE5\u70B9";if(!(this.state!=1&&this.state!=2)){this.modifyHandler||(this.modifyHandler=new Cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas));for(var A=this,f=0;f<A.gonRectangleArr.length;f++){var m=A.gonRectangleArr[f];m&&(m.show=!0)}this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.position);if(Cesium.defined(E)&&E.id)E.id.objId||(A.modifyPoint=E.id,o="\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),A.forbidDrawWorld(!0);else{for(var I=0;I<A.gonRectangleArr.length;I++){var x=A.gonRectangleArr[I];x&&(x.show=!1)}A.modifyHandler&&(A.modifyHandler.destroy(),A.modifyHandler=null)}},Cesium.ScreenSpaceEventType.LEFT_DOWN),this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.endPosition);if(A._core.CreateTooltip(o,C.endPosition,!1),!A.modifyPoint){A._cesium.defined(E)&&E.id&&E.id.objId&&A._core.CreateTooltip("\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E",C.endPosition,!0);return}if(!(A.positions.length<1||!A.modifyPoint)){var I=A.getCatesian3FromPX(C.endPosition,A._viewer,[A.shape.entity,A.modifyPoint]);I&&(A.modifyPoint.position.setValue(I),A.shape.points[A.modifyPoint.wz]=A._viewer.scene.globe.ellipsoid.cartesianToCartographic(I),A.shape.rect=A._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.rect.east+=1e-6,A.shape.rect.north+=1e-6),A._core.CreateTooltip(o,C.endPosition,!0)}},Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.modifyHandler.setInputAction(function(C){if(A.forbidDrawWorld(!1),!!A.modifyPoint){var E=A.getCatesian3FromPX(C.position,A._viewer,[A.shape.entity,A.modifyPoint]);A.modifyPoint.position.setValue(E),A.shape.points[A.modifyPoint.wz]=A._viewer.scene.globe.ellipsoid.cartesianToCartographic(E),A.shape.rect=A._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.rect.east+=1e-6,A.shape.rect.north+=1e-6,A.modifyPoint=null,A.forbidDrawWorld(!1),o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E"}},Cesium.ScreenSpaceEventType.LEFT_UP)}};vl.prototype.createPoint=function(o,A){if(!!o)return this._viewer.entities.add({position:o,point:{pixelSize:10,color:this._cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY},show:A})};vl.prototype.getCatesian3FromPX=function(o,A,f){var m=A.scene.pick(o),C,E=A.scene.drillPick(o),I=null;if(f){for(var x=0;x<E.length;x++)if(E[x].id._id!=f[0].id&&E[x].id._id!=f[1].id){I=E[x].id;break}}else I=m;if(A.scene.pickPositionSupported&&this._cesium.defined(I))C=A.scene.pickPosition(o);else{var y=A.camera.getPickRay(o);if(!y)return;C=A.scene.globe.pick(y,A.scene)}return C};vl.prototype.forbidDrawWorld=function(o){this._viewer.scene.screenSpaceCameraController.enableRotate=!o,this._viewer.scene.screenSpaceCameraController.enableTilt=!o,this._viewer.scene.screenSpaceCameraController.enableTranslate=!o,this._viewer.scene.screenSpaceCameraController.enableInputs=!o};vl.prototype.CreateRectangle=function(o,A,f,m,C){var E=this,I=E._core.getuid(),x={outlineColor:this._cesium.Color.RED,material:this._cesium.Color.YELLOW.withAlpha(.5)};f&&f.fillColor&&(x.material=new hn(this._viewer,this._cesium).colorFromHtmlColor(f.fillColor)),f&&f.outlineColor&&(x.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(f.outlineColor)),x=this._core.extend(x,f,!1),x.coordinates=this.getCoordinates(A),this.item=E._viewer.entities.add({id:I,name:o||"\u65B0\u5EFA\u77E9\u5F62",rectangle:x}),typeof C=="function"&&C(this.item),!E._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id);var y={id:I,name:"\u65B0\u5EFA\u77E9\u5F62"+I,pId:E._core.isnull(m)?0:m,type:"rectangle",item:this.item};return E.setTreeobj(y),Ke.insertGroupId(y,E._core.isnull(m)?0:m),this};vl.prototype.getCoordinates=function(o){var A,f,m,C;return o[0].lon>o[1].lon?(A=o[1].lon,f=o[0].lon):(A=o[0].lon,f=o[1].lon),o[0].lat>o[1].lat?(m=o[0].lat,C=o[1].lat):(m=o[1].lat,C=o[0].lat),this._cesium.Rectangle.fromDegrees(A,C,f,m)};vl.prototype.createRectanglelbj=function(o,A){var f=this,m=this,C=[];f.shape={points:[],button:0,rect:null,entity:null},this._tree.removeHandler(),this.closeBrowseBorder();var E,I,x=0;o!=null&&o!=null&&o.id!=null&&(x=o.id);var y=this._core.CreateTooltip();m._tree.handler=new this._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas);var v=null,w=null;m._tree.handler.setInputAction(function(D){I=m._core.getPointFromWindowPoint(D.position,m._viewer);var S=m._viewer.camera.pickEllipsoid(D.position,m._viewer.scene.globe.ellipsoid);if(f.shape.button>=1){w=S;var P={obj1:v,obj2:w},R={position:m._viewer.camera.position.clone(),orientation:{heading:m._viewer.camera.heading,pitch:m._viewer.camera.pitch,roll:m._viewer.camera.roll}},T={originalCameraLocation:R,pointes:P,terrainExaggeration:"5",zj:"true"};m.llbj(T,f.shape.entity),typeof A=="function"&&A(f.shape.entity),m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.LEFT_CLICK)}else v=S;f.shape.button=f.shape.button+1,I&&(f.shape.points.length==0?(C.push(I),f.shape.points.push(m._viewer.scene.globe.ellipsoid.cartesianToCartographic(I)),f.shape.rect=m._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.east+=1e-6,f.shape.rect.north+=1e-6,f.shape.entity=m._viewer.entities.add({rectangle:{coordinates:f.shape.rect,material:m._cesium.Color.YELLOW.withAlpha(0),outline:!0,outlineWidth:10,outlineColor:m._cesium.Color.YELLOW,height:0}}),f.shape.entity.rectangle.coordinates=new m._cesium.CallbackProperty(function(){return f.shape.rect},!1),m.item=f.shape.entity):f.shape.points.length==2||m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.MOUSE_MOVE))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),m._tree.handler.setInputAction(function(D){if(f.shape.points.length==0?y.showAt(D.endPosition,"\u70B9\u51FB\u5DE6\u952E\u5728\u7403\u9762\u4E0A\u7ED8\u5236\u77E9\u5F62\uFF01"):w&&y.showAt(D.endPosition,"\u8BF7\u5C06\u89C6\u91CE\u7F29\u653E\u5230\u8303\u56F4\u5185\u4EE5\u5F00\u542F\u8FB9\u754C\u6D4F\u89C8"),!(f.shape.points.length==0||w)){y.showAt(D.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF01");var S=m._core.getPointFromWindowPoint(D.endPosition,m._viewer);if(S){var P=m._viewer.camera.getPickRay(D.endPosition),R=m._viewer.scene.globe.pick(P,m._viewer.scene);C[1]=S,f.shape.points[1]=m._viewer.scene.globe.ellipsoid.cartesianToCartographic(S),f.shape.rect=m._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.west==f.shape.rect.east&&(f.shape.rect.east+=1e-6),f.shape.rect.south==f.shape.rect.north&&(f.shape.rect.north+=1e-6)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var Q=0;!m._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(Q=Ke.selectedItem.id);var M=m._core.getuid(),B={id:M,name:"\u65B0\u5EFA\u6D4F\u89C8\u8FB9\u754C"+M,pId:m._core.isnull(x)?0:x,type:"rectangle",item:m};return m.setTreeobj(B),Ke.insertGroupId(B,m._core.isnull(x)?0:x),this};vl.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.rectangle.coordinates==null?void 0:this.item.rectangle.coordinates._value;A!=null&&(A={east:A.east,north:A.north,south:A.south,west:A.west});var f=this.item.rectangle.height==null?void 0:this.item.rectangle.height._value,m=this.item.rectangle.extrudedHeight==null?void 0:this.item.rectangle.extrudedHeight._value,C=this.item.rectangle.rotation==null?void 0:this.item.rectangle.rotation._value,E=this.item.rectangle.stRotation==null?void 0:this.item.rectangle.stRotation._value,I=this.item.rectangle.fill==null?void 0:this.item.rectangle.fill._value,x=this.item.rectangle.material;x!=null&&(x={color:x.color._value==null?void 0:"rgba("+x.color._value.red+","+x.color._value.green+","+x.color._value.blue+","+x.color._value.alpha+")",image:x.image==null?void 0:x.image._value,diffusemap:x.diffusemap==null?void 0:x.diffusemap._value,alphamap:x.alphamap==null?void 0:x.alphamap._value});var y=this.item.rectangle.outline==null?void 0:this.item.rectangle.outline._value,v=this.item.rectangle.outlineColor==null?void 0:"rgba("+this.item.rectangle.outlineColor._value.red+","+this.item.rectangle.outlineColor._value.green+","+this.item.rectangle.outlineColor._value.blue+","+this.item.rectangle.outlineColor._value.alpha+")",w=this.item.rectangle.outlineWidth==null?void 0:this.item.rectangle.outlineWidth._value,Q=this.item.rectangle.distanceDisplayCondition,M=Q?._value.near,B=Q?._value.far;return{type:"rectangle",treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,coordinates:A,height:f,extrudedHeight:m,rotation:C,stRotation:E,fill:I,material:x,outline:y,outlineColor:v,outlineWidth:w,near:M,far:B}}};vl.prototype.setTreeobj=function(o){this.treeobj=o};vl.prototype.llbj=function(o,A){var f=document.getElementById("toolTip");f.innerHTML="\u8BF7\u5C06\u89C6\u91CE\u7F29\u653E\u5230\u8303\u56F4\u5185\u4EE5\u5F00\u542F\u8FB9\u754C\u6D4F\u89C8";var m=A.rectangle;m.height=void 0,m.heightReference=void 0,m.perPositionHeight=!1;var C=o.pointes,E=[];E.push(C.obj1),E.push(C.obj2);for(var I={},x=0,y,v,w;x<E.length;x++)y=this._cesium.Cartographic.fromCartesian(E[x]),v=this._cesium.Math.toDegrees(y.longitude),w=this._cesium.Math.toDegrees(y.latitude),x===0?(I.west=v,I.north=w,I.east=v,I.south=w):(v>I.west?I.east=v:I.west=v,w>I.south?I.north=w:I.south=w);var Q={destination:{x:(E[0].x+E[1].x)/2,y:(E[0].y+E[1].y)/2,z:E[0].z+500},orientation:{heading:this._viewer.camera.heading,pitch:this._viewer.camera.pitch,roll:this._viewer.camera.roll}},M=this._viewer.camera.heading,B=this._viewer.camera.pitch,D=this._viewer.camera.roll,S=this._viewer.camera.position.clone(),P={orientation:{heading:M,pitch:B,roll:D},position:S},R=this;R.flyListener=function(){var T=R._viewer.camera.computeViewRectangle(),L=T.west/Math.PI*180,F=T.north/Math.PI*180,U=T.east/Math.PI*180,N=T.south/Math.PI*180,H={west:L,north:F,east:U,south:N},J=R.isInArea(H,I);J?(R._tree.removeHandler(),f.style.left="50%",f.style.top="50%",f.innerHTML="\u8FB9\u754C\u6D4F\u89C8\u5DF2\u5F00\u542F\uFF0C\u53F3\u952E\u7ED3\u675F\u8FB9\u754C\u6D4F\u89C8",setTimeout(function(){f.style.display="none"},2e3),R._viewer.scene.camera.changed.removeEventListener(R.flyListener),R.flyListener=void 0,R._tree.handler=new R._cesium.ScreenSpaceEventHandler(R._viewer.scene.canvas),R._viewEvent=function(K){P=R.limitView(I,P)},R._viewer.scene.camera.percentageChanged=.001,R._viewer.scene.camera.changed.addEventListener(R._viewEvent),R._tree.handler.setInputAction(function(K){R.closeBrowseBorder()},R._cesium.ScreenSpaceEventType.RIGHT_CLICK)):(M=R._viewer.camera.heading,B=R._viewer.camera.pitch,D=R._viewer.camera.roll,S=R._viewer.camera.position.clone(),P={orientation:{heading:M,pitch:B,roll:D},position:S})},this._viewer.scene.camera.percentageChanged=.001,this._viewer.scene.camera.changed.addEventListener(R.flyListener)};vl.prototype.closeBrowseBorder=function(){var o=document.getElementById("toolTip");this._tree.endtemporaryItem(),this._tree.handler&&this._tree.handler.destroy(),this.flyListener&&(this._viewer.scene.camera.changed.removeEventListener(this.flyListener),this.flyListener=void 0),this._viewEvent?(this._viewer.scene.camera.changed.removeEventListener(this._viewEvent),this._viewEvent=void 0,o.style.display="block",o.innerHTML="\u53D6\u6D88\u8FB9\u754C\u6D4F\u89C8",setTimeout(function(){o.style.display="none"},1e3)):o&&(o.style.display="none")};vl.prototype.limitView=function(o,A){var f=this._viewer.camera.computeViewRectangle(),m=f.west/Math.PI*180,C=f.north/Math.PI*180,E=f.east/Math.PI*180,I=f.south/Math.PI*180,x={west:m,north:C,east:E,south:I},y=this.isInArea(x,o);if(!y)A!==null&&this._viewer.camera.setView({destination:A.position,orientation:A.orientation});else{var v=this._viewer.camera.heading,w=this._viewer.camera.pitch,Q=this._viewer.camera.roll,M=this._viewer.camera.position.clone();A={orientation:{heading:v,pitch:w,roll:Q},position:M}}return A};vl.prototype.isInArea=function(o,A){var f=!1;return o.south>A.south&&o.east<A.east&&o.north<A.north&&o.west>A.west&&(f=!0),f};vl.prototype.createRectangledxkz=function(o){var A=this,f=this,m=[];f.shape={points:[],rect:null,entity:null};var C=null,E=null,I,x=new A._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas);x.setInputAction(function(v){I=y(v.position);var w=[],Q=[],M=A._viewer.camera.pickEllipsoid(v.position,A._viewer.scene.globe.ellipsoid);if(C==null&&(C=M),C.x==M.x&&C.y==M.y&&C.z==M.z||(E=M),I)if(f.shape.points.length==0)m.push(I),f.shape.points.push(A._viewer.scene.globe.ellipsoid.cartesianToCartographic(I)),f.shape.rect=A._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.east+=1e-6,f.shape.rect.north+=1e-6,f.shape.entity=A._viewer.entities.add({rectangle:{coordinates:f.shape.rect,material:A._cesium.Color.BLACK.withAlpha(.4),outline:!0,outlineWidth:2,outlineColor:A._cesium.Color.RED,height:0}}),f.bufferEntity=f.shape.entity;else{x.removeInputAction(A._cesium.ScreenSpaceEventType.MOUSE_MOVE),x.removeInputAction(A._cesium.ScreenSpaceEventType.LEFT_CLICK);var B={obj1:C,obj2:E},D={position:A._viewer.camera.position.clone(),orientation:{heading:A._viewer.camera.heading,pitch:A._viewer.camera.pitch,roll:A._viewer.camera.roll}},S={pointes:B,originalCameraLocation:D};o!=""&&o!=null&&typeof o=="function"&&o(S)}},A._cesium.ScreenSpaceEventType.LEFT_CLICK),x.setInputAction(function(v){if(f.shape.points.length!=0){var w=y(v.endPosition);w&&(m[1]=w,f.shape.points[1]=A._viewer.scene.globe.ellipsoid.cartesianToCartographic(w),f.shape.rect=A._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.west==f.shape.rect.east&&(f.shape.rect.east+=1e-6),f.shape.rect.south==f.shape.rect.north&&(f.shape.rect.north+=1e-6),f.shape.entity.rectangle.coordinates=f.shape.rect)}},A._cesium.ScreenSpaceEventType.MOUSE_MOVE);function y(v){if(A._viewer.scene.terrainProvider.constructor.name=="EllipsoidTerrainProvider")return A._viewer.camera.pickEllipsoid(v,A._viewer.scene.globe.ellipsoid);var w=A._viewer.scene.camera.getPickRay(v);return A._viewer.scene.globe.pick(w,A._viewer.scene)}return this};vl.prototype.executeExcavation=function(o){var A=this,f=this,m=[];A.shape={points:[],button:0,rect:null,entity:null};var C,E=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas),I=[];E.setInputAction(function(w){if(C=f._core.getPointFromWindowPoint(w.position,f._viewer),A.shape.button>=2){var Q=A._viewer.scene.globe;A.shape.box=f._viewer.entities.add({position:f._cesium.Cartesian3.fromDegrees(I[0].lon,I[0].lat,100),box:{dimensions:new f._cesium.Cartesian3(1e4,1e4,1e4),material:f._cesium.Color.WHITE.withAlpha(.5),outline:!0,outlineColor:f._cesium.Color.WHITE}}),Q.depthTestAgainstTerrain=!0,Q.clippingPlanes=new A._cesium.ClippingPlaneCollection({modelMatrix:A.shape.box.computeModelMatrix(f._cesium.JulianDate.now()),planes:[new f._cesium.Plane(new f._cesium.Cartesian3(1,0,0),-700),new f._cesium.Plane(new f._cesium.Cartesian3(-1,0,0),-700),new f._cesium.Plane(new f._cesium.Cartesian3(0,1,0),-700),new f._cesium.Plane(new f._cesium.Cartesian3(0,-1,0),-700)],edgeWidth:1,edgeColor:f._cesium.Color.WHITE}),E.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),E.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK)}if(A.shape.button=A.shape.button+1,C)if(A.shape.points.length==0){m.push(C),A.shape.points.push(f._viewer.scene.globe.ellipsoid.cartesianToCartographic(C));var M=f._viewer.scene.camera.pickEllipsoid(movement.position,f._viewer.scene.globe.ellipsoid),B=f._cesium.Cartographic.fromCartesian(M),D=f._cesium.Math.toDegrees(B.longitude),S=f._cesium.Math.toDegrees(B.latitude);I.push({lon:D,lat:S}),A.shape.rect=f._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.rect.east+=1e-6,A.shape.rect.north+=1e-6,A.shape.entity=f._viewer.entities.add({rectangle:{coordinates:A.shape.rect,material:f._cesium.Color.BLACK.withAlpha(.4),outline:!0,outlineWidth:2,outlineColor:f._cesium.Color.RED,height:0}}),A.bufferEntity=A.shape.entity,f.item=A.shape.entity}else A.shape.points.length==2||(E.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),E.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),E.setInputAction(function(w){if(A.shape.points.length!=0){var Q=f._core.getPointFromWindowPoint(w.endPosition,f._viewer);if(Q){var M=f._viewer.camera.getPickRay(w.endPosition),B=f._viewer.scene.globe.pick(M,f._viewer.scene);m[1]=Q,A.shape.points[1]=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(Q),A.shape.rect=f._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.rect.west==A.shape.rect.east&&(A.shape.rect.east+=1e-6),A.shape.rect.south==A.shape.rect.north&&(A.shape.rect.north+=1e-6),A.shape.entity.rectangle.coordinates=A.shape.rect}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var x=0;!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(x=Ke.selectedItem.id);var y=f._core.getuid(),v={id:y,name:"\u65B0\u5EFA\u77E9\u5F62"+y,pId:f._core.isnull(x)?0:x,type:"rectangle",item:f};return f.setTreeobj(v),Ke.insertGroupId(v,f._core.isnull(x)?0:x),typeof o=="function"&&o(ploylinejl),this};vl.prototype.deleteObject=function(){this._viewer.entities.remove(this.item),this._viewEvent!=null&&(this._tree.handler.destroy(),this._viewer.scene.camera.changed.removeEventListener(this._viewEvent))};vl.prototype.setVisibility=function(o){this.item.show=o};vl.prototype.getVisibility=function(){return this.item.show};vl.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._rectangle.distanceDisplayCondition=f}catch(m){console.log(m)}return this};vl.prototype.setRectangleAlpha=function(o){try{this.item._rectangle.material.color._value.alpha=o,this.item._rectangle.show=!0}catch(A){console.log(A)}return this};vl.prototype.setRectangleColor=function(o){try{this.item._rectangle.material.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};vl.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._rectangle.distanceDisplayCondition=f}catch(m){console.log(m)}return this};vl.prototype.setPolygonImage=function(o){try{this.item._rectangle.material=new this._cesium.ImageMaterialProperty({image:o})}catch(A){console.log(A)}return this};vl.prototype.setRectangleRepeat=function(o,A){try{this.item._rectangle.material.repeat=new this._cesium.Cartesian2(o,A)}catch(f){console.log(f)}return this};vl.prototype.setOutlineColor=function(o){try{this.item._rectangle.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};vl.prototype.setOutline=function(o){try{this.item._rectangle.outline=o}catch(A){console.log(A)}return this};vl.prototype.setExtrudedHeight=function(o){try{this.item._rectangle.extrudedHeight=o}catch(A){console.log(A)}return this};vl.prototype.setHeight=function(o){try{this.item._rectangle.height=o}catch(A){console.log(A)}return this};Object.defineProperties(vl.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});vl.prototype.setItem=function(o){this.item=o};Object.defineProperties(vl.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});Object.defineProperties(vl.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(vl.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(vl.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(vl.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});Object.defineProperties(vl.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(vl.prototype,{polygonTempOptions:{get:function(){return{height:0,extrudedHeight:0,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,stRotation:1,granularity:this._cesium.Math.RADIANS_PER_DEGREE,perPositionHeight:!1,closeTop:!0,closeBottom:!0,shadows:ShadowMode.DISABLED,classificationType:ClassificationType.BOTH,arcType:ArcType.GEODESIC}}}});var WD=vl;function bQe(o,A){this._viewer=o,this._cesium=A}bQe.prototype.createPosition=function(o,A,f){var m=new this.Cartesian3.fromDegrees(o,A,f);return m};bQe.prototype.CreatePosition=function(o,A,f,m,C,E,I,x){var y={X:o,Y:A,Altitude:f,AltitudeType:m,Yaw:C,Pitch:E,Roll:I,Distance:x};return y};var QQe=bQe;function Id(o,A){this._viewer=o,this._cesium=A,this._tree=Ke,this._core=new Ji(o,A),this._Color=new hn(this._viewer,this._cesium)}Id.prototype.createImageLabel=function(o,A,f,m){var C={id:this._core.getuid(),image:"../images/Cesium_Logo_overlay.png",show:!0,color:this._cesium.Color.IVORY},E=this._core.extend(C,A,!0);E.color&&!this._core.isnull(E)&&!this._core.isnull(E.color)&&(E.color.toString().charAt(0)=="["&&E.color.toString().charAt(E.color.length-1)=="]"||(this._core.isHtmlColor(E.color)&&/^#/.test(E.color.toString())?E.color=this._Color.colorFromHtmlColor(E.color):(/^rgb/.test(E.color)&&(E.color=this._Color.rgbaStringToRgbaObj(E.color)),E.color.r>1&&(E.color.r=E.color.r/255),E.color.g>1&&(E.color.g=E.color.g/255),E.color.b>1&&(E.color.b=E.color.b/255),E.color.a>1&&(E.color.a=E.color.a/255),E.color.r&&(E.color=this._Color.createColor(E.color.r,E.color.g,E.color.b,E.color.a))))),E.near&&E.far&&(E.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(E.near,E.far)),this.item=this._viewer.entities.add({name:m,position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),billboard:E});var I={id:this.item.id,name:m,pId:this._core.isnull(f)?0:f,type:"Imagelabel",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this};Id.prototype.getstyles=function(){var o={};return o.show=this.item.billboard.show?this.item.billboard.show._value:!0,o.image=this.item.billboard.image&&this.item.billboard.image._value?this.item.billboard.image._value:void 0,o.scale=this.item.billboard.scale&&this.item.billboard.scale._value?this.item.billboard.scale._value:void 0,o.pixelOffset=this.item.billboard.pixelOffset?this.item.billboard.pixelOffset._value:void 0,o.horizontalOrigin=this.item.billboard.horizontalOrigin&&this.item.billboard.horizontalOrigin._value?this.item.billboard.horizontalOrigin._value:void 0,o.verticalOrigin=this.item.billboard.verticalOrigin&&this.item.billboard.verticalOrigin._value?this.item.billboard.verticalOrigin._value:void 0,o.heightReference=this.item.billboard.heightReference&&this.item.billboard.heightReference._value&&this.item.billboard.heightReference._value?this.item.billboard.heightReference._value:null,o.color=this.item.billboard.color&&this.item.billboard.color._value?"rgba"+this.item.billboard.color.toString():void 0,o.width=this.item.billboard.width&&this.item.billboard.width._value?this.item.billboard.width._value:void 0,o.height=this.item.billboard.height&&this.item.billboard.height._value?this.item.billboard.height._value:void 0,o.near=this.item.billboard.distanceDisplayCondition?this.item.billboard.distanceDisplayCondition._value.near:void 0,o.far=this.item.billboard.distanceDisplayCondition?this.item.billboard.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};Id.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};Id.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._billboard.distanceDisplayCondition=f}catch(m){console.log(m)}return this};Id.prototype.setUrl=function(o){this.item._billboard.image=o};Id.prototype.setVisibility=function(o){this.item.show=o};Id.prototype.getVisibility=function(){return this.item.show};Id.prototype.setColor=function(o){try{this.item._billboard.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(o),this.item.color=this.item._billboard.color}catch(A){console.log(A)}return this};Id.prototype.setWidth=function(o){try{this.item._billboard.width=o}catch(A){console.log(A)}return this};Id.prototype.setColorAlpha=function(o){try{this.item._billboard.color._value.alpha=o}catch(A){console.log(A)}return this};Id.prototype.setHeight=function(o){try{this.item._billboard.height=o}catch(A){console.log(A)}return this};Id.prototype.setHeightType=function(o){try{o==1?this.item._billboard.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._billboard.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._billboard.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};Id.prototype.setRotation=function(o){try{this.item._billboard.rotation=this._cesium.Math.toRadians(o)}catch(A){console.log(A)}return this};Id.prototype.setItem=function(o){this.item=o};Id.prototype.setScale=function(o){try{this.item._billboard.scale=o}catch(A){console.log(A)}return this};Id.prototype.CreateImageLabel=function(o,A,f,m,C){var E={id:this._core.getuid(),image:Id,show:!0,scale:f.Scale,color:f.IconColor,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(f.MinViewingHeight,f.MaxViewingHeight)};this.item=this._viewer.entities.add({name:C,position:this._cesium.Cartesian3.fromDegrees(positions.X,positions.X,positions.Altitude),billboard:E});var I=this.item.id;C==""&&(I=C);var x={id:this.item.id,name:I,pId:this._core.isnull(m)?0:m,type:"Imagelabel",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(m)?0:m),this};Id.prototype.export=function(){var o=this.item.billboard.image==null?void 0:this.item.billboard.image._value,A=this.item.billboard.show==null?void 0:this.item.billboard.show._value,f=this.item.billboard.scale==null?void 0:this.item.billboard.scale._value,m=this.item.billboard.horizontalOrigin==null?void 0:this.item.billboard.horizontalOrigin._value,C=this.item.billboard.verticalOrigin==null?void 0:this.item.billboard.verticalOrigin._value,E=this.item.billboard.rotation==null?void 0:this.item.billboard.rotation._value,I=this.item.billboard.width==null?void 0:this.item.billboard.width._value,x=this.item.billboard.height==null?void 0:this.item.billboard.height._value,y=this.item.billboard.color==null?void 0:"rgba("+this.item.billboard.color._value.red+","+this.item.billboard.color._value.green+","+this.item.billboard.color._value.blue+","+this.item.billboard.color._value.alpha+")",v=this.item.billboard.heightReference==null?void 0:this.item.billboard.heightReference._value,w=this.item.billboard.distanceDisplayCondition,Q=w?._value.near,M=w?._value.far,B=this._cesium.Cartographic.fromCartesian(this.item.position._value),D=this._cesium.Math.toDegrees(B.longitude),S=this._cesium.Math.toDegrees(B.latitude),P=this._cesium.Math.toDegrees(B.height);return{type:"image",position:{x:D,y:S,z:P},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{image:o,show:A,scale:f,horizontalOrigin:m,verticalOrigin:C,rotation:E,width:I,height:x,color:y,heightReference:v,near:Q,far:M}}};Id.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties(Id.prototype,{position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(f,m,o);this.item.position.position=E,this._postion.Altitude=o}catch(I){console.log(I)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o;var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(o,m,C);this.item.position.position=E}catch(I){console.log(I)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o;var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(f,o,C);this.item.position.position=E}catch(I){console.log(I)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o}catch(A){console.log(A)}}}},LabelStyle:{BackgroundColor:{get:function(){return""},set:function(o){}},Bold:{get:function(){return""},set:function(o){}},FontName:{get:function(){return""},set:function(o){}},FontSize:{get:function(){return""},set:function(o){}},FrameFileName:{get:function(){return""},set:function(o){}},IconColor:{set:Ii.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.fillColor=o)},500),get:function(){var o=this.item.label.fillColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},Italic:{get:function(){return""},set:function(o){}},LimitScreenSize:{get:function(){return""},set:function(o){}},LineColor:{get:function(){return""},set:function(o){}},LineToGround:{get:function(){return""},set:function(o){}},LockMode:{get:function(){return""},set:function(o){}},MaxImageSize:{get:function(){return""},set:function(o){}},MaxViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.far},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.near),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(A,o)}},MinViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.near},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.far),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,A)}},MultilineJustification:{get:function(){return""},set:function(o){}},PivotAlignment:{get:function(){return""},set:function(o){}},Scale:{get:function(){if(this.item._label.scale!=null)return this.item.label.scale.getValue()},set:function(o){this.item.label.scale.setValue(o)}},TextAlignment:{get:function(){return""},set:function(o){}},TextColor:{get:function(){return""},set:function(o){}},TextOnImage:{get:function(){return""},set:function(o){}},Underline:{get:function(){return""},set:function(o){}}}});Id.prototype.CreateImageLabel=function(o,A,f,m,C){this._postion=o;var E={id:this._core.getuid(),image:A,backgroundColor:f.BackgroundColor,fillColor:f.IconColor,font:f.FontName,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,outlineColor:f.LineColor,show:!0,scale:f.Scale,showBackground:!1,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(f.MinViewingHeight,f.MaxViewingHeight)};f.Italic&&(E.font="italic "+E.font),f.Italic&&(E.font="Bold "+E.font);var I=this._core.extend(E,f,!0);this.item=this._viewer.entities.add({name:C,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),billboard:I});var x={id:this.item.id,name:C,pId:this._core.isnull(m)?0:m,type:"ImageLabel",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(m)?0:m),this};Object.defineProperties(Id.prototype,{Position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{this._postion.Altitude=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}}},LabelStyle:{BackgroundColor:{set:Ii.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.backgroundColor=o,this.item.backgroundColor=o)},500),get:function(){var o=this.item.label.backgroundColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},Bold:{get:function(){var o=this.item._label.font.getValue();return o.indexOf("bold")!=-1},set:function(){var o="bold "+this.item._label.font.getValue(),A=this.item._label.font.setValue(o)}},FontName:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f]!="bold"&&A[f].indexOf("px")==-1&&A[f].indexOf("PX")==-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C]!="bold"&&f[C].indexOf("px")==-1&&f[C].indexOf("PX")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},FontSize:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f].indexOf("px")!=-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C].indexOf("px")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},FrameFileName:{get:function(){return""},set:function(o){}},IconColor:{set:Ii.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.fillColor=o)},500),get:function(){var o=this.item.label.fillColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},Italic:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f].indexOf("italic")!=-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C].indexOf("italic")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},LimitScreenSize:{get:function(){return""},set:function(o){}},LineColor:{set:Ii.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.outlineColor=o)},500),get:function(){var o=this.item.label.outlineColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},LineToGround:{get:function(){return""},set:function(o){}},LockMode:{get:function(){return""},set:function(o){}},MaxImageSize:{get:function(){return""},set:function(o){}},MaxViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.far},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.near),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(A,o)}},MinViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.near},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.far),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,A)}},MultilineJustification:{get:function(){return""},set:function(o){}},PivotAlignment:{get:function(){return""},set:function(o){}},Scale:{get:function(){if(this.item._label.scale!=null)return this.item.label.scale.getValue()},set:function(o){this.item.label.scale.setValue(o)}},TextAlignment:{get:function(){return""},set:function(o){}},TextColor:{get:function(){return""},set:function(o){}},TextOnImage:{get:function(){return""},set:function(o){}},Underline:{get:function(){return""},set:function(o){}}}});var WP=Id;function xp(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke}xp.prototype.createWall=function(o,A,f,m){var C=[];if(typeof o=="object"){let y=o,v=this._core.defaultValue(y.alpha,.6);y.points.forEach(w=>{C.push(Cesium.Cartesian3.fromDegrees(w.x,w.y))}),this.item=this._viewer.entities.add({name:y.name,id:y.id||this._core.getuid(),wall:{positions:C,material:Cesium.Color.fromCssColorString(y.color||"#f00").withAlpha(v),minimumHeights:new Array(C.length).fill(y.bottomHeight),maximumHeights:new Array(C.length).fill(y.topHeight)}}),this.item.objectType="wall"}else{var E={show:!0,minimumHeights:[100,100,100,100,100,100,100],maximumHeights:[2e3,2e3,2e3,2e3,2e3,2e3,2e3],material:this._cesium.Color.AQUA.withAlpha(1)};if(this._core.isnull(f)){console.log("options is required");return}f=this._core.extend(E,f,!0);var I=new Ji(this._viewer,this._cesium);if(f&&f.material=="ImageMaterialProperty"?f.material=I.setImageMaterialProperty("../../img/arrow.png",this._cesium,0,f.id):f&&f.material=="DrawCanvasColorUpdown"&&(f.material=I.setImageMaterialProperty("../../img/arrow.png",this._cesium,1,f.id)),!A[0].x&&!A[0].y){if(A[0].length===2)for(var x=0;x<A.length;x++)C.push(this._cesium.Cartesian3.fromDegrees(A[x][0],A[x][1]));else if(A[0].length===3)for(var x=0;x<A.length;x++)C.push(this._cesium.Cartesian3.fromDegrees(A[x][0],A[x][1],A[x][2]))}else if(A[0].z!==void 0)for(var x=0;x<A.length;x++)C.push(this._cesium.Cartesian3.fromDegrees(A[x].x,A[x].y,A[x].z));else for(var x=0;x<A.length;x++)C.push(this._cesium.Cartesian3.fromDegrees(A[x].x,A[x].y));f.positions=C,f.minHeight!==void 0&&(f.minimumHeights=new Array(f.positions.length).fill(f.minHeight)),f.maxHeight!==void 0&&(f.maximumHeights=new Array(f.positions.length).fill(f.maxHeight)),this.item=this._viewer.entities.add({name:o,id:this._core.getuid(),wall:f}),this.item.positions=f.positions}return this._tree.insertGroupId({id:this.item.id,name:o,pId:this._core.isnull(m)?0:m,type:"wall",item:this},this._core.isnull(m)?0:m),this};xp.prototype.executeWall=function(o,A){var f=[],m=void 0,C=this,E=function(){function x(y){this.options={id:C._core.getuid(),type:"wall",wall:{positions:[],minimumHeights:[2e3,2e3],maximumHeights:[1e3,1e3],material:C._core.setImageMaterialProperty("img/arrow.png",C._cesium,1)}},this.positions=y,this._init()}return x.prototype._init=function(){var y=this,v=function(){for(var B=[],D=0;D<y.positions.length;D++){if(!f[D])return;var S=C._viewer.scene.globe.ellipsoid,P=new C._cesium.Cartesian3(f[D].x,f[D].y,f[D].z),R=S.cartesianToCartographic(P),T=C._cesium.Math.toDegrees(R.latitude),L=C._cesium.Math.toDegrees(R.longitude),F=R.height;B.push(L),B.push(T)}return C._cesium.Cartesian3.fromDegreesArray(B)},w=function(){for(var B=[],D=0;D<y.positions.length;D++)B.push(2e3);return B},Q=function(){for(var B=[],D=0;D<y.positions.length;D++)B.push(1e3);return B};this.options.wall.maximumHeights=new C._cesium.CallbackProperty(w,!1),this.options.wall.minimumHeights=new C._cesium.CallbackProperty(Q,!1),this.options.wall.positions=new C._cesium.CallbackProperty(v,!1);var M=C._viewer.entities.add(this.options);C.item=M,C._tree.insertGroupId({id:this.options.id,name:o,pId:C._core.isnull(A)?0:A,type:"wall",item:C},C._core.isnull(A)?0:A)},x}(),I=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);I.setInputAction(function(x){var y=C._viewer.scene.camera.pickEllipsoid(x.position,C._viewer.scene.globe.ellipsoid);f.length==0&&f.push(Ii.clone(y)),f.push(Ii.clone(y))},C._cesium.ScreenSpaceEventType.LEFT_CLICK),I.setInputAction(function(x){var y=C._viewer.scene.camera.pickEllipsoid(x.endPosition,C._viewer.scene.globe.ellipsoid);f.length>=1&&(C._cesium.defined(m)?(f.pop(),f.push(y)):m=new E(f))},C._cesium.ScreenSpaceEventType.MOUSE_MOVE),I.setInputAction(function(x){I.destroy(),f.pop()},C._cesium.ScreenSpaceEventType.RIGHT_CLICK)};var SQe="a",jJ=0;xp.prototype.drawCanvasImage=function(o,A){var f=document.getElementById("canvas-"+SQe),m=700,C=100,E=f.getContext("2d"),I=new Image;return I.src="img/arrow.png",E.clearRect(0,0,m,C),I.onload=function(){jJ<=m?(E.drawImage(I,jJ,0),E.drawImage(I,jJ+100,0)):jJ=0,jJ+=5},SQe=SQe==="a"?"b":"a",f};xp.prototype.setVisibility=function(o){this.item.wall.show=o};xp.prototype.getVisibility=function(){return this.item.wall.show};xp.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};Object.defineProperties(xp.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});Object.defineProperties(xp.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});xp.prototype.setItem=function(o){this.item=o};xp.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties(xp.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(xp.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(xp.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(xp.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});Object.defineProperties(xp.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(xp.prototype,{wallTempOptions:{get:function(){return{positions:[],maximumHeights:[],minimumHeights:[],show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,granularity:this._cesium.Math.RADIANS_PER_DEGREE,shadows:ShadowMode.DISABLED,distanceDisplayCondition:null}}}});var B3=xp;function DQe(o,A,f,m,C,E,I){var x=new Cesium.Credit("WMTS");C=Cesium.defaultValue(C,{}),this._7=new Cesium.GeographicTilingScheme({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1}),this._3=256,this._4=256,this._10=Cesium.defaultValue(C.fileExtension,"jpg"),this._9=C.proxy,this._12=C.tileDiscardPolicy,this._2=f,this._1=m,this._8=new Cesium.Rectangle(0-Math.PI,0-Math.PI/2,Math.PI,Math.PI/2),this._5=new Cesium.Rectangle(0-Math.PI,0-Math.PI/2,Math.PI,Math.PI/2),this._6=!0,this.baseurl=o,this.needaddone=A,E&&(this._0=E,this.baseurl2=I);var y=Cesium.defaultValue(C.credit,x);typeof y=="string"&&(y=new Cesium.Credit(y)),this._11=y}Object.defineProperties(DQe.prototype,{tileWidth:{get:function(){return this._3}},tileHeight:{get:function(){return this._4}},defaultAlpha:{get:function(){return 1}},hasAlphaChannel:{get:function(){return!0}},maximumLevel:{get:function(){return this._1}},minimumLevel:{get:function(){return this._2}},tilingScheme:{get:function(){return this._7}},extent:{get:function(){return this._8}},rectangle:{get:function(){return this._5}},ready:{get:function(){return this._6}},minimumTerrainLevel:{get:function(){return 0}},maximumTerrainLevel:{get:function(){return 17}}});DQe.prototype.requestImage=function(o,A,f){this.needaddone&&(o+=1,A+=1,f+=1);var m=this.baseurl;this._0&&f>this._0&&(m=this.baseurl2);var C=m.replace("{x}",o);return C=C.replace("{l}",A%8),C=C.replace("{y}",A),C=C.replace("{z}",f+1),Cesium.ImageryProvider.loadImage(this,C)};var ynt=DQe;var zv=null;function vnt(o,A){this._viewer=o,this._cesium=A,zv=A}var Sbi=function(){function o(A,f){for(var m=0;m<f.length;m++){var C=f[m];C.enumerable=C.enumerable||!1,C.configurable=!0,"value"in C&&(C.writable=!0),Object.defineProperty(A,C.key,C)}}return function(A,f,m){return f&&o(A.prototype,f),m&&o(A,m),A}}();function Dbi(o,A){if(!(o instanceof A))throw new TypeError("Cannot call a class as a function")}var Mbi="http://api{s}.map.bdimg.com/customimage/tile?&x={x}&y={y}&z={z}&scale=1&customid={style}";vnt.prototype.BaiduImageryProvider=function(){function o(){var A=arguments.length<=0||arguments[0]===void 0?{}:arguments[0];Dbi(this,o),this._url=Mbi,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=18,this._tilingScheme=new zv.WebMercatorTilingScheme({rectangleSouthwestInMeters:new zv.Cartesian2(-33554054,-33746824),rectangleNortheastInMeters:new zv.Cartesian2(33554054,33746824)}),this._rectangle=this._tilingScheme.rectangle,this._credit=void 0,this._style=A.style||"normal"}return Sbi(o,[{key:"getTileCredits",value:function(f,m,C){}},{key:"requestImage",value:function(f,m,C){if(!this.ready)throw new zv.DeveloperError("requestImage must not be called before the imagery provider is ready.");var E=this._tilingScheme.getNumberOfXTilesAtLevel(C),I=this._tilingScheme.getNumberOfYTilesAtLevel(C),x=this._url.replace("{x}",f-E/2).replace("{y}",I/2-m-1).replace("{z}",C).replace("{s}",1).replace("{style}",this._style);return zv.ImageryProvider.loadImage(this,x)}},{key:"url",get:function(){return this._url}},{key:"token",get:function(){return this._token}},{key:"tileWidth",get:function(){if(!this.ready)throw new zv.DeveloperError("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},{key:"tileHeight",get:function(){if(!this.ready)throw new zv.DeveloperError("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},{key:"maximumLevel",get:function(){if(!this.ready)throw new zv.DeveloperError("maximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel}},{key:"minimumLevel",get:function(){if(!this.ready)throw new zv.DeveloperError("minimumLevel must not be called before the imagery provider is ready.");return 0}},{key:"tilingScheme",get:function(){if(!this.ready)throw new zv.DeveloperError("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},{key:"rectangle",get:function(){if(!this.ready)throw new zv.DeveloperError("rectangle must not be called before the imagery provider is ready.");return this._rectangle}},{key:"ready",get:function(){return!!this._url}},{key:"credit",get:function(){return this._credit}}]),o}();var _nt=vnt;function tf(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke,this._BaiduImageryProvider=new _nt(o,A)}tf.prototype.createArcGisImageryLayer=function(o,A,f,m,C,E){var I={url:""},x=null;this._core.isUrl(A)?(x=I,x.url=A):x=this._core.extend(I,A,!0),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5F71\u50CF\u56FE\u5C42");var y=new this._cesium.ArcGisMapServerImageryProvider(x);let v={alpha:x.alpha,brightness:x.brightness,availability:x.availability};if(x.Level!==void 0||x.level!==void 0){let M=this._core.defaultValue(x.Level,x.level);M.indexOf&&M.indexOf(",")>-1||Array.isArray(M)?(M.split&&(M=M.split(",")),v.maximumTerrainLevel=M[1],v.minimumTerrainLevel=M[0]):v.minimumTerrainLevel=M}x.time&&(v.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:x.time.start?this._cesium.JulianDate.fromDate(new Date(x.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:x.time.end?this._cesium.JulianDate.fromDate(new Date(x.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.availability=v.availability,this.item=new this._cesium.ImageryLayer(y,v),this._viewer.imageryLayers.add(this.item,m),!C&&this.setVisibility(!1),E&&typeof E=="function"&&E(this.item);var w=this._core.getuid(),Q={id:x.id||w,name:o,checked:C,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",smtype:"arcgis",item:this};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(f)?0:f),this};tf.prototype.createImageryLayerGrid=function(o){var A=this._viewer.imageryLayers,f=A.addImageryProvider(new this._cesium.GridImageryProvider(o));return this.item=f,this};tf.prototype.createWebMapServerImageLayer=function(o,A,f,m,C,E){var I={url:"",layers:"",parameters:{service:"WMS",format:"image/png",transparent:!0}},x=null;this._core.isUrl(A)?(x=I,x.url=A):x=this._core.extend(I,A,!0),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5F71\u50CF\u56FE\u5C42");var y=new this._cesium.WebMapServiceImageryProvider(x);let v={alpha:x.alpha,brightness:x.brightness,availability:x.availability};if(x.Level!==void 0||x.level!==void 0){let M=this._core.defaultValue(x.Level,x.level);M.indexOf&&M.indexOf(",")>-1||Array.isArray(M)?(M.split&&(M=M.split(",")),v.maximumTerrainLevel=M[1],v.minimumTerrainLevel=M[0]):v.minimumTerrainLevel=M}x.time&&(v.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:x.time.start?this._cesium.JulianDate.fromDate(new Date(x.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:x.time.end?this._cesium.JulianDate.fromDate(new Date(x.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.availability=v.availability,this.item=new this._cesium.ImageryLayer(y,v),this._viewer.imageryLayers.add(this.item,m),!C&&this.setVisibility(!1),E&&typeof E=="function"&&E(this.item);var w=this._core.getuid(),Q={id:x.id||w,name:o,checked:C,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",smtype:"wms",item:this};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(f)?0:f),this};tf.prototype.createMVTWithStyle=function(o,A,f,m){f=0,this.item=this._viewer.imageryLayers.addImageryProvider(A),checked||this.setVisibility(!1),A.show=!1;var C=this._core.getuid(),E={id:options.id||C,name:o,checked,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",show:!1,item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,this._core.isnull(f)?0:f),this};tf.prototype.createWebMapTileServerImageLayer=function(o,A,f,m,C,E){var I={url:""},x=null;this._core.isUrl(A)?(x=I,x.url=A):x=this._core.extend(I,A,!0),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5F71\u50CF\u56FE\u5C42");let y={alpha:x.alpha,brightness:x.brightness,availability:x.availability};if(x.Level!==void 0||x.level!==void 0){let M=this._core.defaultValue(x.Level,x.level);M.indexOf&&M.indexOf(",")>-1||Array.isArray(M)?(M.split&&(M=M.split(",")),y.maximumTerrainLevel=M[1],y.minimumTerrainLevel=M[0]):y.minimumTerrainLevel=M}var v;x.TD_SD?v=new ynt(x.url,!1,y.minimumTerrainLevel||0,y.maximumTerrainLevel||21):v=new this._cesium.WebMapTileServiceImageryProvider(x),x.addLevel&&(v.addLevel=x.addLevel),x.time&&(y.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:x.time.start?this._cesium.JulianDate.fromDate(new Date(x.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:x.time.end?this._cesium.JulianDate.fromDate(new Date(x.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.availability=y.availability,this.item=new this._cesium.ImageryLayer(v,y),this._viewer.imageryLayers.add(this.item,m),!C&&this.setVisibility(!1),E&&typeof E=="function"&&E(this.item);var w=this._core.getuid(),Q={id:x.id||w,name:o,checked:C,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",smtype:"skymap",item:this};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(f)?0:f),this};tf.prototype.createUrlTemplateImageryProvider=function(o,A,f,m,C,E){var I={url:""},x=null;this._core.isUrl(A)?(x=I,x.url=A):x=this._core.extend(I,A,!0),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5F71\u50CF\u56FE\u5C42");var y=new this._cesium.UrlTemplateImageryProvider(x);let v={alpha:x.alpha,brightness:x.brightness,availability:x.availability};if(x.Level!==void 0||x.level!==void 0){let M=this._core.defaultValue(x.Level,x.level);M.indexOf&&M.indexOf(",")>-1||Array.isArray(M)?(M.split&&(M=M.split(",")),v.maximumTerrainLevel=M[1],v.minimumTerrainLevel=M[0]):v.minimumTerrainLevel=M}x.time&&(v.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:x.time.start?this._cesium.JulianDate.fromDate(new Date(x.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:x.time.end?this._cesium.JulianDate.fromDate(new Date(x.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.availability=v.availability,this.item=new this._cesium.ImageryLayer(y,v),this._viewer.imageryLayers.add(this.item,m),!C&&this.setVisibility(!1),E&&typeof E=="function"&&E(this.item);var w=this._core.getuid(),Q={id:x.id||w,name:o,checked:C,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",smtype:"goglemap",item:this};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(f)?0:f),this};tf.prototype.createImageryProvider=function(o,A,f,m,C,E,I){var x={},y=this._core.extend(x,f,!0),v;A=="arcgis"?v=new this._cesium.ArcGisMapServerImageryProvider(y):A=="geoserver"?v=new this._cesium.WebMapServiceImageryProvider(y):A=="wms"?v=new this._cesium.WebMapServiceImageryProvider(y):A=="cesiumBlack"?v=new this._cesium.TileMapServiceImageryProvider(y):A=="tms"?v=new this._cesium.TileMapServiceImageryProvider(y):A=="skymap"?v=new this._cesium.WebMapTileServiceImageryProvider(y):A=="goglemap"?v=new this._cesium.UrlTemplateImageryProvider(y):A=="BingMap"?v=new this._cesium.BingMapsImageryProvider(y):A=="OpenStreetMap"?v=new this._cesium.OpenStreetMapImageryProvider(y):A=="MapBox"?v=new this._cesium.MapboxImageryProvider(y):A=="BaiduMap"&&(v=new this._BaiduImageryProvider.BaiduImageryProvider(y));let w={alpha:y.alpha,brightness:y.brightness,availability:y.availability};if(y.Level!==void 0||y.level!==void 0){let M=this._core.defaultValue(y.Level,y.level);M.indexOf&&M.indexOf(",")>-1||Array.isArray(M)?(M.split&&(M=M.split(",")),w.maximumTerrainLevel=M[1],w.minimumTerrainLevel=M[0]):w.minimumTerrainLevel=M}y.time&&(w.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:y.time.start?this._cesium.JulianDate.fromDate(new Date(y.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:y.time.end?this._cesium.JulianDate.fromDate(new Date(y.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.availability=w.availability,this.item=new this._cesium.ImageryLayer(v,w),this._viewer.imageryLayers.add(this.item,C),!E&&this.setVisibility(!1),I&&typeof I=="function"&&I(this.item),this._core.isnull(y.id)&&(y.id=this._core.getuid());var Q={id:y.id,name:o,pId:this._core.isnull(m)?0:m,type:"ImageryProvider",checked:E,item:this};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};tf.prototype.createCacheImageryProvider=function(o,A,f,m,C,E){var I={fileExtension:"jpg",cacheMaxLevel:16};m=m|1;var x=this._core.extend(I,A,!0);let y={alpha:x.alpha,brightness:x.brightness,availability:x.availability,show:!0},v={alpha:x.alpha,brightness:x.brightness,availability:x.availability,show:!0};if(x.time&&(y.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:x.time.start?this._cesium.JulianDate.fromDate(new Date(x.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:x.time.end?this._cesium.JulianDate.fromDate(new Date(x.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})]),v.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:x.time.start?this._cesium.JulianDate.fromDate(new Date(x.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:x.time.end?this._cesium.JulianDate.fromDate(new Date(x.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),x.Level!==void 0||x.level!==void 0){let D=this._core.defaultValue(x.Level,x.level);D.indexOf&&D.indexOf(",")>-1||Array.isArray(D)?(D.split&&(D=D.split(",")),D[1]>x.cacheMaxLevel?(y.show=!0,v.maximumTerrainLevel=D[1],v.show=!0):(y.show=!0,v.show=!1),D[0]>x.cacheMaxLevel?(y.show=!1,v.minimumTerrainLevel=D[0],v.show=!0):(y.show=!0,v.minimumTerrainLevel=x.cacheMaxLevel)):D>x.cacheMaxLevel?(y.show=!1,v.minimumTerrainLevel=D,v.show=!0):(y.show=!0,v.minimumTerrainLevel=x.cacheMaxLevel,v.show=!0)}else y.show=!0,v.minimumTerrainLevel=x.cacheMaxLevel,v.show=!0;this.availability=y.availability;var w=null;y.show&&(w=new this._cesium.TileMapServiceImageryProvider({url:Cesium.buildModuleUrl(x.cacheUrl),fileExtension:x.fileExtension}),this.item=new this._cesium.ImageryLayer(w,y),this._viewer.imageryLayers.add(this.item,m)),this.items||(this.items=[]);var Q=null;if(v.show)if(x.minimumLevel=v.minimumTerrainLevel|x.cacheMaxLevel,v.maximumTerrainLevel&&(x.maximumLevel=v.maximumTerrainLevel),Q=new this._cesium.WebMapServiceImageryProvider(x),this.item){var M=this.items.push(new this._cesium.ImageryLayer(Q,v));this._viewer.imageryLayers.add(this.items[M-1],m+1)}else this.item=new this._cesium.ImageryLayer(Q,v),this._viewer.imageryLayers.add(this.item,m+1);!C&&this.setVisibility(!1),E&&typeof E=="function"&&E(this.item),this._core.isnull(x.id)&&(x.id=this._core.getuid());var B={id:x.id,name:o,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",checked:C,item:this};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(f)?0:f),this};tf.prototype.createPolylineImageryProviderer=function(o,A,f,m){var C={url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"},E=this._core.extend(C,A,!0),I=new this._cesium.WebMapTileServiceImageryProvider(E);this.item=this._viewer.imageryLayers.addImageryProvider(I),typeof m=="function"&&m(this.item),this._core.isnull(E.id)&&(E.id=this._core.getuid());var x={id:E.id,name:o,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(f)?0:f),this};tf.prototype.createterrainProvider=function(o,A,f,m){var C={url:""},E=this._core.extend(C,A,!0),I=new this._cesium.CesiumTerrainProvider(E);this._viewer.terrainProvider=I,this.item=this._viewer.terrainProvider,typeof m=="function"&&m(dataSource),this._core.isnull(E.id)&&(E.id=this._core.getuid());var x={id:E.id,name:o,pId:this._core.isnull(f)?0:f,type:"terrainProvider",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(f)?0:f),this};tf.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.item.imageryProvider.url;return{type:"ImageryLayer",treeobj:{name:this.treeobj.name,type:this.treeobj.smtype},style:{show:o,url:A}}};tf.prototype.setTreeobj=function(o){this.treeobj=o};tf.prototype.getLevel=function(){var o=40487.57,A=7096758e-11,f=91610.74,m=-40467.74,C=this._viewer.camera,E,I;try{if(C&&C.positionCartographic&&C.positionCartographic.height){var x=this._viewer.scene.globe.getHeight(C.positionCartographic);!x&&(x=0),E=C.positionCartographic.height-x,I=Math.round(m+(o-m)/(1+Math.pow(E/f,A)))}else I=0}catch{}return I};tf.prototype.setVisibility=function(o){if(this.isShow=o,this.item.show=o,this.item._availability&&!o?this.item._availability=void 0:this.availability&&o&&(this.item._availability=this.availability),this.items)for(var A=0;A<this.items.length;A++)this.items[A].show=o,this.items[A]._availability&&!o?this.items[A]._availability=void 0:this.availability&&o&&(this.items[A]._availability=this.availability)};tf.prototype.getVisibility=function(){return this.item.show};tf.prototype.getType=function(){return{label:"\u5F71\u50CF",value:"ImageryProvider"}};tf.prototype.deleteObject=function(){return this._viewer.imageryLayers.remove(this.item)};Object.defineProperties(tf.prototype,{url:{set:function(o){},get:function(){}}});tf.prototype.setItem=function(o){this.item=o};var qD=tf;var Tbi=function(){function o(A,f){var m=[],C=!0,E=!1,I=void 0;try{for(var x=A[Symbol.iterator](),y;!(C=(y=x.next()).done)&&(m.push(y.value),!(f&&m.length===f));C=!0);}catch(v){E=!0,I=v}finally{try{!C&&x.return&&x.return()}finally{if(E)throw I}}return m}return function(A,f){if(Array.isArray(A))return A;if(Symbol.iterator in Object(A))return o(A,f);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),Pbi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};function Pne(o){if(Array.isArray(o)){for(var A=0,f=Array(o.length);A<o.length;A++)f[A]=o[A];return f}else return Array.from(o)}function yp(o,A,f){this._viewer=o,this._cesium=A,this._viewer=null,this._Cesium=f.Cesium,this.UrlData={output:f.output,resultmode:f.resultmode,uid:f.uid,st:f.st,words:f.words,area:f.area,callback:f.callback},this.minLevel1=f.minLevel1,this.minLevel3=f.minLevel3,this._url=f.url,this._urlTemplate=f.url,this._rectangle=f.rectangle,this._maximumLevel=f.maximumLevel||19,this._minimumLevel=f.minimumLevel||1,this.dx={},this._tilingScheme=f.tilingScheme||new this._Cesium.GeographicTilingScheme,this._tileRangeByLevel={},this._moveEndTimestamp=null,this._isRemoved=!1,this.cluster="city",this.primitivecount=null,this._isCameraMoving=!1,this._propertyToBeFiltered=null,this._valuesToBeFiltered=null,this._primitiveByTile={},this._tileKeys=[],this._lowerLevelLimit=f.lowerLevelLimit||1,this._upperLevelLimit=f.upperLevelLimit||null,this._cameraMoveEndHandler=this._cameraMoveEndHandler.bind(this),this._cameraMoveStartHandler=this._cameraMoveStartHandler.bind(this),this.heightById={};for(var m=this._radianToDegree(this._rectangle.west),C=this._radianToDegree(this._rectangle.south),E=this._radianToDegree(this._rectangle.east),I=this._radianToDegree(this._rectangle.north),x=this._minimumLevel;x<=this._maximumLevel;x++){var y=this._lonLatToTileInWGS84([m,C],x),v=this._lonLatToTileInWGS84([E,I],x),w=Math.min(y[0],v[0]),Q=Math.max(y[0],v[0]),M=Math.min(y[1],v[1]),B=Math.max(y[1],v[1]);this._tileRangeByLevel[x]={minCol:M,maxCol:B,minRow:w,maxRow:Q}}this._tileRangeByLevel[0]={minCol:0,maxCol:0,minRow:0,maxRow:0},this._primitiveCollection=new this._Cesium.PrimitiveCollection,this._stop=!1}yp.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":Pbi(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};yp.prototype._fetch=function(o){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=new Promise(function(m,C){var E=new XMLHttpRequest;if(E.open(A.method||"GET",o),A.headers)for(var I in A.headers)E.setRequestHeader(I,A.headers[I]);E.onload=function(){if(E.readyState===4&&E.status===200)try{var x=JSON.parse(E.responseText);m(x)}catch{C(new Error("INVALID RESPONSE"))}},E.onerror=function(x){C(x)},E.onloadend=function(x){x.target.status!==200&&C(new Error("["+x.target.status+"]request failed: "+o))},E.send(A.body||null)});return f};yp.prototype._lonLatToTileInWGS84=function(o,A){var f=Tbi(o,2),m=f[0],C=f[1],E=Math.floor(Math.pow(2,A)*(90-C)/180),I=Math.floor(Math.pow(2,A)*(180+m)/180);return[E,I]};yp.prototype._radianToDegree=function(o){return o/Math.PI*180};yp.prototype._isTileInRange=function(o){try{var A=this._tileRangeByLevel[o.level],f=A.minCol,m=A.maxCol,C=A.minRow,E=A.maxRow;return o.x>=f&&o.x<=m&&o.y>=C&&o.y<=E}catch{return!1}};yp.prototype._cameraMoveStartHandler=function(){this._isCameraMoving=!0};yp.prototype._loadTile=function(o,A){var f=[],m=new this._Cesium.ColorGeometryInstanceAttribute(.75,.75,.75,1),C=this;o.features.forEach(function(I){if(C._propertyToBeFiltered&&Array.isArray(C._valuesToBeFiltered)){var x=I.properties[C._propertyToBeFiltered];if(C._valuesToBeFiltered.includes(x))return}var y=I.geometry.type;if(y==="Polygon"||y==="MultiPolygon"){var v=[];C.heightById[I.properties.house_id]=I.properties.height,I.geometry.coordinates.forEach(function(w,Q){v.push([]),w.forEach(function(R){if(R.length>2)R.forEach(function(L){if(L.length>=2){var F;(F=v[Q]).push.apply(F,Pne(L))}});else{var T;(T=v[Q]).push.apply(T,Pne(R))}});var M=new C._Cesium.PolygonHierarchy(C._Cesium.Cartesian3.fromDegreesArray(v[Q])),B=C._Cesium.BoundingSphere.fromPoints(M.positions).center,D=C._viewer.scene.globe.getHeight(C._Cesium.Cartographic.fromCartesian(B))||0,S=new C._Cesium.PolygonGeometry({polygonHierarchy:M,height:D,vertexFormat:C._Cesium.PerInstanceColorAppearance.VERTEX_FORMAT,extrudedHeight:1e3}),P=new C._Cesium.GeometryInstance({geometry:S,attributes:{color:m}});f.push(P)})}else console.warn('GeoJSONVectorTileProviderPolymerization: geometry type "'+I.geometry.type+'" detected, but is not going to be rendered')});var E=new this._Cesium.Primitive({allowPicking:!1,appearance:new this._Cesium.PerInstanceColorAppearance({translucent:!1}),geometryInstances:f});return E};yp.prototype._cameraMoveEndHandler=function(){if(!this._stop){var o=this,A=Date.now(),f=this._viewer.scene.globe._surface._tilesToRender,m=f.map(function(S){return S.level}),C=Math.min.apply(Math,Pne(m)),E=Math.max.apply(Math,Pne(m));o._removeObsoletePrimitives(o._primitiveByTile,[]),E<this._lowerLevelLimit&&(o._tileKeys=[],o._removeObsoletePrimitives(o._primitiveByTile,[]),f=[]),this._upperLevelLimit&&C>this._upperLevelLimit&&(o._tileKeys=[],o._removeObsoletePrimitives(o._primitiveByTile,[]),f=[]),E-C>2&&(f=f.filter(function(S){return S.level>=E-2})),f.sort(function(S,P){return-(S.level-P.level)}),f=f.filter(function(S){return o._isTileInRange(S)}),this._upperLevelLimit&&(f=this._refineTiles(f,this._upperLevelLimit)),this._isCameraMoving=!1,this._moveEndTimestamp=A,this._viewer.scene.primitives.remove(this.dx),this.dx={},this._primitiveByTile={};var I=[],x=0,y=0,v=this._viewer.camera.computeViewRectangle(),w=this._radianToDegree(v.west),Q=this._radianToDegree(v.south),M=this._radianToDegree(v.east),B=this._radianToDegree(v.north);this.UrlData.area="RECT("+w+" "+Q+","+M+" "+B+")";var D="";C<=this.minLevel1||C=="Infinity"?(this.cluster="city",this.UrlData.cluster=this.cluster,D=this._urlTemplate+"?output="+this.UrlData.output+"&resultmode="+this.UrlData.resultmode+"&uid="+this.UrlData.uid+"&st="+this.UrlData.st+"&words="+this.UrlData.words+"&area="+this.UrlData.area+"&cluster="+this.UrlData.cluster+"&callback="+this.UrlData.callback):C>this.minLevel1&&this.minLevel3>C?(this.cluster="county",this.UrlData.cluster=this.cluster,D=this._urlTemplate+"?output="+this.UrlData.output+"&resultmode="+this.UrlData.resultmode+"&uid="+this.UrlData.uid+"&st="+this.UrlData.st+"&words="+this.UrlData.words+"&area="+this.UrlData.area+"&cluster="+this.UrlData.cluster+"&callback="+this.UrlData.callback):C>=this.minLevel3&&(this.cluster="",D=this._urlTemplate+"?output="+this.UrlData.output+"&resultmode="+this.UrlData.resultmode+"&uid="+this.UrlData.uid+"&st="+this.UrlData.st+"&words="+this.UrlData.words+"&area="+this.UrlData.area+"&callback="+this.UrlData.callback),o._fetch(D).then(function(S){var P=o._loadTile(S,o.cluster);o._primitiveCollection=P,y++,y>=x&&(o._tileKeys=I,o._removeObsoletePrimitives(o._primitiveByTile,I))}).catch(function(S){y++,y>=x&&(o._tileKeys=I,o._removeObsoletePrimitives(o._primitiveByTile,I)),S.message})}};yp.prototype._refineTiles=function(o,A){var f=[],m=[];return o.forEach(function(C){var E="Z"+C.level+"X"+C.x+"Y"+C.y;if(C.level<A-1)m.includes(E)||(f.push(C),m.push(E));else if(C.level===A-1)for(var I=0;I<2;I++)for(var x=0;x<2;x++){var y="Z"+(C.level+1)+"X"+(C.x*2+I)+"Y"+(C.y*2+x);m.includes(y)||(f.push({x:C.x*2+I,y:C.y*2+x,level:C.level+1}),m.push(y))}else{var v=C.level-A;if(v===0)m.includes(E)||(f.push(C),m.push(E));else{var w=v*2,Q=Math.floor(C.x/w),M=Math.floor(C.y/w),B="Z"+A+"X"+Q+"Y"+M;m.includes(B)||(f.push({x:Q,y:M,level:A}),m.push(B))}}}),f};yp.prototype._removeObsoletePrimitives=function(o,A){var f=[];A.length>0&&(f=A);for(var m in o)f.includes(m)||removed&&delete o[m]};yp.prototype.addTo=function(o){this._viewer=o,this._isRemoved=!1,this._viewer.camera.moveEnd.addEventListener(this._cameraMoveEndHandler),this._viewer.camera.moveStart.addEventListener(this._cameraMoveStartHandler),this._cameraMoveEndHandler()};yp.prototype.remove=function(){if(this._viewer){for(var o in this._primitiveByTile)this._viewer.scene.primitives.remove(this._primitiveByTile[o]);this._primitiveByTile={},this._viewer.camera.moveEnd.removeEventListener(this._cameraMoveEndHandler),this._viewer.camera.moveStart.removeEventListener(this._cameraMoveStartHandler),this._viewer=null,this._isRemoved=!0}};yp.prototype.setStatus=function(o){this._stop=o};yp.prototype.isRemoved=function(){return this._isRemoved};yp.prototype.filterBy=function(o,A,f){this._propertyToBeFiltered=o,this._valuesToBeFiltered=A};yp.prototype.removeFilter=function(){this._propertyToBeFiltered=null,this._valuesToBeFiltered=null};var Bnt=yp;function Rf(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this._Provider=void 0,this.labelCollections1=[],this.labelCollections2=[],this.labelCollections=new this._cesium.PointPrimitiveCollection,this.gd=0,this.model=[],this.Legend=[],this.sj=!0}Rf.prototype.createLabelPointGeoJsonFeatureLayer=function(o,A,f,m,C){A==null&&console.log("geojson is required");var E=this._cesium.GeoJsonDataSource.load(A),I=this;E.then(function(v){var w={Name:"",text:"",font:" 30px sans-serif",stylet:I._cesium.LabelStyle.OUTLINE,fillColor:I._cesium.Color.WHITE,outlineColor:I._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new I._cesium.Color(.165,.165,.165,.8),backgroundPadding:new I._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:I._cesium.HorizontalOrigin.CENTER,verticalOrigin:I._cesium.VerticalOrigin.CENTER,eyeOffset:I._cesium.Cartesian3.ZERO,pixelOffset:I._cesium.Cartesian2.ZERO,heightReference:I._cesium.HeightReference.NONE,scaleByDistance:new I._cesium.NearFarScalar(0,0,1,1)},Q=f.material;!I._core.isnull(f)&&!I._core.isnull(f.fillColor)&&(/^\[/.test(f.fillColor)&&f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||(I._core.isHtmlColor(f.fillColor)?f.fillColor=I._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=I._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=I._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a)))),!I._core.isnull(f)&&!I._core.isnull(f.material)&&(/^\[/.test(f.material)&&f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(I._core.isHtmlColor(f.material)?f.material=I._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=I._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.fillColor.r/255),f.material.g>1&&(f.material.g=f.fillColor.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=I._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!I._core.isnull(f)&&!I._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(I._core.isHtmlColor(f.outlineColor)?f.outlineColor=I._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=I._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=I._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!I._core.isnull(f)&&!I._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(I._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=I._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=I._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=I._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var M=I._core.extend(w,f,!0);I.item=v;var B=v.entities.values;I._core.isnull(f.near)&&(f.near=0),I._core.isnull(f.far)&&(f.far=999999999);var D=parseFloat(f.near),S=parseFloat(f.far),P=new I._cesium.DistanceDisplayCondition(D,S);M.distanceDisplayCondition=P,I._core.isnull(f.font_size)&&(f.font_size="30px"),I._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),M.font=parseFloat(f.font_size)+"px "+f.font_family;for(var R=new I._cesium.LabelCollection,T=0;T<B.length;T++){var L=B[T];M.position=L.position._value,M.text="a label";var F="fillColor:"+M.fillColor.red*255+","+M.fillColor.green*255+","+M.fillColor.blue*255+";outlineColor:"+M.outlineColor.red*255+","+M.outlineColor.green*255+","+M.outlineColor.blue*255;I.Legend.push(F),R.add(M)}var U=I._viewer.scene.primitives.add(R);typeof C=="function"&&C(U)});var x=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x);var y={id:x,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A,style:options};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(m)?0:m),this};Rf.prototype.createLabelPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={Name:"",text:"",font:" 30px sans-serif",style:this._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.RELATIVE_TO_GROUND,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)},w=this;!this._core.isnull(f)&&!this._core.isnull(f.fillColor)&&(this._core.isHtmlColor(f.fillColor)?f.fillColor=this._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=this._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=this._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.backgroundColor)&&(this._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=this._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=this._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=this._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))),w._core.isnull(f.near)&&(f.near=0),w._core.isnull(f.far)&&(f.far=999999999);var x=this._core.extend(I,f,!0),y={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},v=this._viewer.dataSources.add(this._cesium.GeoJsonDataSource.load(A)),w=this;v.then(function(B){w.item=B;var D=45,S=3,P=!0,R=B.entities.values;w._core.isnull(x.font_size)&&(x.font_size="30"),w._core.isnull(x.font_family)&&(x.font_family=" sans-serif"),x.font=x.font_size+"px "+x.font_family;for(var T=0;T<R.length;T++){var L=R[T];x.font=w._core.extendgl(L,f.font,x.font),x.style=parseInt(w._core.extendgl(L,f.stylet,x.stylet)),x.fillColor=w._core.extendgl(L,f.fillColor,x.fillColor),x.outlineColor=w._core.extendgl(L,f.outlineColor,x.outlineColor),x.outlineWidth=parseFloat(w._core.extendgl(L,f.outlineWidth,x.outlineWidth)),x.show=w._core.extendgl(L,f.show,x.show),x.showBackground=w._core.extendgl(L,f.showBackground,x.showBackground),x.backgroundColor=w._core.extendgl(L,f.backgroundColor,x.backgroundColor),x.backgroundPadding=w._core.extendgl(L,f.backgroundPadding,x.backgroundPadding),x.scale=parseFloat(w._core.extendgl(L,f.scale,x.scale)),x.horizontalOrigin=w._core.extendgl(L,f.horizontalOrigin,x.horizontalOrigin),x.pointHeight=parseFloat(w._core.extendgl(L,f.pointHeight,x.pointHeight)),x.text=w._core.extendgl(L,f.text,x.text);var F=parseFloat(w._core.extendgl(L,x.near)),U=parseFloat(w._core.extendgl(L,x.far)),N=new w._cesium.DistanceDisplayCondition(F,U);x.distanceDisplayCondition=N,x.text=L.properties[x.text]==null?x.text:L.properties[x.text]._value,L.billboard.color=w._cesium.Color.WHITE.withAlpha(0),L.label=new w._cesium.LabelGraphics(x);var H=w._viewer.scene.globe.ellipsoid,J=w._cesium.Cartographic.fromCartesian(L.position._value),K=w._cesium.Math.toDegrees(J.longitude),X=w._cesium.Math.toDegrees(J.latitude),j=x.pointHeight||J.height,ee=new w._cesium.Cartesian3.fromDegrees(K,X,j);L.position._value=ee}B.clustering.enabled=P,B.clustering.pixelRange=D,B.clustering.minimumClusterSize=S;for(var ie,z=new w._cesium.PinBuilder,oe=z.fromText("50+",w._cesium.Color.RED,48).toDataURL(),le=z.fromText("40+",w._cesium.Color.ORANGE,48).toDataURL(),Ae=z.fromText("30+",w._cesium.Color.YELLOW,48).toDataURL(),he=z.fromText("20+",w._cesium.Color.GREEN,48).toDataURL(),ge=z.fromText("10+",w._cesium.Color.BLUE,48).toDataURL(),de=new Array(8),T=0;T<de.length;++T)de[T]=z.fromText(""+(T+2),w._cesium.Color.VIOLET,48).toDataURL();function fe(){w._cesium.defined(ie)?(ie(),ie=void 0):ie=B.clustering.clusterEvent.addEventListener(function(W,O){O.label.show=!1,O.point.show=!1,O.billboard.show=!0,O.billboard.id=O.label.id,O.billboard.verticalOrigin=w._cesium.VerticalOrigin.BOTTOM,W.length>=50?O.billboard.image=z.fromText(W.length,w._cesium.Color.RED,48).toDataURL():W.length>=40?O.billboard.image=z.fromText(W.length,w._cesium.Color.ORANGE,48).toDataURL():W.length>=30?O.billboard.image=z.fromText(W.length,w._cesium.Color.YELLOW,48).toDataURL():W.length>=20?O.billboard.image=z.fromText(W.length,w._cesium.Color.GREEN,48).toDataURL():W.length>=10?O.billboard.image=z.fromText(W.length,w._cesium.Color.BLUE,48).toDataURL():O.billboard.image=de[W.length-2]});var Y=B.clustering.pixelRange;B.clustering.pixelRange=0,B.clustering.pixelRange=Y,C||w.setVisibility(C)}fe();var G={pixelRange:D,minimumClusterSize:S};w._cesium.knockout.track(G),typeof E=="function"&&E(ps)});var Q=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+Q);var M={id:Q,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A};return this.setTreeobj(M),this._tree.insertGroupId(M,this._core.isnull(m)?0:m),this};Rf.prototype.createPointPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)};!this._core.isnull(f)&&!this._core.isnull(f.color)&&(f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var x=this._core.extend(I,f,!0),y={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},v=this._viewer.dataSources.add(this._cesium.GeoJsonDataSource.load(A)),w=this;v.then(function(B){w.item=B;for(var D=45,S=3,P=!0,R=B.entities.values,T=0;T<R.length;T++){var L=R[T];x.color=w._core.extendgl(L,f.color,x.color),x.pixelSize=parseInt(w._core.extendgl(L,f.pixelSize,x.pixelSize)),x.outlineColor=w._core.extendgl(L,f.outlineColor,x.outlineColor),x.outlineWidth=parseFloat(w._core.extendgl(L,f.outlineWidth,x.outlineWidth)),x.show=w._core.extendgl(L,f.show,x.show),x.height=parseFloat(w._core.extendgl(L,f.height,x.height)),x.scaleByDistance=w._core.extendgl(L,f.scaleByDistance,x.scaleByDistance);var F=parseFloat(w._core.extendgl(L,x.minDistanceDisplay)),U=parseFloat(w._core.extendgl(L,x.maxDistanceDisplay)),N=new w._cesium.DistanceDisplayCondition(F,U);L.billboard.image="",x.distanceDisplayCondition=N,L.point=new w._cesium.PointGraphics(x),x.pointHeight=w._core.extendgl(L,f.pointHeight,x.pointHeight),x.pointHeight=parseFloat(x.pointHeight);var H=w._viewer.scene.globe.ellipsoid,J=w._cesium.Cartographic.fromCartesian(L.position._value),K=w._cesium.Math.toDegrees(J.longitude),X=w._cesium.Math.toDegrees(J.latitude),j=x.pointHeight||J.height,ee=new w._cesium.Cartesian3.fromDegrees(K,X,j);L.position._value=ee}B.clustering.enabled=P,B.clustering.pixelRange=D,B.clustering.minimumClusterSize=S;for(var ie,z=new w._cesium.PinBuilder,oe=z.fromText("50+",w._cesium.Color.RED,48).toDataURL(),le=z.fromText("40+",w._cesium.Color.ORANGE,48).toDataURL(),Ae=z.fromText("30+",w._cesium.Color.YELLOW,48).toDataURL(),he=z.fromText("20+",w._cesium.Color.GREEN,48).toDataURL(),ge=z.fromText("10+",w._cesium.Color.BLUE,48).toDataURL(),de=new Array(8),T=0;T<de.length;++T)de[T]=z.fromText(""+(T+2),w._cesium.Color.VIOLET,48).toDataURL();function fe(){w._cesium.defined(ie)?(ie(),ie=void 0):ie=B.clustering.clusterEvent.addEventListener(function(W,O){O.label.show=!1,O.point.show=!1,O.billboard.show=!0,O.billboard.id=O.label.id,O.billboard.verticalOrigin=w._cesium.VerticalOrigin.BOTTOM,W.length>=50?O.billboard.image=z.fromText(W.length,w._cesium.Color.RED,48).toDataURL():W.length>=40?O.billboard.image=z.fromText(W.length,w._cesium.Color.ORANGE,48).toDataURL():W.length>=30?O.billboard.image=z.fromText(W.length,w._cesium.Color.YELLOW,48).toDataURL():W.length>=20?O.billboard.image=z.fromText(W.length,w._cesium.Color.GREEN,48).toDataURL():W.length>=10?O.billboard.image=z.fromText(W.length,w._cesium.Color.BLUE,48).toDataURL():O.billboard.image=de[W.length-2]});var Y=B.clustering.pixelRange;B.clustering.pixelRange=0,B.clustering.pixelRange=Y,C||w.setVisibility(C)}fe();var G={pixelRange:D,minimumClusterSize:S};w._cesium.knockout.track(G),typeof E=="function"&&E(ps)});var Q=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+Q);var M={id:Q,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A};return this.setTreeobj(M),this._tree.insertGroupId(M,this._core.isnull(m)?0:m),this};Rf.prototype._cameraMoveEndHandler=function(){var o=this._viewer.camera.getMagnitude();if(o<this.gd){if(this.sj){this._viewer.scene.primitives.remove(this.labelCollections),this.labelCollections=new this._cesium.LabelCollection;for(var A=0;A<this.labelCollections1.length;A++)this.labelCollections.add(this.labelCollections1[A]);this._viewer.scene.primitives.add(this.labelCollections),this.sj=!1}}else{this._viewer.scene.primitives.remove(this.labelCollections);for(var f=new this._cesium.BillboardCollection,A=0;A<this.labelCollections2.length;A++)this.BillboardCollections.add(this.labelCollections2[A]);this._viewer.scene.primitives.add(this.BillboardCollections),this.sj=!0}};Rf.prototype.createLabelpolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=A,x=this._viewer.scene.primitives;this._cameraMoveEndHandler=this._cameraMoveEndHandler.bind(this),this._viewer.camera.moveEnd.addEventListener(this._cameraMoveEndHandler),this.gd=f.height;for(var y=new this._cesium.BillboardCollection,v={},w=[],Q=0;Q<I.length;Q++){var M=new this._cesium.Cartesian3.fromDegrees(I[Q].lng,I[Q].lat,100),B={position:M,text:I[Q].name};this.labelCollections1.push(B);var D=I[Q];if(!v[D[f.adminname]])w.push({adminname:D[f.adminname],name:D.name,showBackground:!0,lat:D.lat,lng:D.lng,data:[D]}),v[D[f.adminname]]=D;else for(var S=0;S<w.length;S++){var P=w[S];if(P.adminname==D[f.adminname]){P.data.push(D);break}}}for(var Q=0;Q<w.length;Q++){var M=new this._cesium.Cartesian3.fromDegrees(w[Q].lng,w[Q].lat,100),B={position:M,image:pinBuilder.fromText(w[Q].data.length+"",this._cesium.Color.BLACK,48).toDataURL()};this.labelCollections2.push(B),this.BillboardCollections.add(B)}this._viewer.scene.primitives.add(this.BillboardCollections)};Rf.prototype.createLabelpolymerizationGeoJsonFeatureLayers=function(o,A,f,m,C,E){var I={height:0,material:this._cesium.Color.WHITE,size:50,fill:this._cesium.Color.RED},x={url:A.url,upperLevelLimit:21,lowerLevelLimit:0,minLevel1:A.minLevel1,minLevel3:A.minLevel3,rectangle:this._cesium.Rectangle.fromDegrees(118.74324788700017,32.036708147800084,118.7994917630001,32.07298490959994),Cesium:this._cesium,output:A.output,resultmode:A.resultmode,uid:A.uid,st:A.st,words:A.words,area:A.area,callback:A.callback};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):/^http/.test(f.material)||(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.fill)&&(f.fill.toString().charAt(0)=="["&&f.fill.toString().charAt(f.fill.length-1)=="]"||(this._core.isHtmlColor(f.fill)?f.fill=this._color.colorFromHtmlColor(f.fill):/^http/.test(f.fill)||(/^rgb/.test(f.fill)&&(f.fill=this._color.rgbaStringToRgbaObj(f.fill)),f.fill.r>1&&(f.fill.r=f.fill.r/255),f.fill.g>1&&(f.fill.g=f.fill.g/255),f.fill.b>1&&(f.fill.b=f.fill.b/255),f.fill.a>1&&(f.fill.a=f.fill.a/255),f.fill=this._color.createColor(f.fill.r,f.fill.g,f.fill.b,f.fill.a))));var y=this._core.extend(I,f,!0),v=this,w=new Bnt(this._viewer,this._cesium,x);this._Provider=w,w._loadTile=function(M,B){v._viewer.scene.primitives.remove(v.labelCollections);var D=[];B==""?v.labelCollections=new v._cesium.PointPrimitiveCollection:v.labelCollections=new v._cesium.BillboardCollection;var S=new v._cesium.PinBuilder;return M.result.features.forEach(function(P){var R={};if(P.lng!=null){var T=new v._cesium.Cartesian3.fromDegrees(P.lng,P.lat,y.height);B==""?R={id:P,color:y.material,position:T}:R={position:T,image:S.fromText(P.count+"",y.fill,y.size).toDataURL(),verticalOrigin:v._cesium.VerticalOrigin.BOTTOM},v.labelCollections.add(R)}}),v._viewer.scene.primitives.add(v.labelCollections),v.item=v.labelCollections,v.labelCollections},w.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Rf.prototype.createLabelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},x=this,y=f.material;!x._core.isnull(f)&&!x._core.isnull(f.fillColor)&&(/^\[/.test(f.fillColor)&&f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||(x._core.isHtmlColor(f.fillColor)?f.fillColor=x._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=x._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=x._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a)))),!x._core.isnull(f)&&!x._core.isnull(f.material)&&(/^\[/.test(f.material)&&f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(x._core.isHtmlColor(f.material)?f.material=x._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=x._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=x._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!x._core.isnull(f)&&!x._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(x._core.isHtmlColor(f.outlineColor)?f.outlineColor=x._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=x._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=x._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!x._core.isnull(f)&&!x._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(x._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=x._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=x._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=x._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var v=new yu(this._viewer,this._cesium,I);this._Provider=v,v._loadTile=function(Q){var M={Name:"",text:"",font:" 30px sans-serif",style:x._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:x._cesium.Color.WHITE,outlineColor:x._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new x._cesium.Color(.165,.165,.165,.8),backgroundPadding:new x._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:x._cesium.HorizontalOrigin.CENTER,verticalOrigin:x._cesium.VerticalOrigin.CENTER,eyeOffset:x._cesium.Cartesian3.ZERO,pixelOffset:x._cesium.Cartesian2.ZERO,heightReference:x._cesium.HeightReference.NONE,scaleByDistance:new x._cesium.NearFarScalar(0,0,1,1),maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},B=x._core.extend(M,f,!0);x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var D=parseFloat(f.near),S=parseFloat(f.far),P=new x._cesium.DistanceDisplayCondition(D,S);B.distanceDisplayCondition=P,x._core.isnull(f.font_size)&&(f.font_size="30px"),x._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),B.font=parseFloat(f.font_size)+"px "+f.font_family;var R;return B.image!=null&&B.image!=null?R=new x._cesium.BillboardCollection:R=new x._cesium.LabelCollection,Q.features.forEach(function(T){B.id=T;var L=B.pointHeight;if(/^\[/.test(L)&&/\]$/.test(L)){var F=L.replace(/\[/,"").replace(/\]/,"");L=parseFloat(T.properties[F])}else L!=null&&L!=""?L=parseFloat(L):T.properties.height!=null&&(L=parseFloat(T.properties.height));if(B.position=new x._cesium.Cartesian3.fromDegrees(T.geometry.coordinates[0],T.geometry.coordinates[1],L),/^\[/.test(f.fillColor)&&/\]$/.test(f.fillColor)){var U=f.fillColor.replace(/\[/,"").replace(/\]/,"");B.fillColor=T.properties[U],x._core.isHtmlColor(B.fillColor)?B.fillColor=x._color.colorFromHtmlColor(B.fillColor):(/^rgb/.test(B.fillColor)&&(B.fillColor=x._color.rgbaStringToRgbaObj(B.fillColor)),B.fillColor.r>1&&(B.fillColor.r=B.fillColor.r/255),B.fillColor.g>1&&(B.fillColor.g=B.fillColor.g/255),B.fillColor.b>1&&(B.fillColor.b=B.fillColor.b/255),B.fillColor.a>1&&(B.fillColor.a=B.fillColor.a/255),B.fillColor=x._color.createColor(B.fillColor.r,B.fillColor.g,B.fillColor.b,B.fillColor.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var U=f.outlineColor.replace(/\[/,"").replace(/\]/,"");B.outlineColor=T.properties[U],x._core.isHtmlColor(B.outlineColor)?B.outlineColor=x._color.colorFromHtmlColor(B.outlineColor):(/^rgb/.test(B.outlineColor)&&(B.outlineColor=x._color.rgbaStringToRgbaObj(B.outlineColor)),B.outlineColor.r>1&&(B.outlineColor.r=B.outlineColor.r/255),B.outlineColor.g>1&&(B.outlineColor.g=B.outlineColor.g/255),B.outlineColor.b>1&&(B.outlineColor.b=B.outlineColor.b/255),B.outlineColor.a>1&&(B.outlineColor.a=B.outlineColor.a/255),B.outlineColor=x._color.createColor(B.outlineColor.r,B.outlineColor.g,B.outlineColor.b,B.outlineColor.a))}var N="fillColor:"+B.fillColor.red*255+","+B.fillColor.green*255+","+B.fillColor.blue*255+";outlineColor:"+B.outlineColor.red*255+","+B.outlineColor.green*255+","+B.outlineColor.blue*255;if(x.Legend.push(N),/^\[/.test(f.text)&&/\]$/.test(f.text)){var U=f.text.replace(/\[/,"").replace(/\]/,"");B.text=T.properties[U]}R.add(B)}),R},f&&f.time&&(v.availability=new x._cesium.TimeIntervalCollection([new x._cesium.TimeInterval({start:f.time.start?x._cesium.JulianDate.fromDate(new Date(f.time.start)):x._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?x._cesium.JulianDate.fromDate(new Date(f.time.end)):x._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=v._primitiveCollection,v.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A.url,style:f};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Rf.prototype.createLabelRichtextGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){A==null&&console.log("geojson is required");var I=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(I);var x=this,y=new this._cesium.PointPrimitiveCollection;x.optiontext=[],I.then(function(w){x.item=w;for(var Q=w.entities.values,M=0;M<Q.length;M++){var B=Q[M],D;if(/^\[/.test(f.text)&&/\]$/.test(f.text)){var S=f.text.replace(/\[/,"").replace(/\]/,"");D=B.properties[S]._value}else D=f.text;x.optiontext.push(D),B.billboard=void 0;var P=x._viewer.scene.globe.ellipsoid,R=x._cesium.Cartographic.fromCartesian(B.position._value),T=x._cesium.Math.toDegrees(R.longitude),L=x._cesium.Math.toDegrees(R.latitude),F=f.pointHeight||R.height,U=[T,L,F],N=x._core.getuid(),H;U instanceof Array?U.length===2?H=x._cesium.Cartesian3.fromDegrees(U[0],U[1]):U.length===3&&(H=x._cesium.Cartesian3.fromDegrees(U[0],U[1],U[2])):U.z?H=x._cesium.Cartesian3.fromDegrees(U.x,U.y,U.z):H=x._cesium.Cartesian3.fromDegrees(U.x,U.y);var J="DivPoint"+N;y.add({id:J,position:H,color:x._cesium.Color.YELLOW,description:f.text})}x.item=y,x.pointPrimitive=x._viewer.scene.primitives.add(y);var K=!0,X,j,ee,ie;x.pointPrimitive.update=function(){for(var z=0,oe,le;z<x.pointPrimitive.length;z++){if(oe=x.pointPrimitive.get(z),ie=oe.position,ee=x._viewer.scene.cartesianToCanvasCoordinates(ie),!ee)return;j=document.getElementById(oe.id),j||(le='<div id="'+oe.id+'" style="position: absolute; width: 200px; height: 134px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+kr.divpoint1+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)">`+x.optiontext[z]+`</div> </div>`,$(".cesium-viewer").append(le),j=document.getElementById(oe.id)),oe.description?j.style.transform="matrix(1, 0, 0, 1, "+ee.x+", "+(ee.y-157)+")":j.style.transform="matrix(1, 0, 0, 1, "+ee.x+", "+(ee.y-134)+")"}K&&(C||x.setVisibility(!1),K=!1)},typeof E=="function"&&E(w)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u5BCC\u6587\u672C");var v={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"DivPoint",item:this,url:A,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};Rf.prototype.createLabelRichtextGeoJsonFeatureLayerProviderLayer=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},x=this,y=new yu(this._viewer,this._cesium,I);this._Provider=y,y._loadTile=function(w){var Q=new x._cesium.PointPrimitiveCollection;x.optiontext=[],w.features.forEach(function(R){var T=options.pointHeight;if(R.properties.height!=null&&(T=parseFloat(R.properties.height)+T),/^\[/.test(options.pointHeight)&&/\]$/.test(options.pointHeight)){var L=options.pointHeight.replace(/\[/,"").replace(/\]/,"");T=parseFloat(R.properties[L])}if(f.position=new x._cesium.Cartesian3.fromDegrees(R.geometry.coordinates[0],R.geometry.coordinates[1],T),/^\[/.test(f.text)&&/\]$/.test(f.text)){var F=f.text.replace(/\[/,"").replace(/\]/,"");f.text=R.properties[F]}var U=x._core.getuid(),N="DivPoint"+U;Q.add({id:N,position:Cartesian3,color:x._cesium.Color.YELLOW,description:f.text}),x.optiontext.push(option.text)}),x.pointPrimitive=x._viewer.scene.primitives.add(Q);var M,B,D,S,P=!0;return x.pointPrimitive.update=function(){for(var R=0,T,L;R<x.pointPrimitive.length;R++){if(T=x.pointPrimitive.get(R),S=T.position,D=x._viewer.scene.cartesianToCanvasCoordinates(S),!D)return;B=document.getElementById(T.id),B||(L='<div id="'+T.id+'" style="position: absolute; width: 200px; height: 134px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+kr.divpoint1+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)">`+x.optiontext[R]+`</div> </div>`,$(".cesium-viewer").append(L),B=document.getElementById(T.id)),T.description?B.style.transform="matrix(1, 0, 0, 1, "+D.x+", "+(D.y-157)+")":B.style.transform="matrix(1, 0, 0, 1, "+D.x+", "+(D.y-134)+")"}P&&(C||x.setVisibility(!1),P=!1)},x.item=Q,""},y.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u5BCC\u6587\u672C"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"DivPoint",item:this,url:A.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Rf.prototype.createModelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium},x=this,y=f.material;!x._core.isnull(f)&&!x._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(x._core.isHtmlColor(f.color)?f.color=x._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=x._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=x._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var v=new yu(this._viewer,this._cesium,I);this._Provider=v,v._loadTile=function(Q){var M={url:"",modelMatrix:x._cesium.Transforms.eastNorthUpToFixedFrame(origin),color:x._cesium.Color.DARKSALMON,scale:2},B=x._core.extend(M,f,!0);x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var D=parseFloat(f.near),S=parseFloat(f.far),P=new x._cesium.DistanceDisplayCondition(D,S);B.distanceDisplayCondition=P;var R=new x._cesium.PrimitiveCollection;return Q.features.forEach(function(T){B.id=T;var L=B.height;if(T.properties.height!=null&&(L=parseFloat(T.properties.height)),/^\[/.test(B.height)&&/\]$/.test(B.height)){var F=B.height.replace(/\[/,"").replace(/\]/,"");L=parseFloat(T.properties[F])}B.modelMatrix=x._cesium.Transforms.eastNorthUpToFixedFrame(x._cesium.Cartesian3.fromDegrees(T.geometry.coordinates[0],T.geometry.coordinates[1],L));var U=x._cesium.Model.fromGltf({id:T,url:B.uri,color:B.color,modelMatrix:B.modelMatrix,scale:B.scale,heightReference:parseInt(B.heightReference),distanceDisplayCondition:B.distanceDisplayCondition});R.add(U)}),R},this.item=v._primitiveCollection,v.addTo(this._viewer),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy,C||this.setVisibility(!1);var w={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"modelLayer",item:this,url:A.url,style:f};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Rf.prototype.createPointGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},x=this;!x._core.isnull(f)&&!x._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(x._core.isHtmlColor(f.color)?f.color=x._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=x._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=x._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!x._core.isnull(f)&&!x._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(x._core.isHtmlColor(f.outlineColor)?f.outlineColor=x._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=x._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=x._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var y=new yu(this._viewer,this._cesium,I);this._Provider=y,y._loadTile=function(w){var Q={Name:"",text:"",font:" 30px sans-serif",pixelSize:10,style:x._cesium.LabelStyle.OUTLINE,fillColor:x._cesium.Color.WHITE,outlineColor:x._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new x._cesium.Color(.165,.165,.165,.8),backgroundPadding:new x._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:x._cesium.HorizontalOrigin.CENTER,verticalOrigin:x._cesium.VerticalOrigin.CENTER,eyeOffset:x._cesium.Cartesian3.ZERO,pixelOffset:x._cesium.Cartesian2.ZERO,heightReference:x._cesium.HeightReference.NONE,scaleByDistance:new x._cesium.NearFarScalar(0,0,1,1)},M=f.material;!x._core.isnull(f)&&!x._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(x._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=x._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=x._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=x._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var B=x._core.extend(Q,f,!0);x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var D=parseFloat(f.near),S=parseFloat(f.far),P=new x._cesium.DistanceDisplayCondition(D,S);B.distanceDisplayCondition=P,x._core.isnull(f.font_size)&&(f.font_size="30px"),x._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),B.font=parseFloat(f.font_size)+"px "+f.font_family;var R=new x._cesium.PointPrimitiveCollection;return w.features.forEach(function(T){B.id=T;var L=0;if(/^\[/.test(B.pointHeight)&&/\]$/.test(B.pointHeight)){var F=B.pointHeight.replace(/\[/,"").replace(/\]/,"");L=parseFloat(T.properties[F])}else B.pointHeight!==void 0&&B.pointHeight!==""?L=parseFloat(B.pointHeight):T.properties.height!=null&&(L=parseFloat(T.properties.height));if(/^\[/.test(f.color)&&/\]$/.test(f.color)){var U=f.color.replace(/\[/,"").replace(/\]/,"");B.color=T.properties[U],x._core.isHtmlColor(B.color)?B.color=x._color.colorFromHtmlColor(B.color):(/^rgb/.test(B.color)&&(B.color=x._color.rgbaStringToRgbaObj(B.color)),B.color.r>1&&(B.color.r=B.color.r/255),B.color.g>1&&(B.color.g=B.color.g/255),B.color.b>1&&(B.color.b=B.color.b/255),B.color.a>1&&(B.color.a=B.color.a/255),B.color=x._color.createColor(B.color.r,B.color.g,B.color.b,B.color.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var U=f.outlineColor.replace(/\[/,"").replace(/\]/,"");B.outlineColor=T.properties[U],x._core.isHtmlColor(B.outlineColor)?B.outlineColor=x._color.colorFromHtmlColor(B.outlineColor):(/^rgb/.test(B.outlineColor)&&(B.outlineColor=x._color.rgbaStringToRgbaObj(B.outlineColor)),B.outlineColor.r>1&&(B.outlineColor.r=B.outlineColor.r/255),B.outlineColor.g>1&&(B.outlineColor.g=B.outlineColor.g/255),B.outlineColor.b>1&&(B.outlineColor.b=B.outlineColor.b/255),B.outlineColor.a>1&&(B.outlineColor.a=B.outlineColor.a/255),B.outlineColor=x._color.createColor(B.outlineColor.r,B.outlineColor.g,B.outlineColor.b,B.outlineColor.a))}B.position=new x._cesium.Cartesian3.fromDegrees(T.geometry.coordinates[0],T.geometry.coordinates[1],L),B.text=T.properties.name;var N={show:B.show,position:B.position,pixelSize:B.pixelSize,color:B.color,outlineColor:B.outlineColor,outlineWidth:B.outlineWidth,id:T},H="color:"+B.color.red*255+","+B.color.green*255+","+B.color.blue*255+";outlineColor:"+B.outlineColor.red*255+","+B.outlineColor.green*255+","+B.outlineColor.blue*255;x.Legend.push(H),R.add(N)}),R},this.item=y._primitiveCollection,y.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Rf.prototype.createPointGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},x=this;!x._core.isnull(f)&&!x._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(x._core.isHtmlColor(f.color)?f.color=x._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=x._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=x._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!x._core.isnull(f)&&!x._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(x._core.isHtmlColor(f.outlineColor)?f.outlineColor=x._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=x._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=x._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var y=new yu(this._viewer,this._cesium,I);this._Provider=y,y._loadTile=function(w){var Q={Name:"",text:"",font:" 30px sans-serif",pixelSize:10,style:x._cesium.LabelStyle.OUTLINE,fillColor:x._cesium.Color.WHITE,outlineColor:x._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new x._cesium.Color(.165,.165,.165,.8),backgroundPadding:new x._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:x._cesium.HorizontalOrigin.CENTER,verticalOrigin:x._cesium.VerticalOrigin.CENTER,eyeOffset:x._cesium.Cartesian3.ZERO,pixelOffset:x._cesium.Cartesian2.ZERO,heightReference:x._cesium.HeightReference.NONE,scaleByDistance:new x._cesium.NearFarScalar(0,0,1,1)},M=f.material;!x._core.isnull(f)&&!x._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(x._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=x._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=x._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=x._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var B=x._core.extend(Q,f,!0);x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var D=parseFloat(f.near),S=parseFloat(f.far),P=new x._cesium.DistanceDisplayCondition(D,S);B.distanceDisplayCondition=P,x._core.isnull(f.font_size)&&(f.font_size="30px"),x._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),B.font=parseFloat(f.font_size)+"px "+f.font_family;var R=new x._cesium.PointPrimitiveCollection;return w.features.forEach(function(T){B.id=T;var L=0;if(/^\[/.test(B.pointHeight)&&/\]$/.test(B.pointHeight)){var F=B.pointHeight.replace(/\[/,"").replace(/\]/,"");L=parseFloat(T.properties[F])}else B.pointHeight!==void 0&&B.pointHeight!==""?L=parseFloat(B.pointHeight):T.properties.height!=null&&(L=parseFloat(T.properties.height));if(/^\[/.test(f.color)&&/\]$/.test(f.color)){var U=f.color.replace(/\[/,"").replace(/\]/,"");B.color=T.properties[U],x._core.isHtmlColor(B.color)?B.color=x._color.colorFromHtmlColor(B.color):(/^rgb/.test(B.color)&&(B.color=x._color.rgbaStringToRgbaObj(B.color)),B.color.r>1&&(B.color.r=B.color.r/255),B.color.g>1&&(B.color.g=B.color.g/255),B.color.b>1&&(B.color.b=B.color.b/255),B.color.a>1&&(B.color.a=B.color.a/255),B.color=x._color.createColor(B.color.r,B.color.g,B.color.b,B.color.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var U=f.outlineColor.replace(/\[/,"").replace(/\]/,"");B.outlineColor=T.properties[U],x._core.isHtmlColor(B.outlineColor)?B.outlineColor=x._color.colorFromHtmlColor(B.outlineColor):(/^rgb/.test(B.outlineColor)&&(B.outlineColor=x._color.rgbaStringToRgbaObj(B.outlineColor)),B.outlineColor.r>1&&(B.outlineColor.r=B.outlineColor.r/255),B.outlineColor.g>1&&(B.outlineColor.g=B.outlineColor.g/255),B.outlineColor.b>1&&(B.outlineColor.b=B.outlineColor.b/255),B.outlineColor.a>1&&(B.outlineColor.a=B.outlineColor.a/255),B.outlineColor=x._color.createColor(B.outlineColor.r,B.outlineColor.g,B.outlineColor.b,B.outlineColor.a))}B.position=new x._cesium.Cartesian3.fromDegrees(T.geometry.coordinates[0],T.geometry.coordinates[1],L),B.text=T.properties.name;var N={show:B.show,position:B.position,pixelSize:B.pixelSize,color:B.color,outlineColor:B.outlineColor,outlineWidth:B.outlineWidth,id:T},H="color:"+B.color.red*255+","+B.color.green*255+","+B.color.blue*255+";outlineColor:"+B.outlineColor.red*255+","+B.outlineColor.green*255+","+B.outlineColor.blue*255;x.Legend.push(H),R.add(N)}),R},this.item=y._primitiveCollection,y.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Rf.prototype.setTreeobj=function(o){this.treeobj=o};Rf.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};Rf.prototype.deleteObject=function(){if(this._Provider!=null&&this._Provider.setStatus(!1),this.items!=null&&this.items!=null&&this.items.length>0)for(var o=0;o<this.items.length;o++)this._viewer.scene.primitives.remove(this.items[o]);else this._viewer.scene.primitives.remove(this.item);if(this.treeobj.type==="DivPoint"&&this.item&&this.item._pointPrimitives!=null&&this.item._pointPrimitives!=null)for(var o=0;o<this.item._pointPrimitives.length;o++){var A=document.getElementById(this.item._pointPrimitives[o].id);A&&A.remove()}try{this._Provider.remove()}catch{}};Rf.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};Rf.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};Rf.prototype.setVisibility=function(o){if(this.treeobj!=null&&this.treeobj.type==="DivPoint"&&this.item&&this.item._pointPrimitives!=null&&this.item._pointPrimitives!=null)for(var A=0;A<this.item._pointPrimitives.length;A++){var f=document.getElementById(this.item._pointPrimitives[A].id);f&&(f.style.display=o?"block":"none")}this.item!=null&&(this.item.show=o),this._Provider&&this._Provider.setStatus(!o)};Object.defineProperties(Rf.prototype,{labelText:{set:Ii.debounce(function(o){var A=o;if(!this._core.isnull(o)){var f=this.item.entities&&this.item.entities.values;if(f&&f.length>0)for(var m=0;m<f.length;m++)if(/^\[/.test(o)&&(A=o.replace(/\[/,"").replace(/\]/,""),A=f[m].properties[A]._value),f[m].label){f[m].label.text=A;try{f[m].point.show=!1}catch{}}else{try{f[m].point.show=!1}catch{}f[m].label=new this._cesium.LabelGraphics({text:A,font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})}}},500)},labelStyles:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.style=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.style}},labelFont:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m=16;if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[0]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=m+"px "+o}}},500)},labelFontSize1:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m="sans-serif";if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[1]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=o+"px "+m}}},500)},labelFontSize:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.font=o+"px sans-serif"}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return parseFloat(o[0].label.font)}},labelFillColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.fillColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.fillColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelOutlineColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.outlineColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},labelOutlineWidth:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.outlineWidth=o}},200),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineWidth;return A?A._value:void 0}}},labelBackgroundColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.backgroundColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.backgroundColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelBackground:{set:Ii.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.showBackground=o},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.background}},labelScale:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.scale;return A?A._value:void 0}}},labelHorizontalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.horizontalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.horizontalOrigin;return A?A._value:void 0}}},labelVerticalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.verticalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.verticalOrigin;return A?A._value:void 0}}},labelHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.heightReference;return A?A._value:void 0}}},labelDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,parseInt(o)),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(f,1,parseInt(o),0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},labelDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(parseInt(o),f),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(parseInt(o),1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.near:0;return A}}},labelHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}},labelShow:{set:Ii.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].label&&o?(A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].label=new this._cesium.LabelGraphics({text:"label",font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})):(A[f].label&&(A[f].label.show=o),A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.show}},modelShow:{set:Ii.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o),!A[f].model&&o?A[f].model=new this._cesium.ModelGraphics({show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE}):(A[f].model&&(A[f].model.show=o),A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.show}},modelUri:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0)for(var f=0;f<A.length;f++)if(A[f].model)A[f].model.uri=o;else{if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].model=new this._cesium.ModelGraphics({uri:o,show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE})}}},500)},modelScale:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){o=parseFloat(o);var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].model.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.scale;return A?A._value:void 0}}},modelShadows:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.shadows=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.shadows}},modelHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.heightReference;return A?A._value:void 0}}},modelDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE}},modelDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.near:0;return A}}},modelColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelLightColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.lightColor=o}},100),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.lightColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}},pointColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointShow:{set:Ii.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].point&&o?(A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].point=new this._cesium.PointGraphics({color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0})):(A[f].point&&(A[f].point.show=o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point)return o[0].point.show}},pointPixelSize:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.pixelSize=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.pixelSize;return A?A._value:void 0}}},pointOutlineColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.outlineColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointOutlineWidth:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.outlineWidth=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineWidth;return A?A._value:void 0}}},pointHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.heightReference;return A?A._value:void 0}}},pointDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},pointDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.near:0;return A}}},pointHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}},billboardShow:{set:Ii.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].billboard&&o?(A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard=new this._cesium.BillboardGraphics({show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})):(A[f].billboard&&(A[f].billboard.show=o),A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.show}},billboardImage:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0)for(var f=0;f<A.length;f++){if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].billboard?A[f].billboard.image=o:A[f].billboard=new this._cesium.BillboardGraphics({image:o,show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})}}},500)},billboardScale:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.scale;return A?A._value:void 0}}},billboardHorizontalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.horizontalOrigin=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.horizontalOrigin}},billboardVerticalOrigin:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.verticalOrigin=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.verticalOrigin}},billboardWidth:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.width=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.width;return A?A._value:void 0}}},billboardHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.height=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.height;return A?A._value:void 0}}},billboardColor:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},billboardHeightReference:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].billboard.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].model){var A=o[0].billboard.heightReference;return A?A._value:void 0}}},billboardDistanceDisplayMaxCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},billboardDistanceDisplayMinCondition:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.near:0;return A}}},billboardPHeight:{set:Ii.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),I=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=I}}},500),get:function(){return 0}}});function Lf(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke}Lf.prototype.createEllipsoid=function(o,A,f,m){var C={radii:new this._cesium.Cartesian3(60,60,60),material:this._cesium.Color.YELLOW},E=this._core.extend(C,A,!0);this.item=this._viewer.entities.add({name:f,position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[1]),ellipsoid:E});var I={id:this.item.id,name:f,pId:this._core.isnull(m)?0:m,type:"ellipsoid",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(m)?0:m),this};Lf.prototype.getstyles=function(){var o={};return o.show=this.item.ellipsoid.show?this.item.ellipsoid.show._value:!0,o.radii=this.item.ellipsoid.radii?this.item.ellipsoid.radii.getValue():void 0,o.innerRadii=this.item.ellipsoid.innerRadii?this.item.ellipsoid.innerRadii.getValue():void 0,o.minimumClock=this.item.ellipsoid.minimumClock?this.item.ellipsoid.minimumClock._value:void 0,o.maximumClock=this.item.ellipsoid.maximumClock?this.item.ellipsoid.maximumClock._value:void 0,o.minimumCone=this.item.ellipsoid.minimumCone?this.item.ellipsoid.minimumCone._value:void 0,o.maximumCone=this.item.ellipsoid.maximumCone?this.item.ellipsoid.maximumCone._value:void 0,o.heightReference=this.item.ellipsoid.heightReference&&this.item.ellipsoid.heightReference._value?this.item.ellipsoid.heightReference._value:null,o.fill=this.item.ellipsoid.fill?this.item.ellipsoid.fill._value:void 0,o.material={},o.material.color=this.item.ellipsoid.material&&this.item.ellipsoid.material.color&&this.item.ellipsoid.material.color._value?"rgba"+this.item.ellipsoid.material.color.toString():null,o.material.image=this.item.ellipsoid.material&&this.item.ellipsoid.material.image?this.item.ellipsoid.material.image._value:void 0,o.material.repeat=this.item.ellipsoid.material&&this.item.ellipsoid.material.repeat&&this.item.ellipsoid.material.repeat._value?this.item.ellipsoid.material.repeat._value:null,o.outline=this.item.ellipsoid.outline?this.item.ellipsoid.outline._value:void 0,o.outlineWidth=this.item.ellipsoid.outlineWidth&&this.item.ellipsoid.outlineWidth._value?this.item.ellipsoid.outlineWidth._value:void 0,o.outlineColor=this.item.ellipsoid.outlineColor&&this.item.ellipsoid.outlineColor._value?"rgba"+this.item.ellipsoid.outlineColor.toString():null,o.stackPartitions=this.item.ellipsoid.stackPartitions&&this.item.ellipsoid.stackPartitions._value?this.item.ellipsoid.stackPartitions._value:void 0,o.slicePartitions=this.item.ellipsoid.slicePartitions&&this.item.ellipsoid.slicePartitions._value?this.item.ellipsoid.slicePartitions._value:void 0,o.subdivisions=this.item.ellipsoid.subdivisions&&this.item.ellipsoid.subdivisions._value?this.item.ellipsoid.subdivisions._value:void 0,o.near=this.item.ellipsoid.distanceDisplayCondition?this.item.ellipsoid.distanceDisplayCondition._value.near:void 0,o.far=this.item.ellipsoid.distanceDisplayCondition?this.item.ellipsoid.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};Lf.prototype.executeEllipsoid=function(o){var A=this;A.shape={tempPoints:[],button:0,position:{}};var f=new this._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas),m=[],C=void 0,E=[];return f.setInputAction(function(I){var x=A._viewer.scene.camera.pickEllipsoid(I.position,A._viewer.scene.globe.ellipsoid),y=A._cesium.Cartographic.fromCartesian(x),v=A._cesium.Math.toDegrees(y.longitude),w=A._cesium.Math.toDegrees(y.latitude);E.push({lon:v,lat:w});var Q={polyline:{},positions:[],distance:[]};if(A.shape.button==0)m.push(x.clone()),m.push(x),A.shape.position=x,A.ellipsoid=A._viewer.entities.add({name:"",position:A._cesium.Cartesian3.fromDegrees(E[0].lon,E[0].lat),ellipsoid:{radii:new A._cesium.Cartesian3(67500,67500,67500),material:A._cesium.Color.fromRandom({alpha:1})}}),A.item=A.ellipsoid;else if(A.shape.button==1){var M=Xh(E[0].lat,E[0].lon,E[1].lat,E[1].lon);A.item.ellipsoid.radii=new A._cesium.Cartesian3(M,M,M),f.destroy()}var B=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(B=Ke.selectedItem.id);var D=A._core.getuid(),S={id:D,name:"\u65B0\u5EFA\u7403"+D,pId:A._core.isnull(B)?0:B,type:"ellipsoid",item:A};A.setTreeobj(S),Ke.insertGroupId(S,A._core.isnull(B)?0:B),typeof o=="function"&&o(Q),A.shape.button=A.shape.button+1},this._cesium.ScreenSpaceEventType.LEFT_CLICK),f.setInputAction(function(I){if(A.shape.button==1){var x=A._viewer.camera.pickEllipsoid(I.endPosition,A._viewer.scene.globe.ellipsoid);if(x){var y=A._cesium.Cartographic.fromCartesian(x),v=A._cesium.Math.toDegrees(y.longitude),w=A._cesium.Math.toDegrees(y.latitude),Q=Math.ceil(A._viewer.camera.positionCartographic.height);E.push({lon:v,lat:w});var M=Xh(E[0].lat,E[0].lon,E[E.length-1].lat,E[E.length-1].lon);A.item.ellipsoid.radii=new A._cesium.Cartesian3(M,M,M)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};Lf.prototype.setMaterialColor=function(o){try{this.item._ellipsoid.material.color=new hn(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Lf.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.item.ellipsoid.radii==null?void 0:this.item.ellipsoid.radii.getValue(),f=this.item.ellipsoid.fill==null?void 0:this.item.ellipsoid.fill.getValue(),m=this.item.ellipsoid.material;m!=null&&(m={color:m.color._value==null?void 0:"rgba("+m.color._value.red+","+m.color._value.green+","+m.color._value.blue+","+m.color._value.alpha+")",image:m.image==null?void 0:m.image._value,diffusemap:m.diffusemap==null?void 0:m.diffusemap._value,alphamap:m.alphamap==null?void 0:m.alphamap._value});var C=this.item.ellipsoid.outline==null?void 0:this.item.ellipsoid.outline._value,E=this.item.ellipsoid.outlineColor==null?void 0:"rgba("+this.item.ellipsoid.outlineColor._value.red+","+this.item.ellipsoid.outlineColor._value.green+","+this.item.ellipsoid.outlineColor._value.blue+","+this.item.ellipsoid.outlineColor._value.alpha+")",I=this.item.ellipsoid.outlineWidth==null?void 0:this.item.ellipsoid.outlineWidth.getValue(),x=this.item.ellipsoid.distanceDisplayCondition,y=x?._value.near,v=x?._value.far,w=this._cesium.Cartographic.fromCartesian(this.item.position._value),Q=this._cesium.Math.toDegrees(w.longitude),M=this._cesium.Math.toDegrees(w.latitude),B=this._cesium.Math.toDegrees(w.height);return{type:"ellipsoid",position:{x:Q,y:M,z:B},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,radii:A,fill:f,material:m,outline:C,outlineColor:E,outlineWidth:I,near:y,far:v}}};Lf.prototype.setTreeobj=function(o){this.treeobj=o};Lf.prototype.setVisibility=function(o){this.item.show=o};Lf.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};Lf.prototype.setHeightType=function(o){try{o==1?this.item._ellipsoid.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._ellipsoid.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._ellipsoid.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};Lf.prototype.setEllipsoidAlpha=function(o){try{this.item._ellipsoid.material.color._value.alpha=o,this.item._ellipsoid.show=!0}catch(A){console.log(A)}return this};Lf.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._ellipsoid.distanceDisplayCondition=f}catch(m){console.log(m)}return this};Lf.prototype.setEllipsoidImage=function(o){try{this.item._ellipsoid.material=new this._cesium.ImageMaterialProperty({image:o})}catch(A){console.log(A)}return this};Lf.prototype.setEllipsoidRepeat=function(o,A){try{this.item._ellipsoid.material.repeat=new this._cesium.Cartesian2(o,A)}catch(f){console.log(f)}return this};Lf.prototype.setMaterial=function(o){try{this.item._ellipsoid.show=o}catch(A){console.log(A)}return this};Lf.prototype.setRadii=function(o){try{this.item._ellipsoid.radii=new this._cesium.Cartesian3(o,o,o)}catch(A){console.log(A)}return this};Lf.prototype.setItem=function(o){this.item=o};Lf.prototype.CreateSphere=function(o,A,f,m,C,E,I,x){this._postion=o;var y={radii:this._cesium.defaultValue(new this._cesium.Cartesian3(A,A,A),new this._cesium.Cartesian3(60,60,60)),material:this._cesium.Color.RED,outline:!1,outlineColor:void 0};m&&m!==""&&(y.outlineColor=new hn(this._viewer,this._cesium).colorFromHtmlColor(m),y.outline=!0),C&&C!==""&&(y.material=new hn(this._viewer,this._cesium).colorFromHtmlColor(C));var v;(o.Yaw||o.Pitch||o.Roll)&&(v=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:x,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),ellipsoid:y,orientation:v});var w={id:this.item.id,name,pId:this._core.isnull(I)?0:I,type:"ellipsoid",item:this};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(I)?0:I),this};Object.defineProperties(Lf.prototype,{Position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{this._postion.Altitude=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}}}});var qP=Lf;var Yv=null;function KA(o,A){Yv=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._getPosition=new hl(this._viewer,this._cesium),this._tree=Ke,this._entityFly=null}KA.prototype.executeFlycesium=function(o){var A={},f=this,m=function(){function Q(M){this.options={polyline:{show:!0,positions:[],material:new f._cesium.PolylineGlowMaterialProperty({glowPower:.1,color:f._cesium.Color.YELLOW}),width:10,clampToGround:!0}},this.positions=M,this._init()}return Q.prototype._init=function(){var M=this,B=function(){return M.positions};this.options.polyline.positions=new f._cesium.CallbackProperty(B,!1),this.flycesium=f._viewer.entities.add(this.options),f.item=this.flycesium},Q}(),C=this.handler=new f._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas),E=[],I=null,x=0,y=void 0,v={polyline:{},cameraRoll:null,cameraPitch:null,cameraPosition:null,cameraHeading:null,positions:[],distance:[],Totaltime:""},w=this._core.CreateTooltip();return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),C.setInputAction(function(Q){var M=f._getPosition.getMousePosition(Q);f._core.getBrowser().pc==="pc"&&E.length==0&&E.push(M.clone()),E.push(M),E.length>=2&&(f._cesium.defined(y)||(y=new m(E)),x=f._core.getSpaceDistancem(E,f._cesium))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),C.setInputAction(function(Q){w.showAt(Q.endPosition,"\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01");var M=f._getPosition.getMousePosition(Q);E.length>=2&&(f._cesium.defined(y)?M&&(E.pop(),E.push(M)):y=new m(E),x=f._core.getSpaceDistancem(E,f._cesium))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),C.setInputAction(function(Q){f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(Q){C.destroy(),w.show(!1),f._core.mouse(f._viewer.container,0),f.end=void 0,f._viewer.entities.remove(f.item),!(Q==="cancel"||E.length<2)&&(x=f._core.getSpaceDistancem(E,f._cesium),v.polyline=y,v.positions=E,v.distance=parseFloat(x),f.setFlycesium(v,function(M){f.flyceium=M,f.ploylinejl=v,typeof o=="function"&&o(M)}))},this};KA.prototype.getFlyData=function(o,A){let f=[];typeof o[0]=="object"?o.forEach(E=>{f.push(Yv.Cartesian3.fromDegrees(E.lon,E.lat,E.height))}):typeof o[0]=="number"&&(f=Yv.Cartesian3.fromDegreesArrayHeights(o));let m=this._core.getSpaceDistancem(f,Yv);return this.setFlycesium({positions:f,distance:m},A)};KA.prototype.setFlycesium=function(o,A){for(var f=this,m=[],C=0;C<o.positions.length;C++){var E=f._cesium.Cartographic.fromCartesian(o.positions[C]),I=[E.longitude/Math.PI*180,E.latitude/Math.PI*180,E.height];m.push(I)}var x;x=(o.distance/50.5).toFixed(1);var y={id:f._core.getuid(),name:"\u65B0\u5EFA\u8DEF\u7EBF",distance:o.distance,showPoint:!1,showLine:!0,showModel:!0,isLoop:!1,Totaltime:Math.round(x),speed:50.5,height:10,perPositionHeight:!1,pitch:-20,range:100,mode:0,url:window.SmartEarthRootUrl+kr.testModel,geojson:{geometry:{type:"LineString",coordinates:m}}};return A&&A(y),y};KA.prototype.Start=function(o,A,f){var m=this,C=o.geojson;return o.Totaltime||(o.Totaltime=3e3),m._entityFly&&m.exit(),w3=f,setTimeout(function(){m.executeFly3D(o,A)},200),this};var jD=null,zm=null,w3=null,Aa={start:null,time:null,longitude:0,latitude:0,cameraHeight:10,speed:50.5,multiplier:1,position:0};var MQe,Qnt,wnt,ZJ,Lb,b3=0;KA.prototype.executeFly3D=function(o,A){var f=this,m=o.geojson;if(MQe=new f._cesium.Cartesian3,ZJ=new f._cesium.SampledProperty(Number),Lb=new f._cesium.SampledPositionProperty,m&&m.geometry){var C=m.geometry.coordinates,E=[],I=[];if(C.length>0)for(var x=0;x<C.length;x++){var y=C[x][0],v=C[x][1],w=C[x][2];o.lineHeight!==void 0&&!o.perPositionHeight&&(w=o.lineHeight),I.push(y,v,w),E.push({x:y,y:v,z:w})}else return;f._viewer.clock.clockRange=o.isLoop?f._cesium.ClockRange.LOOP_STOP:f._cesium.ClockRange.CLAMPED,f._viewer.clock.multiplier=o.multiplier||1,f._viewer.clock.canAnimate=!1,f._viewer.clock.shouldAnimate=!0,Aa.distance=o.distance,Aa.cameraHeight=this._core.defaultValue(o.height,10),Aa.lineHeight=o.lineHeight,Aa.perPositionHeight=o.perPositionHeight,Aa.pitch=o.pitch,Aa.range=o.range,Aa.speed=o.speed||50.5,Aa.Totaltime=o.distance/Aa.speed,Aa.start=f._cesium.JulianDate.fromDate(new Date),Aa.stop=f._cesium.JulianDate.addSeconds(Aa.start,Aa.Totaltime,new f._cesium.JulianDate),f._viewer.clock.startTime=Aa.start.clone(),f._viewer.clock.stopTime=Aa.stop.clone(),f._viewer.clock.currentTime=Aa.start.clone();var Q=f.computeCirclularFlight(E);Aa.position=Q,Aa.degrees=E,wnt=new f._cesium.VelocityOrientationProperty(Q);var M={};A!==""?M={show:f._cesium.defaultValue(o.showModel,!0),scale:f._cesium.defaultValue(o.modelScale,1),uri:A}:M={show:f._cesium.defaultValue(o.showModel,!0),scale:f._cesium.defaultValue(o.modelScale,1)},o.modelData&&(M=f._core.extend(M,o.modelData)),$6=function(){},jD=f._viewer.entities.add({availability:new f._cesium.TimeIntervalCollection([new f._cesium.TimeInterval({start:Aa.start,stop:Aa.stop})]),position:Q,polyline:{clampToGround:Aa.lineHeight===void 0&&!Aa.perPositionHeight,positions:Yv.Cartesian3.fromDegreesArrayHeights(I),show:f._cesium.defaultValue(o.showLine,!0),material:new f._cesium.PolylineGlowMaterialProperty({glowPower:.1,color:f._cesium.Color.YELLOW}),width:10},label:{text:new f._cesium.CallbackProperty(B,!1),font:"20px sans-serif",showBackground:!1,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,100),eyeOffset:new f._cesium.Cartesian3(0,3.5,0)}}),zm=f._viewer.entities.add({availability:new f._cesium.TimeIntervalCollection([new f._cesium.TimeInterval({start:Aa.start,stop:Aa.stop})]),position:Q,orientation:wnt,point:{show:f._cesium.defaultValue(o.showPoint,!1),color:f._cesium.Color.RED,outlineColor:f._cesium.Color.WHITE,outlineWidth:2,pixelSize:10},model:M,billboard:o.image,viewFrom:o.viewFrom||new f._cesium.Cartesian3(500,500,500)}),Rne=jD,f._viewer.trackedEntity=zm,f._entityFly=jD,o.mode&&f.changeFlyMode(o.mode)}else return;function B(D,S){var P=Rne,R=f._viewer.camera;if(f._viewer.clock.clockRange!==2&&Yv.JulianDate.equals(f._viewer.clock.currentTime,f._viewer.clock.stopTime)){jD.label.text="",Aa.time=Aa.Totaltime,Aa.ratio=1,Aa.distanceTraveled=Aa.distance,f.exit(),w3!=null&&typeof w3=="function"&&w3(Aa,"end"),$6=function(){};return}try{var T=Rne.position.getValue(f._viewer.clock.currentTime),L=f._cesium.Cartographic.fromCartesian(T);if(Aa.longitude=f._cesium.Math.toDegrees(L.longitude),Aa.latitude=f._cesium.Math.toDegrees(L.latitude),Aa.lineHeight===void 0&&!Aa.perPositionHeight){let N=f._viewer.scene.sampleHeight(L,[zm,Rne]),H=f._viewer.scene.globe.getHeight(L);zm.position=f._cesium.Cartesian3.fromRadians(L.longitude,L.latitude,H>N?H:N)}}catch{}try{Qnt.getValue(D,MQe),$6(D);var F=f._cesium.Cartesian3.magnitude(MQe),U=Math.round(F*3.6);U+=" km/h",Aa.time=f._cesium.JulianDate.secondsDifference(D,Aa.start),Aa.ratio=Aa.time/Aa.Totaltime,Aa.distanceTraveled=Aa.ratio*Aa.distance,Aa.speed=U,Aa.height=L.height,Aa.globeHeight=f._viewer.scene.globe.getHeight(L),w3!=null&&typeof w3=="function"&&w3(Aa)}catch{}return""}};var XJ,Rne=null,$6;function bnt(o){b3=ZJ.getValue(o),Aa.heading=b3}function Snt(o){var A=Yv.Cartographic.fromCartesian(o),f=Yv.Math.toDegrees(A.longitude),m=Yv.Math.toDegrees(A.latitude);return Yv.Cartesian3.fromDegrees(f,m,A.height+Aa.cameraHeight)}KA.prototype.showPoint=function(o){zm&&zm.point&&(zm.point.show=o)};KA.prototype.showLine=function(o){jD&&jD.polyline&&(jD.polyline.show=o)};KA.prototype.showModel=function(o){zm&&zm.model&&(zm.model.show=o)};KA.prototype.setFlyHeight=function(o){Aa.cameraHeight=o};KA.prototype.setFlyDistance=function(o){Aa.range=o};KA.prototype.setFlyPitch=function(o){Aa.pitch=o};KA.prototype.changeFlyMode=function(o){var A=this;switch(o){case 0:$6=function(){},A.BindingModel(!0);break;case 1:this.BindingModel(!1),$6=function(f){bnt(f),A.exeuteVisualAngle(A._cesium.Math.toRadians(Aa.heading),A._cesium.Math.toRadians(Aa.pitch),Aa.range)};break;case 2:this.BindingModel(!1),$6=function(f){bnt(f),XJ=A._entityFly.position.getValue(A._viewer.clock.currentTime),XJ&&(XJ=Snt(XJ),A._viewer.camera.setView({destination:XJ,orientation:{heading:A._cesium.Math.toRadians(Aa.heading),pitch:A._cesium.Math.toRadians(-90),roll:0}}))};break}};KA.prototype.faster=function(){this._viewer.animation.viewModel.faster()};KA.prototype.slower=function(){this._viewer.animation.viewModel.slower()};KA.prototype.setMultiplier=function(o){this._viewer.clock.multiplier=parseFloat(o)};KA.prototype.isPause=function(o){var A=this._viewer.clockViewModel;A.shouldAnimate=!o};KA.prototype.exit=function(){this.isPause(!0),this._viewer.clock.multiplier=1,this.executeSignout(),this.BindingModel(!1),this._viewer.entities.remove(jD),this._viewer.entities.remove(zm),jD=null,zm=null,this._entityFly=null};KA.prototype.updateSpeedLabel=function(o,A){};KA.prototype.computeCirclularFlight=function(o){var A=this;Qnt=new A._cesium.VelocityVectorProperty(Lb,!1);for(var f,m,C,E,I=0;I<o.length;I++){I===0&&(m=A._cesium.JulianDate.addSeconds(Aa.start,0,new A._cesium.JulianDate),C=A._cesium.Cartesian3.fromDegrees(o[0].x,o[0].y,A._cesium.defaultValue(Aa.lineHeight,o[I].z)),Lb.addSample(m,C),b3=A._core.TwoPointAzimuth(o[0].x,o[0].y,o[1].x,o[1].y),ZJ.addSample(m,b3));try{if(I>0){C=new A._cesium.Cartesian3(Lb._property._values[I*3-3],Lb._property._values[I*3-2],Lb._property._values[I*3-1]),E=A._cesium.Cartesian3.fromDegrees(o[I].x,o[I].y,A._cesium.defaultValue(Aa.lineHeight,o[I].z));var x=Yv.Cartesian3.distance(C,E);m=A._cesium.JulianDate.addSeconds(Lb._property._times[I-1],.5,new A._cesium.JulianDate),f=A._cesium.JulianDate.addSeconds(Lb._property._times[I-1],x/Aa.speed,new A._cesium.JulianDate),Lb.addSample(f,E),b3=A._core.TwoPointAzimuth(o[I-1].x,o[I-1].y,o[I].x,o[I].y),ZJ.addSample(m,b3),ZJ.addSample(f,b3)}}catch(y){console.log(y)}}return Lb};KA.prototype.executePauseFly3DPaths=function(){var o=this._viewer.clockViewModel;o.shouldAnimate?o.shouldAnimate=!1:this._viewer.clockViewModel.canAnimate&&(o.shouldAnimate=!0)};KA.prototype.changeModel=function(o){zm.model.uri=o};KA.prototype.PointView=function(){var o={position:this._viewer.camera.position.clone(),orientation:{heading:this._viewer.camera.heading,pitch:this._viewer.camera.pitch,roll:this._viewer.camera.roll}};return o};KA.prototype.PlayPaths=function(o){var A=1,f=this;setInterval(function(){f._viewer.camera.setView({destination:f._cesium.Cartesian3.fromDegrees(117.48,30.67,15e3),orientation:{heading:f._cesium.Math.toRadians(90,0),pitch:f._cesium.Math.toRadians(-90),roll:0}})},2e3)};KA.prototype.BindingModel=function(o){o?this._viewer.trackedEntity=zm:(this._viewer.trackedEntity=void 0,this._viewer.camera.lookAtTransform(Yv.Matrix4.IDENTITY))};KA.prototype.exeuteVisualAngle=function(o,A,f){var m={heading:null,pitch:null,range:null};m.heading=o||this._cesium.Math.toRadians(90),m.pitch=A||this._cesium.Math.toRadians(0),m.range=f||1e3;var C=this._entityFly.position.getValue(this._viewer.clock.currentTime);if(!!C){C=Snt(C);var E=new this._cesium.HeadingPitchRange(m.heading,m.pitch,m.range);this._viewer.camera.lookAt(C,E)}};KA.prototype.Pathshow=function(o){this._entityFly.polyline.show=o};KA.prototype.Pointshow=function(o){zm._point.show=o};KA.prototype.Modelshow=function(o){zm._model.show=o};KA.prototype.executePlayForwardFly3DPaths=function(){var o=this._viewer.clockViewModel,A=o.multiplier;A<0&&(o.multiplier=-A),o.shouldAnimate=!0};KA.prototype.executePlayReverseFly3DPaths=function(){var o=this._viewer.clockViewModel,A=o.multiplier;A>0&&(o.multiplier=-A),o.shouldAnimate=!0};KA.prototype.executeSignout=function(){var o=this._cesium.JulianDate.fromDate(new Date);this._viewer.clock.startTime=o.clone();var A=this._cesium.JulianDate.addSeconds(o,86400,new this._cesium.JulianDate);this._viewer.clock.stopTime=A.clone()};KA.prototype.forceEndHanlder=function(){this.handler&&(this.handler.destroy(),this.handler=void 0)};var Lne=KA;var ua=null,Rbi=function(o,A,f,m){let C=f,E=m;var I=A.west,x=A.east,y=A.south,v=A.north,w=x-I,Q=v-y,M=o.longitude*180/Math.PI,B=o.latitude*180/Math.PI;return o.normalizedLongitude=(M-I)/w*f,o.normalizedLatitude=(B-y)/Q*m,o},Lbi=function(o,A,f,m){var C=[],E=o[0].longitude!==void 0;return o.forEach(function(I){var x=[],y=E?I:jP.scene.globe.ellipsoid.cartesianToCartographic(I);y=Rbi(y,A,f,m),x.push(y.normalizedLongitude),x.push(y.normalizedLatitude),C.push(x)}),C},Fbi=function(o,A,f){var m=32,C=A.west*ua.Math.DEGREES_PER_RADIAN,E=A.east*ua.Math.DEGREES_PER_RADIAN,I=A.south*ua.Math.DEGREES_PER_RADIAN,x=A.north*ua.Math.DEGREES_PER_RADIAN,y=new ua.Rectangle(C,I,E,x),v=Lbi(o,y,m,m),w=Nbi(v,"#FF0000",m,m);return w},Nbi=function(o,A,f,m,C){if(C===void 0){var C=document.createElement("canvas");C.width=f,C.height=m}var E=C.getContext("2d");if(!(o.length<=0)){E.moveTo(o[0][0],o[0][1]);for(var I=0;I<o.length;I++)E.lineTo(o[I][0],o[I][1]);return A!=null&&A!=null&&(E.fillStyle=A,E.fill()),C}};function Fb(o,A){return Math.floor(Math.random()*(A-o+1))+o}function kbi(){return globalThis.GEOWORLD_BASE_URL+"Workers/ParseElevationWorker.js"}function Ubi(o,A){var f=ua.defer();return Fb=Fbi(o.vertices,A,o.heights[0]),Fb.timeStamp=o.timeStamp,Fb.mtHeight=o.heights,Fb.mtType=o.mtType,Fb.fromKML=o.fromKML,Fb.rect=o.rectangle,Fb.level=o.level,f.resolve(Fb),f.promise}function Obi(o,A){return Math.floor(Math.random()*(A-o+1))+o}function Gbi(o,A){var f=ua.defer(),m=[];return o.forEach(function(C){m.push(Ubi(C,A))}),Promise.all(m).then(function(C){var E=C[0].lenght,I=function(v,w){return w.timeStamp-v.timeStamp};if(C.length===1)f.resolve(C[0]);else{var x=C.sort(I),y=x.shift();x.forEach(function(v){y.forEach(function(w,Q){w===Fb&&v[Q]!==Fb&&(y[Q]=v[Q])})}),f.resolve(y)}}),f.promise}var jP,Dnt=!1;function Pc(o,A,f){if(ua=f,jP=o,!ua.defined(A))throw new ua.DeveloperError("options is required.");this._errorEvent=new ua.Event,this._modelFloorMasks={},this._credit=A.credit,typeof this._credit=="string"&&(this._credit=new ua.Credit(this._credit)),A.heightMapWidth=ua.defaultValue(A.heightMapWidth,32),A.heightMapHeight=ua.defaultValue(A.heightMapHeight,32),this._options=A,this.readyPromise=Promise.resolve(!0),this._subdomains=A.subdomains,A.firstRequestUrl=A.url.replace("{s}",this.sTag(0,0,0)),this._firstRequest=A.firstRequestUrl+"?request=GetMap&Version=1.3.0&Service=WMS&CRS=EPSG:4326&bbox=-90,-180,90,180&height=32&width=32&optimizedOnly=0&v=1&layers="+A.layerName+"&Styles=&Format=image/mpt";var m=this,C=A.pngOnly;A.maxTerrainLevel!==void 0&&isNaN(A.maxTerrainLevel)&&(A.maxTerrainLevel=void 0),this._maxTerrainLevel=ua.defaultValue(A.maxTerrainLevel,30),C?m.setFormatMPT(!1):$.ajax({url:A.cacheUrl?`${A.cacheUrl}/0/0/0.${A.cacheFormat||"mpt"}`:this._firstRequest,success:function(I){var x=!!(ua.defined(I.childNodes)&&I.childNodes.length>0);if(!!x)return m.setFormatMPT(!1),null;m.setFormatMPT(!0)},error:function(){return m.setFormatMPT(!1),null},async:!1}),A.cacheUrl&&(this.isCache=!0,this.cacheLevel=A.cacheLevel||16,this._cacheUrl=`${A.cacheUrl}/{z}/{x}/{reverseY}.${A.cacheFormat||"mpt"}`);let E=this._maxTerrainLevel;this._availability={computeMaximumLevelAtPosition:function(I){return Math.min(E,16)}},this._urlTemplate=A.url+"?request=GetMap&Version=1.3.0&Service=WMS&v=1&CRS=EPSG:4326&bbox={south},{west},{north},{east}&height={height}&width={width}&optimizedOnly={optimizedOnly}&layers="+A.layerName+"&Styles=&Format=image/"+this._format,this._allElevationLayers=null,this._tilingScheme=new ua.GeographicTilingScheme,this._levelZeroMaximumGeometricError=ua.TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,A.heightMapWidth*4,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._workerPool=new Cb({workerPath:kbi()},ua),this._pendingRequests=0,this._requestGridSize=8,this._requestsCache={},this._requestsCacheKeys=[],this.errorEvent.addEventListener(function(I){},this)}Pc._geometricErrorFactor=2;Object.defineProperties(Pc.prototype,{errorEvent:{get:function(){return this._errorEvent}},availability:{get:function(){return this._availability}},credit:{get:function(){return this._credit}},hasVertexNormals:{get:function(){return!1}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},hasWaterMask:{get:function(){return!1}},heightMapHeight:{get:function(){return this._options.heightMapHeight}},heightMapWidth:{get:function(){return this._options.heightMapWidth}},pendingRequests:{get:function(){return this._pendingRequests}}});Pc.prototype.setFormatMPT=function(o){if(!(o&&this.pngOnly)){var A=this._format;this._format=o?"mpt":"png",A!==this._format&&(this._isMPT=o,this._urlTemplate!==void 0&&(this._urlTemplate=this._urlTemplate.replace("image/"+A,"image/"+this._format)))}};Pc.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)*Pc._geometricErrorFactor};Pc.prototype.createKeyFromTile=function(o,A,f){return o+"_"+A+"_"+f};Pc.prototype.getTileDataAvailable=function(o,A,f){var m=Math.min(this._maxTerrainLevel,25);return this._isMPT?!0:f<m};Pc.prototype.requestFactorForLevel=function(o){var A=Math.log(this._requestGridSize)/Math.log(2);return A=Math.min(A,o),Math.pow(2,A)};Pc.prototype.getRequestBaseTerrainUrl=function(o,A,f,m){return this.getRequestUrl(o,A,f,m)};Pc.prototype.getRequestElevationLayer=function(o,A,f){return this.getRequestUrl(o,A,f,!1,!0)};Pc.prototype.getRequestUrl=function(x,y,v,m,C){var E=v,I=m!=null?this.requestFactorForLevel(v):1,x=m!=null?(x-x%I)/I:x,y=m!=null?(y-y%I)/I:y,v=m!=null?v-Math.log(I)/Math.log(2):v;if(this.isCache&&v!==0&&v<=this.cacheLevel){let B=this.tilingScheme.getNumberOfYTilesAtLevel(v)-y-1;return this._cacheUrl.replace("{x}",x).replace("{reverseY}",B).replace("{z}",v)}var w=this.tilingScheme.tileXYToNativeRectangle(x,y,v),Q=this.heightMapWidth*I===256&&m?1:0;C&&(Q=0);var M=this._urlTemplate.replace("{south}",w.south).replace("{north}",w.north).replace("{west}",w.west).replace("{east}",w.east).replace("{optimizedOnly}",Q).replace("{width}",this.heightMapWidth*I).replace("{height}",this.heightMapHeight*I).replace("{s}",this.sTag(x,y,v));return M+"&level="+v+"&origLevel="+E};Pc.prototype.isT_Inside_E=function(o,A){return o.west>=A.west*ua.Math.DEGREES_PER_RADIAN&&o.east<=A.east*ua.Math.DEGREES_PER_RADIAN&&o.south>=A.south*ua.Math.DEGREES_PER_RADIAN&&o.north<=A.north*ua.Math.DEGREES_PER_RADIAN};Pc.prototype.isT_Intersects_E=function(o,A){var f=o.west*ua.Math.RADIANS_PER_DEGREE,m=o.east*ua.Math.RADIANS_PER_DEGREE,C=o.south*ua.Math.RADIANS_PER_DEGREE,E=o.north*ua.Math.RADIANS_PER_DEGREE,I=new ua.Rectangle(f,C,m,E),x=ua.Rectangle.intersection(I,A,new ua.Rectangle);return x};Pc.prototype.sTag=function(o,A,f){if(this._subdomains==null)return"";var m=(o+A+f)%this._subdomains.length;return this._subdomains[m]};Pc.prototype.refreshElevationLayer=function(o){if(o.rectangle&&jP.scene.globe._surface._levelZeroTiles!==void 0){var A=this.findDirectParent(o.rectangle,!0);A.freeResources()}};Pc.prototype.findDirectParent=function(o,A){var f=function(E,I,x){var y=x?4.1:2.1;if(E._rectangle.width<=I.width*y&&ua.Rectangle.contains(E._rectangle,ua.Rectangle.center(I)))return E;for(var v=E.children.length,w=0;w<v;w++){var Q=E.children[w];if(ua.Rectangle.contains(Q._rectangle,ua.Rectangle.center(I)))return f(Q,I,x)}return null};if(o.width==Math.PI)return null;for(var m=0;m<jP.scene.globe._surface._levelZeroTiles.length;m++){var C=f(jP.scene.globe._surface._levelZeroTiles[m],o,A);if(C)return C}return null};Pc.prototype.isTileAvailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new ua.Rectangle),C=this.findDirectParent(m);if(C&&C.data&&C.data.terrainData){if(!(C.data.terrainData._childTileMask>0))return!1;for(var E=C.children.length,I=0;I<E;I++){var x=C.children[I];if(ua.Rectangle.equals(x._rectangle,m))return C.data.terrainData._childTileMask&1<<I}}return!0};Pc.prototype.markTileAsUnavailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new ua.Rectangle),C=this.findDirectParent(m);C&&C.data&&C.data.terrainData&&C.data.terrainData._childTileMask>0&&$.each(C.children,function(E,I){if(ua.Rectangle.equals(I._rectangle,m)){switch(E){case 0:C.data.terrainData._childTileMask&=-5;break;case 1:C.data.terrainData._childTileMask&=-9;break;case 2:C.data.terrainData._childTileMask&=-2;break;case 3:C.data.terrainData._childTileMask&=-3;break;default:}return!1}return!0})};Pc.prototype.requestBaseTerrainTileGeometry=function(o,A,f,m){return this.requestTileGeometryBuffers(o,A,f,m)};Pc.prototype.requestElevationLayerTileGeometry=function(o,A,f,m,C){return this.requestTileGeometryBuffers(o,A,f,m,C)};Pc.prototype.requestTileGeometryBuffers=function(o,A,f,m,C){var E=this,I=15,x={};x.requestedRectangle=this.tilingScheme.tileXYToNativeRectangle(o,A,f),x.layer=C;var M,y,v,w,Q=ua.defer(),M=this.requestTileHeightBuffer(o,A,f,m,void 0,C);return M===void 0?void 0:(y=this.requestTileHeightBuffer(o+1,A,f,m,!0,C),v=this.requestTileHeightBuffer(o,A+1,f,m,!0,C),w=this.requestTileHeightBuffer(o+1,A+1,f,m,!0,C),Promise.all([M,y,v,w]).then(function(B){if(Dnt==0){if(B[0].myReject!=null&&B[0].myReject){Q.reject();return}for(var D=E.heightMapWidth+1,S=E.heightMapHeight+1,P=new Float32Array(D*S),R=B[0].isFloor,T=0;T<D;T++)for(var L=0;L<S;L++){var F=T,U=L,N=0;L===D-1&&(U=0,N=1,R&&(N=0,U=D-2)),T===S-1&&(F=0,N=2);var H=T*D+L,J=F*E.heightMapWidth+U;B[N]!==null&&(B[N].myReject==null||!B[N].myReject)&&(P[H]=B[N][J])}(B[3].myReject==null||!B[3].myReject)&&(P[D*S-1]=B[3][0]);var K=E.arrayToHeightmapTerrainData(P,D,S,I);x.buffer=K,Q.resolve(x)}else{var K=E.arrayToHeightmapTerrainData(B[0],E.heightMapWidth,E.heightMapHeight);x.buffer=K,Q.resolve(x)}}).catch(function(){Q.reject()}),Q.promise)};Pc.prototype.requestTileGeometry=function(o,A,f,m){var C=this,E=[],I=C.tilingScheme.tileXYToNativeRectangle(o,A,f);this._allElevationLayers!=null&&this._allElevationLayers.length>0&&f>7?$(this._allElevationLayers).each(function(y,v){var w=v.show;if(w){var Q=v.rectangle;C.isT_Inside_E(I,Q)?(C.setFormatMPT(!1),E.push(C.requestElevationLayerTileGeometry(o,A,f,m,v))):C.isT_Intersects_E(I,Q)!=null?(C.setFormatMPT(!1),E.push(C.requestElevationLayerTileGeometry(o,A,f,m,v)),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m))):(C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m)))}else C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m))}):(C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m)));var x=ua.defer();return Promise.all(E).then(function(y){if(y.length===1)y.layer!==void 0&&console.log("missing scale and offset"),x.resolve(y[0].buffer);else if(y.length>1){var v=$.grep(y,function(D){return D.layer!==void 0}),w=$.grep(y,function(D){return D.layer===void 0});if(v.length===0)x.resolve(y[0].buffer);else{var Q=v[v.length-1],M=w[w.length-1],B={tolerance:Q.layer.nullTolerance,nullValueNumber:Q.layer.nullValueNumber,verticesX:Q.layer.polygonVerticesX,verticesY:Q.layer.polygonVerticesY,scale:ua.defaultValue(Q.layer.scale,1),offset:ua.defaultValue(Q.layer.offset,0)};x.resolve(C.mergeBuffers(M.buffer,Q.buffer,B,M.requestedRectangle))}}else x.reject()}).catch(function(){x.reject()}),x.promise};Pc.prototype.mergeBuffers=function(o,A,f,m){var C,E,I,x,y,v=33,w=33,Q=m.west,M=m.north,B=m.east,D=m.south,S=m.width/v,P=m.height/w,R=f.scale,T=f.offset,L=f.nullValueNumber,F=f.tolerance,U=L!==void 0&&F!==void 0;if(U)var N=ua.defaultValue(f.nullValueNumber,0),H=ua.defaultValue(Number(f.tolerance),0);var J=new Float32Array(v*w);for(C=0,y=M;C<w;C++,y+=P)for(E=0,x=Q;E<v;E++,x+=S)I=C*v+E,U?J[I]=!A._buffer[I]||A._buffer[I]>=N-H&&A._buffer[I]<=N+H?o._buffer[I]:A._buffer[I]*R+T:J[I]=A._buffer[I]?A._buffer[I]*R+T:o._buffer[I];return this.arrayToHeightmapTerrainData(J,v,w,15)};Pc.prototype.requestTileHeightBuffer=function(o,A,f,m,C,E){var I=this;if(!isNaN(o+A+f)){(!ua.defined(m)||m===!1)&&(m=new ua.Request({defer:!0}));var x=m.defer==0;C=ua.defaultValue(x,!1);var y=ua.defer();if(Dnt==0){var v;if(E!==void 0)E.getUrlFromSTag=function(ee,ie,z){return E.subdomains===void 0?E.url:E.subdomains[0]+"/SG"},v=this.getRequestElevationLayer(o,A,f).replace(this._options.url,E.getUrlFromSTag(o,A,f)+"/Elevation").replace(this._options.layerName,E.name),E.format==="mpt"&&(v=v.replace("image/png","image/mpt"));else{v=this.getRequestBaseTerrainUrl(o,A,f,x||C);var w=jP.terrainProvider.tilingScheme.tileXYToRectangle(o,A,f),Q=jP.terrainProvider._modifyTerrainObjects,M=ua.defer();if(Q!==void 0){var B=[];if(Q.forEach(function(ee){ee.show&&ua.Rectangle.intersection(w,ee.rectangle,new ua.Rectangle)!=null&&B.push(ee)}),B.length>0)if(B.length===1&&B[0].modelFloorBestLevel&&f>B[0].modelFloorBestLevel)M.resolve("NoMerge");else{var D=Gbi(B,w,f);Promise.resolve(D).then(function(ee){M.resolve(ee)}).catch(function(ee){console.log(ee)})}else M.resolve("NoMerge")}else M.resolve("NoMerge");var S=ua.defer(),P=$.grep([],function(ee){return ee._selectedTiles.length>0});if(P.length===1&&P[0].level&&f>P[0].level)S.resolve("NoFloor");else{var R=!1,T=32,L=65535;P.forEach(function(ee){if(ee.ready&&ee.show&&ee.rootFloorRectangle!==void 0&&ua.Rectangle.intersection(w,ee.rootFloorRectangle)!==void 0){for(var ie=new Uint16Array(T*T),z=w.west,oe=w.south,le=(w.east-w.west)/32,Ae=(w.north-w.south)/32,he,ge=0;ge<T;ge++)for(var de=0;de<T;de++){var fe=z+le*de+le/2,G=w.north-Ae*ge-Ae/2,Y=new ua.Cartographic(fe,G);he=L;var W=ee.getHRMTFP(ee,Y,!0);W!=null&&W.content&&W.content._model&&W.content._model.floor&&(he=W.content._model.floor.getHeight(Y.longitude,Y.latitude)),he!==L&&(he+=1.5),ie[ge*T+de]=he}R=!0,S.resolve(ie)}}),R||S.resolve("NoFloor")}var F=jP.scene.globe.ellipsoid}if(this._requestsCache.hasOwnProperty(v)===!1){if(this._requestsCache[v]={},this._requestsCacheKeys.push(v),this._requestsCacheKeys.length>100){for(var U=0;U<50;U++)delete this._requestsCache[this._requestsCacheKeys[U]];this._requestsCacheKeys.splice(0,50)}}else{var N=this._requestsCacheKeys.indexOf(v);this._requestsCacheKeys.splice(N,1),this._requestsCacheKeys.push(v)}var H=this._requestsCache[v];if(H.dataLoaded===void 0&&(H.dataLoaded=ua.Resource.fetchArrayBuffer(v),!ua.defined(H.dataLoaded)))return;var J=this;this._pendingRequests++,Promise.resolve(H.dataLoaded).then(function(ee){H.workerFinished===void 0&&(H.workerFinished=J._workerPool.queueWorkItem({buffer:ee,isElevation:E!==void 0,level:f})),Promise.all([H.workerFinished,M.promise,S.promise]).then(function(ie){var z=ie[1]!==void 0&&ie[1]!=="NoMerge",oe=ie[2]!==void 0&&ie[2]!=="NoFloor";if(ie[0].rejected){for(var le=J.heightMapWidth*J.heightMapHeight,Ae=new Int16Array(le),he=0,ge=0;ge<le;ge++)Ae[ge]=300;return f>2&&(Ae.myReject=!0),y.resolve(Ae),y.promise}var de=J.extractTileHeightBuffer(ie[0].buffer,o,A,f);if(J._pendingRequests--,z)for(var ge=0;ge<32;ge++)for(var fe=0;fe<32;fe++){var G=ge*32+fe;de[G]=ie[1].mtHeight[0]}if(oe){for(var ge=0;ge<32;ge++)for(var fe=0;fe<32;fe++){var G=ge*32+fe;de[G]=ie[2][G]===65535||ie[2][G]>10500?de[G]:ie[2][G]}de.isFloor=!0}y.resolve(de)}).catch(function(){for(var ie=J.heightMapWidth*J.heightMapHeight,z=new Int16Array(ie),oe=0,le=0;le<ie;le++)z[le]=300;return f>2&&(z.myReject=!0),y.resolve(z),y.promise})}).catch(function(){J._pendingRequests--,y.reject()})}else{for(var K=this.heightMapWidth*this.heightMapHeight,X=new Int16Array(K),j=Obi(0,1500),U=0;U<K;U++)X[U]=j;y.resolve(X)}return y.promise}};Pc.prototype.extractTileHeightBuffer=function(o,A,f,m){try{for(var C=this.requestFactorForLevel(m),E=A%C,I=f%C,x=new Float32Array(this.heightMapWidth*this.heightMapHeight),y=1e6,v=-1e5,w=0;w<this.heightMapHeight;w++)for(var Q=0;Q<this.heightMapWidth;Q++){var M=w+I*this.heightMapHeight,B=Q+E*this.heightMapWidth,D=w*this.heightMapWidth+Q,S=M*this.heightMapWidth*C+B;o[S]>v&&(v=o[S]),o[S]<y&&(y=o[S]),x[D]=o[S]}}catch(P){console.log(P.message)}return x};Pc.prototype.arrayToHeightmapTerrainData=function(o,A,f,m){ua.defined(o)===!1&&(o=new Int16Array(A*f));var C={buffer:o,width:A,height:f,childTileMask:m};return new ua.HeightmapTerrainData(C)};var TQe=Pc;var Hbi=function(o,A,f,m){let C=f,E=m;var I=A.west,x=A.east,y=A.south,v=A.north,w=x-I,Q=v-y,M=o.longitude*180/Math.PI,B=o.latitude*180/Math.PI;return o.normalizedLongitude=(M-I)/w*f,o.normalizedLatitude=(B-y)/Q*m,o},Vbi=function(o,A,f,m){var C=[],E=o[0].longitude!==void 0;return o.forEach(function(I){var x=[],y=E?I:eG.scene.globe.ellipsoid.cartesianToCartographic(I);y=Hbi(y,A,f,m),x.push(y.normalizedLongitude),x.push(y.normalizedLatitude),C.push(x)}),C},zbi=function(o,A,f){var m=32,C=A.west*Cesium.Math.DEGREES_PER_RADIAN,E=A.east*Cesium.Math.DEGREES_PER_RADIAN,I=A.south*Cesium.Math.DEGREES_PER_RADIAN,x=A.north*Cesium.Math.DEGREES_PER_RADIAN,y=new Cesium.Rectangle(C,I,E,x),v=Vbi(o,y,m,m),w=Ybi(v,"#FF0000",m,m);return w},Ybi=function(o,A,f,m,C){if(C===void 0){var C=document.createElement("canvas");C.width=f,C.height=m}var E=C.getContext("2d");if(!(o.length<=0)){E.moveTo(o[0][0],o[0][1]);for(var I=0;I<o.length;I++)E.lineTo(o[I][0],o[I][1]);return A!=null&&A!=null&&(E.fillStyle=A,E.fill()),C}};function Jbi(o,A){return Math.floor(Math.random()*(A-o+1))+o}function Kbi(){return SmartEarthRootUrl+"Workers/ParseElevationWorker.js"}var eG,Mnt=!1;function vp(o,A){if(eG=o,!Cesium.defined(A))throw new Cesium.DeveloperError("options is required.");this._errorEvent=new Cesium.Event,this._credit=A.credit,typeof this._credit=="string"&&(this._credit=new Cesium.Credit(this._credit)),A.heightMapWidth=Cesium.defaultValue(A.heightMapWidth,32),A.heightMapHeight=Cesium.defaultValue(A.heightMapHeight,32),this._options=A,this._subdomains=A.subdomains,A.url=A.url.replace("{s}",this.sTag(0,0,0)),this._firstRequest=A.url+"?request=GetMap&Version=1.3.0&Service=WMS&CRS=EPSG:4326&bbox=-90,-180,90,180&height=32&width=32&optimizedOnly=0&layers="+A.layerName+"&Styles=&Format=image/mpt",A.token&&(this._firstRequest+="&token="+A.token),this._requestVertexNormals=Cesium.defaultValue(A.requestVertexNormals,!1);var f=this;$.ajax({url:A.cacheUrl?`${A.cacheUrl}/0/0/0.${A.cacheFormat||"mpt"}`:this._firstRequest,success:function(C){var E=!!(Cesium.defined(C.childNodes)&&C.childNodes.length>0);if(E)return f._isMPT=!1,f._format="png",null;f._isMPT=!0,f._format="mpt"},error:function(){return f._isMPT=!1,f._format="png",null},async:!1}),A.cacheUrl&&(this.isCache=!0,this.cacheLevel=A.cacheLevel||16,this._cacheUrl=`${A.cacheUrl}/{z}/{x}/{reverseY}.${A.cacheFormat||"mpt"}`);let m=16;this._availability={computeMaximumLevelAtPosition:function(C){return Math.min(m,16)}},this._urlTemplate=A.url+"?request=GetMap&Version=1.3.0&Service=WMS&CRS=EPSG:4326&bbox={south},{west},{north},{east}&height={height}&width={width}&optimizedOnly={optimizedOnly}&layers="+A.layerName+"&Styles=&Format=image/"+this._format,A.token&&(this._urlTemplate+="&token="+A.token),this._tilingScheme=new Cesium.GeographicTilingScheme,this._levelZeroMaximumGeometricError=Cesium.TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,A.heightMapWidth*4,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._workerPool=new Cb({workerPath:Kbi()}),this._pendingRequests=0,this._requestGridSize=8,this._requestsCache={},this._requestsCacheKeys=[],this.errorEvent.addEventListener(function(C){},this)}vp._geometricErrorFactor=2;Object.defineProperties(vp.prototype,{errorEvent:{get:function(){return this._errorEvent}},availability:{get:function(){return this._availability}},credit:{get:function(){return this._credit}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},hasVertexNormals:{get:function(){return this._requestVertexNormals}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},hasWaterMask:{get:function(){return!1}},heightMapHeight:{get:function(){return this._options.heightMapHeight}},heightMapWidth:{get:function(){return this._options.heightMapWidth}},pendingRequests:{get:function(){return this._pendingRequests}}});vp.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)*vp._geometricErrorFactor};vp.prototype.createKeyFromTile=function(o,A,f){return o+"_"+A+"_"+f};vp.prototype.getTileDataAvailable=function(o,A,f){return this._isMPT?void 0:f<16};vp.prototype.requestFactorForLevel=function(o){var A=Math.log(this._requestGridSize)/Math.log(2);return A=Math.min(A,o),Math.pow(2,A)};vp.prototype.getRequestUrl=function(o,A,f,m){var C=this.requestFactorForLevel(f);if(o=(o-o%C)/C,A=(A-A%C)/C,f-=Math.log(C)/Math.log(2),this.isCache&&f!==0&&f<=this.cacheLevel){let y=this.tilingScheme.getNumberOfYTilesAtLevel(f)-A-1;return this._cacheUrl.replace("{x}",o).replace("{reverseY}",y).replace("{z}",f)}var E=this.tilingScheme.tileXYToNativeRectangle(o,A,f),I=this.heightMapWidth*C===256&&m?1:0,x=this._urlTemplate.replace("{south}",E.south).replace("{north}",E.north).replace("{west}",E.west).replace("{east}",E.east).replace("{optimizedOnly}",I).replace("{width}",this.heightMapWidth*C).replace("{height}",this.heightMapHeight*C).replace("{s}",this.sTag(o,A,f));return x};vp.prototype.sTag=function(o,A,f){if(this._subdomains==null)return"";var m=(o+A+f)%this._subdomains.length;return this._subdomains[m]};vp.prototype.findDirectParent=function(o){var A=function(C,E){if(C._rectangle.width<=E.width*2.1&&Cesium.Rectangle.contains(C._rectangle,Cesium.Rectangle.center(E)))return C;for(var I=C.children.length,x=0;x<I;x++){var y=C.children[x];if(Cesium.Rectangle.contains(y._rectangle,Cesium.Rectangle.center(E)))return A(y,E)}return null};if(o.width==Math.PI)return null;for(var f=0;f<eG.scene.globe._surface._levelZeroTiles.length;f++){var m=A(eG.scene.globe._surface._levelZeroTiles[f],o);if(m)return m}return null};vp.prototype.isTileAvailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new Cesium.Rectangle),C=this.findDirectParent(m);if(C&&C.data&&C.data.terrainData){if(!(C.data.terrainData._childTileMask>0))return!1;for(var E=C.children.length,I=0;I<E;I++){var x=C.children[I];if(Cesium.Rectangle.equals(x._rectangle,m))return C.data.terrainData._childTileMask&1<<I}}return!0};vp.prototype.markTileAsUnavailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new Cesium.Rectangle),C=this.findDirectParent(m);C&&C.data&&C.data.terrainData&&C.data.terrainData._childTileMask>0&&$.each(C.children,function(E,I){if(Cesium.Rectangle.equals(I._rectangle,m)){switch(E){case 0:C.data.terrainData._childTileMask&=-5;break;case 1:C.data.terrainData._childTileMask&=-9;break;case 2:C.data.terrainData._childTileMask&=-2;break;case 3:C.data.terrainData._childTileMask&=-3;break;default:}return!1}return!0})};vp.prototype.requestTileGeometry=function(o,A,f,m){var C=this,E=this.requestTileHeightBuffer(o,A,f,m);if(E!==void 0){var I=this,x=15,y=this.requestTileHeightBuffer(o+1,A,f,m,!0),v=this.requestTileHeightBuffer(o,A+1,f,m,!0),w=this.requestTileHeightBuffer(o+1,A+1,f,m,!0),Q=Cesium.when.defer();return Cesium.when.all([E,y,v,w],function(M){if(Mnt==0){if(M[0].myReject!=null&&M[0].myReject){I.markTileAsUnavailable(o,A,f),Q.reject();return}for(var B=I.heightMapWidth+1,D=I.heightMapHeight+1,S=new Float32Array(B*D),P=0;P<B;P++)for(var R=0;R<D;R++){var T=P,L=R,F=0;R===B-1&&(L=0,F=1),P===D-1&&(T=0,F=2);var U=P*B+R,N=T*I.heightMapWidth+L;M[F]!==null&&(M[F].myReject==null||!M[F].myReject)&&(S[U]=M[F][N])}(M[3].myReject==null||!M[3].myReject)&&(S[B*D-1]=M[3][0]);var H=I.arrayToHeightmapTerrainData(S,B,D,x);Q.resolve(H)}else{var H=I.arrayToHeightmapTerrainData(M[0],I.heightMapWidth,I.heightMapHeight);Q.resolve(H)}}).otherwise(function(){Q.reject()}),Q}};vp.prototype.requestTileHeightBuffer=function(o,A,f,m,C,E){if(!isNaN(o+A+f)){(!Cesium.defined(m)||m===!1)&&(m=new Cesium.Request({defer:!0}));var I=m.defer==0;C=Cesium.defaultValue(I,!1);var x=Cesium.when.defer();if(Mnt==0){var y=this.getRequestUrl(o,A,f,I||C);if(this._requestsCache.hasOwnProperty(y)===!1){if(this._requestsCache[y]={},this._requestsCacheKeys.push(y),this._requestsCacheKeys.length>100){for(var v=0;v<50;v++)delete this._requestsCache[this._requestsCacheKeys[v]];this._requestsCacheKeys.splice(0,50)}}else{var w=this._requestsCacheKeys.indexOf(y);this._requestsCacheKeys.splice(w,1),this._requestsCacheKeys.push(y)}var Q={headers:{withCredentials:!0}},M=this._requestsCache[y];if(M.dataLoaded===void 0&&(I?M.dataLoaded=Cesium.RequestScheduler.request(y,Cesium.loadArrayBuffer):M.dataLoaded=Cesium.loadArrayBuffer(y),!Cesium.defined(M.dataLoaded)))return;var B=eG.terrainProvider.tilingScheme.tileXYToRectangle(o,A,f),D=eG.terrainProvider._modifyTerrainObjects,S=null,P=null;D!=null&&D.length>0&&D.forEach(function(U){if(U.show){var N=Cesium.Rectangle.intersection(B,U.rectangle,new Cesium.Rectangle);N&&(P=U,S=zbi(P.vertices,B,P.heights[0]))}});var R=this;this._pendingRequests++,Cesium.when(M.dataLoaded,function(U){M.workerFinished===void 0&&(M.workerFinished=R._workerPool.queueWorkItem({buffer:U,isElevation:E!==void 0,level:f})),Cesium.when(M.workerFinished,function(N){if(N.rejected){for(var H=R.heightMapWidth*R.heightMapHeight,J=new Int16Array(H),K=0,X=0;X<H;X++)J[X]=300;return f>2&&(R.markTileAsUnavailable(o,A,f),J.myReject=!0),x.resolve(J),x}var j=R.extractTileHeightBuffer(N.buffer,o,A,f);if(S!=null)for(var ee=S.getContext("2d"),ie=ee.getImageData(0,0,32,32).data,z=0;z<32;z++)for(var oe=0;oe<32;oe++){var le=z*32+oe,Ae=(32-1-z)*32+oe;ie[le*4]!==0&&(j[Ae]=P.heights[0])}R._pendingRequests--,x.resolve(j)})}).otherwise(function(){R._pendingRequests--,x.reject()})}else{for(var T=this.heightMapWidth*this.heightMapHeight,L=new Int16Array(T),F=Jbi(0,1500),v=0;v<T;v++)L[v]=F;x.resolve(L)}return x}};vp.prototype.extractTileHeightBuffer=function(o,A,f,m){try{for(var C=this.requestFactorForLevel(m),E=A%C,I=f%C,x=new Float32Array(this.heightMapWidth*this.heightMapHeight),y=1e6,v=-1e5,w=0;w<this.heightMapHeight;w++)for(var Q=0;Q<this.heightMapWidth;Q++){var M=w+I*this.heightMapHeight,B=Q+E*this.heightMapWidth,D=w*this.heightMapWidth+Q,S=M*this.heightMapWidth*C+B;o[S]>v&&(v=o[S]),o[S]<y&&(y=o[S]),x[D]=o[S]}}catch(P){console.log(P.message)}return x};vp.prototype.arrayToHeightmapTerrainData=function(o,A,f,m){Cesium.defined(o)===!1&&(o=new Int16Array(A*f));var C={buffer:o,width:A,height:f,childTileMask:m};return new Cesium.HeightmapTerrainData(C)};var PQe=vp;function Wbi(o){this.resource=o.resource,this.version=o.version,this.isHeightmap=o.isHeightmap,this.tileUrlTemplates=o.tileUrlTemplates,this.availability=o.availability,this.hasVertexNormals=o.hasVertexNormals,this.hasWaterMask=o.hasWaterMask,this.hasMetadata=o.hasMetadata,this.availabilityLevels=o.availabilityLevels,this.availabilityTilesLoaded=o.availabilityTilesLoaded,this.littleEndianExtensionSize=o.littleEndianExtensionSize,this.availabilityPromiseCache={}}function Q3(o){this._heightmapWidth=65,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._ellipsoid=o.ellipsoid,this._requestVertexNormals=Cesium.defaultValue(o.requestVertexNormals,!1),this._requestWaterMask=Cesium.defaultValue(o.requestWaterMask,!1),this._requestMetadata=Cesium.defaultValue(o.requestMetadata,!0),this._errorEvent=new Cesium.Event;var A=o.credit;typeof A=="string"&&(A=new Cesium.Credit(A)),this._credit=A,this._availability=void 0;var f=Cesium.when.defer();this._ready=!1,this._readyPromise=f,this._tileCredits=void 0;var m=this,C,E,I,x=this._layers=[],y="",v=[],w=0;Cesium.when(o.url).then(function(P){var R=Cesium.Resource.createIfNeeded(P);R.appendForwardSlash(),C=R,E=C.getDerivedResource({url:"layer.json"}),m._tileCredits=R.credits,S()}).otherwise(function(P){f.reject(P)});function Q(P){var R;if(!P.format){R="The tile format is not specified in the layer.json file.",I=Cesium.TileProviderError.handleError(I,m,m._errorEvent,R,void 0,void 0,void 0,S);return}if(!P.tiles||P.tiles.length===0){R="The layer.json file does not specify any tile URL templates.",I=Cesium.TileProviderError.handleError(I,m,m._errorEvent,R,void 0,void 0,void 0,S);return}var T=!1,L=!1,F=!1,U=!0,N=!1;if(P.format==="heightmap-1.0")N=!0,Cesium.defined(m._heightmapStructure)||(m._heightmapStructure={heightScale:1/5,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:256*256-1}),L=!0,m._requestWaterMask=!0;else if(P.format.indexOf("quantized-mesh-1.")!==0){R='The tile format "'+P.format+'" is invalid or not supported.',I=Cesium.TileProviderError.handleError(I,m,m._errorEvent,R,void 0,void 0,void 0,S);return}var H=P.tiles,J=P.maxzoom;if(w=Math.max(w,J),!P.projection||P.projection==="EPSG:4326")m._tilingScheme=new Cesium.GeographicTilingScheme({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:m._ellipsoid});else if(P.projection==="EPSG:3857")m._tilingScheme=new Cesium.WebMercatorTilingScheme({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:m._ellipsoid});else{R='The projection "'+P.projection+'" is invalid or not supported.',I=Cesium.TileProviderError.handleError(I,m,m._errorEvent,R,void 0,void 0,void 0,S);return}if(m._levelZeroMaximumGeometricError=Cesium.TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(m._tilingScheme.ellipsoid,m._heightmapWidth,m._tilingScheme.getNumberOfXTilesAtLevel(0)),!P.scheme||P.scheme==="tms"||P.scheme==="slippyMap")m._scheme=P.scheme;else{R='The scheme "'+P.scheme+'" is invalid or not supported.',I=Cesium.TileProviderError.handleError(I,m,m._errorEvent,R,void 0,void 0,void 0,S);return}var K;Cesium.defined(P.extensions)&&P.extensions.indexOf("octvertexnormals")!==-1?T=!0:Cesium.defined(P.extensions)&&P.extensions.indexOf("vertexnormals")!==-1&&(T=!0,U=!1),Cesium.defined(P.extensions)&&P.extensions.indexOf("watermask")!==-1&&(L=!0),Cesium.defined(P.extensions)&&P.extensions.indexOf("metadata")!==-1&&(F=!0);var X=P.metadataAvailability,j=P.available,ee;if(Cesium.defined(j)&&!Cesium.defined(X)){ee=new Cesium.TileAvailability(m._tilingScheme,j.length);for(var ie=0;ie<j.length;++ie){var z=j[ie],oe=m._tilingScheme.getNumberOfYTilesAtLevel(ie);Cesium.defined(v[ie])||(v[ie]=[]);for(var le=0;le<z.length;++le){var Ae=z[le],he=oe-Ae.endY-1,ge=oe-Ae.startY-1;v[ie].push([Ae.startX,he,Ae.endX,ge]),ee.addAvailableTileRange(ie,Ae.startX,he,Ae.endX,ge)}}}else Cesium.defined(X)&&(K=new Cesium.TileAvailability(m._tilingScheme,J),ee=new Cesium.TileAvailability(m._tilingScheme,J),v[0]=[[0,0,1,0]],ee.addAvailableTileRange(0,0,0,1,0));m._hasWaterMask=m._hasWaterMask||L,m._hasVertexNormals=m._hasVertexNormals||T,m._hasMetadata=m._hasMetadata||F,Cesium.defined(P.attribution)&&(y.length>0&&(y+=" "),y+=P.attribution),x.push(new Wbi({resource:C,version:P.version,isHeightmap:N,tileUrlTemplates:H,availability:ee,hasVertexNormals:T,hasWaterMask:L,hasMetadata:F,availabilityLevels:X,availabilityTilesLoaded:K,littleEndianExtensionSize:U}));var de=P.parentUrl;if(Cesium.defined(de)){if(!Cesium.defined(ee))return console.log("A layer.json can't have a parentUrl if it does't have an available array."),Cesium.when.resolve();C=C.getDerivedResource({url:de}),C.appendForwardSlash(),E=C.getDerivedResource({url:"layer.json"});var fe=E.fetchJson();return Cesium.when(fe,Q,M)}return Cesium.when.resolve()}function M(P){var R="An error occurred while accessing "+E.url+".";I=Cesium.TileProviderError.handleError(I,m,m._errorEvent,R,void 0,void 0,void 0,S)}function B(P){Q(P).then(function(){if(!Cesium.defined(I)){var R=v.length;if(R>0)for(var T=m._availability=new Cesium.TileAvailability(m._tilingScheme,w),L=0;L<R;++L)for(var F=v[L],U=0;U<F.length;++U){var N=F[U];T.addAvailableTileRange(L,N[0],N[1],N[2],N[3])}if(y.length>0){var H=new Cesium.Credit(y);Cesium.defined(m._tileCredits)?m._tileCredits.push(H):m._tileCredits=[H]}m._ready=!0,m._readyPromise.resolve(!0)}})}function D(P){B({extensions:["octvertexnormals"],format:"quantized-mesh-1.0",maxzoom:18,minzoom:0,name:"world",projection:"EPSG:3857",scheme:"slippyMap",tilejson:"1.0",tiles:["{z}/{x}/{y}.terrain"],version:"1.0.0"})}function S(){Cesium.when(E.fetchJson()).then(B).otherwise(D)}}var RQe={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function Tnt(o){if(!Cesium.defined(o)||o.length===0)return{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"};var A=o.join("-");return{Accept:"application/vnd.quantized-mesh;extensions="+A+",application/octet-stream;q=0.9,*/*;q=0.01"}}function qbi(o,A,f,m,C){var E=new Uint16Array(A,0,o._heightmapWidth*o._heightmapWidth);return new Cesium.HeightmapTerrainData({buffer:E,childTileMask:new Uint8Array(A,E.byteLength,1)[0],waterMask:new Uint8Array(A,E.byteLength+1,A.byteLength-E.byteLength-1),width:o._heightmapWidth,height:o._heightmapWidth,structure:o._heightmapStructure,credits:o._tileCredits})}function jbi(o,A,f,m,C,E){var I=E.littleEndianExtensionSize,x=0,y=3,v=y+1,w=Float64Array.BYTES_PER_ELEMENT*y,Q=Float64Array.BYTES_PER_ELEMENT*v,M=3,B=Uint16Array.BYTES_PER_ELEMENT*M,D=3,S=Uint16Array.BYTES_PER_ELEMENT,P=S*D,R=new DataView(A),T=new Cesium.Cartesian3(R.getFloat64(x,!0),R.getFloat64(x+8,!0),R.getFloat64(x+16,!0));x+=w;var L=R.getFloat32(x,!0);x+=Float32Array.BYTES_PER_ELEMENT;var F=R.getFloat32(x,!0);x+=Float32Array.BYTES_PER_ELEMENT;var U=new Cesium.BoundingSphere(new Cesium.Cartesian3(R.getFloat64(x,!0),R.getFloat64(x+8,!0),R.getFloat64(x+16,!0)),R.getFloat64(x+w,!0));x+=Q;var N=new Cesium.Cartesian3(R.getFloat64(x,!0),R.getFloat64(x+8,!0),R.getFloat64(x+16,!0));x+=w;var H=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;var J=new Uint16Array(A,x,H*3);x+=H*B,H>64*1024&&(S=Uint32Array.BYTES_PER_ELEMENT,P=S*D);var K=J.subarray(0,H),X=J.subarray(H,2*H),j=J.subarray(H*2,3*H);Cesium.AttributeCompression.zigZagDeltaDecode(K,X,j),x%S!==0&&(x+=S-x%S);var ee=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;var ie=Cesium.IndexDatatype.createTypedArrayFromArrayBuffer(H,A,x,ee*D);x+=ee*P;for(var z=0,oe=ie.length,le=0;le<oe;++le){var Ae=ie[le];ie[le]=z-Ae,Ae===0&&++z}var he=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;var ge=Cesium.IndexDatatype.createTypedArrayFromArrayBuffer(H,A,x,he);x+=he*S;var de=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;var fe=Cesium.IndexDatatype.createTypedArrayFromArrayBuffer(H,A,x,de);x+=de*S;var G=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;var Y=Cesium.IndexDatatype.createTypedArrayFromArrayBuffer(H,A,x,G);x+=G*S;var W=R.getUint32(x,!0);x+=Uint32Array.BYTES_PER_ELEMENT;var O=Cesium.IndexDatatype.createTypedArrayFromArrayBuffer(H,A,x,W);x+=W*S;for(var re,se;x<R.byteLength;){var ce=R.getUint8(x,!0);x+=Uint8Array.BYTES_PER_ELEMENT;var me=R.getUint32(x,I);if(x+=Uint32Array.BYTES_PER_ELEMENT,ce===RQe.OCT_VERTEX_NORMALS&&o._requestVertexNormals)re=new Uint8Array(A,x,H*2);else if(ce===RQe.WATER_MASK&&o._requestWaterMask)se=new Uint8Array(A,x,me);else if(ce===RQe.METADATA&&o._requestMetadata){var Ce=R.getUint32(x,!0);if(Ce>0){var ye=Cesium.getJsonFromTypedArray(new Uint8Array(A),x+Uint32Array.BYTES_PER_ELEMENT,Ce),Be=ye.available;if(Cesium.defined(Be))for(var Me=0;Me<Be.length;++Me)for(var He=f+Me+1,ke=Be[Me],Ne=o._tilingScheme.getNumberOfYTilesAtLevel(He),Pe=0;Pe<ke.length;++Pe){var we=ke[Pe],Fe=Ne-we.endY-1,Ue=Ne-we.startY-1;o.availability.addAvailableTileRange(He,we.startX,Fe,we.endX,Ue),E.availability.addAvailableTileRange(He,we.startX,Fe,we.endX,Ue)}}E.availabilityTilesLoaded.addAvailableTileRange(f,m,C,m,C)}x+=me}var ze=o.getLevelMaximumGeometricError(f)*5,Je=o._tilingScheme.tileXYToRectangle(m,C,f),je=Cesium.OrientedBoundingBox.fromRectangle(Je,L,F,o._tilingScheme.ellipsoid);return new Cesium.QuantizedMeshTerrainData({center:T,minimumHeight:L,maximumHeight:F,boundingSphere:U,orientedBoundingBox:je,horizonOcclusionPoint:N,quantizedVertices:J,encodedNormals:re,indices:ie,westIndices:ge,southIndices:fe,eastIndices:Y,northIndices:O,westSkirtHeight:ze,southSkirtHeight:ze,eastSkirtHeight:ze,northSkirtHeight:ze,childTileMask:o.availability.computeChildMaskForTile(f,m,C),waterMask:se,credits:o._tileCredits})}Q3.prototype.requestTileGeometry=function(o,A,f,m){var C=this._layers,E,I=C.length;if(I===1)E=C[0];else for(var x=0;x<I;++x){var y=C[x];if(!Cesium.defined(y.availability)||y.availability.isTileAvailable(f,o,A)){E=y;break}}return Pnt(this,o,A,f,E,m)};function Pnt(o,A,f,m,C,E){if(!Cesium.defined(C))return Cesium.when.reject(new Cesium.RuntimeError("Terrain tile doesn't exist"));var I=C.tileUrlTemplates;if(I.length!==0){var x;if(!o._scheme||o._scheme==="tms"){var y=o._tilingScheme.getNumberOfYTilesAtLevel(m);x=y-f-1}else x=f;var v=[];o._requestVertexNormals&&C.hasVertexNormals&&v.push(C.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),o._requestWaterMask&&C.hasWaterMask&&v.push("watermask"),o._requestMetadata&&C.hasMetadata&&v.push("metadata");var w,Q,M=I[(A+x+m)%I.length],B=C.resource;Cesium.defined(B._ionEndpoint)&&!Cesium.defined(B._ionEndpoint.externalType)?(v.length!==0&&(Q={extensions:v.join("-")}),w=Tnt(void 0)):w=Tnt(v);var D=B.getDerivedResource({url:M,templateValues:{version:C.version,z:m,x:A,y:x},queryParameters:Q,headers:w,request:E}).fetchArrayBuffer();if(!!Cesium.defined(D))return D.then(function(S){return Cesium.defined(o._heightmapStructure)?qbi(o,S,m,A,f):jbi(o,S,m,A,f,C)}).otherwise(function(S){var P=16,R=16;return Cesium.when.resolve(new Cesium.HeightmapTerrainData({buffer:new Uint8Array(P*R),width:P,height:R}))})}}Object.defineProperties(Q3.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});Q3.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};Q3.prototype.getTileDataAvailable=function(o,A,f){if(!!Cesium.defined(this._availability)){if(f>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(f,o,A))return!0;if(!this._hasMetadata)return!1;for(var m=this._layers,C=m.length,E=0;E<C;++E){var I=Rnt(this,o,A,f,m[E],E===0);if(I.result)return}return!1}};Q3.prototype.loadTileDataAvailability=function(o,A,f){if(!(!Cesium.defined(this._availability)||f>this._availability._maximumLevel||this._availability.isTileAvailable(f,o,A)||!this._hasMetadata))for(var m=this._layers,C=m.length,E=0;E<C;++E){var I=Rnt(this,o,A,f,m[E],E===0);if(Cesium.defined(I.promise))return I.promise}};function LQe(o,A,f,m){if(m!==0){var C=o.availabilityLevels,E=m%C===0?m-C:(m/C|0)*C,I=1<<m-E,x=A/I|0,y=f/I|0;return{level:E,x,y}}}function Rnt(o,A,f,m,C,E){if(!Cesium.defined(C.availabilityLevels))return{result:!1};for(var I,x=function(){delete C.availabilityPromiseCache[I]},y=C.availabilityTilesLoaded,v=C.availability,w=LQe(C,A,f,m);Cesium.defined(w);){if(v.isTileAvailable(w.level,w.x,w.y)&&!y.isTileAvailable(w.level,w.x,w.y)){var Q;if(!E&&(I=w.level+"-"+w.x+"-"+w.y,Q=C.availabilityPromiseCache[I],!Cesium.defined(Q))){var M=new Cesium.Request({throttle:!1,throttleByServer:!0,type:Cesium.RequestType.TERRAIN});Q=Pnt(o,w.x,w.y,w.level,C,M),Cesium.defined(Q)&&(C.availabilityPromiseCache[I]=Q,Q.then(x))}return{result:!0,promise:Q}}w=LQe(C,w.x,w.y,w.level)}return{result:!1}}Q3._getAvailabilityTile=LQe;var Lnt=Q3;var Xbi=new Map([["centerX",Float64Array.BYTES_PER_ELEMENT],["centerY",Float64Array.BYTES_PER_ELEMENT],["centerZ",Float64Array.BYTES_PER_ELEMENT],["minHeight",Float32Array.BYTES_PER_ELEMENT],["maxHeight",Float32Array.BYTES_PER_ELEMENT],["boundingSphereCenterX",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterY",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterZ",Float64Array.BYTES_PER_ELEMENT],["boundingSphereRadius",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointX",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointY",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointZ",Float64Array.BYTES_PER_ELEMENT]]);function FQe(o){return o>>1^-(o&1)}function Zbi(o){let A=0,f={};for(let[m,C]of Xbi){let E=C===8?o.getFloat64:o.getFloat32;f[m]=E.call(o,A,!0),A+=C}return{header:f,headerEndPosition:A}}function $bi(o,A){let f=A,m=3,C=o.getUint32(f,!0),E=new Uint16Array(C*m);f+=Uint32Array.BYTES_PER_ELEMENT;let I=Uint16Array.BYTES_PER_ELEMENT,x=C*I,y=f,v=y+x,w=v+x,Q=0,M=0,B=0;for(let D=0;D<C;D++)Q+=FQe(o.getUint16(y+I*D,!0)),M+=FQe(o.getUint16(v+I*D,!0)),B+=FQe(o.getUint16(w+I*D,!0)),E[D]=Q,E[D+C]=M,E[D+C*2]=B;return f+=x*3,{vertexData:E,vertexDataEndPosition:f}}function $J(o,A,f,m,C=!0){let E;if(m===2?E=new Uint16Array(o,A,f):E=new Uint32Array(o,A,f),!C)return E;let I=0;for(let x=0;x<E.length;++x){let y=E[x];E[x]=I-y,y===0&&++I}return E}function eQi(o,A,f){let m=f,C=3,I=A.length/C>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT;m%I!==0&&(m+=I-m%I);let x=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let y=x*3,v=$J(o.buffer,m,y,I);return m+=y*I,{triangleIndicesEndPosition:m,triangleIndices:v}}function tQi(o,A,f){let m=f,C=3,I=A.length/C>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,x=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let y=$J(o.buffer,m,x,I,!1);m+=x*I;let v=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let w=$J(o.buffer,m,v,I,!1);m+=v*I;let Q=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let M=$J(o.buffer,m,Q,I,!1);m+=Q*I;let B=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let D=$J(o.buffer,m,B,I,!1);return m+=B*I,{edgeIndicesEndPosition:m,westIndices:y,southIndices:w,eastIndices:M,northIndices:D}}function iQi(o){return new Uint8Array(o.buffer,o.byteOffset,o.byteLength)}function rQi(o){return o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)}function nQi(o,A){let f={};if(o.byteLength<=A)return{extensions:f,extensionsEndPosition:A};let m=A;for(;m<o.byteLength;){let C=o.getUint8(m,!0);m+=Uint8Array.BYTES_PER_ELEMENT;let E=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let I=new DataView(o.buffer,m,E);switch(C){case 1:{f.vertexNormals=iQi(I);break}case 2:{f.waterMask=rQi(I);break}default:console.warn(`Unknown extension with id ${C}`)}m+=E}return{extensions:f,extensionsEndPosition:m}}var eK={header:0,vertices:1,triangleIndices:2,edgeIndices:3,extensions:4},oQi={maxDecodingStep:eK.extensions};function Fne(o,A){let f=Object.assign({},oQi,A),m=new DataView(o),{header:C,headerEndPosition:E}=Zbi(m);if(f.maxDecodingStep<eK.vertices)return{header:C};let{vertexData:I,vertexDataEndPosition:x}=$bi(m,E);if(f.maxDecodingStep<eK.triangleIndices)return{header:C,vertexData:I};let{triangleIndices:y,triangleIndicesEndPosition:v}=eQi(m,I,x);if(f.maxDecodingStep<eK.edgeIndices)return{header:C,vertexData:I,triangleIndices:y};let{westIndices:w,southIndices:Q,eastIndices:M,northIndices:B,edgeIndicesEndPosition:D}=tQi(m,I,v);if(f.maxDecodingStep<eK.extensions)return{header:C,vertexData:I,triangleIndices:y,westIndices:w,northIndices:B,eastIndices:M,southIndices:Q};let{extensions:S}=nQi(m,D);return{header:C,vertexData:I,triangleIndices:y,westIndices:w,northIndices:B,eastIndices:M,southIndices:Q,extensions:S}}var aQi=new Uint8Array([172,223,96,7,210,166,80,193,62,133,0,92,97,125,81,193,175,204,114,156,24,171,39,65,215,131,189,193,92,143,98,193,172,223,224,55,148,164,80,193,62,133,128,115,254,122,81,193,175,204,114,40,74,169,39,65,199,225,33,1,165,221,10,65,165,248,77,38,221,233,229,191,118,168,124,106,57,4,231,191,208,126,103,119,149,64,191,63,9,0,0,0,254,127,253,127,254,127,253,127,0,0,254,255,255,127,0,128,0,0,254,127,253,127,0,0,254,127,0,128,0,0,0,0,253,255,254,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,2,0,3,0,0,0,4,0,0,0,2,0,5,0,0,0,0,0,7,0,0,0,0,0,2,0,9,0,7,0,4,0,9,0,1,0,5,0,9,0,3,0,3,0,0,0,0,0,0,0,3,0,3,0,0,0,1,0,7,0,2,0,3,0,0,0,7,0,5,0,8,0,3,0,0,0,4,0,5,0,6,0]),tK=class{constructor(A={}){if(this.ready=!1,this.dummyTile=Fne(aQi.buffer),this.tilingScheme=A.tilingScheme||new Cesium.WebMercatorTilingScheme,A.url===void 0)throw new Error("url option is missing");A.credit!==void 0&&(this.credits=[new Cesium.Credit(A.credit)]),this.urlTemplates=A.url,(this.urlTemplates.length===0||this.urlTemplates[this.urlTemplates.length-1]!=="/")&&(this.urlTemplates=this.urlTemplates+"/"),this.readyPromise=Promise.resolve(!0),this.ready=!0}getUrl(A,f,m){let C=A,E=f;return this.urlTemplates+`${m}/${C}/${E}.terrain`}generateDummyTileHeader(A,f,m){let C=this.tilingScheme.tileXYToRectangle(A,f,m),E=this.tilingScheme.tileXYToNativeRectangle(A,f,m),I=Cesium.Cartographic.toCartesian(Cesium.Rectangle.center(C)),x=Cesium.Ellipsoid.WGS84.transformPositionToScaledSpace(I);return{centerX:I.x,centerY:I.y,centerZ:I.z,minHeight:0,maxHeight:0,boundingSphereCenterX:I.x,boundingSphereCenterY:I.y,boundingSphereCenterZ:I.z,boundingSphereRadius:E.height,horizonOcclusionPointX:x.x,horizonOcclusionPointY:x.y,horizonOcclusionPointZ:x.z}}createQuantizedMeshData(A,f,m,C){let E=this.tilingScheme.tileXYToRectangle(f,m,C),I=new Cesium.Cartesian3(A.header.boundingSphereCenterX,A.header.boundingSphereCenterY,A.header.boundingSphereCenterZ),x=new Cesium.BoundingSphere(I,A.header.boundingSphereRadius),y=new Cesium.Cartesian3(A.header.horizonOcclusionPointX,A.header.horizonOcclusionPointY,A.header.horizonOcclusionPointZ),v;return E.width<Cesium.Math.PI_OVER_TWO+Cesium.Math.EPSILON5&&(v=Cesium.OrientedBoundingBox.fromRectangle(E,A.header.minHeight,A.header.maxHeight)),new Cesium.QuantizedMeshTerrainData({minimumHeight:A.header.minHeight,maximumHeight:A.header.maxHeight,quantizedVertices:A.vertexData,indices:A.triangleIndices,boundingSphere:x,orientedBoundingBox:v,horizonOcclusionPoint:y,westIndices:A.westIndices,southIndices:A.southIndices,eastIndices:A.eastIndices,northIndices:A.northIndices,westSkirtHeight:100,southSkirtHeight:100,eastSkirtHeight:100,northSkirtHeight:100,childTileMask:15,credits:this.credits})}generateDummyTile(A,f,m){return Object.assign({},this.dummyTile,this.generateDummyTileHeader(A,f,m))}decodeResponse(A,f,m,C){return A.arrayBuffer().then(E=>Fne(E)).catch(E=>(console.error(`Decoding failed on tile ${this.getUrl(f,m,C)}`),console.error(E),this.generateDummyTile(f,m,C)))}requestTileGeometry(A,f,m){let C=this.getUrl(A,f,m);return window.fetch(C).then(E=>E.status!==200?this.generateDummyTile(A,f,m):this.decodeResponse(E,A,f,m)).then(E=>this.createQuantizedMeshData(E,A,f,m)).catch(E=>{console.error(E)})}getTileDataAvailable(A,f,m){return!0}getLevelMaximumGeometricError(A){return Cesium.TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(this.tilingScheme.ellipsoid,65,this.tilingScheme.getNumberOfXTilesAtLevel(0))/(1<<A)}};var iK=null;function WC(o,A){iK=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke,this._url="",this._show=!0}WC.prototype.createTerrainLayer=function(o,A,f,m,C,E){E=="Topography"?this.createTerrain(o,A,f,m,C):E=="sgs"?this.createSFSTerrain(o,A,f,m,C):E=="Arcgis"?this.createArcGISTerrain(o,A,f,m,C):C=="Cesium"&&this.createCesiumTerrain(o,A,f,m)};WC.prototype.createTerrain=function(o,A,f,m,C){var E={type:"default",url:"",requestVertexNormals:!1,requestWaterMask:!1,requestMetadata:!0,credit:""};this.name=o,this.option=A,this.GroupID=f,this.checked=m,this.Description=C,this.type="createTerrain";var I=null;if(this._core.isUrl(A)?(I=E,I.url=A):I=this._core.extend(E,A,!0),this._options=I,this._url=I.url,m)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{var y={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(f)?0:f),this}var x=I.type==="vector"?new Lnt(I):new iK.CesiumTerrainProvider(I);this._viewer.scene.terrainProvider=x,this.item=x,this._show=!0;var y={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(f)?0:f),this};WC.prototype.createCesiumTerrain=function(o,A,f,m){this.name=o,this.option=A,this.GroupID=f,this.checked=m,this.type="createCesiumTerrain";var C={requestVertexNormals:!0},E=this._core.extend(C,A,!0);this._options=E;var I=iK.createWorldTerrain(E);if(this.type="Cesium",this.item=I,m)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{var x={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(f)?0:f),this}this._viewer.scene.terrainProvider=I,this._show=!0;var x={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(f)?0:f),this};WC.prototype.createSFSTerrain=function(o,A,f,m,C){var E=new TQe(this._viewer,A,this._cesium);if(this.name=o,this.option=A,this.GroupID=f,this.checked=m,this.Description=C,this.type="createSFSTerrain",this.type="SGS",this._url=A.url,this.layerName=A.layerName,this.requestVertexNormals=A.requestVertexNormals,m)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{this._show=!0;var I={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this}this._viewer.terrainProvider=E,this.item=E,this._show=!0;var I={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this};WC.prototype.createSFSTerrain71=function(o,A,f,m,C){var E=new PQe(this._viewer,A);if(this.name=o,this.option=A,this.GroupID=f,this.checked=m,this.Description=C,this.type="createSFSTerrain",this.type="SGS71",this._url=A.url,this.layerName=A.layerName,this.requestVertexNormals=A.requestVertexNormals,m)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{this._show=!0;var I={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this}this._viewer.terrainProvider=E,this.item=E,this._show=!0;var I={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this};WC.prototype.createWMTSTerrain=function(o,A,f,m,C){var E=new tK({url:A.url});if(this._viewer.scene.mode=this._cesium.SceneMode.COLUMBUS_VIEW,this.name=o,this.option=A,this.GroupID=f,this.checked=m===void 0?!0:m,this.Description=C,this.type="createWMTSTerrain",this.type="WMTSTerrain",this._url=A.url,this.layerName=A.layerName,this.requestVertexNormals=A.requestVertexNormals,this.checked)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{this._show=!0;var I={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this}this._viewer.terrainProvider=E,this.item=E,this._show=!0;var I={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this};WC.prototype.createArcGISTerrain=function(o,A,f,m,C){var E={url:""};this.name=o,this.option=A,this.GroupID=f,this.checked=m,this.Description=C,this.type="createArcGISTerrain";var I=null;this._core.isUrl(A)?(I=E,I.url=A):I=this._core.extend(E,A,!0),this.type="ArcGIS",this._url=I.url;var x=new this._cesium.ArcGISTiledElevationTerrainProvider(I);if(m)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{this._show=!0;var y={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(f)?0:f),this}this._viewer.terrainProvider=x,this.item=x,this._show=!0;var y={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(f)?0:f),this};WC.prototype.getType=function(){return{label:"\u5F71\u50CF",value:"TerrainProvider"}};WC.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.item._layers[0].resource.url;return{type:"TerrainLayer",treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,url:A}}};WC.prototype.setVisibility=function(o){var A;if(o){Ke.setVisibility(this.GroupID,!1,this._viewer,this._cesium);var f;if(this.type==="SGS")f=this.option,A=new TQe(this._viewer,f,this._cesium);else if(this.type==="SGS71")f=this.option,A=new PQe(this._viewer,f);else if(this.type==="ArcGIS")f=this.option,A=new iK.ArcGISTiledElevationTerrainProvider(f);else if(this.type==="Cesium")A=iK.createWorldTerrain(this._options);else{var m=this._options,C={url:"",requestVertexNormals:!1,requestWaterMask:!1,requestMetadata:!0,credit:""};this._core.isUrl(m)?(f=C,f.url=m):f=this._core.extend(C,m,!0),A=new this._cesium.CesiumTerrainProvider(f)}this._show=!0,this.item=A,this._viewer.scene.terrainProvider=A}else A=new this._cesium.EllipsoidTerrainProvider({}),this.item=A,this._show=!1,this._viewer.scene.terrainProvider=A};WC.prototype.getVisibility=function(){return this._show};WC.prototype.setTreeobj=function(o){this.treeobj=o};WC.prototype.deleteObject=function(){try{this.item=new this._cesium.EllipsoidTerrainProvider({}),this._viewer.scene.terrainProvider=this.item}catch(o){console.log(o.message)}};Object.defineProperties(WC.prototype,{});var XD=WC;function D0(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this.item={show:!0},this._primitive=void 0,this._Provider=void 0,this.Legend=[],this.datas=[],this.PrimitiveData=[],this.PrimitiveObj={key:"",data:{}},this.Primitivekey=[],this.tilesLength=0,this.returnCount=0,this._primitiveByTile={},this._tileKeys=[],this._primitiveCollection=new this._cesium.PrimitiveCollection,this._cache=!1,this._forceRefreshPrvimitive=null}D0.prototype.createVolumeVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E,I){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(x,f,!0);this._core.isnull(m)&&(m=16),this._core.isnull(C)&&(C=14),A==null&&console.log("url is required"),o==null&&console.log("layername is required");var v=[],w=this;this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=styleOption.level_max-1,this._Provider.loadTile=function(B,D){if(this.tile=D,D.state===w._cesium.QuadtreeTileLoadState.START)if(D.data={lines:[],geometryPrimitive:void 0},D.level>=C&&D.level<m){var S=Ii.filter(v,function(P){return P.x==D.x&&P.y==D.y&&P.level==D.level});if(S.length!=0&&S[0].data&&S[0].data.length>0){D.data.geometryPrimitive=new w._cesium.Primitive({geometryInstances:S[0].data,appearance:new w._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:w._cesium.ShadowMode.ENABLED}),D.state=w._cesium.QuadtreeTileLoadState.LOADING,D.state===w._cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&D.data.geometryPrimitive.update(B,[]),D.state=w._cesium.QuadtreeTileLoadState.DONE,D.renderable=!0);return}v.push({level:D.level,x:D.x,y:D.y,data:void 0}),function(P){w._core.xhr({url:A+"?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&LAYER="+o+"&STYLE=&TILEMATRIX=EPSG:4490:"+P.level+"&TILEMATRIXSET=EPSG:4490&FORMAT=application/json;type=geojson&TILECOL="+P.x+"&TILEROW="+P.y,type:"get",dataType:"json",success:function(R){var T=[];function L(K){for(var X=0;X<K.length;X++)Array.isArray(K[X])?L(K[X]):U.push(K[X])}for(var F=0;F<R.features.length;F++){var U=[];L(R.features[F].geometry.coordinates[0]);var N=w._cesium.Cartesian3.fromDegreesArray(U);y.positions=N;var H=new w._cesium.GeometryInstance({geometry:new w._cesium.PolylineVolumeGeometry({polylinePositions:y.positions}),attributes:{color:new w._cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.WHITE)}});T.push(H)}var J=Ii.filter(v,function(K){return K.x==P.x&&K.y==P.y});J[0].data=T,P.data.geometryPrimitive=new w._cesium.Primitive({geometryInstances:T,appearance:new w._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:w._cesium.ShadowMode.ENABLED})},error:function(){v=Ii.remove(v,function(R){return R.x==P.x&&R.y==P.y&&R.level==P.level})},complete:function(){P.state=w._cesium.QuadtreeTileLoadState.LOADING,P.state===w._cesium.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive&&P.data.geometryPrimitive.update(B,[]),P.state=w._cesium.QuadtreeTileLoadState.DONE,P.renderable=!0)}})}(D)}else D.state=w._cesium.QuadtreeTileLoadState.LOADING,D.state===w._cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&D.data.geometryPrimitive.update(B,[]),D.state=w._cesium.QuadtreeTileLoadState.DONE,D.renderable=!0)},this._primitive=new w._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive)};D0.prototype.createVolumeGeoJsonFeatureLayer1=function(o,A,f,m,C){var E={polylinePositions:void 0,shapePositions:void 0,ellipsoid:this._cesium.Ellipsoid.WGS84,granularity:this._cesium.Math.RADIANS_PER_DEGREE,vertexFormat:this._cesium.VertexFormat.DEFAULT,cornerType:this._cesium.CornerType.ROUNDED};A==null&&console.log("geojson is required");var I=null;A.then?I=A:I=this._cesium.GeoJsonDataSource.load(A);var x=this,y=[];E.shapePositions=this.computeCircle(f.radius),I.then(function(w){var Q=x._cesium.Color.WHITE;!x._core.isnull(f)&&!x._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"?Q=f.material.replace(/\[/,"").replace("/]/",""):Q=Ii.clone(f.material),x._core.isHtmlColor(Q)?Q=x._color.colorFromHtmlColor(f.material):(/^rgb/.test(Q)&&(Q=x._color.rgbaStringToRgbaObj(Q)),Q.r>1&&(Q.r=Q.r/255),Q.g>1&&(Q.g=Q.g/255),Q.b>1&&(Q.b=Q.b/255),Q.a>1&&(Q.a=Q.a/255),Q=x._color.createColor(Q.r,Q.g,Q.b,Q.a)));for(var M=w.entities.values,B=0;B<M.length;B++){var D=M[B];E.polylinePositions=D.polyline.positions._value;var S=new x._cesium.PolylineVolumeGeometry(E),P=x._cesium.PolylineVolumeGeometry.createGeometry(S),R=new x._cesium.GeometryInstance({geometry:P});y.push(R)}var T="material:"+Q.red*255+","+Q.green*255+","+Q.blue*255;x.Legend.push(T);var L=x._viewer.scene.primitives.add(new x._cesium.Primitive({geometryInstances:y,appearance:new x._cesium.MaterialAppearance({material:new x._cesium.Material({fabric:{type:"Color",uniforms:{color:Q}}}),faceForward:!0,flat:!1})}));x.item=L,f.show==!1&&(L.show=!1),typeof C=="function"&&C(L)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u7BA1\u72B6\u56FE\u5C42"+f.id);var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:geoOptions.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};D0.prototype.computeCircle=function(o){this._core.isnull(o)&&(o=4);for(var A=[],f=0;f<360;f++){var m=this._cesium.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};D0.prototype.createVolumeGeoJsonFeatureLayerProvider1=function(o,A,f,m,C,E){var I=this,x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.RECEIVE_ONLY},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var v=this._core.extend(x,f,!0),w=new yu(this._viewer,this._cesium,y);this._Provider=w;var Q=this;w._loadTile=function(B){var D=[],S=new Q._cesium.PrimitiveCollection;return Q.Legend=[],B.features.forEach(function(P){var R=[];function T(he){for(var ge=0;ge<he.length;ge++)Array.isArray(he[ge])?T(he[ge]):R.push(he[ge])}var L=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var F=f.material.replace(/\[/,"").replace(/\]/,"");v.material=P.properties[F],I._core.isHtmlColor(v.material)?v.material=I._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=I._color.rgbaStringToRgbaObj(v.material)),v.material.r>1&&(v.material.r=v.material.r/255),v.material.g>1&&(v.material.g=v.material.g/255),v.material.b>1&&(v.material.b=v.material.b/255),v.material.a>1&&(v.material.a=v.material.a/255),v.material=I._color.createColor(v.material.r,v.material.g,v.material.b,v.material.a))}for(var U=0;U<P.geometry.coordinates.length;U++){var N=P.geometry.coordinates[U];if(N.length>0)if(Array.isArray(N[0]))for(var H=0;H<N.length;H++){var J=N[H],K=Q._cesium.Cartesian3.fromDegrees(J[0],J[1],v.height);L.push(K)}else{var X=Q._cesium.Cartesian3.fromDegrees(N[0],N[1],v.height);L.push(X)}}if(v.position=L,P.positions=L,v.slttype=="0"||v.slttype==0)v.shape=Q._core.computeCircle(v.radius);else if(v.slttype=="1"||v.slttype==1)v.shape=Q._core.starPositions(v.number,v.exradius,v.inradius);else if(v.slttype=="2"||v.slttype==2){var j=v.orth_width/2,ee=v.orth_height/2;v.shape=[new Q._cesium.Cartesian2(-j,-ee),new Q._cesium.Cartesian2(j,-ee),new Q._cesium.Cartesian2(j,ee),new Q._cesium.Cartesian2(-j,ee)]}var ie={polylinePositions:v.position,shapePositions:v.shape,cornerType:v.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}},z=new Q._cesium.PolylineVolumeGeometry(ie),oe=new Q._cesium.GeometryInstance({id:P,geometry:z,attributes:{color:new Q._cesium.ColorGeometryInstanceAttribute.fromColor(v.material)}}),le="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;Q.Legend.push(le);var Ae=new Q._cesium.Primitive({allowPicking:!0,appearance:new Q._cesium.MaterialAppearance({material:new Q._cesium.Material({fabric:{type:"Color",uniforms:{color:v.material}}}),faceForward:!0,flat:!1}),shadows:v.shadows,geometryInstances:oe});S.add(Ae)}),S},this.item=w._primitiveCollection,w.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var M={id:v.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A.url,style:f};this.setTreeobj(M),this._tree.insertGroupId(M,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};D0.prototype.createVolumeGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=this,x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.RECEIVE_ONLY,radiusScale:1},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var v=this._core.extend({...x},f,!0);if(typeof v.radius=="string"&&v.radius.indexOf("[")>-1&&v.radius.indexOf("]")>-1)v.radius=v.radius.replace("[",""),v.radius=v.radius.replace("]",""),v.shape=void 0;else if(v.slttype=="0"||v.slttype==0){v.shape=this._core.computeCircle(v.radius);var w=v.radius/2,Q=v.radius/2;v.shape1=[new this._cesium.Cartesian2(-w,-Q),new this._cesium.Cartesian2(w,-Q),new this._cesium.Cartesian2(w,Q),new this._cesium.Cartesian2(-w,Q)]}else if(v.slttype=="1"||v.slttype==1)v.shape=this._core.starPositions(v.number,v.exradius,v.inradius);else if(v.slttype=="2"||v.slttype==2){var w=v.orth_width/2,Q=v.orth_height/2;v.shape=[new this._cesium.Cartesian2(-w,-Q),new this._cesium.Cartesian2(w,-Q),new this._cesium.Cartesian2(w,Q),new this._cesium.Cartesian2(-w,Q)]}let M=A.url.indexOf("/gisserver/")>-1;var B;M?B=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:B=A.url+"?"+this._serialize(y.urlParams),this._urlTemplate=B,this._Provider=new is(this._viewer,this._cesium,M?new Cesium.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height||0),this.item.show=C,this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(L,F){(function(U,N,H){if(N.state===Cesium.QuadtreeTileLoadState.START){if(N.data={lines:[],geometryPrimitive:void 0},N.level>=f.level_min&&N.level<f.level_max&&H.item.show){if(M&&(N.reverseY=H._Provider.tilingScheme.getNumberOfYTilesAtLevel(N.level)-N.y-1),H.TileMatrixLimits){let K=H.TileMatrixLimits[N.level];if(!K||K&&(N.x>K.maxCol||N.x<K.minCol||N.y>K.maxRow||N.y<K.minRow)){N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0;return}}var J=B.replace(window.encodeURIComponent("{x}"),N.x).replace(window.encodeURIComponent("{y}"),N.reverseY||N.y).replace(window.encodeURIComponent("{z}"),N.level);H._cache&&(J+="&"+H._core.getuid()),H._core.xhr({url:J,type:"get",dataType:"json",success:function(K){if(K==null){N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0;return}if(!v.shape&&typeof v.radius=="string"&&K.features.length>0){let Be;if(K.features[0]&&K.features[0].properties[v.radius])if(Be=K.features[0].properties[v.radius],Be.indexOf&&(Be.indexOf("*")>-1||Be.indexOf("x")>-1||Be.indexOf("X")>-1)){Be.indexOf("*")>-1?Be=Be.split("*"):Be.indexOf("X")>-1?Be=Be.split("X"):Be.indexOf("x")>-1&&(Be=Be.split("x"));let Me=parseFloat(Be[0])*v.radiusScale,He=parseFloat(Be[1])*v.radiusScale;v.shape=[new H._cesium.Cartesian2(-Me,-He),new H._cesium.Cartesian2(Me,-He),new H._cesium.Cartesian2(Me,He),new H._cesium.Cartesian2(-Me,He)]}else v.shape=H._core.computeCircle(Be*v.radiusScale);else v.shape=H._core.computeCircle(.5)}H.Legend=[];for(var X=[],j=[],ee=0;ee<K.features.length;ee++){var ie=K.features[ee];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var z=f.material.replace(/\[/,"").replace(/\]/,"");v.material=ie.properties[z],H._core.isHtmlColor(v.material)?v.material=H._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=H._color.rgbaStringToRgbaObj(v.material)),v.material.r>1&&(v.material.r=v.material.r/255),v.material.g>1&&(v.material.g=v.material.g/255),v.material.b>1&&(v.material.b=v.material.b/255),v.material.a>1&&(v.material.a=v.material.a/255),v.material=H._color.createColor(v.material.r,v.material.g,v.material.b,v.material.a))}for(var oe=[],le=[],Ae=parseFloat(f.height||0),he=0;he<ie.geometry.coordinates.length;he++){var ge=ie.geometry.coordinates[he];if(ge.length>0)if(Array.isArray(ge[0]))for(var de=0;de<ge.length;de++){var fe=ge[de];Ae=Ae<(fe[2]||0)?fe[2]||0:Ae;var G=H._cesium.Cartesian3.fromDegrees(fe[0],fe[1],v.height);oe.push(G),le.push(v.material)}else{Ae=Ae<(ge[2]||0)?ge[2]||0:Ae;var Y=H._cesium.Cartesian3.fromDegrees(ge[0],ge[1],v.height);oe.push(Y),le.push(v.material)}}N._minimumHeight=Ae,v.position=oe,ie.positions=oe;var W="",O="",re=!0;if(v.slttype=="0"||v.slttype==0)if(N.level>=parseFloat(f.level_max)-8&&parseFloat(f.level_max)>19){W=v.shape;var se={polylinePositions:v.position,shapePositions:W,cornerType:v.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}};O=new H._cesium.PolylineVolumeGeometry(se)}else if(N.level>=parseFloat(f.level_max)-4&&parseFloat(f.level_max)>16){W=v.shape;var se={polylinePositions:v.position,shapePositions:W,cornerType:v.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}};O=new H._cesium.PolylineVolumeGeometry(se)}else if(N.level>=parseFloat(f.level_max)-4){W=v.shape;var se={polylinePositions:v.position,shapePositions:W,cornerType:v.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}};O=new H._cesium.PolylineVolumeGeometry(se)}else{W="";var ce={positions:v.position,width:1,vertexFormat:H._cesium.PolylineColorAppearance.VERTEX_FORMAT,colors:le};O=new H._cesium.PolylineGeometry(ce),re=!1}else{W=v.shape;var se={polylinePositions:v.position,shapePositions:W,cornerType:v.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}};O=new H._cesium.PolylineVolumeGeometry(se)}var me=new H._cesium.GeometryInstance({id:ie,geometry:O,attributes:{color:new H._cesium.ColorGeometryInstanceAttribute.fromColor(v.material)}});W==""&&(me=new H._cesium.GeometryInstance({id:ie,geometry:O})),j.push(me)}var Ce="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;H.Legend.push(Ce),j.length==0&&(N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0);var ye=null;W==""?ye=new H._cesium.Primitive({appearance:new H._cesium.PolylineColorAppearance,geometryInstances:j}):ye=new H._cesium.Primitive({allowPicking:!0,appearance:new H._cesium.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:H._core.Shaders("vertexShaderSource"),fragmentShaderSource:H._core.Shaders("fragmentShaderSource")}),shadows:v.shadows,geometryInstances:j}),N.data.geometryPrimitive=ye,N.state=Cesium.QuadtreeTileLoadState.LOADING,N.state===Cesium.QuadtreeTileLoadState.LOADING&&(N.data.geometryPrimitive.update(U,[]),N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0)},error:function(){N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0}})}else{N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0;return}N.state=Cesium.QuadtreeTileLoadState.LOADING}})(L,F,I)},typeof E=="function"&&E(this.item)};let D,S;this.saveDefaultVectorData=()=>{S=I._core.extend({},f,!0)},this.restoreVector=()=>{S&&(f=S,v=I._core.extend({...x},f,!0),I._Provider._normalTile=f.level_max-1,I._primitive&&I._primitive._tilesToRender&&I._primitive._tilesToRender.length&&(I._primitive._tilesToRender.forEach(L=>{L.data.geomeitryPrimitive&&L.data.geomeitryPrimitive.destroy(),L.state=Cesium.QuadtreeTileLoadState.START}),I._primitive._tileToUpdateHeights.forEach(L=>{L.data.geomeitryPrimitive&&L.data.geomeitryPrimitive.destroy(),L.state=Cesium.QuadtreeTileLoadState.START}),I._primitive._tileToUpdateHeights=[],I._primitive._tilesToRender=[])),S=void 0},this.updataVector=(L={})=>{if(L.material&&L.material&&(L.material=Cesium.Color.fromCssColorString(L.material)),(L.minimumLevel!==void 0||L.maximumLevel!==void 0)&&(L.minimumLevel!==void 0&&(L.level_min=L.minimumLevel),L.maximumLevel!==void 0&&(L.level_max=L.maximumLevel)),typeof L.radius=="string"&&L.radius.indexOf("[")>-1&&L.radius.indexOf("]")>-1)v.radius=v.radius.replace("[",""),v.radius=v.radius.replace("]",""),v.shape=void 0;else if(L.radius){if(v.slttype=="0"||v.slttype==0){v.shape=this._core.computeCircle(v.radius);var F=v.radius/2,U=v.radius/2;v.shape1=[new this._cesium.Cartesian2(-F,-U),new this._cesium.Cartesian2(F,-U),new this._cesium.Cartesian2(F,U),new this._cesium.Cartesian2(-F,U)]}else if(v.slttype=="1"||v.slttype==1)v.shape=this._core.starPositions(v.number,v.exradius,v.inradius);else if(v.slttype=="2"||v.slttype==2){var F=v.orth_width/2,U=v.orth_height/2;v.shape=[new this._cesium.Cartesian2(-F,-U),new this._cesium.Cartesian2(F,-U),new this._cesium.Cartesian2(F,U),new this._cesium.Cartesian2(-F,U)]}}f=I._core.extend(f,L,!0),v=I._core.extend(v,f,!0),I._Provider._normalTile=f.level_max-1,I._primitive&&I._primitive._tilesToRender&&I._primitive._tilesToRender.length&&(clearTimeout(D),D=setTimeout(()=>{I._primitive._tilesToRender.forEach(N=>{N.data.geomeitryPrimitive&&N.data.geomeitryPrimitive.destroy(),N.state=Cesium.QuadtreeTileLoadState.START}),I._primitive._tileToUpdateHeights.forEach(N=>{N.data.geomeitryPrimitive&&N.data.geomeitryPrimitive.destroy(),N.state=Cesium.QuadtreeTileLoadState.START}),I._primitive._tileToUpdateHeights=[],I._primitive._tilesToRender=[]},100))},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var P=this._viewer.scene,R=P.primitives;f&&f.time&&(this._Provider._availability=new I._cesium.TimeIntervalCollection([new I._cesium.TimeInterval({start:f.time.start?I._cesium.JulianDate.fromDate(new Date(f.time.start)):I._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?I._cesium.JulianDate.fromDate(new Date(f.time.end)):I._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(L){if(!Cesium.defined(L))throw new Cesium.DeveloperError("time is required.");var F=this._availability;return!Cesium.defined(F)||F.contains(L)}),R.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4490",gisserverTMS:M},L=>{I.item.boundingSphere=L.boundingSphere,I.TileMatrixLimits=L.TileMatrixLimits,I.initThisProvider()}),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id);var T={id:v.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A.url,style:f};return this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),this};var sQi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};D0.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":sQi(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};D0.prototype.createVolumeVectorGeoJsonFeatureLayerOptimization=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.RECEIVE_ONLY},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this,v=this._core.extend(I,f,!0);if(v.slttype=="0"||v.slttype==0)v.shape=y._core.computeCircle(v.radius);else if(v.slttype=="1"||v.slttype==1)v.shape=y._core.starPositions(v.number,v.exradius,v.inradius);else if(v.slttype=="2"||v.slttype==2){var w=v.orth_width/2,Q=v.orth_height/2;v.shape=[new y._cesium.Cartesian2(-w,-Q),new y._cesium.Cartesian2(w,-Q),new y._cesium.Cartesian2(w,Q),new y._cesium.Cartesian2(-w,Q)]}A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var M=[];this._urlTemplate=A.url+"?"+this._serialize(x.urlParams),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(P,R){this.tile=null,this.tile=R;var T=[];if(R.state===this._cesium.QuadtreeTileLoadState.START&&y.item.show){var L="z"+R.level+"x"+R.x+"y"+R.y;if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<f.level_max&&y.item.show)y.Primitivekey.includes(L)||function(F){var U=y._urlTemplate.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{y}"),F.y).replace(window.encodeURIComponent("{z}"),F.level);y.tilesLength++,y._cache&&(U+="&"+y._core.getuid()),y._core.xhr({url:U,type:"get",dataType:"json",success:function(N){var H=[],J=[],K=new y._cesium.PrimitiveCollection;y.Legend=[];function X(Ae){for(var he=0;he<Ae.length;he++)Array.isArray(Ae[he])?X(Ae[he]):ie.push(Ae[he])}function j(){if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var Ae=f.material.replace(/\[/,"").replace(/\]/,"");v.material=z.properties[Ae],y._core.isHtmlColor(v.material)?v.material=y._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=y._color.rgbaStringToRgbaObj(v.material)),v.material.r>1&&(v.material.r=v.material.r/255),v.material.g>1&&(v.material.g=v.material.g/255),v.material.b>1&&(v.material.b=v.material.b/255),v.material.a>1&&(v.material.a=v.material.a/255),v.material=y._color.createColor(v.material.r,v.material.g,v.material.b,v.material.a))}var he=y._cesium.Cartesian3.fromDegreesArray(ie);v.position=he,z.positions=he;var ge={polylinePositions:v.position,shapePositions:v.shape,cornerType:v.cornerType},de=new y._cesium.PolylineVolumeGeometry(ge),fe=new y._cesium.GeometryInstance({id:z,geometry:de,attributes:{color:new y._cesium.ColorGeometryInstanceAttribute.fromColor(v.material)}}),G="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;y.Legend.push(G),H.push(fe);var Y=new y._cesium.Primitive({allowPicking:!0,appearance:new y._cesium.MaterialAppearance({material:new y._cesium.Material({fabric:{type:"Color",uniforms:{color:v.material}}}),faceForward:!0,flat:!1}),shadows:v.shadows,geometryInstances:fe});K.add(Y)}for(var ee=0;ee<N.features.length;ee++){var ie=[],z=N.features[ee];if(Array.isArray(z.geometry.coordinates)&&z.geometry.coordinates.length>0)if(Array.isArray(z.geometry.coordinates[0][0]))for(var oe=0;oe<z.geometry.coordinates.length;oe++)ie=[],z.geometry.coordinates[oe].pop(),X(z.geometry.coordinates[oe]),ie.length>2&&j(ie);else X(z.geometry.coordinates),ie.length>2&&j(ie)}if(H.length>0){y.PrimitiveObj.data=K,y.PrimitiveObj.key=y.Primitivekey[y.returnCount];var le={key:y.Primitivekey[y.returnCount],data:K};y.PrimitiveData.push(le),y._primitiveCollection.add(K),y._viewer.scene.primitives.add(K),y.datas.push(K),y.returnCount++,y._primitiveByTile[L]=K}},error:function(){M=Ii.remove(M,function(N){return N.x==F.x&&N.y==F.y&&N.level==F.level})},complete:function(N,H){N=null,F.state=y._cesium.QuadtreeTileLoadState.LOADING,F.state===y._cesium.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive&&(F.state=y._cesium.QuadtreeTileLoadState.DONE),F.renderable=!0)}})}(R);else{R.state=y._cesium.QuadtreeTileLoadState.LOADING,R.state===y._cesium.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive&&(R.state=y._cesium.QuadtreeTileLoadState.DONE),R.renderable=!0);return}}},this._primitive=new y._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var B=this._viewer.scene,D=B.primitives;D.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var S={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(S),this._tree.insertGroupId(S,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};D0.prototype.setTreeobj=function(o){this.treeobj=o};D0.prototype._removeObsoletePrimitives=function(o,A){var f=[];A.length>0&&(f=A);for(var m in o)if(!f.includes(m)){var C=this._primitiveCollection.remove(o[m]);C&&delete o[m]}};D0.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};D0.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};D0.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};D0.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};D0.prototype.setVisibility=function(o){this.item.show=o,this._Provider&&this._Provider.setStatus(o)};D0.prototype.isCache=function(o){this._cache=o};D0.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};D0.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var rK=D0;function _p(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this.item={show:!0},this._option=void 0,this._primitive=void 0,this._Provider=void 0,this.Legend=[],this.datas=[],this.PrimitiveData=[],this.PrimitiveObj={key:"",data:{}},this.Primitivekey=[],this.tilesLength=0,this.returnCount=0,this._cache=!1,this._forceRefreshPrvimitive=null}var lQi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};_p.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":lQi(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};_p.prototype.createVolumeVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},w=this;this._urlTemplate=A.url+"?"+this._core._serialize(x.urlParams),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){if(this.tile=S,S.state===this._cesium.QuadtreeTileLoadState.START&&w.item.show){var P="z"+S.level+"x"+S.x+"y"+S.y;if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<f.level_max&&w.item.show){var R=Ii.filter(y,function(T){return T.x==S.x&&T.y==S.y&&T.level==S.level});if(R.length!=0&&R[0].data&&R[0].data.length>0){S.data.geometryPrimitive=new w._cesium.Primitive({geometryInstances:R[0].data,appearance:new w._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:w._cesium.ShadowMode.ENABLED}),S.state=w._cesium.QuadtreeTileLoadState.LOADING,S.state===w._cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&S.data.geometryPrimitive.update(),S.state=w._cesium.QuadtreeTileLoadState.DONE,S.renderable=!0);return}y.push({level:S.level,x:S.x,y:S.y,data:void 0}),function(T){var L=w._urlTemplate.replace(window.encodeURIComponent("{x}"),T.x).replace(window.encodeURIComponent("{y}"),T.y).replace(window.encodeURIComponent("{z}"),T.level);w._cache&&(L+="&"+w._core.getuid()),w._core.xhr({url:L,type:"get",dataType:"json",success:function(F){var U=[],N=[];w.Legend=[];function H(ie){for(var z=0;z<ie.length;z++)Array.isArray(ie[z])?H(ie[z]):X.push(ie[z])}function J(){if(/^\[/.test(w._option.extrudedHeight)&&/\]$/.test(w._option.extrudedHeight)){var ie=w._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(j.properties[ie])}else v.extrudedHeight=parseFloat(w._option.extrudedHeight);if(v.material=w._option.material,/^\[/.test(w._option.material)&&/\]$/.test(w._option.material)){var z=w._option.material.replace(/\[/,"").replace(/\]/,"");v.material=j.properties[z],w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else w._option.material&&(v.material=w._option.material),v.material&&(w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));var oe=w._cesium.Cartesian3.fromDegreesArray(X);v.polygonHierarchy=new w._cesium.PolygonHierarchy(oe);var le=new w._cesium.PolygonGeometry(v),Ae=w._cesium.PolygonGeometry.createGeometry(le),he=new w._cesium.GeometryInstance({id:j,geometry:Ae,attributes:{color:new w._cesium.ColorGeometryInstanceAttribute.fromColor(v.material)}}),ge="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;w.Legend.push(ge),U.push(he)}for(var K=0;K<F.features.length;K++){var X=[],j=F.features[K];if(Array.isArray(j.geometry.coordinates)&&j.geometry.coordinates.length>0)if(Array.isArray(j.geometry.coordinates[0][0]))for(var ee=0;ee<j.geometry.coordinates.length;ee++)X=[],j.geometry.coordinates[ee].pop(),H(j.geometry.coordinates[ee]),J(X);else H(j.geometry.coordinates),J(X)}T.data.geometryPrimitive=new w._cesium.Primitive({geometryInstances:U,appearance:new w._cesium.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:w._core.Shaders("vertexShaderSource"),fragmentShaderSource:w._core.Shaders("fragmentShaderSource")}),shadows:w._option.shadows})},error:function(){y=Ii.remove(y,function(F){return F.x==T.x&&F.y==T.y&&F.level==T.level})},complete:function(F,U){F=null,T.state=w._cesium.QuadtreeTileLoadState.LOADING,T.state===w._cesium.QuadtreeTileLoadState.LOADING&&(T.data.geometryPrimitive&&T.data.geometryPrimitive.update(D),T.state=w._cesium.QuadtreeTileLoadState.DONE,T.renderable=!0)}})}(S)}else{S.state=w._cesium.QuadtreeTileLoadState.LOADING,S.state===w._cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&S.data.geometryPrimitive.update(D,[]),S.state=w._cesium.QuadtreeTileLoadState.DONE,S.renderable=!0);return}}},this._primitive=new w._cesium.QuadtreePrimitive({tileProvider:this._Provider});var Q=this._viewer.scene,M=Q.primitives;f&&f.time&&(this._Provider._availability=new w._cesium.TimeIntervalCollection([new w._cesium.TimeInterval({start:f.time.start?w._cesium.JulianDate.fromDate(new Date(f.time.start)):w._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?w._cesium.JulianDate.fromDate(new Date(f.time.end)):w._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(D){if(!Cesium.defined(D))throw new Cesium.DeveloperError("time is required.");var S=this._availability;return!Cesium.defined(S)||S.contains(D)}),M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};_p.prototype.createVolumeVectorGeoJsonFeatureLayerOptimization=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},w=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){if(this.tile=null,this.tile=S,S.state===this._cesium.QuadtreeTileLoadState.START&&w.item.show){var P="z"+S.level+"x"+S.x+"y"+S.y;if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<f.level_max&&w.item.show){var R=Ii.filter(y,function(L){return L.x==S.x&&L.y==S.y&&L.level==S.level});if(R.length!=0&&R[0].data&&R[0].data.length>0){S.data.geometryPrimitive=new w._cesium.Primitive({geometryInstances:R[0].data,appearance:new w._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:w._cesium.ShadowMode.ENABLED}),S.state=w._cesium.QuadtreeTileLoadState.LOADING,S.state===w._cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=w._cesium.QuadtreeTileLoadState.DONE),S.renderable=!0);return}if(w.PrimitiveData.length>0){for(var T=0;T<w.PrimitiveData.length;T++)if(w.PrimitiveData[T].key==P){w.Primitivekey.push(P);return}}w.Primitivekey.includes(P)||(w.Primitivekey.push(P),y.push({level:S.level,x:S.x,y:S.y,data:void 0}),function(L){var F=w._urlTemplate.replace(window.encodeURIComponent("{x}"),L.x).replace(window.encodeURIComponent("{y}"),L.y).replace(window.encodeURIComponent("{z}"),L.level);w._cache&&(F+="&"+w._core.getuid()),w.tilesLength++,w._core.xhr({url:F,type:"get",dataType:"json",success:function(U){var N=[],H=[];w.Legend=[];function J(le){for(var Ae=0;Ae<le.length;Ae++)Array.isArray(le[Ae])?J(le[Ae]):j.push(le[Ae])}function K(){if(/^\[/.test(w._option.extrudedHeight)&&/\]$/.test(w._option.extrudedHeight)){var le=w._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(ee.properties[le])}if(v.extrudedHeight=parseFloat(w._option.extrudedHeight),v.material=w._option.material,/^\[/.test(w._option.material)&&/\]$/.test(w._option.material)){var Ae=w._option.material.replace(/\[/,"").replace(/\]/,"");v.material=ee.properties[Ae],w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else w._option.material&&(v.material=w._option.material),v.material&&(w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));var he=w._cesium.Cartesian3.fromDegreesArray(j);v.polygonHierarchy=new w._cesium.PolygonHierarchy(he);var ge=new w._cesium.PolygonGeometry(v),de=new w._cesium.GeometryInstance({id:ee,geometry:ge,attributes:{color:new w._cesium.ColorGeometryInstanceAttribute.fromColor(v.material)}}),fe="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;w.Legend.push(fe),N.push(de)}for(var X=0;X<U.features.length;X++){var j=[],ee=U.features[X];if(Array.isArray(ee.geometry.coordinates)&&ee.geometry.coordinates.length>0)if(Array.isArray(ee.geometry.coordinates[0][0]))for(var ie=0;ie<ee.geometry.coordinates.length;ie++)j=[],ee.geometry.coordinates[ie].pop(),J(ee.geometry.coordinates[ie]),K(j);else J(ee.geometry.coordinates),K(j)}var z=new w._cesium.Primitive({geometryInstances:N,appearance:new w._cesium.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:w._core.Shaders("vertexShaderSource"),fragmentShaderSource:w._core.Shaders("fragmentShaderSource")}),shadows:w._option.shadows});w.PrimitiveObj.data=z,w.PrimitiveObj.key=w.Primitivekey[w.returnCount];var oe={key:w.Primitivekey[w.returnCount],data:z};w.PrimitiveData.push(oe),w._viewer.scene.primitives.add(z),w.datas.push(z),w.returnCount++,w.returnCount>=w.tilesLength&&(w.returnCount=0,w.tilesLength=0,w.Primitivekey=[])},error:function(){y=Ii.remove(y,function(U){return U.x==L.x&&U.y==L.y&&U.level==L.level})},complete:function(U,N){U=null,L.state=w._cesium.QuadtreeTileLoadState.LOADING,L.state===w._cesium.QuadtreeTileLoadState.LOADING&&(L.data.geometryPrimitive&&(L.state=w._cesium.QuadtreeTileLoadState.DONE),L.renderable=!0)}})}(S))}else{S.state=w._cesium.QuadtreeTileLoadState.LOADING,S.state===w._cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&(S.state=w._cesium.QuadtreeTileLoadState.DONE),S.renderable=!0);return}}},this._primitive=new w._cesium.QuadtreePrimitive({tileProvider:this._Provider});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};_p.prototype.createVolumeVectorGeoJsonFeatureLayersd=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),this._option=this._core.extend(I,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:Cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:Cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:Cesium.ArcType.GEODESIC,material:Cesium.Color.RED},w=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams);var Q=A.url.split("geoserver")[0]+"geoserver/polygon/ows?service=WFS&version=1.0.0&request=GetFeature&typeName="+x.urlParams.LAYER+"&outputFormat=application%2Fjson",M=Q;w._core.xhr({url:M,type:"get",async:!1,dataType:"json",success:function(P){w.datas=P.features}}),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(P,R){if(this.tile=R,R.state===Cesium.QuadtreeTileLoadState.START&&w.item.show){var T="z"+R.level+"x"+R.x+"y"+R.y;if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<f.level_max&&w.item.show){var L=Ii.filter(y,function(F){return F.x==R.x&&F.y==R.y&&F.level==R.level});if(L.length!=0&&L[0].data&&L[0].data.length>0){R.data.geometryPrimitive=new Cesium.Primitive({geometryInstances:L[0].data,appearance:new Cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:Cesium.ShadowMode.ENABLED}),R.state=Cesium.QuadtreeTileLoadState.LOADING,R.state===Cesium.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive&&R.data.geometryPrimitive.update(),R.state=Cesium.QuadtreeTileLoadState.DONE,R.renderable=!0);return}y.push({level:R.level,x:R.x,y:R.y,data:void 0}),function(F){var U=w._urlTemplate.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{y}"),F.y).replace(window.encodeURIComponent("{z}"),F.level);w._cache&&(U+="&"+w._core.getuid()),w._core.xhr({url:U,type:"get",dataType:"json",success:function(N){var H=[],J=[];w.Legend=[];function K(he){for(var ge=0;ge<he.length;ge++)Array.isArray(he[ge])?(he[ge].length==3&&(he[ge].splice(2,1),he[ge].push(this._option.height)),K(he[ge])):ee.push(he[ge])}function X(){if(/^\[/.test(w._option.extrudedHeight)&&/\]$/.test(w._option.extrudedHeight)){var he=w._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(oe.properties[he])}else v.extrudedHeight=parseFloat(w._option.extrudedHeight);if(v.material=w._option.material,/^\[/.test(w._option.material)&&/\]$/.test(w._option.material)){var ge=w._option.material.replace(/\[/,"").replace(/\]/,"");v.material=oe.properties[ge],w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else w._option.material&&(v.material=w._option.material),v.material&&(w._core.isHtmlColor(v.material)?v.material=w._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=w._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=w._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));var de=Cesium.Cartesian3.fromDegreesArrayHeights(ee);v.polygonHierarchy=new Cesium.PolygonHierarchy(de);var de=Cesium.Cartesian3.fromDegreesArrayHeights(ee),fe={positions:de,width:w._option.outlineWidth,color:Cesium.ColorGeometryInstanceAttribute.fromColor(w._option.outlineColor)},G=new Cesium.PolylineGeometry(fe),Y=new Cesium.GeometryInstance({geometry:G}),W="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;w.Legend.push(W),J.push(Y)}for(var j=0;j<N.features.length;j++){var ee=[],ie=N.features[j].id,z=parseInt(ie.split(".")[1])+1,oe=w.datas[z];if(Array.isArray(oe.geometry.coordinates)&&oe.geometry.coordinates.length>0&&Array.isArray(oe.geometry.coordinates[0][0][0]))for(var le=0;le<oe.geometry.coordinates[0].length;le++)ee=[],K(oe.geometry.coordinates[0][le]),X(ee)}var Ae=new Cesium.PrimitiveCollection;Ae.add(new Cesium.Primitive({geometryInstances:J,appearance:new Cesium.PolylineColorAppearance})),F.data.geometryPrimitive=Ae},error:function(){y=Ii.remove(y,function(N){return N.x==F.x&&N.y==F.y&&N.level==F.level})},complete:function(N,H){N=null,F.state=Cesium.QuadtreeTileLoadState.LOADING,F.state===Cesium.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive&&F.data.geometryPrimitive.update(P),F.state=Cesium.QuadtreeTileLoadState.DONE,F.renderable=!0)}})}(R)}else{R.state=Cesium.QuadtreeTileLoadState.LOADING,R.state===Cesium.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive&&R.data.geometryPrimitive.update(P,[]),R.state=Cesium.QuadtreeTileLoadState.DONE,R.renderable=!0);return}}},this._primitive=new w._cesium.QuadtreePrimitive({tileProvider:this._Provider});var B=this._viewer.scene,D=B.primitives;D.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var S={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(S),this._tree.insertGroupId(S,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};_p.prototype.createVolumeVectorGeoJsonFeatureLayerDth=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};this._option=this._core.extend(I,f,!0),A==null&&console.log("url is required"),o==null&&console.log("layername is required");var y=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:100,vertexFormat:Cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:Cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:Cesium.ArcType.GEODESIC,material:Cesium.Color.WHITE},w=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams),this._Provider=new is(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,S){if(this.tile=S,_serialize,S.state===Cesium.QuadtreeTileLoadState.START&&w.item.show){var P="z"+S.level+"x"+S.x+"y"+S.y;if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<f.level_max&&w.item.show){var R=Ii.filter(y,function(T){return T.x==S.x&&T.y==S.y&&T.level==S.level});if(R.length!=0&&R[0].data&&R[0].data.length>0){S.data.geometryPrimitive=new Cesium.Primitive({geometryInstances:R[0].data,appearance:new Cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:Cesium.ShadowMode.ENABLED}),S.state=Cesium.QuadtreeTileLoadState.LOADING,S.state===Cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&S.data.geometryPrimitive.update(D,[]),S.state=Cesium.QuadtreeTileLoadState.DONE,S.renderable=!0);return}y.push({level:S.level,x:S.x,y:S.y,data:void 0}),function(T){var L=w._urlTemplate.replace(window.encodeURIComponent("{x}"),T.x).replace(window.encodeURIComponent("{y}"),T.y).replace(window.encodeURIComponent("{z}"),T.level);w._cache&&(L+="&"+w._core.getuid()),w._core.xhr({url:L,type:"get",dataType:"json",success:function(F){var U=[];w.Legend=[];var N=new w._cesium.PrimitiveCollection;function H(ge){for(var de=0;de<ge.length;de++)Array.isArray(ge[de])?H(ge[de]):K.push(ge[de])}for(var J=0;J<F.features.length;J++){var K=[],X=F.features[J];if(H(F.features[J].geometry.coordinates[0]),/^\[/.test(w._option.extrudedHeight)&&/\]$/.test(w._option.extrudedHeight)){var j=w._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");w._option.extrudedHeight=parseFloat(X.properties[j])}else w._option.extrudedHeight=parseFloat(w._option.extrudedHeight);if(w._option.heightReference==1&&delete w._option.height,w._option.extrudedHeightReference==1&&delete w._option.extrudedHeight,/^\[/.test(w._option.material)&&/\]$/.test(w._option.material)){var ee=w._option.material.replace(/\[/,"").replace(/\]/,"");w._option.material=X.properties[ee],w._core.isHtmlColor(w._option.material)?w._option.material=w._color.colorFromHtmlColor(w._option.material):(/^rgb/.test(w._option.material)&&(w._option.material=w._color.rgbaStringToRgbaObj(w._option.material)),w._option.material.red>1&&(w._option.material.red=w._option.material.red/255),w._option.material.green>1&&(w._option.material.green=w._option.material.green/255),w._option.material.blue>1&&(w._option.material.blue=w._option.material.blue/255),w._option.material.alpha>1&&(w._option.material.a=w._option.material.alpha/255),w._option.material=w._color.createColor(w._option.material.red,w._option.material.green,w._option.material.blue,w._option.material.alpha))}else w._option.material&&(w._option.material=w._option.material),w._option.material&&(w._core.isHtmlColor(w._option.material)?w._option.material=w._color.colorFromHtmlColor(w._option.material):(/^rgb/.test(w._option.material)&&(w._option.material=w._color.rgbaStringToRgbaObj(w._option.material)),w._option.material.red>1&&(w._option.material.red=w._option.material.red/255),w._option.material.green>1&&(w._option.material.green=w._option.material.green/255),w._option.material.blue>1&&(w._option.material.blue=w._option.material.blue/255),w._option.material.alpha>1&&(w._option.material.a=w._option.material.alpha/255),w._option.material=w._color.createColor(w._option.material.red,w._option.material.green,w._option.material.blue,w._option.material.alpha)));var ie=Cesium.Cartesian3.fromDegreesArray(K);X.positions=ie,w._option.polygonHierarchy=new Cesium.PolygonHierarchy(ie);var z=new Cesium.PolygonGeometry(w._option),oe=Cesium.PolygonGeometry.createGeometry(z),le="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;w.Legend.push(le);var Ae=new Cesium.GeometryInstance({id:X,geometry:oe,attributes:{color:new w._cesium.ColorGeometryInstanceAttribute.fromColor(w._option.material)}}),he=new Cesium.ClassificationPrimitive({geometryInstances:U,appearance:new Cesium.PerInstanceColorAppearance({closed:!0,flat:!1}),classificationType:w._option.classificationType,shadows:Cesium.ShadowMode.ENABLED});N.add(he)}T.data.geometryPrimitive=N},error:function(){y=Ii.remove(y,function(F){return F.x==T.x&&F.y==T.y&&F.level==T.level})},complete:function(){T.state=Cesium.QuadtreeTileLoadState.LOADING,T.state===Cesium.QuadtreeTileLoadState.LOADING&&(T.data.geometryPrimitive&&T.data.geometryPrimitive.update(D,[]),T.state=Cesium.QuadtreeTileLoadState.DONE,T.renderable=!0)}})}(S)}else{S.state=Cesium.QuadtreeTileLoadState.LOADING,S.state===Cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&S.data.geometryPrimitive.update(D,[]),S.state=Cesium.QuadtreeTileLoadState.DONE,S.renderable=!0);return}}},this._primitive=new w._cesium.QuadtreePrimitive({tileProvider:this._Provider});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(w._option.id)&&(w._option.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+w._option.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:w._option.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};_p.prototype.createVolumeGeoJsonFeatureLayer=function(o,A,f,m,C){var E={polylinePositions:void 0,shapePositions:void 0,ellipsoid:this._cesium.Ellipsoid.WGS84,granularity:this._cesium.Math.RADIANS_PER_DEGREE,vertexFormat:this._cesium.VertexFormat.DEFAULT,cornerType:this._cesium.CornerType.ROUNDED};A==null&&console.log("geojson is required");var I=null;A.then?I=A:I=this._cesium.GeoJsonDataSource.load(A);var x=this,y=[];E.shapePositions=this.computeCircle(f.radius),I.then(function(w){var Q=x._cesium.Color.WHITE;!x._core.isnull(f)&&!x._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"?Q=f.material.replace(/\[/,"").replace("/]/",""):Q=Ii.clone(f.material),x._core.isHtmlColor(Q)?Q=x._color.colorFromHtmlColor(f.material):(/^rgb/.test(Q)&&(Q=x._color.rgbaStringToRgbaObj(Q)),Q.r>1&&(Q.r=Q.r/255),Q.g>1&&(Q.g=Q.g/255),Q.b>1&&(Q.b=Q.b/255),Q.a>1&&(Q.a=Q.a/255),Q=x._color.createColor(Q.r,Q.g,Q.b,Q.a)));for(var M=w.entities.values,B=0;B<M.length;B++){var D=M[B];E.polylinePositions=D.polyline.positions._value;var S=new x._cesium.PolylineVolumeGeometry(E),P=x._cesium.PolylineVolumeGeometry.createGeometry(S),R=new x._cesium.GeometryInstance({geometry:P});y.push(R)}var T=x._viewer.scene.primitives.add(new x._cesium.Primitive({geometryInstances:y,appearance:new x._cesium.MaterialAppearance({material:new x._cesium.Material({fabric:{type:"Color",uniforms:{color:Q}}}),faceForward:!0,flat:!1})}));x.item=T,f.show==!1&&(T.show=!1),typeof C=="function"&&C(T)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u7BA1\u72B6\u56FE\u5C42"+f.id);var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:geoOptions.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};_p.prototype.computeCircle=function(o){this._core.isnull(o)&&(o=4);for(var A=[],f=0;f<360;f++){var m=this._cesium.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};_p.prototype.createVolumeGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.RECEIVE_ONLY},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(I,f,!0),v=new yu(this._viewer,this._cesium,x);this._Provider=v;var w=this;v._loadTile=function(M){var B=[],D=new w._cesium.PrimitiveCollection;return M.features.forEach(function(S){var P=[];function R(Ae){for(var he=0;he<Ae.length;he++)Array.isArray(Ae[he])?R(Ae[he]):P.push(Ae[he])}var T=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var L=f.material.replace(/\[/,"").replace(/\]/,"");y.material=S.properties[L],that._core.isHtmlColor(y.material)?y.material=that._color.colorFromHtmlColor(y.material):(/^rgb/.test(y.material)&&(y.material=that._color.rgbaStringToRgbaObj(y.material)),y.material.r>1&&(y.material.r=y.material.r/255),y.material.g>1&&(y.material.g=y.material.g/255),y.material.b>1&&(y.material.b=y.material.b/255),y.material.a>1&&(y.material.a=y.material.a/255),y.material=that._color.createColor(y.material.r,y.material.g,y.material.b,y.material.a))}for(var F=0;F<S.geometry.coordinates.length;F++){var U=S.geometry.coordinates[F];if(U.length>0)if(Array.isArray(U[0]))for(var N=0;N<U.length;N++){var H=U[N],J=w._cesium.Cartesian3.fromDegrees(H[0],H[1],y.height);T.push(J)}else{var K=w._cesium.Cartesian3.fromDegrees(U[0],U[1],y.height);T.push(K)}}if(y.position=T,S.positions=T,y.slttype=="0"||y.slttype==0)y.shape=w._core.computeCircle(y.radius);else if(y.slttype=="1"||y.slttype==1)y.shape=w._core.starPositions(y.number,y.exradius,y.inradius);else if(y.slttype=="2"||y.slttype==2){var X=y.orth_width/2,j=y.orth_height/2;y.shape=[new w._cesium.Cartesian2(-X,-j),new w._cesium.Cartesian2(X,-j),new w._cesium.Cartesian2(X,j),new w._cesium.Cartesian2(-X,j)]}var ee={polylinePositions:y.position,shapePositions:y.shape,cornerType:y.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}},ie=new w._cesium.PolylineVolumeGeometry(ee),z=w._cesium.PolylineVolumeGeometry.createGeometry(ie),oe=new w._cesium.GeometryInstance({id:S,geometry:z,attributes:{color:new w._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}}),le=new w._cesium.Primitive({allowPicking:!0,appearance:new w._cesium.MaterialAppearance({material:new w._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}}),faceForward:!0,flat:!1}),shadows:y.shadows,geometryInstances:oe});D.add(le)}),D},this.item=v._primitiveCollection,v.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A.url,style:f};this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};_p.prototype.setTreeobj=function(o){this.treeobj=o};_p.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};_p.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};_p.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(o)}catch{}};_p.prototype.setVisibility=function(o){try{this.item!=null&&this.item.show!=null&&(this.item.show=o),this._Provider&&this._Provider.setStatus(o)}catch{}};_p.prototype.isCache=function(o){this._cache=o};_p.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};_p.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var nK=_p;function Nne(o,A){this._viewer=o,this._cesium=A,this.SkyBoxFS=`uniform samplerCube u_cubeMap; in vec3 v_texCoord; void main() { vec4 color = texture(u_cubeMap, normalize(v_texCoord)); out_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime); } `,this.SkyBoxVS=`in vec3 position; uniform mat3 u_rotateMatrix; out vec3 v_texCoord; void main() { vec3 p = czm_viewRotation * u_rotateMatrix * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position)); gl_Position = czm_projection * vec4(p, 1.0); v_texCoord = position.xyz; } `}Nne.prototype.setSpaceBackground=function(o){return this.clear&&this.clear(),this._viewer.container.style.backgroundImage="url("+o+")",this._viewer.scene.backgroundColor=new this._cesium.Color(0,0,0,0),this._viewer.scene.skyAtmosphere.show=!1,this._viewer.scene.skyBox&&(this._viewer.scene.skyBox.show=!1),this.clear=()=>{this._viewer.container.style.backgroundImage="unset",this._viewer.scene.skyBox&&(this._viewer.scene.skyBox.show=!0),this._viewer.scene.backgroundColor=new this._cesium.Color(0,0,0,1),this._viewer.scene.skyAtmosphere.show=!0},this};Nne.prototype.SkyBox=function(o,A){this.defaultSky||(this.defaultSky=this._viewer.scene.skyBox,this.defaultSky&&!this.defaultSky.show&&(this.defaultSky.show=!0)),this.NearGround=o;var f=this,m=this._viewer,C=this.getSkyBox(A);this._SkyBox=C,m.scene.skyBox=C,o&&this._viewer.scene.postRender.addEventListener(E);function E(){var I=m.camera.position;f._cesium.Cartographic.fromCartesian(I).height<23e4?(C&&(m.scene.skyBox=C),m.scene.skyAtmosphere.show=!1):(f.defaultSky&&(m.scene.skyBox=f.defaultSky),m.scene.skyAtmosphere.show=!0)}return this.clear=function(){f.defaultSky&&(f._viewer.scene.skyBox=f.defaultSky),f.defaultSky=void 0,f._viewer.scene.skyAtmosphere.show=!0,f.NearGround&&f._viewer.scene.postRender.removeEventListener(E),f.clear=void 0},this};Nne.prototype.getSkyBox=function(o){var A=this,f=new this._cesium.SkyBox({sources:o});return this.NearGround&&(f.update=function(m,C){var E=this;if(this.show&&(m.mode===A._cesium.SceneMode.SCENE3D||m.mode===A._cesium.SceneMode.MORPHING)&&m.passes.render){var I=m.context;if(this._sources!==this.sources){this._sources=this.sources;var x=this.sources;typeof x.positiveX=="string"?A._cesium.loadCubeMap(I,this._sources).then(function(M){E._cubeMap=E._cubeMap&&E._cubeMap.destroy(),E._cubeMap=M}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new A._cesium.CubeMap({context:I,source:x}))}var y=this._command;if(!A._cesium.defined(y.vertexArray)){y.uniformMap={u_cubeMap:function(){return E._cubeMap},u_rotateMatrix:function(){return A.NearGround?(y.modelMatrix=A._cesium.Transforms.eastNorthUpToFixedFrame(m.camera._positionWC),A._cesium.Matrix4.getMatrix3(y.modelMatrix,new A._cesium.Matrix3)):A._cesium.Matrix3.IDENTITY}};var v=A._cesium.BoxGeometry.createGeometry(A._cesium.BoxGeometry.fromDimensions({dimensions:new A._cesium.Cartesian3(2,2,2),vertexFormat:A._cesium.VertexFormat.POSITION_ONLY})),w=this._attributeLocations=A._cesium.GeometryPipeline.createAttributeLocations(v);y.vertexArray=A._cesium.VertexArray.fromGeometry({context:I,geometry:v,attributeLocations:w,bufferUsage:A._cesium.BufferUsage.STATIC_DRAW}),y.renderState=A._cesium.RenderState.fromCache({blending:A._cesium.BlendingState.ALPHA_BLEND})}if(!A._cesium.defined(y.shaderProgram)||this._useHdr!==C){var Q=new A._cesium.ShaderSource({defines:[C?"HDR":""],sources:[A.SkyBoxFS]});y.shaderProgram=A._cesium.ShaderProgram.fromCache({context:I,vertexShaderSource:A.SkyBoxVS,fragmentShaderSource:Q,attributeLocations:this._attributeLocations}),this._useHdr=C}if(A._cesium.defined(this._cubeMap))return y}}),f};var Fnt=Nne;function Ym(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A)}Ym.prototype.createWindField=function(o,A){var f,m=this;return this.WindFieldOption={color:this._cesium.Color.WHITE,speed:.15,num:2e3,maxAge:10,brighten:1.5},A||(A={}),A.color&&(A.color=this._cesium.Color.fromCssColorString(A.color)),this.WindFieldOption=this._core.extend(this.WindFieldOption,A,!1),this.destroy(),this.windData=void 0,this.windField=void 0,this.particles=[],this.lines=void 0,this.timer=void 0,this.primitives=this._viewer.scene.primitives,$.ajax({type:"get",async:!1,url:o,dataType:"json",success:function(C){m.windData=C,m._init(),m.timer=setInterval(function(){m.animate()},200)},error:function(C){console.log("\u8BF7\u6C42\u98CE\u573A\u6570\u636E\u5931\u8D25!")}}),this};Ym.prototype._init=function(){this.windField=this.createField();for(var o=0;o<this.WindFieldOption.num;o++)this.particles.push(this.randomParticle(new AQi))};Ym.prototype.createField=function(){var o=this._parseWindJson();return new NQe(o)};Ym.prototype.animate=function(){var o=this,A=o.windField,f=o.particles,m=[],C=null,E=null,I=null,x=null;f.forEach(function(y){if(y.age<=0&&o.randomParticle(y),y.age>0){var v=y.x,w=y.y;A.isInBound(v,w)?(x=A.getIn(v,w),C=v+o.WindFieldOption.speed*x[0],E=w+o.WindFieldOption.speed*x[1],y.path.push(C,E),y.x=C,y.y=E,m.push(o._createLineInstance(o._map(y.path),y.age/y.birthAge)),y.age--):y.age=0}}),m.length<=0&&this.removeLines(),o._drawLines(m)};Ym.prototype._parseWindJson=function(){var o=null,A=null,f=null;return this.windData.forEach(function(m){var C=m.header.parameterCategory+","+m.header.parameterNumber;switch(C){case"2,2":o=m.data,f=m.header;break;case"2,3":A=m.data;break;default:break}}),{header:f,uComponent:o,vComponent:A}};Ym.prototype.removeLines=function(){this.lines&&(this.primitives.remove(this.lines),this.lines.destroy())};Ym.prototype._map=function(o){for(var A=o.length,f=this.windField,m=f.dx,C=f.dy,E=f.west,I=f.north,x=[],y=0;y<=A-2;y+=2)x.push(E+o[y]*m,I-o[y+1]*C);return x};Ym.prototype._createLineInstance=function(o,A){for(var f=[],m=o.length,C=m/2,E=0;E<m;E++)f.push(this.WindFieldOption.color==="random"?this._cesium.Color.fromRandom({alpha:E/C*A*this.WindFieldOption.brighten}):this.WindFieldOption.color.withAlpha(E/C*A*this.WindFieldOption.brighten));return new this._cesium.GeometryInstance({geometry:new this._cesium.PolylineGeometry({positions:this._cesium.Cartesian3.fromDegreesArray(o),colors:f,width:1.5,colorsPerVertex:!0})})};Ym.prototype._drawLines=function(o){this.removeLines();var A=new this._cesium.Primitive({appearance:new this._cesium.PolylineColorAppearance({translucent:!0}),geometryInstances:o,asynchronous:!1});this.lines=this.primitives.add(A)};Ym.prototype.randomParticle=function(o){var A=30,f,m;do f=Math.floor(Math.random()*(this.windField.cols-2)),m=Math.floor(Math.random()*(this.windField.rows-2));while(this.windField.getIn(f,m)[2]<=0&&A++<30);return o.x=f,o.y=m,o.age=Math.round(Math.random()*this.WindFieldOption.maxAge),o.birthAge=o.age,o.path=[f,m],o};Ym.prototype.changeColor=function(o){o==="random"?this.WindFieldOption.color=o:this.WindFieldOption.color=this._cesium.Color.fromCssColorString(o)};Ym.prototype.setSpeed=function(o){this.WindFieldOption.speed=o};Ym.prototype.setMaxAge=function(o){this.WindFieldOption.maxAge=o};Ym.prototype.setBrighten=function(o){this.WindFieldOption.brighten=o};Ym.prototype.destroy=function(){this.timer&&clearInterval(this.timer),this.timer=void 0,this.removeLines()};var AQi=function(){this.x=null,this.dx=null,this.dx=null,this.y=null,this.age=null,this.birthAge=null,this.path=null},NQe=function(o){this.west=null,this.east=null,this.south=null,this.north=null,this.rows=null,this.cols=null,this.dx=null,this.dy=null,this.unit=null,this.date=null,this.grid=null,this._init(o)};NQe.prototype={constructor:NQe,_init:function(o){var A=o.header,f=o.uComponent,m=o.vComponent;this.west=+A.lo1,this.east=+A.lo2,this.south=+A.la2,this.north=+A.la1,this.rows=+A.ny,this.cols=+A.nx,this.dx=+A.dx,this.dy=+A.dy,this.unit=A.parameterUnit,this.date=A.refTime,this.grid=[];for(var C=0,E=null,I=null,x=0;x<this.rows;x++){E=[];for(var y=0;y<this.cols;y++,C++)I=this._calcUV(f[C],m[C]),E.push(I);this.grid.push(E)}},_calcUV:function(o,A){return[+o,+A,Math.sqrt(o*o+A*A)]},_bilinearInterpolation:function(o,A,f,m,C,E){var I=1-o,x=1-A,y=I*x,v=o*x,w=I*A,Q=o*A,M=f[0]*y+m[0]*v+C[0]*w+E[0]*Q,B=f[1]*y+m[1]*v+C[1]*w+E[1]*Q;return this._calcUV(M,B)},getIn:function(o,A){var f=Math.floor(o),m=Math.floor(A),C,E;if(f===o&&m===A)return this.grid[A][o];C=f+1,E=m+1;var I=this.getIn(f,m),x=this.getIn(C,m),y=this.getIn(f,E),v=this.getIn(C,E);return this._bilinearInterpolation(o-f,A-m,I,x,y,v)},isInBound:function(o,A){return o>=0&&o<this.cols-2&&A>=0&&A<this.rows-2}};var Nnt=Ym;var Jn={opacity:1,poolSize:16,canvas:null,layers:new Array,showid:null,width:0,height:0,cesium:null,viewer:null,workers:new Array,oceanCanvas:null,oceanCtx:null,oceanWorker:null},knt=!1,One=!1,kQe=100,uQi=7,cQi=1,hQi="rgba(0, 0, 0, 0.97)";var Unt=Math.floor(.8*255),dQi=[NaN,NaN,null],oK=null,gQi=30,S3=null,tG,OQe=[],Vnt=null,znt=null,fQi=!0;var pQi=[[30,[10,25,68]],[33,[10,25,250]],[33.5,[24,255,255]],[34,[105,233,252]],[34.5,[255,233,65]],[34.5,[255,233,15]],[34.5,[255,233,15]],[34.5,[255,233,15]],[34.5,[255,233,15]],[35,[255,225,15]],[35,[255,225,15]],[35,[255,225,15]],[35,[255,225,15]],[35,[255,255,15]],[35,[255,235,15]],[35,[255,215,15]],[35,[255,195,15]],[35,[255,175,15]],[35,[255,155,15]],[35,[255,135,15]],[35,[255,115,15]],[35,[255,95,15]],[35,[255,75,15]],[35,[255,55,15]],[35,[255,35,15]],[35,[255,15,15]]];function mQi(){for(var o={},A=Math.round(tG.width*uQi),f=[],m=0;m<A;m++)f.push(Hnt({age:UQe(0,kQe)}));if(fQi){var C=tG.valMax-tG.valMin;C=C/(oK.length-1);for(var m=0;m<oK.length;m++)oK[m][0]=tG.valMin+m*C}var E=bQi(oK);function I(){o=[],f.forEach(function(v){v.age>kQe&&(v.xt=void 0,v.yt=void 0,Hnt(v).age=0),v.xt&&v.yt&&(v.x=v.xt,v.y=v.yt);var w=v.x,Q=v.y,M=Ynt(w,Q),B=M[2];if(B===null)v.age=kQe;else{var D=w+M[0],S=Q+M[1];if(Jnt(D,S)){v.xt=D,v.yt=S;var P=E(B,Unt),R="rgba("+P[0]+", "+P[1]+", "+P[2]+", "+Unt+")";o[R]==null&&(o[R]=[]),o[R].push(v)}else v.x=D,v.y=S}v.age+=1})}function x(){if(!One){var v=Jn.oceanCtx;v.lineWidth=cQi,v.fillStyle=hQi;var w=v.globalCompositeOperation;v.globalCompositeOperation="destination-in",v.fillRect(0,0,Jn.oceanCanvas.width,Jn.oceanCanvas.height),v.globalCompositeOperation=w;for(var Q in o){var M=o[Q];if(M.length>0){v.beginPath(),v.strokeStyle=Q;for(var B in M){var D=M[B];v.moveTo(D.x,D.y),v.lineTo(D.xt,D.yt),D.x=D.xt,D.y=D.yt}v.stroke(),v.strokeStyle="#fff"}}}}knt=!1;var y=Jn.oceanCtx;y.clearRect(0,0,Jn.oceanCanvas.width,Jn.oceanCanvas.height),function v(){try{!knt&&!One&&(I(),x(),S3=setTimeout(v,gQi))}catch{}}()}function CQi(o){switch(o.type){case"success":break;case"draw":tG=o.data,OQe=tG.drawData,mQi();break;case"error":break;default:break}}function Ont(o){oK=o.color||pQi,Jn.oceanWorker=new Worker(SmartEarthRootUrl+"Workers/field/oceanWorker.js"),Jn.oceanWorker.onmessage=function(A){CQi(A.data)},Jn.oceanWorker.postMessage(o.message)}function EQi(o){var A=new Worker(SmartEarthRootUrl+"Workers/field/rendermapWorker.js");A.onmessage=function(f){o.callback(f.data),A.terminate()},A.postMessage(o.message)}function IQi(o,A){Jn.canvas!=null&&(Jn.canvas.remove(),Jn.canvas=null),Jn.canvas=document.createElement("canvas"),Jn.canvas.width=o,Jn.canvas.height=A}function kne(o,A){EQi({message:{id:o.id,ncpath:o.ncpath,variable:o.variable,depth:o.depth},callback:function(f){IQi(f.width,f.height);for(var m=Jn.canvas.getContext("2d"),C=m.getImageData(0,0,f.width,f.height),E=0;E<f.arrayBufferView.length;E++)C.data[E]=f.arrayBufferView[E];m.putImageData(C,0,0),vQi(f,o.id),typeof A=="function"&&A(o.id)}})}function Une(o){var A={x:0,y:0,z:0};return A.x=o.x,A.y=o.y,A.z=o.z,A}function Gnt(){for(var o=Jn.viewer.scene,A=o.camera,f=[],m=[],C=Une(A.positionWC),E=Une(A.directionWC),I=Une(A.rightWC),x=Une(A.upWC),y=0;y<16;y++)f[y]=A.viewMatrix[y],m[y]=A.frustum.projectionMatrix[y];var v={width:o.canvas.clientWidth,height:o.canvas.clientHeight,viewMatrix:f,projectionMatrix:m,frustum:{fovy:A.frustum.fovy,aspectRatio:A.frustum.aspectRatio,near:A.frustum.near},positionWC:C,directionWC:E,rightWC:I,upWC:x};return v}function xQi(o,A){var f=Gnt();if(Jn.oceanCanvas==null){Jn.oceanCanvas=document.createElement("canvas"),Jn.oceanCanvas.width=f.width,Jn.oceanCanvas.height=f.height,Jn.oceanCanvas.id="animation",Jn.oceanCanvas.style="position: absolute;left: 0px;top: 0px;pointer-events: none;",document.getElementsByClassName("map-widget")[0].appendChild(Jn.oceanCanvas),Jn.oceanCtx=Jn.oceanCanvas.getContext("2d");let m={childList:!0,attributes:!0,subtree:!0},C=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;new C(function(){Jn.oceanCanvas.width=Jn.viewer.cesiumWidget.canvas.width,Jn.oceanCanvas.height=Jn.viewer.cesiumWidget.canvas.height}).observe(Jn.viewer.cesiumWidget.canvas,m),Ont({message:{id:o.id,type:"init",upath:o.upath,vpath:o.vpath,scene:f},callback:function(I){}}),Vnt=Jn.viewer.scene.camera.moveStart.addEventListener(function(){if(S3&&clearTimeout(S3),S3=null,Jn.oceanWorker!=null){Jn.oceanWorker.postMessage({type:"stop"}),One=!0,OQe=[];var I=Jn.oceanCtx;I.clearRect(0,0,Jn.oceanCanvas.width,Jn.oceanCanvas.height)}}),znt=Jn.viewer.scene.camera.moveEnd.addEventListener(function(){Jn.oceanWorker!=null&&(One=!1,Jn.oceanWorker.postMessage({type:"update",scene:Gnt()}))})}else Ont({message:{id:o.id,type:"init",upath:o.upath,vpath:o.vpath,scene:f},callback:function(m){}})}function yQi(o,A){switch(o.type){case"single":kne({id:0,ncpath:o.ncpath,variable:o.variable,depth:o.depth},A);break;case"mfile":kne({id:0,ncpath:o.ncpath.format(o.params[0]),variable:o.variable,depth:o.depth},function(){typeof A=="function"&&A(0);for(var f=1;f<o.params.length;f++)kne({id:f,ncpath:o.ncpath.format(o.params[f]),variable:o.variable,depth:o.depth})});break;case"mdepth":break;case"ocean":xQi({id:0,upath:o.upath,vpath:o.vpath},A);break;default:kne({id:0,ncpath:o.ncpath,variable:o.variable,depth:o.depth});break}}Jn.hide=function(){(Jn.showid||Jn.showid==0)&&Jn.layers[Jn.showid]&&(Jn.layers[Jn.showid].show=!1)};Jn.show=function(o){(Jn.showid||Jn.showid==0)&&Jn.layers[Jn.showid]&&(Jn.layers[Jn.showid].show=!1),(o||o==0)&&Jn.layers[o]&&(Jn.layers[o].show=!0,Jn.showid=o)};Jn.draw=function(o,A){yQi(o,A)};Jn.destroy=function(){try{for(var o=0;o<Jn.layers.length;o++)Jn.viewer.entities.remove(Jn.layers[o]);Jn.layers=[]}catch{}try{for(var o=0;o<Jn.workers.length;o++)try{Jn.workers[o].terminate()}catch{}Jn.workers=[]}catch{}try{S3&&clearTimeout(S3),S3=null}catch{}try{Jn.oceanWorker.terminate(),Jn.oceanWorker=null;var A=Jn.oceanCtx;A.clearRect(0,0,Jn.oceanCanvas.width,Jn.oceanCanvas.height)}catch{}};function vQi(o,A){var f=o.minx,m=o.miny,C=o.maxx,E=o.maxy,I=Jn.cesium.Rectangle.fromDegrees(f,m,C,E),x=new Jn.cesium.ImageMaterialProperty({image:Jn.canvas,transparent:!0});mlayer=Jn.viewer.entities.add({show:!0,rectangle:{coordinates:I,material:x}}),Jn.layers[A]=mlayer}String.prototype.format=function(o){var A=this;if(arguments.length>0){if(arguments.length==1&&typeof o=="object"){for(var f in o)if(o[f]!==void 0){var m=new RegExp("({"+f+"})","g");A=A.replace(m,o[f])}}else for(var C=0;C<arguments.length;C++)if(arguments[C]!==void 0){var E=new RegExp("({)"+C+"(})","g");A=A.replace(E,arguments[C])}}return A};function _Qi(o,A,f){return Math.max(A,Math.min(o,f))}function BQi(o,A,f){return(_Qi(o,A,f)-A)/(f-A)}function wQi(o,A){var f=o[0],m=o[1],C=o[2],E=A[0]-f,I=A[1]-m,x=A[2]-C;return function(y,v){return[Math.floor(f+y*E),Math.floor(m+y*I),Math.floor(C+y*x),v]}}function bQi(o){for(var A=[],f=[],m=[],C=0;C<o.length-1;C++)A.push(o[C+1][0]),f.push(wQi(o[C][1],o[C+1][1])),m.push([o[C][0],o[C+1][0]]);return function(E,I){var x;for(x=0;x<A.length-1&&!(E<=A[x]);x++);var y=m[x];return f[x](BQi(E,y[0],y[1]),I)}}function Ynt(o,A){var f=OQe[Math.round(o)];return f&&f[Math.round(A)]||dQi}function Jnt(o,A){return Ynt(o,A)[2]!==null}function UQe(o,A){return A==null&&(A=o,o=0),o+Math.floor(Math.random()*(A-o+1))}function Hnt(o){var A,f,m=0;do A=Math.round(UQe(0,Jn.viewer.scene.canvas.clientWidth)),f=Math.round(UQe(0,Jn.viewer.scene.canvas.clientHeight));while(!Jnt(A,f)&&m++<30);return o.x=A,o.y=f,o}function Gne(o,A){Jn.viewer=o,Jn.cesium=A}Gne.prototype.createField=function(o,A){return Jn.draw(o,A),this};Gne.prototype.destroy=function(){Jn.destroy()};Gne.prototype.remove=function(){Jn.destroy()};var Knt=Gne;var Wnt=`// author: \u5F20\u4E39\u948A uniform vec4 u_moveColor; uniform vec4 u_lineColor; #define PI_OVER_TWO 1.5707963 czm_material czm_getMaterial(czm_materialInput materialInput){ czm_material material = czm_getDefaultMaterial(materialInput); float iTime = czm_frameNumber / 60.0 * {speed}; vec2 uv = materialInput.st; vec4 finalColor = u_lineColor; float dt = clamp(tan(uv.x * 5.0 - iTime * 1.0) * 0.3 - 0.1, 0.5, PI_OVER_TWO); finalColor = mix(finalColor, u_moveColor, dt); float alpha = pow(finalColor.w * (1.0 - abs(uv.y - 0.5)), 2.0); material.diffuse = finalColor.xyz; material.alpha = alpha; return material; }`;var bh=null;function Jv(o,A){bh=A,this._viewer=o,this.PrimitiveCollection=[],this.lineColor=bh.Color.fromCssColorString("#330066").withAlpha(.8),this.pointColor=bh.Color.fromCssColorString("#CCFFFF").withAlpha(1)}Jv.prototype.create=function(o={}){this.position=o.position||void 0,this.positions=o.positions||void 0,this.linewidth=o.width||void 0,this.near=o.near,this.far=o.far,this._speed=o.speed,bh.defined(this._speed)||(this._speed=1),this._id=o.id,o.color&&(this.lineColor=bh.Color.fromCssColorString(o.color)),o.pointColor&&(this.pointColor=bh.Color.fromCssColorString(o.pointColor)),this.getShader(),this.collection=new bh.PrimitiveCollection,this.collection._guid=this._id,this._viewer.scene.primitives.add(this.collection),this.PrimitiveCollection.push(this.collection),this.addPathLayer()};Jv.prototype.addPathLayer=async function(){this.position?this.getInstance():this.positions&&this.getInstances(),this.instances.forEach(o=>{this.addGroundLine(o)})};Jv.prototype.getById=function(o){for(var A=null,f=this._viewer.scene.primitives,m=f.length,C=0;C<m;C++){var E=f.get(C);E._guid===o&&(A=E)}return A};Jv.prototype.remove=function(o){var A=this.getById(o);A&&this._viewer.scene.primitives.remove(A)};Jv.prototype.removeAll=function(){for(var o=0;o<this.PrimitiveCollection.length;o++){var A=this.PrimitiveCollection[o];this._viewer.scene.primitives.remove(A)}this.PrimitiveCollection=[]};Jv.prototype.show=function(o){for(var A=0;A<this.PrimitiveCollection.length;A++){var f=this.PrimitiveCollection[A];f.show=o}};Jv.prototype.getInstance=function(){let o;this.position[0]instanceof bh.Cartesian3?o=this.position:o=bh.Cartesian3.fromDegreesArray(this.position);let A=new bh.GroundPolylineGeometry({positions:o,width:this.linewidth,vertexFormat:bh.PolylineColorAppearance.VERTEX_FORMAT});this.instances=new bh.GeometryInstance({geometry:A,attributes:{distanceDisplayCondition:new bh.DistanceDisplayConditionGeometryInstanceAttribute(this.near,this.far)}})};Jv.prototype.getInstances=function(){this.instances=[];for(let o=0;o<this.positions.length;o++){let A;this.positions[o][0]instanceof bh.Cartesian3?A=this.positions[o]:A=bh.Cartesian3.fromDegreesArray(this.positions[o]);let f=new bh.GeometryInstance({geometry:new bh.GroundPolylineGeometry({positions:A,width:this.linewidth,vertexFormat:bh.PolylineColorAppearance.VERTEX_FORMAT}),attributes:{distanceDisplayCondition:new bh.DistanceDisplayConditionGeometryInstanceAttribute(this.near,this.far)}});this.instances.push(f)}};Jv.prototype.addGroundLine=async function(o){let A=new bh.GroundPolylinePrimitive({geometryInstances:o,appearance:new bh.MaterialAppearance({material:new bh.Material({fabric:{source:this.fs,uniforms:{u_moveColor:this.pointColor,u_lineColor:this.lineColor}}})})});this.collection.add(A)};Jv.prototype.addLine=function(){var o=new bh.PolylineMaterialAppearance({material:new bh.Material({fabric:{source:this.fs,uniforms:{u_moveColor:this.pointColor,u_lineColor:this.lineColor}}})});let A=new bh.Primitive({geometryInstances:this.instances,appearance:o});this.collection.add(A)};Jv.prototype.getShader=function(){this.fs=Wnt.replace("{speed}",this._speed.toFixed(1))};var qnt=Jv;var jnt=`// author: \u5F20\u4E39\u948A uniform vec4 u_moveColor; uniform vec4 u_wallColor; #define PI_OVER_TWO 1.5707963 czm_material czm_getMaterial(czm_materialInput materialInput){ czm_material material = czm_getDefaultMaterial(materialInput); float iTime = czm_frameNumber / 60.0 * {speed}; vec2 uv = materialInput.st; vec4 finalColor = u_wallColor; float dt = clamp(tan(uv.y * 5.0 - iTime) * 0.3 - 0.1, 0.5, PI_OVER_TWO); finalColor = mix(finalColor, u_moveColor, dt); float alpha = pow(finalColor.w * (1.0 - abs(uv.y - 0.5)), 2.0); if(uv.y < 0.5){ alpha = 1.0; finalColor = u_wallColor; if(uv.y > 0.4){ alpha = (0.5 - uv.y) * 5.0 + 0.5; } } material.diffuse = finalColor.xyz; material.alpha = alpha; return material; }`;var Bp=null;function Nb(o,A){Bp=A,this._viewer=o,this.PrimitiveCollection=[],this.color=Bp.Color.BLUE}Nb.prototype.create=function(o={}){this.position=o.position||void 0,this.positions=o.positions||void 0,this.height=o.height||50,this.minHeight=o.minHeight,this.near=o.near,this.far=o.far,this._speed=o.speed||1,this._id=o.id,o.color&&(this.color=Bp.Color.fromCssColorString(o.color)),this.getShader(),this.collection=new Bp.PrimitiveCollection,this.collection._guid=this._id,this._viewer.scene.primitives.add(this.collection),this.position?this.getInstance():this.positions&&this.getInstances(),this.addWall(),this.PrimitiveCollection.push(this.collection)};Nb.prototype.getById=function(o){for(var A=null,f=this._viewer.scene.primitives,m=f.length,C=0;C<m;C++){var E=f.get(C);E._guid===o&&(A=E)}return A};Nb.prototype.remove=function(o){var A=this.getById(o);A!=null&&this._viewer.scene.primitives.remove(A)};Nb.prototype.removeAll=function(){for(var o=0;o<this.PrimitiveCollection.length;o++){var A=this.PrimitiveCollection[o];this._viewer.scene.primitives.remove(A)}this.PrimitiveCollection=[]};Nb.prototype.show=function(o){for(var A=0;A<this.PrimitiveCollection.length;A++){var f=this.PrimitiveCollection[A];f.show=o}};Nb.prototype.getInstance=function(){let o;this.position[0]instanceof Bp.Cartesian3?o=this.position:o=Bp.Cartesian3.fromDegreesArray(this.position);let A=Array(o.length).fill(this.height),f=Array(o.length).fill(this.minHeight||0),m=new Bp.WallGeometry({positions:o,maximumHeights:A,minimumHeights:f});this.instances=[new Bp.GeometryInstance({geometry:m,attributes:{distanceDisplayCondition:new Bp.DistanceDisplayConditionGeometryInstanceAttribute(this.near,this.far)}})]};Nb.prototype.getInstances=function(){this.instances=[];for(let o=0;o<this.positions.length;o++){let A;this.positions[o][0]instanceof Bp.Cartesian3?A=this.positions[o]:A=Bp.Cartesian3.fromDegreesArray(this.positions[o]);let f=Array(A.length).fill(this.height),m=Array(A.length).fill(this.minHeight||0),C=new Bp.GeometryInstance({geometry:new Bp.WallGeometry({positions:A,maximumHeights:f,minimumHeights:m}),attributes:{distanceDisplayCondition:new Bp.DistanceDisplayConditionGeometryInstanceAttribute(this.near,this.far)}});this.instances.push(C)}};Nb.prototype.addWall=async function(){this.instances.forEach(o=>{let A=new Bp.Primitive({geometryInstances:o,appearance:new Bp.MaterialAppearance({material:new Bp.Material({fabric:{source:this.fs,uniforms:{u_wallColor:this.color.withAlpha(.5),u_moveColor:this.color}}})})});this.collection.add(A)})};Nb.prototype.getShader=function(){this.fs=jnt.replace("{speed}",this._speed.toFixed(1))};var Xnt=Nb;var cc=null;function bI(o,A){cc=A,this._viewer=o,this._cesium=A,this._Color=new hn(this._viewer,this._cesium),this._core=new Ji(o,A),this._getPosition=new hl(this._viewer,this._cesium),this._tree=Ke,this._polylines=[],this.Streamerpath=new qnt(this._viewer,this._cesium),this.Streamerwall=new Xnt(this._viewer,this._cesium)}bI.prototype.createPathLayer=function(o={}){var A={color:o.color||"#0033FF",width:o.width||5,pointColor:o.pointColor||"#FFFFFF",id:o.id||this._core.getuid(),near:o.near,far:o.far,speed:o.speed||1};let f=cc.GeoJsonDataSource.load(o.url),m=[],C=[];f.then(I=>{let x=I.entities.values;for(let y=0;y<x.length;y++){let v=x[y];v.polyline?(C.push(v.polyline.positions.getValue()),m=m.concat(C[C.length-1])):v.polygon&&(C.push(v.polygon.hierarchy.getValue().positions),m=m.concat(C[C.length-1]))}this.boundingSphere=cc.BoundingSphere.fromPoints(m),m=null,this.Streamerpath.create({positions:C,...A})}),this.updateLayer=(I={})=>{A=this._core.extend(A,I,!0,!0),this.Streamerpath.removeAll(),this.Streamerpath.create({positions:C,...A})};var E={id:A.id,name:"\u65B0\u5EFA\u6D41\u5149\u7EBF\u56FE\u5C42",pId:0,type:"TrailLineLayer",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,0),this};bI.prototype.createWallLayer=function(o={}){var A={color:o.color||"#0000ff",id:o.id||this._core.getuid(),speed:o.speed,height:o.height,minHeight:o.minHeight,near:o.near,far:o.far};let f=cc.GeoJsonDataSource.load(o.url),m=[],C=[];f.then(I=>{let x=I.entities.values;for(let y=0;y<x.length;y++){let v=x[y];v.polyline?(C.push(v.polyline.positions.getValue()),m=m.concat(C[C.length-1])):v.polygon&&(C.push(v.polygon.hierarchy.getValue().positions),m=m.concat(C[C.length-1]))}this.boundingSphere=cc.BoundingSphere.fromPoints(m),m=null,this.Streamerwall.create({positions:C,...A})}),this.updateLayer=(I={})=>{A=this._core.extend(A,I,!0,!0),this.Streamerwall.removeAll(),this.Streamerwall.create({positions:C,...A})};var E={id:A.id,name:"\u65B0\u5EFA\u6D41\u52A8\u5899\u56FE\u5C42",pId:0,type:"TrailLineLayer",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,0),this};bI.prototype.createPath=function(o,A,f){!f&&(f={}),typeof f=="number"&&(f={time:f});var m={time:3e3,LineColor:this._core.defaultValue(f.color,"#ff0000"),LinkImage:this._core.defaultValue(f.url,window.SmartEarthRootUrl+kr.TrailLine),height:5e4,num:100,width:2,LightSpot:!1,alpha:.3};m=this._core.extend(m,f,!0);var C=Tie({Cesium:cc,color:cc.Color.fromCssColorString(m.LineColor),image:m.LinkImage,time:m.time,alpha:m.alpha,lightSpot:m.LightSpot,lightSpotColor:cc.Color.fromCssColorString(m.lightSpotColor||m.LineColor),twoColor:!!m.twoColor,color1:m.twoColor&&m.twoColor.color1&&cc.Color.fromCssColorString(m.twoColor.color1),color2:m.twoColor&&m.twoColor.color2&&cc.Color.fromCssColorString(m.twoColor.color2)});let E=new cc.PrimitiveCollection;this._viewer.scene.primitives.add(E),this._polylines.push(E);let I=f.inflow,x,y;for(var v=0;v<A.length;v++){I?(x=A[v],y=o):(y=A[v],x=o);for(var w=this.parabolaEquation({pt1:x,pt2:y,height:m.height,num:m.num}),Q=[],M=0;M<w.length;M++)Q.push(w[M][0],w[M][1],w[M][2]);E.add(this.getPolylinePrimitive(Q,C,m))}this.pathMaterial=C;var B={id:this._core.getuid(),name:"\u65B0\u5EFA\u6D41\u52A8\u8DEF\u5F84",pId:0,type:"TrailLinePrimitive",item:this};return this.setTreeobj(B),this._tree.insertGroupId(B,0),this};bI.prototype.getPolylinePrimitive=function(o,A,f={}){let m=f.clampToGround?cc.GroundPolylineGeometry:cc.PolylineGeometry,C=new m({positions:typeof o[0]=="object"?o:cc.Cartesian3.fromDegreesArrayHeights(o),width:f.width}),E=new cc.GeometryInstance({geometry:C,attributes:{distanceDisplayCondition:new cc.DistanceDisplayConditionGeometryInstanceAttribute(f.near,f.far)}}),I=f.clampToGround?cc.GroundPolylinePrimitive:cc.Primitive;return new I({geometryInstances:E,appearance:new cc.PolylineMaterialAppearance({material:A})})};bI.prototype.createFlyingLine=function(o,A={}){var f={time:3e3,color:"#ffffff",width:1,alpha:0};f=this._core.extend(f,A,!0);var m=Tie({Cesium:cc,lightSpotColor:cc.Color.fromCssColorString(f.color),time:f.time,alpha:f.alpha,lightSpot:!0});let C=new cc.PrimitiveCollection;this._viewer.scene.primitives.add(C),this._polylines.push(C);let E;o.forEach(x=>{E=[x.lon,x.lat,f.minHeight,x.lon,x.lat,x.height],C.add(this.getPolylinePrimitive(E,m,f))});var I={id:this._core.getuid(),name:"\u65B0\u5EFA\u5782\u76F4\u98DE\u7EBF",pId:0,type:"TrailLinePrimitive",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,0),this};bI.prototype.createLine=function(o,A){!A&&(A={}),typeof A=="number"&&(A={time:A});var f={time:3e3,LineColor:this._core.defaultValue(A.color,"#ff0000"),LinkImage:this._core.defaultValue(A.url,window.SmartEarthRootUrl+kr.TrailLine),height:5e4,width:10,LightSpot:!1,alpha:.3};f=this._core.extend(f,A,!0);var m=Tie({Cesium:cc,color:cc.Color.fromCssColorString(f.LineColor),image:f.LinkImage,time:f.time,alpha:f.alpha,lightSpot:f.LightSpot,lightSpotColor:cc.Color.fromCssColorString(f.lightSpotColor||f.LineColor),twoColor:!!f.twoColor,color1:f.twoColor&&f.twoColor.color1&&cc.Color.fromCssColorString(f.twoColor.color1),color2:f.twoColor&&f.twoColor.color2&&cc.Color.fromCssColorString(f.twoColor.color2)}),C=[];if(!o[0].x&&!o[0].y){if(o[0].length===2)for(var E=0;E<o.length;E++)C.push(this._cesium.Cartesian3.fromDegrees(o[E][0],o[E][1]));else if(o[0].length===3)for(var E=0;E<o.length;E++)C.push(this._cesium.Cartesian3.fromDegrees(o[E][0],o[E][1],o[E][2]))}else if(o[0].z!==void 0)if(o[0].x>=-180&&o[0].x<=180)for(var E=0;E<o.length;E++)C.push(this._cesium.Cartesian3.fromDegrees(o[E].x,o[E].y,o[E].z));else C=o;else for(var E=0;E<o.length;E++)C.push(this._cesium.Cartesian3.fromDegrees(o[E].x,o[E].y));let I=this._viewer.scene.primitives.add(this.getPolylinePrimitive(C,m,f));this._polylines.push(I);var x={id:this._core.getuid(),name:"\u65B0\u5EFA\u6D41\u52A8\u7EBF",pId:0,type:"TrailLinePrimitive",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,0),this};bI.prototype.createWall=function(o,A){var f=this;!A&&(A={}),typeof A=="number"&&(A={time:A});var m={time:9e3,LineColor:this._core.defaultValue(A.color,this._cesium.Color.ORANGE),LinkImage:this._core.defaultValue(A.url,window.SmartEarthRootUrl+kr.colors3)};m=this._core.extend(m,A,!0);var C=new wD(m.LineColor,m.LinkImage,m.time||9e3,f._cesium),E=[];if(!o[0].x&&!o[0].y){if(o[0].length===2)for(var I=0;I<o.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(o[I][0],o[I][1]));else if(o[0].length===3)for(var I=0;I<o.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(o[I][0],o[I][1],o[I][2]))}else if(o[0].z!==void 0)if(o[0].x>=-180&&o[0].x<=180)for(var I=0;I<o.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(o[I].x,o[I].y,o[I].z));else E=o;else for(var I=0;I<o.length;I++)E.push(this._cesium.Cartesian3.fromDegrees(o[I].x,o[I].y));this._polylines.push(this._viewer.entities.add({name:"WallTrail",wall:{positions:E,material:C,maximumHeights:m.maximumHeights,minimumHeights:m.minimumHeights}}));var x={id:this._core.getuid(),name:"\u65B0\u5EFA\u6D41\u52A8\u5899",pId:0,type:"TrailLinePrimitive",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,0),this};bI.prototype.parabolaEquation=function(o,A){var f=this._core.defaultValue(o.height,5e3),m=Math.abs(o.pt1.lon-o.pt2.lon)>Math.abs(o.pt1.lat-o.pt2.lat)?Math.abs(o.pt1.lon-o.pt2.lon):Math.abs(o.pt1.lat-o.pt2.lat),C=o.num&&o.num>50?o.num:50,E=[],I=m/C,x=o.pt1.height||0,y=o.pt2.height||0;if(Math.abs(o.pt1.lon-o.pt2.lon)>Math.abs(o.pt1.lat-o.pt2.lat)){var v=(o.pt2.lat-o.pt1.lat)/C;o.pt1.lon-o.pt2.lon>0&&(I=-I);for(var w=0;w<=C;w++){var Q=f-Math.pow(-.5*m+Math.abs(I)*w,2)*4*f/Math.pow(m,2)+x+(y-x)*w/C,M=o.pt1.lon+I*w,B=o.pt1.lat+v*w;E.push([M,B,Q])}}else{var D=(o.pt2.lon-o.pt1.lon)/C;o.pt1.lat-o.pt2.lat>0&&(I=-I);for(var w=0;w<=C;w++){var Q=f-Math.pow(-.5*m+Math.abs(I)*w,2)*4*f/Math.pow(m,2)+x+(y-x)*w/C,M=o.pt1.lon+D*w,B=o.pt1.lat+I*w;E.push([M,B,Q])}}return A!=null&&(A=E),E};bI.prototype.setThisPosition=function(o,A){if(this.pathMaterial){var f=this._cesium.Cartesian3.fromDegrees(o[0].lon,o[0].lat),m=this._cesium.Cartesian3.fromDegrees(o[1].lon,o[1].lat),C=this._cesium.Cartesian3.fromDegrees(A.lon,A.lat),E=this._core.getSpaceDistancem([f,m],this._cesium),I=this._core.getSpaceDistancem([f,C],this._cesium);this.pathMaterial.setScale(I/E)}};bI.prototype.clear=function(){if(this._polylines.length>0)for(var o=0;o<this._polylines.length;o++)this._polylines[o]instanceof cc.Entity?this._viewer.entities.remove(this._polylines[o]):this._viewer.scene.primitives.remove(this._polylines[o]);this._polylines=[],this.Streamerpath.removeAll(),this.Streamerwall.removeAll()};bI.prototype.setTreeobj=function(o){this.treeobj=o};bI.prototype.deleteObject=function(){this.clear()};bI.prototype.setVisibility=function(o){if(this._polylines.length>0)for(var A=0;A<this._polylines.length;A++)this._polylines[A].show=o;this.Streamerpath.show(o),this.Streamerwall.show(o)};var Znt=bI;function aK(o,A){this._viewer=o,this._cesium=Cesium,this._core=new Ji(o,A),this._Buffer=new MP(o,Cesium),this._tree=Ke}aK.prototype.createRoad=function(o={}){var A={id:o.id||this._core.getuid(),image:window.SmartEarthRootUrl+kr.road,height:1,width:20,alpha:1};A=this._core.extend(A,o,!0);let f=[];o.positions.forEach(I=>{let x=this._core.toDegrees(I);f.push([x.lon,x.lat])});let m=Cesium.turf.lineString(f),C=this._Buffer.getBuff(m,A.width,{steps:0});this.item=this._Buffer.addBufferPolyogn(C,{material:new Cesium.ImageMaterialProperty({image:A.image,color:Cesium.Color.WHITE.withAlpha(A.alpha)}),height:o.height,perPositionHeight:!1,stRotation:90,heightReference:0,outline:!1});var E={id:A.id,name:"\u65B0\u5EFA\u9053\u8DEF\u56FE\u5C42",pId:0,type:"RoadLayer",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,0),this};aK.prototype.setTreeobj=function(o){this.treeobj=o};aK.prototype.deleteObject=function(){this.item&&this._viewer.entities.remove(this.item)};aK.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};var $nt=aK;var GQe=null;function eot(o,A){GQe=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke}eot.prototype.createHawkeye=function(o,A){var f=document.createElement("div");f.id="Hawkeye",f.style.position="absolute",f.style.width="15%",f.style.height="20%",f.style.bottom="0",f.style.right="0",f.style.pointerEvents="none",A&&(A.width&&(f.style.width=A.width),A.height&&(f.style.height=A.height),A.bottom&&(f.style.bottom=A.bottom),A.right&&(f.style.right=A.right),A.top&&(f.style.top=A.top,f.style.bottom="unset"),A.left&&(f.style.left=A.left,f.style.right="unset")),this._viewer.container.appendChild(f);let m;o.url?m=new this._cesium.SingleTileImageryProvider({url:o.url}):m=o.imageryProvider;var C=new this._cesium.Viewer("Hawkeye",{imageryProvider:m,baseLayerPicker:!1,shadows:!1,shouldAnimate:!0,animation:!0,scene3DOnly:!0,fullscreenButton:!1,geocoder:!1,homeButton:!1,infoBox:!1,selectionIndicator:!1,timeline:!1,navigationHelpButton:!1});C._cesiumWidget._creditContainer.style.display="none";var E=this;let I=this._core.defaultValue(A&&A.height,1e4);function x(){let y=E._viewer.camera.position,v=GQe.Cartographic.fromCartesian(y);v.height+=I,C.camera.setView({destination:GQe.Cartographic.toCartesian(v),orientation:{heading:E._viewer.camera.heading,pitch:E._viewer.camera.pitch,roll:E._viewer.camera.roll}})}return E._viewer.scene.preRender.addEventListener(x),this.close=function(){E._viewer.scene.preRender.removeEventListener(x),C.destroy(),f.remove(),E.close=void 0},this};var tot=eot;var nu={version:"1.0.0"},kb={type:"doublearrow",headHeightFactor:.25,headWidthFactor:.3,neckHeightFactor:.85,fixPointCount:4,neckWidthFactor:.15},Hne={headHeightFactor:.18,headWidthFactor:.3,neckHeightFactor:.85,neckWidthFactor:.15,tailWidthFactor:.1,headTailFactor:.8,swallowTailFactor:1},sK={tailWidthFactor:.15,neckWidthFactor:.2,headWidthFactor:.25,headAngle:Math.PI/8.5,neckAngle:Math.PI/13};nu.algorithm={};nu.algorithm.doubleArrow=function(o){this.connPoint=null,this.tempPoint4=null,this.points=o;var A={controlPoint:null,polygonalPoint:null},f=o.length;if(!(2>f)){if(f==2)return o;var m=this.points[0],C=this.points[1],E=this.points[2],f=o.length;f==3?this.tempPoint4=nu.algorithm.getTempPoint4(m,C,E):this.tempPoint4=this.points[3],f==3||f==4?this.connPoint=ur.PlotUtils.mid(m,C):this.connPoint=this.points[4];var I,x;ur.PlotUtils.isClockWise(m,C,E)?(I=nu.algorithm.getArrowPoints(m,this.connPoint,this.tempPoint4,!1),x=nu.algorithm.getArrowPoints(this.connPoint,C,E,!0)):(I=nu.algorithm.getArrowPoints(C,this.connPoint,E,!1),x=nu.algorithm.getArrowPoints(this.connPoint,m,this.tempPoint4,!0));var y=I.length,v=(y-5)/2,w=I.slice(0,v),Q=I.slice(v,v+5),M=I.slice(v+5,y),B=x.slice(0,v),D=x.slice(v,v+5),S=x.slice(v+5,y);B=ur.PlotUtils.getBezierPoints(B);var P=ur.PlotUtils.getBezierPoints(S.concat(w.slice(1)));M=ur.PlotUtils.getBezierPoints(M);var R=B.concat(D,P,Q,M),T=nu.algorithm.array2Dto1D(R);A.controlPoint=[m,C,E,this.tempPoint4,this.connPoint],A.polygonalPoint=Cesium.Cartesian3.fromDegreesArray(T)}return A};nu.algorithm.threeArrow=function(o){this.connPoint=null,this.tempPoint4=null,this.tempPoint5=null,this.points=o;var A={controlPoint:null,polygonalPoint:null},f=o.length;if(f>=2){if(f==2)return o;var m=this.points[0],C=this.points[1],E=this.points[2],f=o.length;f==3?(this.tempPoint4=nu.algorithm.getTempPoint4(m,C,E),this.tempPoint5=ur.PlotUtils.mid(E,this.tempPoint4)):(this.tempPoint4=this.points[3],this.tempPoint5=this.points[4]),f<6?this.connPoint=ur.PlotUtils.mid(m,C):this.connPoint=this.points[5];var I,x;ur.PlotUtils.isClockWise(m,C,E)?(I=nu.algorithm.getArrowPoints(m,this.connPoint,this.tempPoint4,!1),x=nu.algorithm.getArrowPoints(this.connPoint,C,E,!0)):(I=nu.algorithm.getArrowPoints(C,this.connPoint,E,!1),x=nu.algorithm.getArrowPoints(this.connPoint,m,this.tempPoint4,!0));var y=I.length,v=(y-5)/2,w=I.slice(0,v),Q=I.slice(v,v+5),M=I.slice(v+5,y),B=x.slice(0,v),D=x.slice(v,v+5),S=x.slice(v+5,y);B=ur.PlotUtils.getBezierPoints(B);var P=ur.PlotUtils.getBezierPoints(S.concat(w.slice(1)));M=ur.PlotUtils.getBezierPoints(M);var R=B.concat(D,P,Q,M),T=nu.algorithm.array2Dto1D(R);A.controlPoint=[m,C,E,this.tempPoint4,this.tempPoint5,this.connPoint],A.polygonalPoint=Cesium.Cartesian3.fromDegreesArray(T)}return A};nu.algorithm.array2Dto1D=function(o){var A=[];return o.forEach(function(f){A.push(f[0]),A.push(f[1])}),A};nu.algorithm.getArrowPoints=function(o,A,f,m){this.type=kb.type,this.headHeightFactor=kb.headHeightFactor,this.headWidthFactor=kb.headWidthFactor,this.neckHeightFactor=kb.neckHeightFactor,this.neckWidthFactor=kb.neckWidthFactor;var C=ur.PlotUtils.mid(o,A),E=ur.PlotUtils.distance(C,f),I=ur.PlotUtils.getThirdPoint(f,C,0,.3*E,!0),x=ur.PlotUtils.getThirdPoint(f,C,0,.5*E,!0);I=ur.PlotUtils.getThirdPoint(C,I,ur.Constants.HALF_PI,E/5,m),x=ur.PlotUtils.getThirdPoint(C,x,ur.Constants.HALF_PI,E/4,m);var y=[C,I,x,f],v=nu.algorithm.getArrowHeadPoints(y,this.headHeightFactor,this.headWidthFactor,this.neckHeightFactor,this.neckWidthFactor),w=v[0],Q=v[4],M=ur.PlotUtils.distance(o,A)/ur.PlotUtils.getBaseLength(y)/2,B=nu.algorithm.getArrowBodyPoints(y,w,Q,M),D=B.length,S=B.slice(0,D/2),P=B.slice(D/2,D);return S.push(w),P.push(Q),S=S.reverse(),S.push(A),P=P.reverse(),P.push(o),S.reverse().concat(v,P)};nu.algorithm.getArrowHeadPoints=function(o,A,f){this.type=kb.type,this.headHeightFactor=kb.headHeightFactor,this.headWidthFactor=kb.headWidthFactor,this.neckHeightFactor=kb.neckHeightFactor,this.neckWidthFactor=kb.neckWidthFactor;var m=ur.PlotUtils.getBaseLength(o),C=m*this.headHeightFactor,E=o[o.length-1],I=(ur.PlotUtils.distance(A,f),C*this.headWidthFactor),x=C*this.neckWidthFactor,y=C*this.neckHeightFactor,v=ur.PlotUtils.getThirdPoint(o[o.length-2],E,0,C,!0),w=ur.PlotUtils.getThirdPoint(o[o.length-2],E,0,y,!0),Q=ur.PlotUtils.getThirdPoint(E,v,ur.Constants.HALF_PI,I,!1),M=ur.PlotUtils.getThirdPoint(E,v,ur.Constants.HALF_PI,I,!0),B=ur.PlotUtils.getThirdPoint(E,w,ur.Constants.HALF_PI,x,!1),D=ur.PlotUtils.getThirdPoint(E,w,ur.Constants.HALF_PI,x,!0);return[B,Q,E,M,D]};nu.algorithm.getArrowBodyPoints=function(o,A,f,m){for(var C=ur.PlotUtils.wholeDistance(o),E=ur.PlotUtils.getBaseLength(o),I=E*m,x=ur.PlotUtils.distance(A,f),y=(I-x)/2,v=0,w=[],Q=[],M=1;M<o.length-1;M++){var B=ur.PlotUtils.getAngleOfThreePoints(o[M-1],o[M],o[M+1])/2;v+=ur.PlotUtils.distance(o[M-1],o[M]);var D=(I/2-v/C*y)/Math.sin(B),S=ur.PlotUtils.getThirdPoint(o[M-1],o[M],Math.PI-B,D,!0),P=ur.PlotUtils.getThirdPoint(o[M-1],o[M],B,D,!1);w.push(S),Q.push(P)}return w.concat(Q)};nu.algorithm.getTempPoint4=function(o,A,f){var m,C,E,I,x=ur.PlotUtils.mid(o,A),y=ur.PlotUtils.distance(x,f),v=ur.PlotUtils.getAngleOfThreePoints(o,x,f);return v<ur.Constants.HALF_PI?(C=y*Math.sin(v),E=y*Math.cos(v),I=ur.PlotUtils.getThirdPoint(o,x,ur.Constants.HALF_PI,C,!1),m=ur.PlotUtils.getThirdPoint(x,I,ur.Constants.HALF_PI,E,!0)):v>=ur.Constants.HALF_PI&&v<Math.PI?(C=y*Math.sin(Math.PI-v),E=y*Math.cos(Math.PI-v),I=ur.PlotUtils.getThirdPoint(o,x,ur.Constants.HALF_PI,C,!1),m=ur.PlotUtils.getThirdPoint(x,I,ur.Constants.HALF_PI,E,!1)):v>=Math.PI&&v<1.5*Math.PI?(C=y*Math.sin(v-Math.PI),E=y*Math.cos(v-Math.PI),I=ur.PlotUtils.getThirdPoint(o,x,ur.Constants.HALF_PI,C,!0),m=ur.PlotUtils.getThirdPoint(x,I,ur.Constants.HALF_PI,E,!0)):(C=y*Math.sin(2*Math.PI-v),E=y*Math.cos(2*Math.PI-v),I=ur.PlotUtils.getThirdPoint(o,x,ur.Constants.HALF_PI,C,!0),m=ur.PlotUtils.getThirdPoint(x,I,ur.Constants.HALF_PI,E,!1)),m};nu.algorithm.tailedAttackArrow=function(o){o=nu.algorithm.dereplication(o),this.tailWidthFactor=Hne.tailWidthFactor,this.swallowTailFactor=Hne.swallowTailFactor,this.swallowTailPnt=Hne.swallowTailPnt;var A={controlPoint:null,polygonalPoint:null};A.controlPoint=o;var f=o.length;if(!(2>f)){if(o.length==2)return A.polygonalPoint=o,A;var m=o,C=m[0],E=m[1];ur.PlotUtils.isClockWise(m[0],m[1],m[2])&&(C=m[1],E=m[0]);var I=ur.PlotUtils.mid(C,E),x=[I].concat(m.slice(2)),y=nu.algorithm.getAttackArrowHeadPoints(x,C,E,Hne),v=y[0],w=y[4],Q=ur.PlotUtils.distance(C,E),M=ur.PlotUtils.getBaseLength(x),B=M*this.tailWidthFactor*this.swallowTailFactor;this.swallowTailPnt=ur.PlotUtils.getThirdPoint(x[1],x[0],0,B,!0);var D=Q/M,S=nu.algorithm.getAttackArrowBodyPoints(x,v,w,D),f=S.length,P=[C].concat(S.slice(0,f/2));P.push(v);var R=[E].concat(S.slice(f/2,f)),T=[];R.push(w),P=ur.PlotUtils.getQBSplinePoints(P),R=ur.PlotUtils.getQBSplinePoints(R),T=nu.algorithm.array2Dto1D(P.concat(y,R.reverse(),[this.swallowTailPnt,P[0]])),A.polygonalPoint=Cesium.Cartesian3.fromDegreesArray(T)}return A};nu.algorithm.getAttackArrowHeadPoints=function(o,A,f,m){this.headHeightFactor=m.headHeightFactor,this.headTailFactor=m.headTailFactor,this.headWidthFactor=m.headWidthFactor,this.neckWidthFactor=m.neckWidthFactor,this.neckHeightFactor=m.neckHeightFactor;var C=ur.PlotUtils.getBaseLength(o),E=C*this.headHeightFactor,I=o[o.length-1];C=ur.PlotUtils.distance(I,o[o.length-2]);var x=ur.PlotUtils.distance(A,f);E>x*this.headTailFactor&&(E=x*this.headTailFactor);var y=E*this.headWidthFactor,v=E*this.neckWidthFactor;E=E>C?C:E;var w=E*this.neckHeightFactor,Q=ur.PlotUtils.getThirdPoint(o[o.length-2],I,0,E,!0),M=ur.PlotUtils.getThirdPoint(o[o.length-2],I,0,w,!0),B=ur.PlotUtils.getThirdPoint(I,Q,ur.Constants.HALF_PI,y,!1),D=ur.PlotUtils.getThirdPoint(I,Q,ur.Constants.HALF_PI,y,!0),S=ur.PlotUtils.getThirdPoint(I,M,ur.Constants.HALF_PI,v,!1),P=ur.PlotUtils.getThirdPoint(I,M,ur.Constants.HALF_PI,v,!0);return[S,B,I,D,P]};nu.algorithm.getAttackArrowBodyPoints=function(o,A,f,m){for(var C=ur.PlotUtils.wholeDistance(o),E=ur.PlotUtils.getBaseLength(o),I=E*m,x=ur.PlotUtils.distance(A,f),y=(I-x)/2,v=0,w=[],Q=[],M=1;M<o.length-1;M++){var B=ur.PlotUtils.getAngleOfThreePoints(o[M-1],o[M],o[M+1])/2;v+=ur.PlotUtils.distance(o[M-1],o[M]);var D=(I/2-v/C*y)/Math.sin(B),S=ur.PlotUtils.getThirdPoint(o[M-1],o[M],Math.PI-B,D,!0),P=ur.PlotUtils.getThirdPoint(o[M-1],o[M],B,D,!1);w.push(S),Q.push(P)}return w.concat(Q)};nu.algorithm.dereplication=function(o){var A=o[o.length-1],f=!1,m=[];return m=o.filter(function(C){if(C[0]!=A[0]&&C[1]!=A[1])return C;f=!0}),f&&m.push(A),m};nu.algorithm.fineArrow=function(o,A){if(!(o.length<2||A.length<2)){var f=sK.tailWidthFactor,m=sK.neckWidthFactor,C=sK.headWidthFactor,E=sK.headAngle,I=sK.neckAngle,x=[];return x[0]=o,x[1]=A,e=x[0],r=x[1],n=ur.PlotUtils.getBaseLength(x),g=n*f,i=n*m,s=n*C,a=ur.PlotUtils.getThirdPoint(r,e,ur.Constants.HALF_PI,g,!0),l=ur.PlotUtils.getThirdPoint(r,e,ur.Constants.HALF_PI,g,!1),u=ur.PlotUtils.getThirdPoint(e,r,E,s,!1),c=ur.PlotUtils.getThirdPoint(e,r,E,s,!0),p=ur.PlotUtils.getThirdPoint(e,r,I,i,!1),h=ur.PlotUtils.getThirdPoint(e,r,I,i,!0),d=[],d.push(a[0],a[1],p[0],p[1],u[0],u[1],r[0],r[1],c[0],c[1],h[0],h[1],l[0],l[1],e[0],e[1]),Cesium.Cartesian3.fromDegreesArray(d)}};var ur={version:"1.0.0"};ur.PlotUtils={},ur.PlotUtils.distance=function(o,A){return Math.sqrt(Math.pow(o[0]-A[0],2)+Math.pow(o[1]-A[1],2))},ur.PlotUtils.wholeDistance=function(o){for(var A=0,f=0;f<o.length-1;f++)A+=ur.PlotUtils.distance(o[f],o[f+1]);return A},ur.PlotUtils.getBaseLength=function(o){return Math.pow(ur.PlotUtils.wholeDistance(o),.99)},ur.PlotUtils.mid=function(o,A){return[(o[0]+A[0])/2,(o[1]+A[1])/2]},ur.PlotUtils.getCircleCenterOfThreePoints=function(o,A,f){var m=[(o[0]+A[0])/2,(o[1]+A[1])/2],C=[m[0]-o[1]+A[1],m[1]+o[0]-A[0]],E=[(o[0]+f[0])/2,(o[1]+f[1])/2],I=[E[0]-o[1]+f[1],E[1]+o[0]-f[0]];return ur.PlotUtils.getIntersectPoint(m,C,E,I)},ur.PlotUtils.getIntersectPoint=function(o,A,f,m){if(o[1]==A[1]){var C=(m[0]-f[0])/(m[1]-f[1]),E=C*(o[1]-f[1])+f[0],I=o[1];return[E,I]}if(f[1]==m[1]){var x=(A[0]-o[0])/(A[1]-o[1]);return E=x*(f[1]-o[1])+o[0],I=f[1],[E,I]}return x=(A[0]-o[0])/(A[1]-o[1]),C=(m[0]-f[0])/(m[1]-f[1]),I=(x*o[1]-o[0]-C*f[1]+f[0])/(x-C),E=x*I-x*o[1]+o[0],[E,I]},ur.PlotUtils.getAzimuth=function(o,A){var f,m=Math.asin(Math.abs(A[1]-o[1])/ur.PlotUtils.distance(o,A));return A[1]>=o[1]&&A[0]>=o[0]?f=m+Math.PI:A[1]>=o[1]&&A[0]<o[0]?f=ur.Constants.TWO_PI-m:A[1]<o[1]&&A[0]<o[0]?f=m:A[1]<o[1]&&A[0]>=o[0]&&(f=Math.PI-m),f},ur.PlotUtils.getAngleOfThreePoints=function(o,A,f){var m=ur.PlotUtils.getAzimuth(A,o)-ur.PlotUtils.getAzimuth(A,f);return 0>m?m+ur.Constants.TWO_PI:m},ur.PlotUtils.isClockWise=function(o,A,f){return(f[1]-o[1])*(A[0]-o[0])>(A[1]-o[1])*(f[0]-o[0])},ur.PlotUtils.getPointOnLine=function(o,A,f){var m=A[0]+o*(f[0]-A[0]),C=A[1]+o*(f[1]-A[1]);return[m,C]},ur.PlotUtils.getCubicValue=function(o,A,f,m,C){o=Math.max(Math.min(o,1),0);var E=1-o,I=o*o,x=I*o,y=E*E,v=y*E,w=v*A[0]+3*y*o*f[0]+3*E*I*m[0]+x*C[0],Q=v*A[1]+3*y*o*f[1]+3*E*I*m[1]+x*C[1];return[w,Q]},ur.PlotUtils.getThirdPoint=function(o,A,f,m,C){var E=ur.PlotUtils.getAzimuth(o,A),I=C?E+f:E-f,x=m*Math.cos(I),y=m*Math.sin(I);return[A[0]+x,A[1]+y]},ur.PlotUtils.getArcPoints=function(o,A,f,m){var C,E,I=[],x=m-f;x=0>x?x+ur.Constants.TWO_PI:x;for(var y=0;y<=ur.Constants.FITTING_COUNT;y++){var v=f+x*y/ur.Constants.FITTING_COUNT;C=o[0]+A*Math.cos(v),E=o[1]+A*Math.sin(v),I.push([C,E])}return I},ur.PlotUtils.getBisectorNormals=function(o,A,f,m){var C=ur.PlotUtils.getNormal(A,f,m),E=Math.sqrt(C[0]*C[0]+C[1]*C[1]),I=C[0]/E,x=C[1]/E,y=ur.PlotUtils.distance(A,f),v=ur.PlotUtils.distance(f,m);if(E>ur.Constants.ZERO_TOLERANCE)if(ur.PlotUtils.isClockWise(A,f,m)){var w=o*y,Q=f[0]-w*x,M=f[1]+w*I,B=[Q,M];w=o*v,Q=f[0]+w*x,M=f[1]-w*I;var D=[Q,M]}else w=o*y,Q=f[0]+w*x,M=f[1]-w*I,B=[Q,M],w=o*v,Q=f[0]-w*x,M=f[1]+w*I,D=[Q,M];else Q=f[0]+o*(A[0]-f[0]),M=f[1]+o*(A[1]-f[1]),B=[Q,M],Q=f[0]+o*(m[0]-f[0]),M=f[1]+o*(m[1]-f[1]),D=[Q,M];return[B,D]},ur.PlotUtils.getNormal=function(o,A,f){var m=o[0]-A[0],C=o[1]-A[1],E=Math.sqrt(m*m+C*C);m/=E,C/=E;var I=f[0]-A[0],x=f[1]-A[1],y=Math.sqrt(I*I+x*x);I/=y,x/=y;var v=m+I,w=C+x;return[v,w]},ur.PlotUtils.getCurvePoints=function(o,A){for(var f=ur.PlotUtils.getLeftMostControlPoint(A),m=[f],C=0;C<A.length-2;C++){var E=A[C],I=A[C+1],x=A[C+2],y=ur.PlotUtils.getBisectorNormals(o,E,I,x);m=m.concat(y)}var v=ur.PlotUtils.getRightMostControlPoint(A);m.push(v);var w=[];for(C=0;C<A.length-1;C++){E=A[C],I=A[C+1],w.push(E);for(var o=0;o<ur.Constants.FITTING_COUNT;o++){var Q=ur.PlotUtils.getCubicValue(o/ur.Constants.FITTING_COUNT,E,m[2*C],m[2*C+1],I);w.push(Q)}w.push(I)}return w},ur.PlotUtils.getLeftMostControlPoint=function(o){var A=o[0],f=o[1],m=o[2],C=ur.PlotUtils.getBisectorNormals(0,A,f,m),E=C[0],I=ur.PlotUtils.getNormal(A,f,m),x=Math.sqrt(I[0]*I[0]+I[1]*I[1]);if(x>ur.Constants.ZERO_TOLERANCE)var y=ur.PlotUtils.mid(A,f),v=A[0]-y[0],w=A[1]-y[1],Q=ur.PlotUtils.distance(A,f),M=2/Q,B=-M*w,D=M*v,S=B*B-D*D,P=2*B*D,R=D*D-B*B,T=E[0]-y[0],L=E[1]-y[1],F=y[0]+S*T+P*L,U=y[1]+P*T+R*L;else F=A[0]+t*(f[0]-A[0]),U=A[1]+t*(f[1]-A[1]);return[F,U]},ur.PlotUtils.getRightMostControlPoint=function(o){var A=o.length,f=o[A-3],m=o[A-2],C=o[A-1],E=ur.PlotUtils.getBisectorNormals(0,f,m,C),I=E[1],x=ur.PlotUtils.getNormal(f,m,C),y=Math.sqrt(x[0]*x[0]+x[1]*x[1]);if(y>ur.Constants.ZERO_TOLERANCE)var v=ur.PlotUtils.mid(m,C),w=C[0]-v[0],Q=C[1]-v[1],M=ur.PlotUtils.distance(m,C),B=2/M,D=-B*Q,S=B*w,P=D*D-S*S,R=2*D*S,T=S*S-D*D,L=I[0]-v[0],F=I[1]-v[1],U=v[0]+P*L+R*F,N=v[1]+R*L+T*F;else U=C[0]+t*(m[0]-C[0]),N=C[1]+t*(m[1]-C[1]);return[U,N]},ur.PlotUtils.getBezierPoints=function(o){if(o.length<=2)return o;for(var A=[],f=o.length-1,m=0;1>=m;m+=.01){for(var C=0,E=0,I=0;f>=I;I++){var x=ur.PlotUtils.getBinomialFactor(f,I),y=Math.pow(m,I),v=Math.pow(1-m,f-I);C+=x*y*v*o[I][0],E+=x*y*v*o[I][1]}A.push([C,E])}return A.push(o[f]),A},ur.PlotUtils.getBinomialFactor=function(o,A){return ur.PlotUtils.getFactorial(o)/(ur.PlotUtils.getFactorial(A)*ur.PlotUtils.getFactorial(o-A))},ur.PlotUtils.getFactorial=function(o){if(1>=o)return 1;if(o==2)return 2;if(o==3)return 6;if(o==4)return 24;if(o==5)return 120;for(var A=1,f=1;o>=f;f++)A*=f;return A},ur.PlotUtils.getQBSplinePoints=function(o){if(o.length<=2)return o;var A=2,f=[],m=o.length-A-1;f.push(o[0]);for(var C=0;m>=C;C++)for(var E=0;1>=E;E+=.05){for(var I=0,x=0,y=0;A>=y;y++){var v=ur.PlotUtils.getQuadricBSplineFactor(y,E);I+=v*o[C+y][0],x+=v*o[C+y][1]}f.push([I,x])}return f.push(o[o.length-1]),f},ur.PlotUtils.getQuadricBSplineFactor=function(o,A){return o==0?Math.pow(A-1,2)/2:o==1?(-2*Math.pow(A,2)+2*A+1)/2:o==2?Math.pow(A,2)/2:0},ur.Constants={TWO_PI:2*Math.PI,HALF_PI:Math.PI/2,FITTING_COUNT:100,ZERO_TOLERANCE:1e-4};var ZD=nu;var Ri=null;function Sa(o,A){Ri=A,this._viewer=o,this._core=new Ji(o,A),this._tree=Ke,this._getPosition=new hl(this._viewer,A),this._popupmessage=new VB(this._viewer,A),this.tooltip=this._core.CreateTooltip({id:"_jb"}),this.objectsToExclude=[],this.MilitaryStandardObj=[],this.drawHandler=void 0,this.editHandler=null,this.heightpointsId=[],this.state=0,this.isEditting=!1,this.editProp=!1,this.openEdit=!0}Sa.prototype.createBezierline=function(o,A){var f=this,m=this._viewer,C=[],E=[],I=void 0,x="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236";this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+kr.draw),this.drawHandler=new Ri.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;var y;return this.drawHandler.setInputAction(function(v){x="\u5DE6\u952E\u6DFB\u52A0\u70B9 \u53F3\u952E\u7ED3\u675F";var w=v.position,Q=f._createGeoPoints(m,[{x:w.x,y:w.y}]);C.length==0&&(C.push({x:Q[0],y:Q[1],z:Q[2]}),E.push(Q)),E.push(Q),C.push({x:Q[0],y:Q[1],z:Q[2]})},Ri.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(v){f._core.CreateTooltip(x,v.endPosition,!0);var w=v.endPosition;if(C.length>0)if(Ri.defined(I)){C.pop(),E.pop();var M=f._createGeoPoints(m,[{x:w.x,y:w.y}]);C.push({x:M[0],y:M[1],z:M[2]}),E.push(M);var Q=f._createBezierPoints(C),M=[];Q.forEach(S=>{M.push(S.x,S.y,C[0].z)}),y=Ri.Cartesian3.fromDegreesArrayHeights(M)}else{var Q=f._createBezierPoints(C),M=[];Q.forEach(B=>{M.push(B.x,B.y,C[0].z)}),y=Ri.Cartesian3.fromDegreesArrayHeights(M),I=m.entities.add({name:"Bezierline",polyline:{positions:new Ri.CallbackProperty(function(){return y},!1),clampToGround:!0,width:f._core.defaultValue(o.width,2),material:Ri.Color.fromCssColorString(f._core.defaultValue(o.color,"#ff0000"))}}),I.GeoType="Bezierline",f.MilitaryStandardObj.push(I.id)}},Ri.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(function(v){f.end&&f.end()},Ri.ScreenSpaceEventType.RIGHT_DOWN),this.end=v=>{if(this.end=void 0,I&&(I.pottingPoint=E),f.drawHandler.destroy(),f._core.CreateTooltip(x,void 0,!1),f._core.mouse(f._viewer.container,0),setTimeout(function(){Ke.states=0},100),v==="cancel"){I&&(m.entities.remove(I),f.MilitaryStandardObj.pop());return}A&&A(I)},this};Sa.prototype.createBezierArrow=function(o,A){var f=this,m=this._viewer,C="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236",E=[],I=[],x=void 0;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),f._core.mouse(f._viewer.container,1,window.SmartEarthRootUrl+kr.draw),Ke.states=1;var y;return f.drawHandler=new Ri.ScreenSpaceEventHandler(m.scene.canvas),f.drawHandler.setInputAction(function(v){C="\u5DE6\u952E\u6DFB\u52A0\u70B9 \u53F3\u952E\u7ED3\u675F";var w=v.position,Q=f._createGeoPoints(m,[{x:w.x,y:w.y}]);E.length==0&&(E.push({x:Q[0],y:Q[1],z:Q[2]}),I.push(Q)),E.push({x:Q[0],y:Q[1],z:Q[2]}),I.push(Q)},Ri.ScreenSpaceEventType.LEFT_CLICK),f.drawHandler.setInputAction(function(v){f._core.CreateTooltip(C,v.endPosition,!0);var w=v.endPosition;if(E.length>0)if(Ri.defined(x)){E.pop(),I.pop();var M=f._createGeoPoints(m,[{x:w.x,y:w.y}]);E.push({x:M[0],y:M[1],z:M[2]}),I.push(M);var Q=f._createBezierPoints(E),M=[];Q.forEach(S=>{M.push(S.x,S.y,E[0].z)}),y=Ri.Cartesian3.fromDegreesArrayHeights(M)}else{var Q=f._createBezierPoints(E),M=[];Q.forEach(B=>{M.push(B.x,B.y,E[0].z)}),y=Ri.Cartesian3.fromDegreesArrayHeights(M),x=m.entities.add({name:"BezierArrow",polyline:{positions:new Ri.CallbackProperty(function(){return y},!1),clampToGround:!0,width:f._core.defaultValue(o.width,5),material:new Ri.PolylineArrowMaterialProperty(Ri.Color.fromCssColorString(f._core.defaultValue(o.color,"#ff0000")))}}),x.GeoType="BezierArrow",f.MilitaryStandardObj.push(x.id)}},Ri.ScreenSpaceEventType.MOUSE_MOVE),f.drawHandler.setInputAction(function(v){f.end&&f.end()},Ri.ScreenSpaceEventType.RIGHT_DOWN),this.end=v=>{if(this.end=void 0,x&&(x.pottingPoint=I),f.drawHandler.destroy(),f._core.CreateTooltip(C,void 0,!1),f._core.mouse(f._viewer.container,0),setTimeout(function(){Ke.states=0},100),v==="cancel"){x&&(m.entities.remove(x),f.MilitaryStandardObj.pop());return}A&&A(x)},this};Sa.prototype.createSwallowtailArrow=function(o,A,f){var m=o,C=this,E=this._viewer,I=void 0,x=[],y=[],v="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236";this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),C._core.mouse(C._viewer.container,1,window.SmartEarthRootUrl+kr.draw),Ke.states=1;var w;return C.drawHandler=new Ri.ScreenSpaceEventHandler(E.scene.canvas),C.drawHandler.setInputAction(function(Q){var M=Q.position;if(v="\u5355\u51FB\u5B8C\u6210\u7ED8\u5236",y.length==0){var B=C._createGeoPoints(E,[{x:M.x,y:M.y}]);y.push({x:B[0],y:B[1],z:B[2]},{x:B[0]+1e-7,y:B[1]+1e-7,z:B[2]}),x.push(B,B)}else y.length==2&&C.end&&C.end()},Ri.ScreenSpaceEventType.LEFT_CLICK),C.drawHandler.setInputAction(function(Q){C._core.CreateTooltip(v,Q.endPosition,!0);var M=Q.endPosition;if(y.length>1)if(Ri.defined(I)){y.pop(),x.pop();var D=C._createGeoPoints(E,[{x:M.x,y:M.y}]);y.push({x:D[0],y:D[1],z:D[2]}),x.push(D);var B=C._computeSwallowtailArrow(y),D=[];B.forEach(R=>{D.push(R.x,R.y,y[0].z)}),w=Ri.Cartesian3.fromDegreesArrayHeights(D)}else{I=C.plotingSwallowtailArrow(E,y,m,A);var B=C._computeSwallowtailArrow(y),D=[];B.forEach(S=>{D.push(S.x,S.y,y[0].z)}),w=Ri.Cartesian3.fromDegreesArrayHeights(D),I.polygon.hierarchy=new Ri.CallbackProperty(function(){return new Ri.PolygonHierarchy(w)},!1),I.GeoType="SwallowtailArrow",C.MilitaryStandardObj.push(I.id)}else return},Ri.ScreenSpaceEventType.MOUSE_MOVE),C.drawHandler.setInputAction(function(Q){C.end&&C.end()},Ri.ScreenSpaceEventType.RIGHT_DOWN),this.end=Q=>{if(this.end=void 0,I&&(I.pottingPoint=x),C._core.CreateTooltip(v,void 0,!1),C.drawHandler.destroy(),C._core.mouse(C._viewer.container,0),setTimeout(function(){Ke.states=0},100),Q==="cancel"){I&&(E.entities.remove(I),C.MilitaryStandardObj.pop());return}f&&f(I)},this};Sa.prototype.createStraightArrow=function(o,A,f){var m=o,C=this,E=this._viewer,I=[],x=void 0,y=[],v="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236";Ke.states=1;var w;return this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),C._core.mouse(C._viewer.container,1,window.SmartEarthRootUrl+kr.draw),C.drawHandler=new Ri.ScreenSpaceEventHandler(E.scene.canvas),C.drawHandler.setInputAction(function(Q){var M=Q.position;if(v="\u5355\u51FB\u5B8C\u6210\u7ED8\u5236",I.length==0){var B=C._createGeoPoints(E,[{x:M.x,y:M.y}]);I.push({x:B[0],y:B[1],z:B[2]},{x:B[0]+1e-7,y:B[1]+1e-7,z:B[2]}),y.push(B,B)}else I.length==2&&C.end&&C.end()},Ri.ScreenSpaceEventType.LEFT_CLICK),C.drawHandler.setInputAction(function(Q){var M=Q.endPosition;if(C._core.CreateTooltip(v,M,!0),I.length>1)if(Ri.defined(x)){I.pop(),y.pop();var D=C._createGeoPoints(E,[{x:M.x,y:M.y}]);I.push({x:D[0],y:D[1],z:D[2]}),y.push(D);var B=C.calculateMorePoints(I),D=[];B.forEach(R=>{D.push(R.x,R.y,I[0].z)}),w=Ri.Cartesian3.fromDegreesArrayHeights(D)}else{var B=C.calculateMorePoints(I),D=[];B.forEach(S=>{D.push(S.x,S.y,I[0].z)}),w=Ri.Cartesian3.fromDegreesArrayHeights(D),m=="polygon"?x=E.entities.add({name:"StraightArrow",polygon:{hierarchy:w,material:Ri.Color.fromCssColorString(C._core.defaultValue(A.color,"rgba(255,0,0,0.6)"))}}):m=="box"&&(x=E.entities.add({name:"StraightArrow",polygon:{hierarchy:w,material:Ri.Color.fromCssColorString(C._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),extrudedHeight:D[2]+C._core.defaultValue(A.extrudedHeight,200),height:D[2],outline:C._core.defaultValue(A.outline,!0),outlineColor:Ri.Color.fromCssColorString(C._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)"))}})),x.polygon.hierarchy=new Ri.CallbackProperty(function(){return new Ri.PolygonHierarchy(w)},!1),x.GeoType="StraightArrow",C.MilitaryStandardObj.push(x.id)}else return},Ri.ScreenSpaceEventType.MOUSE_MOVE),C.drawHandler.setInputAction(function(Q){C.end&&C.end()},Ri.ScreenSpaceEventType.RIGHT_DOWN),this.end=Q=>{if(this.end=void 0,x&&(x.pottingPoint=y),C._core.CreateTooltip(v,void 0,!1),C.drawHandler.destroy(),C._core.mouse(C._viewer.container,0),setTimeout(function(){Ke.states=0},100),Q==="cancel"){x&&(E.entities.remove(x),C.MilitaryStandardObj.pop());return}f&&f(x)},this};Sa.prototype.createRoundedRectangle=function(o,A,f){var m=o,C="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236",E=this,I=this._viewer,x=[],y=[],v=void 0;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),E._core.mouse(E._viewer.container,1,window.SmartEarthRootUrl+kr.draw),Ke.states=1;var w;return E.drawHandler=new Ri.ScreenSpaceEventHandler(I.scene.canvas),E.drawHandler.setInputAction(function(Q){var M=Q.position;if(C="\u5355\u51FB\u5B8C\u6210\u7ED8\u5236",x.length==0){var B=E._createGeoPoints(I,[{x:M.x,y:M.y}]);x.push({x:B[0],y:B[1],z:B[2]},{x:B[0]+1e-7,y:B[1]+1e-7,z:B[2]}),y.push(B,B)}else x.length==2&&E.end&&E.end()},Ri.ScreenSpaceEventType.LEFT_CLICK),E.drawHandler.setInputAction(function(Q){E._core.CreateTooltip(C,Q.endPosition,!0);var M=Q.endPosition;if(x.length>1)if(Ri.defined(v)){x.pop(),y.pop();var D=E._createGeoPoints(I,[{x:M.x,y:M.y}]);x.push({x:D[0],y:D[1],z:D[2]}),y.push(D);var B=E._computeRoundedRectanglePoints(x),D=[];B.forEach(R=>{D.push(R.x,R.y,x[0].z)}),w=Ri.Cartesian3.fromDegreesArrayHeights(D)}else{var B=E._computeRoundedRectanglePoints(x),D=[];B.forEach(S=>{D.push(S.x,S.y,x[0].z)}),w=Ri.Cartesian3.fromDegreesArrayHeights(D),m=="polygon"?v=I.entities.add({name:"RoundedRectangle",polygon:{hierarchy:w,material:Ri.Color.fromCssColorString(E._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:E._core.defaultValue(A.outline,!0),outlineColor:Ri.Color.fromCssColorString(E._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)"))}}):m=="box"&&(v=I.entities.add({name:"RoundedRectangle",polygon:{hierarchy:w,material:Ri.Color.fromCssColorString(E._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:E._core.defaultValue(A.outline,!0),outlineColor:Ri.Color.fromCssColorString(E._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)")),extrudedHeight:D[2]+E._core.defaultValue(A.extrudedHeight,200),height:D[2]}})),v.polygon.hierarchy=new Ri.CallbackProperty(function(){return new Ri.PolygonHierarchy(w)},!1),v.GeoType="RoundedRectangle",E.MilitaryStandardObj.push(v.id)}},Ri.ScreenSpaceEventType.MOUSE_MOVE),E.drawHandler.setInputAction(function(Q){E.end&&E.end()},Ri.ScreenSpaceEventType.RIGHT_DOWN),this.end=Q=>{if(this.end=void 0,v&&(v.pottingPoint=y),E._core.CreateTooltip(C,void 0,!1),E.drawHandler.destroy(),E._core.mouse(E._viewer.container,0),setTimeout(function(){Ke.states=0},100),Q==="cancel"){v&&(I.entities.remove(v),E.MilitaryStandardObj.pop());return}f&&f(v)},this};Sa.prototype.createSector=function(o,A,f){var m=o,C="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236",E=this._viewer,I=this,x=[],y=[],v,w;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),I._core.mouse(I._viewer.container,1,window.SmartEarthRootUrl+kr.draw),Ke.states=1;var Q;return I.drawHandler=new Ri.ScreenSpaceEventHandler(E.scene.canvas),I.drawHandler.setInputAction(function(M){C="\u5355\u51FB\u6DFB\u52A0\u70B9";var B=M.position,D=I._createGeoPoints(E,[{x:B.x,y:B.y}]);x.length==0?(x.push({x:D[0],y:D[1],z:D[2]},{x:D[0],y:D[1],z:D[2]}),y.push(D,D)):x.length==2?(x.push({x:D[0],y:D[1],z:D[2]}),y.push(D)):x.length==3&&I.end&&I.end(),y.length===2&&!w&&(w=E.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Ri.CallbackProperty(function(){return[Ri.Cartesian3.fromDegrees(y[0][0],y[0][1]),Ri.Cartesian3.fromDegrees(y[1][0],y[1][1])]},!1),clampToGround:!0,material:Ri.Color.fromCssColorString(I._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),width:3}}))},Ri.ScreenSpaceEventType.LEFT_CLICK),I.drawHandler.setInputAction(function(M){I._core.CreateTooltip(C,M.endPosition,!0);var B=M.endPosition;if(x.length===2){x.pop(),y.pop();var D=I._createGeoPoints(E,[{x:B.x,y:B.y}]);x.push({x:D[0],y:D[1],z:D[2]}),y.push(D)}if(x.length>2)if(w&&E.entities.remove(w),Ri.defined(v)){x.pop(),y.pop();var D=I._createGeoPoints(E,[{x:B.x,y:B.y}]);x.push({x:D[0],y:D[1],z:D[2]}),y.push(D);var S=I._computeSectorPoints(x),D=[];S.forEach(T=>{D.push(T.x,T.y,x[0].z)}),Q=Ri.Cartesian3.fromDegreesArrayHeights(D)}else{var S=I._computeSectorPoints(x),D=[];S.forEach(R=>{D.push(R.x,R.y,x[0].z)}),Q=Ri.Cartesian3.fromDegreesArrayHeights(D),m=="polygon"?v=E.entities.add({name:"Sector",polygon:{hierarchy:Q,material:Ri.Color.fromCssColorString(I._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:I._core.defaultValue(A.outline,!0),outlineColor:Ri.Color.fromCssColorString(I._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)"))}}):m=="box"&&(v=E.entities.add({name:"Sector",polygon:{hierarchy:Q,material:Ri.Color.fromCssColorString(I._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:I._core.defaultValue(A.outline,!0),outlineColor:Ri.Color.fromCssColorString(I._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)")),extrudedHeight:D[2]+I._core.defaultValue(A.extrudedHeight,200),height:D[2]}})),v.polygon.hierarchy=new Ri.CallbackProperty(function(){return new Ri.PolygonHierarchy(Q)},!1),v.GeoType="Sector",I.MilitaryStandardObj.push(v.id)}},Ri.ScreenSpaceEventType.MOUSE_MOVE),I.drawHandler.setInputAction(function(M){I.end&&I.end()},Ri.ScreenSpaceEventType.RIGHT_DOWN),this.end=M=>{if(this.end=void 0,v&&(v.pottingPoint=y),I._core.CreateTooltip(C,void 0,!1),I.drawHandler.destroy(),I._core.mouse(I._viewer.container,0),w&&E.entities.remove(w),setTimeout(function(){Ke.states=0},100),M==="cancel"){v&&(E.entities.remove(v),I.MilitaryStandardObj.pop());return}f&&f(v)},this};Sa.prototype.createBow=function(o,A,f){var m=o,C=this,E=this._viewer,I="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236",x=[],y=[],v=void 0;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),C._core.mouse(C._viewer.container,1,window.SmartEarthRootUrl+kr.draw),Ke.states=1;var w;return C.drawHandler=new Ri.ScreenSpaceEventHandler(E.scene.canvas),C.drawHandler.setInputAction(function(Q){I="\u5355\u51FB\u6DFB\u52A0\u70B9";var M=Q.position,B=C._createGeoPoints(E,[{x:M.x,y:M.y}]);x.length==0?(x.push({x:B[0],y:B[1],z:B[2]}),y.push(B)):x.length==1?(x.push({x:B[0],y:B[1],z:B[2]},{x:B[0]+1e-7,y:B[1]+1e-7,z:B[2]}),y.push(B,B)):x.length==3&&C.end&&C.end()},Ri.ScreenSpaceEventType.LEFT_CLICK),C.drawHandler.setInputAction(function(Q){var M=Q.endPosition;if(C._core.CreateTooltip(I,Q.endPosition,!0),x.length>2)if(Ri.defined(v)){x.pop(),y.pop();var D=C._createGeoPoints(E,[{x:M.x,y:M.y}]);x.push({x:D[0],y:D[1],z:D[2]}),y.push(D);var B=C._computeBowPoints(x),D=[];B.forEach(R=>{D.push(R.x,R.y,x[0].z)}),w=Ri.Cartesian3.fromDegreesArrayHeights(D)}else{var B=C._computeBowPoints(x),D=[];B.forEach(S=>{D.push(S.x,S.y,x[0].z)}),w=Ri.Cartesian3.fromDegreesArrayHeights(D),m=="polygon"?v=E.entities.add({name:"Bow",polygon:{hierarchy:w,material:Ri.Color.fromCssColorString(C._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:C._core.defaultValue(A.outline,!0),outlineColor:Ri.Color.fromCssColorString(C._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)"))}}):m=="box"&&(v=E.entities.add({name:"Bow",polygon:{hierarchy:w,material:Ri.Color.fromCssColorString(C._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:C._core.defaultValue(A.outline,!0),outlineColor:Ri.Color.fromCssColorString(C._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)")),extrudedHeight:D[2]+C._core.defaultValue(A.extrudedHeight,200),height:D[2]}})),v.polygon.hierarchy=new Ri.CallbackProperty(function(){return new Ri.PolygonHierarchy(w)},!1),v.GeoType="Bow",C.MilitaryStandardObj.push(v.id)}},Ri.ScreenSpaceEventType.MOUSE_MOVE),C.drawHandler.setInputAction(function(Q){C.end&&C.end()},Ri.ScreenSpaceEventType.RIGHT_DOWN),this.end=Q=>{if(this.end=void 0,v&&(v.pottingPoint=y),C._core.CreateTooltip(I,void 0,!1),C.drawHandler.destroy(),C._core.mouse(C._viewer.container,0),setTimeout(function(){Ke.states=0},100),Q==="cancel"){v&&(E.entities.remove(v),C.MilitaryStandardObj.pop());return}f&&f(v)},this};Sa.prototype.createPincerArrow=function(o,A,f){var m=o,C=this,E=this._viewer,I=[],x=[],y=[],v=void 0,w=null,Q=[],M="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236";this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),C._core.mouse(C._viewer.container,1,window.SmartEarthRootUrl+kr.draw),Ke.states=1,C.drawHandler=new Ri.ScreenSpaceEventHandler(E.scene.canvas),C.drawHandler.setInputAction(function(B){var D,S=B.position;if(M="\u5355\u51FB\u589E\u52A0\u70B9",D=C._getPosition.getMousePosition(B),!!D)if(I.length>4){C._core.CreateTooltip(M,B.position,!1),v.pottingPoint=y,C.drawHandler.destroy(),C._core.mouse(C._viewer.container,0),setTimeout(function(){Ke.states=0},100),f&&f(v);return}else{I.push(D);var P=C._createGeoPoints(E,[{x:S.x,y:S.y}]);y.push(P)}},Ri.ScreenSpaceEventType.LEFT_CLICK),C.drawHandler.setInputAction(function(B){if(!(I.length<2)){C._core.CreateTooltip(M,B.endPosition,!0);var D;if(D=C._getPosition.getMousePosition(B),!!D&&I.length>=2)if(Ri.defined(v)){I.pop(),y.pop(),I.push(D);var S=C._createGeoPoints(E,[B.endPosition]);y.push(S)}else{I.push(D);var S=C._createGeoPoints(E,[B.endPosition]);y.push(S),v=C.showArrowOnMap(I,m,A),v.GeoType="PincerArrow",C.MilitaryStandardObj.push(v.id)}}},Ri.ScreenSpaceEventType.MOUSE_MOVE)};Sa.prototype.createAttackArrow=function(o,A,f){var m=o,C=this,E=this._viewer,I=[],x=[],y=[],v=void 0,w=null,Q=[],M="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236";this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),C._core.mouse(C._viewer.container,1,window.SmartEarthRootUrl+kr.draw),Ke.states=1,C.drawHandler=new Ri.ScreenSpaceEventHandler(E.scene.canvas),C.drawHandler.setInputAction(function(B){var D;if(M="\u5355\u51FB\u589E\u52A0\u70B9",D=C._getPosition.getMousePosition(B),!!D){I.push(D);var S=C._createGeoPoints(E,[B.position]);y.push(S)}},Ri.ScreenSpaceEventType.LEFT_CLICK),C.drawHandler.setInputAction(function(B){I.length>1&&(I.pop(),y.pop())},Ri.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),C.drawHandler.setInputAction(function(B){if(!(I.length<2)){C._core.CreateTooltip(M,B.endPosition,!0);var D;if(D=C._getPosition.getMousePosition(B),!!D&&I.length>=2)if(Ri.defined(v)){I.pop(),y.pop(),I.push(D);var S=C._createGeoPoints(E,[B.endPosition]);y.push(S)}else{I.push(D);var S=C._createGeoPoints(E,[B.endPosition]);y.push(S),v=C.showAttackArrowOnMap(I,m,A),v.GeoType="AttackArrow",C.MilitaryStandardObj.push(v.id)}}},Ri.ScreenSpaceEventType.MOUSE_MOVE),C.drawHandler.setInputAction(function(B){C._core.CreateTooltip(M,B.position,!1),v.pottingPoint=y,C.drawHandler.destroy(),C._core.mouse(C._viewer.container,0),setTimeout(function(){Ke.states=0},100),f&&f(v)},Ri.ScreenSpaceEventType.RIGHT_DOWN)};Sa.prototype.createHandlerPolygon=function(o,A,f){var m=o,C="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236",E=this,I=this._viewer,x=[],y=[],v=void 0;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),E._core.mouse(E._viewer.container,1,window.SmartEarthRootUrl+kr.draw),Ke.states=1;var w;return E.drawHandler=new Ri.ScreenSpaceEventHandler(I.scene.canvas),E.drawHandler.setInputAction(function(Q){var M=Q.position;if(C="\u5355\u51FB\u5B8C\u6210\u7ED8\u5236",x.length==0){var B=E._createGeoPoints(I,[{x:M.x,y:M.y}]);x.push({x:B[0],y:B[1],z:B[2]},{x:B[0]+1e-7,y:B[1]+1e-7,z:B[2]}),y.push(B,B)}else x.length==2&&(E._core.CreateTooltip(C,M,!1),v.pottingPoint=y,setTimeout(function(){Ke.states=0},100),E.drawHandler.destroy(),E._core.mouse(E._viewer.container,0),f&&f(v))},Ri.ScreenSpaceEventType.LEFT_CLICK),E.drawHandler.setInputAction(function(Q){var M=Q.endPosition;if(E._core.CreateTooltip(C,Q.endPosition,!0),x.length>1){var B,D,S,P;if(!Ri.defined(v))S=E._computeGatheringPlacePoints(x),P=E.createCloseCardinal(S),B=E.calculatePointsFBZ3(P,100),D=[],B.forEach(R=>{D.push(R.x,R.y,x[0].z)}),w=D,v=E.plotingGatheringPlace(I,x,m,A),v.polygon.hierarchy=new Ri.CallbackProperty(function(){return new Ri.PolygonHierarchy(Ri.Cartesian3.fromDegreesArrayHeights(w))},!1),v.GeoType="GatheringPlace",E.MilitaryStandardObj.push(v.id);else{x.pop(),y.pop();var D=E._createGeoPoints(I,[{x:M.x,y:M.y}]);x.push({x:D[0],y:D[1],z:D[2]}),y.push(D),S=E._computeGatheringPlacePoints(x),P=E.createCloseCardinal(S),B=E.calculatePointsFBZ3(P,100);var D=[];B.forEach(T=>{D.push(T.x,T.y,x[0].z)}),w=D}}},Ri.ScreenSpaceEventType.MOUSE_MOVE),x};Sa.prototype.plotingGatheringPlace=function(o,A,f,m){var C=this._computeGatheringPlacePoints(A),E=this.createCloseCardinal(C),I=this.calculatePointsFBZ3(E,100),x=this._createGeoPoints(o,I),y;return f=="polygon"?y=o.entities.add({name:"GatheringPlace",polygon:{hierarchy:Ri.Cartesian3.fromDegreesArrayHeights(x),material:Ri.Color.fromCssColorString(this._core.defaultValue(m.color,"rgba(255,0,0,0.6)")),outline:this._core.defaultValue(m.outline,!0),outlineColor:Ri.Color.fromCssColorString(this._core.defaultValue(m.outlineColor,"rgba(255,0,0,0.6)"))}}):y=o.entities.add({name:"GatheringPlace",polygon:{hierarchy:Ri.Cartesian3.fromDegreesArrayHeights(x),extrudedHeight:this._core.defaultValue(m.extrudedHeight,200)+x[2],height:x[2],material:Ri.Color.fromCssColorString(this._core.defaultValue(m.color,"rgba(255,0,0,0.6)")),outline:this._core.defaultValue(m.outline,!0),outlineColor:Ri.Color.fromCssColorString(this._core.defaultValue(m.outlineColor,"rgba(255,0,0,0.6)"))}}),y};Sa.prototype.addFeature=function(o){let A,f=o.geometry.coordinates,m=[];if(o.type=="PincerArrow"){let I=ZD.algorithm.doubleArrow(f),x=[];JSON.stringify(I.polygonalPoint).indexOf("null")==-1&&(x=I.polygonalPoint),A=x}else if(o.type=="AttackArrow"){let I=ZD.algorithm.tailedAttackArrow(f),x=JSON.stringify(I.polygonalPoint).indexOf("null"),y=[];x==-1&&(y=I.polygonalPoint),A=y}else if(f.forEach(I=>{m.push({x:I[0],y:I[1],z:I[2]})}),o.type=="StraightArrow")A=this.calculateMorePoints(m);else if(o.type=="RoundedRectangle")A=this._computeRoundedRectanglePoints(m);else if(o.type=="Sector")A=this._computeSectorPoints(m);else if(o.type=="Bow")A=this._computeBowPoints(m);else if(o.type=="GatheringPlace"){let I=this._computeGatheringPlacePoints(m),x=this.createCloseCardinal(I);A=this.calculatePointsFBZ3(x,100)}else o.type=="SwallowtailArrow"?A=this._computeSwallowtailArrow(m):o.type=="Bezierline"?A=this._createBezierPoints(m):o.type=="BezierArrow"&&(A=this._createBezierPoints(m));let C;o.type!=="AttackArrow"&&o.type!=="PincerArrow"?(C=[],A.forEach(I=>{C.push(I.x,I.y,m[0].z)}),C=Ri.Cartesian3.fromDegreesArrayHeights(C)):C=A;let E;return o.type.indexOf("Bezier")>=0?E=this._viewer.entities.add({id:o.id,name:o.name,polyline:{positions:new Ri.CallbackProperty(function(){return C},!1),width:o.style.width,clampToGround:!0,material:o.type==="BezierArrow"?new Ri.PolylineArrowMaterialProperty(new Ri.Color.fromCssColorString(o.style.fillColor.color).withAlpha(o.style.fillColor.alpha)):new Ri.Color.fromCssColorString(o.style.fillColor.color).withAlpha(o.style.fillColor.alpha)}}):E=this._viewer.entities.add({id:o.id,name:o.name,polygon:{hierarchy:new Ri.CallbackProperty(function(){return new Ri.PolygonHierarchy(C)},!1),fill:!0,extrudedHeight:o.style.extrudedHeight!==void 0?o.style.extrudedHeight+o.style.height:void 0,height:o.style.height,material:new Ri.Color.fromCssColorString(o.style.fillColor.color).withAlpha(o.style.fillColor.alpha),outline:o.style.outline,outlineColor:o.style.outlineColor?new Ri.Color.fromCssColorString(o.style.outlineColor.color).withAlpha(o.style.outlineColor.alpha):void 0}}),E.GeoType=o.type,E.pottingPoint=f,!o.removeEdit&&this.MilitaryStandardObj.push(E.id),this.defaultEdit(),E};Sa.prototype.open=function(o){var A=this,f=this._viewer,m=new FileReader;m.readAsText(o);var C=new Ri.EntityCollection;m.onload=function(){JSON.parse(this.result).features.forEach(x=>{let y=A.addFeature(x);C.add(y)}),f.flyTo(C),A.MilitaryStandardObj.length&&!A.editHandler&&A.edit(A.openEdit,A.editOption)}};Sa.prototype.clear=function(){var o=this._viewer;this.MilitaryStandardObj.forEach(A=>{o.entities.removeById(A)}),this.MilitaryStandardObj=[],window.layuiLayer.close(SmartEarthPopupData.layerIndex),!this.MilitaryStandardObj.length&&this.editHandler&&this.edit(!1)};Sa.prototype.getColor=function(o){return{color:this.colorHex("rgb("+o.red*255+","+o.green*255+","+o.blue*255+")"),alpha:o.alpha}};Sa.prototype.getFeature=function(o){let A={id:o.id,type:o.GeoType,name:o.name,editType:""},f=o.pottingPoint;return o.polyline?(A.editType="GroundPolyline",A.geometry={type:"polyline",coordinates:f},A.style={fillColor:this.getColor(o.polyline.material.color._value),width:o.polyline.width.getValue()}):(A.editType="GroundPolygon",A.geometry={type:"polygon",coordinates:f},A.style={fillColor:this.getColor(o.polygon.material.color._value)},o.polygon.extrudedHeight&&(A.editType="ExtrudedPolygon",A.style.height=o.polygon.height.getValue(),A.style.extrudedHeight=o.polygon.extrudedHeight.getValue()-o.polygon.height.getValue(),o.polygon.outline&&(A.style.outline=o.polygon.outline.getValue()),o.polygon.outlineColor&&(A.style.outlineColor=this.getColor(o.polygon.outlineColor._value)))),A};Sa.prototype.save=function(){var o=this._viewer,A={type:"FeatureCollection",features:[]},f;this.MilitaryStandardObj.forEach(E=>{let I=o.entities.getById(E);I&&(f=this.getFeature(I)),A.features.push(f)});var m=JSON.stringify(A),C=new Blob([m],{type:"text/plain;charset=utf-8"});this._core.saveAs(C,"\u519B\u6807.json")};Sa.prototype.colorHex=function(o){var A=o,f=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(A)){var m=A.replace(/(rgb|RGB)*/g,"");m=m.replace("(","").replace(")","");for(var C=m.split(","),E="#",I=0;I<C.length;I++){var x=Number(C[I]).toString(16);x=x.length===1?0+""+x:x,x==="0"&&(x+=x),E+=x}return E.length!==7&&(E=A),E}else if(f.test(A)){var y=A.replace(/#/,"").split("");if(y.length===6)return A;if(y.length===3){for(var v="#",I=0;I<y.length;I+=1)v+=y[I]+y[I];return v}}else return A};Sa.prototype.copyJb=function(o){var A;if(o.type=="StraightArrow"||o.type=="SwallowtailArrow"||o.type=="PincerArrow"){var f={holes:[],positions:this.szposis(o.pos)};A=this._viewer.entities.add({name:"StraightArrow",polygon:{hierarchy:f,material:Ri.Color.RED.withAlpha(.5)}})}else o.type=="BezierArrow"?A=this._viewer.entities.add({name:"BezierArrow",polyline:{positions:this.szposis(o.pos),width:5,clampToGround:!0,material:new Ri.PolylineArrowMaterialProperty(Ri.Color.RED)}}):o.img?A=this._viewer.entities.add({position:this.zfsz(o.pos),billboard:{image:o.img,show:!0}}):o.text&&(A=this._viewer.entities.add({position:this.zfsz(o.pos),label:{text:o.text,horizontalOrigin:Ri.HorizontalOrigin.CENTER,verticalOrigin:Ri.VerticalOrigin.CENTER,show:!0,showBackground:!1}}));return A._id=o.id,that.objectsToExclude.push(A),A};Sa.prototype.getEntityById=function(o){var A=this._viewer.entities.getById(o),f;return A.polyline!=null&&A.polyline?f={obj:A.polyline,type:A.name,posion:A.polyline.positions.getValue()}:A.polygon!=null&&A.polygon?f={obj:A.polygon,type:A.name,posion:A.polygon.hierarchy.getValue().positions}:A.label!=null&&A.label?f={obj:A.label,type:"lable",text:A.label.text.getValue(),posion:A.position.getValue()}:A.billboard!=null&&A.billboard&&(f={obj:A.billboard,type:"img",img:A.billboard.image.getValue(),posion:A.position.getValue()}),f};Sa.prototype.szposis=function(o){for(var A=[],f=o.split(",("),m=0;m<f.length;m++){var C=this.zfsz(f[m]);A.push(C)}return A};Sa.prototype.zfsz=function(o){for(var A,f=o.split(","),m=0;m<f.length;m++)(f[m].indexOf("(")!=-1||f[m].indexOf(")")!=-1)&&(f[m]=f[m].replace("(",""));return A={x:parseFloat(f[0]),y:parseFloat(f[1]),z:parseFloat(f[2])},A};Sa.prototype.showArrowOnMap=function(o,A,f){var m=this,C=m._viewer.scene.globe.ellipsoid.cartesianToCartographic(o[0]),E=C.height,I=function(){if(o.length<3)return null;for(var y=[],v=0;v<o.length;v++){var w=m._viewer.scene.globe.ellipsoid.cartesianToCartographic(o[v]),Q=Ri.Math.toDegrees(w.latitude),M=Ri.Math.toDegrees(w.longitude);y.push([M,Q])}var B=ZD.algorithm.doubleArrow(y),D=[],S=JSON.stringify(B.polygonalPoint).indexOf("null");return S==-1&&(D=B.polygonalPoint),new Ri.PolygonHierarchy(D)},x;return A=="polygon"?x=m._viewer.entities.add({name:"PincerArrow",polygon:new Ri.PolygonGraphics({hierarchy:new Ri.CallbackProperty(I,!1),show:!0,fill:!0,material:Ri.Color.fromCssColorString(m._core.defaultValue(f.color,"rgba(255,0,0,0.6)")),outline:m._core.defaultValue(f.outline,!0),outlineColor:Ri.Color.fromCssColorString(m._core.defaultValue(f.outlineColor,"rgba(255,0,0,0.6)"))})}):A=="box"&&(x=m._viewer.entities.add({name:"PincerArrow",polygon:new Ri.PolygonGraphics({hierarchy:new Ri.CallbackProperty(I,!1),show:!0,fill:!0,material:Ri.Color.fromCssColorString(m._core.defaultValue(f.color,"rgba(255,0,0,0.6)")),outline:m._core.defaultValue(f.outline,!0),outlineColor:Ri.Color.fromCssColorString(m._core.defaultValue(f.outlineColor,"rgba(255,0,0,0.6)")),extrudedHeight:E+m._core.defaultValue(f.extrudedHeight,200),height:E})})),x};Sa.prototype.showAttackArrowOnMap=function(o,A,f){var m=this,C=m._viewer.scene.globe.ellipsoid.cartesianToCartographic(o[0]),E=C.height,I=function(){if(o.length<3)return null;for(var x=[],y=0;y<o.length;y++){var v=m.cartesianToLatlng(o[y]);x.push(v)}var w=ZD.algorithm.tailedAttackArrow(x),Q=JSON.stringify(w.polygonalPoint).indexOf("null"),M=[];return Q==-1&&(M=w.polygonalPoint),new Ri.PolygonHierarchy(M)};return this._viewer.entities.add({name:"AttackArrow",polygon:new Ri.PolygonGraphics({hierarchy:new Ri.CallbackProperty(I,!1),show:!0,fill:!0,classificationType:Ri.ClassificationType.TERRAIN,extrudedHeight:A==="box"?m._core.defaultValue(f.extrudedHeight,200)+E:void 0,height:A==="box"?E:void 0,material:Ri.Color.fromCssColorString(m._core.defaultValue(f.color,"rgba(255,0,0,0.6)")),outline:m._core.defaultValue(f.outline,!0),outlineColor:Ri.Color.fromCssColorString(m._core.defaultValue(f.outlineColor,"rgba(255,0,0,0.6)"))})})};Sa.prototype.cartesianToLatlng=function(o){var A=this._viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Ri.Math.toDegrees(A.latitude),m=Ri.Math.toDegrees(A.longitude);return[m,f]};Sa.prototype.getCatesian3FromPX=function(o,A){var f=this._viewer.scene.drillPick(o);this._viewer.render();for(var m,C=!0,E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ri.Cesium3DTileFeature)&&(C=!0);if(C)m=this._viewer.scene.pickPosition(o);else{var I=this._viewer.camera.getPickRay(o);if(!I)return null;m=this._viewer.scene.globe.pick(I,this._viewer.scene)}return m};Sa.prototype._createGeoPoints=function(o,A){for(var f=[],m,C,E,I,x,y,v,w,Q=0;Q<A.length;Q++)m=o.camera.getPickRay(A[Q]),m&&(C=o.scene.globe.pick(m,o.scene)),C&&(I=Ri.Cartographic.fromCartesian(C),x=Ri.Math.toDegrees(I.longitude),y=Ri.Math.toDegrees(I.latitude),v=I.height,f.push(x,y,v));return f};Sa.prototype._createScreenPoints=function(o,A){for(var f=[],m,C=0;C<A.length;C++)m=o.scene.cartesianToCanvasCoordinates(A[C]),f.push(m);return f};Sa.prototype._createBezierPoints=function(o){for(var A=100,f=[],m=0;m<=A;m++){var C=this._computeBezierPoints(o,m/A);f.push(C)}return f};Sa.prototype._computeBezierPoints=function(o,A){for(var f=0,m=0,C=0,E=this._computeBinomial(o),I=0;I<o.length;I++){var x=o[I];f+=x.x*Math.pow(1-A,o.length-1-I)*Math.pow(A,I)*E[I],m+=x.y*Math.pow(1-A,o.length-1-I)*Math.pow(A,I)*E[I]}return{x:f,y:m}};Sa.prototype._computeBinomial=function(o){var A=o.length,f=[];f.push(1);for(var m=1;m<A-1;m++){for(var C=1,E=1,I=0;I<m;I++)C=C*(A-1-I),E=E*(m-I);f.push(C/E)}return f.push(1),f};Sa.prototype._computeGatheringPlacePoints=function(o){var A=[];if(o.length==2){var f=o[0],m=o[o.length-1],C={x:m.x-f.x,y:m.y-f.y},E=Math.sqrt(C.x*C.x+C.y*C.y),I=this.calculateVector(C,Math.PI/3,Math.sqrt(3)/12*E),x=I[1],y={x:f.x+x.x,y:f.y+x.y},v={x:(f.x+m.x)/2,y:(f.y+m.y)/2},w=this.calculateVector(C,Math.PI*2/3,Math.sqrt(3)/12*E),Q=w[1],M={x:m.x+Q.x,y:m.y+Q.y},B=this.calculateVector(C,Math.PI/2,1/2*E),D=B[0],S={x:D.x+v.x,y:D.y+v.y},P=f,R=m;A.push(P,y,v,M,R,S)}return A};Sa.prototype.createCloseCardinal=function(o){if(o==null||o.length<3)return o;var A=o[0];o.push(A);for(var f=o,m=[],C=.4,E=.5,I=.005,x=f.length-1,y=0;y<=x-1;y++){if(y==x-1)var v=f[x-1],w=f[0],Q=f[1];else var v=f[y],w=f[y+1],Q=f[y+2];var M={x:void 0,y:void 0},B={x:void 0,y:void 0},D={x:w.x-v.x,y:w.y-v.y},S={x:Q.x-w.x,y:Q.y-w.y},P=Math.sqrt(D.x*D.x+D.y*D.y),R=Math.sqrt(S.x*S.x+S.y*S.y),T={x:D.x/P,y:D.y/P},L={x:S.x/R,y:S.y/R},F={x:T.x+L.x,y:T.y+L.y},U=Math.sqrt(F.x*F.x+F.y*F.y),N={x:F.x/U,y:F.y/U},H=(T.x*L.x+T.y*L.y)/1;Math.abs(1-H)<I?(M.x=w.x-L.x*P*C,M.y=w.y-L.y*P*C,B.x=w.x+T.x*R*C,B.y=w.y+T.y*R*C):(M.x=w.x-N.x*P*C,M.y=w.y-N.y*P*C,B.x=w.x+N.x*R*C,B.y=w.y+N.y*R*C),y==x-1?(m[0]=w,m[1]=B,m[(x-2)*3+2+3]=M,m[(x-2)*3+2+4]=f[x]):(m[y*3+2+0]=M,m[y*3+2+1]=w,m[y*3+2+2]=B)}return m};Sa.prototype.calculatePointsFBZ3=function(o,A){A||(A=20);var f=[],m=.05;A>0&&(m=1/A);for(var C=0;C<o.length-3;){var E=o[C],I=o[C+1],x=o[C+2],y=o[C+3];f.push(E);for(var v=0;v<1;){var w=(1-v)*(1-v)*(1-v)*E.x+3*v*(1-v)*(1-v)*I.x+3*v*v*(1-v)*x.x+v*v*v*y.x,Q=(1-v)*(1-v)*(1-v)*E.y+3*v*(1-v)*(1-v)*I.y+3*v*v*(1-v)*x.y+v*v*v*y.y,M={x:w,y:Q};f.push(M),v+=m}C+=3,C>=o.length&&f.push(E)}var B=f[f.length-1],D=o[o.length-1];return f};Sa.prototype.calculateVector=function(o,A,f){A||(A=Math.PI/2),f||(f=1);var m,C,E,I,x,y,v=Math.sqrt(o.x*o.x+o.y*o.y);if(o.y==0)m=C=v*f*Math.cos(A)/o.x,o.x>0?(E=Math.sqrt(f*f-m*m),I=-E):o.x<0&&(I=Math.sqrt(f*f-m*m),E=-I),x={x:m,y:E},y={x:C,y:I};else{var w=-o.x/o.y,Q=f*v*Math.cos(A)/o.y,M=1+w*w,B=2*w*Q,D=Q*Q-f*f;m=(-B-Math.sqrt(B*B-4*M*D))/(2*M),C=(-B+Math.sqrt(B*B-4*M*D))/(2*M),E=w*m+Q,I=w*C+Q,o.y>=0?(x={x:m,y:E},y={x:C,y:I}):o.y<0&&(x={x:C,y:I},y={x:m,y:E})}return[x,y]};Sa.prototype.plotingSwallowtailArrow=function(o,A,f,m){var C=this._computeSwallowtailArrow(A),E=[];C.forEach(x=>{E.push(x.x,x.y,A[0].z)});var I;return f=="polygon"?I=o.entities.add({name:"SwallowtailArrow",polygon:{hierarchy:Ri.Cartesian3.fromDegreesArrayHeights(E),material:Ri.Color.fromCssColorString(this._core.defaultValue(m.color,"rgba(255,0,0,0.6)"))}}):f=="box"&&(I=o.entities.add({name:"SwallowtailArrow",polygon:{hierarchy:Ri.Cartesian3.fromDegreesArrayHeights(E),material:Ri.Color.fromCssColorString(this._core.defaultValue(m.color,"rgba(255,0,0,0.6)")),extrudedHeight:E[2]+this._core.defaultValue(m.extrudedHeight,200),height:E[2],outline:this._core.defaultValue(m.outline,!0),outlineColor:Ri.Color.fromCssColorString(this._core.defaultValue(m.outlineColor,"rgba(255,0,0,0.6)"))}})),I};Sa.prototype._computeSwallowtailArrow=function(o){var A=o[0].x,f=o[0].y,m=o[1].x,C=o[1].y,E=(15.8*m+3.2*A)/19,I=(15.8*C+3.2*f)/19,x=new Array(7);return x[0]={x:m,y:C},x[1]={x:E+.85/3.2*(C-I),y:I-.85/3.2*(m-E)},x[2]={x:E+.25/3.2*(C-I),y:I-.25/3.2*(m-E)},x[3]={x:A+1.6/19*(C-f),y:f-1.6/19*(m-A)},x[4]={x:(3.2*m+15.8*A)/19,y:(3.2*C+15.8*f)/19},x[5]={x:A-1.6/19*(C-f),y:f+1.6/19*(m-A)},x[6]={x:E-.25/3.2*(C-I),y:I+.25/3.2*(m-E)},x[7]={x:E-.85/3.2*(C-I),y:I+.85/3.2*(m-E)},x};Sa.prototype.calculateMorePoints=function(o){var A=6,f;if(o.length>2){for(var m=0,C,E,I,x=0;x<o.length-1;x++)E=o[x],I=o[x+1],m+=Math.sqrt((I.y-E.y)*(I.y-E.y)+(I.x-E.x)*(I.x-E.x));C=m/A;for(var y=[],v=[],w={x:void 0,y:void 0},Q={x:void 0,y:void 0},M=0;M<o.length-2;M++){var B=o[M],D=o[M+1],S=o[M+2],P={x:D.x-B.x,y:D.y-B.y},R={x:S.x-D.x,y:S.y-D.y},T=this.calculateVector(P,Math.PI/2,C/2),L=T[0],F=T[1],U=this.calculateVector(R,Math.PI/2,C/2),N=U[0],H=U[1],J={x:B.x+L.x,y:B.y+L.y},K={x:B.x+F.x,y:B.y+F.y},X={x:D.x+N.x,y:D.y+N.y},j={x:D.x+H.x,y:D.y+H.y},ee=this.calculateIntersection(P,R,J,X),ie=this.calculateIntersection(P,R,K,j),z,oe;if(M==0)w=J,Q=K,z={x:(w.x+ee.x)/2,y:(w.y+ee.y)/2},oe={x:(Q.x+ie.x)/2,y:(Q.y+ie.y)/2},y.push(z),v.push(oe);else{var le=y[y.length-1],Ae=v[v.length-1];z={x:(le.x+ee.x)/2,y:(le.y+ee.y)/2},oe={x:(Ae.x+ie.x)/2,y:(Ae.y+ie.y)/2},y.push(z),v.push(oe)}y.push(ee),v.push(ie)}var he=o[o.length-2],ge=o[o.length-1],de={x:ge.x-he.x,y:ge.y-he.y},fe=Math.sqrt(de.x*de.x+de.y*de.y),G,Y,W=[],O={x:void 0,y:void 0},re={x:void 0,y:void 0},se={x:void 0,y:void 0},ce={x:void 0,y:void 0},me={x:void 0,y:void 0},Ce={x:void 0,y:void 0},ye=y[y.length-1],Be=v[v.length-1];if(fe<=C)W=this.calculateVector(de,Math.PI/2,C/2),O=W[0],re=W[1],G={x:he.x+O.x,y:he.y+O.y},Y={x:he.x+re.x,y:he.y+re.y},se={x:(ye.x+G.x)/2,y:(ye.y+G.y)/2},ce={x:(Be.x+Y.x)/2,y:(Be.y+Y.y)/2},y.push(se),v.push(ce),me={x:2*G.x-he.x,y:2*G.y-he.y},Ce={x:2*Y.x-he.x,y:2*Y.y-he.y};else{var Me={x:ge.x-he.x,y:ge.y-he.y},He=Math.sqrt(Me.x*Me.x+Me.y*Me.y),ke={x:ge.x-Me.x*C/He,y:ge.y-Me.y*C/He};W=this.calculateVector(de,Math.PI/2,C/2),O=W[0],re=W[1],G={x:ke.x+O.x,y:ke.y+O.y},Y={x:ke.x+re.x,y:ke.y+re.y},se={x:(ye.x+G.x)/2,y:(ye.y+G.y)/2},ce={x:(Be.x+Y.x)/2,y:(Be.y+Y.y)/2},y.push(se),v.push(ce),me={x:2*G.x-ke.x,y:2*G.y-ke.y},Ce={x:2*Y.x-ke.x,y:2*Y.y-ke.y}}for(var Ne=[],Pe=[],x=0;x<y.length-2;x++){var we=[],Fe=[],Ue=y[x],ze=y[x+1],Je=y[x+2],je=v[x],Ze=v[x+1],rt=v[x+2];we.push(Ue,ze,Je),Fe.push(je,Ze,rt);var At=this._createBezierPoints(we),yt=this._createBezierPoints(Fe);Ne=Ne.concat(At),Pe=Pe.concat(yt)}f=[w],f=f.concat(Ne),f.push(G),f.push(me),f.push(ge),f.push(Ce),f.push(Y),f=f.concat(Pe.reverse()),f.push(Q)}else f=this.calculateTwoPoints(o);return f};Sa.prototype.calculateIntersection=function(o,A,f,m){var C,E;return o.y*A.x-o.x*A.y==0?o.x*A.x>0||o.y*A.y>0?(C=(f.x+m.x)/2,E=(f.y+m.y)/2):(C=m.x,E=m.y):(C=(o.x*A.x*(m.y-f.y)+f.x*o.y*A.x-m.x*A.y*o.x)/(o.y*A.x-o.x*A.y),o.x!=0?E=(C-f.x)*o.y/o.x+f.y:E=(C-m.x)*A.y/A.x+m.y),{x:C,y:E}};Sa.prototype.calculateTwoPoints=function(o){var A=6,f=o[0],m=o[1],C=[],E={x:m.x-f.x,y:m.y-f.y},I=Math.sqrt((m.x-f.x)*(m.x-f.x)+(m.y-f.y)*(m.y-f.y)),x=I/A,y=f.x+5*(m.x-f.x)/A,v=f.y+5*(m.y-f.y)/A,w=this.calculateVector(E,Math.PI/2,x/2),Q=w[0],M=w[1],B={x:f.x+Q.x,y:f.y+Q.y},D={x:y+Q.x,y:v+Q.y},S={x:y+2*Q.x,y:v+2*Q.y},P={x:m.x,y:m.y},R={x:y+2*M.x,y:v+2*M.y},T={x:y+M.x,y:v+M.y},L={x:f.x+M.x,y:f.y+M.y};return C.push(B,D,S,P,R,T,L),C};Sa.prototype._computeRoundedRectanglePoints=function(o){for(var A=(o[0].x+o[1].x)/2,f=(o[0].y+o[1].y)/2,m={x:A,y:f},C=Math.abs(o[0].x-o[1].x),E=Math.abs(o[0].y-o[1].y),I=1/10*Math.min(C,E),x=A-C/2+I,y=f-E/2+I,v={x,y},w={x:A+C/2-I,y:f-E/2+I},Q={x:A+C/2-I,y:f+E/2-I},M={x:A-C/2+I,y:f+E/2-I},B=Math.PI/180,D=[],S=Math.PI,P=3/2*Math.PI,R=S,T=0;T<Math.abs(S-P);T+=B){var L=v.x+I*Math.cos(R),F=v.y+I*Math.sin(R);R=R+B,R=R<0?2*Math.PI+R:R,R=R>2*Math.PI?2*Math.PI-R:R,D.push({x:L,y:F})}for(var U=D,N=Math.PI*3/2,H=2*Math.PI,J=N,T=0;T<Math.abs(N-H);T+=B){var L=w.x+I*Math.cos(J),F=w.y+I*Math.sin(J);J=J+B,J=J<0?2*Math.PI+J:J,J=J>2*Math.PI?2*Math.PI-J:J,U.push({x:L,y:F})}for(var K=U,X=0,j=1/2*Math.PI,ee=X,T=0;T<Math.abs(X-j);T+=B){var L=Q.x+I*Math.cos(ee),F=Q.y+I*Math.sin(ee);ee=ee+B,ee=ee<0?2*Math.PI+ee:ee,ee=ee>2*Math.PI?2*Math.PI-ee:ee,K.push({x:L,y:F})}for(var ie=K,z=1/2*Math.PI,oe=Math.PI,le=z,T=0;T<Math.abs(z-oe);T+=B){var L=M.x+I*Math.cos(le),F=M.y+I*Math.sin(le);le=le+B,le=le<0?2*Math.PI+le:le,le=le>2*Math.PI?2*Math.PI-le:le,ie.push({x:L,y:F})}return ie};Sa.prototype._computeSectorPoints=function(o){var A=this.calculateAngle(o[0],o[1]),f=this.calculateAngle(o[0],o[2]);A>f&&(f=2*Math.PI+f);for(var m=Math.PI/180,C=A,E=[o[0]],I=Math.sqrt((o[1].x-o[0].x)*(o[1].x-o[0].x)+(o[1].y-o[0].y)*(o[1].y-o[0].y)),x=0;x<Math.abs(A-f);x+=m){var y=o[0].x+I*Math.cos(C),v=o[0].y+I*Math.sin(C);C=C+m,C=C<0?2*Math.PI+C:C,C=C>2*Math.PI?C-2*Math.PI:C,E.push({x:y,y:v})}return E};Sa.prototype.calculateAngle=function(o,A){var f={x:A.x-o.x,y:A.y-o.y},m=Math.atan2(f.y,f.x);return m<0&&(m=m+2*Math.PI),m};Sa.prototype._computeBowPoints=function(o){var A=2*(o[1].x-o[0].x),f=2*(o[1].y-o[0].y),m=o[1].x*o[1].x+o[1].y*o[1].y-o[0].x*o[0].x-o[0].y*o[0].y,C=2*(o[2].x-o[1].x),E=2*(o[2].y-o[1].y),I=o[2].x*o[2].x+o[2].y*o[2].y-o[1].x*o[1].x-o[1].y*o[1].y,x=(m*E-I*f)/(A*E-C*f),y=(A*I-C*m)/(A*E-C*f),v={x,y},w=Math.sqrt((o[0].x-x)*(o[0].x-x)+(o[0].y-y)*(o[0].y-y)),Q=this.calculateAngle(v,o[0]),M=this.calculateAngle(v,o[1]),B=this.calculateAngle(v,o[2]),D=Math.PI/180,S=void 0,P=[];if(Q<B&&B<M||M<B&&B<Q){S=Q<M?Q:M;for(var R=0;R<Math.abs(Q-M);R+=D){var T=x+w*Math.cos(S),L=y+w*Math.sin(S);S=S+D,S=S<0?2*Math.PI+S:S,S=S>2*Math.PI?2*Math.PI-S:S,P.push({x:T,y:L})}}else{S=Q>M?Q:M;for(var R=0;R<2*Math.PI-Math.abs(Q-M);R+=D){var T=x+w*Math.cos(S),L=y+w*Math.sin(S);S=S+D,S=S<0?2*Math.PI+S:S,S=S>2*Math.PI?S-2*Math.PI:S,P.push({x:T,y:L})}}return P};Sa.prototype.Cdcl=function(o,A,f,m){var C=0,E=6378137,I=Math.PI;function x(H){return H*I/180}var y=x((o+f)/2),v=x((o-f)/2),w=x((A-m)/2),Q=Math.sin(v),M=Math.sin(w),B=Math.sin(y),D,S,P,R,T,L,F,U=E,N=1/298.257;return Q=Q*Q,M=M*M,B=B*B,D=Q*(1-M)+(1-B)*M,S=(1-Q)*(1-M)+B*M,P=Math.atan(Math.sqrt(D/S)),R=Math.sqrt(D*S)/P,T=2*P*U,L=(3*R-1)/2/S,F=(3*R+1)/2/D,C=T*(1+N*(L*B*(1-Q)-F*(1-B)*Q)),C};Sa.prototype.createPoint=function(o,A){if(!!o)return this._viewer.entities.add({position:o,point:{pixelSize:10,color:Ri.Color.ROYALBLUE,outlineWidth:2,outlineColor:Ri.Color.WHITE,disableDepthTestDistance:Number.POSITIVE_INFINITY},show:A})};Sa.prototype.setEdit=function(o,A){o===void 0&&(o=!0),this.openEdit=o,A&&(this.editOption=A),this.defaultEdit()};Sa.prototype.openEditProp=function(o,A){var f=this;A||(A=this.editOption||{editPropData:{}}),!((!SmartEarthPopupData.editGraphic||!SmartEarthPopupData.editGraphic.entity)&&!this.startEdit(o))&&(!A.editPropData&&(A.editPropData={}),this._popupmessage.createPopupProp("\u5C5E\u6027\u7F16\u8F91",{width:A.editPropData.width||360,height:A.editPropData.height||"90%",url:"Workers/prop/jb_prop.html",shade:A.editPropData.shade,offset:A.editPropData.offset,type:o.polyline?"GroundPolyline":f.heightpoints.length>0?"ExtrudedPolygon":"GroundPolygon",fn:{success:function(m,C){A.editPropData.success&&A.editPropData.success(m,C),SmartEarthPopupData.layerIndex=C,SmartEarthPopupData.window=m.find("iframe")[0].contentWindow},end:function(){A.callBack&&A.callBack.end&&A.callBack.end(o),f.endThisEdit&&f.endThisEdit(),SmartEarthPopupData.layerIndex=void 0,SmartEarthPopupData.window=void 0}}}))};Sa.prototype.defaultEdit=function(){this.openEdit?this.MilitaryStandardObj.length&&!this.editHandler?this.edit(this.openEdit,this.editOption):!this.MilitaryStandardObj.length&&this.editHandler&&this.edit(!1):this.editHandler&&this.edit(!1)};Sa.prototype.startEdit=function(o){var A=this,f=this._viewer;if(A.MilitaryStandardObj.indexOf(o.id)===-1)return;let m=o;var C=m.pottingPoint;if(!!C){this.isEditting=!0;var E=C,I={x:0,y:0,z:0};for(var x in E){var y=E[x];I.x+=y[0],I.y+=y[1],I.z+=y[2];var v=Ri.Cartesian3.fromDegreesArrayHeights(y),w=f.entities.add({name:"polygon_point",position:v[0],point:{pixelSize:10,color:Ri.Color.ROYALBLUE,outlineWidth:2,outlineColor:Ri.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});w.pottingPoint=y,Ke.pointsId.push(w.id),A.objectsToExclude.push(w);var Q;if(m.polygon&&m.polygon.extrudedHeight){if(v.x)var M=Ri.Cartographic.fromCartesian(v);else var M=Ri.Cartographic.fromCartesian(v[0]);var B=Ri.Math.toDegrees(M.longitude),D=Ri.Math.toDegrees(M.latitude),S=m.polygon.extrudedHeight.getValue(),P=Ri.Cartesian3.fromDegrees(B,D,S);Q=f.entities.add({name:"box_point",position:P,point:{color:Ri.Color.YELLOW,pixelSize:12,outlineColor:Ri.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),Q.pottingPoint=y,Q.pointid=w.id,A.objectsToExclude.push(Q),A.heightpoints.push(Q),A.heightpointsId.push(Q.id)}}return I.x/=E.length,I.y/=E.length,I.z/=E.length,A.movePoint=f.entities.add({name:"move_point",position:Ri.Cartesian3.fromDegrees(I.x,I.y,I.z),point:{color:Ri.Color.PURPLE,pixelSize:10,outlineColor:Ri.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),SmartEarthPopupData.editGraphic={entity:m,graphic:m.polygon||m.polyline,heightpoints:A.heightpoints},!0}};Sa.prototype.edit=function(o,A){var f=this,m=this._viewer;if(!A&&(A=this.editOption||{}),A.editProp!==void 0&&(this.editProp=A.editProp),this.editHandler){this.editHandler.destroy(),this.editHandler=void 0;for(var C in Ke.pointsId)this._viewer.entities.removeById(Ke.pointsId[C]);Ke.pointsId=[]}if(o===void 0&&(o=!0),!!o){var E=void 0;this.isEditting=!1;var I=void 0,x,y=void 0;this.editHandler=new Ri.ScreenSpaceEventHandler(m.scene.canvas),this.editHandler.setInputAction(v=>{if(Ri.ExpandBySmartEarth&&(Ri.ExpandBySmartEarth.underEarth.enable||Ri.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(!Ke.editVector){var w=v.position,Q=m.scene.pick(w);if(Q&&Q.id instanceof Ri.Entity){var M=Q.id;if(!f.isEditting&&Ke.states==0){if(!this.startEdit(M))return;E=M,this.editProp&&this.openEditProp(E,A)}else if(M.name=="box_point"||M.name=="polygon_point"||M.name=="move_point"){if(f.defaultEvent(!1),M.name=="box_point"){y=M.position.getValue();let B=Ri.Cartographic.fromCartesian(y);y={lon:Ri.Math.toDegrees(B.longitude),lat:Ri.Math.toDegrees(B.latitude),height:B.height},x="box_point"}else M.name=="move_point"?x="move_point":x="polygon_point";I=M}else{if(E&&M.id===E.id)return;f.endThisEdit()}}else f.endThisEdit()}},Ri.ScreenSpaceEventType.LEFT_DOWN),this.editHandler.setInputAction(function(v){if(Ri.ExpandBySmartEarth&&(Ri.ExpandBySmartEarth.underEarth.enable||Ri.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(Ke.editVector)return;let w=m.scene.pick(v.endPosition);if(Ri.defined(w))if(f.isEditting&&!I){if(Ri.ExpandBySmartEarth&&(Ri.ExpandBySmartEarth.underEarth.enable||Ri.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}w.id&&(w.id.name==="move_point"||w.id.name==="polygon_point")?f.tooltip.showAt(v.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):w.id&&w.id.name==="box_point"?f.tooltip.showAt(v.endPosition,"\u62D6\u62FD\u4FEE\u6539\u9AD8\u5EA6"):w.id==E&&f.tooltip.show(!1)}else!f.isEditting&&Ke.states===0&&(w.id&&f.MilitaryStandardObj.indexOf(w.id.id)>-1?f.tooltip.showAt(v.endPosition,"\u70B9\u51FB\u6FC0\u6D3B\u7F16\u8F91\uFF0C\u53F3\u952E\u5220\u9664"):f.tooltip.show(!1));else Ke.states==0&&!I&&f.tooltip.show(!1);if(f.isEditting&&I){f.tooltip.showAt(v.endPosition,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539");var Q=v.startPosition,M,B=m.camera.getPickRay(Q);if(B&&(M=m.scene.globe.pick(B,m.scene)),!M)return;var D=void 0;if(x=="polygon_point"){I.position=M;for(var S in Ke.pointsId)if(Ke.pointsId[S]==I.id){var P=m.entities.getById(f.heightpointsId[S]);if(!P)break;var R=Ri.Cartographic.fromCartesian(M),T=Ri.Math.toDegrees(R.longitude),L=Ri.Math.toDegrees(R.latitude),F=Ri.Cartographic.fromCartesian(P.position._value),U=R.height+F.height;P.position=Ri.Cartesian3.fromDegrees(T,L,U)}var N=[],H=[],J=new Ri.Cartesian3;for(var S in Ke.pointsId){let O=m.entities.getById(Ke.pointsId[S]).position._value,re=Ri.Cartographic.fromCartesian(O),se={x:Ri.Math.toDegrees(re.longitude),y:Ri.Math.toDegrees(re.latitude),z:re.height};N.push(se),H.push([se.x,se.y,se.z]),J.x+=O.x,J.y+=O.y,J.z+=O.z}J.x/=N.length,J.y/=N.length,J.z/=N.length,f.movePoint&&(f.movePoint.position=J);var K;if(E.GeoType=="StraightArrow")K=f.calculateMorePoints(N);else if(E.GeoType=="RoundedRectangle")K=f._computeRoundedRectanglePoints(N);else if(E.GeoType=="Sector")K=f._computeSectorPoints(N);else if(E.GeoType=="Bow")K=f._computeBowPoints(N);else if(E.GeoType=="GatheringPlace"){let W=f._computeGatheringPlacePoints(N),O=f.createCloseCardinal(W);K=f.calculatePointsFBZ3(O,100)}else if(E.GeoType=="SwallowtailArrow")K=f._computeSwallowtailArrow(N);else if(E.GeoType=="Bezierline")K=f._createBezierPoints(N);else if(E.GeoType=="BezierArrow")K=f._createBezierPoints(N);else if(E.GeoType=="PincerArrow"){let W=ZD.algorithm.doubleArrow(H),O=[];JSON.stringify(W.polygonalPoint).indexOf("null")==-1&&(O=W.polygonalPoint),K=O}else if(E.GeoType=="AttackArrow"){let W=ZD.algorithm.tailedAttackArrow(H),O=JSON.stringify(W.polygonalPoint).indexOf("null"),re=[];O==-1&&(re=W.polygonalPoint),K=re}let Y;E.GeoType!=="AttackArrow"&&E.GeoType!=="PincerArrow"?(Y=[],K.forEach(W=>{Y.push(W.x,W.y,N[0].z)}),Y=Ri.Cartesian3.fromDegreesArrayHeights(Y)):Y=K,E.pottingPoint=H,E.GeoType.indexOf("Bezier")>=0?E.polyline.positions=new Ri.CallbackProperty(function(){return Y},!1):E.polygon.hierarchy=new Ri.CallbackProperty(function(){return new Ri.PolygonHierarchy(Y)},!1)}else if(x=="box_point"){var B=m.camera.getPickRay(v.endPosition),M=m.scene.globe.pick(B,m.scene),X=Ri.Cartographic.fromCartesian(M),j=Ri.Math.toDegrees(X.longitude),ee=Ri.Math.toDegrees(X.latitude),ie=y.lon,z=y.lat,U=f.Cdcl(ee,j,z,ie);D=U;for(let re in f.heightpointsId){var oe=m.entities.getById(f.heightpointsId[re]),le=oe.position._value,Ae=Ri.Cartographic.fromCartesian(le),he=Ri.Math.toDegrees(Ae.longitude),ge=Ri.Math.toDegrees(Ae.latitude),de=Ri.Cartesian3.fromDegrees(he,ge,D);oe.position=de}E.polygon.extrudedHeight=new Ri.CallbackProperty(function(){return D},!1),SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="height"]').value=parseInt(D))}else{var X=Ri.Cartographic.fromCartesian(M),j=Ri.Math.toDegrees(X.longitude),ee=Ri.Math.toDegrees(X.latitude);y=I.position.getValue();let re=Ri.Cartographic.fromCartesian(y);y={lon:Ri.Math.toDegrees(re.longitude),lat:Ri.Math.toDegrees(re.latitude),height:re.height};var ie=y.lon,z=y.lat,fe=j-ie,G=ee-z;I.position=M;var N=[],H=[];for(var S in Ke.pointsId){let He,ke,Ne,Pe=m.entities.getById(Ke.pointsId[S]);Pe&&(He=Pe.position.getValue(),ke=Ri.Cartographic.fromCartesian(He),He={lon:Ri.Math.toDegrees(ke.longitude),lat:Ri.Math.toDegrees(ke.latitude),height:ke.height},Pe.position=Ri.Cartesian3.fromDegrees(He.lon+fe,He.lat+G,He.height),N.push({x:He.lon+fe,y:He.lat+G,z:He.height}),H.push([He.lon+fe,He.lat+G,He.height]));let we=m.entities.getById(f.heightpointsId[S]);we&&(He=we.position.getValue(),ke=Ri.Cartographic.fromCartesian(He),He={lon:Ri.Math.toDegrees(ke.longitude),lat:Ri.Math.toDegrees(ke.latitude),height:ke.height},we.position=Ri.Cartesian3.fromDegrees(He.lon+fe,He.lat+G,He.height))}var K;if(E.GeoType=="StraightArrow")K=f.calculateMorePoints(N);else if(E.GeoType=="RoundedRectangle")K=f._computeRoundedRectanglePoints(N);else if(E.GeoType=="Sector")K=f._computeSectorPoints(N);else if(E.GeoType=="Bow")K=f._computeBowPoints(N);else if(E.GeoType=="GatheringPlace"){let Me=f._computeGatheringPlacePoints(N),He=f.createCloseCardinal(Me);K=f.calculatePointsFBZ3(He,100)}else if(E.GeoType=="SwallowtailArrow")K=f._computeSwallowtailArrow(N);else if(E.GeoType=="Bezierline")K=f._createBezierPoints(N);else if(E.GeoType=="BezierArrow")K=f._createBezierPoints(N);else if(E.GeoType=="PincerArrow"){let Me=ZD.algorithm.doubleArrow(H),He=[];JSON.stringify(Me.polygonalPoint).indexOf("null")==-1&&(He=Me.polygonalPoint),K=He}else if(E.GeoType=="AttackArrow"){let Me=ZD.algorithm.tailedAttackArrow(H),He=JSON.stringify(Me.polygonalPoint).indexOf("null"),ke=[];He==-1&&(ke=Me.polygonalPoint),K=ke}let Be;E.GeoType!=="AttackArrow"&&E.GeoType!=="PincerArrow"?(Be=[],K.forEach(Me=>{Be.push(Me.x,Me.y,N[0].z)}),Be=Ri.Cartesian3.fromDegreesArrayHeights(Be)):Be=K,E.pottingPoint=H,E.GeoType.indexOf("Bezier")>=0?E.polyline.positions=new Ri.CallbackProperty(function(){return Be},!1):E.polygon.hierarchy=new Ri.CallbackProperty(function(){return new Ri.PolygonHierarchy(Be)},!1)}}},Ri.ScreenSpaceEventType.MOUSE_MOVE),this.editHandler.setInputAction(function(v){if(Ri.ExpandBySmartEarth&&(Ri.ExpandBySmartEarth.underEarth.enable||Ri.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}Ke.editVector||(I&&A.callBack&&A.callBack.update&&A.callBack.update(I.name,E),I=void 0,f.defaultEvent(!0))},Ri.ScreenSpaceEventType.LEFT_UP),this.editHandler.setInputAction(function(v){if(Ri.ExpandBySmartEarth&&(Ri.ExpandBySmartEarth.underEarth.enable||Ri.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(!Ke.editVector){var w=m.scene.pick(v.position);if(Ri.defined(w)&&Ke.states==0){var Q=w.id;if(f.MilitaryStandardObj.indexOf(Q.id)===-1)return;f.delButton(!0,v.position,function(){m.entities.removeById(Q.id);let M=f.MilitaryStandardObj.indexOf(Q.id);f.MilitaryStandardObj.splice(M,1),f.delButton(!1),f.tooltip.show(!1),f.endThisEdit(),f.defaultEdit(),A.callBack&&A.callBack.delete&&A.callBack.delete(Q)})}}},Ri.ScreenSpaceEventType.RIGHT_DOWN),f.defaultEvent(!0);for(var C in Ke.pointsId)m.entities.removeById(Ke.pointsId[C]);for(var C in f.heightpointsId)m.entities.removeById(f.heightpointsId[C]);f.heightpointsId=[],f.heightpoints=[],Ke.pointsId=[],this.endThisEdit=()=>{f.defaultEvent(!0);for(var v in Ke.pointsId)m.entities.removeById(Ke.pointsId[v]);for(var v in f.heightpointsId)m.entities.removeById(f.heightpointsId[v]);f.movePoint&&m.entities.remove(f.movePoint),f.movePoint=void 0,E=void 0,window.layuiLayer.close(SmartEarthPopupData.layerIndex),SmartEarthPopupData.editGraphic={},f.isEditting=!1,Ke.pointsId=[],f.heightpointsId=[],f.heightpoints=[],f.delButton(!1)}}};Sa.prototype.spArray=function(o,A){var f=[],m;for(m=0;m<A.length;)f.push(A.slice(m,m+=o));return f};Sa.prototype.delButton=function(o,A,f){if(o){let m=document.getElementById("DeleteMilitaryStandardDelete");m||(m=document.createElement("button"),m.id="DeleteMilitaryStandardDelete",m.innerText="\u5220\u9664\u5BF9\u8C61",m.style.cssText=`height: 38px; line-height: 38px; padding: 0 18px; background-color: #052355; color: #fff; white-space: nowrap; text-align: center; font-size: 14px; border: none; border-radius: 2px; cursor: pointer; position: absolute;`,this._viewer.container.appendChild(m)),m.style.display="block",m.style.top=A.y+"px",m.style.left=A.x+"px",m.onclick=f}else{let m=document.getElementById("DeleteMilitaryStandardDelete");m&&(m.style.display="none",m.onclick=null)}};Sa.prototype.defaultEvent=function(o){var A=this._viewer.scene;A.screenSpaceCameraController.enableRotate=o,A.screenSpaceCameraController.enableTranslate=o,A.screenSpaceCameraController.enableZoom=o,A.screenSpaceCameraController.enableTilt=o,A.screenSpaceCameraController.enableLook=o};var iot=Sa;function D3(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke}D3.prototype.createBillboard=function(o={}){let A=this._core.defaultValue(o.id,this._core.getuid()),f={horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.BOTTOM,scale:o.scale||1,image:o.image,color:this._cesium.Color.WHITE,disableDepthTestDistance:1/0,distanceDisplayCondition:o.distanceDisplayCondition},m;if(o.text)switch(m={text:o.text,font:`${o.fontSize||12}px \u5FAE\u8F6F\u96C5\u9ED1`,pixelOffset:o.fontOffset,fillColor:Cesium.Color.fromCssColorString(o.fontColor||"#fff"),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:1/0,distanceDisplayCondition:o.distanceDisplayCondition},o.textLocation){case"left":m.horizontalOrigin=Cesium.HorizontalOrigin.LEFT;break;case"right":m.horizontalOrigin=Cesium.HorizontalOrigin.RIGHGT;break;case"up":m.verticalOrigin=Cesium.VerticalOrigin.TOP;break;case"down":m.verticalOrigin=Cesium.VerticalOrigin.BOTTOM;break}return this.item=this._viewer.entities.add({id:A,show:o.visibility,position:Cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height),label:m,billboard:f}),this.item.objectType="Billboard",o.data&&(this.item.data=o.data),this};D3.prototype.createBillboardbatch=function(o){for(var A={show:!0,position:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,eyeOffset:this._cesium.Cartesian3.ZERO,heightReference:this._cesium.HeightReference.NONE,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:this._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0},f=0;f<o.length;f++){var m=o[f];A.image=m.image;var C=this._viewer.entities.add({name:"",position:this._cesium.Cartesian3.fromDegrees(m.log,m.lat,m.height),billboard:A})}return this};D3.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.box.dimensions==null?void 0:this.item.box.dimensions.getValue(),f=this.item.box.fill==null?void 0:this.item.box.fill._value,m=this.item.box.material;m!=null&&(m={color:m.color._value==null?void 0:"rgba("+m.color._value.red+","+m.color._value.green+","+m.color._value.blue+","+m.color._value.alpha+")",image:m.image==null?void 0:m.image._value,diffusemap:m.diffusemap==null?void 0:m.diffusemap._value,alphamap:m.alphamap==null?void 0:m.alphamap._value});var C=this.item.box.outline==null?void 0:this.item.box.outline._value,E=this.item.box.outlineColor==null?void 0:"rgba("+this.item.box.outlineColor._value.red+","+this.item.box.outlineColor._value.green+","+this.item.box.outlineColor._value.blue+","+this.item.box.outlineColor._value.alpha+")",I=this.item.box.outlineWidth==null?void 0:this.item.box.outlineWidth._value,x=this.item.box.distanceDisplayCondition,y=x?._value.near,v=x?._value.far,w=this._cesium.Cartographic.fromCartesian(this.item.position._value),Q=this._cesium.Math.toDegrees(w.longitude),M=this._cesium.Math.toDegrees(w.latitude),B=this._cesium.Math.toDegrees(w.height);return{type:"box",position:{x:Q,y:M,z:B},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,dimensions:A,fill:f,material:m,outline:C,outlineColor:E,outlineWidth:I,near:y,far:v}}};D3.prototype.setTreeobj=function(o){this.treeobj=o};D3.prototype.setVisibility=function(o){this.item&&(this.item.show=b)};D3.prototype.deleteObject=function(){this.item&&this._viewer.entities.remove(this.item),this.item=void 0};var HQe=D3;function M3(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this._Provider=void 0}M3.prototype.createKmlLayer=function(o,A,f){var m={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},C=A,E={uri:C,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND,minimumPixelSize:128,maximumScale:20,scale:1,runAnimations:!1},I={show:!0,position:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,eyeOffset:this._cesium.Cartesian3.ZERO,heightReference:this._cesium.HeightReference.NONE,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,scale:1,image:C,imageSubRegion:void 0,color:this._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0},x=this;this._cesium.KmlDataSource.load(o,m).then(function(y){var v=y.entities;if(f=="model")for(var w=0;w<y.entities.values.length;w++)var Q=y.entities.values[w],M=x._viewer.entities.add({name:"",position:Q.position,model:{uri:C,heightReference:x._cesium.HeightReference.CLAMP_TO_GROUND,minimumPixelSize:128,maximumScale:20,scale:1,runAnimations:!1}});else if(f=="billboard"){for(var B=x._core.extend(I,option,!0),w=0;w<y.entities.values.length;w++){var Q=y.entities.values[w];B.position=Q.position._value,billboardCollections.add(B)}var D=x._viewer.scene.primitives.add(billboardCollections)}})};M3.prototype.addKmlLayer=function(o,A,f,m){var C={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},E=this;let I=A,x;I.id&&(x=I.id,I=I.url);var y=this._cesium.KmlDataSource.load(I,C);this._viewer.dataSources.add(y),y.then(function(w){E.item=w,f||E.setVisibility(!1),m&&typeof m=="function"&&m(w)});var v={id:x||this._core.getuid(),name:o,pId:0,type:"KML",item:this};return this.setTreeobj(v),this._tree.insertGroupId(v,0),this};M3.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};M3.prototype.deleteObject=function(){this._viewer.dataSources.remove(this.item)};M3.prototype.setTreeobj=function(o){this.treeobj=o};M3.prototype.setVisibility=function(o){this.item!=null&&(this.item.show=o)};var VQe=M3;function lK(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke,this.texturePixel=1024}lK.prototype.createModifyMesh=function(o,A,f,m,C){var E=A.length,I=new Array(E);I.fill(f);var x=m.id||Cesium.createGuid(),y=Date.now(),v=Cesium.Rectangle.fromCartesianArray(A);m.modifyMeshObject===void 0&&(m.modifyMeshObject=[]);var w={id:x,show:!0,name:o,rectangle:v,vertices:A,polygon:A,heights:I,meshObject:m,timeStamp:y,polygonGeometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(A)}),image:this.createTexture(A),texture:null};return m.modifyMeshObject=w,this.item=m,this};lK.prototype.createTexture=function(o){var A=Cesium.Rectangle.fromCartesianArray(o),f=A.west*180/Math.PI,m=A.south*180/Math.PI,C=A.east*180/Math.PI,E=A.north*180/Math.PI,I=new Cesium.Rectangle(f,m,C,E),x=[],y=this;o.forEach(function(Q){var M=Q.longitude?Q:Cesium.Ellipsoid.WGS84.cartesianToCartographic(Q);M=y.getPointRelativePosition(M,I,y.texturePixel,y.texturePixel),x.push([M.normalizedLongitude,M.normalizedLatitude])});var v=this.createCanvas(x,"#FF0000",y.texturePixel,y.texturePixel),w=new Image;return w.width=y.texturePixel,w.height=y.texturePixel,w.src=v.toDataURL("image/png"),w};lK.prototype.getPointRelativePosition=function(o,A,f,m){var C=A.east-A.west,E=A.north-A.south,I=o.longitude*180/Math.PI,x=o.latitude*180/Math.PI;return o.normalizedLongitude=(I-A.west)/C*f,o.normalizedLatitude=(x-A.south)/E*m,o};lK.prototype.createCanvas=function(o,A,f,m){var C=document.createElement("canvas");C.width=f,C.height=m;var E=C.getContext("2d");if(E.fillStyle="#000",E.fillRect(0,0,f,f),!(o.length<=0)){E.moveTo(o[0][0],o[0][1]);for(var I=0;I<o.length;I++)E.lineTo(o[I][0],o[I][1]);return E.fillStyle=A,E.fill(),C}};lK.prototype.remove=function(){this.item.modifyMeshObject=void 0};var Ff=null;function T3(o,A){Ff=A,this._viewer=o,this._core=new Ji(o,Ff)}T3.prototype.addClipping=function(o,A={}){if(this.remove(),A.type==="polygon"){let f=A.positions,m=[];f.forEach(x=>{m.push(this._core.toDegrees(x))}),m.push(m[0]);let C;A.isInner?C=this.isClockWise(m):C=!this.isClockWise(m),C&&m.reverse();let E=[],I=this.getInverseTransform(o);for(let x=0;x<m.length-1;x++){let y=this.createPlane(m[x],m[x+1],I);E.push(y)}o.clippingPlanes=new Ff.ClippingPlaneCollection({planes:E,unionClippingRegions:!A.isInner})}return this.item=o,this};T3.prototype.getInverseTransform=function(o){let A,f=o.root.transform;return f&&f.equals(Ff.Matrix4.IDENTITY)||!f?A=Ff.Transforms.eastNorthUpToFixedFrame(o.boundingSphere.center):A=Ff.Matrix4.fromArray(o.root.transform),Ff.Matrix4.inverseTransformation(A,new Ff.Matrix4)};T3.prototype.getOriginCoordinateSystemPoint=function(o,A){let f=Ff.Cartesian3.fromDegrees(o.lon,o.lat);return Ff.Matrix4.multiplyByPoint(A,f,new Ff.Cartesian3(0,0,0))};T3.prototype.createPlane=function(o,A,f){let m=this.getOriginCoordinateSystemPoint(o,f),C=this.getOriginCoordinateSystemPoint(A,f),E=new Ff.Cartesian3(0,0,1),I=Ff.Cartesian3.subtract(C,m,new Ff.Cartesian3),x=Ff.Cartesian3.cross(I,E,new Ff.Cartesian3);x=Ff.Cartesian3.normalize(x,x);let y=Ff.Plane.fromPointNormal(m,x);return Ff.ClippingPlane.fromPlane(y)};T3.prototype.isClockWise=function(o){if(o.length<3)return null;o[0]===o[o.length-1]&&(o=o.slice(0,o.length-1));let A={i:-1,val:90};for(let y=0;y<o.length;y++){let{lat:v}=o[y];v<A.val&&(A.val=v,A.i=y)}let f=(A.i+o.length-1)%o.length,m=A.i,C=(A.i+1)%o.length,E={lat:o[m].lat-o[f].lat,lon:o[m].lon-o[f].lon},I={lat:o[C].lat-o[m].lat,lon:o[C].lon-o[m].lon},x=I.lon*E.lat-E.lon*I.lat;return x===0?o[C].lon<o[f].lon:x>0};T3.prototype.remove=function(){this.item&&this.item.clippingPlanes&&this.item.clippingPlanes.removeAll(),this.item&&(this.item.clippingPlanes=void 0)};var rot=T3;function P3(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke}P3.prototype.addCZML=function(o,A,f){var m=this;!A&&(A={});var C=new this._cesium.CzmlDataSource;let E=this._viewer.dataSources.add(C);this.item=C,this._option=A,this.item.process(o).then(function(x){m.Pretreatment(x,A),f&&typeof f=="function"&&f(x)});var I={id:this._core.getuid(),name:"\u65B0\u5EFACZML",pId:0,type:"CZML",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,0),this};P3.prototype.process=function(o,A){let f=this;this.item&&this.item.process(o).then(function(m){f.Pretreatment(m,f._option),A&&typeof A=="function"&&A(m)})};P3.prototype.Pretreatment=function(o,A){let f=this;o.entities.values.forEach(C=>{if(C.id.indexOf("Link_")===0)C.polyline.material=f._core.getLinkMaterial(A.linkColor,A.linkPointColor,A.linkTime);else if(C.id.indexOf("ConeRadar_")===0)C.cylinder.material=f._core.getConeRadarMaterial(A.coneRadarColor);else if(C.id.indexOf("MultiCircleScan_")===0)C.ellipse.material=f._core.getMultiCircleScanMaterial(A.multiCircleColor,A.multiCircleTime);else if(C.id.indexOf("SectorScan_")===0){let E=f._core.defaultValue(A.sectorScanAngle,45);C.ellipse.material=f._core.getSectorScanMaterial(A.sectorScanColor,E),C.ellipse.stRotation=new f._cesium.CallbackProperty(function(I,x){let y=C.orientation.getValue(I,x);return f._cesium.HeadingPitchRoll.fromQuaternion(y).heading-Math.PI/2},!1)}else C.id.indexOf("CircleScan_")===0?C.ellipse.material=f._core.getCircleScanMaterial(A.circleScanColor,A.circleScanTime):C.id.indexOf("RadarScan_")===0&&(C.ellipse.material=f._core.getRadarScanMaterial(A.radarScanColor,A.radarScanTime))})};P3.prototype.deleteObject=function(){this._viewer.dataSources.remove(this.item)};P3.prototype.setTreeobj=function(o){this.treeobj=o};P3.prototype.setVisibility=function(o){this.item!=null&&(this.item.show=o)};var not=P3;function vg(o,A={},f){this._viewer=o,this._cesium=f,this.radius=this.defaultValue(A.radius,50),this.minRadius=this.defaultValue(A.minRadius,1),this.maxRadius=this.defaultValue(A.maxRadius,50),this.blur=this.defaultValue(A.blur,.85),this.alpha=this.defaultValue(A.alpha,1),this.rectangleHeight=A.height,this.is3D=A.type&&A.type.indexOf("3D")>-1,this.is3D&&(this._3DOption={width:A.TIN_X||200,height:A.TIN_Y||200,grid:this.defaultValue(A.showTIN,!1),scale:this.defaultValue(A.colorScale,1),z:this.defaultValue(A.minHeight,100)}),this.minOpacity=this.defaultValue(A.minOpacity,.1),this.maxOpacity=this.defaultValue(A.maxOpacity,.8),this.gradient=this.defaultValue(A.gradient,{".3":"blue",".5":"green",".7":"yellow",".95":"red"}),this.flyTo=this.defaultValue(A.flyTo,!0),A.dynamic&&!this.is3D&&this.dynamicAdjust(!0),this._core=new Ji(o,f),this.tooltip=this._core.CreateTooltip(),A.tooltip&&this.showTooltip(!0)}vg.prototype.defaultValue=function(o,A){return this._cesium.defaultValue(o,A)};vg.prototype.create=function(o){this.setData(o),this.flyTo&&this.flyToBounding()};vg.prototype.setData=function(o){let A=1e3,f=-1e3,m=1e3,C=-1e3,E=-1/0,I=1/0;o.forEach(function(D){let S=D.x,P=D.y;A=Math.min(S,A),m=Math.min(P,m),f=Math.max(S,f),C=Math.max(P,C),E=Math.max(D.value,E),I=Math.min(D.value,I)});let x=f-A,y=C-m,v={xMin:A-x/10,yMin:m-y/10,xMax:f+x/10,yMax:C+y/10},w=1e3,Q=parseInt(1e3/(v.xMax-v.xMin)*(v.yMax-v.yMin));if(this.heatmapInstance)this.heatmapInstance._renderer.canvas.setAttribute("style","width:"+w+"px;height:"+Q+"px;");else{let D=document.createElement("div");D.setAttribute("style","width:"+w+"px;height:"+Q+"px;display:none;"),document.body.appendChild(D),this.heatmapInstance=h337.create({container:D,maxOpacity:this.maxOpacity,minOpacity:this.minOpacity,blur:this.blur,radius:this.radius,gradient:this.gradient})}let M=[];o.forEach(function(D){let S=(D.x-v.xMin)/(v.xMax-v.xMin)*w,P=(-(D.y-v.yMin)/(v.yMax-v.yMin)+1)*Q,R={x:Math.round(S),y:Math.round(P),value:D.value};M.push(R)}),this.datas={max:E,min:I,data:M},this.heatmapInstance.setData(this.datas),this.heatmapcanvas=this.heatmapInstance._renderer.canvas,this.drawHeatmapRect(this.heatmapcanvas,v),this.rectangle=this._cesium.Rectangle.fromDegrees(v.xMin,v.yMin,v.xMax,v.yMax);let B=this._cesium.BoundingSphere.fromRectangle3D(this.rectangle);this.boundingRadius=B.radius,this.extent=v};vg.prototype.flyToBounding=function(){this._viewer.camera.flyTo({destination:this.rectangle})};vg.prototype.destroy=function(){this.dynamicAdjust(!1),this._viewer.scene.primitives.remove(this._worldRectangle),this.heatmapcanvas.remove(),this.showTooltip(!1)};vg.prototype.dynamicAdjust=function(o){o?this._viewer.clock.onTick.addEventListener(this.dynamicAdjustEvent,this):this._viewer.clock.onTick.removeEventListener(this.dynamicAdjustEvent,this)};vg.prototype.dynamicAdjustEvent=function(){if(this.heatmapInstance&&this._viewer){let o=this._viewer.camera.positionCartographic,A=o.height,f=this._viewer.scene.globe.getHeight(o),C=(A-f)/this.boundingRadius*this.maxRadius;C=C.toFixed(1),C>this.maxRadius&&(C=this.maxRadius),C<this.minRadius&&(C=this.minRadius),C!==this.radius&&C<=this.maxRadius&&C>=this.minRadius&&this.changeRadius(C)}};vg.prototype.changeRadius=async function(o){this.radius=o;for(let A in this.heatmapInstance._store._radi)for(let f in this.heatmapInstance._store._radi[A])this.heatmapInstance._store._radi[A][f]=o;this.heatmapInstance._coordinator.emit("renderall",this.heatmapInstance._store._getInternalData()),this.updateHeatmap()};vg.prototype.drawHeatmapRect=function(o,A){this._worldRectangle&&this._viewer.scene.primitives.remove(this._worldRectangle);let f=this.convertCanvasToImage(o);if(this.is3D)Object.assign(this._3DOption,A),this.create3DHeatmap(f);else{let m=this.rectangleHeight===void 0?this._cesium.GroundPrimitive:this._cesium.Primitive;this._worldRectangle=this._viewer.scene.primitives.add(new m({geometryInstances:new this._cesium.GeometryInstance({geometry:new this._cesium.RectangleGeometry({rectangle:this._cesium.Rectangle.fromDegrees(A.xMin,A.yMin,A.xMax,A.yMax),vertexFormat:this._cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT,height:this.rectangleHeight})}),appearance:new this._cesium.EllipsoidSurfaceAppearance({aboveGround:!0,material:new this._cesium.Material({fabric:{type:"Image",uniforms:{image:f.src}}})})})),this.setAlpha(0),setTimeout(()=>{this.setAlpha(this.alpha)},100)}};vg.prototype.create3DHeatmap=function(o){let A=document.createElement("canvas"),f=this._3DOption,m=f.width+1,C=f.height+1;A.width=m,A.height=C,o.onload=()=>{let E=new this._cesium.GeometryInstance({geometry:this.create3DGeometry(f)}),I=new this._cesium.Primitive({geometryInstances:E,appearance:new this._cesium.EllipsoidSurfaceAppearance({material:new this._cesium.Material({fabric:{type:"Image",uniforms:{image:o.src}}})}),asynchronous:!1});this._worldRectangle=this._viewer.scene.primitives.add(I),this.setAlpha(0),setTimeout(()=>{this.setAlpha(this.alpha)},100)}};vg.prototype.create3DGeometry=function(o){let A=this.construct3DRectangle(o);return new this._cesium.Geometry({attributes:{position:new this._cesium.GeometryAttribute({componentDatatype:this._cesium.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:A.positions}),st:new this._cesium.GeometryAttribute({componentDatatype:this._cesium.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:A.st})},indices:A.indexs,primitiveType:o.grid?this._cesium.PrimitiveType.LINES:this._cesium.PrimitiveType.TRIANGLES,boundingSphere:this._cesium.BoundingSphere.fromVertices(A.positions)})};vg.prototype.construct3DRectangle=function(o){let A=o.xMax-o.xMin,f=o.yMax-o.yMin,m=o.width,C=o.height,E=A/m,I=f/C,x=m,y=C+1,v=[],w=[],Q=[];for(let M=0;M<y;M++)for(let B=0;B<x;B++){let D=o.xMin+E*B,S=o.yMin+I*M,P=this._cesium.Cartesian3.fromDegrees(D,S,(this.getValueFromDegrees({lon:D,lat:S})||0)*o.scale+o.z);v.push(P.x,P.y,P.z),w.push(E*B/A,I*M/f),M!=0&&B!=0&&(Q.push((M-1)*x+(B-1),(M-1)*x+B,M*x+B-1),Q.push((M-1)*x+B,M*x+B,M*x+B-1))}return{positions:v,st:w,indexs:Q}};vg.prototype.get3DShader=function(){return`uniform sampler2D image; czm_material czm_getMaterial(czm_materialInput materialInput) { vec2 repeat = vec2(1.0,1.0); czm_material material = czm_getDefaultMaterial(materialInput); vec4 j_color = texture(image, fract(repeat * materialInput.st)).rgba; material.diffuse = j_color.rgb; material.alpha = j_color.a; return material; } `};vg.prototype.getValueFromDegrees=function(o){if(this.heatmapInstance&&this.extent&&o){let A=(o.lon-this.extent.xMin)/(this.extent.xMax-this.extent.xMin)*this.heatmapcanvas.width,f=(-(o.lat-this.extent.yMin)/(this.extent.yMax-this.extent.yMin)+1)*this.heatmapcanvas.height;if(A<=this.heatmapcanvas.width&&A>=0&f<=this.heatmapcanvas.height&&f>=0)return this.heatmapInstance.getValueAt({x:Math.round(A),y:Math.round(f)})}};vg.prototype.showTooltip=function(o){o?(this.tooltipHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.tooltipHandler.setInputAction(A=>{let f=this._viewer.scene.pickPosition(A.endPosition);if(f){let m=this._core.toDegrees(f),C=this.getValueFromDegrees(m);C!==void 0?this.tooltip.showAt(A.endPosition,C):this.tooltip.show(!1)}else this.tooltip.show(!1)},this._cesium.ScreenSpaceEventType.MOUSE_MOVE)):(this.tooltip.show(!1),this.tooltipHandler&&this.tooltipHandler.destroy(),this.tooltipHandler=void 0)};vg.prototype.updateHeatmap=function(){this.heatmapcanvas=this.heatmapInstance._renderer.canvas;let o=this.convertCanvasToImage(this.heatmapcanvas);this._worldRectangle.appearance.material.uniforms.image=o.src};vg.prototype.show=function(o){this._worldRectangle&&(this._worldRectangle.show=o)};vg.prototype.setAlpha=function(o){this._worldRectangle&&(this._worldRectangle.appearance.material.uniforms.color.alpha=o)};vg.prototype.config=function(o){this.heatmapInstance.configure(o),this.updateHeatmap()};vg.prototype.convertCanvasToImage=function(o){let A=new Image;return A.src=o.toDataURL("image/png"),A};var oot=vg;function wp(o,A={},f){this._viewer=o,this._cesium=f,this.radius=this.defaultValue(A.radius,50),this.alpha=this.defaultValue(A.alpha,1),this.rectangleHeight=A.height,this.minRadius=this.defaultValue(A.minRadius,1),this.maxRadius=this.defaultValue(A.maxRadius,50),this.flyTo=this.defaultValue(A.flyTo,!0),this.datas=[],A.dynamic&&this.dynamicAdjust(!0)}wp.prototype.defaultValue=function(o,A){return this._cesium.defaultValue(o,A)};wp.prototype.create=function(o){this.setData(o),this.flyTo&&this.flyToBounding()};wp.prototype.setData=function(o){let A=1e3,f=-1e3,m=1e3,C=-1e3,E=-1/0,I=1/0;o.forEach(B=>{let D=B.x,S=B.y;A=Math.min(D,A),m=Math.min(S,m),f=Math.max(D,f),C=Math.max(S,C),E=Math.max(B.value,E),I=Math.min(B.value,I)});let x=f-A,y=C-m,v={xMin:A-x/10,yMin:m-y/10,xMax:f+x/10,yMax:C+y/10},w;if(this._heatmap)w=this._heatmap.canvas,this._heatmap.clear();else{w=document.createElement("canvas"),document.body.appendChild(w),w.width=1e3,w.height=parseInt(1e3/(v.xMax-v.xMin)*(v.yMax-v.yMin));try{this._heatmap=createWebGLHeatmap({canvas:w,intensityToAlpha:!0})}catch(B){console.error(B)}}this.datas=[];let Q=E-I;o.forEach(B=>{var D=(B.x-v.xMin)/(v.xMax-v.xMin)*w.clientWidth,S=(-(B.y-v.yMin)/(v.yMax-v.yMin)+1)*w.clientHeight;this.datas.push({x:D,y:S,size:this.radius,intensity:(B.value-I)/Q})}),this._heatmap.addPoints(this.datas),this._heatmap.adjustSize(),this._heatmap.update(),this._heatmap.display(),this.drawHeatmapRect(w,v),this.rectangle=this._cesium.Rectangle.fromDegrees(v.xMin,v.yMin,v.xMax,v.yMax);let M=this._cesium.BoundingSphere.fromRectangle3D(this.rectangle);this.boundingRadius=M.radius};wp.prototype.flyToBounding=function(){this._viewer.camera.flyTo({destination:this.rectangle})};wp.prototype.drawHeatmapRect=function(o,A){this._worldRectangle&&this._viewer.scene.primitives.remove(this._worldRectangle);var f=this.convertCanvasToImage(o);let m=this.rectangleHeight===void 0?this._cesium.GroundPrimitive:this._cesium.Primitive;this._worldRectangle=this._viewer.scene.primitives.add(new m({geometryInstances:new this._cesium.GeometryInstance({geometry:new this._cesium.RectangleGeometry({rectangle:this._cesium.Rectangle.fromDegrees(A.xMin,A.yMin,A.xMax,A.yMax),vertexFormat:this._cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT,height:this.rectangleHeight})}),appearance:new this._cesium.EllipsoidSurfaceAppearance({aboveGround:!1,material:new this._cesium.Material({fabric:{type:"Image",uniforms:{image:f.src}}})})})),this.setAlpha(0),setTimeout(()=>{this.setAlpha(this.alpha)},100)};wp.prototype.destroy=function(){this.dynamicAdjust(!1),this._viewer.scene.primitives.remove(this._worldRectangle),this._heatmap.clear(),this._heatmap.canvas.remove()};wp.prototype.dynamicAdjust=function(o){o?this._viewer.clock.onTick.addEventListener(this.dynamicAdjustEvent,this):this._viewer.clock.onTick.removeEventListener(this.dynamicAdjustEvent,this)};wp.prototype.dynamicAdjustEvent=function(){if(this._heatmap&&this._viewer){let o=this._viewer.camera.positionCartographic,A=o.height,f=this._viewer.scene.globe.getHeight(o),C=(A-f)/this.boundingRadius*this.maxRadius;C=C.toFixed(1),C>this.maxRadius&&(C=this.maxRadius),C<this.minRadius&&(C=this.minRadius),C!==this.radius&&C<=this.maxRadius&&C>=this.minRadius&&this.changeRadius(C)}};wp.prototype.updateHeatmap=function(){this._heatmap.adjustSize(),this._heatmap.update(),this._heatmap.display();var o=this.convertCanvasToImage(this._heatmap.canvas);this._worldRectangle.appearance.material.uniforms.image=o.src};wp.prototype.multiply=function(o){this._heatmap.multiply(o),this.updateHeatmap()};wp.prototype.changeRadius=function(o){this.radius=o,this.datas.forEach(A=>{A.size=o}),this._heatmap.clear(),this._heatmap.addPoints(this.datas),this.updateHeatmap()};wp.prototype.clamp=function(o,A){this._heatmap.clamp(o,A),this.updateHeatmap()};wp.prototype.blur=function(){this._heatmap.blur(),this.updateHeatmap()};wp.prototype.show=function(o){this._worldRectangle&&(this._worldRectangle.show=o)};wp.prototype.setAlpha=function(o){this._worldRectangle&&(this._worldRectangle.appearance.material.uniforms.color.alpha=o)};wp.prototype.convertCanvasToImage=function(o){var A=new Image;return A.src=o.toDataURL("image/png"),A};var aot=wp;function R3(o,A){if(this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._tree=Ke,!window.h337){let f=new b0(!1);f.addJs(document.body,window.SmartEarthRootUrl+"Workers/heatmap/heatmap.min.js"),f.addJs(document.body,window.SmartEarthRootUrl+"Workers/heatmap/webgl-heatmap.js")}}R3.prototype.addHeatMap=function(o,A={}){A.type==="HeatmapGL"?this.item=new aot(this._viewer,A,this._cesium):this.item=new oot(this._viewer,A,this._cesium),A.sourceData&&this.item.create(A.sourceData);var f={id:this._core.getuid(),name:o,pId:0,type:"Heatmap",item:this};return this.setTreeobj(f),this._tree.insertGroupId(f,0),this};R3.prototype.setData=function(o){this.item&&this.item.setData(o)};R3.prototype.flyToBounding=function(){this.item&&this.item.flyToBounding()};R3.prototype.deleteObject=function(){this.item&&this.item.destroy()};R3.prototype.setTreeobj=function(o){this.treeobj=o};R3.prototype.setVisibility=function(o){this.item!=null&&this.item.show(o)};var sot=R3;var xd=null;function Ub(o,A){xd=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this.TrailEntitys=[]}Ub.prototype.createSatelliteTrail=function(o){!o&&(o={});let A=this._viewer,f=new xd.JulianDate.fromDate(new Date),m=xd.JulianDate.addSeconds(f,3600,new xd.JulianDate);A.clock.startTime=o.start||f.clone(),A.clock.stopTime=o.stop||m.clone(),A.clock.currentTime=o.start||f.clone(),A.clock.clockRange=xd.ClockRange.LOOP_STOP,A.clock.multiplier=o.speed||2,this.flyHeight=o.height||7e5;let C=[];return o.path?C=o.path:this.getRandState(C,2),C.forEach(E=>{this.getStatePath(E,o)}),this};Ub.prototype.getStatePath=function(o,A){let f=this._viewer,m=f.clock.startTime.clone(),C=f.clock.stopTime.clone(),E=this.computeCirclularFlight(o,2),I=f.entities.add({availability:new xd.TimeIntervalCollection([new xd.TimeInterval({start:m,stop:C})]),position:E,orientation:new xd.VelocityOrientationProperty(E),cylinder:{HeightReference:xd.HeightReference.CLAMP_TO_GROUND,length:this.flyHeight,topRadius:0,bottomRadius:this.flyHeight/2,material:this._core.getConeRadarMaterial(A.radarColor||"#00ff00"),outline:!1,numberOfVerticalLines:0}});I.position.setInterpolationOptions({interpolationDegree:5,interpolationAlgorithm:xd.LagrangePolynomialApproximation}),this.TrailEntitys.push(I);let x=this.computeCirclularFlight(o,1),y={availability:new xd.TimeIntervalCollection([new xd.TimeInterval({start:m,stop:C})]),position:x,orientation:new xd.VelocityOrientationProperty(x),path:{resolution:1,material:new xd.PolylineGlowMaterialProperty({color:xd.Color.DEEPSKYBLUE}),width:A.width||5}};A.img?typeof A.img=="object"?y.billboard=A.img:typeof A.img=="string"&&(y.billboard={image:A.img,scale:A.scale}):y.model={uri:A.model||window.SmartEarthRootUrl+kr.flyModel,minimumPixelSize:32,scale:A.scale};let v=f.entities.add(y);v.position.setInterpolationOptions({interpolationDegree:5,interpolationAlgorithm:xd.LagrangePolynomialApproximation}),this.TrailEntitys.push(v)};Ub.prototype.clear=function(){this.TrailEntitys.forEach(o=>{this._viewer.entities.remove(o)}),this.TrailEntitys=[]};Ub.prototype.faster=function(){this._viewer.animation.viewModel.faster()};Ub.prototype.slower=function(){this._viewer.animation.viewModel.slower()};Ub.prototype.setSpeed=function(o){this._viewer.clock.multiplier=parseFloat(o)};Ub.prototype.isPause=function(o){var A=this._viewer.clockViewModel;A.shouldAnimate=!o};Ub.prototype.computeCirclularFlight=function(o,A){let f=this._viewer.clock.startTime.clone(),m=new xd.SampledPositionProperty;if(A==1)for(let C=0;C<o.length;C++){let E=xd.JulianDate.addSeconds(f,o[C].time,new xd.JulianDate),I=xd.Cartesian3.fromDegrees(o[C].lon,o[C].lat,o[C].hei);m.addSample(E,I)}else if(A==2)for(let C=0;C<o.length;C++){let E=xd.JulianDate.addSeconds(f,o[C].time,new xd.JulianDate),I=xd.Cartesian3.fromDegrees(o[C].lon,o[C].lat,o[C].phei);m.addSample(E,I)}return m};function lot(o){this.lon=0,this.lat=0,this.hei=o,this.phei=o/2,this.time=0}Ub.prototype.getRandState=function(o,A){let f=this.flyHeight;for(let m=0;m<A;m++){let C=[],E=Math.floor(Math.random()*180);for(let I=0;I<=360;I+=30){let x=new lot(f);I<=180?(x.lon=E,x.lat=I-90,x.time=I*10,C.push(x)):(x.lon=E-180,x.lat=270-I,x.time=I*10,C.push(x))}o.push(C)}for(let m=0;m<A;m++){let C=[],E=Math.floor(Math.random()*180)-90;for(let I=-180;I<=180;I+=30){let x=new lot(f);x.lon=I,x.lat=E,x.time=(I+180)*10,C.push(x)}o.push(C)}};var Aot=Ub;function iG(o,A){this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._color=new hn(this._viewer,this._cesium),this._tree=Ke,this.item={show:!0},this._option=void 0,this._primitive=void 0,this._Provider=void 0}iG.prototype.CreateWMSImageFeatureLayer=function(o,A,f,m,C,E,I){var x={url:"",queryParameters:{layers:"",style:"",transparent:!0,srs:"EPSG:4326",service:"WMS",request:"GetMap",version:"1.1.1",format:"image/png",bbox:"{westProjected},{southProjected},{eastProjected},{northProjected}",width:"256",height:"256"}},y=x;y.url=A.url,y.queryParameters=this._core.extend(y.queryParameters,A.queryParameters,!0);var v=f;A==null&&console.log("options is required");var w=this;this._Provider=new is(this._viewer,this._cesium),this._Provider.loadTile=function(D,S){(function(P,R,T,L,F){if(S.state===Cesium.QuadtreeTileLoadState.START){if(S.data={lines:[],geometryPrimitive:void 0},S.level>=(m.level_min||1)&&S.level<(m.level_max||22)&&L.item.show){var U=new Cesium.Rectangle(0,0,0,0),N=F._tilingScheme.tileXYToRectangle(P.x,P.y,P.level,U);y.queryParameters.bbox=U.west*180/Math.PI+","+U.south*180/Math.PI+","+U.east*180/Math.PI+","+U.north*180/Math.PI;var H=new Cesium.Resource(y);H.fetchImage().then(function(J){var K=new Cesium.GroundPrimitive({geometryInstances:[{geometry:new Cesium.RectangleGeometry({rectangle:U})}],appearance:new Cesium.Appearance({material:new Cesium.Material({fabric:{type:"Image",uniforms:{image:J}}})})});K.cusResource=T,S.data.geometryPrimitive=K,S.state=Cesium.QuadtreeTileLoadState.LOADING,S.state===Cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive.update(R,[]),S.state=Cesium.QuadtreeTileLoadState.DONE,S.renderable=!0)},function(J){console.log(J)}),S.state=Cesium.QuadtreeTileLoadState.LOADING}else{S.state=Cesium.QuadtreeTileLoadState.DONE,S.renderable=!0;return}S.state=Cesium.QuadtreeTileLoadState.LOADING}})(S,D,v,w,this)},this._primitive=new w._cesium.QuadtreePrimitivezh({tileProvider:this._Provider});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),this._primitive.show=this.item.show,this.item=this._primitive,E||this.setVisibility(!1),this._core.isnull(A.id)&&(A.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+A.id);var B={id:A.id,name:o,checked:!0,pId:this._core.isnull(C)?0:C,type:"rasterLayer",item:this,options:this._option,queryOptions:this._queryOption};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(C)?0:C),typeof I=="function"&&I(this.item),this};iG.prototype.CreateVectorImageFeatureLayer=function(o,A,f,m,C,E,I){var x={url:"",queryParameters:{layer:"",style:"",tilematrixset:"EPSG:4326",Service:"WMTS",Request:"GetTile",Version:"1.0.0",Format:"image/png",TileMatrix:"EPSG:4326:",TileCol:"",TileRow:""}};this._option=this._core.extend(x,A,!0),this._queryOption=f;var y=this._core.extend(x,A,!0),v=f;A==null&&console.log("options is required");var w=this;this._Provider=new is(this._viewer,this._cesium),this._Provider.loadTile=function(D,S){(function(P,R,T,L,F){if(S.state===Cesium.QuadtreeTileLoadState.START){if(S.data={lines:[],geometryPrimitive:void 0},S.level>=m.level_min&&S.level<m.level_max&&L.item.show){y.queryParameters.TileMatrix=y.queryParameters.tilematrixset+":"+P.level,y.queryParameters.TileCol=P.x,y.queryParameters.TileRow=P.y;var U=new Cesium.Resource(y);U.fetchImage().then(function(N){var H=new Cesium.Rectangle(0,0,0,0),J=F._tilingScheme.tileXYToRectangle(P.x,P.y,P.level,H),K=new Cesium.GroundPrimitive({geometryInstances:[{geometry:new Cesium.RectangleGeometry({rectangle:H})}],appearance:new Cesium.Appearance({material:new Cesium.Material({fabric:{type:"Image",uniforms:{image:N}}})})});K.cusResource=T,S.data.geometryPrimitive=K,S.state=Cesium.QuadtreeTileLoadState.LOADING,S.state===Cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive.update(R,[]),S.state=Cesium.QuadtreeTileLoadState.DONE,S.renderable=!0)},function(N){console.log(N)}),S.state=Cesium.QuadtreeTileLoadState.LOADING}else{S.state=Cesium.QuadtreeTileLoadState.DONE,S.renderable=!0;return}S.state=Cesium.QuadtreeTileLoadState.LOADING}})(S,D,v,w,this)},this._primitive=new w._cesium.QuadtreePrimitivezh({tileProvider:this._Provider});var Q=this._viewer.scene,M=Q.primitives;M.add(this._primitive),this._primitive.show=this.item.show,this.item=this._primitive,E||this.setVisibility(!1),this._core.isnull(A.id)&&(A.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+A.id);var B={id:A.id,name:o,checked:!0,pId:this._core.isnull(C)?0:C,type:"rasterLayer",item:this,options:this._option,queryOptions:this._queryOption};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(C)?0:C),typeof I=="function"&&I(this.item),this};iG.prototype.setTreeobj=function(o){this.treeobj=o};iG.prototype.setVisibility=function(o){try{this.item!=null&&this.item.show!=null&&(this.item.show=o),this._Provider&&this._Provider.setStatus&&this._Provider.setStatus(o)}catch{}};iG.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};var uot=iG;var zQe,Vne=null;function YQe(o,A){Vne=A,this._viewer=o,zQe=o}YQe.prototype.findDirectParent=function(o){try{var A=[];if(o.width==Math.PI)return null;for(var f=0;f<zQe.scene.globe._surface._tilesToRender.length;f++){var m=zQe.scene.globe._surface._tilesToRender[f],C=m._rectangle;Vne.Rectangle.intersection(C,o)&&A.push(m)}return A}catch{}return null};YQe.prototype.createTerrainModifier=function(o,A,f){var m=A.length,C=new Array(m);C.fill(f);var E=Vne.createGuid(),I=Date.now(),x=Vne.Rectangle.fromCartesianArray(A),y=this.findDirectParent(x);this._viewer.terrainProvider&&this._viewer.terrainProvider._modifyTerrainObjects===void 0&&(this._viewer.terrainProvider._modifyTerrainObjects=[]);var v=this._viewer,w={id:E,name:o,show:!0,rectangle:x,vertices:A,heights:C,timeStamp:I,remove:function(){if(v.terrainProvider&&v.terrainProvider._modifyTerrainObjects)for(var M=v.terrainProvider._modifyTerrainObjects.length-1;M>=0;M--){var B=v.terrainProvider._modifyTerrainObjects[M];B.id==E&&v.terrainProvider._modifyTerrainObjects.splice(M,1)}if(y)try{for(var M=0;M<y.length;M++)try{y[M]._parent.freeResources()}catch{}}catch{}}};if(this._viewer.terrainProvider._modifyTerrainObjects.push(w),y)try{for(var Q=0;Q<y.length;Q++)try{y[Q]._parent.freeResources()}catch{}}catch{}return w};var cot=YQe;var hot=null,rs=null;function jB(o,A,f){rs=f,hot=new Ji(o,f),this._viewer=o,this.type=A.type,this.videoContainer=A.videoContainer||A.video&&A.video.container,this.prop=A.prop,this.cameraPosition=A.cameraPosition.x&&A.cameraPosition.y&&A.cameraPosition.z?A.cameraPosition:rs.Cartesian3.fromDegrees(A.cameraPosition.lon,A.cameraPosition.lat,A.cameraPosition.height),this.position=A.position&&(A.position instanceof rs.Cartesian3?A.position:rs.Cartesian3.fromDegrees(A.position.lon,A.position.lat,A.position.height)),this.heading=A.heading||0,this.pitch=A.pitch||0,this.alpha=A.alpha||.9,this.horizonAngle=A.horizonAngle||60,this.verticalAngle=A.verticalAngle||40,this.far=A.far||30,this.showFarScale=A.showFarScale||5,this.show=!0,this.useLine=rs.defaultValue(A.useLine,!0),this._viewer.scene.primitives.add(this),this.init()}jB.prototype.createViewCone=function(){this.line&&(this._viewer.scene.primitives.remove(this.line),this.line=null),this.useLine&&(this.line=new rs.Primitive({geometryInstances:new rs.GeometryInstance({geometry:new rs.FrustumOutlineGeometry(this.cameraData),attributes:{color:rs.ColorGeometryInstanceAttribute.fromColor(rs.Color.WHITE)}}),appearance:new rs.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1,allowPicking:!1}),this._viewer.scene.primitives.add(this.line))};jB.prototype.createVideoPlane=function(){let o=new Float64Array(24);rs.FrustumGeometry._computeNearFarPlanes(this.cameraData.origin,this.cameraData.orientation,0,this.cameraData.frustum,o);let A=[];for(let m=12;m<o.length;m+=3)A.push(o[m],o[m+1],o[m+2]);this.plan&&this.plan.destroy();let f=rs.Material.fromType("Image");f.uniforms.image=this.videoContainer,f.uniforms.color.alpha=this.alpha,this.plan=new rs.Primitive({geometryInstances:new rs.GeometryInstance({geometry:new rs.Geometry({attributes:{position:new rs.GeometryAttribute({componentDatatype:rs.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:A}),st:new rs.GeometryAttribute({componentDatatype:rs.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:[0,1,2,0,2,3],primitiveType:rs.PrimitiveType.TRIANGLES,boundingSphere:rs.BoundingSphere.fromVertices(A)}),id:this.prop}),appearance:new rs.MaterialAppearance({flat:!0,material:f})})};jB.prototype.isShow=function(){return this.show&&hot.getPointToCameraDistance(this._viewer,this.cameraPosition)<this.far*this.showFarScale};jB.prototype.init=function(){this.plan||(this.createCamera(),this.createVideoPlane(),this.createViewCone())};jB.prototype.createCamera=function(){let o=this.videoCamera||new rs.Camera(this._viewer.scene);if(o.frustum.fov=rs.Math.toRadians(this.horizonAngle),o.frustum.aspectRatio=this.horizonAngle/this.verticalAngle,o.frustum.near=1,o.frustum.far=this.far,this.position){o.position=this.cameraPosition,o.direction=rs.Cartesian3.subtract(this.position,this.cameraPosition,new rs.Cartesian3(0,0,0)),o.up=rs.Cartesian3.normalize(this.cameraPosition,new rs.Cartesian3(0,0,0));let v=rs.Cartesian3.normalize(rs.Cartesian3.subtract(this.position,this.cameraPosition,new rs.Cartesian3),new rs.Cartesian3);o.direction=v,this.heading=rs.Math.toDegrees(o.heading),this.pitch=rs.Math.toDegrees(o.pitch),this.position=null}else o.setView({destination:this.cameraPosition,orientation:{heading:rs.Math.toRadians(this.heading),pitch:rs.Math.toRadians(this.pitch),roll:0}});let A=new rs.Cartesian3,f=new rs.Matrix3,m=new rs.Quaternion,C=o.positionWC,E=o.upWC,I=o.rightWC;I=rs.Cartesian3.negate(I,A);let x=f;rs.Matrix3.setColumn(x,0,I,x),rs.Matrix3.setColumn(x,1,E,x),rs.Matrix3.setColumn(x,2,o.direction,x);let y=rs.Quaternion.fromRotationMatrix(x,m);this.videoCamera=o,this.cameraData={orientation:y,origin:C,frustum:o.frustum}};jB.prototype.flyTo=function(){this.videoCamera&&this._viewer.camera.flyTo({destination:this.videoCamera.position,orientation:{heading:this.videoCamera.heading,pitch:this.videoCamera.pitch,roll:0}})};jB.prototype.updatePost=function(o){o.cameraPosition&&(this.cameraPosition=o.cameraPosition instanceof rs.Cartesian3?o.cameraPosition:rs.Cartesian3.fromDegrees(o.cameraPosition.lon,o.cameraPosition.lat,o.cameraPosition.height)),o.position&&(this.position=o.position instanceof rs.Cartesian3?o.position:rs.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height)),!isNaN(o.heading)&&typeof o.heading=="number"&&(this.heading=o.heading),!isNaN(o.pitch)&&typeof o.pitch=="number"&&(this.pitch=o.pitch),!isNaN(o.alpha)&&typeof o.alpha=="number"&&(this.alpha=o.alpha),!isNaN(o.horizonAngle)&&typeof o.horizonAngle=="number"&&(this.horizonAngle=o.horizonAngle),!isNaN(o.verticalAngle)&&typeof o.verticalAngle=="number"&&(this.verticalAngle=o.verticalAngle),!isNaN(o.far)&&typeof o.far=="number"&&(this.far=o.far),!isNaN(o.showFarScale)&&typeof o.showFarScale=="number"&&(this.showFarScale=o.showFarScale),o.useLine!==void 0&&(this.useLine=o.useLine),o.prop&&(this.prop=o.prop),this.createCamera(),o.type.indexOf("h265")>=0?this.createCanvasPlane():this.createVideoPlane(),this.createViewCone()};jB.prototype.update=function(o){if(this.plan&&this.show){let A=this.isShow();this.plan&&(this.plan.show=A),this.line&&(this.line.show=A),this.plan.update(o)}};jB.prototype.setVisibility=function(o){this.show=o,this.plan&&(this.plan.show=o),this.line&&(this.line.show=o)};jB.prototype.destroy=function(){return this.plan&&(this.plan.destroy(),this.plan=void 0),this._viewer.scene.primitives.remove(this),this.line&&(this._viewer.scene.primitives.remove(this.line),this.line=null),rs.destroyObject(this)};var dot=jB;var QQi=null;function Kv(o,A){QQi=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this.isPause=!1,this.isLoad=!1}Kv.prototype.Video3D=function(o){return this.url=o.url,this.options=o,this.videoContainer=o.video||void 0,this.videoType=o.type||"mp4",this.video2D=o.video2D,this.options.video={container:this.videoContainer,offset:o.offset},o.type&&o.type.indexOf("h265")>=0?this.addDiv(o.success):this.addVideo(o.success),this};Kv.prototype.addDiv=function(o){let A="Video3D"+this._core.getuid(),f=`<div id="${A}" style="display: none"></div>`;$(this._viewer.container).append(f),this.divContainer=document.getElementById(A),this.load(),o(this)};Kv.prototype.addVideo=function(o){if(this.videoContainer){this.videoContainer.oncanplay=()=>{this.init&&this.init()};return}let A="Video3D"+this._core.getuid(),f=`<video id="${A}" autoplay muted loop crossorigin style="display: none"></video>`;$(this._viewer.container).append(f),this.videoContainer=document.getElementById(A),this.options.video.container=this.videoContainer,this.load(),this.videoContainer.oncanplay=()=>{this.thisVideo||(this.init&&this.init(),o&&o(this))}};Kv.prototype.load=function(){let o=this.url;if(this.videoType==="hls"){if(window.Hls||new b0(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/hls.js"),this.videoContainer.canPlayType("application/vnd.apple.mpegurl"))this.videoContainer.src=o;else if(Hls.isSupported()){var A=new Hls;A.loadSource(o),A.attachMedia(this.videoContainer),this.player=A}}else if(this.videoType==="flv"){if(window.flvjs||new b0(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/flv.js"),flvjs.isSupported()){var f=flvjs.createPlayer({type:"flv",url:o});f.attachMediaElement(this.videoContainer),f.load(),this.player=f}}else if(this.videoType==="flv-h265"){if(window.WasmPlayer||new b0(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/EasyWasmPlayer.js"),window.WasmPlayer){let m=this;this.player=new WasmPlayer(null,this.divContainer.id,function(){m.thisVideo||m.init&&m.init()},{Height:!0}),this.videoContainer=this.player.canvas,this.options.video.container=this.videoContainer,this.player.play(o,1)}}else this.videoContainer.src=o,this.thisVideo&&(this.videoContainer.load(),this.videoContainer.play());this.isLoad=!0};Kv.prototype.pause=function(){this.videoType!=="mp4"&&(this.isLoad=!1),this.player&&this.player.destroy(),this.videoContainer.pause()};Kv.prototype.flyTo=function(){this.thisVideo&&this.thisVideo.flyTo()};Kv.prototype.play=function(){this.isLoad||this.load(),this.videoContainer.play()};Kv.prototype.init=function(){this.thisVideo||(!this.isPause&&this.videoContainer&&this.videoContainer.readyState===this.videoContainer.HAVE_ENOUGH_DATA&&this.play(),this.video2D?this.thisVideo=new dot(this._viewer,this.options,this._cesium):this.thisVideo=new VJ(this._viewer,this.options,this._cesium))};Kv.prototype.updateVideo=function(o){(o.url||o.type)&&(o.type&&(this.videoType=o.type),o.url&&(this.url=o.url),o.url&&(this.pause(),this.load(),this.videoContainer.oncanplay=()=>{this.play()})),this.thisVideo&&this.thisVideo.updatePost(o)};Kv.prototype.setVisibility=function(o){this.thisVideo&&this.thisVideo.setVisibility(o)};Kv.prototype.destroy=function(){this.thisVideo&&this.thisVideo.destroy(),this.thisVideo=null,this.player&&this.player.destroy&&this.player.destroy(),this.videoContainer&&this.videoContainer.remove()};var got=Kv;var M0=null;function fot(o,A){M0=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),M0.GeoWTFS||new b0(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/cesiumTdt.js")}fot.prototype.GeoWTFS=function(o){!o&&(o={});var A=o.token||"c53eb074c3fcba5ac86103d4d711bbe8",f=o.url||"https://t{s}.tianditu.gov.cn/",m={viewer:this._viewer,subdomains:["0","1","2","3","4","5","6","7"],metadata:{boundBox:{minX:-180,minY:-90,maxX:180,maxY:90},minLevel:1,maxLevel:20},aotuCollide:!0,collisionPadding:[5,10,8,5],serverFirstStyle:!0,labelGraphics:{font:"28px sans-serif",fontSize:28,fillColor:M0.Color.WHITE,scale:.5,outlineColor:M0.Color.BLACK,outlineWidth:5,style:M0.LabelStyle.FILL_AND_OUTLINE,showBackground:!1,backgroundColor:M0.Color.RED,backgroundPadding:new M0.Cartesian2(10,10),horizontalOrigin:M0.HorizontalOrigin.LEFT,verticalOrigin:M0.VerticalOrigin.BOTTOM,eyeOffset:M0.Cartesian3.ZERO,pixelOffset:new M0.Cartesian2(0,8),heightReference:1,disableDepthTestDistance:Number.POSITIVE_INFINITY},billboardGraphics:{horizontalOrigin:M0.HorizontalOrigin.RIGHT,verticalOrigin:M0.VerticalOrigin.BOTTOM,eyeOffset:M0.Cartesian3.ZERO,pixelOffset:M0.Cartesian2.ZERO,alignedAxis:M0.Cartesian3.ZERO,color:M0.Color.WHITE,rotation:0,scale:1,width:18,height:18,heightReference:1,disableDepthTestDistance:Number.POSITIVE_INFINITY}};o=this._core.extend(m,o,!0);var C=new M0.GeoWTFS(o);return C.getTileUrl=function(){return f+"mapservice/GetTiles?lxys={z},{x},{y}&tk="+A},C.getIcoUrl=function(){return f+"mapservice/GetIcon?id={id}&tk="+A},C.initTDT([{x:6,y:1,level:2,boundBox:{minX:90,minY:0,maxX:135,maxY:45}},{x:7,y:1,level:2,boundBox:{minX:135,minY:0,maxX:180,maxY:45}},{x:6,y:0,level:2,boundBox:{minX:90,minY:45,maxX:135,maxY:90}},{x:7,y:0,level:2,boundBox:{minX:135,minY:45,maxX:180,maxY:90}},{x:5,y:1,level:2,boundBox:{minX:45,minY:0,maxX:90,maxY:45}},{x:4,y:1,level:2,boundBox:{minX:0,minY:0,maxX:45,maxY:45}},{x:5,y:0,level:2,boundBox:{minX:45,minY:45,maxX:90,maxY:90}},{x:4,y:0,level:2,boundBox:{minX:0,minY:45,maxX:45,maxY:90}},{x:6,y:2,level:2,boundBox:{minX:90,minY:-45,maxX:135,maxY:0}},{x:6,y:3,level:2,boundBox:{minX:90,minY:-90,maxX:135,maxY:-45}},{x:7,y:2,level:2,boundBox:{minX:135,minY:-45,maxX:180,maxY:0}},{x:5,y:2,level:2,boundBox:{minX:45,minY:-45,maxX:90,maxY:0}},{x:4,y:2,level:2,boundBox:{minX:0,minY:-45,maxX:45,maxY:0}},{x:3,y:1,level:2,boundBox:{minX:-45,minY:0,maxX:0,maxY:45}},{x:3,y:0,level:2,boundBox:{minX:-45,minY:45,maxX:0,maxY:90}},{x:2,y:0,level:2,boundBox:{minX:-90,minY:45,maxX:-45,maxY:90}},{x:0,y:1,level:2,boundBox:{minX:-180,minY:0,maxX:-135,maxY:45}},{x:1,y:0,level:2,boundBox:{minX:-135,minY:45,maxX:-90,maxY:90}},{x:0,y:0,level:2,boundBox:{minX:-180,minY:45,maxX:-135,maxY:90}}]),C};var pot=fot;var qC=null;function rG(o,A){qC=A,this._viewer=o,this._core=new Ji(o,qC),this._tree=Ke}rG.prototype.createPolygonLayer=function(o={}){let A={color:o.color||"rgba(135,206,235,0.6)",image:o.image||window.SmartEarthRootUrl+kr.water,height:o.height,extrudedHeight:o.extrudedHeight,frequency:o.frequency||1e3,speed:o.speed||10,amplitude:o.amplitude||10,near:o.near,far:o.far,id:o.id||this._core.getuid()},f=qC.Color.fromCssColorString(A.color),m=qC.GeoJsonDataSource.load(o.url),C=new qC.PrimitiveCollection;m.then(I=>{let x=I.entities.values;for(let y=0;y<x.length;y++){let v=x[y];this.addPolygon(C,v,A)}}),this.item=this._viewer.scene.primitives.add(C);var E={id:A.id,name:"\u65B0\u5EFA\u6C34\u9762\u56FE\u5C42",pId:0,type:"polygonLayer",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,0),this};rG.prototype.addPolygon=async function(o,A,f){let m=qC.EllipsoidSurfaceAppearance.VERTEX_FORMAT,C=qC.Color.fromCssColorString(f.color),E=new qC.PolygonGeometry({polygonHierarchy:A.polygon.hierarchy.getValue(),extrudedHeight:f.extrudedHeight,height:f.height,vertexFormat:m}),I=new qC.GeometryInstance({geometry:E,id:A,attributes:{color:qC.ColorGeometryInstanceAttribute.fromColor(C),distanceDisplayCondition:new qC.DistanceDisplayConditionGeometryInstanceAttribute(f.near,f.far)}}),x;!f.height&&!f.extrudedHeight?x=qC.GroundPrimitive:x=qC.Primitive;let y=new x({geometryInstances:I,appearance:new qC.EllipsoidSurfaceAppearance({material:new qC.Material({fabric:{type:"Water",uniforms:{baseWaterColor:C,blendColor:C,normalMap:f.image,frequency:f.frequency,animationSpeed:f.speed/1e3,amplitude:f.amplitude}}})}),classificationType:f.classificationType});o.add(y)};rG.prototype.setTreeobj=function(o){this.treeobj=o};rG.prototype.deleteObject=function(){try{this._viewer.scene.primitives.remove(this.item)}catch(o){console.log(o)}};rG.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};var mot=rG;var rh=null;function Ob(o,A){rh=A,this._viewer=o,this._core=new Ji(o,A),this._tree=Ke}Ob.prototype.create=function(o,A,f={}){this.angle=(f.angle||10)/2,this.heading=this.pitch=this.roll=0;let m={subdivisions:6,stackPartitions:30,slicePartitions:30,innerRadii:new rh.Cartesian3(1,1,1),radii:new rh.CallbackProperty(()=>new rh.Cartesian3(this.radius,this.radius,this.radius),!1),outline:f.outline,material:rh.Color.RED.withAlpha(.2),outlineColor:rh.Color.WHITE.withAlpha(.2),maximumCone:new rh.CallbackProperty(()=>rh.Math.toRadians(-this.angle),!1),minimumCone:new rh.CallbackProperty(()=>rh.Math.toRadians(this.angle),!1)};f.color&&(m.material=rh.Color.fromCssColorString(f.color)),f.outlineColor&&(m.outlineColor=rh.Color.fromCssColorString(f.outlineColor));let C=o instanceof rh.Entity?o:void 0,E=A instanceof rh.Entity?A:void 0;C?this.startPosition=C.position.getValue(this._viewer.clock.currentTime.clone()):this.startPosition=o,this.degrees1=this._core.toDegrees(this.startPosition),E?this.endPosition=E.position.getValue(this._viewer.clock.currentTime.clone()):this.endPosition=A,this.degrees2=this._core.toDegrees(this.endPosition),this.item=this._viewer.entities.add({position:new rh.CallbackProperty(()=>(C&&(this.startPosition=C.position.getValue(this._viewer.clock.currentTime.clone()),this.degrees1=this._core.toDegrees(this.startPosition)),E&&(this.endPosition=E.position.getValue(this._viewer.clock.currentTime.clone()),this.degrees2=this._core.toDegrees(this.endPosition)),(C||E)&&(this.radius=rh.Cartesian3.distance(this.startPosition,this.endPosition),this.updateOrientation()),this.startPosition),!1),ellipsoid:m}),this.radius=rh.Cartesian3.distance(this.startPosition,this.endPosition),this.updateOrientation();var I={id:this.item.id,name:"\u9525\u5F62\u4F20\u611F\u5668",pId:0,type:"ellipsoid",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,0),this};Ob.prototype.getOrientation=function(){let o=this._core.twoPointsHeadingPitchRoll(this._viewer,this.startPosition,this.endPosition);this.heading=rh.Math.toDegrees(o.heading)+90,this.pitch=90-rh.Math.toDegrees(o.pitch)};Ob.prototype.updateOrientation=function(){this.getOrientation(),this.item.orientation=rh.Transforms.headingPitchRollQuaternion(this.startPosition,new rh.HeadingPitchRoll(rh.Math.toRadians(this._core.defaultValue(this.heading,0)),rh.Math.toRadians(this._core.defaultValue(this.pitch,0)),rh.Math.toRadians(this._core.defaultValue(this.roll,0))))};Ob.prototype.changeStart=function(o){this.startPosition=o,this.degrees1=this._core.toDegrees(this.startPosition),this.radius=rh.Cartesian3.distance(this.startPosition,this.endPosition),this.updateOrientation()};Ob.prototype.changeEnd=function(o){this.endPosition=o,this.degrees2=this._core.toDegrees(this.endPosition),this.radius=rh.Cartesian3.distance(this.startPosition,this.endPosition),this.updateOrientation()};Ob.prototype.changeAngle=function(o){this.angle=o/2};Ob.prototype.setTreeobj=function(o){this.treeobj=o};Ob.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};Ob.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};var Cot=Ob;var bp=null;function nG(o,A){bp=A,this._viewer=o,this._core=new Ji(o,bp)}nG.prototype.create=function(o,A={}){this.grid=this._core.defaultValue(A.grid,!0);let f=A.center,m=A.scale||1;return this._core.getJSON(o,C=>{var E=Math.max(...C.mData)*m,I=C.mHorPointsNum,x=C.mVerPointsNum;if(C.mCenterPoint&&C.mCenterPoint.length&&(f=C.mCenterPoint),!f){console.log("\u7F3A\u5C11\u573A\u5F3A\u4E2D\u5FC3\u5750\u6807");return}var y=new Float64Array(C.mData.length*3),v=0,w=new Float32Array(C.mData.length*2),Q=0,M=new Uint16Array(I*(x-1)*2*3),B=0;let D=0;for(let S=C.mHStartAngle,P=0;S<C.mHEndAngle;S+=C.mHStep,P++)for(let R=C.mVStartAngle,T=0;R<=C.mVEndAngle;R+=C.mVStep,T++){let L=C.mData[D++]*m,F=this._core.getPositionFromHPR(f,L,S,R),U=bp.Cartesian3.fromDegrees(F.lon,F.lat,F.height);y[v++]=U.x,y[v++]=U.y,y[v++]=U.z,w[Q++]=(P+1)/I,w[Q++]=Math.pow(L/E,3),P!==0&&T!==0&&(M[B++]=(P-1)*x+(T-1),M[B++]=(P-1)*x+T,M[B++]=P*x+T-1,M[B++]=(P-1)*x+T,M[B++]=P*x+T,M[B++]=P*x+T-1,P===I-1&&(M[B++]=T-1,M[B++]=T,M[B++]=P*x+T-1,M[B++]=T,M[B++]=P*x+T,M[B++]=P*x+T-1))}this.addGeometry({positions:y,st:w,indexs:M,minColor:A.minColor,maxColor:A.maxColor},A.flyTo)}),this};nG.prototype.addGeometry=function(o,A){let f=new bp.Geometry({attributes:{position:new bp.GeometryAttribute({componentDatatype:bp.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:o.positions}),st:new bp.GeometryAttribute({componentDatatype:bp.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:o.st})},indices:o.indexs,primitiveType:this.grid?bp.PrimitiveType.LINES:bp.PrimitiveType.TRIANGLES,boundingSphere:bp.BoundingSphere.fromVertices(o.positions)}),m=new bp.GeometryInstance({geometry:f});this.item=new bp.Primitive({geometryInstances:m,appearance:new bp.EllipsoidSurfaceAppearance({material:new bp.Material({fabric:{uniforms:{color1:bp.Color.fromCssColorString(o.minColor||"#ff0000"),color2:bp.Color.fromCssColorString(o.maxColor||"#00ff00")},source:this.getShader()}})}),asynchronous:!1}),this._viewer.scene.primitives.add(this.item),A&&this._viewer.camera.flyToBoundingSphere(f.boundingSphere)};nG.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};nG.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item)};nG.prototype.getShader=function(){return`uniform vec4 color1; uniform vec4 color2; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; material.diffuse = color1.rgb * (1.0 - st.y) + color2.rgb * st.y; material.alpha = color1.a * (1.0 - st.y) + color2.a * st.y; return material; } `};var Eot=nG;var Iot=`// author: \u5F20\u4E39\u948A uniform float angle; uniform sampler2D image; uniform vec4 color; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; // \u65CB\u8F6C st.x = st.x - 0.5; st.y = st.y - 0.5; if(st.x * st.x + st.y * st.y <= 0.25){ float x = st.x * cos(angle) - st.y * sin(angle); float y = st.y * cos(angle) + st.x * sin(angle); st.x = x + 0.5; st.y = y + 0.5; } else { st.x = st.x + 0.5; st.y = st.y + 0.5; } material.diffuse = czm_gammaCorrect(texture(image, st).rgb * color.rgb); material.alpha = texture(image, st).a * color.a; material.emission = vec3(0.2); return material; }`;var _g=null;function XB(o,A){_g=A,this._viewer=o,this._core=new Ji(o,A),this.angle=0,this.multiple=1,this.destroyed=!1,this.type="rotate",this.show=!0}XB.prototype.createRotateCircle=function(o={}){this.type="rotate",this.radius=this._core.defaultValue(o.radius,500),this.multiple=this._core.defaultValue(o.multiple,1),this.scale=[this.radius,this.radius,1];let A=_g.Color.fromCssColorString(o.color||"#80ccff");return this.color=[A.red,A.green,A.blue],this.clampToGround=o.clampToGround,this.position=o.position,this.image=o.image,!o.image&&(this.image=o.scan?SmartEarthRootUrl+kr.scanCircle:SmartEarthRootUrl+kr.effectCircle),o.scan&&(this.multiple=-this.multiple),_g.Resource.createIfNeeded(this.image).fetchImage().then(f=>{this.image=f;let m=this.clampToGround?_g.GroundPrimitive:_g.Primitive;this.circle=new m({geometryInstances:this.getInstances(),appearance:this.getAppearance(),asynchronous:!1}),setTimeout(()=>{this.circle.appearance.material.uniforms.color.alpha=2})}),this._viewer.scene.primitives.add(this),this};XB.prototype.createDRWCircle=function(o={}){this.type="DRW",this.radius=this._core.defaultValue(o.radius,50),this.multiple=this._core.defaultValue(o.multiple,5),this.scale=[this.radius,this.radius,1];let A=_g.Color.fromCssColorString(o.color||"#80ccff");this.color=[A.red,A.green,A.blue],this.clampToGround=o.clampToGround,this.position=o.position;let f=document.createElement("canvas");f.width=512,f.height=512;let m=f.getContext("2d"),C=m.createRadialGradient(256,256,0,256,256,256);C.addColorStop(.1,"rgba(255, 255, 255, 1.0)"),C.addColorStop(.2,"rgba(255, 255, 255, 0.0)"),C.addColorStop(.3,"rgba(255, 255, 255, 0.9)"),C.addColorStop(.5,"rgba(255, 255, 255, 0.0)"),C.addColorStop(.9,"rgba(255, 255, 255, 0.2)"),C.addColorStop(1,"rgba(255, 255, 255, 1.0)"),m.clearRect(0,0,512,512),m.strokeStyle="rgb(255, 255, 255)",m.setLineDash([80,80]),m.lineWidth=30,m.arc(256,256,180,0,Math.PI*2,!0),m.stroke(),m.beginPath(),m.arc(256,256,256,0,Math.PI*2,!0),m.fillStyle=C,m.fill(),m.restore(),this.image=f;let E=this.clampToGround?_g.GroundPrimitive:_g.Primitive;return this.circle=new E({geometryInstances:this.getInstances(),appearance:this.getAppearance(),asynchronous:!1}),setTimeout(()=>{this.circle.appearance.material.uniforms.color.alpha=2}),this._viewer.scene.primitives.add(this),this};XB.prototype.getInstances=function(){if(this.clampToGround){let o=_g.Cartesian3.fromDegrees(this.position.lon,this.position.lat,this.position.height),A=this._core.setPositionOffset(o,{x:-this.scale[0],y:-this.scale[1],z:0}),f=this._core.setPositionOffset(o,{x:this.scale[0],y:this.scale[1],z:0});return new _g.GeometryInstance({geometry:new _g.RectangleGeometry({rectangle:_g.Rectangle.fromCartesianArray([A,f])}),modelMatrix:this.modelMatrix})}else return this.modelMatrix=_g.Transforms.eastNorthUpToFixedFrame(_g.Cartesian3.fromDegrees(this.position.lon,this.position.lat,this.position.height)),new _g.GeometryInstance({geometry:this.getGeometry(),modelMatrix:this.modelMatrix})};XB.prototype.getGeometry=function(){return this._core.customGeometry({scale:this.scale,position:[-1,-1,0,1,-1,0,1,1,0,-1,1,0],st:[0,0,1,0,1,1,0,1],indices:[0,1,2,0,2,3],boundingSphere:new _g.BoundingSphere(new _g.Cartesian3(0,0,0),1)})};XB.prototype.getAppearance=function(){return new _g.EllipsoidSurfaceAppearance({material:new _g.Material({fabric:{uniforms:{image:this.image,angle:this.angle,color:new _g.Color(...this.color,0)},source:Iot}})})};XB.prototype.update=function(o){this.circle&&this.show&&(this.circle.appearance.material.uniforms.angle=_g.Math.toRadians(this.angle+=this.multiple),this.circle.update(o))};XB.prototype.isDestroyed=function(){return this.destroyed};XB.prototype.destroy=function(){this.circle&&this.circle.destroy(),this.circle=null,this.destroyed=!0};XB.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this)};XB.prototype.setVisibility=function(o){this.show=o};var JQe=XB;var xot=`// author: \u5F20\u4E39\u948A uniform vec4 color; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; material.diffuse = czm_gammaCorrect(color.rgb); material.alpha = color.a * pow(1.0 - st.t, 2.0); material.emission = vec3(0.2); return material; }`;var yot=`// author: \u5F20\u4E39\u948A uniform vec4 color; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float powerRatio = fract(czm_frameNumber / 30.0) + 1.0; float alpha = pow(1.0 - st.t, powerRatio); material.diffuse = czm_gammaCorrect(color.rgb); material.alpha = alpha * color.a; material.emission = vec3(0.2); return material; }`;var vot=`// author: \u5F20\u4E39\u948A uniform sampler2D image; uniform vec4 color; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 v_st = materialInput.st; float dt = fract(czm_frameNumber / 90.0); vec2 st = fract(vec2(1.0) + v_st - vec2(dt, dt)); vec4 imageColor = texture(image, st); vec3 diffuse = imageColor.rgb; float alpha = imageColor.a; diffuse *= color.rgb; alpha *= color.a; diffuse *= color.rgb; alpha *= color.a; material.diffuse = diffuse; material.alpha = alpha * pow(1.0 - v_st.t, 2.0); material.emission = vec3(0.2); return material; }`;var hc=null;function ZB(o,A){hc=A,this._viewer=o,this._core=new Ji(o,A),this.angle=0,this.multiple=1,this.destroyed=!1,this.type="cylinder",this.show=!0}ZB.prototype.createCylinder=function(o={}){this.type="cylinder",this.radius=o.radius||500,this.length=o.length||100,this.number=o.number||30,this.multiple=o.multiple||1,this.near=o.near,this.far=o.far;let A=hc.Color.fromCssColorString(o.color||"#80ccff");this.scale=[this.radius,this.radius,this.length],this.color=[A.red,A.green,A.blue,A.alpha],this.geometryValue=this.getCylinderGeometryValue(1,1,1,this.number),this.modelMatrix=hc.Transforms.eastNorthUpToFixedFrame(hc.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height));let f=new hc.GeometryInstance({geometry:this.getGeometry(this.geometryValue),modelMatrix:this.modelMatrix});return this.cylinder=new hc.Primitive({geometryInstances:f,appearance:this.getAppearance(),asynchronous:!1}),this._viewer.scene.primitives.add(this),this};ZB.prototype.createCone=function(o={}){this.type="cone",this.radius=o.radius||500,this.length=o.length||100,this.near=o.near,this.far=o.far;let A=hc.Color.fromCssColorString(o.color||"#80ccff");this.scale=[this.radius,this.radius,this.length],this.color=[A.red,A.green,A.blue,A.alpha],this.geometryValue=this.getCylinderGeometryValue(2,.3,1,6),this.modelMatrix=hc.Transforms.eastNorthUpToFixedFrame(hc.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height));let f=new hc.GeometryInstance({geometry:this.getGeometry(this.geometryValue),modelMatrix:this.modelMatrix});return this.cylinder=new hc.Primitive({geometryInstances:f,appearance:this.getAppearance(),asynchronous:!1}),hc.Resource.createIfNeeded(SmartEarthRootUrl+kr.particles).fetchImage().then(m=>{let C=this.getCylinderGeometryValue(4,4,1,6),E=new hc.GeometryInstance({geometry:this.getGeometry(C),modelMatrix:this.modelMatrix});this.cylinder1=new hc.Primitive({geometryInstances:E,appearance:new hc.EllipsoidSurfaceAppearance({material:new hc.Material({fabric:{uniforms:{image:m,color:new hc.Color(this.color[0],this.color[1],this.color[2],0)},source:vot}}),renderState:{cull:{enabled:!1}}}),asynchronous:!1}),setTimeout(()=>{this.cylinder1.appearance.material.uniforms.color.alpha=2})}),this._viewer.scene.primitives.add(this),this};ZB.prototype.getAppearance=function(){if(this.type==="cylinder")return new hc.EllipsoidSurfaceAppearance({material:new hc.Material({fabric:{uniforms:{color:new hc.Color(...this.color)},source:xot}}),renderState:{cull:{enabled:!1}}});if(this.type==="cone")return new hc.EllipsoidSurfaceAppearance({material:new hc.Material({fabric:{uniforms:{color:new hc.Color(...this.color)},source:yot}}),renderState:{cull:{enabled:!1}}})};ZB.prototype.getGeometry=function(o){return this._core.customGeometry({scale:this.scale,boundingSphere:new hc.BoundingSphere(new hc.Cartesian3(0,0,0),1),...JSON.parse(JSON.stringify(o))})};ZB.prototype.getCylinderGeometryValue=function(o=1,A=1,f=1,m=30){let C=[o,0],E=[A,0],I=hc.Math.toRadians(360/m),x=1/m,y=[],v=[0,1,m+1,1,m+2,m+1],w=[];y[0]=C[0],y[1]=C[1],y[2]=0,y[(m+1)*3]=E[0],y[(m+1)*3+1]=E[1],y[(m+1)*3+2]=f,w[0]=0,w[1]=0,w[(m+1)*2]=0,w[(m+1)*2+1]=1;for(let Q=1,M=0,B=0,D,S;Q<=m;Q++)M=I*Q,B=x*Q,D=C[0]*Math.cos(M)-C[1]*Math.sin(M),S=C[1]*Math.cos(M)+C[0]*Math.sin(M),y[Q*3]=D,y[Q*3+1]=S,y[Q*3+2]=0,D=E[0]*Math.cos(M)-E[1]*Math.sin(M),S=E[1]*Math.cos(M)+E[0]*Math.sin(M),y[(m+1)*3+Q*3]=D,y[(m+1)*3+Q*3+1]=S,y[(m+1)*3+Q*3+2]=f,w[Q*2]=B,w[Q*2+1]=0,w[(m+1)*2+Q*2]=B,w[(m+1)*2+Q*2+1]=1,v.push(Q,Q+1,m+Q+1,Q+1,m+Q+2,m+Q+1);return{position:y,st:w,indices:v}};ZB.prototype.update=function(o){if(this.cylinder&&this.show){if(this.type==="cylinder"){typeof this.dt>"u"&&(this.dt=0),this.dt+=.01*.3*this.multiple,this.dt>1&&(this.dt=0);let A=(1-Math.cos(this.dt*Math.PI*2))*.5;this.scale[0]=this.scale[1]=this.radius*(1-Math.cos(this.dt*Math.PI))*.5,this.scale[2]=this.length*A,this.color[3]=2*A;let f=new hc.GeometryInstance({geometry:this.getGeometry(this.geometryValue),modelMatrix:this.modelMatrix});this.cylinder.destroy(),this.cylinder=new hc.Primitive({geometryInstances:f,appearance:this.getAppearance(),asynchronous:!1}),f=null}this.cylinder.update(o),this.cylinder1&&this.cylinder1.update(o)}};ZB.prototype.isDestroyed=function(){return this.destroyed};ZB.prototype.destroy=function(){this.cylinder&&this.cylinder.destroy(),this.cylinder=null,this.cylinder1&&this.cylinder1.destroy(),this.cylinder1=null,this.destroyed=!0};ZB.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this)};ZB.prototype.setVisibility=function(o){this.show=o};var KQe=ZB;var Zl=null;function QI(o,A,f){Zl=f,this.show=!0,this._position=Zl.Cartesian3.fromDegrees(A.position.lon,A.position.lat,A.position.height),this._command=void 0,this._outlineCommand=void 0,this._angle=0,this._viewer=o,this._speed=Jd(A.multiple,1),this._color=Jd(A.color,"#80ccff"),this._color=Zl.Color.fromCssColorString(this._color).withAlpha(.5),this._outlineColor=Jd(A.outlineColor,"#ffff00"),this._outlineColor=Zl.Color.fromCssColorString(this._outlineColor),this._scale=Jd(A.scale,new Zl.Cartesian3(1,1,1)),this._modelMatrix=this.computeModelMatrix(),this._height=0,this.animate=Jd(A.animate,!0),o.scene.primitives.add(this)}QI.prototype.update=function(o){if(!!this.show&&(Zl.defined(this._command)||(this._command=this.createCommand(o.context)),Zl.defined(this._outlineCommand)||(this._outlineCommand=this.createCommand(o.context,!0)),o.commandList.push(this._command,this._outlineCommand),this.animate)){this._angle+=.01,this._angle>1&&(this._angle=0),this._height=Math.sin(this._angle*Math.PI*2)*.04;let A=new Zl.Cartesian3(0,0,this._height);Zl.Matrix4.multiplyByTranslation(this._modelMatrix,A,this._modelMatrix);let f=Zl.Matrix4.fromRotationTranslation(Zl.Matrix3.fromRotationZ(Zl.Math.toRadians(this._speed*4)));Zl.Matrix4.multiply(this._modelMatrix,f,this._modelMatrix)}};QI.prototype.isDestroyed=function(){return!1};QI.prototype.destroy=function(){return Zl.defined(this._command)&&(this._command.shaderProgram=this._command.shaderProgram&&this._command.shaderProgram.destroy()),Zl.defined(this._outlineCommand)&&(this._outlineCommand.shaderProgram=this._outlineCommand.shaderProgram&&this._outlineCommand.shaderProgram.destroy()),Zl.destroyObject(this)};QI.prototype.startAnimate=function(){this.animate=!0};QI.prototype.closeAnimate=function(){this.animate=!1};QI.prototype.deleteObject=function(){this.destroy()};QI.prototype.setVisibility=function(o){this.show=o};QI.prototype.createCommand=function(o,A){let f=!0,m=!0;var C=Zl.Appearance.getDefaultRenderState(f,m,void 0),E=new Zl.RenderState(C);let I={position:0,textureCoordinates:1};var x=Zl.ShaderProgram.fromCache({context:o,vertexShaderSource:this.createVertexShader(),fragmentShaderSource:this.createFragmentShader(),attributeLocations:I});let y=A?this._outlineColor:this._color;return new Zl.DrawCommand({pickId:"Tetrahedron",vertexArray:this.createVertexArray(o,A),primitiveType:A?Zl.PrimitiveType.LINES:Zl.PrimitiveType.TRIANGLES,renderState:E,shaderProgram:x,uniformMap:{color:()=>y},owner:this,pass:Zl.Pass.TRANSLUCENT,modelMatrix:this._modelMatrix,boundingVolume:new Zl.BoundingSphere(this._position,1)})};QI.prototype.createVertexArray=function(o,A=!1){let f={position:0,textureCoordinates:1};var m=this.cereatePositionsAndIndice(A),C=new Zl.Geometry({attributes:{position:new Zl.GeometryAttribute({componentDatatype:Zl.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:m.positions}),textureCoordinates:new Zl.GeometryAttribute({componentDatatype:Zl.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:m.sts})},indices:m.indices,primitiveType:Zl.PrimitiveType.TRIANGLES,boundingSphere:Zl.BoundingSphere.fromVertices(m.positions)}),E=Zl.GeometryPipeline.computeNormal(C),I=Zl.VertexArray.fromGeometry({context:o,geometry:E,attributeLocations:f,bufferUsage:Zl.BufferUsage.STATIC_DRAW});return I};QI.prototype.cereatePositionsAndIndice=function(o=!1){return{indices:o?[0,1,0,1,2,1,2,3,2,3,0,3,0,4,0,1,4,1,2,4,2,3,4,3]:[0,1,4,1,2,4,2,3,4,3,0,4],positions:[1,0,1.5,0,1,1.5,-1,0,1.5,0,-1,1.5,0,0,0],sts:[]}};QI.prototype.createVertexShader=function(){var o=`in vec3 position; void main() { gl_Position = czm_modelViewProjection * vec4(position, 1.0); } `;return o};QI.prototype.createFragmentShader=function(){var o=`uniform vec4 color; void main() { out_FragColor = color; } `;return o};QI.prototype.computeModelMatrix=function(){let o=Zl.Transforms.eastNorthUpToFixedFrame(this._position),A=Zl.Matrix4.fromScale(this._scale);return Zl.Matrix4.multiply(o,A,new Zl.Matrix4)};var _ot=QI;var WA=null;function jC(o,A){WA=A,this._viewer=o,this._core=new Ji(o,A),this.destroyed=!1,this.show=!0,this._values=new Map,this._viewer.scene.primitives.add(this),this.img={}}jC.prototype.add=function(o={}){o.id=o.id||this._core.uuid(),o.name=o.name||"\u7EA2\u7EFF\u706F";let A=document.createElement("canvas"),f=A.getContext("2d");return this._values.set(o.id,{id:o.id,name:o.name,canvas:A,context:f,far:o.far||800,state:{left:-1,center:1,right:1,time:30},show:!0,deleteObject:()=>{this.removeById(o.id)},setVisibility:m=>{this.showById(o.id,m)},update:m=>{this.updateById(o.id,m)}}),this.loadImage||(this.loadImage=[WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.l_go).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.l_wait).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.l_stop).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.l_null).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.go).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.wait).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.stop).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.null).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.r_go).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.r_wait).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.r_stop).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.r_null).fetchImage(),WA.Resource.createIfNeeded(window.SmartEarthRootUrl+kr.trafficLight.bg).fetchImage()]),this.imageData?this.addGeometry(o):Promise.all(this.loadImage).then(m=>{this.imageData={left:{go:m[0],wait:m[1],stop:m[2],null:m[3]},center:{go:m[4],wait:m[5],stop:m[6],null:m[7]},right:{go:m[8],wait:m[9],stop:m[10],null:m[11]},bg:m[12]},this.addGeometry(o)}),this._values.get(o.id)};jC.prototype.addGeometry=function(o={}){let A=this._values.get(o.id);this.drawImage(A,o);let f=o.scale||1,m=A.canvas.width*.02*f,C=A.canvas.height*.02*f,E=new WA.Cartesian3(m,C,1),I=WA.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height+C);A.position=I;let x=WA.Transforms.eastNorthUpToFixedFrame(I),y=new WA.HeadingPitchRoll(WA.Math.toRadians(o.heading||0),WA.Math.toRadians(0),WA.Math.toRadians(90)),v=WA.Matrix3.fromHeadingPitchRoll(y);WA.Matrix4.multiplyByMatrix3(x,v,x);let w=WA.Matrix4.fromScale(E);WA.Matrix4.multiply(x,w,x);let Q=new WA.PlaneGeometry,M=new WA.GeometryInstance({geometry:Q,modelMatrix:x,attributes:{color:WA.ColorGeometryInstanceAttribute.fromColor(WA.Color.WHITE)}}),B=WA.Material.fromType("Image");B.uniforms.image=A.canvas.toDataURL("image/png"),A.geometry=new WA.Primitive({id:o,geometryInstances:M,appearance:new WA.MaterialAppearance({flat:!0,material:B})})};jC.prototype.getImage=function(o,A){let f="null";return A===0?f="wait":A===-1?f="stop":A===1&&(f="go"),this.imageData[o][f]};jC.prototype.drawImage=function(o,A){let f=this._core.defaultValue(A.left,o.state.left),m=this._core.defaultValue(A.center,o.state.center),C=this._core.defaultValue(A.right,o.state.right),E=this._core.defaultValue(A.time,o.state.time);o.state={left:f,center:m,right:C,time:E};let I=this.imageData.bg,x=this.getImage("left",f),y=this.getImage("left"),v=this.getImage("center",m),w=this.getImage("center"),Q=this.getImage("right",C),M=this.getImage("right");o.canvas.height=I.height,o.canvas.width=I.width,o.context.drawImage(I,0,0,I.width,I.height,0,0,I.width,I.height);let B=10,D=303,S=485,P=15,R=x.height+25,T=x.height*2+35;o.context.drawImage(f===-1?x:y,0,0,x.width,x.height,B,P,x.width,x.height),o.context.drawImage(f===0?x:y,0,0,x.width,x.height,B,R,x.width,x.height),o.context.drawImage(f===1?x:y,0,0,x.width,x.height,B,T,x.width,x.height),o.context.drawImage(m===-1?v:w,0,0,v.width,v.height,D,P,v.width,v.height),o.context.drawImage(m===0?v:w,0,0,v.width,v.height,D,R,v.width,v.height),o.context.drawImage(m===1?v:w,0,0,v.width,v.height,D,T,v.width,v.height),o.context.drawImage(C===-1?Q:M,0,0,Q.width,Q.height,S,P,Q.width,Q.height),o.context.drawImage(C===0?Q:M,0,0,Q.width,Q.height,S,R,Q.width,Q.height),o.context.drawImage(C===1?Q:M,0,0,Q.width,Q.height,S,T,Q.width,Q.height),this.drawTime(o.context,{left:f,center:m,x:153,y:143,time:E})};jC.prototype.drawTime=function(o,A={}){let f=1;A.left===0||A.center===0?f=0:A.left===1||A.center===1?f=1:A.left===-1&&A.center===-1&&(f=-1);let m="#31fb09";f===0?m="#ffd511":f===-1&&(m="#f81838");let C=A.time||0;C<0&&(C=0),C>99&&(C=99),C===0?C="00":C<10?C="0"+C:C+="",o.font="bold 60px Arial",o.fillStyle=m,o.fillText(C,A.x,A.y)};jC.prototype.updateById=function(o,A={}){let f=this._values.get(o);f&&(f.context.clearRect(0,0,f.canvas.width,f.canvas.height),this.drawImage(f,A),f.context.isUpdate=!0)};jC.prototype.update=function(o){if(this.show)for(let A of this._values.values())A.show&&A.geometry&&this.isShow(A)&&(A.context.isUpdate&&(A.geometry.appearance.material.uniforms.image=A.canvas.toDataURL("image/png"),A.context.isUpdate=null),A.geometry.update(o))};jC.prototype.isShow=function(o){return WA.Cartesian3.distance(this._viewer.camera.position,o.position)<o.far};jC.prototype.removeById=function(o){let A=this._values.get(o);A&&A.geometry&&A.geometry.destroy(),this._values.delete(o)};jC.prototype.showById=function(o,A){let f=this._values.get(o);f&&(f.show=A)};jC.prototype.isDestroyed=function(){return this.destroyed};jC.prototype.destroy=function(){for(let o of this._values.values())o.geometry&&o.geometry.destroy();this._values=new Map,this.img=null,this.imageData=null,this.destroyed=!0};jC.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this),this.destroy()};jC.prototype.setVisibility=function(o){this.show=o};var Bot=jC;var SQi=`uniform sampler2D specularMap; uniform sampler2D normalMap; uniform vec4 baseWaterColor; uniform vec4 blendColor; uniform float frequency; uniform float animationSpeed; uniform float amplitude; uniform float specularIntensity; uniform float fadeFactor; uniform vec4 sizeAndVelocity; czm_material czm_getMaterial(czm_materialInput materialInput) { float width = sizeAndVelocity.x; float height = sizeAndVelocity.y; float vx = sizeAndVelocity.z; float vy = sizeAndVelocity.w; czm_material material = czm_getDefaultMaterial(materialInput); float time = czm_frameNumber * animationSpeed; // fade is a function of the distance from the fragment and the frequency of the waves float fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor); // note: not using directional motion at this time, just set the angle to 0.0; vec2 st = materialInput.st * vec2(width, height) / 100.0 * frequency; st -= vec2(vx*time, vy*time); vec4 noise = czm_getWaterNoise(normalMap, st, time, 0.0); vec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude)); // fade out the normal perturbation as we move further from the water surface normalTangentSpace.xy /= fade; normalTangentSpace = normalize(normalTangentSpace); // get ratios for alignment of the new normal vector with a vector perpendicular to the tangent plane float tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0); // base color is a blend of the water and non-water color based on the value from the specular map // may need a uniform blend factor to better control this vec2 v = gl_FragCoord.xy / czm_viewport.zw; v.y = 1.0 - v.y; material.diffuse = texture(specularMap, v + noise.xy*0.03).rgb; // diffuse highlights are based on how perturbed the normal is material.diffuse += (0.1 * tsPerturbationRatio); material.diffuse = mix(baseWaterColor.rgb, material.diffuse, blendColor.rgb); material.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace); material.specular = specularIntensity; material.shininess = 10.0; material.alpha = baseWaterColor.a * blendColor.a; return material; }`,wot=SQi;var $B=null;function bot(o){o._colorTexture&&!o._colorTexture.isDestroyed()?o._colorTexture.destroy():o._colorTexture&&(o._colorTexture.destroy=function(){console.log("destroy")},o._colorTexture=null),o._depthStencilTexture&&!o._depthStencilTexture.isDestroyed()&&(o._depthStencilTexture.destroy(),o._depthStencilTexture=null)}function Qot(o){o._framebuffer&&!o._framebuffer.isDestroyed()&&(o._framebuffer.destroy(),o._framebuffer=null)}function DQi(o,A,f,m){bot(o),Qot(o),o._colorTexture=new $B.Texture({context:A,width:f,height:m,pixelFormat:$B.PixelFormat.RGBA,pixelDatatype:$B.PixelDatatype.UNSIGNED_BYTE}),o._depthStencilTexture=new $B.Texture({context:A,width:f,height:m,pixelFormat:$B.PixelFormat.DEPTH_STENCIL,pixelDatatype:$B.PixelDatatype.UNSIGNED_INT_24_8}),o._framebuffer=new $B.Framebuffer({context:A,colorTextures:[o._colorTexture],depthStencilTexture:o._depthStencilTexture,destroyAttachments:null})}function AK(o){$B=o,this._framebuffer=null,this._colorTexture=null,this._textureChangedEvent=new $B.Event}AK.prototype.getTextureChangedEvent=function(){return this._textureChangedEvent};AK.prototype.update=function(o,A,f){var m=this._colorTexture;let C=!1;(!$B.defined(m)||m.width!==A||m.height!==f)&&(C=!0),!$B.defined(this._framebuffer)&&C&&(DQi(this,o,A,f),this._textureChangedEvent.raiseEvent(this._colorTexture))};AK.prototype.isDestroyed=function(){return!1};AK.prototype.destroy=function(){bot(this),Qot(this)};var Sot=AK;var Rc=null,Dot,Mot,Tot,Pot,MQi=null,Rot,Lot;function TQi(o,A,f,m,C){let E=A._frameState;if(!Rc.defined(A.debugCommandFilter)||A.debugCommandFilter(o))if(o instanceof Rc.ClearCommand)o.execute(f,m);else{E.useLogDepth&&Rc.defined(o.derivedCommands.logDepth)&&(o=o.derivedCommands.logDepth.command);let I=E.passes;!I.pick&&A._hdr&&Rc.defined(o.derivedCommands)&&Rc.defined(o.derivedCommands.hdr)&&(o=o.derivedCommands.hdr.command),!I.pick&&!I.depth&&!A.debugShowCommands&&!A.debugShowFrustums&&o.execute(f,m)}}function PQi(o,A,f,m){Rc=m,Dot=new Rc.PerspectiveFrustum,Mot=new Rc.PerspectiveOffCenterFrustum,Tot=new Rc.OrthographicFrustum,Pot=new Rc.OrthographicOffCenterFrustum,MQi=null,Rot=Rc.Cesium3DTilePassState&&new Rc.Cesium3DTilePassState({pass:Rc.Cesium3DTilePass.RENDER}),Lot=Rc.OctahedralProjectedCubeMap.prototype.update;let C=new Rc.Camera(o),E=o.context,I=o._view.passState;C=Rc.Camera.clone(o.camera,C);let x=C.positionCartographic,y=C.pitch,v=C.heading,w=C.roll;C.setView({destination:Rc.Cartesian3.fromRadians(x.longitude,x.latitude,A+A-x.height),orientation:{heading:v,pitch:-y,roll:w}});let Q=.5*o.context.drawingBufferWidth,M=.5*o.context.drawingBufferHeight;I.viewport.x=0,I.viewport.y=0,I.viewport.width=Q,I.viewport.height=M,f.update(E,Q,M),I.framebuffer=f._framebuffer;let B=o._clearColorCommand;Rc.Color.multiplyByScalar(Rc.Color.DEEPSKYBLUE,.1,B.color),B.color.alpha=1,B.execute(E,I);let D=o._depthClearCommand,S=E.uniformState;S.updateCamera(C),S.seWaterHeight=A;let P;Rc.defined(C.frustum.fov)?P=C.frustum.clone(Dot):Rc.defined(C.frustum.infiniteProjectionMatrix)?P=C.frustum.clone(Mot):Rc.defined(C.frustum.width)?P=C.frustum.clone(Tot):P=C.frustum.clone(Pot),P.near=C.frustum.near,P.far=C.frustum.far,S.updateFrustum(P);let R=o._frameState;R.passes.render=!0,R.tilesetPassState=Rot,o.frameState.commandList.length=0,Rc.OctahedralProjectedCubeMap.prototype.update=function(){},o._primitives.update(R),Rc.OctahedralProjectedCubeMap.prototype.update=Lot,o._view.createPotentiallyVisibleSet(o);let T,L,F=o._view.frustumCommandsList;for(let U=0;U<F.length;U++){let N=F.length-U-1,H=F[N];N!==0?P.near=H.near*o.opaqueFrustumNearOffset:P.near=H.near,P.far=H.far,S.updateFrustum(P),D.execute(E,I),S.updatePass(Rc.Pass.CESIUM_3D_TILE),T=H.commands[Rc.Pass.CESIUM_3D_TILE],L=H.indices[Rc.Pass.CESIUM_3D_TILE];for(let J=0;J<L;J++)TQi(T[J],o,E,I)}I.framebuffer=0,S.seWaterHeight=-5e3}var Fot=PQi;function ey(o,A,f){this._cesium=f,this._option={baseWaterColor:o.baseWaterColor||new f.Color(.2,.3,.6,1),blendColor:o.blendColor||new f.Color(.5,.5,.5,.7),animationSpeed:o.animationSpeed||.05,amplitude:o.amplitude||2,frequency:o.frequency||5e3,specularIntensity:o.specularIntensity||.5,fadeFactor:o.fadeFactor||1,sizeAndVelocity:o.sizeAndVelocity||new f.Cartesian4(100,100,10,0),width:o.width||100,height:o.height||100},GQi(this._option,this._cesium),this._scene=A,this._wTexture=new Sot(this._cesium),this._trackedPrimitives=[];let m=this;this._disposeListener=this._scene.preRender.addEventListener(function(){let C=m._scene.camera,E=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC);if(m._trackedPrimitives.some(function(x){if(!x.show)return null;let y=x._boundingSphereWC||x._boundingVolumes,v=null;return y&&(v=y.some(function(w){return E.computeVisibility(w)!==f.Intersect.OUTSIDE})),v})){let x=Number.MAX_VALUE,y=null;m._trackedPrimitives.forEach(function(v){if(v.show){let w=v._boundingSphereWC||v._boundingVolumes,Q;if(w&&(Q=w.some(function(M){return E.computeVisibility(M)!==f.Intersect.OUTSIDE})),Q){let M=f.Cartesian3.distanceSquared(v.centerPos,C.positionWC)-v.radius;x>M&&(x=M,y=v)}}}),y&&Fot(m._scene,y.waterHeight,m._wTexture,m._cesium)}}),console.log(window.nowView=this),this._createDebugView(),this.debugShow(!1)}function RQi(o,A){let f=A.ModelUtility.getAttributeOrUniformBySemantic(o,"_BATCHID");return A.defined(f)||(f=A.ModelUtility.getAttributeOrUniformBySemantic(o,"BATCHID"),A.defined(f)&&A.Batched3DModel3DTileContent._deprecationWarning("b3dm-legacy-batchid","The glTF in this b3dm uses the semantic `BATCHID`. Application-specific semantics should be prefixed with an underscore: `_BATCHID`.")),f}function LQi(o,A){return function(f,m){let C=o._batchTable,E=!A.defined(o._classificationType),I=o._model.gltf;A.defined(I)&&(o._batchIdAttributeName=RQi(I,A),o._diffuseAttributeOrUniformName[m]=A.ModelUtility.getDiffuseAttributeOrUniform(I,m)),f=A.ShaderSource.replaceMain(f,"gltf_seWater_main"),f+=`uniform mat4 u_inverseElevationMatrix; out vec3 v_elevationPos; void main() { gltf_seWater_main(); v_elevationPos = (u_inverseElevationMatrix * vec4(a_position, 1.0)).xyz; } `;let x=C.getVertexShaderCallback(E,o._batchIdAttributeName,o._diffuseAttributeOrUniformName[m]);return A.defined(x)?x(f):f}}function FQi(o,A){return function(f,m){let C=o._batchTable,E=!A.defined(o._classificationType),I=o._model.gltf;A.defined(I)&&(o._diffuseAttributeOrUniformName[m]=A.ModelUtility.getDiffuseAttributeOrUniform(I,m)),f=A.ShaderSource.replaceMain(f,"gltf_seWater_main"),f+=`in vec3 v_elevationPos; void main() { if (czm_seWaterHeight > -5000.0 && v_elevationPos.z < czm_seWaterHeight) { discard; } gltf_seWater_main(); } `;let x=C.getFragmentShaderCallback(E,o._diffuseAttributeOrUniformName[m],!1);return A.defined(x)?x(f):f}}function NQi(o,A){let f=o._batchTable;return o._batchTable.featuresLength===0?function(m){let C={u_inverseElevationMatrix:function(E){let I=o._model,x=typeof I._elevationMatrix;if(x==="undefined")return A.Matrix4.IDENTITY;if(x==="function"?I._uniformInverseElevationMatrix=I._elevationMatrix(I._uniformInverseElevationMatrix):A.Matrix4.clone(I._elevationMatrix,I._uniformInverseElevationMatrix),A.Matrix4.inverse(I._uniformInverseElevationMatrix,I._uniformInverseElevationMatrix),I._rtcCenter){let y=new A.Matrix4,v=A.Matrix4.fromTranslation(I._rtcCenter,y);A.Matrix4.multiply(I._uniformInverseElevationMatrix,v,I._uniformInverseElevationMatrix)}return I._uniformInverseElevationModelMatrix||(I._uniformInverseElevationModelMatrix=new A.Matrix4),E&&E.model?(I._uniformInverseElevationModelMatrix=A.Matrix4.multiply(I._uniformInverseElevationMatrix,E.model,I._uniformInverseElevationModelMatrix),I._uniformInverseElevationModelMatrix):A.Matrix4.IDENTITY}};return A.combine(m,C)}:function(m){let C={tile_batchTexture:function(){return defaultValue(f._batchTexture.batchTexture,f._batchTexture.defaultTexture)},tile_textureDimensions:function(){return f._batchTexture.textureDimensions},tile_textureStep:function(){return f._batchTexture.textureStep},tile_colorBlend:function(){return getColorBlend(f)},tile_pickTexture:function(){return f._batchTexture.pickTexture},u_inverseElevationMatrix:function(E){let I=o._model,x=typeof I._elevationMatrix;if(x==="undefined")return A.Matrix4.IDENTITY;if(x==="function"?I._uniformInverseElevationMatrix=I._elevationMatrix(I._uniformInverseElevationMatrix):A.Matrix4.clone(I._elevationMatrix,I._uniformInverseElevationMatrix),A.Matrix4.inverse(I._uniformInverseElevationMatrix,I._uniformInverseElevationMatrix),I._rtcCenter){let y=new A.Matrix4,v=A.Matrix4.fromTranslation(I._rtcCenter,y);A.Matrix4.multiply(I._uniformInverseElevationMatrix,v,I._uniformInverseElevationMatrix)}return I._uniformInverseElevationModelMatrix||(I._uniformInverseElevationModelMatrix=new A.Matrix4),I._uniformInverseElevationModelMatrix=A.Matrix4.multiply(I._uniformInverseElevationMatrix,E.model,I._uniformInverseElevationModelMatrix),I._uniformInverseElevationModelMatrix}};return A.combine(m,C)}}function kQi(o){this._size=o.size,this._datatype=o.datatype,this.getValue=o.getValue}function UQi(o,A,f){try{let m=f.Ellipsoid.WGS84,C=m.scaleToGeodeticSurface(o);return A=f.Transforms.eastNorthUpToFixedFrame(C,m,A),A}catch{return f.Matrix4.clone(f.Matrix4.IDENTITY,A)}}function OQi(o){o.AutomaticUniforms.czm_seWaterHeight||(o.AutomaticUniforms.czm_seWaterHeight=new kQi({size:1,datatype:o.WebGLConstants.FLOAT,getValue:function(f){return f.seWaterHeight?f.seWaterHeight:-5e3}}),o.ShaderSource._czmBuiltinsAndUniforms.czm_seWaterHeight="uniform float czm_seWaterHeight;");var A=o.Cesium3DTileset.prototype.update;o.Cesium3DTileset.prototype.update=function(f){A.call(this,f),this.show&&this.ready&&(this._autoElevationMatrix=UQi(this.boundingSphere.center,this._autoElevationMatrix,o))},o.Cesium3DTileContentFactory.b3dm=function(f,m,C,E,I){if(f.enableModelExperimental)return o.ModelExperimental3DTileContent.fromB3dm(f,m,C,E,I);let x=new o.Batched3DModel3DTileContent(f,m,C,E,I);return x._model instanceof o.ClassificationModel||(x._model._elevationMatrix=function(y){let v=f._elevationMatrix||f._autoElevationMatrix||o.Matrix4.IDENTITY;return y=o.Matrix4.clone(v,y),y},x._model._uniformMapLoaded=NQi(x,o),x._model._vertexShaderLoaded=LQi(x,o),x._model._fragmentShaderLoaded=FQi(x,o)),x},o.ShaderProgram.prototype._setUniforms=function(f,m,C){let E,I;if(o.defined(f)){let v=this._manualUniforms;for(E=v.length,I=0;I<E;++I){let w=v[I];w.value=f[w.name](m)}}let x=this._automaticUniforms;for(E=x.length,I=0;I<E;++I){let v=x[I];v.uniform.value=v.automaticUniform.getValue(m)}let y=this._uniforms;for(E=y.length,I=0;I<E;++I)y[I].set();if(C){let v=this._gl,w=this._program;v.validateProgram(w)}}}function GQi(o,A){let f=o.baseWaterColor||new A.Color(.2,.3,.6,1),m=o.blendColor||new A.Color(.5,.5,.5,.7),C=o.animationSpeed||.05,E=o.amplitude||2,I=o.frequency||5e3,x=o.specularIntensity||.5,y=o.fadeFactor||1,v=o.sizeAndVelocity||new A.Cartesian4(100,100,10,0),w=o.width||316,Q=o.height||316;OQi(A),A.Material._materialCache.addMaterial("SEWater",{fabric:{type:"SEWater",uniforms:{baseWaterColor:f,blendColor:m,specularMap:A.Material.DefaultImageId,normalMap:A.Material.DefaultImageId,frequency:I,animationSpeed:C,amplitude:E,specularIntensity:x,fadeFactor:y,sizeAndVelocity:v},source:wot},translucent:function(M){var B=M.uniforms;return B.baseWaterColor.alpha<1||B.blendColor.alpha<1}})}ey.prototype._createDebugView=function(){let o=this._cesium.Material.fromType("Image"),A=new this._cesium.ViewportQuad(new this._cesium.BoundingRectangle(0,100,300,300));A.material=o,this._debugViewportQuad=this._scene.primitives.add(A);let f=this._getWaterReflectTexture();f&&(o.uniforms.image=f)};ey.prototype.debugShow=function(o){this._debugViewportQuad.show=o};ey.prototype.isDebugShow=function(){return this._debugViewportQuad.show};ey.prototype._getWaterReflectTexture=function(){return this._wTexture._colorTexture};ey.prototype._getWaterReflectTextureChangedEvent=function(){return this._wTexture._textureChangedEvent};ey.prototype._createWaterMaterial=function(){var o=new this._cesium.Material({fabric:{type:"SEWater",uniforms:{specularMap:this._cesium.buildModuleUrl("Assets/Textures/waterNormals.jpg"),normalMap:this._cesium.buildModuleUrl("Assets/Textures/waterNormals.jpg"),frequency:this._option.frequency,animationSpeed:this._option.animationSpeed,amplitude:this._option.amplitude,width:this._option.width,height:this._option.height}}});let A=this;return o._uniforms.specularMap_0=function(){return A._wTexture._colorTexture||A._scene.context.defaultTexture},o};ey.prototype.createWaterPolygonPrimitive=function(o){let A=this,f=this._scene,m=null,C=null;if(o.type==0)m=this._cesium.PolygonGeometry.fromPositions({vertexFormat:this._cesium.MaterialAppearance.MaterialSupport.ALL.vertexFormat,positions:o.positions}),C=f.groundPrimitives.add(new this._cesium.GroundPrimitive({geometryInstances:new this._cesium.GeometryInstance({geometry:m}),appearance:new this._cesium.MaterialAppearance({materialSupport:this._cesium.MaterialAppearance.MaterialSupport.ALL}),classificationType:this._cesium.ClassificationType.BOTH})),C.appearance.material=this._createWaterMaterial();else if(o.type==1)m=this._cesium.CoplanarPolygonGeometry.fromPositions({vertexFormat:this._cesium.MaterialAppearance.MaterialSupport.ALL.vertexFormat,positions:o.positions}),C=f.primitives.add(new this._cesium.Primitive({geometryInstances:new this._cesium.GeometryInstance({geometry:m}),appearance:new this._cesium.MaterialAppearance({materialSupport:this._cesium.MaterialAppearance.MaterialSupport.ALL})})),C.appearance.material=this._createWaterMaterial();else if(o.type==2){let I=new this._cesium.GeometryInstance({geometry:o.geometry});C=f.primitives.add(new this._cesium.Primitive({geometryInstances:I,appearance:new this._cesium.EllipsoidSurfaceAppearance({material:this._createWaterMaterial()}),asynchronous:!1}))}C.appearance.material.uniforms.sizeAndVelocity.x=o.width,C.appearance.material.uniforms.sizeAndVelocity.y=o.height,C.radius=.5*Math.max(o.width,o.height),C.centerPos=o.center;let E=this._cesium.Cartographic.fromCartesian(o.center);return C.waterHeight=E.height,this._trackPrimitive(C),C};ey.prototype._trackPrimitive=function(o){this._trackedPrimitives.indexOf(o)<0&&this._trackedPrimitives.push(o)};ey.prototype.destroyWaterPolygonPrimitive=function(o){this._trackedPrimitives.indexOf(o)>=0&&(this._untrackPrimitive(o),this._scene.primitives.contains(o)&&this._scene.primitives.remove(o),this._scene.groundPrimitives.contains(o)&&this._scene.groundPrimitives.remove(o))};ey.prototype._untrackPrimitive=function(o){let A=this._trackedPrimitives.indexOf(o);A!=-1&&this._trackedPrimitives.splice(A,1)};ey.prototype.isDestroyed=function(){return!1};ey.prototype.destroy=function(){return this._disposeListener&&(this._disposeListener(),this._disposeListener=null),this._wTexture&&(this._wTexture.destroy(),this._wTexture=null),this._trackedPrimitives=[],this._cesium.destroyObject(this)};var Not=ey;function Ni(o,A){if(this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._Label=new JD(this._viewer,this._cesium),this._Circle=new Rb(this._viewer,this._cesium),this._Box=new KD(this._viewer,this._cesium),this._Cone=new wI(this._viewer,this._cesium),this._Color=new hn(this._viewer,this._cesium),this._Polyline=new Ip(this._viewer,this._cesium),this._Rectangle=new WD(this._viewer,this._cesium),this._Polygon=new S0(this._viewer,this._cesium),this._ImageLabel=new WP(this._viewer,this._cesium),this._GeoJsonFeatureLayer=new _h(this._viewer,this._cesium,this._ImageryProvidererid),this._Ellipsoid=new qP(this._viewer,this._cesium),this._PointModel=new zB(this._viewer,this._cesium),this._wall=new B3(this._viewer,this._cesium),this._Terrain=new XD(this._viewer,this._cesium),this._createdynamicObject=new Lne(this._viewer,this._cesium),this._GeometryCreator,this._ImageryLayer=new qD(this._viewer,this._cesium),this._VolumeGeoJsonFeatureLayer=void 0,this._PolygonVectorGeoJsonFeatureLayer=void 0,this._skyBox=new Fnt(this._viewer,this._cesium),this._flowField=new Nnt(this._viewer,this._cesium),this._canvasField=new Knt(this._viewer,this._cesium),this.VectorGeoJsonFeatureLayer=new jh(this._viewer,this._cesium),this._straightArrow=new iot(this._viewer,this._cesium),this._SimpleGraphic=new Bne(this._viewer,this._cesium),this._popupmessage=new VB(this._viewer,this._cesium),this._VectorImgFeatureLayer=uot,this._TerrainModifier=new cot(this._viewer,this._cesium),!A.Resource._Implementations.createImageSGS){var f=new Cb({workerPath:window.SmartEarthRootUrl+"/Workers/nullValueRemoveWorker.js"},this._cesium);A.Resource._Implementations.createImageSGS=function(m,C,E){var I=8,x={r:0,g:0,b:0,a:255};if(m.indexOf("nullvalue=")>-1){var y=m.split("nullvalue=")[1].split("&")[0],v=y.split("%2C");x.r=v[0],x.g=v[1],x.b=v[2]}if(m.indexOf("nulltolerance=")>-1)var w=m.split("nulltolerance=")[1].split("&")[0];var Q=new Image,M=document.createElement("canvas"),B=M.getContext("2d");Q.url=m,Q.onload=function(){if(Q.url!=null&&Q.url.indexOf("nullvalue")!=-1){delete Q.url,M.width=Q.width,M.height=Q.height,B.drawImage(Q,0,0),Q.imageProcesses=[];for(var D=Q.width/I,S=Q.height,P=0,R=0;R<I;R++){var T=R*D,L=B.getImageData(T,P,D,S).data;Q.imageProcesses[R]=f.queueWorkItem({nullValue:x,nullTolerance:w,canvasData:L,width:D,height:S,startX:T})}Cesium.when.all(Q.imageProcesses,function(F){for(var U=0;U<F.length;U++){for(var N=B.createImageData(F[U].width,F[U].height),H=0;H<F[U].canvasData.length;H++)N.data[H]=F[U].canvasData[H];B.putImageData(N,F[U].startX,0)}Q.src=M.toDataURL(),E.resolve(Q)}).otherwise(function(F){console.log(F)})}else E.resolve(Q)},Q.onerror=function(D){E.reject(D)},C&&(Cesium.TrustedServers.contains(m)?Q.crossOrigin="use-credentials":Q.crossOrigin=""),Q.src=m}}}Ni.prototype.create3DTilesets=function(o,A,f,m,C,E,I){var x=this._D3Tileset.create3DTilesets(o,A,f,m,C,E,I);return this._D3Tilesets||(this._D3Tilesets=[],this._SE3DTilesets=new Map),this._SE3DTilesets.set(x.treeobj.id,x),this._D3Tilesets.push(x.item),x};Ni.prototype.set3DTilesetsAlpha=function(o){this._D3Tilesets&&this._D3Tilesets.forEach(A=>{o==0?A.style=new this._cesium.Cesium3DTileStyle({show:!1}):o==1?A.style=new this._cesium.Cesium3DTileStyle({show:!0}):A.style=new this._cesium.Cesium3DTileStyle({color:`color('rgba(255,255,255,${o})')`})})};Ni.prototype.createTerrainModifier=function(o,A,f){return this._TerrainModifier.createTerrainModifier(o,A,f)};Ni.prototype.createS3MLayer=function(o,A={},f){return A instanceof this._cesium.Scene&&(A={scene:A}),new Uie({url:o,...A},f,this._cesium)};Ni.prototype.createWaterPolygonLayer=function(o={}){return new mot(this._viewer,this._cesium).createPolygonLayer(o)};Ni.prototype.createWaterPolygon=function(o={}){return new Not(o,this._viewer.scene,this._cesium).createWaterPolygonPrimitive(o)};Ni.prototype.createCloudMap=function(o,A,f,m){var C=new S0(this._viewer,this._cesium);return C.createCloudMap(o,A,f,m)};Ni.prototype.addVideoPolygon=function(o,A){var f=new S0(this._viewer,this._cesium);return f.addVideoPolygon(o,A)};Ni.prototype.addVideoBox=function(o,A){var f=new S0(this._viewer,this._cesium);return f.addVideoPlane(o,A)};Ni.prototype.CZML=function(o,A,f){return new not(this._viewer,this._cesium).addCZML(o,A,f)};Ni.prototype.addHeatMap=function(o,A){return new sot(this._viewer,this._cesium).addHeatMap(o,A)};Ni.prototype.militaryPlotting=function(o,A,f,m){var C=this._straightArrow,E=null;let I,x;f?typeof f=="function"?(I={},x=f):(I=f,x=m):I={};let y=v=>{I.removeEdit&&C.MilitaryStandardObj.pop(),C.defaultEdit(),x&&x(v)};switch(o){case"StraightArrow":var E=C.createStraightArrow(A,I,y);break;case"SwallowtailArrow":var E=C.createSwallowtailArrow(A,I,y);break;case"PincerArrow":var E=C.createPincerArrow(A,I,y);break;case"AttackArrow":var E=C.createAttackArrow(A,I,y);break;case"GatheringPlace":var E=C.createHandlerPolygon(A,I,y);break;case"RoundedRectangle":var E=C.createRoundedRectangle(A,I,y);break;case"Sector":var E=C.createSector(A,I,y);break;case"Bow":var E=C.createBow(A,I,y);break;case"Bezierline":var E=C.createBezierline(I,y);break;case"BezierArrow":var E=C.createBezierArrow(I,y);break;default:break}return E};Ni.prototype.MilitaryCopy=function(o){var A=this._straightArrow,f=A.copyJb(o);return f};Ni.prototype.NightMode=function(o){let A=this._viewer,f=A.imageryLayers.length,m,C;o?(m=.15,C=.15):(m=1,C=1);for(let E=0;E<f;E++)A.imageryLayers.get(E).brightness=m;this._D3Tilesets&&this._D3Tilesets.forEach(E=>{E.imageBasedLightingFactor.x=C,E.imageBasedLightingFactor.y=C}),A.scene.skyAtmosphere.show=!o};Ni.prototype.SaveMilitaryStandard=function(){var o=this._straightArrow;o.save()};Ni.prototype.OpenMilitaryStandard=function(o){var A=this._straightArrow;A.open(o)};Ni.prototype.ClearMilitaryStandard=function(){var o=this._straightArrow;o.clear()};Ni.prototype.getEntityById=function(o){var A=this._straightArrow,f=A.getEntityById(o);return f};Ni.prototype.startModify=function(o){var A=this._straightArrow;A.edit(o)};Ni.prototype.createSimpleGraphic=function(o,A,f){return this._SimpleGraphic.createSimpleGraphic(o,A,f)};Ni.prototype.addSimpleGraphic=function(o,A,f){return this._SimpleGraphic.addSimpleGraphic(o,A,f)};Ni.prototype.GeoWTFS=function(o){return this._TdtLabel||(this._TdtLabel=new pot(this._viewer,this._cesium)),this._TdtLabel.GeoWTFS(o)};Ni.prototype.Video3D=function(o){return new got(this._viewer,this._cesium).Video3D(o)};Ni.prototype.addRotateEffectCircle=function(o){return new JQe(this._viewer,this._cesium).createRotateCircle(o)};Ni.prototype.addTetrahedron=function(o){return new _ot(this._viewer,o,this._cesium)};Ni.prototype.addTrafficLight=function(o){return this._TrafficLight||(this._TrafficLight=new Bot(this._viewer,this._cesium)),this._TrafficLight.add(o)};Ni.prototype.addDRWEffectCircle=function(o){return new JQe(this._viewer,this._cesium).createDRWCircle(o)};Ni.prototype.addEffectCylinder=function(o){return new KQe(this._viewer,this._cesium).createCylinder(o)};Ni.prototype.addEffectCone=function(o){return new KQe(this._viewer,this._cesium).createCone(o)};Ni.prototype.createGeoJsonFeatureLayerProviderOptimization=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.VolumeVectorGeoJsonFeatureLayerOptimization(o,A,f,m,C,E)};Ni.prototype.createGeoJsonFeatureLayerProviderGisOptimization=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.VolumeVectorGeoJsonFeatureLayerGisOptimization(o,A,f,m,C,E)};Ni.prototype.VolumeVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.VolumeVectorGeoJsonFeatureLayerGis(o,A,f,m,C,E)};Ni.prototype.PointVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.PointVectorGeoJsonFeatureLayerGis(o,A,f,m,C,E)};Ni.prototype.PolylineVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.PolylineVectorGeoJsonFeatureLayerGis(o,A,f,m,C,E)};Ni.prototype.createGeoJsonFeatureLayerProviderClassOptimization=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.VolumeVectorGeoJsonFeatureLayerClassOptimization(o,A,f,m,C,E)};Ni.prototype.createVolumeVectorGeoJsonFeatureLayerDthOptimization=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.VolumeVectorGeoJsonFeatureLayerOptimization1(o,A,f,m,C,E)};Ni.prototype.createVolumeVectorGeoJsonFeatureLayerDthOptimizationtest=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVolumeVectorGeoJsonFeatureLayerDthOptimization(o,A,f,m,C,E)};Ni.prototype.VolumeVectorGeoJsonFeatureLayerOptimizationGroundtest=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.VolumeVectorGeoJsonFeatureLayerOptimizationGroundtest(o,A,f,m,C,E)};Ni.prototype.VolumeVectorGeoJsonFeatureLayerOptimizationtest=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.VolumeVectorGeoJsonFeatureLayerOptimizationtest(o,A,f,m,C,E)};Ni.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimization=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVolumeVectorGeoJsonFeatureLayerJCDthOptimization(o,A,f,m,C,E)};Ni.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimizationxp=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVolumeVectorGeoJsonFeatureLayerJCDthOptimizationxp(o,A,f,m,C,E)};Ni.prototype.createHistogramVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createHistogramVectorGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createLaycolorVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createLaycolorVectorGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createVector3DTilesFeatureLayer=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVector3DTilesFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createVector3DTilesFeatureLayerRelease=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVector3DTilesFeatureLayerRelease(o,A,f,m,C,E)};Ni.prototype.createGeojsonImage=function(o){var A=new jh(this._viewer,this._cesium);return A.createGeojsonImage(o)};Ni.prototype.createGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.VectorGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createGeojsonFeatureLayer=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createGeojsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createGeojsonKmlFeatureLayer=function(o,A,f,m,C){var E=new _h(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createGeojsonKmlFeatureLayer(o,A,f,m,C)};Ni.prototype.sfsterrainprovider=function(o,A,f,m,C){var E=new XD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createSFSTerrain(o,A,f,m,C)};Ni.prototype.createWMTSTerrain=function(o,A,f,m,C){var E=new XD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createWMTSTerrain(o,A,f,m,C)};Ni.prototype.sfsterrainprovider71=function(o,A,f,m,C){var E=new XD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createSFSTerrain71(o,A,f,m,C)};Ni.prototype.createTerrain=function(o,A,f,m,C){var E=new XD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createTerrain(o,A,f,m,C)};Ni.prototype.createTerrainLayer=function(o,A,f,m,C,E){var I=new XD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,I.createTerrainLayer(o,A,f,m,C,E)};Ni.prototype.createArcGISTerrain=function(o,A,f,m,C){var E=new XD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createArcGISTerrain(o,A,f,m,C)};Ni.prototype.createCesiumTerrain=function(o,A,f,m){var C=new XD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,C.createCesiumTerrain(o,A,f,m)};Ni.prototype.getFlyData=function(o,A){this._createdynamicObject.getFlyData(o,A)};Ni.prototype.createDynamicObject=function(o,A,f){return this._createdynamicObject.Start(o,A,f)};Ni.prototype.addmodle=function(o){return this._createdynamicObject.addmodle(o)};Ni.prototype.createSatelliteTrail=function(o){return new Aot(this._viewer,this._cesium).createSatelliteTrail(o)};Ni.prototype.executePauseFly3DPaths=function(){return this._createdynamicObject.executePauseFly3DPaths()};Ni.prototype.executePlayForwardFly3DPaths=function(){return this._createdynamicObject.executePlayForwardFly3DPaths()};Ni.prototype.executePlayReverseFly3DPaths=function(){return this._createdynamicObject.executePlayReverseFly3DPaths()};Ni.prototype.executeSignout=function(){return this._createdynamicObject.executeSignout()};Ni.prototype.createLabel=function(o,A,f,m,C){var E=new JD(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createLabel(o,A,f,m,C)};Ni.prototype.createPosition=function(o,A,f){var m=new QQe(this._viewer,this._cesium);return m.createPosition(o,A,f)};Ni.prototype.createLocation=function(o,A,f){return this._Point.createLocation(o,A,f)};Ni.prototype.createPoint=function(o,A,f,m,C,E){return this._Point.createPoint(o,A,f,m,C,E)};Ni.prototype.createLonlat=function(o){return this._Point.createLonlat(o)};Ni.prototype.createDivPoint=function(o,A,f){return new fne(this._viewer,this._cesium).createDivPoint(o,A,f)};Ni.prototype.createRichTextPoint=function(o,A,f,m){return this._Point.createRichTextPoint(o,A,f,m)};Ni.prototype.SkyBox=function(o,A){return this._skyBox.SkyBox(o,A)};Ni.prototype.setSpaceBackground=function(o){return this._skyBox.setSpaceBackground(o)};Ni.prototype.createWindField=function(o,A){return this._flowField.createWindField(o,A)};Ni.prototype.createField=function(o,A){return this._canvasField.createField(o,A)};Ni.prototype.createRoad=function(o={}){return new $nt(this._viewer,this._cesium).createRoad(o)};Ni.prototype.createTrailLinePath=function(o,A,f){return this._trailLine.createPath(o,A,f)};Ni.prototype.createFlyingLine=function(o,A){return this._trailLine.createFlyingLine(o,A)};Ni.prototype.createTrailLineWall=function(o,A){return this._trailLine.createWall(o,A)};Ni.prototype.createTrailLine=function(o,A){return this._trailLine.createLine(o,A)};Ni.prototype.createModel=function(o,A,f,m,C,E){var I=new zB(this._viewer,this._cesium);return I.createModel(o,A,f,m,C,E)};Ni.prototype.createModelEditable=function(o,A,f,m,C,E){var I=new zB(this._viewer,this._cesium);return I.createModelEditable(o,A,f,m,C,E)};Ni.prototype.createPointModel=function(o,A){return this._PointModel.createPointModel(o,A)};Ni.prototype.executePolyline=function(o){var A=new Ip(this._viewer,this._cesium);return A.executePolyline(o)};Ni.prototype.executePolygon=function(o){var A=new S0(this._viewer,this._cesium);return A.executePolygon(o)};Ni.prototype.executeWall=function(o,A){var f=new B3(this._viewer,this._cesium);return f.executeWall(o,A)};Ni.prototype.createWall=function(o,A,f,m){var C=new B3(this._viewer,this._cesium);return C.createWall(o,A,f,m)};Ni.prototype.executePolyline1=function(o){var A=new Ip(this._viewer,this._cesium);return A.executePolyline1(method)};Ni.prototype.createPolylineVolume=function(o,A,f,m,C){var E=new Tne(this._viewer,this._cesium);return E.createPolylineVolume(o,A,f,m,C)};Ni.prototype.createCorridor=function(o,A,f,m){var C=new xnt(this._viewer,this._cesium);return C.createCorridor(o,A,f,m)};Ni.prototype.addViewCone=function(o){return new YJ(this._viewer,this._cesium).addViewCone(o)};Ni.prototype.createViewCone=function(o,A){return new YJ(this._viewer,this._cesium).createViewCone(o,A)};Ni.prototype.createModifyMesh=function(o,A,f,m,C){return this.createModelClipping(m,{type:"polygon",isInner:!0,positions:A})};Ni.prototype.createModelClipping=function(o,A){var f=new rot(this._viewer,this._cesium);return f.addClipping(o,A)};Ni.prototype.createModelModifier=function(o,A,f,m){let C=[];return this._D3Tilesets&&this._D3Tilesets.forEach((E,I)=>{let x=this.createModifyMesh(o,A,f,E,m);C.push(x)}),{remove:()=>{C.forEach((E,I)=>{E.remove()}),C=[]}}};Ni.prototype.createPopupMessage=function(o){var A=new VB(this._viewer,this._cesium);return A.createPopupMessage(o)};Ni.prototype.createMeasurement=function(o){var A=new VB(this._viewer,this._cesium);return A.createMeasurement(o)};Ni.prototype.createPlotting=function(o){var A=new VB(this._viewer,this._cesium);return A.createPlotting(o)};Ni.prototype.createPopupProp=function(o,A){return this._popupmessage.createPopupProp(o,A)};Ni.prototype.createModelLibrary=function(o){return this._popupmessage.createModelLibrary(o)};Ni.prototype.createHawkeye=function(o,A){var f=new tot(this._viewer,this._cesium);return f.createHawkeye(o,A)};Ni.prototype.createGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createGeoJsonFeatureLayer(o,A,f,m,C)};Ni.prototype.createBillboardGeoJsonFeature=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createBillboardGeoJsonFeature(o,A,f,m,C,E)};Ni.prototype.createBillboardPointGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new NJ(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createBillboardPointGeoJsonFeatureLayer(o,A,f,m,C)};Ni.prototype.createKmlLayer=function(o,A,f){var m=new VQe(this._viewer,this._cesium);return m.createKmlLayer(o,A,f)};Ni.prototype.addKmlLayer=function(o,A,f,m){var C=new VQe(this._viewer,this._cesium);return C.addKmlLayer(o,A,f,m)};Ni.prototype.createVolumeVectorGeoJsonFeatureLayerArcgis=function(o,A,f,m,C){var E=new vne(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createVolumeVectorGeoJsonFeatureLayer(o,A,f,m,C)};Ni.prototype.createBillboardGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new NJ(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createBillboardGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Ni.prototype.createPointGeojsonFeatureLayer=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPointGeojsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createModelGeojsonFeatureLayer=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createModelGeojsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createCirclePointGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createCirclePointGeoJsonFeatureLayer(o,A,f,m,C)};Ni.prototype.createModelPointGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createModelPointGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createPrimitivLabelPointGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new II(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createLabelPointGeoJsonFeatureLayer(o,A,f,m,C)};Ni.prototype.createLabelPointGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createLabelPointGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createSXTLabelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new II(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createSXTLabelGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Ni.prototype.createCustomCallbackGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E,I){var x=new II(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createCustomCallbackGeoJsonFeatureLayerProvider(o,A,f,m,C,I,E)};Ni.prototype.createLabelPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new II(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createLabelPolymerizationGeoJsonFeatureLayer(o,A,f,m,C)};Ni.prototype.createPointPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new II(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPointPolymerizationGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createLabelpolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new II(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createLabelpolymerizationGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createLabelpolymerizationGeoJsonFeatureLayers=function(o,A,f,m,C,E){var I=new II(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createLabelpolymerizationGeoJsonFeatureLayers(o,A,f,m,C,E)};Ni.prototype.createStreetscapeGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createStreetscapeGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createPrimitiveLabelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new II(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createLabelGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Ni.prototype.createLabelImageGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new II(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createLabelImageGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Ni.prototype.createLabelImageGeoJsonFeatureLayerProvider1=function(o,A,f,m,C,E){var I=new II(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createLabelImageGeoJsonFeatureLayerProvider1(o,A,f,m,C,E)};Ni.prototype.createLabelRichtextGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new II(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createLabelRichtextGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Ni.prototype.createModelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createModelGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Ni.prototype.createPointGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new jh(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPointGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Ni.prototype.createArcGisImageryLayer=function(o,A,f,m,C,E){var I=new qD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,I.createArcGisImageryLayer(o,A,f,m,C,E)};Ni.prototype.createImageryLayerGrid=function(o){var A=new qD(this._viewer,this._cesium);return A.createImageryLayerGrid(o)};Ni.prototype.createWebMapServerImageLayer=function(o,A,f,m,C,E){var I=new qD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,I.createWebMapServerImageLayer(o,A,f,m,C,E)};Ni.prototype.createWebMapTileServerImageLayer=function(o,A,f,m,C,E){var I=new qD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,I.createWebMapTileServerImageLayer(o,A,f,m,C,E)};Ni.prototype.createUrlTemplateImageryProvider=function(o,A,f,m,C,E){var I=new qD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,I.createUrlTemplateImageryProvider(o,A,f,m,C,E)};Ni.prototype.createCirclePointGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createCirclePointGeoJsonFeatureLayer(o,A,f,m,C)};Ni.prototype.createPolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPolylineGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createPrimitivePolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new I3(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPolylineGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createPrimitiveGroundPolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new I3(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createGroundPolylineGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.exectPointModel=function(o,A,f,m,C,E){var I=new zB(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.exectPointModel(o,A,f,m,C,E)};Ni.prototype.createPolygonModel=function(o,A,f,m,C,E){var I=new zB(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPolygonModel(o,A,f,m,C,E)};Ni.prototype.modelMove=function(){var o=new zB(this._viewer,this._cesium);return o.modelMove()};Ni.prototype.createPrimitivePolylineVectorGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new I3(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPolylineVectorGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Ni.prototype.createPolylineVectorGeoJsonFeatureLayerProviderModel=function(o,A,f,m,C,E){var I=new I3(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPolylineVectorGeoJsonFeatureLayerProviderModel(o,A,f,m,C,E)};Ni.prototype.createpolylineVolumeGeojsonFeatureLayer=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createpolylineVolumeGeojsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createpolylineVolumeGeojsonPrimitiveLayer=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createpolylineVolumeGeojsonPrimitiveLayer(o,A,f,m,C,E)};Ni.prototype.createVolumeGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new rK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createVolumeGeoJsonFeatureLayer(o,A,f,m,C)};Ni.prototype.createVolumeGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new rK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVolumeGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Ni.prototype.createVolumeVectorGeoJsonFeatureLayerOptimizations=function(o,A,f,m,C,E){var I=new rK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVolumeVectorGeoJsonFeatureLayerOptimization(o,A,f,m,C,E)};Ni.prototype.createVolumeVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new rK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVolumeVectorGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createPolygonVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new nK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVolumeVectorGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createVolumeVectorGeoJsonFeatureLayerOptimization=function(o,A,f,m,C,E){var I=new nK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVolumeVectorGeoJsonFeatureLayerOptimization(o,A,f,m,C,E)};Ni.prototype.createVolumeVectorGeoJsonFeatureLayersd=function(o,A,f,m,C,E){var I=new nK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVolumeVectorGeoJsonFeatureLayersd(o,A,f,m,C,E)};Ni.prototype.createWallGeoFeatureLayer=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createWallGeoFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createWallPrimitiveGeoFeatureLayer=function(o,A,f,m,C,E){var I=new kJ(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createWallPrimitiveGeoFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createWallGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new kJ(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createWallGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Ni.prototype.createImageryProvider=function(o,A,f,m,C,E,I){var x=new qD(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createImageryProvider(o,A,f,m,C,E,I)};Ni.prototype.createCacheImageryProvider=function(o,A,f,m,C,E){var I=new qD(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,I.createCacheImageryProvider(o,A,f,m,C,E)};Ni.prototype.createterrainProvider=function(o,A,f,m){return this._TerrainProvider.createterrainProvider(o,A,f,m)};Ni.prototype.createPolylineImageryProviderer=function(o,A,f,m){return this._ImageryLayer.createPolylineImageryProviderer(o,A,f,m)};Ni.prototype.createMVTWithStyle=function(o,A,f,m){return this._ImageryLayer.createMVTWithStyle(o,A,f,m)};Ni.prototype.createPolygonGeoJsonFeatureLayer=function(o,A,f,m,C,E){var I=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPolygonGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createPolygonGeoJsonFeatureLayer1=function(o,A,f,m,C){var E=new YB(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createPolygonGeoJsonFeatureLayer(o,A,f,m,C)};Ni.prototype.createPolygonVectorGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var I=new YB(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPolygonVectorGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Ni.prototype.createVolumeVectorGeoJsonFeatureLayerDth=function(o,A,f,m,C,E){var I=new nK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createVolumeVectorGeoJsonFeatureLayerDth(o,A,f,m,C,E)};Ni.prototype.createPolygonVectorGeoJsonFeatureLayerProviderModel=function(o,A,f,m,C,E){var I=new YB(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPolygonVectorGeoJsonFeatureLayerProviderModel(o,A,f,m,C,E)};Ni.prototype.createPolygonVectorGeoJsonFeatureLayerProviderls=function(o,A,f,m,C,E){var I=new YB(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPolygonVectorGeoJsonFeatureLayerProviderls(o,A,f,m,C,E)};Ni.prototype.createPolygonVectorGeoJsonFeatureLayerProviderlsd=function(o,A,f,m,C,E){var I=new YB(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createPolygonVectorGeoJsonFeatureLayerProviderlsd(o,A,f,m,C,E)};Ni.prototype.createArcgisPolygonVectorGeoJsonFeatureLayerProviderls=function(o,A,f,m,C,E){var I=new YB(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,I.createArcgisPolygonVectorGeoJsonFeatureLayerProviderls(o,A,f,m,C,E)};Ni.prototype.createPolygonVectorFeatureLayerProvider=function(o,A,f,m,C){var E=new YB(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createPolygonVectorFeatureLayerProvider(o,A,f,m,C)};Ni.prototype.createPolygonVectorMonomerFeatureLayerProvider=function(o,A,f,m,C){var E=new YB(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createPolygonVectorMonomerFeatureLayerProvider(o,A,f,m,C)};Ni.prototype.createPolygonMapGeoJsonFeatureLayer=function(o,A,f,m,C,E){return this._MapGeoJsonFeatureLayer.createPolygonMapGeoJsonFeatureLayer(o,A,f,m,C,E)};Ni.prototype.createGeoJsonDataSource=function(o,A,f,m,C){var E=new _h(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createGeoJsonDataSource(o,A,f,m,C)};Ni.prototype.DeleteObject=function(o){if(this._core.isnull(o._viewer)){console.log("obj is null");return}o.deleteObject();for(var A in o)delete o[A];o=void 0};Ni.prototype.createCircle=function(o,A,f,m){var C=new Rb(this._viewer,this._cesium);return C.createCircle(o,A,f,m)};Ni.prototype.CreateRectangle=function(o,A,f,m,C){var E=new WD(this._viewer,this._cesium);return E.CreateRectangle(o,A,f,m,C)};Ni.prototype.createBox=function(o,C,f,m){var C=new KD(this._viewer,this._cesium);return C.createBox(o,C,f,m)};Ni.prototype.createBillboardbatch=function(o){var A=new HQe(this._viewer,this._cesium);return A.createBillboardbatch(o)};Ni.prototype.createBillboard=function(o){var A=new HQe(this._viewer,this._cesium);return A.createBillboard(o)};Ni.prototype.createCone=function(o,A,f,m){var C=new wI(this._viewer,this._cesium);return C.createCone(o,A,f,m)};Ni.prototype.createRectangularSensor=function(o,A,f,m){var C=new wI(this._viewer,this._cesium);return C.createRectangularSensor(o,A,f,m)};Ni.prototype.createRadarMaskScan=function(o,A,f,m){var C=new wI(this._viewer,this._cesium);return C.createRadarMaskScan(o,A,f,m)};Ni.prototype.ConicSensor=function(o,A,f){var m=new Cot(this._viewer,this._cesium);return m.create(o,A,f)};Ni.prototype.FieldIntensity=function(o,A){var f=new Eot(this._viewer,this._cesium);return f.create(o,A)};Ni.prototype.createRadarMask=function(o,A,f,m){var C=new wI(this._viewer,this._cesium);return C.createRadarMask(o,A,f,m)};Ni.prototype.createConeRadar=function(o,A){var f=new wI(this._viewer,this._cesium);return f.createConeRadar(o,A)};Ni.prototype.createColor=function(o,A,f,m){var C=new hn(this._viewer,this._cesium);return C.createColor(o,A,f,m)};Ni.prototype.createPolyline=function(o,A,f,m,C){var E=new Ip(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createPolyline(o,A,f,this._core.isnull(m)?0:m,C)};Ni.prototype.createLink=function(o,A,f){var m=new Ip(this._viewer,this._cesium);return m.createLink(o,A,f)};Ni.prototype.createLinkPro=function(o,A,f){var m=new Ip(this._viewer,this._cesium);return m.createLinkPro(o,A,f)};Ni.prototype.createLandingLine=function(o,A={}){var f=new Ip(this._viewer,this._cesium);return f.createLandingLine(o,A)};Ni.prototype.createLinkPros=function(o){var A=new Ip(this._viewer,this._cesium);return A.createLinkPros(o)};Ni.prototype.createPathLayer=function(o){return this._trailLine.createPathLayer(o)};Ni.prototype.createTrailWallLayer=function(o){return this._trailLine.createWallLayer(o)};Ni.prototype.createPolygon=function(o,A,f,m,C){var E=new S0(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createPolygon(o,A,f,m,C)};Ni.prototype.createSector=function(o,A,f,m,C){var E=new S0(this._viewer,this._cesium);return E.createSector(o,A,f,m,C)};Ni.prototype.executeEllipsoid=function(o,C,f,m){var C=new qP(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,C.createEllipsoid(o,C,f,m)};Ni.prototype.createImageLabel=function(o,A,f,m){var C=new WP(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,C.createImageLabel(o,A,f,m)};Ni.prototype.toHtmlColor=function(o){return this._Color.toHtmlColor(o)};Ni.prototype.CreateLabel=function(o,A,f,m,C,E){var I=new JD(this._viewer,this._cesium);return this._core.isnull(C)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(C=Ke.selectedItem.id),C=this._core.isnull(C)?0:C,I.CreateLabel(o,A,f,m,C,E)};Ni.prototype.CreateImageLabel=function(o,A,f,m,C){var E=new WP(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.CreateImageLabel(o,A,f,m,C)};Ni.prototype.createImage=function(o,A,f,m,C){var E=new WP(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.CreateImageLabel(o,A,f,m,C)};Ni.prototype.CreatePolyline=function(o,A,f,m,C){var E=new Ip(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.CreatePolyline(o,A,f,m,C)};Ni.prototype.CreateCircle=function(o,A,f,m,C,E){var I=new Rb(this._viewer,this._cesium);return this._core.isnull(C)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(C=Ke.selectedItem.id),C=this._core.isnull(C)?0:C,I.CreateCircle(o,A,f,m,C,E)};Ni.prototype.CreateEllipse=function(o,A,f,m,C,E,I,x){var y=new Rb(this._viewer,this._cesium);return this._core.isnull(I)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(I=Ke.selectedItem.id),I=this._core.isnull(I)?0:I,y.CreateEllipse(o,A,f,m,C,E,I,x)};Ni.prototype.CreateBox=function(o,A,f,m,C,E,I,x){var y=new KD(this._viewer,this._cesium);return this._core.isnull(I)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(I=Ke.selectedItem.id),I=this._core.isnull(I)?0:I,y.CreateBox(o,A,f,m,C,E,I,x)};Ni.prototype.CreatePosition=function(o,A,f,m,C,E,I,x){var y=new QQe(this._viewer,this._cesium);return y.CreatePosition(o,A,f,m,C,E,I,x)};Ni.prototype.createColor=function(o,A,f,m){var C=new hn(this._viewer,this._cesium);return C.CreateColor(o,A,f,m)};Ni.prototype.CreateCone=function(o,A,f,m,C,E,I,x){var y=new wI(this._viewer,this._cesium);return this._core.isnull(I)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(I=Ke.selectedItem.id),I=this._core.isnull(I)?0:I,y.CreateCone(o,A,f,m,C,E,I,x)};Ni.prototype.CreateCylinder=function(o,A,f,m,C,E,I,x){var y=new wI(this._viewer,this._cesium);return this._core.isnull(I)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(I=Ke.selectedItem.id),I=this._core.isnull(I)?0:I,y.CreateCylinder(o,A,f,m,C,E,I,x)};Ni.prototype.CreateSphere=function(o,A,f,m,C,E,I,x){var y=new qP(this._viewer,this._cesium);return this._core.isnull(I)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(I=Ke.selectedItem.id),I=this._core.isnull(I)?0:I,y.CreateSphere(o,A,f,m,C,E,I,x)};Ni.prototype.createPointOptimization=function(o,A){var f=new WB(this._viewer,this._cesium);return f.createPointOptimization(o,A)};Ni.prototype.createRectangleOptimization=function(o,A){var f=new WD(this._viewer,this._cesium);return f.createRectangleOptimization(o,A)};Ni.prototype.createCircleOptimization=function(o,A){var f=new Rb(this._viewer,this._cesium);return f.createCircleOptimization(o,A)};Ni.prototype.createCylinderOptimization=function(o,A){var f=new wI(this._viewer,this._cesium);return f.createCylinderOptimization(o,A)};Ni.prototype.createPointOptimization=function(o,A){var f=new WB(this._viewer,this._cesium);return f.createPointOptimization(o,A)};Ni.prototype.CreatePolygonEdit=function(){return this._core.EntityEdit(this._viewer,this._cesium)};Ni.prototype.CreateVectorImageFeatureLayer=function(o,A,f,m,C,E,I){var x=new this._VectorImgFeatureLayer(this._viewer,this._cesium);return this._core.isnull(C)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(C=Ke.selectedItem.id),C=this._core.isnull(C)?0:C,x.CreateVectorImageFeatureLayer(o,A,f,m,C,E,I)};Ni.prototype.CreateWMSImageFeatureLayer=function(o,A,f,m,C,E,I){var x=new this._VectorImgFeatureLayer(this._viewer,this._cesium);return this._core.isnull(C)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(C=Ke.selectedItem.id),C=this._core.isnull(C)?0:C,x.CreateWMSImageFeatureLayer(o,A,f,m,C,E,I)};Ni.prototype.createVolumetricMeasureTool=function(){var o=new Dne(this._viewer,this._cesium);return o};Object.defineProperties(Ni.prototype,{SimpleGraphic:{get:function(){return this._SimpleGraphic}},GeoJsonFeatureLayer:{get:function(){return this._GeoJsonFeatureLayer}},MilitaryPlotting:{get:function(){return this._straightArrow}},_D3Tileset:{get:function(){return new zD(this._viewer,this._cesium)}}});Object.defineProperties(Ni.prototype,{_trailLine:{get:function(){return new Znt(this._viewer,this._cesium)}}});Object.defineProperties(Ni.prototype,{_Point:{get:function(){return new WB(this._viewer,this._cesium)}},GeometryCreator:{CreateLinearRingGeometry:function(o){return{}}}});var zne=Ni;var HQi=null;function kot(o,A){HQi=A,this._viewer=o,this._cesium=A,this._core=new Ji(o,A),this._polyline=void 0,this._polygon=void 0,this._box=new KD(o,A),this._ellipsoid=new qP(o,A),this._rectangle=new WD(o,A),this._circle=new Rb(o,A),this._point=void 0,this._label=new JD(o,A),this._dynamicObject=new Lne(o,A),this._elevationContour=new tne(o,A),this._cone=new wI(o,A)}kot.prototype.execute=function(o,A,f={},m){var C=this._viewer,E=this._cesium;this._point=new WB(C,E),this._polyline=new Ip(C,E),this._polygon=new S0(C,E);var I=this._core,x={polyline:{},positions:[],distance:[]};if(x.setDistance=function(){alert("qq")},o==0&&A==0)return this._polyline.executePolyline(f,m);if(o==4&&A==1)return this._elevationContour.executeContourMaterial(m);if(o==0&&A==1)return this._polygon.executePolygon(f,m);if(o==0&&A==11)return this._polygon.executePolygonvideo(m,f);if(o==1&&A==1)return this._box.executeBox(m);if(o==1&&A==2)return this._cone.executeCone(m);if(o==1&&A==3)return this._cone.executeCylinder(m);if(o==1&&A==4)return this._ellipsoid.executeEllipsoid(m);if(o==1&&A==5)return this._rectangle.createRectangle(f,m);if(o==1&&A==6)return this._circle.executeClircle(m);if(o==1&&A==7)return this._polygon.executeSector(m,f);if(o==1&&A==8)return this._box.executeExcavation(f,m);if(o==1&&A==9)return this._box.executeExcavation(f,m);if(o==1&&A==10)return this._circle.executeClirclews(m);if(o==1&&A==11)return this._point.executePoint(m,f);if(o==1&&A==12)return this._rectangle.createRectangledxkz(m);if(o==0&&A==2)return this._polyline.executeHorizontals(m,f);if(o==0&&A==3)return this._polygon.executePolygoncl(m,f);if(o==0&&A==4)return this._polyline.executeHorizontal(m,f);if(o==0&&A==10)return this._polyline.executePolyline1(m,f);if(o==0&&A==5)return this._polyline.executeHeightTe(m,f);if(o==0&&A==6)return this._polyline.executeAnge(m,f);if(o==0&&A==9)return this._polyline.executeAngeSd(m,f);if(!(o==0&&A==7)){if(o==0&&A==8)return this._polygon.surfaceArea(f,m);if(o==0&&A==12)return this._polyline.executeAngle(m,f);if(o==0&&A==13)this._point.executePointp(m,f);else{if(o==2&&A==0)return this._polyline.executeProfile(f,m);if(o==2&&A==1)return this._polygon.executePolygonym(m);if(o==2&&A==2)return new S0(C,E).executePolygonymsd(f,m);if(o==2&&A==3)return this._dynamicObject.executeFlycesium(m);if(o==2&&A==4)return this._polygon.executePolygonymsdtt(f,m);if(o==2&&A==5)return this._rectangle.createRectanglelbj(f,m);if(o==2&&A==6)return this._polyline.executeProfilePro(f,m);if(o==3&&A==0){if(f!=""&&f!=null){var y=new Date(f),v=E.JulianDate.fromDate(y);C.clock.currentTime=v.clone()}}else if(o==3&&A==1)this._viewer.animation.viewModel.faster();else if(o==3&&A==2)this._viewer.animation.viewModel.slower();else if(o==3&&A==3)this._viewer.animation.viewModel.playForwardViewModel.command();else if(o==3&&A==4)this._viewer.animation.viewModel.playReverseViewModel.command();else if(o==3&&A==5)this._viewer.animation.viewModel.pauseViewModel.command();else if(o==3&&A==6){var w=E.Cartographic.fromCartesian(f),Q=E.Math.toDegrees(w.longitude),M=E.Math.toDegrees(w.latitude),B=w.height,D={lon:Q,lat:M,hei:B};return D}}}};var Uot=kot;function Oot(o,A){this._viewer=o,this._cesium=A,this._execute=new Uot(this._viewer,this._cesium)}Oot.prototype.execute=function(o,A,f,m){return this._execute.execute(o,A,f,m)};var Got=Oot;function WQe(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}WQe.prototype.deleteItem=function(o){Ke.delete(o,this._viewer,this._cesium)};WQe.prototype.testTreeSource=function(){console.log(this._tree)};var Hot=WQe;function Vot(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}Vot.prototype.findItem=function(o){var A=[],f="",m=Ii.clone(this._tree);A=o.split("\\");for(var C=0;C<A.length;C++)if(m=Ke.getSourceByName(m,A[C]),C==A.length-1)if(m){f=m.id;break}else f="";else if(m)m=m.children;else{f="",m=null;break}return f};var zot=Vot;function Yot(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}Yot.prototype.getItemName=function(o){var A=Ke.getSourceById(this._tree,o);return A?A.name:""};var Jot=Yot;function Kot(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}Kot.prototype.getVisibility=function(o){var A=A=Ke.getSourceById(this._tree,o);if(A)return A.item.getVisibility()};var Wot=Kot;function qot(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}qot.prototype.setVisibility=function(o,A){Ke.setVisibility(o,A,this._viewer,this._cesium)};var jot=qot;function Xot(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}Xot.prototype.rename=function(o,A){var f=Ke.getSourceById(this._tree,o);f&&(f.name=A);var m=Ke.getTempSourceById(o);m&&(m.name=A)};var Zot=Xot;function $ot(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}$ot.prototype.getNextItem=function(o,A){};var eat=$ot;var VQi={none:-1,point:0,polyline:1,polygon:2,label:3,imageLabel:4,position:5,imageLayer:6,dynamicObject:7,D3titles:8,box:9,circle:10,cone:11,pointfeaturelayer:12,polylinefeaturelayer:13,polygonfeaturelayer:14,pointmodel:15,rectangle:16,ellipsoid:17,wall:18,polylinevolume:19},$h=Object.freeze(VQi);function oG(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource(),this._treeSource=Ke.Source,this._treeTemp=Ke.getTempSource(),this._tree1=Ke,this._core=new Ji(o,A)}oG.prototype.getObject=function(o){var A=Ii.clone(this._tree),f=Ke.getSourceById(A,o);if(f)return f.item;var m=Ii.clone(Ke.PointSelectSource),C=Ke.getPointSelectSourceById(m,o);return C?C.item:void 0};oG.prototype.getTreeItem=function(o){var A=Ii.clone(this._tree),f=Ke.getSourceById(A,o);if(f)return f;for(var m=this._viewer.dataSources,C=0;C<m.length;C++){var E=m.get(C).entities.getById(o);if(E){if(E.point&&(E.point.show==null||E.point.show._value)){var I=new WB(this._viewer,this._cesium);I.setItem(E);var x={id:this._core.getuid(),name:"",pId:0,type:"point",item:I};return Ke.pusPointSelectSource(x),x}else if(E.label&&(E.label.show==null||E.label.show._value)){var I=new JD(this._viewer,this._cesium);I.setItem(E);var x={id:this._core.getuid(),name:"",pId:0,type:"label",item:I};return Ke.pusPointSelectSource(x),x}else if(E.box&&(E.box.show==null||E.box.show._value)){var y=new KD(this._viewer,this._cesium);y.setItem(E);var x={id:this._core.getuid(),name:"",pId:0,type:"box",item:y};return Ke.pusPointSelectSource(x),x}else if(E.model&&(E.model.show==null||E.model.show._value)){var I=new model(this._viewer,this._cesium);I.setItem(E);var x={id:this._core.getuid(),name:"",pId:0,type:"model",item:I};return Ke.pusPointSelectSource(x),x}else if(E.wall&&(E.wall.show==null||E.wall.show._value)){var v=new B3(this._viewer,this._cesium);v.setItem(E);var x={id:this._core.getuid(),name:"",pId:0,type:"wall",item:v};return Ke.pusPointSelectSource(x),x}else if(E.polyline){var w=new Ip(this._viewer,this._cesium);w.setItem(E);var x={id:this._core.getuid(),name:"",pId:0,type:"polyline",item:w};return Ke.pusPointSelectSource(x),x}else if(E.polygon){var Q=new S0(this._viewer,this._cesium);Q.setItem(E);var x={id:this._core.getuid(),name:"",pId:0,type:"polygon",item:Q};return Ke.pusPointSelectSource(x),x}else if(E.rectangle){var M=new WD(this._viewer,this._cesium);M.setItem(E);var x={id:this._core.getuid(),name:"",pId:0,type:"rectangle",item:M};return Ke.pusPointSelectSource(x),x}else if(E.billboard&&(E.billboard.show==null||E.billboard.show._value)){var I=new WP(this._viewer,this._cesium);I.setItem(E);var x={id:this._core.getuid(),name:"",pId:0,type:"billboard",item:I};return Ke.pusPointSelectSource(x),x}}}};oG.prototype.updateItemId=function(o,A){var m=this._treeSource,C=Ke.getSourceById(m,o);if(C&&(C.id=A,C.type=="group"&&C.children&&C.children.length>0))for(var f=0;f<C.children.length;f++)C.children[f].pId=A;var m=this._treeTemp,C=Ke.getSourceById(m,o);if(C&&(C.id=A,C.type=="group"&&C.children&&C.children.length>0))for(var f=0;f<C.children.length;f++)C.children[f].pId=A};oG.prototype.unifiedProject=function(o,A){for(var f=0;f<A.length;f++)A[f].id=o[f].id,A[f].pId=A[f].pId,A[f].children&&A[f].children.length>0&&this.unifiedProject(o[f].children,A[f].children)};oG.prototype.insertProjectTree=function(o,A,f,m,C){var E=!0;if(this._core.isnull(A)&&(A=this._core.getuid()),C==!1?E=!1:E=!0,$h.none==f){var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"unknown",item:null};Ke.insertGroupId(I,o)}else if($h.position==f){var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"unknown",item:null};Ke.insertGroupId(I,o)}else if($h.imageLayer==f){var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,checked:E,type:"unknown",item:null};Ke.insertGroupId(I,o)}else if($h.dynamicObject==f){var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"unknown",item:null};Ke.insertGroupId(I,o)}else if($h.point==f){var x=new WB(this._viewer,this._cesium);x.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"point",item:x};x.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.polyline==f){var y=new Ip(this._viewer,this._cesium);y.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"polyline",item:y};y.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.rectangle==f){var v=new WD(this._viewer,this._cesium);v.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"rectangle",item:v};v.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.ellipsoid==f){var w=new qP(this._viewer,this._cesium);w.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"ellipsoid",item:w};w.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.polygon==f){var Q=new S0(this._viewer,this._cesium);m._entity?(Q.setItem(m._entity),Q._points=m._points):Q.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"polygon",item:Q};Q.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.wall==f){var M=new B3(this._viewer,this._cesium);M.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"wall",item:M};M.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.polylinevolume==f){var B=new Tne(this._viewer,this._cesium);B.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"polylinevolume",item:B};B.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.pointmodel==f){var D=new zB(this._viewer,this._cesium);D.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"pointmodel",item:D};D.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.label==f){var x=new JD(this._viewer,this._cesium);x.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"label",item:x};x.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.imageLabel==f){var x=new WP(this._viewer,this._cesium);x.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,checked:E,type:"billboard",item:x};x.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.D3titles==f){var S=new zD(this._viewer,this._cesium);S.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"3DTilesets",item:S};S.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.box==f){var P=new KD(this._viewer,this._cesium);P.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"box",item:P};P.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.circle==f){var R=new Rb(this._viewer,this._cesium);R.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"circle",item:R};R.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.cone==f){var T=new wI(this._viewer,this._cesium);T.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"cylinder",item:T};T.setTreeobj(I),Ke.insertGroupId(I,o)}else if($h.pointfeaturelayer==f){var L=new _h(this._viewer,this._cesium);L.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"pointLayer",item:L};Ke.insertGroupId(I,o)}else if($h.pointfeaturelayer==f){var L=new _h(this._viewer,this._cesium);L.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"polylineLayer",item:L};Ke.insertGroupId(I,o)}else if($h.polygonfeaturelayer==f){var L=new _h(this._viewer,this._cesium);L.setItem(m);var I={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"polygonLayer",item:L};Ke.insertGroupId(I,o)}return I};var tat=oG;function iat(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}iat.prototype.isGroup=function(o){var A=Ii.clone(this._tree),f=Ke.getSourceById(A,o);return!!(f&&f.type=="group")};var rat=iat;function qQe(o,A){this._viewer=o,this._cesium=A}qQe.prototype.exportMethod=function(o){for(var A=[],f=0;f<o.length;f++)if(typeof o[f].item.export=="function"){var m=o[f].item.export();if(A.push(m),o[f].children&&o[f].children.length){var C=this.exportMethod(o[f].children);A.push(C)}}return A};qQe.prototype.export=function(){var o=this.exportMethod(Ke.Source);return o};var nat=qQe;function ou(o,A,f){this._viewer=o,this._cesium=A,this._tree=Ke.Source,this._createGroup=new E3(this._viewer,this._cesium,this._tree),this._deleteItem=new Hot(this._viewer,this._cesium,this._tree),this._findItem=new zot(this._viewer,this._cesium,this._tree),this._getItemName=new Jot(this._viewer,this._cesium,this._tree),this._getVisibility=new Wot(this._viewer,this._cesium,this._tree),this._setVisibility=new jot(this._viewer,this._cesium,this._tree),this._renameGroup=new Zot(this._viewer,this._cesium,this._tree),this._getNextItem=new eat(this._viewer,this._cesium,this._tree),this._isGroup=new rat(this._viewer,this._cesium,this._tree),this._creator=new zne(this._viewer,this._cesium),this._getObject=new tat(this._viewer,this._cesium),this._exportTree=new nat(this._viewer,this._cesium),this._core=new Ji(o,A),this.InitTree(f,0),this.InitRootImageLayerAndTerrainlayer()}ou.prototype.export=function(){var o=this._exportTree.export(),A=new Blob([JSON.stringify(o)],{type:""});return this._core.saveAs(A,"tree.json"),o};ou.prototype.createGroup=function(o,A,f){return this._createGroup=new E3(this._viewer,this._cesium),this._createGroup.createGroup(o,A,f)};ou.prototype.changeGroup=function(o,A){this._createGroup.changeGroup(o,A)};ou.prototype.starttemporaryItem=function(){return this._createGroup.starttemporaryItem()};ou.prototype.pushtemporaryItem=function(o){this._createGroup.pushtemporaryItem(o)};ou.prototype.pushStateItem=function(o){this._createGroup.pushStateItem(o)};ou.prototype.endtemporaryItem=function(){this._createGroup.endtemporaryItem()};ou.prototype.deleteItem=function(o){return this._deleteItem.deleteItem(o)};ou.prototype.findItem=function(o){return this._findItem.findItem(o)};ou.prototype.getItemName=function(o){return this._getItemName.getItemName(o)};ou.prototype.getObject=function(o){return this._getObject.getObject(o)};ou.prototype.getTreeItem=function(o){return this._getObject.getTreeItem(o)};ou.prototype.updateItemId=function(o,A){return this._getObject.updateItemId(o,A)};ou.prototype.getVisibility=function(o){return this._getVisibility.getVisibility(o)};ou.prototype.setVisibility=function(o,A){return this._setVisibility.setVisibility(o,A)};ou.prototype.removeAll=function(o){let A=[];this._viewer.entities.values.forEach(f=>{f.objectType===o&&A.push(f)}),A.forEach(f=>{this._viewer.entities.remove(f)}),A=null};ou.prototype.setVisibilityAll=function(o,A){this._viewer.entities.values.forEach(f=>{f.objectType===o&&(f.show=A)})};ou.prototype.rename=function(o,A){return this._renameGroup.rename(o,A)};ou.prototype.getNextItem=function(o,A){return this._getNextItem.getNextItem(o)};ou.prototype.isGroup=function(o){return this._isGroup.isGroup(o)};Object.defineProperties(ou.prototype,{exitsObjectType:{get:function(){return $h}}});ou.prototype.insertProjectTree=function(o,A,f,m,C,E){return this._core.isnull(o)&&!this._core.isnull(this._tree.selectedItem)&&this._tree.selectedItem.type=="group"&&(o=this._tree.selectedItem.id),o=this._core.isnull(o)?0:o,this._core.isnull(A)||(o=this.createGroup(A,!0,o)),this._getObject.insertProjectTree(o,f,m,C,E)};ou.prototype.exitsGroup=function(o,A){return Ke.exitsGroup(o,A)};ou.prototype.getTreeSource=function(){var o=Ii.cloneDeep(Ke.getSource());return Ke.removeItem(o)};ou.prototype.unifiedProject=function(o,A){this._getObject.unifiedProject(o,A)};ou.prototype.clearn=function(){Ke.clearn()};Object.defineProperties(ou.prototype,{Source:{get:function(){return Ke.TempSource}}});Object.defineProperties(ou.prototype,{currentObj:{get:function(){return Ke.currentObj}}});ou.prototype.InitTree=function(o,A){if(o&&o.length)for(var f=0;f<o.length;f++){var m=o[f];switch(m.type){case"group":var C=this.createGroup(m.name,A);m.children&&m.children.length&&this.InitTree(m.children,C);break;case"label":this._creator.createLabel(m.position,m.text,m.option,A,m.description);break;case"imgLabel":this._creator.createImageLabel(m.position,m.imageLabel,A,m.description);break;case"polygon":this._creator.createPolygon(m.geometry,m.lineColor,m.altitudeType,A,m.description);break;case"polyline":this._creator.createPolyline(m.geometry,m.lineColor,m.altitudeType,A,m.description);break;case"box":this._creator.createBox(m.position,m.box,m.name,A,m.description);break;case"circle":this._creator.createCircle(m.position,m.circle,m.name,A,m.description);break;case"cone":this._creator.createCone(m.position,m.cylinder,m.name,m.description);break;default:break}}};ou.prototype.InitRootImageLayerAndTerrainlayer=function(){};Object.defineProperties(ou.prototype,{selectedItem:{get:function(){return Ke.selectedItem},set:function(o){Ke.selectedItem=o}}});var oat=ou;var zQi={L_Click:"OnLButtonClk",L_DBL_Click:"OnLButtonDblClk",L_Down:"OnLButtonDown",L_Up:"OnLButtonUp",M_Click:"OnMButtonClk",M_Down:"OnMButtonDown",M_Up:"OnMButtonUp",R_Click:"OnRButtonClk",R_Down:"OnRButtonDown",R_Up:"OnRButtonUp",Move:"OnFrame",Wheel:"OnMouseWheel"},nh=Object.freeze(zQi);function SI(o,A){this._viewer=o,this._cesium=A,this._Core=new Ji(o,A)}SI.prototype.AttachEvent=function(o,A){var f=this._viewer,m=this._Core,m=this._Core;if(o===nh.L_Click){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){let x=f.scene.pickPosition(I.position),y;x&&(y=m.toDegrees(x)),typeof A=="function"&&A(I,y)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),E}else if(o===nh.L_DBL_Click){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(y){let v=f.scene.pickPosition(y.position),w;v&&(w=m.toDegrees(v)),typeof A=="function"&&A(y,w)},this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),E}else if(o===nh.L_Down){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(y){let v=f.scene.pickPosition(y.position),w;v&&(w=m.toDegrees(v)),typeof A=="function"&&A(y,w)},this._cesium.ScreenSpaceEventType.LEFT_DOWN),E}else if(o===nh.L_Up){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(y){let v=f.scene.pickPosition(y.position),w;v&&(w=m.toDegrees(v)),typeof A=="function"&&A(y,w)},this._cesium.ScreenSpaceEventType.LEFT_UP),E}else if(o===nh.M_Click){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(y){let v=f.scene.pickPosition(y.position),w;v&&(w=m.toDegrees(v)),typeof A=="function"&&A(y,w)},this._cesium.ScreenSpaceEventType.MIDDLE_CLICK),E}else if(o===nh.M_Down){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(y){let v=f.scene.pickPosition(y.position),w;v&&(w=m.toDegrees(v)),typeof A=="function"&&A(y,w)},this._cesium.ScreenSpaceEventType.MIDDLE_DOWN),E}else if(o===nh.M_Up){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(y){let v=f.scene.pickPosition(y.position),w;v&&(w=m.toDegrees(v)),typeof A=="function"&&A(y,w)},this._cesium.ScreenSpaceEventType.MIDDLE_UP),E}else if(o===nh.R_Click){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(y){let v=f.scene.pickPosition(y.position),w;v&&(w=m.toDegrees(v)),typeof A=="function"&&A(y,w)},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),E}else if(o===nh.R_Down){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(y){let v=f.scene.pickPosition(y.position),w;v&&(w=m.toDegrees(v)),typeof A=="function"&&A(y,w)},this._cesium.ScreenSpaceEventType.RIGHT_DOWN),E}else if(o===nh.R_Up){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(y){let v=f.scene.pickPosition(y.position),w;v&&(w=m.toDegrees(v)),typeof A=="function"&&A(y,w)},this._cesium.ScreenSpaceEventType.RIGHT_UP),E}else if(o===nh.Wheel){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(y){typeof A=="function"&&A(y)},this._cesium.ScreenSpaceEventType.WHEEL),E}else if(o===nh.Move){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(y){typeof A=="function"&&A(y)},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),E}};SI.prototype.AttachOnLButtonDblClkEvent=function(o){var A=this._viewer.scene,f=this._viewer,m=this._Core,C=new this._cesium.ScreenSpaceEventHandler(A.canvas);return C.setInputAction(function(E){let I=f.scene.pickPosition(E.position),x;I&&(x=m.toDegrees(I)),typeof o=="function"&&o(click,x)},this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),C};SI.prototype.AttachOnLButtonDownEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let I=A.scene.pickPosition(E.position),x;I&&(x=f.toDegrees(I)),typeof o=="function"&&o(click,x)},this._cesium.ScreenSpaceEventType.LEFT_DOWN),C};SI.prototype.AttachOnLButtonUpEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let I=A.scene.pickPosition(E.position),x;I&&(x=f.toDegrees(I)),typeof o=="function"&&o(click,x)},this._cesium.ScreenSpaceEventType.LEFT_UP),C};SI.prototype.AttachOnMButtonDblClkEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let I=A.scene.pickPosition(E.position),x;I&&(x=f.toDegrees(I)),typeof o=="function"&&o(click,x)},this._cesium.ScreenSpaceEventType.MIDDLE_CLICK),C};SI.prototype.AttachOnMButtonDownEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let I=A.scene.pickPosition(E.position),x;I&&(x=f.toDegrees(I)),typeof o=="function"&&o(click,x)},this._cesium.ScreenSpaceEventType.MIDDLE_DOWN),C};SI.prototype.AttachOnMButtonUpEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let I=A.scene.pickPosition(E.position),x;I&&(x=f.toDegrees(I)),typeof o=="function"&&o(click,x)},this._cesium.ScreenSpaceEventType.MIDDLE_UP),C};SI.prototype.AttachOnMouseWheelEvent=function(o){var A=this._viewer.scene,f=new this._cesium.ScreenSpaceEventHandler(A.canvas);return f.setInputAction(function(m){typeof o=="function"&&o(m)},this._cesium.ScreenSpaceEventType.WHEEL),f};SI.prototype.AttachOnFrameEvent=function(o){var A=this._viewer.scene,f=new this._cesium.ScreenSpaceEventHandler(A.canvas);return f.setInputAction(function(m){typeof o=="function"&&o(m)},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),f};SI.prototype.AttachOnRButtonDownEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let I=A.scene.pickPosition(E.position),x;I&&(x=f.toDegrees(I)),typeof o=="function"&&o(click,x)},this._cesium.ScreenSpaceEventType.RIGHT_DOWN),C};SI.prototype.AttachOnRButtonUpEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let I=A.scene.pickPosition(E.position),x;I&&(x=f.toDegrees(I)),typeof o=="function"&&o(click,x)},this._cesium.ScreenSpaceEventType.RIGHT_UP),C};SI.prototype.AttachCameraChangeEvent=function(o){return this._viewer.scene.camera.percentageChanged=1e-6,this._viewer.scene.camera.changed.addEventListener(o),o};SI.prototype.CameraMoveEndEvent=function(o){var A=this._viewer,f=!1;function m(){f=!0}function C(){f&&(o&&o(),A.scene.camera.moveStart.removeEventListener(m),A.scene.camera.moveEnd.removeEventListener(C))}setTimeout(function(){A.scene.camera.moveStart.addEventListener(m),A.scene.camera.moveEnd.addEventListener(C)},0)};var DI=SI;function uK(o,A){this._viewer=o,this._cesium=A}uK.prototype.DetachEvent=function(o,A){A===nh.L_Click?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_CLICK):A===nh.L_DBL_Click?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK):A===nh.L_Down?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_DOWN):A===nh.L_Up?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_UP):A===nh.M_Click?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.MIDDLE_CLICK):A===nh.M_Down?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.MIDDLE_DOWN):A===nh.M_Up?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.MIDDLE_UP):A===nh.R_Click?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.RIGHT_CLICK):A===nh.R_Down?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.RIGHT_DOWN):A===nh.R_Up?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.RIGHT_UP):A===nh.Wheel?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.WHEEL):A===nh.Move?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.MOUSE_MOVE):o&&o.destroy()};uK.prototype.DetachEventAll=function(o){o&&(o.destroy(),o=null)};uK.prototype.RemoNormalCesiumLeftDoubleClick=function(){this._viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK)};uK.prototype.DetachCameraChangeEvent=function(o){this._viewer.scene.camera.percentageChanged=.5,this._viewer.scene.camera.changed.removeEventListener(o)};var cK=uK;var YQi=function(o){if(!o.extensionsUsed||!o.extensionsRequired)return;let A=o.extensionsUsed.indexOf("KHR_technique_webgl"),f=o.extensionsRequired.indexOf("KHR_technique_webgl");if(A!==-1){o.extensionsRequired.splice(f,1,"KHR_techniques_webgl"),o.extensionsUsed.splice(A,1,"KHR_techniques_webgl"),o.extensions=o.extensions||{},o.extensions.KHR_techniques_webgl={},o.extensions.KHR_techniques_webgl.programs=o.programs,o.extensions.KHR_techniques_webgl.shaders=o.shaders,o.extensions.KHR_techniques_webgl.techniques=o.techniques;let m=o.extensions.KHR_techniques_webgl.techniques;o.materials.forEach(function(C,E){o.materials[E].extensions.KHR_technique_webgl.values=o.materials[E].values,o.materials[E].extensions.KHR_techniques_webgl=o.materials[E].extensions.KHR_technique_webgl;let I=o.materials[E].extensions.KHR_techniques_webgl;for(let x in I.values){let y=m[I.technique].uniforms;for(let v in y)if(y[v]===x){I.values[v]=I.values[x],delete I.values[x];break}}}),m.forEach(function(C){for(let E in C.attributes){let I=C.attributes[E];C.attributes[E]=C.parameters[I]}for(let E in C.uniforms){let I=C.uniforms[E];C.uniforms[E]=C.parameters[I]}})}},Jne=typeof window<"u"?window:typeof self<"u"?self:{},Yne=setTimeout(()=>{Yne=void 0,Jne.logSmartEarth&&Jne.logSmartEarth()},1e4);function dc(o,A={},f,m,C){if(this._core=new Ji(null,er),this._cesium=er,Yne&&(clearTimeout(Yne),Yne=void 0,A.VERSION!==!1&&Jne.logSmartEarth&&Jne.logSmartEarth()),this.G=65535,f=ae(f,ae.EMPTY_OBJECT),k(A.StaticFileBaseUrl)?globalThis.GEOWORLD_BASE_URL=A.StaticFileBaseUrl:globalThis.GEOWORLD_BASE_URL="./WebSDK/",globalThis.SmartEarthRootUrl=globalThis.GEOWORLD_BASE_URL,q$e(),A.toolbar=!1,A.baseLayerPicker=!1,A.shadows=!1,A.skyAtmosphere=new SY,A.terrainShadows=_s.ENABLED,A.animation=!0,A.shouldAnimate=!0,A.fullscreenButton=!1,A.geocoder=!1,A.homeButton=!1,A.infoBox=!1,A.selectionIndicator=!1,A.timeline=ae(A.timeline,!1),A.navigationHelpButton=!1,A.imageryProviderViewModels=[],A.terrainProviderViewModels=[],A.contextOptions={licenseServer:A.licenseServer,requestWebgl2:!0,webgl:{preserveDrawingBuffer:!0},failIfMajorPerformanceCaveat:!1,ellipsoidCoordinates:A.ellipsoidCoordinates},A.navigation=!0,A.disableRightClickMenu=!0,typeof A=="string"?A.imageryProvider=new Bv({url:A}):(A.url&&(A.imageryProvider=new Bv({url:A.url})),this._core.extend(A,A,!0)),A.baseLayerPicker){let y=this.getAllImageryView();if(A.basemaps)A.basemaps.forEach(v=>{A.imageryProviderViewModels.push(y[v])});else for(let v in y)A.imageryProviderViewModels.push(y[v])}else A.imageryProvider||(A.imageryProvider=new Bv({url:`${globalThis.GEOWORLD_BASE_URL}Workers/image/earth.jpg`}));let E={destination:Z.fromDegrees(A.x?A.x:106.69608,A.y?A.y:40.05164,A.z?A.z:2505283065e-2),orientation:{heading:De.toRadians(this._core.defaultValue(A.heading,0)),pitch:De.toRadians(this._core.defaultValue(A.pitch,-90)),roll:De.toRadians(this._core.defaultValue(A.roll,0))},duration:A.duration||1};if(A.removeGlobe&&(A.skyBox=!1,A.skyAtmosphere=!1,A.contextOptions={licenseServer:A.licenseServer,requestWebgl2:!0,failIfMajorPerformanceCaveat:!1,webgl:{alpha:!0,preserveDrawingBuffer:!0}}),this._Viewer=new Die(o,A),this._tree=m,this._Viewer.scene.globe.baseColor=qe.WHITE,this._Viewer.shadowMap.size=2048,this._Viewer._cesiumWidget._creditContainer.style.display="none",this._Viewer.terrainShadows=_s.ENABLED,this._AttachEvent=void 0,this._DetachEvent=void 0,this._Analysis=void 0,this._Navigate=void 0,this._Creator=void 0,this._Command=void 0,this._ProjectTree=void 0,this._Coordinate=void 0,this._VectorTileProvider=void 0,this.toolbar=A.toolbar,A.removeGlobe){this._Viewer.imageryLayers.removeAll(),this._Viewer.shadows=!1,this._Viewer.scene.fog.enabled=!1,this._Viewer.scene.globe.show=!1;let y="rgba(0,0,0,0)";this._Viewer.scene.backgroundColor=qe.fromCssColorString(y),this._Viewer.scene.light=new rie({direction:new Z(1,-.9,-.9)}),A.backgroundImage&&(this._Viewer.container.style.backgroundImage=`url(${A.backgroundImage})`)}else this._Viewer.scene.globe.depthTestAgainstTerrain=!0;if(this.coreMap=this._Viewer,this._environment=new d1e(this),this._infoBar=new itt(this),this._camera=new Mwe(this),this._measure=new i1e(this),this._shapeTool=new uet(this),this._editTool=new a1e(this),this._factory=new LD(this),this._tools=new Swe(this),this._edit=new rbe(this),this._analysis=new vbe(this),this._userScene=new z1e(this,f),this._view=new Ott(this),this._bim=void 0,this._MilitaryPlotting=new Dbe(this),A.maxViewHeight&&(this._Viewer.scene.screenSpaceCameraController.maximumZoomDistance=A.maxViewHeight),A.minViewHeight||A.maxViewPitch){this.minViewHeight=A.minViewHeight,this.maxViewPitch=A.maxViewPitch&&De.toRadians(A.maxViewPitch);let y=0,v=this._Viewer.scene,w=!1;if(this.maxViewPitch){let Q=new pr(this._Viewer.scene.canvas);Q.setInputAction(()=>{w=!0},_i.MIDDLE_DOWN),Q.setInputAction(()=>{w=!1},_i.MIDDLE_UP),Q.setInputAction(()=>{w=!0},_i.RIGHT_DOWN),Q.setInputAction(()=>{w=!1},_i.RIGHT_UP)}this._Viewer.scene.preRender.addEventListener(()=>{let Q=this._Viewer.camera;if(!(!Q||!Q.positionCartographic)){if(this.maxViewPitch){let M=Q.pitch;w&&M>this.maxViewPitch?(M=this.maxViewPitch,Q.setView({destination:this.oldPosition||Q.position.clone(),orientation:{heading:Q.heading,pitch:M,roll:0}})):this.oldPosition=Q.position.clone()}if(this.minViewHeight){y=v.globe.getHeight(Q.positionCartographic)||y;let B,D,S=Q.positionCartographic.height-y;this._Viewer.scene.globe.translucency.enabled||this._Analysis&&(this._Analysis._UndergroundMode&&this._Analysis._UndergroundMode.isUndergroundMode||this._Analysis._StreetView&&this._Analysis._StreetView.isStreetView)?(B=Q.positionCartographic.height<-200,D=-200):(B=S<this.minViewHeight,D=y+this.minViewHeight);let P=Q.pitch<0?Q.pitch:0;B?Q.setView({destination:this.oldPosition||Z.fromRadians(Q.positionCartographic.longitude,Q.positionCartographic.latitude,D),orientation:{heading:Q.heading,pitch:P,roll:0}}):this.oldPosition=Q.position.clone()}}})}let I={};Ms.DEFAULT_VIEW_RECTANGLE=hi.fromDegrees(79,0,130,60),A.navigationOption=ae(A.navigationOption,ae.EMPTY_OBJECT),I.defaultResetView=ae(A.navigationOption.defaultResetView,Ms.DEFAULT_VIEW_RECTANGLE),I.enableCompass=ae(A.navigationOption.enableCompass,!0),I.enableZoomControls=ae(A.navigationOption.enableZoomControls,!0),I.enableDistanceLegend=ae(A.navigationOption.enableDistanceLegend,!0),I.enableCompassOuterRing=ae(A.navigationOption.enableCompassOuterRing,!0),this._Viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),this._Viewer.extend(this._cesium.viewerCesiumNavigationMixin,I),this.Navigate.flyToPointsInterest(E,C),rtt.parse(this,f),A.mouseDownView&&this.mouseDownView(!0),Object.defineProperties(yv.prototype,{_cachedGltf:{configurable:!0,set:function(y){this._vtxf_cachedGltf=y,this._vtxf_cachedGltf&&this._vtxf_cachedGltf._gltf&&YQi(this._vtxf_cachedGltf._gltf)},get:function(){return this._vtxf_cachedGltf}}}),A.disableRightClickMenu&&(document.oncontextmenu=function(){return!1});let x=function(y){if(y.cesiumWidget._supportsImageRenderingPixelated&&window&&window.devicePixelRatio){let w=window.devicePixelRatio;for(;w>=2;)w/=2;y.resolutionScale=w}};mD.prototype.getRenderedBestLevelInfo=function(){let y=this.getRenderedLevelInfo(),v=0;for(let w in y)v<Number(w)&&(v=Number(w));return{bestLevel:v,count:y[v]}},mD.prototype.getRenderedLevelInfo=function(){let y=[];return this._tilesToRender.forEach(function(v){y[v.level]===void 0&&(y[v.level]=0,y[v.level]++)}),y},this.coreMap.camera.setView({destination:Ms.DEFAULT_VIEW_RECTANGLE})}Object.defineProperties(dc.prototype,{environment:{get:function(){return this._environment}},entities:{get:function(){return this._Viewer.dataSourceDisplay.defaultDataSource.entities}},primitives:{get:function(){return this.coreMap.scene.primitives}},imageryLayers:{get:function(){return this.coreMap.imageryLayers}},view:{get:function(){return this._view}},terrainProvider:{get:function(){return this.coreMap.terrainProvider}},dataSources:{get:function(){return this._Viewer.dataSources}},camera:{get:function(){return this._camera}},measure:{get:function(){return this._measure}},shapeTool:{get:function(){return this._shapeTool}},editTool:{get:function(){return this._editTool}},edit:{get:function(){return this._edit}},analysis:{get:function(){return this._analysis}},factory:{get:function(){return this._factory}},userScene:{get:function(){return this._userScene}},tools:{get:function(){return this._tools}},hdr:{get:function(){return this.coreMap.scene.highDynamicRange},set:function(o){this.coreMap.scene.highDynamicRange=o}},sunGlowFactor:{set:function(o){this.coreMap.scene.sun.glowFactor=o},get:function(){return this.coreMap.scene.sun.glowFactor}},shadows:{get:function(){return this.coreMap.scene.shadowMap.enabled},set:function(o){this.coreMap.scene.shadowMap.enabled=o}},terrainShadows:{get:function(){return this.coreMap.scene.globe.shadows},set:function(o){this.coreMap.scene.globe.shadows=o}},shadowMap:{get:function(){return this.coreMap.scene.shadowMap}},shadowMapList:{get:function(){return this.coreMap.scene.shadowMapList}},textureProjectionMapList:{get:function(){return this.coreMap.scene.textureProjectionMapList}},viewShedMapList:{get:function(){return this.coreMap.scene.viewShedMapList}},clock:{get:function(){return this._Viewer.clock}},clockViewModel:{get:function(){return this._Viewer.clockViewModel}},sunShaftEnabled:{get:function(){return this.coreMap.scene.sunShaftEnabled},set:function(o){this.coreMap.scene.sunShaftEnabled=o}},MilitaryPlotting:{get:function(){return this._MilitaryPlotting}},Core:{get:function(){return this._Core||(this._Core=new Ji(this._Viewer,er)),this._Core}},Analysis:{get:function(){return this._Analysis||(this._Analysis=new ant(this._Viewer,er)),this._Analysis}},Navigate:{get:function(){return this._Navigate||(this._Navigate=new Int(this._Viewer,er,this._tree)),this._Navigate}},Creator:{get:function(){return this._Creator||(this._Creator=new zne(this._Viewer,er)),this._Creator}},Command:{get:function(){return this._Command||(this._Command=new Got(this._Viewer,er)),this._Command}},ProjectTree:{get:function(){return this._ProjectTree||(this._ProjectTree=new oat(this._Viewer,er,this._tree)),this._ProjectTree}},tree:{get:function(){return this._tree}},Viewer:{get:function(){return this._Viewer}},toolbar:{get:function(){return this._Viewer._toolbar.style.display==="block"},set:function(o){this._Viewer._toolbar.style.display=o?"block":"none"}},wireframe:{get:function(){return this._Viewer.cesiumInspector.viewModel.wireframe},set:function(o){this._Viewer.cesiumInspector.viewModel.wireframe=o}},tileCoordinates:{get:function(){return this._Viewer.cesiumInspector.viewModel.tileCoordinates},set:function(o){this._Viewer.cesiumInspector.viewModel.tileCoordinates=o}},bim:{get:function(){if(!this._bim)throw new ni("\u5F53\u524D\u7248\u672C\u4E0D\u652F\u6301Bim\u6A21\u5757\u529F\u80FD\uFF0C\u8BF7\u4F7F\u7528CimSDK!!!");return this._bim}},maxProjectionCount:{get:function(){return this.coreMap.scene.maxProjectionCount},set:function(o){this.coreMap.scene.maxProjectionCount=o}}});dc.prototype.brightness=function(o){let A=ae(o.enable,!0),f=ae(o.brightness,1),m=this.coreMap.scene.postProcessStages;this.coreMap.scene.brightness=this.coreMap.scene.brightness||m.add(BC.createBrightnessStage()),this.coreMap.scene.brightness.enabled=A,this.coreMap.scene.brightness.uniforms.brightness=Number(f)};dc.prototype.getAllImageryView=function(){return{arcgis_img:new Ug({name:"ArcGIS\u5F71\u50CF",tooltip:"ArcGIS\u5F71\u50CF",iconUrl:`${globalThis.GEOWORLD_BASE_URL}Workers/image/baseLayer/arcgis_img.png`,creationFunction:()=>new Zy({url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"})}),arcgis_dark:new Ug({name:"\u84DD\u8272\u5E95\u56FE",tooltip:"\u84DD\u8272\u5E95\u56FE",iconUrl:`${globalThis.GEOWORLD_BASE_URL}Workers/image/baseLayer/arcgis_dark.png`,creationFunction:()=>new Zy({url:"http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer",enablePickFeatures:!1,usePreCachedTilesIfAvailable:!1,tilingScheme:this.Core.getOffsetTilingScheme(this._Viewer,er)})})}};dc.prototype.navControl=function(o,A){let f=A?"":"none";this._Viewer.cesiumNavigation&&(o==="all"?this._Viewer.cesiumNavigation.container.style.display=f:o==="nav"?this._Viewer.cesiumNavigation.navigationDiv.style.display=f:this._Viewer.cesiumNavigation.distanceLegendDiv.style.display=f)};dc.prototype.CreateWfs=function(o,A,f,m,C,E,I,x,y){return new Vie(o,A,f,m,C,E,I,x,y,er)};dc.prototype.AttachEvent=function(o,A){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachEvent(o,A)};dc.prototype.RemoNormalCesiumLeftDoubleClick=function(){return this._DetachEvent===void 0&&(this._DetachEvent=new cK(this._Viewer,this._cesium)),this._DetachEvent.RemoNormalCesiumLeftDoubleClick()};dc.prototype.AttachOnLButtonDblClkEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachOnLButtonDblClkEvent(o)};dc.prototype.AttachOnLButtonDownEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachOnLButtonDownEvent(o)};dc.prototype.AttachOnLButtonUpEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachOnLButtonUpEvent(o)};dc.prototype.AttachOnMButtonDblClkEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachOnMButtonDblClkEvent(o)};dc.prototype.AttachOnMButtonDownEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachOnMButtonDownEvent(o)};dc.prototype.AttachOnMButtonUpEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachOnMButtonUpEvent(o)};dc.prototype.AttachOnMouseWheelEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachOnMouseWheelEvent(o)};dc.prototype.AttachOnFrameEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachOnFrameEvent(o)};dc.prototype.AttachOnRButtonDownEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachOnRButtonDownEvent(o)};dc.prototype.AttachOnRButtonUpEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachOnRButtonUpEvent(o)};dc.prototype.AttachCameraChangeEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.AttachCameraChangeEvent(o)};dc.prototype.CameraMoveEndEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new DI(this._Viewer,this._cesium)),this._AttachEvent.CameraMoveEndEvent(o)};dc.prototype.DetachEvent=function(o,A){return this._DetachEvent===void 0&&(this._DetachEvent=new cK(this._Viewer,this._cesium)),this._DetachEvent.DetachEvent(o,A)};dc.prototype.DetachEventAll=function(o){return this._DetachEvent===void 0&&(this._DetachEvent=new cK(this._Viewer,this._cesium)),this._DetachEvent.DetachEventAll(o)};dc.prototype.DetachCameraChangeEvent=function(o){return this._DetachEvent===void 0&&(this._DetachEvent=new cK(this._Viewer,this._cesium)),this._DetachEvent.DetachCameraChangeEvent(o)};dc.prototype.extend=function(o,A){if(!k(o))throw new ni("mixin is required.");o(this,A)};dc.prototype.pick=function(o,A=!0,f=!0,m=!1){this.endPick(),this.pick_callBcak=o,this._Viewer._enableInfoOrSelection=!0,f&&(this.pick_stage=this.Core.addPickStage(this._Viewer)),this.pick_handel=new pr(this._Viewer.scene.canvas);let C,E,I,x;this.pick_handel.setInputAction(y=>{if(f&&this.pick_stage.remove(),C=this._Viewer.scene.pick(y.position),E=void 0,!C||m){let v=this._Viewer.scene.pickPosition(y.position);if(!v)return;let w=this.Core.toDegrees(v);x="\u5750\u6807\u4FE1\u606F",E={\u7ECF\u5EA6:w.lon.toFixed(6),\u7EAC\u5EA6:w.lat.toFixed(6),\u9AD8\u5EA6:w.height.toFixed(2)}}else if(C){if(f&&this.pick_stage.select(C),C.id)C.id.fid&&C.id.attributes?(x=C.id.fid,E=C.id.attributes):C.id.id&&C.id.properties?(x=C.id.name||C.id.id,E=C.id.properties.getValue?C.id.properties.getValue():C.id.properties):C.id.feature&&(x=C.id.feature.id,E=C.id.feature.properties);else if(C._modelId)C._modelId.id&&C._modelId.properties&&(x=C._modelId.id,E=C._modelId.properties);else if(!C.color&&C.content){x=`\u6A21\u578B${C.content.tile._priority}`;let v=this._Viewer.scene.pickPosition(y.position);if(v){let w=this.Core.toDegrees(v);E={\u7ECF\u5EA6:w.lon.toFixed(6),\u7EAC\u5EA6:w.lat.toFixed(6),\u9AD8\u5EA6:w.height.toFixed(2)}}}}if(A&&E){I='<table class="cesium-infoBox-defaultTable"><tbody>';for(let v in E)I+=`<tr><th>${v}</th><td>${E[v]}</td></tr>`;I+="</tbody></table>",this._Viewer.selectedEntity=new Fu({name:x,description:I})}else if(C&&C.getPropertyIds&&C.getProperty){let v=C.getPropertyIds();E={},v.forEach(w=>{E[w]=C.getProperty(w)})}this.pick_callBcak&&(C||E)&&this.pick_callBcak(E,C,y)},_i.LEFT_CLICK)};dc.prototype.pickPosition=function(o,A=!0){this.endPick(),this.pick(o,A,!1,!0)};dc.prototype.endPick=function(){this._Viewer.infoBox&&this._Viewer.infoBox.viewModel.closeClicked.raiseEvent(),this._Viewer._enableInfoOrSelection=!1,this.pick_callBcak=void 0,this.pick_handel&&this.pick_handel.destroy(),this.pick_handel=void 0,this.pick_stage&&(this.pick_stage.remove(),this.pick_stage.destroy(),this.pick_stage=void 0)};dc.prototype.mouseDownView=function(o){if(o&&!this.cursorHandel){this.cursorHandel=new pr(this._Viewer.scene.canvas);let A,f;this.cursorPoint=document.createElement("div"),this.cursorPoint.className="mouseDownViewPoint",this.cursorPoint.style.cssText="visibility: hidden;opacity: 0;pointer-events: none;position: absolute;z-index: 999;transition: visibility 0.2s ease 0s, opacity 0.2s ease-in;",this.cursorPoint.innerHTML=`<img src="${window.SmartEarthRootUrl}Workers/image/cursor.png" style="width: 36px;height: 36px;">`,this._Viewer.container.appendChild(this.cursorPoint);let m=x=>{x=x||f;let y=x.position||x.endPosition;this.cursorPoint.style.top=`${y.y-18}px`,this.cursorPoint.style.left=`${y.x-18}px`,this.cursorPoint.style.visibility="unset",this.cursorPoint.style.opacity=1},C=x=>{let y=x.position||x.endPosition;this.cursorPoint.style.top=`${y.y-18}px`,this.cursorPoint.style.left=`${y.x-18}px`};this.cursorHandel.setInputAction(x=>{f=x,clearTimeout(A),A=void 0,this._Viewer.camera.positionCartographic.height<1e4?m(x):(this.cursorPoint.style.visibility="hidden",this.cursorPoint.style.opacity=0)},this.rightRotate?_i.RIGHT_DOWN:_i.MIDDLE_DOWN),this.cursorHandel.setInputAction(x=>{this.cursorPoint.style.visibility="hidden"},this.rightRotate?_i.RIGHT_UP:_i.MIDDLE_UP),this.cursorHandel.setInputAction(x=>{f=x,A&&C(x)},_i.MOUSE_MOVE),this.cursorHandel.setInputAction(x=>{clearTimeout(A),m(),A=setTimeout(()=>{this.cursorPoint.style.visibility="hidden",this.cursorPoint.style.opacity=0,A=void 0},500)},_i.WHEEL);let E=0,I;this.cursorHandel.setInputAction(x=>{this._PointFly&&this._PointFly.end&&this._PointFly.end()},_i.LEFT_CLICK),this.cursorHandel.setInputAction(x=>{E++,clearInterval(I),I=setTimeout(()=>{E=0},500),E>=2&&(E=0,!this._PointFly&&(this._PointFly=new j6(this._Viewer,er)),this._PointFly&&this._PointFly.end&&this._PointFly.end(),this._PointFly.setPointFly({position:this.Navigate.getMousePosition(x),hideImage:!0,time:this._rotateFlyTime,pitch:De.toDegrees(this._Viewer.camera.pitch)}))},_i.RIGHT_CLICK)}else this.cursorHandel&&this.cursorHandel.destroy(),this.cursorHandel=void 0,this.cursorPoint&&this.cursorPoint.remove(),this.cursorPoint=void 0};var JQi=dc;function hK(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this.trackInfos=[],this.timer=null,this.animationController=new tre,this.currIndex=-1,this.startTime=0,this.currentTrackInfo=null}function KQi(o,A){if(o.length===0)return null;let f=null;for(let m=0;m<o.length&&o[m].timeStamp<A;m++)f=o[m];return f}function WQi(o,A){A.type==="lookat"&&(console.log(A),A.duration===void 0&&(A.duration=4e3),o.coreMap.camera.flyTo({destination:A.position,orientation:A.orientation,duration:A.duration/1e3}))}hK.prototype.initialize=function(o){let A=0,f=this;for(let m=0;m<o.length;m++){let C=o[m];C.type==="lookat"&&(C.timeStamp=A,A+=C.stopTime,f.trackInfos.push(C))}f.animationController.addListener(function(m){let C=new Date().getTime()-f.startTime,E=KQi(f.trackInfos,C);E!==f.currentTrackInfo&&(WQi(f.mEarthCtrl,E),f.currentTrackInfo=E)})};hK.prototype.finalize=function(){this.animationController.finalize(),this.currentTrackInfo=null};hK.prototype.play=function(){let o=this;o.currentTrackInfo=null,o.startTime=new Date().getTime(),o.animationController.start()};hK.prototype.stop=function(){this.animationController.stop(),this.currentTrackInfo=null};var qQi=hK;var Kne=1e-5*Math.PI/180,jQi=11;function XC(o){this.mEarthCtrl=o,this._polylines=[],this._points=[],this.entities=this.mEarthCtrl.entities,this.camera=this.mEarthCtrl.coreMap.camera,this.scene=this.mEarthCtrl.coreMap.scene,this._interval=20}XC.prototype.createlineOfSight=function(o){let A=[],f=this,m=[],C=[],E={polyline:[]};f.objectsToExclude=null;let I,x=function(){function D(S){this.options={polyline:{show:!0,positions:[],material:qe.YELLOW,width:3,clampToGround:!1}},this.positionsp=S,this._init()}return D.prototype._init=function(){let S=this,P=function(){return S.positionsp};this.options.polyline.positions=new Kr(P,!1),this.polyline=f.entities.add(this.options),f.item=this.polyline,C.push(this.polyline)},D}(),y=new pr(f.scene.canvas),v=[],w;if(this._points.length>0)for(let D=0;D<this._points.length;D++)this.entities.remove(this._points[D]);let Q=[];y.setInputAction(function(D){let S,P=f.camera.getPickRay(D.position);if(S=f.scene.globe.pick(P,f.scene),f.scene.pick(D.position)){let T=f.scene.pickPosition(D.position);T&&(S=T)}if(!!S)if(v.length===0){v.push(S.clone(),S.clone());let T={leftX:D.position.x,leftY:D.position.y};Q.push(T),I=S.clone()}else{let T={rightX:D.position.x,rightY:D.position.y};Q.push(T);let L={postion:v,entity:C,cartesian:Q};m.push(L),Q=[],w=void 0,v=[],v.push(I.clone()),v.push(I.clone()),w=new x(v),A.push(w)}},_i.LEFT_CLICK),y.setInputAction(function(D){let S,P=f.camera.getPickRay(D.endPosition);if(S=f.scene.globe.pick(P,f.scene),f.scene.pick(D.endPosition)){let T=f.scene.pickPosition(D.endPosition);T&&(S=T)}!S||v.length>=2&&(k(w)?S!==void 0&&(v.pop(),v.push(S)):(w=new x(v),A.push(w)))},_i.MOUSE_MOVE);let M=0,B=0;return y.setInputAction(function(D){let S=f.entities.add(new Fu);f.objectsToExclude=[S];let P=!0;for(let R=0;R<m.length;R++)if(R===0?(M=m[R].cartesian[0].leftX,B=m[R].cartesian[0].leftY,P=f.tsjx(m[R].postion,M,B,m[R].cartesian[1].rightX,m[R].cartesian[1].rightY,50,C)):P=f.tsjx(m[R].postion,M,B,m[R].cartesian[0].rightX,m[R].cartesian[0].rightY,50,C),P){let T=f.entities.add({name:"polyline1",polyline:{positions:m[R].postion,width:3,material:qe.BLUE}});E.polyline.push(T)}else{let T=f.entities.add({name:"polyline1",polyline:{positions:m[R].postion,width:3,material:qe.RED}});E.polyline.push(T)}v.pop(),f._polylines=E.polyline,y.destroy();for(let R=0;R<C.length;R++)f.entities.remove(C[R]);k(o)&&typeof o=="function"&&o(E)},_i.RIGHT_CLICK),this};XC.prototype.tsjx=function(o,A,f,m,C,E,I){let x={gcs:[],min:0,max:0,juli:0,cys:E},y=this.getSpaceDistancem(o);y<=100&&y>=10?E=parseInt(y/2):y<10&&y>0?E=parseInt(y/1):y>100&&(E=parseInt(y/10)),x.cys=E;let v=o[0],w=o[o.length-1],Q=Lt.fromCartesian(v),M=De.toDegrees(Q.longitude),B=De.toDegrees(Q.latitude),D=Q.height,S=Lt.fromCartesian(w),P=De.toDegrees(S.longitude),R=De.toDegrees(S.latitude),T=S.height,L=E,F=De.lerp(M,P,1/L)-M,U=De.lerp(B,R,1/L)-B,N=De.lerp(D,T,1/L)-D,H=!0,J,K;for(let X=0;X<L-2;X++){let j=M+(X+1)*F,ee=B+(X+1)*U,ie=D+(X+1)*N;J=Z.fromDegrees(j,ee,ie),K=Lt.fromCartesian(J);let z=this.scene.globe.getHeight(K),oe=this.scene.sampleHeight(K,I);if(oe&&(z=oe),z=parseFloat(z.toFixed(1)),ie=parseFloat(ie.toFixed(1)),z>ie)return H=!1,H}return H};XC.prototype.getSpaceDistancem=function(o){let A=0;for(let f=0;f<o.length-1;f++){let m=Lt.fromCartesian(o[f]),C=Lt.fromCartesian(o[f+1]),E=new Ig;E.setEndPoints(m,C);let I=E.surfaceDistance;I=Math.sqrt(Math.pow(I,2)+Math.pow(C.height-m.height,2)),A=A+I}return A.toFixed(2)};XC.prototype.deleteObject=function(){if(this._points.length>0){this.objectsToExclude=null;for(let o=0;o<this._points.length;o++)this.entities.remove(this._points[o])}};XC.prototype.InterpolateLineCartographic=function(o,A,f){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let m=[];m.push(new Lt(o.longitude,o.latitude));let C=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2)),E=f&&typeof f=="number"?f:Kne;if(C<=E)return m.push(new Lt(A.longitude,A.latitude)),m;let I=C/E,x=(A.longitude-o.longitude)/I,y=(A.latitude-o.latitude)/I;for(let v=0;v<I;v++){let w=o.longitude+(v+1)*x,Q=o.latitude+(v+1)*y;m.push(new Lt(w,Q))}return m.push(new Lt(A.longitude,A.latitude,A.height)),m};XC.prototype.InterpolateLineCartographicxp=function(o,A,f){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let m=[];m.push(new Lt(o.longitude,o.latitude));let C=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2)),E=f&&typeof f=="number"?f:Kne;if(C<=E)return m.push(new Lt(A.longitude,A.latitude)),m;let I=C/E,x=(A.longitude-o.longitude)/I,y=(A.latitude-o.latitude)/I,v=(A.height-o.height)/I;for(let w=0;w<I;w++){let Q=o.longitude+(w+1)*x,M=o.latitude+(w+1)*y,B=o.height+v*(w+1);m.push(new Lt(Q,M,B))}return m.push(new Lt(A.longitude,A.latitude,A.height)),m};XC.prototype.InterpolateLineHeightCartographic=function(o,A){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let f=[];f.push(new Lt(o.longitude,o.latitude,o.height));let m=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2));if(m<=Kne)return f.push(new Lt(A.longitude,A.latitude,A.height)),f;let C=m/Kne,E=(A.longitude-o.longitude)/C,I=(A.latitude-o.latitude)/C,x=(A.height-o.height)/C;for(let y=0;y<C;y++){let v=o.longitude+(y+1)*E,w=o.latitude+(y+1)*I,Q=o.height+(y+1)*x;f.push(new Lt(v,w,Q))}return f.push(new Lt(A.longitude,A.latitude,A.height)),f};XC.prototype.InterpolateIndexLineHeightCartographic=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let C=(A.longitude-o.longitude)/f,E=(A.latitude-o.latitude)/f,I=(A.height-o.height)/f,x=o.longitude+m*C,y=o.latitude+m*E,v=o.height+m*I;return new Lt(x,y,v)};XC.prototype.InterpolateIndexLineHeightCartographicxp=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let C=(A.longitude-o.longitude)/f,E=(A.latitude-o.latitude)/f,I=(A.height-o.height)/f,x=o.longitude+m*C,y=o.latitude+m*E,v=o.height+m*I;return new Lt(x,y,v)};XC.prototype.Interpolate2IndexLineHeightCartographic=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let C=[];C.push(new Lt(o.longitude,o.latitude,o.height));let E=(A.longitude-o.longitude)/f,I=(A.latitude-o.latitude)/f,x=(A.height-o.height)/f;for(let y=0;y<m;y++){let v=o.longitude+(y+1)*E,w=o.latitude+(y+1)*I,Q=o.height+(y+1)*x;C.push(new Lt(v,w,Q))}return C};XC.prototype.CartographicPointsTerrainData=function(o,A){if(o.length&&o.length>0){let f=lY(this.scene.terrainProvider,jQi,o);(void 0)(f,function(m){A(m)})}};XC.prototype.setVisibility=function(o){if(this._polylines.length>0)for(let A=0;A<this._polylines.length;A++)this._polylines[A].show=o};XC.prototype.deleteObject=function(){if(this._polylines.length>0)for(let o=0;o<this._polylines.length;o++)this.entities.remove(this._polylines[o])};Object.defineProperties(XC.prototype,{sight:{get:function(){return this.item.sight},set:function(o){this.item.sight=o}}});var XQi=XC;function dK(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this.shadowMap=null}dK.prototype.initialize=function(o){let A=new Ms(this.coreMap.scene);A.setView({destination:o.destination,orientation:o.orientation}),A.frustum.fov=o.fov||Math.PI/3,A.frustum.near=o.near||1,A.frustum.far=o.far||1e5,A.frustum.aspectRatio=o.aspect||1;let f=new yB({context:this.coreMap.scene.context,lightCamera:A,enabled:o.enabled||!0,isPointLight:!1,cascadesEnabled:!1,numberOfCascades:1,frustum:{fov:o.fov||Math.PI/3,near:o.near||1,far:o.far||1e5,aspectRatio:o.aspect||1},depthBias:o.depthBias});f.castTexture=o.castTexture,this.shadowMap=f,o.addToMap===!0&&this.addToMap()};dK.prototype.addToMap=function(){this.shadowMap!==null&&this.mEarthCtrl.shadowMapList.push(this.shadowMap)};dK.prototype.setEnable=function(o){this.shadowMap!==null&&(this.shadowMap.enabled=o)};dK.prototype.remove=function(){if(this.shadowMap!==null)for(let o=0;o<this.mEarthCtrl.shadowMapList.length;o++){let A=this.mEarthCtrl.shadowMapList[o];this.shadowMap===A&&this.mEarthCtrl.shadowMapList.splice(o,1)}};var ZQi=dK;var aat=`#version 300 es precision mediump float;\r \r uniform float uAlpha;\r uniform sampler2D uTexture;\r uniform mediump float uColorCoding;\r uniform float uHighlighting;\r \r in vec2 vTexCoord;\r out vec4 out_FragColor;\r in vec4 vIdColor;\r \r \r void main(void) {\r if (uColorCoding > 0.0)\r {\r out_FragColor = vIdColor;\r }\r else\r {\r vec4 pixel = texture(uTexture, vTexCoord);\r if (vIdColor.x < 0.0)\r {\r \r out_FragColor = vec4(pixel.rgb * uHighlighting, uAlpha);\r }\r else\r {\r \r out_FragColor = vec4(pixel.rgb, uAlpha);\r }\r }\r }`;var sat=`#version 300 es in highp vec3 aVertex;\r in highp vec2 aTexCoord;\r in highp float aId;\r \r \r uniform mat3 uRotation;\r uniform mat4 uPMatrix;\r \r \r \r uniform mediump float uColorCoding; \r uniform float uSelection;\r \r \r out vec2 vTexCoord;\r out vec4 vIdColor;\r \r vec4 getIdColor(float id){\r float product = floor(id + 0.5);\r float B = floor(product / (256.0*256.0));\r float G = floor((product - B * 256.0*256.0) / 256.0);\r float R = mod(product, 256.0);\r return vec4(R / 255.0, G / 255.0, B / 255.0, 1.0);\r }\r \r void main(void) {\r vec4 point = vec4(uRotation * aVertex, 1.0);\r gl_Position = uPMatrix * point;\r vTexCoord = aTexCoord;\r \r if (uColorCoding == 1.0)\r {\r vIdColor = getIdColor(aId);\r return;\r }\r \r if (uColorCoding > 1.0)\r {\r vIdColor = getIdColor(float(uColorCoding));\r return;\r }\r \r bool isSelected = abs(uSelection - aId) < 0.1;\r if (isSelected){\r vIdColor = vec4(-1.0, -1.0, -1.0, -1.0);\r }\r else{\r vIdColor = vec4(1.0, 1.0, 1.0, 1.0);\r }\r }`;var lat={en:"data:image/png;base64,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",cn:"data:image/jpeg;base64,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17m/zG7vWa0ue0uuT7pbvRiGiCrzmNIy1NKdKxZHdcssyhjsrRNjRG6PvZ27JEpycnziOxkJcQ2EG2Q42DaUnFbXub/Mbu9Zr3O/mN3es17nfzC7vWa9z/5hd/rNTb8vvRnzK6ruQFzJXnsJzISVBIOQ2+tRwqAwChsVupphvkH4H6hXRc8K7ZMaTdrcxa5jby1hxbzzZALbzYssbG1XRVx8BJ9Zroq4+Ak+s10VcfASfWa6KuPgJPrNXLcN4XddLMO8XFofdjtPpdAS0tYySt9YxpGMU37Uj+I5qjWQ95PKL19zXDPu+9nZd3NLQ84w0wpslTiljJKn0HErbFdFX5wEb1muir84CN6zXRV+cBG9Zroq/eAjes10VfvARvWa6KvzgI3rNdFX5wEb1mui774CN6zU2/btZkMRJLTCENyUoS4C22EG0IWsYxgw62Z83yidYaNK0fvu7r3lTFT35Qdgsx1tZDiUAC1yQ0q3vTbgroXST6tD9croTST6tD9croTSX6tD9croTSX6tD9croTSX6tD9croTSX6tD9croTSX6tD9croXST6tD9croXST6tD9crSDRq7LrvxidezCG47spiMllJS6hZyyiStQwJOJJrt7ERqTE6O3n93JnlBl/uWXsst5WR/xm12WZRxU1eOkE77wmsMJjNPbk01Y0lSlhOS0lAxrJtst1sW97pkeaXhCUVRpGQhzJKklJ71wKScBOMULsv6+PP4IdS8GPN47XfoBCTlNNIVgtO3qWa2HvJ5ReswazFq4qxanX18z5vlE7Li/q1OtqW7Fbsduth7yeUXsW1W1W1W1q4Kw6yZ83yier8Wri2GHvJ5RewYtdirFrpnzfKJ1+LYMXUmLYIe8nlF7BiNYjWI1iNYjWI7BM+b5RP9Fw95PKL6lmfN8onqbnnFueTXPOLc8muecW55Nc84tzya55xbnk1zzi3PJrnnFueTXPOLc8muecW55Nc84tzya55xbnk1zzi3PJrnnFueTXPOLc8muecW55Nc84tzya55xbnk1zzi3PJrnnFueTXPOLc8muecW55NQ58GWwI+StsF3dEklLi7TYEHBhrnkTuu5queRO67mq55E7ruarnkTuu5queRO67mq55E7ruarnkTuu5queRO67mq55E7ruarnkTuu5queRO67mq55E7ruarnkTuu5queRO67mq55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"};var Wne=class{constructor(A,f,m,C,E){if(this.gl=A,this.width=f=Math.floor(f),this.height=m=Math.floor(m),this.isReady=!0,f===0||m===0){this.isReady=!1;return}if(this._disposed=!1,this._glVersion=ae(E,1),this.framebuffer=A.createFramebuffer(),A.bindFramebuffer(A.FRAMEBUFFER,this.framebuffer),this.renderbuffer=A.createRenderbuffer(),A.bindRenderbuffer(A.RENDERBUFFER,this.renderbuffer),A.renderbufferStorage(A.RENDERBUFFER,A.DEPTH_COMPONENT16,f,m),this.texture=A.createTexture(),A.activeTexture(A.TEXTURE0),A.bindTexture(A.TEXTURE_2D,this.texture),A.texImage2D(A.TEXTURE_2D,0,A.RGBA,f,m,0,A.RGBA,A.UNSIGNED_BYTE,null),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_S,A.CLAMP_TO_EDGE),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_T,A.CLAMP_TO_EDGE),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,A.NEAREST),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,A.NEAREST),A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,1),C&&(this.depthTexture=A.createTexture(),A.bindTexture(A.TEXTURE_2D,this.depthTexture),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,A.NEAREST),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,A.NEAREST),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_S,A.CLAMP_TO_EDGE),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_T,A.CLAMP_TO_EDGE),this._glVersion===1?A.texImage2D(A.TEXTURE_2D,0,A.DEPTH_COMPONENT,f,m,0,A.DEPTH_COMPONENT,A.UNSIGNED_SHORT,null):A.texImage2D(A.TEXTURE_2D,0,A.DEPTH_COMPONENT16,f,m,0,A.DEPTH_COMPONENT,A.UNSIGNED_SHORT,null)),A.framebufferTexture2D(A.FRAMEBUFFER,A.COLOR_ATTACHMENT0,A.TEXTURE_2D,this.texture,0),C?A.framebufferTexture2D(A.FRAMEBUFFER,A.DEPTH_ATTACHMENT,A.TEXTURE_2D,this.depthTexture,0):A.framebufferRenderbuffer(A.FRAMEBUFFER,A.DEPTH_ATTACHMENT,A.RENDERBUFFER,this.renderbuffer),A.checkFramebufferStatus(A.FRAMEBUFFER)!==A.FRAMEBUFFER_COMPLETE)throw new Error("this combination of attachments does not work")}bind(){if(!this.isReady)return;let A=this.gl;A.bindFramebuffer(A.FRAMEBUFFER,this.framebuffer),A.bindRenderbuffer(A.RENDERBUFFER,this.renderbuffer)}getPixel(A,f){if(!this.isReady)return null;let m=new Uint8Array(4);return this.gl.readPixels(A,f,1,1,this.gl.RGBA,this.gl.UNSIGNED_BYTE,m),m}getId(A,f){if(!this.isReady)return null;let m=this.getPixel(A,f);return m[3]!==0?m[0]+m[1]*256+m[2]*256*256:null}delete(){if(this._disposed||!this.isReady)return;let A=this.gl;typeof WebGL2RenderingContext<"u"&&A instanceof WebGL2RenderingContext&&A.invalidateFramebuffer(A.FRAMEBUFFER,[A.COLOR_ATTACHMENT0,A.DEPTH_ATTACHMENT]),A.deleteFramebuffer(this.framebuffer),A.deleteRenderbuffer(this.renderbuffer),A.deleteTexture(this.texture),A.deleteTexture(this.depthTexture),this._disposed=!0}};var Bi={TOP:1,BOTTOM:2,LEFT:3,RIGHT:4,FRONT:5,BACK:6,TOP_LEFT_FRONT:7,TOP_RIGHT_FRONT:8,TOP_LEFT_BACK:9,TOP_RIGHT_BACK:10,BOTTOM_LEFT_FRONT:11,BOTTOM_RIGHT_FRONT:12,BOTTOM_LEFT_BACK:13,BOTTOM_RIGHT_BACK:14,TOP_LEFT:15,TOP_RIGHT:16,TOP_FRONT:17,TOP_BACK:18,BOTTOM_LEFT:19,BOTTOM_RIGHT:20,BOTTOM_FRONT:21,BOTTOM_BACK:22,FRONT_RIGHT:23,FRONT_LEFT:24,BACK_RIGHT:25,BACK_LEFT:26},$Qi=new Float32Array(16),eSi=new Float32Array(9),jQe=new tt,gK=class{constructor(A,f){f=ae(f,ae.EMPTY_OBJECT),this._earthCtrl=A,this._viewer=A.coreMap,this._options=f,this._zoomDuration=ae(f.zoomDuration,1),this._image=ae(f.image,void 0),this._eventHanler=new pr(this._viewer.scene.canvas),this._initialized=!1,this._modelId=1000001,this._region=[],this.ratio=.05,this.minSize=50,this.maxSize=200,this.highlighting=1.2,this.activeAlpha=1,this.passiveAlpha=.7,this.position=Bi.BOTTOM_RIGHT,this.trueNorth=0,this._stopped=!0,this._shader=void 0,this.vertices=new Float32Array([-.3,-.5,-.3,.3,-.5,-.3,.3,-.5,.3,-.3,-.5,.3,-.3,.5,-.3,-.3,.5,.3,.3,.5,.3,.3,.5,-.3,-.3,-.3,.5,.3,-.3,.5,.3,.3,.5,-.3,.3,.5,-.3,-.3,-.5,-.3,.3,-.5,.3,.3,-.5,.3,-.3,-.5,.5,-.3,-.3,.5,.3,-.3,.5,.3,.3,.5,-.3,.3,-.5,-.3,-.3,-.5,-.3,.3,-.5,.3,.3,-.5,.3,-.3,-.5,-.5,.5,-.3,-.5,.5,-.3,-.3,.5,-.5,-.3,.5,-.5,-.5,.3,-.5,-.5,.5,-.5,-.3,.5,-.5,-.3,.3,-.5,-.5,.3,-.3,-.5,.3,-.3,-.5,.5,-.5,-.5,.5,.3,-.5,.5,.5,-.5,.5,.5,-.3,.5,.3,-.3,.5,.5,-.5,.3,.5,-.3,.3,.5,-.3,.5,.5,-.5,.5,.3,-.5,.3,.5,-.5,.3,.5,-.5,.5,.3,-.5,.5,-.5,.3,.5,-.3,.3,.5,-.3,.5,.5,-.5,.5,.5,-.5,.3,.3,-.5,.3,.5,-.5,.5,.5,-.5,.5,.3,-.5,.5,.3,-.5,.5,.5,-.3,.5,.5,-.3,.5,.3,.3,.3,.5,.5,.3,.5,.5,.5,.5,.3,.5,.5,.5,.3,.3,.5,.5,.3,.5,.5,.5,.5,.3,.5,.3,.5,.3,.3,.5,.5,.5,.5,.5,.5,.5,.3,-.5,-.5,-.5,-.3,-.5,-.5,-.3,-.3,-.5,-.5,-.3,-.5,-.5,-.5,-.5,-.5,-.5,-.3,-.5,-.3,-.3,-.5,-.3,-.5,-.5,-.5,-.5,-.3,-.5,-.5,-.3,-.5,-.3,-.5,-.5,-.3,.3,-.5,-.5,.5,-.5,-.5,.5,-.3,-.5,.3,-.3,-.5,.5,-.5,-.5,.5,-.3,-.5,.5,-.3,-.3,.5,-.5,-.3,.3,-.5,-.5,.5,-.5,-.5,.5,-.5,-.3,.3,-.5,-.3,-.5,.3,-.5,-.3,.3,-.5,-.3,.5,-.5,-.5,.5,-.5,-.5,.3,-.5,-.5,.3,-.3,-.5,.5,-.3,-.5,.5,-.5,-.5,.5,-.5,-.5,.5,-.3,-.3,.5,-.3,-.3,.5,-.5,.3,.3,-.5,.5,.3,-.5,.5,.5,-.5,.3,.5,-.5,.5,.3,-.5,.5,.5,-.5,.5,.5,-.3,.5,.3,-.3,.3,.5,-.5,.3,.5,-.3,.5,.5,-.3,.5,.5,-.5,.3,-.3,.5,.5,-.3,.5,.5,.3,.5,.3,.3,.5,.5,-.3,.3,.5,.3,.3,.5,.3,.5,.5,-.3,.5,-.5,-.3,.5,-.3,-.3,.5,-.3,.3,.5,-.5,.3,.5,-.5,-.3,.3,-.5,-.3,.5,-.5,.3,.5,-.5,.3,.3,-.3,-.5,.5,.3,-.5,.5,.3,-.3,.5,-.3,-.3,.5,-.3,-.5,.3,.3,-.5,.3,.3,-.5,.5,-.3,-.5,.5,-.3,.3,.5,.3,.3,.5,.3,.5,.5,-.3,.5,.5,-.3,.5,.3,-.3,.5,.5,.3,.5,.5,.3,.5,.3,.3,-.3,-.5,.5,-.3,-.5,.5,.3,-.5,.3,.3,-.5,.5,-.3,-.5,.5,.3,-.5,.5,.3,-.3,.5,-.3,-.3,-.5,-.3,-.5,-.5,.3,-.5,-.3,.3,-.5,-.3,-.3,-.5,-.5,-.3,-.5,-.5,-.3,-.3,-.5,.3,-.3,-.5,.3,-.5,-.3,-.5,-.5,.3,-.5,-.5,.3,-.3,-.5,-.3,-.3,-.5,-.3,-.5,-.5,.3,-.5,-.5,.3,-.5,-.3,-.3,-.5,-.3,-.3,.3,-.5,.3,.3,-.5,.3,.5,-.5,-.3,.5,-.5,-.3,.5,-.5,-.3,.5,-.3,.3,.5,-.3,.3,.5,-.5,.3,-.5,-.3,.5,-.5,-.3,.5,-.5,.3,.3,-.5,.3,.5,-.5,-.3,.5,-.3,-.3,.5,-.3,.3,.5,-.5,.3,-.5,-.5,-.3,-.3,-.5,-.3,-.3,-.5,.3,-.5,-.5,.3,-.5,-.5,-.3,-.5,-.5,.3,-.5,-.3,.3,-.5,-.3,-.3,.3,.5,-.3,.3,.5,.3,.5,.5,.3,.5,.5,-.3,.5,.3,-.3,.5,.5,-.3,.5,.5,.3,.5,.3,.3,-.5,.5,-.3,-.5,.5,.3,-.3,.5,.3,-.3,.5,-.3,-.5,.3,-.3,-.5,.3,.3,-.5,.5,.3,-.5,.5,-.3]),this.indices=new Uint16Array([0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23,0+24,1+24,2+24,0+24,2+24,3+24,4+24,5+24,6+24,4+24,6+24,7+24,8+24,9+24,10+24,8+24,10+24,11+24,0+36,1+36,2+36,0+36,2+36,3+36,4+36,5+36,6+36,4+36,6+36,7+36,8+36,9+36,10+36,8+36,10+36,11+36,0+48,1+48,2+48,0+48,2+48,3+48,4+48,5+48,6+48,4+48,6+48,7+48,8+48,9+48,10+48,8+48,10+48,11+48,0+60,1+60,2+60,0+60,2+60,3+60,4+60,5+60,6+60,4+60,6+60,7+60,8+60,9+60,10+60,8+60,10+60,11+60,0+72,2+72,1+72,0+72,3+72,2+72,4+72,5+72,6+72,4+72,6+72,7+72,8+72,9+72,10+72,8+72,10+72,11+72,0+84,2+84,1+84,0+84,3+84,2+84,4+84,5+84,6+84,4+84,6+84,7+84,8+84,9+84,10+84,8+84,10+84,11+84,0+96,2+96,1+96,0+96,3+96,2+96,4+96,5+96,6+96,4+96,6+96,7+96,8+96,9+96,10+96,8+96,10+96,11+96,0+108,2+108,1+108,0+108,3+108,2+108,4+108,5+108,6+108,4+108,6+108,7+108,8+108,9+108,10+108,8+108,10+108,11+108,0+120,1+120,2+120,0+120,2+120,3+120,4+120,5+120,6+120,4+120,6+120,7+120,0+128,1+128,2+128,0+128,2+128,3+128,4+128,5+128,6+128,4+128,6+128,7+128,0+136,1+136,2+136,0+136,2+136,3+136,4+136,5+136,6+136,4+136,6+136,7+136,0+144,1+144,2+144,0+144,2+144,3+144,4+144,5+144,6+144,4+144,6+144,7+144,0+152,2+152,1+152,0+152,3+152,2+152,4+152,5+152,6+152,4+152,6+152,7+152,0+160,1+160,2+160,0+160,2+160,3+160,4+160,5+160,6+160,4+160,6+160,7+160,0+168,2+168,1+168,0+168,3+168,2+168,4+168,5+168,6+168,4+168,6+168,7+168,0+176,2+176,1+176,0+176,3+176,2+176,4+176,5+176,6+176,4+176,6+176,7+176,0+184,1+184,2+184,0+184,2+184,3+184,4+184,5+184,6+184,4+184,6+184,7+184,0+192,1+192,2+192,0+192,2+192,3+192,4+192,5+192,6+192,4+192,6+192,7+192,0+200,1+200,2+200,0+200,2+200,3+200,4+200,5+200,6+200,4+200,6+200,7+200,0+208,1+208,2+208,0+208,2+208,3+208,4+208,5+208,6+208,4+208,6+208,7+208]),this.txtCoords=new Float32Array([1/3+1/15,0/3+1/15,2/3-1/15,0/3+1/15,2/3-1/15,1/3-1/15,1/3+1/15,1/3-1/15,1-1/15,0/3+1/15,1-1/15,1/3-1/15,2/3+1/15,1/3-1/15,2/3+1/15,0/3+1/15,2/3+1/15,1/3+1/15,1-1/15,1/3+1/15,1-1/15,2/3-1/15,2/3+1/15,2/3-1/15,0+1/15,1/3-1/15,0+1/15,0/3+1/15,1/3-1/15,0/3+1/15,1/3-1/15,1/3-1/15,0+1/15,1/3+1/15,1/3-1/15,1/3+1/15,1/3-1/15,2/3-1/15,0+1/15,2/3-1/15,2/3-1/15,1/3+1/15,2/3-1/15,2/3-1/15,1/3+1/15,2/3-1/15,1/3+1/15,1/3+1/15,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30]),this.ids=new Float32Array([Bi.FRONT,Bi.FRONT,Bi.FRONT,Bi.FRONT,Bi.BACK,Bi.BACK,Bi.BACK,Bi.BACK,Bi.TOP,Bi.TOP,Bi.TOP,Bi.TOP,Bi.BOTTOM,Bi.BOTTOM,Bi.BOTTOM,Bi.BOTTOM,Bi.RIGHT,Bi.RIGHT,Bi.RIGHT,Bi.RIGHT,Bi.LEFT,Bi.LEFT,Bi.LEFT,Bi.LEFT,Bi.TOP_LEFT_FRONT,Bi.TOP_LEFT_FRONT,Bi.TOP_LEFT_FRONT,Bi.TOP_LEFT_FRONT,Bi.TOP_LEFT_FRONT,Bi.TOP_LEFT_FRONT,Bi.TOP_LEFT_FRONT,Bi.TOP_LEFT_FRONT,Bi.TOP_LEFT_FRONT,Bi.TOP_LEFT_FRONT,Bi.TOP_LEFT_FRONT,Bi.TOP_LEFT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_RIGHT_FRONT,Bi.TOP_LEFT_BACK,Bi.TOP_LEFT_BACK,Bi.TOP_LEFT_BACK,Bi.TOP_LEFT_BACK,Bi.TOP_LEFT_BACK,Bi.TOP_LEFT_BACK,Bi.TOP_LEFT_BACK,Bi.TOP_LEFT_BACK,Bi.TOP_LEFT_BACK,Bi.TOP_LEFT_BACK,Bi.TOP_LEFT_BACK,Bi.TOP_LEFT_BACK,Bi.TOP_RIGHT_BACK,Bi.TOP_RIGHT_BACK,Bi.TOP_RIGHT_BACK,Bi.TOP_RIGHT_BACK,Bi.TOP_RIGHT_BACK,Bi.TOP_RIGHT_BACK,Bi.TOP_RIGHT_BACK,Bi.TOP_RIGHT_BACK,Bi.TOP_RIGHT_BACK,Bi.TOP_RIGHT_BACK,Bi.TOP_RIGHT_BACK,Bi.TOP_RIGHT_BACK,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_LEFT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_RIGHT_FRONT,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_LEFT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.BOTTOM_RIGHT_BACK,Bi.TOP_RIGHT,Bi.TOP_RIGHT,Bi.TOP_RIGHT,Bi.TOP_RIGHT,Bi.TOP_RIGHT,Bi.TOP_RIGHT,Bi.TOP_RIGHT,Bi.TOP_RIGHT,Bi.TOP_LEFT,Bi.TOP_LEFT,Bi.TOP_LEFT,Bi.TOP_LEFT,Bi.TOP_LEFT,Bi.TOP_LEFT,Bi.TOP_LEFT,Bi.TOP_LEFT,Bi.TOP_FRONT,Bi.TOP_FRONT,Bi.TOP_FRONT,Bi.TOP_FRONT,Bi.TOP_FRONT,Bi.TOP_FRONT,Bi.TOP_FRONT,Bi.TOP_FRONT,Bi.TOP_BACK,Bi.TOP_BACK,Bi.TOP_BACK,Bi.TOP_BACK,Bi.TOP_BACK,Bi.TOP_BACK,Bi.TOP_BACK,Bi.TOP_BACK,Bi.BOTTOM_RIGHT,Bi.BOTTOM_RIGHT,Bi.BOTTOM_RIGHT,Bi.BOTTOM_RIGHT,Bi.BOTTOM_RIGHT,Bi.BOTTOM_RIGHT,Bi.BOTTOM_RIGHT,Bi.BOTTOM_RIGHT,Bi.BOTTOM_LEFT,Bi.BOTTOM_LEFT,Bi.BOTTOM_LEFT,Bi.BOTTOM_LEFT,Bi.BOTTOM_LEFT,Bi.BOTTOM_LEFT,Bi.BOTTOM_LEFT,Bi.BOTTOM_LEFT,Bi.BOTTOM_FRONT,Bi.BOTTOM_FRONT,Bi.BOTTOM_FRONT,Bi.BOTTOM_FRONT,Bi.BOTTOM_FRONT,Bi.BOTTOM_FRONT,Bi.BOTTOM_FRONT,Bi.BOTTOM_FRONT,Bi.BOTTOM_BACK,Bi.BOTTOM_BACK,Bi.BOTTOM_BACK,Bi.BOTTOM_BACK,Bi.BOTTOM_BACK,Bi.BOTTOM_BACK,Bi.BOTTOM_BACK,Bi.BOTTOM_BACK,Bi.FRONT_RIGHT,Bi.FRONT_RIGHT,Bi.FRONT_RIGHT,Bi.FRONT_RIGHT,Bi.FRONT_RIGHT,Bi.FRONT_RIGHT,Bi.FRONT_RIGHT,Bi.FRONT_RIGHT,Bi.FRONT_LEFT,Bi.FRONT_LEFT,Bi.FRONT_LEFT,Bi.FRONT_LEFT,Bi.FRONT_LEFT,Bi.FRONT_LEFT,Bi.FRONT_LEFT,Bi.FRONT_LEFT,Bi.BACK_RIGHT,Bi.BACK_RIGHT,Bi.BACK_RIGHT,Bi.BACK_RIGHT,Bi.BACK_RIGHT,Bi.BACK_RIGHT,Bi.BACK_RIGHT,Bi.BACK_RIGHT,Bi.BACK_LEFT,Bi.BACK_LEFT,Bi.BACK_LEFT,Bi.BACK_LEFT,Bi.BACK_LEFT,Bi.BACK_LEFT,Bi.BACK_LEFT,Bi.BACK_LEFT]),this.init()}init(){let A=this,f=this._viewer,m=this._viewer.scene.context._gl;if(this.leftDownPos=void 0,this._shader=null,this._initShader(),this._alpha=this.passiveAlpha,this._selection=0,m.useProgram(this._shader),this._pMatrixUniformPointer=m.getUniformLocation(this._shader,"uPMatrix"),this._rotationUniformPointer=m.getUniformLocation(this._shader,"uRotation"),this._colourCodingUniformPointer=m.getUniformLocation(this._shader,"uColorCoding"),this._alphaUniformPointer=m.getUniformLocation(this._shader,"uAlpha"),this._selectionUniformPointer=m.getUniformLocation(this._shader,"uSelection"),this._textureUniformPointer=m.getUniformLocation(this._shader,"uTexture"),this._highlightingUniformPointer=m.getUniformLocation(this._shader,"uHighlighting"),this._vertexAttrPointer=m.getAttribLocation(this._shader,"aVertex"),this._texCoordAttrPointer=m.getAttribLocation(this._shader,"aTexCoord"),this._idAttrPointer=m.getAttribLocation(this._shader,"aId"),m.enableVertexAttribArray(this._vertexAttrPointer),m.enableVertexAttribArray(this._texCoordAttrPointer),m.enableVertexAttribArray(this._idAttrPointer),this._indexBuffer=m.createBuffer(),this._vertexBuffer=m.createBuffer(),this._texCoordBuffer=m.createBuffer(),this._idBuffer=m.createBuffer(),m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,this._indexBuffer),m.bufferData(m.ELEMENT_ARRAY_BUFFER,this.indices,m.STATIC_DRAW),m.bindBuffer(m.ARRAY_BUFFER,this._vertexBuffer),m.bufferData(m.ARRAY_BUFFER,this.vertices,m.STATIC_DRAW),m.bindBuffer(m.ARRAY_BUFFER,this._texCoordBuffer),m.bufferData(m.ARRAY_BUFFER,this.txtCoords,m.STATIC_DRAW),m.bindBuffer(m.ARRAY_BUFFER,this._idBuffer),m.bufferData(m.ARRAY_BUFFER,this.ids,m.STATIC_DRAW),this._texture=m.createTexture(),typeof this._image>"u"){let C=lat.cn,E=new Image;A._image=E,E.addEventListener("load",()=>{this.loadImage2GPU(m,A)}),E.src=C}else this.loadImage2GPU(m,A);this._eventHanler.setInputAction(C=>{if(this.stopped)return;let E=ms.transformWindowToDrawingBuffer(this._viewer.scene,C.endPosition,jQe),I=E.x,x=E.y,y=I,v=f.scene.drawingBufferHeight-x;if(!A._region)return;if(!A.isInRegion(y,v)){A._alpha=A.passiveAlpha,A._selection=0;return}let w=this.getId(I,x);w?w>=Bi.TOP&&w<=Bi.BACK_LEFT&&(A._alpha=A.activeAlpha,A._selection=w):(A._alpha=A.passiveAlpha,A._selection=0)},_i.MOUSE_MOVE),A._drag=!1,this._eventHanler.setInputAction(C=>{if(this.stopped)return;A.leftDownPos=C.position;let E=ms.transformWindowToDrawingBuffer(this._viewer.scene,C.position,jQe),I=E.x,x=E.y,y=I,v=f.scene.drawingBufferHeight-x;if(!this._region||!A.isInRegion(y,v))return;let w=this.getId(I,x);!w||w>=Bi.TOP&&w<=Bi.BACK_LEFT&&(A._drag=!0)},_i.LEFT_DOWN),this._eventHanler.setInputAction(C=>{if(this.stopped){A._drag=!1;return}A._drag=!1,A.leftDownPos&&tt.distance(A.leftDownPos,C.position)<3&&A.pick(C)},_i.LEFT_UP),this._viewer.scene.postRender.addEventListener(()=>{A.onAfterDraw(this._viewer.scene.drawingBufferWidth,this._viewer.scene.drawingBufferHeight)})}setNaviTarget(A){let f=this;if(f._initialized=!0,f._targetCenter=ae(A.targetCenter,void 0),f._offsetDistance=ae(A.offsetDistance,100),f._modelMatrix=ae(A.modelMatrix,Re.IDENTITY),f._zoomDuration=ae(A.zoomDuration,1),f._heading=ae(A.heading,0),f._pitch=ae(A.pitch,0),!this._targetCenter)throw new ni("\u5BFC\u822A\u76D2\u63A7\u4EF6\u5FC5\u9700\u8BBE\u7F6E targetCenter \u53C2\u6570");f._stopped=!1,f._viewer.camera.viewBoundingSphere(new si(f._targetCenter,f._offsetDistance),new sI(f._heading,f._pitch,f._offsetDistance)),f._viewer.scene.screenSpaceCameraController.enableZoom=!1}pick(A){let f=ms.transformWindowToDrawingBuffer(this._viewer.scene,A.position,jQe),m=f.x,C=f.y,E=m,I=this._viewer.scene.drawingBufferHeight-C;if(!this._region||!this.isInRegion(E,I))return;let x=this.getId(m,C);if(!x)return;let y=this,v=new Z,w=0,Q=0;switch(x){case Bi.TOP:v=Z.fromElements(0,0,1),w=0,Q=-90;break;case Bi.BOTTOM:v=Z.fromElements(0,0,-1),Q=90;break;case Bi.FRONT:v=Z.fromElements(0,-1,0);break;case Bi.BACK:v=Z.fromElements(0,1,0),w=180;break;case Bi.LEFT:v=Z.fromElements(-1,0,0),w=90;break;case Bi.RIGHT:v=Z.fromElements(1,0,0),w=-90;break;case Bi.TOP_LEFT_FRONT:v=Z.fromElements(-1,-1,1),w=45,Q=-45;break;case Bi.TOP_RIGHT_FRONT:v=Z.fromElements(1,-1,1),w=-45,Q=-45;break;case Bi.TOP_LEFT_BACK:v=Z.fromElements(-1,1,1),w=135,Q=-45;break;case Bi.TOP_RIGHT_BACK:v=Z.fromElements(1,1,1),w=-135,Q=-45;break;case Bi.BOTTOM_LEFT_FRONT:v=Z.fromElements(-1,-1,-1),w=45,Q=45;break;case Bi.BOTTOM_RIGHT_FRONT:v=Z.fromElements(1,-1,-1),w=-45,Q=45;break;case Bi.BOTTOM_LEFT_BACK:v=Z.fromElements(-1,1,-1),w=135,Q=45;break;case Bi.BOTTOM_RIGHT_BACK:v=Z.fromElements(1,1,-1),w=-135,Q=45;break;case Bi.TOP_LEFT:v=Z.fromElements(-1,0,1),w=90,Q=-45;break;case Bi.TOP_RIGHT:v=Z.fromElements(1,0,1),w=-90,Q=-45;break;case Bi.TOP_FRONT:v=Z.fromElements(0,-1,1),Q=-45;break;case Bi.TOP_BACK:v=Z.fromElements(0,1,1),w=180,Q=-45;break;case Bi.BOTTOM_LEFT:v=Z.fromElements(-1,0,-1),w=90,Q=45;break;case Bi.BOTTOM_RIGHT:v=Z.fromElements(1,0,-1),w=-90,Q=45;break;case Bi.BOTTOM_FRONT:v=Z.fromElements(0,-1,-1),Q=45;break;case Bi.BOTTOM_BACK:v=Z.fromElements(0,1,-1),w=180,Q=45;break;case Bi.FRONT_RIGHT:v=Z.fromElements(1,-1,0),w=-45;break;case Bi.FRONT_LEFT:v=Z.fromElements(-1,-1,0),w=45;break;case Bi.BACK_RIGHT:v=Z.fromElements(1,1,0),w=-135;break;case Bi.BACK_LEFT:v=Z.fromElements(-1,1,0),w=135;break;default:return!1}let M=Vr.eastNorthUpToFixedFrame(y._targetCenter),B=y.offsetFromHeadingPitchRange(De.toRadians(w),De.toRadians(Q),y._offsetDistance),D=Re.multiplyByPoint(M,B,new Z);y._viewer.camera.flyTo({duration:y._zoomDuration,orientation:{heading:De.toRadians(w),pitch:De.toRadians(Q),roll:0},destination:D,maximumHeight:y._offsetDistance})}loadImage2GPU(A,f){A.bindTexture(A.TEXTURE_2D,f._texture),A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,1),A.texImage2D(A.TEXTURE_2D,0,A.RGBA,A.RGBA,A.UNSIGNED_BYTE,f._image),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,A.LINEAR),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,A.LINEAR_MIPMAP_NEAREST),A.generateMipmap(A.TEXTURE_2D)}onAfterDraw(A,f){if(this.stopped)return;let m=this.setActive();m.disable(m.BLEND),m.disable(m.DEPTH_TEST),m.uniform1f(this._colourCodingUniformPointer,0),this.draw(A,f)}offsetFromHeadingPitchRange(A,f,m){f=De.clamp(f,-De.PI_OVER_TWO,De.PI_OVER_TWO),A=De.zeroToTwoPi(A)-De.PI_OVER_TWO;let C=yr.fromAxisAngle(Z.UNIT_Y,-f),E=yr.fromAxisAngle(Z.UNIT_Z,-A),I=yr.multiply(E,C,E),x=Nt.fromQuaternion(I),y=Z.clone(Z.UNIT_X);return Nt.multiplyByVector(x,y,y),Z.negate(y,y),Z.multiplyByScalar(y,m,y),y}onAfterDrawId(){if(this.stopped)return;this.setActive().uniform1f(this._colourCodingUniformPointer,1),this.draw(this._viewer.scene.drawingBufferWidth,this._viewer.scene.drawingBufferHeight)}onAfterDrawModelId(){if(this.stopped)return;this.setActive().uniform1f(this._colourCodingUniformPointer,this._modelId),this.draw(this._viewer.scene.drawingBufferWidth,this._viewer.scene.drawingBufferHeight)}getId(A,f){let m=Math.floor(A),C=Math.floor(f),E=m,I=this._viewer.scene.drawingBufferHeight-C,x=this._viewer.scene.context._gl,y=new Wne(x,this._viewer.scene.drawingBufferWidth,this._viewer.scene.drawingBufferHeight,this._viewer.scene.context.depthTexture,this._viewer.scene.context.webgl2?2:1);x.viewport(0,0,this._viewer.scene.drawingBufferWidth,this._viewer.scene.drawingBufferHeight),x.enable(x.DEPTH_TEST),x.disable(x.BLEND),x.clear(x.COLOR_BUFFER_BIT|x.DEPTH_BUFFER_BIT),this.onAfterDrawId();let v=y.getId(E,I);return y.delete(),this._viewer.scene.requestRender(),v}setActive(){let A=this._viewer.scene.context._gl;return A.useProgram(this._shader),A}isInRegion(A,f){let m=this._region[0]*this._viewer.scene.drawingBufferWidth,C=this._region[2]*this._viewer.scene.drawingBufferWidth,E=this._region[1]*this._viewer.scene.drawingBufferHeight,I=this._region[3]*this._viewer.scene.drawingBufferHeight;return!(A<m||A>C||f<E||f>I)}draw(A,f){if(this.stopped||!this._initialized)return;let m=this._viewer.scene.context._gl,C=this._viewer.scene.pixelRatio,E=Math.min(A,f),I=this.minSize*C/E,x=this.maxSize*C/E,y=this.ratio;y<I?y=I:y>x&&(y=x);let v=new Re,w=1/y,Q=w/f*A;f>A&&(Q=1/y,w=Q/A*f);let M=y*f/A*2,B=y*2;switch(this.position){case Bi.BOTTOM_RIGHT:Re.computeOrthographicOffCenter(1-Q,1,-1,w-1,-1,1,v),this._region=[1-M,0,1,B];break;case Bi.BOTTOM_LEFT:Re.computeOrthographicOffCenter(-1,Q-1,-1,w-1,-1,1,v),this._region=[0,0,M,B];break;case Bi.TOP_LEFT:Re.computeOrthographicOffCenter(-1,Q-1,1-w,1,-1,1,v),this._region=[0,1-B,M,1];break;case Bi.TOP_RIGHT:Re.computeOrthographicOffCenter(1-Q,1,1-w,1,-1,1,v),this._region=[1-M,1-B,1,1];break;default:}let D=Re.multiply(this._viewer.camera.viewMatrix,this._modelMatrix,new Re),S=Re.getMatrix3(D,new Nt);if(this.trueNorth!==0){let L=-this.trueNorth*Math.PI/180,F=Nt.fromRotationZ(L,new Nt);S=Nt.multiply(S,F,new Nt)}m.useProgram(this._shader);let P=Re.toArray(v,$Qi),R=Nt.toArray(S,eSi);m.uniformMatrix4fv(this._pMatrixUniformPointer,!1,P),m.uniformMatrix3fv(this._rotationUniformPointer,!1,R),m.uniform1f(this._alphaUniformPointer,this._alpha),m.uniform1f(this._highlightingUniformPointer,this.highlighting),m.uniform1f(this._selectionUniformPointer,this._selection),m.bindBuffer(m.ARRAY_BUFFER,this._vertexBuffer),m.vertexAttribPointer(this._vertexAttrPointer,3,m.FLOAT,!1,0,0),m.bindBuffer(m.ARRAY_BUFFER,this._idBuffer),m.vertexAttribPointer(this._idAttrPointer,1,m.FLOAT,!1,0,0),m.bindBuffer(m.ARRAY_BUFFER,this._texCoordBuffer),m.vertexAttribPointer(this._texCoordAttrPointer,2,m.FLOAT,!1,0,0),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,this._texture),m.uniform1i(this._textureUniformPointer,1);let T=m.getParameter(m.CULL_FACE);T||m.enable(m.CULL_FACE),m.disable(m.BLEND),m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,this._indexBuffer),m.drawElements(m.TRIANGLES,this.indices.length,m.UNSIGNED_SHORT,0),T||m.disable(m.CULL_FACE)}_initShader(){let A=this._viewer.scene.context._gl,f=this._viewer,m=(I,x)=>{if(A.shaderSource(I,x),A.compileShader(I),!A.getShaderParameter(I,A.COMPILE_STATUS)){let y=A.getShaderInfoLog(I);throw console.log(y),ni(y)}},C=A.createShader(A.FRAGMENT_SHADER);m(C,aat);let E=A.createShader(A.VERTEX_SHADER);if(m(E,sat),this._shader=A.createProgram(),A.attachShader(this._shader,E),A.attachShader(this._shader,C),A.linkProgram(this._shader),!A.getProgramParameter(this._shader,A.LINK_STATUS))throw ni("Could not initialise shaders for a navigation cube plugin")}};Object.defineProperties(gK.prototype,{stopped:{get:function(){return this._stopped},set:function(o){this._stopped=o,o?this._viewer.camera.lookAtTransform(Re.IDENTITY):(this._targetCenter&&this._viewer.camera.viewBoundingSphere(new si(this._targetCenter,this._offsetDistance),new sI(this._heading,this._pitch,this._offsetDistance)),this._viewer.scene.requestRender()),this._viewer.scene.screenSpaceCameraController.enableZoom=o}},zoomDuration:{get:function(){return this._zoomDuration},set:function(o){this._zoomDuration=o}}});function tSi(o,A){if(!k(o))throw new ni("earthCtrl is required.");let f=new gK(o,A);return Object.defineProperties(o,{navigationCube:{get:function(){return f}}}),f}var iSi=tSi;export{vbe as Analysis,xg as BaseObject,v1e as Billboard,S1e as Box,c1e as BwMode,Mwe as Camera,_Ze as Cesium,ovi as ClusterLayer,u1e as ColorAdjustment,pvi as Core,D1e as Cylinder,svi as Degrees,$we as DoubleClickObjectTool,lvi as DoubleScreen,LTi as DynamicEyeOffset,JQi as EarthCtrl,rbe as Edit,a1e as EditTool,Avi as ElevationTool,P1e as Ellipse,M1e as Ellipsoid,d1e as Environment,s3 as EventHandler,I1e as Explosion,k1e as FeatureLayer,C1e as Fire,x1e as Fireworks,m1e as FisheyeVideoProjection,s1e as Fog,H1e as Hawkeye,Owe as HorizontalDistanceTool,Xwe as HoverObjectTool,L1e as ImageryLayer,B1e as Label,XQi as LineOfSightTool,i1e as Measure,gJ as MeasureAreaTool,Fwe as MeasureHeightTool,Pwe as MeasureLineLengthTool,jie as MeasurePathLengthTool,kwe as MeasureSlopeTool,Vwe as MeasureSurfaceAreaTool,Dbe as MilitaryPlotting,_1e as Model,fbe as ModelClipping,rJ as ModelEdit,N1e as ModelLayer,h1e as NightMode,C6 as Node,LD as ObjectFactory,p1e as PerspectiveVideoProjection,Kwe as PickObjectTool,qwe as PickPositionTool,Q1e as Point,b1e as Polygon,w1e as Polyline,R1e as PolylineVolume,cbe as Profile,t1e as RClickObjectTool,y1e as RadarScan,l1e as Rain,T1e as Rectangle,gbe as RestrictHeight,RTi as SampleRenderedDataFlags,z1e as Scene,qQi as SceneManager,g1e as SelectSet,hbe as Skyline,E1e as Smoke,A1e as Snow,YA as SpatialObject,bwe as SpatialTransform,V1e as SpotLight,lbe as Submergence,ybe as TerrainExcavation,F1e as TerrainLayer,Cbe as TerrainModifier,Qa as Tool,Swe as ToolManager,Pat as VERSIONINFO,ZQi as VideoProjection,nbe as ViewShed,sbe as Volumetric,rvi as WFSTool,O1e as Waters,U1e as WorkChart,PTi as ZBiasGeometryInstanceAttribute,J$e as czmlPathAnimation,HTi as loadArrayBuffer,GTi as loadBlob,VTi as loadImage,OTi as loadJson,q$e as loadLayui,UTi as loadText,FTi as sampleRenderedData,NTi as sampleRenderedMesh,kTi as sampleRenderedTerrain,iSi as viewerNavigationCubeMixin};